:root{--bg:#0b1220;--panel:#131f33;--line:#2c3a52;--text:#e5e7eb;--muted:#94a3b8;--green:#34d399;--yellow:#fbbf24;--red:#fb7185}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.45}.header,main{width:min(1500px,calc(100% - 32px));margin:auto}.header{padding:22px 0;display:flex;justify-content:space-between;align-items:center}h1{font-size:26px;margin:0}h2{font-size:18px;margin-top:0}h3{font-size:15px;margin-top:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.top-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.indicator-layout{display:grid;grid-template-columns:300px 1fr;gap:16px;margin-bottom:16px}.signal,.value{padding:10px 14px;border:1px solid var(--line);border-radius:8px}.positive{color:var(--green)}.warning{color:var(--yellow)}.negative{color:var(--red)}.signal.positive,.value.positive{border-color:var(--green)}.signal.warning,.value.warning{border-color:var(--yellow)}.signal.negative,.value.negative{border-color:var(--red)}.indicator-group{margin:0 0 18px}.group-title{color:#cbd5e1;margin:16px 0 6px;font-size:12px;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:6px}.indicator-group:first-child .group-title{margin-top:0}.indicator{width:100%;padding:11px 8px;border:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.indicator.active{background:#1f304b;border-radius:8px}.indicator small{font-size:10px;text-align:right}.detail-head{display:flex;justify-content:space-between;gap:20px}.value{display:flex;flex-direction:column;align-items:end}.value b{font-size:22px}.row{display:grid;grid-template-columns:100px 1fr 60px;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.row p,.news p{color:var(--muted);font-size:13px;margin:5px 0}.news{border-bottom:1px solid var(--line);padding:12px 0}.news a,a{color:#93c5fd;text-decoration:none}.news small,.muted{display:block;color:var(--muted);font-size:12px;margin-top:4px}.bar-row{display:grid;grid-template-columns:100px 1fr 65px;gap:8px;align-items:center;font-size:12px;margin:7px 0}.bar{height:7px;background:#24324a;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:#60a5fa;border-radius:10px}.error{padding:12px;background:#7f1d1d;color:#fff;text-align:center}.chart-placeholder{border:1px dashed var(--line);border-radius:10px;padding:22px;text-align:center;color:var(--muted);background:#0f1a2c;margin:10px 0}.chart-placeholder span{font-size:26px}.chart-placeholder p{color:var(--text);margin:6px 0 4px;font-size:13px}.cot-chart-box{border:1px solid var(--line);border-radius:10px;background:#0f1a2c;padding:10px 6px 4px;margin:10px 0}.cot-chart-box .uplot,.cot-chart-box .u-wrap{width:100%!important}@media(max-width:900px){.top-grid,.indicator-layout{grid-template-columns:1fr}.header{align-items:flex-start;flex-direction:column;gap:12px}.row{grid-template-columns:85px 1fr 50px}}
[hidden]{display:none!important}
.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.tab{padding:10px 18px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:15px;cursor:pointer}
.tab:hover{color:var(--text)}
.tab.active{color:var(--text);border-bottom-color:#60a5fa}
.source-note{margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.breadth-cards{margin-bottom:16px}
.status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.status-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--text);text-align:left;cursor:pointer;font:inherit}
.status-card:hover,.status-card.active{background:#1f304b}
.card-title{font-size:13px;color:#cbd5e1;letter-spacing:.03em}
.card-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px}
.card-row>span:first-child{color:var(--muted)}
.card-value{display:flex;align-items:baseline;gap:8px;text-align:right}
.card-value b{font-size:15px}
.card-value small{font-size:11px}
.breadth-detail{margin-top:12px}
.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.subject-block{min-width:0;margin-top:14px}
.subject-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.muted-inline{color:var(--muted);font-size:12px;font-weight:400}
.chip{padding:4px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:700;white-space:nowrap}
.chip.positive{border-color:var(--green)}
.chip.warning{border-color:var(--yellow)}
.chip.negative{border-color:var(--red)}
.chart-box .u-legend{color:var(--muted);font-size:12px}
.kv-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 18px;margin:8px 0}
.kv{display:flex;justify-content:space-between;gap:10px;font-size:13px;border-bottom:1px solid var(--line);padding:5px 0}
.kv span{color:var(--muted)}
.breadth-detail h4,.subject-block h4{font-size:14px;margin:16px 0 6px}
.breadth-note{line-height:1.6;margin-top:10px}
.breadth-error{padding:6px 0}
.table-scroll{overflow-x:auto}
.breadth-table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px}
.breadth-table th{padding:10px 12px;border-bottom:1px solid var(--line);color:#cbd5e1;font-size:12px;font-weight:600;text-align:right;white-space:nowrap;cursor:pointer;user-select:none}
.breadth-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-weight:700}
.breadth-table th:first-child,.breadth-table td:first-child{text-align:left}
.breadth-table td:first-child{font-weight:400}
.breadth-table td small{display:block;color:var(--muted);font-size:11px;font-weight:400}
.breadth-table tbody tr{cursor:pointer}
.breadth-table tbody tr:hover,.breadth-table tbody tr.active{background:#1f304b}
.breadth-detail-head{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:600px){.tab{padding:10px 12px}.subject-grid{grid-template-columns:1fr}}
.breadth-table-panel{margin-bottom:16px}
.breadth-cards>.muted{margin-top:8px}
.subject-block.stacked{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.breadth-table th.text-col,.breadth-table td.text-col{text-align:left;font-weight:400}
.cot-chart-box .u-legend{color:var(--muted);font-size:12px}
.view-toggle{display:flex;justify-content:flex-end;gap:6px;margin-bottom:14px}
.view-toggle:empty{display:none}
.view-toggle button{padding:6px 14px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.view-toggle button:hover{color:var(--text)}
.view-toggle button.active{background:#1f304b;color:var(--text)}
.split.is-list{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}
.split.is-list .side-list{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}
.side-item{align-items:baseline}
.side-values{display:flex;gap:10px;align-items:baseline;font-size:12px;white-space:nowrap}
.split.is-list .breadth-detail-head{margin-top:0;padding-top:0;border-top:0}
.split.is-list .breadth-detail-head+.subject-block.stacked{margin-top:6px;padding-top:0;border-top:0}
.split.is-list .kv-list{margin:10px 0 2px}
@media(max-width:900px){.split.is-list{grid-template-columns:1fr}.split.is-list .side-list{position:static;max-height:none}}
.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.panel-head h2{margin:0 0 14px}
.panel-head h2:empty{display:none}
.panel-head .view-toggle{margin-left:auto}
.side-item .side-caption{display:block;color:var(--muted);font-size:11px;margin-top:2px;text-align:left}
.tag{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.6;vertical-align:2px;white-space:nowrap}
h2 .tag{font-size:12px;vertical-align:3px}
.pair-guide{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.pair-guide h4{font-size:14px;margin:0 0 8px}
.pair-guide h4+.guide-signals{margin-top:0}
.guide-compare{font-size:13px;line-height:1.7;margin:0 0 12px}
.guide-states{display:grid;gap:8px;margin-bottom:16px}
.guide-state{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.6}
.guide-state.current{border-color:#60a5fa;background:#16243b}
.guide-state-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.guide-state-head .chip{font-size:12px;padding:2px 8px}
.guide-now{font-size:12px;font-weight:700;color:#93c5fd}
.guide-cond{color:var(--muted);font-size:12px}
.guide-signals{margin:0 0 12px;padding-left:18px;font-size:13px;line-height:1.6}
.guide-signals li{margin-bottom:8px}
.guide-signals b{font-weight:600}
.guide-caveat{font-size:12px;color:var(--muted);line-height:1.7;margin:0}
.guide-us{margin-top:8px}

/* Tracked items under a status card's detail (e.g. the most recent follow-through days). */
.tracked-list { margin-top: 10px; }
.tracked-list h4 { margin: 0 0 6px; font-size: 13px; }
.tracked-list ul { margin: 0; padding-left: 18px; }
.tracked-list li { margin: 0 0 6px; font-size: 13px; line-height: 1.45; }
.event-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 6px 8px 4px; font-size: 12px; color: var(--muted); }
.event-legend span { display: inline-flex; align-items: center; gap: 5px; }
.event-table { margin-top: 12px; }
.event-table h4 { margin: 0 0 6px; font-size: 13px; }
.event-table-scroll { overflow-x: auto; max-height: 320px; overflow-y: auto; }
.event-table table { width: 100%; border-collapse: collapse; font-size: 12px; white-space: nowrap; }
.event-table th { position: sticky; top: 0; background: var(--panel); color: var(--muted); font-weight: 600; text-align: left; padding: 5px 8px; border-bottom: 1px solid var(--line); }
.event-table td { padding: 5px 8px; border-bottom: 1px solid var(--line); color: var(--text); }
