:root{--page-bg:#101317;--page-text:#eef3f8;--muted-text:#aeb8c2;--soft-text:#d2dbe3;--surface:#171d23;--surface-strong:#101317;--surface-glass:#101317c2;--surface-glass-strong:#181f26d1;--border:#252d36;--border-soft:#ffffff29;--accent:#88d8c0;--accent-text:#10221d;--hero-gradient:linear-gradient(90deg, #101317eb, #1013178c);--overlay-gradient:linear-gradient(180deg, #10131785, #101317d1);color:#eef3f8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#101317;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.theme-light{--page-bg:#f4f1ea;--page-text:#172026;--muted-text:#5f6b73;--soft-text:#34434c;--surface:#fff;--surface-strong:#f8f5ee;--surface-glass:#ffffffd1;--surface-glass-strong:#ffffffe0;--border:#d9d2c6;--border-soft:#17202629;--accent:#1f8f78;--accent-text:#f7fffb;--hero-gradient:linear-gradient(90deg, #f4f1eaf0, #f4f1ea9e);--overlay-gradient:linear-gradient(180deg, #f4f1ea94, #f4f1eae6)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:#f5f8fb;cursor:pointer;background:#25303a;border:1px solid #3b4652;border-radius:8px;min-height:42px}a{color:inherit}.landingPage,.adminPage{min-height:100vh;color:var(--page-text);background:var(--page-bg)}.landingHero{background:var(--hero-gradient), url(https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=80) center/cover;align-content:center;gap:18px;min-height:68vh;padding:clamp(26px,5vw,56px) clamp(32px,8vw,96px) clamp(32px,8vw,96px);display:grid}.landingHero h1{max-width:760px;font-size:clamp(2.4rem,6vw,5.8rem);line-height:.96}.landingHero p{max-width:620px;color:var(--soft-text);margin:0;font-size:1.08rem;line-height:1.55}.landingActions{flex-wrap:wrap;gap:12px;display:flex}.primaryLink,.secondaryLink,.landingActions button{border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;text-decoration:none;display:inline-flex}.primaryLink,.landingActions button:first-child{border:1px solid var(--accent);color:var(--accent-text);background:var(--accent)}.secondaryLink,.landingActions button:last-child{border:1px solid var(--border-soft);color:var(--page-text);background:var(--surface-glass-strong)}.contactPill,.demoLink{border:1px solid var(--border-soft);width:fit-content;min-height:44px;color:var(--page-text);background:var(--surface-glass-strong);border-radius:8px;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.demoLink{border-color:var(--accent);color:var(--accent-text);background:var(--accent)}.publicPreferenceControls{z-index:12;flex-wrap:wrap;align-items:center;gap:10px;width:fit-content;max-width:calc(100vw - 32px);margin-bottom:clamp(18px,5vh,42px);padding:0;display:flex;position:relative}.preferenceSelect{border:0;border-bottom:1px solid color-mix(in srgb, var(--page-text) 28%, transparent);max-width:108px;min-height:28px;color:var(--page-text);letter-spacing:0;opacity:.82;background:0 0;border-radius:0;outline:none;padding:2px 18px 2px 0;font-size:.78rem;font-weight:700}.preferenceSelect:hover,.preferenceSelect:focus-visible{border-bottom-color:var(--accent);opacity:1}.preferenceSelect option{color:#172026;background:#fff}.landingBand{border-top:1px solid var(--border);gap:18px;padding:34px clamp(22px,6vw,76px);display:grid}.landingBand h2,.adminPanel h2{margin:0;font-size:1.35rem}.landingBand p{max-width:740px;color:var(--muted-text);margin:0;line-height:1.5}.scanList,.adminScanList{gap:10px;display:grid}.scanRow,.adminScanRow{background:#171d23;border:1px solid #2a323c;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;text-decoration:none;display:flex}.scanRow span,.adminScanRow span{gap:4px;min-width:0;display:grid}.scanRow small,.adminScanRow small{color:#aeb8c2;overflow-wrap:anywhere}.featureGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.featureGrid>div,.adminPanel{background:#171d23;border:1px solid #2a323c;border-radius:8px;padding:18px}.contactBand a{width:fit-content;color:var(--accent)}.contactBand span{color:var(--soft-text)}.adminPage{padding:26px}.adminHeader{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.adminHeader a{color:#88d8c0}.adminGrid{grid-template-columns:minmax(280px,420px) 1fr;align-items:start;gap:20px;display:grid}.adminPanel{gap:14px;display:grid}.fieldLabel{color:#dce4ec;gap:7px;font-size:.92rem;display:grid}.fieldLabel input{color:#f4f7f9;background:#101317;border:1px solid #3b4652;border-radius:8px;min-height:42px;padding:0 10px}.adminScanRow>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.adminScanRow a,.adminScanRow button{border-radius:8px;min-height:34px;padding:0 10px}.adminScanRow a{border:1px solid #3b4652;align-items:center;text-decoration:none;display:inline-flex}.adminScanRow em{color:#88d8c0;width:fit-content;font-size:.82rem;font-style:normal}.statusText{color:#aeb8c2;margin:0;line-height:1.4}.errorText,.floatingError{color:#ffd3cc}.publicViewerPage{color:var(--page-text);background:var(--surface-strong);position:fixed;inset:0}.viewerShellPublic{width:100vw;height:100vh}.desktopStartOverlay{z-index:8;background:var(--overlay-gradient);flex-direction:column;align-items:flex-start;padding:32px;display:flex;position:absolute;inset:0}.startOverlayContent{text-align:center;justify-items:center;gap:16px;width:100%;margin:auto 0;display:grid}.desktopStartOverlay h1{max-width:min(760px,100%);font-size:clamp(2rem,6vw,4.8rem);line-height:1}.desktopStartOverlay p:not(.eyebrow){max-width:560px;color:var(--soft-text);margin:0;line-height:1.5}.adminPreviewOverlay{z-index:40;background:#101317;grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.adminPreviewHeader{z-index:10;background:#161b20;border-bottom:1px solid #2a323c;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex;position:relative}.adminPreviewHeader span{overflow-wrap:anywhere;min-width:0;font-weight:700}.floatingError{z-index:12;background:#3a221f;border:1px solid #7a4b45;border-radius:8px;padding:10px 12px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.viewerUtilityPanel{z-index:9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101317b8;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex;position:absolute;bottom:18px;right:18px}button:hover:not(:disabled){background:#303d49}button:disabled{cursor:not-allowed;opacity:.48}.appShell{background:#101317;grid-template-columns:minmax(280px,340px) 1fr;width:100vw;height:100vh;display:grid}.sidePanel{background:#161b20;border-right:1px solid #2a323c;flex-direction:column;gap:22px;min-width:0;padding:24px;display:flex;overflow-y:auto}.brandBlock{gap:12px;display:grid}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:700}h1{color:var(--page-text);overflow-wrap:anywhere;margin:0;font-size:1.45rem;line-height:1.15}.badge{color:#d4dde6;overflow-wrap:anywhere;background:#202831;border:1px solid #3c4751;border-radius:999px;align-items:center;width:fit-content;max-width:100%;min-height:30px;padding:6px 10px;font-size:.82rem;display:inline-flex}.badgeReady{color:#c7f7e8;background:#16352f;border-color:#2b6b5b}.badgeError{color:#ffd3cc;background:#3a221f;border-color:#7a4b45}.dropZone{text-align:center;cursor:pointer;background:#1c232b;border:1px dashed #697480;border-radius:8px;place-content:center;gap:8px;min-height:146px;padding:18px;display:grid}.dropZoneActive{background:#1c302d;border-color:#88d8c0}.dropZone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.dropZone span{color:#f0f5f8;font-weight:750}.dropZone small{color:#aeb8c2;max-width:240px;line-height:1.4}.controlGroup{gap:14px;display:grid}.shareLink{color:#c7f7e8;overflow-wrap:anywhere;background:#16352f;border:1px solid #2b6b5b;border-radius:8px;max-width:100%;padding:10px 12px;font-size:.86rem;line-height:1.35;text-decoration:none;display:block}.shareLink:hover{text-decoration:underline}.helperText{color:#aeb8c2;margin:-4px 0 0;font-size:.84rem;line-height:1.4}.toggleRow,.rangeRow{color:#dce4ec;justify-content:space-between;align-items:center;gap:14px;font-size:.94rem;display:flex}.toggleRow input{accent-color:#78c8b2;width:18px;height:18px}.rangeRow input{accent-color:#78c8b2;min-width:130px}.shortcutGrid{color:#aeb8c2;grid-template-columns:minmax(58px,max-content) 1fr;align-items:center;gap:9px 12px;margin-top:auto;font-size:.88rem;display:grid}kbd{color:#f2f6f9;background:#222a33;border:1px solid #3b4652;border-radius:6px;justify-content:center;align-items:center;min-width:38px;min-height:28px;padding:3px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.viewerShell{min-width:0;min-height:0;position:relative;overflow:hidden}.viewerCanvas{width:100%;height:100%}.viewerCanvas canvas{width:100%;height:100%;display:block}.viewerActions{z-index:5;gap:10px;display:flex;position:absolute;top:18px;right:18px}.viewerActions button,.mobileButtonStack button{border-color:var(--border-soft);min-height:38px;color:var(--page-text);background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:0 12px}.mobileGate{display:none}.viewerOverlay{border:1px solid var(--border-soft);max-width:min(520px,100% - 40px);color:var(--page-text);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;overflow-wrap:anywhere;border-radius:8px;padding:10px 14px;position:absolute;top:28px;left:50%;transform:translate(-50%)}.desktopControlsHelp{z-index:6;border:1px solid var(--border-soft);color:var(--soft-text);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;gap:6px;padding:10px 12px;font-size:.86rem;display:grid;position:absolute;bottom:18px;left:18px}.desktopControlsHelp span{gap:8px;display:flex}.desktopControlsHelp strong{min-width:48px;color:var(--accent)}.gyroToast{z-index:6;border:1px solid var(--border-soft);max-width:min(420px,100% - 40px);color:var(--page-text);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;border-radius:8px;padding:9px 12px;font-size:.86rem;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.crosshair{pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair:before,.crosshair:after{content:"";background:#ffffffb8;position:absolute}.crosshair:before{width:2px;height:12px;top:3px;left:8px}.crosshair:after{width:12px;height:2px;top:8px;left:3px}.mobileControls{inset:auto 18px max(18px, env(safe-area-inset-bottom)) 18px;z-index:7;pointer-events:none;justify-content:space-between;align-items:flex-end;gap:18px;display:none;position:absolute}.lookPad{z-index:0;pointer-events:auto;touch-action:none;position:fixed;inset:0 0 0 34%}.movePad{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;touch-action:none;background:#0c10147a;border:1px solid #ffffff2e;border-radius:50%;width:132px;height:132px;position:relative}.movePad:before,.movePad span{content:"";border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.movePad:before{border:1px solid #ffffff29;width:62px;height:62px}.movePad span{background:#c7f7e8b8;width:36px;height:36px;box-shadow:0 8px 28px #00000047}.mobileButtonStack{z-index:2;pointer-events:auto;gap:10px;display:grid;position:relative}@media (width<=820px){body{overflow:auto}.publicPreferenceControls{gap:8px;max-width:calc(100vw - 24px);margin-bottom:clamp(16px,4vh,30px)}.landingHero{min-height:68svh;padding:max(20px, env(safe-area-inset-top)) 24px 40px;align-content:start}.landingHero h1{max-width:620px;font-size:clamp(2.25rem,12vw,4.2rem)}.landingHero p{max-width:540px}.desktopStartOverlay{padding:max(20px, env(safe-area-inset-top)) 24px 28px}.preferenceSelect{max-width:92px;min-height:30px;font-size:.74rem}.appShell{grid-template-rows:auto minmax(520px,1fr);grid-template-columns:1fr;height:auto;min-height:100vh}.sidePanel{border-bottom:1px solid #2a323c;border-right:0}}@media (pointer:coarse){.appShell{grid-template-rows:1fr;grid-template-columns:1fr;height:100dvh}.sidePanel,.gyroToast,.crosshair{display:none}.viewerShell.mobilePlayRequested:not(.mobilePlayReady) .mobileGate{z-index:10;color:var(--page-text);text-align:center;background:var(--surface-strong);align-content:center;justify-items:center;gap:16px;padding:28px;display:grid;position:absolute;inset:0}.mobileGate+.viewerActions+.viewerOverlay,.viewerOverlay{top:auto;bottom:max(18px, env(safe-area-inset-bottom));max-width:min(340px,100% - 40px);font-size:.86rem;display:block}.mobileGate h2{overflow-wrap:anywhere;max-width:min(520px,100%);margin:0;font-size:1.45rem;line-height:1.18}.mobileGate p:not(.eyebrow){max-width:320px;color:var(--muted-text);margin:0;line-height:1.45}.mobileGate button{min-width:180px;min-height:46px}.viewerShell.mobilePlayRequested{z-index:50;background:var(--surface-strong);width:100vw;height:100dvh;position:fixed;inset:0}.viewerShell.mobilePlayReady .viewerCanvas,.viewerShell.mobilePlayReady .crosshair{display:block}.viewerShell.mobilePlayReady .mobileGate{display:none}.viewerShell.mobilePlayReady .gyroToast{display:block}.viewerActions,.desktopControlsHelp{display:none}.viewerShell.mobilePlayReady .viewerOverlay{top:max(18px, env(safe-area-inset-top));font-size:.9rem;bottom:auto}.gyroToast{bottom:174px}.viewerShell.mobilePlayReady .mobileControls{display:flex}:-webkit-any(.viewerShell:fullscreen .mobileControls,.viewerShell:-webkit-full-screen .mobileControls){inset:auto max(24px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left))}:is(.viewerShell:fullscreen .mobileControls,.viewerShell:fullscreen .mobileControls){inset:auto max(24px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left))}.crosshair{opacity:.72}}@media (pointer:coarse) and (orientation:landscape){.movePad{width:116px;height:116px}.mobileButtonStack{grid-auto-flow:column;align-items:end}}
