:root{
  --bg:#070711;
  --panel:#111326;
  --panel2:#191b35;
  --glass:rgba(255,255,255,.08);
  --text:#f7f8ff;
  --muted:#aab0d6;
  --cyan:#39e8ff;
  --pink:#ff3df2;
  --gold:#ffd166;
  --green:#55ff99;
  --bad:#ff5470;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Space Grotesk",system-ui,sans-serif;background:radial-gradient(circle at 20% 10%,rgba(57,232,255,.18),transparent 28%),radial-gradient(circle at 85% 25%,rgba(255,61,242,.16),transparent 30%),radial-gradient(circle at 50% 100%,rgba(255,209,102,.08),transparent 30%),var(--bg);color:var(--text);overflow-x:hidden;touch-action:manipulation}
button,a{font-family:inherit}
.topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(7,7,17,.78);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}
.brand{text-align:center}.brand h1{margin:0;font-size:clamp(1.25rem,4vw,2.15rem);letter-spacing:.02em}.brand p{margin:2px 0 0;color:var(--cyan);font-size:.9rem}
.top-btn,.primary,.secondary{border:0;border-radius:999px;padding:11px 15px;cursor:pointer;font-weight:800;text-decoration:none;white-space:nowrap}
.top-btn{color:#050510;background:linear-gradient(135deg,var(--cyan),#fff)}
.academy-menu-toggle{display:none;border:0;border-radius:16px;padding:10px 12px;background:linear-gradient(135deg,var(--cyan),var(--pink));color:#050510;font-weight:900;cursor:pointer;align-items:center;gap:5px}
.academy-menu-toggle span{display:block;width:22px;height:3px;border-radius:999px;background:#050510}
.academy-menu-toggle b{margin-left:5px}
.academy-menu-heading,.academy-menu-backdrop{display:none}
.shell{width:min(1280px,100%);margin:0 auto;padding:16px}
.hero-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:20px;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045));box-shadow:0 20px 70px rgba(0,0,0,.35);overflow:hidden}
.eyebrow{color:var(--gold);text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;font-weight:800}
.hero-card h2{margin:6px 0;font-size:clamp(1.55rem,5vw,3.1rem);line-height:1}.hero-card p{margin:0;color:var(--muted);max-width:780px;font-size:1.02rem}
.xp-box{display:grid;grid-template-columns:auto auto;gap:6px 12px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px;min-width:150px}.xp-box span{color:var(--muted)}.xp-box strong{color:var(--green);font-size:1.2rem;text-align:right}
.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:16px 0}
.mode-grid button,.lesson-list button,.answers button{border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));color:var(--text);border-radius:16px;padding:14px 10px;cursor:pointer;font-weight:800;box-shadow:0 10px 25px rgba(0,0,0,.18)}
.mode-grid button.active,.lesson-list button.active{outline:2px solid var(--cyan);box-shadow:0 0 28px rgba(57,232,255,.28)}
.workbench{display:grid;grid-template-columns:280px 1fr;gap:16px}
.lesson-list{display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:12px;max-height:660px;overflow:auto}.lesson-list button{text-align:left}
.stage{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:16px;min-width:0}
.stage-top{display:flex;gap:12px;justify-content:space-between;align-items:start;margin-bottom:12px}
.small-label{color:var(--cyan);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.stage h3{margin:2px 0 0;font-size:clamp(1.2rem,4vw,2rem);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.streak{background:rgba(0,0,0,.25);border-radius:999px;padding:10px 14px;white-space:nowrap}
.visual{min-height:260px;border-radius:20px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(transparent 47%,rgba(255,255,255,.08) 48%,rgba(255,255,255,.08) 52%,transparent 53%),rgba(0,0,0,.22);padding:16px;overflow:auto}
.start-logo{font-size:6rem;text-align:center;color:var(--pink);text-shadow:0 0 30px var(--pink)}
.staff-line{height:3px;background:rgba(255,255,255,.75);border-radius:999px}.staff-line.abs{position:absolute;left:150px;right:24px;margin:0}
.clef{position:absolute;left:50px;top:34px;width:78px;text-align:center;font-size:5.6rem;line-height:.95;color:var(--cyan);text-shadow:0 0 20px rgba(57,232,255,.5)}.clef.fixed{top:34px}.clef.time-clef{left:50px;font-size:5.2rem;top:38px}
.staff-board{position:relative;min-height:210px}
.note-dot{position:absolute;width:46px;height:34px;border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 25px rgba(255,209,102,.6)}
.notation-note{position:absolute;left:56%;width:76px;height:104px;color:var(--gold);transform:translateX(-20px);filter:drop-shadow(0 0 14px rgba(255,209,102,.38))}
.notation-note svg{width:100%;height:100%;overflow:visible}
.notation-note.chord{width:42px;height:30px;transform:translateX(-18px);filter:drop-shadow(0 0 8px rgba(255,209,102,.34))}
.note-head{fill:var(--gold);stroke:var(--gold);stroke-width:4}
.note-head.open{fill:rgba(7,7,17,.92);stroke:var(--gold);stroke-width:5}
.note-cutout{fill:var(--gold)}
.note-stem-svg,.note-flag-svg{fill:none;stroke:var(--gold);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.note-letter-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--gold);font-size:.9rem;font-weight:900;text-shadow:0 1px 3px #000}
.ledger-line{position:absolute;width:66px;height:3px;margin-left:-10px;background:rgba(255,255,255,.8);border-radius:999px;pointer-events:none}
.drop-zone{position:absolute;left:56%;width:46px;height:34px;border-radius:50%;border:2px dashed rgba(255,255,255,.35);background:rgba(255,255,255,.05);transform:rotate(-18deg);display:flex;align-items:center;justify-content:center;color:#111;font-weight:900;transition:.15s ease}
.drop-zone.over{border-color:var(--cyan);box-shadow:0 0 18px rgba(57,232,255,.45)}
.drop-zone.filled{background:var(--gold);border-color:var(--gold);box-shadow:0 0 24px rgba(255,209,102,.75)}
.note-tray{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);flex-wrap:wrap}
.note-tray span{color:var(--muted);font-weight:700}
.draggable-note{width:56px;height:42px;border-radius:50%;background:var(--gold);color:#111;display:flex;align-items:center;justify-content:center;font-weight:900;transform:rotate(-18deg);cursor:grab;box-shadow:0 0 25px rgba(255,209,102,.6)}
.play-note-btn{border:0;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;background:linear-gradient(135deg,var(--cyan),var(--pink));color:#050510;box-shadow:0 0 18px rgba(57,232,255,.25)}
.staff-score{margin-left:auto;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 13px;background:rgba(0,0,0,.24);color:var(--green);font-weight:900}
.staff-prompt{position:absolute;right:14px;top:8px;max-width:280px;color:var(--muted);font-size:.95rem;text-align:right}
.key-signature-card{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px}
.key-count{font-size:clamp(1.5rem,4vw,2.4rem);font-weight:900;color:var(--gold)}
.key-question{font-size:1.15rem;color:var(--muted);font-weight:800}
.key-summary{position:absolute;left:112px;top:42px;padding:8px 14px;border-radius:999px;background:rgba(255,209,102,.16);border:1px solid rgba(255,209,102,.35);color:var(--gold);font-weight:900}
.grand-board{position:relative;min-height:420px}.top-staff{margin-bottom:42px}.bottom-staff{margin-top:28px}.mid-guide{position:absolute;left:0;right:0;top:198px;text-align:center;color:var(--cyan);font-weight:800;font-size:.92rem}
.time-board{min-height:220px}
.time-board .staff-line.abs{left:150px}
.time-note{width:58px;height:82px;transform:translateX(-14px);filter:drop-shadow(0 0 10px rgba(255,209,102,.34))}
.bar-line{position:absolute;top:44px;bottom:42px;width:3px;background:rgba(255,255,255,.75)}
.help-btn{border:0;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--pink));color:#050510;font-weight:900;cursor:pointer;box-shadow:0 0 20px rgba(57,232,255,.35)}
.help-modal{text-align:left;position:relative;width:min(960px,100%);scroll-behavior:smooth}.help-modal h2{margin:0 45px 18px;text-align:center}.help-modal p,.help-modal li{color:var(--muted);line-height:1.7}.help-modal h3{color:var(--cyan);font-size:1.25rem;margin:0 0 10px}.help-close{position:sticky;float:right;top:0;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--pink));color:#050510;font-size:1.7rem;font-weight:900;cursor:pointer}.help-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px;padding:16px;border-radius:18px;background:rgba(57,232,255,.08);border:1px solid rgba(57,232,255,.22)}.help-toc b{grid-column:1/-1;color:var(--gold)}.help-toc a{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.07)}.help-toc a:focus,.help-toc a:hover{outline:2px solid var(--cyan)}.help-section{scroll-margin-top:20px;padding:18px;margin:12px 0;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}.help-callout{padding:14px;border-left:4px solid var(--green);border-radius:8px;background:rgba(85,255,153,.08);color:var(--text)}.help-callout.warning{border-color:var(--gold);background:rgba(255,209,102,.08)}.help-table-wrap{overflow:auto;margin-top:12px}.help-table-wrap table{width:100%;min-width:760px;border-collapse:collapse}.help-table-wrap th,.help-table-wrap td{padding:10px;border:1px solid rgba(255,255,255,.15);text-align:left;vertical-align:top}.help-table-wrap th{color:var(--gold);background:rgba(255,209,102,.08)}.help-table-wrap td{color:var(--muted)}
.piano{display:flex;align-items:flex-start;min-width:max-content;padding-bottom:10px}.key{position:relative;width:54px;height:210px;background:#fff;color:#111;border:1px solid #111;border-radius:0 0 8px 8px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;font-weight:900;cursor:pointer;user-select:none}.key.black{width:34px;height:128px;margin-left:-17px;margin-right:-17px;background:#111;color:white;z-index:2;border-color:#333;box-shadow:0 8px 20px rgba(0,0,0,.5)}
.piano-studio{min-width:0}.studio-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:14px}.studio-toolbar .song-picker{margin:0}.studio-piano-scroll{overflow:auto;margin-top:16px;padding:12px;border-radius:18px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.12)}.studio-piano .key{width:42px;height:230px}.studio-piano .key.black{width:28px;height:142px;margin-left:-14px;margin-right:-14px}.studio-status{margin-top:12px;padding:12px;border-radius:14px;background:rgba(57,232,255,.08);color:var(--cyan);font-weight:900}
.studio-toolbar button{border:0;border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.13);color:white;font-weight:900;cursor:pointer}.studio-toolbar button.recording{background:linear-gradient(135deg,var(--bad),var(--pink));color:white;box-shadow:0 0 22px rgba(255,84,112,.45)}
.daw-effects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.daw-effects label{padding:12px;border-radius:14px;background:rgba(255,255,255,.06);color:var(--cyan)}.daw-effects input{width:100%;margin-top:10px}.daw-timeline{position:relative;height:120px;overflow:hidden;margin:14px 0;border-radius:16px;border:1px solid rgba(255,255,255,.13);background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 10%)}.daw-timeline span{display:block;padding:16px;color:var(--muted)}.daw-timeline i{position:absolute;bottom:12px;width:8px;min-height:18px;border-radius:999px;background:linear-gradient(var(--cyan),var(--pink));box-shadow:0 0 12px rgba(57,232,255,.4)}
.daw-arranger{position:relative;display:flex;flex-direction:column;gap:10px;margin:14px 0;padding:42px 10px 10px;border-radius:18px;background:#080914;border:1px solid rgba(255,255,255,.14);overflow:auto}.daw-ruler{position:absolute;top:0;left:270px;right:10px;height:32px;display:flex;justify-content:space-between;padding:7px;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.14)}.daw-playhead{position:absolute;top:0;bottom:-1000px;left:0;width:2px;background:var(--bad);box-shadow:0 0 10px var(--bad);z-index:4}.daw-track{display:grid;grid-template-columns:260px minmax(700px,1fr);min-height:180px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);cursor:pointer}.daw-track.active-track{border-color:var(--cyan);box-shadow:0 0 18px rgba(57,232,255,.2)}.daw-track-head{padding:12px;background:#171932;border-right:1px solid rgba(255,255,255,.12)}.track-title-row{display:flex;align-items:center;gap:6px}.track-title-row b{margin-right:auto}.track-title-row button{width:28px;height:25px;border:0;border-radius:6px;background:rgba(255,255,255,.12);color:white;font-weight:900;cursor:pointer}.track-title-row button.active{background:var(--gold);color:#111}.daw-track-head b,.daw-track-head small{display:block}.daw-track-head small{color:var(--muted);margin:5px 0 12px}.active-track .daw-track-head small{color:var(--green)}.track-mixer{display:grid;gap:7px}.track-mixer label{display:grid;grid-template-columns:65px 1fr;gap:6px;align-items:center;color:var(--muted);font-size:.72rem}.track-mixer select,.track-mixer input{width:100%;min-width:0;background:#090a16;color:white;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:5px}.piano-roll{position:relative;min-height:180px;touch-action:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 8px),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,transparent 1px,transparent 10%)}.piano-roll i{position:absolute;height:9px;min-width:9px;border-radius:3px;background:var(--green);box-shadow:0 0 7px rgba(85,255,153,.5);cursor:grab;touch-action:none}.piano-roll i u{position:absolute;right:-2px;top:0;width:8px;height:100%;cursor:ew-resize;background:rgba(255,255,255,.55);border-radius:3px}.piano-roll span{display:block;padding:18px;color:var(--muted)}.audio-waveform{display:block;width:100%;height:180px;background:#090a16}.empty-track{min-height:80px}
.key.good,.fret.good{background:var(--green)!important;color:#06100a}.key.bad,.fret.bad{background:var(--bad)!important;color:white}
.song-staff{margin-bottom:16px}.song-title{color:var(--gold);font-weight:900;margin:4px 0 8px}.song-board{min-height:205px;overflow:hidden}.song-progress{margin-top:8px;color:var(--cyan);font-weight:900}.current-song-note{color:var(--green);filter:drop-shadow(0 0 22px rgba(85,255,153,.9));transform:translateX(-20px) scale(1.16)}
.current-song-note .note-head{fill:var(--green);stroke:var(--green)}.current-song-note .note-stem-svg,.current-song-note .note-flag-svg{stroke:var(--green)}
.guitar-wrap{min-width:980px;padding:18px 8px}.tuning-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tuning-row button{border:0;border-radius:999px;padding:9px 12px;font-weight:800;cursor:pointer;background:rgba(255,255,255,.13);color:white}
.chord-tuning-label{padding:9px 12px;border-radius:999px;background:rgba(57,232,255,.12);border:1px solid rgba(57,232,255,.3);color:var(--cyan);font-weight:900}
.string-row{display:grid;grid-template-columns:55px repeat(13,70px);align-items:center;min-height:46px}.string-name{color:var(--gold);font-weight:900}.fret{height:38px;border-left:3px solid rgba(255,255,255,.22);border-bottom:2px solid rgba(255,255,255,.36);display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:800;background:linear-gradient(90deg,rgba(116,65,35,.25),rgba(255,255,255,.03))}
.tab-box{font-family:monospace;white-space:pre;background:#05050b;border-radius:16px;border:1px solid rgba(255,255,255,.12);padding:18px;color:var(--green);font-size:1.05rem;overflow:auto}
.tab-lesson{margin-bottom:16px}.tab-position{font-size:1.35rem;line-height:1.45;color:var(--gold);text-align:left;max-width:520px;margin:0 auto}.tab-lesson p{text-align:center;color:var(--muted);font-weight:800}
.guitar-sheet-prompt{max-width:760px;margin:0 auto 18px;padding:12px;border-radius:18px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12)}.guitar-sheet-prompt .staff-board{min-height:205px}.guitar-sheet-prompt p{text-align:center;color:var(--muted);font-weight:800;margin:4px 0}
.answers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.answers button{font-size:1.05rem;min-height:58px}
.feedback{min-height:32px;margin-top:12px;color:var(--muted);font-weight:800}
.overlay{position:fixed;inset:0;z-index:30;display:flex;justify-content:center;align-items:center;padding:16px;background:rgba(0,0,0,.86)}.hidden{display:none}
.modal{width:min(620px,100%);max-height:92vh;overflow:auto;border-radius:28px;padding:28px;background:linear-gradient(145deg,#171932,#090a16);border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 100px rgba(0,0,0,.6);text-align:center}.modal.big h2{font-size:clamp(2rem,8vw,4rem);margin:0}.music-mark{font-size:5rem;color:var(--cyan);text-shadow:0 0 35px var(--cyan)}
.primary{background:linear-gradient(135deg,var(--cyan),var(--pink));color:#050510;margin:6px}.secondary{display:inline-block;background:rgba(255,255,255,.12);color:white;margin:6px}
.control-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;align-items:center}.control-row button,.submit-btn{border:0;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;background:rgba(255,255,255,.14);color:white}.active-pill,.submit-btn{background:linear-gradient(135deg,var(--cyan),var(--pink))!important;color:#060612!important}
.song-picker{position:relative;margin-bottom:14px}.song-picker-button{width:min(620px,100%);min-height:64px;border:1px solid rgba(57,232,255,.4);border-radius:20px;padding:14px 20px;background:linear-gradient(135deg,rgba(57,232,255,.22),rgba(255,61,242,.18));color:white;font-size:1.2rem;font-weight:900;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.song-picker-menu{position:absolute;z-index:12;top:70px;left:0;width:min(620px,100%);max-height:360px;overflow:auto;padding:10px;border-radius:20px;background:#171932;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 70px rgba(0,0,0,.6)}.song-picker-menu button{width:100%;border:0;border-radius:12px;padding:13px 14px;margin:3px 0;background:rgba(255,255,255,.07);color:white;text-align:left;font-weight:800;cursor:pointer}.song-picker-menu button.active,.song-picker-menu button:hover{background:linear-gradient(135deg,var(--cyan),var(--pink));color:#050510}
.dual-picker-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.centered-pickers{grid-template-columns:repeat(3,minmax(220px,320px));justify-content:center;max-width:1040px;margin:0 auto 18px}.chord-search-picker .song-picker-button{width:100%;font-size:1rem;min-height:58px}.chord-search-picker .song-picker-menu{width:100%}.chord-search-lesson{max-width:1040px;margin:0 auto 18px}.chord-search-lesson p{margin:8px 0 0}.chord-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.chord-family-card{padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.chord-family-card b{display:block;color:var(--gold);margin-bottom:6px}.chord-family-card p{margin:0;color:var(--muted)}.chord-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chord-chip{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:var(--muted);font-weight:800}.chord-chip.active{background:rgba(255,209,102,.18);border-color:rgba(255,209,102,.42);color:var(--gold)}
.circle-tutorial-card,.circle-reference-card{max-width:1100px;margin:0 auto}.circle-ring{position:relative;width:min(560px,92vw);height:min(560px,92vw);margin:22px auto 10px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at center,rgba(57,232,255,.12),rgba(255,255,255,.03) 42%,transparent 43%),radial-gradient(circle at center,transparent 56%,rgba(255,255,255,.08) 57%,transparent 58%)}.circle-stop{position:absolute;left:50%;top:50%;width:120px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-220px) rotate(calc(var(--angle) * -1));text-align:center;padding:10px 8px;border-radius:16px;background:rgba(17,19,38,.92);border:1px solid rgba(255,255,255,.12)}.circle-stop b{display:block;color:var(--gold);font-size:1.05rem}.circle-stop small{display:block;color:var(--muted);margin-top:4px;line-height:1.3}.circle-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:220px;height:220px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:rgba(17,19,38,.96);border:1px solid rgba(57,232,255,.25);box-shadow:0 0 30px rgba(57,232,255,.16)}.circle-center b{color:var(--cyan);margin-top:6px}.circle-center p{margin:4px 0;color:var(--muted)}.circle-pickers{grid-template-columns:repeat(2,minmax(240px,340px))}.circle-chord-detail{margin-top:10px}.reference-piano-wrap{overflow:auto;padding-bottom:8px}.reference-piano{justify-content:flex-start}.reference-selected{box-shadow:0 0 24px rgba(255,209,102,.7)}
.circle-staff-card{margin-top:14px}.circle-chord-staff{margin-top:10px}.circle-chord-staff .staff-board{min-height:210px}.circle-staff-notes{margin:12px 0 0;color:var(--muted)}
.theory-lesson{max-width:1120px;margin:0 auto}.theory-hero{display:grid;grid-template-columns:1.3fr .9fr;gap:14px;align-items:stretch}.theory-intro{padding:18px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.theory-intro h3{margin:0 0 10px;color:var(--gold)}.theory-intro p{margin:0;color:var(--muted);line-height:1.75}.theory-side{display:grid;gap:12px}.theory-pill{padding:14px;border-radius:16px;background:rgba(57,232,255,.08);border:1px solid rgba(57,232,255,.18)}.theory-pill b{display:block;color:var(--cyan);margin-bottom:6px}.theory-pill p{margin:0;color:var(--muted)}.theory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.theory-card{padding:16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.theory-card h4{margin:0 0 8px;color:var(--gold)}.theory-card p,.theory-card li{color:var(--muted);line-height:1.7}.theory-card ul,.theory-card ol{margin:8px 0 0 18px}.theory-callout{margin-top:14px;padding:16px;border-radius:16px;background:rgba(255,209,102,.08);border:1px solid rgba(255,209,102,.22)}.theory-callout b{display:block;color:var(--gold);margin-bottom:6px}.theory-callout p{margin:0;color:var(--muted);line-height:1.7}
.notation-studio{max-width:1180px;margin:0 auto}.notation-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.notation-field{display:flex;flex-direction:column;gap:6px}.notation-field label{font-size:.82rem;font-weight:800;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em}.notation-field input,.notation-field select,.notation-field textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.06);color:var(--text);font:inherit}.notation-toolbar .wide{grid-column:span 2}.notation-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.notation-actions button,.notation-actions label{border:0;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;background:rgba(255,255,255,.14);color:white;display:inline-flex;align-items:center;gap:8px}.notation-actions label input{display:none}.notation-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);gap:16px}.notation-score{padding:18px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);overflow:auto}.notation-panel{padding:18px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11)}.notation-panel h4,.notation-score h4{margin:0 0 10px;color:var(--gold)}.notation-measure-list{display:flex;flex-direction:column;gap:12px}.notation-measure-card{padding:14px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1)}.notation-note-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-top:10px}.notation-note-row button{border:0;border-radius:12px;padding:10px 12px;font-weight:900;background:rgba(255,84,112,.18);color:#ffd7df;cursor:pointer}.notation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 14px}.notation-summary .theory-pill{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.score-svg-wrap{overflow:auto;padding-bottom:8px}.score-svg{min-width:980px;width:100%;height:auto;display:block}.notation-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:8px}.notation-meta h2{margin:0;color:var(--text);font-size:2rem}.notation-meta p{margin:4px 0 0;color:var(--muted)}.notation-mini-help{margin-top:14px;color:var(--muted);line-height:1.7}
.guitar-song-strip{margin:8px 0 14px}.moving-tab{overflow:hidden;margin:8px 0 16px;padding:16px;border-radius:18px;background:#05050b;border:1px solid rgba(255,255,255,.14);font-family:monospace}.moving-tab-row{display:grid;grid-template-columns:34px repeat(9,minmax(42px,1fr));align-items:center;gap:5px;margin:5px 0}.moving-tab-row b{color:var(--gold)}.moving-tab-row span{min-height:34px;border-bottom:2px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:900}.moving-tab-row span.active{border-radius:10px;background:var(--green);color:#06100a;box-shadow:0 0 20px rgba(85,255,153,.65)}
.rhythm-teacher{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;margin-top:14px;padding:14px;border-radius:18px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.13)}
.rhythm-teacher b{display:block;color:var(--gold);font-size:1.05rem}.rhythm-teacher small{display:block;color:var(--muted);margin-top:3px}.rhythm-teacher button{border:0;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;background:linear-gradient(135deg,var(--cyan),var(--pink));color:#050510}
.beat-strip{display:flex;gap:6px;align-items:center}.beat-strip span{min-width:36px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);color:var(--muted);font-weight:900;background:rgba(255,255,255,.06)}.beat-strip span.active{background:rgba(255,209,102,.22);color:var(--gold);border-color:rgba(255,209,102,.5)}
.learner-card{max-width:1080px;margin:0 auto}.learner-stage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:14px;align-items:start}.learner-preview .staff-board{min-height:220px}.linked-note-wrap{position:absolute;width:140px;height:120px}.linked-note-wrap.large{width:170px}.notation-figure{display:flex;align-items:center;justify-content:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.notation-figure svg{width:120px;height:auto}.dictionary-menu{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.dictionary-menu button{border:0;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;background:rgba(255,255,255,.12);color:white}.chord-learner-board{margin-bottom:14px}.note-letter-label{font-size:.9rem}
.key.selected,.fret.selected{background:var(--gold)!important;color:#111!important;box-shadow:0 0 24px rgba(255,209,102,.65)}
.mini-staff-wrap{margin-bottom:14px}.lesson-card,.chord-card{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px;margin-bottom:14px}.lesson-card h3,.chord-card h4{margin:0 0 10px;color:var(--cyan)}
.chord-card{text-align:center}.chord-card h4{font-size:1.7rem}.chord-diagram{width:230px;margin:12px auto 18px;color:var(--text)}.chord-open-row{display:grid;grid-template-columns:repeat(6,1fr);padding:0 2px 5px;font-size:1.35rem;font-weight:900}.chord-open-row span{min-height:25px}.chord-base-fret{margin:0 0 6px;text-align:left;color:var(--muted);font-size:.9rem;font-weight:800}.chord-box{border:4px solid rgba(255,255,255,.85);border-bottom-width:2px;background:rgba(255,255,255,.02)}.chord-fret-row{display:grid;grid-template-columns:repeat(6,1fr);height:46px;border-bottom:2px solid rgba(255,255,255,.65)}.chord-fret-row span{position:relative;border-right:2px solid rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center}.chord-fret-row span:last-child{border-right:0}.chord-fret-row i{display:block;width:22px;height:22px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px rgba(255,209,102,.5)}
@media(max-width:1100px){
  .academy-menu-toggle{display:flex;flex-direction:column}
  .academy-menu-toggle b{display:none}
  .mode-grid{position:fixed;z-index:42;top:0;right:0;width:min(390px,88vw);height:100dvh;margin:0;padding:18px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(160deg,#171932,#080914);border-left:1px solid rgba(255,255,255,.18);box-shadow:-24px 0 70px rgba(0,0,0,.65);overflow:auto;transform:translateX(105%);transition:transform .22s ease}
  .mode-grid.open{transform:translateX(0)}
  .mode-grid button{flex:0 0 auto;text-align:left;min-height:54px;padding:15px}
  .academy-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--cyan);font-size:1.2rem}
  .academy-menu-heading button{min-height:42px!important;width:42px;padding:0!important;border-radius:50%!important;text-align:center!important;font-size:1.7rem}
  .academy-menu-backdrop{position:fixed;z-index:41;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}
  .academy-menu-backdrop.open{display:block}
  body.academy-menu-open{overflow:hidden}
  .workbench{grid-template-columns:1fr}.lesson-list{max-height:none}
}
@media(max-width:720px){.topbar{padding:10px;gap:8px}.top-btn{padding:9px 11px;font-size:.78rem}.brand{width:auto}.brand h1{font-size:1.25rem}.shell{padding:10px}.hero-card{grid-template-columns:1fr;padding:15px}.hero-card h2{font-size:1.65rem}.answers{grid-template-columns:repeat(2,1fr)}.stage{padding:11px}.stage-top{flex-direction:column}.visual{min-height:220px;padding:10px}.staff-line.abs{left:120px;right:8px}.clef{left:36px}.notation-note{left:58%}.staff-prompt{position:static;max-width:none;text-align:left;margin:0 0 12px 60px}.string-row{grid-template-columns:45px repeat(13,60px)}.key-summary{left:96px;top:34px}.rhythm-teacher{grid-template-columns:1fr}.beat-strip{flex-wrap:wrap}.help-toc{grid-template-columns:1fr}.help-modal{padding:18px}.help-section{padding:14px}.dual-picker-row,.centered-pickers,.chord-family-grid,.circle-pickers,.theory-grid,.theory-hero,.notation-layout,.notation-toolbar,.notation-summary,.notation-note-row,.learner-stage,.studio-toolbar,.daw-effects{grid-template-columns:1fr}.circle-ring{width:min(360px,92vw);height:min(360px,92vw)}.circle-stop{width:92px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-138px) rotate(calc(var(--angle) * -1))}.circle-stop small{display:none}.circle-center{width:150px;height:150px;font-size:.9rem}.notation-toolbar .wide{grid-column:auto}.notation-meta{flex-direction:column;align-items:flex-start}}
.wind-note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:16px}
.drum-pad-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.drum-pad{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:88px}
.drum-pad b{font-size:1.2rem}
.drum-pad small{color:var(--muted)}
.drum-strip .beat-pill small{display:block;font-size:.72rem;color:var(--muted);margin-top:4px}
