:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#0c101b;color:#f2f5ff}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{max-width:1500px;margin:auto;padding:22px 30px}.topbar{justify-content:space-between;padding-bottom:26px;border-bottom:1px solid #232d42}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px}.brand-mark{display:grid;place-items:center;background:#3c6ef7;border-radius:13px;width:44px;height:44px;font-size:30px}.brand strong{display:block;font-size:23px;letter-spacing:-.6px}.brand small{display:block;font-size:12px;color:#9eaaca;margin-top:4px}.phase{font-size:10px;letter-spacing:2px;color:#8ca2dc;background:#172543;padding:10px 13px;border:1px solid #293c6b;border-radius:20px}.intro{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:37px 0 32px}.eyebrow{margin:0;color:#88aaff;font-size:11px;font-weight:750;letter-spacing:1.8px}.intro h1{font-size:clamp(29px,4vw,48px);margin:10px 0}.intro p:not(.eyebrow){color:#a1acc2;margin:0;line-height:1.6}.help-pill{background:#182039;border:1px solid #2c3958;color:#adbfe4;padding:11px 15px;border-radius:30px;font-size:12px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(235px,300px) minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.library,.player-panel{background:#141b2b;border:1px solid #273248;border-radius:17px}.library{padding:16px}.panel-title{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#a1afcc;display:flex;justify-content:space-between;align-items:center;margin:8px 4px 16px}.panel-title span{font-size:11px;letter-spacing:0;color:#7382a2;font-weight:400}.song-card{width:100%;border:1px solid transparent;background:transparent;color:#dbe2f2;border-radius:12px;text-align:left;display:flex;gap:12px;padding:15px 9px;align-items:center;margin-bottom:7px}.song-card.selected{border-color:#436ee2;background:#1b2b56}.song-number{background:#273149;border-radius:9px;padding:9px;color:#a3b6e0;font-size:12px}.song-card small,.song-card strong{display:block}.song-card strong{font-size:13px;margin-bottom:6px}.song-card small{font-size:11px;line-height:1.4;color:#8d9bb7}.song-bpm{white-space:nowrap;font-size:10px;margin-left:auto;color:#8093b8}.library-note{margin-top:26px;border-top:1px solid #28334b;padding:21px 10px 8px}.library-note strong{font-size:12px;color:#a5bcf7}.library-note p{color:#8f9bb4;font-size:12px;line-height:1.65;margin-bottom:0}.player-panel{padding:22px;min-width:0}.player-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.player-heading h2{margin:7px 0 17px;font-size:24px}.song-duration{font-size:12px;color:#9aa8c7}.legend{gap:18px;color:#a3afc5;font-size:12px;margin-bottom:13px}.legend,.legend span{display:flex;align-items:center}.legend span{gap:7px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-dot.left{background:#619aff}.legend-dot.right{background:#72d68e}.legend .small-note{margin-left:auto;font-size:11px;color:#6f7e9b}.piano-stage{border:1px solid #31405c;background:#101725;border-radius:10px;overflow:hidden}.roll{height:345px;position:relative;overflow:hidden;background:linear-gradient(180deg,#0b1322,#18233a)}.lane{top:0;bottom:0;border-left:1px solid #ffffff10}.fall-note,.lane{position:absolute}.fall-note{width:3.9%;border-radius:4px 4px 2px 2px;box-shadow:0 0 12px #ffffff17;z-index:2}.fall-note.left{background:linear-gradient(90deg,#4579ed,#7bb9fb);border:1px solid #9ac6ff}.fall-note.right{background:linear-gradient(90deg,#368857,#76e39d);border:1px solid #a3ffbd}.hit-line{position:absolute;bottom:0;left:0;right:0;height:3px;background:#c6aafa;box-shadow:0 0 12px #bca6ff}.piano-keys{height:107px;position:relative;background:#080a10}.white-key{position:absolute;top:0;height:100%;background:linear-gradient(#fff,#d1d6e1);border:1px solid #777c90;border-bottom:6px solid #a1a7b6;border-radius:0 0 5px 5px;color:#465066;text-align:center;padding-top:75px;font-size:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.white-key.active{background:linear-gradient(#a5c7ff,#5f93ff)}.black-key{position:absolute;top:0;height:63%;background:linear-gradient(#303c50,#05070d);border:1px solid #5c6576;border-radius:0 0 4px 4px;z-index:3;box-shadow:1px 2px 4px #0008}.black-key.active{background:linear-gradient(#9ebaf9,#3155a5)}.progress{height:5px;border-radius:5px;background:#2a3348;margin:20px 0 17px;overflow:hidden}.progress div{height:100%;background:#6992ff;transition:width .07s linear}.transport{justify-content:space-between;gap:20px}.transport,.transport-buttons{display:flex;align-items:center}.transport-buttons{gap:10px}.transport-buttons button{background:#232f49;border:1px solid #35445f;color:white;width:40px;height:40px;border-radius:10px;font-size:18px}.transport-buttons .play-button{background:#5278fa;border:none;width:52px;height:48px;font-size:23px}.tempo{display:flex;gap:12px;align-items:center;color:#9caac6;font-size:12px}.tempo input{width:115px;accent-color:#678dff}.tempo strong{min-width:39px;color:#d8e3ff}.player-footer{display:flex;justify-content:space-between;color:#7c8aa4;font-size:11px;margin-top:20px;gap:10px}.footer{font-size:11px;color:#687796;text-align:center;padding:30px 0}@media(max-width:820px){.app-shell{padding:14px}.workspace{grid-template-columns:1fr}.intro{padding:24px 0}.help-pill{display:none}.library{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.library-note,.panel-title{grid-column:1/-1}.song-card{padding:10px 6px;align-items:start}.song-bpm,.song-number{display:none}.player-panel{padding:13px}.roll{height:280px}}@media(max-width:480px){.intro h1{font-size:30px}.phase{letter-spacing:0;font-size:9px}.library{grid-template-columns:repeat(3,minmax(0,1fr))}.song-card strong{font-size:12px}.song-card small{font-size:10px}.legend .small-note{display:none}.roll{height:250px}.piano-keys{height:83px}.white-key{padding-top:60px}.transport{flex-wrap:wrap;justify-content:center}.player-heading h2{font-size:20px}.player-footer{font-size:10px}}.microphone-panel{margin-top:22px;padding:19px;background:#101a30;border:1px solid #35496e;border-radius:12px}.mic-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.mic-top h3{font-size:20px;margin:7px 0 0}.mic-status{font-size:11px;color:#9baac8;white-space:nowrap}.mic-status.listening{color:#70e4a9}.mic-status.error{color:#ffac9c}.mic-message{color:#9eaeca;font-size:12px;line-height:1.5}.mic-readout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:17px 0}.mic-readout>div{padding:13px 9px;border-radius:9px;background:#1d2a42;min-width:0}.mic-readout span{display:block;color:#91a3c4;font-size:10px;margin-bottom:8px}.mic-readout strong{display:block;font-size:clamp(13px,1.8vw,22px);color:#e9f2ff;overflow-wrap:anywhere}.mic-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.mic-toggle{border:none;border-radius:9px;background:#4f7cee;color:#fff;font-size:13px;font-weight:700;padding:12px 15px}.mic-toggle:disabled{opacity:.5}.mic-actions label{font-size:11px;color:#a4b2d0}.mic-actions select{background:#23314b;color:#e9efff;border:1px solid #45618c;border-radius:6px;padding:7px;margin-left:7px}.mic-footnote{font-size:11px;color:#7e91b0;line-height:1.5;margin-bottom:0}.mic-warning{background:#422e22;color:#ffd49e;border-radius:7px;padding:9px;font-size:12px}.white-key.mic-active{background:linear-gradient(#b8ffc7,#43bd81)!important}.black-key.mic-active{background:linear-gradient(#90f7be,#238a61)!important}@media(max-width:520px){.mic-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.mic-actions{flex-wrap:wrap}.mic-top h3{font-size:17px}}.score-result{margin-top:17px;border:1px solid #36547a;border-radius:11px;background:#172641;padding:18px}.score-head{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid #354a69;padding-bottom:14px}.score-head strong{font-size:35px;color:#96d7b6}.score-head span{font-size:12px;color:#afbdd6}.score-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;padding-top:15px}.score-metrics>div{font-size:10px;color:#a4b5d0}.score-metrics strong{display:block;font-size:18px;color:#f0f6ff;margin-top:7px}@media(max-width:560px){.score-metrics{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}}.import-panel{padding:15px 9px;border-top:1px solid #2b3952;margin-top:15px}.import-panel h3{font-size:16px;margin:9px 0}.import-panel .mic-toggle{margin-top:5px}.section-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;border:1px solid #34425b;border-radius:10px;padding:11px;background:#172239}.section-controls label{font-size:11px;color:#a4b3d0;display:flex;align-items:center;gap:7px}.section-controls input[type=number]{background:#25324e;color:#e8efff;border:1px solid #495c82;border-radius:6px;width:67px;padding:7px}.section-controls input[type=checkbox]{accent-color:#7398ff}.range-reset{background:#293a5b;color:#dfe8ff;border:1px solid #405781;border-radius:7px;padding:7px 12px;font-size:11px}.keyboard-mode{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:0 0 12px;font-size:12px;color:#a5b7d9}.keyboard-mode label{display:flex;align-items:center;gap:9px}.keyboard-mode select{background:#25334f;color:#f1f5ff;border:1px solid #4b6388;border-radius:7px;padding:7px 11px}.sheet-panel{background:#f8faff;color:#17243a;border-radius:11px;margin-bottom:15px;overflow:hidden;border:1px solid #5f7295}.sheet-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px;padding:10px 14px;background:#eaf0fc;font-size:12px}.sheet-heading span{font-size:10px;color:#66718a}.sheet-scroll{overflow:auto;max-width:100%;scrollbar-width:thin}.sheet-scroll svg{display:block}@media(max-width:700px){.sheet-panel .sheet-heading{font-size:11px}.sheet-scroll svg{height:auto;max-height:none}.piano-keys{min-height:83px}}.scan-panel{border-top:1px solid #32405d;margin-top:16px;padding:17px 9px}.scan-panel h3{font-size:16px;margin:8px 0}.scan-preview{margin:15px 0;background:#172138;border-radius:9px;padding:10px}.scan-preview p{color:#acbcda;font-size:12px;word-break:break-all}.scan-preview img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;background:white}.scan-fields{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.scan-fields label{font-size:11px;display:flex;flex-direction:column;color:#a8b8d5;gap:5px;flex:1 1;min-width:75px}.scan-fields input{background:#22314e;border:1px solid #465b7e;color:white;border-radius:6px;padding:8px;width:100%}.scan-actions{display:flex;gap:7px;flex-wrap:wrap}.scan-xml{font-size:11px;color:#a6b6d2;margin-top:18px}.scan-xml input{display:block;margin-top:8px;max-width:100%}.sheet-notice{padding:8px 13px 11px;margin:0;font-size:11px;color:#59667c;background:#eef3fb}.sheet-scroll svg{min-width:620px}.sheet-scroll{overflow-x:auto;overflow-y:hidden}.playback-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:#141b2b;padding:10px 8px 12px;margin:0 0 12px;border-bottom:1px solid #344665;border-radius:0 0 10px 10px;box-shadow:0 5px 16px #0b12243b;isolation:isolate}.playback-sticky .transport{width:100%}@media(max-width:600px){.playback-sticky{padding:7px 5px 8px;margin-bottom:9px}.playback-sticky .transport{gap:6px;flex-wrap:nowrap;justify-content:space-between}.playback-sticky .transport-buttons{gap:5px}.playback-sticky .transport-buttons button{width:34px;height:36px;font-size:17px}.playback-sticky .transport-buttons .play-button{width:44px;height:40px;font-size:20px}.playback-sticky .tempo{gap:5px;font-size:11px;min-width:0}.playback-sticky .tempo input{width:clamp(65px,21vw,120px);min-width:0}.playback-sticky .tempo strong{min-width:34px;font-size:12px}}.library-tools{grid-column:1/-1;min-width:0;display:grid;grid-gap:9px;gap:9px;margin-top:10px}.library-tool{border:1px solid #344562;border-radius:11px;background:#1a2740;min-width:0;overflow:hidden}.library-tool>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;font-size:13px;font-weight:650;color:#dfe8ff}.library-tool>summary::-webkit-details-marker{display:none}.library-tool>summary span{font-size:22px;line-height:1;color:#7fa1ff}.library-tool[open]>summary span{transform:rotate(45deg)}.library-tool .import-panel,.library-tool .scan-panel{margin:0;padding:15px;border-top:1px solid #344562}.library-tool .mic-footnote,.library-tool .mic-message{line-height:1.55;overflow-wrap:anywhere}.library-tool .mic-toggle{max-width:100%}@media(max-width:820px){.app-shell{padding:12px 12px 30px;width:100%;max-width:100%;overflow:clip}.topbar{padding-bottom:12px;gap:8px}.brand strong{font-size:20px}.brand small{font-size:11px}.phase{font-size:9px;padding:7px 9px;white-space:nowrap}.intro{padding:17px 0 20px}.intro h1{font-size:clamp(24px,6vw,34px);margin:7px 0}.intro p:not(.eyebrow){font-size:13px;line-height:1.45}.workspace{grid-template-columns:minmax(0,1fr);gap:12px}.library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px;padding:13px}.library .panel-title{grid-column:1/-1;margin:0 1px 5px;font-size:11px}.song-card{margin:0;min-width:0;min-height:70px;padding:11px;gap:8px;border:1px solid #293855;background:#18233a;align-items:center}.song-card.selected{border-color:#648cff;background:#25385f}.song-bpm,.song-number{display:none}.song-card strong{font-size:13px;margin-bottom:3px;overflow-wrap:anywhere}.song-card small{font-size:11px;line-height:1.3}.player-panel{min-width:0;padding:12px}.player-heading{align-items:start;flex-wrap:wrap}.player-heading h2{margin:5px 0 10px;font-size:20px;overflow-wrap:anywhere}.song-duration{padding-top:5px}.section-controls{gap:9px;padding:10px;margin-bottom:12px}.section-controls label{font-size:11px}.keyboard-mode{font-size:11px;gap:8px}.playback-sticky{top:0}.sheet-panel{width:100%}.sheet-scroll{touch-action:pan-x pan-y}.legend{font-size:11px}.scan-fields label{min-width:85px}.scan-preview object{max-width:100%}}@media(max-width:420px){.app-shell{padding:9px 9px 24px}.library{padding:10px;gap:7px}.song-card{padding:9px;min-height:66px}.song-card strong{font-size:12px}.song-card small{font-size:10px}.player-panel{padding:10px}.section-controls{gap:7px}.section-controls input[type=number]{width:58px}.playback-sticky .transport{gap:4px}.playback-sticky .tempo input{width:clamp(58px,20vw,90px)}.playback-sticky .tempo strong{min-width:32px}.sheet-heading{padding:8px 10px}.scan-actions{gap:5px}}.playback-sticky .transport{flex-wrap:wrap;row-gap:9px}.instrument-picker{display:flex;align-items:center;gap:7px;color:#a8b9d7;font-size:12px;white-space:nowrap}.instrument-picker select{background:#233553;color:#f1f5ff;border:1px solid #4c6388;border-radius:8px;padding:8px 9px;max-width:170px;font-size:12px}@media(max-width:600px){.playback-sticky .transport{flex-wrap:wrap;justify-content:center}.playback-sticky .instrument-picker{width:100%;justify-content:center}.playback-sticky .instrument-picker select{flex:1 1;max-width:240px}.playback-sticky .tempo{flex:1 1;justify-content:flex-end}.playback-sticky .tempo input{width:clamp(65px,19vw,110px)}}.practice-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:9px;padding-top:9px;border-top:1px solid #34425b}.practice-toolbar label{display:flex;align-items:center;gap:7px;font-size:12px;color:#c9d6f0;font-weight:600}.practice-toolbar select{background:#233553;color:white;border:1px solid #4c6388;border-radius:8px;padding:8px 9px;font-size:12px;max-width:130px}.practice-toolbar button{border-radius:9px;padding:9px 13px;font-size:12px;font-weight:700;border:1px solid #6384f5;color:white}.practice-start{background:#3f6df2}.practice-end{background:#ad3951;border-color:#dc6377!important}.practice-status{font-size:11px;color:#a9bbd9;white-space:nowrap}@media(max-width:480px){.practice-toolbar{gap:7px;margin-top:7px;padding-top:7px;justify-content:space-between}.practice-toolbar label{font-size:11px;gap:5px}.practice-toolbar select{max-width:105px;padding:7px 5px;font-size:11px}.practice-toolbar button{padding:8px;font-size:11px}.practice-status{width:100%;text-align:center;font-size:10px}}.playback-sticky{padding:12px;border:1px solid #2e405f;border-radius:14px;background:#18243a;box-shadow:0 7px 20px #080e1c48}.playback-sticky .transport{display:grid;grid-template-columns:auto minmax(115px,1fr);grid-template-areas:"buttons speed" "piano piano";align-items:center;justify-content:stretch;grid-gap:11px 14px;gap:11px 14px}.playback-sticky .transport-buttons{grid-area:buttons;display:flex;gap:7px;justify-content:flex-start}.playback-sticky .transport-buttons button{width:43px;height:43px;border-radius:11px;flex-shrink:0}.playback-sticky .transport-buttons .play-button{width:51px;height:47px}.playback-sticky .tempo{grid-area:speed;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;font-size:12px}.playback-sticky .tempo input{width:100%;min-width:45px;max-width:170px}.playback-sticky .tempo strong{min-width:38px}.playback-sticky .instrument-picker{grid-area:piano;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;width:100%;font-size:12px}.playback-sticky .instrument-picker select{width:100%;max-width:none;min-width:0;padding:10px 12px;font-size:13px}.playback-sticky .practice-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px 11px;gap:8px 11px;margin-top:11px;padding-top:11px;border-top:1px solid #354764}.playback-sticky .practice-toolbar label{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-width:0;font-size:12px}.playback-sticky .practice-toolbar select{width:100%;max-width:none;min-width:0;padding:10px;font-size:13px}.playback-sticky .practice-toolbar button{min-height:42px;padding:10px 14px;font-size:12px;border-radius:9px;white-space:nowrap;cursor:pointer}.playback-sticky .practice-toolbar .practice-start{background:#426efa;border-color:#648aff}.playback-sticky .practice-toolbar .practice-end{background:#a3334f;border-color:#ce5470}.playback-sticky .practice-status{grid-column:1/-1;text-align:right;min-height:14px;font-size:11px;color:#b6c6e1}@media(max-width:600px){.playback-sticky{padding:10px;margin-bottom:10px}.playback-sticky .transport{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"buttons speed" "piano piano";justify-content:stretch;grid-gap:10px 9px;gap:10px 9px}.playback-sticky .transport-buttons{gap:5px}.playback-sticky .transport-buttons button{width:37px;height:39px;font-size:17px}.playback-sticky .transport-buttons .play-button{width:45px;height:43px;font-size:20px}.playback-sticky .tempo{gap:5px;font-size:11px;justify-content:flex-end}.playback-sticky .tempo input{width:100%;max-width:115px;min-width:35px}.playback-sticky .tempo strong{min-width:33px;font-size:12px}.playback-sticky .instrument-picker{display:grid;grid-template-columns:80px minmax(0,1fr);justify-content:stretch;grid-gap:8px;gap:8px;width:100%}.playback-sticky .instrument-picker select{max-width:none;width:100%}.playback-sticky .practice-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.playback-sticky .practice-toolbar label{grid-template-columns:80px minmax(0,1fr);gap:8px;width:100%}.playback-sticky .practice-toolbar select{max-width:none;width:100%;font-size:12px}.playback-sticky .practice-toolbar button{padding:9px 10px;font-size:11px}.playback-sticky .practice-status{width:auto;text-align:right;margin:0}}@media(max-width:390px){.playback-sticky .transport{grid-template-columns:1fr;grid-template-areas:"buttons" "speed" "piano"}.playback-sticky .tempo,.playback-sticky .transport-buttons{justify-content:center}.playback-sticky .tempo input{max-width:190px}.playback-sticky .practice-toolbar{grid-template-columns:1fr}.playback-sticky .practice-toolbar button{width:100%}.playback-sticky .practice-status{text-align:center}}.practice-report{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 15px;background:#173b33;border:1px solid #397c68;border-radius:10px;padding:13px 15px;margin:0 0 12px;color:#e1fff1;font-size:13px}.practice-report span{font-size:12px;color:#c1e9d6}.practice-toolbar button:disabled{opacity:.65;cursor:wait}.cloud-songs{grid-column:1/-1;min-width:0;padding:12px;background:#192741;border:1px solid #344b75;border-radius:11px;margin-top:9px}.cloud-songs>strong{font-size:13px;color:#dce8ff}.cloud-login{margin-top:8px;display:grid;grid-gap:8px;gap:8px}.cloud-login input{width:100%;padding:10px;border:1px solid #4a6081;border-radius:7px;background:#263550;color:white;font-size:14px}.cloud-song{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #35445e;font-size:12px;overflow-wrap:anywhere}.cloud-song button{background:#34243a;border:1px solid #70445e;border-radius:6px;color:#f2cdd8;padding:6px 9px}.save-message{grid-column:1/-1;font-size:12px;color:#b8d7ff;margin:4px 0}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.language-select{display:flex;align-items:center;gap:7px;color:#b9c8e7;font-size:12px;white-space:nowrap}.language-select select{border:1px solid #536788;border-radius:8px;background:#243655;color:#f3f7ff;padding:8px 9px;max-width:125px;font-size:12px}.cloud-songs,.library-tool,.player-panel{overflow-wrap:break-word}@media(max-width:640px){.topbar{display:flex;flex-wrap:wrap;gap:7px}.header-actions{gap:7px;margin-left:auto}.header-actions .phase{display:none}.language-select select{max-width:115px;padding:7px 5px}.brand small{font-size:10px}}.countdown-overlay{position:-webkit-sticky;position:sticky;top:175px;z-index:48;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:14px auto;padding:16px 28px;width:min(100%,340px);border:2px solid #7ea2fc;border-radius:18px;background:#142743ed;color:#fff;box-shadow:0 12px 38px #0008}.countdown-overlay strong{font-size:clamp(74px,17vw,125px);line-height:1;color:#81a7ff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.countdown-overlay span{margin-top:9px;text-align:center;font-weight:600;font-size:15px}.visual-report{margin:12px 0 16px;padding:15px;border:1px solid #465d8e;background:#17263e;border-radius:14px}.visual-report h3{margin:0 0 12px;font-size:16px}.report-legend{display:flex;gap:7px 13px;flex-wrap:wrap;font-size:11px;margin-bottom:10px}.report-legend .good{color:#69db9d}.report-legend .early{color:#ffbf67}.report-legend .late{color:#8ab5ff}.report-legend .missed{color:#ff758b}.report-legend .extra{color:#d7a3ff}.report-timeline{position:relative;height:136px;border-radius:10px;border:1px solid #465d8e;background:repeating-linear-gradient(90deg,#233651 0,#233651 1px,transparent 0,transparent 25%);overflow:hidden}.report-dot{position:absolute;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;border:2px solid #fff9;min-height:0}.report-dot.correct{background:#27bb6e}.report-dot.early{background:#e5a33f}.report-dot.late{background:#5499e7}.report-dot.missed{background:#e65768}.report-dot.extra{background:#aa73db;outline:2px solid #cfa8ff}.report-note-list{display:grid;grid-gap:4px;gap:4px;max-height:400px;overflow-y:auto}.report-note{display:grid;grid-template-columns:1fr 1fr 1.4fr;align-items:center;grid-gap:7px;gap:7px;padding:9px 11px;border-left:4px solid #7483a0;background:#24334d;border-radius:6px;font-size:12px}.report-note strong{text-align:right}.report-note.correct{border-left-color:#27bb6e}.report-note.early{border-left-color:#e5a33f}.report-note.late{border-left-color:#5499e7}.report-note.missed{border-left-color:#e65768}.report-extras{margin-top:10px;font-size:12px}.report-extras summary{cursor:pointer;padding:8px}.calibration-settings{margin:10px 0;padding:10px;border:1px solid #445a7f;border-radius:9px}.calibration-settings summary{font-weight:700;cursor:pointer}.calibration-settings label{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;padding:7px 0}.calibration-settings input[type=range]{flex:1 1;min-width:100px}@media(max-width:500px){.countdown-overlay{top:120px}.visual-report{padding:10px}.report-note{font-size:11px;gap:3px;padding:8px 6px}.report-note strong{font-size:10px}}.comparison-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #405479;border-radius:10px;background:#18263e}.comparison-chart{position:relative;min-width:720px;padding:10px 12px 12px}.comparison-label{font-size:12px;font-weight:700;color:#d3e2ff;margin:6px 0}.comparison-track{position:relative;height:130px;overflow:hidden;border-radius:6px;background:repeating-linear-gradient(90deg,#263b5b,#263b5b 1px,transparent 0,transparent 12.5%),#14213a}.comparison-note{position:absolute;min-width:31px;height:19px;transform:translateY(-50%);border-radius:5px;padding:2px 5px;color:#0c1825;font-size:10px;line-height:15px;font-weight:700;background:#52d58d;border:1px solid #98f9b9;white-space:nowrap}.comparison-note.early{background:#efb858}.comparison-note.late{background:#88b9fa}.comparison-note.missed{background:#ee7183}.comparison-note.extra{background:#d6a1ff}.comparison-beats{display:flex;justify-content:space-between;color:#a8b8da;font-size:11px;margin-top:9px}.calibration-settings>.mic-toggle{margin-top:12px;margin-bottom:6px}.sheet-scroll svg{min-width:0!important;width:100%!important;max-width:100%;height:auto!important}.fingering-toggle{display:flex;align-items:center;gap:8px;padding:7px 12px;color:#cddcf3;font-size:12px;background:#1c2a43}.fingering-toggle input{accent-color:#5d85ff;width:16px;height:16px}@media(max-width:480px){.sheet-heading{gap:6px}.fingering-toggle,.sheet-heading span{font-size:11px}}.fall-note{display:flex;align-items:flex-start;justify-content:center;overflow:visible}.bar-finger{display:block;position:relative;z-index:3;background:#172441df;color:#fff;border:1px solid #ffffffb0;border-radius:999px;min-width:18px;height:18px;line-height:16px;text-align:center;font-size:11px;font-weight:800;pointer-events:none;flex-shrink:0;transform:translateY(-8px)}.fullscreen-launch{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.fullscreen-launch button{flex:1 1;min-width:130px;min-height:40px;border:1px solid #556f9e;border-radius:9px;background:#26395a;color:#e2ebff;font-weight:600;font-size:12px}.full-practice{position:fixed;inset:0;z-index:9999;background:#101829;display:flex;flex-direction:column;width:100vw;height:100dvh;overflow:hidden}.full-main{height:100%;flex-direction:column;overflow:auto}.full-main,.full-sheet .full-main>.sheet-panel{width:100%;min-height:0;display:flex;justify-content:center}.full-sheet .full-main>.sheet-panel{flex:1 1;flex-direction:column;max-height:100%}.full-sheet .full-main .sheet-scroll{max-height:calc(100dvh - 120px)}.full-sheet .full-main .sheet-scroll svg{width:100%!important}.full-bars .full-main>.legend{padding:8px 14px;flex-shrink:0}.full-bars .full-main>.piano-stage{height:calc(100dvh - 95px);max-height:none!important;flex:1 1;min-height:180px;margin:0 8px 8px}.full-bars .full-main .roll{height:calc(100% - 145px);min-height:120px}.full-toolbar{position:absolute;z-index:30;top:env(safe-area-inset-top,0);left:0;right:0;display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px 10px;background:#162540f2;box-shadow:0 8px 25px #0008;transition:opacity 1.2s ease,transform 1.2s ease;opacity:1}.full-toolbar.hidden{opacity:0;transform:translateY(-20px);pointer-events:none}.full-toolbar button{background:#304a76;border:1px solid #6380ac;border-radius:8px;min-height:38px;padding:8px 12px;color:#fff;font-weight:700}.full-toolbar label{color:#dce8ff;display:flex;gap:6px;align-items:center;font-size:12px}.full-toolbar input[type=range]{width:85px}.full-countdown{inset:0;display:flex;align-items:center;justify-content:center;z-index:35;background:#101829a8;font-size:clamp(100px,32vw,230px);font-weight:800;color:#fff}.full-countdown,.full-tap-hint{position:absolute;pointer-events:none}.full-tap-hint{bottom:env(safe-area-inset-bottom,12px);right:12px;padding:6px 10px;border-radius:6px;background:#1b2b43a8;color:#b7c8eb;font-size:11px}@media(orientation:landscape){.full-sheet .sheet-notice{display:none}.full-sheet .sheet-panel .sheet-scroll{flex:1 1;display:flex;align-items:center}.full-bars .full-main .piano-stage{height:calc(100dvh - 30px)}.full-bars .full-main .roll{height:calc(100% - 85px)}.full-bars .full-main .piano-keys{height:85px}}.full-toolbar select{background:#263a5c;border:1px solid #627eaf;border-radius:7px;color:#f3f7ff;font-size:12px;min-height:38px;max-width:155px;padding:6px}.mic-chord{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:10px 0;padding:12px;border:1px solid #4b6e91;border-radius:10px;background:#19304a}.mic-chord strong{font-size:12px;color:#c5d9f9}.mic-chord span{color:#9ee7c2;font-size:16px;font-weight:750;letter-spacing:.2px}.chord-summary{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;align-items:center;margin:16px 0 9px;font-size:13px;color:#e1eafa}.chord-summary span{color:#a6c8ff;font-size:12px}.chord-report-list{display:grid;grid-gap:9px;gap:9px;margin-bottom:14px}.chord-report-card{border:1px solid #435b83;border-left:4px solid #e9a958;border-radius:9px;background:#1b2d49;padding:10px}.chord-report-card.complete{border-left-color:#55ce8b}.chord-report-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px}.chord-report-heading span{color:#b9cbed}.chord-pitches{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}.chord-pitches span{padding:5px 8px;border-radius:6px;font-size:12px;font-weight:700}.chord-pitches .hit{background:#1f654c;color:#dcffea}.chord-pitches .miss{background:#713444;color:#ffe0e5}.chord-detail{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#bbcee7}@media (orientation:portrait){.full-sheet .full-main{justify-content:center;background:#101829}.full-sheet .full-main>.sheet-panel{flex:0 0 auto!important;min-height:0!important;max-height:none!important;background:transparent!important;border:0!important;box-shadow:none!important}.full-sheet .fingering-toggle,.full-sheet .sheet-heading,.full-sheet .sheet-notice{flex-shrink:0}.full-sheet .full-main .sheet-scroll{flex:0 0 auto!important;max-height:none!important;background:#fff;overflow-x:hidden}.full-sheet .full-main .sheet-scroll svg{width:100%!important;min-width:0!important;height:auto!important}.full-sheet .sheet-notice{font-size:12px;padding:9px 12px}}.practice-choice-overlay{position:fixed;inset:0;z-index:10010;background:#080e1ddd;display:flex;align-items:center;justify-content:center;padding:18px}.practice-choice-card{width:min(100%,440px);padding:24px;border:1px solid #5576af;border-radius:20px;background:#192b48;color:#fff;display:grid;grid-gap:13px;gap:13px;text-align:center;box-shadow:0 20px 80px #0009}.practice-choice-card h2{font-size:21px;margin:0}.practice-choice-card p{font-size:13px;color:#cbdaf5;margin:0}.practice-choice-card button,.practice-finish-prompt button,.practice-review-actions button{border:1px solid #7298dc;border-radius:9px;background:#3d6feb;color:#fff;padding:13px;font-weight:750}.practice-choice-card .cancel{background:#304362}.practice-finish-prompt{position:absolute;inset:0;z-index:41;background:#101a2bdc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;text-align:center;padding:24px}.practice-finish-prompt h2{font-size:25px;margin:0}.practice-finish-prompt button{font-size:16px;padding:15px 32px}.practice-review-actions{position:absolute;bottom:env(safe-area-inset-bottom,8px);left:8px;right:8px;z-index:42;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;background:#172845eb;color:white;border:1px solid #5e7fb8;border-radius:13px;padding:10px 12px;box-shadow:0 0 15px #0005}.practice-review-actions strong{font-size:14px}.practice-review-actions button{padding:9px 10px;font-size:12px}.review-legend{display:flex;gap:6px;align-items:center;font-size:10px;flex-wrap:wrap}.review-legend i{display:inline-block;width:10px;height:10px;border-radius:4px}.fall-note.scored-excellent,.review-legend .excellent{background:#17ad6e!important}.fall-note.scored-good,.review-legend .good{background:#4a98e4!important}.fall-note.scored-fair,.review-legend .fair{background:#efa93e!important}.fall-note.scored-missed,.review-legend .missed{background:#ef5f74!important}.fall-note.scored-poor{background:#b56bcf!important}.full-practice:has(.practice-review-actions) .full-main{padding-bottom:76px}.review-scrub{display:flex;align-items:center;gap:6px;font-size:11px;color:#d4e2ff;flex:1 1 160px}.review-scrub input{width:100%;accent-color:#79a2ff;min-width:80px}.pf-menu-button{background:#25395b;border:1px solid #546e9d;color:#f5f7ff;padding:9px 13px;border-radius:10px;font-weight:650}.pf-home{max-width:660px;margin:clamp(55px,10vh,125px) auto 60px;padding:12px 16px;text-align:center}.pf-home h1{font-size:clamp(32px,6vw,54px);letter-spacing:-.035em;margin:18px 0 12px}.pf-home>p{color:#b2bed7;font-size:15px;line-height:1.6;margin:0 0 32px}.pf-hero-button{display:block;width:100%;background:#4775fa;color:white;border:none;border-radius:17px;min-height:86px;font-size:clamp(20px,4vw,27px);font-weight:800;box-shadow:0 14px 40px #3d68dd40}.pf-resume-button{display:flex;flex-direction:column;position:relative;gap:7px;width:100%;background:#192943;border:1px solid #3e557f;color:white;text-align:left;border-radius:13px;margin-top:20px;padding:20px 54px 20px 22px}.pf-resume-button>span:first-child{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#9bacd0}.pf-resume-button strong{font-size:18px}.pf-resume-button small{font-size:12px;color:#aebbd5}.pf-resume-chevron{position:absolute;right:24px;top:35%;font-size:32px;color:#afc8ff}.pf-song-pick,.pf-tools-nav{max-width:760px;margin:25px auto 35px;padding:8px 12px}.pf-song-pick h1,.pf-tools-nav h1{font-size:clamp(26px,5vw,38px);margin:20px 0 8px}.pf-song-pick>p,.pf-tools-nav>p{color:#a9b7d1;font-size:13px;line-height:1.5}.pf-back{background:transparent;border:0;color:#a9c6ff;font-size:14px;padding:10px 0}.pf-song-filters{display:flex;gap:9px;margin:25px 0 14px;flex-wrap:wrap}.pf-song-filters button{border:1px solid #435982;border-radius:30px;background:#1b2b44;color:#b3c3e1;padding:9px 17px;font-size:12px}.pf-song-filters .active{background:#3f66df;color:white;border-color:#6c8afa}.pf-song-list{display:grid;grid-gap:10px;gap:10px}.pf-song-choice{display:flex;align-items:center;gap:15px;border:1px solid #394f76;border-radius:14px;padding:16px;background:#17253e;color:white;text-align:left;width:100%}.pf-song-icon{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:#2c4271;font-size:22px;color:#b8cdff}.pf-song-choice>span:nth-child(2){flex:1 1;min-width:0}.pf-song-choice small,.pf-song-choice strong{display:block}.pf-song-choice strong{font-size:15px;margin-bottom:5px}.pf-song-choice small{font-size:11px;color:#a8b7d3;line-height:1.4}.pf-song-arrow{font-size:27px;color:#9bb5ed}.pf-add-song{background:#24385a;border:1px solid #4b6494;color:#d8e6ff;margin-top:18px;padding:12px 15px;border-radius:11px;width:100%}.pf-tools-index{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 8px}.pf-tools-index a{padding:11px 13px;border:1px solid #455e8a;color:#d3e1ff;background:#1d304d;border-radius:9px;text-decoration:none;font-size:12px}.pf-admin-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;pointer-events:none!important;opacity:0!important;left:-10000px!important}.pf-admin-visible{margin-top:16px}.pf-admin-heading{font-size:15px;color:#bcd1ff;font-weight:700;padding:15px 0 8px;border-top:1px solid #405373;margin-top:22px}@media(max-width:820px){.pf-admin-visible{display:flex!important;flex-direction:column!important}.pf-admin-visible .library,.pf-admin-visible .player-panel{width:100%;max-width:100%}}.pf-admin-section{width:100%;min-width:0}.pf-admin-section>summary{cursor:pointer;list-style:none;font-size:15px;font-weight:750;color:#d4e4ff;background:#203250;border:1px solid #435b88;border-radius:11px;padding:14px 16px}.pf-admin-section>summary:after{content:"⌄";float:right;color:#93b4f2}.pf-admin-section[open]>summary{margin-bottom:14px}.pf-admin-section[open]>summary:after{content:"⌃"}.guided-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;text-align:left;margin:6px 0 12px}.guided-options label{display:flex;flex-direction:column;gap:6px;color:#ccdaf3;font-size:12px;font-weight:650;min-width:0}.guided-options select{width:100%;min-height:43px;background:#263a5e;border:1px solid #5977ad;border-radius:9px;color:#fff;padding:8px;font-size:13px}.guided-options .guided-check{display:flex;flex-direction:row;align-items:center;gap:10px;grid-column:1/-1;padding:6px 0}.guided-options input[type=checkbox]{width:20px;height:20px;accent-color:#567ff1}.guided-options input[type=range]{width:100%;accent-color:#79a0fa}.pf-history-mini{margin:18px 0 8px;padding:16px;text-align:left;border:1px solid #364e78;border-radius:13px;background:#162841;display:grid;grid-gap:10px;gap:10px}.pf-history-mini>strong{font-size:13px;color:#aec8ff}.pf-history-mini>div{display:grid;grid-template-columns:1fr auto auto;grid-gap:10px;gap:10px;color:#e2eaff;font-size:12px;align-items:center}.pf-history-mini small{font-size:11px;color:#9aadd1}@media(max-width:420px){.guided-options{grid-template-columns:1fr}}.sheet-review-draggable{touch-action:none;cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}.sheet-review-draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.pf-immersive-header{position:absolute;z-index:46;top:0;left:0;right:0;min-height:54px;padding:8px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#14223bcc;border-bottom:1px solid #344b75;color:#fff;pointer-events:none}.pf-immersive-brand{display:flex;gap:9px;align-items:center;font-size:15px;pointer-events:auto}.pf-brand-icon{display:grid;place-items:center;width:31px;height:31px;background:#4775fa;color:#fff;border-radius:8px;font-size:20px}.pf-immersive-header button{pointer-events:auto;border:1px solid #5777ae;border-radius:9px;background:#2c436e;color:#fff;min-height:36px;padding:7px 12px;font-weight:700}.full-practice .full-toolbar{top:54px}.full-practice .full-main{padding-top:54px}.pf-confirm-home{position:absolute;z-index:100;inset:0;background:#08101fdd;display:grid;place-items:center;padding:20px}.pf-confirm-home>div{width:min(100%,420px);background:#192b48;border:1px solid #5576af;border-radius:17px;padding:23px;display:grid;grid-gap:14px;gap:14px;color:#fff;box-shadow:0 20px 70px #0008}.pf-confirm-home h2{margin:0;font-size:21px}.pf-confirm-home p{margin:0;color:#bac8e5;line-height:1.5}.pf-confirm-home button{padding:12px;border-radius:9px;background:#365cbd;border:1px solid #7795d8;color:#fff;font-weight:700}.pf-confirm-home button:first-of-type{background:#293d5f}.pf-account-button{border:1px solid #526d9a;background:#213657;color:#fff;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700;white-space:nowrap}.pf-account-panel{position:absolute;z-index:80;right:16px;top:75px;width:min(390px,calc(100vw - 32px));background:#1a2c48;border:1px solid #516b99;border-radius:13px;padding:15px;box-shadow:0 18px 48px #0009;color:#fff}.pf-account-closed{display:none}.pf-account-open{display:block}.pf-account-panel .cloud-songs{width:100%;max-height:min(70dvh,650px);overflow-y:auto}.pf-account-panel .cloud-login form{display:grid;grid-gap:9px;gap:9px}.pf-account-panel .cloud-login input{width:100%;min-height:41px;background:#24395b;border:1px solid #536d9e;color:#fff;border-radius:9px;padding:9px}.cloud-login-secondary{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.cloud-login-secondary button{background:transparent;border:1px solid #4d6ca1;color:#d2e1ff;border-radius:8px;padding:8px;font-size:12px}@media(max-width:600px){.pf-account-panel{top:70px}.pf-account-button{padding:9px}.header-actions{gap:7px}}.learn-root{max-width:1050px;margin:0 auto 55px;padding:12px 16px 36px;color:#edf3ff}.learn-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;font-weight:750;color:#9ebbf2;font-size:13px}.learn-top .pf-back{font-size:14px;flex-shrink:0}.learn-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 28px;border:1px solid #3a5480;background:linear-gradient(125deg,#1d365e,#172740);border-radius:22px}.learn-intro h1{font-size:clamp(26px,4.2vw,39px);line-height:1.15;letter-spacing:-.035em;margin:10px 0}.learn-intro p{max-width:640px;color:#becdec;line-height:1.6;margin:0;font-size:14px}.learn-overall{border:1px solid #5679b6;background:#253f6a;border-radius:17px;min-width:125px;text-align:center;padding:20px 13px}.learn-overall strong{font-size:35px;color:#b8ffdc;display:block}.learn-overall strong small{font-size:15px;color:#b8c9e2}.learn-overall span{font-size:11px;color:#c1d1ee}.learn-progress-track{margin:15px 1px 30px;height:9px;border-radius:12px;background:#2a4064;overflow:hidden}.learn-progress-track>div{height:100%;background:linear-gradient(90deg,#3c85ec,#18b895);transition:width .25s}.learn-levels{display:grid;grid-gap:23px;gap:23px}.learn-level{border:1px solid #334c77;background:#172840;border-radius:18px;padding:18px}.learn-level-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}.learn-level-icon{display:grid;place-items:center;background:#2b4165;border-radius:15px;min-width:54px;height:54px;font-size:28px}.learn-level-head>div{flex:1 1;min-width:0}.learn-level-head small{font-size:10px;color:#91aee4;font-weight:800;letter-spacing:.11em}.learn-level-head h2{font-size:19px;margin:3px 0}.learn-level-head p{font-size:12px;color:#aebcda;margin:0;line-height:1.5}.learn-level-count{background:#294064;border-radius:15px;padding:7px 11px;font-size:12px;color:#dceaff}.learn-lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.learn-lesson-row{display:flex;gap:11px;align-items:center;width:100%;min-height:76px;text-align:left;padding:13px;background:#203452;color:#f6f8ff;border:1px solid #38547f;border-radius:13px;transition:background .15s,border-color .15s}.learn-lesson-row:focus-visible,.learn-lesson-row:hover{background:#2a4570;border-color:#7ba5ec}.learn-number{display:grid;place-items:center;min-width:39px;min-height:39px;background:#35557d;border-radius:12px;color:#dfeaff;font-size:12px;font-weight:800}.learn-number.learn-done{background:#127a66;color:#eafff4}.learn-lesson-copy{flex:1 1;min-width:0}.learn-lesson-copy strong{display:block;font-size:14px;margin-bottom:3px}.learn-lesson-copy small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:11px;line-height:1.5;color:#a6b6d0}.learn-lesson-chevron{color:#a7c0e8;font-size:23px}.learn-player{max-width:940px;margin:auto}.learn-heading{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.learn-heading h1{font-size:clamp(26px,5vw,37px);line-height:1.2;margin:6px 0 10px}.learn-heading p{color:#b7c7e1;line-height:1.55;margin:0 0 20px;font-size:14px}.learn-duration{flex-shrink:0;background:#253e61;border:1px solid #3f5b85;border-radius:12px;padding:10px 13px;color:#d2e4ff;font-size:12px}.learn-stages{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px;margin-bottom:13px}.learn-stages span{padding:11px 7px;border:1px solid #334e76;border-radius:8px;text-align:center;font-size:11px;color:#8e9fbe;background:#1b2d47}.learn-stages .active{border-color:#67bdb6;color:#e1fff3;background:#245359;font-weight:800}.learn-teach{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;flex-wrap:wrap}.learn-idea{display:flex;gap:12px;align-items:flex-start;flex:1 1 340px;border:1px solid #456087;background:#213653;padding:13px 15px;border-radius:13px}.learn-idea-icon{font-size:24px}.learn-idea strong{font-size:14px}.learn-idea p{font-size:12px;color:#cad8ed;line-height:1.5;margin:5px 0 0}.learn-guided-actions{display:flex;align-items:center;gap:8px;font-size:11px;color:#9aabca;flex-wrap:wrap}.learn-secondary,.learn-small-btn{background:#29456c;border:1px solid #5775a2;border-radius:10px;color:#e6f0ff;padding:12px 15px;font-size:12px;font-weight:700}.learn-small-btn:disabled{opacity:.5;cursor:not-allowed}.learn-speed{display:flex;align-items:center;gap:10px;color:#d6e0f4;font-size:12px}.learn-speed select{background:#2c466c;color:white;border:1px solid #6d86ad;border-radius:8px;padding:9px}.learn-view-tabs{display:flex;gap:8px;margin:16px 0 9px}.learn-view-tabs button{flex:1 1;border:1px solid #465f88;background:#1f3455;color:#becfee;padding:12px;border-radius:10px;font-weight:750}.learn-view-tabs button.active{background:#385ebd;border-color:#7da6fa;color:white}.learn-staff-wrap{width:100%;background:white;border-radius:15px;border:1px solid #567496;overflow:hidden}.learn-staff{display:block;width:100%;height:auto}.learn-key-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;color:#bac8df;font-size:12px;margin:13px 0 9px}.learn-key-caption small{color:#8fa6c9}.learn-piano-scroll{overflow-x:auto;width:100%;border-radius:12px;background:#0f1c2e;padding-bottom:5px;scrollbar-width:thin}.learn-piano-keys{height:144px;position:relative;touch-action:pan-x;-moz-user-select:none;user-select:none;-webkit-user-select:none}.learn-black-key,.learn-white-key{position:absolute;top:0;display:flex;align-items:end;justify-content:center;padding:0 0 12px;border-radius:0 0 6px 6px;touch-action:manipulation;cursor:pointer}.learn-white-key{height:141px;border:1px solid #8fa4bf;background:#f7f9fd;color:#475569;font-size:11px;z-index:1}.learn-white-key.target{background:#adf1d7;box-shadow:inset 0 -9px #38bb93}.learn-white-key.pressed{background:#95c2ff}.learn-black-key{height:92px;border:1px solid #080c15;background:linear-gradient(#252e40,#0c1421);box-shadow:0 3px 5px #0006;color:#fff;z-index:3}.learn-black-key.target{background:#25a983}.learn-black-key.pressed{background:#538be9}.learn-actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0;justify-content:flex-end}.learn-actions button{flex:1 1 180px;min-height:49px}.learn-primary{background:#4877f0;border:1px solid #84a5ff;border-radius:10px;padding:13px 18px;color:white;font-weight:800}.learn-results{background:#203852;border:1px solid #467e7b;padding:17px;border-radius:14px;margin:14px 0}.learn-results>strong{font-size:18px}.learn-results>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:9px;gap:9px;margin:15px 0}.learn-results>div span{background:#142942;border-radius:9px;padding:12px 9px;color:#a6bbd6;font-size:11px}.learn-results b{display:block;font-size:20px;color:#f2f7ff;margin-top:4px}.learn-results p{font-size:12px;color:#b9cde6;line-height:1.5;margin:0}.learn-midi-connection{margin:18px 0;border:1px solid #3d547e;background:#192b45;border-radius:13px;padding:12px 16px}.learn-midi-connection summary{cursor:pointer;color:#d4e5ff;font-size:13px;font-weight:750}.learn-midi-connection .microphone-panel{margin-top:12px}.learn-footnote{font-size:11px;color:#92a9ce;line-height:1.6;margin:15px 0}.pf-home .pf-learn-button{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;margin-top:13px;border:1px solid #338b87;background:#1a4649;color:#f2fffa;min-height:75px;border-radius:16px;padding:15px 23px;gap:16px}.pf-home .pf-learn-button strong{font-size:20px;display:block;margin-bottom:4px}.pf-home .pf-learn-button small{font-size:12px;color:#b0e0d6}.pf-home .pf-learn-button>span:last-child{font-size:28px}@media(max-width:690px){.learn-root{padding:8px 11px 30px}.learn-intro{padding:20px;align-items:flex-start}.learn-overall{min-width:85px;padding:11px 7px}.learn-overall strong{font-size:27px}.learn-lesson-grid{grid-template-columns:1fr}.learn-level{padding:13px}.learn-level-icon{min-width:43px;height:43px;font-size:23px}.learn-results>div{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-stages span{font-size:9px;padding:9px 3px}.learn-heading h1{font-size:25px}.learn-duration{font-size:10px;padding:8px}.learn-actions button{flex:1 1 100%}.learn-idea{flex-basis:100%}.learn-key-caption{font-size:11px}}.learn-concept-strip{display:flex;flex-wrap:wrap;gap:9px;margin:9px 0 15px}.learn-concept-strip>span{display:inline-flex;align-items:center;gap:5px;color:#cee4f7;background:#1f3a56;border:1px solid #3b617e;padding:10px 13px;border-radius:10px;font-size:12px}.learn-concept-strip b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#1c9980;color:white}@media(max-width:620px){.learn-staff-wrap{overflow-x:auto}.learn-staff{width:660px;min-width:660px;max-width:none}}.learn-staff-overview{overflow:hidden!important;max-width:100%;background:#fff}.learn-staff-overview .learn-staff{width:100%!important;min-width:0!important;max-width:100%!important;height:auto;display:block}.learn-score-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;background:#f0f5fc;color:#263c58;padding:11px 14px;border-bottom:1px solid #cfdaea;font-size:12px}.learn-score-caption strong{font-size:13px;color:#20344d}.learn-score-caption span{font-size:11px;color:#637895}.learn-mode-picker{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.learn-mode-inline,.learn-mode-picker label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#d3e2f7;font-size:12px}.learn-mode-inline select,.learn-mode-picker select{border:1px solid #6a8bb8;background:#28466d;color:#fff;border-radius:10px;padding:10px 12px;max-width:100%;min-height:43px}.learn-wait-progress{color:#c5ffe4!important;font-weight:750;margin-top:8px!important}.learn-actions .learn-mode-inline{flex:1 1 100%;justify-content:flex-start}@media(max-width:650px){.learn-staff-overview{overflow:hidden!important}.learn-staff-overview .learn-staff{min-width:0!important;width:100%!important}.learn-mode-picker{width:100%}.learn-mode-picker label{width:100%;justify-content:space-between}}.learn-personal{margin:20px 0 28px;padding:19px;border-radius:18px;border:1px solid #3b7182;background:linear-gradient(135deg,#173c4a,#1a304d)}.learn-personal-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:10px}.learn-personal-head h2{margin:5px 0 12px;font-size:21px}.learn-personal-head small,.learn-personal-tip{font-size:11px;color:#b1c9dc;line-height:1.6}.learn-recs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:9px;gap:9px}.learn-recs button{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 8px;gap:4px 8px;text-align:left;align-items:center;border:1px solid #447d92;background:#1e4b60;border-radius:13px;padding:14px;color:white}.learn-recs button>span{grid-row:span 2;font-size:22px;color:#a6efd7}.learn-recs strong{font-size:13px}.learn-recs small{font-size:11px;color:#bad9e6}.learn-personal h3{font-size:15px;margin:21px 0 12px}.learn-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.learn-skill{border:1px solid #3a5c76;border-radius:10px;padding:12px;background:#1c364e;display:grid;grid-template-columns:1fr auto;grid-gap:7px;gap:7px;color:#d9e9f8;font-size:12px}.learn-skill strong{font-size:13px}.learn-skill small{grid-column:span 2;color:#9cbdd3;font-size:10px}.learn-skill-track{grid-column:span 2;height:7px;background:#314b64;border-radius:20px;overflow:hidden}.learn-skill-track i{display:block;height:100%;background:#36c5a8;border-radius:20px}@media(max-width:570px){.learn-recs,.learn-skills{grid-template-columns:1fr}}.learn-visual-tutor{border:1px solid #457b83;background:linear-gradient(135deg,#173e4b,#18324d);border-radius:16px;padding:15px;margin:10px 0 16px;display:grid;grid-gap:12px;gap:12px}.learn-visual-top{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:12px;color:#b4eddf;font-weight:750}.learn-visual-top strong{color:#ecf9ff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.learn-visual-keys{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.learn-visual-note{min-width:91px;min-height:78px;border:1px solid #65bea8;border-radius:14px;background:#d8ffed;color:#075b50;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;padding:10px}.learn-visual-note strong{font-size:25px}.learn-visual-note span{font-size:10px;font-weight:700}.learn-visual-instruction{line-height:1.6;font-size:13px;color:#cce2ef}.learn-visual-buttons{display:flex;gap:8px;flex-wrap:wrap}.learn-visual-buttons button{flex:1 1 95px;min-height:43px;border:1px solid #5d9caa;border-radius:10px;background:#234d63;color:white;font-weight:750;font-size:12px}.learn-visual-buttons button:disabled{opacity:.35}@media(max-width:500px){.learn-visual-tutor{padding:12px}.learn-visual-note{min-width:76px;min-height:68px}.learn-visual-note strong{font-size:23px}}.learn-anywhere .learn-intro{margin-bottom:18px}.learn-any-modes{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.learn-any-modes button{border:1px solid #4c7197;border-radius:12px;background:#1c3452;color:#cfe4fa;padding:13px 16px;font-weight:750;flex:1 1 125px}.learn-any-modes button.active{background:#2b5d7d;border-color:#72c6bb;color:white}.learn-any-finish,.learn-any-game{background:#1a3049;border:1px solid #3b6287;border-radius:18px;padding:20px;display:grid;grid-gap:15px;gap:15px}.learn-any-game h2{font-size:20px;margin:0}.learn-any-counter{display:flex;justify-content:space-between;color:#aed2e9;font-size:12px}.learn-any-staff{background:#fff;border-radius:13px;overflow:hidden;max-width:520px;width:100%;margin:0 auto}.learn-any-staff svg{width:100%;display:block}.learn-any-symbol{background:#f5f8fc;border-radius:13px;color:#173a54;text-align:center;font-size:110px;padding:10px;line-height:1.5}.learn-any-answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));grid-gap:9px;gap:9px}.learn-any-answers button{border:1px solid #6086a9;border-radius:12px;background:#273f61;color:#fff;padding:15px 9px;min-height:54px;font-weight:800}.learn-any-answers button.correct{background:#127e63;border-color:#6cdbaf}.learn-any-answers button.wrong{background:#883b52;border-color:#e78ca3}.learn-any-answers button:disabled{opacity:.75}.learn-any-feedback{font-size:14px;color:#d6f5e5;font-weight:700}.learn-any-finish{text-align:center;justify-items:center}.learn-song-bridge{background:linear-gradient(130deg,#21375d,#194d4d);padding:18px;border:1px solid #538d9f;border-radius:16px;margin:15px 0 24px}.learn-song-bridge h2{font-size:19px;margin:0 0 6px}.learn-song-bridge p{font-size:12px;color:#b9d9e2;line-height:1.5}.learn-song-bridge .learn-recs{margin-top:12px}.learn-song-bridge .learn-recs button{display:flex;flex-direction:column;align-items:start;gap:6px}@media(max-width:520px){.learn-any-game{padding:13px}.learn-any-answers{grid-template-columns:repeat(3,1fr)}}.learn-ear-audio{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 14px;border-radius:14px;border:1px solid #557c9f;background:#173e59;text-align:center}.learn-ear-audio>span{font-size:17px;font-weight:750;color:#dff5ff}.learn-ear-audio .learn-primary{min-width:210px;min-height:55px;font-size:15px}.learn-ear-audio small{color:#accbdd;font-size:11px}.learn-level-selector{display:flex;align-items:center;gap:10px;margin:13px 0;color:#cde7fa;font-size:13px;font-weight:650}.learn-level-selector select{padding:9px 12px;background:#204668;border:1px solid #5889a7;border-radius:10px;color:white;min-height:43px}.learn-any-answers .learn-option-pair{display:flex;flex-direction:column;gap:7px;min-width:0}.learn-option-pair .learn-option-preview{border:1px solid #8298aa;background:#f4f8fc;color:#1b4963;padding:5px;min-height:45px;border-radius:9px;font-size:12px;display:flex;justify-content:center;align-items:center}.learn-option-pair .learn-option-preview:disabled{opacity:1;cursor:default}.learn-mini-score{display:block;width:100%;height:auto;min-width:0}.learn-option-pair>button:last-child{width:100%;min-height:43px}.learn-any-answers:has(.learn-option-pair .learn-mini-score){grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:560px){.learn-any-answers:has(.learn-option-pair .learn-mini-score){grid-template-columns:1fr}.learn-option-pair .learn-mini-score{max-height:105px}}.learn-fold{padding:0!important;overflow:hidden}.learn-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;cursor:pointer;list-style:none;font-size:15px;font-weight:800;color:#def8fc}.learn-fold>summary::-webkit-details-marker{display:none}.learn-fold>summary span{transition:transform .2s}.learn-fold[open]>summary span{transform:rotate(180deg)}.learn-fold-content{padding:0 20px 20px}.learn-level-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 18px;color:#cbe5f6;font-size:15px;font-weight:750}.learn-level-picker select{flex:1 1;min-width:220px;max-width:480px;border-radius:12px;padding:14px;font-size:16px;color:#fff;background:#234767;border:1px solid #6a92b1}.learn-focus-backdrop{position:fixed;inset:0;z-index:5000;background:#0d1c2f;overflow:auto;overscroll-behavior:contain}.learn-focus-player{box-sizing:border-box;width:min(100%,1050px);max-width:1050px;min-height:100dvh;margin:0 auto!important;padding:20px 28px 65px!important}.learn-focus-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #355477;padding:0 0 17px;margin-bottom:22px;color:#c7e5fa}.learn-focus-nav button{color:#fff;background:#284967;border:1px solid #6289a6;border-radius:11px;padding:12px 18px;font-size:14px;font-weight:750}.learn-focus-nav strong{font-size:17px}.learn-focus-player .learn-heading h1{font-size:clamp(29px,4vw,44px)!important;line-height:1.18}.learn-focus-player .learn-heading p,.learn-focus-player .learn-teach p,.learn-focus-player .learn-visual-instruction{font-size:clamp(16px,2.2vw,20px)!important;line-height:1.6}.learn-focus-player .learn-idea strong,.learn-focus-player .learn-visual-top{font-size:clamp(17px,2.2vw,22px)}.learn-focus-player .learn-primary{min-height:55px;padding:15px 25px;font-size:18px}.learn-focus-player .learn-actions{padding:15px 0 25px}.learn-celebration{position:fixed;left:50%;top:14%;transform:translateX(-50%);z-index:6000;pointer-events:none;width:min(86vw,560px);padding:25px 24px;text-align:center;background:rgba(24,72,89,.96);border:2px solid #75e6bb;box-shadow:0 20px 90px rgba(0,0,0,.5);border-radius:20px;animation:learn-celebrate-in .24s ease-out}.learn-celebration strong{display:block;color:white;font-size:clamp(22px,4vw,34px);line-height:1.4}.learn-confetti{font-size:26px;letter-spacing:8px;animation:learn-confetti-bounce .7s ease-in-out infinite alternate}@keyframes learn-celebrate-in{0%{opacity:0;transform:translate(-50%,-20px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes learn-confetti-bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@media(max-width:640px){.learn-focus-player{padding:15px 12px 45px!important}.learn-focus-nav strong{font-size:13px}.learn-focus-nav button{padding:10px 12px}.learn-fold-content{padding:0 12px 16px}.learn-fold>summary{padding:16px 13px}.learn-level-picker select{width:100%;max-width:100%}.learn-celebration{top:10%}}@media(prefers-reduced-motion:reduce){.learn-celebration,.learn-confetti{animation:none}}.learn-focus-backdrop{overflow:hidden}.learn-focus-player{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:clamp(4px,1vh,12px);padding:clamp(8px,1.4vh,18px) clamp(9px,2vw,24px)!important}.learn-focus-player>*{flex-shrink:0}.learn-focus-player .learn-focus-nav{margin:0;padding:0 0 7px;min-height:38px}.learn-focus-player .learn-heading{margin:0;min-height:0}.learn-focus-player .learn-heading h1{font-size:clamp(21px,3.2vh,34px)!important;margin:2px 0}.learn-focus-player .learn-heading p{font-size:clamp(12px,1.8vh,16px)!important;margin:0;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.learn-focus-player .learn-duration{display:none}.learn-focus-player .learn-stages{margin:0;padding:0;min-height:20px}.learn-focus-player .learn-teach{margin:0;padding:clamp(5px,1vh,11px)!important}.learn-focus-player .learn-teach p,.learn-focus-player .learn-visual-instruction{font-size:clamp(12px,1.8vh,16px)!important;line-height:1.25}.learn-focus-player .learn-concept-strip{display:none}.learn-focus-player .learn-visual-tutor{margin:0;padding:clamp(5px,1vh,10px);gap:4px}.learn-focus-player .learn-visual-note{min-height:0;min-width:53px;padding:4px 8px;gap:0}.learn-focus-player .learn-visual-note strong{font-size:clamp(17px,3vh,26px)}.learn-focus-player .learn-visual-note span{display:none}.learn-focus-player .learn-visual-buttons button{min-height:34px}.learn-focus-player .learn-view-tabs{margin:0}.learn-focus-player .learn-view-tabs button{padding:5px 10px;min-height:30px}.learn-focus-player .learn-staff-overview,.learn-focus-player .learn-staff-wrap{min-height:0;max-height:24dvh;overflow:hidden!important;flex:0 1 auto}.learn-focus-player .learn-staff-overview .learn-staff{max-height:24dvh}.learn-focus-player .learn-key-caption{display:none}.learn-focus-player .learn-piano-scroll{flex:1 1 100px;min-height:75px;max-height:clamp(95px,22dvh,155px);overflow-x:auto;overflow-y:hidden}.learn-focus-player .learn-piano-keys{height:100%;min-height:86px}.learn-focus-player .learn-actions{margin-top:auto;margin-bottom:0;padding:5px 0!important;min-height:54px;flex-shrink:0}.learn-focus-player .learn-actions button{min-height:44px;padding:7px 12px;font-size:clamp(13px,2.1vh,18px)}.learn-focus-player .learn-footnote,.learn-focus-player .learn-midi-connection{display:none}.learn-focus-player .learn-results{max-height:18dvh;overflow:hidden}.learn-stage-result .learn-piano-scroll,.learn-stage-result .learn-staff-wrap{display:none}.learn-stage-result .learn-results{max-height:none;overflow:visible}.learn-stage-result .learn-actions{margin-top:auto}.learn-stage-discover .learn-visual-tutor{flex-shrink:0}@media(max-width:650px){.learn-focus-player .learn-focus-nav strong{display:none}.learn-focus-player .learn-stages{font-size:10px}.learn-focus-player .learn-visual-instruction{display:none}.learn-focus-player .learn-heading p{-webkit-line-clamp:1}.learn-focus-player .learn-view-tabs button{font-size:11px}.learn-focus-player .learn-actions{gap:5px}.learn-focus-player .learn-actions button{flex:1 1 auto}.learn-stage-challenge .learn-piano-scroll,.learn-stage-guided .learn-piano-scroll{max-height:20dvh}}@media(max-height:680px){.learn-focus-player .learn-heading p,.learn-focus-player .learn-visual-tutor .learn-visual-top{display:none}.learn-focus-player .learn-staff-overview,.learn-focus-player .learn-staff-overview .learn-staff,.learn-focus-player .learn-staff-wrap{max-height:20dvh}.learn-focus-player .learn-piano-scroll{max-height:18dvh}.learn-focus-player .learn-teach p{font-size:12px!important}}@media(max-height:480px){.learn-focus-player .learn-heading p,.learn-focus-player .learn-visual-tutor{display:none}.learn-focus-player .learn-staff-overview,.learn-focus-player .learn-staff-wrap{max-height:17dvh}.learn-focus-player .learn-piano-scroll{max-height:20dvh;min-height:55px}}.learn-focus-player .learn-midi-connection:has(.microphone-panel){display:block;position:fixed;right:12px;top:53px;z-index:5100;max-width:min(94vw,440px);background:#18324d;border:1px solid #537c9c;border-radius:11px}.learn-focus-player .learn-midi-connection:has(.microphone-panel)>summary{padding:8px 11px;font-size:12px;cursor:pointer}.learn-focus-player .learn-midi-connection:has(.microphone-panel)[open]{top:48px;max-height:calc(100dvh - 60px);overflow:auto;padding:7px}.learn-focus-player .learn-midi-connection:has(.microphone-panel)[open] .learn-footnote{display:block;font-size:11px}@media(max-width:500px){.learn-focus-player .learn-midi-connection:has(.microphone-panel){right:9px;top:50px}.learn-focus-player .learn-focus-nav{padding-right:70px}}.learn-focus-player .learn-midi-connection{display:none!important}.learn-focus-player{gap:6px!important}.learn-focus-player .learn-focus-nav{flex:0 0 44px;min-height:44px}.learn-focus-player .learn-heading{flex:0 0 auto;max-height:70px;overflow:hidden}.learn-focus-player .learn-stages{flex:0 0 27px}.learn-focus-player .learn-visual-tutor{display:none}.learn-focus-player .learn-teach{flex:0 0 auto;max-height:124px;overflow:hidden}.learn-focus-player .learn-teach .learn-idea{margin:0}.learn-focus-player .learn-teach .learn-guided-actions{margin-top:4px}.learn-focus-player .learn-view-tabs{flex:0 0 32px}.learn-focus-player .learn-staff-overview{flex:0 1 auto!important;max-height:none!important;min-height:0!important;overflow:hidden!important;display:flex;flex-direction:column}.learn-focus-player .learn-staff-overview .learn-score-caption{display:none}.learn-focus-player .learn-staff-overview .learn-staff{display:block!important;width:100%!important;height:auto!important;max-height:min(22dvh,166px)!important;min-height:0;object-fit:contain;object-position:center}.learn-focus-player .learn-piano-scroll{flex:1 1 auto!important;min-height:95px!important;max-height:clamp(105px,20dvh,150px)!important}.learn-focus-player .learn-piano-keys{height:100%!important}.learn-focus-player .learn-actions{flex:0 0 auto!important;margin-top:auto!important;padding:0 0 8px!important;min-height:50px}.learn-focus-player .learn-actions button{min-height:48px}.learn-stage-result .learn-piano-scroll,.learn-stage-result .learn-staff-overview{display:none!important}@media(max-width:650px){.learn-focus-player{padding:8px 10px!important;gap:5px!important}.learn-focus-player .learn-heading h1{font-size:25px!important;line-height:1.12!important}.learn-focus-player .learn-heading p{display:none}.learn-focus-player .learn-teach{max-height:125px}.learn-focus-player .learn-teach .learn-idea strong{font-size:17px}.learn-focus-player .learn-teach p{font-size:13px!important}.learn-focus-player .learn-staff-overview .learn-staff{max-height:21dvh!important}.learn-focus-player .learn-actions{min-height:50px}}@media(max-height:700px){.learn-focus-player .learn-stages{display:none}.learn-focus-player .learn-teach{max-height:100px}.learn-focus-player .learn-staff-overview .learn-staff{max-height:19dvh!important}.learn-focus-player .learn-piano-scroll{max-height:17dvh!important}}.sound-lab{max-width:980px;margin:16px auto 50px;padding:0 14px;color:#e5f4ff}.sound-lab h1{font-size:clamp(25px,4vw,38px);line-height:1.2;margin:18px 0 10px}.sound-lab>p{color:#bed3e3;line-height:1.5}.sound-lab-panel{background:#192e47;border:1px solid #446486;border-radius:18px;padding:clamp(13px,3vw,24px);margin:18px 0;display:grid;grid-gap:14px;gap:14px}.sound-lab-panel h2{font-size:19px;margin:0}.sound-lab-head{display:flex;align-items:center;justify-content:space-between}.sound-lab-panel label{display:grid;grid-gap:8px;gap:8px;font-size:13px;font-weight:700}.sound-lab-panel input,.sound-lab-panel select{box-sizing:border-box;max-width:100%;width:100%;border:1px solid #6284a1;background:#243f5c;color:white;padding:12px;border-radius:10px;font-size:15px}.sound-wave{background:#0e2033;border:1px solid #4d6d83;border-radius:12px;min-height:90px;overflow:hidden}.sound-wave svg{width:100%;height:110px;display:block}.sound-spectrum{height:105px;display:flex;gap:1px;align-items:end;background:#0e2033;border:1px solid #4d6d83;border-radius:12px;padding:10px;overflow:hidden}.sound-spectrum span{flex:1 1;min-width:1px;max-width:12px;background:linear-gradient(#72eac5,#257fae);border-radius:2px 2px 0 0}.sound-lab-actions{display:flex;flex-wrap:wrap;gap:10px}.sound-lab button{border-radius:10px;padding:12px 16px;border:1px solid #6394ac;background:#284b67;color:#fff;font-weight:750;min-height:43px;cursor:pointer}.sound-lab button:disabled{opacity:.5;cursor:not-allowed}.sound-lab button.learn-primary{background:#18786e}.sound-lab-list{display:grid;grid-gap:10px;gap:10px;max-height:370px;overflow:auto}.sound-lab-list>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#10253b}.sound-lab-list small{color:#b6d0e2}.sound-lab-list audio{max-width:100%;flex:1 1 190px}.pf-tools-index button{background:#244867;color:#e7f7ff;border:1px solid #4d91a2;border-radius:9px;padding:10px 13px;text-align:left;font-weight:700}@media(max-width:580px){.sound-lab-actions button{flex:1 1 100%}.sound-lab-panel{padding:13px}.sound-lab-list>div{align-items:stretch;flex-direction:column}}.sound-spectrogram{width:100%;height:145px;display:block;background:#0c1829;border:1px solid #4d6d83;border-radius:12px;image-rendering:auto}.sound-benchmark-table{width:100%;border-collapse:collapse;font-size:14px}.sound-benchmark-table td,.sound-benchmark-table th{text-align:left;padding:10px 5px;border-bottom:1px solid #496780}.sound-benchmark-table td:not(:first-child),.sound-benchmark-table th:not(:first-child){text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sound-benchmark-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-bottom:1px solid #496780;padding:9px 0;font-size:13px}.sound-benchmark-row span{color:#c6e5ef}.sound-lab-panel small{line-height:1.5;color:#b9d0e1}.pf-experimental-ai{padding:12px 15px;margin:14px 0;border:1px solid #54748c;border-radius:12px;background:#1b3149;color:#e9f6fc;display:grid;grid-gap:6px;gap:6px}.pf-experimental-ai label{display:flex;gap:9px;align-items:center;font-weight:700}.pf-experimental-ai input{width:18px;height:18px;accent-color:#32b89d}.pf-experimental-ai small{line-height:1.5;color:#bdd5e4}.sound-ai-evidence{display:grid;grid-gap:7px;gap:7px;padding:12px;background:#142f49;border-radius:9px}.sound-ai-evidence>div{display:flex;gap:10px;align-items:center}.sound-ai-evidence meter{flex:1 1;max-width:250px}.sound-lab-steps{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.sound-lab-steps span{flex:1 1 115px;background:#274660;color:#e9f9ff;padding:12px;border:1px solid #54758c;border-radius:10px;font-size:13px;font-weight:700;text-align:center}.sound-lab-report{display:grid;grid-gap:12px;gap:12px;padding:14px;background:#122a43;border:1px solid #51798e;border-radius:12px}.sound-lab-report details{border-top:1px solid #3f5d75;padding:10px 0}.sound-lab-advanced summary,.sound-lab-report summary{cursor:pointer;font-weight:700}.sound-lab-report details p{font-size:12px;margin:6px 0}.sound-lab-advanced{padding:12px;border:1px solid #436681;border-radius:10px}.pf-tools-index .pf-lab-entry{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#1d655d;border-color:#4db29b;padding:16px}.pf-lab-entry small{font-size:12px;line-height:1.5;color:#ecfffb;font-weight:400}.sound-lab-experiment-list{display:grid;grid-gap:8px;gap:8px}.sound-lab-experiment-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid #3b6279;border-radius:10px}.sound-lab-experiment-row>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.sound-lab-experiment-row small{color:#b2d2dd}.sound-lab-experiment-row button{flex-shrink:0}