:root{--max-width:1100px;--border-radius:12px;--font-mono:ui-monospace,Menlo,Monaco,"Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace;--foreground-rgb:0,0,0;--background-start-rgb:214,219,220;--background-end-rgb:255,255,255;--primary-glow:conic-gradient(from 180deg at 50% 50%,#16abff33 0deg,#0885ff33 55deg,#54d6ff33 120deg,#0071ff33 160deg,transparent 360deg);--secondary-glow:radial-gradient(#fff,hsla(0,0%,100%,0));--tile-start-rgb:239,245,249;--tile-end-rgb:228,232,233;--tile-border:conic-gradient(#00000080,#00000040,#00000030,#00000020,#00000010,#00000010,#00000080);--callout-rgb:238,240,241;--callout-border-rgb:172,175,176;--card-rgb:180,185,188;--card-border-rgb:131,134,135}@media (prefers-color-scheme:dark){:root{--foreground-rgb:255,255,255;--background-start-rgb:0,0,0;--background-end-rgb:0,0,0;--primary-glow:radial-gradient(rgba(1,65,255,.4),rgba(1,65,255,0));--secondary-glow:linear-gradient(to bottom right,rgba(1,65,255,0),rgba(1,65,255,0),rgba(1,65,255,.3));--tile-start-rgb:2,13,46;--tile-end-rgb:2,5,19;--tile-border:conic-gradient(#ffffff80,#ffffff40,#ffffff30,#ffffff20,#ffffff10,#ffffff10,#ffffff80);--callout-rgb:20,20,20;--callout-border-rgb:108,108,108;--card-rgb:100,100,100;--card-border-rgb:200,200,200}}*{padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb))}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{color-scheme:dark}}:root{--bg:#0e1116;--panel:#161b22;--panel2:#1c2430;--line:#2a3340;--ink:#e6edf3;--mut:#8b98a9;--acc:#4ea8ff;--good:#3fd07f;--bad:#ff6b6b;--global:#4ea8ff;--rank:#c792ea;--native:#6b7688;--stage1:#12161d;--stage2:#0e1116;--ghost:107,118,136;--glass:14,17,22}body.light{--bg:#f4f6fa;--panel:#fff;--panel2:#eef1f6;--line:#d6dce6;--ink:#1a2230;--mut:#5c6a7d;--acc:#1f7ae0;--good:#1a9e5c;--bad:#d84343;--global:#1f7ae0;--rank:#8a52d6;--native:#9aa6b6;--stage1:#fff;--stage2:#eef2f7;--ghost:120,132,150;--glass:255,255,255}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--bg);color:var(--ink);font:13px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app{display:grid;grid-template-columns:262px 1fr 312px;grid-template-rows:1fr;height:100vh}.rail{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;padding:14px}.rail.right{border-right:none;border-left:1px solid var(--line)}.stage-wrap{position:relative;background:radial-gradient(120% 120% at 50% 0,var(--stage1) 0,var(--stage2) 70%);overflow:hidden;display:flex;flex-direction:column}.tray{grid-column:1/-1;background:var(--panel);border-top:1px solid var(--line);display:flex;gap:14px;padding:10px 14px;min-height:104px}h1{font-size:14px;margin:0 0 2px;letter-spacing:.2px}h1 span{color:var(--acc)}.sub{color:var(--mut);font-size:11px;margin-bottom:14px}.grp{margin-bottom:16px}.grp>label{display:block;color:var(--mut);text-transform:uppercase;font-size:10px;letter-spacing:.8px;margin-bottom:6px}.seg{display:flex;gap:4px;flex-wrap:wrap}.seg button{flex:1 1;min-width:0;background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:7px 6px;cursor:pointer;color:var(--mut);white-space:nowrap}.seg button.on{background:var(--acc);border-color:var(--acc);color:#04121f;font-weight:600}.seg.small button{padding:5px 6px;font-size:11px}.dial{margin-top:2px}.dial .track{display:flex;justify-content:space-between;font-size:10px;color:var(--mut);margin-top:4px}input[type=range]{width:100%;accent-color:var(--acc)}#gSlide{accent-color:var(--global)}#rSlide{accent-color:var(--rank)}.dssel{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:8px 9px;color:var(--ink);cursor:pointer;font-size:13px}.dssel:focus{outline:none;border-color:var(--acc)}.slrow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}.slname{font-size:11px;font-weight:600}.slval{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.toggles{display:flex;flex-direction:column;gap:7px}.tog{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink)}.tog input{accent-color:var(--acc)}.hint{color:var(--mut);font-size:11px}.transport{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:rgba(var(--glass),.5)}.play{background:var(--acc);color:#04121f;border:none;border-radius:8px;width:38px;height:32px;font-size:15px;font-weight:700}.btn,.play{cursor:pointer}.btn{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 11px;color:var(--ink)}.btn:hover{border-color:var(--acc)}.timeline{flex:1 1;position:relative}.bands{position:absolute;inset:0 0 auto 0;height:6px;top:-3px;border-radius:3px;overflow:hidden;display:flex}.epochlab{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--mut);font-size:11px;min-width:132px;text-align:right}canvas#stage{flex:1 1;width:100%;display:block}.badge{left:16px;background:rgba(var(--glass),.72);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:11px;color:var(--mut);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.badge,.stagetools{position:absolute;top:56px}.stagetools{right:16px;display:flex;gap:6px;z-index:5}.tbtn{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:rgba(var(--glass),.82);color:var(--ink);cursor:pointer;font-size:15px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.tbtn.on,.tbtn:hover{border-color:var(--acc)}.tbtn.on{background:var(--acc);color:#04121f}.badge b{color:var(--ink)}.stagepill{display:inline-block;padding:1px 7px;border-radius:20px;font-size:10px;font-weight:700;margin-left:4px}.metric{margin-bottom:11px}.metric .top{display:flex;justify-content:space-between;align-items:baseline}.metric .name{font-size:12px}.metric .val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.metric .delta{font-size:10px;margin-left:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar{height:6px;background:var(--panel2);overflow:hidden;margin-top:4px;position:relative}.bar,.bar>i{border-radius:4px}.bar>i{position:absolute;left:0;top:0;bottom:0}.spark{width:100%;height:22px;display:block;margin-top:3px}.kicker{color:var(--mut);text-transform:uppercase;font-size:10px;letter-spacing:.8px;margin:2px 0 8px}.removebin{border:1.5px dashed var(--line);border-radius:9px;padding:9px;min-height:46px;transition:border-color .1s,background .1s}.removebin.hot{border-color:var(--bad);background:hsla(0,100%,71%,.08)}.rmchips{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.rmchip{display:inline-flex;align-items:center;gap:5px;font-size:11px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:2px 8px;cursor:pointer}.rmchip:hover{border-color:var(--acc)}.rmchip .dot{width:8px;height:8px;border-radius:50%}.dragghost{position:fixed;width:14px;height:14px;border-radius:50%;border:2px solid #fff;pointer-events:none;z-index:99;transform:translate(-50%,-50%);box-shadow:0 1px 6px rgba(0,0,0,.4)}#dropZone{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:none;z-index:6;padding:14px 26px;border-radius:12px;border:2px dashed var(--bad);color:var(--bad);font-weight:600;background:rgba(var(--glass),.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}#dropZone.show{display:block}#dropZone.hot{background:hsla(0,100%,71%,.2);border-style:solid}.stab{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:10px;margin-bottom:14px}.stab .big{font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stab .lab{color:var(--mut);font-size:11px}.traycol{border-right:1px solid var(--line);padding-right:14px}.traycol:last-child{border-right:none}.traycol h3{margin:0 0 7px;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.7px}.snaps{display:flex;gap:8px}.snap{width:78px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:4px;cursor:pointer}.snap.sel{border-color:var(--acc)}.snap canvas{width:100%;height:52px;display:block;border-radius:4px;background:var(--stage2)}.snap .cap{font-size:9px;color:var(--mut);text-align:center;margin-top:2px;white-space:nowrap;overflow:hidden}.task{font-size:12px;margin-bottom:6px}.task b{color:var(--acc)}textarea{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:7px;resize:vertical;min-height:38px}.row{display:flex;gap:7px;align-items:center;margin-top:6px}.inspect{position:absolute;bottom:14px;left:16px;right:16px;background:rgba(var(--glass),.86);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:11px;display:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.inspect.on{display:block}.legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.legend span{display:flex;align-items:center;gap:5px;color:var(--mut)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.close{float:right;color:var(--mut)}.close,a.dl{cursor:pointer}a.dl{color:var(--acc);text-decoration:underline}.login-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 50% 0,var(--stage1) 0,var(--bg) 70%);padding:20px}.login-card{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;box-shadow:0 18px 50px rgba(0,0,0,.35)}.login-title{font-size:18px;margin:0 0 4px;letter-spacing:.2px}.login-title span{color:var(--acc)}.login-sub{color:var(--mut);font-size:12px;margin:0 0 18px}.login-input{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:11px 12px;color:var(--ink);font-size:14px;outline:none;width:100%}.login-input:focus{border-color:var(--acc)}.login-err{color:var(--bad);font-size:12px;margin-top:10px}.login-btn{margin-top:16px;background:var(--acc);color:#04121f;border:none;border-radius:8px;padding:11px 12px;font-size:14px;font-weight:700;cursor:pointer}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-btn:not(:disabled):hover{filter:brightness(1.06)}