:root{--bg: #070707;--bg-2: #0b0b0b;--panel: #101010;--panel-2: #0d0d0d;--panel-3: #161616;--hairline: rgba(255,255,255,.07);--hairline-2: rgba(255,255,255,.11);--line: #1c1c1c;--text: #ededed;--text-2: rgba(237,237,237,.62);--text-3: rgba(237,237,237,.42);--accent: #3fbf3a;--accent-2: #5fd957;--accent-3: #2fa32b;--accent-soft: rgba(63,191,58,.16);--red: #d8362f;--grad: linear-gradient(135deg, #2fa32b 0%, #3fbf3a 55%, #5fd957 100%);--grad-soft: linear-gradient(135deg, rgba(63,191,58,.2), rgba(95,217,87,.08));--good: #3fbf3a;--bad: #d8362f;--down-text: #ff7a90;--up-soft: rgba(63,191,58,.12);--down-soft: rgba(216,54,47,.12);--caution: #e0a23a;--caution-soft: rgba(224,162,58,.14);--neutral: #6a6a6a;--grade-aplus: #5fd957;--grade-a: #3fbf3a;--grade-b: #e0a23a;--grade-c: #6a6a6a;--radius: 4px;--shadow: 0 18px 50px -16px rgba(0,0,0,.8), 0 0 0 1px var(--hairline);--glow-green: 0 0 12px var(--good);--font-display: "BlowBrush", "Knewave", "Protest Strike", system-ui, sans-serif;--font-marker: "Permanent Marker", system-ui, sans-serif;--font-sans: "Space Grotesk", "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold:600;--fw-bold: 700;--fs-hero: 64px;--fs-display: 40px;--fs-h1: 24px;--fs-h2: 17px;--fs-body: 15px;--fs-small: 13.5px;--fs-xs: 12px}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}:root{--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Space Grotesk", system-ui, -apple-system, sans-serif}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent)}.wrap{max-width:1500px;margin:0 auto;padding:16px 20px 60px}.topbar{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--hairline)}.brand{font-weight:700;font-size:18px;letter-spacing:.02em}.brand .dim{color:var(--text-3);font-weight:500}.sub{color:var(--text-2);font-size:12.5px}.spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:3px;border:1px solid var(--hairline-2);background:var(--panel);color:var(--text-2)}.pill.bull{color:var(--good);border-color:#3fbf3a66;background:var(--up-soft)}.pill.bear{color:var(--down-text);border-color:#d8362f66;background:var(--down-soft)}.stats{display:flex;gap:22px;flex-wrap:wrap;margin:14px 0 10px}.stat .n{font-family:var(--mono);font-size:21px;font-weight:600}.stat .l{color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.stat .n.good{color:var(--good)}.stat .n.bad{color:var(--down-text)}.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:6px 0 12px}.controls input[type=text],.controls select{font-family:var(--mono);font-size:12.5px;background:var(--panel);color:var(--text);border:1px solid var(--hairline-2);border-radius:3px;padding:6px 8px;outline:none}.controls input[type=text]:focus,.controls select:focus{border-color:var(--accent-3)}.controls label{color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.controls input[type=range]{accent-color:var(--accent)}.tablebox{overflow-x:auto;border:1px solid var(--hairline);border-radius:5px}table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:12px}thead th{position:sticky;top:0;z-index:2;background:var(--panel-2);color:var(--text-2);text-align:right;padding:8px 9px;white-space:nowrap;border-bottom:1px solid var(--hairline-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}thead th.l{text-align:left}thead th:hover{color:var(--text)}thead th .arrow{color:var(--accent);margin-left:2px}tbody td{padding:7px 9px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--hairline)}tbody td.l{text-align:left}tbody tr:hover{background:#ffffff06}tbody tr.sel{box-shadow:inset 2px 0 0 var(--accent)}tbody tr.rej td.sym{color:var(--text-2)}.sym{font-weight:600;cursor:pointer}.sym:hover{color:var(--accent-2);text-decoration:underline}.tag{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.tag.sel{color:var(--good);background:var(--up-soft)}.tag.rej{color:var(--down-text);background:var(--down-soft)}.tag.held{color:var(--caution);background:var(--caution-soft);margin-left:5px}.risk-LOW{color:var(--good)}.risk-MEDIUM{color:var(--caution)}.risk-HIGH{color:var(--down-text)}.score{font-weight:500}.gates{display:inline-flex;gap:3px}.g{width:16px;height:16px;line-height:16px;text-align:center;font-size:9.5px;font-weight:700;border-radius:2px}.g.pass{color:var(--good);background:var(--up-soft)}.g.fail{color:var(--down-text);background:var(--down-soft)}.reason{color:var(--text-2);font-size:11px;text-align:left}.gate{max-width:440px;margin:12vh auto 0;padding:28px;text-align:center}.gate h1{font-size:22px;margin:0 0 6px}.gate p{color:var(--text-2);font-size:13px;line-height:1.5}.gate input{width:100%;font-family:var(--mono);font-size:14px;text-align:center;background:var(--panel);color:var(--text);border:1px solid var(--hairline-2);border-radius:4px;padding:11px;margin:16px 0 10px;outline:none}.gate input:focus{border-color:var(--accent)}.gate button,.btn{font-family:var(--sans);font-weight:600;font-size:13.5px;cursor:pointer;background:var(--accent);color:#04210b;border:none;border-radius:4px;padding:10px 18px}.gate button:hover,.btn:hover{background:var(--accent-2)}.err{color:var(--down-text);font-size:12.5px;margin-top:8px;min-height:16px}.muted{color:var(--text-3);font-size:11.5px}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(720px,94vw);z-index:41;background:var(--bg-2);border-left:1px solid var(--hairline-2);overflow-y:auto;padding:18px 20px}.drawer h2{margin:0 0 2px;font-size:18px}.drawer .close{float:right;cursor:pointer;color:var(--text-3);font-size:20px;line-height:1}.drawer .close:hover{color:var(--text)}.footer{color:var(--text-3);font-size:11px;margin-top:20px;text-align:center}.loading{color:var(--text-2);padding:40px;text-align:center;font-family:var(--mono)}
