:root{color-scheme:dark;--ink:#f4f0e7;--muted:#aeb9ba;--edge:#ffffff26;--accent:#9fe6d9;--panel:#112126ed;--player:86px;font-family:"Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#0c151b;color:var(--ink);overscroll-behavior:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,#viewport:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr,.skip:not(:focus){position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.skip:focus{position:absolute;z-index:50;background:#fff;color:#111;padding:12px}[hidden]{display:none!important}#experience{height:100dvh;min-height:400px;overflow:hidden;position:relative}#viewport{position:absolute;inset:0 0 var(--player);touch-action:none;cursor:grab;outline:none}#viewport:active{cursor:grabbing}#room-canvas{display:block;width:100%;height:100%}.topbar{position:absolute;inset:0 0 auto;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:20px 27px;background:linear-gradient(#09171bd9,transparent);pointer-events:none}.topbar>*{pointer-events:auto}.back{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.13em;font-weight:700}.back img{width:28px;height:28px}.back b{color:#a7bcb8;font-size:10px;font-weight:500}.icon-btn,.pill,.nav-key{background:#0c1c23b8;color:var(--ink);border:1px solid var(--edge);border-radius:50%;min-width:38px;min-height:38px;backdrop-filter:blur(12px)}.icon-btn:hover,.pill:hover,.nav-key:hover{border-color:var(--accent);color:var(--accent)}.icon-btn{font-size:19px}.room-caption{position:absolute;top:88px;left:29px;display:flex;align-items:center;gap:7px;font:10px/1.3 ui-monospace,Consolas,monospace;letter-spacing:.15em;color:#c7dcd5;text-shadow:0 1px 4px #000}.live-dot{width:5px;height:5px;border-radius:50%;background:#a2e5d1;box-shadow:0 0 8px #a2e5d1}h1,h2,p{margin:0}.eyebrow{font:10px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.16em;color:var(--accent)}.welcome{position:absolute;top:50%;left:6%;transform:translateY(-50%);z-index:6;width:400px;text-shadow:0 2px 20px #061519;transition:opacity .6s}.welcome h1{font:400 clamp(40px,5.5vw,77px)/1.02 Georgia,serif;letter-spacing:-.045em;margin:17px 0}.welcome>p:not(.eyebrow){font-size:16px;line-height:1.6;color:#c5d0cb}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 23px;background:#dce9d7;color:#18302e;border:1px solid #eef6e7;border-radius:5px;font-weight:700;font-size:13px;box-shadow:0 5px 28px #071d2766}.primary:hover:not(:disabled){background:#eff9e7}.welcome .primary{margin-top:23px}.welcome small{display:block;font-size:10px;color:#adc3bc;margin-top:15px;max-width:280px;line-height:1.5}.welcome:before{content:"";position:absolute;inset:-150px -30px -120px -100px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#071b25c9 0,#071b2560 43%,transparent 70%)}#loading{position:absolute;bottom:calc(var(--player) + 25px);left:27px;color:#c8dcd9;font:11px ui-monospace,monospace;z-index:9}.control-panel{position:absolute;z-index:7;right:22px;top:89px;bottom:calc(var(--player) + 22px);width:300px;padding:19px;border:1px solid var(--edge);background:var(--panel);backdrop-filter:blur(20px);border-radius:12px;overflow-y:auto;scrollbar-width:thin;transition:opacity .4s;box-shadow:0 12px 45px #0004}.control-panel.initial{opacity:0;pointer-events:none}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-head h2{font:400 23px/1.1 Georgia,serif;margin-top:5px}.panel-head .icon-btn{min-width:30px;min-height:30px;font-size:18px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--edge);padding:18px 0 11px;margin-bottom:16px}.tabs button{flex:1;padding:9px;background:transparent;border:1px solid transparent;border-radius:6px;color:#b2c4c1;font-size:12px}.tabs button[aria-selected=true]{background:#cee9db12;border-color:#cee9db38;color:#e0f0dd}.field-label{display:block;font:9px/1.4 ui-monospace,monospace;letter-spacing:.13em;color:#a2b9b4;margin-bottom:7px}select{background:#193139;border:1px solid #829d9345;color:#dcece3;border-radius:5px;width:100%;min-height:42px;padding:9px;font-size:12px}select option{color:#f0f0e0;background:#152a30}.headphone-note{display:flex;gap:10px;align-items:center;margin:18px 0 12px}.headphone-note>span{font-size:26px;color:var(--accent)}.headphone-note strong{font:400 17px Georgia,serif}.headphone-note small{display:block;color:#9bb1ad;font-size:10px;margin-top:3px}.tracks{display:grid;gap:6px}.track{border:1px solid #718b7d36;background:#172d33a3;border-radius:6px;padding:9px;text-align:left;color:#d5e5df;display:flex;gap:10px;align-items:center;min-height:51px}.track .number{font:10px ui-monospace,monospace;color:#9fb4ad;border:1px solid #8fa79848;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;flex-shrink:0}.track strong{display:block;font-size:12px;font-weight:600}.track small{color:#9fb4ad;font-size:10px}.track[aria-pressed=true]{background:#6b998c2b;border-color:#b1e4ca80}.track[aria-pressed=true] .number{color:var(--accent);border-color:var(--accent)}.track:hover{border-color:#b1e4ca80}.preview-note{font-size:10px;line-height:1.6;color:#a2b8b2;margin-top:12px}.local-file{position:relative;display:inline-block;border-bottom:1px solid #91baad7a;padding:3px 0;margin-top:13px;color:#c1dfcf;font-size:11px;cursor:pointer}.local-file input{position:absolute;opacity:0;inset:0;width:100%;cursor:pointer}.local-file:focus-within{outline:2px solid var(--accent);outline-offset:3px}.private-note{font-size:9px;color:#819c96;margin-top:5px}.moods{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:23px}.moods button{display:flex;align-items:center;gap:7px;border:1px solid #718b7d36;background:#172d33;color:#c7dad3;padding:10px 8px;border-radius:5px;font-size:11px}.moods button[aria-pressed=true]{border-color:#b9d5c0}.moods span{width:10px;height:10px;background:var(--swatch);box-shadow:0 0 10px var(--swatch);border-radius:50%}.slider-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#bed3ca;margin-top:18px;margin-bottom:9px}.slider-label output{font:10px ui-monospace,monospace;color:var(--accent)}input[type=range]{accent-color:var(--accent);width:100%;height:22px;cursor:pointer}input[type=color]{height:27px;width:45px;border:1px solid var(--edge);padding:2px;background:none;cursor:pointer}.toggle-label{display:flex;gap:9px;align-items:center;font-size:11px;line-height:1.5;color:#b8cfc5;margin-top:19px}.toggle-label input{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.control-panel.minimized{bottom:auto}.control-panel.minimized #panel-body{display:none}.panel-handle{display:none}.player{position:absolute;z-index:12;bottom:0;left:0;right:0;display:flex;align-items:center;gap:17px;height:var(--player);padding:14px 27px calc(14px + env(safe-area-inset-bottom));background:#0d1d24f7;border-top:1px solid var(--edge);backdrop-filter:blur(20px)}.play{height:43px;width:43px;flex-shrink:0;border:1px solid #b6dfc4;border-radius:50%;background:#daeadb;color:#183e38;font-size:15px}.now-playing{min-width:190px}.now-playing>span{display:block;font-size:12px;color:#edf1e4}.now-playing small{display:block;font:8px/1.5 ui-monospace,monospace;letter-spacing:.13em;color:#a2b9af;margin-top:5px}.timeline{display:flex;align-items:center;gap:10px;flex:1;max-width:650px}.timeline>span{font:10px ui-monospace,monospace;color:#a4bcb5;min-width:28px}.volume{display:flex;align-items:center;gap:8px;margin-left:auto;max-width:120px}.volume span{font-size:21px;color:#a4bcb5}.volume input{width:80px}#scene-labels{position:absolute;inset:0 0 var(--player);pointer-events:none}.spot-label{position:absolute;left:0;top:0;pointer-events:auto;border:1px solid #c0e7cb69;border-radius:20px;color:#d9e8d9;background:#112427d9;padding:8px 13px;font-size:10px;letter-spacing:.04em;white-space:nowrap;backdrop-filter:blur(8px);box-shadow:0 5px 18px #0004;transition:opacity .3s}.spot-label:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:6px;box-shadow:0 0 9px var(--accent)}.spot-label:hover,.spot-label[aria-pressed=true]{border-color:var(--accent);background:#315044}.view-actions{position:absolute;left:27px;bottom:calc(var(--player) + 24px);display:flex;gap:8px}.pill{border-radius:20px;padding:8px 13px;font-size:10px;min-height:34px}.walk-hud{position:absolute;right:345px;bottom:calc(var(--player) + 24px);text-align:center;user-select:none;touch-action:none}.walk-hud>div{display:flex;gap:3px;justify-content:center}.nav-key{border-radius:7px;min-width:37px;min-height:34px;margin:2px;font-size:17px;touch-action:none}.nav-key:active{background:#5e9587}.walk-hud small{font-size:9px;color:#aac3b7;display:block;margin-top:6px;text-shadow:0 1px 4px #000}#notice{position:absolute;z-index:20;bottom:calc(var(--player) + 18px);left:50%;transform:translateX(-50%);border:1px solid #a7d2c24d;border-radius:8px;background:#0c222de8;padding:10px 16px;max-width:min(470px,90%);font-size:12px;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s}#notice.show{opacity:1}.fallback{position:absolute;z-index:9;left:6%;top:28%;max-width:360px;padding:25px;border:1px solid var(--edge);border-radius:12px;background:#102932}.fallback h2{font:27px Georgia,serif}.fallback p{color:#b0c9c2;font-size:13px;line-height:1.6;margin:15px 0}.fallback .primary{margin-top:10px}dialog{background:#12282d;color:#dbe7df;border:1px solid #9cb8a66b;border-radius:12px;padding:29px;width:min(510px,calc(100% - 24px));box-shadow:0 20px 90px #0008}dialog::backdrop{background:#041219bd;backdrop-filter:blur(4px)}dialog h2{font:32px Georgia,serif;margin:12px 0}dialog ul{padding-left:18px;font-size:13px;line-height:1.7;color:#b7cfc5}dialog li{margin:10px 0}dialog p:last-child{font-size:11px;color:#91afa2}.close{position:absolute;right:12px;top:12px}
@media(max-width:1000px){.control-panel{width:270px;padding:15px;right:16px}.walk-hud{right:303px}.welcome{left:4%;width:330px}.welcome h1{font-size:53px}.now-playing{min-width:160px}.player{gap:12px;padding-inline:18px}.volume{max-width:80px}.volume input{width:55px}.timeline{gap:5px}}@media(max-width:700px){:root{--player:108px}.topbar{padding:12px 14px}.back{font-size:10px;letter-spacing:.1em}.back b{font-size:8px}.back img{width:24px;height:24px}.room-caption{top:63px;left:16px;font-size:8px}.welcome{top:35%;left:6%;width:85%;max-width:350px}.welcome h1{font-size:49px}.welcome>p:not(.eyebrow){font-size:14px}.welcome .primary{margin-top:18px}.welcome small{font-size:9px}.control-panel{top:auto;bottom:calc(var(--player) + 10px);right:10px;left:10px;width:auto;max-height:43dvh;padding:11px 15px 15px;border-radius:14px;overscroll-behavior:contain}.panel-head h2{font-size:19px}.panel-head .eyebrow{font-size:8px}.panel-handle{display:block;background:#9bbbb36b;width:35px;height:3px;border-radius:3px;margin:0 auto 8px}.tabs{padding:9px 0 7px;margin-bottom:10px}.tabs button{padding:6px}.field-label{font-size:8px}.headphone-note{margin:12px 0 8px}.headphone-note strong{font-size:15px}.tracks{grid-template-columns:1fr 1fr}.track{gap:6px;padding:7px;min-height:49px}.track .number{width:22px;height:22px;font-size:9px}.track strong{font-size:11px}.track small{font-size:9px}.preview-note{font-size:9px;margin-top:9px}.local-file{margin-top:8px}.player{display:grid;grid-template-columns:40px 1fr 80px;grid-template-rows:40px 22px;padding:9px 14px calc(9px + env(safe-area-inset-bottom));gap:4px 10px}.play{width:37px;height:37px;grid-column:1;grid-row:1}.now-playing{min-width:0;grid-column:2;grid-row:1;overflow:hidden}.now-playing>span{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.now-playing small{font-size:7px}.timeline{grid-row:2;grid-column:1/4;max-width:none}.timeline input{height:17px}.volume{grid-row:1;grid-column:3;max-width:80px;margin:0}.view-actions{left:13px;top:90px;bottom:auto;flex-direction:column;align-items:start;gap:5px}.pill{font-size:9px;min-height:30px;padding:6px 9px}.walk-hud{right:13px;top:90px;bottom:auto}.nav-key{min-width:35px;min-height:31px;background:#112732c9}.walk-hud small{font-size:8px}.spot-label{padding:7px 9px;font-size:9px}.control-panel.minimized{bottom:calc(var(--player) + 10px)}#notice{bottom:calc(var(--player) + 90px);max-width:80%;font-size:11px}.fallback{left:5%;top:25%;max-width:90%;right:5%}#loading{left:16px;bottom:calc(var(--player) + 22px)}}
@media(max-height:530px) and (min-width:701px){.control-panel{top:65px;bottom:calc(var(--player) + 9px);font-size:11px}.room-caption{top:64px}.topbar{padding-block:11px}.welcome h1{font-size:43px}.welcome{top:45%}.tracks{grid-template-columns:1fr 1fr}.track{padding:5px}.track .number{display:none}.tabs{padding-top:12px}.headphone-note{margin:10px 0}.view-actions,.walk-hud{bottom:calc(var(--player) + 10px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:700px){.nav-key{min-width:44px;min-height:44px}.walk-hud small{max-width:145px}.play{width:44px;height:44px}.player{grid-template-columns:44px 1fr 80px;grid-template-rows:44px 22px}select{min-height:44px}.icon-btn{min-width:44px;min-height:44px}.panel-head .icon-btn{min-width:38px;min-height:38px}.spot-label{min-height:40px}.moods button{min-height:44px}}

.tabs{gap:3px}.tabs button{font-size:11px;padding:8px 3px;white-space:nowrap}
.control-title{font:400 21px/1.2 Georgia,serif;margin:10px 0 0}
.art-transition-label{margin-top:19px}.interval-input{display:flex;align-items:center;gap:7px;color:#a9bfb4;font-size:11px}
.interval-input input{width:65px;min-height:40px;color:var(--ink);background:#193139;border:1px solid var(--edge);border-radius:5px;padding:6px}
.art-navigation{display:flex;gap:8px;margin-top:19px}.art-navigation .pill{flex:1;padding-inline:8px}
.art-current{font-size:11px;line-height:1.7;color:#cadbd3;margin-top:16px}
.device-look{margin-top:18px}.tabs button[aria-selected=true]{color:var(--accent)}
@media(max-width:700px){.tabs button{min-height:40px}.interval-input input{min-height:44px}.control-title{font-size:19px}.art-navigation .pill,.device-look{min-height:44px}}

.eq-controls{margin-top:23px;border-top:1px solid var(--edge);padding-top:15px}.eq-controls summary{cursor:pointer;font-size:13px;color:var(--accent);min-height:32px}.night-toggle{margin-top:0}.eq-controls[open] summary{margin-bottom:12px}
