:root{--bg: #0e1116;--panel: #161b22;--line: #2b3340;--text: #e6edf3;--muted: #8b98a5;--accent: #3d8bfd;--up: #3fb950;--down: #f85149;--atm: #d4a72c;font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit;background:#0e1116;border:1px solid var(--line);border-radius:4px;padding:6px 8px}button{cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}a{color:var(--accent)}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:16px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.topbar .sym{font-weight:700;letter-spacing:.04em}.topbar .stat{color:var(--muted);font-size:13px}.topbar .stat b{color:var(--text);font-weight:600}.topbar nav{margin-left:auto;display:flex;gap:12px;font-size:13px}.workspace{display:grid;grid-template-columns:1.3fr 1.1fr;grid-template-rows:1fr 220px 56px;gap:1px;background:var(--line);flex:1;min-height:0}.panel{background:var(--bg);min-height:0;overflow:auto}.chart{grid-column:1;grid-row:1;padding:8px}.matrix{grid-column:2;grid-row:1 / 3;padding:0;overflow:auto}.contract{grid-column:1;grid-row:2;padding:8px}.transport{grid-column:1 / 3;grid-row:3;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel)}table.chain{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px}table.chain th,table.chain td{padding:3px 6px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}table.chain th{position:sticky;top:0;background:var(--panel);color:var(--muted);font-weight:500}table.chain td.strike{text-align:center;font-weight:700}table.chain tr.atm td.strike{color:var(--atm)}table.chain tr:hover{background:#1c2330;cursor:pointer}.login{max-width:360px;margin:12vh auto;padding:24px;background:var(--panel);border:1px solid var(--line)}.login h1{font-size:18px;margin:0 0 16px}.login label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}.login button{width:100%;margin-top:16px}.err{color:var(--down);font-size:13px}.page{padding:16px;overflow:auto}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}pre.json{background:var(--panel);padding:12px;overflow:auto;font-size:12px}.badge{font-size:11px;padding:1px 6px;border:1px solid var(--line);border-radius:3px;color:var(--muted)}
