:root{color-scheme:dark;--bg:#091227;--panel:#142242;--ink:#f5f7ff;--muted:#b6c5e3;--blue:#87e6ff;--gold:#ffe38c;--violet:#cbb5ff;--border:#34496e;--font:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:4px solid #fff;outline-offset:5px}button{color:inherit}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}.space-backdrop{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 15%,#273461 0%,transparent 52%),radial-gradient(ellipse at 0% 90%,#133744 0%,transparent 50%);z-index:-1}.app{max-width:1440px;margin:auto;padding:24px 40px 14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;padding:0;background:none;border:0;text-align:left;font-size:18px;font-weight:800;letter-spacing:2.3px}.brand img{width:44px;height:44px}.brand small{display:block;font-size:11px;letter-spacing:2.6px;color:var(--muted);margin-top:4px}.toolbar{display:flex;gap:10px}.utility{min-height:48px;border:1px solid var(--border);border-radius:14px;background:#152442;padding:10px 16px;font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.utility:hover{background:#233558;border-color:#8aabda}.utility[aria-pressed=true]{border-color:var(--blue);background:#204457}.eyebrow{display:block;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:2.4px;line-height:1.5}.home-heading{text-align:center;padding:35px 0 28px}.home-heading h1{font-size:clamp(34px,4.3vw,58px);font-weight:750;letter-spacing:-1.8px;line-height:1.06;margin:14px 0 18px}.home-heading p{color:var(--muted);font-size:20px;margin:0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1100px;margin:auto}.team-card{--accent:var(--blue);background:linear-gradient(160deg,#1e3455,#15233e);border:1px solid #3c577a;border-radius:28px;padding:24px 20px 18px;display:flex;align-items:center;flex-direction:column;min-height:345px;position:relative;transition:transform .18s,border-color .18s;box-shadow:0 18px 36px #0003}.team-card:hover{transform:translateY(-5px);border-color:var(--accent)}.team-card.franklin{--accent:var(--gold);background:linear-gradient(160deg,#3b354b,#1c233c);border-color:#605a73}.team-card.buddies{--accent:var(--violet);background:linear-gradient(160deg,#322956,#1c2443);border-color:#5c5281}.portrait-frame{position:relative;width:160px;height:160px;margin:3px 0 24px}.portrait{object-fit:cover;object-position:center 48%;border-radius:50%;background:#233354}.portrait-frame .portrait{width:100%;height:100%;border:4px solid var(--accent);box-shadow:0 0 0 7px #ffffff08}.franklin-photo{object-position:center 53%}.captain-badge{position:absolute;right:-4px;bottom:0;border:3px solid #162440;background:var(--accent);color:#172541;border-radius:50%;width:43px;height:43px;font-size:27px;display:grid;place-items:center}.team-name{font-weight:750;font-size:27px;letter-spacing:-.5px}.team-caption{font-size:15px;color:var(--muted);margin:9px 0 25px}.play-label{margin-top:auto;display:flex;justify-content:space-between;width:100%;font-weight:700;font-size:17px;align-items:center;background:var(--accent);color:#101c36;border-radius:13px;padding:13px 16px}.duo-frame{display:flex;align-items:center;width:100%;max-width:240px;height:160px;position:relative;margin:3px 0 24px}.duo-frame .portrait{height:130px;width:130px;max-width:59%;border:4px solid var(--accent)}.duo-frame .portrait+img{margin-left:-20px;margin-top:25px}.duo-star{position:absolute;right:0;top:0;color:var(--gold);font-size:42px;text-shadow:0 2px 10px #000}.home-bottom{max-width:1100px;margin:26px auto 0;display:flex;justify-content:space-between;gap:14px;align-items:center;color:var(--muted);font-size:14px}.mission-note{display:flex;gap:10px;align-items:center}.mission-note span{color:var(--gold);font-size:25px}.offline-label{font-size:12px;text-align:right}.app-footer{display:flex;justify-content:space-between;margin-top:27px;color:#8499be;font-size:12px}.app-footer button{background:none;border:0;color:#b6c5e3;text-decoration:underline;font-size:13px;min-height:30px}.game-screen{margin-top:25px}.mission-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.mission-title h1{font-size:26px;margin:4px 0 0;letter-spacing:-.6px}.star-meter{text-align:center}.star-meter #starSlots{display:flex;gap:9px;color:#334a70;font-size:31px;line-height:1.1}.star-meter .filled{color:var(--gold)}.star-meter #starCount{display:block;font-size:13px;color:var(--muted);margin-top:7px}.flight-deck{height:clamp(420px,62vh,690px);min-height:420px;border:1px solid #445e8a;border-radius:24px;position:relative;overflow:hidden;background:#09152e;touch-action:manipulation;box-shadow:0 20px 50px #0003}#gameCanvas{width:100%;height:100%;display:block}.target-layer{position:absolute;inset:0;pointer-events:none}.ship-target{position:absolute;border:0;background:transparent;pointer-events:auto;padding:8px;display:grid;place-items:center;touch-action:manipulation;width:142px;height:126px;border-radius:35px;transition:opacity .18s;outline-offset:-4px!important}.ship-target:hover{background:#a2ddff0b}.ship-target svg{width:100%;height:100%;filter:drop-shadow(0 7px 10px #0004)}.ship-target .target-halo{position:absolute;border:2px dashed #b8e8ff75;border-radius:50%;width:112px;height:105px;opacity:.55;pointer-events:none}.ship-target:focus-visible .target-halo{border-color:#fff;opacity:1}.ship-target.collecting{opacity:.55;pointer-events:none}.play-hint{position:absolute;top:17px;left:50%;transform:translateX(-50%);background:#152442eb;border:1px solid #40577b;border-radius:100px;padding:10px 22px;font-size:19px;white-space:nowrap;pointer-events:none}.tap-symbol{font-size:24px;margin-right:7px}.captain-panel{position:absolute;left:20px;bottom:18px;display:flex;gap:12px;align-items:center;background:#101e39ee;border:1px solid #3e5780;border-radius:17px;padding:10px 16px 10px 10px;max-width:41%;pointer-events:none}.captain-panel img{height:76px;width:76px;border:3px solid var(--blue);flex-shrink:0}.captain-panel strong{display:block;font-size:21px;margin:3px 0}.captain-panel .eyebrow{font-size:10px;letter-spacing:1.8px}.captain-panel #captainQuip{display:block;font-size:13px;color:var(--muted);line-height:1.3}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 4px;color:var(--muted);font-size:15px}.paused-overlay{position:absolute;inset:0;background:#0a142ce8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:24px;text-align:center;z-index:3}.paused-overlay h2{font-size:32px}.primary,.secondary{min-height:56px;padding:14px 28px;border-radius:15px;font-size:19px;font-weight:750;border:1px solid transparent}.primary{background:var(--blue);color:#12213a;box-shadow:0 7px 18px #0002}.primary:hover{background:#b2efff}.secondary{background:#213354;border-color:#526a93;color:#fff}.secondary:hover{background:#2c456b}.celebration-screen{text-align:center;padding:26px 0 0;max-width:850px;margin:auto}.celebration-stars{font-size:36px;letter-spacing:11px;color:var(--gold);margin:5px 0 20px}.celebration-screen h1{font-size:clamp(30px,4vw,45px);margin:8px 0 24px;letter-spacing:-1px}.discovery-card{border:1px solid #4a638a;border-radius:25px;background:#152643;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;text-align:left;align-items:center}.discovery-card canvas{width:100%;display:block}.discovery-card>div{padding:24px 24px 24px 0}.discovery-card h2{font-size:27px;margin:8px 0 14px}.discovery-card p{font-size:18px;color:var(--muted);line-height:1.5;margin:0}.celebration-crew{display:flex;align-items:center;justify-content:center;gap:24px;margin:24px 0}.crew-captain{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px}.crew-captain img{width:66px;height:66px;border:3px solid var(--gold)}.celebration-actions{display:flex;gap:15px;justify-content:center}.collected-note{font-size:13px;color:var(--muted);display:block;margin-top:18px}#captainVideo{max-width:360px;max-height:200px;width:100%;border-radius:16px;margin:0 auto 20px;background:#061022}dialog{width:min(640px,calc(100% - 28px));max-height:90vh;background:#142442;color:var(--ink);border:1px solid #536a96;border-radius:25px;padding:0;box-shadow:0 24px 80px #0009}dialog::backdrop{background:#020918c9}.settings-heading{padding:24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:14px}.settings-heading h2{font-size:27px;margin:5px 0 0}.settings-body{padding:24px}.settings-body fieldset{border:0;padding:0;margin:0 0 26px}.settings-body legend{font-size:18px;font-weight:700;margin-bottom:12px}.choice-row{display:flex;flex-wrap:wrap;gap:9px}.choice-row label{border:1px solid #4e648b;border-radius:11px;padding:12px 13px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:16px}.choice-row label:has(input:checked){border-color:var(--blue);background:#1f4559}.choice-row input{accent-color:var(--blue);width:19px;height:19px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;font-size:17px}.toggle-row label{cursor:pointer}.toggle-row small{display:block;color:var(--muted);font-size:13px;margin-top:5px}.toggle-row input{width:26px;height:26px;accent-color:var(--blue);flex-shrink:0}.settings-note{color:var(--muted);font-size:14px;margin:24px 0 0}.settings-footer{padding:0 24px 24px;text-align:right}.media-settings{border-top:1px solid #3b5279;margin-top:24px;padding-top:20px;font-size:15px}.media-settings summary{cursor:pointer;min-height:36px;font-weight:700}.media-settings p{color:var(--muted);line-height:1.5;font-size:14px}.video-input{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:17px 0}.video-input label{font-weight:700;min-width:120px}.video-input input{font-size:13px;max-width:100%;flex:1}.video-input button{font-size:13px;min-height:36px;padding:6px 10px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#254760;border:1px solid var(--blue);padding:15px 24px;border-radius:14px;max-width:90%;z-index:10;text-align:center;box-shadow:0 8px 25px #0006;font-size:17px}.gentle *{scroll-behavior:auto!important;transition:none!important}.pop-in{animation:arrive .45s ease-out}@keyframes arrive{from{transform:translateY(12px);opacity:.3}to{transform:translateY(0);opacity:1}}
@media(min-width:1500px){.home-heading{padding-top:65px}.team-card{min-height:400px;padding-top:32px}.portrait-frame{width:180px;height:180px}.duo-frame{height:180px}.duo-frame .portrait{height:148px;width:148px}}
@media(max-width:900px){.app{padding:20px 22px 12px}.team-grid{gap:14px}.team-card{padding:22px 12px 14px;min-height:320px}.portrait-frame{width:132px;height:132px}.team-name{font-size:24px}.team-caption{font-size:13px;min-height:34px;line-height:1.4;margin:8px 0 16px}.play-label{font-size:15px;padding:13px 11px}.duo-frame{height:132px}.duo-frame .portrait{width:100px;height:100px}.home-heading h1{font-size:46px}.captain-panel{max-width:46%}.captain-panel img{width:60px;height:60px}.captain-panel #captainQuip{display:none}.captain-panel strong{font-size:18px}}
@media(max-width:600px){.app{padding:16px 16px 12px}.brand{font-size:14px;letter-spacing:1.4px;gap:8px}.brand img{width:36px;height:36px}.brand small{font-size:9px;letter-spacing:1.5px}.toolbar{gap:7px}.toolbar .utility{padding:8px 10px;font-size:14px}.toolbar .utility>span:first-child{display:none}.home-heading{padding:30px 0 25px}.home-heading h1{font-size:39px}.home-heading p{font-size:17px}.team-grid{grid-template-columns:1fr}.team-card{padding:18px;min-height:148px;display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto auto;text-align:left;gap:0 20px;border-radius:22px}.portrait-frame{width:100px;height:100px;margin:0;grid-row:1/4}.captain-badge{width:31px;height:31px;font-size:18px}.team-name{font-size:24px}.team-caption{font-size:13px;min-height:0;margin:6px 0 10px}.play-label{font-size:14px;padding:10px 12px}.duo-frame{grid-row:1/4;width:110px;height:100px;margin:0}.duo-frame .portrait{width:68px;height:68px;max-width:none;border-width:3px}.duo-frame .portrait+img{margin-left:-25px;margin-top:35px}.duo-star{font-size:28px;right:0;top:0}.home-bottom{flex-direction:column;align-items:flex-start;margin-top:19px}.offline-label{text-align:left}.app-footer{margin-top:20px}.mission-bar{flex-wrap:wrap;gap:10px}.mission-title{flex:1}.mission-title h1{font-size:21px}.mission-title .eyebrow{font-size:10px}.pause-button{font-size:14px;min-height:44px;padding:9px 12px}.star-meter{order:3;width:100%;display:flex;align-items:center;justify-content:center;gap:15px}.star-meter #starSlots{font-size:25px}.star-meter #starCount{margin:0}.flight-deck{height:clamp(425px,65vh,620px);border-radius:18px}.play-hint{font-size:16px;padding:8px 15px;top:12px}.captain-panel{left:10px;bottom:12px;max-width:54%;padding:8px;gap:7px}.captain-panel img{width:44px;height:44px;border-width:2px}.captain-panel strong{font-size:15px}.captain-panel .eyebrow{font-size:8px;letter-spacing:.7px}.game-footer{font-size:13px;align-items:flex-start}.game-footer .utility{font-size:13px;min-height:40px;white-space:nowrap;padding:9px 12px}.celebration-screen{padding-top:28px}.celebration-stars{font-size:29px;letter-spacing:5px}.discovery-card{grid-template-columns:1fr}.discovery-card canvas{max-height:200px;object-fit:contain}.discovery-card>div{padding:0 22px 24px;text-align:center}.discovery-card h2{font-size:25px}.discovery-card p{font-size:16px}.crew-captain{font-size:14px;gap:8px}.crew-captain img{height:48px;width:48px}.celebration-crew{gap:16px}.celebration-actions{flex-direction:column}.primary,.secondary{font-size:18px}.settings-heading{padding:20px}.settings-heading h2{font-size:23px}.settings-body{padding:20px}.choice-row label{font-size:14px;padding:12px 10px}}
@media(max-height:650px) and (min-width:700px){.app{padding-top:14px}.home-heading{padding:20px 0}.home-heading h1{font-size:38px;margin:9px 0 12px}.home-heading h1 br{display:none}.team-card{min-height:282px}.portrait-frame,.duo-frame{height:120px;margin-bottom:16px}.portrait-frame{width:120px}.duo-frame .portrait{width:105px;height:105px}.team-caption{margin-bottom:15px}.home-bottom{margin-top:14px}.app-footer{margin-top:12px}.flight-deck{height:400px;min-height:400px}.game-screen{margin-top:15px}.celebration-screen{padding-top:15px}.celebration-screen h1{margin-bottom:14px}.celebration-stars{margin-bottom:10px}.celebration-crew{margin:14px 0}}
.captain-cheer{margin:0 auto 24px;max-width:700px}.captain-cheer p{font-size:20px;line-height:1.45;color:var(--gold);margin:0 0 14px}.captain-cheer .utility{font-size:16px}
.level-picker{max-width:1100px;margin:0 auto 24px;padding:0;border:0}.level-picker legend{font-size:15px;font-weight:700;color:var(--muted);margin-bottom:12px}.level-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.level-choice{display:flex;align-items:center;gap:12px;min-height:106px;padding:15px 16px;border:1px solid #465b80;border-radius:18px;background:#142441;cursor:pointer}.level-choice:has(input:checked){background:#204455;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.level-choice input{width:22px;height:22px;accent-color:var(--blue);flex-shrink:0}.level-choice strong{font-size:17px;display:block;margin-bottom:7px}.level-choice small{font-size:13px;line-height:1.5;color:var(--muted);display:block}.level-symbol{color:var(--gold);margin-left:auto;font-size:17px;white-space:nowrap}.home-heading{padding-bottom:24px}.mission-note #levelSummary{font-size:14px;color:var(--muted)}.star-meter.challenge #starSlots{gap:4px;font-size:25px}.star-meter.challenge #starCount{white-space:nowrap}.ship-target.glowing .target-halo{border:3px solid var(--gold);box-shadow:0 0 18px #ffe38c70;opacity:1;width:90%;height:90%}.ship-target.glowing svg{filter:drop-shadow(0 0 8px #ffe38c88)}.ship-target.waiting svg{opacity:.55}.ship-target.waiting .target-halo{opacity:.22}.arcade-controls{display:flex;justify-content:center;gap:14px;margin-top:16px}.arcade-controls button{touch-action:none;user-select:none;min-height:60px;min-width:135px}.arcade-controls .primary{min-width:250px}.flight-deck.arcade{touch-action:none}.flight-deck.arcade .captain-panel{left:auto;right:12px;bottom:auto;top:12px;max-width:39%;padding:7px 12px 7px 7px}.flight-deck.arcade .captain-panel img{width:46px;height:46px}.flight-deck.arcade .captain-panel strong{font-size:17px;margin:0}.flight-deck.arcade .captain-panel .eyebrow,.flight-deck.arcade #captainQuip{display:none}.flight-deck.arcade .play-hint{left:12px;transform:none;max-width:55%;font-size:16px;white-space:normal;padding:9px 14px}.flight-deck.arcade .ship-target .target-halo{width:80%;height:80%}.next-level{margin:18px auto 0;min-height:52px;color:var(--gold)}
@media(max-width:900px){.level-choice{padding:12px 10px;gap:8px}.level-choice strong{font-size:15px}.level-symbol{display:none}.star-meter.challenge #starSlots{font-size:22px}}
@media(max-width:600px){.level-options{grid-template-columns:1fr;gap:9px}.level-picker{margin-bottom:20px}.level-choice{min-height:80px;padding:12px 15px;gap:14px}.level-choice strong{font-size:17px;margin-bottom:4px}.level-choice small br{display:none}.level-symbol{display:block}.star-meter.challenge #starSlots{font-size:19px;gap:3px}.star-meter.challenge{flex-wrap:wrap;gap:6px 12px}.arcade-controls{gap:8px}.arcade-controls button{min-width:0;min-height:60px;padding:10px 12px;font-size:16px}.arcade-controls .secondary{flex:1}.arcade-controls .secondary span{display:none}.arcade-controls .primary{min-width:0;flex:3;font-size:16px}.flight-deck.arcade .captain-panel{padding:6px;gap:6px;max-width:43%}.flight-deck.arcade .captain-panel img{width:34px;height:34px}.flight-deck.arcade .captain-panel strong{font-size:13px}.flight-deck.arcade .play-hint{font-size:13px;padding:8px 10px;max-width:51%}.next-level{width:100%}}

/* Put the winning captains at the center of their celebration. */
.celebration-screen{max-width:900px;padding-top:18px}
.celebration-stars{font-size:30px;margin:4px 0 12px}
.celebration-screen h1{margin-bottom:16px}
.celebration-crew{gap:28px;margin:18px auto 20px}
.crew-captain{flex-direction:column;gap:12px;font-size:24px;color:var(--captain-accent,var(--gold))}
.crew-captain img{width:clamp(240px,30vw,300px);height:clamp(280px,34vw,340px);border:4px solid var(--captain-accent,var(--gold));border-radius:28px;object-position:center 43%;box-shadow:0 0 0 8px #ffffff06,0 16px 36px #0005}
.celebration-crew.duo .crew-captain img{width:clamp(200px,26vw,280px);height:clamp(250px,30vw,320px)}
.celebration-screen .captain-cheer{margin-bottom:18px}
.celebration-screen .discovery-card{max-width:760px;margin:24px auto 0}
@media(max-width:600px){
  .celebration-screen{padding-top:22px}
  .celebration-crew{gap:14px;margin:20px 0}
  .crew-captain{font-size:22px;max-width:100%}
  .crew-captain img{width:min(290px,80vw);height:min(330px,91vw);border-radius:24px}
  .celebration-crew.duo .crew-captain{flex:1;min-width:0;font-size:17px}
  .celebration-crew.duo .crew-captain img{width:100%;height:auto;aspect-ratio:4/5;border-width:3px;border-radius:20px}
  .celebration-screen .captain-cheer p{font-size:18px}
}

.level-options{grid-template-columns:repeat(4,1fr)}
.level-choice{padding:14px 12px;gap:10px}
.level-choice strong{font-size:16px}
.level-options .level-symbol{display:none}
.descending-ship{pointer-events:none;padding:2px}
.auto-pulse-indicator{display:flex;align-items:center;justify-content:center;min-height:60px;min-width:250px;border:1px solid #52748c;border-radius:15px;background:#1c3c4e;color:var(--blue);font-size:19px;font-weight:700;padding:12px 20px}
.star-meter.extended #starSlots{font-size:19px;gap:3px}
.difficulty-control{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 10px;border:1px solid #526b91;border-radius:14px;background:#152442;font-size:14px;font-weight:700}
.difficulty-control select{font:inherit;color:#edf5ff;background:#1c3354;border:1px solid #627eaa;border-radius:8px;padding:6px;cursor:pointer;min-height:34px}
.difficulty-control select:focus-visible{outline:3px solid #fff;outline-offset:3px}
.mission-clock{display:inline-block;margin-top:8px;color:var(--blue);font-size:14px;font-weight:700}
.mission-clock.urgent{color:#ffe38c}
.celebration-screen.retry .celebration-stars{color:var(--blue)}
@media(max-width:600px){.topbar{flex-wrap:wrap;gap:14px}.toolbar{margin-left:auto;gap:6px}.difficulty-control{gap:5px;min-height:44px;padding:4px 7px;font-size:13px}.difficulty-control select{padding:4px;min-height:32px}.toolbar .utility{min-height:44px}.mission-clock{font-size:13px}}
@media(max-width:900px){.level-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.level-options{grid-template-columns:1fr}.level-choice{padding:12px 15px;gap:14px}.level-choice strong{font-size:17px}.auto-pulse-indicator{min-width:0;flex:3;padding:10px 8px;font-size:14px}.star-meter.extended #starSlots{font-size:16px;gap:2px}}

/* Give the flight deck the room left by the controls, including on tablets. */
.playing .app{padding-top:8px;padding-bottom:10px}
.playing .game-screen{margin-top:8px}
.playing .mission-bar{margin-bottom:12px}
.playing .mission-title h1{font-size:23px}
.playing .flight-deck{height:clamp(300px,72vh,820px);min-height:300px}
.playing .arcade-controls{margin-top:10px}
.playing .game-footer{padding:6px 4px}
.playing .game-footer .utility{min-height:44px;padding:8px 12px}
.playing .app-footer{display:none}
@media(min-width:700px){.playing .mission-title{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 14px}.playing .mission-title .eyebrow{grid-column:1/-1}.playing .mission-title h1{margin:0}.playing .mission-clock{margin:0}}
@media(max-width:600px){.playing .brand small{display:none}.playing .topbar{gap:8px}.playing .mission-bar{gap:8px}.playing .mission-title h1{font-size:20px}.playing .mission-clock{margin-top:4px}.playing .game-footer{gap:8px}.playing .game-footer .utility{min-height:44px}}

.victory-dance{max-width:800px;margin:18px auto 20px;border:1px solid #52748c;border-radius:24px;overflow:hidden;background:#101c36;box-shadow:0 16px 36px #0004}
#danceCanvas{display:block;width:100%;height:clamp(300px,44vh,420px)}
.dance-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;color:var(--gold);font-size:18px;font-weight:700}
.dance-caption .utility{font-size:15px;min-height:44px;padding:8px 12px;white-space:nowrap}
@media(max-width:600px){.victory-dance{border-radius:18px}#danceCanvas{height:350px}.dance-caption{font-size:15px;padding:8px;gap:8px}.dance-caption .utility{font-size:13px}}
