html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#05070a;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}canvas{display:block}#loadingOverlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,rgba(66,232,255,.18),transparent 30%),radial-gradient(circle at 40% 70%,rgba(255,213,74,.11),transparent 26%),linear-gradient(135deg,#02040a,#071018 52%,#02040a);transition:opacity .45s ease,visibility .45s ease}#loadingOverlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-card{width:min(520px,calc(100vw - 36px));padding:26px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:#05070ab8;box-shadow:0 26px 80px #00000080,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.loader-kicker{color:#42e8ff;font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.loader-title{margin-top:8px;font-size:clamp(28px,5vw,44px);font-weight:900;letter-spacing:-.04em}.loader-subtitle{margin-top:6px;color:#9fb0c8;font-size:14px}.loader-bar{height:13px;margin-top:22px;overflow:hidden;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.13)}#loaderFill{width:3%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#42e8ff,#d7fbff 45%,#ffd54a);box-shadow:0 0 22px #42e8ff80;transition:width .22s ease}.loader-meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:#d7e3ff;font-size:12px;font-variant-numeric:tabular-nums}body.hide-ui #hud,body.hide-ui #recordPanel,body.hide-ui #toolPanel,body.hide-ui #coordReadout{display:none!important}body.blue-glow canvas{filter:drop-shadow(0 0 8px rgba(56,201,255,.34)) saturate(1.35) contrast(1.08)}body.blue-glow #loadingOverlay{background:radial-gradient(circle at 50% 42%,rgba(56,201,255,.2),transparent 28%),radial-gradient(circle at 55% 78%,rgba(41,98,255,.14),transparent 30%),linear-gradient(135deg,#000207,#020916 58%,#000207)}body.blue-glow #loaderFill{background:linear-gradient(90deg,#126dff,#38c9ff 45%,#d7fbff)}#blueControls{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:40;width:min(520px,calc(100vw - 32px));padding:10px 12px;border:1px solid rgba(56,201,255,.28);border-radius:999px;background:#00061094;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 40px #00000073,0 0 28px #38c9ff29;color:#d7fbff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:12px}#blueControls input[type=range]{width:100%;accent-color:#38c9ff}#blueControls span{color:#8fb8d5;white-space:nowrap}#hud{position:fixed;top:14px;left:14px;z-index:10;max-width:min(560px,calc(100vw - 28px));padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#05070ab8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 16px 48px #00000059;pointer-events:none}#hud a,#hud button,#hud input,#hud label,#hud code{pointer-events:auto}.title{font-weight:700;letter-spacing:.01em;margin-bottom:6px}#status{font-size:13px;color:#d7e3ff;margin-bottom:6px}.hint{font-size:12px;color:#9fb0c8}#recordPanel{margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:12px}#recordPanel button{cursor:pointer;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#42e8ff24;color:#e9fbff;padding:6px 10px;font-weight:700}#recordPanel button:hover{background:#42e8ff3d}#recordPanel button.armed{background:#ffd54a47;border-color:#ffd54abf;color:#fff2b0}.record-label{color:#9fb0c8;font-weight:700}#recordedPivot,#recordedCamera{color:#fff;background:#ffffff17;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:5px 7px;-webkit-user-select:all;user-select:all}#recordHint{flex-basis:100%;color:#9fb0c8;line-height:1.3}.bounds-control{flex-basis:100%;display:grid;grid-template-columns:auto minmax(160px,1fr) auto auto auto;gap:7px;align-items:center;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0e}.bounds-control label{color:#d7e3ff;font-weight:700;white-space:nowrap}.bounds-control input[type=range]{width:100%;accent-color:#42e8ff}.bounds-control code{color:#bfeeff;white-space:nowrap}#toolPanel{position:fixed;right:14px;top:14px;z-index:11;width:min(420px,calc(100vw - 28px));padding:12px;border:1px solid rgba(91,220,255,.28);border-radius:14px;background:#05070ac7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 16px 48px #00000059;font-size:12px;color:#d7e3ff}.tool-title{font-weight:800;color:#fff;margin-bottom:8px}.tool-subtitle{font-weight:700;color:#bfeeff;margin:10px 0 6px}.tool-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tool-grid{display:grid;gap:6px}.pivot-grid{grid-template-columns:repeat(3,1fr)}.crop-grid{grid-template-columns:repeat(2,1fr)}#toolPanel label{display:flex;align-items:center;gap:5px;white-space:nowrap}#toolPanel input{width:100%;min-width:0;padding:5px 6px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff}#toolPanel button{cursor:pointer;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#42e8ff24;color:#e9fbff;padding:6px 9px;font-weight:650}#toolPanel button:hover{background:#42e8ff3d}.tool-status{margin-top:8px;color:#9fb0c8;line-height:1.35;word-break:break-word}#coordReadout{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:20;min-width:min(680px,calc(100vw - 28px));padding:14px 18px;border:2px solid rgba(255,213,74,.9);border-radius:16px;background:#000000d6;box-shadow:0 0 32px #ffd54a47,0 16px 48px #00000080;text-align:center;pointer-events:none}.coord-label{color:#ffd54a;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.coord-value{margin-top:4px;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(24px,4vw,44px);font-weight:900;line-height:1.05;text-shadow:0 0 18px rgba(255,255,255,.25)}.coord-hint{margin-top:5px;color:#d7e3ff;font-size:12px}@media(max-width:900px){.bounds-control{grid-template-columns:1fr}#toolPanel{inset:auto 14px 132px;width:auto}}
