:root{--bg:#0c0d0a;--bg-panel:#131410;--bg-panel-2:#1a1c16;--bg-inset:#090a07;--hair:#2a2c22;--hair-strong:#3d4032;--ink:#eceadd;--ink-dim:#9d9c88;--ink-faint:#6a6a58;--amber:#ffb000;--amber-deep:#a66f00;--amber-wash:#ffb00017;--up:#37c46a;--up-deep:#16351f;--down:#ff5c4d;--down-deep:#3a1512;--warn:#e8b53a;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--display:"Space Grotesk", system-ui, sans-serif;--serif:"Newsreader", Georgia, serif;--body:"Space Grotesk", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(#ffb00005 1px,#0000 1px);background-size:4px 4px;font-size:13px;line-height:1.5}a{color:var(--amber);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}h1,h2,h3,h4{font-family:var(--display);margin:0;font-weight:600}h1{letter-spacing:-.03em;font-size:30px;font-weight:700;line-height:1.02}h2{letter-spacing:-.01em;font-size:15px}h3{letter-spacing:.01em;font-size:13px}:focus-visible{outline:1.5px solid var(--amber);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint);font-size:10px;font-weight:500}.desk{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--bg-panel);border-right:1px solid var(--hair);flex-direction:column;height:100vh;padding:0;display:flex;position:sticky;top:0;overflow-y:auto}.rail-mark{border-bottom:1px solid var(--hair);padding:18px 18px 16px}.wordmark{font-family:var(--display);letter-spacing:-.04em;color:var(--ink);font-size:19px;font-weight:700;line-height:1}.wordmark b{color:var(--amber);font-weight:700}.wordmark-sub{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;font-size:10px}.rail-section{border-bottom:1px solid var(--hair);padding:14px 18px}.rail-section-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:10px;font-size:10px}.readout{font-family:var(--mono);justify-content:space-between;align-items:baseline;gap:10px;padding:3px 0;font-size:12px;display:flex}.readout-key{color:var(--ink-dim)}.readout-val{color:var(--ink);font-variant-numeric:tabular-nums}.readout-val.on{color:var(--amber)}.readout-val.off{color:var(--ink-faint)}.nav{flex-direction:column;gap:1px;padding:10px;display:flex}.nav-link{color:var(--ink-dim);font-family:var(--mono);letter-spacing:.02em;border-left:2px solid #0000;grid-template-columns:22px 1fr;align-items:center;gap:2px;padding:7px 8px;font-size:12px;transition:color .1s,background .1s;display:grid}.nav-link:hover{color:var(--ink);background:var(--bg-panel-2);text-decoration:none}.nav-link.active{color:var(--amber);background:var(--amber-wash);border-left-color:var(--amber)}.nav-num{color:var(--ink-faint);font-size:10px}.nav-link.active .nav-num{color:var(--amber-deep)}.rail-foot{border-top:1px solid var(--hair);font-family:var(--mono);color:var(--ink-faint);flex-direction:column;gap:10px;margin-top:auto;padding:14px 18px;font-size:11px;display:flex}.work{flex-direction:column;min-width:0;display:flex}.masthead{border-bottom:1px solid var(--hair);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:26px 30px 20px;display:grid}.masthead-title h1{margin:0}.masthead-kicker{font-family:var(--serif);color:var(--ink-dim);max-width:58ch;margin-top:8px;font-size:14px;font-style:italic}.tape{border:1px solid var(--hair);background:var(--bg-inset);gap:0;display:flex}.tape-cell{border-right:1px solid var(--hair);text-align:right;padding:8px 14px}.tape-cell:last-child{border-right:none}.tape-k{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:9px}.tape-v{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);margin-top:2px;font-size:15px;font-weight:500}.sheet{flex-direction:column;gap:22px;max-width:1520px;padding:24px 30px 60px;display:flex}.page-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;display:grid}.page-intro p{font-family:var(--serif);color:var(--ink-dim);max-width:68ch;margin:8px 0 0;font-size:15px;line-height:1.55}.panel{background:var(--bg-panel);border:1px solid var(--hair);position:relative}.panel-head{border-bottom:1px solid var(--hair);background:var(--bg-panel-2);justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;display:flex}.panel-head h2,.panel-head h3{align-items:baseline;gap:10px;display:flex}.panel-title-note{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;font-size:10px}.panel-body{padding:16px}.split-64{grid-template-columns:1.7fr 1fr;align-items:start;gap:16px;display:grid}.split-73{grid-template-columns:2.4fr 1fr;align-items:start;gap:16px;display:grid}.cluster{gap:12px;display:grid}.cluster-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.cluster-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.figure{border:1px solid var(--hair);background:var(--bg-panel);padding:13px 15px;position:relative}.figure:before{content:"";background:var(--amber);width:14px;height:2px;position:absolute;top:0;left:0}.figure-k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.figure-v{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);margin-top:6px;font-size:25px;font-weight:500}.figure-foot{font-family:var(--mono);color:var(--ink-dim);margin-top:4px;font-size:11px}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--ink-faint)}.tag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--hair-strong);color:var(--ink-dim);background:var(--bg-inset);white-space:nowrap;align-items:center;gap:5px;padding:2px 7px;font-size:10px;font-weight:500;display:inline-flex}.tag-amber{border-color:var(--amber-deep);color:var(--amber);background:var(--amber-wash)}.tag-up{color:var(--up);background:var(--up-deep);border-color:#235a34}.tag-down{color:var(--down);background:var(--down-deep);border-color:#6d241d}.tag-warn{color:var(--warn);background:#e8b53a14;border-color:#6b571c}.tag:before{content:attr(data-mark);color:inherit;opacity:.7}.stream-tab{font-family:var(--display);letter-spacing:-.01em;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.stream-bar{flex-shrink:0;width:3px;height:15px;display:inline-block}.key{border:1px solid var(--hair-strong);background:var(--bg-panel-2);color:var(--ink);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:12px;transition:border-color .1s,background .1s,color .1s;display:inline-flex}.key:hover:not(:disabled){border-color:var(--amber-deep);color:var(--amber)}.key:disabled{opacity:.4;cursor:not-allowed}.key-primary{background:var(--amber);border-color:var(--amber);color:#1a1200;font-weight:600}.key-primary:hover:not(:disabled){color:#1a1200;background:#ffc23a;border-color:#ffc23a}.key-danger{color:var(--down);border-color:#6d241d}.key-danger:hover:not(:disabled){background:var(--down-deep);border-color:var(--down);color:var(--down)}.key-sm{padding:4px 9px;font-size:11px}.keys{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);font-size:10px}.field-hint{color:var(--ink-faint);font-size:11px;font-family:var(--mono)}input[type=text],input[type=password],input[type=number],select,textarea{background:var(--bg-inset);border:1px solid var(--hair-strong);color:var(--ink);font-size:13px;font-family:var(--mono);border-radius:0;width:100%;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--amber);outline:none}select{cursor:pointer}textarea{resize:vertical;min-height:120px;font-size:12px}.rowform{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.grid-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12.5px}thead th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);border-bottom:1px solid var(--hair-strong);white-space:nowrap;background:var(--bg-panel-2);padding:8px 12px;font-size:10px;font-weight:500;position:sticky;top:0}tbody td{border-bottom:1px solid var(--hair);vertical-align:top;padding:9px 12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-panel-2)}.num{font-family:var(--mono);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}th.num{text-align:right}.sym{font-family:var(--mono);letter-spacing:.02em;font-weight:600}.rank{font-family:var(--display);color:var(--amber);font-size:15px;font-weight:700}.empty{text-align:center;color:var(--ink-faint);font-family:var(--mono);padding:30px 16px;font-size:12px}.note{border:1px solid var(--hair);background:var(--bg-panel);border-left-width:3px;align-items:flex-start;gap:10px;padding:11px 14px;font-size:13px;display:flex}.note strong{font-family:var(--display);margin-bottom:3px;font-weight:600;display:block}.note-info{border-left-color:var(--amber)}.note-warn{border-left-color:var(--warn);color:#f0d99a}.note-error{border-left-color:var(--down);color:#f6b3ab}.prose{color:var(--ink-dim);max-width:66ch;font-size:12px;line-height:1.5}.serif-note{font-family:var(--serif);color:var(--ink-dim);font-size:14px;line-height:1.55}.mini{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.02em;font-size:10px}.kv{grid-template-columns:minmax(110px,auto) 1fr;gap:6px 16px;font-size:12.5px;display:grid}.kv dt{font-family:var(--mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.kv dd{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);margin:0}.meter{background:var(--bg-inset);border:1px solid var(--hair);height:4px;overflow:hidden}.meter-fill{background:var(--amber);height:100%;transition:width .3s}.score{background:var(--bg-inset);border:1px solid var(--hair);min-width:90px;height:5px;position:relative}.score-mid{background:var(--hair-strong);width:1px;position:absolute;top:0;bottom:0;left:50%}.score-fill{position:absolute;top:0;bottom:0}.pattern-line{border-bottom:1px solid var(--hair);align-items:baseline;gap:10px;padding:7px 0;display:flex}.pattern-line:last-child{border-bottom:none}.pattern-nm{font-family:var(--display);min-width:200px;font-size:12.5px;font-weight:600}.pattern-dt{color:var(--ink-faint);flex:1;font-size:11.5px}.tabs{border-bottom:1px solid var(--hair-strong);flex-wrap:wrap;gap:0;display:flex}.tab{color:var(--ink-dim);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:12px}.tab:hover{color:var(--ink)}.tab.active{color:var(--amber);border-bottom-color:var(--amber)}details.fold{border:1px solid var(--hair);background:var(--bg-inset);padding:9px 12px}details.fold summary{cursor:pointer;font-family:var(--mono);letter-spacing:.04em;color:var(--ink-dim);text-transform:uppercase;font-size:11px}details.fold[open] summary{margin-bottom:8px}details.fold pre{font-size:11px;font-family:var(--mono);color:var(--ink-dim);white-space:pre-wrap;word-break:break-word;margin:0}.reason{color:var(--ink-dim);max-width:74ch;font-size:12px;line-height:1.5}.gate{background:var(--bg);background-image:radial-gradient(#ffb00006 1px,#0000 1px);background-size:5px 5px;grid-template-columns:1fr;place-items:center;min-height:100vh;padding:24px;display:grid}.gate-card{background:var(--bg-panel);border:1px solid var(--hair-strong);width:100%;max-width:420px}.gate-head{border-bottom:1px solid var(--hair);padding:22px 24px}.gate-head .wordmark{font-size:26px}.gate-head p{font-family:var(--serif);color:var(--ink-dim);margin:10px 0 0;font-size:14px;font-style:italic}.gate-body{flex-direction:column;gap:16px;padding:22px 24px;display:flex}.spin{border:1.5px solid #ffb00040;border-top-color:var(--amber);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{min-height:100vh;color:var(--ink-dim);font-family:var(--mono);place-items:center;gap:10px;display:grid}.chart-frame{width:100%;height:320px}.chart-frame-sm{width:100%;height:200px}.toasts{z-index:100;flex-direction:column;gap:8px;max-width:440px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--bg-panel-2);border:1px solid var(--hair-strong);border-left:3px solid var(--amber);font-family:var(--mono);color:var(--ink);padding:10px 14px;font-size:12px}.toast-error{border-left-color:var(--down)}@media (width<=920px){.desk{grid-template-columns:1fr}.rail{flex-direction:column;height:auto;position:static}.masthead,.page-intro,.split-64,.split-73{grid-template-columns:1fr}.sheet{padding:18px}}.page{flex-direction:column;gap:20px;max-width:1520px;padding:24px 30px 60px;display:flex}.page-head{border-bottom:1px solid var(--hair);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;padding-bottom:4px;display:grid}.page-head h1{font-size:26px}.page-head p{font-family:var(--serif);color:var(--ink-dim);max-width:68ch;margin:8px 0 0;font-size:14px;line-height:1.55}.card{background:var(--bg-panel);border:1px solid var(--hair);padding:16px}.card-head{border-bottom:1px solid var(--hair);background:var(--bg-panel-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:-16px -16px 14px;padding:11px 16px;display:flex}.card-head h2,.card-head h3{align-items:baseline;gap:10px;display:flex}.card-sub{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.grid{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat{border:1px solid var(--hair);background:var(--bg-panel);padding:13px 15px;position:relative}.stat:before{content:"";background:var(--amber);width:14px;height:2px;position:absolute;top:0;left:0}.stat-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.stat-value{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);margin-top:5px;font-size:22px;font-weight:500}.stat-foot{font-family:var(--mono);color:var(--ink-dim);margin-top:3px;font-size:11px}.pos{color:var(--up)}.neg{color:var(--down)}.btn{border:1px solid var(--hair-strong);background:var(--bg-panel-2);color:var(--ink);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:12px;transition:border-color .1s,color .1s,background .1s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--amber-deep);color:var(--amber)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--amber);border-color:var(--amber);color:#1a1200;font-weight:600}.btn-primary:hover:not(:disabled){color:#1a1200;background:#ffc23a;border-color:#ffc23a}.btn-danger{color:var(--down);border-color:#6d241d}.btn-danger:hover:not(:disabled){background:var(--down-deep);border-color:var(--down)}.btn-sm{padding:4px 9px;font-size:11px}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.table-wrap{overflow-x:auto}.badge{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--hair-strong);color:var(--ink-dim);background:var(--bg-inset);white-space:nowrap;border-radius:0;align-items:center;gap:5px;padding:2px 7px;font-size:10px;font-weight:500;display:inline-flex}.badge-green{color:var(--up);background:var(--up-deep);border-color:#235a34}.badge-red{color:var(--down);background:var(--down-deep);border-color:#6d241d}.badge-amber,.badge-purple{color:var(--warn);background:#e8b53a14;border-color:#6b571c}.badge-blue{border-color:var(--amber-deep);color:var(--amber);background:var(--amber-wash)}.badge-grey{border-color:var(--hair-strong);color:var(--ink-dim);background:var(--bg-inset)}.dot{display:none}.stream-chip{font-family:var(--display);align-items:center;gap:8px;font-weight:600;display:inline-flex}.stream-chip .dot{border-radius:0;width:3px;height:14px;display:inline-block}.notice{border:1px solid var(--hair);background:var(--bg-panel);border-left-width:3px;align-items:flex-start;gap:10px;padding:11px 14px;font-size:13px;display:flex}.notice strong{font-family:var(--display);margin-bottom:3px;font-weight:600;display:block}.notice-info{border-left-color:var(--amber)}.notice-warn{border-left-color:var(--warn);color:#f0d99a}.notice-error{border-left-color:var(--down);color:#f6b3ab}.mono-small{font-family:var(--mono);color:var(--ink-faint);font-size:10px}.field-hint{font-family:var(--mono);color:var(--ink-faint);font-size:11px}.bar-track{background:var(--bg-inset);border:1px solid var(--hair);height:4px;overflow:hidden}.bar-fill{background:var(--amber);height:100%}.pattern-row{border-bottom:1px solid var(--hair);align-items:baseline;gap:10px;padding:7px 0;display:flex}.pattern-row:last-child{border-bottom:none}.pattern-name{font-family:var(--display);min-width:200px;font-size:12.5px;font-weight:600}.pattern-detail{color:var(--ink-faint);flex:1;font-size:11.5px}.chart-box{width:100%;height:320px}.chart-box-sm{width:100%;height:200px}.legend{font-family:var(--mono);color:var(--ink-dim);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-swatch{width:10px;height:10px}details.expand{border:1px solid var(--hair);background:var(--bg-inset);padding:9px 12px}details.expand summary{cursor:pointer;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-dim);font-size:11px}details.expand[open] summary{margin-bottom:8px}details.expand pre{font-size:11px;font-family:var(--mono);color:var(--ink-dim);white-space:pre-wrap;word-break:break-word;margin:0}
