:root { --ink:#e8ece7; --muted:#8f9b94; --line:#25322c; --panel:#101713; --bg:#090d0b; --acid:#b7f34b; --red:#ff6b5f; --amber:#f4c95d; }
* { box-sizing:border-box; }
html { background:var(--bg); }
body { margin:0; color:var(--ink); font-family:Manrope,system-ui,sans-serif; background:radial-gradient(circle at 80% 0%,#18271f 0,transparent 32rem),var(--bg); min-height:100vh; }
.noise { position:fixed; inset:0; opacity:.03; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.shell { width:min(1180px,calc(100% - 40px)); margin:auto; position:relative; }
.topbar { height:88px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:-.02em; }
.brand em { color:var(--muted); font-style:normal; font-weight:500; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; color:#091008; background:var(--acid); font-family:"DM Mono"; }
.market-status { color:var(--muted); font:12px "DM Mono"; text-transform:uppercase; letter-spacing:.1em; }
.topbar nav { display:flex; align-items:center; gap:28px; }.topbar nav>a,.text-link { color:var(--muted); font:11px "DM Mono"; text-decoration:none; text-transform:uppercase; letter-spacing:.07em; }.topbar nav>a:hover,.text-link:hover { color:var(--acid); }
.site-nav a.active { color:var(--acid); }.overview-hero { display:grid; grid-template-columns:1.35fr .65fr; gap:64px; align-items:end; padding:76px 0 56px; }.overview-probability { padding-left:40px; border-left:1px solid var(--line); }.overview-probability>span { color:var(--muted); font-size:13px; }.overview-probability>strong { display:block; margin:10px 0 22px; font:500 clamp(54px,7vw,88px)/1 "DM Mono"; letter-spacing:-.08em; }.overview-probability small { color:var(--muted); font-size:.4em; }.outcome-section { padding:30px; margin-bottom:22px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(20,29,24,.94),rgba(13,19,16,.94)); }.section-title { display:flex; justify-content:space-between; align-items:end; margin-bottom:24px; }.section-title h2 { margin:0; font-size:24px; }.outcome-card { display:grid; grid-template-columns:1.1fr 1.1fr repeat(3,.8fr); border-top:1px solid var(--line); }.outcome-card>div { padding:20px 18px 4px 0; }.outcome-card span,.overview-context span { display:block; margin-bottom:9px; color:var(--muted); font-size:11px; }.outcome-card strong,.overview-context strong { font:500 15px "DM Mono"; }.outcome-verdict { display:inline-block; padding:5px 8px; text-transform:uppercase; }.outcome-verdict.correct { color:var(--acid); background:#182412; }.outcome-verdict.wrong { color:var(--red); background:#2a1513; }.outcome-empty { display:flex; gap:10px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); }.outcome-empty strong { color:var(--ink); }.overview-context { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:22px; border:1px solid var(--line); }.overview-context>div { padding:18px; border-right:1px solid var(--line); }.overview-context>div:last-child { border:0; }.workspace-links { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.workspace-links a { display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:start; min-height:130px; padding:22px; color:var(--ink); text-decoration:none; border:1px solid var(--line); background:var(--panel); transition:.2s; }.workspace-links a:hover { border-color:var(--acid); transform:translateY(-2px); }.workspace-links span { color:var(--acid); font:11px "DM Mono"; }.workspace-links strong { font-size:16px; }.workspace-links p { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }.workspace-links b { color:var(--acid); }.page-hero { padding:70px 0 45px; }.page-hero h1 { font-size:clamp(48px,7vw,82px); }.method-note { display:grid; grid-template-columns:.75fr 1.25fr; gap:40px; margin-top:22px; }.method-note h2 { margin:0; }.method-note>p { margin:0; color:var(--muted); line-height:1.8; }
.market-status span { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:8px; background:var(--acid); box-shadow:0 0 12px var(--acid); }
.hero { display:grid; grid-template-columns:1.4fr .7fr; gap:64px; align-items:end; padding:76px 0 54px; }
.eyebrow { margin:0 0 13px; color:var(--acid); font:500 11px "DM Mono"; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin:0; max-width:700px; font-size:clamp(48px,7vw,92px); line-height:.94; letter-spacing:-.065em; font-weight:600; }
.direction { color:var(--acid); }.direction.down { color:var(--red); }
.lede { max-width:650px; margin:28px 0 0; color:var(--muted); line-height:1.75; }
.confidence-card { border-left:1px solid var(--line); padding-left:40px; }
.probability { font:500 clamp(54px,7vw,88px)/1 "DM Mono"; letter-spacing:-.08em; }.probability small { font-size:.4em; color:var(--muted); }
.probability-label { color:var(--muted); margin:10px 0 22px; font-size:13px; }
.meter { height:6px; background:#232d28; overflow:hidden; }.meter span { display:block; height:100%; background:var(--acid); }
.meter-labels { display:flex; justify-content:space-between; margin-top:9px; color:var(--muted); font:10px "DM Mono"; }
.warning { display:flex; gap:16px; align-items:center; padding:18px 22px; margin-bottom:22px; border:1px solid #554726; background:#1c180f; }
.warning.passing { border-color:#334b26; background:#111b0d; }.warning-icon { display:grid; place-items:center; flex:0 0 28px; height:28px; border-radius:50%; background:var(--amber); color:#181307; font-weight:800; }.passing .warning-icon { background:var(--acid); }
.warning strong { font-size:14px; }.warning p { display:inline; margin-left:8px; color:var(--muted); font-size:13px; }
.grid { display:grid; grid-template-columns:1.2fr .8fr; gap:22px; }
.panel { background:linear-gradient(145deg,rgba(20,29,24,.94),rgba(13,19,16,.94)); border:1px solid var(--line); padding:30px; }
.panel-heading { display:flex; justify-content:space-between; align-items:start; margin-bottom:26px; }.panel h2 { margin:0; font-size:22px; letter-spacing:-.035em; }.sample { color:var(--muted); font:11px "DM Mono"; }
.metric-list>div,.signal-row { display:flex; justify-content:space-between; padding:16px 0; border-top:1px solid var(--line); }.metric-list span,.signal-row span { color:var(--muted); font-size:13px; }.metric-list strong,.signal-row strong { font:500 14px "DM Mono"; }.metric-list i { font-style:normal; font-size:10px; opacity:.65; }
.news-panel { margin-top:22px; }.button { display:inline-block; padding:11px 16px; background:var(--acid); color:#081007; text-decoration:none; font:600 11px "DM Mono"; text-transform:uppercase; letter-spacing:.08em; }.button.secondary { background:transparent; color:var(--ink); border:1px solid var(--line); }
.strategy-page-actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; margin:18px 0; color:var(--muted); font:11px "DM Mono"; text-transform:uppercase; letter-spacing:.06em; }.strategy-page-actions .button { border:0; cursor:pointer; }.strategy-page-actions .button:disabled { cursor:wait; opacity:.6; }
.history-panel { margin-top:22px; }.stats-strip { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); margin-bottom:24px; }.stats-strip div { padding:18px; border-right:1px solid var(--line); }.stats-strip div:last-child { border:0; }.stats-strip span { display:block; color:var(--muted); font-size:11px; margin-bottom:8px; }.stats-strip strong { font:500 22px "DM Mono"; }.table-wrap { overflow-x:auto; }table { width:100%; border-collapse:collapse; font:12px "DM Mono"; }th { color:var(--muted); text-align:left; font-weight:400; }th,td { padding:13px 10px; border-bottom:1px solid var(--line); white-space:nowrap; }.pill { padding:4px 7px; color:var(--acid); background:#1d2a15; }.pill.down { color:var(--red); background:#2b1715; }.storage-error { color:var(--red); padding:16px; border:1px solid #542823; background:#21110f; font:12px "DM Mono"; }
.put-panel { margin-bottom:22px; }.put-form { display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:end; margin-bottom:24px; }.put-form label { color:var(--muted); font:11px "DM Mono"; text-transform:uppercase; letter-spacing:.07em; }.put-form input { display:block; width:100%; margin-top:8px; padding:12px; border:1px solid var(--line); background:#0b100d; color:var(--ink); font:14px "DM Mono"; }.put-form input:focus { outline:1px solid var(--acid); }.put-form button { border:0; min-height:41px; cursor:pointer; }.put-note { margin:18px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }.positive { color:var(--acid); }.negative { color:var(--red); }
.history-hero { padding:70px 0 45px; }.history-hero h1 { font-size:clamp(48px,7vw,82px); }.history-stats { grid-template-columns:repeat(5,1fr); margin-bottom:22px; background:var(--panel); }.ledger-panel { margin-bottom:20px; }.ledger .positive { color:var(--acid); }.ledger .negative { color:var(--red); }.verdict { display:inline-block; padding:5px 8px; font-size:10px; text-transform:uppercase; }.verdict.correct { color:var(--acid); background:#182412; }.verdict.wrong { color:var(--red); background:#2a1513; }.verdict.pending { color:var(--amber); background:#27210f; }.empty-state { display:flex; gap:24px; align-items:center; padding:25px 30px; margin-bottom:22px; border:1px solid #554726; background:#1c180f; }.empty-state>span { color:var(--amber); font:28px "DM Mono"; }.empty-state h2 { margin:0 0 5px; font-size:18px; }.empty-state p { margin:0; color:var(--muted); font-size:13px; }
.xsp-history { margin-top:64px; padding-top:52px; border-top:1px solid var(--line); scroll-margin-top:24px; }.xsp-history .section-title { align-items:center; }.xsp-baselines { margin-bottom:22px; }.xsp-history-loading { display:grid; place-items:center; gap:9px; min-height:180px; color:var(--muted); }.xsp-history-loading strong { color:var(--ink); font-size:18px; }
.news-list a { display:grid; grid-template-columns:32px 1fr minmax(120px,auto); gap:18px; align-items:center; padding:18px 0; color:var(--ink); text-decoration:none; border-top:1px solid var(--line); }.news-list a:hover strong { color:var(--acid); }.news-list span,.news-list time { color:var(--muted); font:10px "DM Mono"; }.news-list strong { font-size:14px; font-weight:500; transition:.2s; }.news-list time { text-align:right; }
.csp-shell { width:min(1440px,calc(100% - 40px)); }.csp-hero { display:grid; grid-template-columns:1.35fr .65fr; gap:56px; align-items:end; padding:70px 0 46px; }.csp-formula { padding:26px; background:var(--ink); color:var(--bg); }.csp-formula span { display:block; font:10px "DM Mono"; text-transform:uppercase; letter-spacing:.12em; opacity:.65; }.csp-formula strong { display:block; margin:5px 0; color:#31511b; font:500 38px "DM Mono"; }.csp-formula p { margin:0; font-size:12px; opacity:.72; }.csp-stats { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:20px; border:1px solid var(--line); background:var(--panel); }.csp-stats>div { padding:20px; border-right:1px solid var(--line); }.csp-stats>div:last-child { border:0; }.csp-stats span { display:block; margin-bottom:8px; color:var(--muted); font:10px "DM Mono"; text-transform:uppercase; }.csp-stats strong { font:500 26px "DM Mono"; }.csp-stats .generated { font-size:13px; }.csp-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }.csp-controls input,.csp-controls select { padding:11px 13px; border:1px solid var(--line); background:#0b100d; color:var(--ink); font:12px "DM Mono"; }.csp-controls input { min-width:240px; }.csp-legend { display:flex; gap:7px; margin-left:auto; }.model-pill { display:inline-block; padding:5px 8px; font:500 10px "DM Mono"; text-transform:uppercase; }.model-pill.v2 { color:#80b5ff; background:#13233a; }.model-pill.v3 { color:var(--amber); background:#2a200d; }.csp-table-panel { padding:0; overflow:hidden; }.csp-table { min-width:1220px; }.csp-table th { position:sticky; top:0; background:#111a15; text-transform:uppercase; letter-spacing:.06em; }.csp-table tbody tr:hover { background:#141e18; }.csp-table .ticker { display:block; color:var(--ink); font-size:15px; }.csp-table small { display:block; margin-top:3px; color:var(--muted); }.csp-score { font-size:17px; }.score-meter { display:block; width:60px; height:4px; margin-top:5px; overflow:hidden; background:#25322c; }.score-meter i { display:block; height:100%; background:var(--acid); }.csp-empty { display:grid; place-items:center; gap:8px; padding:64px 20px; color:var(--muted); text-align:center; }.csp-empty strong { color:var(--ink); font-size:18px; }.csp-empty code { color:var(--acid); }
.swing-notice { margin-bottom:18px; padding:14px 16px; color:var(--amber); border:1px solid #564317; background:#211b0e; font:12px "DM Mono"; }.swing-stats { grid-template-columns:repeat(5,1fr); }.model-pill.swing-pass { color:var(--acid); background:#1d2a15; }.model-pill.swing-fail { color:var(--muted); background:#202622; }.swing-table { min-width:1180px; }.swing-table tbody tr[data-status="candidate"] { background:rgba(183,255,87,.035); }.swing-table td:last-child small { color:var(--muted); text-transform:capitalize; }.swing-loading { display:grid; place-items:center; gap:10px; min-height:220px; color:var(--muted); }.swing-loading strong { color:var(--ink); font-size:20px; }.swing-history { margin-top:54px; }.swing-history .section-title { align-items:center; }.history-count { color:var(--muted); font:12px "DM Mono"; }.swing-history-table { min-width:1040px; }
.dashboard-shell { width:min(1360px,calc(100% - 40px)); }.dashboard-hero { padding:72px 0 48px; }.dashboard-hero h1 { max-width:820px; font-size:clamp(54px,8vw,98px); }.dashboard-hero .lede { max-width:720px; }.dashboard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.system-card { display:flex; flex-direction:column; min-height:370px; padding:28px; color:var(--ink); text-decoration:none; border:1px solid var(--line); background:linear-gradient(155deg,rgba(20,29,24,.96),rgba(11,16,13,.98)); transition:.2s; }.system-card:hover { border-color:var(--acid); transform:translateY(-3px); }.system-card-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:22px; }.system-card-head>div { display:flex; gap:12px; align-items:center; }.system-card-head .eyebrow { margin:0; }.system-number { color:var(--acid); font:10px "DM Mono"; }.system-state { padding:5px 8px; color:var(--muted); background:#202622; font:10px "DM Mono"; text-transform:uppercase; }.system-card h2 { min-height:0; margin:0 0 20px; font-size:24px; line-height:1.3; }.system-primary { padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.system-primary strong { display:block; color:var(--acid); font:500 48px "DM Mono"; }.system-primary span { color:var(--muted); font-size:12px; }.system-details { display:grid; gap:9px; margin-top:18px; color:var(--muted); font:11px "DM Mono"; }.system-details span { display:flex; justify-content:space-between; gap:12px; }.system-details b { color:var(--ink); font-weight:500; text-align:right; }.system-empty { display:grid; gap:8px; place-content:center; flex:1; color:var(--muted); text-align:center; }.system-empty strong { color:var(--ink); font-size:17px; }.system-card>footer { margin-top:auto; padding:20px 0 0; color:var(--acid); border-top:1px solid var(--line); }.dashboard-candidates { display:grid; margin-bottom:16px; border-top:1px solid var(--line); }.dashboard-candidates>div { display:grid; grid-template-columns:28px 1fr auto auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }.dashboard-candidates span,.dashboard-candidates small { color:var(--muted); font:10px "DM Mono"; }.dashboard-candidates strong { font:500 18px "DM Mono"; }.dashboard-candidates b { color:var(--acid); font:500 14px "DM Mono"; }.dashboard-note { display:grid; grid-template-columns:.3fr 1fr; gap:30px; margin-top:38px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.dashboard-note span { color:var(--acid); font:11px "DM Mono"; text-transform:uppercase; }.dashboard-note p { margin:0; color:var(--muted); line-height:1.7; }.dashboard-footer { margin:0; }
footer { display:flex; gap:24px; justify-content:space-between; padding:28px 0 42px; color:var(--muted); font:10px "DM Mono"; }footer a { color:var(--acid); }
.swing-stats { grid-template-columns:repeat(6,1fr); }
.dashboard-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:24px 0 18px; }.dashboard-actions>div { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; border:1px solid var(--line); background:var(--panel); }.dashboard-actions span { color:var(--muted); font:11px "DM Mono"; text-transform:uppercase; }.dashboard-actions button { border:0; cursor:pointer; }.dashboard-actions button:disabled { cursor:wait; opacity:.65; }.dashboard-history { margin-top:58px; }.dashboard-history-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.dashboard-history-grid article { padding:24px; border:1px solid var(--line); background:var(--panel); }.dashboard-history-grid h3 { margin:0 0 20px; font-size:18px; }.dashboard-history-grid article>p { min-height:80px; color:var(--muted); }.dashboard-history-grid article>a { display:block; margin-top:20px; color:var(--acid); font:11px "DM Mono"; text-decoration:none; }.history-row { display:grid; grid-template-columns:1fr auto auto; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); font:11px "DM Mono"; }.history-row span { color:var(--muted); }.history-row strong { color:var(--ink); }.history-row b { color:var(--muted); font-weight:500; }
.dashboard-actions .action-label { display:grid; gap:8px; color:var(--ink); }.dashboard-actions .action-label small { color:var(--muted); font:9px "DM Mono"; text-transform:none; letter-spacing:0; }.dashboard-actions .action-buttons { display:flex; gap:8px; }.dashboard-actions .action-buttons button { white-space:nowrap; }
.dashboard-card-title { display:flex; align-items:start; justify-content:space-between; gap:12px; }.dashboard-card-title>span { color:var(--amber); font:9px "DM Mono"; text-transform:uppercase; }.csp-history-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.csp-history-columns section+section { padding-left:20px; border-left:1px solid var(--line); }.csp-history-columns h4 { display:flex; align-items:center; gap:8px; min-height:25px; margin:0 0 8px; color:var(--muted); font:10px "DM Mono"; font-weight:400; }.csp-history-columns .history-row { grid-template-columns:1fr auto; }.csp-history-columns section:first-child .history-row span { color:var(--ink); }.csp-history-columns section:first-child .history-row b { color:var(--amber); }.csp-history-columns p { min-height:0!important; margin:15px 0; color:var(--muted); font-size:11px; }
.error-panel { margin:80px 0; padding:50px; border:1px solid var(--line); background:var(--panel); }.error-panel h1 { font-size:48px; margin-bottom:20px; }.error-panel>p:not(.eyebrow) { color:var(--muted); margin-bottom:26px; }
.outlook-shell { width:min(1360px,calc(100% - 40px)); }.outlook-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; padding:72px 0 52px; }.outlook-form { padding:28px; border:1px solid var(--line); background:var(--panel); }.outlook-form label { display:block; margin-bottom:10px; color:var(--muted); font:10px "DM Mono"; text-transform:uppercase; letter-spacing:.12em; }.outlook-form>div { display:grid; grid-template-columns:1fr auto; }.outlook-form input { min-width:0; padding:16px; border:1px solid var(--line); background:#090d0b; color:var(--ink); font:500 21px "DM Mono"; text-transform:uppercase; }.outlook-form input:focus { outline:1px solid var(--acid); }.outlook-form button { border:0; cursor:pointer; }.outlook-form small { display:block; margin-top:12px; color:var(--muted); font-size:10px; line-height:1.6; }.outlook-summary { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:20px; border:1px solid var(--line); background:var(--panel); }.outlook-summary>div { padding:20px; border-right:1px solid var(--line); }.outlook-summary>div:last-child { border:0; }.outlook-summary span { display:block; margin-bottom:8px; color:var(--muted); font:10px "DM Mono"; text-transform:uppercase; }.outlook-summary strong { font:500 24px "DM Mono"; }.outlook-horizons { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.outlook-card { padding:25px; border:1px solid var(--line); background:linear-gradient(155deg,rgba(20,29,24,.96),rgba(11,16,13,.98)); }.outlook-card>header { display:flex; justify-content:space-between; gap:15px; padding-bottom:20px; border-bottom:1px solid var(--line); }.outlook-card h2 { margin:0; font-size:20px; }.outlook-card>header>span { color:var(--muted); font:10px "DM Mono"; }.outlook-range { padding:25px 0; }.outlook-range small,.outlook-range span { display:block; color:var(--muted); font-size:10px; }.outlook-range strong { display:block; margin:10px 0; font:500 clamp(22px,2.3vw,31px) "DM Mono"; letter-spacing:-.04em; }.outlook-range strong i { color:var(--muted); font:10px Manrope; text-transform:uppercase; }.scenario-bars { display:grid; gap:12px; padding:20px 0; border-top:1px solid var(--line); }.scenario-bars>div { display:grid; grid-template-columns:55px 1fr 34px; gap:10px; align-items:center; font:10px "DM Mono"; }.scenario-bars span { color:var(--muted); }.scenario-bars i { height:5px; background:linear-gradient(to right,var(--bar) var(--share),#25322c var(--share)); }.scenario-bars b { text-align:right; }.scenario-bars .bull { --bar:var(--acid); }.scenario-bars .neutral { --bar:var(--amber); }.scenario-bars .bear { --bar:var(--red); }.options-move { display:grid; grid-template-columns:1fr auto; gap:5px 12px; padding:17px 0; border-top:1px solid var(--line); }.options-move span,.options-move small { color:var(--muted); font-size:10px; }.options-move small { grid-column:1/-1; }.options-move strong { font:500 12px "DM Mono"; }.options-move.muted strong { color:var(--muted); }.outlook-card>footer { padding:16px 0 0; border-top:1px solid var(--line); }.outlook-details { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }.level-map { position:relative; height:7px; margin:45px 0 18px; background:linear-gradient(90deg,var(--red),var(--amber),var(--acid)); }.level-map span { position:absolute; left:clamp(0%,var(--position),100%); top:50%; width:18px; height:18px; border:4px solid var(--ink); border-radius:50%; background:var(--bg); transform:translate(-50%,-50%); }.level-labels { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.level-labels div:nth-child(2) { text-align:center; }.level-labels div:last-child { text-align:right; }.level-labels small { display:block; min-height:30px; color:var(--muted); font-size:9px; }.level-labels strong { font:500 14px "DM Mono"; }.outlook-disclaimer { display:grid; grid-template-columns:.3fr 1fr; gap:30px; margin-top:20px; padding:22px; border:1px solid #554726; background:#1c180f; }.outlook-disclaimer strong { color:var(--amber); font:11px "DM Mono"; text-transform:uppercase; }.outlook-disclaimer p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }.outlook-empty { display:grid; place-items:center; min-height:260px; border:1px solid var(--line); color:var(--muted); text-align:center; }.outlook-empty>span { color:var(--acid); font:11px "DM Mono"; }.outlook-empty strong { color:var(--ink); font-size:20px; }.outlook-empty p { margin:0; }.outlook-error { margin:0 0 30px; padding:30px; }.outlook-error h2 { margin:0; }
.outlook-history { margin-top:58px; padding-top:46px; border-top:1px solid var(--line); }.outlook-history-panel { padding:0; overflow:hidden; }.outlook-history-table { min-width:1050px; }.outlook-history-table th { background:#111a15; text-transform:uppercase; letter-spacing:.05em; }.outlook-history-table td strong { color:var(--ink); }.outlook-history-table a { color:var(--acid); text-decoration:none; }.outlook-history-empty { display:grid; place-items:center; gap:8px; min-height:150px; color:var(--muted); border:1px solid var(--line); }.outlook-history-empty strong { color:var(--ink); }
.outlook-hero { display:block; padding:28px 0 24px; }.outlook-hero .outlook-form { max-width:620px; margin-inline:auto; }
.outlook-form.is-loading { border-color:var(--acid); }.outlook-form button:disabled { cursor:wait; opacity:.72; }.analysis-progress { display:flex; align-items:center; gap:12px; margin-top:17px; padding-top:15px; border-top:1px solid var(--line); }.analysis-progress[hidden] { display:none; }.analysis-progress>i { width:18px; height:18px; flex:0 0 18px; border:2px solid #34432c; border-top-color:var(--acid); border-radius:50%; animation:analysis-spin .8s linear infinite; }.analysis-progress span { display:grid; gap:3px; }.analysis-progress strong { color:var(--ink); font:11px "DM Mono"; }.analysis-progress strong b { color:var(--acid); }.analysis-progress small { margin:0; }.outlook-form.is-loading input { color:var(--muted); }.outlook-error { border-color:#6b302a; }
.history-action>div { display:flex; align-items:center; gap:10px; }.history-action form { margin:0; }.history-action button { padding:0; border:0; background:transparent; color:var(--red); cursor:pointer; font:10px "DM Mono"; text-transform:uppercase; }.history-action button:hover { text-decoration:underline; }
@keyframes analysis-spin { to { transform:rotate(360deg); } }
@media(max-width:1000px){.dashboard-grid,.dashboard-history-grid{grid-template-columns:1fr}.dashboard-actions{grid-template-columns:1fr}.system-card{min-height:340px}.dashboard-shell{width:min(100% - 24px,1180px)}}
@media(max-width:1000px){.outlook-horizons{grid-template-columns:1fr}.outlook-card{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.outlook-card>header,.outlook-card>footer{grid-column:1/-1}.outlook-range{grid-row:2/4}.outlook-details{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-hero{padding:48px 0 36px}.dashboard-note{grid-template-columns:1fr}.system-card{min-height:320px;padding:22px}}
@media(max-width:760px){.shell,.csp-shell{width:min(100% - 24px,1180px)}.topbar{height:auto;min-height:88px;align-items:flex-start;padding:22px 0;gap:18px}.brand em{display:none}.site-nav{justify-content:flex-end;gap:14px!important;flex-wrap:wrap}.overview-hero,.hero,.grid,.csp-hero,.method-note{grid-template-columns:1fr}.overview-hero{gap:34px;padding:52px 0 38px}.overview-probability{padding:25px 0 0;border-left:0;border-top:1px solid var(--line)}.hero{gap:38px;padding:52px 0 38px}.csp-hero{gap:28px;padding:48px 0 35px}.outcome-card{grid-template-columns:1fr 1fr}.section-title{align-items:start;gap:15px}.outcome-empty{flex-direction:column}.overview-context{grid-template-columns:1fr 1fr}.overview-context>div:nth-child(2){border-right:0}.overview-context>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.workspace-links{grid-template-columns:1fr}.confidence-card{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.warning{align-items:start}.warning p{display:block;margin:5px 0 0}.put-form{grid-template-columns:1fr}.news-list a{grid-template-columns:24px 1fr}.news-list time{display:none}.panel{padding:22px}.csp-table-panel{padding:0}.stats-strip,.csp-stats{grid-template-columns:1fr 1fr}.stats-strip div:nth-child(2),.csp-stats div:nth-child(2){border-right:0}.stats-strip div:nth-child(-n+2),.csp-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.csp-legend{width:100%;margin-left:0}footer{flex-direction:column;gap:10px}}
@media(max-width:760px){.topbar{display:flex;flex-wrap:wrap}.topbar .brand{min-height:34px}.topbar .site-nav{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important}.topbar .site-nav>a{display:grid;place-items:center;min-height:40px;padding:8px 5px;border:1px solid var(--line);background:var(--panel);font-size:9px;letter-spacing:.04em;text-align:center}.topbar .site-nav>a:hover{border-color:var(--acid)}.topbar .site-nav>a.active{color:#091008;border-color:var(--acid);background:var(--acid);font-weight:600}}
@media(max-width:760px){.outlook-shell{width:min(100% - 24px,1180px)}.outlook-hero{grid-template-columns:1fr;gap:34px;padding:48px 0 36px}.outlook-summary{grid-template-columns:1fr 1fr}.outlook-summary>div:nth-child(2){border-right:0}.outlook-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.outlook-card{display:block}.outlook-details{grid-template-columns:1fr}.outlook-disclaimer{grid-template-columns:1fr}.level-labels small{min-height:42px}}
@media(max-width:760px){.outlook-history .section-title{display:grid;gap:9px}.outlook-history .sample{max-width:260px;line-height:1.5}.outlook-history-panel{border:0;background:transparent}.outlook-history-panel .table-wrap{overflow:visible}.outlook-history-table{display:block;min-width:0}.outlook-history-table thead{display:none}.outlook-history-table tbody{display:grid;gap:12px}.outlook-history-table tr{display:grid;grid-template-columns:1fr 1fr;padding:17px;border:1px solid var(--line);background:var(--panel)}.outlook-history-table td{display:grid;gap:5px;padding:10px 0;border-bottom:1px solid var(--line);white-space:normal}.outlook-history-table td:nth-child(odd){padding-right:12px}.outlook-history-table td:nth-child(even){padding-left:12px}.outlook-history-table td::before{content:attr(data-label);color:var(--muted);font:9px "DM Mono";text-transform:uppercase;letter-spacing:.06em}.outlook-history-table td.history-action{display:block;grid-column:1/-1;padding:15px 0 0;border:0}.outlook-history-table td.history-action::before{display:none}.outlook-history-table .history-action a{display:grid;place-items:center;min-height:40px;border:1px solid var(--acid);background:#182412;text-transform:uppercase;font:10px "DM Mono"}}
@media(max-width:760px){.outlook-history-table .history-action>div{display:grid;grid-template-columns:1fr 1fr}.outlook-history-table .history-action button{width:100%;min-height:40px;border:1px solid #6b302a;background:#21110f;text-decoration:none}}
.csp-model-section { margin:42px 0; }
.csp-group-table { min-width:900px; }
.csp-group-table th:first-child { width:130px; }
.csp-group-table th:nth-child(2) { width:110px; }
.csp-contract-list { display:grid; grid-template-columns:minmax(260px,1fr); gap:10px; }
.csp-contract { display:grid; grid-template-columns:repeat(2,auto); gap:7px 18px; min-width:260px; padding:13px 15px; border:1px solid var(--line); background:#0b100d; }
.csp-contract>strong { color:var(--acid); font-size:14px; }
.csp-contract span { color:var(--muted); font-size:10px; }
.csp-contract b { color:var(--ink); font-weight:500; }
.leaders-shell { width:min(1400px,calc(100% - 40px)); }
.leaders-hero { display:grid; grid-template-columns:1.25fr .75fr; gap:60px; align-items:end; padding:68px 0 44px; }
.leaders-hero h1 { margin:0; font-size:clamp(46px,7vw,82px); line-height:.96; letter-spacing:-.06em; }
.leaders-hero .lede { max-width:750px; }
.leaders-formula { padding:26px; color:var(--bg); background:var(--ink); }
.leaders-formula span { display:block; font:10px "DM Mono"; text-transform:uppercase; letter-spacing:.12em; opacity:.65; }
.leaders-formula strong { display:block; margin:8px 0; color:#31511b; font:500 29px "DM Mono"; }
.leaders-formula p { margin:0; font-size:12px; line-height:1.55; opacity:.72; }
.leaders-stats { display:grid; grid-template-columns:repeat(5,1fr); margin-bottom:28px; border:1px solid var(--line); background:var(--panel); }
.leaders-stats>div { padding:18px; border-right:1px solid var(--line); }
.leaders-stats>div:last-child { border:0; }
.leaders-stats span { display:block; margin-bottom:8px; color:var(--muted); font:9px "DM Mono"; text-transform:uppercase; }
.leaders-stats strong { font:500 17px "DM Mono"; }
.leader-horizons { display:grid; gap:22px; }
.leader-horizon { border:1px solid var(--line); background:var(--panel); }
.leader-horizon>header { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:22px 24px; border-bottom:1px solid var(--line); }
.leader-horizon h2 { margin:4px 0 0; font-size:22px; }
.leader-horizon header p { margin:0; }
.leader-table-controls { display:flex; align-items:center; gap:16px; }
.leader-table-controls label { display:flex; align-items:center; gap:9px; color:var(--muted); font:9px "DM Mono"; text-transform:uppercase; }
.leader-table-controls select { padding:9px 30px 9px 10px; color:var(--ink); border:1px solid var(--line); background:#0b100d; font:10px "DM Mono"; cursor:pointer; }
.leader-table-controls select:focus { outline:1px solid var(--acid); }
.leader-table-controls>span { color:var(--muted); font:10px "DM Mono"; text-transform:uppercase; white-space:nowrap; }
.leader-row { display:grid; grid-template-columns:42px minmax(110px,.8fr) minmax(120px,.8fr) minmax(160px,1fr) minmax(180px,1.2fr) 18px; gap:16px; align-items:center; padding:15px 24px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }
.leader-row:last-child { border-bottom:0; }
.leader-row:hover { background:#141e18; }
.leader-rank { color:var(--muted); font:11px "DM Mono"; }
.leader-row strong,.leader-row small { display:block; }
.leader-symbol strong { color:var(--acid); font:500 17px "DM Mono"; }
.leader-row small { margin-top:4px; color:var(--muted); font-size:9px; }
.leader-projection strong,.leader-probability strong,.leader-range strong { font:500 13px "DM Mono"; }
.leader-projection strong.positive { color:var(--acid); }
.leader-projection strong.negative { color:var(--red); }
.leader-row>b { color:var(--acid); text-align:right; }
.leaders-note { display:grid; grid-template-columns:.28fr 1fr; gap:30px; margin-top:28px; padding:22px; border:1px solid #554726; background:#1c180f; }
.leaders-note strong { color:var(--amber); font:11px "DM Mono"; text-transform:uppercase; }
.leaders-note p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.leaders-empty { display:grid; place-items:center; gap:10px; min-height:240px; color:var(--muted); }
.leaders-empty strong { color:var(--ink); font-size:20px; }
@media(max-width:900px){.leaders-hero{grid-template-columns:1fr;gap:28px}.leaders-stats{grid-template-columns:repeat(2,1fr)}.leaders-stats>div{border-bottom:1px solid var(--line)}.leaders-stats>div:nth-child(2n){border-right:0}.leaders-stats>div:last-child{grid-column:1/-1;border-bottom:0}.leader-row{grid-template-columns:34px 1fr 1fr 18px}.leader-probability,.leader-range{display:none}}
@media(max-width:760px){.leaders-shell{width:min(100% - 24px,1180px)}.leaders-hero{padding:45px 0 34px}.leader-horizon>header{align-items:flex-start;flex-direction:column}.leader-table-controls{width:100%;justify-content:space-between}.leader-table-controls label{flex:1}.leader-table-controls select{min-width:0;width:100%}.leaders-note{grid-template-columns:1fr}.leader-row{padding:14px;gap:10px}.leader-projection{text-align:right}.leader-row>b{display:none}}
.pwa-install {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  padding: .75rem 1rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: #d8ff3e;
  color: #090d0b;
  font: 700 .85rem/1 Manrope, sans-serif;
  box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .35);
  cursor: pointer;
}

.pwa-install:hover { filter: brightness(1.08); }
.pwa-install:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.pwa-install[hidden] { display: none; }
.csp-controls .csp-price-toggle { display:flex; align-items:center; gap:9px; padding:10px 13px; color:var(--muted); border:1px solid var(--line); background:#0b100d; font:11px "DM Mono"; cursor:pointer; }
.csp-controls .csp-price-toggle input { width:15px; height:15px; min-width:0; margin:0; padding:0; accent-color:var(--acid); cursor:pointer; }
.outlook-shortcut { display:inline-block; padding:7px 10px; color:var(--acid); border:1px solid var(--line); font:500 10px "DM Mono"; text-decoration:none; white-space:nowrap; }
.outlook-shortcut:hover { color:#091008; border-color:var(--acid); background:var(--acid); }
@media(max-width:760px){.outlook-hero{padding:18px 0}.outlook-hero .outlook-form{max-width:none;margin:0}}
