:root{color-scheme:dark;--bg:#050505;--panel:#121212;--panel-border:#2b2b2b;--text:#f4f4f4;--muted:#8d8d8d;--positive:#4fd17a;--negative:#ff6464;--neutral:#aaa}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh;overflow-x:hidden}.shell{width:min(1500px,100%);margin:0 auto;padding:32px 40px 28px}.topbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{color:var(--muted);font-size:14px;letter-spacing:.18em;font-weight:700}h1{margin:2px 0 0;font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.04em}.status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:17px;padding-bottom:7px}.dot{width:11px;height:11px;border-radius:50%;background:var(--neutral);box-shadow:0 0 16px rgba(170,170,170,.45)}.dot.live{background:var(--positive);box-shadow:0 0 16px rgba(79,209,122,.55)}.ticker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ticker-card{min-height:270px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#171717,#0d0d0d);border:1px solid var(--panel-border);border-radius:22px;padding:24px;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.ticker-card:active{transform:scale(.985)}.ticker-card:focus-visible{outline:2px solid #eee;outline-offset:3px}.ticker-card.positive{border-color:rgba(79,209,122,.35)}.ticker-card.negative{border-color:rgba(255,100,100,.35)}.ticker-card.stale{opacity:.72}.card-top{display:flex;justify-content:space-between;align-items:start;gap:20px}.card-meta{display:flex;align-items:flex-start;gap:12px}.quote-time{color:var(--muted);font-size:11px;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:5px}.symbol{font-size:29px;font-weight:800;letter-spacing:-.02em}.company{color:var(--muted);font-size:14px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.direction{font-size:27px;color:var(--neutral)}.price{margin-top:16px;font-size:clamp(45px,5.2vw,74px);font-weight:750;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.change-row{display:flex;gap:16px;align-items:baseline;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.positive .change-row,.positive .direction,.detail-change.positive{color:var(--positive)}.negative .change-row,.negative .direction,.detail-change.negative{color:var(--negative)}.range-row{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;border-top:1px solid #252525;padding-top:10px;margin-top:3px}.year-range-row{border-top:0;padding-top:2px;margin-top:0}.range,.year-range{font-variant-numeric:tabular-nums;color:#bbb}footer{display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--muted);font-size:14px;margin-top:20px}button{appearance:none;border:1px solid #343434;border-radius:999px;background:#151515;color:var(--text);font:inherit;font-weight:700;padding:11px 20px;cursor:pointer}button:active{transform:scale(.98)}.error{grid-column:1/-1;border:1px solid rgba(255,100,100,.35);background:rgba(255,100,100,.07);border-radius:18px;padding:22px;color:#ffb2b2}.hidden{display:none!important}.detail-view{min-height:calc(100vh - 60px)}.detail-header{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}.back-button{margin-top:4px;font-size:17px}.detail-identity{display:grid;grid-template-columns:minmax(200px,1fr) auto;grid-template-areas:"identity price" "change change";align-items:end;column-gap:30px}.detail-identity>div:first-child{grid-area:identity}.detail-symbol{font-size:42px;font-weight:850;letter-spacing:-.03em}.detail-company{color:var(--muted);font-size:17px;margin-left:14px}.detail-price{grid-area:price;font-size:52px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-align:right}.detail-change{grid-area:change;text-align:right;font-size:19px;font-weight:750;margin-top:5px}.range-buttons{display:flex;gap:8px;justify-content:flex-end;margin:18px 0 12px;flex-wrap:wrap}.range-buttons button{padding:9px 17px;color:var(--muted)}.range-buttons button.active{background:#eee;color:#050505;border-color:#eee}.chart-panel{position:relative;background:linear-gradient(145deg,#111,#090909);border:1px solid var(--panel-border);border-radius:22px;padding:18px 20px 12px}.price-chart{display:block;width:100%;height:min(48vh,520px);overflow:visible}.chart-line{fill:none;stroke:#f1f1f1;stroke-width:4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:rgba(255,255,255,.055);stroke:none}.chart-baseline{stroke:#3a3a3a;stroke-width:1;stroke-dasharray:7 8;vector-effect:non-scaling-stroke}.chart-grid-line{stroke:#252525;stroke-width:1;vector-effect:non-scaling-stroke}.chart-y-label{fill:#9a9a9a;font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.chart-status{position:absolute;left:28px;top:24px;color:var(--muted);font-size:13px;z-index:2}.chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.detail-stats>div{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:14px 16px}.detail-stats span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.detail-stats strong{font-size:16px;font-variant-numeric:tabular-nums}@media(max-width:1050px){.ticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.shell{padding:22px 18px}.ticker-grid{grid-template-columns:1fr}.ticker-card{min-height:235px}.topbar{align-items:center}.status{font-size:14px;padding-bottom:0}.detail-header{grid-template-columns:1fr}.detail-identity{grid-template-columns:1fr;grid-template-areas:"identity" "price" "change"}.detail-price,.detail-change{text-align:left}.detail-price{margin-top:12px}.range-buttons{justify-content:flex-start}.detail-stats{grid-template-columns:1fr 1fr}.price-chart{height:42vh}.chart-y-label{font-size:18px}}@media(min-width:1100px) and (max-height:900px){.shell{padding-top:20px}.ticker-card{min-height:230px;padding:20px}.price{font-size:56px}.ticker-grid{gap:14px}.price-chart{height:43vh}.detail-stats>div{padding:11px 14px}}
