:root{color-scheme:light;--slate-25: #EFF3F5;--slate-50: #F7F9FA;--slate-100: #E2E8EC;--slate-200: #C8D2D8;--slate-300: #A3B0B9;--slate-400: #A3B0B9;--slate-500: #7C8B96;--slate-600: #5B6B76;--slate-700: #43525C;--slate-800: #2E3B44;--slate-850: #1D272E;--slate-900: #0F171C;--teal-200: #A4D6DA;--teal-400: #2A9AA3;--teal-500: #0E7C86;--teal-600: #0A626B;--teal-700: #074C53;--teal-50: #E7F2F3;--surface-page: var(--slate-50);--surface-card: #FFFFFF;--surface-sunken: var(--slate-25);--surface-inverse: var(--slate-900);--text-strong: var(--slate-900);--text-body: var(--slate-850);--text-muted: var(--slate-600);--text-faint: var(--slate-400);--border-hairline: var(--slate-100);--border-default: var(--slate-200);--border-inverse: #33454F;--warn-fg: #B5760C;--warn-bg: #FAEDD2;--info-fg: #1F6FEB;--info-bg: #DEEAFD;--chart-grid: #DDE4E8;--chart-tick: var(--slate-400);--chart-axis: var(--slate-200);--chart-cursor: var(--teal-500);--chart-ink: var(--slate-800);--chart-bg: var(--surface-card);--series-min: #1B4F87;--series-mean: #2E3B44;--series-max: #8E2A22;--r-badge: 3px;--r-control: 5px;--r-card: 8px;--r-panel: 12px;--shadow-xs: 0 1px 1px rgba(15, 23, 28, .05);--shadow-md: 0 4px 10px -2px rgba(15, 23, 28, .1), 0 0 0 1px rgba(15, 23, 28, .06);--shadow-lg: 0 12px 28px -6px rgba(15, 23, 28, .22);--ring-focus: 0 0 0 3px rgba(42, 154, 163, .35);--ease: cubic-bezier(.2, 0, .2, 1);--dur-tip: 80ms;--dur-state: .13s;--dur-panel: .2s;--font-ui: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-data: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ls-caps: .08em;--ls-tight: -.02em;--page: var(--surface-page);--surface-1: var(--surface-card);--text-primary: var(--text-strong);--text-secondary: var(--text-muted);--grid: var(--chart-grid);--baseline: var(--border-default);--border: var(--border-hairline);--accent: var(--teal-500);--accent-soft: var(--teal-50);--series-1: var(--series-min);--series-2: var(--series-mean);--series-3: var(--series-max)}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--surface-page: #0A1116;--surface-card: var(--slate-900);--surface-sunken: #16222A;--text-strong: var(--slate-25);--text-body: var(--slate-200);--text-muted: var(--slate-400);--text-faint: var(--slate-500);--border-hairline: var(--border-inverse);--border-default: #3F535F;--teal-50: rgba(42, 154, 163, .16);--chart-grid: #2A3A44;--chart-tick: var(--slate-500);--chart-axis: var(--border-inverse);--chart-cursor: var(--teal-400);--chart-ink: var(--slate-200);--accent: var(--teal-400);--series-min: #4E8FD0;--series-mean: #9FB0BC;--series-max: #D06A5E;--warn-bg: rgba(181, 118, 12, .18);--info-bg: rgba(31, 111, 235, .18);--shadow-xs: 0 1px 1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 10px -2px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .06)}}:root[data-theme=dark]{color-scheme:dark;--surface-page: #0A1116;--surface-card: var(--slate-900);--surface-sunken: #16222A;--text-strong: var(--slate-25);--text-body: var(--slate-200);--text-muted: var(--slate-400);--text-faint: var(--slate-500);--border-hairline: var(--border-inverse);--border-default: #3F535F;--teal-50: rgba(42, 154, 163, .16);--chart-grid: #2A3A44;--chart-tick: var(--slate-500);--chart-axis: var(--border-inverse);--chart-cursor: var(--teal-400);--chart-ink: var(--slate-200);--accent: var(--teal-400);--series-min: #4E8FD0;--series-mean: #9FB0BC;--series-max: #D06A5E;--warn-bg: rgba(181, 118, 12, .18);--info-bg: rgba(31, 111, 235, .18);--shadow-xs: 0 1px 1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 10px -2px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--surface-page);color:var(--text-body);font:400 15px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}.mono-num,.tabnum{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1}.eyebrow{font:500 11px/1 var(--font-ui);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}.app{max-width:1240px;margin:0 auto;padding:20px 16px 48px;display:flex;flex-direction:column;gap:12px}.topbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;padding:10px 16px;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--r-card);box-shadow:var(--shadow-xs)}.wordmark{display:flex;align-items:baseline;gap:2px;font-size:19px;letter-spacing:var(--ls-tight);flex:none}.wordmark span:nth-child(1){color:var(--text-strong)}.wordmark span:nth-child(2){color:var(--teal-500)}.wordmark span:nth-child(3){color:var(--text-muted);font-size:15px}:root[data-theme=dark] .wordmark span:nth-child(2){color:var(--teal-400)}.vrule{width:1px;align-self:stretch;min-height:24px;background:var(--border-hairline);flex:none}.ident{flex:none;display:flex;flex-direction:column;gap:2px;min-width:0}.ident .name{font:500 14px/1 var(--font-ui);color:var(--text-body);white-space:nowrap}.ident .meta{font:400 11px/1 var(--font-data);color:var(--text-muted);white-space:nowrap;font-feature-settings:"tnum" 1,"zero" 1}.topbar .spacer{flex:1 1 16px;min-width:16px}.topbar .right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stepcount{font:400 11px/1 var(--font-data);color:var(--text-muted);min-width:74px;text-align:right;font-feature-settings:"tnum" 1,"zero" 1}.respick{display:flex;gap:4px}.respick .slot{position:relative;display:flex}.respick>.slot>button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;font:500 12px/1 var(--font-ui);border:1px solid var(--border-default);border-radius:var(--r-control);background:var(--surface-card);color:var(--text-strong);cursor:pointer;white-space:nowrap;transition:background var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease)}.respick>.slot>button:hover{background:var(--surface-sunken)}.respick>.slot>button[aria-pressed=true]{background:var(--teal-500);border-color:var(--teal-500);color:#fff}.respick>.slot>button[aria-pressed=true]:hover{background:var(--teal-600);border-color:var(--teal-600)}.respick>.slot>button:active{transform:translateY(.5px)}.respick>.slot>button:focus-visible{outline:none;box-shadow:var(--ring-focus)}.respick .sep{opacity:.55}.respick .caret{font-size:9px;opacity:.72}.respick .menu{position:absolute;top:36px;left:0;z-index:80;min-width:214px;padding:4px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--r-control);box-shadow:var(--shadow-md)}.respick .mhead{padding:6px 8px;font:500 10px/1 var(--font-ui);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-faint)}.respick .menu button{width:100%;display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border:none;border-radius:var(--r-badge);cursor:pointer;text-align:left;background:transparent;color:var(--text-body);font:500 12px/1 var(--font-ui)}.respick .menu button:hover{background:var(--surface-sunken)}.respick .menu button[aria-checked=true]{color:var(--text-strong)}.respick .menu .tick{width:12px;flex:none;color:var(--teal-500);font-size:11px}.respick .menu .hint{margin-left:auto;font:400 10.5px/1 var(--font-data);color:var(--text-faint)}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;font:500 11.5px/1 var(--font-ui);border:1px solid var(--border-default);border-radius:999px;padding:0 10px;background:var(--surface-card);color:var(--text-muted);white-space:nowrap}.chip.progress{font-family:var(--font-data);font-feature-settings:"tnum" 1,"zero" 1;border-color:transparent;background:var(--info-bg);color:var(--info-fg)}.chip.buffer{border-color:transparent;background:var(--warn-bg);color:var(--warn-fg)}.controls{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--r-card);box-shadow:var(--shadow-xs);padding:10px 16px}.btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-control);border:1px solid var(--border-default);background:var(--surface-card);color:var(--slate-700);cursor:pointer;transition:background var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease)}.btn:hover{background:var(--surface-sunken);border-color:var(--slate-400)}.btn:active{transform:translateY(.5px)}.btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}.btn.play{width:42px;background:var(--teal-500);border-color:var(--teal-500);color:#fff}.btn.play:hover{background:var(--teal-600);border-color:var(--teal-600)}.btn svg{display:block}.seg{display:inline-flex;gap:4px}.seg button{display:inline-flex;align-items:center;height:26px;padding:0 10px;font:500 12px/1 var(--font-ui);border:1px solid var(--border-default);border-radius:var(--r-control);background:var(--surface-card);color:var(--text-strong);cursor:pointer;white-space:nowrap;transition:background var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease),color var(--dur-state) var(--ease)}.seg button:hover{background:var(--surface-sunken)}.seg button[aria-pressed=true]{background:var(--teal-500);border-color:var(--teal-500);color:#fff}.seg button[aria-pressed=true]:hover{background:var(--teal-600);border-color:var(--teal-600)}.seg button:active{transform:translateY(.5px)}.seg button:focus-visible{outline:none;box-shadow:var(--ring-focus)}.seg button:disabled{opacity:.45;cursor:default;background:var(--surface-sunken)}.seg button:disabled:hover{transform:none}.seg.num button{font-family:var(--font-data);font-feature-settings:"tnum" 1,"zero" 1}.scrubwrap{position:relative;flex:1 1 160px;min-width:140px;display:flex;align-items:center}.scrubwrap .scrub{flex:1 1 auto;min-width:0}.scrubtip{position:absolute;bottom:calc(100% - 2px);transform:translate(-50%);z-index:20;pointer-events:none;white-space:nowrap;padding:4px 7px;border-radius:var(--r-badge);background:var(--surface-inverse);color:var(--slate-25);font:500 11px/1 var(--font-data);font-feature-settings:"tnum" 1,"zero" 1;box-shadow:var(--shadow-md)}.card:fullscreen>.controls,.card.fsfake>.controls{flex:none;border:0;border-bottom:1px solid var(--border-hairline);border-radius:0;box-shadow:none;margin:-12px -16px 0}.card:fullscreen>.controls+.maphead,.card.fsfake>.controls+.maphead{padding-top:14px}.scrub{flex:1 1 160px;min-width:140px;height:32px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;margin:0}.scrub::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--teal-500) var(--p, 0%),var(--border-default) var(--p, 0%))}.scrub::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;margin-top:-4.5px;background:var(--teal-500);border:2px solid var(--surface-card);box-shadow:0 0 0 1px var(--border-default)}.scrub::-moz-range-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--teal-500) var(--p, 0%),var(--border-default) var(--p, 0%))}.scrub::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--teal-500);border:2px solid var(--surface-card)}.scrub:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:4px}.dateinput{font:400 12.5px/1 var(--font-data);color:var(--text-strong);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--r-control);padding:6px 8px;cursor:pointer;font-feature-settings:"tnum" 1,"zero" 1}.dateinput:focus-visible{outline:none;box-shadow:var(--ring-focus)}.datebox{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;flex:none;text-align:right}.datebox .date{font:500 15px/1.1 var(--font-data);color:var(--text-strong);font-feature-settings:"tnum" 1,"zero" 1;white-space:nowrap;min-width:7.4em}.datebox .n{font:400 11px/1 var(--font-data);color:var(--text-muted);white-space:nowrap;min-width:19ch;font-feature-settings:"tnum" 1,"zero" 1}.speedlabel{font:500 11px/1 var(--font-ui);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.workspace{display:flex;gap:12px;align-items:flex-start;min-width:0}.maincol{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:12px}.rail{flex:none;width:296px;align-self:flex-start;display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--r-card);box-shadow:var(--shadow-xs);overflow:hidden;transition:width var(--dur-panel) var(--ease)}.rail.closed{width:46px}.railclosed{flex:1;display:flex;flex-direction:column;align-items:center;gap:16px;padding:12px 0}.eyebrow.vert{writing-mode:vertical-rl;white-space:nowrap}.railhead{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-hairline)}.railhead .collapse{height:24px;padding:0 8px;display:inline-flex;align-items:center;gap:4px;font:500 11px/1 var(--font-ui);border:1px solid var(--border-default);background:var(--surface-card);color:var(--slate-700);border-radius:var(--r-control);cursor:pointer;white-space:nowrap}.railhead .collapse:hover{background:var(--surface-sunken);border-color:var(--slate-400)}.railhead .collapse:focus-visible{outline:none;box-shadow:var(--ring-focus)}.railbody{flex:1 1 auto;padding:0 16px 12px}.rsec+.rsec{border-top:1px solid var(--border-hairline)}.rhead{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;height:40px;padding:0;background:transparent;border:none;cursor:pointer;text-align:left}.rhead:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--r-badge)}.rhead .right{display:inline-flex;align-items:center;gap:8px;min-width:0}.rhead .sum{font:400 11px/1 var(--font-data);color:var(--text-muted);font-feature-settings:"tnum" 1,"zero" 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:11ch}.rhead .chev{font-size:9px;color:var(--text-muted)}.rhead .info{position:relative;display:inline-flex;color:var(--text-faint)}.rhead .info:hover,.rhead .info:focus-visible{color:var(--teal-500);outline:none}.rhead .tipbox{position:fixed;z-index:200;width:236px;padding:8px 12px;border-radius:var(--r-badge);background:var(--surface-inverse);color:var(--slate-25);font:400 11px/1.45 var(--font-ui);box-shadow:var(--shadow-md);pointer-events:none;white-space:normal;text-transform:none;letter-spacing:0}.rbody{display:flex;flex-direction:column;gap:8px;padding:0 0 14px}.rbody .eyebrow.sub{font-size:10px;color:var(--text-faint);margin-top:2px}.rchoice{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.rchoice button{height:34px;padding:0 10px;font:500 12.5px/1 var(--font-ui);border:1px solid var(--border-default);border-radius:var(--r-control);background:var(--surface-card);color:var(--text-strong);cursor:pointer;white-space:nowrap;transition:background var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease)}.rchoice button:hover{background:var(--surface-sunken)}.rchoice button[aria-pressed=true]{background:var(--teal-500);border-color:var(--teal-500);color:#fff}.rchoice button:focus-visible{outline:none;box-shadow:var(--ring-focus)}.rchips{display:flex;flex-wrap:wrap;gap:4px}.rchips button{height:26px;padding:0 9px;font:500 12px/1 var(--font-data);border:1px solid var(--border-default);border-radius:var(--r-control);background:var(--surface-card);color:var(--text-strong);cursor:pointer;font-feature-settings:"tnum" 1,"zero" 1}.rchips button:hover{background:var(--surface-sunken)}.rchips button[aria-pressed=true]{background:var(--teal-500);border-color:var(--teal-500);color:#fff}.rchips button:focus-visible{outline:none;box-shadow:var(--ring-focus)}.rcheck{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;color:var(--text-body)}.rcheck input{accent-color:var(--teal-500);width:15px;height:15px;flex:none;margin:0}.rcheck .sw{width:11px;height:11px;border-radius:2px;flex:none}.rcheck .l{white-space:nowrap}.rcheck .hint{margin-left:auto;font:400 10.5px/1 var(--font-data);color:var(--text-faint);font-feature-settings:"tnum" 1,"zero" 1;white-space:nowrap}.dateinput.full{width:100%}.card.analysis,.tabs+*{min-width:0}.tabs{display:flex;align-items:center;gap:0;overflow-x:auto;border-bottom:1px solid var(--border-hairline);margin:-12px -16px 0;padding:0 16px}.tabs button{flex:none;height:44px;padding:0 14px;background:transparent;border:none;border-bottom:2px solid transparent;font:500 13px/1 var(--font-ui);color:var(--text-faint);cursor:pointer;white-space:nowrap}.tabs button:hover{color:var(--text-strong)}.tabs button[aria-selected=true]{color:var(--text-strong);border-bottom-color:var(--teal-500)}.tabs button:focus-visible{outline:none;box-shadow:inset var(--ring-focus)}.tabctl{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px 20px;margin:0 -16px;padding:10px 16px;background:var(--surface-sunken);border-bottom:1px solid var(--border-hairline)}.tabctl .grp{flex:none;display:flex;flex-direction:column;gap:5px}.tabctl .grp .eyebrow{font-size:10px;color:var(--text-faint)}.tabctl .right{margin-left:auto;display:flex;align-items:center;gap:6px}.btn.sm{width:26px;height:26px;font-size:13px}.tabbody,.nosel{height:348px}.tabbody{padding:12px 0 2px;display:flex;flex-direction:column}.tabbody .chartbox{flex:1 1 auto;min-height:120px}.tabbody .chartbox svg{width:100%;height:100%}.card:fullscreen .tabbody,.card.fsfake .tabbody{flex:1 1 auto;height:auto;min-height:0}.ttitle{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}.ttitle.wrap{align-items:center;justify-content:space-between;gap:10px 16px}.ttitle h2{font:600 17px/1.28 var(--font-ui);color:var(--text-strong);margin:0;letter-spacing:var(--ls-tight)}.tdesc{margin:-4px 0 14px;font-size:12px;line-height:1.5;color:var(--text-muted)}.ttitle .tleg{font:400 11px/1 var(--font-data);color:var(--text-muted);font-feature-settings:"tnum" 1,"zero" 1}.tabbody>.sub{padding:28px 0;color:var(--text-muted);font-size:13px}@keyframes mf-spin{to{transform:rotate(360deg)}}.spin{animation:mf-spin .9s linear infinite;color:var(--teal-500);flex:none}:root[data-theme=dark] .spin{color:var(--teal-400)}.loadbox{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:12.5px}.chip .spin{color:currentColor}@media(prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}.legend .note{margin-left:auto;font-family:var(--font-data);font-size:10.5px;color:var(--text-faint)}.nosel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;text-align:center;color:var(--text-faint)}.nosel .t{font:600 15px/1.3 var(--font-ui);color:var(--text-strong)}.nosel .s{font-size:13px;line-height:1.5;color:var(--text-muted)}.bandpick{flex:none;display:flex;align-items:center;gap:8px}.bandpick .strip{display:flex;gap:1px;padding:2px;background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--r-control)}.bandpick .strip button{width:15px;height:18px;border:none;border-radius:1px;padding:0;cursor:pointer;outline:2px solid transparent;outline-offset:-2px}.bandpick .strip button[aria-pressed=true]{outline-color:var(--text-strong)}.bandpick .strip button:focus-visible{outline-color:var(--teal-500)}.bandpick .range{font-size:11px;color:var(--text-muted);white-space:nowrap}@media(max-width:900px){.workspace{flex-direction:column}.rail,.rail.closed{width:100%;align-self:auto}.eyebrow.vert{writing-mode:horizontal-tb}}.card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--r-card);box-shadow:var(--shadow-xs);padding:12px 16px 14px}.cardhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:12px}.cardhead h2{font:600 17px/1.28 var(--font-ui);margin:0 0 4px;color:var(--text-strong);letter-spacing:var(--ls-tight)}.cardhead .sub{font-size:12px;line-height:1.5;color:var(--text-muted);margin:0;max-width:660px}.stats{display:flex;gap:32px;flex-wrap:wrap;font-size:12.5px;color:var(--text-muted)}.stats b{color:var(--text-strong);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-weight:500}.readout{display:flex;flex-direction:column;gap:4px;min-width:0}.readout .v{display:flex;align-items:baseline;gap:6px}.readout .v b{font:400 20px/1 var(--font-data);color:var(--text-strong);letter-spacing:var(--ls-tight);font-feature-settings:"tnum" 1,"zero" 1}.readout .v span{font:400 13px/1 var(--font-data);color:var(--text-muted)}.readout .sub{font-size:11px;color:var(--text-muted)}.maphead{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px 16px;padding:2px 0 12px}.maphead .spacer{flex:1 1 24px;min-width:24px}.readouts{flex:0 0 auto;display:flex;gap:32px;flex-wrap:wrap}.cbar{display:flex;flex-direction:column;gap:4px;flex:none}.cbar .ctitle{display:flex;align-items:baseline;gap:12px;justify-content:space-between}.cbar .ctitle .unit{font:400 11px/1 var(--font-data);color:var(--text-muted)}.cbar .bar{width:240px;max-width:100%;height:8px;border-radius:2px}.cbar .lab{display:flex;justify-content:space-between;gap:8px;width:240px;max-width:100%;font:400 10px/1 var(--font-data);color:var(--text-muted);font-feature-settings:"tnum" 1,"zero" 1}.mapregion{position:relative;margin:0 -16px -14px;border-top:1px solid var(--border-hairline);border-radius:0 0 var(--r-card) var(--r-card);overflow:hidden;background:var(--surface-sunken)}.mapregion{aspect-ratio:1.9 / 1}.mapregion .chartbox{height:100%;min-height:300px}.mapregion .chartbox canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.card:fullscreen .mapregion,.card.fsfake .mapregion{aspect-ratio:auto}.card:fullscreen .mapregion,.card.fsfake .mapregion{flex:1 1 auto;min-height:0;border-radius:0;margin-bottom:0;display:flex;flex-direction:column}.card:fullscreen .mapregion .chartbox,.card.fsfake .mapregion .chartbox{height:auto;flex:1 1 auto;min-height:0}.mapnotice{position:absolute;left:16px;right:16px;top:16px;z-index:6;display:flex;gap:12px;align-items:flex-start;padding:12px 16px;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--r-card);box-shadow:var(--shadow-md);font-size:13px;line-height:1.5;color:var(--text-body)}.mapnotice svg{flex:none;margin-top:2px;color:var(--warn-fg)}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--text-muted)}.legend .item{display:inline-flex;align-items:center;gap:6px}.legend .sw{width:14px;height:2px;flex:none}.chartbox{position:relative}.card:fullscreen,.card.fsfake{display:flex;flex-direction:column;background:var(--surface-card);border-radius:0}.card.fsfake{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.card:fullscreen .chartbox,.card.fsfake .chartbox{flex:1 1 auto;min-height:0}.card:fullscreen .chartbox svg,.card.fsfake .chartbox svg{width:100%;height:100%}.fsbtn{flex:none;align-self:flex-start;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:var(--r-control);background:var(--surface-card);color:var(--slate-700);cursor:pointer;transition:background var(--dur-state) var(--ease),border-color var(--dur-state) var(--ease)}.fsbtn:hover{background:var(--surface-sunken);border-color:var(--slate-400)}.fsbtn:focus-visible{outline:none;box-shadow:var(--ring-focus)}canvas{display:block;width:100%}svg{display:block}svg:not([width]){width:100%;height:auto}.tip{position:absolute;pointer-events:none;z-index:5;background:var(--surface-inverse);border-radius:var(--r-control);box-shadow:0 4px 10px -2px #0f171c52;padding:8px 10px;font-size:11.5px;line-height:1.5;white-space:nowrap;color:var(--slate-25);font-family:var(--font-data);font-feature-settings:"tnum" 1,"zero" 1}.tip .t{color:var(--slate-500);font:500 10px/1 var(--font-ui);letter-spacing:var(--ls-caps);text-transform:uppercase}.tip b{font-variant-numeric:tabular-nums;font-weight:500}.tl-svg{cursor:col-resize;touch-action:none}.axislabel{fill:var(--chart-tick);font-size:10px;font-family:var(--font-data)}.gridline{stroke:var(--chart-grid)}footer{font-size:12px;line-height:1.6;color:var(--text-muted)}footer a{color:var(--teal-700)}:root[data-theme=dark] footer a{color:var(--teal-400)}footer a:focus-visible{outline:none;box-shadow:var(--ring-focus)}.loading{padding:60px 0;text-align:center;color:var(--text-muted)}@media(max-width:640px){.app{padding:16px 12px 36px}.datebox{margin-left:0;width:100%;align-items:flex-start;text-align:left}}
