:root{--surface-1: #fcfcfb;--page: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--series-2: #1baf7a;--series-3: #eda100;--series-4: #4a3aa7;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--good-text: #006300;--warning-text: #8a5a00;--serious-text: #a33f14;--critical-text: #b42323;--seq-200: #9ec5f4;--seq-400: #3987e5}@media(prefers-color-scheme:dark){:root{--surface-1: #1a1a19;--page: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #199e70;--series-3: #c98500;--series-4: #9085e9;--good-text: #3ec43e;--warning-text: #ffc247;--serious-text: #ff9a6e;--critical-text: #f06a6a;--seq-200: #184f95;--seq-400: #3987e5}}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--series-1);outline-offset:2px;border-radius:4px}body{margin:0;background:var(--page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;font-variant-numeric:tabular-nums}.app-header{display:flex;align-items:baseline;gap:16px;padding:14px 24px 0;flex-wrap:wrap}.app-header h1{font-size:17px;margin:0;font-weight:700}.app-header .sub{color:var(--text-muted);font-size:12px}.synthetic-banner{margin-left:auto;font-size:11px;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.tabs{display:flex;gap:4px;padding:10px 24px 0;border-bottom:1px solid var(--grid)}.tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font:inherit;font-weight:500;color:var(--text-secondary);cursor:pointer}.tabs button.active{color:var(--text-primary);border-bottom-color:var(--series-1)}.tabs button:hover{color:var(--text-primary)}.page{padding:18px 24px 48px;max-width:1440px;margin:0 auto}.grid{display:grid;gap:14px}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.panel.error{color:var(--critical-text);border-color:var(--status-critical)}.panel h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 10px;font-weight:600}.tile-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stat-tile.hero{grid-column:span 2}@media(min-width:640px){.tile-row{grid-template-columns:repeat(4,1fr)}}@media(min-width:1100px){.tile-row{grid-template-columns:repeat(8,1fr)}}.stat-tile{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.stat-tile .label{font-size:12px;color:var(--text-secondary)}.stat-tile .value{font-size:26px;font-weight:700;margin-top:2px;line-height:1.15}.stat-tile .hint{font-size:11px;color:var(--text-muted);margin-top:2px}.stat-tile.hero .label{font-size:13px;color:var(--text-primary);font-weight:600}.stat-tile.hero .value{font-size:40px}.stat-tile.hero .hint{font-size:12px;color:var(--text-secondary)}.tone-word{display:inline-block;margin-left:8px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:1px}.tone-word.good{color:var(--good-text);background:color-mix(in srgb,var(--status-good) 14%,transparent)}.tone-word.warning{color:var(--warning-text);background:color-mix(in srgb,var(--status-warning) 18%,transparent)}.tone-word.serious{color:var(--serious-text);background:color-mix(in srgb,var(--status-serious) 16%,transparent)}.tone-word.critical{color:var(--critical-text);background:color-mix(in srgb,var(--status-critical) 12%,transparent)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:999px;padding:1px 9px;border:1px solid var(--border)}.badge .dot{width:8px;height:8px;border-radius:50%}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;padding:5px 8px;border-bottom:1px solid var(--grid)}table.data td{padding:6px 8px;border-bottom:1px solid var(--grid)}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data tr:last-child td{border-bottom:none}table.data th.key{color:var(--text-primary)}table.data td.key{font-size:15px;border-left:1px solid var(--grid);border-right:1px solid var(--grid);background:color-mix(in srgb,var(--series-1) 5%,transparent)}table.data th.key{border-left:1px solid var(--grid);border-right:1px solid var(--grid)}.occ-bar{position:relative;height:8px;background:var(--grid);border-radius:4px;overflow:hidden;min-width:90px}.occ-bar>span{position:absolute;inset:0 auto 0 0;border-radius:4px}.scenario-card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.scenario-card.best{border-color:var(--status-good);box-shadow:0 0 0 1px var(--status-good)}.scenario-card .head{display:flex;justify-content:space-between;align-items:start;gap:8px}.scenario-card .risk{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.scenario-card h3{margin:0;font-size:14px}.scenario-card .desc{color:var(--text-secondary);font-size:13px;min-height:34px}.risk-number{font-size:30px;font-weight:700;line-height:1.1}.kv{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.kv b{color:var(--text-primary);font-variant-numeric:tabular-nums}.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:14px}.controls label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-secondary)}.controls input,.controls select{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--baseline);border-radius:6px;padding:5px 8px;font:inherit;width:90px}button.primary{background:var(--series-1);color:#fff;border:none;border-radius:7px;padding:7px 16px;font:inherit;font-weight:600;cursor:pointer}button.ghost{background:none;border:1px solid var(--baseline);color:var(--text-primary);border-radius:7px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}button.ghost:hover{border-color:var(--text-secondary)}button.ghost.active{border-color:var(--series-1);color:var(--series-1)}button.ghost.recommended{border-color:var(--series-1);color:var(--series-1);font-weight:600;background:color-mix(in srgb,var(--series-1) 10%,transparent)}button.ghost.recommended:hover{background:color-mix(in srgb,var(--series-1) 18%,transparent)}button:disabled{opacity:.55;cursor:not-allowed}.btn-row{display:flex;gap:4px;flex-wrap:wrap}.chart-tooltip{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 4px 14px #0000001f}.chart-tooltip .t{color:var(--text-muted);margin-bottom:4px}.chart-tooltip .row{display:flex;align-items:center;gap:6px}.chart-tooltip .swatch{width:8px;height:8px;border-radius:2px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary);margin:4px 0 2px}.legend .item{display:inline-flex;align-items:center;gap:6px}.legend .swatch{width:10px;height:3px;border-radius:2px}.verdict{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 18px;border-radius:10px;border:1px solid var(--border);background:var(--surface-1);scroll-margin-top:12px}.verdict .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.verdict h2{margin:2px 0 4px;font-size:22px;line-height:1.2;font-weight:700}.verdict .detail{font-size:13px;color:var(--text-secondary)}.verdict.good{border-color:color-mix(in srgb,var(--status-good) 45%,var(--border));background:color-mix(in srgb,var(--status-good) 7%,var(--surface-1))}.verdict.good h2{color:var(--good-text)}.verdict.warning{border-color:color-mix(in srgb,var(--status-warning) 55%,var(--border));background:color-mix(in srgb,var(--status-warning) 10%,var(--surface-1))}.verdict.warning h2{color:var(--warning-text)}.verdict.critical{border-color:color-mix(in srgb,var(--status-critical) 55%,var(--border));background:color-mix(in srgb,var(--status-critical) 7%,var(--surface-1))}.verdict.critical h2{color:var(--critical-text)}.verdict-action{font-weight:600;color:var(--series-1);text-decoration:none;white-space:nowrap;padding:8px 12px;border-radius:7px;border:1px solid color-mix(in srgb,var(--series-1) 40%,transparent)}.verdict-action:hover{background:color-mix(in srgb,var(--series-1) 10%,transparent)}#transfers{scroll-margin-top:12px}.freshness{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.freshness .dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.freshness.live .dot{background:var(--status-good)}.freshness.stale{color:var(--critical-text);font-weight:600}.freshness.stale .dot{background:var(--status-critical)}.freshness button.ghost{padding:1px 8px;font-size:11px;margin-left:4px}button.danger{background:var(--status-critical);color:#fff;border:none;border-radius:7px;padding:4px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.btn-row button.primary{padding:4px 10px;font-size:12px}.notice{font-size:12px;font-weight:600}.notice.good{color:var(--good-text)}.notice.critical{color:var(--critical-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--text-muted);font-size:12px}.section-gap{margin-top:14px}@media(max-width:720px){.app-header,.tabs,.page{padding-left:12px;padding-right:12px}.tabs{overflow-x:auto;scrollbar-width:none}.tabs button{white-space:nowrap;padding:8px 10px}.stat-tile.hero .value{font-size:32px}.panel{padding:12px}}
