:root{--bg: #050607;--panel: #0b0d0f;--panel-edge: #1c2126;--line: #232a31;--text: #d6dbe0;--dim: #7d8892;--faint: #525c64;--amber: #ffb000;--green: #2fd47c;--red: #ff4d4d;--blue: #4da3ff;--purple: #b98cff;--mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--sans: "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg)}body{color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}.terminal{max-width:1440px;margin:0 auto;padding:0 14px 28px}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 2px 10px;border-bottom:1px solid var(--line)}.topbar h1{font-family:var(--mono);font-size:17px;font-weight:700;letter-spacing:1px;color:var(--amber);display:inline}.subtitle{margin-left:10px;font-size:12.5px;color:var(--dim)}.topbar-right{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;color:var(--faint);flex-wrap:wrap}.mode-badge{padding:2px 8px;border:1px solid var(--line);border-radius:3px;font-size:11px}.mode-badge.live{color:var(--green);border-color:#2fd47c66}.mode-badge.baked{color:var(--amber);border-color:#ffb00059}.overall{padding:2px 10px;border-radius:3px;font-size:11.5px;font-weight:700}.overall.ok{color:var(--green);background:#2fd47c1f}.overall.warn{color:var(--amber);background:#ffb0001f}.overall.danger{color:var(--red);background:#ff4d4d24}.ticker{overflow:hidden;border-bottom:1px solid var(--line);padding:6px 0;white-space:nowrap}.ticker-track{display:inline-block;animation:ticker-scroll 60s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-item{font-family:var(--mono);font-size:11.5px;color:var(--dim);margin-right:34px}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.ticker-track{animation:none}}.panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:4px;margin-top:14px;padding:12px 14px 14px}.panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}.panel-head h2{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.8px;color:var(--text)}.panel-head h2:before{content:"▮ ";color:var(--amber)}.panel-note{font-size:11px;color:var(--faint)}.panel-intro{font-size:11.5px;color:var(--dim);line-height:1.7;margin-top:8px}.amber{color:var(--amber)}.corridor-track{position:relative;height:108px;margin:14px 4% 6px}.corridor-rail{position:absolute;left:0;right:0;top:54px;height:2px;background:var(--line)}.rail-mark,.mkt-mark{position:absolute;top:54px;transform:translate(-50%)}.rail-mark:before,.mkt-mark:before{content:"";position:absolute;left:50%;transform:translate(-50%);top:-7px;width:2px;height:16px}.rail-mark.floor:before{background:var(--purple)}.rail-mark.soft:before{background:var(--amber)}.rail-mark.hard:before{background:var(--red)}.mark-label,.mark-who{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;text-align:center}.mark-label{top:12px;font-family:var(--mono);font-size:10.5px;color:var(--dim)}.mark-who{top:28px;font-size:10px;color:var(--faint)}.mkt-mark:before{top:-10px;width:10px;height:10px;border-radius:50%}.mkt-mark.effr:before{background:var(--green)}.mkt-mark.sofr:before{background:var(--amber);box-shadow:0 0 8px #ffb0008c}.mkt-label,.mkt-who{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;text-align:center}.mkt-label{top:-30px;font-family:var(--mono);font-size:11px;font-weight:700}.mkt-mark.effr .mkt-label{color:var(--green)}.mkt-mark.sofr .mkt-label{color:var(--amber)}.mkt-who{top:-16px;font-size:9.5px;color:var(--faint)}.spread-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.spread-cell{border:1px solid var(--line);border-left-width:3px;border-radius:3px;padding:7px 10px;background:#ffffff04}.spread-cell.ok{border-left-color:var(--green)}.spread-cell.warn{border-left-color:var(--amber)}.spread-cell.danger{border-left-color:var(--red)}.spread-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.spread-label{font-family:var(--mono);font-size:10.5px;color:var(--dim)}.spread-value{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--text)}.spread-cell.warn .spread-value{color:var(--amber)}.spread-cell.danger .spread-value{color:var(--red)}.spread-note{font-size:10.5px;color:var(--faint);margin-top:3px;line-height:1.5}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.card{border:1px solid var(--line);border-radius:4px;padding:10px 12px 11px;background:#ffffff04;display:flex;flex-direction:column}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-code{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.5px}.card-status{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--dim)}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.status-dot.ok{background:var(--green)}.status-dot.warn{background:var(--amber)}.status-dot.danger{background:var(--red)}.status-dot.neutral{background:var(--faint)}.card-name{font-size:13.5px;font-weight:600;margin-top:3px}.card-value-row{display:flex;align-items:baseline;gap:10px;margin-top:4px;flex-wrap:wrap}.card-value{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--amber);font-variant-numeric:tabular-nums}.delta{font-family:var(--mono);font-size:11px}.delta.good{color:var(--green)}.delta.bad{color:var(--red)}.delta.flat{color:var(--faint)}.sparkline{margin-top:6px}.card-asof{font-family:var(--mono);font-size:9.5px;color:var(--faint);margin-top:2px}.card-peak{margin-top:7px}.peak-line{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:var(--dim)}.peak-line span:last-child{color:var(--amber)}.range-wrap{margin-top:4px}.range-bar{position:relative;height:4px;border-radius:2px;background:linear-gradient(90deg,#2fd47c40,#ffb00059,#ff4d4d59)}.range-bar i{position:absolute;top:-3px;width:3px;height:10px;border-radius:1px;background:var(--text);transform:translate(-50%);box-shadow:0 0 5px #d6dbe099}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--faint);margin-top:3px}.card-intro{font-size:11px;color:var(--dim);line-height:1.65;margin-top:7px;border-top:1px dashed var(--line);padding-top:7px}.alert-count{font-family:var(--mono);font-size:11.5px}.ok-text{color:var(--green)}.warn-text{color:var(--amber)}.danger-text{color:var(--red)}.alert-list{list-style:none;margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.alert-item{display:flex;gap:10px;border:1px solid var(--line);border-radius:4px;padding:8px 11px;background:#ffffff03;align-items:flex-start}.alert-item.on{border-color:#ffb00059;background:#ffb0000a}.alert-pill{font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 7px;border-radius:3px;flex-shrink:0;margin-top:1px}.alert-pill.on{background:var(--amber);color:#111}.alert-pill.off{background:#2fd47c26;color:var(--green)}.alert-pill.na{background:#7d889226;color:var(--dim)}.alert-name-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12.5px}.alert-detail{font-family:var(--mono);font-size:10.5px;color:var(--faint)}.alert-intro{font-size:10.5px;color:var(--dim);line-height:1.6;margin-top:3px}.footer{margin-top:16px;padding-top:10px;border-top:1px solid var(--line);font-size:10.5px;color:var(--faint);line-height:1.8}.boot{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.boot-loading{font-family:var(--mono);color:var(--amber);font-size:13px;letter-spacing:2px;animation:blink 1.2s steps(2) infinite}@keyframes blink{50%{opacity:.25}}.boot-error{color:var(--red);font-family:var(--mono);font-size:13px}.boot-hint{color:var(--dim);font-size:12px}@media (max-width: 1080px){.card-grid,.spread-grid{grid-template-columns:repeat(2,1fr)}.alert-list{grid-template-columns:1fr}}@media (max-width: 640px){.card-grid,.spread-grid{grid-template-columns:1fr}.card-value{font-size:19px}.mkt-who,.mark-who{display:none}.corridor-track{margin:14px 8% 6px}}
