/* Medina's glass surfaces surround a high-contrast rhythm floor. */
:root{--bg:#f2f0e5;--panel:#faf9f2;--muted:#5d665b;--lime:#e5bd60;--purple:#91caff;color-scheme:light}
body.compact-game{background:radial-gradient(ellipse at 90% 0,#d9dfca 0,transparent 55%),radial-gradient(ellipse at 5% 100%,#ead9a6 0,transparent 55%),#f2f0e5;color:#273029}
.compact-game>header{background:linear-gradient(135deg,#273029ed,#171e19f5);border-bottom:1px solid #d6b65d70;box-shadow:0 4px 22px #25302216;backdrop-filter:blur(18px);color:#f5f0e5}
.compact-game .brand-wordmark small{color:#e5c471}
.compact-game .language-switch{background:#ffffff0c;border:1px solid #ffffff20;border-radius:999px;padding:0 5px}
.compact-game .language-switch a{color:#dedfd3}
.compact-game .language-switch a[aria-current=true]{color:#f1d385;border-color:#d6b65d}
.compact-game #sound{border:1px solid #e5ca8270;border-radius:999px;background:linear-gradient(135deg,#ffffff14,#ffffff06);color:#f4e6bb;box-shadow:inset 0 1px 0 #ffffff18}
.compact-game .intro h1{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:400;letter-spacing:-1.2px;color:#273029}
.compact-game .intro h1 em{font-style:italic;color:#82621d}
.compact-game .intro p,.compact-game #training-status,.compact-game .desktop-shortcuts{color:#53604f}
.compact-game .intro h1 .game-version{color:#6c725e;border:0;background:#e0e3d6;border-radius:999px}
.compact-game .guate-badge{color:#52614e;border-color:#c6ceb8;background:#ffffff70;border-radius:999px}
.compact-game .quick-controls #rhythm-select,.compact-game .quick-role #quick-role-select,.compact-game .quick-controls #open-settings{background:linear-gradient(135deg,#ffffffdc,#f7f6eea6);color:#303a2e;border:1px solid #ffffff;border-radius:14px;box-shadow:inset 0 1px 0 #fff,0 4px 16px #35432b0c;backdrop-filter:blur(14px)}
.compact-game .quick-controls #open-settings{color:#654c18;border-color:#d6bf7e;background:linear-gradient(135deg,#f4e5b7,#e8d59a)}
.compact-game .game-card{background:#1b241d;border-color:#ffffff80;border-radius:22px;box-shadow:0 18px 50px #34452b26,inset 0 1px 0 #ffffff25;color:#f4f0e5;--muted:#c4ccbd}
.compact-game .stats,.compact-game .transport{background:linear-gradient(110deg,#303b2e,#232e24);border-color:#ffffff15}
.compact-game .stats>div>span{color:#c9d0bf}
.compact-game .wave-panel{background:#1d271e;color:#bec8b6}
.compact-game .arena{background:radial-gradient(ellipse at 50% 55%,#35463055,transparent 65%),#172119}
.compact-game .start-overlay,.compact-game[data-game-state=idle] .start-overlay,.compact-game[data-game-state=paused] .start-overlay{background:radial-gradient(ellipse at 50% 90%,#47553490,transparent 75%),#1b251df5;color:#f4f0e5;backdrop-filter:blur(14px)}
.compact-game[data-game-state=finished] .start-overlay,.compact-game[data-game-state=challenge] .start-overlay{background:#1b251d;color:#f4f0e5}
.compact-game .start-overlay h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:34px;letter-spacing:-.8px;color:#f7f1df}
.compact-game .start-overlay #overlay-text{color:#d0d7c6}
.compact-game .primary,.settings-actions .primary{background:linear-gradient(135deg,#f0da93,#cfad56);border:1px solid #f8e7ae;color:#25291e;border-radius:999px;box-shadow:inset 0 1px 0 #fff8,0 6px 18px #0002}
.compact-game #demo{border-radius:999px;background:#ffffff0d;border:1px solid #ffffff35;color:#eee9da}
.compact-game .touch-controls{background:linear-gradient(110deg,#2b3729,#202d23);border-color:#ffffff15}
.compact-game .touch-controls button{border-radius:18px;background:linear-gradient(135deg,#6b592e,#40381f);border-color:#e5bd60b0;box-shadow:inset 0 1px 0 #fff3,0 3px 8px #0002;color:#ffe6a9}
.compact-game .touch-controls button:last-child{background:linear-gradient(135deg,#35546a,#263e50);border-color:#91caffb0;color:#d7ecff;box-shadow:inset 0 1px 0 #fff3,0 3px 8px #0002}
.compact-game .transport #pause,.compact-game .transport #restart,.compact-game .transport #home{border-radius:999px;background:#ffffff0a;border-color:#ffffff28;color:#eeeede}
.compact-game .transport #restart{border-color:#d6b65d70;color:#f0d58f}
.compact-game .dancer-side-panel{border-radius:22px;border:1px solid #ffffff;background:linear-gradient(145deg,#fffffff0,#eef0e2bb);box-shadow:inset 0 1px 0 #fff,0 12px 30px #35432b10;backdrop-filter:blur(18px)}
.dancer-side-panel h2{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400;color:#33422f}
.dancer-side-panel>p,.compact-game #step-label.floor-step-label{color:#56644d}
.compact-game .sequence{border-color:#bdc5ad;color:#4c5943}
.compact-game .beat b{color:#805f16}.compact-game .beat.r b{color:#24679d}.compact-game .beat small{color:#59664f}.compact-game .beat.active{background:#e1d6ae;border-radius:9px}
.compact-game .feedback-strip{color:#34452d}
#game-settings{color-scheme:dark;background:linear-gradient(145deg,#2a3529,#17221a);color:#f3efdf;border:1px solid #bdab7470;border-radius:24px;box-shadow:0 24px 80px #0006}
#game-settings::backdrop{background:#111b1470;backdrop-filter:blur(8px)}
#game-settings select{background:#1c291e;color:#f4edda;border:1px solid #b8c0a54d;border-radius:12px}
#game-settings .dialog-heading{border-color:#ffffff20}#game-settings .dialog-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#f5e8bc}
#game-settings .dialog-heading button,.settings-actions button{border-radius:999px;background:#ffffff0d;color:#f3eddc;border-color:#ffffff30}
#game-settings .settings-details{background:#ffffff05;border-color:#ffffff20;color:#dfdfcf}
#game-settings .settings-actions{background:#1c281e;border-color:#ffffff20}
#game-settings .paused-note,.round-settings-form .draft-windows{color:#c8d1bf}
/* Refined wardrobe stays attached to the existing anatomical rig. */
#dancer{filter:drop-shadow(0 7px 5px #15201435)}
#dancer #torso{stroke:#dfc679;stroke-width:1.2}
body[data-dance-role=follower] #dancer #torso{stroke:#ddc280}
#dancer #leg-l,#dancer #leg-r{stroke:url(#pants-shade);stroke-width:12}
#dancer #foot-l,#dancer #foot-r{fill:url(#shoe-shade);stroke-width:2.5}
#dancer #foot-l{stroke:#e8bd59}#dancer #foot-r{stroke:#91caff}
#dancer #profile-body>path:first-child,#dancer #overhead-body>ellipse:first-child{fill:url(#shirt-shade);stroke:#cfb86e}
@media(max-width:700px){.compact-game .intro h1{font-size:26px}.compact-game .game-card{border-radius:18px}.compact-game .quick-controls #rhythm-select,.compact-game .quick-role #quick-role-select,.compact-game .quick-controls #open-settings{border-radius:12px}.compact-game .start-overlay h2{font-size:28px}}
@media(max-height:600px){.compact-game .start-overlay h2{font-size:22px}.compact-game .touch-controls button{border-radius:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}#dancer *{transition:none!important}}
.compact-game #feedback-detail{color:#52624b}.compact-game .feedback-strip #feedback:not(:empty){color:#173c2b;background:#bce4c8;border-color:#8cc5a0}
.compact-game #game-settings{background:linear-gradient(145deg,#2a3529,#17221a);border-color:#bdab7470;color:#f3efdf}
.compact-game #game-settings .settings-actions{background:#1c281e;border-color:#ffffff20}
.compact-game #game-settings .settings-actions .primary{background:linear-gradient(135deg,#f0da93,#cfad56);color:#25291e;border-color:#f8e7ae}
.compact-game #discard-dialog{background:#1c281e;color:#f3efdf;border-color:#b9a36570}
.compact-game #discard-dialog p{color:#c8d1bf}.compact-game .discard-actions button{background:#ffffff0d;color:#f3efdf;border-color:#ffffff30}
.compact-game #discard-cancel{background:#e5c471;color:#243021}
.compact-game #dancer #leg-l,.compact-game #dancer #leg-r{stroke-width:12}

.compact-game #game-settings .dialog-heading{background:#263326;border-color:#ffffff20}
.compact-game #game-settings .settings-details{background:#ffffff04;border-color:#ffffff20}
/* Black glass arcade: Medina gold, with blue reserved for the right foot. */
:root{color-scheme:dark;--bg:#090a0b;--panel:#171819;--muted:#b9b8b1}
body.compact-game{background:radial-gradient(ellipse at 8% 0,#b68b2310,transparent 50%),radial-gradient(ellipse at 100% 100%,#5b9ed514,transparent 55%),#090a0b;color:#f3f0e6}
.compact-game>header{background:linear-gradient(135deg,#202020df,#0c0d0eeb);border-color:#d6b65d45;box-shadow:0 6px 24px #0005}
.compact-game .intro h1{color:#f4f0e5}.compact-game .intro h1 em{color:#e5c471}
.compact-game .intro p,.compact-game #training-status,.compact-game .desktop-shortcuts{color:#c0bfb5}
.compact-game .intro h1 .game-version{color:#c9c5b7;background:#ffffff0a}
.compact-game .guate-badge{color:#c7c3b8;border-color:#ffffff18;background:#ffffff08}
.compact-game .quick-controls #rhythm-select,.compact-game .quick-role #quick-role-select{background:linear-gradient(135deg,#ffffff14,#ffffff05);color:#f0eee5;border-color:#ffffff25;box-shadow:inset 0 1px 0 #ffffff16,0 4px 16px #0002}
.compact-game .quick-controls #open-settings{background:linear-gradient(135deg,#e5c47125,#b8943c10);color:#eacf89;border-color:#d6b65d65;box-shadow:inset 0 1px 0 #ffffff12}
.compact-game select option{background:#202122;color:#f4f0e5}
.compact-game .game-card{background:#141516;border-color:#ffffff25;box-shadow:0 18px 50px #0006,inset 0 1px 0 #ffffff15;--muted:#c2c0b6}
.compact-game .stats,.compact-game .transport{background:linear-gradient(110deg,#252525,#191a1b);border-color:#ffffff18}
.compact-game .stats>div>span{color:#c9c5b9}
.compact-game .wave-panel{background:#121315;color:#c7c4b9}
.compact-game .arena{background:radial-gradient(ellipse at 50% 55%,#c09e3c0b,transparent 60%),#0c0e11}
.compact-game .rhythm-lanes>div{background:linear-gradient(180deg,#e5bd6003,#e5bd6012);border-color:#e5bd6018}
.compact-game .rhythm-lanes>div:last-child{background:linear-gradient(180deg,#91caff03,#91caff12);border-color:#91caff18}
.compact-game .start-overlay,.compact-game[data-game-state=idle] .start-overlay,.compact-game[data-game-state=paused] .start-overlay{background:radial-gradient(ellipse at 50% 100%,#c4a65216,transparent 70%),#111214ed}
.compact-game[data-game-state=finished] .start-overlay,.compact-game[data-game-state=challenge] .start-overlay{background:#111214}
.compact-game .start-overlay #overlay-text{color:#d4d0c6}
.compact-game .touch-controls{background:linear-gradient(110deg,#222222,#17191c);border-color:#ffffff18}
.compact-game .touch-controls button{background:linear-gradient(135deg,#e5bd6028,#e5bd600c);box-shadow:inset 0 1px 0 #fff2,0 3px 10px #0004}
.compact-game .touch-controls button:last-child{background:linear-gradient(135deg,#91caff28,#91caff0c);box-shadow:inset 0 1px 0 #fff2,0 3px 10px #0004}
.compact-game .dancer-side-panel{background:linear-gradient(145deg,#ffffff0f,#ffffff04);border-color:#ffffff20;box-shadow:inset 0 1px 0 #ffffff18,0 12px 30px #0003}
.dancer-side-panel h2{color:#eddbab}.dancer-side-panel>p,.compact-game #step-label.floor-step-label{color:#c2beb2}
.compact-game .sequence{border-color:#ffffff20;color:#e1d9c3}.compact-game .beat b{color:#edca78}.compact-game .beat.r b{color:#91caff}.compact-game .beat small{color:#c3bfb4}.compact-game .beat.active{background:#e5bd6018}
.compact-game .feedback-strip,.compact-game #feedback-detail{color:#d0cdc2}
.compact-game #game-settings,.compact-game #discard-dialog{background:linear-gradient(145deg,#262627,#111315);border-color:#d1b36950;color:#f3efdf}
.compact-game #game-settings .dialog-heading,.compact-game #game-settings .settings-actions{background:#1c1d1f;border-color:#ffffff20}
#game-settings select{background:#151719;color:#f3eddd;border-color:#ffffff30}
.compact-game #game-settings .settings-details{background:#ffffff04;border-color:#ffffff18}
.compact-game #discard-dialog p{color:#ccc8bd}
.compact-game .note .footprint{stroke:currentColor;stroke-width:.35;filter:drop-shadow(0 2px 3px #000b) drop-shadow(0 0 4px #e5bd6025)}
.compact-game .note.r .footprint{filter:drop-shadow(0 2px 3px #000b) drop-shadow(0 0 4px #91caff25)}
.compact-game .note .sole-highlight{fill:#fff;fill-opacity:.3;stroke:none}
.compact-game .note .sole-tread{fill:none;stroke:#10141b;stroke-width:1;stroke-opacity:.32;stroke-linecap:round}
.compact-game .note.tap .sole-highlight,.compact-game .note.tap .sole-tread{display:none}
.compact-game .note.tap .footprint{fill:none;stroke-width:1.4;stroke-dasharray:1 3}
.compact-game .note.aligned .footprint{filter:drop-shadow(0 0 6px currentColor)}
@media(prefers-reduced-motion:reduce){.compact-game .note .footprint,.compact-game .note.r .footprint,.compact-game .note.aligned .footprint{filter:none}}
/* Identical tap badges on both lanes, including short screens. */
.compact-game .note.tap small,.compact-game .note.tap.r small{display:block;position:absolute;left:50%;right:auto;top:calc(100% + 3px);bottom:auto;transform:translateX(-50%);width:max-content;max-width:none;margin:0;padding:2px 5px;border:1px dotted currentColor;border-radius:5px;background:#101216;color:inherit;font-size:10px;line-height:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px #000}

#game-settings .normal-speed{align-self:flex-start;min-height:36px;padding:6px 12px;background:#d6b65d12;border:1px solid #d6b65d60;border-radius:999px;color:#efd797;font-size:12px;margin:4px 0 0}
