:root{color-scheme:light;--ink: #1c2430;--muted: #5d6b7c;--line: #d7dde5;--surface: #f4f7fb;--panel: #ffffff;--accent: #0f6e56;--danger: #9b2c2c;--font: "IBM Plex Sans", "Noto Sans SC", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top left,#e8f3ee 0%,transparent 42%),linear-gradient(180deg,#eef2f7 0%,var(--surface) 48%,#e9eef5 100%)}.app{max-width:1100px;margin:0 auto;padding:28px 20px 64px}.app__top{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:20px}.eyebrow{margin:0 0 4px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}h1,h2{margin:0;font-weight:650;letter-spacing:-.02em}h1{font-size:1.8rem}h2{font-size:1.25rem;margin-bottom:8px}.health{margin:0;padding:8px 12px;border:1px solid var(--line);background:var(--panel);font-size:.9rem}.tabs{display:flex;gap:8px;margin-bottom:20px}.tab{border:1px solid var(--line);background:transparent;color:var(--muted);padding:8px 14px;cursor:pointer;font:inherit}.tab--active{background:var(--panel);color:var(--ink);border-color:var(--ink)}.app__main{background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line);padding:20px}.page__header{margin-bottom:16px}.muted{color:var(--muted);font-size:.92rem;line-height:1.5}.error{color:#9b2c2c}.dataset-list{display:grid;gap:12px}.dataset-card{border:1px solid var(--line);background:var(--panel)}.dataset-card__toggle{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.dataset-card__chevron{color:var(--muted);font-size:.85rem}.dataset-card__body{padding:0 16px 16px;border-top:1px solid var(--line)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.metrics div{border:1px solid var(--line);padding:10px;display:grid;gap:4px}.metrics strong{font-size:1.05rem}.metrics span{color:var(--muted);font-size:.8rem}.table-wrap{overflow-x:auto;margin:8px 0 12px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f7fafc;font-weight:600}code{font-family:var(--mono);font-size:.85em}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.filters label,.radio-row{display:grid;gap:6px;font-size:.9rem}.filters select,.filters input[type=date]{font:inherit;padding:8px;border:1px solid var(--line);background:var(--panel)}.radio-row{border:1px solid var(--line);padding:8px 10px}.radio-row legend{padding:0 4px}.radio-row label{display:flex;align-items:center;gap:6px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chart{margin:0;border:1px solid var(--line);background:var(--panel);padding:8px 8px 4px}.market-chart{width:100%}.market-chart__canvas{width:100%;height:480px}.chart figcaption{font-size:.85rem;color:var(--muted);margin-bottom:4px}.chart svg{width:100%;height:auto;display:block}.chart-axis{font-size:10px;fill:var(--muted)}.stack-form{display:grid;gap:10px;margin:12px 0}.stack-form input,.stack-form textarea,.stack-form button,.transition-row input,.transition-row button,.page button,.page select{font:inherit;padding:8px;border:1px solid var(--line);background:var(--panel)}.page select[multiple]{min-height:8rem;width:100%}.stack-form textarea{min-height:72px}.code-block{white-space:pre-wrap;font-family:var(--mono);font-size:.85rem;background:#f7fafc;border:1px solid var(--line);padding:8px}.transition-row{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.check{display:flex;align-items:center;gap:6px}.model-panel{margin:0 0 16px;border:1px solid var(--line);background:var(--panel);padding:10px 12px 12px}.model-panel summary{cursor:pointer;font-weight:600}.aux-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.aux-row{display:grid;grid-template-columns:minmax(0,1.4fr) 90px 120px auto auto auto;gap:8px;align-items:end;border:1px solid var(--line);padding:8px}.aux-row strong{font-size:.9rem}.aux-row label{display:grid;gap:4px;font-size:.8rem}@media(max-width:720px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.filters,.chart-grid,.aux-row{grid-template-columns:1fr}.app__top{flex-direction:column;align-items:flex-start}}
