@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--ink:#eef2f6;--muted:#99a7b8;--green:#a6e7d2;--cream:#0c1017;--line:#29313e}body{background:radial-gradient(ellipse at 80% 0,#1a2940 0,transparent 46%),#0c1017;color:var(--ink)}header{max-width:1350px;padding:22px 42px;border-color:#ffffff0e}.brand{color:white;font-size:23px}.brand span{color:#8090a3;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin-top:6px}button,select,textarea{color:var(--ink);border-color:var(--line);background:#1a2230}button:hover{background:#29364a;filter:none}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a6e7d2;outline-offset:4px}nav button{color:#a9b7c9}main{max-width:1350px;padding:0 42px}.intro{padding:45px 0 30px}.intro h1{font-size:42px;line-height:1.2;font-weight:700;letter-spacing:-1.8px;margin:15px 0 14px}.intro h1 br{display:none}.intro p{color:#98a7b9;max-width:650px;line-height:1.7;font-size:14px}.eyebrow{color:#8ee0c4;font-size:10px;letter-spacing:2px}.main-tabs{display:inline-flex;gap:3px;background:#151c27;border:1px solid #263040;border-radius:12px;padding:5px;margin:0 0 28px}.main-tabs button{background:transparent;color:#8f9db0;font-size:13px;padding:11px 27px;border-radius:8px}.main-tabs [aria-selected=true]{background:#2a3d43;color:#b6f3de}.layout{grid-template-columns:235px minmax(0,1fr);gap:28px;margin-bottom:50px}.layout>aside{padding:8px 0}.section-label{color:#8192a8;font-size:9px;letter-spacing:1.6px}.levels{display:flex;flex-direction:column;gap:9px;margin:20px 0}.levels button{display:grid;grid-template-columns:28px 1fr auto;align-items:center;text-align:left;background:#141b26;border:1px solid #26303e;padding:15px 12px;border-radius:11px;gap:6px}.levels button>span{color:#617185;font-size:11px}.levels button strong{font-size:13px;font-weight:600}.levels button small{font-size:9px;color:#7f8ea2}.levels button[aria-pressed=true]{background:linear-gradient(120deg,#1e3839,#1a2933);border-color:#4b8c7e;box-shadow:inset 3px 0 #a6e7d2}.levels button[aria-pressed=true] strong{color:#b9f0df}.level-blurb{font-size:12px;line-height:1.8;color:#8696ab;margin:20px 0}.lesson-chooser{font-size:11px;color:#b0becf;padding-top:20px;border-top:1px solid var(--line)}.lesson-chooser select{font-size:12px;background:#18212f;color:#d9e3ed;border:1px solid #344154;white-space:normal;padding:12px 8px}.studio{background:linear-gradient(145deg,#18212e,#121a25 65%);border:1px solid #2c3848;border-radius:19px;box-shadow:0 20px 65px #0003;padding:30px}.lesson-top{font-size:9px;letter-spacing:1.4px;color:#74889e}.lesson-top .eyebrow{color:#94dfca}h2{font-size:31px;letter-spacing:-1px;margin:17px 0 9px;font-weight:700}.studio>p{font-size:13px;color:#8f9fb2;max-width:680px;line-height:1.8}.steps{gap:7px;margin:25px 0 24px}.steps button{background:#202a38;color:#8e9fb3;font-size:11px;border:1px solid #2c3848;border-radius:8px;padding:11px 7px}.steps button.selected{background:#c0f1e1;border-color:#c0f1e1;color:#143a31;font-weight:700}.coach{min-height:135px;gap:17px}.coach>span{color:#53716e;font-size:28px;font-weight:400}.coach h3{font-size:16px;font-weight:600;color:#e7edf5}.coach p{font-size:13px;color:#a0afc0;line-height:1.9;margin-top:8px;max-width:720px}.demo{background:#0d1520;border:1px solid #283547;border-radius:11px;padding:16px;gap:18px;align-items:center}.demo>div:first-child{min-width:0;max-height:70px;overflow:auto}.demo p{font-family:'DM Sans',sans-serif;color:#7f94aa;font-size:18px;letter-spacing:.4px;line-height:1.8;overflow-wrap:anywhere}.play-controls{flex-shrink:0}.primary{background:#a6e7d2;color:#0c3026;border-color:#a6e7d2;font-weight:700;font-size:12px;padding:12px 17px}.primary:hover{background:#c2f7e6}.play-controls #stop{background:transparent;color:#879bb2;font-size:11px;border-color:#344252}.settings{margin:18px 0;font-size:11px;color:#879ab0}.settings select{background:#1b2635;color:#b8c8d8;font-size:11px;padding:7px;border-color:#354358}input[type=checkbox]{accent-color:#a6e7d2;vertical-align:middle}.piano-guide{border-top:1px solid #2a3544;margin-top:18px;padding-top:6px}.finger-controls{padding:10px 0 14px}.finger-controls>label{font-size:11px;color:#bdccdb}.finger-controls p{font-size:10px;color:#70849b;line-height:1.6}#fingerLegend{gap:6px}#fingerLegend span{font-size:9px;border-radius:5px;padding:4px 7px;opacity:.9}.keyboard-wrap{padding-bottom:4px}.keyboard{height:165px;border:1px solid #485466;padding:5px 5px 0;background:#0b111a;border-radius:9px;min-width:660px;box-shadow:0 12px 22px #0003}.key{background:linear-gradient(#f8f9fa,#edf0f3);border:1px solid #bbc3ca;border-bottom:5px solid #c0c6ce;color:#677584;font-size:10px;padding-bottom:11px}.key.black{background:linear-gradient(100deg,#2d3542,#0c111a 70%);border-color:#050a10;border-bottom-color:#050a10;height:98px;color:#becbd8}.key.shape,.key.finger-colour{background:linear-gradient(#f8f9fa,#edf0f3);box-shadow:none}.key.black.shape,.key.black.finger-colour{background:linear-gradient(100deg,#2d3542,#0c111a 70%)}.key.playing{background:var(--finger,#bac8d7);color:#183130;box-shadow:inset 0 0 0 2px #c4fff1}.key.black.playing{background:var(--finger,#72899e);color:#102b24}.finger-badge{font-size:12px;color:#173d31}.keyboard-caption{color:#697d95;font-size:9px;margin-top:10px}.tip{background:#1c2b32;border:1px solid #2c4549;gap:18px;padding:14px 16px;border-radius:10px}.tip strong{font-size:10px;color:#94cfbd}.tip p{font-size:11px;color:#90a9ad;line-height:1.8}.practice-notes{border-color:#293746;padding-top:15px}.practice-notes summary{color:#91a5bc;font-size:11px}.reflection label{color:#c2cedc}.reflection textarea{background:#101924;color:#dbe7f4;border-color:#344356}.reflection small{color:#71869e}footer{margin-top:22px}footer span{color:#8bbaa9;font-size:11px}.archive-notes{font-size:10px;margin-top:12px;background:transparent}.chord-panel{max-width:1000px;margin-bottom:50px}.chord-library{margin-top:26px}#chordButtons{gap:8px}#chordButtons button{background:#202c3b;border-color:#35465a;color:#b8c9d9;min-width:52px;padding:12px 15px;border-radius:8px}#chordButtons [aria-pressed=true]{background:#b4ecd9;color:#13372c;border-color:#b4ecd9}#chordDetail{color:#b1c4d5;font-size:13px;margin:20px 0}#hearShape{background:#243c3b;border-color:#446c61;color:#bcebdc;padding:11px 15px}.brand::first-letter{color:#a6e7d2}@media(max-width:1000px){header,main{padding-left:25px;padding-right:25px}.layout{grid-template-columns:190px minmax(0,1fr);gap:20px}.studio{padding:23px}.demo{display:block}.play-controls{margin-top:12px}.levels button{grid-template-columns:22px 1fr}.levels small{grid-column:2}}@media(max-width:800px){.layout{grid-template-columns:1fr}.levels{flex-direction:row;margin:14px 0}.levels button{flex:1;padding:12px;grid-template-columns:20px 1fr}.level-blurb{margin:12px 0}.lesson-chooser{padding-top:12px}.intro{padding-top:30px}.intro h1{font-size:33px}.coach{min-height:0;margin-bottom:20px}.main-tabs{margin-bottom:17px}}@media(max-width:500px){header,main{padding-left:17px;padding-right:17px}.brand{font-size:20px}.brand span{font-size:8px}nav button{font-size:10px}.intro h1{font-size:29px}.intro p{font-size:12px}.studio{padding:18px;border-radius:14px}h2{font-size:26px}.steps button{font-size:10px;padding:10px 5px}.coach p{font-size:12px}.levels button{padding:11px 7px;gap:3px}.levels button strong{font-size:12px}.level-blurb{font-size:11px}.tip{display:block}.settings{gap:10px}.keyboard{min-width:620px}}
.finger-badge{display:none}.playing .finger-badge{display:block}
