:root{color-scheme:dark;--bg:#0b1016;--panel:#111a23;--panel-hover:#17232e;--border:#25313e;--text:#edf3f7;--muted:#95a7b7;--faint:#657b8e;--mint:#62e4bb;--red:#ff8a92;--amber:#eabb77;--radius:12px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--mint)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}button{color:inherit}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}button[hidden],[hidden]{display:none!important}.muted{color:var(--muted)}.up{color:var(--mint)}.down{color:var(--red)}
.topbar{min-height:89px;padding:20px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:20px;background:#0e151d}.brand{display:flex;align-items:center;gap:13px;color:var(--text);font-size:.95rem;font-weight:730;letter-spacing:.09em;line-height:1.5;flex-shrink:0}.brand:hover{text-decoration:none}.brand-sub{display:block;color:var(--faint);font-size:.65rem;letter-spacing:.18em}.header-right{display:flex;align-items:center;gap:20px}.date-label{font-size:.8rem;color:var(--muted)}.quiet-button,.icon-button{background:transparent;border:1px solid var(--border);border-radius:7px;min-height:40px}.quiet-button{font-size:.875rem;padding:6px 12px;display:flex;align-items:center;gap:7px}.quiet-button>span{font-size:1.35rem}.icon-button{display:grid;place-items:center;width:40px}.quiet-button:hover,.icon-button:hover{background:var(--panel-hover)}
.workspace{max-width:1600px;margin:0 auto;padding:36px clamp(20px,4vw,64px) 0}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-intro h1{font-size:1.7rem;letter-spacing:-.04em;font-weight:580;margin:0}.refresh-meta{font-size:.75rem;color:var(--muted);display:flex;gap:12px;align-items:center}.separator{color:var(--border)}.banner{font-size:.875rem;line-height:1.5;padding:12px 16px;background:#332817;border:1px solid #655031;border-radius:8px;margin-bottom:20px;color:#f5d29d}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:32px;align-items:start}.quotes-column{display:grid;gap:25px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;gap:12px}.section-heading h2{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:680;color:#b8c8d5}.section-heading>span{font-size:.75rem;color:var(--faint)}.cards{display:grid;gap:10px}.cards-three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-card{position:relative;text-align:left;min-width:0;overflow:hidden;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);padding:17px 16px 12px;transition:border-color .15s,background .15s}.quote-card:hover{background:var(--panel-hover);border-color:#475a6b}.quote-card.selected{border-color:var(--mint);background:#12251f;box-shadow:inset 0 2px 0 -1px var(--mint)}.quote-card .ticker{display:block;font-size:.75rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.quote-card .name{display:block;font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.quote-card .price{display:block;font-size:1.4rem;font-weight:580;letter-spacing:-.04em;margin-top:14px;line-height:1.2}.quote-card .change{display:flex;align-items:center;font-size:.8rem;margin-top:6px;gap:5px}.quote-card .sparkline{width:100%;height:32px;margin-top:12px;display:block}.quote-card .quote-time{font-size:.65rem;color:var(--faint);display:block;margin-top:7px}.quote-card.unavailable .price{font-size:1.05rem;color:var(--muted);letter-spacing:0;margin-top:17px}.quote-card.unavailable .change{color:var(--amber);font-size:.75rem}.quote-card.unavailable .sparkline{opacity:.3}.cards-two .quote-card{padding-bottom:13px}.cards-two .quote-card .sparkline{position:absolute;right:16px;top:62px;width:34%;height:42px;margin:0}.cards-two .quote-card .price{font-size:1.55rem}.cards-two .quote-card .change{max-width:60%}#crypto .quote-card{padding:15px 18px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;column-gap:15px}#crypto .card-label{grid-column:1;grid-row:1 / 4}#crypto .price{grid-column:2;grid-row:1;margin:0;font-size:1.55rem}#crypto .change{grid-column:2;grid-row:2}#crypto .sparkline{grid-column:3;grid-row:1 / 3;height:38px;margin:0}#crypto .quote-time{grid-column:2 / 4;grid-row:3}
.chart-column{position:sticky;top:25px;min-width:0}.chart-panel{border:1px solid var(--border);border-radius:16px;background:linear-gradient(140deg,#15212c 0%,#101922 54%);padding:26px 24px 22px;overflow:hidden}.chart-eyebrow{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--faint);font-size:.7rem;font-weight:620;letter-spacing:.11em}.market-state{font-size:.75rem;letter-spacing:0;font-weight:400;color:var(--muted)}.chart-title-line{display:flex;align-items:center;gap:12px;margin-top:23px}.chart-title-line h2{font-size:1.45rem;font-weight:560;margin:0;letter-spacing:-.03em}.ticker-tag{font-size:.7rem;border:1px solid #364654;color:var(--muted);border-radius:5px;padding:4px 6px;white-space:nowrap}.chart-price{font-size:clamp(2.2rem,3.8vw,3.6rem);font-weight:540;letter-spacing:-.055em;line-height:1.1;margin-top:13px;min-height:1.1em}.chart-price .unit{font-size:.875rem;letter-spacing:0;color:var(--muted);margin-left:10px;font-weight:400}.chart-change{font-size:.875rem;margin-top:10px;min-height:22px}.chart-change .period-label{color:var(--muted);margin-left:8px;font-size:.75rem}.chart-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;min-height:34px}.range-buttons{display:flex;background:#0d151e;border-radius:7px;padding:3px;gap:2px}.range-buttons button{background:none;border:0;color:var(--muted);padding:7px 10px;border-radius:5px;font-size:.75rem;min-height:31px}.range-buttons button[aria-pressed=true]{background:#2c3c4b;color:var(--text)}.range-buttons button:hover{color:var(--text)}.small-meta{font-size:.7rem;color:var(--faint);text-align:right}.plot{position:relative;width:100%;min-height:245px;margin-top:20px;touch-action:pan-y}.plot svg{display:block;width:100%;height:auto;overflow:visible}.chart-empty{height:275px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font-size:.95rem;line-height:1.6;color:var(--muted);max-width:100%;padding:24px}.chart-empty a{margin-top:14px;font-size:.875rem}.chart-readout{min-height:22px;margin:5px 0 15px;font-size:.8rem;color:var(--muted);text-align:center}.chart-readout strong{color:var(--text);margin-left:10px;font-weight:560}.detail-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);padding:18px 0;margin-top:4px;gap:15px}.detail-stats>div{display:flex;flex-direction:column;gap:8px;min-width:0}.detail-stats span{font-size:.7rem;color:var(--muted)}.detail-stats strong{font-size:.95rem;font-weight:560}.source-note{position:relative;margin-top:20px;font-size:.75rem;color:var(--muted);line-height:1.65}.source-note>div{display:flex;flex-wrap:wrap;gap:4px 12px;padding-right:68px}.source-note p{margin:3px 0 0;color:var(--faint);max-width:90%}.source-note>a{position:absolute;right:0;top:0;font-size:.75rem}.chart-hint{margin:13px 9px;color:var(--faint);font-size:.75rem;line-height:1.5}
.treasury-panel{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:#101922}.treasury-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:.8rem;color:var(--muted)}.text-button{border:0;background:transparent;padding:7px 0;color:var(--mint);font-size:.8rem}.maturities{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.maturity{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid transparent;border-radius:7px;background:#182430;padding:10px 8px}.maturity:hover,.maturity.selected{border-color:var(--mint)}.maturity .term{font-size:.7rem;color:var(--muted)}.maturity .yield{font-size:.85rem;font-weight:620;white-space:nowrap}.maturity .bps{font-size:.65rem;white-space:nowrap}.treasury-caption{font-size:.7rem;color:var(--faint);margin-top:15px;line-height:1.5}footer{border-top:1px solid var(--border);margin-top:36px;padding:24px 0;display:flex;justify-content:space-between;gap:20px;color:var(--faint);font-size:.7rem;line-height:1.5}.footer-divider{padding:0 12px;color:var(--border)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 50% 20%,#142b27 0%,#0b1016 62%)}.login-card{width:100%;max-width:420px;border:1px solid var(--border);border-radius:20px;background:#111a23;padding:40px}.eyebrow{letter-spacing:.15em;font-size:.7rem;color:var(--mint);margin:22px 0 12px}.login-card h1{font-weight:550;letter-spacing:-.05em;font-size:2.4rem;margin:0}.login-intro{font-size:.95rem;color:var(--muted);margin:12px 0 32px}.login-card label{display:block;margin-bottom:10px;font-size:.875rem}.login-card input{width:100%;border:1px solid #425568;border-radius:8px;background:#0b121a;color:var(--text);height:52px;padding:10px 14px;letter-spacing:.25em;font-size:1.35rem}.primary-button{width:100%;border:0;border-radius:8px;margin-top:17px;background:var(--mint);color:#0b241b;min-height:48px;font-size:.95rem;font-weight:650}.primary-button:hover{background:#8af1d0}.login-note{font-size:.8rem;text-align:center;color:var(--muted);line-height:1.65;margin-top:20px}.login-error{font-size:.875rem;color:var(--red);line-height:1.5;margin:14px 0 0;min-height:1px}
@media(min-width:1500px){.quote-card .price{font-size:1.55rem}.chart-panel{padding:32px}.quotes-column{gap:28px}}
@media(max-width:1150px){.dashboard-grid{gap:22px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.workspace{padding:28px 24px 0}.topbar{padding:18px 24px}.quote-card{padding:14px 11px 10px}.quote-card .price{font-size:1.15rem}.cards-two .quote-card .price{font-size:1.3rem}.chart-panel{padding:23px 17px}.maturities{grid-template-columns:repeat(5,minmax(0,1fr))}.refresh-meta{font-size:.7rem}.chart-controls{gap:6px}.range-buttons button{padding:7px 8px}.small-meta{font-size:.65rem}.cards-two .quote-card .sparkline{width:28%}.date-label{display:none}}
@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr;gap:25px}.chart-column{position:static;grid-row:1}.chart-panel{padding:24px}.quotes-column{grid-row:2}.chart-hint{display:none}.plot{max-height:none;margin-top:12px}.plot svg{max-height:320px}.chart-price{font-size:3.4rem}.page-intro{align-items:flex-start;margin-bottom:22px}.page-intro h1{font-size:1.5rem}.refresh-meta{display:block;text-align:right;line-height:1.7}.refresh-meta .separator{display:none}.refresh-meta>span:last-child{display:block}.quote-card .price{font-size:1.5rem}.cards-two .quote-card .price{font-size:1.65rem}.cards-two .quote-card .sparkline{width:40%}.maturities{grid-template-columns:repeat(7,minmax(0,1fr))}.section-heading h2{font-size:.8rem}}
@media(max-width:500px){.topbar{padding:16px;min-height:77px}.brand{font-size:.8rem;gap:9px}.brand-sub{font-size:.6rem}.header-right{gap:8px}.quiet-button{font-size:.8rem;padding:5px 9px}.workspace{padding:25px 16px 0}.page-intro{gap:10px;align-items:center}.page-intro h1{font-size:1.3rem}.refresh-meta{font-size:.65rem}.chart-panel{padding:20px 16px;border-radius:12px}.chart-eyebrow{font-size:.65rem}.market-state{font-size:.7rem}.chart-title-line{margin-top:20px}.chart-title-line h2{font-size:1.3rem}.chart-price{font-size:2.8rem}.chart-change{font-size:.8rem}.chart-controls{margin-top:20px}.small-meta{max-width:85px}.plot{min-height:190px}.detail-stats{gap:10px;padding:15px 0}.detail-stats span{font-size:.65rem}.detail-stats strong{font-size:.85rem}.quote-card{padding:13px 11px 10px}.quote-card .price{font-size:1.2rem}.quote-card .ticker{font-size:.7rem}.quote-card .name{font-size:.65rem}.quote-card .change{font-size:.7rem;gap:3px}.quote-card .quote-time{font-size:.6rem}.cards{gap:8px}.cards-two .quote-card .price{font-size:1.45rem}.cards-two .quote-card .sparkline{width:27%;right:10px}.cards-two .quote-card .change{max-width:75%}#crypto .quote-card{grid-template-columns:1fr 1.2fr .8fr;padding:15px 13px;gap:4px 8px}#crypto .price{font-size:1.45rem}.section-heading>span{font-size:.65rem}.maturities{grid-template-columns:repeat(4,minmax(0,1fr))}.maturity .yield{font-size:1rem}.maturity .term{font-size:.75rem}.maturity .bps{font-size:.7rem}.treasury-panel{padding:14px}.source-note>div{padding-right:0}.source-note>a{position:static;display:inline-block;margin-top:8px}.source-note p{max-width:100%}footer{display:block;font-size:.7rem;margin-top:28px}footer>span{display:block;margin-bottom:10px}.login-card{padding:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep secondary text readable, including at narrow phone widths. */
.brand-sub,.quote-card .quote-time,.chart-eyebrow,.ticker-tag,.small-meta,.detail-stats span,.section-heading>span,.refresh-meta,.source-note,.source-note>a,.chart-hint,.treasury-caption,footer,.eyebrow{font-size:.75rem}
.quote-card .ticker,.quote-card .change,.maturity .term,.maturity .bps,.range-buttons button,.treasury-toolbar,.text-button{font-size:.875rem}
.quote-card .name{font-size:.75rem}
.curve-title{font-size:2.2rem;letter-spacing:-.04em}
@media(max-width:1150px){.cards-two .quote-card .sparkline{position:static;width:100%;height:28px;margin-top:12px}.cards-two .quote-card .change{max-width:none}}
@media(max-width:380px){.cards-three .quote-card{padding-left:8px;padding-right:8px}.cards-three .quote-card .price{font-size:1rem}.cards-three .quote-card .ticker{font-size:.75rem}.cards-two .quote-card .price{font-size:1.2rem}.maturities{grid-template-columns:repeat(3,minmax(0,1fr))}}
