.acc-scene{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:24px 24px 0}.acc-scene h1{margin:0 0 6px;font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--t1)}.acc-scene .lead{color:var(--t2);margin-bottom:14px;font-size:13px;max-width:920px}.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:10px}.filter-row .input{height:28px;padding:0 10px;background:var(--s2);border:1px solid var(--b-default);border-radius:var(--r-md);color:var(--t1);font-size:12px;outline:none;min-width:200px}.filter-row .input:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.filter-row .btn-primary,.filter-row button{height:28px;padding:0 12px;font-size:12px;border-radius:var(--r-md)}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--s2);border:1px solid var(--b-default);border-radius:var(--r-md);padding:0 10px;height:28px;font-size:12px;color:var(--t2);cursor:pointer;font-family:inherit}.chip b{color:var(--t1);font-weight:500}.chip:hover{color:var(--t1)}.chip.on{border-color:var(--acc);background:var(--acc-soft);color:var(--acc-hi)}.chip.on b{color:var(--acc-hi)}.chip .x{color:var(--t3);font-size:14px;line-height:1}.chip .x:hover{color:var(--bad)}.chip .caret{color:var(--t3);margin-left:2px}.dd{position:relative;display:inline-block}.dd-panel{position:absolute;top:calc(100% + 4px);left:0;min-width:260px;background:var(--s2);border:1px solid var(--b-default);border-radius:var(--r-md);box-shadow:0 16px 48px #00000080;padding:6px;z-index:30}.dd-search{width:100%;height:26px;padding:0 8px;background:var(--s1);border:1px solid var(--b-default);border-radius:4px;color:var(--t1);font-size:12px;outline:none;margin-bottom:6px;font-family:inherit}.dd-search:focus{border-color:var(--acc)}.dd-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:12px;color:var(--t1);cursor:pointer}.dd-item:hover{background:var(--s3)}.dd-item .ck{width:14px;height:14px;border:1px solid var(--b-strong);border-radius:3px;display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 14px;font-size:10px}.dd-item.on .ck{background:var(--acc);border-color:var(--acc)}.dd-item .meta{margin-left:auto;font-size:10px;color:var(--t3);font-family:var(--mono)}.dd-sep{height:1px;background:var(--b-subtle);margin:6px 0}.dd-foot{padding:4px 6px;font-size:11px;color:var(--t3);display:flex;gap:8px}.dd-foot a{cursor:pointer;color:var(--t2)}.dd-foot a:hover{color:var(--acc)}.sel-bar{display:flex;align-items:center;gap:10px;background:var(--acc-soft);border:1px solid var(--acc);border-radius:var(--r-md);padding:8px 12px;margin-bottom:10px;flex-wrap:wrap}.sel-bar .cnt{font-weight:600;color:var(--acc-hi);font-variant-numeric:tabular-nums}.sel-bar .meta{font-size:11px;color:var(--t2)}.sel-bar .meta a{color:var(--acc-hi);cursor:pointer;text-decoration:underline}.sel-bar .acts{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}.sel-bar .acts button{height:24px;padding:0 9px;font-size:11px;background:var(--s2);border:1px solid var(--b-default);border-radius:4px;color:var(--t1);cursor:pointer;font-family:inherit;font-weight:500}.sel-bar .acts button:hover{background:var(--s3)}.sel-bar .acts .btn-danger{background:transparent;border-color:#f1787859;color:var(--bad)}.sel-bar .acts .btn-danger:hover{background:var(--bad-soft);border-color:var(--bad);color:#f79090}.sel-bar .clear{color:var(--t2);background:transparent;border:1px dashed var(--b-default);height:24px;padding:0 9px;border-radius:4px;font-size:11px;cursor:pointer;font-family:inherit}.sel-bar .clear:hover{color:var(--bad);border-color:var(--bad)}.acc-body{display:flex;flex:1;min-height:0;overflow:hidden;border-top:1px solid var(--b-subtle);margin:0 -24px}.tbl-card{background:var(--s1);border:1px solid var(--b-subtle);border-radius:var(--r-lg);overflow:hidden;position:relative;margin:12px 24px}.thead,.trow{display:grid;grid-template-columns:32px 1.5fr 110px 1.6fr 80px 80px 1fr 70px 50px;gap:12px;align-items:center;padding:0 14px}.thead{height:34px;border-bottom:1px solid var(--b-default);font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;background:var(--s1);position:sticky;top:0;z-index:2}.thead .sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.thead .sortable:hover{color:var(--t1)}.thead .sortable.asc:after{content:"▴";margin-left:4px;color:var(--acc-hi)}.thead .sortable.desc:after{content:"▾";margin-left:4px;color:var(--acc-hi)}.trow{min-height:44px;padding-top:6px;padding-bottom:6px;border-bottom:1px solid var(--b-subtle);font-size:12px;position:relative;cursor:default}.trow:hover{background:var(--s2)}.trow.selected{background:var(--acc-soft)}.trow.selected:hover{background:#e262782e}.trow .uname{font-weight:500;display:flex;align-items:center;gap:8px;min-width:0}.trow .uname .av{width:22px;height:22px;border-radius:50%;background:var(--s3);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--t2);flex:0 0 22px;overflow:hidden}.trow .uname .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.trow .uname .grp{font-size:10px;color:var(--t3);font-family:var(--mono)}.trow .proxy{font-family:var(--mono);font-size:10.5px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trow .col-when{font-size:11.5px;color:var(--t1);line-height:1.3;font-variant-numeric:tabular-nums}.trow .col-when .dt{font-family:var(--mono);font-size:11px}.trow .col-when .ago{display:block;color:var(--t3);font-size:10px}.trow .col-views{font-family:var(--mono);color:var(--t2);font-size:11px;text-align:right}.trow .col-log{font-size:10.5px;color:var(--t2);min-width:0;display:inline-flex;align-items:center;gap:4px}.trow .col-log .glyph{display:inline-block;width:12px;flex:0 0 12px;text-align:center}.trow .col-log .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.trow .col-log.err .glyph{color:var(--bad)}.trow .col-log.warn .glyph{color:var(--warn)}.trow .col-log.ok .glyph{color:var(--ok)}.trow .col-log.info .glyph{color:var(--info)}.trow .geo{color:var(--t2);font-size:11px;text-align:right}.trow .pin-ind{color:var(--acc);font-size:13px}.trow .row-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;gap:2px;opacity:0;transition:opacity .15s;background:linear-gradient(90deg,transparent,var(--s2) 30%);padding-left:24px}.trow:hover .row-actions{opacity:1}.trow .row-actions .ico-btn{width:22px;height:22px;font-size:11px;padding:0}.acc-scene .ico-btn{width:24px;height:24px;border-radius:4px;border:1px solid var(--b-default);background:var(--s2);color:var(--t2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:inherit;font-size:12px}.acc-scene .ico-btn:hover{color:var(--t1);background:var(--s3)}.acc-scene .tt-link{border:0;background:transparent;color:var(--t3)}.acc-scene .tt-link:hover{color:var(--acc-hi);background:transparent}.ov-scene{padding:24px;max-width:1400px}.ov-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.seg{display:inline-flex;background:var(--s2);border:1px solid var(--b-subtle);border-radius:var(--r-md);padding:2px}.seg button{height:24px;padding:0 12px;background:transparent;border:0;color:var(--t2);font-size:12px;border-radius:4px;cursor:pointer;font-family:inherit}.seg button.on{background:var(--s3);color:var(--t1);box-shadow:0 1px #0006}.seg button:hover:not(.on){color:var(--t1)}.ov-refresh{display:inline-flex;align-items:center;gap:6px;color:var(--t2);font-size:11px}.ov-refresh .ago{font-family:var(--mono)}.ico-btn{width:24px;height:24px;border-radius:4px;border:1px solid var(--b-default);background:var(--s2);color:var(--t2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:inherit;font-size:13px}.ico-btn:hover{color:var(--t1);background:var(--s3)}@keyframes ov-spin{to{transform:rotate(360deg)}}.ico-btn.spin{animation:ov-spin 1s linear infinite}.ov-scene .small{font-size:11px}.ov-scene .mono{font-family:var(--mono)}.ov-scene .muted{color:var(--t3)}.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}@media (max-width: 1100px){.kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.kpi-row{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--s1);border:1px solid var(--b-subtle);border-radius:var(--r-lg);padding:14px 16px;position:relative}.kpi .ttl{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px}.kpi .val{font-size:26px;font-weight:600;margin-top:6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--t1)}.kpi .sub{font-size:11px;margin-top:4px;color:var(--t2);display:flex;align-items:center;gap:6px}.ov-warn{color:var(--warn);cursor:help}.delta-up{color:var(--ok)}.delta-down{color:var(--bad)}.btn-xs{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;font-size:11px;border-radius:4px;background:var(--s2);border:1px solid var(--b-default);color:var(--t2);cursor:pointer;font-family:inherit}.btn-xs:hover{color:var(--t1);background:var(--s3)}.ov-grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}@media (max-width: 900px){.ov-grid-2{grid-template-columns:1fr}}.card{background:var(--s1);border:1px solid var(--b-subtle);border-radius:var(--r-lg)}.card.p{padding:16px}.card h3{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--t1)}.ov-chart-note{margin-top:8px;color:var(--t3);font-size:11px}.ov-errlist{display:flex;flex-direction:column;gap:8px;font-size:12px}.ov-errline{display:flex;justify-content:space-between;align-items:center}.ov-empty{text-align:center;color:var(--t3);padding:18px 0;font-size:12px}.badge{display:inline-flex;align-items:center;gap:5px;height:18px;padding:0 7px;border-radius:999px;font-size:10px;font-weight:500;border:1px solid transparent;white-space:nowrap}.badge .dot{width:5px;height:5px;border-radius:50%}.b-live{background:#10b9811f;color:#34d399;border-color:#10b98159}.b-live .dot{background:#10b981;box-shadow:0 0 5px #10b981}.b-logged{background:#10b9811a;color:#86efac;border-color:#10b98147}.b-logged .dot{background:#10b981}.b-new{background:#6b728024;color:#a8a8b3;border-color:#6b728059}.b-new .dot{background:#9ca3af}.b-failed{background:#ef44441f;color:#f87171;border-color:#ef444459}.b-failed .dot{background:#ef4444}.b-verify{background:#f59e0b1f;color:#fbbf24;border-color:#f59e0b59}.b-verify .dot{background:#f59e0b}.b-running{background:#3b82f61f;color:#60a5fa;border-color:#3b82f659}.b-running .dot{background:#3b82f6}.b-dead{background:#ef44441a;color:#fca5a5;border-color:#ef44444d}.b-dead .dot{background:#ef4444}.b-shadow{background:#d946ef1f;color:#e879f9;border-color:#d946ef59}.b-shadow .dot{background:#d946ef}.app{display:grid;grid-template-columns:var(--rail-w) 1fr;grid-template-rows:var(--top-h) 1fr var(--dock-h);grid-template-areas:"rail top" "rail main" "rail dock";height:100vh;transition:grid-template-columns .18s,grid-template-rows .18s}.app.rail-collapsed{grid-template-columns:var(--rail-w-collapsed) 1fr}.app.dock-expanded{grid-template-rows:var(--top-h) 1fr var(--dock-h-expanded)}.rail{grid-area:rail;background:var(--s1);border-right:1px solid var(--b-subtle);display:flex;flex-direction:column;overflow:hidden}.rail-head{height:var(--top-h);display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--b-subtle)}.rail-head img{width:28px;height:28px;border-radius:6px;object-fit:contain;background:var(--s2);padding:2px;flex:0 0 28px}.rail-head .wm{font-weight:700;font-size:14px;letter-spacing:.04em;white-space:nowrap;overflow:hidden}.rail-head .wm em{color:var(--acc);font-style:normal}.rail-head .wm i{color:var(--acc-2);font-style:normal}.rail-nav{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:1px}.rail-nav .sep{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;padding:14px 10px 6px;white-space:nowrap;overflow:hidden}.rail-item{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:6px;color:var(--t2);font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;border:0;background:transparent;width:100%;text-align:left;font-family:inherit;transition:background .12s,color .12s}.rail-item:hover{background:var(--s2);color:var(--t1)}.rail-item.active{background:var(--acc-soft);color:var(--acc-hi)}.rail-item .ic{width:18px;flex:0 0 18px;text-align:center;font-size:15px;opacity:.95}.rail-item .badge-mini{margin-left:auto;background:var(--s3);color:var(--t2);font-size:10px;padding:1px 6px;border-radius:999px;font-family:var(--mono)}.rail-item.active .badge-mini{background:var(--acc);color:#fff}.rail-foot{border-top:1px solid var(--b-subtle);padding:10px;display:flex;align-items:center;gap:10px;min-height:50px}.rail-foot .avatar{width:28px;height:28px;border-radius:50%;background:var(--s3);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex:0 0 28px}.rail-foot .who{overflow:hidden}.rail-foot .who .nm{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-foot .who .rl{font-size:10px;color:var(--t3)}.rail-foot .collapse-btn{margin-left:auto;width:24px;height:24px;border-radius:4px;background:var(--s2);border:1px solid var(--b-default);color:var(--t2);cursor:pointer;flex:0 0 24px;padding:0;font-family:inherit}.rail-foot .collapse-btn:hover{color:var(--t1)}.app.rail-collapsed .rail-head .wm,.app.rail-collapsed .rail-item .lbl,.app.rail-collapsed .rail-nav .sep,.app.rail-collapsed .rail-foot .who,.app.rail-collapsed .rail-item .badge-mini{display:none}.app.rail-collapsed .rail-foot{justify-content:center;padding:10px 6px}.app.rail-collapsed .rail-foot .avatar{margin:0}.app.rail-collapsed .rail-foot .collapse-btn{margin-left:0}.app.rail-collapsed .rail-head{padding:0 12px;justify-content:center}.app.rail-collapsed .rail-item{justify-content:center;padding:7px 0}.top{grid-area:top;background:var(--s1);border-bottom:1px solid var(--b-subtle);display:flex;align-items:center;padding:0 16px;gap:14px}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--t2)}.crumbs .here{color:var(--t1);font-weight:500}.crumbs .sep{color:var(--t3)}.cmdk{flex:1;max-width:420px;height:30px;display:flex;align-items:center;gap:8px;background:var(--s2);border:1px solid var(--b-subtle);border-radius:var(--r-md);padding:0 10px;color:var(--t3);cursor:pointer;font-size:12px}.cmdk:hover{border-color:var(--b-default);color:var(--t2)}.cmdk .kbd{margin-left:auto;font-family:var(--mono);font-size:10px;background:var(--s3);padding:1px 5px;border-radius:3px;border:1px solid var(--b-default)}.ml-auto{margin-left:auto}.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;background:var(--s2);border:1px solid var(--b-subtle);border-radius:999px;font-size:11px;color:var(--t2);cursor:default}.pill .dot{width:6px;height:6px;border-radius:50%}.pill .dot.ok{background:var(--ok);box-shadow:0 0 5px var(--ok)}.pill .dot.warn{background:var(--warn)}.pill .dot.bad{background:var(--bad)}.pill .num{font-family:var(--mono);color:var(--t1)}.pill .muted{color:var(--t3)}.disk-bar{position:relative;width:60px;height:6px;background:var(--s3);border-radius:99px;overflow:hidden}.disk-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--ok),var(--warn));transition:width .3s,background .3s}.bell{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--s2);border:1px solid var(--b-subtle);border-radius:50%;cursor:pointer;color:var(--t2)}.bell:hover{color:var(--t1)}.main{grid-area:main;overflow:auto;position:relative;background:var(--s0);padding:0}.main>.scene{padding:24px;max-width:1400px}.main>.scene.full-bleed{padding:0;max-width:none}.scene h1{margin:0 0 6px;font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--t1)}.scene .lead{color:var(--t2);margin-bottom:20px;font-size:13px;max-width:720px}.dock{grid-area:dock;background:var(--s1);border-top:1px solid var(--b-default);overflow:hidden;position:relative}.dock-bar{height:var(--dock-h);display:flex;align-items:center;gap:14px;padding:0 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.dock-bar:hover{background:var(--s2)}.dock-bar .live{width:8px;height:8px;border-radius:50%;background:var(--info);box-shadow:0 0 6px var(--info);animation:shell-pulse 1.6s infinite}.dock-bar .live.idle{background:var(--idle);box-shadow:none;animation:none}.dock-bar .summary{font-size:12px;color:var(--t2)}.dock-bar .summary b{color:var(--t1);font-weight:600}.dock-bar .chev{margin-left:auto;color:var(--t3);transition:transform .2s;font-size:14px}.app.dock-expanded .dock-bar .chev{transform:rotate(180deg)}.dock-list{padding:0 16px 14px;display:flex;flex-direction:column;gap:8px;max-height:calc(var(--dock-h-expanded) - var(--dock-h) - 10px);overflow:auto}.dock-job{display:grid;grid-template-columns:16px 1fr 80px 200px auto auto;gap:12px;align-items:center;padding:8px 12px;background:var(--s2);border:1px solid var(--b-subtle);border-radius:var(--r-md);font-size:12px}.dock-job .nm{font-weight:500;color:var(--t1)}.dock-job .nm .typ{color:var(--t3);font-size:11px;margin-right:6px;font-family:var(--mono)}.dock-job .pct{font-family:var(--mono);color:var(--t2);text-align:right}.dock-job .progress{height:6px;background:var(--s3);border-radius:999px;overflow:hidden}.dock-job .progress>i{display:block;height:100%;background:var(--acc);border-radius:999px;transition:width .3s}.dock-empty{padding:18px 16px;text-align:center;font-size:12px;color:var(--t3)}@keyframes shell-pulse{0%,to{opacity:1}50%{opacity:.45}}.btn-shell{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-md);font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--b-default);background:var(--s2);color:var(--t1);font-family:inherit}.btn-shell:hover{background:var(--s3)}.btn-shell.ghost{background:transparent;border-color:transparent;color:var(--t2)}.btn-shell.ghost:hover{background:var(--s2);color:var(--t1)}:root{--s0: #0A0A0B;--s1: #131316;--s2: #1C1C21;--s3: #25252C;--b-subtle: #2A2A31;--b-default: #3A3A44;--b-strong: #555562;--t1: #F5F5F7;--t2: #A8A8B3;--t3: #6E6E78;--t-dis: #4A4A52;--acc: oklch(.66 .16 12);--acc-hi: oklch(.72 .16 12);--acc-soft: oklch(.66 .16 12 / .14);--acc-2: oklch(.78 .13 195);--ok: #10B981;--warn: #F59E0B;--bad: #EF4444;--info: #3B82F6;--idle: #6B7280;--shadow: #D946EF;--ok-soft: rgba(16, 185, 129, .13);--warn-soft: rgba(245, 158, 11, .13);--bad-soft: rgba(239, 68, 68, .13);--info-soft: rgba(59, 130, 246, .13);--shadow-soft: rgba(217, 70, 239, .13);--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--base: 13px;--ui: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--rail-w: 220px;--rail-w-collapsed: 52px;--top-h: 48px;--dock-h: 40px;--dock-h-expanded: 220px;--bg-0: var(--s0);--bg-1: var(--s1);--bg-2: var(--s2);--bg-3: var(--s3);--text-1: var(--t1);--text-2: var(--t2);--text-3: var(--t3);--line-1: var(--b-subtle);--line-2: var(--b-default);--accent: var(--acc);--accent-soft: var(--acc-soft);--err: var(--bad);--err-soft: var(--bad-soft)}--text-*/--line-*/--accent names * are aliased there onto the new --s*/--t*/--b-*/--acc palette,so * everything below keeps working unchanged while the new shell uses * the modern names directly. */ *{box-sizing:border-box}body{margin:0;font-family:var(--ui);background:var(--s0);color:var(--t1);-webkit-font-smoothing:antialiased;letter-spacing:-.005em;font-size:var(--base);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:#ff5a79}button{background:var(--bg-2);color:var(--text-1);border:1px solid var(--line-2);padding:7px 13px;border-radius:5px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:-.005em;transition:background .12s,border-color .12s,color .12s}button:hover{background:var(--bg-3);border-color:#ffffff29}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:#ff4d73;border-color:#ff4d73}.btn-primary:disabled{background:var(--accent);border-color:var(--accent);opacity:.45}.btn-danger{background:transparent;border-color:#f1787859;color:var(--err)}.btn-danger:hover{background:var(--err-soft);border-color:var(--err);color:#f79090}input,select,textarea{background:var(--bg-2);color:var(--text-1);border:1px solid var(--line-2);padding:7px 10px;border-radius:5px;font-family:inherit;font-size:13px;transition:border-color .12s,background .12s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-1)}input::placeholder,textarea::placeholder{color:var(--text-3)}textarea{min-height:90px;width:100%;resize:vertical}table{width:100%;border-collapse:collapse}table.resizable{table-layout:fixed}table.resizable th{position:sticky;top:0;resize:horizontal;overflow:hidden;min-width:40px}table.resizable td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:1px}table.resizable td input{width:100%;box-sizing:border-box;background:transparent;border:1px solid transparent;padding:4px 6px;font-size:12px}table.resizable td input:hover{border-color:var(--line-2)}table.resizable td input:focus{border-color:var(--accent);background:var(--bg-2)}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line-1);font-size:13px;color:var(--text-1)}th{color:var(--text-3);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.8px;background:var(--bg-0);border-bottom:1px solid var(--line-2);position:sticky;top:0;z-index:1}tbody tr{transition:background .08s}tbody tr:nth-child(2n) td{background:#ffffff04}tbody tr:hover td{background:var(--bg-3)}.card{background:var(--bg-1);border:1px solid var(--line-1);border-radius:8px;padding:18px 20px;margin-bottom:16px}.card>h2{font-size:14px;color:var(--text-1);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line-1);font-weight:600;letter-spacing:-.01em}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row>*{min-width:0}.row>label{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--text-2);font-weight:400}.row>label input[type=checkbox]{margin:0;accent-color:var(--accent)}.log{background:#080a0e;color:var(--text-2);font-family:var(--mono);font-size:12px;padding:14px;border-radius:6px;border:1px solid var(--line-1);height:320px;overflow:auto;white-space:pre-wrap;line-height:1.6}.tag{display:inline-block;padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600;background:#ffffff0f;color:var(--text-2);text-transform:uppercase;letter-spacing:.5px}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.err{background:var(--err-soft);color:var(--err)}.tag.run{background:var(--warn-soft);color:var(--warn)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.85)}}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulse-dot 1.1s ease-in-out infinite;margin-right:6px;vertical-align:middle}@keyframes progress-bar{0%{background-position:0 0}to{background-position:40px 0}}.progress-bar{height:3px;border-radius:2px;background:repeating-linear-gradient(-45deg,var(--accent) 0 10px,rgba(254,44,85,.3) 10px 20px);background-size:40px 100%;animation:progress-bar .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}.hint{font-size:12px;color:var(--text-2);margin:6px 0 0;line-height:1.55;font-weight:400}.hint code{background:var(--bg-2);padding:1px 6px;border-radius:3px;font-family:var(--mono);font-size:11px;color:var(--accent)}.empty{text-align:center;color:var(--text-3);padding:32px;font-size:13px}h2{margin-top:0;letter-spacing:-.015em;font-weight:600}.page-header{display:flex;align-items:baseline;gap:14px;margin:0 0 22px}.page-header h2{margin:0;font-size:22px;color:var(--text-1)}.page-header .hint{margin:0}.grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width: 900px){.grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070aa6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-1);border:1px solid var(--line-2);border-radius:10px;padding:20px 22px;width:min(640px,92vw);max-height:86vh;overflow:auto;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-1)}.modal-header h2{margin:0;font-size:15px}.modal-close{background:transparent;border:none;color:var(--text-2);font-size:20px;padding:0 6px;cursor:pointer}.modal-close:hover{color:var(--text-1);background:transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.tab-btn{background:transparent;border:1px solid transparent;color:var(--text-2);font-weight:500;padding:6px 14px;font-size:13px}.tab-btn:hover{background:var(--bg-2);color:var(--text-1);border-color:transparent}.tab-btn.active{background:var(--bg-2);color:var(--text-1);border-color:var(--line-2);font-weight:600}.resize-handle{width:4px;flex-shrink:0;cursor:col-resize;background:transparent;position:relative;transition:background .12s}.resize-handle:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line-1);transform:translate(-50%)}.resize-handle:hover{background:var(--accent-soft)}.resize-handle:hover:before{background:var(--accent)}.resize-handle.horizontal{width:auto;height:4px;cursor:row-resize}.resize-handle.horizontal:before{left:0;right:0;top:50%;bottom:auto;width:auto;height:1px;transform:translateY(-50%)}@keyframes neon-flicker{0%,19%,21%,23%,25%,54%,56%,to{opacity:1;filter:drop-shadow(0 0 6px var(--accent)) drop-shadow(0 0 14px var(--accent)) drop-shadow(0 0 26px rgba(254,44,85,.45))}20%,24%,55%{opacity:.35;filter:drop-shadow(0 0 2px rgba(254,44,85,.4)) drop-shadow(0 0 5px rgba(254,44,85,.3))}22%{opacity:.85;filter:drop-shadow(0 0 4px var(--accent)) drop-shadow(0 0 10px var(--accent))}}@keyframes neon-pulse{0%,to{filter:drop-shadow(0 0 6px var(--accent)) drop-shadow(0 0 14px var(--accent)) drop-shadow(0 0 26px rgba(254,44,85,.45))}50%{filter:drop-shadow(0 0 10px var(--accent)) drop-shadow(0 0 22px var(--accent)) drop-shadow(0 0 40px rgba(254,44,85,.55))}}.neon-logo{height:clamp(160px,22vh,260px);width:auto;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;animation:neon-pulse 2.8s ease-in-out infinite,neon-flicker 6.4s linear infinite}@media (prefers-reduced-motion: reduce){.neon-logo{animation:none;filter:drop-shadow(0 0 6px var(--accent)) drop-shadow(0 0 14px var(--accent))}}.helptip{display:inline-flex;align-items:center;position:relative;vertical-align:middle;margin-left:6px}.helptip-btn{width:14px;height:14px;min-width:14px;padding:0;line-height:1;font-size:10px;font-weight:700;border-radius:50%;background:var(--bg-2);color:var(--text-2);border:1px solid var(--line-2);cursor:help;display:inline-flex;align-items:center;justify-content:center}.helptip-btn:hover,.helptip-btn:focus-visible{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);outline:none}.helptip-bubble{position:absolute;left:50%;transform:translate(-50%);z-index:1100;padding:8px 10px;font-size:11px;font-weight:400;line-height:1.45;color:var(--text-1);background:var(--bg-0);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 8px 24px #00000080;text-align:left;pointer-events:none;white-space:normal}.helptip-top{bottom:calc(100% + 8px)}.helptip-bottom{top:calc(100% + 8px)}.helptip-bubble:after{content:"";position:absolute;left:calc(50% + var(--helptip-arrow-x, 0px));margin-left:-6px;border:6px solid transparent}.helptip-top:after{top:100%;border-top-color:var(--bg-0);filter:drop-shadow(0 1px 0 var(--line-2))}.helptip-bottom:after{bottom:100%;border-bottom-color:var(--bg-0);filter:drop-shadow(0 -1px 0 var(--line-2))}.onboarding-step{border:1px solid var(--line-2);background:var(--bg-1);border-radius:8px;padding:14px 16px;transition:border-color .15s,background .15s}.onboarding-step.active{border-color:var(--accent);background:var(--accent-soft)}.onboarding-step.done{border-color:var(--ok);opacity:.65}.onboarding-step h3{margin:0 0 4px;font-size:13px;border:none;padding:0;display:flex;align-items:center;gap:8px}.onboarding-step p{margin:0;font-size:12px;color:var(--text-2);line-height:1.45}.onboarding-step .step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--bg-2);color:var(--text-2);font-size:11px;font-weight:700}.onboarding-step.active .step-num{background:var(--accent);color:#fff}.onboarding-step.done .step-num{background:var(--ok);color:#0b160e}.balance-ok{color:var(--ok)}.balance-low{color:var(--err)}.balance-empty{color:var(--err);font-weight:700}
