/* Performance instruments: one layout, no legacy bar/curve overrides. */
.chart-card{position:relative;overflow:clip;padding:14px 18px 9px;background:radial-gradient(ellipse at 50% 48%,#14587055,transparent 64%),linear-gradient(145deg,#112a3d,#071421);border:1px solid #1a7292;border-radius:6px;box-shadow:inset 0 1px 0 #7bcbff18,0 12px 35px #0002}
.chart-card:before{content:'';position:absolute;left:18%;right:18%;top:0;height:2px;background:linear-gradient(90deg,transparent,#51dfff,transparent);box-shadow:0 0 20px #22c9ee}.chart-card:after{content:'';position:absolute;inset:-40%;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 38%,#75e6ff14 49%,transparent 60%)}.dial-energized.chart-card:after{animation:dialScan 1.8s ease-out both}.chart-card .metric-top{position:relative;z-index:1}.chart-card .metric-gain{font-size:33px;line-height:1.15;color:#8ce5ff;text-shadow:0 0 22px #1aaecf4d;font-variant-numeric:tabular-nums}.chart-card .metric-gain small{color:#7ad9ef}.gain-complete .metric-gain,.gain-complete .chart-dialog-gain strong{animation:gainFinish .75s ease-out both}
.catalog-chart{width:100%;display:block;overflow:visible;direction:ltr;min-width:0}.compact-chart{height:228px}.chart-empty-label{fill:#7ad9ef;font:13px Barlow,Arial,sans-serif}.dial-track{fill:none;stroke:#114b60;stroke-width:14;stroke-linecap:round}.dial-outline{fill:none;stroke:#1c7da0;stroke-opacity:.42;stroke-width:1}.dial-orbit{fill:none;stroke:#1cbce0;stroke-width:1;stroke-dasharray:2 11;opacity:.5;animation:dialOrbit 10s linear infinite}.dial-tick,.dial-tick-major{fill:none;stroke:#1ab0d1;stroke-width:1}.dial-tick-major{stroke:#adcce0;stroke-width:1.5}.dial-scale{fill:#89ddf0;font:9px Barlow,Arial,sans-serif}.dial-original{fill:none;stroke:#d0e3ef;stroke-width:2;stroke-linecap:round;opacity:.55}.dial-energy{fill:none;stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 7px #34cbed99)}.dial-gain-zone{fill:none;stroke:#9cedff;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 5px #6be4ff)}.dial-ghost path{fill:none;stroke:#e6f3fc;stroke-width:2;opacity:.7}.dial-needle path{fill:#91e8ff;stroke:#b9f2ff;stroke-width:1;filter:drop-shadow(0 0 5px #49deff)}.dial-center{fill:#0b1e2d;stroke:#196e8d55;stroke-width:1}.dial-state{fill:#78e6ff;font:500 9px Barlow,Arial,sans-serif;letter-spacing:2px}.dial-value{font:600 58px 'Barlow Condensed',Barlow,Arial,sans-serif;fill:#f2fbff;letter-spacing:-1px;font-variant-numeric:tabular-nums}.dial-unit{fill:#b5d7ec;font:11px Barlow,Arial,sans-serif;letter-spacing:2px}.dial-footer{fill:#66d3ec;font:6px Barlow,Arial,sans-serif;letter-spacing:2px}
.chart-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;direction:ltr}.chart-values>div:last-child{text-align:right}.chart-values span,.chart-detail-values span{display:block;font-size:9px;color:#83dcf0}.chart-values strong{display:block;font:600 28px 'Barlow Condensed',Barlow,Arial,sans-serif;color:#ccdeec;font-variant-numeric:tabular-nums;white-space:nowrap}.chart-values strong small{font:10px Barlow,Arial,sans-serif;color:#85dcf0}.chart-values>div:last-child strong{color:#73e5ff}.chart-expand{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:24px;padding:7px 0 1px;margin-top:5px;border:0;border-top:1px solid #186c8b77;background:transparent;color:#b4e4ff;font-size:10px;cursor:pointer}.chart-expand b{font-size:16px;font-weight:400}.chart-expand:hover{color:white}.chart-expand:focus-visible{outline:2px solid #65e3ff;outline-offset:2px}
.chart-dialog{width:min(820px,94vw);height:min(740px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;margin:auto;padding:24px 30px;border:1px solid #1bb9dd;border-radius:12px;background:radial-gradient(ellipse at 50% 45%,#114b60 0,transparent 61%),linear-gradient(145deg,#10283a,#06111d);color:#d8e9f5;box-shadow:0 30px 100px #000b;overflow:auto}.chart-dialog::backdrop{background:#030b13d9;backdrop-filter:blur(9px)}.chart-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto auto auto minmax(65px,1fr) auto auto;gap:8px;animation:chartDialogIn .25s ease-out}.chart-dialog-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.chart-kicker{font-size:9px;color:#a2cee9;letter-spacing:1.5px}.chart-dialog-top button{min-height:30px;padding:6px 10px;border:1px solid #208eb6;border-radius:4px;background:#142b3d;color:#d9f1ff;font-size:11px;cursor:pointer}.chart-dialog h2{grid-column:1/-1;font:700 34px/1.08 'Barlow Condensed',Arial,sans-serif;margin:2px 0}.chart-dialog #chart-vehicle{grid-column:1/-1;font-size:12px;color:#b6cedf;line-height:1.3;margin:0}.chart-tabs{display:flex;gap:6px;align-items:start;flex-wrap:wrap}.chart-tabs button{min-height:30px;border:1px solid #1c7a9c;border-radius:4px;padding:7px 13px;background:none;color:#b5d5ec;font-size:10px;cursor:pointer}.chart-tabs button[aria-pressed=true]{background:#1c7b9e;color:#effaff;border-color:#4ed0ed}.chart-replay{align-self:start;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border:1px solid #1e83a7;border-radius:4px;background:#142e42;color:#d2f0ff;font-size:10px;cursor:pointer}.chart-replay>span:first-child{font-size:17px;line-height:1}.chart-replay:hover{background:#145972}.chart-replay:focus-visible{outline:2px solid #83deff;outline-offset:3px}.chart-dialog-gain{grid-column:1/-1;display:flex;align-items:baseline;justify-content:center;gap:12px;direction:ltr;font-variant-numeric:tabular-nums}.chart-dialog-gain strong{font:600 44px/1.05 'Barlow Condensed',Barlow,sans-serif;color:#8ce5ff;text-shadow:0 0 25px #39caeb44}.chart-dialog-gain>span{font-size:13px;color:#a7ddf4}.expanded-chart{grid-column:1/-1;align-self:center;height:100%;min-height:0;max-height:348px;margin:0}.expanded-chart .dial-value{font-size:65px}.chart-detail-values{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:35px;direction:ltr}.chart-detail-values strong{display:block;font:600 30px/1.1 'Barlow Condensed',Barlow,Arial,sans-serif;font-variant-numeric:tabular-nums}.chart-detail-values>div:last-child strong{color:#8bdfff}.chart-detail-values>span{font-size:22px;color:#82dcf0}.chart-detail-note{grid-column:1/-1;font-size:10px;line-height:1.4;color:#afc8db;margin:0}
@keyframes dialScan{0%{opacity:0;transform:translateX(-40%)}30%{opacity:1}100%{opacity:0;transform:translateX(40%)}}@keyframes dialOrbit{to{stroke-dashoffset:-130}}@keyframes gainFinish{0%{text-shadow:0 0 40px #b0f3ff,0 0 65px #16d4ff;filter:brightness(1.7);transform:scale(1.06)}100%{text-shadow:0 0 24px #35daff88;filter:brightness(1);transform:scale(1)}}@keyframes chartDialogIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){.chart-card{padding:8px 9px 5px}.chart-card .metric-gain{font-size:26px}.chart-card .metric-gain small{font-size:9px}.chart-values span{font-size:8px}.chart-values strong{font-size:22px}.chart-values strong small{font-size:8px}.chart-expand{font-size:9px;padding-top:4px;margin-top:3px}.chart-dialog{padding:15px}.chart-dialog[open]{gap:6px}.chart-dialog h2{font-size:28px}.chart-dialog #chart-vehicle{font-size:10px}.chart-dialog-gain strong{font-size:34px}.chart-tabs button{font-size:9px;padding:6px 9px}.chart-replay{font-size:9px;padding:6px 8px;gap:4px}.chart-kicker{font-size:8px;letter-spacing:1px}.chart-detail-values{gap:24px}.chart-detail-values strong{font-size:25px}.chart-detail-note{font-size:9px}}
@media(max-height:480px) and (min-width:701px){.chart-dialog{padding:12px 20px}.chart-dialog[open]{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto minmax(65px,1fr) auto;gap:5px 20px}.chart-dialog-top{grid-column:1/-1}.chart-dialog h2{grid-column:1;grid-row:2;font-size:25px}.chart-dialog #chart-vehicle{grid-column:1;grid-row:3;font-size:10px}.chart-tabs{grid-column:1;grid-row:4;align-content:center;align-self:center}.chart-replay{grid-column:1;grid-row:5;justify-self:start}.chart-dialog-gain{grid-column:2;grid-row:2}.chart-dialog-gain strong{font-size:30px}.expanded-chart{grid-column:2;grid-row:3/5;min-height:0}.chart-detail-values{grid-column:2;grid-row:5;gap:20px}.chart-detail-values strong{font-size:22px}.chart-detail-note{grid-column:1/-1;grid-row:6;font-size:8px}}
@media(prefers-reduced-motion:reduce){.dial-orbit,.dial-energized.chart-card:after,.gain-complete .metric-gain,.gain-complete .chart-dialog-gain strong,.chart-dialog[open]{animation:none!important}}
