:root{color:#20201e;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f1eb;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}@media (max-width:820px){.module-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.home-page{padding:16px 12px 94px}.home-banner{border-radius:22px;padding:34px 18px 24px}.module-grid{grid-template-columns:1fr 1fr;gap:9px}.module-card{min-height:230px;padding:16px}}:root{--canvas:#f8f5f1;--surface:#fcfaf5;--ink:#27231f;--muted:#80786f;--rose:#b98e89;--gold:#b28a52;--line:#e4ddd4;--success:#dfe9df;--danger:#f0ddda}.home-page{background:var(--canvas)}.home-banner{border:1px solid var(--line);background:var(--surface);border-radius:28px;width:min(1120px,100%);margin:auto;padding:46px max(22px,min(6vw,74px)) 34px;box-shadow:0 20px 60px rgba(54,43,35,.06)}.home-eyebrow{color:var(--gold)}.home-hero h1{letter-spacing:-.02em;font-weight:500}.profile-heading p,.module-map-heading p{color:var(--rose)}.training-profile,.module-map,.quick-access{width:min(1120px,100%)}.profile-empty,.profile-overview,.profile-levels article,.module-card,.module-page-content,.practice-card,.stats-bar,.report-card{background:var(--surface);border-color:var(--line);box-shadow:0 14px 42px rgba(48,39,32,.055)}.ability-analysis{background:var(--ink);border-color:var(--ink)}.module-card{border-radius:22px;min-height:260px}.module-icon{color:transparent;background:#f1e8e4;width:48px;height:48px;position:relative;overflow:hidden}.module-icon:before,.module-icon:after{content:"";border:2px solid var(--rose);border-radius:50%;position:absolute}.module-card:first-child .module-icon:before{width:10px;height:10px;bottom:10px;left:13px}.module-card:first-child .module-icon:after{border-width:0 0 0 2px;border-radius:0;width:2px;height:24px;top:8px;left:25px}.module-card:nth-child(2) .module-icon:before{width:7px;height:7px;box-shadow:11px -5px 0 -2px #f1e8e4,11px -5px 0 0 var(--rose),22px -1px 0 -2px #f1e8e4,22px -1px 0 0 var(--rose);bottom:10px;left:8px}.module-card:nth-child(3) .module-icon:before{width:7px;height:7px;box-shadow:23px 0 0 -2px #f1e8e4,23px 0 0 0 var(--rose);top:18px;left:8px}.module-card:nth-child(3) .module-icon:after{border-width:2px 0 0;width:20px;height:0;top:22px;left:14px}.module-card:nth-child(4) .module-icon:before{width:7px;height:7px;box-shadow:0 11px 0 -2px #f1e8e4,0 11px 0 0 var(--rose),0 22px 0 -2px #f1e8e4,0 22px 0 0 var(--rose);top:7px;left:19px}.module-open-entry,.category-entry-card,.level-entry,.quick-access button{transition:all .2s}.module-open-entry{color:#7e5d59;background:0 0;border-color:#dac8c3}.module-open-entry:hover,.category-entry-card:hover{border-color:var(--rose);background:#f7f0ed}.quick-access{margin:38px auto 0}.quick-access>div:last-child{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.quick-access button{text-align:left;border:1px solid var(--line);background:var(--surface);min-height:150px;color:var(--ink);cursor:pointer;border-radius:20px;grid-template-columns:1fr auto;gap:6px;padding:20px;display:grid}.quick-access button i{color:var(--rose);letter-spacing:.12em;font-size:11px;font-style:normal}.quick-access button strong,.quick-access button span{grid-column:1/-1}.quick-access button strong{font-size:18px}.quick-access button span{color:var(--muted);font-size:12px}.quick-access button b{color:var(--gold);font-size:11px}.practice-card{border-radius:26px}.primary-action,.setup-start,.free-start{background:var(--ink);color:#fff;box-shadow:none;border-radius:14px}.secondary-action,.review-actions button,.interval-options button{border-color:var(--line);background:var(--surface);border-radius:14px}.interval-options button.selected-correct,.feedback-panel.correct{background:var(--success)}.interval-options button.selected-wrong,.feedback-panel.wrong{background:var(--danger)}.interval-play{position:relative;overflow:hidden}.interval-play:not(:disabled):after{content:"";vertical-align:middle;background:repeating-linear-gradient(90deg,rgba(255,255,255,.65) 0,rgba(255,255,255,.65) 2px,transparent 2px,transparent 6px);width:38px;height:14px;margin-left:12px;animation:1.2s ease-in-out infinite earlab-wave;display:inline-block}@keyframes earlab-wave{50%{opacity:.65;transform:scaleY(.45)}}.utility-page{min-height:100vh;padding:38px max(16px,min(5vw,64px)) 70px}.utility-header{text-align:center;width:min(1080px,100%);margin:auto}.utility-header .back-home{float:left}.utility-header p{color:var(--rose);letter-spacing:.18em;margin:46px 0 5px;font-size:11px;font-weight:800}.utility-header h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:42px;font-weight:500}.utility-header>span{color:var(--muted)}.free-training-layout{grid-template-columns:230px 1fr;gap:18px;width:min(1080px,100%);margin:34px auto;display:grid}.free-training-layout aside,.free-settings,.report-dashboard article{border:1px solid var(--line);background:var(--surface);border-radius:22px;padding:24px}.free-training-layout aside h2,.free-settings label,.free-settings legend{color:var(--muted);font-size:12px}.free-training-layout aside button{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--muted);cursor:pointer;background:0 0;justify-content:space-between;padding:13px 4px;display:flex}.free-training-layout aside button.active{color:var(--ink);font-weight:800}.free-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.free-settings>div,.free-settings fieldset{border:0;gap:10px;min-width:0;display:grid}.free-settings select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.free-settings fieldset{grid-template-columns:repeat(3,1fr)}.free-settings legend{grid-column:1/-1;margin-bottom:10px}.free-settings fieldset label{border:1px solid var(--line);border-radius:10px;padding:10px}.segmented-control{gap:5px;display:flex}.segmented-control button{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;padding:10px}.segmented-control button.active{background:var(--rose);border-color:var(--rose);color:#fff}.ratio-row,.range-row{grid-template-columns:1fr 1fr}.free-start{cursor:pointer;background:var(--rose);border:0;grid-column:1/-1;padding:15px}.report-dashboard{grid-template-columns:280px 1fr;gap:18px;width:min(1080px,100%);margin:34px auto;display:grid}.accuracy-overview{text-align:center;align-content:center;display:grid}.accuracy-overview strong{margin:8px;font-family:Georgia,serif;font-size:62px;font-weight:500}.accuracy-overview span,.accuracy-overview small{color:var(--muted)}.ability-bars h2{margin-top:0}.ability-bars>div{grid-template-columns:50px 1fr 44px;align-items:center;gap:10px;margin:13px 0;font-size:12px;display:grid}.ability-bars i{background:#eee7df;border-radius:6px;height:6px;overflow:hidden}.ability-bars b{background:var(--rose);border-radius:6px;height:100%;display:block}.insight-card{grid-column:1/-1}.insight-card p{color:var(--gold);letter-spacing:.12em;font-size:11px}.insight-card span{color:var(--muted);display:block}.insight-card button{background:var(--ink);color:#fff;border:0;border-radius:12px;margin-top:18px;padding:11px 16px}@media (max-width:820px){.module-grid,.quick-access>div:last-child{grid-template-columns:repeat(2,1fr)}.free-training-layout,.report-dashboard,.free-settings{grid-template-columns:1fr}.free-start,.insight-card{grid-column:auto}.free-training-layout aside{display:block}}@media (max-width:480px){.home-page{padding:16px 12px 94px}.home-banner{border-radius:22px;padding:34px 18px 24px}.module-grid{grid-template-columns:1fr 1fr;gap:9px}.module-card{min-height:230px;padding:16px}.module-card-header{flex-wrap:wrap;align-items:flex-start}.module-status{margin-left:0}.quick-access>div:last-child{grid-template-columns:1fr 1fr;gap:8px}.quick-access button{min-height:135px;padding:15px}.profile-heading>span,.module-map-heading>span{display:none}.utility-page{padding:22px 12px 70px}.utility-header h1{font-size:34px}.free-settings fieldset{grid-template-columns:repeat(2,1fr)}}*{box-sizing:border-box}button{font:inherit}html,body,#root{width:100%;max-width:100%;overflow-x:clip}body{min-width:0;min-height:100vh;margin:0}.home-page{background:linear-gradient(#292522 0,#292522 330px,#f3efe8 330px,#f3efe8 100%);min-height:100vh;padding:52px max(16px,min(5vw,70px)) 30px}.home-banner{position:relative}.home-hero{color:#fff;text-align:center;width:min(1080px,100%);margin:auto}.home-brand-mark{background:#7d302d;border:1px solid rgba(255,255,255,.25);border-radius:18px;align-items:center;justify-items:center;width:58px;height:58px;margin:auto;font-size:29px;display:grid;box-shadow:0 12px 28px rgba(0,0,0,.25)}.home-eyebrow{color:#d6b985;letter-spacing:.24em;margin:20px 0 8px;font-size:12px;font-weight:800}.home-hero h1{letter-spacing:.04em;margin:0;font-family:Georgia,Songti SC,serif;font-size:max(38px,min(7vw,64px))}.home-subtitle{color:#d8d2ca;letter-spacing:.12em;margin:9px 0 17px;font-size:max(16px,min(2.5vw,20px))}.home-range{color:#bdb5ac;align-items:center;gap:12px;font-size:12px;display:inline-flex}.home-range i{background:#c99d5c;border-radius:50%;width:3px;height:3px}.training-profile{width:min(1080px,100%);margin:0 auto}.profile-heading{justify-content:space-between;align-items:end;width:min(1080px,100%);margin:42px auto 14px;padding-left:4px;padding-right:4px;display:flex}.profile-heading p{color:#d4b071;letter-spacing:.2em;margin:0 0 3px;font-size:10px;font-weight:850}.profile-heading h2{color:#fff;margin:0;font-size:28px}.profile-heading>span{color:#aaa29a;font-size:11px}.profile-empty{background:#fffdf9;border:1px solid #ddd4c8;border-radius:17px;justify-content:center;align-items:center;gap:14px;min-height:100px;padding:22px;display:flex;box-shadow:0 14px 36px rgba(53,43,35,.08)}.profile-empty>span{color:#a77540;font-size:32px}.profile-empty strong{color:#413b35}.profile-empty p{color:#81776d;margin:4px 0 0;font-size:12px}.profile-overview{background:#fffdf9;border:1px solid #ddd4c8;border-radius:17px;grid-template-columns:repeat(3,1fr) 1.6fr;display:grid;overflow:hidden;box-shadow:0 14px 36px rgba(53,43,35,.08)}.profile-overview>div{border-right:1px solid #e5ddd2;align-content:center;gap:5px;min-height:96px;padding:19px;display:grid}.profile-overview>div:last-child{border-right:0}.profile-overview span{color:#81766c;font-size:11px}.profile-overview strong{color:#342f2b;font-size:29px}.profile-overview strong small{margin-left:3px;font-size:11px;font-weight:500}.profile-overview .latest-training strong{font-size:15px}.profile-overview .latest-training>small{color:#9a8f84;font-size:10px}.profile-levels{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px;display:grid}.profile-levels article{background:rgba(255,253,249,.94);border:1px solid #ddd4c8;border-radius:13px;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.profile-levels article>div{gap:2px;display:grid}.profile-levels article>div span{color:#8b8075;font-size:10px}.profile-levels article>div strong{font-size:16px}.profile-levels dl{gap:17px;margin:0;display:flex}.profile-levels dl div{text-align:right;gap:2px;display:grid}.profile-levels dt{color:#998e83;font-size:9px}.profile-levels dd{color:#6d302d;margin:0;font-size:12px;font-weight:800}.ability-analysis{color:#fff;background:#292522;border:1px solid #d7cbbb;border-radius:17px;grid-template-columns:180px 1fr;gap:18px 24px;margin-top:12px;padding:20px;display:grid;box-shadow:0 14px 36px rgba(53,43,35,.12)}.ability-title{align-items:center;gap:11px;display:flex}.ability-title>span{color:#f0d6b2;background:#7d302d;border-radius:11px;align-items:center;justify-items:center;width:39px;height:39px;font-size:20px;display:grid}.ability-title small{color:#b9945e;letter-spacing:.15em;font-size:8px;font-weight:800}.ability-title h3{margin:3px 0 0;font-size:17px}.ability-metrics{background:#48423d;border-radius:11px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.ability-metrics>div{background:#34302d;align-content:center;gap:4px;min-height:68px;padding:11px 13px;display:grid}.ability-metrics span{color:#bdb4ac;font-size:9px}.ability-metrics strong{font-size:19px}.ability-metrics small{color:#c8a879;font-size:9px}.ability-metrics i{--ability-value:0%;background:linear-gradient(90deg, #b98b52 var(--ability-value), #57504a var(--ability-value));border-radius:4px;width:100%;height:3px}.ability-suggestion{background:#3a3531;border-radius:10px;grid-column:1/-1;align-items:center;gap:12px;padding:11px 14px;display:flex}.ability-suggestion span{color:#f0d9c0;background:#72534a;border-radius:6px;flex:none;padding:4px 7px;font-size:9px}.ability-suggestion strong{font-size:12px;font-weight:600}.module-map{width:min(1080px,100%);margin:42px auto 0}.module-map-heading{justify-content:space-between;align-items:end;margin:0 4px 17px;display:flex}.module-map-heading p{color:#9a6c38;letter-spacing:.2em;margin:0 0 3px;font-size:10px;font-weight:850}.module-map-heading h2{margin:0;font-size:28px}.module-map-heading>span{color:#81776d;font-size:13px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:17px;display:grid}.module-card{background:rgba(255,253,249,.98);border:1px solid #dfd6ca;border-radius:20px;padding:24px;box-shadow:0 14px 36px rgba(53,43,35,.07)}.module-card.locked{box-shadow:none;background:#eeebe5}.module-card-header{align-items:center;gap:12px;display:flex}.module-icon{color:#7d302d;background:#efe1d5;border-radius:12px;align-items:center;justify-items:center;width:44px;height:44px;font-size:24px;display:grid}.locked .module-icon{color:#7e776e;background:#e0dcd5}.module-card-header p{color:#9b8975;letter-spacing:.12em;margin:0 0 2px;font-size:10px;font-weight:800}.module-card-header h3{margin:0;font-size:21px}.module-status{color:#7c766f;background:#e0ddd8;border-radius:99px;margin-left:auto;padding:6px 9px;font-size:10px;font-weight:800}.module-status.open{color:#3d6b4b;background:#e3efe5}.module-description{color:#776d63;margin:15px 0;font-size:13px}.module-levels{gap:8px;display:grid}.interval-training-tree{gap:10px;display:grid}.tree-toggle{color:#39322c;text-align:left;cursor:pointer;background:#fffaf5;border:1px solid #d8cbbd;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:58px;padding:11px 14px;display:flex}.tree-toggle span{gap:3px;display:grid}.tree-toggle small{color:#9a7868;letter-spacing:.08em;font-size:10px;font-weight:800}.tree-toggle strong{font-size:15px}.tree-toggle>b{color:#7d302d;background:#f2e6dc;border-radius:50%;flex:none;align-items:center;justify-items:center;width:28px;height:28px;font-size:20px;line-height:1;display:grid}.tree-toggle:hover{background:#fff7f1;border-color:#b9897e}.tree-root-toggle{background:#fdf3ed;border-color:#c9a69d}.tree-branches,.tree-categories{border-left:1px solid #dfd0c4;gap:9px;padding:2px 0 0 12px;display:grid}.tree-branch,.tree-categories>section{gap:8px;display:grid}.tree-category-toggle{background:#fff;min-height:54px}.tree-levels{padding:0 0 2px 12px}.tree-levels .level-entry{background:#fffdfa}.tree-coming-soon{gap:7px;padding-left:12px;display:grid}.tree-coming-soon>div{color:#746c64;background:#f5f1ec;border:1px dashed #d3c7bb;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:11px 13px;display:grid}.tree-coming-soon span,.tree-coming-soon small{color:#9b8d80;font-size:10px;font-weight:800}.module-entry-card{flex-direction:column;display:flex}.module-entry-card .module-open-entry{margin-top:auto}.module-navigation-page{min-height:100vh}.training-rules-page{background:#f3efe8;align-items:center;justify-items:center;min-height:100vh;padding:max(18px,min(6vh,64px)) 16px;display:grid}.training-rules-card{text-align:center;background:#fcfaf5;border:1px solid #dfd5cc;border-radius:26px;width:min(520px,100%);padding:max(24px,min(5vw,42px));box-shadow:0 20px 55px rgba(55,43,35,.08)}.training-rules-module{color:#9b716d;background:#f1e8e4;border-radius:20px;width:62px;height:62px;margin:0 auto 12px;padding:13px}.training-rules-module svg{width:100%;height:100%}.training-rules-card>p{color:#9b716d;letter-spacing:.12em;margin:0;font-size:.78rem;font-weight:800}.training-rules-card h1{color:#2d2824;margin:7px 0 22px;font-family:Georgia,Songti SC,serif;font-size:max(28px,min(6vw,38px))}.training-rules-list{text-align:left;gap:9px;display:grid}.training-rules-list>div{background:#f6f1eb;border-radius:13px;grid-template-columns:52px 1fr;align-items:start;gap:10px;padding:12px 13px;display:grid}.training-rules-list strong{color:#966d68;font-size:.82rem}.training-rules-list span{color:#4d4640;font-size:.9rem;line-height:1.55}.training-rules-card>button{color:#fff;background:#2d2824;border:0;border-radius:14px;width:100%;margin-top:22px;padding:14px 18px;font-size:1rem;font-weight:800;box-shadow:0 9px 20px rgba(45,40,36,.16)}.training-rules-card>button:active{transform:translateY(1px)}.module-page-header{text-align:center;max-width:920px;margin:0 auto;padding:44px 24px 28px;position:relative}.module-page-header .back-home{position:absolute;top:24px;left:24px}.module-page-header .home-brand-mark{margin:20px auto 12px}.module-page-header h1{margin:4px 0 7px;font-size:max(30px,min(6vw,46px))}.module-page-content{background:rgba(255,253,249,.98);border:1px solid #dfd6ca;border-radius:22px;width:min(760px,100% - 32px);margin:0 auto 60px;padding:24px;box-shadow:0 14px 36px rgba(53,43,35,.07)}.single-note-range-picker{background:rgba(255,253,249,.82);border:1px solid #e0d2c5;border-radius:18px;margin-bottom:16px;padding:18px}.single-note-range-picker header small{color:#a2665e;letter-spacing:.08em;font-weight:800}.single-note-range-picker header h2{margin:5px 0 3px;font-size:20px}.single-note-range-picker header p{color:#8b8076;margin:0 0 14px;font-size:13px}.single-note-range-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.single-note-range-picker button{color:#514943;text-align:left;background:#fffdfa;border:1px solid #ddcec0;border-radius:15px;min-height:70px;padding:12px}.single-note-range-picker button strong,.single-note-range-picker button span{display:block}.single-note-range-picker button span{color:#8a7d73;margin-top:5px;font-size:12px}.single-note-range-picker button.active{color:#8f413b;background:#f5e7e2;border-color:#b77469;box-shadow:inset 0 0 0 1px rgba(183,116,105,.16)}.module-page-levels{gap:11px}.category-card-grid{grid-template-columns:1fr;gap:11px;display:grid}.category-entry-card{color:#39322c;text-align:left;cursor:pointer;background:#fffaf5;border:1px solid #d8cbbd;border-radius:15px;grid-template-rows:auto auto;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:3px 13px;width:100%;min-height:82px;padding:14px 16px;display:grid;box-shadow:0 5px 14px rgba(61,48,38,.04)}.category-entry-card>span{color:#7d302d;background:#f2e6dc;border-radius:50%;grid-area:1/1/3;align-items:center;justify-items:center;width:38px;height:38px;font-weight:800;display:grid}.category-entry-card>strong{grid-area:1/2;align-self:end;font-size:16px}.category-entry-card>small{color:#82766b;grid-area:2/2;align-self:start;min-width:0;line-height:1.4}.category-entry-card>b{color:#8b3934;white-space:nowrap;grid-area:1/3/3}.category-entry-card:hover{border-color:#b9897e;transform:translateY(-1px)}.category-entry-card.reserved{color:#746c64;cursor:default;box-shadow:none;background:#f3f0eb}.seventh-inversion-picker{background:#fffaf5;border:1px solid #d8cbbd;border-radius:17px;margin-bottom:16px;padding:18px 20px}.seventh-inversion-picker header{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.seventh-inversion-picker header small{color:#aa785a;letter-spacing:.08em;font-weight:700}.seventh-inversion-picker header h2{margin:3px 0 0;font-size:19px}.seventh-inversion-picker header>span{color:#82766b;font-size:13px}.seventh-inversion-picker>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.seventh-inversion-picker button{color:#62584f;cursor:pointer;background:#fff;border:1px solid #d8cbbd;border-radius:12px;min-height:44px}.seventh-inversion-picker button.active{color:#7d302d;background:#f0e2de;border-color:#b9897e;font-weight:700;box-shadow:inset 0 0 0 1px rgba(185,137,126,.2)}@media (max-width:600px){.seventh-inversion-picker{padding:15px 12px}.seventh-inversion-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.seventh-inversion-picker header{align-items:flex-start}.seventh-inversion-picker header>span{padding-top:4px}}.level-entry{color:#322e2a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e0d7ca;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:82px;padding:14px 16px;display:flex}.level-entry:hover{background:#fdf8f2;border-color:#b88a68;transform:translateY(-1px)}.level-entry span{gap:2px;display:grid}.level-entry small{color:#9a6c38;letter-spacing:.1em;font-size:9px;font-weight:850}.level-entry strong{font-size:16px}.level-entry b{color:#8a3d37;font-size:11px}.locked-entry{color:#77716a;cursor:default;background:#e8e4de}.locked-entry:hover{background:#e8e4de;border-color:#e0d7ca;transform:none}.locked-entry b{color:#938c84}.unlock-condition{color:#716a63;background:#e3dfd8;border-radius:10px;align-items:center;gap:9px;margin-top:15px;padding:12px;display:flex}.unlock-condition>span{font-size:21px}.unlock-condition p{gap:2px;margin:0;font-size:11px;display:grid}.unlock-condition strong{color:#514c47;font-size:10px}.module-open-entry{color:#7d302d;cursor:pointer;background:#fff;border:1px solid #d8c8b5;border-radius:10px;width:100%;padding:12px;font-weight:800}.module-open-entry:hover{background:#f7eee3}.home-footer{color:#999087;text-align:center;margin-top:26px;font-size:11px}.back-home{color:#685c50;cursor:pointer;background:#fffaf3;border:1px solid #d9cbb6;border-radius:9px;flex:none;padding:8px 10px;font-weight:700}.back-home:hover{background:#f0e7db}.placeholder-page{background:radial-gradient(circle at 20% 10%,rgba(154,108,56,.15),transparent 34%),#f3efe8;align-items:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.placeholder-card{text-align:center;background:#fffdf9;border:1px solid #ddd2c3;border-radius:24px;width:min(560px,100%);padding:max(34px,min(7vw,60px));box-shadow:0 24px 70px rgba(66,52,37,.1)}.placeholder-mark{color:#fff;background:#7d302d;border-radius:15px;align-items:center;justify-items:center;width:54px;height:54px;margin:auto;font-size:27px;display:grid}.placeholder-card>p:first-of-type{color:#9a6c38;letter-spacing:.14em;margin:18px 0 5px;font-size:11px;font-weight:800}.placeholder-card h1{margin:0;font-size:max(30px,min(6vw,44px))}.placeholder-card h2{color:#62584f;margin:7px 0 0;font-size:18px}.placeholder-status{color:#765d46;background:#eee5da;border-radius:99px;margin:24px 0 10px;padding:7px 11px;font-size:11px;font-weight:800;display:inline-block}.placeholder-card .placeholder-copy{color:#81776d;max-width:380px;margin:0 auto 24px;font-size:13px;line-height:1.7}.placeholder-card button{color:#fff;cursor:pointer;background:#292522;border:0;border-radius:10px;padding:12px 18px;font-weight:800}.setup-page{background:radial-gradient(circle at 20% 10%,rgba(154,108,56,.15),transparent 34%),#f3efe8;align-items:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.setup-card{text-align:center;background:#fffdf9;border:1px solid #ddd2c3;border-radius:24px;width:min(560px,100%);padding:max(26px,min(6vw,52px));box-shadow:0 24px 70px rgba(66,52,37,.1)}.setup-card .back-home{margin-bottom:26px;display:block}.setup-mark{color:#fff;background:#292522;border-radius:50%;align-items:center;justify-items:center;width:58px;height:58px;margin:auto;font-size:28px;display:grid}.setup-card h1{margin:7px 0;font-size:max(29px,min(6vw,42px))}.setup-course{color:#766b60;margin:0 0 28px}.question-count-field{text-align:left;background:#f8f4ed;border:1px solid #e1d7ca;border-radius:16px;gap:10px;padding:20px;display:grid}.question-count-field>span{color:#514940;font-weight:800}.question-count-field>div{align-items:center;gap:10px;display:flex}.question-count-field input{color:#292522;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #cdbfac;border-radius:10px;padding:12px 14px;font-size:24px;font-weight:800}.question-count-field b{white-space:nowrap}.question-count-field small{color:#81766b}.quick-counts{grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0 22px;display:grid}.quick-counts button{color:#655b51;cursor:pointer;background:#fff;border:1px solid #d7caba;border-radius:9px;padding:10px 5px;font-weight:750}.quick-counts button.active{color:#fff;background:#8d4039;border-color:#8d4039}.setup-start{justify-content:center;width:100%}.practice-page{background:radial-gradient(circle at 8% 5%,rgba(177,139,76,.13),transparent 28%),linear-gradient(#faf8f3 0%,#f1ede6 100%);min-height:100vh;padding:34px max(16px,min(4vw,48px)) 48px;overflow-x:hidden}.brand-header{align-items:center;gap:14px;width:min(1080px,100%);margin:0 auto 24px;display:flex}.brand-mark{color:#fff;background:#7d302d;border-radius:14px;align-items:center;justify-items:center;width:48px;height:48px;font-size:25px;display:grid;box-shadow:0 8px 20px rgba(125,48,45,.22)}.brand-kicker,.section-label{color:#9a6c38;letter-spacing:.14em;margin:0 0 3px;font-size:12px;font-weight:800}.brand-header h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:max(24px,min(4vw,34px))}.level-badge{color:#695b4c;border:1px solid #d9cbb6;border-radius:99px;margin-left:auto;padding:8px 12px;font-size:13px}.level-switch{background:#eee7dc;border:1px solid #d9cbb6;border-radius:12px;gap:3px;margin-left:auto;padding:4px;display:flex}.level-switch button{color:#75695d;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:750}.level-switch button.active{color:#fff;background:#7d302d;box-shadow:0 3px 9px rgba(125,48,45,.18)}.practice-card{background:rgba(255,253,249,.96);border:1px solid #e1d8cb;border-radius:24px;width:min(1080px,100%);margin:auto;padding:max(22px,min(4vw,42px));box-shadow:0 24px 70px rgba(66,52,37,.1)}.stats-bar{background:rgba(255,253,249,.9);border:1px solid #e1d8cb;border-radius:16px;grid-template-columns:repeat(4,1fr);width:min(1080px,100%);margin:0 auto 14px;padding:14px 20px;display:grid}.stats-bar div{text-align:center;border-right:1px solid #e7dfd4;gap:4px;display:grid}.stats-bar div:last-child{border-right:0}.stats-bar span{color:#887d72;font-size:12px}.stats-bar strong{font-size:20px}.stats-bar .correct-stat{color:#3e7050}.stats-bar .wrong-stat{color:#a3433f}.question-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.question-heading h2{margin:4px 0 7px;font-size:max(26px,min(4vw,38px))}.question-heading p:not(.section-label){color:#756b61;margin:0}.audio-controls{gap:9px;width:min(290px,100%);display:grid}.primary-action,.secondary-action,.next-button{cursor:pointer;border:0;border-radius:12px;padding:13px 18px;font-weight:750}.primary-action{color:#fff;background:#7d302d;box-shadow:0 8px 18px rgba(125,48,45,.18)}.secondary-action{color:#65584b;background:#f7f2ea;border:1px solid #d8ccbc}.next-button{color:#fff;background:#252321}.primary-action:hover:not(:disabled),.next-button:hover{background:#682522}.secondary-action:hover:not(:disabled){background:#eee5d9}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.52}.practice-intro{justify-content:space-between;align-items:center;gap:24px;display:flex}.practice-intro h2{margin:4px 0 7px;font-size:max(26px,min(4vw,38px))}.practice-intro p:not(.section-label){color:#756b61;margin:0}.play-button{color:#fff;cursor:pointer;background:#7d302d;border:0;border-radius:12px;flex:none;align-items:center;gap:9px;padding:13px 19px;font-weight:700;display:flex;box-shadow:0 8px 18px rgba(125,48,45,.2)}.play-button:hover{background:#682522}.play-button:active{transform:translateY(1px)}.play-button.has-played{background:#47604d}.target-row{color:#756a5e;background:#f3efe8;border-radius:12px;justify-content:space-between;margin:28px 0 14px;padding:14px 17px;display:flex}.target-row strong{color:#9d8f7f;letter-spacing:.18em}.feedback-panel{color:#7c7166;background:#fff;border:1px solid #e3dbcf;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;min-height:74px;margin-bottom:22px;padding:13px 18px;display:flex}.feedback-panel.correct{color:#315e40;background:#f0f8f1;border-color:#b9d4c0}.feedback-panel.wrong{color:#8e302c;background:#fff2f0;border-color:#e0b9b5}.feedback-panel div{gap:4px;display:grid}.feedback-panel strong{font-size:19px}.feedback-panel small{color:inherit}.feedback-panel .auto-next-hint{opacity:.72;margin-left:auto}.note-group-feedback{display:block}.note-group-feedback>strong{text-align:center;display:block}.practice-card>.feedback-panel{margin-top:24px}.feedback-panel.correct{justify-content:center;min-height:44px;padding:9px 14px}.feedback-panel.correct strong{white-space:nowrap;font-size:15px;line-height:1.2}.feedback-panel.correct .auto-next-hint{display:none}.feedback-panel.correct.note-group-feedback{display:flex}.position-feedback-wrap{width:100%;margin-top:8px}.position-feedback-wrap>strong{margin-bottom:7px;display:block}.position-feedback-list{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid}.position-feedback-list[data-count="5"],.position-feedback-list[data-count="10"]{grid-template-columns:repeat(5,minmax(0,1fr))}.position-feedback-list li{border:1px solid;border-radius:9px;grid-template-columns:20px minmax(0,1fr);align-content:center;align-items:center;gap:3px;min-width:0;min-height:62px;padding:6px 5px;display:grid;overflow:hidden}.position-feedback-list li.position-correct{color:#1f6b38;background:#e9f7ed;border-color:#65a875;box-shadow:inset 4px 0 #3f9158}.position-feedback-list li.position-wrong{color:#b42318;background:#fff0ee;border-color:#d9665f;box-shadow:inset 4px 0 #c24138}.position-number{color:#fff;border-radius:50%;align-items:center;justify-items:center;width:18px;height:18px;font-size:9px;font-weight:800;display:grid}.position-correct .position-number{background:#31824c}.position-wrong .position-number{background:#c13f36}.position-feedback-list b{text-align:center;white-space:nowrap;min-width:0;font-size:13px}.position-feedback-list small{text-align:center;white-space:normal;grid-column:1/-1;gap:1px;min-width:0;margin-top:1px;font-size:8px;font-weight:750;line-height:1.2;display:grid}.position-status>span:first-child{letter-spacing:.08em;font-size:9px}.position-correct .position-status>span:first-child{color:#267140}.position-wrong .position-status>span:first-child{color:#a82c24}.position-wrong small{color:#9f251d}@media (max-width:360px){.position-feedback-list[data-count="5"],.position-feedback-list[data-count="10"]{grid-template-columns:repeat(3,minmax(0,1fr))}.position-feedback-list{gap:4px}.position-feedback-list li{padding-left:4px;padding-right:4px}}.harmonic-pitch-review{gap:7px;display:grid}.harmonic-pitch-review span{display:block}.review-actions{grid-template-columns:repeat(3,1fr);gap:9px;margin:-8px 0 20px;display:grid}.review-actions button{color:#5f5449;cursor:pointer;background:#f8f3ec;border:1px solid #d5c7b7;border-radius:10px;padding:11px 12px;font-weight:750}.review-actions button:hover{background:#eee4d7}.review-actions .review-next{color:#fff;background:#292522;border-color:#292522}.review-actions .review-next:hover{background:#181614}.feedback-review-actions{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.group-answer-panel{justify-items:center;gap:9px;margin:26px 0 18px;display:grid}.answer-slots{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.answer-slots span{color:#a3988c;background:#f7f2eb;border:1px dashed #cbbdad;border-radius:14px;align-items:center;justify-items:center;gap:2px;width:64px;min-height:58px;padding:7px 4px;display:grid}.answer-slots span small{font-size:10px;font-weight:650}.answer-slots span b{font-size:14px;font-weight:800}.answer-slots span.filled{color:#7d302d;background:#f3dfd9;border-style:solid;border-color:#a45d51;box-shadow:0 5px 12px rgba(125,48,45,.1)}.group-answer-panel p{color:#83786d;margin:0;font-size:12px}.delete-last-answer{color:#655b51;cursor:pointer;background:#fffaf4;border:1px solid #d5c7b7;border-radius:9px;padding:8px 13px;font-weight:700}.delete-last-answer:disabled{opacity:.42;cursor:not-allowed}.note-group-answer-panel{grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:stretch;gap:7px 10px;width:100%;margin:16px 0 14px}.note-group-answer-slots{grid-column:1/-1;justify-content:center;gap:7px;width:100%;display:grid}.note-group-answer-slots[data-count="3"]{grid-template-columns:repeat(3,minmax(0,64px))}.note-group-answer-slots[data-count="5"]{grid-template-columns:repeat(5,minmax(0,58px))}.note-group-answer-slots[data-count="10"]{grid-template-columns:repeat(10,minmax(0,58px))}.note-group-answer-slots>span{border-radius:11px;width:100%;min-width:0;min-height:48px;padding:5px 2px}.note-group-answer-panel .delete-last-answer{justify-self:end;padding:7px 10px;font-size:11px}.note-group-answer-panel>p{text-align:left;min-width:0;line-height:1.35}.playback-position{color:#7d5d53;text-align:center;font-size:12px;font-weight:750;display:block}.answer-panel{background:#fff;border:1px solid #e3dbcf;border-radius:14px;grid-template-columns:1fr auto;align-items:center;min-height:74px;margin-bottom:22px;padding:13px 18px;display:grid}.answer-panel span{color:#6f655a;font-size:14px}.answer-panel strong{color:#aaa096;font-size:25px}.answer-panel strong.has-answer{color:#7d302d}.answer-panel small{color:#9b8d7f;text-align:right;grid-column:2}.piano-wrap{width:100%;min-width:0;max-width:100%;overflow:hidden}.practice-hint{color:#80786f;text-align:center;margin:12px 0 14px;font-size:12px;line-height:1.5}.piano-swipe-hint{color:#8b7b6d;text-align:center;margin:0 0 8px;font-size:12px;font-weight:700}.piano-audition-hint{color:#9b665c;text-align:center;margin:0 0 8px;font-size:13px;font-weight:700}.piano-scroll-shell{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;cursor:grab;scrollbar-width:thin;scrollbar-color:#cbbdad transparent;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.piano-scroll-shell:active{cursor:grabbing}.piano{--white-key-width:46px;--key-gap:2px;width:calc(var(--white-key-count,14) * var(--white-key-width) + (var(--white-key-count,14) - 1) * var(--key-gap) + 4px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#24211f;border-radius:10px;height:260px;margin:0 auto;padding:0 2px 3px;position:relative;overflow:hidden;box-shadow:0 14px 26px rgba(37,31,27,.2)}.white-keys{gap:var(--key-gap);height:100%;display:flex}.piano-key{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.piano.is-disabled .piano-key{cursor:not-allowed}.piano.is-disabled .white-key{color:#aaa39c}.piano.is-disabled:after{content:"";z-index:3;pointer-events:none;background:rgba(246,241,234,.16);position:absolute;top:0;bottom:0;left:0;right:0}.white-key{flex:0 0 var(--white-key-width);width:var(--white-key-width);color:#615a53;background:linear-gradient(90deg,#e7e2da 0,#fff 12%,#fff 82%,#ddd7cf 100%);border:0;border-radius:0 0 6px 6px;position:relative;box-shadow:inset 0 -5px #d8d2ca}.white-key span{white-space:nowrap;writing-mode:horizontal-tb;font-size:max(11px,min(1.6vw,15px));line-height:1;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.white-key:hover{background:#f5eee4}.white-key:active,.white-key.is-selected{background:#ead1c4;box-shadow:inset 0 -3px #c5937d,inset 0 0 0 2px #9d5148}.black-key{z-index:2;top:0;left:calc(2px + var(--key-position) * (var(--white-key-width) + var(--key-gap)) - var(--white-key-width) * .31);width:calc(var(--white-key-width) * .62);color:#d8d2ca;background:linear-gradient(90deg,#171615,#363330 63%,#111);border:0;border-radius:0 0 6px 6px;height:61%;padding:0;position:absolute;box-shadow:inset 0 -8px #090909,0 5px 7px rgba(0,0,0,.35)}.black-key span{white-space:nowrap;writing-mode:horizontal-tb;font-size:max(9px,min(1.35vw,12px));line-height:1;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.black-key:hover{background:#3c3733}.black-key:active,.black-key.is-selected{background:linear-gradient(#9e5149,#662824);box-shadow:inset 0 -4px #4c1d1a,0 3px 5px rgba(0,0,0,.3)}.piano-key:focus-visible{outline-offset:-3px;outline:3px solid #d9a441}.keyboard-range{color:#9b9188;justify-content:space-between;margin-top:10px;font-size:12px;display:flex}.keyboard-tip{color:#8d8379;text-align:center;margin:8px 0 0;font-size:13px}.audio-status.ready{color:#47604d}.audio-status.loading{color:#8a6c45}.audio-status.error{color:#a03a34}.question-footer{justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-top:8px;display:flex}.interval-card{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}.interval-heading h2{margin:5px 0 8px}.interval-heading>p:last-child{color:#786e64;margin:0}.interval-play{justify-content:center;min-width:210px}.note-gap-setting{color:#847970;gap:7px;width:min(100%,320px);margin:-4px auto 14px;font-size:12px;display:grid}.note-gap-setting label{justify-content:space-between;align-items:center;gap:12px;display:flex}.note-gap-setting output{color:#765956;font-weight:700}.note-gap-setting input{accent-color:#b98e89;touch-action:pan-y;width:100%;min-height:28px;margin:0}.note-gap-setting input:disabled{opacity:.5}.free-practice-card .interval-heading{margin-bottom:0}.free-play-area{justify-content:center;margin:28px 0 8px;display:flex}.free-next-row{width:100%;margin-top:16px}.free-next-action{color:#fff;cursor:pointer;background:#b98e89;border:0;border-radius:14px;width:100%;min-height:48px;padding:12px 18px;font-size:15px;font-weight:800;box-shadow:0 8px 20px rgba(185,142,137,.2)}.free-next-action:hover{background:#a77c77}.interval-waiting{color:#8a8076;align-items:center;justify-items:center;min-height:62px;margin:22px 0 0;display:grid}.interval-options{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;gap:14px;width:min(100%,480px);margin:24px auto;display:grid}.interval-options.columns-3,.interval-options[data-option-count="9"],.interval-options[data-option-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,680px)}.interval-options[data-option-count="8"]{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,760px)}.interval-options[data-option-count="10"],.interval-options[data-option-count="11"]{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,680px)}.interval-options[data-option-count="7"] button:last-child{grid-column:1/-1;justify-self:center;width:100%;max-width:233px}.interval-options button{color:#38322d;cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #cdbdaf;border-radius:14px;min-height:66px;padding:14px 12px;font-size:18px;font-weight:800;box-shadow:0 8px 18px rgba(61,48,38,.06)}.interval-options button:hover:not(:disabled){background:#fff8f4;border-color:#9b5a50}.interval-options button:disabled{cursor:default;opacity:.76}.interval-options button.selected-correct{color:#1f6b38;background:#e9f7ed;border-color:#65a875}.interval-options button.selected-wrong{color:#b42318;background:#fff0ee;border-color:#d9665f}.interval-feedback{text-align:left;margin-top:18px}.interval-review-actions{grid-template-columns:repeat(2,1fr);margin-top:12px}.interval-pitch-slots{grid-template-columns:repeat(2,minmax(0,1fr));max-width:340px;margin-left:auto;margin-right:auto}.interval-pitch-slots>span{border-radius:11px;width:82px;min-height:48px;padding:5px 4px}.interval-pitch-slots span b{white-space:nowrap}.interval-pitch-replay{margin:14px auto 0}.report-page{align-items:start;justify-items:center}.brand-header.compact{margin-bottom:18px}.report-card{text-align:center;background:#fffdf9;border:1px solid #e1d8cb;border-radius:24px;width:min(760px,100%);margin:auto;padding:max(28px,min(6vw,56px));box-shadow:0 24px 70px rgba(66,52,37,.1)}.report-card h2{margin:8px 0 22px;font-size:max(30px,min(6vw,48px))}.report-navigation-actions{grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-top:22px;display:grid}.report-navigation-actions button{color:#5f554c;cursor:pointer;background:#fcfaf5;border:1px solid #d8ccc0;border-radius:13px;min-height:46px;padding:10px 14px;font-weight:800}.report-navigation-actions .primary-action{color:#fff;background:#27231f;border-color:#27231f}.practice-page .brand-header .back-home:after{content:"← 返回模块";font-size:12px}.score-orb{color:#8b3531;background:#f1e2de;border-radius:50%;align-content:center;justify-content:center;width:136px;height:136px;margin:0 auto 28px;display:grid;box-shadow:inset 0 0 0 8px #f8efec}.score-orb.passed{color:#315e40;background:#dcecdf;box-shadow:inset 0 0 0 8px #eef6ef}.score-orb strong{font-size:52px;line-height:1}.score-orb span{margin-top:5px;font-size:12px}.report-grid{border:1px solid #e4dbcf;border-radius:15px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:0 0 24px;display:grid;overflow:hidden}.report-grid div{border-right:1px solid #e4dbcf;gap:5px;padding:17px 8px;display:grid}.report-grid div:last-child{border-right:0}.report-grid strong{font-size:21px}.report-grid span{color:#8b8075;font-size:12px}.challenge-result{color:#873631;background:#fff1ef;border-radius:13px;gap:5px;margin-bottom:22px;padding:17px;display:grid}.challenge-result.success{color:#315e40;background:#edf7ef}.challenge-result span{font-size:13px}.level-two-analysis{text-align:left;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 24px;display:grid}.level-two-analysis div{background:#f5f1eb;border-radius:12px;justify-content:space-between;align-items:center;padding:15px 17px;display:flex}.level-two-analysis span{color:#7e7469;font-size:13px}.level-two-analysis strong{color:#403a34;font-size:18px}.level-two-analysis .most-missed{grid-column:1/-1}.level-two-analysis .most-missed strong{color:#913d38;font-size:15px}.report-level-action{margin-right:8px}@media (max-width:620px){.setup-page{padding:12px}.setup-card{padding:24px 16px}.home-page{background:#f3efe8;padding:34px 12px 24px}.home-banner:before{content:"";z-index:-1;background:#292522;width:100vw;position:absolute;top:-34px;bottom:0;left:50%;transform:translate(-50%)}.home-brand-mark{width:50px;height:50px}.home-eyebrow{margin-top:15px}.home-subtitle{letter-spacing:.06em}.module-map{margin-top:35px}.profile-heading{margin-top:35px;margin-bottom:0;padding-left:4px;padding-right:4px}.training-profile{margin-top:28px}.profile-heading>span{display:none}.profile-overview{grid-template-columns:repeat(3,1fr)}.profile-overview>div{text-align:center;min-height:82px;padding:13px 8px}.profile-overview>div:nth-child(3){border-right:0}.profile-overview .latest-training{text-align:left;border-top:1px solid #e5ddd2;border-right:0;grid-column:1/-1;min-height:70px}.profile-overview strong{font-size:24px}.profile-levels{grid-template-columns:1fr}.profile-levels article{flex-direction:column;align-items:flex-start;gap:12px}.profile-levels dl{justify-content:space-between;width:100%}.ability-analysis{grid-template-columns:1fr;padding:16px}.ability-metrics{grid-template-columns:repeat(2,1fr)}.ability-suggestion{flex-direction:column;grid-column:auto;align-items:flex-start}.module-map-heading>span{display:none}.module-grid{grid-template-columns:1fr}.module-card{padding:19px 16px}.module-card-header h3{font-size:19px}.module-navigation-page{padding-top:14px}.module-page-header{padding:12px 12px 22px}.module-page-header .back-home{width:-webkit-max-content;width:-moz-max-content;width:max-content;margin:0 0 16px;display:block;position:static}.module-page-header .home-brand-mark{margin-top:0}.module-page-content{border-radius:18px;width:100%;margin-bottom:28px;padding:16px 13px}.category-card-grid{grid-template-columns:1fr;gap:10px}.category-entry-card,.level-entry{border-radius:14px;min-height:76px;padding:12px 13px}.category-entry-card{grid-template-columns:36px minmax(0,1fr) auto;column-gap:11px}.category-entry-card>span{width:36px;height:36px}.category-entry-card>strong,.level-entry strong{font-size:15px}.back-home{padding:7px 8px;font-size:12px}.practice-page{padding:14px 12px 24px}.report-navigation-actions{grid-template-columns:1fr}.brand-header{flex-wrap:wrap;margin-bottom:12px}.brand-header .level-switch{width:100%;margin-left:0}.brand-header .level-switch button{flex:1}.brand-mark{width:42px;height:42px}.level-badge{display:none}.level-switch button{padding:7px 8px}.practice-card{border-radius:18px;padding:16px 14px 18px}.stats-bar{margin-bottom:10px;padding:9px 4px}.stats-bar strong{font-size:17px}.question-heading{flex-direction:column;gap:11px}.question-heading h2{margin-top:2px;margin-bottom:5px;font-size:25px}.question-heading p:not(.section-label){font-size:13px;line-height:1.5}.audio-controls{width:100%}.practice-intro{flex-direction:column;align-items:flex-start;gap:16px}.play-button{justify-content:center;width:100%}.target-row{margin-top:20px}.answer-panel{margin-bottom:16px}.feedback-panel{flex-direction:column;align-items:flex-start;min-height:0;margin-bottom:14px;padding:11px 13px}.review-actions{grid-template-columns:1fr}.answer-slots{gap:8px}.answer-slots span{border-radius:11px;width:52px;min-height:50px}.note-group-answer-panel{gap:6px 8px;margin:12px 0}.note-group-answer-slots{gap:5px}.note-group-answer-slots[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.note-group-answer-slots[data-count="5"],.note-group-answer-slots[data-count="10"]{grid-template-columns:repeat(5,minmax(0,1fr))}.note-group-answer-slots>span{border-radius:9px;width:100%;min-width:0;min-height:44px;padding:4px 1px}.note-group-answer-slots span small{font-size:8px}.note-group-answer-slots span b{font-size:12px}.practice-card>.feedback-panel{margin-top:22px}.feedback-panel.correct{flex-direction:row;align-items:center;padding:9px 12px}.piano{height:220px}.white-key span{font-size:12px;bottom:10px}.black-key span{font-size:10px;bottom:9px}.question-footer{flex-direction:column;align-items:stretch;min-height:30px;margin-top:4px}.next-button{width:100%}.report-grid{grid-template-columns:repeat(2,1fr)}.report-grid div:nth-child(2){border-right:0}.report-grid div:nth-child(-n+2){border-bottom:1px solid #e4dbcf}.level-two-analysis{grid-template-columns:1fr}.level-two-analysis .most-missed{flex-direction:column;grid-column:auto;align-items:flex-start;gap:5px}.interval-options{gap:10px}.interval-options button{min-height:62px;padding:12px 8px;font-size:16px}.free-play-area{margin-top:24px}.free-play-area .interval-play{width:100%}.interval-options.columns-3{gap:7px}.interval-options.columns-3 button{padding-left:4px;padding-right:4px;font-size:14px}.interval-options[data-option-count="9"],.interval-options[data-option-count="6"]{gap:7px}.interval-options[data-option-count="6"] button{padding-left:4px;padding-right:4px;font-size:14px}.interval-options[data-option-count="8"]{gap:6px}.interval-options[data-option-count="8"] button{min-height:58px;padding-left:3px;padding-right:3px;font-size:13px}.interval-options[data-option-count="10"]{gap:7px}.interval-options[data-option-count="10"] button,.interval-options[data-option-count="9"] button{padding-left:4px;padding-right:4px;font-size:14px}.interval-options[data-option-count="11"]{gap:7px}.interval-options[data-option-count="11"] button{padding-left:4px;padding-right:4px;font-size:14px}.report-level-action{width:100%;margin:0 0 9px}}body{color:#27231f;background:#f8f5f1}.home-page{background:#f8f5f1;padding-bottom:100px}.home-banner{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:28px;width:min(1120px,100%);margin:auto;padding:46px max(22px,min(6vw,74px)) 34px;box-shadow:0 20px 60px rgba(54,43,35,.06)}.home-hero{color:#27231f}.home-brand-mark,.brand-mark{color:#956b66;box-shadow:none;background:0 0;border:1px solid #cfb7b2;border-radius:50%}.home-hero h1 span{color:#80786f;letter-spacing:.16em;margin-top:6px;font-family:Inter,PingFang SC,sans-serif;font-size:.34em;font-weight:500;display:block}.home-subtitle,.home-range{color:#80786f}.profile-heading{margin-top:30px}.profile-heading h2{color:#27231f}.module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.module-card{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:22px;min-height:260px;box-shadow:0 14px 42px rgba(48,39,32,.055)}.module-card.unlocked{border-top:1px solid #e4ddd4}.practice-page,.setup-page,.placeholder-page,.utility-page{background:#f8f5f1}.practice-card,.stats-bar,.report-card{background:#fcfaf5;border-color:#e4ddd4;box-shadow:0 14px 42px rgba(48,39,32,.055)}.primary-action,.setup-start{color:#fff;box-shadow:none;background:#27231f;border-radius:14px}@media (max-width:820px){.module-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.home-page{padding:16px 12px 94px}.home-banner{border-radius:22px;padding:34px 18px 24px}.module-grid{grid-template-columns:1fr 1fr;gap:9px}.module-card{min-height:230px;padding:16px}}.module-card-order{color:#b28a52;letter-spacing:.16em;margin:0 0 16px;font-size:10px;font-weight:800}.module-card .module-card-header{flex-wrap:nowrap;align-items:center}.module-card .module-card-header>div{min-width:0}.module-card .module-card-header h3{white-space:nowrap;max-width:100%;margin:0;line-height:1.25}.module-training-subtitle{color:#80786f;white-space:nowrap;margin-top:4px;font-size:11px;line-height:1.35;display:block}.module-card .module-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:36px;line-height:18px;display:-webkit-box;overflow:hidden}.module-card .module-icon{color:#a47772;width:46px;height:46px;box-shadow:none;background:#f1e8e4;border:0;border-radius:13px;flex:0 0 46px;font-size:23px;position:static;overflow:visible}.module-card .module-icon:before,.module-card .module-icon:after{content:none;display:none}.earlab-brand-icon,.earlab-module-icon{color:#a47772;width:100%;height:100%;display:block;overflow:visible}.home-brand-mark .earlab-brand-icon{width:74%;height:74%}.earlab-logo-ear{stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round}.earlab-logo-inner{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.earlab-logo-melody{stroke:#b28a52;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.earlab-logo-tone{fill:#fcfaf5;stroke:currentColor;stroke-width:1.45px}.earlab-logo-tone.accent{fill:#b28a52;stroke:#b28a52}.music-note-head{fill:currentColor}.music-note-head.accent{fill:#b28a52}.music-note-stem{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.music-whole-note{fill:#fcfaf5;stroke:currentColor;stroke-width:2px}.music-whole-note.accent{stroke:#b28a52}.music-distance-guide{fill:none;stroke:#b28a52;stroke-width:1.35px;stroke-linecap:round;opacity:.8}.music-note-beam{fill:currentColor}.music-staff-line{fill:none;stroke:#a47772;stroke-width:1.35px;stroke-linecap:round;opacity:.78}.music-microphone-head{fill:#fcfaf5;stroke:#a47772;stroke-width:2px}.music-microphone-line{fill:none;stroke:#a47772;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.music-microphone-detail{fill:none;stroke:#b28a52;stroke-width:1.25px;stroke-linecap:round}.earlab-module-icon{width:34px;height:34px}.earlab-module-icon-fallback{align-items:center;justify-items:center;line-height:1;display:grid}.training-module-mark{flex:none;align-items:center;justify-items:center;display:grid}.brand-header .training-module-mark{color:#a47772;width:46px;height:46px;box-shadow:none;background:#f1e8e4;border:0;border-radius:13px}.brand-header .training-module-mark .earlab-module-icon{width:34px;height:34px}.rhythm-header>.training-module-mark,.melody-header>.training-module-mark{color:#a47772;background:#f1e8e4;border-radius:13px;width:46px;height:46px;margin:0 auto 8px}.rhythm-header>.training-module-mark+.brand-kicker,.melody-header>.training-module-mark+.brand-kicker{margin-top:0}.module-page-header>.training-module-mark{color:#a47772;width:46px;height:46px;box-shadow:none;background:#f1e8e4;border:0;border-radius:13px;margin:20px auto 13px}.module-page-header>.training-module-mark .earlab-module-icon{width:34px;height:34px}.module-card .module-status{flex:none}.module-card{position:relative}.module-card .module-status{position:absolute;top:18px;right:18px}.module-card .module-card-header{padding-right:0}@media (max-width:480px){.module-card .module-status{padding:5px 7px;top:14px;right:12px}.module-training-subtitle{font-size:10px}.module-card .module-card-header h3{font-size:18px}}.advanced-free-settings{background:0 0;border:0;grid-template-columns:1fr 1fr;align-items:start;gap:16px;padding:0;display:grid}.setting-section,.saved-schemes{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;min-width:0;padding:22px}.setting-section:nth-child(3),.saved-schemes,.free-actions{grid-column:1/-1}.setting-heading{align-items:center;gap:11px;margin-bottom:18px;display:flex}.setting-heading>span{color:#a47772;background:#f1e8e4;border-radius:10px;flex:none;align-items:center;justify-items:center;width:31px;height:31px;font-size:10px;font-weight:850;display:grid}.setting-heading h2{margin:0;font-size:17px}.setting-heading p{color:#80786f;margin:3px 0 0;font-size:11px}.setting-label{color:#80786f;margin:18px 0 9px;font-size:11px;font-weight:750;display:block}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-grid.compact{margin-top:9px}.choice-grid button{color:#5f5851;cursor:pointer;background:#fffdfa;border:1px solid #e0d7cf;border-radius:11px;min-height:43px;padding:9px}.choice-grid button.active{color:#fff;background:#b98e89;border-color:#b98e89}.expandable-groups{gap:8px;display:grid}.expandable-groups details{background:#fffdfa;border:1px solid #e4ddd4;border-radius:12px;overflow:hidden}.expandable-groups summary{color:#423d38;cursor:pointer;justify-content:space-between;padding:12px 13px;font-size:13px;font-weight:750;list-style:none;display:flex}.expandable-groups summary small{color:#a47772}.expandable-groups details>div{grid-template-columns:repeat(2,1fr);gap:7px;padding:0 11px 11px;display:grid}.expandable-groups label,.check-grid label{color:#655e57;background:#f7f2ed;border-radius:9px;align-items:center;gap:7px;padding:9px;font-size:11px;display:flex}.expandable-groups input,.check-grid input{accent-color:#b98e89}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.seventh-chord-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seventh-answer-slots{grid-template-columns:repeat(4,minmax(0,64px));width:100%;display:grid}.free-actions{grid-template-columns:1fr 1.5fr;gap:10px;display:grid}.free-actions button{cursor:pointer;border-radius:13px;min-height:50px;font-weight:800}.save-scheme{color:#8e6863;background:#fcfaf5;border:1px solid #cdb8b3}.advanced-free-settings .free-start{color:#fff;background:#b98e89;border:0;grid-column:auto}.saved-schemes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.saved-schemes .setting-heading{grid-column:1/-1}.saved-scheme-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-width:0;display:grid}.saved-scheme-load{color:#39342f;text-align:left;cursor:pointer;background:#fffdfa;border:1px solid #e4ddd4;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:3px;min-width:0;padding:13px;display:grid}.saved-scheme-load span{color:#80786f;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:10px;overflow:hidden}.saved-scheme-load b{color:#a47772;grid-area:1/2;font-size:10px}.saved-scheme-delete{color:#9a4f48;cursor:pointer;background:#fbefed;border:1px solid #e4c8c3;border-radius:12px;padding:0 12px;font-family:inherit;font-weight:700}@media (max-width:760px){.advanced-free-settings{grid-template-columns:1fr}.setting-section:nth-child(3),.saved-schemes,.free-actions{grid-column:auto}.saved-schemes{grid-template-columns:1fr}.free-actions{grid-template-columns:1fr 1fr}}@media (max-width:380px){.choice-grid.three,.choice-grid.four{grid-template-columns:repeat(2,1fr)}.check-grid{grid-template-columns:1fr}}@media (max-width:420px){.seventh-chord-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seventh-answer-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.seventh-answer-slots span{width:100%;min-width:0}}@media (max-width:430px){.free-training-page{width:100%;min-width:0;max-width:100vw;padding-left:12px;padding-right:12px;overflow:visible}.free-training-page .utility-header{width:100%;min-width:0;max-width:100%}.free-training-layout{flex-direction:column;gap:14px;width:100%;min-width:0;max-width:100%;margin:24px 0 0;display:flex;overflow:visible}.free-training-layout aside,.free-training-layout .free-settings{width:100%;min-width:0;max-width:100%;margin:0;overflow:visible}.free-training-layout aside{border-radius:17px;padding:16px 14px;display:block}.free-training-layout aside h2{margin:0 0 7px}.free-training-layout aside button{white-space:normal;overflow-wrap:anywhere;min-width:0;min-height:42px;padding:10px 4px}.advanced-free-settings{flex-direction:column;gap:12px;width:100%;min-width:0;max-width:100%;display:flex}.advanced-free-settings>.setting-section,.advanced-free-settings>.saved-schemes,.advanced-free-settings>.free-actions{grid-column:auto;width:100%;min-width:0;max-width:100%;margin:0}.setting-section,.saved-schemes{border-radius:17px;padding:16px 13px;overflow:visible}.setting-heading{align-items:flex-start;min-width:0}.setting-heading>div{min-width:0}.setting-heading h2,.setting-heading p{overflow-wrap:anywhere}.choice-grid,.choice-grid.three,.choice-grid.four,.check-grid,.expandable-groups details>div{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;max-width:100%}.choice-grid button,.check-grid label,.expandable-groups label{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}.free-actions{flex-direction:column;gap:8px;display:flex}.free-actions button{width:100%;min-width:0;max-width:100%}.saved-schemes{flex-direction:column;display:flex}.saved-schemes .setting-heading{width:100%}}.legacy-access-banner{color:#554a3e;background:#f7f0e2;border:1px solid #ddcfb8;border-radius:16px;order:-1;justify-content:space-between;align-items:center;gap:16px;width:min(1120px,100%);margin:0 auto 12px;padding:13px 16px;display:flex}.legacy-access-banner>div{gap:3px;display:grid}.legacy-access-banner strong{font-size:13px}.legacy-access-banner span{color:#837566;font-size:11px;line-height:1.45}.legacy-access-banner button{color:#806135;background:#fffaf2;border:1px solid #b28a52;border-radius:999px;flex:none;padding:8px 13px;font-size:11px;font-weight:800}@media (max-width:430px){.legacy-access-banner{align-items:flex-start}.legacy-access-banner button{padding-left:10px;padding-right:10px}}.account-page{color:#27231f;background:#f8f5f1;align-items:center;justify-items:center;min-height:100vh;padding:max(18px,min(5vw,56px)) 14px;display:grid}.account-card{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:28px;width:min(440px,100%);padding:max(22px,min(6vw,38px));box-shadow:0 22px 60px rgba(54,43,35,.08)}.account-back{color:#80786f;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:12px}.account-card header{text-align:center;margin:25px 0 20px}.account-card header small{color:#b98e89;letter-spacing:.18em;font-size:10px;font-weight:800}.account-card header h1{margin:7px 0 9px;font-family:Georgia,Songti SC,serif;font-size:34px;font-weight:500;line-height:1.2}.account-card header p{color:#80786f;margin:0;font-size:13px;line-height:1.65}.account-mode-tabs{background:#f1ebe4;border-radius:13px;grid-template-columns:1fr 1fr;margin-bottom:18px;padding:4px;display:grid}.account-mode-tabs button{color:#80786f;background:0 0;border:0;border-radius:10px;min-height:38px;font-weight:700}.account-mode-tabs button.active{color:#7d4f49;background:#fffaf5;box-shadow:0 3px 10px rgba(77,55,44,.08)}.account-card form{gap:14px;display:grid}.account-card form label{color:#70665e;gap:7px;font-size:12px;font-weight:700;display:grid}.account-card form input{color:#27231f;width:100%;min-height:47px;font:inherit;background:#fffdf9;border:1px solid #ded4cb;border-radius:13px;outline:none;padding:11px 13px}.account-card form input:focus{border-color:#b98e89;box-shadow:0 0 0 3px rgba(185,142,137,.13)}.account-primary{color:#fff;letter-spacing:.05em;cursor:pointer;background:#956b66;border:0;border-radius:14px;min-height:48px;margin-top:4px;font-weight:800}.account-primary:disabled{opacity:.55}.account-error{color:#9b4e47;background:#f4e4e1;border-radius:10px;margin:0;padding:9px 11px;font-size:12px;line-height:1.45}.activation-card form input{text-align:center;text-transform:uppercase;letter-spacing:.08em}.activation-note{color:#948981;text-align:center;margin:18px 0 0;font-size:11px;line-height:1.6}@media (max-width:390px){.account-page{padding:12px}.account-card{border-radius:22px;padding:22px 17px}.account-card header{margin:20px 0 17px}.account-card header h1{font-size:29px}}.admin-login-page{background:#f4f0ea;align-items:center;justify-items:center;min-height:100vh;padding:20px;display:grid}.admin-login-card{background:#fcfaf5;border:1px solid #e1d8cf;border-radius:26px;width:min(410px,100%);padding:38px;box-shadow:0 22px 60px rgba(52,41,34,.09)}.admin-login-card header{text-align:center;margin-bottom:25px}.admin-login-card header small,.admin-heading small{color:#b98e89;letter-spacing:.18em;font-size:10px;font-weight:800}.admin-login-card h1{margin:6px 0;font-family:Georgia,Songti SC,serif;font-size:34px}.admin-login-card header p{color:#80786f;margin:0;font-size:12px}.admin-login-card form{gap:14px;display:grid}.admin-login-card label{color:#71675f;gap:7px;font-size:12px;font-weight:700;display:grid}.admin-login-card input,.admin-detail-grid input,.admin-detail-grid select,.admin-code-create input{color:#27231f;background:#fffdf9;border:1px solid #ddd3ca;border-radius:11px;min-height:44px;padding:9px 11px}.admin-page{color:#27231f;background:#f7f4ef;grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.admin-page>aside{color:#fff;background:#302b27;flex-direction:column;padding:28px 18px;display:flex}.admin-page>aside>div{gap:4px;padding:0 10px 25px;display:grid}.admin-page>aside small{color:#caa39d;letter-spacing:.18em;font-size:10px}.admin-page>aside strong{font-size:20px}.admin-page nav{gap:7px;display:grid}.admin-page nav button,.admin-logout{color:#c9c1ba;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:12px 13px}.admin-page nav button.active{color:#fff;background:#514640}.admin-logout{margin-top:auto}.admin-content{min-width:0;padding:max(20px,min(4vw,44px))}.admin-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.admin-heading h1{margin:4px 0 0;font-family:Georgia,Songti SC,serif;font-size:34px;font-weight:500}.admin-heading>span{color:#81776f;font-size:12px}.admin-table-card,.admin-detail-grid article,.admin-generated{background:#fcfaf5;border:1px solid #e2dad1;border-radius:18px;box-shadow:0 10px 30px rgba(59,47,39,.043)}.admin-table-card{overflow:hidden}.admin-table{min-width:760px}.admin-table-head,.admin-table-row{align-items:center;gap:12px;display:grid}.admin-user-table .admin-table-head,.admin-user-table .admin-table-row{grid-template-columns:1.2fr 1fr .65fr 1fr 1fr}.admin-table-head{color:#81776f;background:#f0eae3;padding:12px 16px;font-size:11px;font-weight:800}.admin-table-row{border-top:1px solid #ebe4dd;min-height:64px;padding:11px 16px;font-size:12px}.admin-table-row>span:first-child{gap:3px;display:grid}.admin-table-row small{color:#91877e}.admin-status{color:#776e67;background:#eee8e1;border-radius:999px;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:5px 8px;font-size:10px;font-style:normal;font-weight:800}.admin-status.active,.admin-status.unused{color:#567052;background:#e3ece2}.admin-status.disabled{color:#944f49;background:#f1dfdc}.admin-status.used{color:#756b63;background:#ece5dd}.admin-row-actions{gap:6px;display:flex}.admin-row-actions button,.admin-code-create button,.admin-generated button,.admin-text-button{color:#6f625a;cursor:pointer;background:#fffaf5;border:1px solid #d9cfc6;border-radius:9px;padding:7px 10px}.admin-row-actions button.danger{color:#9b514a;border-color:#e5c5c1}.admin-empty{color:#8a8078;text-align:center;padding:30px}.admin-detail-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.admin-detail-grid article{padding:22px}.admin-detail-grid h2{margin:0 0 17px;font-size:17px}.admin-detail-grid dl{gap:12px;margin:0;display:grid}.admin-detail-grid dl div{justify-content:space-between;gap:15px;display:flex}.admin-detail-grid dt{color:#887e75;font-size:12px}.admin-detail-grid dd{text-align:right;margin:0;font-size:12px}.admin-license-card{grid-column:1/-1;grid-template-columns:1fr 1fr auto;align-items:end;gap:13px;display:grid}.admin-license-card h2{grid-column:1/-1}.admin-license-card label{color:#81776f;gap:6px;font-size:11px;display:grid}.admin-license-card .account-primary{min-width:120px}.admin-text-button{margin-bottom:8px}.admin-code-create{gap:8px;display:flex}.admin-code-create input{width:75px}.admin-code-create button{color:#fff;background:#956b66;border-color:#956b66}.admin-generated{grid-template-columns:1fr auto;gap:10px;margin-bottom:16px;padding:16px;display:grid}.admin-generated textarea{background:#fffdf9;border:1px solid #ddd3ca;border-radius:10px;grid-column:1/-1;min-height:105px;padding:10px;font:12px/1.6 monospace}.admin-generated button{grid-column:2}.admin-content>.admin-table-card{overflow-x:auto}@media (max-width:760px){.admin-page{grid-template-columns:1fr}.admin-page>aside{z-index:5;grid-template-columns:auto 1fr auto;align-items:center;padding:12px;display:grid;position:-webkit-sticky;position:sticky;top:0}.admin-page>aside>div{padding:0 10px}.admin-page>aside nav{justify-content:center;display:flex}.admin-logout{margin:0}.admin-content{padding:18px 12px}.admin-heading{flex-direction:column;align-items:flex-start}.admin-detail-grid{grid-template-columns:1fr}.admin-license-card{grid-column:auto;grid-template-columns:1fr}.admin-login-card{padding:26px 20px}.admin-page>aside small{display:none}}.training-review{background:#fffdfa;border:1px solid #e4ddd4;border-radius:22px;width:min(900px,100%);margin:0 auto;padding:22px;box-shadow:0 16px 40px rgba(81,67,57,.08)}.training-review>header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.training-review>header h2{margin:3px 0 0}.training-review>header button{color:#6f625a;background:#fff;border:1px solid #ded4c9;border-radius:999px;min-height:38px;padding:0 14px}.training-review-list{gap:10px;display:grid}.training-review-list article{background:#fff;border:1px solid #ded8cf;border-left:4px solid #8eaa8b;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;padding:14px 15px;display:grid;position:relative}.training-review-list article.wrong{background:snow;border-left-color:#bd7770}.training-review-list article>header{align-items:center;gap:12px;min-width:0;display:flex}.training-review-list article>header b{color:#668267;font-size:13px}.training-review-list article.wrong>header b{color:#ad5f59}.training-review-answers{color:#746b64;flex-wrap:wrap;grid-column:1;gap:5px 20px;font-size:13px;display:flex}.training-review-answers span{overflow-wrap:anywhere;min-width:0}.training-review-item-actions{grid-area:1/2/3;align-self:center;gap:7px;display:grid}.training-review-item-actions button{border:1px solid #cdb6b0;border-radius:999px;min-height:38px;padding:0 14px;font-weight:700}.training-review-replay{color:#875f59;background:#f8efeb}.training-review-retry{color:#fff;background:#9b746f}.training-review-item-actions button:disabled{opacity:.55}.training-review-play-error{color:#a05f5a;grid-column:1/-1;margin:0;font-size:12px}.single-note-review-answers{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;display:grid}.single-note-review-answers span{color:#8a8078;gap:2px;font-size:11px;display:grid}.single-note-review-answers strong{color:#403a34;font-size:15px}@media (max-width:430px){.training-review{border-radius:18px;padding:15px}.training-review-list article{grid-template-columns:1fr;padding:12px}.training-review-item-actions{grid-area:auto/1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.training-review-answers{grid-column:1;gap:4px;display:grid}.single-note-review-answers{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.single-note-review-answers strong{font-size:14px}}.history-review-button{color:#875f59;background:#fbf3ef;border:1px solid #d7c5bf;border-radius:999px;min-height:36px;margin-top:10px;padding:0 13px;font-weight:700}.wrong-book-page{width:min(960px,100%);margin:0 auto}.wrong-book-tabs{gap:7px;margin:18px 0;padding-bottom:4px;display:flex;overflow-x:auto}.wrong-book-tabs button{color:#6f655d;background:#fffdfa;border:1px solid #ded4c9;border-radius:999px;flex:none;min-height:38px;padding:0 15px}.wrong-book-tabs button.active{color:#fff;background:#a87973;border-color:#a87973}.wrong-book-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wrong-book-list article{background:#fffdfa;border:1px solid #e0d8ce;border-left:4px solid #bb746d;border-radius:18px;padding:17px}.wrong-book-list article.practicing{border-left-color:#c49d63}.wrong-book-list article.mastered{opacity:.82;border-left-color:#7e9b7c}.wrong-book-list article>header{justify-content:space-between;gap:12px;display:flex}.wrong-book-list h2{overflow-wrap:anywhere;margin:4px 0 0;font-size:17px}.wrong-book-list article>header small{color:#81766e}.wrong-book-list article>header b{color:#a05d57;white-space:nowrap;background:#f6e8e5;border-radius:999px;height:26px;padding:5px 9px;font-size:11px}.wrong-book-list article.practicing>header b{color:#96713d;background:#f6eedf}.wrong-book-list article.mastered>header b{color:#587258;background:#e5eee4}.wrong-book-stats{color:#766c64;flex-wrap:wrap;gap:5px 12px;margin:13px 0 8px;font-size:12px;display:flex}.wrong-book-list article>p{color:#766c64;min-height:36px;margin:7px 0 13px;font-size:12px}.wrong-book-list article>div:last-child{gap:8px;display:flex}.wrong-book-list article>div:last-child button{color:#705f57;background:#fff;border:1px solid #d8c9c0;border-radius:11px;flex:1;min-height:40px;font-weight:700}.wrong-book-list article>div:last-child .primary{color:#fff;background:#a87973;border-color:#a87973}@media (max-width:600px){.wrong-book-list{grid-template-columns:1fr}.wrong-book-list article>p{min-height:0}.learning-quick-actions>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}.learning-quick-actions button:last-child{grid-column:auto!important}}.melodic-interval-quality-page .interval-heading .section-label{margin:0 0 10px;line-height:1.5}.melodic-interval-quality-page .interval-heading h2{margin:0 0 14px;line-height:1.38}.melodic-interval-quality-page .interval-heading h2 small{color:inherit;font:inherit;margin-top:4px;font-size:.72em;font-weight:600;line-height:1.45;display:block}.melodic-interval-quality-page .interval-heading>p:last-child{margin:0 0 18px;line-height:1.75}.compact-history-page,.compact-ability-page{width:min(980px,100%);margin:0 auto;padding-bottom:28px}.compact-utility-header{text-align:center;justify-items:center;padding-top:8px;padding-bottom:14px;display:grid;position:relative}.compact-utility-header .back-home{position:absolute;top:8px;left:0}.compact-utility-header>p{color:#a88980;letter-spacing:.18em;margin:0 0 5px;font-size:10px;font-weight:700;line-height:1.4}.compact-utility-header>h1,.history-header.compact-utility-header>h1{color:#332d29;letter-spacing:.06em;text-align:center;margin:0;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-size:32px;font-style:normal;font-weight:700;line-height:1.16;transform:none}.compact-utility-header>span{color:#837970;letter-spacing:.02em;margin-top:8px;font-size:13px;line-height:1.65}.history-compact-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:8px 0 14px;display:grid}.history-compact-overview article{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:16px;align-content:center;gap:4px;min-width:0;min-height:82px;padding:13px 14px;display:grid}.history-compact-overview span,.history-compact-overview small{color:#857a72;font-size:11px}.history-compact-overview strong{color:#4e443e;text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.2;overflow:hidden}.history-compact-list{background:#fffdfa;border:1px solid #e4ddd4;border-radius:19px;padding:15px}.history-compact-list>header{justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px;display:flex}.history-compact-list>header small{color:#ae8981;letter-spacing:.15em;font-size:9px}.history-compact-list>header h2{margin:2px 0 0;font-size:20px}.history-compact-list>header button{color:#956b66;background:0 0;border:0;padding:7px 10px;font-size:12px}.history-compact-list>div{gap:7px;display:grid}.history-compact-list>div>article{background:#fff;border:1px solid #ebe5dd;border-radius:13px;grid-template-columns:minmax(135px,1.4fr) repeat(3,minmax(65px,.7fr)) auto;align-items:center;gap:10px;min-height:58px;padding:9px 11px;display:grid}.history-compact-module{gap:3px;min-width:0;display:grid}.history-compact-module strong{font-size:14px}.history-compact-module span,.history-compact-list article>div:not(.history-compact-module)>span{color:#8b8179;font-size:10px}.history-compact-list article>div:not(.history-compact-module){gap:3px;display:grid}.history-compact-list article>div:not(.history-compact-module)>strong{white-space:nowrap;font-size:13px}.history-compact-list article>button{color:#875f59;background:#fbf3ef;border:1px solid #dbc9c3;border-radius:999px;min-height:32px;padding:0 10px;font-size:11px;font-weight:700}.history-compact-more{color:#756960;background:#f9f5ef;border:1px solid #ded4c9;border-radius:11px;width:100%;min-height:38px;margin-top:10px;font-weight:700}.ability-radar-card{background:#fffdfa;border:1px solid #e2d9d0;border-radius:21px;grid-template-columns:150px minmax(0,1fr);align-items:center;margin-top:7px;padding:15px 18px 8px;display:grid}.ability-radar-card>div:first-child small{color:#ad8981;letter-spacing:.15em;font-size:9px}.ability-radar-card>div:first-child h2{margin:5px 0;font-size:20px}.ability-radar-wrap{width:min(100%,390px);margin:auto}.ability-radar{width:100%;max-height:285px;display:block;overflow:visible}.ability-radar-grid{fill:none;stroke:#ded5cb;stroke-width:1px}.ability-radar-axis{stroke:#e5ddd4;stroke-width:1px}.ability-radar-shape{fill:rgba(178,132,123,.24);stroke:#a87973;stroke-width:2px;stroke-linejoin:round}.ability-radar-label,.ability-radar-value{text-anchor:middle;dominant-baseline:middle}.ability-radar-label{fill:#554a44;font-size:12px;font-weight:700}.ability-radar-value{fill:#9b716b;font-size:9px}.ability-compact-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.ability-compact-summary article{background:#fcfaf5;border:1px solid #e6ded5;border-radius:15px;align-content:center;gap:3px;min-height:76px;padding:12px 13px;display:grid}.ability-compact-summary span,.ability-compact-summary small{color:#877c74;font-size:10px}.ability-compact-summary strong{font-size:17px;line-height:1.25}.ability-brief-advice{background:#eee4de;border-radius:16px;grid-template-columns:auto 1fr;gap:3px 13px;margin-top:10px;padding:13px 16px;display:grid}.ability-brief-advice small{color:#a07871;letter-spacing:.14em;grid-column:1/-1;font-size:9px}.ability-brief-advice strong{font-size:14px}.ability-brief-advice p{color:#6e625b;margin:0;font-size:12px;line-height:1.55}@media (max-width:600px){.compact-history-page,.compact-ability-page{padding:10px 11px 24px}.compact-utility-header{padding-top:46px}.compact-utility-header .back-home{top:4px}.compact-utility-header>h1,.history-header.compact-utility-header>h1{font-size:27px}.history-compact-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.history-compact-overview article{min-height:68px;padding:9px 11px}.history-compact-overview strong{font-size:17px}.history-compact-list{padding:11px}.history-compact-list>div>article{grid-template-columns:minmax(105px,1.3fr) repeat(2,minmax(48px,.65fr)) auto;gap:6px;min-height:54px;padding:8px}.history-compact-list article>div:nth-child(4){display:none}.history-compact-list article>button{padding-left:8px;padding-right:8px}.ability-radar-card{text-align:center;padding:13px 8px 5px;display:block}.ability-radar-card>div:first-child h2{font-size:18px}.ability-radar-wrap{max-width:330px}.ability-radar{max-height:270px}.ability-compact-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ability-compact-summary article{min-height:66px;padding:9px 11px}.ability-compact-summary strong{font-size:15px}.ability-brief-advice{grid-template-columns:1fr;gap:4px;margin-top:8px;padding:11px 13px}.ability-brief-advice small{grid-column:auto}}:where(.utility-header,.rhythm-header,.melody-header,.module-page-header,.mock-exam-page>header){--earlab-title-size:clamp(30px,5vw,44px);--earlab-title-line:1.18;box-sizing:border-box}:where(.utility-header,.rhythm-header,.melody-header){text-align:center;position:relative}.utility-header .back-home{float:none;position:absolute;top:6px;left:0}.utility-header{padding-top:48px}.rhythm-header,.melody-header{padding-top:46px}.rhythm-header>button,.melody-header>button{margin:0;position:absolute;top:4px;left:0}:is(.utility-header>p,.rhythm-header>p,.melody-header>p,.mock-exam-page>header>small,.module-page-header>.home-eyebrow){color:#a98279;letter-spacing:.18em;text-transform:uppercase;margin:0 0 7px;font-family:Arial,Microsoft YaHei,sans-serif;font-size:10px;font-style:normal;font-weight:750;line-height:1.45}:is(.utility-header>h1,.rhythm-header>h1,.melody-header>h1,.module-page-header>h1,.mock-exam-page>header>h1){color:#332d29;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,sans-serif;font-size:var(--earlab-title-size);font-style:normal;font-weight:700;line-height:var(--earlab-title-line);letter-spacing:.035em;text-align:center;text-indent:.035em;margin:0;transform:none}:is(.utility-header>span,.rhythm-header>span,.melody-header>span,.module-page-header>.home-subtitle,.mock-exam-page>header>p){color:#81776f;letter-spacing:.015em;text-align:center;max-width:680px;margin:9px auto 0;font-size:13px;font-weight:400;line-height:1.65;display:block}.module-page-header>.home-brand-mark{margin-bottom:13px}.module-page-header>.home-eyebrow{margin-bottom:7px}.brand-header>div:not(.brand-mark){align-content:center;gap:4px;min-width:0;display:grid}.brand-header .brand-kicker{letter-spacing:.16em;margin:0;font-family:Arial,Microsoft YaHei,sans-serif;font-size:10px;font-style:normal;line-height:1.45}.brand-header h1{letter-spacing:.025em;margin:0;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-style:normal;font-weight:700;line-height:1.22;transform:none}.training-rules-card>p{line-height:1.45}.training-rules-card h1{letter-spacing:.035em;margin:7px 0 22px;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-style:normal;font-weight:700;line-height:1.2;transform:none}.metronome-header h1{letter-spacing:.035em;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-style:normal;font-weight:700;line-height:1.2;transform:none}@media (max-width:600px){:-webkit-any(.utility-header,.rhythm-header,.melody-header){padding-top:44px}:-moz-any(.utility-header,.rhythm-header,.melody-header){padding-top:44px}:is(.utility-header,.rhythm-header,.melody-header){padding-top:44px}:is(.utility-header>h1,.rhythm-header>h1,.melody-header>h1,.module-page-header>h1,.mock-exam-page>header>h1){--earlab-title-size:28px;line-height:1.2}:is(.utility-header>span,.rhythm-header>span,.melody-header>span,.module-page-header>.home-subtitle,.mock-exam-page>header>p){margin-top:7px;padding-left:6px;padding-right:6px;font-size:12px;line-height:1.6}.brand-header>div:not(.brand-mark){gap:3px}.brand-header h1{line-height:1.25}}.question-count-field>div strong{color:#7d302d;font-size:28px;line-height:1}.wrong-book-counts{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:11px 13px;display:flex}.wrong-book-counts>span{color:#71675f;font-size:12px;font-weight:700}.wrong-book-counts>div{grid-template-columns:repeat(4,auto);gap:6px;display:grid}.wrong-book-counts button{color:#71675f;background:#fff;border:1px solid #d8cbc0;border-radius:999px;min-width:54px;min-height:34px;padding:0 10px;font-size:12px;font-weight:700}.wrong-book-counts button.active{color:#fff;background:#a87973;border-color:#a87973}@media (max-width:430px){.wrong-book-counts{flex-direction:column;align-items:stretch}.wrong-book-counts>div{grid-template-columns:repeat(4,minmax(0,1fr))}.wrong-book-counts button{min-width:0;padding-left:5px;padding-right:5px}}.wrong-book-question{background:#f8f4ed;border-radius:13px;gap:7px;margin:13px 0;padding:11px 12px;display:grid}.wrong-book-question>div{grid-template-columns:70px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.wrong-book-question dt{color:#8a7e74;font-size:12px}.wrong-book-question dd{color:#493f39;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:700}.reinforcement-explainer{background:#fffdfa;border:1px solid #e2d8cc;border-radius:22px;gap:12px;max-width:680px;margin:18px auto;padding:20px;display:grid}.reinforcement-explainer>div{background:#f8f4ed;border-radius:15px;gap:6px;padding:14px 15px;display:grid}.reinforcement-explainer small{color:#8a746a;font-size:11px;font-weight:750}.reinforcement-explainer strong{color:#493f39;font-size:17px}.reinforcement-explainer span,.reinforcement-explainer p{color:#766b63;margin:0;font-size:13px;line-height:1.7}.reinforcement-explainer .reinforcement-start{background:#f1e7df;justify-content:space-between;align-items:center;gap:12px;display:flex}.reinforcement-start button{color:#fff;background:#a87973;border:0;border-radius:12px;min-height:42px;padding:0 18px;font-weight:750}@media (max-width:430px){.reinforcement-explainer{padding:13px}.reinforcement-explainer .reinforcement-start{flex-direction:column;align-items:stretch}.reinforcement-start button{width:100%}}@media (max-width:340px){.free-training-page{padding-left:8px;padding-right:8px}.choice-grid.three,.choice-grid.four,.check-grid,.expandable-groups details>div{grid-template-columns:1fr}}.home-page{flex-direction:column;padding-bottom:30px;display:flex}.home-page>.compact-home-banner{order:1;padding:24px max(22px,min(5vw,52px)) 20px}.compact-home-banner .home-hero{min-height:0}.compact-home-banner .home-brand-mark{width:40px;height:40px;margin-bottom:12px}.compact-home-banner .home-eyebrow{margin-bottom:7px}.compact-home-banner .home-hero h1{margin:0;font-size:max(32px,min(5vw,50px));line-height:1.05}.compact-home-banner .home-hero h1 span{letter-spacing:.08em;margin:0 0 0 10px;font-size:.42em;display:inline}.compact-home-banner .home-subtitle{margin:8px 0 0;font-size:13px}.home-page>.training-profile{display:none}.home-training-summary{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;order:2;grid-template-columns:minmax(190px,1fr) auto auto;align-items:center;gap:20px;width:min(1120px,100%);margin:14px auto 0;padding:16px 18px;display:grid;box-shadow:0 10px 28px rgba(48,39,32,.043)}.home-summary-copy p{color:#b28a52;letter-spacing:.17em;margin:0 0 4px;font-size:9px;font-weight:800}.home-summary-copy h2{color:#27231f;margin:0;font-size:20px}.home-summary-copy>span{color:#80786f;margin-top:4px;font-size:12px;display:block}.home-summary-stats{gap:24px;display:flex}.home-summary-stats div{min-width:74px}.home-summary-stats span{color:#80786f;font-size:10px;display:block}.home-summary-stats strong{color:#27231f;margin-top:3px;font-size:20px;display:block}.home-summary-stats small{font-size:10px;font-weight:650}.home-training-summary>button{color:#fff;white-space:nowrap;cursor:pointer;background:#b98e89;border:0;border-radius:13px;min-height:44px;padding:0 18px;font-weight:800}.home-training-summary>button span{margin-left:8px}.home-page>.home-secondary-actions{order:4;margin-top:26px}.home-page>.home-footer{order:5}.home-module-priority .module-map-heading{margin-bottom:12px}.home-module-priority .module-card{min-height:210px;padding:18px}.home-module-priority .module-card-order{margin-bottom:11px}.home-module-priority .module-description{margin-top:12px;margin-bottom:12px}@media (max-width:600px){.home-page{padding-bottom:24px}.home-page>.compact-home-banner{border-radius:20px;padding:18px 17px 16px}.compact-home-banner .home-brand-mark{width:34px;height:34px;margin-bottom:9px}.compact-home-banner .home-eyebrow{font-size:9px}.compact-home-banner .home-hero h1{font-size:29px}.compact-home-banner .home-hero h1 span{margin:5px 0 0;font-size:14px;display:block}.compact-home-banner .home-subtitle{margin-top:5px;font-size:11px}.home-training-summary{border-radius:17px;grid-template-columns:1fr auto;gap:10px 14px;margin-top:10px;padding:13px 14px}.home-summary-copy h2{font-size:17px}.home-summary-copy>span{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.home-summary-stats{gap:13px}.home-summary-stats div{min-width:54px}.home-summary-stats strong{font-size:17px}.home-training-summary>button{grid-column:1/-1;width:100%;min-height:39px}.home-page>.home-module-priority{margin-top:16px}.home-module-priority .module-map-heading>span{display:none}.home-module-priority .module-grid{gap:9px}.home-module-priority .module-card{min-height:172px;padding:13px}.home-module-priority .module-card-order{margin-bottom:8px;font-size:8px}.home-module-priority .module-icon{flex-basis:38px;width:38px;height:38px;font-size:19px}.home-module-priority .module-description{display:none}.home-module-priority .module-open-entry{min-height:36px;margin-top:auto}}.rhythm-page{color:#27231f;background:#f8f5f1;width:100%;min-width:0;min-height:100vh;padding:28px max(16px,min(4vw,48px)) 70px}.rhythm-header,.rhythm-settings,.rhythm-library,.rhythm-hub-grid,.rhythm-practice-card{width:min(980px,100%);min-width:0;max-width:100%;margin-left:auto;margin-right:auto}.rhythm-header{margin-bottom:22px}.rhythm-header>button{color:#80786f;cursor:pointer;background:0 0;border:0;padding:8px 0}.rhythm-header>p{color:#b28a52;letter-spacing:.18em;margin:20px 0 6px;font-size:10px;font-weight:850}.rhythm-header h1{margin:0;font-size:max(30px,min(5vw,48px))}.rhythm-header>span{color:#80786f;margin-top:8px;display:block}.rhythm-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.rhythm-hub-grid>button{color:#27231f;text-align:left;cursor:pointer;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:22px;flex-direction:column;align-items:flex-start;min-height:220px;padding:26px;display:flex;box-shadow:0 14px 42px rgba(48,39,32,.05)}.rhythm-hub-grid i{color:#a47772;background:#f1e8e4;border-radius:11px;align-items:center;justify-items:center;width:38px;height:38px;font-size:10px;font-style:normal;font-weight:850;display:grid}.rhythm-hub-grid strong{margin-top:24px;font-size:22px}.rhythm-hub-grid span{color:#80786f;margin-top:8px;font-size:13px}.rhythm-hub-grid b{color:#a47772;margin-top:auto;font-size:12px}.rhythm-hub-grid>.rhythm-challenge-entry{background:linear-gradient(135deg,#f7efeb,#fcfaf5);grid-column:1/-1;min-height:165px}.rhythm-challenge-list{gap:12px;width:min(760px,100%);margin:0 auto;display:grid}.rhythm-challenge-system{background:#f7efe9;border:1px solid #decfc6;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:min(760px,100%);margin:0 auto 13px;padding:15px 18px;display:grid}.rhythm-challenge-system small{color:#a47772;letter-spacing:.12em;font-size:9px;font-weight:850}.rhythm-challenge-system strong{font-size:16px}.rhythm-challenge-system span{color:#817970;font-size:11px}.rhythm-challenge-list>button{color:#302925;text-align:left;cursor:pointer;background:#fcfaf6;border:1px solid #e4d7cf;border-radius:18px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:15px;width:100%;min-height:96px;padding:17px 20px;display:grid;box-shadow:0 9px 28px rgba(48,39,32,.04)}.rhythm-challenge-list>button:hover:not(:disabled){border-color:#c99e96;transform:translateY(-1px);box-shadow:0 12px 32px rgba(90,61,50,.08)}.rhythm-challenge-list>button:disabled{cursor:not-allowed;opacity:.48}.rhythm-challenge-list>button.passed{background:#f4f8f2;border-color:#b9d1bd}.rhythm-challenge-list i{color:#a16f68;background:#efe4df;border-radius:13px;align-items:center;justify-items:center;width:42px;height:42px;font-size:12px;font-style:normal;font-weight:850;display:grid}.rhythm-challenge-list span{gap:5px;display:grid}.rhythm-challenge-list strong{font-size:18px}.rhythm-challenge-list small{color:#817970;font-size:12px}.rhythm-challenge-list em{color:#a47772;white-space:nowrap;font-size:12px;font-style:normal}.rhythm-challenge-note{color:#8a8179;text-align:center;width:min(760px,100%);margin:14px auto 0;font-size:12px;line-height:1.7}.rhythm-challenge-config{color:#5d4740;background:#f4eae5;border:1px solid #d9c5bb;border-radius:15px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;display:flex}.rhythm-challenge-config strong{font-size:15px}.rhythm-challenge-config span{color:#806d65;font-size:12px}.rhythm-settings.challenge-fixed{grid-template-columns:1fr;width:min(680px,100%)}.rhythm-settings.challenge-fixed .rhythm-setting-card,.rhythm-settings.challenge-fixed .rhythm-setting-warning{display:none}.rhythm-settings.challenge-fixed .rhythm-challenge-config{background:linear-gradient(135deg,#f6ebe6,#fcfaf6);flex-direction:column;justify-content:center;align-items:flex-start;min-height:150px;padding:26px}.rhythm-settings.challenge-fixed .rhythm-challenge-config strong{font-size:22px}.rhythm-settings.challenge-fixed .rhythm-challenge-config span{font-size:14px;line-height:1.8}.rhythm-settings.challenge-fixed .rhythm-start{grid-column:auto;width:100%;min-height:58px}@media (max-width:680px){.rhythm-hub-grid>.rhythm-challenge-entry{grid-column:auto}.rhythm-challenge-list>button{grid-template-columns:40px minmax(0,1fr);min-height:108px;padding:15px}.rhythm-challenge-list em{white-space:normal;grid-column:2}.rhythm-challenge-system{grid-template-columns:1fr;gap:3px}.rhythm-challenge-config{flex-direction:column;align-items:flex-start}}.rhythm-library{gap:16px;display:grid}.rhythm-library-guide{background:linear-gradient(135deg,#fffaf6,#f4e9e3);border:1px solid #dec9bd;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:min(980px,100%);margin:0 auto 16px;padding:18px 20px;display:grid}.rhythm-library-guide-count{color:#fff;text-align:center;background:#ad766b;border-radius:18px;align-content:center;justify-content:center;width:68px;height:68px;display:grid;box-shadow:0 8px 20px rgba(120,72,63,.16)}.rhythm-library-guide-count strong{font-size:28px;line-height:1}.rhythm-library-guide-count span{margin-top:4px;font-size:11px;font-weight:800}.rhythm-library-guide small{color:#a5685f;letter-spacing:.12em;font-size:10px;font-weight:850}.rhythm-library-guide h2{margin:4px 0;font-size:18px}.rhythm-library-guide p,.rhythm-library-system-tempo{color:#81756c;margin:0;font-size:12px}.rhythm-library-guide-tempo{gap:8px;display:flex}.rhythm-library-guide-tempo span{color:#80564f;white-space:nowrap;background:#fffdfa;border:1px solid #dfcbc0;border-radius:999px;padding:8px 11px;font-weight:800}.rhythm-library>article{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;padding:22px}.rhythm-library small,.rhythm-setting-card>small{color:#b28a52;letter-spacing:.09em;font-weight:800}.rhythm-library h2,.rhythm-setting-card h2{margin:5px 0 18px;font-size:20px}.rhythm-library h2{margin-bottom:5px}.rhythm-library-system-tempo{margin-bottom:18px;font-weight:700}@media (max-width:640px){.rhythm-library-guide{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:15px}.rhythm-library-guide-count{border-radius:15px;width:58px;height:58px}.rhythm-library-guide h2{font-size:15px}.rhythm-library-guide p{font-size:11px}.rhythm-library-guide-tempo{grid-column:1/-1}.rhythm-library-guide-tempo span{text-align:center;flex:1}}.rhythm-pattern-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.rhythm-pattern-grid>div{text-align:center;background:#f7f2ed;border:1px solid transparent;border-radius:13px;align-items:center;justify-items:center;min-height:132px;padding:13px;transition:border-color .18s,background .18s;display:grid}.rhythm-pattern-grid>div.is-previewing{background:#f5e8e3;border-color:#bc8175}.rhythm-pattern-grid strong{font-size:24px}.rhythm-pattern-grid span{color:#80786f;font-size:11px}.rhythm-pattern-preview{color:#8e5148;touch-action:manipulation;background:#fffdfa;border:1px solid #d8c3b8;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:72px;min-height:34px;padding:6px 13px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.rhythm-pattern-preview>span{color:currentColor;font-size:10px}.rhythm-pattern-preview[aria-pressed=true]{color:#fff;background:#a9655c;border-color:#a9655c}.rhythm-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.rhythm-settings>*{min-width:0;max-width:100%}.rhythm-setting-card{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;min-width:0;max-width:100%;padding:22px}.rhythm-setting-card:nth-child(-n+2),.rhythm-start{grid-column:1/-1}.rhythm-setting-card h2 em{color:#80786f;font-size:11px;font-style:normal;font-weight:500}.rhythm-setting-card label{color:#80786f;justify-content:space-between;margin:16px 0 8px;font-size:12px;display:flex}.rhythm-setting-card input[type=range]{accent-color:#b98e89;width:100%;min-width:0;max-width:100%}.rhythm-bpm-range{color:#9b9289;justify-content:space-between;margin-top:4px;font-size:9px;display:flex}.rhythm-system-switch,.rhythm-choice-row{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;display:flex}.rhythm-system-switch{margin-bottom:12px}.rhythm-system-switch button,.rhythm-choice-row button{color:#655e57;white-space:normal;overflow-wrap:anywhere;cursor:pointer;background:#fffdfa;border:1px solid #e0d7cf;border-radius:11px;min-width:0;max-width:100%;min-height:38px;padding:8px 13px}.rhythm-system-switch button.active,.rhythm-choice-row button.active{color:#fff;background:#b98e89;border-color:#b98e89}.rhythm-pattern-select{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0;max-width:100%;display:grid}.rhythm-pattern-select button{color:#4d4741;cursor:pointer;background:#fffdfa;border:1px solid #e0d7cf;border-radius:12px;align-items:center;justify-items:center;gap:3px;width:100%;min-width:0;max-width:100%;min-height:98px;padding:9px 10px;display:grid}.rhythm-pattern-select button.active{background:#f3e8e5;border-color:#b98e89;box-shadow:inset 0 0 0 1px #b98e89}.rhythm-pattern-heading{justify-content:space-between;align-items:flex-end;gap:16px;min-width:0;max-width:100%;margin-bottom:18px;display:flex}.rhythm-pattern-heading h2{margin-bottom:0}.rhythm-pattern-tools{color:#80786f;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;max-width:100%;font-size:12px;display:flex}.rhythm-pattern-tools button{color:#8f6662;min-width:58px;font:inherit;cursor:pointer;background:#fffdfa;border:1px solid #caa7a2;border-radius:999px;padding:7px 12px;font-weight:700}.rhythm-pattern-tools button:hover{background:#f3e8e5}.rhythm-pattern-select strong{font-size:21px}.rhythm-pattern-select span{font-size:10px}.rhythm-pattern-category{color:#9a8f84;letter-spacing:.03em;font-size:9px;font-weight:600}.rhythm-pattern-count-in{background:#f1dfd8;border-radius:999px;padding:4px 7px;font-weight:800;color:#9b5e54!important;letter-spacing:0!important;font-size:9px!important}.rhythm-mode-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rhythm-mode-grid button{color:#4d4741;text-align:left;cursor:pointer;background:#fffdfa;border:1px solid #e0d7cf;border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;min-height:74px;padding:12px;display:flex}.rhythm-mode-grid button.active{background:#f3e8e5;border-color:#b98e89}.rhythm-mode-grid span{color:#80786f;font-size:10px}.rhythm-start{color:#fff;cursor:pointer;background:#b98e89;border:0;border-radius:14px;min-height:52px;font-weight:850}.rhythm-start:disabled{opacity:.45;cursor:not-allowed}.rhythm-setting-warning{color:#a75f58;text-align:center;grid-column:1/-1;margin:0;font-size:12px}.rhythm-practice-card{text-align:center;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:24px;min-height:480px;padding:28px;box-shadow:0 14px 42px rgba(48,39,32,.05)}.rhythm-session-progress{text-align:left;background:#fffdfa;border:1px solid #e4ddd4;border-radius:15px;max-width:760px;margin:0 auto 16px;padding:14px 16px}.rhythm-session-progress>strong{color:#27231f;margin-bottom:9px;font-size:16px;display:block}.rhythm-session-progress>div{flex-wrap:wrap;gap:7px;display:flex}.rhythm-session-progress span{color:#71675f;background:#f1ebe5;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.rhythm-report-card{max-width:760px;margin:0 auto 70px}.rhythm-weakness-report{text-align:left;background:#fffdfa;border:1px solid #e4ddd4;border-radius:15px;margin:0 0 22px;padding:18px}.rhythm-weakness-report h2{margin:0 0 12px;font-size:17px}.rhythm-weakness-report ol{margin:0;padding-left:24px}.rhythm-weakness-report li{border-bottom:1px solid #eee7df;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.rhythm-weakness-report li:last-child{border-bottom:0}.rhythm-weakness-report p{color:#80786f;margin:0}.rhythm-practice-meta{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.rhythm-practice-meta span{color:#765956;background:#f1e8e4;border-radius:999px;padding:6px 10px;font-size:11px}.rhythm-pulse{justify-content:center;align-items:center;gap:12px;height:100px;display:flex}.rhythm-pulse i{background:#d9cbc4;border-radius:999px;width:10px;height:34px}.rhythm-pulse.playing i{background:#b98e89;animation:.8s ease-in-out infinite alternate rhythmPulse}.rhythm-pulse.playing i:nth-child(2){animation-delay:.12s}.rhythm-pulse.playing i:nth-child(3){animation-delay:.24s}.rhythm-pulse.playing i:nth-child(4){animation-delay:.36s}@keyframes rhythmPulse{to{height:66px}}.rhythm-play-status{color:#80786f;min-height:22px;font-size:13px}.rhythm-play,.rhythm-reveal{cursor:pointer;border:0;border-radius:14px;min-height:48px;margin:8px 5px;padding:0 24px;font-weight:850}.rhythm-play{color:#fff;background:#27231f}.rhythm-play:disabled{opacity:.55}.rhythm-reveal{color:#fff;background:#b98e89}.rhythm-answer-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,700px);margin:20px auto 12px;display:grid}.rhythm-answer-slots:has(>span:only-child){grid-template-columns:1fr;max-width:520px}.rhythm-answer-slots>span{background:#fffdfa;border:1px solid #dfd4ca;border-radius:13px;align-items:center;justify-items:center;width:100%;min-width:0;min-height:72px;padding:12px;display:grid}.rhythm-answer-slots>span.active{background:#f3e8e5;border-color:#b98e89;box-shadow:inset 0 0 0 1px #b98e89}.rhythm-choice-instruction{color:#8b655f;margin:18px 0 -6px;font-size:12px;font-weight:750}.rhythm-answer-slots.rhythm-pattern-answer-slots{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;max-width:700px}.rhythm-pattern-answer-slots>span{min-height:78px;padding:13px 5px 5px;position:relative}.rhythm-pattern-answer-slots>span>small{color:#aa8880;font-size:9px;font-weight:800;position:absolute;top:6px;left:8px}.rhythm-pattern-answer-slots>span>b{color:#aaa19a;font-size:10px;font-weight:650}.rhythm-pattern-answer-slots .rhythm-notation{width:72px;max-width:100%;height:54px}.rhythm-shuffled-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:520px;margin:14px auto;display:grid}.rhythm-shuffled-options.rhythm-pattern-options{grid-template-columns:repeat(4,minmax(0,1fr));max-width:700px}.rhythm-pattern-options button{min-height:92px}.rhythm-pattern-options .rhythm-notation{justify-self:center;width:100%;height:58px;margin-left:auto;margin-right:auto}.rhythm-shuffled-options button{color:#4d4741;cursor:pointer;background:#f7f2ed;border:1px solid #e0d7cf;border-radius:12px;align-content:center;gap:4px;width:100%;min-width:0;max-width:100%;height:auto;min-height:92px;padding:10px 8px;display:grid;overflow:visible}.rhythm-shuffled-options span{color:#80786f;font-size:10px}.rhythm-shuffled-options .rhythm-bar-notation{white-space:normal;grid-template-columns:repeat(auto-fit,64px);justify-content:center;align-items:center;gap:5px 2px;width:100%;min-width:0;max-width:100%;height:auto;min-height:52px;display:grid;overflow:visible}.rhythm-shuffled-options .rhythm-bar-notation .rhythm-notation{flex:none;width:64px;min-width:64px;max-width:64px;height:50px;display:block;overflow:visible}.rhythm-answer-actions{grid-template-columns:1fr 1.4fr;gap:8px;width:min(100%,520px);margin:10px auto 0;display:grid}.rhythm-submit,.rhythm-delete{cursor:pointer;border-radius:13px;min-height:46px;font-weight:850}.rhythm-submit{color:#fff;background:#b98e89;border:0}.rhythm-submit:disabled{opacity:.42;cursor:not-allowed}.rhythm-delete{color:#765956;background:#fffdfa;border:1px solid #d8c9c0}.rhythm-delete:disabled{opacity:.4;cursor:not-allowed}.rhythm-review{border-top:1px solid #e4ddd4;max-width:700px;margin:22px auto 0;padding-top:18px}.rhythm-review>div{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:10px 0 18px;display:grid}.rhythm-review>div>span{background:#edf2ea;border-radius:11px;gap:4px;padding:12px;display:grid}.rhythm-review>div>span.wrong{background:#f4e5e2}.rhythm-review em{color:#80786f;font-size:10px;font-style:normal}.rhythm-review button{color:#fff;cursor:pointer;background:#b98e89;border:0;border-radius:13px;width:100%;min-height:46px;font-weight:850}.feedback-panel.neutral{color:#544b43;background:#fcfaf5;border-color:#d9ccbd}.rhythm-feedback{max-width:700px;margin:22px auto 14px;display:block}.rhythm-feedback-comparison{gap:18px;width:100%;margin-top:12px;display:grid}.rhythm-feedback-comparison section{gap:9px;min-width:0;display:grid}.rhythm-feedback-comparison section>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;display:grid}.rhythm-feedback-comparison section>div:has(>span:only-child){grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}.rhythm-feedback-comparison section>div>span{background:#edf2ea;border:1px solid #dde5d9;border-radius:13px;align-content:center;gap:7px;min-width:0;min-height:92px;padding:14px 12px;display:grid}.rhythm-feedback-comparison section>div>span.wrong{background:#f4e5e2}.rhythm-feedback-comparison em{color:#80786f;font-size:10px;font-style:normal}.rhythm-bar-feedback{grid-template-columns:1fr 1fr;gap:6px;display:grid}.rhythm-bar-feedback button{color:#71675f;cursor:pointer;background:#fffdfa;border:1px solid #ded4cb;border-radius:9px;min-height:34px;font-weight:750}.rhythm-bar-feedback button.selected.correct{color:#45654b;background:#dfeadf;border-color:#9bb39e}.rhythm-bar-feedback button.selected.wrong{color:#914e47;background:#f1deda;border-color:#c99d97}.rhythm-feedback-hint{color:#8a756d;margin:4px 0 0;font-size:12px}.rhythm-sustain-grid{margin-top:2px}.training-review-rhythm-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.training-review-rhythm-bars>span{background:#edf2ea;border-radius:11px;gap:7px;min-width:0;padding:10px;display:grid}.training-review-rhythm-bars>span.wrong{background:#f4e5e2}.training-review-rhythm-bars strong{font-size:12px}.rhythm-answer-slots .rhythm-bar-notation,.rhythm-feedback-comparison .rhythm-bar-notation{gap:3px;min-width:0;max-width:100%;overflow:visible}.rhythm-answer-slots .rhythm-bar-notation .rhythm-notation,.rhythm-feedback-comparison .rhythm-bar-notation .rhythm-notation{flex:1 1 0;width:100%;min-width:0;max-width:72px}.rhythm-feedback-comparison .rhythm-exam-answer-row>div{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:minmax(145px,1fr);grid-auto-flow:column;gap:8px;padding:2px 1px 7px;display:grid;overflow-x:auto}.rhythm-feedback-comparison .rhythm-exam-answer-row>div>span{gap:5px;width:auto;min-width:0;min-height:0;padding:9px 7px}.rhythm-exam-answer-row .rhythm-bar-feedback button{min-height:32px;padding:4px 5px}.rhythm-exam-answer-row .rhythm-bar-notation{justify-content:center;flex-wrap:nowrap!important;display:flex!important;overflow:hidden!important}.rhythm-exam-answer-row .rhythm-bar-notation .rhythm-notation{flex:42px!important;width:52px!important;min-width:42px!important;max-width:56px!important;height:44px!important}@media (max-width:640px){.rhythm-page{padding:18px 12px 45px}.rhythm-header{margin-bottom:16px}.rhythm-header>p{margin-top:12px}.rhythm-header h1{font-size:30px}.rhythm-hub-grid,.rhythm-settings{grid-template-columns:1fr}.rhythm-hub-grid>button{min-height:170px;padding:19px}.rhythm-setting-card:nth-child(-n+2),.rhythm-start{grid-column:auto}.rhythm-pattern-grid,.rhythm-pattern-select{grid-template-columns:repeat(2,minmax(0,1fr))}.rhythm-setting-card{padding:17px}.rhythm-practice-card{border-radius:19px;min-height:440px;padding:20px 14px}.rhythm-system-switch{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rhythm-system-switch button{width:100%}.rhythm-choice-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rhythm-choice-row button{width:100%}.rhythm-mode-grid{grid-template-columns:1fr}.rhythm-play,.rhythm-reveal{width:100%;margin:5px 0}.rhythm-shuffled-options{grid-template-columns:1fr}.rhythm-answer-slots,.rhythm-feedback-comparison section>div{grid-template-columns:1fr;gap:10px}.training-review-rhythm-bars{grid-template-columns:1fr}.rhythm-answer-slots>span{min-height:76px;padding:11px 10px}.rhythm-feedback-comparison section>div>span{min-height:88px;padding:12px 10px}.rhythm-answer-slots .rhythm-bar-notation,.rhythm-feedback-comparison .rhythm-bar-notation{flex-wrap:wrap;align-content:center;justify-content:center;gap:6px 3px;overflow:visible}.rhythm-answer-slots .rhythm-bar-notation .rhythm-notation,.rhythm-feedback-comparison .rhythm-bar-notation .rhythm-notation{flex:0 70px;width:70px;min-width:56px;max-width:70px}.rhythm-answer-slots.rhythm-pattern-answer-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.rhythm-shuffled-options.rhythm-pattern-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media (max-width:360px){.rhythm-page{padding:16px 8px 40px}.rhythm-header{padding-left:4px;padding-right:4px}.rhythm-setting-card{border-radius:16px;padding:15px 12px}.rhythm-setting-card h2{font-size:18px}.rhythm-system-switch{grid-template-columns:1fr}.rhythm-pattern-select{gap:6px}.rhythm-pattern-select button{min-height:94px;padding:7px 5px}.rhythm-pattern-tools{justify-content:space-between;gap:8px;width:100%}.rhythm-pattern-tools button{min-width:54px;padding-left:10px;padding-right:10px}}@media (max-width:399px){.rhythm-shuffled-options{gap:10px;width:100%;max-width:100%}.rhythm-shuffled-options button{min-height:96px;padding:11px 6px}.rhythm-shuffled-options .rhythm-bar-notation{grid-template-columns:repeat(auto-fit,60px);gap:6px 2px}.rhythm-shuffled-options .rhythm-bar-notation .rhythm-notation{width:60px;min-width:60px;max-width:60px;height:48px}.rhythm-feedback,.rhythm-feedback-comparison,.rhythm-feedback-comparison section,.rhythm-answer-slots{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:auto;overflow:visible}.rhythm-feedback{padding-left:10px;padding-right:10px}.rhythm-answer-slots,.rhythm-feedback-comparison section>div{flex-direction:column;gap:10px;display:flex}.rhythm-answer-slots>span,.rhythm-feedback-comparison section>div>span{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:auto;min-height:0;padding:12px 8px;overflow:visible}.rhythm-answer-slots .rhythm-bar-notation,.rhythm-feedback-comparison .rhythm-bar-notation{white-space:normal;grid-template-columns:repeat(auto-fit,70px);justify-content:center;align-items:center;gap:6px 3px;width:100%;min-width:0;max-width:100%;height:auto;display:grid;overflow:visible}.rhythm-answer-slots .rhythm-bar-notation .rhythm-notation,.rhythm-feedback-comparison .rhythm-bar-notation .rhythm-notation{flex:none;width:70px;min-width:70px;max-width:70px;height:48px;display:block}.rhythm-answer-slots.rhythm-pattern-answer-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.rhythm-pattern-answer-slots>span{min-height:72px;padding:12px 3px 3px}.rhythm-pattern-answer-slots .rhythm-notation{width:64px;height:48px}}@media (max-width:640px){.rhythm-feedback-comparison .rhythm-exam-answer-row>div{grid-template-columns:1fr;grid-auto-columns:auto;grid-auto-flow:row;gap:8px;padding-bottom:2px;display:grid;overflow:visible}.rhythm-feedback-comparison .rhythm-exam-answer-row>div>span{width:100%;min-width:0;padding:9px 10px}}.melody-page{color:#27231f;box-sizing:border-box;background:#f8f5f1;min-height:100vh;padding:28px 20px 64px}.melody-header{text-align:center;max-width:1080px;margin:0 auto 24px}.melody-header.compact{margin-bottom:16px}.melody-header>button{color:#765956;cursor:pointer;background:0 0;border:0;font-weight:750;display:block}.melody-header>p{color:#b98e89;letter-spacing:.17em;margin:12px 0 3px;font-size:11px;font-weight:850}.melody-header h1{margin:0;font-size:max(30px,min(6vw,48px))}.melody-header>span{color:#80786f;margin-top:7px;display:block}.melody-hub-card{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:24px;flex-direction:column;justify-content:center;align-items:flex-start;max-width:720px;min-height:220px;margin:auto;padding:32px;display:flex;box-shadow:0 14px 42px rgba(48,39,32,.05)}.melody-hub-card strong{font-size:25px}.melody-hub-card p{color:#80786f}.melody-hub-card button,.melody-start,.melody-submit,.melody-reveal{color:#fff;cursor:pointer;background:#b98e89;border:0;border-radius:14px;min-height:48px;padding:0 22px;font-weight:850}.melody-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:980px;margin:auto;display:grid}.melody-settings article{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;min-width:0;padding:22px}.melody-settings article:nth-child(2){grid-column:1/-1}.melody-settings small{color:#b28a52;letter-spacing:.08em;font-weight:800}.melody-settings h2{margin:5px 0 16px}.melody-settings label{color:#80786f;margin:15px 0 7px;font-size:12px;display:block}.melody-start{grid-column:1/-1}.melody-choice-row,.melody-key-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.melody-key-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.melody-choice-row button,.melody-key-grid button{color:#655e57;cursor:pointer;background:#fffdfa;border:1px solid #e0d7cf;border-radius:11px;min-width:0;min-height:40px;padding:8px}.melody-choice-row button.active,.melody-key-grid button.active{color:#765956;background:#f3e8e5;border-color:#b98e89;box-shadow:inset 0 0 0 1px #b98e89}.melody-settings .melody-level-setting{grid-column:1/-1}.melody-level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.melody-level-grid button{color:#655e57;cursor:pointer;background:#fffdfa;border:1px solid #e0d7cf;border-radius:13px;align-content:center;gap:4px;min-width:0;min-height:112px;padding:12px 8px;display:grid}.melody-level-grid button strong{color:#27231f;font-size:15px}.melody-level-grid button span{color:#b98e89;font-size:12px;font-weight:800}.melody-level-grid button small{color:#80786f;letter-spacing:0;font-size:10px;line-height:1.35}.melody-level-grid button.active{background:#f3e8e5;border-color:#b98e89;box-shadow:inset 0 0 0 1px #b98e89}.melody-level-summary{color:#80786f;margin:-8px 0 13px;font-size:12px}.melody-selection-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:-8px 0 13px;display:flex}.melody-selection-toolbar .melody-level-summary{margin:0}.melody-selection-actions{flex:none;gap:8px;display:flex}.melody-selection-actions button{color:#765956;cursor:pointer;background:#fffdfa;border:1px solid #d9cbc2;border-radius:10px;min-height:32px;padding:0 14px;font-size:12px;font-weight:750}.melody-selection-actions button:disabled{opacity:.42;cursor:not-allowed}.melody-start:disabled{opacity:.48;cursor:not-allowed}.melody-practice-card{text-align:center;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:24px;max-width:1060px;margin:auto;padding:24px;box-shadow:0 14px 42px rgba(48,39,32,.05)}.melody-progress{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;display:flex}.melody-progress strong,.melody-progress span{background:#f1ebe5;border-radius:999px;padding:7px 11px;font-size:12px}.melody-progress strong{color:#fff;background:#27231f}.melody-play{color:#fff;cursor:pointer;background:#27231f;border:0;border-radius:15px;min-width:220px;min-height:52px;font-weight:850}.melody-play:disabled,.melody-submit:disabled{opacity:.5}.melody-hint{color:#80786f;font-size:12px}.melody-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 14px;display:grid}.melody-options>button{cursor:pointer;background:#fffdfa;border:1px solid #e0d7cf;border-radius:16px;min-width:0;padding:10px}.melody-options>button.active{background:#f3e8e5;border-color:#b98e89;box-shadow:inset 0 0 0 1px #b98e89}.melody-reveal{margin-top:22px}.melody-step-answer{text-align:left;background:#faf6f1;border:1px solid #e2d8cf;border-radius:20px;max-width:760px;margin:24px auto 0;padding:20px}.melody-step-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.melody-step-heading small{color:#b28a52;letter-spacing:.1em;font-weight:850}.melody-step-heading h2{margin:3px 0 0;font-size:20px}.melody-step-heading>span{color:#765956;background:#eee4dd;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.melody-pitch-slots{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:16px 0;display:grid}.melody-pitch-slots button{color:#4f4842;background:#fffdfa;border:1px solid #e1d6cd;border-radius:10px;align-content:center;justify-content:center;gap:2px;min-width:0;min-height:55px;padding:5px 2px;display:grid}.melody-pitch-slots button small{color:#9a8e84;font-size:9px}.melody-pitch-slots button strong{white-space:nowrap;font-size:12px}.melody-pitch-slots button.active{background:#f3e4df;border-color:#ba8c84}.melody-pitch-slots button:disabled{opacity:.72}.melody-pitch-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.melody-pitch-options button{color:#765956;background:#fffdfa;border:1px solid #cfa9a2;border-radius:13px;min-height:52px;font-size:17px;font-weight:850}.melody-step-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.melody-step-actions .melody-submit{width:100%}.melody-delete-pitch{color:#765956;background:#fffdfa;border:1px solid #d9cbc2;border-radius:14px;min-height:48px;font-weight:800}.melody-delete-pitch:disabled{opacity:.42}.melody-measure-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:16px 0;display:grid}.melody-measure-progress button{color:#8c7d73;background:#fffdfa;border:1px solid #e1d6cd;border-radius:10px;min-height:38px;font-size:12px;font-weight:750}.melody-measure-progress button.completed{color:#7e4c48;background:#efe0db;border-color:#b58a82}.melody-measure-progress button.active{box-shadow:0 0 0 2px rgba(181,138,130,.18)}.melody-measure-progress button:disabled{opacity:.58}.melody-measure-options{gap:10px;display:grid}.melody-measure-options>button{color:#765956;text-align:left;background:#fffdfa;border:1px solid #dbcac0;border-radius:16px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:6px;width:100%;padding:6px 10px;display:grid;overflow:hidden}.melody-measure-options>button:hover{background:#f8ede9;border-color:#a96f67}.melody-measure-options>button:focus-visible{background:#f8ede9;border-color:#a96f67}.melody-measure-options>button>span{text-align:center;font-weight:850}.melody-measure-options .melody-score{min-width:0;margin:0}.melody-measure-options .melody-system{margin:0}.melody-measure-options .melody-system svg{width:100%;min-height:74px;display:block}.melody-score{box-sizing:border-box;background:#fffdfa;border:1px solid #e6ddd5;border-radius:14px;width:100%;min-width:0;padding:12px}.melody-score-meta{color:#80786f;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;display:flex}.melody-score-meta strong{color:#765956}.melody-score-systems{gap:12px;width:100%;min-width:0;display:grid}.melody-system{background:#fcfaf5;border-radius:8px;width:100%;min-width:0;padding:2px 0;overflow:visible}.melody-system svg{width:100%;height:auto;min-height:88px;display:block;overflow:visible}.melody-staff-line,.melody-bar-line,.melody-ledger{stroke:#766e67;stroke-width:1px}.melody-bar-number{fill:#9a8f84;font-size:10px}.melody-clef{fill:#27231f;font-family:Bravura Text,Bravura,Noto Music,Segoe UI Symbol,serif}.melody-key-signature text,.melody-time-signature text{fill:#27231f;font-family:Georgia,serif;font-size:15px;font-weight:700}.melody-note-symbol ellipse{fill:#27231f}.melody-note-symbol ellipse.hollow{fill:none;stroke:#27231f;stroke-width:1.8px}.melody-note-stem{stroke:#27231f;stroke-width:1.8px;stroke-linecap:round}.melody-note-beam{fill:#27231f}.melody-note-flag{fill:none;stroke:#27231f;stroke-width:2.2px;stroke-linecap:round}.melody-accidental{fill:#27231f;font-family:serif;font-size:12px}.melody-rest{fill:#27231f}.melody-rest.flag{fill:none;stroke:#27231f;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.melody-dot{fill:#27231f}.melody-score.compact .melody-score-systems{gap:5px}.melody-review-scores{gap:14px;margin-top:14px;display:grid}.melody-review-scores section>small{color:#80786f;margin-bottom:6px;display:block}.melody-review-scores>p{color:#a05f5a;margin:0;font-size:12px}.melody-self-assess{grid-template-columns:1fr 1fr;gap:8px;display:grid}.melody-self-assess button{color:#765956;cursor:pointer;background:#fffdfa;border:1px solid #caa7a2;border-radius:12px;min-height:44px;font-weight:750}@media (max-width:760px){.melody-page{padding:18px 12px 45px}.melody-settings{grid-template-columns:1fr}.melody-settings article:nth-child(2),.melody-settings .melody-level-setting,.melody-start{grid-column:auto}.melody-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.melody-level-grid button{min-height:88px;padding:8px 5px}.melody-level-grid button:last-child{grid-column:auto}.melody-key-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.melody-options{grid-template-columns:1fr}.melody-practice-card{padding:17px 10px}.melody-score-systems{gap:9px}.melody-system svg{min-height:78px}.melody-step-answer{padding:15px 10px}.melody-pitch-slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.melody-pitch-options{grid-template-columns:repeat(2,minmax(0,1fr))}.melody-measure-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.melody-measure-options>button{grid-template-columns:44px minmax(0,1fr);padding:4px 5px}.melody-measure-options>button>span{font-size:12px}.melody-measure-options .melody-system svg{min-height:82px}}.tuner-page{color:#2d2925;background:#f8f4ee;max-width:720px;min-height:100vh;margin:0 auto;padding:28px 18px 70px}.tuner-header button{color:#765956;cursor:pointer;background:#fffdfa;border:1px solid #dfd3ca;border-radius:12px;min-height:42px;padding:0 16px}.tuner-header small{color:#b98e89;letter-spacing:.16em;margin-top:34px;font-weight:850;display:block}.tuner-header h1{margin:6px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:44px;font-weight:500}.tuner-header p{color:#817970;margin:0}.tuner-card{text-align:center;background:#fffdfa;border:1px solid #e0d5cc;border-radius:28px;margin-top:28px;padding:34px 24px 30px;transition:border-color .2s,background .2s;box-shadow:0 18px 48px rgba(87,67,54,.07)}.tuner-card.in-tune{background:#f5fbf6;border-color:#8eb59b}.tuner-note{justify-content:center;align-items:flex-start;min-height:122px;display:flex}.tuner-note strong{font-family:Georgia,Times New Roman,serif;font-size:112px;line-height:1}.tuner-note sup{color:#9d756f;margin-top:13px;font-size:28px}.tuner-frequency{color:#7f776f;font-variant-numeric:tabular-nums;margin:0 0 26px}.tuner-meter{max-width:520px;margin:auto}.tuner-meter-labels{color:#968c83;justify-content:space-between;font-size:12px;display:flex}.tuner-meter-labels b{color:#527c60}.tuner-meter-track{background:linear-gradient(90deg,#c9958f 0%,#e4d4b1 35%,#88ad94 50%,#e4d4b1 65%,#c9958f 100%);border-radius:999px;height:12px;margin:10px 4px 12px;position:relative}.tuner-meter-track:after{content:"";background:#355842;width:2px;height:22px;position:absolute;top:-5px;left:50%;transform:translate(-1px)}.tuner-meter-track i{z-index:1;background:#342f2b;border:4px solid #fff;border-radius:50%;width:22px;height:22px;transition:left 90ms linear;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.18)}.tuner-meter output{font-variant-numeric:tabular-nums;font-weight:800}.tuner-guidance{margin-top:22px;font-size:18px;display:block}.tuner-calibration{background:#fffdfa;border:1px solid #e0d5cc;border-radius:20px;margin:16px 0;padding:20px}.tuner-calibration label{justify-content:space-between;display:flex}.tuner-calibration input{accent-color:#a87872;width:100%;margin:15px 0 8px}.tuner-calibration small{color:#8d847c}.tuner-reference-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.tuner-reference-row button{color:#865d58;background:#f3e5e1;border:1px solid #cfaea6;border-radius:12px;min-height:40px;padding:0 15px;font-weight:800}.tuner-reference-row button.playing{color:#fff;background:#2d2925;border-color:#2d2925}.tuner-control{color:#fff;cursor:pointer;background:#2d2925;border:0;border-radius:16px;width:100%;min-height:56px;font-size:17px;font-weight:850}.tuner-control.active{background:#a66f69}.tuner-control:disabled{opacity:.55;cursor:wait}.tuner-error{color:#984d45;background:#fae8e5;border-radius:13px;padding:14px}.tuner-privacy{text-align:center;color:#90877f;font-size:12px}@media (max-width:480px){.tuner-page{padding:18px 12px 54px}.tuner-header small{margin-top:24px}.tuner-header h1{font-size:38px}.tuner-card{margin-top:20px;padding:28px 16px 24px}.tuner-note{min-height:108px}.tuner-note strong{font-size:96px}.tuner-reference-row{flex-direction:column;align-items:stretch}.tuner-reference-row button{width:100%}}.pocket-piano-page{color:#2d2925;background:#f8f4ee;min-height:100vh;padding:28px 18px 72px}.pocket-piano-header{max-width:960px;margin:0 auto}.pocket-piano-header>button{color:#765956;background:#fffdfa;border:1px solid #dfd3ca;border-radius:12px;min-height:42px;padding:0 16px}.pocket-piano-header small{color:#b98e89;letter-spacing:.16em;margin-top:32px;font-size:11px;font-weight:850;display:block}.pocket-piano-header h1{margin:6px 0 4px;font:500 44px Georgia,Songti SC,serif}.pocket-piano-header p{color:#817970;margin:0}.pocket-piano-panel{background:#fffdfa;border:1px solid #e0d5cc;border-radius:28px;max-width:1100px;margin:28px auto 0;padding:22px;box-shadow:0 18px 48px rgba(87,67,54,.07)}.pocket-piano-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.pocket-piano-toolbar>div{gap:8px;display:flex}.pocket-piano-toolbar button{color:#765956;background:#fbf7f2;border:1px solid #dfd3ca;border-radius:11px;min-height:38px;padding:0 13px}.pocket-piano-status{font-weight:800}.pocket-piano-status.loading{color:#9a7651}.pocket-piano-status.ready{color:#527c60}.pocket-piano-status.error{color:#a03a34}.pocket-piano-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-color:#cbbdad transparent;width:100%;overflow-x:auto;overflow-y:hidden}.pocket-piano{width:calc(var(--white-count) * var(--white-width));box-sizing:content-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#24211f;border-radius:14px;height:300px;padding:4px 4px 6px;position:relative}.pocket-piano-whites{height:100%;display:flex}.pocket-piano-key{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:none;cursor:pointer}.pocket-piano-key.white{flex:0 0 var(--white-width);width:var(--white-width);background:linear-gradient(90deg,#e9e3dc,#fff 13%,#fff 82%,#ddd6ce);border:1px solid #d8d0c7;border-width:0 1px 1px 0;border-radius:0 0 7px 7px;position:relative;box-shadow:inset 0 -7px #d8d1c9}.pocket-piano-key.white:first-child{border-radius:7px 0 7px 7px}.pocket-piano-key.white span{color:#766b62;white-space:nowrap;font-size:12px;font-weight:800;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.pocket-piano-key.black{z-index:2;top:4px;left:calc((var(--white-index) + 1) * var(--white-width) - var(--white-width) * .32 + 4px);width:calc(var(--white-width) * .64);background:linear-gradient(90deg,#151413,#383431 62%,#111);border:0;border-radius:0 0 7px 7px;height:62%;padding:0;position:absolute;box-shadow:inset 0 -9px #080808,0 6px 8px rgba(0,0,0,.35)}.pocket-piano-key.white.active{background:#ead1c4;box-shadow:inset 0 -3px #c5937d,inset 0 0 0 2px #9d5148}.pocket-piano-key.black.active{background:linear-gradient(#b77f75,#672a26);box-shadow:inset 0 -4px #4c1d1a,0 3px 5px rgba(0,0,0,.3)}.pocket-piano-tip{color:#8d8379;text-align:center;margin:14px 0 0;font-size:13px}@media (max-width:600px){.pocket-piano-page{padding:18px 0 54px}.pocket-piano-header{padding:0 14px}.pocket-piano-header small{margin-top:24px}.pocket-piano-header h1{font-size:38px}.pocket-piano-panel{border-radius:22px;margin-top:20px;padding:14px 0 18px}.pocket-piano-toolbar{flex-direction:column;align-items:flex-start;padding:0 13px}.pocket-piano-toolbar>div{width:100%}.pocket-piano-toolbar button{flex:1;padding:0 8px;font-size:12px}.pocket-piano{height:250px}.pocket-piano-tip{padding:0 12px}}.pocket-piano-scroll{touch-action:none;cursor:grab;scrollbar-width:thin;scrollbar-color:#aa9688 #eee7df;padding:9px 0 15px;position:relative}.pocket-piano-scroll:active{cursor:grabbing}.pocket-piano-scroll::-webkit-scrollbar{height:7px}.pocket-piano-scroll::-webkit-scrollbar-track{background:#eee7df;border-radius:999px}.pocket-piano-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#bba99b,#927b6c);border-radius:999px;box-shadow:inset 0 1px rgba(255,255,255,.55)}.pocket-piano{background:linear-gradient(#171412 0,#443832 8px,#211c19 15px,#171412 100%);border:1px solid #1a1614;border-radius:8px;height:238px;padding:13px 5px 8px;box-shadow:0 14px 28px rgba(45,34,27,.2),0 3px 7px rgba(45,34,27,.14),inset 0 1px rgba(255,255,255,.12)}.pocket-piano:after{content:"";z-index:4;pointer-events:none;background:linear-gradient(90deg,#6f342e,#9b574d 45%,#6b302b);height:3px;position:absolute;top:11px;left:5px;right:5px;box-shadow:0 1px 1px rgba(0,0,0,.38)}.pocket-piano-key{touch-action:none;transition:transform 80ms,background .12s,box-shadow .12s}.pocket-piano-key.white{background:linear-gradient(90deg,#eee9df 0,#fffef9 9%,#fbf8f1 78%,#e6dfd5 100%);border-top:0;border-bottom:1px solid #bdb3a8;border-left:0;border-right:1px solid #c9c1b7;border-radius:0 0 3px 3px;box-shadow:inset 0 -4px #ddd5ca,inset -2px 0 3px rgba(78,62,49,.06),0 3px 2px rgba(36,28,23,.16)}.pocket-piano-key.white.active{background:linear-gradient(90deg,#dfc9bf,#f7ece5 15%,#efe0d8 80%,#cdb3a7);transform:translateY(3px);box-shadow:inset 0 -2px #b98a7a,inset 0 0 0 1px #9d6d62}.pocket-piano-key.black{background:linear-gradient(90deg,#090807 0,#211e1c 14%,#332e2a 48%,#191614 82%,#070606 100%);border:1px solid #080706;border-top-color:#312b27;border-radius:0 0 3px 3px;height:59%;top:13px;box-shadow:inset 0 -6px #080706,inset 0 1px 1px rgba(255,255,255,.12),0 5px 6px rgba(0,0,0,.36)}.pocket-piano-key.black.active{background:linear-gradient(90deg,#3d211e,#795049 46%,#321b18);transform:translateY(3px);box-shadow:inset 0 -3px #24110f,0 2px 3px rgba(0,0,0,.32)}@media (max-width:600px){.pocket-piano{height:202px;padding-top:12px;--white-width:44px!important}.pocket-piano-scroll{padding-bottom:12px}.pocket-piano-key.white span{font-size:11px;bottom:12px}.pocket-piano-key.black{top:12px}}.pocket-piano-center{min-width:132px}.pocket-piano-landscape{align-items:center;justify-items:center;width:40px;min-width:40px;display:grid;color:#744b46!important;background:#efe1dc!important;border-color:#b98e89!important;padding:0!important}.pocket-piano-landscape svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.pocket-piano-landscape-hint{color:#8c625c;text-align:right;margin:-5px 13px 8px;font-size:12px}.pocket-piano-page:-webkit-full-screen{background:#f8f4ee;overflow:auto}.pocket-piano-page:-moz-full-screen{background:#f8f4ee;overflow:auto}.pocket-piano-page:fullscreen{background:#f8f4ee;overflow:auto}.pocket-piano-page:-webkit-full-screen .pocket-piano-panel{max-width:none;margin-top:14px}.pocket-piano-page:-moz-full-screen .pocket-piano-panel{max-width:none;margin-top:14px}.pocket-piano-page:fullscreen .pocket-piano-panel{max-width:none;margin-top:14px}.pocket-piano-page:-webkit-full-screen .pocket-piano{height:min(58vh,320px)}.pocket-piano-page:-moz-full-screen .pocket-piano{height:min(58vh,320px)}.pocket-piano-page:fullscreen .pocket-piano{height:min(58vh,320px)}@media (max-width:600px){.pocket-piano-toolbar>div{display:flex}.pocket-piano-toolbar .pocket-piano-center{flex:1;width:auto}.pocket-piano-toolbar .pocket-piano-landscape{flex:0 0 40px;width:40px}.pocket-piano-landscape-hint{text-align:center}}@media (orientation:landscape) and (max-height:600px){.pocket-piano-page{padding:8px 0 18px}.pocket-piano-header{padding:0 12px}.pocket-piano-header>button{min-height:34px}.pocket-piano-header small,.pocket-piano-header h1,.pocket-piano-header p{display:none}.pocket-piano-panel{border-radius:16px;max-width:none;margin-top:7px;padding:8px 0 10px}.pocket-piano-toolbar{flex-direction:row;align-items:center;margin-bottom:4px;padding:0 10px}.pocket-piano-toolbar>div{width:auto;display:flex}.pocket-piano-toolbar button{min-height:34px}.pocket-piano{height:calc(100vh - 145px);min-height:190px;max-height:300px}.pocket-piano-scroll{padding:4px 0 8px}.pocket-piano-tip{margin-top:5px}}.tuner-live-badge{color:#765956;background:#f4ebe7;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:800;display:inline-flex}.tuner-live-badge i{background:#a66f69;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px rgba(166,111,105,.12)}.tuner-card.in-tune .tuner-live-badge i{background:#5e946c}.tuner-gauge{max-width:520px;margin:10px auto -6px}.tuner-gauge svg{width:100%;display:block;overflow:visible}.tuner-gauge-arc{fill:none;stroke:#ded5cd;stroke-width:16px;stroke-linecap:round}.tuner-gauge-center{fill:none;stroke:#8db59a;stroke-width:16px;stroke-linecap:butt}.tuner-gauge line{stroke:#fffdfa;stroke-width:2px}.tuner-gauge line.zero{stroke:#355842;stroke-width:3px}.tuner-gauge text{fill:#887f77;font:700 10px sans-serif}.tuner-needle{transform-origin:160px 143px;transition:transform 90ms linear}.tuner-needle line{stroke:#a66f69;stroke-width:4px;stroke-linecap:round}.tuner-needle circle{fill:#a66f69;stroke:#fffdfa;stroke-width:3px}.tuner-card.in-tune .tuner-needle line{stroke:#4f8b60}.tuner-card.in-tune .tuner-needle circle{fill:#4f8b60}.tuner-reading-row{grid-template-columns:1fr minmax(110px,1.15fr) 1fr;align-items:center;gap:10px;margin-top:-10px;display:grid}.tuner-reading-row>span{gap:4px;display:grid}.tuner-reading-row small{color:#938981;font-size:12px}.tuner-reading-row b{font-variant-numeric:tabular-nums;font-size:17px}.tuner-reading-row .tuner-note{min-height:auto}.tuner-reading-row .tuner-note strong{font-size:82px}.tuner-reading-row .tuner-note sup{font-size:23px}.tuner-reading-row+.tuner-guidance{margin-top:10px}@media (max-width:480px){.tuner-gauge{margin-left:-8px;margin-right:-8px}.tuner-reading-row{grid-template-columns:1fr 1.1fr 1fr;gap:4px}.tuner-reading-row b{font-size:14px}.tuner-reading-row .tuner-note strong{font-size:68px}.tuner-reading-row .tuner-note sup{font-size:19px}}@media (max-width:399px){.melody-page{padding-left:8px;padding-right:8px}.melody-settings article{padding:17px 12px}.melody-score{padding:8px 5px}.melody-score-meta{padding-left:4px;padding-right:4px}.melody-score-systems{gap:8px}.melody-system{border-radius:6px}.melody-system svg{min-height:74px}.melody-play,.melody-submit,.melody-reveal{width:100%}}.melody-accidental{font-family:Georgia,serif;font-size:15px}.melody-tuplet-mark path{fill:none;stroke:#27231f;stroke-width:1.2px}.melody-tuplet-mark text{fill:#27231f;font-family:Georgia,serif;font-size:10px;font-weight:700}.training-history-page{color:#27231f;background:#f8f5f1;min-height:100vh;padding-bottom:48px}.history-header{max-width:1120px;margin:0 auto;padding-left:24px;padding-right:24px}.history-section,.history-empty{width:min(1080px,100% - 32px);margin:28px auto 0}.history-section-heading small{color:#b98e89;letter-spacing:.16em;font-size:.72rem;font-weight:800}.history-section-heading h2{margin:4px 0 16px;font-size:max(1.25rem,min(3vw,1.7rem))}.history-overview-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.history-overview-grid article,.history-trend-card,.history-record-list article,.history-empty{background:#fcfaf5;border:1px solid #e8ded5;border-radius:18px;box-shadow:0 8px 24px rgba(67,51,43,.05)}.history-overview-grid article{padding:16px}.history-overview-grid article>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.history-overview-grid article>div small{color:#80786f}.history-overview-grid dl{grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0 0;display:grid}.history-overview-grid dl div{min-width:0}.history-overview-grid dt{color:#80786f;font-size:.72rem}.history-overview-grid dd{margin:3px 0 0;font-weight:800}.history-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.history-trend-card{padding:18px}.history-trend-card h3{margin:3px 0 0;font-size:1rem}.history-trend-card small{color:#80786f}.history-score-sequence{flex-wrap:wrap;gap:7px;margin:14px 0 10px;display:flex}.history-score-sequence span{background:#f1e8e2;border-radius:999px;padding:6px 9px;font-size:.82rem;font-weight:750}.history-trend-card p{margin:0;font-size:.82rem;font-weight:700}.trend-up{color:#55705b}.trend-down{color:#a05f5a}.trend-steady,.trend-insufficient{color:#80786f}.history-weak-list{counter-reset:weak;gap:8px;margin:0;padding:0;list-style:none;display:grid}.history-weak-list li{counter-increment:weak;background:#fcfaf5;border:1px solid #e8ded5;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 16px;display:grid}.history-weak-list li span:before{content:counter(weak) ". ";color:#b98e89;font-weight:800}.history-weak-list li small{color:#80786f}.history-weak-list li b{color:#b28a52;font-size:.8rem}.history-record-list{gap:10px;display:grid}.history-record-list article{padding:16px 18px}.history-record-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.history-record-title small{color:#80786f}.history-record-title h3{margin:4px 0 0;font-size:1rem}.history-record-title>strong{color:#b98e89;font-size:1.35rem}.history-record-meta{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.history-record-meta span{color:#625a53;background:#f2ece6;border-radius:999px;padding:5px 9px;font-size:.75rem}.history-load-more{color:#765956;background:#fcfaf5;border:1px solid #b98e89;border-radius:999px;margin:16px auto 0;padding:10px 24px;font-weight:750;display:block}.history-muted,.history-empty{color:#80786f}.history-empty{text-align:center;padding:28px}.history-empty strong{color:#27231f}.history-empty p{margin:8px 0 0}@media (max-width:760px){.history-header{padding-left:16px;padding-right:16px}.history-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-overview-grid article:last-child{grid-column:1/-1}.history-trend-grid{grid-template-columns:1fr}.history-weak-list li{grid-template-columns:minmax(0,1fr) auto}.history-weak-list li b{grid-column:1/-1}}@media (max-width:399px){.history-section,.history-empty{width:calc(100% - 24px);margin-top:22px}.history-overview-grid{grid-template-columns:1fr}.history-overview-grid article:last-child{grid-column:auto}.history-record-title>strong{font-size:1.15rem}}.rhythm-notation{color:#27231f;width:100%;max-width:150px;height:70px;display:block;overflow:visible}.rhythm-notation.compact{flex:0 82px;width:82px;height:48px}.rhythm-notation .note-head{fill:currentColor;stroke:currentColor;stroke-width:1.6px}.rhythm-notation .note-head.hollow{fill:#fcfaf5;stroke-width:2.1px}.rhythm-notation .note-stem{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round}.rhythm-notation .note-beam,.rhythm-notation .note-flag,.rhythm-notation .note-dot{fill:currentColor}.rhythm-notation .rest-symbol{fill:currentColor;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.rest-glyph{fill:currentColor;color:inherit}.rest-glyph .rest-ledger{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round}.rest-glyph .rest-stroke{fill:none;stroke:currentColor;stroke-width:2.35px;stroke-linecap:round;stroke-linejoin:round}.rest-glyph-quarter path{fill:currentColor;stroke:none}.melody-system .rest-glyph{color:#27231f}.rhythm-notation path.rest-symbol,.rhythm-notation g.rest-symbol path{fill:none}.rhythm-notation .whole-rest-shape line,.rhythm-notation .half-rest-shape line{fill:none;stroke-width:1.5px}.rhythm-notation .whole-rest-shape rect,.rhythm-notation .half-rest-shape rect{stroke:none}.rhythm-notation .quarter-rest-shape{stroke-width:3.1px}.rhythm-notation .eighth-rest-shape path,.rhythm-notation .sixteenth-rest-shape path{stroke-width:2.35px}.rhythm-notation .rest-dot{fill:currentColor;stroke:none}.rhythm-notation .tuplet-mark path{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.rhythm-notation .tuplet-mark text{fill:currentColor;font-family:Georgia,serif;font-size:13px;font-weight:700}.rhythm-bar-notation{color:#27231f;scrollbar-width:none;justify-content:center;align-items:center;gap:1px;width:100%;display:flex;overflow-x:auto}.rhythm-bar-notation::-webkit-scrollbar{display:none}.rhythm-bar-notation .rhythm-notation{min-width:54px;max-width:72px}.rhythm-pattern-grid>div>.rhythm-notation,.rhythm-pattern-select button>.rhythm-notation{margin:auto}.rhythm-shuffled-options button>.rhythm-bar-notation{min-height:48px}@media (max-width:640px){.rhythm-pattern-heading{flex-direction:column;align-items:flex-start;gap:8px}.rhythm-pattern-tools{justify-content:space-between;width:100%}}.melody-systems-narrow{display:none}.melody-score-meta{margin-bottom:14px;font-size:12px}.melody-score-systems{gap:18px}.melody-system{border-radius:10px;padding:12px 8px}.melody-system svg{min-height:126px}.melody-ledger{stroke-width:1.5px}.melody-key-signature text{font-size:20px}.melody-time-signature text{font-size:17px}.melody-accidental{font-size:16px}.melody-tuplet-mark{font-size:13px}.melody-score.compact{padding:7px}.melody-score.compact .melody-system{padding:2px 0}.melody-score.compact .melody-system svg{min-height:58px}@media (max-width:600px){.melody-score{padding:14px 8px}.melody-score-meta{margin-bottom:12px;padding-left:4px;padding-right:4px}.melody-systems-wide{display:none}.melody-score.compact .melody-systems-wide{display:grid}.melody-systems-narrow{gap:15px;display:grid}.melody-system{padding:10px 4px}.melody-system svg{min-height:96px}}@media (max-width:359px){.melody-score{padding:12px 5px}.melody-systems-narrow{gap:13px}.melody-system{padding:9px 2px}.melody-system svg{min-height:92px}}@media (max-width:600px){.melody-systems-wide{display:grid}.melody-system{width:100%;height:auto;overflow:visible}.melody-system svg{width:100%;min-width:0;height:auto;min-height:0;overflow:visible}}.melody-review-scores,.melody-review-scores section,.feedback-panel .melody-score{width:100%;min-width:0;height:auto;max-height:none;overflow:visible}.melody-score-systems{grid-auto-rows:auto;height:auto;max-height:none;overflow:visible}.melody-system,.melody-system svg{height:auto;max-height:none;overflow:visible}.interval-level-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.interval-level-entry{color:#27231f;text-align:left;cursor:pointer;background:#fcfaf5;border:1px solid #e2d8cf;border-radius:17px;justify-content:space-between;align-items:center;gap:18px;width:100%;min-width:0;min-height:112px;padding:18px 20px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.interval-level-entry span{gap:7px;min-width:0;display:grid}.interval-level-entry small{color:#b98e89;letter-spacing:.14em;font-size:10px;font-weight:850}.interval-level-entry strong{font-size:16px;line-height:1.45}.interval-level-entry b{color:#8b6864;white-space:nowrap;flex:none;font-size:12px}.interval-level-entry:hover:not(:disabled){border-color:#c7a6a1;transform:translateY(-2px);box-shadow:0 12px 28px rgba(77,57,49,.08)}.interval-level-entry:focus-visible{outline-offset:2px;outline:3px solid rgba(185,142,137,.3)}.interval-level-entry:disabled{cursor:not-allowed;opacity:.58}@media (max-width:640px){.interval-level-list{grid-template-columns:1fr;gap:9px}.interval-level-entry{min-height:98px;padding:15px 16px}.interval-level-entry strong{font-size:15px}}.melody-accidental-glyph,.melody-key-accidental{fill:none;stroke:#27231f;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.melody-speed-heading{justify-content:space-between;align-items:center;gap:12px;margin-top:17px;display:flex}.melody-speed-heading label{margin:0}.melody-speed-heading output{color:#765956;background:#f1e8e4;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:850}.melody-speed-slider{accent-color:#b98e89;cursor:pointer;touch-action:pan-x;width:100%;height:34px;margin:7px 0 0;display:block}.melody-speed-slider::-webkit-slider-runnable-track{background:#e6dcd5;border-radius:999px;height:7px}.melody-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#b98e89;border:3px solid #fcfaf5;border-radius:50%;width:24px;height:24px;margin-top:-8.5px;box-shadow:0 2px 8px rgba(67,47,43,.2)}.melody-speed-slider::-moz-range-track{background:#e6dcd5;border-radius:999px;height:7px}.melody-speed-slider::-moz-range-thumb{background:#b98e89;border:3px solid #fcfaf5;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 8px rgba(67,47,43,.2)}.melody-speed-range{color:#9a9189;justify-content:space-between;font-size:10px;display:flex}.mock-exam-page{color:#27231f;width:min(100% - 32px,980px);margin:0 auto;padding:28px 0 56px}.mock-exam-page>header{text-align:center;margin:12px 0 28px}.mock-exam-page>header small{color:#b98e89;letter-spacing:.16em;font-weight:700}.mock-exam-page>header h1{margin:8px 0;font-size:max(1.8rem,min(6vw,3rem))}.mock-exam-page>header p{color:#80786f;margin:0}.text-back{color:#80786f;background:0 0;border:0;padding:8px 0}.mock-difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.mock-difficulty-grid button,.mock-exam-outline,.mock-play-panel,.mock-answer-panel,.mock-report-summary,.mock-section-report{background:#fcfaf5;border:1px solid #ded3c8;border-radius:18px}.mock-difficulty-grid button{text-align:left;color:#27231f;padding:22px}.mock-difficulty-grid button strong,.mock-difficulty-grid button span{display:block}.mock-difficulty-grid button span{color:#80786f;margin-top:8px}.mock-difficulty-grid button.active{background:#f4e8e5;border-color:#b98e89}.mock-exam-outline{margin:18px 0;padding:22px}.mock-exam-outline h2{margin-top:0}.mock-exam-outline ol{grid-template-columns:repeat(3,1fr);gap:10px;padding-left:22px;display:grid}.mock-primary{color:#fff;background:#b98e89;border:0;border-radius:14px;width:100%;padding:15px;font-size:1rem;font-weight:700;display:block}.mock-primary:disabled{opacity:.45}.mock-play-panel{align-items:center;gap:18px;padding:18px;display:flex}.mock-play-panel .mock-primary{flex:1}.mock-play-panel strong{white-space:nowrap}.mock-answer-panel{margin:18px 0;padding:18px}.mock-pitch-answer{justify-content:center;gap:8px;margin-bottom:12px;display:flex}.mock-pitch-answer span{border:1px solid #d8cbc0;border-radius:10px;align-items:center;justify-items:center;min-width:42px;height:42px;display:grid}.mock-rhythm-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.mock-rhythm-options button,.mock-melody-options>button{background:#fff;border:1px solid #ded3c8;border-radius:12px;max-width:100%;padding:8px;overflow:visible}.mock-melody-options{gap:14px;display:grid}.mock-melody-options>button.active{background:#f4e8e5;border-color:#b98e89}.mock-submit{margin-top:20px}.mock-report-summary{grid-template-columns:repeat(5,1fr);gap:10px;padding:18px;display:grid}.mock-report-summary div{text-align:center}.mock-report-summary span,.mock-report-summary strong{display:block}.mock-report-summary span{color:#80786f}.mock-report-summary strong{margin-top:6px;font-size:1.35rem}.mock-section-report{margin:18px 0;padding:8px 18px}.mock-section-report article{border-bottom:1px solid #ebe2da;grid-template-columns:1fr auto auto;gap:20px;padding:13px 0;display:grid}.mock-section-report article:last-child{border:0}.mock-report-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mock-report-actions button{color:#27231f;background:#fcfaf5;border:1px solid #b98e89;border-radius:14px;padding:14px}@media (max-width:430px){.mock-exam-page{width:min(100% - 20px,980px);padding-top:14px}.mock-difficulty-grid{grid-template-columns:1fr}.mock-exam-outline ol{grid-template-columns:repeat(2,1fr)}.mock-play-panel{display:block}.mock-play-panel strong{text-align:center;margin-top:12px;display:block}.mock-rhythm-options{grid-template-columns:1fr}.mock-report-summary{grid-template-columns:repeat(2,1fr)}.mock-melody-options{padding:8px}.mock-melody-options .melody-score{max-width:100%;overflow:visible}}.daily-task-card{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;order:2;width:min(1120px,100%);margin:16px auto 0;padding:20px;box-shadow:0 10px 28px rgba(48,39,32,.043)}.daily-task-card>header{justify-content:space-between;align-items:end;gap:16px;display:flex}.daily-task-card>header small{color:#b98e89;letter-spacing:.14em;font-weight:800}.daily-task-card>header h2{color:#27231f;margin:4px 0 0}.daily-task-card>header>strong{color:#b98e89;font-size:1.35rem}.daily-progress{background:#ebe5de;border-radius:999px;height:6px;margin:14px 0 16px;overflow:hidden}.daily-progress i{border-radius:inherit;background:#b98e89;height:100%;transition:width .25s;display:block}.daily-task-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.daily-task-list button{text-align:left;color:#27231f;background:#fffdf9;border:1px solid #e4ddd4;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-width:0;padding:13px;display:grid}.daily-task-list button>span:first-child{color:#80786f;background:#f2ebe4;border-radius:10px;align-items:center;justify-items:center;width:34px;height:34px;font-size:.72rem;font-weight:800;display:grid}.daily-task-list button>span:first-child.complete{color:#526b55;background:#dce6dc}.daily-task-list button>span:nth-child(2){min-width:0}.daily-task-list button strong,.daily-task-list button small{display:block}.daily-task-list button small{color:#80786f;margin-top:2px}.daily-task-list button b{color:#b98e89;white-space:nowrap;font-size:.78rem}.daily-task-card>footer{border-top:1px solid #ebe2da;justify-content:space-between;align-items:center;gap:15px;margin-top:16px;padding-top:15px;display:flex}.daily-task-card>footer strong,.daily-task-card>footer span{display:block}.daily-task-card>footer span{color:#80786f;margin-top:3px;font-size:.8rem}.daily-task-card>footer>button{color:#8f6864;background:0 0;border:1px solid #b98e89;border-radius:11px;padding:9px 13px;font-weight:700}.training-calendar{background:#f8f5f1;border-radius:15px;margin-top:16px;padding:15px}.training-calendar>header{justify-content:space-between;align-items:center;display:flex}.training-calendar>header span{color:#80786f;font-size:.78rem}.training-calendar>header i{background:#8ea58d;border-radius:50%;width:8px;height:8px;display:inline-block}.calendar-week,.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar-week{color:#80786f;margin:13px 0 5px;font-size:.72rem}.calendar-grid span,.calendar-grid>i{aspect-ratio:1;border-radius:8px;align-items:center;justify-items:center;font-size:.78rem;font-style:normal;display:grid}.calendar-grid span{color:#80786f;background:#eee9e3}.calendar-grid span.trained{color:#405843;background:#dce6dc;font-weight:800}.calendar-grid span.today{outline-offset:1px;outline:2px solid #b98e89}.home-training-summary{order:3}.home-page>.home-module-priority{order:4}.home-page>.training-profile{order:5}.home-page>.home-secondary-actions{order:6}@media (max-width:430px){.daily-task-card{border-radius:17px;margin-top:10px;padding:14px}.daily-task-list{grid-template-columns:1fr}.daily-task-list button{padding:10px}.daily-task-card>footer{align-items:flex-start}.daily-task-card>footer>button{white-space:nowrap}.training-calendar{padding:10px}.calendar-grid span,.calendar-grid>i{border-radius:6px}}.mock-play-state{text-align:right;min-width:150px}.mock-play-state strong,.mock-play-state span{display:block}.mock-play-state span{color:#80786f;margin-top:5px;font-size:.8rem}.mock-report-actions{grid-template-columns:repeat(3,1fr)}.mock-report-actions button:first-child{color:#fff;background:#b98e89}.mock-review-sections{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.mock-review-sections button{color:#655f58;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:12px;gap:3px;padding:10px 7px;display:grid}.mock-review-sections button.active{color:#7d5551;background:#f1e4e2;border-color:#b98e89}.mock-review-sections span{color:#80786f;font-size:.72rem}.mock-review-result{border-radius:14px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.mock-review-result.correct{color:#466049;background:#e5eee4;border:1px solid #b9cbb8}.mock-review-result.incorrect{color:#8b5550;background:#f5e4e1;border:1px solid #d5aaa5}.mock-review-comparison{grid-template-columns:1fr 1fr;gap:16px;margin:18px 0;display:grid}.mock-review-comparison>article{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:17px;min-width:0;padding:18px}.mock-review-comparison h2{color:#80786f;margin:0 0 13px;font-size:1rem}.mock-review-text{color:#27231f;font-size:1.25rem;font-weight:800}.mock-review-rhythm{gap:9px;display:grid}.mock-review-rhythm article{background:#fff;border-radius:10px;min-width:0;padding:8px}.mock-review-rhythm small{color:#80786f;margin-bottom:5px;display:block}.mock-review-rhythm .rhythm-bar-notation{flex-wrap:wrap;max-width:100%;overflow:visible}.mock-review-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;display:grid}.mock-review-nav button{color:#27231f;background:#fcfaf5;border:1px solid #b98e89;border-radius:13px;padding:13px}.mock-review-nav button:disabled{opacity:.4}.mock-review-nav span{text-align:center;color:#80786f}@media (max-width:430px){.mock-play-state{text-align:center;margin-top:10px}.mock-report-actions,.mock-review-comparison{grid-template-columns:1fr}.mock-review-comparison>article{padding:12px}.mock-review-result{align-items:flex-start;gap:8px}.mock-review-rhythm .rhythm-bar-notation{grid-template-columns:repeat(auto-fit,60px);justify-content:center;display:grid}.mock-review-rhythm .rhythm-notation{width:60px;min-width:60px;max-width:60px}}.melody-play.playing{background:#9f645b;box-shadow:0 8px 20px rgba(159,100,91,.2)}.melody-playback-status{text-align:center;color:#80786f;min-height:1.25em;margin:10px 0 18px;font-size:.85rem}.user-ability-entry{color:#27231f;text-align:left;background:#f5ebe8;border:1px solid #cfb7b2;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;width:min(820px,100%);margin:16px auto 0;padding:20px;display:flex}.user-ability-entry span>*{display:block}.user-ability-entry small,.ability-module-section header small,.ability-recommendation small{color:#956b66;letter-spacing:.14em;font-size:10px}.user-ability-entry strong{margin:4px 0;font-size:20px}.user-ability-entry em{color:#80786f;font-size:12px;font-style:normal}.user-ability-entry>b{color:#956b66;white-space:nowrap}.ability-profile-summary{grid-template-columns:1.25fr repeat(3,1fr);gap:12px;width:min(980px,100%);margin:0 auto 24px;display:grid}.ability-profile-summary article,.ability-module-grid article,.ability-recommendation{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px}.ability-profile-summary article{padding:20px}.ability-profile-summary span,.ability-profile-summary small{color:#80786f;font-size:12px;display:block}.ability-profile-summary strong{margin:9px 0;font-size:20px;display:block}.ability-profile-summary .ability-overall{background:#f1e4e1}.ability-profile-summary .ability-overall strong{color:#956b66;font-family:Georgia,serif;font-size:38px}.ability-module-section,.ability-recommendation{width:min(980px,100%);margin:0 auto}.ability-module-section header h2,.ability-recommendation h2{margin:5px 0 16px}.ability-module-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ability-module-grid article{padding:18px}.ability-module-grid article>div{justify-content:space-between;display:flex}.ability-module-grid article>div b{color:#956b66}.ability-module-grid article>i{background:#ebe5de;border-radius:10px;height:6px;margin:13px 0 8px;display:block;overflow:hidden}.ability-module-grid article>i span{background:#b98e89;height:100%;display:block}.ability-module-grid article>small{color:#80786f}.ability-module-grid ul{border-top:1px solid #ebe2da;margin:14px 0 0;padding:12px 0 0;list-style:none}.ability-module-grid li{justify-content:space-between;gap:8px;margin-top:7px;font-size:12px;display:flex}.ability-module-grid li span{text-overflow:ellipsis;white-space:nowrap;color:#80786f;overflow:hidden}.ability-recommendation{margin-top:18px;padding:22px}.ability-recommendation p{color:#80786f;margin:0}.ability-recommendation h2{margin-bottom:8px}@media (max-width:720px){.ability-profile-summary,.ability-module-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:430px){.ability-profile-summary{grid-template-columns:1fr 1fr;gap:8px}.ability-profile-summary article{padding:14px}.ability-profile-summary strong{font-size:16px}.ability-profile-summary .ability-overall strong{font-size:30px}.ability-module-grid{grid-template-columns:1fr}.user-ability-entry{padding:16px}.user-ability-entry em{max-width:190px}}.user-profile-page{color:#27231f}.user-profile-header{margin-bottom:30px}.user-profile-header .back-home{float:none;display:block}.user-identity-card{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;width:min(820px,100%);margin:0 auto 18px;padding:26px;display:grid}.user-avatar{color:#956b66;background:#efe4df;border-radius:20px;align-items:center;justify-items:center;width:64px;height:64px;font-family:Georgia,serif;font-size:22px;display:grid}.user-identity-card small,.user-identity-card p,.user-identity-card dt{color:#80786f}.user-identity-card h2,.user-identity-card p{margin:4px 0}.user-identity-card dl{gap:10px;margin:0;display:grid}.user-identity-card dl div{gap:2px;display:grid}.user-identity-card dt,.user-identity-card dd{margin:0;font-size:12px}.user-stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;width:min(820px,100%);margin:auto;display:grid}.user-stat-grid article{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:18px;padding:20px}.user-stat-grid span{color:#80786f;font-size:12px;display:block}.user-stat-grid strong{font-family:Georgia,serif;font-size:30px;font-weight:500}.user-stat-grid small{color:#80786f;margin-left:3px}.user-storage-note{color:#80786f;width:min(820px,100%);margin:16px auto 0;font-size:12px;line-height:1.7}@media (max-width:600px){.user-identity-card{grid-template-columns:auto 1fr;padding:18px}.user-identity-card dl{border-top:1px solid #e4ddd4;grid-column:1/-1;padding-top:14px}.user-stat-grid{grid-template-columns:repeat(2,1fr)}.user-stat-grid article{padding:16px}.user-stat-grid strong{font-size:26px}}.user-identity-card .account-status{letter-spacing:.04em;border-radius:999px;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:4px 8px;font-size:10px;font-weight:800}.user-identity-card .account-status.guest{color:#766b62;background:#eee8e1}.user-identity-card .account-status.logged-in{color:#547057;background:#e2ebe1}.user-account-entry{color:#27231f;text-align:left;cursor:pointer;background:#f7eeeb;border:1px solid #cfb7b2;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;width:min(820px,100%);margin:16px auto 0;padding:18px 20px;display:flex}.user-account-entry span>*{display:block}.user-account-entry small{color:#956b66;letter-spacing:.14em;font-size:9px;font-weight:800}.user-account-entry strong{margin:4px 0;font-size:18px}.user-account-entry em{color:#80786f;font-size:12px;font-style:normal;line-height:1.5}.user-account-entry>b{color:#956b66;white-space:nowrap;font-size:12px}.user-account-synced{color:#4f6952;background:#eef4ed;border:1px solid #ceddcc;border-radius:16px;align-items:center;gap:12px;width:min(820px,100%);margin:16px auto 0;padding:15px 18px;display:flex}.user-account-synced>span{background:#dce9da;border-radius:50%;align-items:center;justify-items:center;width:28px;height:28px;font-weight:900;display:grid}.user-account-synced strong{font-size:13px}.user-account-synced p{color:#718074;margin:3px 0 0;font-size:11px}@media (max-width:600px){.user-account-entry{padding:15px 16px}.user-account-entry em{max-width:210px}.user-account-entry>b{font-size:0}.user-account-entry>b:after{content:"进入 →";font-size:12px}}.app-version{color:#80786f;border-top:1px solid #e4ddd4;justify-items:center;gap:5px;width:min(820px,100%);margin:28px auto 0;padding:18px 0 4px;font-size:12px;display:grid}.app-version strong{color:#27231f;letter-spacing:.04em;font-family:Georgia,serif;font-size:15px}.app-version span{font-variant-numeric:tabular-nums}.home-learning-header{order:1;justify-content:space-between;align-items:stretch;gap:12px;width:min(1120px,100%);margin:0 auto 12px;display:flex}.home-user-button{color:#27231f;text-align:left;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:18px;align-items:center;gap:12px;min-width:280px;padding:12px 16px;display:flex}.home-user-avatar{color:#a47772;background:#f1e8e4;border-radius:15px;flex:none;width:46px;height:46px;padding:8px}.home-user-avatar svg{width:100%;height:100%}.home-user-button>span:nth-child(2){gap:2px;display:grid}.home-user-button small{color:#80786f}.home-user-button strong{font-size:16px}.home-user-button>b{color:#956b66;white-space:nowrap;margin-left:auto;font-size:12px}.home-learning-stats{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;display:grid}.home-learning-stats>div{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:18px;align-content:center;padding:10px 18px;display:grid}.home-learning-stats span{color:#80786f;font-size:11px}.home-learning-stats strong{font-family:Georgia,serif;font-size:24px}.home-learning-stats small{color:#80786f;font-family:inherit;font-size:11px;font-weight:500}.home-page>.compact-home-banner,.home-page>.home-training-summary,.home-page>.home-secondary-actions{display:none}.daily-task-card{border-color:#d4bab5!important;order:2!important;margin-top:0!important;box-shadow:0 14px 34px rgba(76,54,47,.075)!important}.learning-quick-actions{order:3;width:min(1120px,100%);margin:20px auto 0}.learning-quick-actions header small{color:#b98e89;letter-spacing:.15em;font-size:10px;font-weight:800}.learning-quick-actions header h2{margin:4px 0 12px;font-family:Georgia,Songti SC,serif}.learning-quick-actions>div{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.learning-quick-actions button{color:#27231f;text-align:left;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;grid-template-columns:1fr auto;align-content:start;gap:6px;min-width:0;min-height:145px;padding:19px;display:grid}.learning-quick-actions button>span{color:#b98e89;letter-spacing:.12em;font-size:10px;font-weight:800}.learning-quick-actions button>strong,.learning-quick-actions button>p{grid-column:1/-1}.learning-quick-actions button>p{color:#80786f;margin:3px 0 12px;font-size:12px}.learning-quick-actions button>b{color:#956b66;font-size:12px}.home-page>.home-module-priority{order:4!important;margin-top:28px!important}.home-module-priority .module-map-heading h2{font-size:0}.home-module-priority .module-map-heading h2:after{content:"专项训练";font-size:28px}.home-module-priority .module-map-heading>span{display:none}.home-module-priority .module-card{min-height:180px}.home-module-priority .module-description{display:none}.home-module-priority .module-open-entry{margin-top:auto}@media (max-width:600px){.home-learning-header{gap:8px}.home-user-button{flex:1;min-width:0;padding:10px}.home-user-avatar{width:40px;height:40px}.home-user-button>b{display:none}.home-learning-stats{grid-template-columns:1fr;gap:6px}.home-learning-stats>div{border-radius:13px;min-width:92px;padding:7px 10px}.home-learning-stats strong{font-size:19px}.learning-quick-actions{margin-top:15px}.learning-quick-actions>div{grid-template-columns:1fr;gap:8px}.learning-quick-actions button{min-height:94px;padding:14px 16px}.learning-quick-actions button>p{margin-bottom:5px}.home-page>.home-module-priority{margin-top:22px!important}.home-module-priority .module-map-heading h2:after{font-size:23px}.home-module-priority .module-card{min-height:160px}}.home-learning-header>.home-learning-stats{display:none}.home-zero-safe-stats{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;display:grid}.home-zero-safe-stats>div{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:18px;align-content:center;padding:10px 18px;display:grid}.home-zero-safe-stats span{color:#80786f;font-size:11px}.home-zero-safe-stats strong{max-width:180px;font-family:Georgia,Songti SC,serif;font-size:20px}.home-zero-safe-stats small{color:#80786f;font-family:inherit;font-size:11px}.daily-task-description{color:#80786f;margin:-8px 0 11px;font-size:12px}.daily-primary-action{color:#fff;background:#b98e89;border:0;border-radius:13px;width:100%;min-height:46px;margin-top:14px;font-size:14px;font-weight:800}.daily-primary-action.complete{color:#526b55;background:#dce6dc}.learning-quick-actions button{min-height:106px!important;padding:14px 17px!important}.learning-quick-actions button>strong{font-size:17px!important}.learning-quick-actions button>p{margin-bottom:5px!important}.module-training-subtitle{font-size:0!important}.module-training-subtitle:after{color:#80786f;font-size:11px}.module-card:first-child .module-training-subtitle:after{content:"音高精准识别"}.module-card:nth-child(2) .module-training-subtitle:after{content:"多音记忆训练"}.module-card:nth-child(3) .module-training-subtitle:after{content:"音程关系判断"}.module-card:nth-child(4) .module-training-subtitle:after{content:"和声音响分析"}.module-card:nth-child(5) .module-training-subtitle:after{content:"节奏型识别与听写"}.module-card:nth-child(6) .module-training-subtitle:after{content:"8小节旋律听写训练"}@media (max-width:600px){.home-zero-safe-stats{grid-template-columns:1fr;gap:6px}.home-zero-safe-stats>div{border-radius:13px;min-width:105px;padding:7px 9px}.home-zero-safe-stats strong{font-size:14px}.learning-quick-actions>div{grid-template-columns:repeat(2,1fr)!important}.learning-quick-actions button{min-height:96px!important}.learning-quick-actions button:last-child{grid-column:1/-1}.daily-task-description{margin-top:-4px}}@media (max-width:350px){.learning-quick-actions>div{grid-template-columns:1fr!important}.learning-quick-actions button:last-child{grid-column:auto}.home-zero-safe-stats>div{min-width:92px}}.onboarding-page{color:#27231f;background:#f8f5f1;align-items:center;justify-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.onboarding-skip{color:#80786f;background:0 0;border:0;padding:8px 12px;position:absolute;top:22px;right:24px}.onboarding-card{text-align:center;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;width:min(560px,100%);min-height:510px;padding:max(28px,min(6vw,52px));display:flex;box-shadow:0 22px 70px rgba(55,43,35,.08)}.onboarding-card>small{color:#b98e89;letter-spacing:.17em;font-size:10px;font-weight:850}.onboarding-card h1{margin:10px 0 4px;font-family:Georgia,Songti SC,serif;font-size:max(30px,min(7vw,44px));font-weight:500}.onboarding-card h2{color:#80786f;margin:0;font-size:18px;font-weight:500}.onboarding-card>p{color:#80786f;max-width:410px;margin:22px auto;line-height:1.8}.onboarding-logo{color:#a47772;background:#f1e8e4;border-radius:24px;width:72px;height:72px;margin-bottom:18px;padding:13px}.onboarding-logo svg{width:100%;height:100%}.onboarding-primary{color:#fff;background:#b98e89;border:0;border-radius:14px;width:min(320px,100%);min-height:49px;margin-top:18px;font-size:15px;font-weight:800}.onboarding-modules{grid-template-columns:repeat(3,1fr);gap:9px;width:100%;margin:14px 0;display:grid}.onboarding-modules>div{background:#fffdf9;border:1px solid #e4ddd4;border-radius:13px;justify-items:center;gap:6px;padding:12px 6px;display:grid}.onboarding-modules span,.onboarding-recommendation>span{color:#a47772;width:32px;height:32px}.onboarding-modules svg,.onboarding-recommendation svg{width:100%;height:100%}.onboarding-modules strong{font-size:12px}.onboarding-task-preview{background:#f5ebe8;border:1px solid #d4bab5;border-radius:18px;gap:8px;width:min(360px,100%);margin:24px 0 0;padding:20px;display:grid}.onboarding-task-preview span{color:#80786f}.onboarding-recommendation{text-align:left;background:#f5ebe8;border:1px solid #d4bab5;border-radius:18px;align-items:center;gap:16px;width:100%;margin:24px 0 8px;padding:20px;display:flex}.onboarding-recommendation>span{flex:none;width:50px;height:50px}.onboarding-recommendation p{color:#80786f;margin:5px 0 0;font-size:13px}.onboarding-dots{gap:8px;margin-top:28px;display:flex}.onboarding-dots i{background:#d8cec5;border-radius:50%;width:7px;height:7px}.onboarding-dots i.active{background:#b98e89;border-radius:8px;width:20px}@media (max-width:430px){.onboarding-page{padding:14px}.onboarding-skip{top:10px;right:12px}.onboarding-card{border-radius:22px;min-height:min(580px,100vh - 28px);padding:28px 20px}.onboarding-modules{grid-template-columns:repeat(3,1fr);gap:6px}.onboarding-modules>div{padding:10px 3px}.onboarding-primary{margin-top:12px}.onboarding-dots{margin-top:22px}}.sync-status-toast{z-index:1000;color:#8b5550;white-space:nowrap;background:#fcfaf5;border:1px solid #d5aaa5;border-radius:12px;max-width:calc(100vw - 28px);padding:11px 16px;font-size:13px;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px rgba(55,43,35,.14)}.home-footer{order:6}.home-music-tools{order:5;width:min(1120px,100%);margin:28px auto 0}.home-music-tools header small{color:#b98e89;letter-spacing:.15em;font-size:10px;font-weight:800}.home-music-tools header h2{margin:4px 0 12px;font-family:Georgia,Songti SC,serif}.home-music-tools>button{color:#27231f;text-align:left;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;align-items:center;gap:16px;width:100%;padding:20px;display:flex}.home-music-tools>button>span{color:#956b66;background:#f1e4e1;border-radius:16px;flex:none;align-items:center;justify-items:center;width:52px;height:52px;font-size:28px;display:grid}.home-music-tools>button div{flex:1}.home-music-tools>button strong{font-size:20px}.home-music-tools>button p{color:#80786f;margin:4px 0 0;font-size:12px}.home-music-tools>button>b{color:#956b66;white-space:nowrap;font-size:12px}.metronome-page{color:#27231f;background:#f8f5f1;min-height:100vh;padding:28px 18px 70px}.metronome-header,.metronome-card{width:min(860px,100%);margin:auto}.metronome-header{padding:6px 4px 22px}.metronome-header>button{color:#766b62;background:0 0;border:0;padding:8px 0}.metronome-header>p{color:#b98e89;letter-spacing:.18em;margin:22px 0 4px;font-size:10px;font-weight:800}.metronome-header h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:42px}.metronome-header>span{color:#80786f;margin-top:8px;display:block}.metronome-card{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:28px;padding:max(20px,min(4vw,38px));box-shadow:0 18px 50px rgba(48,39,32,.06)}.metronome-tempo{text-align:center}.metronome-tempo>strong{font-family:Georgia,serif;font-size:max(72px,min(15vw,116px));font-weight:500;line-height:.9;display:block}.metronome-tempo>span{color:#956b66;letter-spacing:.18em;margin:10px 0 22px;font-size:12px;font-weight:800;display:block}.metronome-tempo input,.metronome-volume input{accent-color:#956b66;width:100%}.metronome-tempo>div{color:#9b9188;justify-content:space-between;display:flex}.metronome-beats{justify-content:center;gap:max(7px,min(2vw,14px));margin:26px 0;display:flex}.metronome-beats>span{background:#faf7f2;border:1px solid #e4ddd4;border-radius:17px;align-content:center;align-items:center;justify-items:center;gap:3px;width:56px;height:66px;transition:all 80ms;display:grid}.metronome-beats b{font-family:Georgia,serif;font-size:22px}.metronome-beats small{color:#9b9188;font-size:10px}.metronome-beats .strong{border-color:#d4bab5}.metronome-beats .secondary{border-color:#d8c8ad}.metronome-beats .active{color:#7d4f49;background:#ead8d4;transform:translateY(-4px);box-shadow:0 8px 18px rgba(125,79,73,.12)}.metronome-beats .active.secondary{color:#745f3f;background:#eee4d2}.metronome-settings-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.metronome-settings-grid fieldset{border:1px solid #e8e0d8;border-radius:19px;min-width:0;margin:0;padding:17px}.metronome-settings-grid legend{color:#746a62;padding:0 5px;font-size:12px;font-weight:700}.metronome-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.metronome-options button{color:#514943;background:#fffaf5;border:1px solid #e1d8cf;border-radius:11px;min-height:41px;padding:7px}.metronome-options button.selected{color:#7d4f49;background:#f0dfdc;border-color:#a77c76;font-weight:700}.metronome-volume{color:#746a62;grid-template-columns:1fr auto;gap:8px;margin-top:15px;font-size:12px;display:grid}.metronome-volume input{grid-column:1/-1}.metronome-volume.disabled{opacity:.45}.metronome-switch{justify-content:space-between;align-items:center;gap:12px;display:flex}.metronome-switch>span{gap:3px;display:grid}.metronome-switch small{color:#8f857c}.metronome-switch input{opacity:0;position:absolute}.metronome-switch i{background:#d8d0c8;border-radius:20px;width:46px;height:26px;padding:3px;transition:all .2s;display:block}.metronome-switch i:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;display:block}.metronome-switch input:checked+i{background:#a77c76}.metronome-status{text-align:center;color:#8c8279;margin:24px 0 12px;font-size:12px}.metronome-status.playing{color:#7d4f49;font-weight:700}.metronome-controls{grid-template-columns:2fr repeat(3,1fr);gap:8px;display:grid}.metronome-controls button{color:#514943;background:#f8f3ed;border:1px solid #ddd3ca;border-radius:13px;min-height:50px;font-weight:700}.metronome-controls button.primary{color:#fff;background:#27231f;border-color:#27231f}.metronome-controls button:disabled{opacity:.4}@media (max-width:600px){.home-music-tools{margin-top:22px}.home-music-tools>button{padding:15px}.home-music-tools>button>b{display:none}.metronome-page{padding:16px 11px 48px}.metronome-header h1{font-size:34px}.metronome-card{border-radius:22px;padding:20px 13px}.metronome-settings-grid{grid-template-columns:1fr}.metronome-options.compact{grid-template-columns:repeat(4,1fr)}.metronome-controls{grid-template-columns:1fr 1fr}.metronome-controls button.primary{grid-column:1/-1}.metronome-beats>span{width:min(56px,14vw);height:60px}.metronome-beats{gap:5px}}.metronome-header.compact{justify-content:space-between;align-items:center;min-height:48px;padding:0 4px 10px;display:flex}.metronome-header.compact>button{order:1}.metronome-header.compact h1{order:2;font-size:28px}.metronome-header.compact h1 span{color:#a47772}.metronome-card{padding:18px 22px}.metronome-tempo>strong{font-size:70px}.metronome-tempo>span{margin:3px 0 9px}.metronome-tempo>div{font-size:10px}.metronome-beats{margin:12px 0}.metronome-beats>span{border-radius:14px;height:52px}.metronome-beats b{font-size:18px}.metronome-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.metronome-settings-grid fieldset{border-radius:15px;padding:10px}.metronome-options{gap:5px}.metronome-options button{min-height:34px;padding:5px;font-size:12px}.metronome-options.compact{grid-template-columns:repeat(2,1fr)}.metronome-volume{gap:3px;margin-top:8px;font-size:11px}.metronome-switch small{font-size:10px}.metronome-switch i{width:40px;height:22px;padding:3px}.metronome-switch i:after{width:16px;height:16px}.metronome-switch input:checked+i:after{transform:translate(18px)}.metronome-status{margin:12px 0 7px}.metronome-controls button{min-height:42px}.metronome-controls{gap:6px}@media (max-width:600px){.metronome-page{padding:8px 9px 20px}.metronome-header.compact{padding-bottom:7px}.metronome-header.compact h1{font-size:23px}.metronome-header.compact>button{font-size:12px}.metronome-card{border-radius:19px;padding:12px 10px}.metronome-tempo>strong{font-size:58px}.metronome-tempo>span{margin-bottom:6px}.metronome-beats{margin:8px 0}.metronome-beats>span{height:44px}.metronome-beats small{font-size:9px}.metronome-settings-grid{grid-template-columns:1fr 1fr;gap:6px}.metronome-settings-grid fieldset{padding:8px}.metronome-options button{min-height:31px;font-size:11px}.metronome-status{margin:8px 0 5px}.metronome-controls button{min-height:38px}.metronome-controls button.primary{grid-column:auto}.metronome-controls{grid-template-columns:repeat(4,1fr)}.metronome-controls button{font-size:11px}}@media (max-width:340px){.metronome-settings-grid{gap:4px}.metronome-settings-grid fieldset{padding:6px}.metronome-options button{font-size:10px}.metronome-controls{grid-template-columns:1fr 1fr}}.metronome-controls{grid-template-columns:1fr;align-items:center;justify-items:center;height:126px;display:grid;position:relative;overflow:visible}.metronome-controls .metronome-main-control{color:#fff;text-shadow:0 1px 1px rgba(74,42,38,.28);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#c89c95 0%,#ad7770 56%,#93615b 100%);border:1px solid rgba(113,69,63,.58);border-radius:50%;align-content:center;justify-content:center;gap:5px;width:112px;height:112px;min-height:0;padding:0;transition:transform .12s,box-shadow .12s,filter .18s;animation:2.8s ease-in-out infinite metronome-button-breathe;display:grid;transform:translateY(0);box-shadow:0 11px #714640,0 18px 28px rgba(81,48,43,.25),inset 0 3px 3px rgba(255,255,255,.55),inset 0 -5px 9px rgba(94,50,45,.2)}.metronome-controls .metronome-main-control>span{font-size:25px;line-height:1}.metronome-controls .metronome-main-control>strong{letter-spacing:.08em;font-size:16px}.metronome-controls .metronome-main-control:active{animation:none;transform:translateY(8px)scale(.975);box-shadow:0 3px #714640,0 8px 13px rgba(81,48,43,.2),inset 0 2px 5px rgba(94,50,45,.28),inset 0 -2px 4px rgba(255,255,255,.2)}.metronome-controls .metronome-reset-control{color:#80766e;background:#faf6f0;border:1px solid #ddd3ca;border-radius:999px;width:auto;min-height:32px;padding:5px 10px;font-size:11px;font-weight:600;position:absolute;bottom:11px;left:calc(50% + 63px);box-shadow:0 3px 8px rgba(60,46,38,.06)}.metronome-controls .metronome-reset-control:active{box-shadow:none;transform:translateY(1px)}@keyframes metronome-button-breathe{0%,to{box-shadow:0 11px #714640,0 18px 28px rgba(81,48,43,.22),inset 0 3px 3px rgba(255,255,255,.55),inset 0 -5px 9px rgba(94,50,45,.2)}50%{box-shadow:0 11px #714640,0 21px 34px rgba(81,48,43,.29),inset 0 3px 4px rgba(255,255,255,.62),inset 0 -5px 9px rgba(94,50,45,.2)}}@media (max-width:600px){.metronome-controls{height:112px}.metronome-controls .metronome-main-control{width:98px;height:98px;box-shadow:0 9px #714640,0 14px 22px rgba(81,48,43,.24),inset 0 3px 3px rgba(255,255,255,.55),inset 0 -4px 8px rgba(94,50,45,.2)}.metronome-controls .metronome-main-control>span{font-size:22px}.metronome-controls .metronome-main-control>strong{font-size:14px}.metronome-controls .metronome-reset-control{bottom:6px;left:calc(50% + 52px)}}@media (prefers-reduced-motion:reduce){.metronome-controls .metronome-main-control{transition:none;animation:none}}.metronome-controls{height:148px}.metronome-controls .metronome-main-control{isolation:isolate;text-shadow:0 2px 2px rgba(0,0,0,.45);background:radial-gradient(circle at 37% 25%,#625750 0%,#4a403a 35%,#352e2a 72%,#29231f 100%);border:1px solid rgba(255,255,255,.14);width:132px;height:132px;animation:3.2s ease-in-out infinite metronome-device-breathe;position:relative;overflow:visible;box-shadow:0 14px #211c19,0 23px 35px rgba(48,37,31,.34),0 0 0 8px #e8dfd5,0 0 0 9px rgba(118,99,85,.22),inset 0 4px 5px rgba(255,255,255,.24),inset 0 -9px 14px rgba(0,0,0,.34)}.metronome-controls .metronome-main-control:before{content:"";z-index:-1;background:linear-gradient(145deg,#f6efe7,#cfc1b3);border-radius:50%;position:absolute;top:-7px;bottom:-7px;left:-7px;right:-7px;box-shadow:inset 0 2px 3px rgba(255,255,255,.8),inset 0 -3px 5px rgba(91,71,58,.18)}.metronome-controls .metronome-main-control:after{content:"";z-index:0;filter:blur(.2px);pointer-events:none;background:linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,0));border-radius:50%;height:24%;position:absolute;top:11%;left:22%;right:22%}.metronome-controls .metronome-main-control>span,.metronome-controls .metronome-main-control>strong{z-index:1;position:relative}.metronome-controls .metronome-main-control>strong{color:#f6eee6;font-size:17px}.metronome-controls .metronome-main-control:active{filter:brightness(.94);transform:translateY(11px)scale(.94);box-shadow:0 3px #211c19,0 8px 14px rgba(48,37,31,.2),0 0 0 8px #e8dfd5,0 0 0 9px rgba(118,99,85,.18),inset 0 3px 8px rgba(0,0,0,.34),inset 0 -2px 3px rgba(255,255,255,.08)}@keyframes metronome-device-breathe{0%,to{box-shadow:0 14px #211c19,0 23px 35px rgba(48,37,31,.3),0 0 0 8px #e8dfd5,0 0 0 9px rgba(118,99,85,.2),inset 0 4px 5px rgba(255,255,255,.24),inset 0 -9px 14px rgba(0,0,0,.34)}50%{box-shadow:0 14px #211c19,0 27px 42px rgba(48,37,31,.39),0 0 0 8px #eee5db,0 0 0 9px rgba(118,99,85,.24),inset 0 5px 7px rgba(255,255,255,.29),inset 0 -9px 14px rgba(0,0,0,.34)}}@media (max-width:600px){.metronome-controls{height:136px}.metronome-controls .metronome-main-control{width:120px;height:120px;box-shadow:0 12px #211c19,0 20px 30px rgba(48,37,31,.32),0 0 0 7px #e8dfd5,0 0 0 8px rgba(118,99,85,.22),inset 0 4px 5px rgba(255,255,255,.24),inset 0 -8px 12px rgba(0,0,0,.34)}.metronome-controls .metronome-main-control>span{font-size:26px}.metronome-controls .metronome-main-control>strong{font-size:15px}.metronome-controls .metronome-reset-control{bottom:6px;left:calc(50% + 65px)}}@media (max-width:340px){.metronome-controls{height:131px}.metronome-controls .metronome-main-control{width:114px;height:114px}.metronome-controls .metronome-reset-control{left:calc(50% + 60px)}}.metronome-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:600px){.metronome-settings-grid{grid-template-columns:1fr 1fr}.metronome-settings-grid fieldset:last-child{grid-column:1/-1}}.metronome-controls{height:204px;margin-top:2px}.metronome-controls .metronome-main-control{color:#fffaf5;text-shadow:0 1px 2px rgba(91,55,51,.28);background:radial-gradient(circle at 36% 24%,#d9b6b0 0%,#c59690 42%,#ad7a75 76%,#9b6964 100%);border:1px solid rgba(139,94,88,.2);width:180px;height:180px;transition:transform .16s cubic-bezier(.2,.85,.3,1.3),box-shadow .16s,filter .16s;animation:3.4s ease-in-out infinite metronome-soft-breathe;transform:translateY(0)scale(1);box-shadow:0 18px 40px rgba(91,66,59,.17),0 6px 13px rgba(91,66,59,.1),0 0 0 10px #eee5dc,0 0 0 11px rgba(139,112,99,.13),inset 0 5px 8px rgba(255,255,255,.48),inset 0 -7px 12px rgba(119,72,67,.13)}.metronome-controls .metronome-main-control:before{background:linear-gradient(145deg,#fffaf4,#ddd0c4);top:-9px;bottom:-9px;left:-9px;right:-9px;box-shadow:inset 0 2px 4px rgba(255,255,255,.9),inset 0 -2px 5px rgba(117,89,73,.12),0 5px 14px rgba(95,74,61,.08)}.metronome-controls .metronome-main-control:after{background:linear-gradient(rgba(255,255,255,.42),rgba(255,255,255,0));height:30%;transition:opacity .14s,transform .14s;top:9%;left:20%;right:20%}.metronome-controls .metronome-main-control>span{color:#fffaf5;font-size:38px}.metronome-controls .metronome-main-control>strong{color:#fffaf5;letter-spacing:.1em;font-size:20px}.metronome-controls .metronome-main-control.playing{background:radial-gradient(circle at 36% 24%,#cba7a2 0%,#b88882 44%,#9f6e69 78%,#91615c 100%)}.metronome-controls .metronome-main-control:hover{filter:brightness(1.025)}.metronome-controls .metronome-main-control:active{filter:brightness(.97);animation:none;transform:translateY(6px)scale(.94);box-shadow:0 7px 16px rgba(91,66,59,.12),0 2px 6px rgba(91,66,59,.08),0 0 0 10px #eee5dc,0 0 0 11px rgba(139,112,99,.11),inset 0 4px 10px rgba(122,76,70,.18),inset 0 -2px 4px rgba(255,255,255,.16)}.metronome-controls .metronome-main-control:active:after{opacity:.24;transform:translateY(3px)scale(.92)}.metronome-controls .metronome-reset-control{bottom:20px;left:calc(50% + 105px)}@keyframes metronome-soft-breathe{0%,to{box-shadow:0 18px 40px rgba(91,66,59,.16),0 6px 13px rgba(91,66,59,.1),0 0 0 10px #eee5dc,0 0 0 11px rgba(139,112,99,.13),inset 0 5px 8px rgba(255,255,255,.48),inset 0 -7px 12px rgba(119,72,67,.13)}50%{box-shadow:0 22px 48px rgba(91,66,59,.2),0 7px 15px rgba(91,66,59,.11),0 0 0 10px #f1e9e0,0 0 0 11px rgba(139,112,99,.15),inset 0 6px 9px rgba(255,255,255,.53),inset 0 -7px 12px rgba(119,72,67,.13)}}@media (max-width:600px){.metronome-controls{height:184px}.metronome-controls .metronome-main-control{width:164px;height:164px;box-shadow:0 16px 34px rgba(91,66,59,.17),0 5px 11px rgba(91,66,59,.09),0 0 0 8px #eee5dc,0 0 0 9px rgba(139,112,99,.13),inset 0 5px 8px rgba(255,255,255,.48),inset 0 -7px 11px rgba(119,72,67,.13)}.metronome-controls .metronome-main-control>span{font-size:34px}.metronome-controls .metronome-main-control>strong{font-size:18px}.metronome-controls .metronome-reset-control{bottom:14px;left:calc(50% + 89px)}}@media (max-width:340px){.metronome-controls{height:168px}.metronome-controls .metronome-main-control{width:150px;height:150px}.metronome-controls .metronome-reset-control{bottom:10px;left:calc(50% + 80px)}}@media (prefers-reduced-motion:reduce){.metronome-controls .metronome-main-control{animation:none}}.metronome-recording-status{color:#786e66;text-align:center;background:#faf6f1;border:1px solid #eadfd7;border-radius:12px;justify-content:center;align-items:center;gap:8px;max-width:520px;margin:0 auto 2px;padding:7px 11px;font-size:11px;line-height:1.35;display:flex}.metronome-recording-status i,.metronome-record-control i{background:#b98e89;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 3px rgba(185,142,137,.12)}.metronome-recording-status.recording{color:#8a514c;background:#fbf1ef;border-color:#e2c4bf}.metronome-recording-status.recording i{background:#b85c55;animation:1.35s ease-in-out infinite metronome-record-pulse}.metronome-recording-status.assist i{background:#b69762}.metronome-controls .metronome-record-control{color:#876a64;background:#fbf5f0;border:1px solid #e0d1ca;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:auto;min-width:78px;min-height:32px;padding:5px 9px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:20px;right:calc(50% + 105px);box-shadow:0 3px 9px rgba(73,53,45,.07)}.metronome-controls .metronome-record-control.recording{color:#914e48;background:#f5dfdc;border-color:#c9827a}.metronome-controls .metronome-record-control:active{box-shadow:none;transform:translateY(1px)}.metronome-controls .metronome-record-control:disabled{opacity:.55}.metronome-recording-result{color:#7d736b;justify-content:center;align-items:center;gap:10px;margin:2px auto 0;font-size:11px;display:flex}.metronome-recording-result a{color:#fff;background:#956b66;border-radius:999px;padding:6px 10px;font-weight:700;text-decoration:none}@keyframes metronome-record-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.78)}}@media (max-width:600px){.metronome-controls .metronome-record-control{min-width:70px;padding-left:7px;padding-right:7px;font-size:10px;bottom:14px;right:calc(50% + 89px)}.metronome-recording-status{padding:6px 8px}.metronome-recording-result{flex-wrap:wrap;gap:6px}}@media (max-width:340px){.metronome-controls .metronome-record-control{min-width:66px;padding-left:5px;padding-right:5px;font-size:9px;bottom:10px;right:calc(50% + 80px)}}@media (prefers-reduced-motion:reduce){.metronome-recording-status.recording i{animation:none}}.home-today-duration{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:18px;order:1;grid-template-columns:1fr auto;align-items:center;width:min(1120px,100%);margin:0 auto 12px;padding:14px 18px;display:grid}.home-today-duration>span{color:#80786f;font-size:12px}.home-today-duration>strong{color:#956b66;grid-area:1/2/3;font-family:Georgia,Songti SC,serif;font-size:26px}.home-today-duration>strong small{font-family:inherit;font-size:12px;font-weight:500}.home-today-duration>p{color:#80786f;margin:3px 0 0;font-size:12px}.report-complete-label{color:#956b66;letter-spacing:.12em;margin:0 0 5px;font-size:13px;font-weight:800}.feedback-panel.compact-feedback{min-height:42px;padding:9px 12px;display:block}.compact-feedback .compact-feedback-line{justify-content:center;align-items:center;gap:8px 14px;min-width:0;line-height:1.35;display:flex}.compact-feedback-line strong{white-space:nowrap;flex:none;font-size:14px!important}.compact-feedback-line span{white-space:nowrap;min-width:0;font-size:13px}.feedback-panel.compact-feedback .auto-next-hint{display:none}@media (max-width:390px){.feedback-panel.compact-feedback{padding:8px 9px}.compact-feedback .compact-feedback-line{flex-wrap:wrap;justify-content:flex-start;gap:5px 9px}.compact-feedback-line strong,.compact-feedback-line span{font-size:12px!important}}.daily-checkin-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.daily-task-card>footer .daily-checkin-button{color:#fff;background:#956b66;border-color:#956b66}.daily-share-status{color:#956b66;margin-top:5px;font-size:11px;display:block}@media (max-width:480px){.daily-task-card>footer{flex-direction:column;align-items:flex-start}.daily-checkin-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}}.daily-task-card>footer .daily-calendar-link{box-shadow:none;color:#8c7b72;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;margin-left:auto;padding:5px 2px;font-size:12px;font-weight:600;line-height:1.4;transition:color .18s,transform .18s}.daily-task-card>footer .daily-calendar-link:hover{color:#956b66;transform:translate(2px)}.daily-task-card>footer .daily-calendar-link:focus-visible{outline-offset:4px;border-radius:6px;outline:2px solid rgba(185,142,137,.45)}.daily-task-card>footer .daily-calendar-link:active{transform:translate(1px)}.daily-checkin-panel{background:#f8f4ed;border-radius:15px;transition:background .25s,box-shadow .25s,transform .25s;border:1px solid #e5d9cf!important;padding:15px 14px!important}.daily-checkin-panel>div:first-child strong{font-size:14px}.daily-checkin-panel .daily-checkin-button{min-height:40px;padding:9px 15px;border-radius:11px!important}.daily-checkin-panel .daily-checkin-button:disabled{cursor:not-allowed;opacity:1;color:#8a8179!important;background:#e8e1da!important;border-color:#d8cec5!important}.daily-checkin-panel.celebrated{background:#eaf2e8;animation:.6s both checkin-success-pop;transform:translateY(-2px);box-shadow:0 0 0 5px rgba(126,155,124,.12)}@keyframes checkin-success-pop{0%{transform:scale(.98)}55%{transform:scale(1.015)}to{transform:scale(1)}}.report-checkin-guide{background:#f7efe7;border:1px solid #decfc3;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:13px;padding:12px 13px;display:flex}.report-checkin-guide>div{gap:3px;display:grid}.report-checkin-guide strong{font-size:13px}.report-checkin-guide span{color:#7d7168;font-size:11px;line-height:1.55}.report-checkin-guide button{color:#fff;background:#956b66;border:0;border-radius:10px;flex:none;min-height:38px;padding:8px 13px;font-weight:750}@media (max-width:430px){.daily-checkin-panel{padding:13px 12px!important}.daily-checkin-actions{grid-template-columns:1fr;width:100%;display:grid}.daily-checkin-panel .daily-checkin-button{width:100%}.daily-checkin-panel .daily-calendar-link{text-align:right;margin:0!important}.report-checkin-guide{flex-direction:column;align-items:stretch}.report-checkin-guide button{width:100%}}.melody-score{padding:12px 8px}.melody-system{padding:8px 2px}.melody-clef{font-size:58px}.melody-time-signature text{font-size:26px;font-weight:800}.melody-bar-number{fill:#756b62;font-size:15px;font-weight:700}.melody-note-stem{stroke-width:2.2px}.melody-note-flag{stroke-width:2.65px}.melody-note-symbol ellipse.hollow{stroke-width:2.1px}.melody-key-accidental{stroke-width:1.6px}.melody-staff-line{stroke-width:1.3px}.melody-bar-line{stroke-width:1.6px}@media (max-width:600px){.melody-practice-card{padding-left:6px;padding-right:6px}.melody-score{padding:8px 2px}.melody-score-meta{padding-left:5px;padding-right:5px}.melody-system{padding:7px 0}.melody-score-systems{gap:12px}}.daily-task-card>header{align-items:flex-start}.daily-task-card>header>div{min-width:0}.daily-task-card>header .daily-task-description{color:#80786f;margin:5px 0 0;font-size:12px;line-height:1.4}.daily-task-header-actions{flex:none;align-items:center;gap:10px;display:flex}.daily-task-header-actions strong{color:#b98e89;white-space:nowrap;font-size:1.35rem}.daily-task-header-actions button{color:#8f6864;cursor:pointer;background:#fffaf6;border:1px solid #d8c3bc;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.daily-task-settings{background:#fffdf9;border:1px solid #e1d2ca;border-radius:16px;margin:15px 0 4px;padding:15px}.daily-task-settings>div:first-child p{color:#80786f;margin:4px 0 0;font-size:12px}.daily-task-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.daily-task-choice-grid button{color:#5f5852;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4ddd4;border-radius:12px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:3px 8px;min-width:0;padding:10px;display:grid}.daily-task-choice-grid button span{color:#956b66;background:#f2ebe4;border-radius:50%;grid-row:1/3;align-items:center;justify-items:center;width:24px;height:24px;font-weight:800;display:grid}.daily-task-choice-grid button b,.daily-task-choice-grid button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.daily-task-choice-grid button small{color:#8a8179;font-size:11px}.daily-task-choice-grid button.is-selected{color:#7f5551;background:#f8eeea;border-color:#b98e89;box-shadow:0 0 0 1px rgba(185,142,137,.12)}.daily-task-choice-grid button.is-selected span{color:#fff;background:#b98e89}.daily-task-settings-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.daily-task-settings-actions button{color:#8f6864;cursor:pointer;background:#fffaf6;border:1px solid #d8c3bc;border-radius:10px;padding:8px 13px;font-weight:700}.daily-task-settings-actions button:last-child{color:#fff;background:#956b66;border-color:#956b66}.daily-task-settings-actions button:disabled{opacity:.45;cursor:not-allowed}.daily-task-settings-status{color:#a45146;margin:9px 0 0;font-size:12px}.daily-task-settings-status.saved{color:#52705a;margin:10px 0 0}@media (max-width:760px){.daily-task-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:430px){.daily-task-card>header{align-items:flex-start}.daily-task-header-actions{gap:6px}.daily-task-header-actions strong{font-size:1rem}.daily-task-header-actions button{padding:6px 9px}.daily-task-settings{padding:12px}.daily-task-choice-grid{grid-template-columns:1fr 1fr}.daily-task-choice-grid button{padding:8px}.daily-task-settings-actions{justify-content:stretch}.daily-task-settings-actions button{flex:1}}.daily-task-list button{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;height:100%;min-height:68px;overflow:visible}.daily-task-list button>.daily-task-index{align-self:center;width:36px;height:36px}.daily-task-copy{align-content:center;gap:3px;min-width:0;line-height:1.2;display:grid}.daily-task-copy strong,.daily-task-copy small{overflow-wrap:anywhere;min-width:0}.daily-task-count{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;align-self:center;min-width:34px}.daily-primary-action{margin-top:14px}@media (max-width:430px){.daily-task-card>header{gap:10px}.daily-task-list button{grid-template-columns:34px minmax(0,1fr) auto;min-height:64px;padding:10px 11px}.daily-task-list button>.daily-task-index{width:34px;height:34px}}.report-page{align-content:start;gap:10px;padding-top:14px}.report-page .report-header{width:min(680px,100%);padding-top:8px;padding-bottom:8px}.report-page .report-card{text-align:left;width:min(680px,100%);padding:20px 22px}.report-summary{justify-content:space-between;align-items:center;gap:18px;display:flex}.report-summary h2{margin:3px 0 2px;font-size:25px;line-height:1.15}.report-summary>div>span{color:#80786f;font-size:12px}.report-score{color:#956b66;flex:none;align-items:baseline;display:flex}.report-score strong{font-family:Georgia,Songti SC,serif;font-size:48px;line-height:1}.report-score span{margin-left:3px;color:inherit!important;font-size:13px!important}.compact-report-grid{grid-template-columns:repeat(4,1fr);margin:15px 0 14px}.compact-report-grid div{text-align:center;padding:10px 7px}.compact-report-grid strong{font-size:17px}.report-content-summary{background:#fbf8f3;border:1px solid #e7ded5;border-radius:15px;padding:13px 14px}.report-content-summary>header{justify-content:space-between;align-items:end;gap:12px;margin-bottom:9px;display:flex}.report-content-summary>header small{color:#b98e89;letter-spacing:.14em;font-size:9px;font-weight:800}.report-content-summary h3{margin:2px 0 0;font-size:16px}.report-content-summary>header>span{color:#91867c;font-size:10px}.report-content-table{border-top:1px solid #e8dfd7;max-height:190px;overflow:auto}.report-content-head,.report-content-table>div:not(.report-content-head){border-bottom:1px solid #eee7df;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:32px;padding:5px 3px;display:grid}.report-content-head{color:#91867c;font-size:10px}.report-content-table>div:not(.report-content-head)>strong{font-size:12px}.report-content-table>div:not(.report-content-head)>span{color:#746a62;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:11px;display:flex}.report-content-table b{border-radius:50%;align-items:center;justify-items:center;width:17px;height:17px;font-size:11px;display:grid}.report-content-table .mastered b{color:#49634d;background:#dfe9df}.report-content-table .needs-work b{color:#97544e;background:#f0dfdc}.report-focus{margin:9px 0 0;font-size:11px}.report-focus.mastered{color:#56705a}.report-focus.needs-work{color:#87635f}.report-focus strong{font-weight:700}.report-page .report-navigation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.report-page .report-navigation-actions button{min-height:38px;padding:7px 9px;font-size:11px}.report-page .challenge-result{margin-top:10px;padding-top:9px;padding-bottom:9px}.report-card.has-achievement{background:linear-gradient(145deg,#fffaf6 0,#fcfaf5 48%,#f7ebe6 100%);border-color:#cda99c;position:relative;overflow:hidden;box-shadow:0 18px 48px rgba(102,67,55,.11)}.report-card.has-achievement:after{content:"✦";color:#bd8878;opacity:.2;font-size:38px;position:absolute;top:14px;right:23px}.report-card.has-achievement .report-complete-label{color:#a76659;letter-spacing:.08em;font-weight:900}.report-score{flex-wrap:wrap;justify-content:flex-end}.report-score em{color:#fff;text-align:center;background:#b98978;border-radius:999px;width:100%;margin-top:4px;padding:4px 9px;font-size:10px;font-style:normal;font-weight:850}.report-achievement{background:rgba(255,255,255,.62);border:1px solid rgba(185,137,120,.35);border-radius:16px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin:16px 0 4px;padding:15px 16px;display:grid}.report-achievement-mark{color:#fff;background:#b98978;border-radius:50%;align-items:center;justify-items:center;width:40px;height:40px;font-size:21px;font-weight:900;display:grid}.achievement-retry .report-achievement-mark{background:#96887f}.report-achievement>div:nth-child(2){gap:3px;display:grid}.report-achievement strong{font-size:14px}.report-achievement span{color:#786b64;font-size:11px;line-height:1.55}.report-achievement button{color:#fff;cursor:pointer;background:#2c2723;border:0;border-radius:12px;min-height:40px;padding:0 15px;font-size:11px;font-weight:850}.report-achievement button:hover{background:#171411;transform:translateY(-1px)}@media (max-width:600px){.report-page{padding:8px 10px 18px}.report-page .report-header{min-height:auto;margin-bottom:0;padding:4px 2px}.report-page .report-header .brand-mark{display:none}.report-page .report-card{border-radius:18px;padding:15px 13px}.report-summary h2{font-size:20px}.report-score strong{font-size:40px}.compact-report-grid{grid-template-columns:repeat(4,1fr);margin:11px 0}.compact-report-grid div{padding:8px 3px;border-bottom:0!important}.compact-report-grid strong{font-size:14px}.compact-report-grid span{font-size:10px}.report-content-summary{padding:10px}.report-content-table{max-height:174px}.report-page .report-navigation-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.report-achievement{grid-template-columns:36px minmax(0,1fr);padding:13px}.report-achievement-mark{width:36px;height:36px;font-size:18px}.report-achievement button{grid-column:1/-1;width:100%}}.wrong-book-page .wrong-book-list .wrong-book-actions button{color:#705f57;white-space:nowrap;background:#fff;border:1px solid #d8c9c0;border-radius:11px;width:100%;min-width:0;min-height:42px;padding:0 8px;font-weight:700}@media (max-width:600px){.wrong-book-page .wrong-book-list .wrong-book-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}}.single-note-feedback .compact-feedback-line{flex-wrap:nowrap;justify-content:center;gap:7px 13px}.single-note-feedback .compact-feedback-line strong,.single-note-feedback .compact-feedback-line span{white-space:nowrap}.note-group-feedback,.feedback-panel.correct.note-group-feedback{min-height:0;padding:8px 9px;display:block}.note-group-feedback>div,.position-feedback-wrap{width:100%;margin:0}.position-feedback-list{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:5px;display:grid}.position-feedback-list[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.position-feedback-list[data-count="5"],.position-feedback-list[data-count="10"]{grid-template-columns:repeat(5,minmax(0,1fr))}.position-feedback-list li{min-height:34px;box-shadow:none;border-radius:8px;justify-content:flex-start;align-items:center;gap:5px;padding:5px 7px;display:flex;overflow:visible}.position-label{color:inherit;white-space:nowrap;flex:none;font-size:10px;font-weight:750}.position-mark{line-height:1;text-align:left!important;flex:none!important;width:auto!important;min-width:0!important;font-size:12px!important}.position-answer{letter-spacing:-.02em;white-space:nowrap;min-width:0;font-size:max(9px,min(1vw,11px));font-weight:700;line-height:1.1}.position-feedback-list li.position-correct,.position-feedback-list li.position-wrong{box-shadow:none}.single-note-answer-mode{background:#f4eee8;border:1px solid #dfd4ca;border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(360px,100%);margin:14px auto 10px;padding:4px;display:grid}.single-note-answer-mode button{color:#746a62;background:0 0;border:0;border-radius:9px;min-height:38px;padding:7px 12px;font-size:13px;font-weight:800}.single-note-answer-mode button.active{color:#8b4c47;background:#fffdfa;box-shadow:0 2px 8px rgba(57,43,34,.1)}.handwriting-answer{background:#fbf8f3;border:1px solid #dfd3c9;border-radius:18px;width:min(560px,100%);margin:0 auto;padding:11px}.handwriting-canvas-wrap{background:#fff;border:1px dashed #cdbeb1;border-radius:14px;height:168px;position:relative;overflow:hidden}.handwriting-canvas{touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.handwriting-canvas-wrap>span{color:#b0a49a;pointer-events:none;align-items:center;justify-items:center;font-size:13px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.handwriting-toolbar{grid-template-columns:1fr 1.35fr;gap:8px;margin-top:8px;display:grid}.handwriting-toolbar button,.handwriting-confirm{color:#6f5c55;background:#fffdfa;border:1px solid #d9cbc0;border-radius:11px;min-height:42px;padding:8px 12px;font-weight:800}.handwriting-toolbar .handwriting-recognize,.handwriting-confirm{color:#fff;background:#302a26;border-color:#302a26}.handwriting-toolbar button:disabled,.handwriting-confirm:disabled{opacity:.45;cursor:not-allowed}.handwriting-result{color:#71665e;min-height:42px;margin-top:8px;font-size:13px}.handwriting-result>p{justify-content:space-between;align-items:center;gap:10px;margin:0;display:flex}.handwriting-result strong{color:#403832}.handwriting-result fieldset{border:1px solid #e1d6cd;border-radius:11px;margin:8px 0 0;padding:8px}.handwriting-result legend{color:#857970;padding:0 5px;font-size:12px;font-weight:750}.handwriting-result fieldset label{align-items:center;gap:5px;min-height:34px;padding:5px 7px;display:inline-flex}.handwriting-error{font-weight:750;color:#a04740!important;justify-content:center!important}.handwriting-specific-pitch{justify-content:flex-start!important;margin-top:6px!important}.handwriting-confirm{width:100%;margin-top:8px}.handwriting-answer.is-disabled .handwriting-canvas{pointer-events:none}.handwriting-answer.is-disabled .handwriting-canvas-wrap{opacity:.7}.single-note-answer-mode button:disabled{cursor:default;opacity:.72}.single-note-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(620px,100%);margin:0 auto;display:grid}.single-note-quick-grid button{color:#403832;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fffdfa;border:1px solid #d9cec3;border-radius:16px;min-height:72px;padding:10px;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:700;line-height:1;box-shadow:0 5px 14px rgba(74,57,45,.055)}.single-note-quick-grid button:not(:disabled):active{transform:scale(.98)}.single-note-quick-grid button:disabled{cursor:default}.single-note-quick-grid button.selected{background:#f4e8e1;border-color:#a78072}.single-note-quick-grid button.correct{color:#285f3c;background:#e8f4eb;border-color:#619071;box-shadow:inset 0 0 0 1px rgba(52,116,73,.12)}.single-note-quick-grid button.wrong{color:#923b35;background:#fae9e7;border-color:#b45f59}.single-note-quick-grid+.question-footer{margin-top:12px}@media (max-width:430px){.single-note-feedback .compact-feedback-line{gap:5px 8px}.single-note-feedback .compact-feedback-line strong,.single-note-feedback .compact-feedback-line span{font-size:11px!important}.position-feedback-list[data-count="3"],.position-feedback-list[data-count="5"],.position-feedback-list[data-count="10"]{grid-template-columns:repeat(2,minmax(0,1fr))}.position-feedback-list li{gap:4px;min-height:32px;padding:4px 5px}.position-label{font-size:9px}.position-mark{font-size:11px!important}.position-answer{font-size:max(8px,min(2.25vw,10px))}.single-note-quick-grid{gap:8px}.single-note-quick-grid button{border-radius:13px;min-height:60px;padding:8px 5px;font-size:25px}}.note-group-feedback .position-feedback-list{grid-auto-rows:1fr;gap:8px}.note-group-feedback .position-feedback-list li{box-sizing:border-box;min-width:0;min-height:124px;box-shadow:none;border-radius:12px;grid-template-rows:16px 38px 18px 20px;grid-template-columns:1fr;align-content:center;align-items:center;justify-items:center;gap:4px;padding:10px 7px;display:grid;overflow:hidden}.note-group-feedback .position-label{text-align:center;white-space:nowrap;font-size:10px;font-weight:750;line-height:16px}.note-group-feedback .position-note{text-align:center;white-space:nowrap;justify-items:center;min-width:0;font-size:18px;line-height:22px;display:grid}.note-group-feedback .position-note small{opacity:.72;font-size:8px;font-weight:650;line-height:12px}.note-group-feedback .position-correction{text-align:center;white-space:nowrap;min-width:0;max-width:100%;font-size:9px;font-weight:700;line-height:18px}.note-group-feedback .position-correction.placeholder{visibility:hidden}.note-group-feedback .position-status{text-align:center;white-space:nowrap;min-width:0;font-size:11px;line-height:20px}@media (max-width:430px){.note-group-feedback .position-feedback-list[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.note-group-feedback .position-feedback-list[data-count="5"],.note-group-feedback .position-feedback-list[data-count="10"]{grid-template-columns:repeat(2,minmax(0,1fr))}.note-group-feedback .position-feedback-list li{grid-template-rows:15px 36px 17px 19px;gap:3px;min-height:116px;padding:8px 4px}.note-group-feedback .position-note{font-size:16px;line-height:21px}.note-group-feedback .position-correction{letter-spacing:-.02em;font-size:8px;line-height:17px}.note-group-feedback .position-status{font-size:10px;line-height:19px}}:where(.practice-page,.report-page,.wrong-book-page){--training-section-gap:18px;--training-card-padding:clamp(20px,3.2vw,34px)}.practice-page{padding-top:26px;padding-bottom:38px}.practice-page .brand-header{min-height:52px;margin-bottom:18px}.practice-page .brand-header h1{font-size:max(25px,min(3.5vw,33px));line-height:1.25}.practice-page .brand-kicker{margin-bottom:4px;font-size:10px;line-height:1.5}.practice-page .stats-bar{margin-bottom:var(--training-section-gap);border-radius:17px;padding-top:13px;padding-bottom:13px}.practice-page .practice-card{padding:var(--training-card-padding);border-radius:24px}.practice-page :-webkit-any(.question-heading,.interval-heading,.practice-intro){margin-bottom:18px}.practice-page :-moz-any(.question-heading,.interval-heading,.practice-intro){margin-bottom:18px}.practice-page :is(.question-heading,.interval-heading,.practice-intro){margin-bottom:18px}.practice-page :-webkit-any(.question-heading,.interval-heading,.practice-intro) h2{margin-top:5px;margin-bottom:9px;font-size:max(24px,min(3.5vw,34px));line-height:1.28}.practice-page :-moz-any(.question-heading,.interval-heading,.practice-intro) h2{margin-top:5px;margin-bottom:9px;font-size:max(24px,min(3.5vw,34px));line-height:1.28}.practice-page :is(.question-heading,.interval-heading,.practice-intro) h2{margin-top:5px;margin-bottom:9px;font-size:max(24px,min(3.5vw,34px));line-height:1.28}.practice-page :-webkit-any(.question-heading,.interval-heading,.practice-intro)>p:last-child{font-size:13px;line-height:1.72}.practice-page :-moz-any(.question-heading,.interval-heading,.practice-intro)>p:last-child{font-size:13px;line-height:1.72}.practice-page :is(.question-heading,.interval-heading,.practice-intro)>p:last-child{font-size:13px;line-height:1.72}.practice-page .section-label{font-size:10px;line-height:1.5}.practice-page :-webkit-any(.primary-action,.secondary-action,.next-button,.play-button){min-height:46px;padding:12px 18px;line-height:1.35}.practice-page :-moz-any(.primary-action,.secondary-action,.next-button,.play-button){min-height:46px;padding:12px 18px;line-height:1.35}.practice-page :is(.primary-action,.secondary-action,.next-button,.play-button){min-height:46px;padding:12px 18px;line-height:1.35}.practice-page .group-answer-panel{margin-top:20px;margin-bottom:18px}.practice-page .interval-options{margin-top:18px;margin-bottom:18px}.practice-page>.feedback-panel,.practice-card>.feedback-panel{margin-top:20px;margin-bottom:18px}.practice-page .review-actions{margin-top:0;margin-bottom:18px}.wrong-book-page .utility-header{margin-bottom:20px}.wrong-book-page .wrong-book-tabs{margin-top:16px;margin-bottom:14px}.wrong-book-page .wrong-book-list article{border-radius:19px;padding:19px}.wrong-book-page .wrong-book-list h2{margin-top:6px;line-height:1.35}.wrong-book-page .wrong-book-question{margin-top:15px;margin-bottom:15px;padding:13px;line-height:1.55}.wrong-book-page .wrong-book-list article>p{line-height:1.65}.report-page .report-header{margin-bottom:8px}.report-page .report-card{border-radius:21px}.report-page .report-summary h2{line-height:1.3}.report-page .report-content-summary{margin-top:4px}.report-page .report-navigation-actions{margin-top:15px}@media (max-width:390px){:where(.practice-page,.report-page,.wrong-book-page){--training-section-gap:12px;--training-card-padding:16px}.practice-page{padding:12px 10px 24px;overflow-x:hidden}.practice-page .brand-header{gap:9px;min-height:44px;margin-bottom:11px}.practice-page .brand-mark{width:40px;height:40px;font-size:21px}.practice-page .brand-header h1{font-size:23px;line-height:1.22}.practice-page .level-badge{padding:6px 9px;font-size:10px}.practice-page .stats-bar{border-radius:14px;padding:9px 7px}.practice-page .stats-bar div{gap:2px}.practice-page .stats-bar span{font-size:10px}.practice-page .stats-bar strong{font-size:16px}.practice-page .practice-card{border-radius:18px;width:100%;padding:16px 13px 17px;overflow:hidden}.practice-page :-webkit-any(.question-heading,.interval-heading,.practice-intro){gap:10px;margin-bottom:13px}.practice-page :-moz-any(.question-heading,.interval-heading,.practice-intro){gap:10px;margin-bottom:13px}.practice-page :is(.question-heading,.interval-heading,.practice-intro){gap:10px;margin-bottom:13px}.practice-page :-webkit-any(.question-heading,.interval-heading,.practice-intro) h2{margin:3px 0 7px;font-size:22px;line-height:1.3}.practice-page :-moz-any(.question-heading,.interval-heading,.practice-intro) h2{margin:3px 0 7px;font-size:22px;line-height:1.3}.practice-page :is(.question-heading,.interval-heading,.practice-intro) h2{margin:3px 0 7px;font-size:22px;line-height:1.3}.practice-page :-webkit-any(.question-heading,.interval-heading,.practice-intro)>p:last-child{font-size:12px;line-height:1.6}.practice-page :-moz-any(.question-heading,.interval-heading,.practice-intro)>p:last-child{font-size:12px;line-height:1.6}.practice-page :is(.question-heading,.interval-heading,.practice-intro)>p:last-child{font-size:12px;line-height:1.6}.practice-page :-webkit-any(.primary-action,.secondary-action,.next-button,.play-button){width:100%;min-height:44px;padding:11px 13px}.practice-page :-moz-any(.primary-action,.secondary-action,.next-button,.play-button){width:100%;min-height:44px;padding:11px 13px}.practice-page :is(.primary-action,.secondary-action,.next-button,.play-button){width:100%;min-height:44px;padding:11px 13px}.practice-page .group-answer-panel{margin:15px 0 13px}.practice-page .interval-options{gap:8px;margin:14px 0}.practice-page>.feedback-panel,.practice-card>.feedback-panel{margin-top:15px;margin-bottom:13px}.wrong-book-page .utility-header{margin-bottom:14px}.wrong-book-page .wrong-book-list{gap:11px}.wrong-book-page .wrong-book-list article{border-radius:16px;padding:15px 13px}.wrong-book-page .wrong-book-question{margin-top:12px;margin-bottom:12px;padding:11px}.wrong-book-page .wrong-book-question>div{grid-template-columns:62px minmax(0,1fr)}.wrong-book-page .wrong-book-list article>div:last-child{flex-direction:column}.wrong-book-page .wrong-book-list article>div:last-child button{width:100%;min-height:42px}.report-page .report-card{padding:15px 13px}.report-page .report-navigation-actions button{min-height:41px}}.back-navigation,.back-home,.rhythm-header>button,.melody-header>button{color:#755652;width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:44px;height:48px;min-height:48px;font:inherit;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:rgba(252,250,245,.94);border:1px solid rgba(185,142,137,.28);border-radius:12px;justify-content:flex-start;align-self:flex-start;align-items:center;gap:5px;padding:0 16px 0 11px;font-size:14px;font-weight:700;line-height:1;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .12s;display:flex;box-shadow:0 3px 10px rgba(65,48,42,.043)}.back-navigation-icon{margin-top:-2px;font-family:Arial,sans-serif;font-size:30px;font-weight:300;line-height:1}.back-navigation:hover,.back-home:hover,.rhythm-header>button:hover,.melody-header>button:hover{background:#f3ebe6;border-color:rgba(185,142,137,.5);box-shadow:0 4px 12px rgba(65,48,42,.07)}.back-navigation:active,.back-home:active,.rhythm-header>button:active,.melody-header>button:active{background:#e9dfd8;transform:translateY(1px)scale(.98);box-shadow:0 1px 4px rgba(65,48,42,.04)}.back-navigation:focus-visible{outline-offset:2px;outline:2px solid #b98e89}.back-home:focus-visible{outline-offset:2px;outline:2px solid #b98e89}.rhythm-header>button:focus-visible{outline-offset:2px;outline:2px solid #b98e89}.melody-header>button:focus-visible{outline-offset:2px;outline:2px solid #b98e89}.practice-page .brand-header .back-home{font-size:14px}.practice-page .brand-header .back-home:after{display:none}.module-page-header .back-navigation{position:absolute;top:18px;left:18px}.module-page-header{width:min(920px,100%)}.setup-card>.back-navigation,.setup-card>.back-home{margin-bottom:26px;margin-right:auto}@media (max-width:620px){.module-page-header .back-navigation{margin:0 0 14px;position:static}.back-navigation,.back-home,.rhythm-header>button,.melody-header>button{height:48px;min-height:48px;font-size:14px}.back-navigation:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.back-navigation:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.back-navigation:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.back-home:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.back-home:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.back-home:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.rhythm-header>button:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.rhythm-header>button:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.rhythm-header>button:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.melody-header>button:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.melody-header>button:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.melody-header>button:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:10px;padding-right:15px}.back-navigation:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.back-navigation:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.back-navigation:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.back-home:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.back-home:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.back-home:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.rhythm-header>button:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.rhythm-header>button:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.rhythm-header>button:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.melody-header>button:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.melody-header>button:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}.melody-header>button:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:15px;padding-right:10px}}.preference-page{color:#27231f;background:#f8f5f1;min-height:100vh;padding:max(16px,min(4vw,38px))}.identity-onboarding-page{align-items:center;justify-items:center;display:grid}.preference-card{text-align:center;background:#fcfaf5;border:1px solid #e2d9d0;border-radius:26px;width:min(620px,100%);padding:max(24px,min(5vw,42px));box-shadow:0 20px 60px rgba(54,43,35,.07)}.preference-brand{color:#9b716d;background:#f1e8e4;border-radius:18px;width:58px;height:58px;margin:0 auto 13px;padding:12px}.preference-brand svg{width:100%;height:100%}.preference-card>small,.settings-header>small,.settings-card>div:first-child small{color:#a47772;letter-spacing:.14em;font-size:10px;font-weight:800}.preference-card h1{margin:7px 0 8px;font-family:Georgia,Songti SC,serif;font-size:max(27px,min(6vw,38px));line-height:1.25}.preference-card>p{color:#80786f;margin:0 auto 20px;font-size:13px;line-height:1.65}.identity-role-list{text-align:left;gap:9px;display:grid}.identity-role-list button{color:#3c3530;text-align:left;background:#fffdf9;border:1px solid #e5ddd4;border-radius:15px;grid-template-columns:18px 1fr;align-items:center;column-gap:11px;min-height:68px;padding:12px 14px;display:grid}.identity-role-list button>span{border:1.5px solid #c9b7ae;border-radius:50%;grid-row:1/3;width:17px;height:17px;box-shadow:inset 0 0 0 4px #fffdf9}.identity-role-list button strong{font-size:15px}.identity-role-list button small{color:#8b8179;margin-top:3px;font-size:11px;line-height:1.4}.identity-role-list button.selected{background:#f7eeeb;border-color:#b98e89}.identity-role-list button.selected>span{background:#a47772;border-color:#a47772;box-shadow:inset 0 0 0 4px #f7eeeb}.preference-primary{color:#fff;background:#755652;border:0;border-radius:14px;width:100%;min-height:48px;margin-top:18px;font-size:14px;font-weight:800}.preference-primary:disabled{color:#968d86;background:#d7cec7}.preference-footnote{margin:12px 0 0!important;font-size:11px!important}.settings-page{padding-bottom:44px}.settings-header{text-align:center;width:min(760px,100%);margin:0 auto 18px;padding:18px 0 8px;position:relative}.settings-header .back-navigation{position:absolute;top:8px;left:0}.settings-header h1{margin:7px 0 5px;font-family:Georgia,Songti SC,serif;font-size:36px}.settings-header p{color:#80786f;margin:0;font-size:13px}.settings-card{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:20px;width:min(760px,100%);margin:12px auto 0;padding:20px;box-shadow:0 10px 28px rgba(48,39,32,.043)}.settings-card>div:first-child h2{margin:4px 0 14px;font-size:20px}.settings-option-grid{gap:8px;display:grid}.identity-setting-grid,.pitch-display-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-option-grid button{color:#3b3530;text-align:left;background:#fffdf9;border:1px solid #e4ddd4;border-radius:14px;align-content:center;gap:4px;min-height:70px;padding:13px 14px;display:grid}.settings-option-grid button strong{font-size:14px}.settings-option-grid button span{color:#857b73;font-size:11px;line-height:1.45}.settings-option-grid button.selected{background:#f5ebe8;border-color:#b98e89;box-shadow:inset 0 0 0 1px rgba(185,142,137,.14)}.settings-note{color:#8b8179;margin:12px 0 0;font-size:11px;line-height:1.6}.user-settings-entry{color:#27231f;text-align:left;background:#fcfaf5;border:1px solid #e4ddd4;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;width:min(820px,100%);margin:16px auto 0;padding:17px 20px;display:flex}.user-settings-entry span>*{display:block}.user-settings-entry small{color:#956b66;letter-spacing:.13em;font-size:9px}.user-settings-entry strong{margin:4px 0;font-size:18px}.user-settings-entry em{color:#80786f;font-size:12px;font-style:normal}.user-settings-entry b{color:#956b66;white-space:nowrap;font-size:12px}@media (max-width:600px){.preference-page{padding:12px}.preference-card{border-radius:22px;padding:24px 16px}.identity-role-list button{min-height:64px}.settings-header{padding-top:64px}.settings-header .back-navigation{top:4px;left:0}.settings-header h1{font-size:30px}.settings-card{padding:15px}.identity-setting-grid{grid-template-columns:1fr}.settings-option-grid button{min-height:62px}.user-settings-entry{padding:15px 16px}}.wrong-book-page .wrong-book-list{gap:16px}.wrong-book-page .wrong-book-list article,.wrong-book-page .wrong-book-list article.practicing,.wrong-book-page .wrong-book-list article.mastered{opacity:1;background:#fffdfa;border:1px solid #e2d9cf;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(54,43,35,.043)}.wrong-book-page .wrong-book-card-header{border-bottom:1px solid #ebe3da;padding:0 1px 12px;display:block}.wrong-book-page .wrong-book-card-header h2{color:#4d423b;margin:0;font-size:17px;font-weight:800;line-height:1.35}.wrong-book-page .wrong-book-question{background:#f8f4ed;border-radius:13px;gap:9px;margin:13px 0;padding:12px 13px;display:grid}.wrong-book-page .wrong-book-question>div{grid-template-columns:68px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.wrong-book-page .wrong-book-question dt{color:#8a7e74;font-size:12px;line-height:1.45}.wrong-book-page .wrong-book-question dd{color:#493f39;overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:750;line-height:1.5}.wrong-book-page .wrong-book-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.wrong-book-page .wrong-book-stats>span{background:#fcfaf6;border:1px solid #ebe3da;border-radius:11px;gap:3px;padding:9px 11px;display:grid}.wrong-book-page .wrong-book-stats small{color:#8a7e74;font-size:10px;line-height:1.3}.wrong-book-page .wrong-book-stats strong{color:#5e5149;font-size:13px;line-height:1.35}.wrong-book-page .wrong-book-list .wrong-book-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.wrong-book-page .wrong-book-list .wrong-book-actions button{color:#705f57;width:100%;min-width:0;height:42px;font:inherit;white-space:nowrap;box-shadow:none;background:#f8f3ed;border:1px solid #d8c9c0;border-radius:11px;padding:0 8px;font-size:13px;font-weight:750;line-height:1}.wrong-book-page .wrong-book-list .wrong-book-actions button:disabled{cursor:not-allowed;opacity:.55}.wrong-book-page .wrong-book-list .wrong-book-actions .primary{color:#fff;background:#a87973;border-color:#a87973}@media (max-width:390px){.wrong-book-page .wrong-book-list{gap:12px}.wrong-book-page .wrong-book-list article{border-radius:16px;padding:15px 13px}.wrong-book-page .wrong-book-question{padding:11px}.wrong-book-page .wrong-book-question>div{grid-template-columns:62px minmax(0,1fr);gap:7px}.wrong-book-page .wrong-book-list .wrong-book-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}}.note-group-feedback,.feedback-panel.correct.note-group-feedback{padding:7px 8px}.note-group-feedback .position-feedback-list,.note-group-feedback .position-feedback-list[data-count="3"],.note-group-feedback .position-feedback-list[data-count="5"],.note-group-feedback .position-feedback-list[data-count="10"]{grid-template-columns:1fr;grid-auto-rows:auto;gap:4px;display:grid}.note-group-feedback .position-feedback-list li{box-sizing:border-box;border-radius:8px;grid-template-rows:1fr;grid-template-columns:18px 48px minmax(0,1fr);align-items:center;justify-items:start;gap:5px;width:100%;min-width:0;min-height:34px;padding:6px 9px;display:grid;overflow:hidden}.note-group-feedback .position-status{text-align:center;font-size:12px;line-height:1}.note-group-feedback .position-label{white-space:nowrap;font-size:10px;font-weight:750;line-height:1.25}.note-group-feedback .position-answer{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:600;line-height:1.3;overflow:hidden}.note-group-feedback .position-answer strong{font-size:12px;font-weight:850}.note-group-feedback .position-answer i{color:inherit;opacity:.65;margin-left:5px;margin-right:5px;font-style:normal}@media (max-width:390px){.note-group-feedback,.feedback-panel.correct.note-group-feedback{padding:6px}.note-group-feedback .position-feedback-list li{grid-template-columns:16px 43px minmax(0,1fr);gap:3px;min-height:31px;padding:5px 7px}.note-group-feedback .position-label{font-size:9px}.note-group-feedback .position-answer{letter-spacing:-.02em;font-size:10px}.note-group-feedback .position-answer strong{font-size:11px}.note-group-feedback .position-answer i{margin-left:3px;margin-right:3px}}.teacher-login-page{color:#2e2925;background:#f4f0ea;align-items:center;justify-items:center;min-height:100vh;padding:20px;display:grid}.teacher-login-card{background:#fcfaf5;border:1px solid #e2d8cf;border-radius:26px;width:min(420px,100%);padding:38px;box-shadow:0 22px 60px rgba(52,41,34,.08)}.teacher-login-card header{text-align:center;margin-bottom:25px}.teacher-login-card header small,.teacher-heading small,.teacher-section-card header small{color:#b98e89;letter-spacing:.16em;font-size:10px;font-weight:800}.teacher-login-card h1{margin:7px 0;font-family:Georgia,Songti SC,serif;font-size:34px;font-weight:500}.teacher-login-card header p{color:#80766e;margin:0;font-size:12px}.teacher-login-card form{gap:14px;display:grid}.teacher-login-card label{color:#71675f;gap:7px;font-size:12px;font-weight:700;display:grid}.teacher-login-card input{color:#27231f;background:#fffdf9;border:1px solid #ddd3ca;border-radius:12px;min-height:46px;padding:10px 12px}.teacher-primary{color:#fff;cursor:pointer;background:#956b66;border:0;border-radius:12px;min-height:46px;font-weight:800}.teacher-primary:disabled{opacity:.65}.teacher-page{color:#2d2925;background:#f6f2ec;min-height:100vh}.teacher-topbar{background:rgba(252,250,245,.96);border-bottom:1px solid #e5dcd3;justify-content:space-between;align-items:center;min-height:70px;padding:13px max(18px,min(5vw,64px));display:flex}.teacher-topbar>div{gap:2px;display:grid}.teacher-topbar small{color:#b98e89;letter-spacing:.18em;font-size:9px;font-weight:900}.teacher-topbar strong{font-size:18px}.teacher-topbar button{color:#796a61;cursor:pointer;background:#f8f3ed;border:1px solid #ddd1c8;border-radius:10px;min-height:38px;padding:7px 13px}.teacher-content{width:min(1120px,100%);margin:auto;padding:max(24px,min(4vw,50px)) max(14px,min(4vw,34px)) 50px}.teacher-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.teacher-heading h1{margin:5px 0 7px;font-family:Georgia,Songti SC,serif;font-size:max(29px,min(4vw,40px));font-weight:500;line-height:1.15}.teacher-heading p{color:#81776f;margin:0;font-size:13px}.teacher-heading>span{color:#8b8077;font-size:11px}.teacher-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.teacher-overview-grid article{background:#fcfaf5;border:1px solid #e1d8cf;border-radius:19px;flex-wrap:wrap;align-content:center;align-items:baseline;gap:5px;min-height:126px;padding:21px;display:flex;box-shadow:0 10px 28px rgba(59,47,39,.04)}.teacher-overview-grid article>span{color:#81766e;width:100%;margin-bottom:9px;font-size:11px}.teacher-overview-grid article>strong{color:#795b56;font-family:Georgia,Songti SC,serif;font-size:34px;font-weight:500}.teacher-overview-grid article>small{color:#91877f;font-size:11px}.teacher-overview-grid.compact article{min-height:110px}.teacher-section-card,.teacher-state-card{background:#fcfaf5;border:1px solid #e2d9d0;border-radius:20px;margin-top:16px;box-shadow:0 10px 30px rgba(59,47,39,.04)}.teacher-section-card{padding:20px}.teacher-section-card>header{justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:15px;display:flex}.teacher-section-card h2{margin:4px 0 0;font-size:20px}.teacher-section-card>header>span{color:#8c8279;font-size:11px}.teacher-student-list{gap:7px;display:grid}.teacher-student-list>button{color:#332e2a;text-align:left;cursor:pointer;background:#fffdf9;border:1px solid #ebe3db;border-radius:13px;grid-template-columns:1.25fr .65fr .65fr .65fr 1fr 18px;align-items:center;gap:12px;min-height:69px;padding:11px 13px;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.teacher-student-list>button:hover{border-color:#cfb7b2;transform:translateY(-1px);box-shadow:0 7px 18px rgba(80,60,49,.06)}.teacher-student-list>button>span{gap:4px;min-width:0;display:grid}.teacher-student-list small{color:#998e84;font-size:9px}.teacher-student-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.teacher-student-list i{color:#b98e89;font-size:24px;font-style:normal}.teacher-student-id strong{color:#765a55}.teacher-state-card{text-align:center;padding:28px}.teacher-state-card p{color:#82776f}.teacher-state-card button,.teacher-back{color:#735f57;cursor:pointer;background:#fffaf5;border:1px solid #dacfc6;border-radius:10px;min-height:40px;padding:8px 13px}.teacher-detail-heading{align-items:flex-start}.teacher-back{margin-bottom:18px;display:block}.teacher-module-list,.teacher-record-list{gap:7px;display:grid}.teacher-module-list article{background:#f6f1eb;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;padding:13px 14px;display:flex}.teacher-module-list article>div{gap:3px;display:grid}.teacher-module-list article span{color:#8b8178;font-size:10px}.teacher-module-list article>b{color:#795b56;font-size:16px}.teacher-record-list article{border-bottom:1px solid #ece4dc;grid-template-columns:minmax(0,1fr) auto minmax(130px,.7fr);align-items:center;gap:12px;min-height:58px;padding:10px 13px;display:grid}.teacher-record-list article>div{gap:3px;display:grid}.teacher-record-list article>div:nth-child(2){grid-template-columns:auto auto;gap:8px}.teacher-record-list span,.teacher-record-list time{color:#8d837a;font-size:10px}.teacher-record-list b{font-size:12px}.teacher-record-list time{text-align:right}.teacher-empty{color:#8e847b;text-align:center;padding:22px}@media (max-width:760px){.teacher-login-card{padding:28px 21px}.teacher-topbar{min-height:62px;padding:10px 14px}.teacher-content{padding:22px 12px 35px}.teacher-heading{flex-direction:column;align-items:flex-start;gap:8px}.teacher-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.teacher-overview-grid article{min-height:104px;padding:15px}.teacher-overview-grid article>strong{font-size:28px}.teacher-section-card{padding:14px 11px}.teacher-student-list>button{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(56px,.55fr)) 15px;gap:7px}.teacher-student-list>button>span:nth-child(4),.teacher-student-list>button>span:nth-child(5){display:none}.teacher-record-list article{grid-template-columns:minmax(0,1fr) auto}.teacher-record-list time{text-align:left;grid-column:1/-1}.teacher-section-card>header{flex-direction:column;align-items:flex-start;gap:6px}}@media (max-width:390px){.teacher-topbar strong{font-size:16px}.teacher-heading h1{font-size:28px}.teacher-overview-grid article{min-height:96px;padding:13px}.teacher-student-list>button{min-height:64px;padding:9px}.teacher-student-list strong{font-size:11px}}.teacher-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.teacher-insight-grid>.teacher-section-card{min-width:0;margin-top:0}.teacher-attention-list,.teacher-class-module-list{gap:7px;display:grid}.teacher-attention-list>button{color:#362f2b;text-align:left;cursor:pointer;background:#fffdf9;border:1px solid #ebe2da;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto 14px;align-items:center;gap:10px;width:100%;min-height:62px;padding:10px 11px;display:grid}.teacher-attention-list>button:hover{border-color:#cfb7b2}.teacher-attention-list>button>span{gap:3px;min-width:0;display:grid}.teacher-attention-list>button>span:first-child strong{color:#765a55;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.teacher-attention-list small,.teacher-class-module-list small{color:#91867d;font-size:9px;line-height:1.4}.teacher-attention-list b{text-align:center;font-size:14px}.teacher-attention-list i{color:#b98e89;font-size:20px;font-style:normal}.teacher-class-module-list article{background:#f6f1eb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:10px 12px;display:flex}.teacher-class-module-list article>span{gap:4px;min-width:0;display:grid}.teacher-class-module-list article>span:last-child{text-align:right}.teacher-class-module-list strong{font-size:13px}.teacher-class-module-list b{color:#795b56;font-size:17px}@media (max-width:820px){.teacher-insight-grid{grid-template-columns:1fr}.teacher-insight-grid>.teacher-section-card{margin-top:0}.teacher-attention-list>button{grid-template-columns:minmax(0,1fr) auto auto 14px}}@media (max-width:390px){.teacher-insight-grid{gap:10px}.teacher-attention-list>button{grid-template-columns:minmax(0,1fr) 48px 45px 10px;gap:5px;min-height:58px;padding:9px 8px}.teacher-attention-list b{font-size:13px}.teacher-attention-list small{font-size:8px}.teacher-class-module-list article{min-height:58px;padding:9px 10px}}.teacher-diagnosis-card{background:linear-gradient(145deg,#fcfaf5,#f8f1eb);border:1px solid #ddcfc5;border-radius:20px;margin-top:16px;padding:20px;box-shadow:0 12px 32px rgba(75,56,45,.055)}.teacher-diagnosis-card>header{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.teacher-diagnosis-card>header small,.teacher-diagnosis-card>footer small{color:#b98e89;letter-spacing:.15em;font-size:9px;font-weight:850}.teacher-diagnosis-card h2{margin:4px 0 0;font-size:21px}.teacher-diagnosis-card>header>span{color:#8d8178;font-size:10px}.teacher-diagnosis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.teacher-diagnosis-grid article{background:#fffdf9;border:1px solid #e7ddd4;border-radius:14px;align-content:center;gap:5px;min-width:0;min-height:102px;padding:14px;display:grid}.teacher-diagnosis-grid article>span{color:#8d8178;font-size:10px}.teacher-diagnosis-grid article>strong{font-size:18px}.teacher-diagnosis-grid article>b{font-family:Georgia,Songti SC,serif;font-size:24px;font-weight:500}.teacher-diagnosis-grid .strength b{color:#627964}.teacher-diagnosis-grid .weakness b{color:#9a625c}.teacher-diagnosis-grid .undertrained{grid-column:1/-1;min-height:84px}.teacher-diagnosis-grid .undertrained>strong{font-size:14px;line-height:1.6}.teacher-diagnosis-grid .undertrained>small{color:#93877e;font-size:9px}.teacher-diagnosis-card>footer{background:#efe6df;border-radius:13px;gap:5px;margin-top:10px;padding:13px 15px;display:grid}.teacher-diagnosis-card>footer>strong{font-size:13px;line-height:1.55}@media (max-width:600px){.teacher-diagnosis-card{padding:14px 11px}.teacher-diagnosis-card>header{flex-direction:column;align-items:flex-start;gap:5px}.teacher-diagnosis-grid{gap:7px}.teacher-diagnosis-grid article{min-height:91px;padding:11px}.teacher-diagnosis-grid article>strong{font-size:16px}.teacher-diagnosis-grid article>b{font-size:21px}.teacher-diagnosis-grid .undertrained{min-height:78px}.teacher-diagnosis-card>footer{padding:11px 12px}}@media (max-width:390px){.teacher-diagnosis-card{overflow:hidden}.teacher-diagnosis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-diagnosis-grid article{min-width:0}.teacher-diagnosis-grid .undertrained>strong{overflow-wrap:anywhere}}.teacher-record-report-link{color:#765a55;cursor:pointer;background:#f8f2ec;border:1px solid #d9cbc1;border-radius:10px;min-height:34px;padding:6px 10px;font-size:10px;font-weight:750}.teacher-training-report{min-width:0}.teacher-report-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px;display:flex}.teacher-report-heading small{color:#b98e89;letter-spacing:.16em;font-size:10px;font-weight:800}.teacher-report-heading h1{margin:5px 0;font-family:Georgia,Songti SC,serif;font-size:max(29px,min(4vw,40px));font-weight:500}.teacher-report-heading p{color:#81776f;margin:0;font-size:12px}.teacher-print-button{color:#fff;cursor:pointer;background:#956b66;border:0;border-radius:11px;min-height:42px;padding:9px 16px;font-weight:800}.teacher-report-meta{background:#fcfaf5;border:1px solid #e2d9d0;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:17px 19px;display:grid}.teacher-report-meta div{gap:5px;min-width:0;display:grid}.teacher-report-meta span,.teacher-report-results span{color:#8b8077;font-size:10px}.teacher-report-meta strong{overflow-wrap:anywhere;font-size:13px}.teacher-report-results{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.teacher-report-results article{background:#fcfaf5;border:1px solid #e2d9d0;border-radius:15px;gap:7px;min-width:0;padding:16px;display:grid}.teacher-report-results strong{color:#795b56;font-family:Georgia,Songti SC,serif;font-size:25px}.teacher-report-analysis>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.teacher-report-analysis article{background:#f6f1eb;border-radius:12px;gap:5px;min-width:0;padding:12px;display:grid}.teacher-report-analysis span{color:#8b8077;font-size:10px}.teacher-report-analysis strong{overflow-wrap:anywhere;font-size:13px}.teacher-report-errors>div{gap:8px;display:grid}.teacher-report-errors article{background:#fffdf9;border:1px solid #ebe2da;border-radius:12px;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 13px;display:grid}.teacher-report-errors span{color:#8b8077;min-width:0;font-size:11px}.teacher-report-errors b{color:#3d3530;overflow-wrap:anywhere}@media (max-width:760px){.teacher-record-list article{grid-template-columns:minmax(0,1fr) auto}.teacher-record-report-link{grid-area:2/2}.teacher-report-heading{flex-direction:column;align-items:stretch}.teacher-print-button{align-self:flex-start}.teacher-report-meta{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.teacher-report-results,.teacher-report-analysis>div{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-report-errors article{grid-template-columns:1fr}.teacher-report-errors article>strong{margin-bottom:2px}}@media (max-width:390px){.teacher-report-meta,.teacher-report-results,.teacher-report-analysis>div{gap:7px}.teacher-report-meta{padding:11px}.teacher-report-results article{padding:12px}.teacher-report-results strong{font-size:21px}.teacher-report-analysis>div{grid-template-columns:1fr}.teacher-print-button{width:100%}}.owner-access-page{color:#2d2925;background:#f4f0ea;align-items:center;justify-items:center;min-height:100vh;padding:20px;display:grid}.owner-access-card{background:#fcfaf5;border:1px solid #e2d8cf;border-radius:26px;width:min(430px,100%);padding:38px;box-shadow:0 22px 60px rgba(52,41,34,.08)}.owner-access-card header{text-align:center;margin-bottom:24px}.owner-access-card header small,.owner-heading small,.owner-panel header small{color:#b98e89;letter-spacing:.16em;font-size:10px;font-weight:800}.owner-access-card h1{margin:7px 0;font-family:Georgia,Songti SC,serif;font-size:34px;font-weight:500}.owner-access-card header p{color:#80766e;margin:0;font-size:12px}.owner-access-card form{gap:14px;display:grid}.owner-access-card label{color:#71675f;gap:7px;font-size:12px;font-weight:700;display:grid}.owner-access-card input{color:#27231f;background:#fffdf9;border:1px solid #ddd3ca;border-radius:12px;min-height:47px;padding:10px 12px}.owner-access-card form button{color:#fff;cursor:pointer;background:#795b56;border:0;border-radius:12px;min-height:47px;font-weight:800}.owner-access-card form button:disabled{opacity:.6}.owner-error{color:#9b4e47;background:#f4e4e1;border-radius:11px;margin:0;padding:10px 12px;font-size:12px}.owner-page{color:#2d2925;background:#f6f2ec;min-height:100vh}.owner-topbar{background:rgba(252,250,245,.96);border-bottom:1px solid #e5dcd3;justify-content:space-between;align-items:center;min-height:70px;padding:13px max(18px,min(5vw,64px));display:flex}.owner-topbar>div{gap:2px;display:grid}.owner-topbar small{color:#b98e89;letter-spacing:.18em;font-size:9px;font-weight:900}.owner-topbar strong{font-size:18px}.owner-topbar button,.owner-heading button,.owner-state button{color:#796a61;cursor:pointer;background:#f8f3ed;border:1px solid #ddd1c8;border-radius:10px;min-height:38px;padding:7px 13px}.owner-content{width:min(1160px,100%);margin:auto;padding:max(24px,min(4vw,50px)) max(14px,min(4vw,34px)) 50px}.owner-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.owner-heading h1{margin:5px 0 7px;font-family:Georgia,Songti SC,serif;font-size:max(29px,min(4vw,40px));font-weight:500;line-height:1.15}.owner-heading p{color:#81776f;margin:0;font-size:13px}.owner-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.owner-overview article{background:#fcfaf5;border:1px solid #e1d8cf;border-radius:19px;align-content:center;gap:10px;min-height:126px;padding:21px;display:grid;box-shadow:0 10px 28px rgba(59,47,39,.04)}.owner-overview article>span{color:#81766e;font-size:11px}.owner-overview article>div{align-items:baseline;gap:6px;display:flex}.owner-overview strong{color:#795b56;font-family:Georgia,Songti SC,serif;font-size:34px;font-weight:500}.owner-overview small{color:#91877f;font-size:11px}.owner-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr);gap:14px;display:grid}.owner-panel,.owner-state{background:#fcfaf5;border:1px solid #e2d9d0;border-radius:20px;min-width:0;padding:20px;box-shadow:0 10px 30px rgba(59,47,39,.04)}.owner-panel>header{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:15px;display:flex}.owner-panel h2{margin:4px 0 0;font-size:20px}.owner-panel>header>span{color:#8c8279;font-size:11px}.owner-modules>div{gap:7px;display:grid}.owner-modules article{background:#f6f1eb;border-radius:12px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:65px;padding:10px 11px;display:grid}.owner-modules article>b{color:#b98e89;font-family:Georgia,serif;font-size:13px}.owner-modules article>span{gap:4px;min-width:0;display:grid}.owner-modules article>span>strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.owner-modules article small{color:#91867d;font-size:9px}.owner-modules article>strong{color:#795b56;text-align:right;gap:2px;font-size:16px;display:grid}.owner-modules i{background:#e5dcd4;border-radius:99px;height:3px;overflow:hidden}.owner-modules em{border-radius:inherit;background:#b98e89;height:100%;display:block}.owner-empty{color:#8e847b;text-align:center;padding:26px}.owner-chart-wrap{min-width:0;overflow:hidden}.owner-chart-wrap svg{width:100%;height:230px;overflow:visible}.owner-grid-line{stroke:#e8e0d8;stroke-width:1px}.owner-chart-wrap polyline{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.owner-chart-wrap circle{stroke:#fcfaf5;stroke-width:2px}.owner-line-active{stroke:#8f6c67;fill:#8f6c67}.owner-line-started{stroke:#a9a17c;fill:#a9a17c}.owner-line-completed{stroke:#6f8873;fill:#6f8873}.owner-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;display:flex}.owner-legend span{color:#81776f;align-items:center;gap:4px;font-size:9px;display:flex}.owner-legend i{background:currentColor;border-radius:50%;width:7px;height:7px}.owner-legend .owner-line-active{color:#8f6c67}.owner-legend .owner-line-started{color:#a9a17c}.owner-legend .owner-line-completed{color:#6f8873}.owner-chart-labels{color:#91877f;text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 8px 0 20px;font-size:9px;display:grid}.owner-state{text-align:center;margin-bottom:14px}.owner-state p{color:#82776f}@media (max-width:820px){.owner-grid{grid-template-columns:1fr}.owner-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-chart-wrap svg{height:210px}}@media (max-width:390px){.owner-access-page{padding:12px}.owner-access-card{border-radius:22px;padding:27px 18px}.owner-topbar{min-height:62px;padding:10px 14px}.owner-topbar strong{font-size:16px}.owner-content{padding:22px 12px 35px}.owner-heading{flex-direction:column;align-items:flex-start;gap:10px}.owner-heading h1{font-size:28px}.owner-overview{gap:8px}.owner-overview article{min-height:96px;padding:13px}.owner-overview strong{font-size:28px}.owner-panel{padding:14px 11px}.owner-panel>header{flex-direction:column;align-items:flex-start;gap:7px}.owner-legend{justify-content:flex-start}.owner-chart-wrap svg{height:180px}.owner-chart-labels{padding-left:12px;font-size:8px}.owner-modules article{gap:7px;padding:9px 8px}}.owner-topbar .owner-topbar-actions{align-items:center;gap:7px;display:flex}.owner-topbar-actions a{color:#82766e;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:700;text-decoration:none}.owner-topbar-actions a:hover,.owner-topbar-actions a.is-active{color:#6f504b;background:#eee5dd}.retention-login-link{color:#fff;background:#795b56;border-radius:12px;align-items:center;justify-items:center;min-height:47px;font-size:13px;font-weight:800;text-decoration:none;display:grid}.retention-content{width:min(1380px,100%)}.retention-heading{align-items:center}.retention-actions{align-items:center;gap:9px;display:flex}.retention-actions>button{color:#fff;cursor:pointer;background:#795b56;border:1px solid #d8ccc2;border-radius:10px;min-height:40px;padding:8px 14px}.retention-range{background:#eee8e1;border:1px solid #e0d6cd;border-radius:12px;padding:3px;display:flex}.retention-range button{color:#857970;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:32px;padding:6px 10px;font-size:11px}.retention-range button.is-active{color:#6f504b;background:#fcfaf5;box-shadow:0 2px 9px rgba(72,54,43,.08)}.retention-meta{color:#7f746c;background:#f0e9e2;border:1px solid #e2d8cf;border-radius:12px;margin:-5px 0 14px;padding:10px 13px;font-size:11px}.retention-overview{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.retention-overview article,.retention-overview button{color:#2d2925;text-align:left;background:#fcfaf5;border:1px solid #e1d8cf;border-radius:17px;align-content:center;gap:7px;min-width:0;min-height:130px;padding:17px;display:grid;box-shadow:0 9px 24px rgba(59,47,39,.035)}.retention-overview button{font:inherit;cursor:pointer}.retention-overview .is-clickable:hover{border-color:#b99a91;transform:translateY(-1px)}.retention-overview>*>span{color:#81766e;font-size:11px}.retention-overview>*>div{align-items:baseline;gap:5px;display:flex}.retention-overview strong{color:#795b56;text-overflow:ellipsis;font-family:Georgia,Songti SC,serif;font-size:30px;font-weight:500;overflow:hidden}.retention-overview small{color:#91877f;font-size:10px}.retention-overview p{color:#9a8f86;margin:0;font-size:9px;line-height:1.45}.retention-card{margin-bottom:14px}.retention-card>header p,.retention-profile>header p{color:#91867d;margin:4px 0 0;font-size:10px}.retention-card h3,.retention-profile h3{color:#6f635b;margin:0 0 10px;font-size:12px}.retention-two-columns{grid-template-columns:1.35fr .8fr;gap:18px;display:grid}.retention-stat-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.retention-stat-row.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.retention-stat-row article{background:#f4eee8;border-radius:13px;align-content:start;gap:5px;min-height:115px;padding:14px 12px;display:grid}.retention-stat-row article>span{color:#8f6c67;font-size:12px;font-weight:800}.retention-stat-row article>strong{color:#604b47;font-family:Georgia,serif;font-size:25px;font-weight:500}.retention-stat-row article>small{color:#988c83;font-size:9px}.retention-stat-row article>p{color:#897e76;margin:2px 0 0;font-size:9px;line-height:1.4}.retention-table-wrap{max-width:100%;overflow:auto}.retention-table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px}.retention-table.wide{min-width:980px}.retention-table th{color:#8b7e74;text-align:left;white-space:nowrap;border-bottom:1px solid #ddd3ca;padding:10px 11px;font-size:9px;font-weight:800}.retention-table td{color:#625a54;white-space:nowrap;border-bottom:1px solid #eee7e0;padding:11px}.retention-table td:first-child{color:#463f3a;font-weight:700}.retention-table td strong,.retention-table td small{display:block}.retention-table td small{color:#9a8e85;margin-top:3px;font-size:8px;font-weight:400}.retention-table tr:last-child td{border-bottom:0}.retention-table tr.is-selectable{cursor:pointer}.retention-table tr.is-selectable:hover td{background:#f2ebe4}.retention-heat{text-align:center;border-radius:8px;min-width:52px;padding:5px 7px;display:inline-block}.retention-heat.tone-1,.retention-calendar .tone-1{background:#f2e9e2}.retention-heat.tone-2,.retention-calendar .tone-2{background:#e8d9d0}.retention-heat.tone-3,.retention-calendar .tone-3{background:#d8c1b7}.retention-heat.tone-4,.retention-calendar .tone-4{color:#fff;background:#be9d92}.retention-heat.tone-5,.retention-calendar .tone-5{color:#fff;background:#8f6c67}.retention-unobserved{color:#b5aaa1}.retention-learning{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.retention-learning article{background:#f4eee8;border-radius:13px;padding:15px}.retention-learning span{color:#746961;font-size:11px;display:block}.retention-learning strong{color:#795b56;margin:7px 0 2px;font-family:Georgia,serif;font-size:25px;font-weight:500;display:block}.retention-learning p{color:#9b8e84;margin:0;font-size:9px}.retention-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.retention-bars{gap:8px;display:grid}.retention-bars article{grid-template-columns:120px minmax(80px,1fr) 58px;align-items:center;gap:10px;display:grid}.retention-bars article>div{display:grid}.retention-bars article strong{font-size:11px}.retention-bars article small{color:#9b8f86;font-size:8px}.retention-bars i{background:#ece4dd;border-radius:99px;height:8px;overflow:hidden}.retention-bars em{border-radius:inherit;background:#ad8880;height:100%;display:block}.retention-bars b{color:#66524e;text-align:right;font-size:12px;display:grid}.retention-bars b small{font-weight:400}.retention-modules header label,.retention-card header label{color:#897d74;align-items:center;gap:7px;font-size:10px;display:flex}.retention-card select,.retention-modules select,.retention-funnel select{color:#5e5550;background:#f8f4ee;border:1px solid #ddd2c9;border-radius:9px;min-height:34px;padding:5px 9px}.retention-coverage{color:#8a7e75;background:#f3ede7;border-radius:9px;margin:-4px 0 12px;padding:8px 10px;font-size:9px;line-height:1.45}.retention-funnel>div{gap:7px;display:grid}.retention-funnel article{background:#f4eee8;border-radius:11px;grid-template-columns:25px 1fr auto;align-items:center;gap:9px;padding:10px 11px;display:grid}.retention-funnel article>b{color:#7e625d;background:#e2d3ca;border-radius:50%;align-items:center;justify-items:center;width:22px;height:22px;font-size:9px;display:grid}.retention-funnel article span{display:grid}.retention-funnel article strong{font-size:11px}.retention-funnel article small{color:#9b8e85;font-size:8px}.retention-funnel article em{color:#745955;font-size:12px;font-style:normal;font-weight:800}.retention-profile{margin-bottom:14px;scroll-margin-top:20px}.retention-profile>header button{color:#796a61;cursor:pointer;background:#f8f3ed;border:1px solid #ddd2c9;border-radius:9px;min-height:34px;padding:6px 10px}.retention-profile-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.retention-profile-facts span{color:#968a81;background:#f4eee8;border-radius:10px;gap:4px;padding:11px;font-size:9px;display:grid}.retention-profile-facts strong{color:#5f554f;font-size:12px}.retention-profile h3{margin-top:16px}.retention-calendar{grid-template-rows:repeat(7,10px);grid-auto-columns:10px;grid-auto-flow:column;gap:3px;padding-bottom:5px;display:grid;overflow:auto}.retention-calendar i{background:#faf7f2;border:1px solid #eee6df;border-radius:2px;width:10px;height:10px}.retention-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.retention-profile-grid>div{background:#f6f1eb;border-radius:11px;padding:12px}.retention-profile-grid p{color:#756a62;border-bottom:1px solid #e8dfd8;justify-content:space-between;gap:10px;margin:0;padding:7px 0;font-size:10px;display:flex}.retention-profile-grid p:last-child{border-bottom:0}.retention-notes{align-items:start}.retention-notes p{color:#82776f;margin:0;font-size:11px;line-height:1.65}.retention-notes details summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.retention-notes details summary span{gap:4px;display:grid}.retention-notes details summary small{color:#b98e89;letter-spacing:.16em;font-size:9px;font-weight:800}.retention-notes details summary strong{font-size:20px}.retention-notes details summary b{color:#8e8178;font-size:10px}.retention-notes details>div{gap:8px;margin-top:14px;display:grid}.retention-notes details article{border-top:1px solid #ebe2db;padding-top:8px}.retention-notes details article strong{font-size:11px}@media (max-width:1100px){.retention-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.retention-two-columns{grid-template-columns:1fr}.retention-stat-row article{min-height:105px}.retention-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.owner-topbar{align-items:flex-start;gap:10px}.owner-topbar .owner-topbar-actions{flex-wrap:wrap;justify-content:flex-end}.retention-heading{align-items:flex-start}.retention-actions{flex-direction:column;align-items:stretch;width:100%}.retention-range{grid-template-columns:repeat(4,1fr);display:grid}.retention-overview,.retention-stat-row,.retention-stat-row.compact,.retention-learning{grid-template-columns:repeat(2,minmax(0,1fr))}.retention-grid,.retention-profile-grid{grid-template-columns:1fr}}@media (max-width:430px){.owner-topbar{padding:9px 11px}.owner-topbar>div:first-child{display:none}.owner-topbar .owner-topbar-actions{justify-content:space-between;width:100%}.owner-topbar-actions a{padding:7px 5px;font-size:10px}.retention-content{padding:20px 10px 36px}.retention-overview{gap:7px}.retention-overview article,.retention-overview button{min-height:112px;padding:12px}.retention-overview strong{font-size:25px}.retention-stat-row article{padding:11px 9px}.retention-stat-row article>strong{font-size:22px}.retention-bars article{grid-template-columns:96px 1fr 48px;gap:7px}.retention-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.teacher-topbar,.teacher-back,.teacher-print-button{display:none!important}.teacher-page,.teacher-content{background:#fff}.teacher-content{width:100%;padding:0}.teacher-training-report{color:#000}.teacher-section-card,.teacher-report-meta,.teacher-report-results article{box-shadow:none;break-inside:avoid}.teacher-report-errors article{break-inside:avoid}}.teacher-classes-entry{color:#302a26;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fcfaf5,#f5ece5);border:1px solid #dfd3ca;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;width:100%;margin:0 0 20px;padding:17px 20px;display:flex;box-shadow:0 9px 24px rgba(65,48,39,.04)}.teacher-classes-entry span>*{display:block}.teacher-classes-entry small{color:#b98e89;letter-spacing:.15em;font-size:9px;font-weight:800}.teacher-classes-entry strong{margin:4px 0;font-size:19px}.teacher-classes-entry em{color:#847970;font-size:11px;font-style:normal}.teacher-classes-entry b{color:#8b625e;white-space:nowrap;font-size:12px}.teacher-create-class form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.teacher-create-class label{color:#786d65;gap:6px;font-size:11px;display:grid}.teacher-create-class input{color:#302b27;background:#fffdf9;border:1px solid #ddd2c9;border-radius:11px;width:100%;min-height:44px;padding:9px 12px}.teacher-create-class .teacher-primary{min-width:112px}.teacher-inline-error{color:#a05e58;margin:10px 0 0;font-size:11px}.teacher-class-list{gap:8px;display:grid}.teacher-class-list>button{color:#332e2a;text-align:left;cursor:pointer;background:#fffdf9;border:1px solid #e9e0d8;border-radius:13px;grid-template-columns:minmax(0,1fr) minmax(125px,.7fr) 65px 14px;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px 14px;display:grid}.teacher-class-list>button>span{gap:4px;min-width:0;display:grid}.teacher-class-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-class-list small{color:#92877e;font-size:9px}.teacher-class-list b,.teacher-invite-code{color:#8b625e;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.teacher-class-list i{color:#b98e89;font-size:21px;font-style:normal}.teacher-class-students{gap:7px;display:grid}.teacher-class-students article{background:#fffdf9;border:1px solid #eae1d9;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) auto;align-items:center;gap:12px;min-height:66px;padding:11px 13px;display:grid}.teacher-class-students article>span{gap:4px;min-width:0;display:grid}.teacher-class-students small{color:#92877e;font-size:9px}.teacher-class-students time{font-size:11px}.teacher-membership-status{color:#7c6d65;background:#eee6df;border-radius:999px;padding:5px 9px;font-size:10px}.teacher-membership-status.active{color:#5d745f;background:#e8efe8}.user-class-card{color:#2e2925;background:#fcfaf5;border:1px solid #e4d8cf;border-radius:20px;width:min(820px,100%);margin:0 auto 18px;padding:20px}.user-class-card>header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:13px;display:flex}.user-class-card>header small{color:#956b66;letter-spacing:.14em;font-size:9px;font-weight:800}.user-class-card h2{margin:4px 0 0;font-size:20px}.user-class-card>header>span{color:#887d74;font-size:10px}.user-class-list{gap:7px;margin-bottom:12px;display:grid}.user-class-list article{background:#f5efe9;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.user-class-list article>span{gap:4px;min-width:0;display:grid}.user-class-list small{color:#8b8178;font-size:9px}.user-class-list b{color:#637762;font-size:10px}.user-class-join{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;display:grid}.user-class-join label{color:#7c7168;gap:5px;font-size:10px;display:grid}.user-class-join input{text-transform:uppercase;background:#fffdf9;border:1px solid #ddd2c9;border-radius:11px;width:100%;min-height:42px;padding:8px 11px}.user-class-join button{color:#fff;background:#956b66;border:0;border-radius:11px;min-width:76px;min-height:42px;font-weight:750}.user-class-join button:disabled{opacity:.55}.user-class-message{color:#806761;margin:9px 0 0;font-size:10px}@media (max-width:600px){.teacher-create-class form{grid-template-columns:1fr}.teacher-create-class .teacher-primary{width:100%}.teacher-class-list>button{grid-template-columns:minmax(0,1fr) 68px 12px}.teacher-class-list>button>span:nth-child(2){grid-area:2/1/auto/-1}.teacher-class-students article{grid-template-columns:minmax(0,1fr) auto}.teacher-class-students article>span:nth-child(2){grid-column:1/-1}.user-class-card{padding:16px}.user-class-join{grid-template-columns:minmax(0,1fr) 70px}}@media (max-width:390px){.teacher-classes-entry{padding:14px 15px}.teacher-class-list>button{gap:7px;padding:10px}.teacher-class-students article{padding:10px}.user-class-card{overflow:hidden}.user-class-join input{min-width:0}}.teacher-papers-entry{background:linear-gradient(135deg,#faf5ee,#efe3dc);margin-top:-10px}.teacher-paper-library-entry{background:#fcfaf5;margin-top:-10px}.teacher-paper-builder form{gap:14px;display:grid}.teacher-paper-title{margin-top:0}.teacher-paper-title label{color:#776c64;gap:7px;font-size:11px;display:grid}.teacher-paper-title input,.teacher-paper-sections input,.teacher-paper-sections select{color:#302b27;width:100%;min-width:0;min-height:44px;font:inherit;background:#fffdf9;border:1px solid #ddd2c9;border-radius:11px;padding:8px 11px}.teacher-paper-sections{gap:10px;display:grid}.teacher-paper-sections fieldset{background:#faf6f0;border:1px solid #e7ddd5;border-radius:15px;grid-template-columns:1fr minmax(180px,1.5fr) .75fr .65fr auto;align-items:end;gap:9px;min-width:0;margin:0;padding:14px;display:grid}.teacher-paper-sections legend{color:#8d625e;padding:0 6px;font-size:11px;font-weight:800}.teacher-paper-sections label{color:#7d7168;gap:6px;min-width:0;font-size:10px;display:grid}.teacher-paper-remove,.teacher-paper-add,.teacher-paper-header-actions button,.teacher-paper-question-list button{color:#765f58;cursor:pointer;background:#f8f2ec;border:1px solid #dacdc4;border-radius:10px;min-height:40px;padding:7px 12px;font-weight:750}.teacher-paper-remove{color:#9a625c}.teacher-paper-add{margin-top:12px}.teacher-paper-submit{background:#fcfaf5;border:1px solid #dfd4cb;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;display:flex}.teacher-paper-submit span{color:#867b72;font-size:11px}.teacher-paper-submit .teacher-primary{min-width:138px}.teacher-paper-header-actions{gap:8px;display:flex}.teacher-paper-meta{background:#fcfaf5;border:1px solid #e2d9d0;border-radius:18px;grid-template-columns:2fr repeat(3,1fr);gap:9px;margin-bottom:14px;padding:16px;display:grid}.teacher-paper-meta div{gap:5px;min-width:0;display:grid}.teacher-paper-meta span{color:#8b8077;font-size:10px}.teacher-paper-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.teacher-paper-question-list{gap:8px;display:grid}.teacher-paper-question-list article{background:#fffdf9;border:1px solid #e9e0d8;border-radius:13px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;min-height:68px;padding:11px 12px;display:grid}.teacher-paper-question-list article>b{color:#b98e89;font-family:Georgia,serif;font-size:15px}.teacher-paper-question-list article>span{gap:4px;min-width:0;display:grid}.teacher-paper-question-list strong{font-size:13px}.teacher-paper-question-list small{color:#8c8178;font-size:10px}.teacher-paper-question-list em{color:#765a55;overflow-wrap:anywhere;padding-top:4px;font-size:11px;font-style:normal;font-weight:750}.teacher-note-group-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px;min-width:250px;display:grid}.teacher-note-group-counts>small{color:#9a8d83;grid-column:1/-1;font-size:9px;line-height:1.4}.teacher-interval-settings{grid-column:2/-1;gap:8px;display:grid}.teacher-interval-settings>header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.teacher-interval-settings>header strong{color:#574d46;font-size:12px}.teacher-interval-settings>header span,.teacher-interval-settings>small{color:#94877e;font-size:9px}.teacher-interval-setting{background:#fffdf9;border:1px solid #eadfd7;border-radius:12px;grid-template-columns:minmax(150px,1fr) minmax(190px,1.25fr) 92px;align-items:end;gap:8px;padding:9px 10px;display:grid}.teacher-interval-enable{align-items:center;color:#645851!important;grid-template-columns:none!important;align-self:center!important;gap:8px!important;font-size:11px!important;display:flex!important}.teacher-interval-enable input,.teacher-interval-range input{accent-color:#9b6d67;width:16px;min-height:16px}.teacher-interval-setting select:disabled{opacity:.45}.teacher-interval-range{grid-column:1/-1;padding-top:4px}.teacher-interval-range summary{cursor:pointer;color:#7e7068;font-size:10px}.teacher-interval-range summary small{color:#a07d76;margin-left:5px}.teacher-interval-range>div{flex-wrap:wrap;gap:6px 12px;padding-top:8px;display:flex}.teacher-interval-range label{color:#6d615a;grid-template-columns:none;align-items:center;gap:5px;font-size:10px;display:flex}@media (max-width:760px){.teacher-paper-sections fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-note-group-counts,.teacher-interval-settings{grid-column:1/-1;min-width:0}.teacher-interval-setting{grid-template-columns:1fr 1fr}.teacher-interval-setting>.teacher-interval-enable{grid-column:1/-1}.teacher-interval-settings>header{flex-direction:column;align-items:flex-start}.teacher-paper-remove{width:100%}.teacher-paper-submit{flex-direction:column;align-items:stretch}.teacher-paper-submit .teacher-primary{width:100%}.teacher-paper-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-paper-header-actions{width:100%}.teacher-paper-header-actions button{flex:1}}@media (max-width:390px){.teacher-papers-entry{margin-top:-8px}.teacher-paper-sections fieldset{gap:8px;padding:11px}.teacher-paper-question-list article{grid-template-columns:25px minmax(0,1fr) 54px;gap:6px;padding:10px 8px}.teacher-paper-question-list button{padding:6px}.teacher-paper-meta{gap:7px;padding:11px}.teacher-paper-submit{padding:13px}}.teacher-new-paper{min-width:120px;padding:9px 15px}.teacher-paper-library{gap:8px;display:grid}.teacher-paper-library>article{background:#fffdf9;border:1px solid #e9e0d8;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:72px;padding:12px 14px;display:flex}.teacher-paper-library>article>span{gap:4px;min-width:0;display:grid}.teacher-paper-library strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.teacher-paper-library small{color:#8d8279;font-size:10px}.teacher-paper-library em{color:#796a61;background:#eee6df;border-radius:999px;width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:3px 7px;font-size:9px;font-style:normal}.teacher-paper-library article>div{gap:7px;display:flex}.teacher-paper-library button{color:#725e57;cursor:pointer;background:#f7f1eb;border:1px solid #d9ccc3;border-radius:10px;min-height:38px;padding:7px 12px;font-weight:750}.teacher-paper-library button.danger{color:#9a625c}.teacher-paper-library button:disabled{opacity:.55}@media (max-width:600px){.teacher-new-paper{width:100%}.teacher-paper-library>article{flex-direction:column;align-items:stretch}.teacher-paper-library article>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-paper-library button{width:100%}}.teacher-paper-export-actions{flex-wrap:wrap;justify-content:flex-end;max-width:560px}.teacher-paper-export-actions button:disabled{opacity:.55}.teacher-paper-configs>header{margin-bottom:12px}.teacher-paper-configs>p{color:#8b8077;margin:0;font-size:11px}.teacher-paper-config-controls{grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:9px;display:grid}.teacher-paper-config-controls label{color:#7d7168;gap:6px;font-size:10px;display:grid}.teacher-paper-config-controls select{color:#302b27;background:#fffdf9;border:1px solid #ddd2c9;border-radius:11px;width:100%;min-height:42px;padding:8px 11px}.teacher-paper-config-controls button{color:#725e57;cursor:pointer;background:#f7f1eb;border:1px solid #d9ccc3;border-radius:11px;min-height:42px;padding:8px 14px;font-weight:750}.teacher-paper-config-controls button.danger{color:#9a625c}.teacher-paper-config-controls button:disabled{opacity:.5;cursor:not-allowed}.teacher-paper-config-message{color:#765f58;background:#faf5ef;border:1px solid #dfd3ca;border-radius:11px;margin:10px 0 0;padding:10px 13px;font-size:11px}.teacher-audio-export-status{color:#6f5f54;background:#fbf7f1;border:1px solid #ded2c8;border-radius:12px;margin:12px 0 0;padding:11px 14px;font-size:12px;line-height:1.5}.teacher-paper-preview-hint{color:#8b8077;margin:12px 0 0;font-size:11px;line-height:1.7}.teacher-paper-question-list button{min-width:92px}.teacher-paper-last-config>span{color:#8b8077;align-self:center;font-size:10px}@media (max-width:760px){.teacher-paper-export-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;display:grid}.teacher-paper-export-actions button{width:100%}}@media (max-width:600px){.teacher-paper-config-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-paper-config-controls label{grid-column:1/-1}.teacher-paper-config-controls button{width:100%}}@media (max-width:390px){.teacher-paper-question-list article{grid-template-columns:25px minmax(0,1fr) 82px}.teacher-paper-question-list button{min-width:0;padding:6px 5px;font-size:11px}}.module-card:nth-child(7) .module-training-subtitle:after{content:"看谱认音 · 建立识谱反应";color:#80786f;font-size:11px}.note-reading-coming-soon{color:#80786f;background:#f7f2ec;border:1px dashed #d7ccc2;border-radius:16px;justify-content:space-between;align-items:center;margin-top:14px;padding:16px 18px;display:flex}.note-reading-coming-soon strong{color:#5f5750}.note-reading-page{overflow-x:hidden}.note-reading-card{text-align:center;max-width:820px;margin-left:auto;margin-right:auto}.note-reading-heading h2{margin:5px 0 6px;font-family:Georgia,Songti SC,serif;font-size:30px}.note-reading-heading>span{color:#80786f;font-size:12px}.note-reading-staff{box-sizing:border-box;background:#fffdf9;border:1px solid #e4ddd4;border-radius:18px;width:min(620px,100%);margin:22px auto 18px;padding:8px 10px}.note-reading-staff svg{width:100%;height:auto;display:block}.note-reading-options{grid-template-columns:repeat(7,minmax(54px,1fr));gap:9px;max-width:680px;margin:0 auto;display:grid}.note-reading-options button{color:#332d29;background:#f8f4ef;border:1px solid #d9cfc6;border-radius:14px;min-width:0;min-height:58px;font:700 22px Georgia,serif;transition:transform .15s,background .15s,border-color .15s}.note-reading-options button:not(:disabled):active{transform:scale(.95)}.note-reading-options button.correct{color:#49654d;background:#dfeade;border-color:#8ba78e}.note-reading-options button.wrong{color:#8d4944;background:#f2ddda;border-color:#c88e88}.note-reading-options button:disabled{opacity:1}.note-reading-feedback{color:#80786f;justify-content:center;align-items:center;gap:14px;min-height:42px;margin-top:14px;font-size:13px;display:flex}.note-reading-feedback.correct{color:#526b55}.note-reading-feedback.wrong{color:#96544f}.note-reading-feedback button{color:#765956;background:#fffaf5;border:1px solid #d8ccc3;border-radius:11px;min-height:36px;padding:0 14px}.note-reading-report{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.note-reading-report article{background:#f8f4ef;border:1px solid #e4ddd4;border-radius:15px;padding:15px}.note-reading-report span,.note-reading-report strong{display:block}.note-reading-report span{color:#80786f;margin-bottom:6px;font-size:11px}.note-reading-report strong{font-size:14px}.note-reading-mark{font-family:Bravura,Noto Music,Segoe UI Symbol,serif}@media (max-width:600px){.note-reading-card{padding:18px 12px}.note-reading-heading h2{font-size:25px}.note-reading-staff{margin:16px auto 14px;padding:4px}.note-reading-options{grid-template-columns:repeat(4,1fr);gap:8px}.note-reading-options button{min-height:52px;font-size:20px}.note-reading-report{grid-template-columns:1fr}.note-reading-feedback{flex-wrap:wrap}.note-reading-page .stats-bar{grid-template-columns:repeat(4,minmax(0,1fr))}}.note-reading-staff{width:min(720px,100%);padding:18px 8px;overflow:visible}.note-reading-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(560px,100%);margin:0 auto 18px;display:grid}.note-reading-mode-switch button{color:#625a53;background:#fbf8f4;border:1px solid #ded4cb;border-radius:15px;align-items:center;justify-items:center;gap:3px;min-height:64px;padding:10px 12px;display:grid}.note-reading-mode-switch button strong{font-size:15px}.note-reading-mode-switch button span{color:#8b8178;font:12px Georgia,serif}.note-reading-mode-switch button.active{color:#7b504b;background:#f1e3df;border-color:#b98982;box-shadow:inset 0 0 0 1px #b98982}.note-reading-mode-switch button:disabled{cursor:default}.note-reading-mode-switch button:not(.active):disabled{opacity:.62}.note-reading-mode-picker{background:#fcfaf5;border:1px solid #e3d9d0;border-radius:18px;margin-bottom:18px;padding:18px}.note-reading-mode-picker header small{color:#a4756e;letter-spacing:.1em;font-size:10px;font-weight:800}.note-reading-mode-picker h2,.note-reading-mode-picker p{margin:0}.note-reading-mode-picker h2{margin-top:5px;font-family:Georgia,Songti SC,serif;font-size:22px}.note-reading-mode-picker p{color:#80786f;margin-top:4px;font-size:11px}.note-reading-mode-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.note-reading-mode-picker button{color:#625a53;background:#fffdf9;border:1px solid #ded4cb;border-radius:14px;align-items:center;justify-items:center;gap:4px;min-height:66px;padding:9px;display:grid}.note-reading-mode-picker button strong{font-size:15px}.note-reading-mode-picker button span{color:#8b8178;font:11px Georgia,serif}.note-reading-mode-picker button.active{color:#7b504b;background:#f1e3df;border-color:#b98982;box-shadow:inset 0 0 0 1px #b98982}.note-reading-current-mode{color:#79544f;background:#f1e5e1;border-radius:999px;align-items:center;gap:7px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;margin:0 auto 12px;padding:6px 11px;font-size:11px;display:flex}.note-reading-current-mode strong{font-size:12px}.note-reading-current-mode span{color:#99847f}@media (max-width:600px){.note-reading-mode-picker{padding:15px 12px}.note-reading-mode-picker>div{grid-template-columns:1fr}.note-reading-mode-picker button{text-align:left;grid-template-columns:auto 1fr;justify-items:start;min-height:54px;padding-left:15px;padding-right:15px}.note-reading-mode-picker button span{justify-self:end}}.note-reading-staff svg{overflow:visible}.note-reading-staff .staff-line,.note-reading-staff .ledger{stroke-width:2.6px}.note-reading-staff .treble-clef{font-size:106px}.note-reading-staff .bass-clef{font-size:82px}.note-reading-clef-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.note-reading-clef-levels>section{background:#fcfaf5;border:1px solid #e3d9d0;border-radius:18px;min-width:0;padding:18px}.note-reading-clef-levels>section>header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.note-reading-clef-levels h2,.note-reading-clef-levels p{margin:0}.note-reading-clef-levels h2{font-family:Georgia,Songti SC,serif;font-size:22px}.note-reading-clef-levels p{color:#80786f;margin-top:4px;font-size:11px}.note-reading-clef-icon{color:#a3726d;background:#f1e6e2;border-radius:14px;align-items:center;justify-items:center;width:52px;height:52px;font-family:Bravura,Noto Music,Segoe UI Symbol,serif;font-size:37px;display:grid}@media (max-width:600px){.note-reading-card{padding-left:8px;padding-right:8px}.note-reading-staff{width:100%;padding:18px 2px}}@media (max-width:700px){.note-reading-clef-levels{grid-template-columns:1fr}.note-reading-clef-levels>section{padding:15px 12px}}.note-reading-worksheet-panel{background:linear-gradient(145deg,#fcfaf5,#f5ede6);border:1px solid #dfd4ca;border-radius:20px;margin-top:18px;padding:20px;box-shadow:0 12px 32px rgba(74,55,44,.05)}.note-reading-worksheet-panel>header{align-items:center;gap:13px;display:flex}.note-reading-worksheet-panel>header>span{color:#946963;background:#ecdfda;border-radius:15px;align-items:center;justify-items:center;width:54px;height:54px;font-size:28px;display:grid}.note-reading-worksheet-panel h2,.note-reading-worksheet-panel p{margin:0}.note-reading-worksheet-panel header small{color:#b17872;letter-spacing:.15em;font-size:9px;font-weight:800}.note-reading-worksheet-panel h2{margin-top:4px;font-family:Georgia,Songti SC,serif;font-size:23px}.note-reading-worksheet-panel header p{color:#80756d;margin-top:4px;font-size:11px;line-height:1.55}.note-reading-worksheet-controls{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-top:17px;display:grid}.note-reading-worksheet-controls label{color:#766b63;gap:6px;font-size:10px;display:grid}.note-reading-worksheet-controls select,.note-reading-worksheet-controls button,.note-reading-worksheet-actions button{color:#67544d;background:#fffdf9;border:1px solid #d9ccc3;border-radius:11px;min-height:44px;padding:8px 12px;font:700 12px Microsoft YaHei,sans-serif}.note-reading-worksheet-controls button,.note-reading-worksheet-actions button{cursor:pointer}.note-reading-worksheet-range{color:#8b7f76;font-size:10px;margin-top:12px!important}.note-reading-worksheet-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.note-reading-worksheet-actions button:first-child{color:#fff;background:#956b66;border-color:#a87a73}.note-reading-worksheet-actions button:disabled{opacity:.55;cursor:wait}@media (max-width:600px){.note-reading-worksheet-panel{padding:16px 12px}.note-reading-worksheet-panel>header{align-items:flex-start}.note-reading-worksheet-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.note-reading-worksheet-controls>button{grid-column:1/-1}.note-reading-worksheet-actions{grid-template-columns:1fr}}.note-reading-worksheet-save-message{color:#765956;background:#f5ede8;border-radius:10px;padding:9px 11px;font-size:11px;line-height:1.55;margin:10px 0 0!important}.metronome-recording-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.metronome-recording-result button{color:#fff;cursor:pointer;background:#956b66;border:0;border-radius:999px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:700;text-decoration:none}.metronome-recording-result button:disabled{opacity:.55;cursor:wait}.metronome-header.compact>button{color:#765956;white-space:nowrap;background:#fffdfa;border:1px solid #dfd3ca;border-radius:12px;min-height:42px;padding:0 16px}@media (max-width:600px){.utility-page{padding-top:calc(22px + env(safe-area-inset-top,0px))}.tuner-page,.pocket-piano-page{padding-top:calc(18px + env(safe-area-inset-top,0px))}.metronome-page{padding-top:calc(8px + env(safe-area-inset-top,0px))}.metronome-header.compact>button{min-height:38px;padding:0 12px}}[hidden]{display:none!important}.bottom-navigation{z-index:80;width:min(100%,960px);height:calc(66px + env(safe-area-inset-bottom,0px));padding:6px max(10px,env(safe-area-inset-left,0px)) env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-sizing:border-box;background:rgba(255,252,247,.94);border-top:1px solid rgba(116,91,75,.16);grid-template-columns:repeat(4,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 30px rgba(83,65,51,.07)}.bottom-navigation button{color:#92877e;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:52px;padding:4px 8px;font:600 11px Microsoft YaHei,sans-serif;display:flex}.bottom-navigation button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.bottom-navigation button.active{color:#765956;background:#f0e8df}.bottom-navigation button:focus-visible{outline-offset:-2px;outline:2px solid #b99583}.home-profile-shortcuts,.home-music-tools{box-sizing:border-box;background:#fffdf9;border:1px solid #e1d8cf;border-radius:22px;max-width:960px;margin:24px auto;padding:24px}.home-profile-shortcuts>header,.home-music-tools>header{margin-bottom:16px}.home-profile-shortcuts>header small,.home-music-tools>header small{color:#b17872;letter-spacing:.16em;font-size:10px;font-weight:700}.home-profile-shortcuts>header h2,.home-music-tools>header h2{margin:5px 0 0;font:700 24px Georgia,Songti SC,serif}.home-profile-account{text-align:left;color:#4d443e;background:#f8f3ed;border:1px solid #e0d6cc;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:82px;padding:13px 16px;display:grid}.home-profile-account>span:nth-child(2){gap:3px;display:grid}.home-profile-account small{color:#91867d}.home-profile-account em{color:#8b6a61;font-size:11px;font-style:normal}.home-profile-account b{color:#8b6a61;font-size:12px}.home-profile-stats{background:#fffaf5;border:1px solid #e0d6cc;border-radius:15px;grid-template-columns:repeat(3,1fr);margin-top:10px;padding:11px 8px;display:grid}.home-profile-stats>span{border-right:1px solid #e7ded5;justify-content:center;align-items:baseline;gap:3px;display:flex}.home-profile-stats>span:last-child{border-right:0}.home-profile-stats small,.home-profile-stats em{color:#91867d;font-size:10px;font-style:normal}.home-profile-stats strong{color:#4d443e;font:700 19px Georgia,Songti SC,serif}.home-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.home-profile-grid button{text-align:left;color:#4d443e;background:#fffaf5;border:1px solid #e0d6cc;border-radius:16px;gap:5px;min-height:82px;padding:14px;display:grid}.home-profile-grid button strong{font-size:15px}.home-profile-grid button span{color:#91867d;font-size:11px}.training-rank-page{width:min(900px,100%);margin:0 auto;padding-bottom:40px}.rank-hero{background:linear-gradient(135deg,#ead2ca,#fcf7f1);border:1px solid #ddcec4;border-radius:24px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:16px;padding:24px;display:grid;box-shadow:0 16px 40px rgba(72,52,43,.07)}.rank-emblem{background:rgba(255,255,255,.45);border:1px solid rgba(116,76,68,.25);border-radius:50%;width:76px;height:76px;padding:6px}.rank-emblem span{color:#fff;background:#9e716a;border-radius:50%;align-items:center;justify-items:center;width:100%;height:100%;font:700 30px Georgia,serif;display:grid}.rank-hero-copy small{color:#8c6a64;letter-spacing:.12em;font-size:10px}.rank-hero-copy h2{margin:4px 0 2px;font:600 34px Georgia,Songti SC,serif}.rank-hero-copy p{color:#806f66;margin:0;font-size:12px}.rank-overall-progress{grid-column:1/-1;gap:7px;display:grid}.rank-overall-progress span{color:#75675f;font-size:11px}.rank-overall-progress i,.rank-module-progress{background:rgba(117,86,77,.12);border-radius:999px;height:6px;display:block;overflow:hidden}.rank-overall-progress i b,.rank-module-progress b{border-radius:inherit;background:#9e716a;height:100%;display:block}.rank-module-section,.rank-recent-section{background:#fcfaf5;border:1px solid #e2d9d0;border-radius:21px;margin-top:14px;padding:20px}.rank-module-section>header,.rank-recent-section>header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.rank-module-section header small,.rank-recent-section header small{color:#ad7e76;letter-spacing:.14em;font-size:9px}.rank-module-section h2,.rank-recent-section h2{margin:3px 0 0;font-size:21px}.rank-module-section>header>span{color:#8c8178;font-size:10px}.rank-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rank-module-grid article{background:#fffdf9;border:1px solid #e7ddd5;border-radius:15px;padding:14px}.rank-module-grid article>header{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.rank-module-grid article>header>span{color:#8c625c;background:#eee2dc;border-radius:50%;align-items:center;justify-items:center;width:31px;height:31px;font:700 11px Georgia,serif;display:grid}.rank-module-grid article header div{gap:2px;display:grid}.rank-module-grid article header small{color:#8d8279;font-size:9px}.rank-module-grid article header strong{font-size:15px}.rank-module-grid article header>b{color:#8d625c;font-size:11px}.rank-module-progress{height:5px;margin:12px 0 9px}.rank-module-grid footer{color:#8b8178;justify-content:space-between;gap:8px;font-size:9px;display:flex}.rank-recent-list{gap:7px;display:grid}.rank-recent-list article{background:#fff;border:1px solid #ebe2da;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;padding:9px 11px;display:grid}.rank-recent-list article>span{border-radius:99px;padding:5px 7px;font-size:9px;font-weight:800}.rank-recent-list .passed{color:#557055;background:#e3ece1}.rank-recent-list .failed{color:#756c64;background:#eee7df}.rank-recent-list article>div{gap:3px;display:grid}.rank-recent-list article strong{font-size:12px}.rank-recent-list article small{color:#8d8279;font-size:9px}.rank-recent-list article>b{color:#916860;font-size:13px}.rank-empty{text-align:center;color:#8b8077;gap:6px;padding:28px 12px;display:grid}.rank-empty strong{color:#5b514a;font-size:14px}.rank-empty span{font-size:10px}@media (max-width:600px){.training-rank-page{padding:16px 12px 34px}.rank-hero{border-radius:20px;padding:19px}.rank-emblem{width:64px;height:64px}.rank-hero-copy h2{font-size:29px}.rank-module-section,.rank-recent-section{padding:15px 12px}.rank-module-grid{grid-template-columns:1fr}.rank-module-grid article{padding:12px}}.home-profile-details{background:#fffaf5;border:1px solid #e0d6cc;border-radius:16px;margin-top:12px;overflow:hidden}.home-profile-details>button{color:#4d443e;text-align:left;background:0 0;border:0;border-bottom:1px solid #ebe3db;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:61px;padding:12px 14px;display:flex}.home-profile-details>button:last-child{border-bottom:0}.home-profile-details>button span{gap:4px;display:grid}.home-profile-details>button small{color:#91867d;font-size:10px}.home-profile-details>button b{color:#8b6a61;white-space:nowrap;font-size:11px}.home-profile-details>button.home-profile-contact{color:#714e49;background:#fbf3ee}.home-profile-details>button.home-profile-contact small{color:#9a766f}.home-profile-details>button.home-profile-contact b{color:#8a514b}.home-profile-details>button.home-profile-activate{color:#6f4541;background:#f5e5e1;border:1px solid #c99d95;border-radius:14px;width:calc(100% - 20px);min-height:66px;margin:10px}.home-profile-details>button.home-profile-activate small{color:#9b6a64}.home-profile-details>button.home-profile-activate b{color:#874f49}.user-profile-focused{min-height:100vh}.user-profile-focused .user-profile-header,.user-profile-focused>.user-class-card,.user-profile-focused>.user-identity-card,.user-profile-focused>.user-account-synced,.user-profile-focused>.user-storage-note,.user-profile-focused>.user-account-entry{width:min(720px,100%)}.user-profile-focused .user-profile-header,.user-profile-focused>.user-class-card,.user-profile-focused>.user-account-entry{margin-left:auto;margin-right:auto}.home-music-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.home-music-tools>header{grid-column:1/-1}.home-music-tools>button{min-height:116px;margin:0!important}.home-music-tools .music-tool-coming-soon{opacity:.68;cursor:not-allowed;background:#f4f0eb}.home-music-tools .music-tool-coming-soon>span{filter:grayscale()}.home-music-tools .music-tool-coming-soon>b{color:#796d65;background:#e9e1da;border-radius:999px;padding:6px 9px}@media (max-width:600px){.home-shell{padding-left:12px;padding-right:12px}.home-tab-training .module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-tab-training .module-card{min-width:0;min-height:184px;padding:14px 12px}.home-tab-training .module-card-order,.home-tab-training .module-description,.home-tab-training .module-status{display:none}.home-tab-training .module-card-header{grid-template-columns:40px minmax(0,1fr);gap:8px;display:grid}.home-tab-training .module-card-header h3{font-size:16px}.home-tab-training .module-training-subtitle{font-size:10px;line-height:1.45}.home-tab-training .module-open-entry{min-height:40px;margin-top:auto;padding-left:8px;padding-right:8px;font-size:11px}.home-profile-shortcuts,.home-music-tools{margin:12px 0;padding:18px 14px}.home-music-tools{grid-template-columns:1fr}.home-music-tools>header{grid-column:auto}.home-music-tools>button{min-height:92px}.bottom-navigation{width:100%}}.home-daily-task-wrap{order:2;width:100%}.home-rank-card{color:#493f39;text-align:left;background:linear-gradient(135deg,#f1dfd9,#fcfaf5);border:1px solid #dccbc1;border-radius:19px;order:2;grid-template-columns:auto minmax(125px,.7fr) minmax(180px,1fr) auto;align-items:center;gap:14px;width:min(1120px,100%);min-height:86px;margin:0 auto 12px;padding:14px 18px;display:grid;box-shadow:0 12px 30px rgba(78,55,47,.06)}.home-rank-medal{color:#fff;background:#9e716a;border-radius:50%;align-items:center;justify-items:center;width:48px;height:48px;font:700 20px Georgia,serif;display:grid;box-shadow:0 7px 16px rgba(132,85,76,.18)}.home-rank-copy{grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px;display:grid}.home-rank-copy small{color:#9a736c;letter-spacing:.12em;grid-column:1/-1;font-size:9px;font-weight:800}.home-rank-copy strong{font:600 23px Georgia,Songti SC,serif}.home-rank-copy em{color:#8a796f;font-size:10px;font-style:normal}.home-rank-next{gap:7px;display:grid}.home-rank-next small{color:#796b63;font-size:10px}.home-rank-next i{background:rgba(121,85,76,.13);border-radius:99px;height:5px;overflow:hidden}.home-rank-next i b{border-radius:inherit;background:#a77972;height:100%;display:block}.home-rank-open{color:#8a625b;white-space:nowrap;font-size:11px}@media (max-width:600px){.home-rank-card{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;min-height:78px;padding:12px 13px}.home-rank-medal{width:42px;height:42px}.home-rank-copy strong{font-size:20px}.home-rank-next{grid-column:2/4}.home-rank-open{grid-area:1/3}.home-rank-next small{display:none}}.home-rank-copy em>b,.rank-weekly-stars span{color:#ffc400}.home-rank-stars,.rank-stars{color:#d8cec5;align-items:center;gap:8px;display:flex}.home-rank-stars b,.rank-stars b{filter:drop-shadow(0 2px 1px rgba(92,60,8,.16));font-family:Georgia,Segoe UI Symbol,serif;font-weight:900;line-height:.9}.home-rank-stars b.earned,.rank-stars b.earned{color:#ffc400;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #e29a00;text-shadow:0 1px #fff3a4,0 3px #c77d00,0 6px 10px rgba(154,91,0,.38);filter:drop-shadow(0 4px 3px rgba(155,91,0,.28));background:linear-gradient(#fff48a 0%,#ffd21f 35%,#f5a900 72%,#d98700 100%);-webkit-background-clip:text;background-clip:text}.home-rank-stars{gap:7px;font-size:40px}.rank-stars{grid-column:1/-1;gap:10px;padding:7px 0;font-size:48px}.rank-stars.compact{grid-column:auto;justify-content:flex-end;gap:2px;padding:0;font-size:15px}.rank-stars.compact b{filter:none;text-shadow:none;-webkit-text-stroke:.5px currentColor}.rank-weekly-stars{align-items:center;gap:7px;display:flex}.rank-weekly-stars span{text-shadow:0 2px #c77d00,0 5px 8px rgba(155,91,0,.28);font-size:31px}.rank-module-grid article>header>.rank-stars{display:flex}.rank-recent-list article>b{color:#d89800;white-space:nowrap}@media (max-width:600px){.home-rank-card{min-height:112px}.home-rank-stars{gap:5px;font-size:36px}.rank-stars{gap:7px;font-size:43px}.rank-stars.compact{gap:1px;font-size:14px}}.home-custom-training-card{color:#493f39;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fffaf6,#f4e7e2);border:1px solid #cda9a2;border-radius:19px;order:2;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:min(1120px,100%);min-height:78px;margin:0 auto 12px;padding:13px 18px;display:grid;box-shadow:0 12px 30px rgba(78,55,47,.07)}.home-custom-training-icon{color:#fff;background:#a87670;border-radius:15px;align-items:center;justify-items:center;width:46px;height:46px;font-size:23px;display:grid;box-shadow:0 7px 16px rgba(132,85,76,.17)}.home-custom-training-copy{gap:1px;display:grid}.home-custom-training-copy small{color:#9a736c;font-size:10px}.home-custom-training-copy strong{font-size:21px}.home-custom-training-copy em{color:#807168;font-size:12px;font-style:normal}.home-custom-training-card>b{color:#8f625d;white-space:nowrap;font-size:13px}@media (max-width:600px){.home-custom-training-card{border-radius:17px;min-height:72px;padding:11px 13px}.home-custom-training-icon{border-radius:13px;width:42px;height:42px}.home-custom-training-copy strong{font-size:19px}.home-custom-training-copy em{font-size:11px}.home-custom-training-card>b{font-size:12px}}.home-mock-exam-card{color:#493f39;text-align:left;cursor:pointer;background:#fcfaf5;border:1px solid #dfd2c7;border-radius:18px;order:2;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:min(1120px,100%);min-height:68px;margin:0 auto 12px;padding:10px 18px;display:grid;box-shadow:0 8px 22px rgba(78,55,47,.043)}.home-mock-exam-icon{color:#956b66;background:#eee4dc;border-radius:14px;align-items:center;justify-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:grid}.home-mock-exam-copy{gap:1px;display:grid}.home-mock-exam-copy small{color:#9a736c;font-size:10px}.home-mock-exam-copy strong{font-size:19px}.home-mock-exam-copy em{color:#807168;font-size:12px;font-style:normal}.home-mock-exam-card>b{color:#8f625d;white-space:nowrap;font-size:13px}.home-mock-exam-card:hover{background:#fffaf6;border-color:#cda9a2}@media (max-width:600px){.home-mock-exam-card{border-radius:16px;min-height:64px;padding:9px 13px}.home-mock-exam-icon{border-radius:12px;width:39px;height:39px}.home-mock-exam-copy strong{font-size:18px}.home-mock-exam-copy em{font-size:11px}.home-mock-exam-card>b{font-size:12px}}.home-overview-metrics{flex:1;grid-template-columns:repeat(3,minmax(112px,1fr));gap:8px;display:grid}.home-overview-metrics>div{background:#fcfaf5;border:1px solid #e4ddd4;border-radius:16px;align-content:center;min-width:0;padding:10px 14px;display:grid}.home-overview-metrics span{color:#80786f;font-size:11px}.home-overview-metrics strong{color:#4d443e;margin-top:2px;font:700 22px Georgia,Songti SC,serif}.home-overview-metrics small{color:#80786f;font:500 10px Microsoft YaHei,sans-serif}.home-overview-metrics em{color:#9b8e84;margin-top:2px;font-size:9px;font-style:normal}@media (max-width:600px){.home-learning-header{gap:8px;display:grid;grid-template-columns:1fr!important}.home-user-button{width:100%;min-height:62px}.home-user-button>b{display:block}.home-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.home-overview-metrics>div{border-radius:13px;min-width:0;padding:8px 7px}.home-overview-metrics strong{font-size:17px}.home-overview-metrics span{font-size:10px}.home-overview-metrics em{white-space:nowrap}}.home-tab-training .module-card-header>div{align-content:center;gap:5px;min-width:0;display:grid}.home-tab-training .module-card-header h3{margin:0;line-height:1.25}.home-tab-training .module-training-subtitle{white-space:normal;overflow-wrap:anywhere;min-height:1.5em;display:block;line-height:1.55!important}@media (max-width:600px){.home-tab-training .module-card-header{align-items:start}.home-tab-training .module-training-subtitle{font-size:10.5px!important;line-height:1.6!important}.home-page>.home-module-priority{margin-top:14px!important}.home-module-priority .module-map-heading{margin-bottom:9px}.home-tab-training .module-grid{gap:7px 8px}.home-tab-training .module-card{border-radius:17px;min-height:126px;padding:10px 9px}.home-tab-training .module-card-header{grid-template-columns:35px minmax(0,1fr);align-items:start;gap:7px}.home-tab-training .module-card .module-icon{border-radius:11px;flex-basis:35px;width:35px;height:35px;padding:6px}.home-tab-training .module-card-header>div{gap:3px}.home-tab-training .module-card-header h3{font-size:15px;line-height:1.2}.home-tab-training .module-training-subtitle{min-height:2.7em;font-size:9.5px!important;line-height:1.35!important}.home-tab-training .module-open-entry{border-radius:9px;min-height:33px;padding:5px 4px;font-size:10px}}.ability-radar-label,.ability-radar-value{dominant-baseline:central}.home-tab-training .module-card-header{align-items:start}.home-tab-training .module-card .module-icon{box-sizing:border-box;align-items:center;justify-items:center;padding:6px;display:grid;overflow:hidden}.home-tab-training .module-card .module-icon .earlab-module-icon{transform-origin:50%;width:100%;height:100%}.home-tab-training .module-card .module-icon[data-module-id=single-note] .earlab-module-icon{transform:translate(2px)}.home-tab-training .module-card .module-icon[data-module-id=note-groups] .earlab-module-icon,.home-tab-training .module-card .module-icon[data-module-id=rhythm] .earlab-module-icon{transform:translate(-1px)}.premium-access-backdrop{z-index:3000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(43,37,34,.52);align-items:center;justify-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.premium-access-dialog{color:#302927;text-align:center;background:#fffdfa;border:1px solid rgba(167,119,112,.24);border-radius:28px;width:min(100%,430px);max-height:calc(100dvh - 40px);padding:30px 26px 24px;position:relative;overflow-y:auto;box-shadow:0 24px 70px rgba(64,43,39,.22)}.premium-access-close{color:#765f5a;background:#f5efeb;border:0;border-radius:50%;width:36px;height:36px;font-size:22px;line-height:1;position:absolute;top:14px;right:14px}.premium-access-mark{color:#a8736d;background:#f2e3df;border-radius:20px;align-items:center;justify-items:center;width:58px;height:58px;margin:0 auto 12px;font-family:Georgia,serif;font-size:24px;display:grid}.premium-access-dialog>small{color:#bd8880;letter-spacing:.18em;font-size:11px;font-weight:700}.premium-access-dialog h2{margin:8px 0 10px;font-size:27px;font-weight:600}.premium-access-dialog>p{color:#756963;margin:0;font-size:14px;line-height:1.75}.premium-access-benefits{color:#655650;text-align:left;background:#f8f3ef;border-radius:18px;gap:8px;margin:20px 0;padding:15px 17px;font-size:13px;display:grid}.premium-access-contact{text-align:left;background:#fffaf7;border:1px solid #eadbd4;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:18px 0;padding:14px;display:grid}.premium-access-contact img{object-fit:cover;border-radius:10px;width:72px;height:72px}.premium-access-contact small,.premium-access-contact strong,.premium-access-contact p{margin:0;display:block}.premium-access-contact small,.premium-access-contact p{color:#8a7b74;font-size:12px}.premium-access-contact strong{color:#473936;margin:3px 0;font-size:15px}.premium-access-contact button,.premium-access-actions button{color:#8f625c;background:#fffdfa;border:1px solid #d9c2ba;border-radius:13px;font-weight:600}.premium-access-contact button{white-space:nowrap;padding:9px 10px}.premium-access-contact-empty{background:#f8f3ef;border-radius:15px;padding:13px 15px;margin:18px 0!important}.premium-access-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.premium-access-actions button{min-height:44px;padding:0 18px}.premium-access-actions .primary{color:#fff;background:#a97b75;border-color:#a97b75}@media (max-width:420px){.premium-access-backdrop{padding:14px}.premium-access-dialog{border-radius:24px;padding:28px 18px 20px}.premium-access-contact{grid-template-columns:auto 1fr}.premium-access-contact button{grid-column:1/-1;width:100%}.premium-access-actions{flex-direction:column}.premium-access-actions button{width:100%}}.pitch-answer-review{background:#fffdf9;border:1px solid #dfd2ca;border-radius:18px;margin:14px 0;padding:14px 16px}.pitch-answer-review-heading{text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;display:flex}.pitch-answer-review-heading strong{font-size:16px}.pitch-answer-review-heading span{color:#8b817a;font-size:12px}.pitch-answer-review svg{width:100%;max-width:520px;height:auto;margin:6px auto 0;display:block}.pitch-review-staff,.pitch-review-ledger{stroke:#332d29;stroke-width:1.8px}.pitch-review-clef{fill:#332d29;font-family:Bravura Text,Bravura,Noto Music,Segoe UI Symbol,serif}.pitch-review-note{fill:none;stroke:#332d29;stroke-width:2.4px}.pitch-review-accidental{fill:#332d29;font:23px Bravura Text,Bravura,Noto Music,Segoe UI Symbol,serif}.pitch-answer-review-names{text-align:center;color:#594a43;letter-spacing:.08em;margin:0;font-weight:700}.pitch-answer-review-property{color:#6f5a51;justify-content:center;align-items:center;gap:8px;margin:8px 0 0;display:flex}.pitch-answer-review-property span{color:#a1685c;letter-spacing:.12em;background:#f3e8e3;border-radius:999px;padding:3px 8px;font-size:11px}.pitch-answer-review-property strong{font-size:14px}@media (max-width:390px){.pitch-answer-review{padding:12px 10px}.pitch-answer-review svg{margin-top:2px}}@media (max-width:520px){.pitch-answer-review .pitch-review-clef{transform-box:fill-box;transform-origin:50%;transform:translateY(6px)scale(.9)}}@media (max-width:700px){.feedback-review-actions[data-action-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.feedback-review-actions[data-action-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.feedback-review-actions[data-action-count="3"] button,.feedback-review-actions[data-action-count="4"] button{white-space:nowrap;min-width:0;padding:11px 3px;font-size:12px}.feedback-review-actions[data-action-count="4"] button{font-size:11px}}.admin-code-create select{color:#27231f;background:#fffdf9;border:1px solid #ddd3ca;border-radius:11px;min-height:44px;padding:9px 11px}.admin-code-table .admin-table-head,.admin-code-table .admin-table-row{grid-template-columns:1.3fr .55fr .65fr .8fr 1fr 1fr}.sight-singing-page{color:#2d2824;background:#f8f4ee;min-height:100vh;padding:24px max(16px,min(4vw,42px)) 48px}.sight-singing-page>*{width:min(760px,100%);margin-left:auto;margin-right:auto}.sight-singing-header{text-align:center}.sight-singing-header button{color:#765952;background:#fffaf6;border:1px solid #dacbc2;border-radius:14px;padding:10px 14px;display:block}.sight-singing-header small{color:#a97868;letter-spacing:.18em;margin-top:18px;display:block}.sight-singing-header h1{margin:6px 0;font-size:max(32px,min(7vw,54px))}.sight-singing-header p{color:#80736b;margin:0}.sight-singing-settings{background:#fffdf9;border:1px solid #ddd0c7;border-radius:24px;grid-template-columns:1.15fr 1fr;gap:12px;margin-top:22px;padding:18px;display:grid}.sight-singing-settings label{justify-content:space-between;margin-bottom:9px;font-weight:700;display:flex}.sight-singing-settings input{accent-color:#a9796e;width:100%}.sight-singing-options{gap:7px;display:grid}.sight-singing-options.compact{grid-template-columns:repeat(3,1fr)}.sight-singing-options button{color:#61534d;background:#fff;border:1px solid #dfd1c8;border-radius:12px;min-height:40px}.sight-singing-options button.active{color:#8f554d;background:#f3e4df;border-color:#b98074;font-weight:700}.sight-singing-page .pitch-answer-review{background:#fff;margin-top:14px}.sight-singing-live{text-align:center;background:#fffdf9;border:1px solid #dfd2ca;border-radius:24px;margin-top:14px;padding:18px}.sight-singing-live.correct{background:#f4fbf5;border-color:#91b99d}.sight-singing-note-track{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.sight-singing-note-track span{color:#84766e;background:#f6f1ed;border-radius:10px;padding:7px 2px}.sight-singing-note-track b,.sight-singing-note-track small{display:block}.sight-singing-note-track span.current{color:#fff;background:#ad7c70;transform:translateY(-2px);box-shadow:0 7px 16px rgba(173,124,112,.25)}.sight-singing-reading{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;display:grid}.sight-singing-reading span{background:#f5f0eb;border-radius:15px;padding:12px}.sight-singing-reading small,.sight-singing-reading b{display:block}.sight-singing-reading b{margin-top:3px;font-size:22px}.sight-singing-reading .detected b{color:#9c6258;font-size:30px}.sight-singing-result{color:#41684b;background:#eaf5ec;border-radius:20px;justify-content:center;align-items:center;gap:18px;margin-top:14px;padding:18px;display:flex}.sight-singing-result strong{font-size:32px}.sight-singing-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.sight-singing-actions button{color:#5d4d46;background:#fffaf6;border:1px solid #d8c7bd;border-radius:15px;min-height:50px;font-weight:700}.sight-singing-actions .primary{color:#fff;background:#2e2925;border-color:#2e2925}@media (max-width:620px){.sight-singing-settings{grid-template-columns:1fr}.sight-singing-note-track{grid-template-columns:repeat(5,1fr)}.sight-singing-reading{grid-template-columns:1fr 1fr}.sight-singing-reading .detected{grid-area:1/1/auto/-1}.sight-singing-actions{grid-template-columns:1fr}.sight-singing-page .pitch-answer-review-names{letter-spacing:0;font-size:11px}}.sight-singing-key-picker{gap:12px;margin-top:22px;display:grid}.sight-singing-key-group{background:#fffdf9;border:1px solid #ddd0c7;border-radius:22px;padding:16px}.sight-singing-key-group h2{color:#9b6b5f;letter-spacing:.08em;margin:0 0 10px;font-size:14px}.sight-singing-key-group>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sight-singing-key-group button{color:#332c28;text-align:left;background:#fffaf6;border:1px solid #ddcec5;border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:76px;padding:14px 16px;display:flex;box-shadow:0 6px 16px rgba(102,74,59,.04)}.sight-singing-key-group button:active{background:#f4e7e2;border-color:#b57d70;transform:translateY(1px)}.sight-singing-key-group strong{font-size:18px}.sight-singing-key-group span{color:#8b7c74;margin-top:5px;font-size:12px}.scale-singing-notation{background:#fff;border:1px solid #dfd2ca;border-radius:20px;margin-top:14px;padding:14px 16px}.scale-singing-notation header{text-align:left;justify-content:space-between;align-items:baseline;display:flex}.scale-singing-notation header strong{font-size:16px}.scale-singing-notation header span{color:#8b817a;font-size:12px}.scale-singing-notation svg{width:100%;height:auto;margin-top:4px;display:block}.scale-singing-direction{fill:#9a7468;font-size:10px;font-weight:700}.scale-singing-notation .active-note .pitch-review-note{fill:#b77b6e;stroke:#8e554b;stroke-width:3px}.scale-singing-notation .active-note .pitch-review-ledger{stroke:#8e554b}@media (max-width:420px){.scale-singing-notation{padding:12px 8px}.scale-singing-notation header{padding:0 6px}}.sight-singing-section-heading{text-align:left;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.sight-singing-section-heading small{color:#aa796b;letter-spacing:.14em;margin-bottom:3px;font-size:11px;font-weight:700;display:block}.sight-singing-section-heading h2{color:#302824;margin:0;font-size:21px}.sight-singing-section-heading>span{color:#8a7c73;white-space:nowrap;font-size:12px}.sight-singing-score-card{background:#fffdf9;border:1px solid #dfd2ca;border-radius:26px;margin-top:14px;padding:20px;box-shadow:0 14px 34px rgba(94,72,62,.055)}.sight-singing-score-card .scale-singing-notation{background:0 0;border:0;margin:8px 0 0;padding:0}.sight-singing-score-card .scale-singing-notation>header{display:none}.sight-singing-score-card .scale-singing-notation svg{max-height:390px}.sight-singing-transport{text-align:left;background:#f7efeb;border-radius:18px;justify-content:center;align-items:center;gap:16px;padding:14px 16px;display:flex}.sight-singing-transport button{color:#fff;background:#a8786d;border:0;border-radius:15px;min-height:46px;padding:0 22px;font-weight:750;box-shadow:0 8px 20px rgba(168,120,109,.22)}.sight-singing-transport span{color:#796b64;font-size:13px}.sight-singing-transport button.active{background:#2e2925}.sight-singing-fixed-rule{background:#f7f1ed;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.sight-singing-fixed-rule label{margin:0}.sight-singing-fixed-rule strong{color:#8e5c52;font-size:15px}.sight-singing-fixed-rule span{color:#8a7c73;font-size:12px}.scale-singing-time-signature text{fill:#332d29;text-anchor:middle;font-size:20px;font-weight:700}.scale-singing-stem{stroke:#332d29;stroke-width:2px}.scale-singing-key-accidental{fill:none;stroke:#332d29;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.scale-singing-notation .active-note .scale-singing-stem{stroke:#8e554b;stroke-width:3px}.sight-singing-steps{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.sight-singing-steps span{color:#887970;background:#fffaf6;border:1px solid #e0d3cb;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:7px;font-size:12px;font-weight:700;display:flex}.sight-singing-steps i{background:#eee6e1;border-radius:50%;align-items:center;justify-items:center;width:21px;height:21px;font-style:normal;display:grid}.sight-singing-steps span.active{color:#86584f;background:#f1dfda;border-color:#b98377}.sight-singing-steps span.active i{color:#fff;background:#a8786d}.sight-singing-steps span.done{color:#58725e}.sight-singing-steps span.done i{color:#4e7357;background:#dfeee2}.sight-singing-live{text-align:left}.sight-singing-live .sight-singing-note-track{text-align:center;margin-top:16px}.sight-singing-live.correct .sight-singing-section-heading h2{color:#477454}.sight-singing-feedback-card{background:#fffdf9;border:1px solid #dfd2ca;border-radius:24px;margin-top:14px;padding:18px;overflow:hidden}.sight-singing-feedback-card.correct{background:#f4fbf5;border-color:#91b99d}.sight-singing-feedback-card.correct .sight-singing-section-heading h2{color:#477454}.sight-singing-feedback-card>.sight-singing-live{background:0 0;border:0;border-radius:0;margin:0;padding:0}.sight-singing-feedback-card>.sight-singing-trace.embedded{background:0 0;border:0;border-top:1px solid #eadfd8;border-radius:0;margin:14px 0 0;padding:16px 0 0}.sight-singing-trace{background:#fffdf9;border:1px solid #dfd2ca;border-radius:24px;margin-top:14px;padding:18px;position:relative;overflow:hidden}.sight-singing-trace svg{background:linear-gradient(#fbf7f3,#fff);border-radius:18px;width:100%;height:auto;margin-top:10px;display:block}.sight-singing-trace .pitch-safe-zone{fill:#e8f2e8}.sight-singing-trace .pitch-guide{stroke:#e6dbd4;stroke-width:1px}.sight-singing-trace .pitch-guide.center{stroke:#91ad97;stroke-width:1.5px;stroke-dasharray:6 5}.sight-singing-trace text{fill:#a09188;font-size:10px}.sight-singing-trace .pitch-trace-line{fill:none;stroke:#a87065;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.sight-singing-trace circle{fill:#bd8479;stroke:#fff;stroke-width:1.4px}.sight-singing-trace circle.correct{fill:#5f8c69}.sight-singing-trace>p{text-align:center;color:#998a81;margin:0;font-size:13px;position:absolute;bottom:62px;left:0;right:0}.sight-singing-actions{grid-template-columns:1fr}.sight-singing-actions .primary{border-radius:18px;min-height:56px;font-size:16px;box-shadow:0 10px 24px rgba(46,41,37,.14)}.sight-singing-actions .primary.recording{background:#8f554d;border-color:#8f554d}.sight-singing-recording{background:#fffdf9;border:1px solid #dfd2ca;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;padding:14px 16px;display:flex}.sight-singing-recording div{gap:2px;display:grid}.sight-singing-recording small{color:#9b7064}.sight-singing-recording strong{font-size:14px}.sight-singing-recording button{color:#7f5048;background:#f3e4df;border:1px solid #b9897e;border-radius:14px;min-width:132px;min-height:44px;font-weight:750}.sight-singing-imported-title{background:#f6e9e4;border:1px solid #d9c8bf;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.sight-singing-imported-title span{color:#8c7168;font-size:12px}.singing-training-entry-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:16px;display:grid}.singing-training-entry-actions .module-open-entry{min-height:42px;margin:0}.singing-training-entry-actions .module-open-entry.secondary{color:#795b53;background:#fffaf6}.photo-score-page{color:#2d2824;background:#f8f4ee;min-height:100vh;padding:24px max(14px,min(4vw,42px)) 60px}.photo-score-page>*{width:min(760px,100%);margin-left:auto;margin-right:auto}.photo-score-header{text-align:center}.photo-score-header>button{color:#765952;background:#fffaf6;border:1px solid #dacbc2;border-radius:14px;padding:10px 14px;display:block}.photo-score-header small{color:#a97868;letter-spacing:.12em;margin-top:16px;display:block}.photo-score-header h1{margin:5px 0;font-size:max(30px,min(6vw,48px))}.photo-score-header p{color:#81756e;margin:0}.photo-score-guide{background:#fffdf9;border:1px solid #ddd0c7;border-radius:22px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding:18px;display:flex}.photo-score-guide>strong{width:100%}.photo-score-guide>span{color:#796b64;background:#f5efeb;border-radius:99px;padding:6px 9px;font-size:12px}.photo-score-picker{color:#fff;cursor:pointer;background:#2e2925;border-radius:15px;align-items:center;justify-items:center;width:100%;min-height:52px;margin-top:8px;font-weight:750;display:grid}.photo-score-picker input{opacity:0;width:1px;height:1px;position:absolute}.photo-score-preview{background:#fff;border:1px solid #ded2ca;border-radius:18px;margin-top:12px;padding:10px}.photo-score-preview img{object-fit:contain;border-radius:12px;width:100%;max-height:360px;display:block}.photo-score-message{color:#765d2d;background:#fff3dc;border-radius:14px;margin-top:10px;padding:12px 14px;font-size:13px}.photo-score-message.error{color:#994e47;background:#fbe8e5}.photo-score-review{background:#fffdf9;border:1px solid #ddd0c7;border-radius:22px;margin-top:12px;padding:18px}.photo-score-review>header{justify-content:space-between;align-items:flex-end;display:flex}.photo-score-review>header small{color:#a97868}.photo-score-review>header h2{margin:2px 0 0}.photo-score-note-editor{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.photo-score-note-editor article{text-align:center;background:#faf6f2;border:1px solid #e1d5ce;border-radius:13px;padding:9px}.photo-score-note-editor article>small,.photo-score-note-editor article>strong{display:block}.photo-score-note-editor article>strong{margin:3px 0 7px}.photo-score-note-editor article>div{grid-template-columns:32px 1fr 32px;gap:4px;display:grid}.photo-score-note-editor button{color:#765952;background:#fff;border:1px solid #dacac1;border-radius:8px;min-height:30px;padding:2px}.photo-score-review-actions{grid-template-columns:1fr 2fr;gap:8px;margin-top:14px;display:grid}.photo-score-review-actions button{color:#715950;background:#fffaf6;border:1px solid #d8c7bd;border-radius:14px;min-height:48px;font-weight:700}.photo-score-review-actions .primary{color:#fff;background:#2e2925;border-color:#2e2925}@media (max-width:620px){.sight-singing-page{padding-top:12px}.sight-singing-header small{margin-top:10px}.sight-singing-header h1{font-size:38px}.sight-singing-key-picker{gap:9px;margin-top:14px}.sight-singing-key-group{padding:12px}.sight-singing-key-group>div{gap:7px}.sight-singing-key-group button{min-height:64px;padding:10px 11px}.sight-singing-key-group strong{font-size:15px}.sight-singing-key-group span{font-size:10px}.sight-singing-settings{margin-top:14px;padding:14px;display:block}.sight-singing-settings>div+div{margin-top:10px}.sight-singing-options{grid-template-columns:1fr 1fr}.sight-singing-score-card{padding:14px 10px}.sight-singing-score-card .scale-singing-notation svg{max-height:285px}.sight-singing-transport{grid-template-columns:repeat(2,1fr);gap:6px;padding:9px;display:grid}.sight-singing-transport button{min-height:42px;padding:5px 4px;font-size:11px}.sight-singing-section-heading{align-items:flex-start}.sight-singing-section-heading>span{padding-top:5px}.sight-singing-trace{padding:15px 10px}.sight-singing-trace>p{bottom:44px}.sight-singing-note-track{grid-template-columns:repeat(8,1fr);gap:3px}.sight-singing-note-track span{padding:6px 1px;font-size:11px}.sight-singing-reading{margin-bottom:2px}.sight-singing-actions{margin-top:10px}.sight-singing-fixed-rule{padding:8px 10px}.sight-singing-recording{padding:12px}.sight-singing-recording strong{font-size:12px}.sight-singing-recording button{min-width:116px;padding:0 10px}.photo-score-page{padding-top:12px}.photo-score-guide,.photo-score-review{padding:14px}.photo-score-note-editor{grid-template-columns:repeat(2,1fr)}.photo-score-review-actions,.singing-training-entry-actions{grid-template-columns:1fr}}.photo-score-crop-stage{touch-action:none;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#eee8e3;border-radius:12px;width:100%;position:relative;overflow:hidden}.photo-score-preview .photo-score-crop-stage img{object-fit:contain;pointer-events:none;border-radius:0;width:100%;height:auto;max-height:none;display:block}.photo-score-crop-stage:after{content:"";pointer-events:none;background:rgba(45,40,36,.22);position:absolute;top:0;bottom:0;left:0;right:0}.photo-score-crop-box{z-index:1;pointer-events:none;background:rgba(255,255,255,.12);border:2px solid #fff;position:absolute;box-shadow:0 0 0 1px #9d665b,0 0 0 9999px rgba(45,40,36,.08)}.photo-score-crop-actions{grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px 2px 0;display:grid}.photo-score-crop-actions span{color:#7f7169;font-size:12px}.photo-score-crop-actions button{color:#72584f;background:#fff;border:1px solid #d6c6bd;border-radius:11px;min-height:38px;padding:0 12px}.photo-score-crop-actions .primary{color:#fff;background:#2e2925;border-color:#2e2925}@media (max-width:620px){.photo-score-crop-actions{grid-template-columns:1fr 1fr}.photo-score-crop-actions span{grid-column:1/-1}}@media (max-width:520px){.scale-singing-notation .pitch-review-clef{transform-box:fill-box;transform-origin:50%;transform:scale(.82)}.scale-singing-notation .scale-singing-time-signature{transform:translate(9px)}}.photo-score-review-actions:has(>button:only-child){grid-template-columns:1fr}.sight-singing-score-card .melody-score{background:0 0;border:0;margin:8px 0 12px}.melody-note-symbol.completed-note ellipse{fill:#bda69d;stroke:#9e7c70}.melody-note-symbol.active-note ellipse{fill:#d59655;stroke:#9c5f2f;stroke-width:3px}.melody-note-symbol.active-note{filter:drop-shadow(0 0 5px rgba(213,150,85,.65))}.melody-note-stem.melody-beamed-stem{stroke-linecap:butt}.rank-module-basis{color:#91857c;margin:9px 0 0;font-size:9px;line-height:1.45}.rank-module-basis+.rank-module-progress{margin-top:9px}.rank-rule-strip{color:#7e7067;background:#f6efe9;border:1px solid #e2d9d0;border-radius:16px;flex-wrap:wrap;align-items:center;gap:7px 16px;margin-top:14px;padding:13px 16px;font-size:10px;display:flex}.rank-rule-strip strong{color:#6e554f;font-size:12px}.rank-rule-strip span+span{position:relative}.rank-rule-strip span+span:before{content:"·";color:#b98e89;position:absolute;left:-10px}@media (max-width:600px){.rank-rule-strip{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.rank-rule-strip strong{grid-column:1/-1}.rank-rule-strip span+span:before{display:none}}.training-memory-option{border:1px solid var(--line,#e4d6ca);background:rgba(255,252,248,.8);border-radius:18px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.training-memory-option>div{gap:4px;display:grid}.training-memory-option strong{color:var(--ink,#2d2824);font-size:15px}.training-memory-option span{color:var(--muted,#8a7e75);font-size:12px}.training-memory-option button{color:#796d65;background:#f5efea;border:1px solid #dccdc1;border-radius:999px;flex:none;align-items:center;gap:7px;min-width:86px;padding:9px 12px;display:inline-flex}.training-memory-option button i{background:#b8ada5;border-radius:50%;width:9px;height:9px}.training-memory-option button[aria-pressed=true]{color:#8f443a;background:#f2e3de;border-color:#b78276}.training-memory-option button[aria-pressed=true] i{background:#ad6659}@media (max-width:520px){.training-memory-option{padding:13px 14px}}.interval-recognition-page{width:min(100%,760px);min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 16px calc(36px + env(safe-area-inset-bottom));color:#29241f;background:linear-gradient(#fbf9f5,#f3eee7);margin:0 auto}.interval-recognition-header{text-align:center}.interval-recognition-header>small{color:#966d62;letter-spacing:.16em;margin-top:14px;font-weight:800;display:block}.interval-recognition-header h1{margin:5px 0;font:700 max(32px,min(8vw,48px))/1.15 Georgia,Noto Serif SC,serif}.interval-recognition-header p{color:#796f67;margin:0 auto 16px;line-height:1.55}.interval-recognition-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.interval-recognition-mode-grid>button{min-width:0;min-height:148px;color:inherit;text-align:left;background:#fffdfa;border:1px solid #ded3c8;border-radius:18px;flex-direction:column;gap:4px;padding:15px;display:flex;box-shadow:0 8px 20px rgba(76,57,43,.055)}.interval-recognition-mode-grid>button:last-child{grid-column:1/-1;min-height:118px}.interval-recognition-mode-grid small{color:#a27469;letter-spacing:.1em;font-weight:800}.interval-recognition-mode-grid h2{margin:0;font-size:21px}.interval-recognition-mode-grid p{color:#756b63;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px;margin:1px 0 5px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.interval-recognition-mode-grid dl{border-top:1px solid #eee5dc;grid-template-columns:repeat(3,1fr);width:100%;margin:auto 0 0;padding-top:8px;display:grid}.interval-recognition-mode-grid dl div{gap:3px;display:grid}.interval-recognition-mode-grid dt{color:#9a9088;font-size:10px}.interval-recognition-mode-grid dd{margin:0;font-size:13px;font-weight:800}.interval-recognition-mode-grid>button>b{color:#8e5b51;white-space:nowrap;margin-top:3px;font-size:13px}.interval-recognition-setup{background:#fff;border:1px solid #ded3c8;border-radius:24px;padding:22px;box-shadow:0 14px 34px rgba(72,55,43,.07)}.interval-recognition-setup fieldset{border:0;margin:0 0 24px;padding:0}.interval-recognition-setup legend{margin-bottom:12px;font-weight:800}.interval-recognition-unified-setup{max-width:620px;margin:0 auto}.interval-recognition-unified-setup fieldset:first-of-type .interval-setting-buttons{grid-template-columns:repeat(3,1fr)}.interval-recognition-unified-setup fieldset:nth-of-type(2) .interval-setting-buttons{grid-template-columns:repeat(2,1fr)}.interval-recognition-unified-setup fieldset:nth-of-type(3) .interval-setting-buttons{grid-template-columns:repeat(4,1fr)}.interval-recognition-level-note{color:#806f66;text-align:center;margin:-14px 0 22px;font-size:13px}.interval-setting-buttons{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.interval-setting-buttons button,.interval-custom-checks label{color:#574d46;background:#fffdfa;border:1px solid #ddd1c6;border-radius:13px;min-height:48px}.interval-setting-buttons button.selected{color:#803f37;background:#f3e5e1;border-color:#9d695e;font-weight:800}.interval-custom-checks{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.interval-custom-checks label{justify-content:center;align-items:center;gap:6px;display:flex}.interval-setup-warning{color:#a14338;text-align:center}.interval-recognition-primary{color:#fff;background:#29241f;border:0;border-radius:16px;width:100%;min-height:58px;font-size:18px;font-weight:800}.interval-recognition-primary:disabled{opacity:.4}.interval-recognition-training{flex-direction:column;display:flex}.interval-recognition-training-header{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:14px;display:grid}.interval-recognition-training-header>span{color:#766b63;justify-self:end;font-weight:800}.interval-recognition-training-header small{color:#966d62;font-weight:800}.interval-recognition-training-header h1{margin:2px 0 0;font-size:22px}.interval-recognition-question-card{text-align:center;background:#fff;border:1px solid #ded3c8;border-radius:26px;padding:18px;box-shadow:0 16px 40px rgba(69,52,40,.08)}.interval-recognition-progress{background:#eee7df;border-radius:999px;height:5px;overflow:hidden}.interval-recognition-progress i{border-radius:inherit;background:#96665c;height:100%;transition:width .2s;display:block}.interval-recognition-question-card>p{color:#756b63}.interval-recognition-staff{width:min(100%,520px);height:auto;margin:10px auto 20px;display:block}.interval-recognition-staff>rect{fill:#fbfaf7}.interval-staff-lines line,.interval-ledgers line{stroke:#3e3934;stroke-width:1.4px}.interval-treble-clef{fill:#28231f;font:70px Noto Music,Bravura Text,serif}.interval-staff-note ellipse{fill:none;stroke:#28231f;stroke-width:2.8px}.interval-accidental{fill:#28231f;font:21px Noto Music,serif}.interval-two-step-answer{gap:12px;display:grid}.interval-number-options{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.interval-number-options button,.interval-quality-options button,.interval-direct-answers button{color:#514740;background:#fff;border:1px solid #dacdc2;border-radius:13px;min-height:48px;font-weight:700}.interval-direct-answers button{border-radius:11px;min-height:44px;padding:6px 3px;font-size:14px}.interval-number-options button.selected{color:#7f4038;background:#f2e3df;border-color:#9c675c}.interval-quality-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.interval-direct-answers{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.interval-recognition-feedback{color:#746a62;border-radius:13px;min-height:44px;margin-top:14px;padding:11px;font-weight:800}.interval-recognition-feedback.correct{color:#2d7047;background:#eaf6ee}.interval-recognition-feedback.wrong{color:#a13e36;background:#fbecea}.interval-explanation button{color:#80564d;background:0 0;border:0;text-decoration:underline}.interval-explanation p{color:#5e554e;background:#f7f2ec;border-radius:12px;margin:10px 0 0;padding:12px;line-height:1.6}.interval-recognition-next{color:#fff;background:#29241f;border:0;border-radius:13px;width:100%;min-height:48px;margin-top:12px;font-weight:800}.interval-recognition-footer{color:#665c54;text-align:center;background:rgba(255,255,255,.8);border-radius:15px;grid-template-columns:repeat(3,1fr);margin-top:12px;padding:13px;font-size:14px;font-weight:800;display:grid}.interval-recognition-report-details,.interval-recognition-category-report{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:16px;display:grid}.interval-recognition-report-details div,.interval-recognition-category-report div{background:#fffdfa;border:1px solid #e6dbd1;border-radius:14px;gap:5px;padding:15px;display:grid}.interval-recognition-report-details span,.interval-recognition-category-report span{color:#82776f;font-size:13px}@media (max-width:560px){.interval-recognition-page{padding-left:12px;padding-right:12px}.interval-recognition-mode-grid{gap:8px}.interval-recognition-mode-grid>button{border-radius:16px;min-height:140px;padding:12px}.interval-recognition-mode-grid h2{font-size:18px}.interval-recognition-mode-grid small{font-size:10px}.interval-recognition-mode-grid p{min-height:36px;font-size:12px}.interval-recognition-training-header{grid-template-columns:auto 1fr auto}.interval-recognition-training-header .back-button{justify-self:start}.interval-number-options{grid-template-columns:repeat(4,1fr)}.interval-direct-answers{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.interval-setting-buttons{grid-template-columns:repeat(2,1fr)}.interval-recognition-unified-setup{padding:18px 14px}.interval-recognition-unified-setup fieldset{margin-bottom:18px}.interval-recognition-unified-setup fieldset:first-of-type .interval-setting-buttons{grid-template-columns:repeat(3,1fr)}.interval-recognition-unified-setup fieldset:nth-of-type(3) .interval-setting-buttons{grid-template-columns:repeat(4,1fr)}.interval-recognition-unified-setup .interval-setting-buttons button{min-width:0;padding:5px 3px;font-size:13px}.interval-custom-checks{grid-template-columns:repeat(3,1fr)}.interval-recognition-question-card{padding:14px}}@media (max-width:350px){.interval-recognition-mode-grid{grid-template-columns:1fr}.interval-recognition-mode-grid>button{min-height:126px}.interval-recognition-mode-grid>button:last-child{grid-column:auto}}.melody-measure-review-list{gap:10px;margin-top:14px;display:grid}.melody-measure-review-item{background:#fffdfa;border:1px solid #ddd3cb;border-radius:16px;padding:10px}.melody-measure-review-item>header{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.melody-measure-review-item>header strong{font-size:14px}.melody-measure-review-item>header span{font-size:13px;font-weight:800}.melody-measure-review-item.correct{background:#f1f8f2;border-color:#9fc5aa}.melody-measure-review-item.correct>header span{color:#3f7650}.melody-measure-review-item.wrong{background:#fff1ef;border-color:#dda39c}.melody-measure-review-item.wrong>header span{color:#a33d35}.melody-measure-review-item section{background:rgba(255,255,255,.78);border-radius:12px;padding:7px 8px}.melody-measure-review-item section+section{margin-top:8px}.melody-measure-review-item section>small{color:#7f736b;margin-bottom:3px;font-size:12px;font-weight:750;display:block}.melody-measure-review-item .correct-answer{background:#f4fbf5;border:1px solid #9fc5aa}.melody-measure-review-item .correct-answer>small{color:#3f7650}.melody-measure-review-item .melody-score,.melody-measure-review-item .melody-system{margin:0}.melody-measure-review-item .melody-system svg{width:100%;min-height:76px;display:block}@media (max-width:620px){.melody-measure-review-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.melody-measure-review-item{min-width:0;padding:7px}.melody-measure-review-item>header{margin-bottom:4px}.melody-measure-review-item>header strong,.melody-measure-review-item>header span{font-size:11px}.melody-measure-review-item section{min-width:0;padding:4px}.melody-measure-review-item section>small{margin-bottom:0;font-size:10px}.melody-measure-review-item .melody-system svg{min-height:54px}.melody-measure-review-item.wrong{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;display:grid}.melody-measure-review-item.wrong>header{grid-column:1/-1;margin-bottom:0}.melody-measure-review-item.wrong section+section{margin-top:0}}:root{--earlab-safe-top:env(safe-area-inset-top,0px);--earlab-safe-right:env(safe-area-inset-right,0px);--earlab-safe-bottom:env(safe-area-inset-bottom,0px);--earlab-safe-left:env(safe-area-inset-left,0px);--earlab-viewport-height:100dvh;--earlab-content-height:calc(var(--earlab-viewport-height) - var(--earlab-safe-top) - var(--earlab-safe-bottom));--earlab-standard-header-height:56px;--earlab-tool-header-height:46px}:root[data-earlab-runtime=native]{--earlab-safe-top:0px;--earlab-safe-right:0px;--earlab-safe-bottom:0px;--earlab-safe-left:0px}html,body,#root{min-height:100%}body{min-height:var(--earlab-viewport-height)}.earlab-app-viewport{width:100%;min-height:var(--earlab-viewport-height);padding:var(--earlab-safe-top) var(--earlab-safe-right) var(--earlab-safe-bottom) var(--earlab-safe-left);box-sizing:border-box}.earlab-app-viewport>*{box-sizing:border-box;min-height:var(--earlab-content-height)!important}.utility-page{padding-top:38px}.tuner-page,.pocket-piano-page{padding-top:28px}.metronome-page{padding-top:12px}.home-shell{padding-bottom:88px}.bottom-navigation{height:66px;padding:6px 10px}.practice-page .brand-header{min-height:var(--earlab-standard-header-height);align-items:center;margin-bottom:18px}.practice-page .brand-header>div:not(.brand-mark){min-height:var(--earlab-standard-header-height);align-content:center}.module-page-header,.rhythm-header,.melody-header{box-sizing:border-box;min-height:176px}.module-page-header h1,.rhythm-header h1,.melody-header h1{line-height:1.18}.utility-page .compact-utility-header,.utility-page .utility-header,.metronome-header.compact,.tuner-header,.pocket-piano-header{min-height:var(--earlab-tool-header-height);box-sizing:border-box}.compact-utility-header{padding-top:6px;padding-bottom:12px}.compact-utility-header .back-home{top:6px}.metronome-header.compact{height:auto}.history-header,.user-profile-header,.settings-header{min-height:var(--earlab-tool-header-height);box-sizing:border-box;position:relative}.training-history-page,.preference-page,.user-profile-page,.wrong-book-page,.training-rank-page,.ability-profile-page{min-height:var(--earlab-content-height)!important}.account-page{min-height:var(--earlab-content-height);align-content:center;padding:max(16px,min(4vh,44px)) max(12px,min(4vw,24px))}.account-card{box-sizing:border-box;width:min(440px,100%)}.account-card>header{align-content:center;min-height:126px;margin:18px 0;display:grid}.home-tab-training .module-grid{align-items:stretch}.home-tab-training .module-card{box-sizing:border-box;flex-direction:column;height:100%;display:flex}.home-tab-training .module-card-header{grid-template-rows:auto;min-height:64px}.home-tab-training .module-card-header>div{align-content:start;min-height:52px}.home-tab-training .module-card .module-icon{align-self:start}.home-tab-training .module-open-entry{box-sizing:border-box;width:100%;margin-top:auto}@media (max-width:600px){.utility-page{padding-top:22px}.tuner-page,.pocket-piano-page{padding-top:18px}.metronome-page{padding-top:8px}.practice-page .brand-header,.practice-page .brand-header>div:not(.brand-mark){min-height:48px}.module-page-header,.rhythm-header,.melody-header{min-height:142px}.account-page{padding:12px}.account-card>header{min-height:112px;margin:14px 0}.home-tab-training .module-card{height:132px;min-height:132px}.home-tab-training .module-card-header{min-height:65px}.home-tab-training .module-card-header>div{min-height:58px}.utility-page .utility-header,.compact-utility-header,.history-header,.user-profile-header,.settings-header{min-height:104px;padding-top:42px}.tuner-header,.pocket-piano-header{text-align:center;min-height:74px;padding:44px 4px 8px;position:relative}.tuner-header>button,.pocket-piano-header>button{min-height:38px;padding-left:12px;padding-right:12px;position:absolute;top:0;left:0}.tuner-header>small,.pocket-piano-header>small,.tuner-header>p,.pocket-piano-header>p{display:none}.tuner-header>h1,.pocket-piano-header>h1{margin:0;font-size:30px;line-height:1.1}}@media (orientation:landscape) and (max-height:600px){:root{--earlab-standard-header-height:48px;--earlab-tool-header-height:42px}.practice-page,.utility-page,.tuner-page,.pocket-piano-page,.metronome-page{padding-top:10px}.module-page-header,.rhythm-header,.melody-header{min-height:118px;padding-top:14px;padding-bottom:14px}.account-page{align-content:start;padding-top:10px;padding-bottom:10px}.account-card>header{min-height:82px;margin:8px 0}.utility-page .utility-header,.compact-utility-header,.history-header,.user-profile-header,.settings-header{min-height:76px;padding-top:38px}.tuner-header,.pocket-piano-header{justify-content:space-between;align-items:center;min-height:42px;padding:0 4px;display:flex}.tuner-header>button,.pocket-piano-header>button{position:static}.tuner-header>h1,.pocket-piano-header>h1{font-size:24px}.pocket-piano{height:calc(var(--earlab-content-height) - 145px)}}@media (max-width:430px){.onboarding-card{min-height:min(580px,calc(var(--earlab-content-height) - 28px))}}.interval-singing-page{width:min(100%,760px);min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 18px calc(40px + env(safe-area-inset-bottom));color:#2c2824;margin:0 auto}.interval-singing-hero{text-align:center;margin:18px auto 16px}.interval-singing-hero.compact{margin:14px auto}.interval-singing-hero small{color:#a66f68;letter-spacing:.18em;font-weight:700}.interval-singing-hero h1{margin:8px 0;font-family:Georgia,Noto Serif SC,serif;font-size:max(34px,min(8vw,54px))}.interval-singing-hero p{color:#81766e;margin:0;line-height:1.7}.interval-singing-card-grid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.interval-singing-card-grid button,.interval-singing-setup,.interval-singing-practice,.interval-singing-review,.interval-singing-report{background:#fffdf9;border:1px solid #dfd1c2;border-radius:22px;box-shadow:0 12px 30px rgba(83,60,43,.05)}.interval-singing-card-grid button{min-height:86px;color:inherit;text-align:left;align-content:center;gap:3px;padding:11px;display:grid}.interval-singing-card-grid button span{color:#b27770;font:700 13px Georgia,serif}.interval-singing-card-grid button strong{font-size:18px}.interval-singing-card-grid button small{color:#8b8178;font-size:11px}.interval-singing-setup,.interval-singing-practice,.interval-singing-review{padding:18px}.interval-singing-setup fieldset{border:0;margin:0 0 16px;padding:0}.interval-singing-setup legend{margin-bottom:10px;font-weight:700}.interval-singing-choice-grid{gap:7px;display:grid}.interval-singing-choice-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.interval-singing-choice-grid.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.interval-singing-setup fieldset button,.interval-singing-answer,.interval-singing-rating button,.interval-singing-review button,.interval-singing-report-actions button{color:#574b43;background:#fff;border:1px solid #dcc8b7;border-radius:14px;min-height:48px}.interval-singing-setup fieldset button{border-radius:11px;min-height:44px;padding:6px;font-size:14px}.interval-singing-setup fieldset button.selected{color:#8c4744;background:#f6e8e5;border-color:#a76e68;font-weight:700}.interval-singing-primary,.interval-singing-play{color:#fff;background:#27231f;border:0;border-radius:16px;width:100%;min-height:58px;font-size:18px;font-weight:700}.interval-singing-practice{text-align:center}.interval-singing-note-pair{justify-content:center;align-items:center;gap:24px;min-height:130px;display:flex}.interval-singing-note-pair span{max-width:40%;font:700 24px/1.35 Georgia,Noto Serif SC,serif}.interval-singing-note-pair b{color:#ae746d;font-size:36px}.interval-singing-practice>p{color:#82766d}.interval-singing-answer{width:100%;margin:12px 0}.interval-singing-rating{grid-template-columns:1fr 1fr;gap:10px;display:grid}.interval-singing-report{grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.interval-singing-report div{text-align:center;border-right:1px solid #eadfd5;padding:24px 10px}.interval-singing-report div:last-child{border-right:0}.interval-singing-report strong,.interval-singing-report span{display:block}.interval-singing-report strong{font-size:30px}.interval-singing-report span{color:#85786e;margin-top:5px}.interval-singing-review{margin-top:16px}.interval-singing-review button{width:100%;margin-top:8px;display:block}.interval-singing-report-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}@media (max-width:520px){.interval-singing-page{padding-left:14px;padding-right:14px}.interval-singing-hero{margin-top:12px;margin-bottom:12px}.interval-singing-hero h1{font-size:30px}.interval-singing-hero p{font-size:13px}.interval-singing-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.interval-singing-card-grid button{border-radius:14px;min-height:74px;padding:8px}.interval-singing-card-grid button span,.interval-singing-card-grid button small{font-size:10px}.interval-singing-card-grid button strong{font-size:16px}.interval-singing-setup{padding:14px}.interval-singing-note-pair{gap:12px}.interval-singing-note-pair span{font-size:19px}}.interval-singing-pitch-panel{border:1px solid var(--line,#e5d8d0);background:rgba(255,252,249,.9);border-radius:20px;margin-top:16px;padding:18px}.interval-singing-pitch-panel.state-stable{background:#f2faf4;border-color:#87b79a}.interval-singing-pitch-panel.state-permission-denied,.interval-singing-pitch-panel.state-error{background:#fff5f3;border-color:#d6aaa4}.interval-singing-pitch-heading,.interval-singing-pitch-stats{justify-content:space-between;align-items:center;gap:12px;display:flex}.interval-singing-pitch-heading strong{font-size:18px}.interval-singing-pitch-heading label{color:var(--muted,#7e716a);white-space:nowrap;align-items:center;gap:7px;font-size:14px;display:inline-flex}.interval-singing-pitch-message{min-height:32px;color:var(--ink,#28231f);text-align:center;margin:16px 0 10px;font-size:18px;font-weight:700}.interval-singing-pitch-stats{color:var(--muted,#7e716a);font-size:14px}.interval-singing-cents-bar{background:linear-gradient(90deg,#dba7a0 0,#dba7a0 35%,#e8d2a8 35%,#e8d2a8 42.5%,#8eb99b 42.5%,#8eb99b 57.5%,#e8d2a8 57.5%,#e8d2a8 65%,#dba7a0 65%,#dba7a0 100%);border-radius:999px;height:12px;margin:16px 0 18px;position:relative;overflow:hidden}.interval-singing-cents-zone{position:absolute;top:0;bottom:0;left:0;right:0}.interval-singing-cents-center{background:rgba(43,83,57,.75);width:2px;position:absolute;top:-3px;bottom:-3px;left:50%;transform:translate(-50%)}.interval-singing-cents-marker{background:#7d3f39;border:3px solid #fff;border-radius:50%;width:18px;height:18px;transition:left 80ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(71,43,38,.25)}.interval-singing-pitch-panel>button{width:100%;min-height:48px}.interval-singing-pitch-panel>p:last-child{color:var(--muted,#7e716a);text-align:center;margin:12px 0 0;font-size:14px;line-height:1.6}@media (max-width:560px){.interval-singing-pitch-panel{padding:15px}.interval-singing-pitch-heading{align-items:flex-start}.interval-singing-pitch-message{font-size:16px}.interval-singing-pitch-stats{flex-direction:column;align-items:flex-start;gap:4px}}.interval-singing-training-page{background:linear-gradient(#faf7f2 0,#f5f0e9 100%);width:min(100%,560px)}.interval-singing-training-nav{color:#857b72;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.interval-singing-training-header{text-align:center;padding:34px 6px 22px}.interval-singing-training-header small{color:#9b7067;letter-spacing:.08em;font-weight:700}.interval-singing-training-header h1{color:#26221f;margin:18px 0 10px;font:700 max(34px,min(11vw,52px))/1.15 Georgia,Noto Serif SC,serif}.interval-singing-training-header h1 b{color:#b17a70;margin:0 .18em;font-family:inherit}.interval-singing-training-header p{color:#80766f;margin:0;font-size:15px}.interval-singing-training-card{background:#fff;border:0;border-radius:26px;padding:18px;box-shadow:0 18px 45px rgba(71,54,42,.09)}.interval-singing-training-card .interval-singing-play{background:#292520;border-radius:18px;min-height:62px;font-size:18px}.interval-singing-training-card .interval-singing-pitch-panel{background:#f7f4ef;border:0;border-radius:20px;margin-top:18px;padding:22px 18px 18px}.interval-singing-stepper{grid-template-columns:1fr 44px 1fr;align-items:center;gap:8px;display:grid}.interval-singing-stepper>div{color:#978d85;justify-items:center;gap:7px;font-size:13px;font-weight:700;display:grid}.interval-singing-stepper i{background:#fff;border:1px solid #d9d0c8;border-radius:50%;align-items:center;justify-items:center;width:34px;height:34px;font-style:normal;display:grid}.interval-singing-stepper>b{background:#ddd4cc;height:2px;margin-bottom:22px}.interval-singing-stepper>div.active{color:#7d4c43}.interval-singing-stepper>div.active i{border-color:#a96f64;box-shadow:0 0 0 4px #efe1dc}.interval-singing-stepper>div.complete{color:#397252}.interval-singing-stepper>div.complete i{color:#fff;background:#78a789;border-color:#78a789}.interval-singing-training-card .interval-singing-pitch-message{margin:24px 0 18px;font-size:20px}.interval-singing-pitch-gauge{width:min(100%,280px);margin:0 auto 8px}.interval-singing-gauge-face{height:112px;position:relative;overflow:hidden}.interval-singing-gauge-face:before{content:"";background:conic-gradient(from 270deg,#cf9d96 0deg,#cf9d96 70deg,#78a789 80deg,#78a789 100deg,#d8b895 110deg,#d8b895 180deg,transparent 180deg,transparent 360deg);border-radius:50%;position:absolute;top:8px;bottom:-104px;left:18px;right:18px;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 11px));mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 11px))}.interval-singing-gauge-target{z-index:1;background:#5f826d;border-radius:999px;width:4px;height:22px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.interval-singing-gauge-needle{z-index:2;transform-origin:50% 100%;background:#7b4841;border-radius:999px 999px 3px 3px;width:4px;height:88px;transition:transform .14s ease-out;position:absolute;bottom:0;left:calc(50% - 2px);box-shadow:0 2px 8px rgba(72,45,39,.2)}.interval-singing-gauge-face em{z-index:3;background:#7b4841;border:4px solid #f7f4ef;border-radius:50%;width:22px;height:22px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.interval-singing-gauge-labels{color:#978d85;text-align:center;grid-template-columns:1fr 1fr 1fr;margin-top:7px;font-size:13px;font-weight:700;display:grid}.interval-singing-gauge-labels strong{color:#4f765f}.interval-singing-retry{color:#4e443d;background:#fff;border:1px solid #d8c8bd;border-radius:14px;margin-top:18px;font-weight:700}@media (max-width:520px){.interval-singing-training-page{padding-left:14px;padding-right:14px}.interval-singing-training-header{padding-top:26px}.interval-singing-training-card{padding:14px}.interval-singing-training-card .interval-singing-pitch-panel{padding:20px 14px 16px}}
