:root{--font-display:"Chakra Petch", sans-serif;--font-mono:"IBM Plex Mono", monospace;--amber:#ffb000;--amber-dim:#b87900;--up:#1ea862;--down:#e23b3b}[data-theme=dark]{--bg:#0b0e11;--bg-raised:#11151a;--bg-inset:#07090c;--line:#1e242c;--line-bright:#2c3540;--text:#c7d0d9;--text-dim:#6b7682;--btn-primary-fg:#14100a;--btn-primary-hover:#ffc63d;--scanline-alpha:.012;--shadow-strong:#0009}[data-theme=light]{--bg:#f4f1ea;--bg-raised:#fff;--bg-inset:#ebe7dd;--line:#d9d3c6;--line-bright:#c4bca9;--text:#211e1a;--text-dim:#756c5c;--amber:#c47a00;--amber-dim:#d99500;--btn-primary-fg:#1a1308;--btn-primary-hover:#ffb820;--scanline-alpha:.02;--shadow-strong:#0000002e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5}body:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg, rgba(255, 255, 255, var(--scanline-alpha)) 0px, rgba(255, 255, 255, var(--scanline-alpha)) 1px, transparent 1px, transparent 3px);z-index:9999;position:fixed;inset:0}button{font-family:inherit}.connect-screen{place-items:center;height:100%;display:grid;position:relative;overflow:hidden}.connect-grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.35;background-size:48px 48px;position:absolute;inset:-50%;transform:perspective(600px)rotateX(55deg)translateY(10%);-webkit-mask-image:radial-gradient(#000 0%,#0000 65%);mask-image:radial-gradient(#000 0%,#0000 65%)}.connect-card{background:var(--bg-raised);border:1px solid var(--line-bright);width:min(460px,92vw);box-shadow:0 0 0 1px var(--bg-inset), 0 24px 60px var(--shadow-strong);padding:40px 36px 32px;position:relative}.connect-card:before{content:"";background:linear-gradient(90deg, var(--amber), transparent 60%);height:2px;position:absolute;top:0;left:0;right:0}.connect-logo{font-family:var(--font-display);letter-spacing:.12em;color:var(--text);font-size:30px;font-weight:700}.connect-logo span,.sidebar-logo span{color:var(--amber)}.connect-tagline{color:var(--text-dim);letter-spacing:.08em;margin:6px 0 28px;font-size:11px}.connect-meta{border-top:1px solid var(--line);margin:0 0 24px}.connect-meta div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.connect-meta dt{color:var(--text-dim);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:10px}.connect-meta dd{word-break:break-all;text-align:right;margin:0;font-size:11px}.status-connected{color:var(--up)}.status-error{color:var(--down)}.status-connecting,.status-redirecting{color:var(--amber)}.btn-primary{background:var(--amber);width:100%;color:var(--btn-primary-fg);font-family:var(--font-display);letter-spacing:.22em;cursor:pointer;border:none;padding:13px;font-size:14px;font-weight:700;transition:background .12s,transform .12s}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover);transform:translateY(-1px)}.btn-primary:disabled{background:var(--amber-dim);cursor:wait}.connect-hint{color:var(--text-dim);margin:14px 0 0;font-size:10.5px}.connect-error{color:var(--down);margin:0 0 16px;font-size:11.5px}.connect-status{color:var(--amber);font-size:12px}.blink{animation:1.2s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.45}}.shell{height:100%;display:flex}.sidebar{background:var(--bg-inset);border-right:1px solid var(--line);flex-direction:column;flex:none;width:196px;transition:width .14s;display:flex}.sidebar.collapsed{width:58px}.sidebar-logo{font-family:var(--font-display);letter-spacing:.1em;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:18px 14px 14px 20px;font-size:22px;font-weight:700;display:flex}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:18px 0 14px}.sidebar.collapsed .sidebar-logo-mark{display:none}.sidebar-toggle{border:1px solid var(--line-bright);color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:4px 7px;font-size:13px;line-height:1;transition:color .1s,border-color .1s}.sidebar-toggle:hover{color:var(--amber);border-color:var(--amber-dim)}.sidebar nav{flex:1;padding:10px 0;overflow-y:auto}.nav-item{color:var(--text-dim);border-left:2px solid #0000;align-items:baseline;gap:10px;padding:9px 20px;text-decoration:none;transition:color .1s,background .1s;display:flex}.nav-item:hover{color:var(--text);background:#ffb0000a}.nav-item.active{color:var(--text);border-left-color:var(--amber);background:#ffb00012}.nav-code{letter-spacing:.1em;color:var(--amber-dim);flex:none;width:30px;font-size:10px}.nav-item.active .nav-code{color:var(--amber)}.nav-label{font-family:var(--font-display);letter-spacing:.04em;font-size:13px}.sidebar.collapsed .nav-item{justify-content:center;padding:9px 0}.sidebar.collapsed .nav-code{width:auto}.sidebar.collapsed .nav-label{display:none}.sidebar-foot{border-top:1px solid var(--line);color:var(--text-dim);flex-direction:column;gap:8px;padding:14px 20px;font-size:11px;display:flex}.sidebar.collapsed .sidebar-foot{align-items:center;padding:14px 6px}.sidebar.collapsed .foot-label,.foot-icon{display:none}.sidebar.collapsed .foot-icon{display:inline}.sidebar.collapsed .dot{margin-right:0}.dot{background:var(--up);width:7px;height:7px;box-shadow:0 0 6px var(--up);border-radius:50%;margin-right:4px;display:inline-block}.btn-ghost{border:1px solid var(--line-bright);color:var(--text-dim);letter-spacing:.08em;cursor:pointer;background:0 0;padding:6px 10px;font-size:10.5px;transition:color .1s,border-color .1s}.btn-ghost:hover{color:var(--down);border-color:var(--down)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--bg-raised);color:var(--text-dim);letter-spacing:.06em;justify-content:space-between;align-items:center;padding:10px 24px;font-size:11px;display:flex}.topbar-clock{color:var(--amber)}.topbar-right{align-items:center;gap:16px;display:flex}.theme-toggle button{letter-spacing:.12em;padding:4px 9px;font-size:10px}.content{flex:1;padding:24px;overflow-y:auto}.stat-row{background:var(--line);border:1px solid var(--line);flex-wrap:wrap;gap:1px;margin-bottom:24px;display:flex}.stat{background:var(--bg-raised);flex:140px;padding:14px 18px}.stat-label{text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);margin-bottom:4px;font-size:10px}.stat-value{font-family:var(--font-display);font-size:22px;font-weight:600}.stat-sub{color:var(--text-dim);margin-top:4px;font-size:11px}.stat-alloc{flex:200px}.alloc-breakdown{font-family:var(--font-mono);flex-direction:column;gap:2px;display:flex}.alloc-row{grid-template-columns:1fr auto auto;align-items:baseline;column-gap:10px;display:grid}.alloc-label{text-transform:uppercase;letter-spacing:.08em}.alloc-amount{color:var(--text);text-align:right}.alloc-pct{color:var(--text-dim);text-align:right;min-width:40px}.up{color:var(--up)}.down{color:var(--down)}.panel{border:1px solid var(--line);background:var(--bg-raised)}.panel-title{font-family:var(--font-display);letter-spacing:.2em;color:var(--amber);border-bottom:1px solid var(--line);margin:0;padding:12px 18px;font-size:12px;font-weight:600}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);border-bottom:1px solid var(--line);padding:10px 18px;font-size:10px;font-weight:500}.data-table td{border-bottom:1px solid var(--line);padding:8px 18px;font-size:12.5px}.data-table tbody tr:hover{background:#ffb0000a}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .sym{color:var(--text);letter-spacing:.04em;font-weight:600}.sym-note{color:var(--text-dim);font-size:10px;font-weight:400}.data-table .empty{text-align:center;color:var(--text-dim);padding:24px}.seg{border:1px solid var(--line-bright);display:inline-flex}.seg button{border:none;border-right:1px solid var(--line);color:var(--text-dim);font-family:var(--font-display);letter-spacing:.14em;cursor:pointer;background:0 0;padding:6px 12px;font-size:11px;font-weight:600;transition:color .1s,background .1s}.seg button:last-child{border-right:none}.seg button:hover{color:var(--text)}.seg button.active{color:var(--amber);background:#ffb0001f}.breach-banner{flex-wrap:wrap;flex:none;gap:8px;display:flex}.breach-chip{letter-spacing:.05em;border:1px solid var(--amber-dim);color:var(--amber);background:#ffb0000f;padding:4px 10px;font-size:10.5px}.breach-chip.breach-high{border-color:var(--down);color:var(--down);background:#ff4d4d12}.loading{color:var(--amber);text-align:center;letter-spacing:.1em;padding:48px}.pln-empty{font-family:var(--font-mono);color:var(--text-dim);text-align:center;padding:24px 4px;font-size:12px}.nw-page{flex-direction:column;gap:24px;display:flex}.nw-page>.stat-row{margin-bottom:0}.nw-alloc-note{letter-spacing:.06em;color:var(--text-dim);font-size:9.5px;display:block}.nw-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.nw-panel-head .panel-title{margin-bottom:0}.nw-split{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;display:grid}.nw-table-wrap{overflow-x:auto}.nw-group-row td{background:var(--bg-inset);border-top:1px solid var(--line-bright);color:var(--amber);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px}.data-table tbody tr.nw-group-row:hover{background:var(--bg-inset)}.nw-chart{padding-top:8px}.nw-chart-svg{width:100%;height:260px;display:block}.nw-chart-line{fill:none;stroke:var(--amber);stroke-width:2px;vector-effect:non-scaling-stroke}.nw-chart-area{fill:var(--amber);opacity:.08;stroke:none}.nw-chart-foot{font-family:var(--font-mono);color:var(--text-dim);justify-content:space-between;align-items:center;gap:12px;padding-top:6px;font-size:11px;display:flex}.nw-stale{color:var(--amber)}.nw-asof{color:var(--text-dim);font-size:10px;display:block}.nw-asof.nw-stale{color:var(--amber)}.nw-breakdown{background:var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:1px;display:flex}.nw-breakdown-cell{background:var(--bg-raised);font-variant-numeric:tabular-nums;flex-direction:column;flex:120px;gap:2px;padding:10px 18px;display:flex}.nw-page .breach-banner{margin-top:-8px}
