:root {
  --black:#000;
  --panel:#141414;
  --ink:#fff9ef;
  --muted:#d0c8d6;
  --line:#41404a;
  --yellow:#ffe45b;
  --cyan:#70e4f2;
  --lilac:#d2b7ff;
  --pink:#ffabd9;
  --lime:#c4f77b;
  font:16px/1.45 ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
  color:var(--ink);
  background:var(--black);
  color-scheme:dark;
}
* {box-sizing:border-box}
body {margin:0}
button,input {font:inherit}
button {cursor:pointer;color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible {outline:3px solid var(--cyan);outline-offset:4px}
button:disabled,[aria-disabled=true] {cursor:default}
h1,h2,h3,p {margin:0}
h1,h2,h3 {line-height:1.04;letter-spacing:-.045em}
p {color:var(--muted)}
a {color:var(--cyan)}
svg {display:block}
.skip {position:fixed;left:12px;top:-100px;padding:12px;background:#141414;z-index:10}
.skip:focus {top:12px}

.top {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  max-width:1210px;margin:auto;padding:15px 30px;border-bottom:1px solid #26242a;
}
.top-actions {display:flex;gap:6px;align-items:center}
.brand {display:flex;align-items:center;gap:10px;text-align:left;border:0;background:none;padding:0;font-size:22px;font-weight:950;line-height:1;letter-spacing:-.055em}
.brand b {color:var(--yellow)}
.brand-mark {display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;background:var(--yellow);color:#181314;transform:rotate(-7deg)}
.brand-mark svg {width:23px}
.mini {display:inline-grid;place-items:center;min-width:44px;height:44px;border:2px solid #423b4a;border-radius:14px;background:#17151b;font-size:12px;font-weight:950}
.mini:hover {border-color:var(--lilac)}
.mini svg,.nav svg,.btn svg {width:19px;height:19px;flex:none}
.mobile-nav {
  display:flex;gap:7px;justify-content:center;position:fixed;z-index:4;
  bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);
  padding:6px;background:#19161e;border:2px solid #51475d;border-radius:23px;box-shadow:0 5px 18px #000b;
}
.nav {display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:88px;padding:5px 11px;border:0;border-radius:15px;background:none;font-size:13px;font-weight:900}
.nav:hover,.nav[aria-current] {background:var(--lilac);color:#1c1028}

.layout {max-width:1210px;margin:auto;padding:24px 30px 100px}
#main:focus {outline:none}
.hero {
  display:grid;grid-template-columns:54% 46%;align-items:center;position:relative;isolation:isolate;
  background:#100c19;border:2px solid #5a3e70;border-radius:31px;min-height:362px;overflow:hidden;
}
.hero::before {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 72% 58%,#39244d 0%,transparent 52%)}
.hero-copy {position:relative;z-index:1;padding:31px 0 34px 34px}
.hero h1 {font-size:clamp(47px,6.3vw,83px);font-weight:1000;line-height:.91;letter-spacing:-.077em;margin:14px 0 18px}
.hero h1 em {display:block;color:var(--yellow);font-style:normal}
.hero-art {position:relative;align-self:stretch;min-height:325px}
.orbit-scene {position:absolute;inset:0}
.orbit-route {position:absolute;inset:0;width:100%;height:100%}
.buddy-sticker {position:absolute;width:clamp(170px,65%,290px);left:16%;top:9%;transform:rotate(-8deg);filter:drop-shadow(7px 8px 0 #090611)}
.plane-sticker {position:absolute;width:34%;right:2%;top:10%;transform:rotate(9deg);filter:drop-shadow(3px 4px 0 #100817)}
.orbit-hello {
  position:absolute;right:8%;bottom:8%;display:grid;gap:1px;padding:8px 16px 9px;
  color:#261430;background:#fff0fa;border:3px solid #17101e;border-radius:17px 17px 17px 4px;
  transform:rotate(4deg);box-shadow:4px 5px 0 #ff9cce;font-weight:900;
}
.orbit-hello strong {color:#713e93;font-size:10px;letter-spacing:.15em}
.tag,.pill {display:inline-flex;align-items:center;gap:7px;border-radius:99px;font-size:11px;font-weight:950;letter-spacing:.04em}
.tag {padding:6px 10px;background:var(--lilac);color:#29163e}
.tag svg {width:14px;height:14px}
.pill {padding:5px 9px;margin-bottom:8px;background:#322544;color:#f3dfff}
.actions,.controls {display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.btn {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 15px;
  border:2px solid #5b4b66;border-radius:15px;background:#201927;color:var(--ink);font-size:14px;font-weight:900;text-decoration:none;
}
.btn.primary {background:var(--yellow);color:#201507;border-color:#211605;box-shadow:0 4px 0 #a8771c}
.btn.primary:hover {background:#fff18e}
.btn.secondary:hover {background:#342444;border-color:var(--lilac)}
.btn:disabled {opacity:.56}

.section {margin-top:27px}
.section-head {margin-bottom:14px}
.section h2,.page-head h1 {font-weight:1000;font-size:clamp(28px,4vw,46px)}
.dest-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dest {
  position:relative;text-align:left;overflow:hidden;padding:0;border:3px solid var(--soft);
  border-radius:20px;background:var(--soft);color:#1d1524;box-shadow:0 4px 0 #40374c;
  transition:transform .17s;
}
.dest:hover {transform:translateY(-4px) rotate(-1deg)}
.dest-art {position:relative;height:clamp(92px,12vw,148px);overflow:hidden;border-radius:15px 15px 0 0}
.dest-art>svg {width:100%;height:100%}
.card-no {position:absolute;top:8px;left:8px;display:grid;place-items:center;min-width:28px;height:27px;padding:2px 5px;border-radius:9px;background:#25192d;color:#fff8ee;font-size:11px;font-weight:950}
.dest-body {display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:55px;padding:9px 10px;border-top:2px solid #20132633}
.dest-title {font-size:clamp(15px,1.55vw,22px);font-weight:950;letter-spacing:-.035em;line-height:1.03}
.dest-body .arrow {width:18px;height:18px;flex:none}
.passport-strip {display:flex;justify-content:space-between;align-items:center;gap:12px;border:2px solid #473456;border-radius:19px;background:#15101d;padding:12px 15px}
.pass-left {display:flex;align-items:center;gap:10px}
.pass-icon {display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--lilac);color:#2d1949;flex:none}
.pass-icon svg {width:22px}
.passport-strip h3 {font-size:17px}
.passport-strip p {font-size:12px;margin-top:3px}
.footer {margin-top:24px;font-size:11px;color:#b7acbd;display:flex;justify-content:space-between;align-items:center;gap:8px}
.footer button {background:none;border:0;color:#dec6ff;padding:7px;font-weight:800}

.page-head {margin-bottom:21px}
.page-head p:not(:empty),.game-head p {margin-top:7px;font-size:14px}
.kicker {margin-bottom:6px;color:var(--cyan);font-size:11px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.kicker:empty {display:none}
.back {display:inline-flex;align-items:center;gap:7px;min-height:44px;margin-bottom:7px;padding:0 6px 0 0;border:0;background:none;color:var(--lilac);font-size:13px;font-weight:900}
.back svg {width:17px}
.board {max-width:870px;padding:clamp(17px,4vw,31px);border:2px solid #493957;border-radius:24px;background:#151219}
.board p+p {margin-top:9px}
.destination-banner {display:grid;grid-template-columns:1fr 39%;align-items:center;overflow:hidden;margin-bottom:19px;border-radius:22px;background:var(--soft);color:#201526}
.destination-banner>div:first-child {padding:21px}
.destination-banner h1 {font-size:clamp(29px,5vw,53px);margin-top:7px}
.destination-banner .tag {background:#24192d;color:var(--soft)}
.destination-banner>svg {width:100%;height:100%;min-height:142px}
.mission-card {display:flex;align-items:center;justify-content:space-between;gap:15px}
.mission-card h2 {margin-bottom:6px}
.mission-card .btn {flex:none}
.fieldset {border:0;padding:0;margin:0 0 18px}
.fieldset legend {font-weight:950;margin-bottom:8px}
.setting-options {display:flex;flex-wrap:wrap;gap:7px}
.choice {min-height:46px;padding:8px 11px;border:2px solid #51445e;border-radius:13px;background:#221929;font-size:14px;font-weight:800}
.choice[aria-pressed=true] {background:var(--lilac);border-color:var(--lilac);color:#281739}
.settings-hint,.notice {font-size:12px;margin:10px 0 0;color:var(--muted)}
.notice:empty {display:none}
.trail {display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}
.trail span {padding:5px 8px;border-radius:8px;background:#2d2334;font-size:11px;font-weight:850}
.trail .active {background:var(--lilac);color:#251436}
.trail .done {background:var(--lime);color:#203310}
.game-shell {max-width:870px}
.game-head {display:flex;align-items:end;justify-content:space-between;gap:9px;margin-bottom:13px}
.game-head h1 {font-size:clamp(31px,5vw,51px)}
.game-head .pill {flex:none;margin:0}
.stage {
  display:grid;grid-template-columns:minmax(112px,205px) minmax(0,1fr);align-items:center;justify-items:center;gap:10px;
  text-align:center;min-height:220px;padding:16px 21px;border:2px solid #786090;border-radius:20px;background:#211631;
}
.stage.freeze {background:#17283b;border-color:#77d6ed}
.stage.paused {background:#222027}
.stage h2 {font-size:clamp(33px,6vw,68px);font-weight:1000}
.stage p {margin-top:7px;font-size:14px;font-weight:800}
.stage .stage-icon {width:37px;height:37px;margin:0 auto 6px;color:var(--yellow)}
.stage.freeze .stage-icon {color:var(--cyan)}
.movement-buddy {width:100%;max-width:195px}
.progress {height:8px;margin-top:12px;border-radius:99px;background:#392f48;overflow:hidden}
.progress div {height:100%;border-radius:99px;background:var(--cyan)}
.game-sound {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}
.volume-label {display:grid;flex:1 1 140px;gap:2px;max-width:245px;color:var(--muted);font-size:13px;font-weight:850}
.volume-label input {width:100%;min-height:30px;margin:0;accent-color:var(--cyan);cursor:pointer}
.volume-value {float:right;color:var(--cyan);font-variant-numeric:tabular-nums}
.listen-panel {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:13px}
.listen-panel p {font-size:14px;font-weight:750}
.answers {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.answer {display:grid;place-items:center;gap:5px;min-height:99px;padding:7px;border:2px solid #655172;border-radius:15px;background:#251b2f;font-weight:900}
.answer:not([aria-disabled=true]):hover {border-color:var(--lilac);background:#362347}
.answer.correct {background:#254731;border-color:var(--lime)}
.answer.try {background:#483525;border-color:#ffcb80}
.answer svg.instrument {width:68px;height:59px}
.answer .notation {width:100%;max-width:325px;height:auto;min-height:39px;border-radius:9px;background:#f2eafa}
.feedback {min-height:25px;margin-top:10px;font-size:14px;font-weight:850}
.stamp-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}
.stamp {display:grid;justify-items:center;align-content:center;gap:6px;min-height:112px;padding:9px;text-align:center;border:2px dashed #695478;border-radius:15px;background:#25192c}
.stamp.earned {background:var(--soft);border:2px solid var(--soft);color:#21152a}
.stamp.earned p {color:#35233e}
.stamp svg {width:31px;height:31px}
.stamp strong {font-size:13px}
.stamp p {font-size:11px}
.completion {text-align:center}
.completion .actions,.completion .trail {justify-content:center}
.completion h1 {font-size:clamp(33px,5vw,55px);margin:8px 0}
.completion .pass-icon {margin:0 auto 9px;width:62px;height:62px}
.completion .pass-icon svg {width:33px}
.orbit-small {width:112px;margin:auto}
.stamp-reward {display:flex;align-items:center;justify-content:center;gap:2px}
.stamp-reward .orbit-small,.stamp-reward .pass-icon {margin:0}
.stamp-reward .pass-icon {transform:rotate(9deg)}
.flight-screen {display:grid;align-content:center;min-height:310px;max-width:870px;padding:24px;border:2px solid #75518c;border-radius:25px;background:#170f21;overflow:hidden}
.flight-track {display:grid;place-items:center;margin:0 auto 11px;width:min(100%,600px);border-bottom:3px dashed var(--pink)}
.flight-track svg {width:110px;animation:takeoff 1s ease-in-out both}
.flight-caption {display:flex;align-items:center;justify-content:center;gap:10px}
.flight-caption .orbit-art {width:78px;flex:none}
.flight-caption h1 {font-size:clamp(28px,5vw,52px)}
@keyframes bob {to {transform:translateY(-11px) rotate(4deg)}}
@keyframes takeoff {from {transform:translate(-55%,6px) rotate(-6deg)}to {transform:translate(75%,-14px) rotate(-12deg)}}

@media(max-width:760px) {
  .top,.layout {padding-left:16px;padding-right:16px}
  .layout {padding-top:16px}
  .hero {min-height:310px}
  .hero-copy {padding-left:20px}
  .hero h1 {font-size:clamp(39px,7.3vw,61px)}
  .hero-art {min-height:270px}
  .orbit-hello {right:5%;bottom:13%}
  .dest-grid {gap:10px}
}
@media(max-width:540px) {
  .brand {gap:7px;font-size:15px}
  .brand-mark {width:33px;height:33px;border-radius:10px}
  .brand-mark svg {width:19px}
  .top {padding-top:10px;padding-bottom:10px}
  .top-actions {gap:4px}
  .top .mini {min-width:40px;height:40px;border-radius:11px}
  .hero {display:flex;flex-direction:column-reverse;align-items:stretch;min-height:0;border-radius:23px}
  .hero-art {height:178px;min-height:178px;margin:0}
  .buddy-sticker {width:163px;left:24%;top:3%}
  .plane-sticker {width:26%;top:8%;right:7%}
  .orbit-hello {bottom:6%;right:5%;padding:5px 9px;font-size:13px}
  .hero-copy {padding:3px 14px 20px}
  .hero h1 {font-size:clamp(39px,11vw,58px);margin:9px 0 13px}
  .hero .actions {margin-top:10px}
  .section {margin-top:22px}
  .dest-grid,.stamp-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .dest-art {height:96px}
  .dest-body {min-height:48px;padding:7px}
  .btn {padding:7px 11px;font-size:13px}
  .mission-card {align-items:flex-start;flex-direction:column}
  .destination-banner>div:first-child {padding:13px}
  .stage {min-height:176px;grid-template-columns:minmax(86px,35%) 1fr;gap:5px;padding:9px}
  .stage h2 {font-size:clamp(28px,8vw,41px)}
  .stage p {font-size:12px}
  .stage .stage-icon {width:29px;height:29px}
  .board {padding:13px}
  .game-head {align-items:flex-start}
  .footer {flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important}
}
.reduce *, .reduce *::before,.reduce *::after {animation:none!important;transition:none!important}

.beat-lights {display:flex;gap:6px;align-items:center;margin:9px 0;min-height:20px}
.beat-lights span {
  display:grid;place-items:center;min-width:25px;min-height:23px;padding:2px 6px;
  border:1px solid #6d587d;border-radius:8px;background:#24192e;color:#e7d9f0;
  font-size:12px;font-weight:900;
}
.beat-lights .active {border-color:var(--yellow);background:var(--yellow);color:#24152c}
.movement-lights {justify-content:center}
.movement-lights span {min-width:27px;min-height:7px;padding:0}
.movement-lights+.progress {margin-top:7px}
.stage.march:has(+.movement-lights [data-pulse="0"].active) {border-color:var(--cyan)}
.rhythm-highlight:not([fill]) {fill:transparent}
.rhythm-slot.active .rhythm-highlight {fill:#ffe45b}
.word-hint {margin:6px 0;font-size:14px;font-weight:800}
.word-tiles {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}
.word-tiles span {display:grid;place-items:center;min-height:43px;padding:3px;background:#342147;border:1px solid #705483;border-radius:10px;font-weight:950}
.word-tiles .active {background:var(--yellow);color:#261a2b}
.stamp p {max-width:17ch}


.move-art {width:86px;height:56px;margin:0 auto 4px}
.move-art .a {transform:translateY(var(--hop,0px))}
.move-march .b {transform:translateY(calc(-1 * var(--hop,0px)))}
.move-stomp .b,.move-pat .b,.move-tap .b {transform:translateY(var(--hop,0px))}
.move-clap .move-part {transform:translateX(calc(-.6 * var(--hop,0px)))}
.move-wave .move-part,.move-sway .move-part {transform-origin:center;transform:rotate(var(--tilt,0deg))}
.stage:not([data-cue]) .move-part {animation:preview-action .7s ease-in-out infinite alternate}
@keyframes preview-action {to {transform:translateY(-6px) rotate(8deg)}}
.reduce .move-part {transform:none!important}
@media(prefers-reduced-motion:reduce) {.move-part {transform:none!important}}

.learning-filters,.lesson-list,.builder {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.learning-filters label,.response-setting {display:grid;gap:5px;font-weight:850;color:var(--muted);font-size:13px}
.learning-filters select,.response-setting select {width:100%;min-height:43px;padding:7px;border:2px solid #51445e;border-radius:10px;background:#221929;color:var(--ink);font:inherit}
.response-setting {max-width:245px;margin-top:14px}
.lesson-list {margin-top:12px}
.lesson-card {display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:2px solid #493957;border-radius:18px;background:#151219}
.lesson-card p {font-size:13px}
.lesson-card .btn {margin-top:auto}
.lesson-stage {display:grid;grid-template-columns:minmax(85px,150px) 1fr;align-items:center;gap:12px;margin-bottom:12px}
.lesson-stage h2 {font-size:clamp(22px,4vw,42px)}
.lesson-orbit {width:100%}
.lesson-notation {max-width:560px;margin:9px auto;background:#f2eafa;border-radius:13px;padding:5px}
.lesson-notation svg {width:100%;height:auto}
.lesson-notation.layer {background:#e0f6dd}
.lesson-answers .answer .notation {width:min(100%,190px)}
.builder {margin:8px 0}
.stage-list {display:grid;gap:8px;margin:13px 0;padding:0;list-style:none}
.stage-list li {display:flex;justify-content:space-between;gap:8px;font-size:14px}
.stage-list span {white-space:nowrap;color:var(--muted)}
.projection {max-width:1320px;margin:auto}
.projection .board {max-width:100%}
.projection .game-head h1 {font-size:clamp(28px,5vw,65px)}
.projection .lesson-stage {grid-template-columns:minmax(95px,220px) 1fr}
.projection .lesson-stage h2 {font-size:clamp(26px,5.5vw,68px)}
.projection .lesson-notation {max-width:850px}
.projection .btn {min-height:52px;font-size:clamp(14px,1.7vw,23px)}
.classroom-shell .layout {max-width:1440px;padding-bottom:25px}
.classroom-shell .mobile-nav,.classroom-shell .footer {display:none}
@media(max-width:540px) {
  .projection .lesson-stage {grid-template-columns:minmax(70px,32%) 1fr}
  .learning-filters {grid-template-columns:repeat(2,minmax(0,1fr))}
  .stage-list li {flex-wrap:wrap}
}
@media print {
  :root,body {background:white;color:black;color-scheme:light}
  p,.notice {color:#333}
  .board,.lesson-card {background:white;color:black;border-color:#aaa}
  .top,.mobile-nav,.footer,.actions,.back,.game-sound,.learning-filters {display:none!important}
}


.pitch-answer-row,.pitch-note-pads {display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.pitch-board {max-width:100%}
.pitch-settings {display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}
.pitch-settings label {display:grid;gap:4px;font-size:13px;font-weight:850}
.pitch-settings select {min-height:44px;max-width:100%;padding:6px 8px;border:2px solid #5b4b66;border-radius:10px;background:#221929;color:var(--ink);font:inherit}
.pitch-settings .pitch-toggle {display:flex;align-items:center;gap:7px;min-height:44px}
.pitch-sky {position:relative;overflow:hidden;height:clamp(215px,34vw,340px);border:2px solid #93e9ff;border-radius:20px;background:linear-gradient(160deg,#73c8ff,#d2f5ff)}
.pitch-chart {position:absolute;width:100%;height:100%}
.pitch-cloud {fill:#fff;opacity:.81}
.pitch-gridline {stroke:#377ca2;stroke-width:.28;stroke-dasharray:1.8 1.7;opacity:.45}
.pitch-route {fill:none;stroke:#52369b;stroke-width:.8;stroke-dasharray:1.8 1.1;stroke-linecap:round;stroke-linejoin:round}
.pitch-plane,.pitch-marker {position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);pointer-events:none}
.pitch-plane {width:clamp(54px,10vw,110px);z-index:3}
.pitch-plane svg {width:100%;height:auto}
.pitch-marker {display:grid;place-items:center;min-width:25px;min-height:25px;padding:3px 5px;border:2px solid #30214b;border-radius:9px;background:hsl(calc(52 + var(--tone)*17) 86% 79%);color:#211332;font-size:11px;font-weight:950;white-space:nowrap}
.pitch-marker.active {background:#ffe45b;border-color:#20102c;box-shadow:0 0 0 4px #ffe45b80;z-index:2}
.pitch-alt {position:absolute;left:8px;padding:2px 6px;border-radius:8px;background:#e8f9ff;color:#20375c;font-size:11px;font-weight:900}
.pitch-alt-top {top:5px}.pitch-alt-bottom {bottom:5px}
.pitch-current {min-height:24px;color:#ffe45b;font-weight:950}
.pitch-draft {display:flex;flex-wrap:wrap;gap:5px;color:var(--muted);font-size:13px;font-weight:850}
.pitch-draft span {padding:5px 8px;background:#342147;border-radius:8px;color:var(--ink)}
.pitch-staff {max-width:640px;margin:8px auto;border-radius:12px;background:#f2eafa;padding:5px}
.pitch-staff svg {width:100%;max-height:105px}
.pitch-choice-line {width:36px!important;height:30px!important}
.pitch-answer-row .btn {min-height:51px}
@media(max-width:540px) {
  .pitch-marker {font-size:9px;min-width:20px;padding:2px 3px}
}

.dest-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.dest-cell {position:relative;min-width:0}
.dest-cell .dest {width:100%;height:100%;display:flex;flex-direction:column}
.dest-cell .dest-art {width:100%;height:clamp(106px,13vw,155px)}
.dest-cell .dest-body {width:100%;flex:1;min-height:52px}
.dest-resume {position:absolute;top:8px;right:8px;min-height:40px;padding:4px 8px;box-shadow:0 2px 7px #29164a6e}
.destination-banner p {margin-top:7px;color:#34264c;font-size:14px;font-weight:800}
.venture-heading {display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.venture-heading h2 {font-size:clamp(24px,3.7vw,36px)}
.venture-mission-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.venture-mission {display:grid;align-content:start;justify-items:start;gap:8px;min-height:142px;text-align:left;border:3px solid var(--soft);border-radius:18px;padding:10px;background:var(--soft);color:#21162d}
.venture-mission:hover {filter:brightness(1.06)}
.venture-mission strong {font-size:clamp(16px,2.25vw,23px);line-height:1.05}
.venture-mission-art {display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#fff9;color:#251638}
.venture-mission-art svg {width:31px;height:37px}
.venture-play {display:flex;align-items:center;gap:5px;font-size:12px;font-weight:950;color:#392853}
.venture-play svg {width:14px;height:14px}
.grown-up-links {margin:0 0 17px}
.galaxy-board {max-width:870px}
.galaxy-field {position:relative;overflow:hidden;height:clamp(164px,28vw,282px);border:2px solid #a189ef;border-radius:17px;background:#231545}
.galaxy-field>svg {width:100%;height:100%}
.galaxy-buddy {position:absolute;bottom:8px;left:9%;width:clamp(62px,13vw,128px)}
.galaxy-rocket {position:absolute;bottom:7%;left:48%;width:clamp(60px,12vw,107px);transform:rotate(12deg)}
.galaxy-rocket.launched {animation:galaxy-launch 1.35s ease-out both}
.galaxy-rocket.arrived {animation:galaxy-arrive 1.3s ease-out both}
@keyframes galaxy-launch {to {transform:translate(90%,-175%) rotate(30deg)}}
@keyframes galaxy-arrive {to {transform:translate(110%,-24%) rotate(65deg)}}
.galaxy-station {position:absolute;top:10px;right:10px}
.galaxy-feedback {min-height:1.6em;margin:10px 0;font-weight:900}
.galaxy-beats {display:flex;gap:8px;margin:10px 0}
.galaxy-beats span {display:grid;place-items:center;min-width:0;flex:1 1 45px;max-width:78px;min-height:45px;border:2px solid #67527f;border-radius:11px;background:#271a3c;color:#e7cbff;font-size:clamp(13px,3.4vw,25px);font-weight:950}
.galaxy-beats .active {background:#ffeb80;color:#291643;border-color:#fff5a7}
.galaxy-beats .hit {background:#b6efaa;color:#242c1d;border-color:#b6efaa}
.galaxy-fuel {font-size:13px;margin-bottom:8px;color:var(--muted)}
[data-action="galaxy-tap"] {width:100%;min-height:64px;touch-action:manipulation;font-size:20px}
.galaxy-pattern>.notation {width:min(100%,490px);height:auto;background:#efe4fd;border-radius:10px}
.galaxy-pace {display:grid;align-self:center;gap:4px;font-size:13px;font-weight:800}
.galaxy-pace select {min-height:40px;padding:5px 8px;border:2px solid #5b4b66;border-radius:10px;background:#221929;color:var(--ink);font:inherit}
@media(max-width:560px) {
  .dest-grid,.venture-mission-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .dest-cell .dest-art {height:104px}
  .dest-resume {top:5px;right:5px;min-height:34px;font-size:11px}
  .dest-resume svg {width:14px}
}

.pilot-deck {margin-bottom:16px}
.pilot-toolbar {position:sticky;top:0;z-index:9;max-width:100%;margin-bottom:14px;padding:10px 14px;background:#251837;border:2px solid #8e72c9}
.pilot-top {display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.pilot-toolbar .actions {margin:6px 0 0}
.pilot-toolbar .btn {min-height:42px}
.pilot-toolbar select,.pilot-fields select,.pilot-fields input,.foundation-picker select {min-height:40px;max-width:100%;padding:5px 8px;border:2px solid #674d87;border-radius:9px;background:#21172c;color:var(--ink);font:inherit}
.pilot-fields {display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.pilot-fields label,.foundation-picker {display:grid;gap:4px;font-weight:800;font-size:14px}
.pilot-fields input {width:90px}
.pilot-answer {margin:8px 0 0;padding:8px;background:#402955;border-radius:9px;font-weight:850}
.pilot-answer svg {max-width:380px;background:#eee4ff;border-radius:6px}
.edu-links {margin:0 0 16px}
.tempo-lights {display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.tempo-lights>div {min-width:64px;display:flex;align-items:center;justify-content:center;gap:4px;border:2px solid #615078;border-radius:12px;padding:8px;background:#261934}
.tempo-lights>div.active {border-color:#ffef9f}
.tempo-lights span.active {color:#fff08a;text-shadow:0 0 6px #ffe45b}
.tempo-lights span {color:#ac99c1}
.foundation-picker {max-width:410px;margin-bottom:14px}
.foundation-example {background:#3a2651;border-radius:12px;padding:12px;font-weight:850;margin:12px 0}
.foundation-board h3,.tempo-board h3 {margin-top:15px}
@media(max-width:560px){.pilot-toolbar{position:static}.pilot-toolbar .btn {min-height:38px;font-size:11px}.pilot-fields label{max-width:100%}}

/* HQ and Cosmic Quest use the existing card palette and controls. */
.settings-label {font-size:.84rem}
.top-actions .mini:has(.settings-label){width:auto;padding-inline:.7rem;gap:.4rem}
.top-actions small{font-size:.65rem;opacity:.75}
.hq-modes {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.75rem}
.hq-mode {display:grid;place-items:center;gap:.35rem;min-height:88px;padding:.6rem .3rem;background:var(--mode);border:2px solid #211432;border-radius:1rem;color:#191223;font:inherit;font-weight:900;cursor:pointer}
.hq-mode svg{width:30px;height:30px}
.hq-progress h2{font-size:1.15rem;margin:0}
.hq-progress .actions{margin:0}
.hq-library .btn{width:100%;justify-content:flex-start;background:#8ce6f6;color:#171125}
.hq-resources{text-align:center}
[data-tour-highlight]{outline:3px solid #ffe36e;outline-offset:4px;border-radius:1rem;scroll-margin-bottom:11rem}
.hq-tour{position:fixed;z-index:30;left:50%;bottom:5.2rem;transform:translateX(-50%);width:min(94%,560px);display:grid;grid-template-columns:60px 1fr;align-items:center;padding:.8rem;gap:.6rem;background:#201332;border:2px solid #e0bfff;border-radius:1rem;box-shadow:0 4px 20px #000c}
.hq-tour p{margin:.2rem 0}.hq-tour .actions{margin-top:.4rem}.hq-tour .btn{min-height:40px;padding:.3rem .6rem}
.tour-orbit svg{width:100%}
.cosmic-map{position:relative;isolation:isolate;min-height:330px;border:2px solid #604891;border-radius:1.4rem;overflow:hidden;background:radial-gradient(ellipse at 55% 50%,#423073 0%,#171128 46%,#0d101f 100%)}
.cosmic-map::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.78;background:radial-gradient(circle,#fff 1px,transparent 2px) 0 0 / 47px 53px,radial-gradient(circle,#d899fb 1px,transparent 2px) 17px 31px / 81px 73px}
.cosmic-orbits{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:#a990ea;stroke-opacity:.6;stroke-dasharray:5 10}
.cosmic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.1rem .65rem}
.cosmic-planet{display:grid;justify-items:center;gap:.3rem;color:#fff;text-shadow:0 2px 3px #000;background:transparent;border:0;font:inherit;cursor:pointer;padding:.2rem;z-index:1}
.planet-sphere{width:clamp(54px,9vw,105px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:2px solid #f2ddff;background:radial-gradient(circle at 29% 22%,#fff,var(--planet) 34%,#392653 130%);box-shadow:0 0 20px color-mix(in srgb,var(--planet),transparent 45%);color:#241936;transform:rotate(-8deg)}
.planet-sphere svg{width:46%;height:46%}
.planet-1,.planet-4{margin-block:1rem}
.cosmic-orbit{margin:.6rem auto 0;text-align:center;color:#ffc4eb;width:65px;font-size:.7rem}.cosmic-orbit svg{width:100%;display:block}
.cosmic-travel .flight-track>svg{width:150px;max-height:160px}
.cosmic-games{margin-top:1rem}.cosmic-games summary{cursor:pointer;padding:.35rem}
.score-bar {--score-paper:#f8f5ff;color:#261939;background:var(--score-paper);overflow-x:auto;border-radius:.8rem;margin:.8rem 0}
.score-bar svg{width:100%;max-width:780px;min-width:390px;display:block;margin:auto}
.score-cell{color:#674d84}.score-cell:not(.attack) circle{fill:var(--score-paper)}.score-cell.current,.score-note.current{color:#a01859}
.instrument-explorer .explorer-art{max-width:160px;margin:1rem auto}
@media(max-width:600px){.settings-label{display:none}.hq-modes{gap:.35rem}.hq-mode{font-size:.82rem}.cosmic-grid{gap:.4rem}.cosmic-planet{font-size:.85rem}.hq-progress{align-items:flex-start}.hq-tour{bottom:4.5rem}}
.score-route{display:flex;gap:.4rem;flex-wrap:wrap;list-style:none;padding:0}
.score-route li{padding:.6rem;background:#312044;border:1px solid #a38cbf;border-radius:.65rem}
.score-route strong{margin-right:.35rem;color:#f7d875}
.mix-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.65rem;margin-top:.85rem}
.mix-grid label{display:grid;gap:.25rem;font-weight:750;color:#f0e5ff}
.mix-grid input{width:100%;accent-color:#c9b1ff;min-height:34px}

.pilot-deck ol {display:grid;gap:8px;padding-inline-start:24px}
.pilot-deck li .btn {margin-inline-start:8px;min-height:34px}
.pilot-deck details {margin-block:14px}
[data-prep-part] .score-bar {max-width:660px;margin:6px 0}
