@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/dm-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/manrope-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/manrope-600.ttf) format('truetype');
}

:root{color-scheme:dark;--ink:#f6f4fc;--muted:#b6b1c5;--accent:#f2c8ed;--accent-rgb:242,200,237;font-family:'DM Sans',sans-serif;font-synthesis:none;font-size:16px;background:#05060e;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:wait}button svg{pointer-events:none;flex-shrink:0}svg{display:block}::selection{background:#77609a}#app{min-height:100svh}
#experience{position:fixed;inset:0;overflow:hidden;background:#05060e;isolation:isolate}.scenery{position:absolute;inset:-4%;background-position:center;background-size:cover;opacity:0;transition:opacity 2.4s ease;will-change:transform}.scenery.active{opacity:.07}#journey{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scene-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,14,.64),transparent 22%,transparent 87%,rgba(5,5,14,.23));pointer-events:none;transition:opacity .7s}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 120px 20px #01030b40;pointer-events:none}#dimmer{position:absolute;inset:0;background:#000;pointer-events:none;opacity:.05}
.chrome{position:relative;z-index:2;transition:opacity .65s ease,transform .65s ease}.topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:30px 42px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-size:21px;font-weight:600;letter-spacing:-1.1px}.brand-mark{flex:none;object-fit:contain;filter:drop-shadow(0 0 12px #aeecd833)}.icon-button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:transparent;color:#d4cede;transition:background .2s,color .2s}.icon-button:hover{background:rgba(255,255,255,.1);color:white}.icon-button.is-active{color:var(--accent);background:rgba(var(--accent-rgb),.1)}.outline-icon{border:1px solid #ffffff26;width:42px;height:42px;background:#080b1433;backdrop-filter:blur(10px)}
.bottom-shell{position:fixed;bottom:max(27px,env(safe-area-inset-bottom));left:42px;right:42px;display:flex;align-items:center;gap:25px;pointer-events:none}.bottom-shell>*{pointer-events:auto}.world-switch{display:flex;align-items:center;gap:11px;text-align:left;padding:5px 0;min-width:195px;position:relative;cursor:pointer}.world-switch-icon{width:41px;height:41px;border:1px solid #ffffff26;background:#0d0b1980;border-radius:10px;display:grid;place-items:center;color:var(--accent);flex-shrink:0}.world-select-copy{min-width:0;display:block}.world-switch small{display:block;color:#a49bae;font-size:9px;margin-bottom:2px;letter-spacing:1.1px}.world-switch select{display:block;appearance:none;-webkit-appearance:none;color:var(--ink);font-size:13px;font-weight:500;border:0;border-radius:4px;background:transparent;max-width:170px;padding:3px 20px 4px 0;cursor:pointer}.world-switch select:hover{color:var(--accent)}.world-switch option{background:#151322;color:#eee8f7}.world-switch>.chevron{position:absolute;right:0;bottom:14px;color:#aaa0ba;transform:rotate(180deg);pointer-events:none}
.control-bar{display:flex;align-items:center;gap:18px;padding:11px 16px;border:1px solid #ffffff26;background:linear-gradient(115deg,rgba(30,23,44,.77),rgba(14,14,27,.77));backdrop-filter:blur(24px);border-radius:14px;box-shadow:0 8px 40px #0003;margin:0 auto}.play-button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#eadefc;color:#30233c;flex-shrink:0}.play-button:hover{background:white}.divider{height:25px;width:1px;background:#ffffff21;flex-shrink:0}.sound-control{display:flex;align-items:center;gap:8px}.sound-text{width:105px}.sound-text strong{display:block;font-size:12px;font-weight:500}.sound-text small{display:block;margin-top:3px;font-size:10px;color:#a89eb8}.equalizer{height:16px;display:flex;gap:2px;align-items:center;color:var(--accent);width:15px}.equalizer i{width:2px;height:3px;background:currentColor;border-radius:1px}.sound-on .equalizer i{animation:equalize 1.5s infinite ease-in-out}.sound-on .equalizer i:nth-child(2){animation-delay:-.8s}.sound-on .equalizer i:nth-child(3){animation-delay:-.3s}.sound-on .equalizer i:nth-child(4){animation-delay:-1.1s}@keyframes equalize{0%,100%{height:4px}50%{height:15px}}
.slider-control{width:94px;min-width:0}.slider-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#c9bfd7;margin-bottom:6px;gap:10px}.slider-label span:last-child{font-size:9px;color:#91849f}.slider-control input{width:100%;margin:0}input[type=range]{appearance:none;-webkit-appearance:none;height:18px;border-radius:3px;background:linear-gradient(#ffffff28,#ffffff28) center/100% 3px no-repeat;accent-color:var(--accent);cursor:pointer;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:9px;height:9px;border-radius:50%;background:#e2d5ff;box-shadow:0 0 8px #cbb0ff33}input[type=range]::-moz-range-thumb{width:9px;height:9px;border:0;border-radius:50%;background:#e2d5ff}.bar-actions{display:flex;gap:1px}.bar-actions .icon-button{width:34px;height:34px}.session{font-size:11px;color:#b8afc4;display:flex;align-items:center;gap:8px;white-space:nowrap;font-variant-numeric:tabular-nums}.session svg{opacity:.8}.session-label{color:#776d87;margin-right:3px}
.quiet .chrome{opacity:0;pointer-events:none;transform:translateY(5px)}.quiet .chrome *{pointer-events:none}.quiet .scene-shade{opacity:0}.wake-button{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#0a091329;border:1px solid #ffffff14;border-radius:20px;font-size:11px;letter-spacing:.5px;padding:10px 17px;color:#fff6;z-index:3;opacity:0;pointer-events:none;transition:opacity .4s}.quiet .wake-button{opacity:.35;pointer-events:auto}.quiet .wake-button:hover,.quiet .wake-button:focus-visible{opacity:1;background:#0a0913c9}
.popover{position:fixed;right:42px;top:94px;width:305px;max-height:calc(100svh - 120px);overflow-y:auto;background:#14121fee;border:1px solid #ffffff24;backdrop-filter:blur(28px);border-radius:14px;padding:21px;z-index:5;box-shadow:0 12px 50px #0005}.popover[hidden]{display:none}.popover h2{font-size:15px;margin:0 0 18px;font-weight:500}.popover p{font-size:12px;color:#ada3bb;line-height:1.7}.shortcut{display:flex;justify-content:space-between;margin:12px 0;font-size:12px;color:#ccc4d8;align-items:center}.shortcut kbd{border:1px solid #ffffff24;border-radius:4px;min-width:24px;padding:3px 6px;font-size:10px;text-align:center;font-family:inherit;color:#ded1f7;background:#ffffff06}.volume-row{display:flex;align-items:center;gap:12px;margin:18px 0 10px}.volume-row input{flex:1;min-width:0}.volume-row label{font-size:12px}.volume-row output{font-size:11px;color:#a99ab9;width:29px}.popover hr{border:0;border-top:1px solid #ffffff16;margin:18px 0}
.toast{position:fixed;left:50%;top:105px;transform:translate(-50%,-8px);font-size:13px;text-align:center;color:#e8dff5;border:1px solid #ffffff24;background:#12101ee8;backdrop-filter:blur(20px);padding:12px 19px;border-radius:9px;z-index:9;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;max-width:calc(100vw - 36px)}.toast.visible{opacity:1;transform:translate(-50%,0)}.paused .equalizer i{animation-play-state:paused}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.loading-screen{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;background:radial-gradient(ellipse at 50% 42%,#19172c,#050710 68%);transition:opacity .9s,visibility .9s;color:#e7e0f7;text-align:center;padding:32px}.loading-screen.loaded{opacity:0;visibility:hidden;pointer-events:none}.loading-screen p{font-size:17px;font-weight:400;margin:8px 0 0;max-width:430px;line-height:1.6}.loading-screen small{font-size:12px;color:#978cab}.loading-orbit{height:67px;width:67px;border:1px solid #d1b2fb35;border-top-color:#c7b1f8;border-radius:50%;animation:orbit-loading 3s linear infinite}.loading-track{width:170px;height:2px;background:#ffffff15;border-radius:4px;overflow:hidden}.loading-track span{height:100%;display:block;background:#d0bdf9;transition:width .5s}#reload-world{margin-top:10px;padding:12px 20px;border-radius:8px;background:#e8daf9;color:#251d31}#reload-world[hidden]{display:none}@keyframes orbit-loading{to{transform:rotate(360deg)}}
@media(min-width:1600px){.control-bar{gap:23px}.slider-control{width:113px}.bottom-shell{bottom:34px}}
@media(max-width:1100px){.topbar{padding:25px 28px}.bottom-shell{left:28px;right:28px;gap:18px}.control-bar{gap:12px;padding:10px 12px}.session-label{display:none}.sound-text{width:94px}.slider-control{width:76px}.world-switch{min-width:185px}.world-switch-icon{width:35px;height:35px}.control-bar>.divider:last-of-type{display:none}}
@media(max-width:900px){.session{display:none}.bottom-shell{gap:12px}.sound-text{display:none}.sound-control{gap:2px}.control-bar{margin-left:auto;margin-right:0;flex:1;justify-content:space-around}.slider-control{width:92px}}
@media(max-width:650px){.topbar{padding:21px 22px}.brand{font-size:21px}.outline-icon{width:40px;height:40px}.bottom-shell{bottom:max(17px,env(safe-area-inset-bottom));left:17px;right:17px;flex-wrap:wrap;gap:8px;justify-content:space-between}.world-switch{padding:0 5px;min-width:0;gap:8px;height:44px}.world-switch-icon{width:28px;height:28px;border:0;background:transparent}.world-switch-icon svg{width:20px}.world-switch small{display:none}.world-switch select{font-size:12px;padding:12px 19px 12px 0;max-width:160px}.world-switch>.chevron{width:12px;right:5px;bottom:14px}.control-bar{width:100%;order:2;flex:auto;display:grid;grid-template-columns:44px 44px minmax(0,1fr) minmax(0,1fr) 44px 44px;gap:3px;padding:8px;border-radius:12px}.control-bar>.divider{display:none}.play-button{width:40px;height:40px;margin:auto}.sound-control .icon-button{width:44px;height:44px}.equalizer{display:none}.slider-control{width:auto;padding:0 4px}.slider-label{font-size:9px;white-space:nowrap;display:block;margin-bottom:4px}#speed-value,#brightness-value{display:none}.bar-actions{display:contents}.bar-actions .icon-button{width:44px;height:44px}.session{display:flex;font-size:10px;margin-right:7px}.session svg{width:13px}.session-label{display:none}.popover{right:20px;top:77px;max-width:calc(100vw - 40px);max-height:calc(100svh - 100px)}.vignette{box-shadow:inset 0 0 90px 10px #0003}.toast{top:90px;font-size:12px}.wake-button{bottom:22px}}
@media(max-height:500px) and (orientation:landscape){.topbar{padding:14px 23px}.brand{font-size:20px}.bottom-shell{bottom:17px}.popover{top:68px;max-height:calc(100svh - 88px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.chrome,.scenery{transition:opacity .25s!important}.sound-on .equalizer i,.loading-orbit{animation:none}}
/* The 360 surface remains small; the world itself fills the display. */
.top-actions{display:flex;align-items:center;gap:12px}.view-toggle{display:flex;padding:4px;border:1px solid #ffffff29;border-radius:30px;background:#0b1024b8;backdrop-filter:blur(18px)}.view-toggle button{padding:9px 17px;font-size:14px;border-radius:24px;background:transparent;color:#aeb7cc;min-height:38px}.view-toggle button[aria-pressed=true]{background:#dcdff3;color:#171d2d}.view-toggle button:hover{color:#fff}.view-toggle button[aria-pressed=true]:hover{color:#171d2d}.vr-button{min-height:46px;padding:10px 18px;border:1px solid #afd6df65;border-radius:24px;background:#152939cc;backdrop-filter:blur(18px);font-size:14px;color:#d1f3f3}.vr-button:disabled{color:#a2adc1;background:#101729bb;border-color:#ffffff21;cursor:default}.vr-button[hidden],.look-hint[hidden],#vr-help[hidden]{display:none}.look-hint{position:fixed;left:50%;bottom:112px;transform:translateX(-50%);font-size:12px;letter-spacing:.2px;color:#c2cddd;pointer-events:none;background:#0b142477;border:1px solid #a7c3e41a;border-radius:20px;padding:8px 16px;white-space:nowrap;transition:opacity .8s}.look-hint.used{opacity:0}.quiet .look-hint{opacity:0;transform:translateX(-50%)}#app[data-view='360'] #experience{cursor:grab;touch-action:none}#app.looking #experience{cursor:grabbing}#app[data-view='360'] .scene-shade{background:linear-gradient(0deg,#0407139e,transparent 19%,transparent 90%,#04071333)}.in-vr .chrome{visibility:hidden}#app[data-view='360'] .scenery{display:none}
@media(max-width:650px){.top-actions{gap:7px}.topbar{padding:18px}.brand{font-size:19px;gap:7px}.brand-mark{width:28px;height:28px}.view-toggle{padding:3px}.view-toggle button{font-size:12px;padding:8px 11px;min-height:34px}.top-actions>.outline-icon{width:34px;height:34px}.vr-button{position:fixed;right:18px;top:76px;min-height:40px;padding:8px 15px;font-size:12px}.look-hint{font-size:11px;bottom:143px;max-width:calc(100vw - 30px);padding:7px 13px}.popover{top:125px;max-height:calc(100svh - 145px)}}
@media(max-width:360px){.brand{font-size:17px}.brand-mark{width:24px;height:24px}.topbar{padding:15px 13px}.view-toggle button{padding:8px 9px}.top-actions{gap:5px}.vr-button{top:68px;right:13px}}

@media(max-width:360px){.slider-label span[data-short]{font-size:0}.slider-label span[data-short]::after{content:attr(data-short);font-size:9px}}
