*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0b0f16;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#e8edf4}#ws-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#ws-canvas.dragging{cursor:grabbing}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 130% 110% at 50% 42%,#0000 55%,#05080e47 82%,#03050a8c);z-index:5}#ui{position:fixed;inset:0;z-index:10;pointer-events:none}#boot{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#0b0f16;transition:opacity .6s ease}#boot.hidden{opacity:0;pointer-events:none}.boot-title{font-size:22px;letter-spacing:.5em;font-weight:300}.boot-sub{font-size:12px;letter-spacing:.3em;color:#6f7c8f;text-transform:uppercase}:root{--glass-bg: rgba(12, 16, 24, .55);--glass-bg-deep: rgba(12, 16, 24, .74);--glass-edge: rgba(255, 255, 255, .14);--glass-edge-hot: rgba(255, 255, 255, .3);--hairline: rgba(255, 255, 255, .11);--ink: #e8edf4;--ink-dim: #97a1b2;--ink-faint: #5b6675;--amber: #ffb454;--green: #93d6a1;--mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}.ws-overlay{display:contents}.panel{pointer-events:auto;background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-edge);border-radius:14px;box-shadow:0 10px 30px #00000052}.lbl{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--ink)}.ws-overlay :focus-visible{outline:1.5px solid rgba(255,180,84,.8);outline-offset:2px}.ws-overlay .search-input:focus-visible{outline:none}.brand{position:fixed;top:18px;left:18px;padding:11px 16px 11px 18px;font-size:12px;font-weight:300;letter-spacing:.34em;color:var(--ink);user-select:none}.brand-plane{color:var(--ink-dim);letter-spacing:0}.top-center{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(430px,calc(100vw - 28px));pointer-events:none}.search-panel{position:relative;width:100%;transition:border-color .15s ease}.search-panel:focus-within{border-color:var(--glass-edge-hot)}.search-input{width:100%;padding:12px 16px;background:transparent;border:0;color:var(--ink);font:inherit;font-size:13.5px;letter-spacing:.02em}.search-input:focus{outline:none}.search-input::placeholder{color:var(--ink-faint)}.search-list{position:absolute;top:calc(100% + 8px);left:0;right:0;list-style:none;max-height:262px;overflow-y:auto;padding:6px;background:var(--glass-bg-deep);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-edge);border-radius:12px;box-shadow:0 14px 34px #00000073}.search-list[hidden]{display:none}.search-item{display:flex;align-items:baseline;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer}.search-item.hi{background:#ffffff17}.si-name{font-size:13px;font-weight:600;white-space:nowrap}.si-meta{font-size:11px;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-empty{padding:9px 10px;font-size:12px;font-style:italic;color:var(--ink-faint)}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;pointer-events:none}.chip{pointer-events:auto;padding:6px 13px;border-radius:999px;background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-edge);color:var(--ink-dim);font:inherit;font-size:11px;letter-spacing:.04em;cursor:pointer;transition:border-color .15s ease,color .15s ease}.chip b{color:var(--ink);font-weight:600}.chip:hover{border-color:var(--glass-edge-hot);color:var(--ink)}.offline-pill{pointer-events:none;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,180,84,.5);background:#281a088c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--amber);font-size:11px;letter-spacing:.08em}.offline-pill[hidden]{display:none}.cond-card{position:fixed;top:18px;right:18px;z-index:12;width:264px;padding:14px 16px}.cc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cc-place{font-size:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.belt{flex:none;width:22px;height:22px;color:var(--ink-faint);transition:color .4s ease,filter .4s ease}.belt svg{width:100%;height:100%;display:block}.belt.lit{color:var(--amber);filter:drop-shadow(0 0 7px rgba(255,180,84,.75));animation:belt-pulse 1.1s ease 2}@keyframes belt-pulse{0%,to{opacity:1}50%{opacity:.45}}.cc-sub{display:flex;justify-content:space-between;gap:8px;margin-top:3px;font-size:11px;color:var(--ink-dim)}.cc-region{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-clock{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.rule{height:1px;background:var(--hairline);margin:11px 0}.cc-rows{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;align-items:baseline}.cc-rows .val{text-align:right}.cc-headline{font-size:14px;font-weight:600;letter-spacing:.02em}.cc-exp{margin-top:4px;font-size:12px;font-style:italic;line-height:1.5;color:var(--ink-dim)}.fl-panel{position:fixed;left:18px;bottom:18px;z-index:12;display:flex;flex-direction:column;gap:6px;padding:13px 16px 15px}.fl-label{font-size:13px}.fl-slider{width:224px}.av-panel{position:fixed;right:18px;bottom:18px;z-index:12;display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:11px 14px 9px}.av-row{display:flex;align-items:center;gap:10px}.icon-btn{width:32px;height:32px;display:grid;place-items:center;padding:0;background:transparent;border:1px solid var(--glass-edge);border-radius:9px;color:var(--ink-dim);cursor:pointer;transition:color .15s ease,border-color .15s ease}.icon-btn:hover{color:var(--ink);border-color:var(--glass-edge-hot)}.icon-btn svg{width:16px;height:16px;display:block}.refresh-btn.spinning svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.vol-slider{width:92px;transition:opacity .2s ease}.av-panel.muted .vol-slider{opacity:.35}.mute-btn .mx,.mute-btn.muted .wav{display:none}.mute-btn.muted .mx{display:block}.mute-btn.muted{color:var(--amber);border-color:#ffb45466}.credit{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);text-decoration:none}.credit:hover{color:var(--ink-dim)}input[type=range]{-webkit-appearance:none;appearance:none;height:22px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:1px;background:#ffffff38}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border:none;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px #0c101899}input[type=range]::-moz-range-track{height:2px;border-radius:1px;background:#ffffff38}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px #0c101899}#boot .chk-list{margin-top:16px;width:min(320px,78vw);font-family:var(--mono);font-size:12px;line-height:2;color:var(--ink-dim)}.chk{display:flex;align-items:baseline;gap:9px;opacity:0;animation:chk-in .4s ease forwards}.chk-name{white-space:nowrap}.chk .dots{flex:1;min-width:24px;border-bottom:1px dotted rgba(255,255,255,.22);transform:translateY(-5px)}.chk .tick{color:var(--green);opacity:0;transition:opacity .25s ease}.chk.done .tick{opacity:1}@keyframes chk-in{to{opacity:1}}@media(max-width:720px){.brand{display:none}.top-center{top:10px;width:calc(100vw - 20px);gap:8px}.search-input{padding:10px 14px;font-size:13px}.cond-card{top:auto;bottom:96px;right:10px;width:196px;padding:11px 13px}.cc-place{font-size:13.5px}.cc-exp{font-size:11px}.rule{margin:8px 0}.fl-panel{left:10px;bottom:10px;padding:10px 12px 12px}.fl-slider{width:148px}.av-panel{right:10px;bottom:10px;padding:9px 11px 7px}.vol-slider{width:64px}.credit{font-size:8.5px}}@media(prefers-reduced-motion:reduce){.chk{animation:none;opacity:1}.belt.lit{animation:none}.chip,.icon-btn,.vol-slider,.search-panel{transition:none}}
