:root{--bg: #000;--fg: #fff;--line: #2a2a2a;--dim: rgba(255, 255, 255, .5);--faint: rgba(255, 255, 255, .1);--mono: ui-monospace, "JetBrains Mono", "SF Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--mono);overflow:hidden;height:100%;overscroll-behavior:none}#bridge-canvas{position:fixed;inset:0;display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;pointer-events:none;color:var(--fg)}.hud .lbl{font-size:9px;letter-spacing:.18em;opacity:.9}.hud .sub{font-size:8px;letter-spacing:.08em;opacity:.45}.hud .num{font-size:8px;opacity:.6;font-feature-settings:"tnum"}.tl{top:18px;left:22px}.tl .name{font-size:13px;letter-spacing:.3em}.tl .handle{font-size:10px;opacity:.55;margin-top:2px;letter-spacing:.1em}.tl .instrument{margin-top:18px;border:1px solid var(--line);padding:8px 10px;width:230px;font-size:8.5px;line-height:1.55;opacity:.85}.tl .instrument .row{display:flex;justify-content:space-between}.tl .instrument .key{opacity:.5;letter-spacing:.14em}.tr{top:18px;right:22px;text-align:right}.tr nav{font-size:10px;letter-spacing:.22em;opacity:.85;pointer-events:auto}.tr nav span,.tr nav b{opacity:.5;cursor:pointer;padding:0 4px}.tr nav b{font-weight:400;opacity:1;border-bottom:1px solid var(--fg);padding-bottom:1px}.tr .sort{font-size:8.5px;opacity:.55;margin-top:14px;letter-spacing:.15em}.tr .sort u{text-decoration:none;border-bottom:1px solid var(--fg);padding-bottom:1px}.tr .stats{margin-top:18px;border:1px solid var(--line);padding:8px 10px;font-size:8.5px;opacity:.85;line-height:1.55;min-width:200px;text-align:left}.bl{bottom:18px;left:22px;font-size:9px;opacity:.55;letter-spacing:.06em;line-height:1.6}.br{bottom:18px;right:22px;font-size:9px;opacity:.5;letter-spacing:.12em;text-align:right;line-height:1.6}.sidelist{position:absolute;right:22px;bottom:60px;border:1px solid var(--line);padding:8px 10px;max-width:260px;font-size:8.5px;opacity:.85;line-height:1.7}.sidelist h4{margin:0 0 6px;font-size:8px;letter-spacing:.22em;opacity:.6;font-weight:400}.sidelist .row{display:flex;justify-content:space-between;gap:10px}.sidelist .row span:last-child{opacity:.5;font-size:8px}.codepanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:540px;max-width:calc(100vw - 80px);background:#000000eb;border:1px solid var(--fg);box-shadow:0 0 60px #ffffff0f,inset 0 0 60px #ffffff05;font-size:10px;line-height:1.55;pointer-events:auto;display:none}.codepanel.open{display:block}.codepanel .tabs{display:flex;flex-wrap:nowrap;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:.18em;overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-width:thin}.codepanel .tabs::-webkit-scrollbar{height:4px}.codepanel .tabs::-webkit-scrollbar-thumb{background:#333}.codepanel .tab{padding:7px 12px;border-right:1px solid var(--line);opacity:.55;cursor:pointer;user-select:none;white-space:nowrap;flex-shrink:0}.codepanel .tab.active{opacity:1;background:#0a0a0a}.codepanel .head{padding:8px 12px;font-size:8px;letter-spacing:.18em;opacity:.55;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.codepanel pre{margin:0;padding:10px 14px 12px;font-family:var(--mono);color:#e8e8e8;font-size:10.5px;line-height:1.55;overflow-x:auto;max-height:60vh}.codepanel pre .ln{display:inline-block;width:28px;opacity:.3;user-select:none}.codepanel .footer{border-top:1px solid var(--line);padding:6px 12px;font-size:7.5px;letter-spacing:.18em;opacity:.6;display:flex;justify-content:space-between}.codepanel .token.keyword,.codepanel .token.builtin{color:#9ec5ff}.codepanel .token.class-name,.codepanel .token.constant{color:#c8b3ff}.codepanel .token.function{color:#ffd089}.codepanel .token.string{color:#a8d8a8}.codepanel .token.number{color:#ffb3a8}.codepanel .token.comment{color:#666;font-style:italic}.codepanel .token.operator,.codepanel .token.punctuation{color:#cfcfcf}.slidepanel{position:absolute;top:0;right:0;width:380px;max-width:90vw;height:100%;background:#000000f5;border-left:1px solid var(--line);padding:80px 28px 28px;transform:translate(100%);transition:transform .32s ease;pointer-events:auto;font-size:12px;line-height:1.6;overflow-y:auto}.slidepanel.open{transform:translate(0)}.slidepanel h3{font-size:11px;letter-spacing:.2em;opacity:.55;font-weight:400;margin:0 0 12px}.slidepanel a{color:var(--fg)}.slidepanel .close{position:absolute;top:18px;right:22px;font-size:18px;cursor:pointer;opacity:.6}.search-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:480px;background:#000;border:1px solid var(--fg);padding:12px;pointer-events:auto;display:none}.search-overlay.open{display:block}.search-overlay input{width:100%;background:transparent;border:0;outline:0;color:var(--fg);font-family:var(--mono);font-size:12px}.search-overlay .results{margin-top:10px;max-height:50vh;overflow-y:auto}.search-overlay .result{padding:6px 8px;cursor:pointer;font-size:10px;opacity:.8;letter-spacing:.05em}.search-overlay .result.active{background:#1a1a1a;opacity:1}.fallback{position:fixed;inset:0;padding:80px 60px;background:#000;color:#fff;font-family:var(--mono);overflow-y:auto}.fallback table{width:100%;border-collapse:collapse;font-size:12px}.fallback th,.fallback td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--line)}.pin-tooltip{position:fixed;pointer-events:none;background:#000000eb;border:1px solid #9ee9ff;color:#9ee9ff;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;padding:5px 9px;white-space:nowrap;opacity:0;transition:opacity .12s ease;z-index:50}.pin-tooltip.visible{opacity:1}@media (max-width: 720px){.tl .instrument{display:none}.tl .name{font-size:11px}.tl .handle{font-size:9px}.tr .stats,.tr .sort{display:none}.tr nav{font-size:9px;letter-spacing:.18em}.bl{font-size:8.5px;max-width:60vw;line-height:1.5}.br{font-size:8px}.codepanel{width:calc(100vw - 32px);max-height:80vh}.codepanel pre{font-size:9.5px;max-height:50vh}.slidepanel{width:100%;max-width:100%;padding:70px 22px 22px}.search-overlay{width:calc(100vw - 32px)}}@media (max-width: 480px){.tl{top:12px;left:14px}.tr{top:12px;right:14px}.bl{display:none}.br{bottom:12px;right:14px}}
