:root{font-family:Arial,Helvetica,sans-serif;color:#f0f1e9;background:#17201e;font-synthesis:none;--accent:#d9e6c4;--muted:#b1bdb5;--line:#dbe6cf28;--panel:#18221feF}*{box-sizing:border-box}html,body,main{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{transition:background .2s,color .2s,opacity .2s}button:hover{color:#fff}button:disabled{cursor:wait;opacity:.4}[hidden]{display:none!important}#scene{display:block;width:100%;height:100%;outline:0;touch-action:none}.hud{position:absolute;z-index:3;transition:opacity .35s}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0d171b80,transparent 40%),linear-gradient(0deg,#0d171b9c,transparent 23%,transparent 85%,#0d171b5c);z-index:1}.topbar{top:0;left:0;right:0;padding:28px 34px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit;font-size:22px;letter-spacing:3px;font-weight:700}.mark{font-size:28px;font-weight:400;width:46px;height:46px;border:1px solid #e7eddf70;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:5px;letter-spacing:0}.mark span{color:var(--accent)}.brand-sub{display:block;font-size:8px;letter-spacing:2.4px;margin-top:7px;color:#dbe3d8b0;font-weight:400}.top-actions{display:flex;align-items:center;gap:10px}.live{font-size:8px;letter-spacing:1.6px;margin-right:23px;color:#e7eee1b0;display:flex;gap:9px;align-items:center}.live i,.status>i{width:5px;height:5px;border-radius:50%;background:#c4daa5;box-shadow:0 0 8px #c4daa540}.quiet,.square{border:1px solid #ebf1e129;border-radius:7px;background:#192a2138;backdrop-filter:blur(16px)}.quiet{padding:11px 15px;font-size:10px;display:flex;align-items:center;gap:9px}.quiet:hover,.square:hover{background:#e7f1e31a}.icon{font-size:18px;line-height:16px}.square{width:38px;height:38px;font-size:20px;display:grid;place-items:center}.destinations{top:160px;left:35px;width:210px}.eyebrow{font-size:8px;letter-spacing:2.5px;color:#dce8d5c2;line-height:1.6;font-weight:600}.destinations .eyebrow{font-size:7px;margin-bottom:15px;opacity:.65}.place{display:flex;align-items:center;text-align:left;width:100%;gap:16px;font-size:10px;color:#e3e7de9c;height:35px;border-left:1px solid #edf2e625;padding:0 13px}.place span{font-size:8px;opacity:.6;font-variant-numeric:tabular-nums}.place i{margin-left:auto;font-style:normal;opacity:0}.place:hover{background:#e7eee108;color:white}.place.active{border-color:var(--accent);color:#fff}.place.active span{opacity:1;color:var(--accent)}.place.active i{opacity:1}.scene-caption{left:35px;bottom:116px;pointer-events:none;max-width:390px}.scene-caption h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,5.1vw,76px);font-weight:400;letter-spacing:-3px;line-height:.98;margin:18px 0 19px}.scene-caption h1 span{color:var(--accent)}.scene-caption p{font-size:10px;line-height:1.8;color:#e2e9ddbe;margin:0}.caption-rule{display:block;width:40px;height:1px;background:#d9e6c45e;margin:22px 0 13px}.author{font-size:6px;letter-spacing:1.6px;color:#d2dccaa0}.author b{font-weight:400;color:#e0e7d9}.bottom-bar{left:34px;right:34px;bottom:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.nav-help{display:flex;align-items:center;gap:10px;font-size:8px;color:#dce5d1a6;max-width:33%}.nav-help b{margin:0 7px;font-weight:400;opacity:.4}.mouse-icon{display:inline-block;width:12px;min-width:12px;height:18px;border:1px solid #dce5d170;border-radius:7px;position:relative}.mouse-icon:after{content:'';width:1px;height:4px;background:var(--accent);position:absolute;left:4px;top:4px}.modes{display:flex;padding:5px;gap:3px;background:#15231ee6;border:1px solid #edf2e623;backdrop-filter:blur(20px);border-radius:9px;position:absolute;left:50%;transform:translateX(-50%)}.modes button{display:flex;align-items:center;gap:8px;padding:11px 20px;color:#bcc7ba9c;border-radius:5px;font-size:9px}.modes button span{font-size:15px}.modes button.selected{background:var(--accent);color:#263122}.modes button:hover:not(.selected){background:#e7eee111;color:#fff}.status{display:flex;align-items:center;gap:10px;margin-left:auto}.status .square{width:27px;height:27px;font-size:13px}.status>span{font-size:7px;letter-spacing:1.4px;margin-left:9px;color:#dde7d3a0}.status>i{width:4px;height:4px}.panel,.room-panel{right:32px;top:99px;width:306px;max-height:calc(100% - 190px);padding:24px;background:var(--panel);backdrop-filter:blur(24px);border:1px solid #edf2e626;border-radius:11px;box-shadow:0 20px 80px #0003;overflow:auto;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.panel-heading .eyebrow{font-size:6px;letter-spacing:1.7px;color:#a9bba5}.panel h2,.room-panel h2{font-size:23px;font-weight:400;font-family:Georgia,serif;letter-spacing:-.3px;margin:5px 0 0}.panel-heading .square{width:25px;height:25px;font-size:19px;border:0;background:none}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:27px}.preset{border:1px solid #e2ecd222;padding:5px;border-radius:6px;text-align:left}.preset i{display:block;height:42px;border-radius:3px;position:relative;overflow:hidden}.preset i:after{content:'';position:absolute;width:140%;height:30px;left:-20%;bottom:-15px;transform:rotate(-15deg);border-radius:50%;background:#2d4233a0;filter:blur(3px)}.preset span{display:block;font-size:7px;margin:8px 1px 5px;color:#bccab4}.preset.selected{border-color:var(--accent)}.preset.selected span{color:var(--accent)}.mist-swatch{background:linear-gradient(#8eaaa7,#d4ddd0)}.gold-swatch{background:linear-gradient(#ac8b5f,#ead2a4)}.blue-swatch{background:linear-gradient(#283b58,#768fa5)}.slider-label{display:flex;justify-content:space-between;font-size:9px;color:#dce4d4;margin:20px 0 10px}.slider-label output{font-size:8px;color:#aaba9e;font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:3px;accent-color:var(--accent);cursor:pointer;display:block;margin:0 0 10px;background:#f0f4e320}input[type=range]::-webkit-slider-thumb{cursor:ew-resize}.divider{height:1px;background:var(--line);margin:24px 0 20px}.section-label{font-size:6px;color:#9da994;letter-spacing:1.7px;margin-bottom:11px}.toggle-row{display:flex;align-items:center;justify-content:space-between;position:relative;font-size:9px;min-height:34px;cursor:pointer}.toggle-row input{position:absolute;right:0;width:28px;height:17px;opacity:0;cursor:pointer}.toggle-row i{width:27px;height:15px;background:#4a5745;border-radius:20px;pointer-events:none;position:relative}.toggle-row i:after{content:'';position:absolute;left:3px;top:3px;background:#9fac96;width:9px;height:9px;border-radius:50%;transition:transform .2s}.toggle-row input:checked+i{background:#c9d9b0}.toggle-row input:checked+i:after{background:#34422b;transform:translateX(12px)}.toggle-row input:focus-visible+i{outline:2px solid white;outline-offset:3px}.select-label{font-size:9px;color:#d1ddc6;display:block}select{margin:10px 0 0;background:#293429;color:#dfe7d6;border:1px solid #dfe9d129;border-radius:5px;padding:10px 8px;font-size:9px;width:100%}.panel-note{font-size:8px;color:#9ba993;line-height:1.7}.reset{display:flex;justify-content:space-between;width:100%;font-size:8px;color:#dce6ce;margin-top:19px;padding:12px 0 0;border-top:1px solid var(--line)}.room-panel{width:350px}.room-panel input[type=search]{width:100%;padding:13px 10px;border-radius:5px;border:1px solid #dfe9d12b;background:#f0f4e308;color:#ecf1e5;font-size:10px}.room-panel input::placeholder{color:#99a58f}.floor-tabs{display:flex;gap:4px;margin:14px 0}.floor-tabs button{font-size:8px;padding:8px;border-radius:4px;color:#acb99f}.floor-tabs button.selected{background:#d9e6c420;color:var(--accent)}.room-list{display:flex;flex-direction:column;max-height:42vh;overflow:auto;scrollbar-width:thin}.room-list button{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e1ebd214;padding:13px 0;text-align:left;font-size:10px;gap:8px}.room-list button small{font-size:7px;color:#97a88c;white-space:nowrap}.room-list p{font-size:10px;color:#b8c7ad}.loader{position:absolute;inset:0;background:#17201e;z-index:10;transition:opacity 1s;display:flex;align-items:center;justify-content:center}.load-background{position:absolute;inset:0;background:linear-gradient(90deg,#17201efa,#17201e70),url('./assets/overview.jpg') center/cover;opacity:.65}.load-content{position:relative;width:430px;max-width:calc(100vw - 60px)}.load-content h2{font-family:Georgia,serif;font-size:58px;line-height:1.03;font-weight:400;letter-spacing:-2px;margin:20px 0 40px}.load-content h2 span{color:var(--accent)}.load-track{height:1px;background:#dce8ce30;width:100%;overflow:hidden}#load-progress{height:100%;width:1%;background:var(--accent);transition:width .4s}.load-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.5px;color:#c9d5bf;margin-top:14px}.load-content>p{font-size:9px;color:#8a9981;margin-top:35px}.loader.done{opacity:0;pointer-events:none}.error{position:absolute;z-index:20;inset:0;background:#17201ef2;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px}.error p{max-width:450px;font-size:13px;line-height:1.7;color:#b9c7b0}.error button,.primary{border-radius:5px;background:var(--accent);color:#26321e;padding:13px 20px;font-size:11px}.error button:hover,.primary:hover{color:#26321e;background:#eaf5d8}#crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;border:1px solid #fff9;border-radius:50%;pointer-events:none;z-index:2}#toast{position:absolute;z-index:7;bottom:105px;left:50%;transform:translate(-50%,10px);opacity:0;background:#17241eed;border:1px solid #dbe8cd33;padding:12px 18px;border-radius:7px;font-size:10px;color:#e4ecd9;pointer-events:none;transition:opacity .25s,transform .25s;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}#show-ui{position:absolute;right:24px;bottom:24px;border:1px solid #dfe8d54a;border-radius:6px;padding:12px;background:#1b2b22b0;z-index:6}body.clean .hud,body.clean .vignette{opacity:0;pointer-events:none}body.walk .destinations{opacity:0;pointer-events:none}body.walk .scene-caption{bottom:110px}body.walk .scene-caption h1{font-size:42px}body.walk .scene-caption p{display:none}body.walk .scene-caption .caption-rule,body.walk .scene-caption .author{display:none}#joystick{position:absolute;width:108px;height:108px;bottom:110px;left:30px;border-radius:50%;background:#dce6ce12;border:1px solid #dce6ce40;touch-action:none;z-index:6}#joystick div{position:absolute;width:44px;height:44px;left:31px;top:31px;border-radius:50%;background:#dce6ce35;border:1px solid #dce6ce50;pointer-events:none}dialog{max-width:510px;width:calc(100% - 36px);max-height:90vh;overflow:auto;background:#1b261f;color:#e8efdf;border:1px solid #dce8d433;padding:34px;border-radius:13px;box-shadow:0 40px 100px #0006}dialog::backdrop{background:#07100d80;backdrop-filter:blur(12px)}dialog>.square{float:right;border:0;background:none}dialog h2{font-family:Georgia,serif;font-size:31px;font-weight:400;margin:13px 0 25px}dl{margin:0 0 25px}dt{font-size:10px;color:var(--accent);margin:20px 0 7px}dd{font-size:11px;color:#afbea5;line-height:1.8;margin:0}.primary{width:100%;display:flex;justify-content:space-between}body.loading .hud{opacity:0;pointer-events:none}@media(min-width:1700px){.topbar{padding:40px 48px}.destinations{left:48px;top:200px}.scene-caption{left:48px;bottom:130px}.scene-caption h1{font-size:90px}.bottom-bar{left:48px;right:48px;bottom:34px}.place{font-size:12px;height:42px}.nav-help{font-size:10px}.quiet{font-size:12px}.panel{top:120px;right:48px}}@media(max-height:760px) and (min-width:801px){.destinations{top:128px}.place{height:27px}.scene-caption{bottom:99px}.scene-caption h1{font-size:51px;margin:12px 0}.caption-rule{margin:16px 0 10px}.scene-caption p{font-size:9px}.panel,.room-panel{top:90px;max-height:calc(100% - 175px);padding:19px}}@media(max-width:900px){.live{display:none}.topbar{padding:22px}.destinations{left:24px;width:185px}.scene-caption{left:24px}.bottom-bar{left:23px;right:23px}.nav-help{max-width:24%;line-height:1.8}.nav-help b{margin:0 3px}.nav-help span:not(.mouse-icon){max-width:140px}.modes button{padding:11px 14px}.status>span,.status>i{display:none}.panel,.room-panel{right:22px}}@media(max-width:600px){.topbar{padding:18px}.brand{font-size:18px;gap:9px}.mark{width:36px;height:36px;font-size:24px}.brand-sub{font-size:6px;letter-spacing:1.3px;margin-top:5px}.top-actions{gap:6px}.quiet{padding:9px;width:34px;height:34px;justify-content:center}.quiet>span:not(.icon){display:none}.top-actions>.square{width:34px;height:34px;font-size:18px}.destinations{top:90px;left:18px;width:158px}.destinations .eyebrow{display:none}.place{font-size:8px;gap:9px;height:29px;padding-left:10px}.place span{font-size:7px}.scene-caption{left:19px;bottom:125px;max-width:280px}.scene-caption h1{font-size:53px;letter-spacing:-2px;margin:13px 0}.scene-caption .eyebrow{font-size:6px;letter-spacing:1.7px}.scene-caption p{font-size:8px}.caption-rule{margin:16px 0 10px}.author{font-size:5px}.bottom-bar{left:18px;right:18px;bottom:22px;height:43px}.modes{width:max-content}.modes button{padding:10px 12px;font-size:8px;gap:5px}.modes button span{font-size:14px}.nav-help{position:absolute;bottom:57px;left:0;max-width:100%;font-size:7px;gap:7px}.nav-help span:not(.mouse-icon){max-width:none}.mouse-icon{width:9px;min-width:9px;height:14px}.mouse-icon:after{left:3px;top:3px}.status{position:absolute;right:0;bottom:58px}.status .square{width:24px;height:24px;font-size:12px}.panel,.room-panel{right:14px;left:14px;top:77px;width:auto;max-height:calc(100% - 178px);padding:22px}.load-content h2{font-size:49px}.load-content{width:330px}.room-list{max-height:43vh}body.walk .scene-caption{top:90px;bottom:auto}body.walk .scene-caption h1{font-size:26px;margin:8px 0}.scene-caption .author{line-height:1.8}#toast{bottom:132px;font-size:9px;width:max-content;max-width:86vw}.preset i{height:50px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
