:root{color-scheme:dark;--bg:#101110;--panel:#1a1c19;--muted:#a1a69a;--lime:#dcfc78;--purple:#b6a0ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f3f4ed;font-family:'DM Sans',sans-serif;font-size:16px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,.arena:focus-visible{outline:2px solid var(--lime);outline-offset:4px}header{height:96px;margin:0 5%;border-bottom:1px solid #32352d;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:14px;color:inherit;text-decoration:none;align-items:center}.brand>b{font-family:'Barlow Condensed',sans-serif;font-size:44px;font-style:italic;letter-spacing:-2px}.brand>b span{font-size:14px;vertical-align:top;letter-spacing:0}.brand>span{font-size:10px;line-height:1.4;letter-spacing:2px;font-weight:700}.edition{font-size:12px;letter-spacing:2px}.edition span{color:var(--muted)}header button{background:none;border:1px solid #44483b;border-radius:24px;padding:10px 16px;font-size:14px}main{max-width:1200px;margin:0 auto;padding:36px 32px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:var(--muted);font-weight:600}h1{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;font-size:76px;line-height:1;margin:8px 0;letter-spacing:-1px}h1>span{font-size:26px;vertical-align:top;margin-left:8px}.intro p{margin:8px 0 0;color:var(--muted)}.mode{border:1px solid #4d5740;color:var(--lime);border-radius:30px;padding:10px 18px;font-size:12px;letter-spacing:1px}.workspace{display:grid;grid-template-columns:280px 1fr;gap:28px}.settings,.instructions{padding:24px;background:var(--panel);border:1px solid #30332b;border-radius:14px}.instructions{margin-top:16px;background:transparent}.styles{display:flex;gap:8px;margin:18px 0 26px}.styles button{background:#292c24;border:1px solid #3e4235;border-radius:7px;padding:14px 12px;flex:1;text-align:left}.styles button span{float:right}.styles .selected{background:var(--lime);color:#1a2010;border-color:var(--lime);font-weight:700}.setting-title{display:flex;justify-content:space-between;align-items:center}.setting-title strong{font-size:24px}.setting-title small{font-size:12px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--lime);margin:16px 0 8px}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.difficulty-label{display:block;margin:24px 0 10px}select{width:100%;padding:12px;border:1px solid #45493d;background:#23261f;color:#f4f4ed;border-radius:6px}.hint{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:0}.instructions>p{font-size:14px;line-height:1.6}.key-row{display:flex;gap:14px;align-items:center;margin-top:10px;font-size:14px}kbd{font:12px 'DM Sans',sans-serif;border:1px solid #4c5044;background:#272a23;border-radius:4px;padding:5px 8px;color:#dfe4d5}.tip{display:flex;gap:12px;border-top:1px solid #34382d;margin-top:18px;padding-top:16px;color:var(--lime);font-size:13px}.tip p{margin:0}.game-card{border:1px solid #3c4330;border-radius:16px;overflow:hidden;background:#171a14}.stats{height:86px;display:flex;align-items:center;padding:0 28px;gap:52px;border-bottom:1px solid #363d2c}.stats>div>span{display:block;font-size:11px;letter-spacing:2px;color:var(--muted)}.stats strong{font-size:30px;font-family:'Barlow Condensed',sans-serif;font-weight:600}.stats strong span{font-size:18px;color:var(--muted)}.stats .round{margin-left:auto}.arena{height:435px;position:relative;overflow:hidden;touch-action:none;user-select:none;background:linear-gradient(90deg,#20261980,transparent 48%,#26213560),repeating-linear-gradient(0deg,transparent,transparent 71px,#ffffff05 72px)}.lane-labels,.pad-labels{position:absolute;display:flex;justify-content:space-around;width:100%;font-size:11px;letter-spacing:2px;top:20px;color:var(--muted)}.center-line{position:absolute;top:48px;bottom:0;left:50%;border-left:1px dashed #656b423b}.impact{position:absolute;top:78%;width:100%;height:54px;border-top:2px solid #dafc7880;display:flex;justify-content:space-around;background:linear-gradient(#dcfc780e,transparent)}.impact>span{border:1px solid #73814b;width:58px;height:48px;border-radius:8px;margin-top:-25px;text-align:center;line-height:45px;font-size:28px;background:#22291a;color:var(--lime)}.impact>span:last-child{border-color:#796c9c;color:var(--purple);background:#25212f}.pad-labels{top:auto;bottom:14px;font-size:12px}.pad-labels>span{display:flex;gap:12px;align-items:center}.start-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#161a13d9;z-index:4;text-align:center;padding:16px}.mini{font-size:10px;letter-spacing:2px;color:var(--lime)}h2{font-family:'Barlow Condensed',sans-serif;font-size:60px;text-transform:uppercase;margin:10px 0}.start-overlay p{color:#b6bcae;font-size:15px;line-height:1.6;margin:0 0 22px}.primary{background:var(--lime);color:#1a210e;border:0;border-radius:7px;padding:16px 25px;font-weight:700;min-width:240px}.primary span{margin-left:25px}.start-overlay small{color:var(--muted);font-size:12px;margin-top:16px}.transport{display:flex;gap:18px;align-items:center;padding:17px 24px;font-size:13px;border-top:1px solid #363d2c}.transport>span{margin-right:auto;color:var(--muted)}.transport button{background:none;border:0;padding:4px}.progress{height:3px;background:#343b28}.progress>div{height:100%;background:var(--lime);width:0}.sequence{display:flex;align-items:center;gap:32px;margin:24px 0 32px;border:1px solid #32362b;padding:20px 24px;border-radius:12px}.sequence>div:first-child{min-width:130px}.sequence strong{display:block;font-size:14px;margin-top:7px}.beats{display:flex;justify-content:space-between;flex:1;gap:8px}.beat{text-align:center;flex:1;border-radius:6px;padding:6px 0;transition:background .12s}.beat b{display:block;font-size:20px;color:var(--lime)}.beat.r b{color:var(--purple)}.beat.rest b{color:#777e6c}.beat small{font-size:10px;color:var(--muted)}.beat.active{background:#dcfc7820}.sequence-note{font-size:12px;color:var(--muted);line-height:1.6}footer{border-top:1px solid #30342a;margin:0 5%;padding:22px 0;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1px;color:var(--muted)}.note{position:absolute;width:66px;height:54px;margin-left:-33px;border:1px solid var(--lime);background:#d9fc7824;border-radius:9px;color:var(--lime);display:flex;align-items:center;justify-content:center;gap:6px;will-change:transform}.note.r{color:var(--purple);border-color:var(--purple);background:#b6a0ff24}.note.tap{border-style:dashed}.note svg{height:30px;width:24px;fill:currentColor}.note b{font-size:16px}.note small{position:absolute;top:-16px;font-size:10px;letter-spacing:1px}#feedback{position:absolute;top:45%;width:100%;text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:40px;color:var(--lime);pointer-events:none;z-index:3;text-shadow:0 2px 15px #101110}#feedback small{display:block;font:13px 'DM Sans',sans-serif;color:#cbd0c0}.hidden{display:none!important}@media(min-width:1400px){main{padding-top:44px}.arena{height:465px}}@media(max-width:800px){header{height:75px}.edition{display:none}main{padding:24px 18px 0}h1{font-size:58px}.intro{margin-bottom:24px}.intro .eyebrow{font-size:9px}.mode{font-size:10px;padding:8px 10px}.workspace{grid-template-columns:210px 1fr;gap:16px}.settings,.instructions{padding:16px}.stats{gap:24px;padding:0 18px}.sequence{gap:14px;padding:16px}.sequence-note{display:none}.arena{height:430px}}@media(max-width:600px){header .brand>span{font-size:8px}header button{font-size:12px}.intro{align-items:flex-end}h1{font-size:50px}.intro p{font-size:13px}.mode{padding:7px;font-size:9px}.workspace{display:flex;flex-direction:column;gap:14px}aside{display:contents}.settings{order:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.settings>.eyebrow{display:none}.styles{grid-column:1;margin:0;grid-row:1 / 3}.styles button{padding:10px}.styles button span{display:none}.setting-title{grid-column:2;grid-row:1;font-size:13px}.setting-title strong{font-size:18px}input[type=range]{grid-column:2;grid-row:2;margin:0}.range-labels,.difficulty-label,.settings .hint{display:none}select{grid-column:1 / 3;padding:8px;font-size:13px}.game-card{order:1}.instructions{order:2;margin-top:0}.instructions>.eyebrow,.instructions>.key-row,.instructions>.tip{display:none}.instructions>p{margin:0;font-size:13px}.instructions>.hint{margin-top:4px}.instructions>.hint br{display:none}.stats{height:66px}.stats strong{font-size:25px}.arena{height:350px}.transport{padding:12px;font-size:12px;gap:10px}.sequence{margin:14px 0 22px;display:block}.sequence>div:first-child{display:flex;justify-content:space-between;margin-bottom:10px}.sequence strong{margin:0}.beats{gap:4px}footer{font-size:9px}footer>span:last-child{display:none}h2{font-size:50px}}

[hidden]{display:none!important}
.coach{margin-top:16px;border:1px solid #3c4330;border-radius:14px;padding:16px;background:#1a1c19}.coach-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.coach-heading .eyebrow{font-size:10px}.coach button{background:none;border:0;font-size:12px;color:var(--lime)}#dancer{display:block;width:100%;max-height:190px}#guide-content{text-align:center}#step-label{font-size:14px;color:var(--lime)}.coach p{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 0}.touch-controls{display:flex;justify-content:center;gap:10px;padding:14px;border-top:1px solid #3c4330}.touch-controls button{touch-action:none;user-select:none;width:130px;min-height:64px;background:#dcfc7815;border:1px solid var(--lime);border-radius:12px;color:var(--lime);font-size:13px;font-weight:700}.touch-controls button:last-child{color:var(--purple);border-color:var(--purple);background:#b6a0ff15}.touch-controls small{display:block;font-size:11px;margin-top:6px}.touch-controls .pressed{background:var(--lime);color:#101110}.touch-controls button:last-child.pressed{background:var(--purple);color:#101110}.transport{flex-wrap:wrap;gap:10px}.transport button{border:1px solid #515b40;border-radius:6px;padding:9px}.click-option{display:flex;align-items:center;gap:7px;font-size:13px;margin-top:15px}.click-option input{accent-color:var(--lime)}@media(max-width:600px){.coach{order:2;margin-top:0;padding:12px}.instructions{order:3}.coach #dancer{max-height:155px}.coach #guide-content{display:grid;grid-template-columns:140px 1fr;align-items:center}.coach #dancer{grid-row:1 / 3}.coach p{margin:0}.click-option{grid-column:1 / 3;margin-top:2px}.arena{height:300px}.transport>span{width:100%;font-size:12px}.transport button{flex:1;min-height:40px}.touch-controls{padding:10px;gap:8px}.touch-controls button{width:114px;min-height:64px}.pad-labels{display:none}}

.track-info{font-size:12px;color:var(--muted);line-height:1.5;margin:12px 0 0}@media(max-width:600px){.track-info{grid-column:1 / 3;margin:0;font-size:12px}}

.wave-panel{border-bottom:1px solid #3c4330;padding:10px 14px 0;background:#12160f}.wave-panel>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:4px}.wave-panel>div>span:first-child{letter-spacing:1px}#waveform{display:block;width:100%;height:94px}@media(max-width:600px){#waveform{height:74px}.wave-panel{padding:8px 10px 0}.wave-panel>div{font-size:11px}.arena{height:260px}}

/* Medina Dance Studio visual system */
:root{--bg:#0b0b09;--panel:#17150f;--muted:#aaa59b;--lime:#d8aa3b;--purple:#f5f0e5}
body{background:var(--bg);color:#f5f0e5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
header{border-color:#ffffff20}
.brand img{width:52px;height:52px;object-fit:contain;border-radius:0}
.brand>span,.edition,.eyebrow,.lane-labels,.pad-labels{font-weight:900;letter-spacing:.14em;text-transform:uppercase}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em;text-transform:none}
h1 em{color:#f1cf75;font-weight:400}
h1>span{display:none}
.mode{color:#f1cf75;border-color:#d8aa3b66}
.settings,.coach,.game-card{background:#17150f;border-color:#ffffff1d;border-radius:18px}
.instructions,.sequence{border-color:#ffffff20;border-radius:18px}
.styles button,select,kbd{background:#11100d;border-color:#ffffff24}
.styles .selected,.primary{color:#17150f;background:#d8aa3b;border-color:#d8aa3b;border-radius:999px}
input[type=range],.click-option input{accent-color:#d8aa3b}
.tip,.coach button,#step-label{color:#f1cf75}
.game-card{box-shadow:0 28px 80px #0007}
.stats,.transport,.touch-controls,.wave-panel{border-color:#ffffff1d}
.arena{background:linear-gradient(90deg,#d8aa3b0b,transparent 48%,#ffffff08),repeating-linear-gradient(0deg,transparent,transparent 71px,#ffffff06 72px)}
.impact{border-color:#d8aa3b99;background:linear-gradient(#d8aa3b12,transparent)}
.impact>span{color:#d8aa3b;border-color:#d8aa3b88;background:#201b10}
.impact>span:last-child{color:#f5f0e5;border-color:#f5f0e577;background:#1b1a17}
.note{color:#d8aa3b;border-color:#d8aa3b;background:#d8aa3b24}
.note.r{color:#f5f0e5;border-color:#f5f0e5;background:#f5f0e51c}
.touch-controls button{color:#d8aa3b;border-color:#d8aa3b;background:#d8aa3b12;border-radius:999px}
.touch-controls button:last-child{color:#f5f0e5;border-color:#f5f0e566;background:#f5f0e50b}
.touch-controls .pressed{color:#17150f;background:#d8aa3b}
.touch-controls button:last-child.pressed{color:#17150f;background:#f5f0e5}
.transport button{border-color:#ffffff2b;border-radius:999px;padding:9px 14px}
.progress>div{background:#d8aa3b}
.beat b,.coach-heading .eyebrow{color:#d8aa3b}.beat.r b{color:#f5f0e5}.beat.active{background:#d8aa3b20}
.wave-panel{background:#11100d}
footer{border-color:#ffffff20}
#body circle{fill:#f5f0e5}#torso,#leg-r{stroke:#f5f0e5}#foot-r{fill:#f5f0e5}#leg-l{stroke:#d8aa3b}#foot-l{fill:#d8aa3b}

@media(max-width:600px){.settings,.coach,.instructions{width:100%}}
/* Shared Medina shell, with a high-contrast practice surface. */
:root{color-scheme:light;--bg:#f4efe5;--panel:#fffdf8;--muted:#777166;--lime:#e5b74e;--purple:#79bfff}
body{color:#201e19;font-size:14px}
header{height:72px;margin:0;padding:0 max(24px,calc((100% - 1112px)/2));background:#11110e;color:#f5f0e5;gap:16px}
.brand .brand-wordmark{display:flex;flex-direction:column;align-items:flex-start;line-height:1;text-transform:none}
.brand-wordmark strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400;letter-spacing:.1em}
.brand-wordmark small{margin-top:7px;color:#d8aa3b;font-size:9px;font-weight:800;letter-spacing:.25em}
.header-tools{display:flex;align-items:center;gap:16px}.language-switch{display:flex;gap:3px}.language-switch a{color:#aaa59b;padding:8px;text-decoration:none;font-size:12px}.language-switch a[aria-current=true]{color:#f1cf75;border-bottom:2px solid #d8aa3b}
.edition{font-size:10px}.edition span{display:none}header button{font-size:12px;color:#f5f0e5}
main{max-width:1160px;padding:24px}.intro{margin-bottom:22px}h1{font-size:46px;margin:5px 0 6px}h1 em{color:#9b711c}.intro p{font-size:14px;color:#6c655a}.eyebrow{font-size:10px;letter-spacing:1.5px}.mode{font-size:10px;color:#807361;border-color:#d8cdb9}
.workspace{grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}.settings,.coach{background:#fffdf8;border-color:#ded6c8;border-radius:14px;padding:18px}.styles{gap:6px;margin:12px 0 18px;background:#eee8dc;border-radius:8px;padding:4px}.styles button{background:transparent;border:0;border-radius:6px;padding:9px;color:#766e61}.styles button span{display:none}.styles button.selected{background:#191813;color:#f1cd78;border-radius:6px}.setting-title{font-size:12px}.setting-title strong{font-size:22px}.setting-title small{font-size:10px}input[type=range]{accent-color:#a7791e;margin:10px 0 0}.range-labels{font-size:10px}.difficulty-label{font-size:12px;margin:14px 0 6px}select{border-color:#d8cebd;background:#fffdf8;color:#201e19;padding:9px}.track-info,.hint{font-size:11px;margin:10px 0 0}.click-option{font-size:12px;margin-top:12px}
.coach{margin-top:12px}.coach-heading .eyebrow{font-size:9px;color:#777166}.coach button{color:#81704b;font-size:11px}#dancer{height:148px}#dancer text{fill:#777166;font-size:10px}#body circle{fill:#514b40}#torso{stroke:#514b40}#leg-l{stroke:#ad7b18}#foot-l{fill:#ad7b18}#leg-r{stroke:#2377b9}#foot-r{fill:#2377b9}#step-label{font-size:12px;color:#514b40}.coach p{font-size:10px;margin:5px 0 0}.instructions{padding:14px 3px;border:0;margin-top:0}.instructions>p{font-size:12px;margin:8px 0}.key-row{font-size:11px;margin-top:6px}kbd{font-family:inherit;color:inherit;background:transparent;border-color:#b8afa0;font-size:10px}.tip{color:#806018;border-color:#d8cebd;padding-top:10px;margin-top:10px}
.game-card{--muted:#aba99e;background:#181813;color:#f5f0e5;border-color:#2e2d24;border-radius:16px;box-shadow:0 12px 32px #42321b14}.stats{height:65px;padding:0 22px;gap:42px}.stats strong{font-family:inherit;font-size:25px;font-weight:500;font-variant-numeric:tabular-nums}.stats>div>span{font-size:9px}.stats strong span{font-size:13px}.wave-panel{padding:10px 16px 0}.wave-panel>div{font-size:9px;letter-spacing:.5px}#waveform{height:65px}.arena{height:300px;background:linear-gradient(90deg,#e5b74e08 49.9%,#79bfff08 50%),repeating-linear-gradient(0deg,transparent,transparent 59px,#ffffff06 60px)}.lane-labels,.pad-labels{font-size:10px;color:var(--lime)}.lane-labels span:last-child,.pad-labels span:last-child{color:var(--purple)}.center-line{border-color:#ffffff17}.impact{border-color:#ffffff38;background:none}.impact>span{color:var(--lime);border-color:var(--lime);background:#282316}.impact>span:last-child{color:var(--purple);border-color:var(--purple);background:#192734}
.start-overlay{background:#181813f2}.mini{font-size:9px;color:#c9af78}h2{font-size:42px}.start-overlay p{font-size:13px;color:#bfbbae;margin-bottom:18px}.primary{padding:13px 24px;min-width:200px;background:var(--lime)}.start-overlay small{font-size:10px;margin-top:12px}.touch-controls{padding:12px;gap:8px}.touch-controls button{width:122px;min-height:56px;border-radius:10px;color:var(--lime);border-color:#e5b74e80;background:#e5b74e0d;font-size:11px}.touch-controls button:last-child{color:var(--purple);border-color:#79bfff80;background:#79bfff0d}.touch-controls small{font-size:9px;margin-top:3px}.touch-controls button:last-child.pressed{background:var(--purple);color:#171713}.transport{padding:10px 16px;font-size:11px;gap:8px}.transport button{padding:8px 10px;border-radius:6px;color:#e4dfd3}.note{color:var(--lime);border-color:var(--lime);background:#40341b}.note.r{color:var(--purple);border-color:var(--purple);background:#1d3549}#feedback{font-family:inherit;font-size:32px}#feedback small{font-family:inherit}
.sequence{border:0;border-top:1px solid #d8cebd;border-radius:0;padding:18px 0;margin:20px 0 0;gap:24px}.sequence strong{font-size:13px}.beat b{color:#966a10}.beat.r b{color:#2377b9}.beat.rest b{color:#999184}.beat small{font-size:9px}.beat.active{background:#e0d6c2}.sequence-note{font-size:11px}footer{max-width:1112px;margin:auto;border-color:#d8cebd;font-size:9px;padding:16px 0}
@media(max-width:800px){header{padding:0 18px}.header-tools{gap:8px}.edition,.mode{display:none}main{padding:18px}.intro{margin-bottom:16px}h1{font-size:38px}.intro p{font-size:12px}.workspace{grid-template-columns:210px minmax(0,1fr);gap:14px}.settings,.coach{padding:14px}.stats{padding:0 16px;gap:22px}.transport>span{width:100%}.transport button{flex:1}footer{margin:0 18px}}
@media(max-width:600px){header{height:64px;padding:0 14px}.brand-wordmark strong{font-size:18px}.brand-wordmark small{font-size:7px;letter-spacing:.2em}header button{font-size:10px;padding:7px 9px}.language-switch a{padding:7px;font-size:11px}main{padding:16px 12px}.intro .eyebrow{display:none}h1{font-size:36px}.workspace{gap:12px}.settings{padding:12px;gap:6px 18px}.styles{margin:0;align-self:center}.styles button{padding:9px 7px}.setting-title strong{font-size:18px}input[type=range]{margin:0}select{grid-column:1;font-size:11px;padding:8px}.click-option{grid-column:2;font-size:10px;margin:0}.track-info{display:none}.game-card{width:100%;border-radius:12px}.stats{height:54px}.stats strong{font-size:22px}#waveform{height:54px}.wave-panel>div{font-size:8px}.arena{height:250px}h2{font-size:34px}.mini{font-size:8px}.start-overlay p{font-size:12px;margin-bottom:14px}.touch-controls{padding:9px}.touch-controls button{width:116px;min-height:57px}.transport{padding:8px 12px;gap:6px}.transport>span{width:auto;font-size:9px}.transport button{font-size:10px;min-height:36px;padding:5px 7px;flex:0 1 auto}.coach{margin-top:0}.coach #guide-content{grid-template-columns:125px 1fr}.coach #dancer{height:115px}.coach p{margin:0}.instructions{padding:0 4px}.instructions>.hint{display:none}.sequence{padding:14px 0;margin-top:14px}.sequence-note{display:none}footer{font-size:8px}}

.scoring-help{margin-top:20px;border:1px solid #d8cebd;border-radius:10px;padding:14px 18px;background:#fffdf8;color:#514b40;font-size:12px;line-height:1.7}.scoring-help summary{cursor:pointer;font-weight:600}.scoring-help p{margin:12px 0 0}.note svg{width:25px;height:38px}

/* Finger Dance arcade theme */
:root{color-scheme:dark;--bg:#09090d;--panel:#15151e;--muted:#a5a3b7;--lime:#e5b74e;--purple:#79bfff}
body{background:#09090d;color:#f4f0ff}header{background:#0d0d13;border-bottom:1px solid #2b273b}
.intro p,.eyebrow,.range-labels,.hint,.track-info,.coach p{color:#a5a3b7}
h1 em{color:#e5b74e}.mode{color:#b9a0f3;border-color:#544473}
.settings,.coach{background:#15151e;border-color:#302a43}.styles{background:#0b0b12}.styles button{color:#a5a3b7}.styles button.selected{background:#e5b74e;color:#211b0d}
select{background:#101019;color:#f4f0ff;border-color:#423652}input[type=range],.click-option input{accent-color:#e5b74e}
.instructions,.sequence,footer{border-color:#302a43}.instructions kbd{border-color:#534762}.tip{color:#e5b74e;border-color:#302a43}
.coach{background:radial-gradient(ellipse at 50% 70%,#392858 0, #15151e 70%);overflow:hidden}.coach-heading .eyebrow{color:#bca4f0}.coach button{color:#d0b6ff}
#dancer{height:205px;max-height:230px}#dancer text{fill:#a5a3b7}#body .head,#body .hand{fill:#e8bb91}#torso{fill:#8060ce;stroke:#b499f1}#body text{fill:#f5eeff}#body rect{fill:#e8bb91}#body rect:last-child{fill:#292339}
#leg-l{stroke:#e5b74e;stroke-width:12}#leg-r{stroke:#79bfff;stroke-width:12}#foot-l{fill:#e5b74e;stroke:#fff0c2;stroke-width:2}#foot-r{fill:#79bfff;stroke:#cee8ff;stroke-width:2}
#step-label{color:#f4f0ff}.game-card{background:#111119;border-color:#3e3154;box-shadow:0 12px 40px #0008}
.arena{background:linear-gradient(90deg,#e5b74e09 49.9%,#79bfff09 50%),repeating-linear-gradient(0deg,transparent,transparent 59px,#ffffff06 60px)}.start-overlay{background:#111119ed}.wave-panel{background:#11100d}
.beat b{color:#e5b74e}.beat.r b{color:#79bfff}.beat.active{background:#322447}.beat small,.sequence-note,footer{color:#a5a3b7}
.scoring-help{background:#15151e;border-color:#302a43;color:#c7c2d7}.scoring-help summary{color:#f4f0ff}
@media(max-width:600px){.coach #dancer{height:155px;max-height:170px}.coach #guide-content{grid-template-columns:150px 1fr}}

html,body{overflow-x:hidden;overflow-y:auto}.arena{touch-action:pan-y pinch-zoom}
@media(max-width:600px){
 .touch-controls{gap:6px;padding:10px}
 .touch-controls button{flex:1;min-width:0;width:auto;min-height:88px;font-size:14px;border-radius:12px}
 .touch-controls small{font-size:11px;margin-top:6px}
}
