:root{--paper: #FAFAF7;--paper-2: #F3F2EC;--paper-3: #EDEBE2;--ink: #0E0E10;--ink-2: #2A2A2C;--muted: #6B6B68;--muted-2: #94938F;--rule: #E4E3DC;--rule-2: #D4D2C8;--accent: #0A4F6E;--accent-2: #0E6A93;--accent-soft: #E6EEF3;--warn: #B45309;--warn-soft: #F7EDDC;--ok: #2F6B3A;--ok-soft: #E6EDE5;--bad: #8E2F2F;--bad-soft: #F1E3E1;--cat-1: #0A4F6E;--cat-2: #6B4BA3;--cat-3: #8E2F2F;--cat-4: #B45309;--cat-5: #2F6B3A;--cat-6: #4B5A6E;--shadow-1: 0 1px 0 rgba(14,14,16,.04);--shadow-2: 0 4px 14px rgba(14,14,16,.06), 0 1px 0 rgba(14,14,16,.04);--radius: 4px;--radius-lg: 6px;--f-sans: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--f-mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}html.dark{--paper: #0C0D0F;--paper-2: #141519;--paper-3: #1C1E23;--ink: #F2F1EC;--ink-2: #D6D5CF;--muted: #8C8B87;--muted-2: #6A6965;--rule: #26282D;--rule-2: #33363C;--accent: #4FB8E5;--accent-2: #7ACFF0;--accent-soft: #0F2933;--warn: #E6A24B;--warn-soft: #2E2414;--ok: #7BB386;--ok-soft: #132017;--bad: #D88080;--bad-soft: #241313;--cat-1: #4FB8E5;--cat-2: #A48BD9;--cat-3: #D88080;--cat-4: #E6A24B;--cat-5: #7BB386;--cat-6: #8FA2B8;--shadow-1: 0 1px 0 rgba(0,0,0,.4);--shadow-2: 0 4px 14px rgba(0,0,0,.4), 0 1px 0 rgba(0,0,0,.4)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--f-sans);color:var(--ink);background:var(--paper);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}body.paper-grid{background-image:linear-gradient(to right,rgba(14,14,16,.025) 1px,transparent 1px),linear-gradient(to bottom,rgba(14,14,16,.025) 1px,transparent 1px);background-size:24px 24px}html.dark body.paper-grid{background-image:linear-gradient(to right,rgba(242,241,236,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(242,241,236,.03) 1px,transparent 1px)}.mono{font-family:var(--f-mono);font-feature-settings:"ss02","zero"}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.01em}h1{font-size:28px;letter-spacing:-.02em}h2{font-size:20px;letter-spacing:-.015em}h3{font-size:15px}h4{font-size:13px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}p{margin:0}a{color:inherit;text-decoration:none}hr,.rule{border:0;border-top:1px solid var(--rule);margin:0}.rule-v{border-left:1px solid var(--rule);align-self:stretch}button{font-family:inherit;font-size:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;height:28px;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--radius);color:var(--ink);font-size:12.5px;font-weight:500;transition:background .12s,border-color .12s}.btn:hover{background:var(--paper-2);border-color:var(--muted-2)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--paper-2)}.btn.sm{height:24px;padding:2px 8px;font-size:11.5px}.btn.lg{height:34px;padding:8px 14px;font-size:13.5px}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-family:var(--f-mono);font-size:10.5px;background:var(--paper);border:1px solid var(--rule-2);border-bottom-width:2px;border-radius:3px;color:var(--muted);line-height:1}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;font-family:var(--f-mono);font-size:11px;background:var(--paper-2);border:1px solid var(--rule);border-radius:3px;color:var(--ink-2);height:20px;white-space:nowrap}.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.chip.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip.accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.chip.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.input{height:28px;padding:0 10px;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--radius);font-family:inherit;font-size:12.5px;color:var(--ink);outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.input.mono{font-family:var(--f-mono)}.panel{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg)}.panel-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--rule);font-size:11.5px;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);height:32px}.panel-body{padding:12px}table.data{width:100%;border-collapse:collapse;font-size:12.5px}table.data th,table.data td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--rule)}table.data th{font-weight:500;color:var(--muted);font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:var(--paper-2)}table.data tr:hover td{background:var(--paper-2)}table.data td.num,table.data th.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;text-align:right}::selection{background:var(--accent-soft);color:var(--accent)}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--rule-2);border-radius:10px;border:2px solid var(--paper)}.scroll::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}.app{display:grid;grid-template-columns:220px 1fr;grid-template-rows:44px 1fr;height:100vh;width:100vw;overflow:hidden}.topbar{grid-column:1 / -1;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--rule);background:var(--paper);gap:12px;z-index:5}.sidebar{border-right:1px solid var(--rule);background:var(--paper);overflow-y:auto;padding:10px 8px}.main{overflow-y:auto;background:var(--paper)}.nav-group{margin-bottom:16px}.nav-label{font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);padding:4px 10px 6px}.nav-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:var(--radius);font-size:12.5px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;height:26px}.nav-item:hover{background:var(--paper-2)}.nav-item.active{background:var(--ink);color:var(--paper)}.nav-item.active .nav-count{color:var(--paper);opacity:.6}.nav-item .nav-count{margin-left:auto;font-family:var(--f-mono);font-size:11px;color:var(--muted)}.logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:13px;letter-spacing:-.01em;font-weight:500}.logo-mark{width:18px;height:18px;display:grid;place-items:center;position:relative}.logo-mark svg{display:block}.icon-btn{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--ink-2);border-radius:var(--radius);cursor:pointer}.icon-btn:hover{background:var(--paper-2);border-color:var(--rule)}.icon-btn.active{background:var(--accent-soft);color:var(--accent);border-color:transparent}.divider-label{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.divider-label:after{content:"";flex:1;height:1px;background:var(--rule)}.stat{padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper)}.stat-label{font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.stat-val{font-size:22px;letter-spacing:-.02em;font-family:var(--f-sans);font-variant-numeric:tabular-nums}.stat-delta{font-size:11px;font-family:var(--f-mono);color:var(--muted);margin-top:4px}.crosshair{cursor:crosshair}.tt{position:absolute;background:var(--ink);color:var(--paper);padding:4px 8px;font-size:11px;font-family:var(--f-mono);border-radius:3px;pointer-events:none;white-space:nowrap;z-index:50}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
