@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Space+Mono:wght@400;700&display=swap');
:root{--bg:#050817;--ink:#f8f9ff;--muted:#9aa2ba;--accent:#58e6ff;--accent2:#8774ff;--good:#72f5ae;--warm:#ffd36d;--glass:rgba(8,12,30,.82);--line:rgba(255,255,255,.16)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif}button,a,select{font:inherit;color:inherit}.world,.world-canvas{position:absolute;inset:0}.world-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.world-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 36%,rgba(0,0,0,.55)),linear-gradient(180deg,rgba(2,4,15,.72),transparent 25%,transparent 68%,rgba(2,4,15,.78))}.world-header{position:absolute;z-index:9;top:0;left:0;right:0;height:74px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:linear-gradient(#050817eb,transparent);pointer-events:none}.world-header>*{pointer-events:auto}.world-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.world-brand>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent2),var(--accent));font-size:20px;box-shadow:0 0 28px color-mix(in srgb,var(--accent) 28%,transparent)}.world-brand b,.world-brand small{display:block}.world-brand b{font:800 12px Space Mono;letter-spacing:.12em}.world-brand small{font:400 7px Space Mono;color:var(--muted);letter-spacing:.13em;margin-top:3px}.world-points{text-align:right}.world-points small{display:block;font:400 7px Space Mono;color:var(--muted);letter-spacing:.12em}.world-points strong{font:700 20px Space Mono;color:var(--good)}.station-tabs{position:absolute;z-index:8;left:20px;top:92px;width:230px;display:grid;gap:7px}.station{min-height:56px;padding:8px 11px;border:1px solid var(--line);border-radius:15px;background:var(--glass);backdrop-filter:blur(14px);display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;transition:.2s}.station>span{font-size:21px}.station b,.station small{display:block}.station b{font-size:10px}.station small{font-size:8px;color:var(--muted);margin-top:2px}.station:hover,.station.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent2) 23%,var(--glass));transform:translateX(3px)}.mission{position:absolute;z-index:8;left:20px;bottom:22px;width:340px;padding:18px 19px;border:1px solid var(--line);border-radius:19px;background:var(--glass);backdrop-filter:blur(18px)}.mission .tag{font:700 8px Space Mono;letter-spacing:.14em;color:var(--accent);margin:0 0 8px}.mission h1{font-size:25px;line-height:1.08;margin:0 0 8px;letter-spacing:-.035em}.mission>p:not(.tag){font-size:11px;line-height:1.55;color:#c2c6d6;margin:0}.mission .speak{margin-top:12px;border:0;background:none;color:var(--muted);font:700 8px Space Mono;letter-spacing:.1em;padding:5px 0;cursor:pointer}.control-card{position:absolute;z-index:8;right:20px;top:94px;width:260px;padding:17px;border:1px solid var(--line);border-radius:19px;background:var(--glass);backdrop-filter:blur(16px)}.control-card h2{font-size:17px;margin:0 0 10px}.control-card p{font-size:10px;line-height:1.5;color:var(--muted)}.action-row{display:flex;flex-wrap:wrap;gap:7px}.action{min-height:48px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.08);padding:9px 12px;font-weight:800;font-size:10px;cursor:pointer;flex:1}.action:hover,.action.active{background:var(--accent);color:#07101c;border-color:transparent}.action.primary{background:#f8f9ff;color:#0b1020}.action.good{background:var(--good);color:#07150e}.meter{height:7px;background:#ffffff12;border-radius:9px;overflow:hidden;margin:12px 0}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent2),var(--accent));transition:.4s}.feedback{position:absolute;z-index:15;left:50%;top:85px;transform:translate(-50%,-130px);border:1px solid var(--line);border-radius:99px;background:#10162cec;padding:11px 18px;font-size:11px;font-weight:800;transition:.35s}.feedback.show{transform:translate(-50%,0)}.world-loading,.world-fallback{position:absolute;z-index:50;inset:0;background:var(--bg);display:grid;place-content:center;text-align:center}.world-loading{transition:opacity .6s}.world-loading.done{opacity:0;pointer-events:none}.world-loading span{font-size:42px;animation:bob 1s infinite alternate}.world-loading p{font:400 8px Space Mono;color:var(--muted);letter-spacing:.18em}.world-fallback[hidden]{display:none}.world-fallback a{color:var(--accent)}@keyframes bob{to{transform:translateY(-12px)}}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:3px solid var(--warm);outline-offset:3px}
@media(max-width:760px){.world-header{height:60px;padding:0 11px}.world-brand>span{width:36px;height:36px}.world-brand small{display:none}.station-tabs{left:8px;right:8px;top:68px;width:auto;display:flex;overflow-x:auto;gap:5px}.station{min-width:104px;min-height:48px;justify-content:center;padding:6px}.station>span{font-size:18px}.station small{display:none}.station b{font-size:8px}.mission{left:8px;bottom:8px;width:calc(100% - 16px);padding:12px 14px;padding-right:130px;min-height:112px}.mission h1{font-size:19px}.mission>p:not(.tag){font-size:10px}.mission .speak{display:none}.control-card{right:14px;top:auto;bottom:18px;width:122px;padding:8px;z-index:10;background:#0b1025f2}.control-card h2,.control-card p{display:none}.control-card .action-row{display:grid}.control-card .action{min-height:42px;padding:6px;font-size:8px}.meter{display:none}.feedback{top:126px;white-space:nowrap}.world-points small{display:none}}
@media(max-width:390px){.mission{padding-right:116px}.control-card{width:108px}.world-brand b{font-size:10px}.station{min-width:92px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.ui-icon{width:1.4em;height:1.4em;display:block}.world-brand>span .ui-icon{width:22px;height:22px}.station>span .ui-icon{width:23px;height:23px}.audio-toggle{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--glass);cursor:pointer;font:700 8px Space Mono;letter-spacing:.08em}.audio-toggle .ui-icon{width:18px}.audio-toggle.on{color:var(--accent);border-color:var(--accent)}
@media(max-width:760px){.audio-toggle span{display:none}.audio-toggle{padding:0 10px}.audio-toggle .ui-icon{width:20px;height:20px}}
