*{box-sizing:border-box}body{margin:0;background:#101d2a;color:#f6f1e6;font-family:Arial,sans-serif;text-align:center}main{max-width:1050px;margin:auto;padding:14px}h1{color:#ffe39a;margin:5px}p{color:#bbcbd6}.car{position:relative;width:260px;height:145px;margin:12px auto}.roof{position:absolute;top:0;left:57px;width:146px;height:77px;background:#222;border-radius:60px 60px 0 0}.glass{position:absolute;top:15px;left:73px;width:114px;height:48px;background:#82b3c3;border:5px solid #eee4cd;border-radius:25px 25px 4px 4px}.shell{position:absolute;top:53px;left:10px;width:240px;height:89px;border:5px solid #292a2c;border-radius:32px;background:#eee4cd}.lamp{position:absolute;top:75px;width:46px;height:46px;border:6px solid #aaa;border-radius:50%;background:#dbe4e0}.lamp.left{left:28px}.lamp.right{right:28px}.lamp.on{background:#ffdf7c;box-shadow:0 0 25px #ffd34e}.grille{position:absolute;top:80px;left:103px;width:54px;height:36px;border:4px solid #aaa;background:repeating-linear-gradient(90deg,#222 0 4px,#bbb 4px 8px)}.plate{position:absolute;top:120px;left:100px;background:#eed858;color:#111;font-size:11px;padding:3px}.tabs,.actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:12px}.tabs button,.actions button,select{border:0;border-radius:9px;padding:12px;background:#e5c878;color:#172332;font-weight:bold;font-size:15px;cursor:pointer}.tabs button.selected{background:#77e3c2}.stage{border:1px solid #43596a;border-radius:15px;padding:15px 6px 12px;background:#182b3b}.instrument{display:flex;align-items:center;justify-content:center;gap:clamp(2px,1vw,12px);width:100%;min-height:140px;margin:8px auto}.note{position:relative;min-width:0;flex:1 1 0;max-width:105px;aspect-ratio:1/1;border:0;background:transparent;padding:0;cursor:pointer;touch-action:manipulation;display:flex;align-items:center;justify-content:center}.note img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.note .label{position:absolute;bottom:-23px;left:0;right:0;color:#fff;font-weight:bold;text-shadow:0 2px 3px #000}.note.active img{filter:brightness(1.5) drop-shadow(0 0 10px #ffe17b);transform:scale(.93)}.note.target img{filter:drop-shadow(0 0 9px #ffdc56)}.instrument.spanner{height:270px;align-items:flex-end;gap:clamp(1px,.4vw,6px);padding:5px 4px 25px}.spanner .note{height:100%;max-width:110px;aspect-ratio:auto;align-items:flex-end}.spanner .note img{width:100%;height:var(--len);transform:rotate(-90deg);object-fit:contain; /* replaced below with upright spanner via writing-mode */}.spanner .note .label{bottom:-20px}.status{min-height:24px;color:#ffe08a;font-weight:bold;margin:12px}.score{color:#bcd5e5;margin:8px}.small{font-size:12px;color:#aebdca}@media(max-width:520px){.instrument{min-height:85px}.instrument.spanner{height:190px}.stage{padding:12px 3px}.note .label{font-size:12px;bottom:-17px}.tabs button{font-size:13px;padding:10px}}.spanner .note img{position:absolute;width:var(--len);height:42px;max-width:none;max-height:none;left:50%;bottom:calc(var(--len) / 2 - 20px);transform:translateX(-50%) rotate(-90deg);transform-origin:center}.spanner .note.active img{transform:translateX(-50%) rotate(-90deg) scale(.96)}@media(max-width:520px){.spanner .note img{height:25px}}
/* v0.2 responsive layout: landscape-first, portrait 4 x 2 */
html,body{min-height:100%;} body{overflow-x:hidden}
main{width:100%;max-width:1200px;padding:clamp(7px,1.5vw,16px);margin:auto}
h1{font-size:clamp(21px,3.4vw,36px);margin:0}
main>p{font-size:12px;margin:2px 0 7px}
.car{display:none} /* old branded prototype car is excluded from this layout test */
.tabs{margin:8px 0;gap:6px}
.tabs button,.actions button,select{min-height:42px;padding:8px 11px;font-size:clamp(12px,1.5vw,16px)}
.stage{padding:10px}
.instrument.wheel,.instrument.nut{
 display:grid;grid-template-columns:repeat(8,minmax(0,1fr));
 gap:clamp(3px,1vw,12px);align-items:center;
 width:min(100%,1000px);margin:12px auto 26px;min-height:0;
}
.instrument.wheel .note,.instrument.nut .note{
 width:100%;max-width:none;min-width:0;aspect-ratio:1/1;
}
.note .label{bottom:-20px;font-size:clamp(12px,1.7vw,18px)}
.instrument.spanner{height:clamp(155px,33vh,300px);margin-bottom:20px}
.instrument.spanner .note{min-width:0}
.instrument.spanner .note img{width:min(var(--len),28vh);bottom:calc(min(var(--len),28vh) / 2 - 20px)}
.status{margin:5px;min-height:20px}
.score{margin:4px}
.actions{margin:8px 0;gap:6px}
.small{font-size:11px}
@media (orientation:portrait){
 main{max-width:600px}
 .instrument.wheel,.instrument.nut{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px clamp(6px,2.5vw,15px);
  width:min(100%,490px);margin:16px auto 30px;
 }
 .note .label{bottom:-20px;font-size:16px}
 .instrument.spanner{height:clamp(180px,29vh,310px)}
 .tabs button{flex:1 1 28%;min-width:0}
}
@media (orientation:landscape) and (max-height:500px){
 main{padding:4px 12px}
 h1{font-size:20px}
 main>p{display:none}
 .tabs{margin:4px 0}
 .tabs button,.actions button,select{min-height:36px;padding:5px 9px}
 .stage{padding:5px}
 .instrument.wheel,.instrument.nut{width:min(100%,880px);margin:3px auto 22px}
 .instrument.wheel .note,.instrument.nut .note{max-height:clamp(54px,25vh,115px)}
 .status,.score{margin:2px}
 .actions{margin:3px}
 .small{display:none}
 .instrument.spanner{height:clamp(110px,30vh,180px)}
}

/* v0.3 supplied chrome wrench set, one wrench per note */
.instrument.spanner{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:clamp(2px,.8vw,12px);height:clamp(230px,44vh,420px);padding:6px 4px 26px;width:min(100%,1080px);margin:8px auto 14px;min-height:0}
.instrument.spanner .note{position:relative;width:100%;height:100%;max-width:none;aspect-ratio:auto;display:flex;align-items:end;justify-content:center;overflow:visible}
.instrument.spanner .note img{position:static!important;display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain;transform:none!important}
.instrument.spanner .note.active img{filter:brightness(1.5) drop-shadow(0 0 9px #ffe17b)}
.instrument.spanner .note .label{bottom:-23px}
@media(orientation:portrait){.instrument.spanner{height:clamp(190px,32vh,340px);gap:2px;padding:4px 1px 24px}}
@media(orientation:landscape) and (max-height:500px){.instrument.spanner{height:clamp(120px,40vh,230px);padding-bottom:20px}}

/* Musical Motors v0.4 — visual workshop experiment; v0.3 logic/assets preserved */
:root{--cream:#f3e6c7;--gold:#f0c879;--mint:#72d8bd;--ink:#071723}
body{background:radial-gradient(ellipse at 50% -10%,#365e65 0%,#132e3a 38%,#091823 100%);color:var(--cream);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;min-height:100dvh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;background:repeating-linear-gradient(0deg,transparent 0 35px,#90b8bd 36px,transparent 37px),repeating-linear-gradient(90deg,transparent 0 35px,#90b8bd 36px,transparent 37px);mask-image:linear-gradient(to bottom,#000,transparent 90%)}
main{position:relative;max-width:1220px;padding:clamp(8px,2vw,20px)}
.brandbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:4px 8px 13px;text-align:left}
.brandmark{display:flex;align-items:center;gap:12px}
.spark{width:43px;height:43px;display:grid;place-items:center;color:#112735;font-size:30px;background:linear-gradient(140deg,#f9e5ae,#bd8d44);border:3px solid #fff0c9;border-radius:12px;box-shadow:0 4px 0 #664b2b}
h1{font-size:clamp(21px,3.1vw,37px);font-weight:950;letter-spacing:.07em;line-height:1.05;color:#ffe3a4;text-shadow:0 3px 0 #3b3540}
.brandbar p{font-size:clamp(9px,1.1vw,12px);font-weight:800;letter-spacing:.22em;color:#b6d5d4;margin:5px 0 0}
.edition{font-size:10px;letter-spacing:.13em;font-weight:850;color:#a4c6c9;white-space:nowrap}
.edition span,footer span{color:var(--gold);padding:0 5px}
.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1vw,12px);margin:3px 0 12px}
.tabs button{min-width:0;min-height:52px;border:2px solid #69858a;border-bottom:5px solid #253d46;border-radius:13px;background:linear-gradient(#31515d,#1b3442);color:#d7e6df;box-shadow:inset 0 1px #76989b,0 5px 13px #0005;font-size:clamp(12px,1.5vw,17px);font-weight:850;letter-spacing:.025em}
.tabs button.selected{background:linear-gradient(#f7dd9b,#d4a75b);color:#24323b;border-color:#ffe8a6;border-bottom-color:#906b37;box-shadow:0 0 22px #f0b85544}
.tabs button span{margin-left:5px}
.stage{position:relative;overflow:hidden;padding:clamp(10px,1.7vw,20px);background:linear-gradient(150deg,#213e49 0%,#112734 55%,#0d202b 100%);border:3px solid #6d9194;border-radius:22px;box-shadow:inset 0 2px #b0c6bf55,inset 0 -6px #071721,0 14px 32px #0008}
.stagehead{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}
.eyebrow{font-size:10px;font-weight:900;letter-spacing:.23em;color:#f2c774}
.baytitle{font-size:clamp(16px,2.4vw,25px);font-weight:850;color:#f4e8cd;margin:2px 0}
.pilot{font-size:10px;color:#9bdac5;font-weight:850;letter-spacing:.08em}
.status{color:#ffe7aa;font-size:clamp(12px,1.5vw,15px);font-weight:750;min-height:18px;margin:2px 0 9px}
.instrument-frame{position:relative;border:2px solid #3d5e69;border-bottom:6px solid #5b4d3b;border-radius:17px;padding:clamp(7px,1.3vw,15px);background:radial-gradient(ellipse at 50% 10%,#4c5d61 0%,#283a41 55%,#1a2d36 100%);box-shadow:inset 0 6px 20px #0007,0 2px 0 #92b6b244}
.instrument-frame:before{content:"";position:absolute;inset:8px;border:1px dashed #e6d2a222;border-radius:11px;pointer-events:none}
.instrument.wheel,.instrument.nut{margin:10px auto 22px;width:100%;max-width:1000px}
.instrument.wheel .note,.instrument.nut .note{filter:drop-shadow(0 6px 3px #0008)}
.note .label{color:#fff5d7;background:#132c3bd9;display:inline-block;width:fit-content;min-width:27px;margin:auto;padding:2px 5px;border:1px solid #7f9a9b;border-radius:5px;font-weight:900;bottom:-20px;line-height:1.2;text-shadow:none}
.note:focus-visible{outline:3px solid #ffe39a;outline-offset:4px;border-radius:12px}
.note.active img{filter:brightness(1.45) drop-shadow(0 0 15px #f7c866)}
.notehint{display:flex;justify-content:space-between;gap:12px;margin:7px 4px 12px;color:#c5d8d6;font-size:10px;font-weight:900;letter-spacing:.14em}
.notehint span{color:#efc476}
.controls-title{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #607c8066;padding-top:12px;color:#f0d298;font-weight:900;letter-spacing:.15em;font-size:11px}
.score{margin:0;color:#d5e6df;font-size:12px;letter-spacing:0}
.actions{display:grid;grid-template-columns:minmax(130px,1.5fr) repeat(3,minmax(85px,1fr));gap:9px;margin:10px 0}
.actions button,.actions select{width:100%;min-width:0;min-height:45px;border:1px solid #e6d2a3;border-bottom:4px solid #896d46;background:linear-gradient(#f5e1b0,#d3b27b);color:#20313a;font-size:clamp(11px,1.2vw,15px);font-weight:850;box-shadow:0 3px 10px #0005}
.actions button:active{transform:translateY(2px);border-bottom-width:2px}
.actions #follow{background:linear-gradient(#92e7d0,#55bda6);border-color:#9be9d3;border-bottom-color:#2e786c}
.small{font-size:11px;color:#9eb7bc;margin-top:8px}
footer{font-size:10px;color:#90abb2;letter-spacing:.13em;font-weight:800;margin:13px 0 2px}
.instrument.spanner{height:clamp(200px,39vh,345px);padding:10px 8px 26px;gap:clamp(3px,1vw,14px);margin:0 auto 12px}
.instrument.spanner .note{height:100%;overflow:visible;min-width:0}
.instrument.spanner .note img{display:block;position:relative!important;inset:auto!important;transform:none!important;object-fit:contain;object-position:center bottom;width:100%!important;height:calc(100% - 12px)!important;max-height:100%;margin:auto auto 8px}
.instrument.spanner .note .label{bottom:-19px}
@media(orientation:portrait){
 .edition{display:none}
 .tabs button{font-size:12px;padding:8px 4px}
 .tabs button span{display:block;margin:2px 0 0}
 .actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .instrument.wheel,.instrument.nut{gap:25px 8px;margin:10px auto 25px}
 .instrument.spanner{height:clamp(180px,29vh,285px);padding:6px 0 25px;gap:1px}
 .pilot{display:none}
 .notehint{font-size:9px}
}
@media(orientation:landscape) and (max-height:520px){
 .brandbar{padding:0 4px 6px}
 .spark{width:31px;height:31px;font-size:21px;border-width:2px}
 h1{font-size:clamp(17px,3vw,25px)}
 .brandbar p{font-size:9px;margin:1px 0}
 .tabs{margin:0 0 6px}
 .tabs button{min-height:36px;padding:4px 7px;border-bottom-width:3px}
 .stage{padding:7px 12px;border-width:2px}
 .eyebrow{font-size:8px}
 .baytitle{font-size:15px}
 .status{margin:1px 0 4px;font-size:11px}
 .instrument-frame{padding:5px 9px;border-bottom-width:4px}
 .instrument.wheel,.instrument.nut{margin:0 auto 19px}
 .instrument.wheel .note,.instrument.nut .note{max-height:clamp(54px,22vh,110px)}
 .instrument.spanner{height:clamp(90px,28vh,150px);padding:2px 2px 20px;margin:0 auto 5px}
 .notehint{margin:3px 4px;font-size:8px}
 .controls-title{padding-top:4px;font-size:9px}
 .actions{margin:4px 0;gap:5px}
 .actions button,.actions select{min-height:31px;padding:3px 7px;font-size:11px;border-bottom-width:2px}
 .small,footer{display:none}
}
.instrument,.instrument .note{touch-action:none;-webkit-user-select:none;user-select:none;}\n
/* v0.6: compact responsive music staff; note positions follow actual treble-clef notation */
.notation-panel{margin:7px 0 12px;padding:10px 13px 4px;background:linear-gradient(110deg,#f5e8c8,#e5d3a9);color:#243944;border:2px solid #c49e60;border-radius:13px;box-shadow:inset 0 1px #fff9,0 4px 12px #0004}
.notation-head{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}
.notation-head>div:first-child{display:flex;flex-direction:column;gap:1px}
.notation-head .eyebrow{color:#7d5b2b;font-size:9px}
.notation-head strong{font-size:clamp(12px,1.6vw,17px);color:#253b43}
.notation-actions{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;color:#45616b}
#clearStaff{background:#284958;color:#fff1cc;border:0;border-radius:7px;padding:7px 13px;min-height:33px;font-weight:800;cursor:pointer}
#musicStaff{display:block;width:100%;height:clamp(72px,13vh,124px);overflow:visible}
.staff-lines line{stroke:#52626a;stroke-width:1.3}
.treble{font-family:'Noto Music','Bravura','Segoe UI Symbol','Apple Symbols',serif;font-size:75px;fill:#31434b}
.staff-guide{font-size:9px;fill:#6e6b5e;font-weight:800;letter-spacing:1.4px}
.staff-wheel{filter:drop-shadow(0 1px 2px #0005)}
.staff-note-letter{font-size:10px;fill:#273e49;font-weight:900;text-anchor:middle}
.staff-ledger{stroke:#334a52;stroke-width:1.8}
@media(orientation:landscape) and (max-height:520px){.notation-panel{margin:3px 0 5px;padding:3px 9px 0}.notation-head .eyebrow{display:none}.notation-head strong{font-size:11px}.notation-actions{font-size:9px}#clearStaff{min-height:24px;padding:3px 8px}#musicStaff{height:clamp(48px,12vh,73px)}}
@media(orientation:portrait){.notation-panel{padding:8px 6px 0}.notation-actions{gap:5px;font-size:10px}#clearStaff{padding:5px 9px}#musicStaff{height:clamp(75px,13vh,105px)}}

/* v0.7 Word Garage */
[hidden]{display:none!important}
.app-pages{display:flex;gap:9px;margin:4px 0 10px}
.pagebtn{flex:1;min-height:44px;border:2px solid #5e7b81;border-radius:12px;background:#1a3440;color:#e8dcc0;font-size:clamp(12px,1.6vw,17px);font-weight:900;cursor:pointer}
.pagebtn.chosen{background:linear-gradient(#f8dfa2,#d4a55b);color:#253744;border-color:#ffe4a6}
.word-page{background:linear-gradient(155deg,#1e3d47,#0c2430);border:3px solid #6c9092;border-radius:20px;padding:clamp(10px,2vw,20px);box-shadow:0 10px 30px #0007}
.word-intro{text-align:center;margin-bottom:10px}.word-intro h2{margin:2px 0;color:#f8d99b;letter-spacing:.11em;font-size:clamp(19px,3vw,29px)}.word-intro p{font-size:13px;color:#c9dfdf;margin:4px 0}
.word-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.wordmode{border:2px solid #607c85;border-radius:10px;min-height:45px;background:#274652;color:#e5ebdf;font-weight:850;cursor:pointer}
.wordmode.chosen{background:#e8c582;border-color:#ffe2a3;color:#203542}
.word-board{background:linear-gradient(135deg,#243f49,#122b37);border:1px solid #71979c;border-radius:15px;padding:clamp(9px,1.6vw,16px)}
.word-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.word-top h3{font-size:clamp(22px,4vw,35px);color:#ffdf9b;margin:2px 0;letter-spacing:.13em}.word-top p{color:#c7d8d9;font-size:12px;margin:0 0 5px}.word-score{background:#102733;border:1px solid #64858c;border-radius:10px;padding:8px 12px;color:#ffe6ad;font-weight:900;white-space:nowrap}
.word-staff-scroll{overflow-x:auto;background:#f4e7c7;border-radius:11px;padding:8px 6px;margin:10px 0 8px;touch-action:pan-x}
#wordStaff{display:block;height:clamp(110px,19vh,155px);min-width:100%}
.word-progress{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-height:29px;margin:8px 0}
.letterchip{display:inline-flex;justify-content:center;align-items:center;min-width:27px;height:30px;padding:0 6px;border:1px solid #8eacb0;border-radius:6px;background:#16313d;color:#f9e4b8;font-weight:900}
.letterchip.pending{opacity:.55}.letterchip.correct{background:#23745e;border-color:#75e7b4}
.word-keyboard{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(3px,1.3vw,13px);margin:12px auto 20px;max-width:1000px;touch-action:none}
.word-key{position:relative;min-width:0;border:0;background:none;padding:0;aspect-ratio:1;touch-action:none;cursor:pointer}
.word-key img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 3px #0008)}
.word-key span{position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);color:#fff0c8;background:#152f3c;border:1px solid #79979b;border-radius:4px;padding:1px 6px;font-size:clamp(11px,1.7vw,17px);font-weight:900;pointer-events:none}
.word-key.lit img{filter:brightness(1.5) drop-shadow(0 0 12px #f4c16b)}
.word-feedback{color:#f7d89c;font-weight:850;text-align:center;min-height:22px;margin:12px 0 6px}
.word-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.word-tools button,.guess-row button{min-height:39px;background:linear-gradient(#eed8a8,#cda669);border:1px solid #fce6b5;border-bottom:3px solid #8e693b;border-radius:8px;color:#203541;font-weight:850;cursor:pointer}
.word-hint{color:#a9c2c3;font-size:11px;margin:12px 0 0;text-align:center}
.word-typed label{display:block;color:#f6d9a3;font-weight:800;font-size:13px;margin:10px 0 6px}.guess-row{display:flex;gap:8px}.guess-row input{flex:1;min-width:0;background:#f8eacb;color:#1d3340;border:2px solid #b8a073;border-radius:8px;padding:9px 12px;font-size:16px;font-weight:800;text-transform:uppercase}.guess-row button{padding:0 17px}
@media(orientation:portrait){.word-modes{gap:4px}.wordmode{font-size:11px;padding:4px;min-height:44px}.word-keyboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:23px 12px;margin-bottom:24px}.word-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.word-intro p{font-size:11px}}
@media(orientation:landscape) and (max-height:520px){.word-intro{display:none}.word-modes{margin:2px 0 6px}.wordmode{min-height:32px}.word-page{padding:7px 12px}.word-top h3{font-size:20px}.word-top p{font-size:10px}.word-staff-scroll{padding:3px;margin:4px 0}#wordStaff{height:75px}.word-keyboard{margin:3px auto 15px;max-width:700px}.word-key{max-height:60px}.word-tools button{min-height:30px}.word-hint{display:none}.word-feedback{margin:3px 0}.word-progress{min-height:20px;margin:3px}}

/* v0.8: car-led responsive home banner; all instrument and word-game code unchanged */
.garage-hero{position:relative;display:grid;grid-template-columns:40% 60%;min-height:clamp(205px,27vw,310px);overflow:hidden;border:2px solid #8eaaa7;border-radius:22px;margin:4px 0 12px;background:radial-gradient(ellipse at 76% 40%,#426773 0%,#1d3e4b 49%,#0d2734 100%);box-shadow:inset 0 2px #b3d2d455,0 10px 30px #0008}
.garage-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 54px,#d6f0e709 55px,transparent 56px),linear-gradient(0deg,#0b1924 0%,transparent 45%)}
.hero-copy{position:relative;z-index:2;padding:clamp(14px,2.4vw,30px) 0 clamp(15px,2vw,22px) clamp(15px,3vw,36px);text-align:left;align-self:center}
.hero-kicker{display:block;font-size:clamp(9px,1vw,12px);font-weight:900;letter-spacing:.12em;color:#c5e0d9}
.hero-copy h2{font-size:clamp(24px,3.5vw,46px);line-height:1.04;letter-spacing:.02em;color:#f8e6b5;text-shadow:0 4px 4px #0008;margin:10px 0}
.hero-copy h2 em{font-style:normal;color:#7cdec5}
.hero-copy p{max-width:350px;font-size:clamp(11px,1.2vw,15px);line-height:1.45;color:#d2e4e1;margin:0 0 15px}
.hero-actions{display:flex;flex-wrap:wrap;gap:8px}
.hero-action{cursor:pointer;background:#193c48;border:2px solid #85b4b0;color:#e6f4ed;border-radius:10px;padding:10px 14px;min-height:42px;font-weight:900;font-size:clamp(10px,1.1vw,13px)}
.hero-action.primary{background:linear-gradient(#f6dfaa,#d2a65c);border-color:#ffe9ae;color:#253743}
.hero-action:focus-visible{outline:3px solid #fff;outline-offset:3px}
.hero-vehicle{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;padding:0 12px 0 0}
.hero-vehicle img{display:block;width:100%;max-height:310px;object-fit:contain;filter:drop-shadow(0 16px 10px #0009);user-select:none;-webkit-user-drag:none}
.hero-floor{position:absolute;bottom:0;left:0;right:0;height:18%;background:linear-gradient(#2a4248aa,#12252d);border-top:1px solid #c1d3b333}
@media(max-width:650px) and (orientation:portrait){
 .garage-hero{grid-template-columns:1fr;min-height:0}
 .hero-copy{padding:16px 17px 0}
 .hero-copy h2{font-size:clamp(26px,7vw,38px);margin:6px 0}
 .hero-copy h2 br{display:none}
 .hero-copy h2 br:after{content:" "}
 .hero-copy p{font-size:12px;max-width:none;margin-bottom:10px}
 .hero-actions{gap:6px}
 .hero-action{flex:1;padding:8px 5px;min-height:40px}
 .hero-vehicle{padding:0 14px;margin-top:-3px}
 .hero-vehicle img{max-height:220px}
}
@media(orientation:landscape) and (max-height:520px){
 .garage-hero{min-height:100px;max-height:132px;grid-template-columns:48% 52%;margin:2px 0 6px;border-radius:12px}
 .hero-copy{padding:7px 0 7px 13px}
 .hero-kicker{font-size:8px}
 .hero-copy h2{font-size:20px;margin:3px 0}
 .hero-copy h2 br{display:none}
 .hero-copy p{display:none}
 .hero-action{min-height:28px;padding:3px 8px;font-size:10px}
 .hero-vehicle img{max-height:125px}
}

/* v0.9 Music School */
.school-page{padding:0 0 14px;text-align:left}.school-intro{padding:15px 6px 10px}.school-intro h2{margin:5px 0;color:#ffe2a5;font-size:clamp(24px,3.5vw,40px)}.school-intro p{margin:5px 0;color:#d3e4df}.lesson-nav{display:flex;gap:8px;overflow-x:auto;padding:7px 3px 13px;scrollbar-width:thin}.lesson-nav button{flex:0 0 auto;min-height:43px;border:2px solid #6b8d91;border-radius:11px;background:#1d3a46;color:#e1eee9;font-weight:800;padding:8px 13px}.lesson-nav button.chosen{background:#e8c681;color:#203440;border-color:#fff1b7}.school-card{border:2px solid #77949b;border-radius:19px;background:linear-gradient(150deg,#244652,#102936);padding:clamp(11px,2vw,22px);box-shadow:0 8px 25px #0006}.school-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.school-heading h3{font-size:clamp(21px,3vw,30px);color:#ffe5af;margin:4px 0}.school-heading button,.school-footer button,.school-quiz button{border:1px solid #ffebbd;border-radius:10px;background:#e6c384;color:#24343d;font-weight:850;min-height:43px;padding:8px 13px;cursor:pointer}.school-card>p{line-height:1.6;color:#e0ebe9;max-width:850px}.school-staff-wrap{background:#f8f0dc;border:3px solid #c8ad79;border-radius:14px;padding:6px;max-width:900px;margin:13px auto 7px}.school-staff-wrap svg{display:block;width:100%;max-height:210px}.school-readout{text-align:center;color:#f4d38f;font-weight:850;min-height:25px}.school-keys{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(3px,1vw,11px);max-width:900px;margin:10px auto 16px}.school-key{background:#182f3b;border:1px solid #607a80;border-radius:12px;min-width:0;padding:7px 3px;touch-action:manipulation;color:#fff0c7;font-weight:900;cursor:pointer}.school-key img{width:100%;max-width:78px;display:block;margin:auto;aspect-ratio:1;object-fit:contain}.school-key.selected{background:#7e6640;box-shadow:0 0 0 2px #f7d58b}.school-activity{background:#102530;border:1px solid #4b6e77;border-radius:13px;padding:13px}.school-activity strong{color:#f5cf83;letter-spacing:.1em}.school-activity p{color:#e0e9e5;line-height:1.5;margin:9px 0}.school-quiz{display:flex;flex-wrap:wrap;gap:9px}.school-quiz button{min-width:75px}.school-activity #activityFeedback{color:#a6e7ce;min-height:22px}.school-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:17px}.school-footer span{color:#f5d28b;font-weight:900}.school-explainer{margin-top:14px;padding:17px;border:1px solid #62818a;border-radius:13px;background:#172e3b}.school-explainer strong{color:#f4d392}.school-explainer p{color:#d5e4e2;line-height:1.65;margin-bottom:0}.school-key:focus-visible,.school-page button:focus-visible{outline:3px solid #fff5b3;outline-offset:3px}
@media(orientation:portrait){.school-keys{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.school-heading{align-items:start}.school-heading button{font-size:12px;padding:6px;min-height:40px}.school-staff-wrap{padding:0}.school-footer button{font-size:12px;padding:6px}}

/* v1.0 Note Race prototype */
.race-page{margin:12px 0 20px;text-align:left}.race-page[hidden]{display:none!important}
.race-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.race-title h2{color:#ffe3a4;margin:3px 0;font-size:clamp(22px,3vw,33px)}.race-title p{margin:0;color:#b7d4d3;font-size:13px}
#raceRestart{background:#ebcb8e;color:#172c38;border:2px solid #fff0bd;border-radius:12px;padding:11px 16px;font-weight:900;cursor:pointer}
.race-board{border:2px solid #6b9196;background:linear-gradient(140deg,#254650,#102b39);border-radius:19px;padding:clamp(10px,2vw,22px);box-shadow:0 10px 30px #0006}
.race-hud{display:flex;justify-content:space-between;align-items:center;color:#f6e6c0;font-size:clamp(14px,2vw,21px);margin-bottom:10px}.race-hud #raceDamage{color:#f9ad8e;letter-spacing:.12em}
.race-track{padding:8px 6px 4px;background:#17313b;border-radius:14px;border:1px solid #597781}
.race-road{height:clamp(105px,20vh,158px);position:relative;overflow:hidden;border-radius:9px;background:repeating-linear-gradient(0deg,#414e50 0px,#414e50 18px,#39474a 19px,#39474a 36px);border-top:7px solid #9ab2a7;border-bottom:7px solid #9ab2a7}
.race-dashes{position:absolute;top:50%;height:5px;width:100%;background:repeating-linear-gradient(90deg,#d9d1ad 0 25px,transparent 25px 51px);opacity:.7}
.race-finish{position:absolute;right:7%;top:0;bottom:0;width:28px;background-color:#fff;background-image:conic-gradient(#1c2c33 25%,white 0 50%,#1c2c33 0 75%,white 0);background-size:28px 28px}
.race-car{position:absolute;width:clamp(80px,16vw,135px);left:0;bottom:9%;transform:translateX(0);transition:left .48s cubic-bezier(.22,.61,.36,1);filter:drop-shadow(0 6px 5px #0008);z-index:2}.race-car svg{width:100%;display:block}.race-car.broken{filter:grayscale(1) drop-shadow(0 6px 5px #0008)}
.race-road-labels{display:flex;justify-content:space-between;color:#dfc88f;font-size:10px;letter-spacing:.15em;font-weight:900;margin:5px 2px 0}
.race-question{margin:14px auto 8px;text-align:center}.race-question .eyebrow{color:#e5c78a}.race-staff-wrap{max-width:680px;margin:7px auto;background:#f5eedc;border:3px solid #c4a879;border-radius:12px;padding:6px 10px}.race-staff-wrap svg{display:block;width:100%;height:auto;min-height:115px;max-height:205px}.race-feedback{font-size:clamp(14px,1.7vw,19px);font-weight:800;color:#f4dc9f;min-height:24px;margin:9px auto}
.race-answers{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,1vw,11px);max-width:790px;margin:12px auto}.race-answers button{min-width:0;min-height:clamp(45px,7vh,65px);background:linear-gradient(#f7e5b9,#d4af6d);border:2px solid #ffebbd;border-bottom:5px solid #93723f;border-radius:11px;color:#1b3340;font-size:clamp(18px,3vw,26px);font-weight:950;cursor:pointer}.race-answers button:active{transform:translateY(2px)}.race-answers button:disabled{opacity:.45;cursor:default}.race-help{font-size:12px;color:#b5cecd;text-align:center;margin:12px 0 2px}
@media(max-width:520px){.race-title{align-items:start}.race-title p{font-size:11px}.race-answers{gap:4px}.race-answers button{padding:6px 0;border-radius:7px}.race-road{height:110px}}

/* v1.2 Games Garage and ear training */
.new-hub{background:linear-gradient(145deg,#173743,#254e5b);color:#f5ead1;padding:clamp(16px,4vw,35px);border-radius:18px;margin:14px 0 24px;border:2px solid #ba9a5c;box-shadow:0 9px 25px #12252c3d}.new-hub[hidden]{display:none!important}.new-hub h2{font-size:clamp(25px,4vw,40px);margin:8px 0}.new-hub p{line-height:1.5;color:#dce5df}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:20px 0}.hub-grid>button,.hub-grid>div{min-height:125px;border:1px solid #8a9c9a;border-radius:14px;padding:18px;text-align:left;background:#f3e8cf;color:#18313d;display:flex;flex-direction:column;gap:12px;cursor:pointer}.hub-grid strong{font-size:19px}.hub-grid span{font-size:14px;line-height:1.4}.hub-foot,.copy-tip{font-size:13px}.copy-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.copy-top button,.copy-actions button{background:#f0e4c8;border:2px solid #bd9d60;color:#1d3541;border-radius:11px;padding:12px 15px;font-weight:800;cursor:pointer}.copy-panel{border:1px solid #718d92;border-radius:14px;padding:clamp(12px,3vw,24px);background:#102b37}.copy-status{display:flex;justify-content:space-between;gap:10px;color:#f4d58c}.copy-slots{display:flex;gap:7px;margin:18px 0}.copy-slots span{flex:1;text-align:center;padding:14px 3px;background:#315160;border-radius:10px;border:1px solid #64818a;font-size:22px;font-weight:900;min-width:0}.copy-slots span.ok{background:#276e53}.copy-slots span.bad{background:#8c4b43}.copy-actions{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}.copy-actions .copy-primary{background:#e8c16b}.copy-actions button:disabled{opacity:.45;cursor:default}.copy-feedback{min-height:46px;font-weight:700}.copy-tyres{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin:16px 0}.copy-tyres button{background:#e6dcc6;border:2px solid #ac976e;border-radius:12px;min-width:0;padding:10px 3px;color:#18313d;cursor:pointer;touch-action:manipulation}.copy-tyres button img{width:100%;max-width:70px;aspect-ratio:1;object-fit:contain;display:block;margin:auto}.copy-tyres button span{display:block;font-weight:900}.copy-tyres button:disabled{opacity:.5}.new-hub button:focus-visible{outline:3px solid #ffdf8a;outline-offset:3px}@media(max-width:540px){.copy-tyres{grid-template-columns:repeat(4,minmax(0,1fr))}.hub-grid{grid-template-columns:1fr}.copy-slots span{padding:11px 1px}}

/* v1.3 timed ear-training */
.copy-settings{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#294653;border:1px solid #68828b;padding:13px;border-radius:12px;margin-top:12px}.copy-settings label{font-weight:800}.copy-settings select{background:#f5ebd3;color:#1a3440;border:2px solid #c5a36a;border-radius:9px;padding:12px;flex:1;min-width:165px;font:inherit}.copy-settings button{border-radius:9px;background:#ebc77d;color:#1d3541;border:0;padding:12px;font-weight:800;cursor:pointer}.copy-stage{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#18333e;border:2px solid #b8a16f;padding:12px 17px;border-radius:12px;margin-top:14px}.copy-stage #copyPhase{font-weight:900;color:#f3d48c;letter-spacing:.07em}.copy-stage #copyTimer{font-size:clamp(25px,6vw,42px);font-variant-numeric:tabular-nums;color:white}.copy-stage.official{border-color:#80d5aa;background:#1d483e}.copy-stage.finished{border-color:#e4c47c}.copy-tyres button:active{transform:scale(.96)}

/* v1.4 Mini Memory */
.memory-panel{max-width:750px;margin:15px auto 0;padding:clamp(12px,3vw,26px);border-radius:18px;background:linear-gradient(145deg,#1a3644,#102733);border:2px solid #bfa16d;color:#f4ead3;box-shadow:0 14px 30px #0004}.memory-head,.memory-progress,.memory-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.memory-head{font-weight:900;color:#efcf88;letter-spacing:.07em}.memory-message{font-weight:800;font-size:clamp(17px,3vw,23px);text-align:center;min-height:3.2em;display:flex;align-items:center;justify-content:center;padding:12px 0}.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,2vw,18px)}.memory-car{position:relative;min-width:0;touch-action:manipulation;cursor:pointer;border-radius:18px;padding:12px 8px 8px;border:3px solid var(--car-col);background:linear-gradient(145deg,#294a5a,#1a303d);box-shadow:inset 0 0 18px #0005,0 5px 0 #081c25;transition:transform .09s,background .09s,box-shadow .09s;overflow:hidden}.memory-car svg{display:block;width:100%;max-height:175px;filter:drop-shadow(0 5px 5px #0008)}.memory-car .memory-name{display:block;color:white;font-size:clamp(13px,2.5vw,19px);font-weight:900;text-shadow:0 2px 2px #000;text-align:center;letter-spacing:.08em}.memory-car.lit{transform:scale(1.035);background:var(--car-col);box-shadow:0 0 25px var(--car-col),inset 0 0 30px #fff8}.memory-car.lit svg{filter:brightness(1.45) drop-shadow(0 0 15px white)}.memory-car:disabled{cursor:default;opacity:.9}.memory-progress{padding:18px 2px;font-weight:800;color:#e7d4ad}.memory-actions button{border-radius:10px;padding:12px 15px;font:inherit;font-weight:800;cursor:pointer;background:#e5d5af;color:#213743;border:0;flex:1;min-width:140px}.memory-actions button.copy-primary{background:#e6bd70}.memory-actions button:disabled{opacity:.45;cursor:default}.memory-panel .copy-tip{color:#d3d5ce;font-size:13px;line-height:1.6;margin-top:18px}@media(max-width:480px){.memory-car{padding:6px 4px}.memory-grid{gap:8px}.memory-actions button{min-width:0;flex:1 1 45%;font-size:13px;padding:12px 7px}}

/* v1.5 navigation and responsive homepage — appended to preserve approved v1.4 styling */
[hidden]{display:none!important}
.mm-header-home{background:#f0dfbd;color:#183b48;border:0;border-radius:8px;padding:10px 14px;font-weight:900;cursor:pointer;margin-left:auto}
.mm-home{padding:22px 0 12px}
.mm-welcome{background:linear-gradient(125deg,#173c49,#315b63);border:2px solid #caa96b;border-radius:19px;padding:24px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:16px;overflow:hidden;color:#f5e9d1}
.mm-welcome h2{font-size:clamp(28px,4.5vw,58px);line-height:1.08;margin:10px 0;color:#f4dfb3;letter-spacing:.01em}
.mm-welcome h2 em{color:#fff;font-style:normal}
.mm-welcome p{max-width:510px;line-height:1.55;font-size:clamp(14px,1.5vw,18px)}
.mm-welcome img{width:100%;max-height:300px;object-fit:contain}
.mm-welcome-small{display:inline-block;margin-top:10px;color:#ead2a4;font-size:12px}
.mm-section-label{font-weight:900;letter-spacing:.13em;color:#294a53;margin:24px 0 12px}
.mm-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mm-home-grid button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:22px;min-height:170px;border:2px solid #bba57c;border-radius:15px;background:#f1e5cc;color:#203e49;cursor:pointer;transition:transform .12s,box-shadow .12s}
.mm-home-grid button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #193c4922}
.mm-home-grid strong{font-size:clamp(17px,2vw,24px);letter-spacing:.03em}
.mm-home-grid small{font-size:14px;line-height:1.45}
.mm-home-grid b{font-size:12px;letter-spacing:.06em;color:#93672e;margin-top:auto}
.mm-emoji{font-size:28px;color:#93672e}
.mm-home-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;color:#567079;font-size:12px}
.mm-home-footer button,.mm-library-grid button{border:1px solid #9c8662;border-radius:8px;background:#f2e4c6;color:#244653;padding:11px 14px;cursor:pointer;font-weight:700}
.app-pages{position:sticky;top:0;z-index:50;background:#193b48;padding:8px;border-radius:0 0 12px 12px;display:flex;flex-wrap:wrap;gap:6px}
.app-pages .pagebtn{flex:1 1 auto;white-space:nowrap;min-height:40px}
.mm-info-page{margin:20px 0}
.mm-info-page p{line-height:1.65}
.mm-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.mm-library-grid article{padding:20px;border:1px solid #c4b28d;background:#f4ead6;border-radius:12px}
.mm-library-grid h3{color:#294b55;margin:0 0 8px}
.mm-about-lead{font-size:23px;font-weight:900;color:#956c35}
.mm-about-credit{display:flex;flex-direction:column;gap:7px;margin-top:25px;border-top:1px solid #bda77f;padding-top:18px}
@media(max-width:650px){.mm-welcome{grid-template-columns:1fr;padding:16px}.mm-welcome img{max-height:175px}.mm-home-grid{grid-template-columns:1fr 1fr;gap:9px}.mm-home-grid button{padding:12px;min-height:156px}.mm-home-grid strong{font-size:14px}.mm-home-grid small{font-size:12px}.mm-emoji{font-size:22px}.mm-library-grid{grid-template-columns:1fr}.mm-home-footer{flex-wrap:wrap}.app-pages{position:static}.app-pages .pagebtn{font-size:12px}}
@media(max-width:390px){.mm-home-grid{grid-template-columns:1fr}.mm-home-grid button{min-height:125px}}
@media(orientation:landscape) and (max-height:520px){.mm-welcome{grid-template-columns:1.2fr .8fr;padding:12px 20px}.mm-welcome img{max-height:165px}.mm-home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mm-home-grid button{padding:12px;min-height:170px}.mm-home-grid strong{font-size:14px}.mm-home-grid small{font-size:12px}.mm-emoji{font-size:21px}}

/* v1.7 playable 2-octave sampled piano */
.instrument.piano{display:flex;flex-direction:column;gap:12px;width:100%;padding:10px 0;touch-action:pan-y}
.mm-piano{width:100%;overflow-x:auto;overflow-y:hidden;padding:6px 2px 15px;touch-action:pan-x}
.mm-piano-keys{height:clamp(175px,28vw,275px);position:relative;display:flex;min-width:460px;width:100%;touch-action:none;user-select:none;-webkit-user-select:none}
.mm-white-key{position:relative;flex:1;min-width:0;border:1px solid #777;border-bottom:7px solid #c3b9a5;border-radius:0 0 7px 7px;background:linear-gradient(95deg,#e3ddce,#fff 22%,#fff 77%,#ded6c5);color:#40535b;display:flex;align-items:flex-end;justify-content:center;padding:0 1px 13px;font-size:clamp(10px,1.3vw,15px);cursor:pointer;touch-action:none}
.mm-black-key{position:absolute;top:0;transform:translateX(-50%);height:61%;width:4%;z-index:3;background:linear-gradient(100deg,#171a20,#343b43 60%,#0c1014);border:1px solid #07090b;border-bottom:5px solid #080a0d;border-radius:0 0 5px 5px;color:#e8d7b6;display:flex;align-items:flex-end;justify-content:center;padding:0 1px 9px;font-size:10px;cursor:pointer;touch-action:none}
.mm-white-key.mm-key-active{background:#f0cf7d;border-bottom-color:#b98a3a}.mm-black-key.mm-key-active{background:#9d7236}
.mm-hide-labels .mm-piano-keys span{visibility:hidden}
.mm-piano-toggle{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.mm-piano-hint{font-size:12px;color:#60717a;margin:0}
@media(max-width:650px){.mm-piano-keys{min-width:440px;height:190px}.mm-black-key{font-size:8px}.mm-white-key{font-size:11px}}
@media(orientation:landscape){.mm-piano-keys{min-width:0;height:clamp(150px,34vh,270px)}}

/* v2.0 Start Your Engines beginner onboarding */
.mm-start{padding:20px 0 35px;color:#234752}
.mm-start-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mm-start-top button{background:transparent;border:1px solid #9d845b;color:#31525a;border-radius:9px;padding:9px 12px;cursor:pointer}
.mm-start-head{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;background:linear-gradient(120deg,#193e4b,#38616a);color:#f6e6c8;padding:20px 25px;border-radius:17px;margin:15px 0}
.mm-start-head h2{font-size:clamp(28px,4vw,53px);line-height:1.05;margin:0;color:#f0d9a6}.mm-start-head h2 em{font-style:normal;color:white}
.mm-start-head p{max-width:490px;line-height:1.5}.mm-start-head img{width:100%;max-height:175px;object-fit:contain}
.mm-progress{display:flex;gap:7px;margin:15px 0 22px}.mm-progress span{height:8px;flex:1;border-radius:10px;background:#d8cab0}.mm-progress .current{background:#a67738}.mm-progress .done{background:#6c8c74}
.mm-intro-content{background:#f4e8d0;border:1px solid #c5aa7d;border-radius:15px;padding:clamp(16px,3vw,30px);min-height:280px}
.mm-intro-content h3{font-size:clamp(22px,3vw,34px);color:#244954;margin:9px 0 14px}.mm-intro-content p{line-height:1.65;max-width:850px}
.mm-callout{background:#e2d4b6;border-left:5px solid #af7c37;border-radius:8px;padding:14px 16px;line-height:1.6;margin:18px 0}
.mm-intro-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}.mm-intro-actions button,.mm-tune-button{background:#244d59;color:#fff4dc;border:0;border-radius:9px;padding:13px 18px;font-weight:800;cursor:pointer}.mm-intro-actions button:disabled{opacity:.3}.mm-intro-actions span{color:#49636b;font-size:13px}
.mm-compare{display:flex;gap:12px;align-items:center;margin:22px 0}.mm-compare button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:#244d59;color:#f5e6c7;border:2px solid #c69e63;border-radius:12px;padding:17px 8px;cursor:pointer;font-size:27px}.mm-compare button strong{font-size:clamp(12px,2vw,17px)}.mm-compare button small{font-size:12px}
.mm-intro-wheel-wrap{margin:22px 0}.mm-intro-wheels{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(3px,1vw,12px)}.mm-intro-wheel{aspect-ratio:1;border-radius:50%;border:5px solid #263f48;background:repeating-conic-gradient(#30383d 0deg 16deg,#485056 16deg 32deg);display:grid;place-items:center;padding:8%;cursor:pointer;box-shadow:0 3px 5px #172f3b44;min-width:0;touch-action:manipulation}.mm-intro-wheel.active{outline:3px solid #bf8d42;outline-offset:2px}.mm-wheel-rim{width:75%;aspect-ratio:1;background:radial-gradient(circle,#eee5cf 0 18%,#9ca7aa 19% 37%,#d4d9d6 38% 58%,#7d8d92 59%);border:2px solid #d9ddda;border-radius:50%;display:grid;place-items:center}.mm-wheel-rim span{font-size:clamp(11px,2vw,22px);font-weight:900;color:#203f49}.mm-pitch-direction{display:flex;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:.1em;margin-top:12px;color:#7b603e}
.mm-intro-staff{background:#fff9ed;border-radius:12px;border:1px solid #d6c49e;padding:10px;max-width:650px;margin:15px auto}.mm-intro-staff svg{width:100%;display:block}.mm-intro-staff p{text-align:center;font-size:13px;margin:0 0 8px}
.mm-start-cta{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;margin:16px 0 5px;padding:16px 20px;border-radius:12px;background:#b17c37;color:white;font-weight:900;border:2px solid #e1c58d;text-align:left;cursor:pointer}.mm-start-cta span{font-size:12px;font-weight:500}
@media(max-width:650px){.mm-start-head{grid-template-columns:1fr;padding:16px}.mm-start-head img{max-height:100px}.mm-intro-wheel{border-width:3px;padding:3%}.mm-wheel-rim{width:90%}.mm-start-cta{flex-direction:column;align-items:flex-start}.mm-intro-actions button{padding:11px 9px;font-size:12px}}
@media(orientation:landscape) and (max-height:550px){.mm-start-head{grid-template-columns:1.3fr .7fr;padding:10px 20px}.mm-start-head img{max-height:95px}.mm-start-head h2{font-size:27px}}

/* v2.1: authentic workshop wheel, clear notation and guided melody */
.mm-intro-wheels{grid-template-columns:repeat(var(--wheel-count,8),minmax(0,1fr));}
.mm-intro-wheel{position:relative;border:0;background:transparent;padding:0;box-shadow:none;overflow:visible;display:grid;place-items:center;}
.mm-intro-wheel img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 3px #172f3b55)}
.mm-intro-wheel span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#f5e8cd;color:#173c4b;border-radius:50%;font-weight:900;font-size:clamp(10px,2vw,20px);padding:2px 5px;min-width:24px;text-align:center;pointer-events:none;box-shadow:0 1px 4px #132f3b99}
.mm-intro-wheel.active{outline:none;filter:drop-shadow(0 0 5px #e8a332)}
.mm-intro-wheel.active span{background:#e5b75f}
.mm-intro-staff{max-width:660px;padding:14px 18px}
.mm-intro-staff svg{max-height:245px}
.mm-note-readout{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 10px;color:#254d58}
.mm-note-readout strong{font-size:27px;background:#244d59;color:#fff3d8;border-radius:9px;padding:5px 16px}
.mm-note-readout span{font-size:14px;font-weight:700}
.mm-tune-exercise{background:#ead9b8;border-radius:12px;padding:16px;margin-top:16px}
.mm-tune-exercise h4{font-size:21px;margin:0}
.mm-tune-sequence{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:14px 0}
.mm-tune-sequence span{background:#fff8e9;border:2px solid #c9b38e;text-align:center;border-radius:8px;font-size:clamp(16px,3vw,27px);font-weight:900;padding:8px 0;color:#254954}
.mm-tune-sequence .current{border-color:#ad782c;background:#f7d894}.mm-tune-sequence .completed{background:#a6c3a2}
.mm-tune-controls{display:flex;flex-wrap:wrap;gap:8px}.mm-tune-button.secondary{background:#f9f0dd;color:#244d59;border:1px solid #a98d5d}
.mm-tune-feedback,.mm-tune-answer{font-weight:800;color:#244d59}
@media(max-width:500px){.mm-intro-wheel span{font-size:11px;min-width:19px;padding:1px 3px}.mm-note-readout{flex-direction:column;gap:4px}.mm-intro-staff{padding:8px}.mm-tune-controls button{flex:1}}

/* v2.4: legible, centred beginner introduction */
.mm-intro-content{color:#203f49;text-align:center;max-width:1200px;margin-inline:auto;}
.mm-intro-content p,.mm-intro-content .mm-callout,.mm-tune-exercise p{color:#244650 !important;opacity:1 !important;text-align:center;margin-left:auto;margin-right:auto;max-width:900px;font-size:clamp(15px,1.55vw,18px);line-height:1.6;}
.mm-intro-content .eyebrow{color:#98621c !important;opacity:1 !important;font-weight:900;}
.mm-intro-content h3{margin:10px auto 20px;}
.mm-intro-content .mm-callout{max-width:1000px;text-align:center;}
.mm-intro-wheel-wrap{max-width:1000px;margin:22px auto;}
.mm-intro-wheel{aspect-ratio:1;min-height:0;}
.mm-intro-wheel img{display:block;width:100%;height:100%;object-fit:contain;}
.mm-intro-staff p{color:#375761 !important;font-size:15px;}
.mm-note-readout span{color:#234751 !important;font-size:clamp(14px,1.5vw,18px);}
.mm-tune-exercise{max-width:1050px;margin:22px auto;}
.mm-tune-controls{justify-content:center;}
.mm-start-top button{color:#f6e5c5;background:#204552;border-color:#c6a269;}
.mm-intro-actions button:disabled{opacity:.45;}
@media(max-width:650px){.mm-intro-content{padding:18px 10px}.mm-intro-wheels{gap:3px}.mm-intro-wheel span{min-width:17px;font-size:11px}.mm-intro-staff{padding:8px 4px}}

/* v2.5 — compact mobile-first home screen; other pages untouched */
body:has(#homePage:not([hidden])) .car,body:has(#homePage:not([hidden])) .garage-hero,body:has(#homePage:not([hidden])) .app-pages{display:none!important}
body:has(#homePage:not([hidden])) main{max-width:1100px}
body:has(#homePage:not([hidden])) .brandbar{padding-block:5px;margin-bottom:4px}
body:has(#homePage:not([hidden])) .edition{font-size:10px}
.mm-home{padding:4px 0 8px}
.mm-home-compact{display:flex;flex-direction:column;gap:clamp(7px,1.2vh,12px)}
.mm-home-intro{background:linear-gradient(125deg,#173c49,#315b63);border:2px solid #caa96b;border-radius:14px;padding:clamp(10px,2vh,18px);display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:8px;color:#f5e9d1;min-height:0}
.mm-home-intro h2{font-size:clamp(20px,3.6vw,38px);line-height:1.12;margin:4px 0;color:#f4dfb3}
.mm-home-intro h2 em{font-style:normal;color:#fff}
.mm-home-intro p{margin:4px 0 0;font-size:clamp(12px,1.4vw,16px);line-height:1.3;color:#fff3db}
.mm-home-intro img{width:100%;height:clamp(70px,15vh,145px);object-fit:contain}
.mm-home .mm-start-cta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;width:100%;min-height:43px;padding:8px 12px;font-size:clamp(12px,1.8vw,17px)}
.mm-home .mm-start-cta span{font-size:clamp(11px,1.4vw,14px)}
.mm-home .mm-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(7px,1.2vh,12px)}
.mm-home .mm-home-grid button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:10px;row-gap:2px;text-align:left;padding:clamp(9px,1.5vh,15px);min-height:clamp(67px,12vh,110px);border-radius:12px}
.mm-home .mm-home-grid .mm-emoji{grid-row:1/3;font-size:clamp(22px,3.2vw,34px)}
.mm-home .mm-home-grid strong{font-size:clamp(14px,2.2vw,22px);line-height:1.12}
.mm-home .mm-home-grid small{font-size:clamp(11px,1.35vw,14px);line-height:1.2;color:#36525a}
.mm-home .mm-home-footer{margin-top:0;gap:6px}
.mm-home .mm-home-footer button{padding:6px 10px;font-size:12px}
@media(max-width:650px){.mm-home-intro{grid-template-columns:1.6fr .4fr}.mm-home-intro .eyebrow{font-size:9px}.mm-home-intro h2{font-size:clamp(18px,5vw,27px)}.mm-home-intro img{height:clamp(64px,12vh,110px)}.mm-home .mm-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mm-home .mm-home-grid button{min-height:clamp(65px,11vh,94px);padding:9px;column-gap:6px}.mm-home .mm-home-grid strong{font-size:clamp(12px,3.5vw,16px)}.mm-home .mm-home-grid small{font-size:11px}.mm-home .mm-home-grid .mm-emoji{font-size:24px}.mm-home .mm-home-footer{flex-wrap:nowrap}.mm-home .mm-home-footer span{font-size:10px}}
@media(orientation:landscape) and (max-height:550px){body:has(#homePage:not([hidden])) .brandbar{padding:2px 6px}.mm-home-compact{gap:5px}.mm-home-intro{padding:7px 12px;grid-template-columns:1fr auto}.mm-home-intro img{height:52px;width:110px}.mm-home-intro h2{font-size:20px;margin:1px 0}.mm-home-intro p{font-size:11px}.mm-home .mm-start-cta{min-height:32px;padding:4px}.mm-home .mm-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mm-home .mm-home-grid button{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5px;gap:2px}.mm-home .mm-home-grid .mm-emoji{font-size:18px}.mm-home .mm-home-grid strong{font-size:11px}.mm-home .mm-home-grid small{font-size:10px}.mm-home .mm-home-footer button{padding:4px 8px}}
@media(max-width:360px){.mm-home-intro img{height:60px}.mm-home .mm-home-grid strong{font-size:12px}.mm-home .mm-home-grid small{font-size:10px}}
