/* Dark Sport: presentation only, scoped to the current training surface. */
.customer-page:has(.v3){
 color-scheme:dark;--bg:#080f1e;--panel:#111f33;--text:#edf5ff;--muted:#b5c5da;--line:#344863;--cyan:#58dcff;--blue:#2186ed;
 color:var(--text);background:radial-gradient(ellipse at 90% 0,#122b48 0,transparent 55%),#080f1e;
}
.customer-page:has(.v3)>header{background:#080f1e;border-bottom:2px solid #35c7f4}
.customer-page:has(.v3) .test-banner{background:#272214;color:#f5d698;border:1px solid #776034}
.customer-page:has(.v3) .test-banner a{color:#ffe4aa}
.customer-page:has(.v3) .account-bar button{background:#142238;color:#dceafa;border-color:#3a506c}
.customer-page:has(.v3) nav button[aria-current=page]{background:#123e5c;border-color:#55d8ff;color:#c4f4ff}
.v3{--sport-surface:#111f33;--sport-raised:#17293f;--sport-text:#edf5ff;--sport-muted:#b5c5da;--sport-line:#344863;--topic-accent:#58dcff;--topic-border:#344863;color:var(--sport-text)}
.v3.theme-learn{--topic-tint:#10263f;--topic-accent:#68caff;--topic-border:#315478}
.v3.theme-quiz{--topic-tint:#231d3b;--topic-accent:#c5a1ff;--topic-border:#594979}
.v3.theme-practice{--topic-tint:#102e32;--topic-accent:#64e1ce;--topic-border:#32645e}
.v3 .learn{--group:#164e7d;--ink:#d6f1ff;--mission-accent:#68caff}
.v3 .quiz{--group:#503479;--ink:#f1e7ff;--mission-accent:#c5a1ff}
.v3 .practice{--group:#125951;--ink:#d5fff5;--mission-accent:#64e1ce}
.v3 p,.v3 small,.v3 .v3-note,.v3 .quest-mission-index,.v3 .quest-step-top{color:var(--sport-muted)}
.v3 h1,.v3 h2,.v3 h3,.v3 legend{color:var(--sport-text)}
.v3 a,.v3 .v3-crumbs a{color:#8bdbff}
.v3 .v3-crumbs,.v3 .v3-crumbs li:not(:first-child):before{color:#b5c5da}
.v3 button,.v3 .v3-outline{background:#17293f;border-color:#46617f;color:#edf5ff}
.v3 button:hover:not(:disabled),.v3 .v3-outline:hover{background:#203853;border-color:#7ddcff}
.v3 .v3-primary,.v3-topic-theme .v3-primary{background:#58dcff!important;color:#062435!important;border-color:#58dcff!important;box-shadow:0 4px 18px #1bbfe518}
.v3 .v3-primary:hover:not(:disabled){background:#91eaff!important;border-color:#91eaff!important}
.customer-page:has(.v3) :focus-visible{outline:3px solid #8aeaff;outline-offset:4px}
.v3 progress{accent-color:#58dcff}
.v3 progress::-webkit-progress-bar{background:#263b55}
.v3 progress::-webkit-progress-value{background:#58dcff}
.v3 .v3-kicker,.v3 .quest-eyebrow{color:var(--topic-accent)}
.v3-topic-theme .v3-topic-header{background:linear-gradient(125deg,var(--topic-tint),#101c2d);color:var(--sport-text);border-color:var(--topic-border)}
.v3 .v3-topic-band{color:var(--ink);box-shadow:inset 0 -2px 0 var(--mission-accent)}
.v3-topic-theme .v3-topic-header .v3-complete,.v3 .v3-complete{color:#8af0cc!important}
.v3-topic-theme .v3-summary{background:var(--sport-surface);border-color:var(--topic-accent)}
.v3-topic-theme .v3-accordion:not(.v3-safety){background:var(--sport-surface);border-color:var(--topic-border)}
.v3-topic-theme .v3-accordion:not(.v3-safety) summary{background:var(--sport-raised);color:var(--sport-text)}
.v3-topic-theme .v3-accordion:not(.v3-safety)[open] summary{background:var(--topic-tint);border-color:var(--topic-border)}
.v3-topic-theme form[data-quiz],.v3-topic-theme .v3-result{background:var(--sport-surface);border-color:var(--topic-border)}
.v3 .v3-option{background:#17253c;border-color:#465975;color:#edf5ff}
.v3 .v3-option:has(input:checked){background:#35254e;border-color:#c5a1ff;box-shadow:inset 3px 0 #c5a1ff}
.customer-page .v3 input[type=radio]{accent-color:#c5a1ff}
.v3-topic-theme blockquote{background:var(--topic-tint);color:#e2edff;border-color:var(--topic-accent)}
.v3 .v3-footer,.v3 .v3-quiz-actions{border-color:var(--sport-line)}
.v3 details.v3-safety{background:#272116;border-color:#806338;border-left-color:#edb75c}
.v3 details.v3-safety summary,.v3 details.v3-safety[open] summary{background:#342817;color:#ffe0a1;border-color:#806338}
.v3 details.v3-safety p,.v3 details.v3-safety strong,.v3 details.v3-safety .v3-note{color:#efd6a9}
.v3 details.v3-safety summary:after{color:#ffd18a}
.v3 details.v3-safety button{background:#40321e;border-color:#997744;color:#ffe0a1}
.v3 .v3-stop-warning{color:#ffd18a}
.v3 .quest-mission-card{background:var(--sport-surface);border-color:var(--sport-line);border-left-color:var(--mission-accent)}
.v3 .quest-mission-card h2 a{color:#edf5ff}
.v3 .quest-checkpoint{border-color:#080f1e;color:var(--ink)}
.v3 .quest-mission:not(:last-child):before{background:#36516f}
.v3 .quest-mission.current .quest-mission-card{border-color:var(--mission-accent);box-shadow:0 0 0 1px var(--mission-accent),0 0 24px #42cfff18}
.v3 .quest-mission.locked .quest-mission-card{background:#101a29;border-left-color:#65778d}
.v3 .quest-mission.locked .v3-badge{background:#29364a;color:#c6d3e4}
.v3 .quest-victory{background:linear-gradient(140deg,#103536,#14233e);border-color:#3c766f}
.v3 .quest-medal{background:#14332e;color:#8af0cc;border-color:#6bdfc0}
.v3 .v3-empty{background:var(--sport-surface);border-color:#46617f;color:#edf5ff}
.v3 .quest-step article{background:var(--sport-surface);border-color:#32645e}
.v3 .quest-step-dot{background:#155d55;color:#d5fff5;border:1px solid #58bdae}
.v3 .quest-step:not(:last-child):before{background:#32645e}
.v3 .quest-step .v3-time,.v3 .quest-step .quest-incline{color:#88edd8}
.v3 .quest-step .quest-incline{border-color:#2e4f52}
.v3 .quest-step-top .v3-duration{background:#173d38;color:#a2f4df}
.v3 .quest-phases span{background:#132f32;color:#a2f4df;border-color:#32645e}
.v3 .quest-stop{background:#143330;border-color:#387e71;color:#d7fff3}
.v3 #v3-feedback:not(:empty){background:#42212a;color:#ffd1d8;border:1px solid #9d5362}
.v3 .quest-world{background:radial-gradient(ellipse at 95% 0,#123e60,transparent 55%),#0b1b30;border-color:#2d5274}
.v3 .quest-world .quest-finished{color:#91f6cf}
@media(prefers-reduced-motion:no-preference){.v3 a,.v3 button,.v3 summary{transition:background-color .15s,border-color .15s}}

.practice-player{padding:28px;border:1px solid #408c85;border-radius:18px;background:#101f33;margin:24px 0;text-align:center;scroll-margin-top:16px}
.player-clock{font-size:clamp(72px,16vw,150px);line-height:1.2;font-weight:800;font-variant-numeric:tabular-nums;color:#8cf6df;margin:24px 0}
.player-controls{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.player-controls button{min-height:58px;min-width:140px}
.player-settings{font-size:20px}.player-next{font-size:18px}
.v3-topic-theme:has(.player-active) .v3-reader>*:not(#practice-player){display:none}
.v3-topic-theme:has(.player-active)>.v3-topic-header{display:none}
.practice-player h2{font-size:clamp(26px,5vw,40px)}

.player-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:20px 0}
.player-metrics section{background:#142f3e;border:1px solid #408c85;border-radius:16px;padding:20px;min-width:0}
.v3 .player-metrics h3{font-size:18px;margin:0 0 12px;color:#b5c5da}
.player-metrics strong{display:block;font-size:clamp(36px,7vw,72px);line-height:1.3;color:#a2f4df;font-weight:800}
.v3 .player-metrics small{font-size:16px;color:#d3e5f1}
.player-speed-value+.player-speed-value{margin-top:12px}
.player-step-nav{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0}
.player-step-nav button{min-height:54px}
@media(max-width:480px){.practice-player{padding:16px}.player-metrics{gap:10px}.player-metrics section{padding:12px}.player-metrics strong{font-size:36px}.player-step-nav button{flex:1;min-width:125px}}

/* Minimal running screen: one exit action and a secondary clock. */
.practice-player .player-clock{font-size:24px;font-weight:500;line-height:1.5;color:#b5c5da;margin:16px 0 24px}
.v3-topic-theme:has(.player-active)>.v3-crumbs{display:none}
.customer-page:has(.player-active)>header,.customer-page:has(.player-active) .account-bar,.customer-page:has(.player-active) .test-banner{display:none}
.practice-player.player-active>.quest-eyebrow{display:none}
.player-active{min-height:70vh}

.player-dev-tools{margin:20px 0;padding:14px;border:1px dashed #806338;border-radius:10px;background:#272116}
.v3 .player-dev-tools p{color:#ffe0a1;font-size:14px;margin:0 0 10px}.player-dev-tools button{margin:4px}

.quest-carousel{margin:24px 0}
.v3 .quest-position{text-align:center;font-size:16px;color:#d3e5f1;font-weight:700}
.v3 .quest-carousel .quest-mission-card{min-height:240px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;border-left-color:var(--mission-accent)}
.v3 .quest-carousel .quest-mission-card h2{margin:6px 0}
.v3 .quest-carousel .quest-mission-card.current{box-shadow:0 0 0 1px var(--mission-accent)}
.v3 .quest-carousel .quest-mission-card.locked{background:#101a29;border-left-color:#65778d}
.quest-carousel-nav{display:flex;justify-content:space-between;gap:16px;border:0;margin:20px 0 0;padding:0}
.v3 .quest-nav-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;min-width:0;padding:12px 20px;border:1px solid #46617f;border-radius:10px;background:#17293f;color:#edf5ff;font:inherit;font-weight:650;text-decoration:none;text-align:center;flex:1}
.v3 .quest-nav-button:hover:not(:disabled){background:#203853;border-color:#7ddcff}
.v3 .quest-nav-button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:640px){.quest-carousel-nav{gap:10px}.v3 .quest-nav-button{padding:12px 10px;font-size:14px}.v3-footer{flex-wrap:nowrap}}

.v3 .quest-complete-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;margin:20px 0;border:1px solid #32645e;border-radius:10px;background:#12302e}
.quest-complete-strip strong{color:#a2f4df;font-size:16px}.quest-complete-strip a{padding:6px 0;font-size:14px}
.quest-level-card{padding:24px;border:1px solid #3a6288;border-radius:14px;background:#0d2038}
.quest-level-card h2{font-size:clamp(23px,4vw,32px)}
.quest-level-card.current{border-color:#50e6ff}.quest-level-card.unavailable,.quest-level-card.locked{border-style:dashed}
.quest-level-browser .quest-intro{padding-bottom:8px}.quest-level-browser .quest-intro h1{font-size:clamp(28px,5vw,38px)}

.v3 .quest-level-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}
.v3 .quest-level-actions>a,.v3 .quest-level-actions>button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:56px;margin:0;padding:12px;font-size:16px;line-height:1.5;text-align:center;white-space:normal;border-radius:10px}
@media(max-width:640px){.quest-level-card{padding:16px}.v3 .quest-level-actions{gap:6px}.v3 .quest-level-actions>a,.v3 .quest-level-actions>button{padding:10px 6px;font-size:14px}}

.v3 .quest-mission-card > .quest-level-actions { width: 100%; }

/* Compact course navigation; preserve uninterrupted practice mode. */
.quest-course-nav{margin:18px 0 24px;display:grid;gap:10px;min-width:0}
.quest-number-nav{display:flex;align-items:center;gap:12px;min-width:0}
.quest-number-nav>span{width:60px;flex-shrink:0;font-size:14px;font-weight:700;color:#b5c5da}
.quest-number-track{display:flex;gap:8px;overflow-x:auto;padding:4px;min-width:0}
.v3 .quest-nav-chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:48px;min-height:44px;padding:8px 12px;margin:0;border:1px solid #46617f;border-radius:10px;background:#13243a;color:#e6f2ff;text-decoration:none;font:inherit;font-weight:700;white-space:nowrap}
.v3 .quest-nav-chip.done{color:#9cf4d7}
.v3 .quest-nav-chip[aria-current="page"]{background:#43d5f7;color:#071927;border-color:#a8eeff;box-shadow:0 0 0 2px #43d5f733}
.v3 .quest-nav-chip:disabled{opacity:.5;cursor:not-allowed}
.v3 .quest-nav-chip:focus-visible{outline:3px solid #fff;outline-offset:2px}
.v3 .quest-topic-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0;padding:0;border:0}
.v3-topic-theme:has(.player-active)>.quest-course-nav{display:none}

/* Game-inspired graphics without changing lesson or progress behavior. */
.quest-level-card,.quest-level-hero{position:relative;overflow:hidden}
.quest-level-art{width:220px;max-width:100%;color:#68caff;float:right;margin:0 0 12px 20px;pointer-events:none}
.quest-level-art svg{display:block;width:100%;height:auto}
.quest-level-art.art-level-2{color:#64e1ce}
.quest-level-hero .quest-level-art{order:3;flex:0 1 220px;margin-left:auto}
.quest-level-hero>div:not(.quest-level-art){flex:1;min-width:0}
.v3 .v3-topic-band{display:flex;align-items:center;gap:10px}
.quest-category-icon{width:25px;height:25px;flex:none}
.v3 .quest-nav-chip{border-radius:12px;box-shadow:0 3px 0 #050d18;position:relative}
.v3 .quest-nav-chip:is(.learn,.quiz,.practice){background:var(--group);color:var(--ink);border-color:var(--mission-accent);border-bottom-width:3px}
.v3 .quest-nav-chip:is(.learn,.quiz,.practice)[aria-current="page"]{background:var(--group);color:var(--ink);outline:2px solid var(--mission-accent);outline-offset:2px;box-shadow:0 0 18px color-mix(in srgb,var(--mission-accent) 30%,transparent)}
.v3 .quest-nav-chip:is(.learn,.quiz,.practice):disabled{opacity:.55;box-shadow:none}
.v3 .quest-nav-chip:hover:not(:disabled){filter:brightness(1.15)}
.v3 .quest-nav-chip:focus-visible{outline:3px solid white;outline-offset:3px}
@media(max-width:640px){
 .quest-level-art{float:none;width:190px;margin:0 auto 12px}
 .quest-level-hero{flex-wrap:wrap}
 .quest-level-hero .quest-level-art{order:0;flex-basis:100%;margin:0 auto}
 .quest-level-hero .quest-level-art svg{width:190px;margin:auto}
 .quest-number-track{padding:7px 5px 9px}
}

/* Interactive mobile quest map. Artwork is decorative; all controls are real links. */
.v3.quest-home-page{max-width:640px;margin-inline:auto}
.training-game-map{position:relative;isolation:isolate;overflow:hidden;border:1px solid #3576ac;border-radius:24px;padding:24px;background:#06172e url('./training-map-runner-v1.png') center center/cover no-repeat;box-shadow:0 12px 60px #0008,inset 0 0 30px #1389dc22}
.training-game-map:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#03132e80,transparent 95%)}
.map-brand{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #69caff55;padding-bottom:16px}
.map-brand>span:first-child{font-size:26px;font-weight:900;font-style:italic;letter-spacing:-1px;color:white;line-height:1}
.map-brand b{color:#53eaff;font-size:34px}.map-brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:5px;color:#cceaff}
.map-brand-note{font-size:12px;color:#b9d5ed;line-height:1.6}
.v3 .map-intro h1{font-size:clamp(30px,7vw,46px);line-height:1.3;margin:4px 0;color:#fff}
.v3 .map-intro p{color:#c8e7fb;margin:8px 0;font-size:15px}.map-intro{padding:18px 0 8px}
.map-journey{position:relative;margin:8px 0 16px;min-height:440px}
.map-route{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.map-route path{fill:none;stroke:#6bdcff;stroke-width:3;opacity:.55;filter:drop-shadow(0 0 5px #27aaff)}
.map-stops{list-style:none;margin:0;padding:0;display:grid;gap:12px;position:relative}
.map-stop{min-height:76px;margin:0;padding:0;width:min(80%,360px)}
.map-stop.stop-2{margin-left:35px}.map-stop.stop-4{margin-left:23px}.map-stop.stop-5{margin-left:8px}
.v3 .map-stop a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#e9f6ff;min-height:76px;border-radius:18px}
.map-orb{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 56px;height:56px;border-radius:50%;border:2px solid #80dfff;background:radial-gradient(circle at 35% 25%,#28699d,#091f3f 70%);box-shadow:0 0 0 5px #69d5ff15,0 0 18px #129ffb55;font-size:29px;font-weight:800}
.map-orb small{position:absolute;right:-7px;bottom:-3px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#13314d;font-size:12px;color:#8dffe0}
.map-label{display:block;min-width:0;padding:10px 12px;background:#04152dde;border:1px solid #296093;border-radius:11px;box-shadow:0 4px 12px #0003}
.map-label strong{display:block;font-size:16px;line-height:1.45}.v3 .map-label small{display:block;font-size:12px;line-height:1.5;color:#b8d7ee;margin-top:4px}
.map-stop.current .map-orb{border-color:#65ffff;box-shadow:0 0 0 5px #64ffff24,0 0 25px #20dfff88}
.map-stop.current .map-label{border-color:#51edff;background:#06314beb}.map-stop.current strong{color:#72efff}
.map-stop.locked .map-orb,.map-stop.unavailable .map-orb{border-color:#7799bc;color:#b3c8dd;box-shadow:0 0 0 4px #799cc51c}
.map-stop.locked .map-label,.map-stop.unavailable .map-label{border-color:#3a5573}.map-stop.unavailable strong{color:#adbed3}
.map-stop a:hover .map-label{border-color:#b8f9ff;background:#133b59}
.map-stop a:focus-visible{outline:3px solid white;outline-offset:5px}
.map-dashboard{display:flex;align-items:center;gap:16px;padding:18px 0 4px;border-top:1px solid #65bfff44}
.map-dashboard>div{flex:1;min-width:0}.map-dashboard strong,.map-dashboard span{display:block;font-size:14px;color:#effaff}.map-dashboard span{color:#c5d9ea;margin-top:4px}
.map-dashboard progress{display:block;width:100%;height:7px;margin-top:10px}
.v3 a.map-start{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:14px;background:linear-gradient(#68f4ff,#09c8e9);box-shadow:0 0 22px #21dbef44;color:#03243a;font-weight:800;text-decoration:none;text-align:center}
.v3 .map-footnote{font-size:10px;letter-spacing:1px;color:#94bcd5;margin:18px 0 0}
@media(max-width:420px){.training-game-map{padding:16px;border-radius:18px}.map-brand>span:first-child{font-size:22px}.map-brand-note{font-size:10px}.map-orb{flex-basis:46px;height:46px;font-size:25px}.map-stop{width:84%}.map-stop a{gap:9px}.map-label{padding:8px}.map-label strong{font-size:14px}.map-label small{font-size:11px}.map-dashboard{gap:10px}.v3 a.map-start{padding:10px 13px;font-size:14px}}
@media(prefers-reduced-motion:no-preference){.map-stop a{transition:filter .15s}.map-stop a:hover{filter:brightness(1.12)}}

.v3 .training-game-map .map-intro{display:block;background:transparent;border:0;border-radius:0;box-shadow:none;padding:18px 0 8px;margin:0;text-align:left;}

/* Mission sub-map: same artwork and real progression, with category colors. */
.v3.quest-level-page:has(.mission-game-map){max-width:640px;margin-inline:auto}
.mission-game-map{background-position:65% center}
.mission-game-map:before{background:linear-gradient(90deg,#03132ed9 0%,#03132e80 65%,#03132e30)}
.v3 .mission-game-map .map-intro h1{font-size:clamp(25px,5vw,34px);max-width:95%}
.mission-map-stops{list-style:none;margin:20px 0 28px;padding:0;display:grid;gap:22px}
.mission-map-stop{position:relative;width:88%;padding:0;margin:0;min-width:0}
.mission-map-stop:nth-child(even){margin-left:8%}
.mission-map-stop:not(:last-child):before{content:"";position:absolute;top:52px;bottom:-44px;left:27px;width:2px;background:linear-gradient(var(--mission-accent),#5381a6);opacity:.55;transform:rotate(-15deg);transform-origin:top}
.mission-map-stop:nth-child(even):before{transform:rotate(15deg)}
.v3 .mission-map-stop>a,.v3 .mission-map-stop>button{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:90px;padding:0;margin:0;background:transparent;border:0;border-radius:14px;text-decoration:none;text-align:left;font:inherit;color:var(--ink);box-shadow:none;opacity:1}
.mission-map-stop .map-orb{border-color:var(--mission-accent);background:radial-gradient(circle at 35% 25%,var(--group),#091f3f 80%);color:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--mission-accent) 12%,transparent)}
.mission-map-stop .map-label{flex:1;background:#061a30ed;border-color:color-mix(in srgb,var(--mission-accent) 65%,#061a30)}
.v3 .mission-map-category{display:flex;align-items:center;gap:6px;color:var(--mission-accent);margin:0 0 6px;font-weight:700}
.mission-map-category .quest-category-icon{width:17px;height:17px}
.mission-map-stop.current .map-label{border-color:var(--mission-accent);box-shadow:0 0 18px color-mix(in srgb,var(--mission-accent) 22%,transparent)}
.mission-map-stop.current .map-orb{box-shadow:0 0 0 4px color-mix(in srgb,var(--mission-accent) 25%,transparent),0 0 22px color-mix(in srgb,var(--mission-accent) 40%,transparent)}
.v3 .mission-map-stop>button:disabled{cursor:not-allowed}
.mission-map-stop.locked .map-label,.mission-map-stop.locked .map-orb{opacity:.6}
.mission-map-stop a:hover .map-label{background:var(--group)}
.mission-map-stop a:focus-visible{outline:3px solid white;outline-offset:6px}
@media(max-width:420px){.mission-map-stop{width:94%}.mission-map-stop:nth-child(even){margin-left:6%}.v3 .mission-map-stop>a,.v3 .mission-map-stop>button{gap:9px}.mission-map-stop:not(:last-child):before{left:23px}.mission-map-stop .map-label strong{font-size:14px}.mission-map-stops{gap:18px}}

/* Explicit page identity, independent of artwork and category colors. */
.v3 .map-page-title{display:flex;align-items:center;gap:12px}
.map-page-icon{width:40px;height:40px;flex:0 0 40px;color:#69e9ff}
.v3 .map-node-id{display:block;font-size:12px;font-weight:800;letter-spacing:1px;color:#80ddff;margin-bottom:5px}
.v3 .mission-map-stop .map-node-id{color:var(--mission-accent)}
.v3 a.quest-back-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;margin:0 0 16px;border:1px solid #42668a;border-radius:10px;background:#10273f;color:#d8f4ff;text-decoration:none;font-weight:700}
.v3 a.quest-back-link:hover{background:#1c3d59}
.v3-topic-theme:has(.player-active)>.quest-back-link{display:none}
@media(max-width:420px){.map-page-icon{width:30px;height:30px;flex-basis:30px}.v3 .mission-game-map .map-page-title{font-size:24px;gap:9px}}
/* Compact, accessible customer navigation, including narrow mobile screens. */
.customer-app .sport-menu{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;padding:8px;border:1px solid #254768;border-radius:18px;background:linear-gradient(120deg,#10283f,#071525);box-shadow:0 8px 22px #0003}
.customer-app .sport-menu .app-tabs{display:flex;flex:1;gap:8px;min-width:0;flex-wrap:nowrap}
.customer-app .sport-menu button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:12px;border:1px solid #355571;background:#142a40;color:#bcd9ec;font-weight:700;white-space:nowrap;margin:0;padding:8px 14px}
.customer-app .sport-menu .app-tabs button{flex:1}
.customer-app .sport-menu button[aria-current="page"]{color:#041622;background:linear-gradient(135deg,#91eeff,#25c9ef);border-color:#95f1ff;box-shadow:0 0 16px #29d4ff40}
.customer-app .sport-menu svg{width:23px;height:23px;flex-shrink:0}
.customer-app .sport-menu .account-actions{width:auto;flex:0 0 auto;flex-wrap:nowrap}
.customer-app .sport-menu .logout-icon{width:46px;padding:8px;background:transparent}
.customer-app .sport-menu button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.customer-app .sport-menu button:hover{filter:brightness(1.15)}
.customer-app .sport-menu .local-session{font-size:11px;color:#97b9ce;padding:4px}
@media(max-width:360px){.customer-app .sport-menu{gap:6px}.customer-app .sport-menu button{padding:8px;gap:5px;font-size:14px}}
.strength-art{display:block;width:min(100%,280px);height:190px;margin:12px auto;color:#53dfd1}
.strength-amount,.player-focus{font-size:clamp(22px,4vw,30px);font-weight:700;color:#b7f9f0}
.strength-instructions{max-width:520px;text-align:left;margin:16px auto;padding-left:24px;line-height:1.8}
.practice-player [data-strength]{margin:6px;min-height:48px}
.player-focus-art{display:block;width:80px;height:80px;margin:12px auto;color:#67e4d8}
.player-voice-controls{border:1px solid #365a73;border-radius:12px;padding:12px;margin:16px 0;background:#0b192a}
.player-voice-controls button{min-height:44px;margin:4px;padding:8px 12px}
.player-voice-controls [data-voice-status]{color:#a2e9ef;overflow-wrap:anywhere}
.navigation-voice{position:relative;z-index:2;display:flex;align-items:flex-start;flex-direction:column;gap:6px;margin-top:12px;max-width:100%}
.navigation-voice button{min-height:44px;border:1px solid #42d7f5;border-radius:12px;background:#102b43;color:#e5faff;padding:8px 14px;font:inherit;cursor:pointer}
.navigation-voice small{font-size:12px;color:#b7d4e5;line-height:1.5;max-width:32ch}
.question-voice{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.question-voice button{min-height:44px;padding:8px 14px;border-radius:12px}
.guest-level{position:relative;z-index:2;margin:12px 20px;padding:16px;background:#0c2238f2;border:1px solid #42cbe4;border-radius:16px}
.guest-level h2{font-size:20px;margin:0 0 8px}.guest-level p{font-size:15px;line-height:1.6}
.guest-course .map-dashboard{grid-template-columns:1fr}.guest-course .map-dashboard p{margin:0;font-size:14px}
/* Mission section markers: decorative, with visible text labels. */
.v3 .mission-section-heading{display:inline-flex;align-items:center;gap:10px;min-width:0}
.v3 .mission-section-icon{display:inline-block;width:24px;height:24px;flex:0 0 24px;vertical-align:middle;margin-right:8px;color:var(--topic-accent,#53dbf7)}
.v3 .mission-section-heading>.mission-section-icon{margin-right:0}
.v3 .mission-section-heading>span{min-width:0;overflow-wrap:anywhere}
.v3 .v3-accordion summary{align-items:center}
.v3 .v3-accordion summary:after{flex:0 0 auto}
.v3 .v3-safety .mission-section-icon{color:inherit}
.customer-app .sport-menu button:disabled{opacity:.55;cursor:not-allowed;filter:none;box-shadow:none}
.customer-app .sport-menu .ai-phase-note{display:block;font-size:10px;line-height:1.4;font-weight:400}
