: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}.ok{color:#75e0bd}.warn{color:#ffd27a}.panel{border-radius:1.2rem;margin-top:1rem;padding:clamp(1rem,4vw,1.5rem)}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;display:flex}.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}.local-status.is-error{color:#ffabab;background:#ff717114;border-color:#ff898957}.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{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.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>div{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.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}.question-status{align-items:center;gap:.7rem;display:flex}.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.second-answer{color:#ffe0a6;background:#ffd27a12;border-color:#ffd27a}.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-grid{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.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-card.not-correct{border-color:#ff898952}.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-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem;display:grid}.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)}.metric-card.primary-metric{background:linear-gradient(135deg,#2c6755a6,#161b26e6);border-color:#75e0bd61}.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;align-items:center;gap:.4rem;min-height:2.35rem;padding:.42rem .7rem;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-status-chip.is-error{color:#ffb3b3;background:#ff717114;border-color:#ff898961}.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}.workspace-error{margin:.8rem 0 0}.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}.empty-profile-state{text-align:center}@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{color:#96f0d2;background:#75e0bd1a;border-color:#75e0bd7a}.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}.progress-nav button.is-active{color:#eaf0fc;background:#3b4f726b;border-color:#8fb4ff4d}.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-legend .first:before{background:#75e0bd}.trend-legend .final:before{background:#8fb4ff}.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-active{color:#f5fffb;background:rgba(117, 224, 189, var(--activity-opacity));border-color:#75e0bd7a}.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,.confusion-table th{color:#cdd6e8;background:#1f2a3bb8}.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}.keyboard-legend .root:before{background:#65ddb5}.keyboard-legend .target:before{background:#7aa8ff}.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));gap:.75rem;margin-top:.75rem;display:grid}.theory-card{background:linear-gradient(145deg,#1e2635f0,#11161ff5);border:1px solid #97a7ca33;border-radius:1rem;grid-template-rows:1fr auto;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-select{text-align:left;background:0 0;border:0;border-radius:0;align-content:start;gap:.75rem;min-width:0;min-height:0;padding:1rem;display:grid}.theory-card-select:hover:not(:disabled){background:#75e0bd0a;transform:none}.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}.theory-play-button{margin:0 .75rem .75rem}@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}}
