/* Visual theme only. No grid, order, spacing or dimensions are changed. */
:root{color-scheme:dark;--bg:#050c0a;--paper:#0c1712;--ink:#e2f0e8;--muted:#8da99a;--line:#20372c;--green:#3ae8b1;--lime:#3ae8b1;--red:#ed9a7f}
html{scrollbar-color:#2b5944 #07100c}
body,body.overview{background:var(--bg);color:var(--ink)}
body.overview{background-image:radial-gradient(ellipse at 85% 0,#11312255,transparent 45%)}
.overview header{background:#08130fec;border-color:#234534;box-shadow:0 1px 0 #48e6b307}
.overview .brand{color:#eaf6ef;text-shadow:0 0 24px #3ae8b10b}
header .brand small{color:#6ca98b}
.overview header nav{background:linear-gradient(110deg,#142b2280,#10241bb0);border-radius:40px;box-shadow:0 0 0 9px #10241b80,0 0 0 10px #6cebb518}
header nav a{color:#a3bdad}header nav a:hover{color:#4ef0b8}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline-color:#3ae8b1}
.overview .intro h1{color:#edf7f1}.intro h1 em{color:#3ae8b1;text-shadow:0 0 35px #3ae8b116}
.overview .intro p,.overview .spec,.overview .method,.overview .footnote,.overview .live-log>.footnote{color:var(--muted)}
.eyebrow,.overview .intro .eyebrow,.section-intro .eyebrow{color:#69b18d}.eyebrow span{color:#456b55}
.spec{border-color:var(--line)}.spec b{color:var(--ink)}
.snapshot-note{background:#10241b;border-color:#284c39;color:#9ccbb1;box-shadow:inset 3px 0 0 #3ae8b1}
.badge{color:#a1beac;border-color:#2b4737;background:#0d1c14}
.badge:before{background:#81a38e}.badge.good{color:#5cf0bb;background:#133526;border-color:#2b6044}.badge.good:before{background:#3ae8b1;box-shadow:0 0 8px #3ae8b13b}
.badge.bad{color:#edaa8e;background:#32221b;border-color:#614132}.badge.bad:before{background:#ed9a7f}
.overview-highlights,.overview-highlights article{border-color:var(--line)}
.overview-highlights span,.overview-highlights small{color:#8ca797}.overview-highlights b{color:#ddf4e6}
.card,.metrics,.course-card{background:linear-gradient(135deg,#0f1e16,#0a1510);border-color:#244232;box-shadow:inset 0 1px 0 #99e6b807,0 12px 30px #00000012}
.card h2,.card h3,.course-heading h2{color:#e0f1e7}
.tabs{background:#07110c;border:0;box-shadow:inset 0 0 0 1px #203e2c}
.tabs button{color:#90ad9b}.tabs button:hover{color:#cdf7df;background:#153322}
.tabs button.selected{background:#214a35;color:#68f4be;box-shadow:inset 0 0 0 1px #42765b}
.screen,#live-frame{background:#080f10}.screen-label{background:#071611db;border-color:#7cc69c26;color:#cde7d8;backdrop-filter:blur(8px)}
.goal-width-badge{background:#071b13e8;border-color:#4c947348;color:#b9ead0}
.shot-banner{background:#102b20ed;border-color:#366a4d;color:#d5f2e0;box-shadow:0 6px 22px #0005}
.shot-banner.scored{background:#153e2eed;color:#64f2bd;border-color:#3a8260}.shot-banner.missed{background:#39271eeb;color:#f1b797;border-color:#76513b}
.replay-meta{color:#8da99a}.replay-meta input{accent-color:#3ae8b1}
.generations button{background:#101f16;border-color:#294635;color:#b4cbbb;box-shadow:none}
.generations button small{color:#8bab98}.generations button:hover{background:#173326;border-color:#477559}
.generations button.selected{background:#1a412e;border-color:#52b88a;color:#69f3be;box-shadow:inset 0 0 0 1px #3ae8b112}
.generations button.selected small{color:#a4dec0}
.score strong,.speed-number,.overview .speed-number{color:#60f1ba}.score>span{color:var(--muted)}
.rate-track,.motion-track,.episode-track{background:#1a3022}.rate-track>div,.motion-track i,.episode-track i{background:linear-gradient(90deg,#237653,#4af0b3)}
.change.positive{color:#49e7ae}.change.negative{color:#edaa8b}
.mini-stats,.mini-stats>div,.diagnostics dl div,.position-table>div,.live-identity{border-color:var(--line)}
.mini-stats span,.diagnostics dt,.chart-caption,.legend,.map-legend,.motion-metrics span,.motion-metrics small,.live-clock,.trace-label,.metric-hint,.heading>a{color:#8da99a}
.attempts button,.live-attempts button{background:#30231b;border-color:#624632;color:#efb392}
.attempts button.hit,.live-attempts button.hit{background:#183d2b;border-color:#2d6245;color:#6bedb4}
.attempts button.chosen{outline-color:#95eaca;box-shadow:0 0 0 2px #3ae8b133}
.dot.green{background:#45e4a9}.dot.red{background:#e6a182}
.detail,.overview .live-last,.live-last,.result-card{background:#13271b;color:#a5c6af;border-color:#2b4a35}
.live-last span{color:#80a58e}.live-last b,.live-clock b,.position-table b{color:#d6eedf}
.result-card.scored{background:#153b29;color:#62edb3}.result-card.missed{background:#34241c;color:#eeb192}
.insight{border-color:#294832}
th{background:#13251a;color:#91b49e}td{border-color:#1c3424;color:#c2d8ca}td a,.heading>a:hover{color:#4de6ae}tbody tr:hover{background:#142a1d}
.overview .pipeline{background:linear-gradient(110deg,#10251a,#0e1e15);box-shadow:inset 0 0 0 1px #244430}
.stage-num{background:#1b3022;color:#8ead96}.stage.done .stage-num{background:#214b34;color:#61eeb5}.stage.live .stage-num{background:#3ae8b1;color:#072b1b;box-shadow:0 0 0 4px #163c29}
.stage:not(:last-child):after{color:#4b775b}.stage small{color:#91ad9b}.stage b{color:#cee4d7}
.course-heading>span,.course-note{color:#8da99a}.course-step{background:#13251a;color:#8ca491}.course-step.current{background:#1b422d;color:#64efb3;outline-color:#459567;box-shadow:0 0 22px #36eaa908}.course-step.passed{background:#173624;color:#8ce1b2}
.course-card #course-progress{color:#abcfb7}
.overview .body-instrument,.body-instrument,.aim-instrument,.speed-instrument{background:#12271b;border-color:#2a4633}
.overview .aim-instrument,.overview .speed-instrument{background:none}.overview .speed-instrument{border-color:#274b35}
.instrument-label{color:#90b39d}.instrument-label span,.instrument-label small{color:#8ad2a7}
.overview .aim-instrument p,.overview .speed-instrument p{color:#8da99a}
.impact-reading{background:#153322}.impact-reading strong{color:#62e8ab}.impact-reading span{color:#97ba9f}
.posture-meter,.speed-bars i{background:#253d2a}.posture-meter i,.speed-bars i.lit{background:#47dca1}
.journey-steps>div{color:#91ac97}.journey-steps i{background:#183021;border-color:#284d34;color:#8aaf95}.journey-steps>div:not(:last-child):after{background:#2b4b34}.journey-steps .active i{background:#27583b;border-color:#53a975;color:#7cf4bb;box-shadow:0 0 0 3px #163a25}.journey-steps .active span,.journey-steps .done span{color:#a1dbb6}.journey-steps .done i{background:#1d452d;color:#6de5a5}
.aim-dial text,.pitch-map text,#chart text{fill:#8da99a}.aim-dial #aim-angle-value{fill:#d4f1df}
/* Recolor generated SVG plots through presentation selectors, without changing data. */
svg [stroke="#789b4b"],svg [stroke="#65893c"],svg [stroke="#78974f"],svg [stroke="#577f36"],svg [stroke="#597d35"],svg [stroke="#73934b"],svg [stroke="#557634"]{stroke:#40e2a6}
svg [fill="#789b4b"],svg [fill="#65893c"],svg [fill="#78974f"],svg [fill="#577f36"],svg [fill="#597d35"],svg [fill="#73934b"],svg [fill="#557634"]{fill:#40e2a6}
svg [stroke="#e8ecdf"],svg [stroke="#e4e9da"],svg [stroke="#d8e1cd"],svg [stroke="#d8e1cb"],svg [stroke="#d2ddc4"],svg [stroke="#e6ebde"]{stroke:#2b4934}
svg [fill="#dcebbd"],svg [fill="#e3efcf"],svg [fill="#dce9c9"],svg [fill="#dcecbc"],svg [fill="#dce5cf"],svg [fill="#f1f5e9"]{fill:#234a32}
svg [fill="#253c32"],svg [fill="#253f32"]{fill:#dbefe0}
svg [stroke="white"]{stroke:#0e1b13}
.overview footer{border-color:var(--line);color:#789985}.overview footer b{color:#cee8d7}.overview footer a:hover{color:#3ae8b1}
summary{color:#a8cbb3}summary:hover{color:#60e8b0}
dialog{background:#0c1911;color:#d8ede0;border-color:#33543b}dialog::backdrop{background:#020a07b0;backdrop-filter:blur(8px)}
::selection{background:#3ae8b1;color:#052316}
