:root{color:#f4f7ff;font-synthesis:none;text-rendering:optimizelegibility;background:#10131a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 0,#7aa8ff24,#0000 32rem),radial-gradient(circle at 90% 18%,#75e0bd1a,#0000 30rem),#10131a;min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}input[type=number]{color:#f4f7ff;background:#171d29;border:1px solid #97a7ca52;border-radius:.75rem;width:100%;min-height:46px;padding:.65rem .8rem}button{color:#f4f7ff;cursor:pointer;background:linear-gradient(#263653,#1c2941);border:1px solid #7aa8ff8c;border-radius:.8rem;min-height:46px;padding:.72rem 1rem}button:hover:not(:disabled){border-color:#92b9ff;transform:translateY(-1px)}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #75e0bdb8}button:disabled{cursor:not-allowed;opacity:.48}.shell{width:min(920px,100% - 2rem);margin:0 auto;padding:2.5rem 0 5rem}.hero{padding:1rem 0 1.5rem}.eyebrow,.step{color:#75e0bd;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .4rem;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.8rem;font-size:clamp(2rem,7vw,4rem);line-height:1.05}h2{margin-bottom:0;font-size:clamp(1.2rem,4vw,1.65rem)}.lead,.hint{color:#b7c0d5;line-height:1.75}.lead{max-width:52rem;margin-bottom:0}.status-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0;display:grid}.status-card,.panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#161b26db;border:1px solid #97a7ca33;box-shadow:0 18px 50px #0003}.status-card{border-radius:1rem;gap:.45rem;padding:1rem;display:grid}.status-card span{color:#9ba7be;font-size:.82rem}.status-card strong{overflow-wrap:anywhere}.status-card small{color:#7f8aa2;font-size:.72rem}.tag{color:#9ef0d4;background:#75e0bd14;border:1px solid #75e0bd52;border-radius:999px;flex:none;padding:.35rem .6rem;font-size:.75rem}.controls{flex-wrap:wrap;gap:.75rem;display:flex}.controls.inline{justify-content:space-between;align-items:center}.direction-buttons button{flex:9rem}.slider-label{color:#d8deec;gap:.35rem;min-width:min(100%,16rem);display:grid}input[type=range]{width:100%}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.form-grid>label,fieldset{color:#c7cede;border:0;gap:.55rem;margin:0;padding:0;display:grid}select{color:#f4f7ff;background:#171d29;border:1px solid #97a7ca52;border-radius:.75rem;width:100%;min-height:46px;padding:.65rem .8rem}.segmented{flex-wrap:wrap;gap:.45rem;display:flex}.segmented label{background:#171d29;border:1px solid #97a7ca38;border-radius:.7rem;align-items:center;gap:.35rem;min-height:46px;padding:.55rem .7rem;display:flex}.result{color:#bcd0ff;overflow-wrap:anywhere;background:#0d1016;border-radius:.75rem;min-height:3rem;margin-top:1rem;padding:.8rem;display:block}.offline-result[data-status=ready]{color:#9ef0d4}.offline-result[data-status=error]{color:#ffd27a}.piano-progress{color:#b7c0d5;grid-template-columns:1fr auto;align-items:center;gap:.8rem;margin:1rem 0;display:grid}.piano-progress progress{accent-color:#75e0bd;width:100%;height:.75rem}.attribution{color:#8f9bb3;margin:1rem 0 0;font-size:.78rem;line-height:1.6}.attribution a{color:#9ebdff}.hint{margin:.9rem 0 0;font-size:.9rem}.checklist{gap:.8rem;display:grid}.checklist .section-heading{margin-bottom:.2rem}.checklist>label{align-items:flex-start;gap:.65rem;line-height:1.55;display:flex}.checklist input{width:1.15rem;height:1.15rem;margin-top:.15rem}@media (width<=660px){.shell{width:min(100% - 1rem,920px);padding-top:1.2rem}.status-grid,.form-grid{grid-template-columns:1fr}.controls.inline{align-items:stretch}.controls.inline>*{width:100%}.section-heading{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.app-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:.5rem 0 1.25rem;display:flex}.app-header h1{margin-bottom:.45rem;font-size:clamp(2.2rem,8vw,4.2rem)}.app-header p:last-child{color:#aeb8cc;max-width:38rem;margin-bottom:0;line-height:1.6}.app-connection{color:#ffd27a;background:#ffd27a12;border:1px solid #ffd27a47;border-radius:999px;flex:none;padding:.55rem .75rem;font-size:.78rem}.app-connection.is-online{color:#9ef0d4;background:#75e0bd12;border-color:#75e0bd4d}.lifecycle-banner{background:#263a5bb8;border:1px solid #8fb4ff4d;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.lifecycle-banner>div:first-child{gap:.2rem;min-width:0;display:grid}.lifecycle-banner>div:first-child>span{color:#b9c4d8;font-size:.82rem;line-height:1.5}.lifecycle-banner>div:last-child{flex:none;gap:.55rem;display:flex}.update-banner{background:#1f4d418a;border-color:#75e0bd59}.install-banner{border-color:#8fb4ff52}.lifecycle-status{color:#aeb9ce;margin:-.35rem 0 1rem;font-size:.82rem;display:block}.diagnostics-hero{border-bottom:1px solid #97a7ca29;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem;display:flex}.diagnostics-hero>div{min-width:0}.training-core{min-height:32rem}.training-hero,.question-topbar,.recent-result-card,.resume-card{justify-content:space-between;align-items:center;gap:1rem;display:flex}.training-hero{padding:1rem 0 .35rem}.training-hero h2,.question-topbar h2{margin-bottom:.35rem;font-size:clamp(1.7rem,5vw,2.5rem)}.training-hero p:last-child{color:#9da9be;margin-bottom:0}.local-status{color:#9ef0d4;text-align:center;background:#75e0bd12;border:1px solid #75e0bd40;border-radius:999px;flex:0 auto;max-width:24rem;padding:.45rem .65rem;font-size:.76rem;line-height:1.35}.resume-card{background:linear-gradient(120deg,#75e0bd1a,#0000 58%),#161b26eb;border:1px solid #75e0bd52;border-radius:1.15rem;margin-top:1rem;padding:1.2rem}.resume-card h3{margin-bottom:.4rem;font-size:1.35rem}.resume-card p:last-child{color:#aeb8cc;margin-bottom:0}.setup-grid>label{color:#c7cede;gap:.5rem;display:grid}.interval-picker{border:1px solid #97a7ca33;border-radius:1rem;margin-top:1.25rem;padding:1rem}.interval-picker legend{color:#dce3f2;padding:0 .45rem;font-weight:700}.interval-picker label{background:#131925;border:1px solid #97a7ca2e;border-radius:.75rem;align-items:center;gap:.55rem;min-height:56px;padding:.55rem;display:flex}.interval-picker input,.auto-advance-option input{accent-color:#75e0bd;width:1.15rem;height:1.15rem}.interval-picker span{gap:.15rem;display:grid}.interval-picker small{color:#8f9bb3}.auto-advance-option{color:#c7cede;background:#0d1016b3;border-radius:.85rem;align-items:flex-start;gap:.7rem;margin-top:1.2rem;padding:.9rem;line-height:1.55;display:flex}.auto-advance-option input{flex:none;margin-top:.2rem}.training-volume{margin-top:1.2rem}.validation-error{color:#ffabab;margin:1rem 0 0}.start-row,.next-row{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.start-row>span,.next-row>span{color:#8996ad;font-size:.8rem}.start-row>span{text-align:right}.primary-action{background:linear-gradient(#286854,#1c4f40);border-color:#75e0bd9e;box-shadow:0 10px 28px #21755b2e}.secondary-button{color:#cbd5e8;background:#161d29}.recent-result-card{padding:1.15rem 1.35rem}.recent-result-card h2{font-size:1.15rem}.question-topbar{padding:.9rem 0}.text-button{color:#b8c2d6;background:0 0;border-color:#97a7ca33;min-height:38px;padding:.45rem .7rem;font-size:.82rem}.listen-card{background:radial-gradient(circle at 8% 25%,#7aa8ff2b,#0000 16rem),#161b26e6;border:1px solid #7aa8ff4d;border-radius:1.25rem;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:clamp(1rem,4vw,1.4rem);display:grid}.listen-orb{color:#dce8ff;background:linear-gradient(145deg,#30466b,#19263d);border:1px solid #7aa8ff7a;border-radius:50%;place-items:center;width:64px;height:64px;font-size:1.7rem;display:grid;box-shadow:0 0 32px #7aa8ff24}.listen-card p,.listen-card strong,.listen-card small{display:block}.attempt-label{color:#75e0bd;letter-spacing:.08em;margin-bottom:.3rem;font-size:.75rem;font-weight:800}.listen-card small{color:#8f9bb3;margin-top:.3rem}kbd{color:#aebbd1;background:#07090d61;border:1px solid #cbd7ee3d;border-bottom-width:2px;border-radius:.38rem;place-items:center;min-width:1.55rem;min-height:1.45rem;margin-left:.45rem;padding:.1rem .35rem;font:.7rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-grid}.answer-feedback{color:#cbd9f7;background:#7aa8ff12;border-left:3px solid #7aa8ff;border-radius:.55rem;margin:1rem 0;padding:.8rem 1rem}.answer-feedback.first-correct{color:#9ef0d4;border-color:#75e0bd}.answer-feedback.second-correct{color:#ffe0a6;border-color:#ffd27a}.answer-feedback.not-correct{color:#ffabab;border-color:#ff8989}.answer-button{text-align:left;justify-content:space-between;align-items:center;gap:.55rem;min-height:68px;padding:.75rem .85rem;display:flex}.answer-button>span{gap:.18rem;display:grid}.answer-button small{color:#9da9be;font-size:.76rem}.answer-button:disabled{opacity:.62}.answer-button.is-wrong,.answer-button.is-wrong:disabled{color:#ffb3b3;opacity:1;background:linear-gradient(#642a31f5,#431d24f5);border-color:#ff8989a3}.answer-button.is-correct,.answer-button.is-correct:disabled{color:#b2f6df;opacity:1;background:linear-gradient(#296854f5,#1c4f40f5);border-color:#75e0bdb8}.reveal-card{background:#161b26eb;border:1px solid #75e0bd47;border-radius:1.25rem;margin-top:1rem;padding:clamp(1rem,4vw,1.4rem)}.reveal-card.second-correct{border-color:#ffd27a52}.reveal-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.reveal-heading h2 small{color:#95a5c0;font-size:.55em}.reveal-heading>span{color:#102219;background:#75e0bd;border-radius:999px;padding:.38rem .62rem;font-size:.78rem;font-weight:800}.second-correct .reveal-heading>span{color:#342600;background:#ffd27a}.not-correct .reveal-heading>span{color:#351313;background:#ff8989}.reveal-facts{grid-template-columns:repeat(4,1fr);gap:.65rem;margin:1rem 0 0;display:grid}.reveal-facts>div{background:#101621;border-radius:.75rem;padding:.75rem}.reveal-facts dt{color:#8794ab;margin-bottom:.3rem;font-size:.72rem}.reveal-facts dd{color:#edf2fc;margin:0;font-weight:700}.comparison-section{border-top:1px solid #97a7ca2e;margin-top:1.2rem;padding-top:1.1rem}.comparison-section h3{margin-bottom:.25rem;font-size:1rem}.comparison-section p{color:#8f9bb3;margin-bottom:.8rem;font-size:.8rem}.comparison-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.comparison-grid button{color:#ced8ea;background:#172131;gap:.15rem;min-height:56px;padding:.55rem;display:grid}.comparison-grid button small{color:#8492aa;font-size:.7rem}.comparison-grid button.comparison-correct{border-color:#75e0bd8c}.next-row{justify-content:flex-end}.next-row>span{margin-right:auto}.save-retry{border-color:#ff898966;width:100%;margin-top:1rem}.metric-card{background:#161b26e0;border:1px solid #97a7ca33;border-radius:1rem;align-content:center;gap:.5rem;min-height:108px;padding:1rem;display:grid}.metric-card span{color:#8f9bb3;font-size:.78rem}.metric-card strong{font-size:clamp(1.2rem,4vw,1.75rem)}.breakdown-legend{color:#a7b2c7;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;font-size:.76rem;display:flex}.breakdown-legend span:before{content:"";background:currentColor;border-radius:50%;width:.65rem;height:.65rem;margin-right:.35rem;display:inline-block}.first{color:#75e0bd}.second{color:#ffd27a}.missed{color:#ff8989}.breakdown-row{border-top:1px solid #97a7ca1f;grid-template-columns:minmax(6rem,.8fr) 2fr auto;align-items:center;gap:.75rem;padding:.65rem 0;display:grid}.breakdown-row>span{display:grid}.breakdown-row small,.breakdown-row>strong{color:#8f9bb3;font-size:.72rem}.stacked-bar{background:#0d1118;border-radius:999px;height:.72rem;display:flex;overflow:hidden}.stacked-bar i{height:100%;display:block}.stacked-bar i.first{background:#75e0bd}.stacked-bar i.second{background:#ffd27a}.stacked-bar i.missed{background:#ff8989}.result-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.profile-workspace{gap:1rem;display:grid}.access-shell{place-items:center;min-height:100vh;display:grid}.access-card{text-align:center;width:min(100%,34rem)}.access-card h1{font-size:clamp(2rem,8vw,3.4rem)}.access-card p:not(.eyebrow){color:#aeb8cc;line-height:1.65}.profile-switcher{background:#121721eb;border:1px solid #97a7ca33;border-radius:1.2rem;padding:.8rem 1rem}.profile-switcher-heading,.workspace-utility-actions,.settings-panel-heading,.settings-section,.sync-attention,.profile-create,.profile-manager-list>div,.records-manager summary,.record-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.profile-switcher-heading h2{margin-bottom:0;font-size:1.15rem}.profile-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.65rem;display:grid}.profile-tabs>button{color:#c6cede;text-align:left;background:#0c1017bd;border-color:#97a7ca33;align-items:center;gap:.55rem;min-width:0;min-height:42px;padding:.48rem .6rem;display:flex}.profile-tabs>button.is-active{color:#f5f8ff;background:#294447b8;border-color:#75e0bd94;box-shadow:inset 0 0 0 1px #75e0bd24}.profile-tabs>button>span:last-child,.profile-manager-list>div>span,.record-summary,.records-manager summary>span:first-child{gap:.15rem;min-width:0;display:grid}.profile-tabs small,.profile-manager-list small,.record-summary span,.record-summary small,.records-manager summary small{color:#939fb6;font-size:.75rem;line-height:1.45}.profile-avatar{color:#07120f;background:#75e0bd;border-radius:.65rem;flex:none;place-items:center;width:2.1rem;height:2.1rem;font-size:1rem;font-weight:900;display:grid}.profile-avatar.color-1{background:#8fb4ff}.profile-avatar.color-2{background:#ffd27a}.profile-manager{border-top:1px solid #97a7ca29;gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.workspace-utility-actions{flex:none;justify-content:flex-end;gap:.55rem}.sync-status-chip{color:#9ef0d4;white-space:nowrap;background:#75e0bd14;border:1px solid #75e0bd52;border-radius:999px;justify-content:center;align-items:center;gap:0;width:2.35rem;height:2.35rem;min-height:2.35rem;padding:0;font-size:.76rem;font-weight:800;display:inline-flex}.sync-status-chip:before{content:"";background:currentColor;border-radius:50%;width:.48rem;height:.48rem}.sync-status-chip.is-offline{color:#ffd27a;background:#ffd27a14;border-color:#ffd27a57}.sync-attention{background:#7024242e;border:1px solid #ff89894d;border-radius:.8rem;margin-top:.75rem;padding:.75rem}.sync-attention>div,.settings-section>div{gap:.2rem;min-width:0;display:grid}.sync-attention span,.settings-section span,.settings-section small{color:#9ea9bd;font-size:.78rem;line-height:1.5}.settings-panel{background:#090d146b;border:1px solid #97a7ca24;border-radius:1rem;padding:1rem}.settings-panel-heading h3{margin:0;font-size:1.1rem}.settings-section{background:#141b27b8;border:1px solid #97a7ca29;border-radius:.85rem;padding:.85rem}.settings-section>button{flex:none}.profile-boundary-note{color:#dce3f2;background:#ffd27a0f;border-left:3px solid #ffd27a;border-radius:.4rem;gap:.25rem;padding:.8rem;display:grid}.profile-boundary-note span{color:#abb5c8;font-size:.82rem;line-height:1.5}.profile-create{flex-wrap:wrap;justify-content:flex-start}.profile-create label{color:#c7cede;flex:14rem;gap:.4rem;display:grid}.profile-create>span{color:#8f9bb3;font-size:.78rem}.profile-manager-list{gap:.55rem;display:grid}.profile-manager-list>div{background:#0a0e1480;border:1px solid #97a7ca26;border-radius:.8rem;padding:.7rem}.profile-manager-list>div>div,.record-actions,.transfer-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.profile-manager-list .is-archived{opacity:.75}.backup-panel{border-top:1px solid #97a7ca29;gap:.85rem;padding-top:1rem;display:grid}.backup-heading,.backup-actions,.restore-preview-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.backup-heading{justify-content:space-between}.backup-heading>div{gap:.25rem;min-width:0;display:grid}.backup-heading>div>span,.restore-preview span{color:#9da8bd;font-size:.8rem;line-height:1.5}.backup-actions>button,.file-button{flex:11rem}.file-button{color:#e8eefb;cursor:pointer;text-align:center;background:#3e5c8f47;border:1px solid #8fb4ff75;border-radius:.8rem;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem .9rem;font-weight:700;display:inline-flex}.file-button:hover{border-color:#9ef0d48c}.file-button.is-disabled{cursor:not-allowed;opacity:.48}.file-button input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.restore-preview{background:#2654482e;border:1px solid #75e0bd52;border-radius:.85rem;gap:.7rem;padding:.85rem;display:grid}.restore-preview>div:first-child{gap:.2rem;min-width:0;display:grid}.restore-preview p{color:#cbd5e7;margin:0;line-height:1.55}.restore-preview-actions>button{flex:10rem}.backup-result{overflow-wrap:anywhere}.danger-button{color:#ffb3b3;background:#ff717114;border-color:#ff89894d}.records-manager{margin-bottom:2rem}.records-manager summary{cursor:pointer;list-style:none}.records-manager summary::-webkit-details-marker{display:none}.records-manager summary:after{color:#75e0bd;content:"展开";font-size:.76rem}.records-manager[open] summary:after{content:"收起"}.record-list{gap:.65rem;margin-top:1rem;display:grid}.record-row{background:#0a0e148c;border:1px solid #97a7ca29;border-radius:.85rem;align-items:flex-start;padding:.8rem}.record-row.is-excluded{opacity:.76;border-style:dashed}.record-actions{justify-content:flex-end}.transfer-controls select{min-width:8rem}@media (width<=660px){.app-header,.lifecycle-banner,.diagnostics-hero,.training-hero,.question-topbar,.resume-card,.recent-result-card,.profile-switcher-heading,.sync-attention,.settings-section,.record-row{flex-direction:column;align-items:stretch}.profile-tabs{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.workspace-utility-actions{justify-content:space-between;width:100%}.profile-create,.profile-manager-list>div{flex-direction:column;align-items:stretch}.profile-create label{flex:none;width:100%}.profile-manager-list>div>div,.record-actions,.transfer-controls{flex-direction:column;align-items:stretch}.profile-manager-list button,.backup-actions>button,.file-button,.restore-preview-actions>button,.record-actions button,.transfer-controls select,.sync-attention>button,.settings-section>button{width:100%}.lifecycle-banner>div:last-child{grid-template-columns:1fr 1fr;width:100%;display:grid}.ios-install-banner>button{width:100%}.app-header{gap:.8rem}.app-connection,.local-status{align-self:flex-start;max-width:100%}.setup-grid{grid-template-columns:1fr}.interval-picker>div{grid-template-columns:repeat(2,1fr)}.start-row,.next-row{flex-direction:column;align-items:stretch}.start-row>span{text-align:left}.question-status{justify-content:space-between}.listen-card{grid-template-columns:auto 1fr}.listen-card>button{grid-column:1/-1;width:100%}.answer-grid,.reveal-facts,.comparison-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}.next-row>span{margin-right:0}.breakdown-row{grid-template-columns:1fr auto}.stacked-bar{grid-area:2/1/auto/-1}}@media (width<=390px){.reveal-heading{flex-direction:column;align-items:flex-start}}.workspace-nav{background:#0f141dd1;border:1px solid #97a7ca2e;border-radius:1rem;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0 0 .75rem;padding:.4rem;display:grid}.workspace-nav button{color:#c5cedf;background:0 0;border-color:#0000;align-content:center;gap:.22rem;min-width:0;min-height:64px;display:grid}.workspace-nav button strong{font-size:1rem}.workspace-nav button small{color:#8793aa;font-size:.72rem;line-height:1.35}.workspace-nav button.is-active small{color:#b9d8cd}.progress-nav{background:#0a0e1594;border:1px solid #97a7ca24;border-radius:.8rem;grid-template-columns:repeat(3,1fr);gap:.35rem;width:min(100%,32rem);margin:-.2rem 0 .15rem;padding:.28rem;display:grid}.progress-nav button{color:#929eb4;background:0 0;border-color:#0000;min-height:38px;padding:.5rem .65rem;font-size:.82rem}.dashboard-view,.history-view,.history-detail,.statistics-view{gap:1rem;margin-top:1rem;display:grid}.statistics-view,.statistics-view>*,.statistics-overview>*,.trend-filters>*{min-width:0}.statistics-view{width:100%;max-width:100%}.dashboard-hero{background:radial-gradient(circle at 95% 20%,#75e0bd17,#0000 20rem),#161b26e0;border:1px solid #75e0bd3d;border-radius:1.2rem;justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1rem,3vw,1.35rem);display:flex}.dashboard-hero p:last-child{color:#aeb8cc;margin:.45rem 0 0}.metric-card small,.weak-card-grid small{color:#929eb5;line-height:1.45}.dashboard-metrics{margin-top:0}.metric-date{line-height:1.35;font-size:clamp(.95rem,3vw,1.2rem)!important}.dashboard-weak{margin-top:0}.weak-card-grid{grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1rem 0;display:grid}.weak-card-grid article{background:#ffd27a0d;border:1px solid #ffd27a3d;border-radius:.85rem;gap:.3rem;padding:.85rem;display:grid}.weak-card-grid article>span{color:#ffd27a;font-size:.75rem;font-weight:800}.training-header-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.history-filters,.trend-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:0;display:grid}.history-filters label,.trend-filters label{color:#c5cddd;gap:.4rem;font-size:.82rem;display:grid}.history-list{gap:.75rem;display:grid}.history-row{grid-template-columns:minmax(0,1.25fr) minmax(12rem,.9fr) auto;align-items:center;gap:1rem;margin-top:0;display:grid}.history-row.is-excluded{opacity:.78;border-style:dashed}.history-row-main,.history-row-metrics{gap:.35rem;min-width:0;display:grid}.history-row-main>span,.history-row-main>small,.history-row-metrics>small{overflow-wrap:anywhere;color:#95a0b7}.history-mastery-bar{width:100%;min-width:10rem}.history-status,.mastery-pill{color:#9ce8d0;border:1px solid #75e0bd47;border-radius:999px;align-items:center;min-height:32px;padding:.35rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.history-status.is-excluded,.mastery-pill.not-correct{color:#ffb3b3;border-color:#ff898947}.mastery-pill.second-correct{color:#ffd98f;border-color:#ffd27a4d}.back-button{color:#aebfe0;background:0 0;border-color:#0000;justify-self:start}.history-config{gap:.75rem;margin-top:0;display:grid}.history-config>div{flex-wrap:wrap;gap:.45rem;display:flex}.history-config>div span{color:#b9c3d7;border:1px solid #97a7ca2e;border-radius:999px;padding:.35rem .55rem;font-size:.78rem}.history-config small{color:#8f9bb3}.question-review-list{gap:.75rem;display:grid}.question-review-card{gap:.9rem;margin-top:0;display:grid}.question-review-card>header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.question-review-card>header>div{gap:.25rem;display:grid}.question-review-card>header span,.question-review-card>header small,.answer-review-grid span,.answer-review-grid small{color:#919db5}.answer-review-grid{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.answer-review-grid>div{background:#0a0e1480;border-radius:.75rem;gap:.25rem;padding:.7rem;display:grid}.history-audio-actions{flex-wrap:wrap;gap:.5rem;display:flex}.history-audio-result{z-index:3;border:1px solid #75e0bd33;margin:0;position:sticky;bottom:.5rem;box-shadow:0 12px 30px #00000052}.statistics-overview,.trend-panel,.activity-panel,.weak-analysis,.confusion-panel{margin-top:0}.trend-filters{grid-template-columns:2fr 1fr 1fr;margin:1rem 0}.trend-chart-wrap{background:#0a0e146b;border:1px solid #97a7ca24;border-radius:.9rem;overflow:hidden}.trend-chart{width:100%;height:auto;display:block}.trend-chart text{fill:#8793aa;font-size:12px}.trend-grid-line{stroke:#97a7ca26;stroke-width:1px}.trend-line{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.trend-line.first,.trend-dot.first{stroke:#75e0bd;fill:#75e0bd}.trend-line.final,.trend-dot.final{stroke:#8fb4ff;fill:#8fb4ff}.trend-legend{color:#aab5ca;gap:1rem;padding:.8rem 1rem 0;font-size:.78rem;display:flex}.trend-legend span:before{content:"";vertical-align:middle;border-radius:999px;width:.8rem;height:.25rem;margin-right:.35rem;display:inline-block}.trend-exact-values{color:#8f9bb3;flex-wrap:wrap;gap:.4rem .9rem;padding:0 1rem 1rem;font-size:.75rem;display:flex}.calendar-controls{text-align:center;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;margin:1rem 0 .7rem;display:grid}.calendar-controls button{min-width:46px;padding-inline:.7rem}.activity-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.calendar-weekday{color:#8793aa;text-align:center;padding:.35rem;font-size:.72rem}.calendar-day{color:#909cb2;text-align:center;background:#0a0e1466;border:1px solid #97a7ca1f;border-radius:.65rem;place-content:center;min-height:52px;display:grid}.calendar-day small{color:#dce6f7;min-height:1em;font-size:.62rem}.calendar-day.is-empty{background:0 0;border-color:#0000}.weak-table-wrap,.confusion-table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border:1px solid #97a7ca24;border-radius:.85rem;width:100%;min-width:0;max-width:100%;margin:1rem 0;overflow-x:auto}.weak-table,.confusion-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.78rem}.weak-table th,.weak-table td,.confusion-table th,.confusion-table td{text-align:center;border-bottom:1px solid #97a7ca1a;border-right:1px solid #97a7ca1a;padding:.65rem}.weak-table th small,.weak-table td small,.confusion-table th small{color:#8793aa;margin-top:.2rem;font-weight:500;display:block}.confusion-table td{background:rgba(117, 224, 189, calc(var(--matrix-opacity) * .68));min-width:42px}.confusion-table td.is-diagonal{box-shadow:inset 0 0 0 1px #8fb4ff80}.insufficient-samples{color:#aab5c9;margin:.8rem 0}.insufficient-samples summary{cursor:pointer}.insufficient-samples>div{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.insufficient-samples span{background:#97a7ca14;border-radius:999px;padding:.35rem .55rem;font-size:.75rem}.theory-view{gap:1rem;width:100%;min-width:0;max-width:100%;margin-top:1rem;display:grid}.theory-view>*,.theory-groups,.theory-group,.theory-card-grid,.theory-card{min-width:0}.theory-controls,.theory-keyboard-panel{margin-top:0}.theory-view-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.theory-view-tabs button,.theory-playback-settings fieldset button{background:#0c1017ad;border-color:#97a7ca33}.theory-view-tabs button.is-active,.theory-playback-settings fieldset button.is-active{color:#9af0d3;background:#75e0bd1a;border-color:#75e0bd94;box-shadow:inset 0 0 0 1px #75e0bd1f}.theory-playback-settings{grid-template-columns:minmax(0,1.2fr) minmax(14rem,.8fr);align-items:end;gap:1rem;margin-top:1rem;display:grid}.theory-playback-settings fieldset{border:0;min-width:0;margin:0;padding:0}.theory-playback-settings legend,.theory-volume{color:#c4cddd;font-size:.82rem}.theory-playback-settings fieldset>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.45rem;display:grid}.theory-keyboard-panel{overflow:hidden}.theory-keyboard{background:#080b10;border:1px solid #97a7ca33;border-radius:.85rem;height:clamp(145px,24vw,190px);margin:1.1rem 0 .8rem;position:relative;overflow:hidden;box-shadow:inset 0 -12px 28px #00000061}.theory-white-keys{grid-template-columns:repeat(9,minmax(0,1fr));height:100%;display:grid}.piano-key{transition:background .15s,box-shadow .15s,border-color .15s}.piano-key.white{color:#252a33;background:linear-gradient(#fff,#dce1e9);border-right:1px solid #59606b;justify-content:center;align-items:flex-end;min-width:0;padding:.4rem .15rem;display:flex}.piano-key.white:last-child{border-right:0}.piano-key.black{z-index:2;color:#f4f7ff;background:linear-gradient(#242a35,#080a0e 78%);border:1px solid #05070a;border-radius:0 0 .38rem .38rem;height:63%;position:absolute;top:0;box-shadow:0 7px 10px #0000007a}.piano-key small{overflow-wrap:anywhere;text-align:center;font-size:clamp(.48rem,1.7vw,.68rem);font-weight:850;line-height:1.1}.piano-key.black small{display:none}.piano-key.is-root{color:#071712;background:linear-gradient(#a1f4d8,#55d5ab);border-color:#42d8aa;box-shadow:inset 0 0 0 2px #084d394d}.piano-key.is-target{color:#081121;background:linear-gradient(#bfd3ff,#78a4ff);border-color:#7aa8ff;box-shadow:inset 0 0 0 2px #1d41845c,0 0 18px #7aa8ff80}.piano-key.black.is-target{color:#f6f9ff;background:linear-gradient(#739ff4,#274d95 82%);box-shadow:inset 0 0 0 2px #cadcff52,0 6px 15px #4579de8c}.keyboard-legend{color:#aeb8cc;flex-wrap:wrap;gap:.55rem 1rem;font-size:.78rem;display:flex}.keyboard-legend span:before{content:"";vertical-align:-.08rem;border-radius:.2rem;width:.72rem;height:.72rem;margin-right:.35rem;display:inline-block}.theory-audio-result{margin:.8rem 0 0}.theory-groups{gap:1.5rem;display:grid}.theory-group-heading{align-items:end;padding:0 .2rem}.theory-group-heading>p{color:#929eb4;text-align:right;max-width:30rem;margin:0;line-height:1.5}.theory-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:start;gap:.75rem;margin-top:.75rem;display:grid}.theory-card{width:100%;min-width:0;min-height:0;color:inherit;text-align:left;background:linear-gradient(145deg,#1e2635f0,#11161ff5);border:1px solid #97a7ca33;border-radius:1rem;grid-template-rows:auto;align-content:start;gap:.75rem;padding:1rem;display:grid;overflow:hidden;box-shadow:0 14px 32px #0003}.theory-card.is-selected{border-color:#75e0bdb3;box-shadow:0 0 0 1px #75e0bd2e,0 16px 35px #00000040}.theory-card:hover:not(:disabled){background:#75e0bd0a;transform:none}.theory-card:disabled{cursor:progress;opacity:1}.theory-card-title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.theory-card-title strong{font-size:1.15rem}.theory-card-title i{color:#9bc0ff;background:#7aa8ff1a;border-radius:999px;padding:.28rem .48rem;font-size:.78rem;font-style:normal;font-weight:850}.theory-aliases{color:#ffd998;background:#ffd27a14;border-radius:.55rem;padding:.45rem .58rem;font-size:.76rem}.theory-card-facts{gap:.45rem;display:grid}.theory-card-facts>span{justify-content:space-between;align-items:baseline;gap:.65rem;min-width:0;display:flex}.theory-card-facts small{color:#8793aa;font-size:.72rem}.theory-card-facts strong{overflow-wrap:anywhere;text-align:right;font-size:.88rem}@media (width<=760px){.weak-card-grid,.history-filters{grid-template-columns:repeat(2,1fr)}.history-row{grid-template-columns:1fr}.history-row>button{width:100%}}@media (width<=660px){.weak-card-grid,.history-filters,.trend-filters,.answer-review-grid{grid-template-columns:1fr 1fr}.dashboard-hero,.question-review-card>header{flex-direction:column;align-items:stretch}.dashboard-hero>button,.history-audio-actions button{width:100%}.training-header-actions{align-items:stretch}.activity-calendar{gap:.22rem}.calendar-day{border-radius:.5rem;min-height:44px;font-size:.78rem}.theory-playback-settings{grid-template-columns:1fr}.theory-group-heading{flex-direction:column;align-items:flex-start}.theory-group-heading>p{text-align:left}}@media (width<=430px){.weak-card-grid,.history-filters,.trend-filters,.answer-review-grid{grid-template-columns:1fr}.primary-workspace-nav button{min-height:52px;padding-inline:.35rem}.primary-workspace-nav button small{display:none}.progress-nav button{padding-inline:.3rem;font-size:.76rem}.theory-view-tabs button,.theory-playback-settings fieldset button{min-height:42px;padding-inline:.45rem;font-size:.82rem}.theory-keyboard{height:145px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#25231d;--paper:#f6f1e7;--surface:#fffdf7;--surface-raised:#fffefa;--ink:#25231d;--muted:#6c665b;--muted-soft:#8a8275;--green:#246346;--green-dark:#194a34;--green-soft:#e7f0e8;--green-softer:#f1f6ef;--terracotta:#ad5038;--terracotta-dark:#873b2c;--terracotta-soft:#f7e7e1;--gold-border:#d8cbb3;--gold:#b49a69;--gold-soft:#f1e8d8;--disabled-surface:#eee9df;--disabled-ink:#817a6e;--shadow-main:0 14px 34px #43352014;--shadow-float:0 18px 45px #43352026;--serif:"Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f1e7;font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{background:var(--paper);scrollbar-color:var(--gold-border) var(--paper);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 16% 0%, #fffdf7d1, transparent 34rem), radial-gradient(circle at 92% 12%, #d8cbb32e, transparent 30rem), repeating-linear-gradient(0deg, #4b3c2504 0, #4b3c2504 1px, transparent 1px, transparent 5px), var(--paper);margin:0}body:before{z-index:-1;opacity:.22;pointer-events:none;content:"";background-image:radial-gradient(#4436220e .45px,#0000 .55px);background-size:7px 7px;position:fixed;inset:0}::selection{color:var(--ink);background:#b49a6957}button,select,input,textarea{font:inherit}button,.file-button{border:1px solid var(--green);min-height:44px;color:var(--surface);background:var(--green);box-shadow:none;cursor:pointer;border-radius:8px;padding:.68rem 1rem;transition:color .17s,background-color .17s,border-color .17s,box-shadow .17s,transform .12s}@media (hover:hover){button:hover:not(:disabled),.file-button:hover:not(.is-disabled){border-color:var(--green-dark);color:var(--surface);background:var(--green-dark);transform:none}}button:active:not(:disabled),.file-button:active:not(.is-disabled){transform:translateY(1px)}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,.file-button:focus-within{outline:2px solid var(--green);outline-offset:3px;box-shadow:0 0 0 2px var(--paper)}button:disabled,.file-button.is-disabled{border-color:var(--gold-border);color:var(--disabled-ink);background:var(--disabled-surface);cursor:not-allowed;opacity:1;transform:none}input[type=text],input[type=number],select,textarea{border:1px solid var(--gold-border);width:100%;min-height:44px;color:var(--ink);background:var(--surface);border-radius:8px;padding:.68rem .78rem;box-shadow:inset 0 1px #ffffffb3}input::placeholder,textarea::placeholder{color:var(--muted-soft)}input:disabled,select:disabled,textarea:disabled{color:var(--disabled-ink);background:var(--disabled-surface);opacity:1}input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--green)}a{color:var(--green);text-underline-offset:.2em}h1,h2,h3{color:var(--ink);font-family:var(--serif);letter-spacing:.01em;font-weight:700}p{color:inherit}.ui-icon{flex:none;width:1.25rem;height:1.25rem;display:block}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.shell{width:min(1180px,100% - 64px);margin:0 auto;padding:32px 0 96px;position:relative}.shell.is-training-focused{width:min(920px,100% - 64px);padding-top:24px}.app-header{min-height:124px;padding:14px 450px 26px 4px;display:block;position:relative}.app-header:after{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold-border);content:"";width:74px;height:8px;position:absolute;bottom:12px;left:4px}.app-header h1{color:var(--ink);font-family:var(--serif);letter-spacing:.04em;margin:0 0 8px;font-size:clamp(2.25rem,4vw,2.5rem);line-height:1.12}.app-header p:last-child{max-width:38rem;color:var(--muted);margin:0;font-size:1rem;line-height:1.55}.eyebrow,.step{color:var(--green);letter-spacing:.1em;text-transform:none;margin:0 0 6px;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:.78rem;font-weight:750}.hint,.lead,.training-hero p:last-child,.dashboard-hero p:last-child,.theory-group-heading>p{color:var(--muted)}.profile-workspace{min-width:0;display:block;position:static}.workspace-context{z-index:42;justify-content:flex-end;align-items:center;gap:10px;max-width:440px;display:flex;position:absolute;top:36px;right:0}.profile-entry{min-width:0}.current-profile-trigger{border-color:var(--gold-border);min-width:190px;max-width:280px;min-height:48px;color:var(--ink);background:#fffdf7e6;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:6px 10px 6px 7px;display:grid}@media (hover:hover){.current-profile-trigger:hover:not(:disabled){border-color:var(--green);color:var(--ink);background:var(--green-softer)}}.current-profile-trigger.is-active{border-color:var(--green);background:var(--green-soft)}.current-profile-trigger>span:nth-child(2){text-align:left;min-width:0;display:grid}.current-profile-trigger small{color:var(--muted);font-size:.7rem;font-weight:500}.current-profile-trigger strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.profile-avatar{width:36px;height:36px;color:var(--green);background:var(--green-soft);font-family:var(--serif);border-radius:50%;place-items:center;font-size:1.05rem;font-weight:800;display:grid}.sync-status-chip,.app-connection,.local-status,.history-status,.mastery-pill{color:var(--green);background:var(--green-soft);border:1px solid #2463464d;border-radius:999px}.sync-status-chip{white-space:nowrap;justify-content:center;align-items:center;gap:0;width:32px;height:32px;min-height:32px;padding:0;font-size:.75rem;display:inline-flex}.sync-status-chip:before{background:var(--green);content:"";border-radius:50%;width:7px;height:7px}.sync-status-chip.is-offline{border-color:var(--gold-border);color:var(--muted);background:var(--gold-soft)}.sync-status-chip.is-offline:before{background:var(--gold)}.sync-status-chip.is-error{color:var(--terracotta-dark);background:var(--terracotta-soft);border-color:#ad503859}.sync-status-chip.is-error:before{background:var(--terracotta)}.workspace-error{margin:0 0 16px}.lifecycle-banner,.sync-attention{border:1px solid var(--gold-border);color:var(--ink);background:var(--gold-soft);box-shadow:none;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 16px;padding:14px 16px;display:flex}.install-banner{background:var(--green-softer);border-color:#24634640}.lifecycle-banner>div:first-child,.sync-attention>div{gap:3px;display:grid}.lifecycle-banner span,.sync-attention span,.lifecycle-status{color:var(--muted)}.lifecycle-status{border:1px solid var(--gold-border);background:var(--surface);border-radius:8px;margin:0 0 16px;padding:10px 12px;display:block}.workspace-nav{z-index:30;border:1px solid var(--gold-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f0;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;margin:2px 0 24px;padding:4px;display:grid;position:sticky;top:0;box-shadow:0 8px 20px #4335200a}.workspace-nav button{min-height:54px;color:var(--muted);background:0 0;border-color:#0000;justify-content:center;align-items:center;gap:9px;display:flex;position:relative}.workspace-nav button:after{content:"";background:0 0;border-radius:2px;height:2px;transition:background-color .17s,left .17s,right .17s;position:absolute;bottom:-1px;left:18%;right:18%}.workspace-nav button.is-active{color:var(--green);background:var(--green-softer);border-color:#0000}.workspace-nav button.is-active:after{background:var(--green);left:8%;right:8%}.workspace-nav button strong{color:inherit;font-weight:700}@media (hover:hover){.workspace-nav button:hover:not(:disabled){color:var(--green);background:var(--green-softer);border-color:#0000}}.progress-nav{border:1px solid var(--gold-border);background:#fffdf7b8;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:min(100%,620px);margin:0 0 24px;padding:4px;display:grid}.progress-nav button{min-height:42px;color:var(--muted);background:0 0;border-color:#0000}.progress-nav button.is-active{color:var(--green);background:var(--green-soft);border-color:#2463463d}@media (hover:hover){.progress-nav button:hover:not(:disabled){color:var(--green);background:var(--green-softer);border-color:#0000}}.is-focus-mode .primary-workspace-nav,.is-focus-mode .progress-nav,.is-focus-mode .workspace-context{display:none}.panel,.status-card,.resume-card,.recent-result-card,.listen-card,.reveal-card,.dashboard-hero{border:1px solid var(--gold-border);color:var(--ink);box-shadow:var(--shadow-main);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf7eb}.panel{border-radius:12px;margin-top:24px;padding:24px}.status-card{border-radius:12px;padding:16px}.status-card span,.status-card small,.metric-card span,.metric-card small,.record-summary span,.record-summary small{color:var(--muted)}.status-card strong,.metric-card strong{color:var(--ink)}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.section-heading h2{margin:0;font-size:clamp(1.35rem,3vw,1.7rem)}.tag{border:1px solid var(--gold-border);color:var(--muted);background:var(--gold-soft);border-radius:999px;flex:none;padding:5px 9px;font-size:.75rem}.tag.is-warning{color:var(--terracotta-dark);background:var(--terracotta-soft);border-color:#ad503852}.secondary-button,.file-button{border-color:var(--green);color:var(--green);background:0 0}@media (hover:hover){.secondary-button:hover:not(:disabled),.file-button:hover:not(.is-disabled){border-color:var(--green-dark);color:var(--green-dark);background:var(--green-soft)}}.text-button,.back-button{min-height:40px;color:var(--green);background:0 0;border-color:#0000;padding:7px 10px}.danger-button{border-color:var(--terracotta);color:var(--terracotta-dark);background:0 0}@media (hover:hover){.danger-button:hover:not(:disabled){border-color:var(--terracotta-dark);color:var(--surface);background:var(--terracotta-dark)}}.primary-action{border-color:var(--green);min-height:48px;color:var(--surface);background:var(--green);justify-content:center;align-items:center;gap:8px;padding-inline:20px;display:inline-flex}.validation-error{color:var(--terracotta-dark);background:var(--terracotta-soft);border-color:#ad503859}.result{color:var(--green-dark);background:var(--green-softer);border:1px solid #2463462e}.training-core,.dashboard-view,.history-view,.history-detail,.statistics-view,.theory-view,.settings-view{min-width:0}.training-hero,.dashboard-hero{box-shadow:none;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:20px;padding:12px 4px 8px;display:flex}.training-hero h2,.dashboard-hero h2,.question-topbar h2{margin:0;font-size:clamp(1.7rem,4vw,2rem);line-height:1.2}.training-hero p:last-child,.dashboard-hero p:last-child{margin:7px 0 0;line-height:1.6}.resume-card{background:var(--green-soft);box-shadow:none;border-color:#2463465c;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:18px 20px;display:flex}.resume-card h3,.resume-card p:last-child{color:var(--ink)}.resume-card p:last-child{margin-bottom:0}.setup-panel{position:relative}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.setup-grid>label,.setup-field,.form-grid>label,.history-filters label,.trend-filters label,.slider-label{color:var(--ink);gap:8px;font-size:.9rem;display:grid}.field-label,.range-label-row{align-items:center;gap:8px;display:flex}.field-label{color:var(--ink);font-weight:650}.field-label .ui-icon{width:18px;height:18px;color:var(--green)}.range-label-row{justify-content:space-between}.range-help{position:relative}.range-help-trigger{border-color:var(--gold-border);width:32px;min-height:32px;color:var(--green);background:var(--surface);border-radius:50%;place-items:center;padding:0;display:grid}.range-help-trigger .ui-icon{width:17px;height:17px}.range-help-card{z-index:25;border:1px solid var(--gold-border);width:min(360px,100vw - 48px);color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-float);border-radius:10px;padding:14px;position:absolute;top:calc(100% + 8px);left:0}.range-help-card>div{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.range-help-card span{color:var(--green-dark);background:var(--green-softer);border:1px solid #24634638;border-radius:999px;padding:4px 8px;font-size:.78rem}.interval-picker{border-top:1px solid var(--gold-border);color:var(--ink);margin-top:20px;padding-top:18px}.interval-picker legend{color:var(--ink);font-weight:700}.interval-picker>div{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.interval-picker label,.auto-advance-option{border-color:var(--gold-border);color:var(--ink);background:var(--surface)}.interval-picker small,.auto-advance-option small{color:var(--muted);font-size:.75rem;display:block}.auto-advance-option{border-radius:8px;margin-top:18px}.training-volume{color:var(--ink);margin-top:18px}.start-row{border-top:1px solid var(--gold-border);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:18px;display:flex}.start-row>span,.next-row>span{color:var(--muted)}.recent-result-card{box-shadow:none;border-radius:12px;margin-top:20px;padding:18px 20px}.question-screen{max-width:900px;margin:0 auto}.question-topbar{border-bottom:1px solid var(--gold-border);justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:8px 4px 16px;display:flex}.question-status{align-items:center;gap:10px;display:flex}.local-status{color:var(--green);padding:5px 9px;font-size:.75rem}.local-status.is-error{color:var(--terracotta-dark);background:var(--terracotta-soft);border-color:#ad50385c}.listen-card{box-shadow:var(--shadow-main);border-radius:12px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;display:grid}.listen-orb{width:56px;height:56px;color:var(--green);background:var(--green-soft);border:1px solid #24634638;border-radius:50%;place-items:center;display:grid}.listen-orb .ui-icon{width:26px;height:26px}.listen-orb.is-playing{box-shadow:0 0 0 6px #24634614}.listen-card strong{color:var(--ink)}.listen-card small,.listen-card p{color:var(--muted)}.listen-card>button{align-items:center;gap:8px;display:inline-flex}kbd{border-color:var(--gold-border);color:var(--muted);background:var(--paper);box-shadow:none}.answer-feedback{border:1px solid var(--gold-border);color:var(--ink);background:var(--gold-soft);border-radius:8px;margin:16px 0;padding:12px 14px}.answer-feedback.second-answer{color:var(--terracotta-dark);background:var(--terracotta-soft);border-color:#ad50385c}.answer-feedback.first-correct,.answer-feedback.second-correct{color:var(--green-dark);background:var(--green-soft);border-color:#24634659}.answer-feedback.not-correct{border-color:var(--terracotta);color:var(--terracotta-dark);background:var(--terracotta-soft)}.answer-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.answer-button{border-color:var(--gold-border);min-height:56px;color:var(--ink);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;display:flex}.answer-button:disabled{border-color:var(--gold-border);color:var(--muted);background:var(--disabled-surface);opacity:1}.answer-button.is-wrong,.answer-button.is-wrong:disabled{border-color:var(--terracotta);color:var(--terracotta-dark);background:var(--terracotta-soft)}.answer-button.is-wrong:after,.answer-button.is-correct:after{width:22px;height:22px;color:var(--surface);border-radius:50%;flex:none;place-items:center;font-weight:800;line-height:1;display:inline-grid}.answer-button.is-wrong:after{background:var(--terracotta);content:"×"}.answer-button.is-correct,.answer-button.is-correct:disabled{border-color:var(--green);color:var(--green-dark);background:var(--green-soft)}.answer-button.is-correct:after{background:var(--green);content:"✓"}.answer-button.is-wrong kbd,.answer-button.is-correct kbd{display:none}@media (hover:hover){.answer-button:hover:not(:disabled){border-color:var(--green);color:var(--green-dark);background:var(--green-softer)}}.reveal-card{box-shadow:var(--shadow-main);border-radius:12px;margin-top:18px;padding:22px}.reveal-card.first-correct,.reveal-card.second-correct{border-color:#24634661}.reveal-card.not-correct{border-color:#ad503875}.reveal-heading>span,.second-correct .reveal-heading>span{color:var(--green-dark);background:var(--green-soft);border-color:#2463464d}.not-correct .reveal-heading>span{color:var(--terracotta-dark);background:var(--terracotta-soft);border-color:#ad503859}.reveal-facts>div,.comparison-grid button{border-color:var(--gold-border);color:var(--ink);background:var(--paper)}.reveal-facts dt,.comparison-section p,.comparison-grid button small{color:var(--muted)}.comparison-section{border-color:var(--gold-border)}.comparison-grid button.comparison-correct{border-color:var(--green);color:var(--green-dark);background:var(--green-soft)}.next-row{border-color:var(--gold-border)}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.metric-card{border:1px solid var(--gold-border);min-width:0;color:var(--ink);box-shadow:none;background:#fffdf7d1;border-radius:12px;padding:18px}.metric-card.primary-metric{background:var(--green-soft);border-color:#24634657}.metric-card strong{font-variant-numeric:tabular-nums}.breakdown-legend .first:before,.stacked-bar i.first{background:var(--green)}.breakdown-legend .second:before,.stacked-bar i.second{background:var(--gold)}.breakdown-legend .missed:before,.stacked-bar i.missed{background:var(--terracotta)}.stacked-bar{background:var(--disabled-surface)}.settings-view{max-width:980px;margin:0 auto}.settings-hero{margin-bottom:4px}.settings-group,.settings-disclosure{background:#fffdf7f0}.profile-boundary-note{border-left:3px solid var(--gold);color:var(--ink);background:var(--gold-soft);border-radius:6px;gap:4px;margin-bottom:18px;padding:14px 16px;display:grid}.profile-boundary-note span{color:var(--muted)}.profile-create{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:12px;display:grid}.profile-create label{color:var(--ink);gap:7px;display:grid}.profile-create>span{color:var(--muted);align-self:center;font-size:.82rem}.profile-manager-list{gap:8px;margin-top:18px;display:grid}.profile-manager-list>div{border:1px solid var(--gold-border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.profile-manager-list>div.is-current{background:var(--green-softer);border-color:#24634657}.profile-manager-list>div.is-archived{background:var(--disabled-surface)}.profile-manager-list>div>span{gap:3px;display:grid}.profile-manager-list small{color:var(--muted)}.profile-manager-list>div>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-section{border:1px solid var(--gold-border);background:var(--green-softer);border-radius:10px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.settings-section>div{gap:4px;display:grid}.settings-section span,.settings-section small{color:var(--muted)}.backup-panel{border-top:1px solid var(--gold-border);margin-top:20px;padding-top:20px}.backup-heading,.backup-actions,.restore-preview-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.backup-heading>div{gap:4px;display:grid}.backup-heading span,.restore-preview span{color:var(--muted)}.backup-actions{margin-top:16px}.backup-actions>*,.restore-preview-actions>*{flex:1 1 0}.file-button{justify-content:center;align-items:center;display:inline-flex}.restore-preview{color:var(--ink);background:var(--green-softer);border-color:#2463464d}.backup-result{color:var(--green-dark)}.settings-disclosure{padding:0;overflow:clip}.settings-disclosure>summary{min-height:70px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;list-style:none;display:flex}.settings-disclosure>summary::-webkit-details-marker{display:none}.settings-disclosure>summary>span:first-child{gap:3px;display:grid}.settings-disclosure>summary small,.settings-disclosure>summary>span:last-child{color:var(--muted)}.settings-disclosure>summary:after{color:var(--green);content:"+";font-size:1.3rem;font-weight:700}.settings-disclosure[open]>summary:after{content:"−"}.settings-disclosure-body{border-top:1px solid var(--gold-border);padding:0 20px 20px}.settings-status-list{gap:0;margin:0;display:grid}.settings-status-list>div{border-bottom:1px solid #d8cbb3b3;justify-content:space-between;gap:20px;padding:12px 0;display:flex}.settings-status-list dt{color:var(--muted)}.settings-status-list dd{color:var(--ink);text-align:right;margin:0;font-weight:650}.dashboard-recent{color:var(--muted);margin:10px 2px 0;font-size:.85rem}.weak-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.weak-card-grid article{border-color:var(--gold-border);color:var(--ink);background:var(--paper)}.weak-card-grid article>span{color:var(--terracotta)}.history-filters,.trend-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.history-filter-panel{gap:14px;display:grid}.history-primary-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.history-more-filters{border-top:1px solid var(--gold-border);color:var(--muted);padding-top:12px}.history-more-filters>summary{cursor:pointer;width:fit-content;color:var(--green);font-size:.82rem;font-weight:700}.history-more-filters[open]>summary{margin-bottom:12px}.trend-panel .trend-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.history-row,.question-review-card,.record-row{border-color:var(--gold-border);color:var(--ink);background:var(--surface);box-shadow:none}.history-row.is-excluded,.record-row.is-excluded{background:var(--disabled-surface)}.history-row-main>span,.history-row-main>small,.history-row-metrics>small,.question-review-card>header span,.question-review-card>header small,.answer-review-grid span,.answer-review-grid small{color:var(--muted)}.history-config,.answer-review-grid>div{border-color:var(--gold-border);color:var(--ink);background:var(--paper)}.history-status.is-excluded,.mastery-pill.not-correct{color:var(--terracotta-dark);background:var(--terracotta-soft);border-color:#ad503859}.mastery-pill.second-correct{border-color:var(--gold-border);color:var(--ink);background:var(--gold-soft)}.records-manager{background:var(--surface)}.records-manager summary,.records-manager summary small{color:var(--ink)}.trend-panel,.activity-panel,.weak-analysis,.confusion-panel{box-shadow:var(--shadow-main)}.trend-chart-wrap{border-color:var(--gold-border);background:var(--paper)}.trend-chart text{fill:var(--muted)}.trend-grid-line{stroke:var(--gold-border)}.trend-line.first{stroke:var(--green)}.trend-line.final{stroke:var(--terracotta)}.trend-dot.first{fill:var(--green)}.trend-dot.final{fill:var(--terracotta)}.trend-legend .first:before{background:var(--green)}.trend-legend .final:before{background:var(--terracotta)}.calendar-controls button{border-color:var(--gold-border);color:var(--green);background:var(--surface)}.calendar-day{border-color:var(--gold-border);color:var(--ink);background:var(--surface)}.calendar-day.is-active{color:var(--surface);background:rgba(36, 99, 70, var(--activity-opacity));border-color:#24634661}.weak-table-wrap,.confusion-table-wrap{border-color:var(--gold-border);background:var(--surface)}.weak-table,.confusion-table{color:var(--ink)}.weak-table th,.weak-table td,.confusion-table th,.confusion-table td{border-color:var(--gold-border)}.weak-table th,.confusion-table th{color:var(--ink);background:var(--gold-soft)}.weak-table td,.confusion-table td{color:var(--ink);background:var(--surface)}.confusion-table td{background:rgba(173, 80, 56, calc(var(--matrix-opacity) * .32))}.confusion-table td.is-diagonal{background:rgba(36, 99, 70, calc(var(--matrix-opacity) * .38))}.insufficient-samples,.insufficient-samples span{border-color:var(--gold-border);color:var(--muted);background:var(--paper)}.theory-view-tabs,.theory-playback-settings fieldset>div{border-color:var(--gold-border);background:var(--paper)}.theory-view-tabs button,.theory-playback-settings fieldset button{color:var(--muted);background:0 0;border-color:#0000}.theory-view-tabs button.is-active,.theory-playback-settings fieldset button.is-active{color:var(--green-dark);background:var(--green-soft);border-color:#24634642}.theory-playback-settings legend,.theory-volume{color:var(--ink)}.theory-keyboard-panel{z-index:26;border-color:var(--gold-border);background:var(--surface);box-shadow:var(--shadow-float);position:sticky;top:70px}.theory-keyboard{border-color:var(--gold-border);background:var(--gold-soft)}.piano-key.white{border-color:var(--gold-border);color:var(--ink);background:#fffaf0}.piano-key.black{border-color:var(--ink);color:var(--surface);background:var(--ink)}.piano-key.is-root,.piano-key.black.is-root{border-color:var(--green-dark);color:var(--surface);background:var(--green);box-shadow:inset 0 0 0 2px var(--surface)}.piano-key.is-target,.piano-key.black.is-target{border-color:var(--terracotta-dark);color:var(--surface);background:var(--terracotta);box-shadow:inset 0 0 0 2px var(--surface)}.keyboard-legend,.keyboard-legend .root,.keyboard-legend .target{color:var(--muted)}.keyboard-legend .root:before{background:var(--green)}.keyboard-legend .target:before{background:var(--terracotta)}.theory-card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:start;gap:9px;display:grid}.theory-card{border-color:var(--gold-border);color:var(--ink);background:var(--surface);box-shadow:none;grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:7px;padding:12px}.theory-card.is-selected{border-color:var(--green);background:var(--green-softer);box-shadow:inset 3px 0 0 var(--green)}@media (hover:hover){.theory-card:hover:not(:disabled){border-color:var(--green);color:var(--ink);background:var(--green-softer)}}.theory-card-title strong{color:var(--ink);font-family:var(--serif);font-size:1.02rem}.theory-card-title i,.theory-aliases,.theory-card-facts small{color:var(--muted)}.theory-card-facts>span{border-color:var(--gold-border);background:var(--paper);border-radius:4px;gap:8px;padding:2px 5px}.theory-card-facts strong{color:var(--ink)}.status-grid{gap:12px}.ok{color:var(--green)}.warn{color:var(--terracotta)}.diagnostics-hero{border-bottom:1px solid var(--gold-border)}.diagnostics-hero .lead,.attribution,.attribution a{color:var(--muted)}.segmented label{border-color:var(--gold-border);color:var(--ink);background:var(--surface)}.piano-progress,.slider-label{color:var(--ink)}.access-card{text-align:center;max-width:620px;margin:12vh auto 0}.empty-profile-state{text-align:center}@media (width<=900px){.app-header{padding-right:380px}.workspace-context{max-width:380px}.sync-status-chip{justify-content:center;width:30px;height:30px;min-height:30px;padding:0}.metric-grid,.weak-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.shell,.shell.is-training-focused{width:100%;padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.shell.is-training-focused{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.app-header{min-height:auto;padding:4px 2px 22px}.app-header:after{width:54px;bottom:8px;left:2px}.app-header h1{margin-bottom:5px;font-size:26px}.app-header p:last-child{font-size:14px}:is(.shell:has(.profile-workspace:not(.view-training)) .app-header>div>p:last-child,.shell:has(.result-screen) .app-header>div>p:last-child){display:none}.workspace-context{grid-template-columns:minmax(0,1fr) 30px;gap:8px;max-width:none;margin:0 0 14px;display:grid;position:relative;top:auto;right:auto}.current-profile-trigger{width:100%;min-width:0;max-width:none;min-height:44px}.theory-keyboard-panel{top:8px}.theory-keyboard{height:clamp(120px,36vw,145px);margin-block:12px 8px}.workspace-nav{z-index:50;width:100%;padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:#fffdf7f5;border-width:1px 0 0;border-radius:0;margin:0;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #43352014}.workspace-nav button{flex-direction:column;gap:2px;min-height:54px;padding:5px 8px;font-size:.78rem}.workspace-nav button:after{inset:1px 25% auto}.workspace-nav button.is-active:after{left:12%;right:12%}.workspace-nav .ui-icon{width:22px;height:22px}.progress-nav{width:100%;margin-bottom:18px}.panel{margin-top:16px;padding:16px}.training-hero,.dashboard-hero{padding:6px 2px}.training-hero h2,.dashboard-hero h2,.question-topbar h2{font-size:24px}.section-heading{gap:10px;margin-bottom:16px}.setup-grid{grid-template-columns:1fr;gap:14px}.range-help-card{left:auto;right:0}.resume-card,.recent-result-card,.start-row,.settings-section,.backup-heading,.backup-actions,.restore-preview-actions,.profile-manager-list>div{flex-direction:column;align-items:stretch}.resume-card .controls,.recent-result-card .controls,.start-row>*,.backup-actions>*,.restore-preview-actions>*{width:100%}.backup-actions>button,.backup-actions>.file-button,.restore-preview-actions>button{flex:none}.listen-card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px}.listen-orb{width:48px;height:48px}.listen-card>button{grid-column:1/-1;justify-content:center;width:100%}.question-topbar{z-index:24;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f1e7f5;flex-direction:row;align-items:center;margin:-16px -16px 16px;padding:12px 16px;position:sticky;top:0}.question-topbar h2{display:none}.question-topbar .step{margin:0}.question-status .local-status{display:none}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.answer-button{min-height:54px;padding:9px 10px}.answer-button kbd{display:none}.reveal-card{padding:16px}.reveal-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.next-row{z-index:22;bottom:calc(-16px + env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--gold-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f7;margin:16px -16px -16px;position:sticky}.next-row .primary-action{width:100%}.metric-grid,.weak-card-grid,.theory-card-grid{grid-template-columns:1fr}.result-screen .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.result-screen .metric-card{min-height:100px;padding:14px}.result-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.result-actions>button{width:100%}.profile-create{grid-template-columns:1fr;align-items:stretch}.profile-create>span{justify-self:start}.profile-manager-list>div>div{justify-content:stretch}.profile-manager-list>div>div>button{flex:auto}.settings-disclosure>summary{min-height:64px;padding:14px 16px}.settings-disclosure>summary>span:last-child{display:none}.settings-disclosure-body{padding:0 16px 16px}.history-row,.record-row{grid-template-columns:1fr}.history-row>button,.record-actions,.transfer-controls{width:100%}.trend-filters,.history-filters,.theory-playback-settings{grid-template-columns:1fr}.theory-view-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.theory-view-tabs button{padding-inline:6px;font-size:.82rem}.status-grid,.form-grid{grid-template-columns:1fr}.lifecycle-banner,.sync-attention{flex-direction:column;align-items:stretch}.lifecycle-banner>div:last-child,.sync-attention>button{width:100%}}@media (width<=420px){.shell,.shell.is-training-focused{padding-left:14px;padding-right:14px}.question-topbar{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.workspace-context{grid-template-columns:minmax(0,1fr) 28px}.current-profile-trigger{grid-template-columns:34px minmax(0,1fr);gap:7px}.profile-avatar{width:34px;height:34px}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-button{font-size:.9rem}.reveal-facts,.answer-review-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
