html,body{width:100%;height:100%;overflow:hidden}body{height:100dvh}canvas{overscroll-behavior:none}noscript{z-index:100;background:#243038;padding:30px;position:fixed;top:40%;left:10%;right:10%}:root{color:#f3f5f2;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--glass:#233038e8;--line:#ffffff26;--muted:#c4cecb;--accent:#a4be9b;background:#111a20;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--glass);border-radius:9px;min-height:44px;padding:0 17px;transition:background .15s}button:hover{background:#3b4c55}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button.active{color:#17221c;background:#e5ecdf;border-color:#e5ecdf}[hidden]{display:none!important}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block}#gate,.veil{z-index:20;background:linear-gradient(90deg,#10191feb 0%,#10191fbd 35%,#10191f15 100%),url(/models/arrival.webp) 50%/cover;align-items:center;padding:7vw;display:flex;position:fixed;inset:0}.welcome{width:min(550px,100%)}.eyebrow{letter-spacing:.05em;color:#d4e2ce;font-size:13px}.welcome h1{letter-spacing:-.04em;margin:28px 0 22px;font-family:Georgia,serif;font-size:clamp(40px,5vw,72px);font-weight:400;line-height:1.05}.welcome h1 span{letter-spacing:-.015em;color:#ced8cf;margin-top:10px;font-size:.52em;display:block}.welcome>p{color:#d4dcd8;font-size:16px;line-height:1.7}.welcome label{margin:32px 0 10px;font-size:13px;display:block}.password-row{gap:9px;max-width:410px;display:flex}.password-row input{color:#fff;background:#102027a8;border:1px solid #a3b3b36b;border-radius:9px;flex:1;min-width:0;padding:12px 14px}.password-row button{color:#17221c;white-space:nowrap;background:#d9e5d4;border:0}.password-row button span{margin-left:12px}.welcome small{color:#b4c1ba;margin-top:30px;font-size:12px;line-height:1.6;display:block}.error{min-height:1.7em;color:#ffd0bf!important;margin:9px 0!important;font-size:13px!important}.gate-caption{color:#fff;text-shadow:0 1px 5px #000;font-size:11px;position:absolute;bottom:30px;right:30px}.veil{text-align:center;background:#111a20e8;justify-content:center}.loading-content{width:min(420px,100%)}h2{margin:8px 0 20px;font-family:Georgia,serif;font-size:29px;font-weight:400}.loading-content p{color:var(--muted);font-size:14px;line-height:1.6}.loading-content small{color:#aab9b3;margin-top:22px;font-size:12px;display:block}progress{appearance:none;background:#ffffff25;border:none;border-radius:3px;width:100%;height:3px}progress::-webkit-progress-bar{background:#ffffff25}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.topbar{top:max(24px,env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;left:28px;right:28px}.identity{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:10px;padding:13px 18px}.identity span{color:var(--accent);letter-spacing:.07em;margin-bottom:4px;font-size:10px;display:block}.identity strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.topbar nav{pointer-events:auto;gap:7px;display:flex}.topbar nav button{min-width:44px;padding:0 13px}#help-toggle{font-size:19px}#fullscreen{font-size:23px}.toolbar{left:28px;right:28px;bottom:max(24px,env(safe-area-inset-bottom));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:13px;align-items:center;gap:18px;padding:10px;display:flex;position:fixed}.toolbar>button{border:0;min-height:48px}.toolbar .location{flex:1;min-width:0}.location span{color:var(--accent);margin-bottom:4px;font-size:10px;display:block}.location strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}#places-toggle{background:#ffffff0c;align-items:center;gap:22px;font-size:13px;display:flex}.mode-button{font-size:12px}.panel{z-index:5;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:14px;width:min(385px,100vw - 40px);max-height:calc(100dvh - 205px);padding:24px;position:fixed;top:auto;bottom:110px;right:28px;overflow:auto;box-shadow:0 14px 60px #0003}.panel p{color:var(--muted);font-size:12px;line-height:1.7}.panel h2{font-size:26px}.close{background:0 0;border:0;width:38px;min-height:38px;padding:0;font-size:23px;position:absolute;top:15px;right:15px}.panel dl{margin:24px 0}.panel dt{color:#fff;margin-top:17px;font-size:12px}.panel dd{color:var(--muted);margin:5px 0;font-size:12px;line-height:1.5}.panel details{border-top:1px solid var(--line);padding-top:17px;font-size:12px}.panel summary{cursor:pointer;padding:5px 0}.panel a{color:#d4e2ce}.text-button{color:#d7e3d1;background:0 0;border:0;margin-top:15px;padding:0;font-size:12px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel-heading h2{margin:0}.panel-heading button{background:0 0;border:0;min-height:34px;padding:0 10px;font-size:22px}.destination{text-align:left;background:#ffffff08;border-color:#ffffff10;justify-content:space-between;align-items:center;width:100%;margin:5px 0;padding:11px 14px;display:flex}.destination span{font-size:13px}.destination small{color:var(--muted);font-size:10px}.destination:hover{background:#ffffff18}#crosshair{pointer-events:none;background:#0003;border:1px solid #fff9;border-radius:50%;width:5px;height:5px;position:fixed;top:50%;left:50%}#walk-hint{background:var(--glass);white-space:nowrap;pointer-events:none;border-radius:20px;padding:10px 17px;font-size:11px;position:fixed;top:105px;left:50%;transform:translate(-50%)}#toast{background:var(--glass);text-align:center;pointer-events:none;border-radius:10px;max-width:calc(100vw - 40px);padding:12px 18px;font-size:12px;position:fixed;bottom:112px;left:50%;transform:translate(-50%)}#joystick{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none;z-index:3;background:#24303870;border:1px solid #ffffff70;border-radius:50%;width:104px;height:104px;position:fixed;bottom:140px;left:28px}#stick{pointer-events:none;background:#e2ebdbbd;border-radius:50%;width:42px;height:42px;display:block;position:absolute;top:30px;left:30px}#touch-look{color:#fff;pointer-events:none;background:#24303899;border-radius:20px;padding:8px 12px;font-size:10px;position:fixed;bottom:180px;right:25px}@media (width<=650px){#gate{background:linear-gradient(#10191f75,#10191ff5),url(/models/arrival.webp) 50%/cover;padding:28px}.welcome h1{font-size:46px}.welcome>p{font-size:14px}.gate-caption{font-size:9px;bottom:17px;right:20px}.topbar{left:14px;right:14px;top:max(14px,env(safe-area-inset-top))}.identity{padding:10px 12px}.identity strong{font-size:17px}.topbar nav{gap:5px}.topbar nav button{min-width:40px;min-height:40px;padding:0 10px}#quality{font-size:11px}.toolbar{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px;padding:7px}.toolbar .location{padding-left:5px}.toolbar>button{min-height:40px;padding:0 12px}.toolbar #places-toggle{justify-content:space-between;width:100%}.toolbar .mode-button{order:0}.toolbar .location{order:1}.toolbar #places-toggle{order:2}.panel{max-height:calc(100dvh - 225px);padding:20px;bottom:125px;right:12px}.location strong{font-size:11px}#walk-hint{white-space:normal;text-align:center;max-width:90vw;font-size:10px;top:92px}#toast{bottom:130px}#joystick{bottom:150px;left:20px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.review-shortcut{color:var(--muted);margin:0 0 12px;font-size:10px;line-height:1.6;display:block}.topbar,.toolbar{z-index:4}#reviews-toggle{align-items:center;gap:7px;font-size:12px;display:flex}#review-count{background:#ffffff14;border-radius:5px;min-width:18px;padding:2px 4px;font-size:10px}#review-pins{z-index:2;pointer-events:none;position:fixed;inset:0}.review-pin{color:#17232a;pointer-events:auto;background:#ddb967;border:2px solid #17232a;border-radius:50%;width:34px;height:34px;min-height:34px;padding:0;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 6px #0007}.review-pin:hover,.review-pin:focus-visible{background:#f1dba6}.review-pin.resolved{background:#a4be9b}.review-pin.old-model{border-style:dashed}.review-pin.draft{background:#f1dba6}.review-panel{z-index:8;overscroll-behavior:contain;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#233038f5;border-radius:12px;width:min(365px,100vw - 28px);padding:22px;position:fixed;top:90px;bottom:110px;right:28px;overflow-y:auto;box-shadow:0 12px 40px #0004}.review-title{padding-right:22px}.review-title h2{margin:6px 0 12px;font-size:27px}.review-back{min-height:32px;color:var(--muted);background:0 0;border:0;padding:0;font-size:11px}.review-intro,.review-empty{color:var(--muted);font-size:12px;line-height:1.6}.review-empty{padding:20px 0}.review-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.review-actions button{min-height:42px;padding:0 12px;font-size:12px}.review-actions .review-primary{color:#17232a;background:#ddb967;border-color:#ddb967;font-weight:600}.review-actions .review-primary:hover{background:#f1dba6}.review-filters{border-bottom:1px solid var(--line);gap:4px;margin:20px 0 6px;display:flex}.review-filters button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:0;padding:0 13px;font-size:12px}.review-filters button[aria-pressed=true]{color:#fff;border-bottom:2px solid #ddb967}.review-list-item{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;width:100%;padding:15px 0;display:block}.review-list-item:hover{background:#ffffff08}.review-item-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-item-meta strong{color:#e6c77f;font-size:12px}.review-excerpt{overflow-wrap:anywhere;margin:9px 0;font-size:13px;line-height:1.5;display:block}.review-list-item small{color:var(--muted);font-size:10px;line-height:1.6;display:block}.review-status{color:#e6c77f;font-size:10px;display:inline-block}.review-status.in_progress{color:#cbd9eb}.review-status.ready_for_review{color:#ded4f0}.review-status.resolved{color:var(--accent)}.review-capture{object-fit:contain;border:1px solid var(--line);background:#111a20;border-radius:5px;width:100%;height:auto;max-height:240px;margin:14px 0;display:block}.review-full-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.review-old{line-height:1.6;color:#e6c77f!important;font-size:11px!important}.review-view{width:100%;font-size:12px}.review-history{border-left:2px solid #a4be9b66;margin:20px 0;padding-left:12px}.review-history small{color:var(--muted);font-size:10px}.review-history p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.review-panel label{margin:17px 0 8px;font-size:12px;display:block}.review-panel input,.review-panel textarea{font:inherit;color:#f3f5f2;resize:vertical;background:#111a2080;border:1px solid #9aadaf70;border-radius:6px;width:100%;padding:10px;font-size:13px;display:block}.review-panel textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.review-error{color:#ffd0bf;min-height:1em;font-size:12px;line-height:1.5}#review-placement{z-index:9;background:#233038f5;border:1px solid #ddb967;border-radius:9px;align-items:center;gap:18px;max-width:calc(100vw - 28px);padding:9px 10px 9px 18px;font-size:13px;display:flex;position:fixed;top:94px;left:50%;transform:translate(-50%)}#review-placement button{min-height:34px;padding:0 12px;font-size:12px}#scene.placing-pin{cursor:crosshair}@media (width<=650px){.review-tool-label{display:none}#reviews-toggle{gap:3px;padding:0 7px}.topbar{gap:7px}.identity{min-width:0}.identity strong{white-space:nowrap;font-size:15px}.review-panel{width:calc(100vw - 24px);padding:20px;top:78px;bottom:125px;right:12px}.review-panel input,.review-panel textarea{font-size:16px}.review-capture{max-height:180px}#review-placement{gap:10px;width:calc(100vw - 28px);font-size:12px;top:80px}#review-placement span{flex:1}.review-pin{width:36px;height:36px;min-height:36px}}.walk-actions{z-index:4;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:540px;display:flex;position:fixed;bottom:110px;right:28px}.walk-actions button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:40px;padding:0 12px;font-size:11px}.walk-actions button[aria-pressed=true]{color:#17232a;background:#a4be9b;border-color:#a4be9b}#hunt-fire{background:#3b4c55}@media (width<=650px){.walk-actions{gap:5px;max-width:205px;bottom:210px;right:16px}.walk-actions button{min-height:44px;padding:0 10px;font-size:11px}#touch-look{max-width:200px;bottom:150px;right:18px}#toast{bottom:330px}}
