:root{font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#1f2b28;background:#f5f1e8;font-synthesis:none;text-rendering:optimizeLegibility}.v2-mastery-card,.v2-training-result,.v2-training-item{margin-top:16px;padding:18px;border:1px solid var(--line-color, #dce6e1);border-radius:16px;background:#fff}.v2-mastery-card--gray{border-left:6px solid #83908b}.v2-mastery-card--red{border-left:6px solid #c96852}.v2-mastery-card--yellow{border-left:6px solid #c89a3d}.v2-mastery-card--green{border-left:6px solid #4d9475}.v2-mastery-card h4,.v2-training-result h4,.v2-training-item h3{margin:4px 0 10px}.v2-mastery-evidence,.v2-training-blocked{color:#536760;font-size:.94rem}.v2-training-page{max-width:980px;margin:0 auto}.v2-report-page{display:grid;gap:16px;max-width:980px;margin:0 auto}.v2-report-page h2,.v2-report-page h3{margin:0;color:#173d35}.v2-report-card{padding:clamp(18px,3vw,28px);border:1px solid #dce7e3;border-radius:20px;background:#ffffffe5;box-shadow:0 12px 30px #1f2b2812}.v2-report-card p{color:#53625e;line-height:1.7}.v2-report-card ul{display:grid;gap:8px;padding-left:22px;color:#40534e;line-height:1.55}.v2-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.v2-report-grid>div{display:grid;gap:4px;padding:13px;border-radius:12px;background:#edf4f1}.v2-report-grid strong{color:#255f54;font-size:1.2rem}.v2-report-grid span{color:#60706c;font-size:.85rem}.v2-report-actions{display:flex;flex-wrap:wrap;gap:10px}.v2-report-week{display:grid;width:fit-content;gap:6px;color:#53625e;font-weight:700}.v2-report-week input{min-height:48px;padding:8px 12px;border:1px solid #b9cfc8;border-radius:12px;background:#fff;color:#173d35}.v2-report-actions .primary-action{width:auto;min-height:54px;margin:0;padding:0 20px}.v2-report-warning,.v2-page-notice{padding:13px 16px;border-radius:14px;color:#6b5225;background:#fff5d9;line-height:1.6}.v2-training-list{display:grid;gap:14px}.v2-training-item{display:flex;align-items:center;justify-content:space-between;gap:18px}.v2-training-item--blocked{border-left:6px solid #c89a3d}.v2-training-item--completed{border-left:6px solid #4d9475}@media(max-width:600px){.v2-training-item{align-items:stretch;flex-direction:column}.v2-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top right,rgb(217 130 69 / 16%),transparent 34rem),#f5f1e8}button,a,input,select,textarea{font:inherit}button,.bottom-nav a{min-width:48px;min-height:48px}.app-shell{width:min(100%,1180px);min-height:100vh;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 24px 104px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0 24px}.app-header h1,.page-card h2{margin:0;letter-spacing:-.03em}.app-header h1{font-size:clamp(1.75rem,4vw,2.75rem)}.eyebrow,.page-kicker{margin:0 0 6px;color:#5d756e;font-weight:700}.local-badge{flex:0 0 auto;padding:10px 14px;border-radius:999px;color:#255f54;background:#dcebe6;font-size:.9rem;font-weight:700}.app-content{min-height:58vh}.v2-global-entry{display:flex;justify-content:flex-end;margin:-12px 0 16px}.v2-global-entry a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;color:#255f54;background:#e4f0ec;font-weight:800;text-decoration:none}.page-card{min-height:360px;padding:clamp(24px,5vw,52px);border:1px solid rgb(37 95 84 / 12%);border-radius:28px;background:#ffffffdb;box-shadow:0 18px 50px #1f2b2817}.page-card h2{color:#255f54;font-size:clamp(1.6rem,3vw,2.35rem)}.page-card>p:last-child{max-width:42rem;color:#57625f;font-size:1.05rem;line-height:1.8}.home-page{display:grid;gap:20px}.home-hero,.today-panel,.summary-card{border:1px solid rgb(37 95 84 / 12%);background:#ffffffe0;box-shadow:0 16px 42px #1f2b2814}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,42px);border-radius:28px}.home-hero h2,.today-panel h2,.task-group h3,.task-card h3{margin:0}.home-hero h2{max-width:12ch;color:#173d35;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.055em}.home-intro{margin:18px 0 0;color:#5a6763;line-height:1.7}.countdown-card{display:grid;flex:0 0 132px;place-items:center;min-height:150px;padding:16px;border-radius:24px;color:#fff9ee;background:#255f54;text-align:center}.countdown-card strong{color:#f7c99f;font-size:3.25rem;line-height:1}.countdown-card span{font-size:.9rem;font-weight:700}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.summary-card{display:grid;gap:5px;min-height:150px;padding:22px;border-radius:22px}.summary-card>span,.summary-card>small{color:#64716d}.summary-card strong{align-self:end;color:#255f54;font-size:2.25rem}.summary-card strong small{font-size:1rem}.summary-card--primary{border-color:transparent;background:#f1c9a8}.summary-card--primary strong,.summary-card--primary>span,.summary-card--primary>small{color:#603921}.today-panel{padding:clamp(24px,4vw,40px);border-radius:28px}.panel-heading,.progress-label,.task-card{display:flex;align-items:center;justify-content:space-between}.panel-heading{gap:16px;margin-bottom:24px}.panel-heading>span{flex:0 0 auto;padding:8px 12px;border-radius:999px;color:#255f54;background:#dcebe6;font-weight:700}.today-panel h2{color:#173d35;font-size:clamp(1.65rem,3vw,2.25rem)}.progress-group{margin-bottom:28px}.progress-label{margin-bottom:9px;color:#53625e;font-size:.92rem;font-weight:700}.progress-group progress{width:100%;height:12px;overflow:hidden;border:0;border-radius:999px;background:#e5ebe8}.progress-group progress::-webkit-progress-bar{border-radius:999px;background:#e5ebe8}.progress-group progress::-webkit-progress-value{border-radius:999px;background:#d98245}.progress-group progress::-moz-progress-bar{border-radius:999px;background:#d98245}.task-groups{display:grid;gap:26px}.task-group h3{margin-bottom:12px;color:#60706b;font-size:.94rem;letter-spacing:.05em}.task-list{display:grid;gap:10px}.task-card{gap:14px;min-height:76px;padding:13px 14px;border:1px solid #e2e9e6;border-radius:18px;background:#fbfcfb}.task-card--complete{border-color:#b9d8ce;background:#eff8f5}.task-check{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border:2px solid #b9c9c4;border-radius:13px;color:#fff;background:#fff;font-size:1.25rem;font-weight:900}.task-card--complete .task-check{border-color:#36796c;background:#36796c}.task-copy{min-width:0;margin-right:auto}.task-card h3{color:#273632;font-size:1rem}.task-card p{margin:4px 0 0;overflow:hidden;color:#6a7672;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.task-status{flex:0 0 auto;color:#77827f;font-size:.85rem;font-weight:700}.task-card--complete .task-status{color:#287061}.primary-action{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;margin-top:30px;border:0;border-radius:18px;color:#fff;background:#255f54;box-shadow:0 12px 24px #255f5438;cursor:pointer;font-weight:800}.primary-action:active{transform:translateY(1px)}.primary-action:focus-visible,.secondary-action:focus-visible,.text-action:focus-visible,.bottom-nav a:focus-visible{outline:3px solid #e6a26d;outline-offset:3px}.study-page{display:grid;gap:20px}.study-toolbar,.study-heading,.study-roadmap,.study-focus-card{border:1px solid rgb(37 95 84 / 12%);background:#ffffffe0;box-shadow:0 16px 42px #1f2b2814}.study-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:20px}.text-action{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 12px;border:0;border-radius:13px;color:#255f54;background:transparent;cursor:pointer;font-weight:800}.text-action:hover{background:#e9f2ef}.study-count{display:flex;align-items:baseline;gap:8px;color:#62706c}.study-count strong{color:#255f54;font-size:1.3rem}.study-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:clamp(24px,4vw,38px);border-radius:28px}.study-heading h2,.study-focus-card h2,.section-heading h3{margin:0;color:#173d35}.study-heading h2{font-size:clamp(2rem,4vw,3rem)}.study-heading>div>p:last-child{margin:10px 0 0;color:#62706c}.study-progress-box{width:min(42%,360px)}.study-progress-box>strong{display:block;margin-bottom:8px;color:#d46f2c;font-size:2.4rem;text-align:right}.study-progress-box .progress-group{margin:0}.study-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(460px,1.28fr);gap:20px;align-items:stretch}.study-roadmap,.study-focus-card{padding:clamp(24px,4vw,38px);border-radius:28px}.section-heading{margin-bottom:24px}.section-heading h3{font-size:1.35rem}.study-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none}.study-step{position:relative;display:flex;align-items:center;gap:14px;min-height:68px;padding:10px 12px;border:1px solid transparent;border-radius:17px}.study-step--current{border-color:#acd2c7;background:#edf7f4}.study-step--complete{color:#397166}.step-marker{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border:2px solid #c5d1cd;border-radius:14px;color:#75817d;background:#fff;font-weight:900}.study-step--current .step-marker,.study-step--complete .step-marker{border-color:#36796c;color:#fff;background:#36796c}.study-step div{display:grid;gap:3px}.study-step div>span{color:#7b8682;font-size:.82rem}.study-step--upcoming{opacity:.62}.study-focus-card{display:flex;min-height:500px;flex-direction:column}.focus-card-topline{display:flex;justify-content:space-between;gap:12px;color:#65736f;font-size:.9rem;font-weight:700}.focus-icon,.completion-mark{display:grid;width:78px;height:78px;margin:36px 0 24px;place-items:center;border-radius:24px;color:#fff7e9;background:#255f54;font-family:serif;font-size:2rem;font-weight:900}.study-focus-card h2{font-size:clamp(2rem,4vw,3rem)}.focus-description{margin:14px 0 0;color:#5c6965;font-size:1.05rem;line-height:1.7}.study-note{display:grid;gap:5px;margin-top:28px;padding:16px 18px;border-left:4px solid #d98245;border-radius:4px 14px 14px 4px;color:#6e543f;background:#fff4e9}.study-note span{font-size:.92rem;line-height:1.6}.study-actions{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(230px,1.2fr);gap:12px;margin-top:auto;padding-top:30px}.study-actions .primary-action{margin:0}.secondary-action{min-height:54px;padding:0 20px;border:2px solid #a9c7bf;border-radius:18px;color:#255f54;background:#fff;cursor:pointer;font-weight:800}.study-complete{align-items:center;justify-content:center;text-align:center}.study-complete .completion-mark{margin-top:0;border-radius:50%;background:#36796c;font-family:inherit}.study-complete .primary-action{max-width:360px}.study-complete-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,620px);margin-top:12px}.study-complete-actions .primary-action,.study-complete-actions .secondary-action{width:100%;max-width:none;margin:0}.bank-page{display:grid;gap:20px}.bank-toolbar,.bank-hero,.bank-summary,.bank-list-section{border:1px solid rgb(37 95 84 / 12%);background:#ffffffe0;box-shadow:0 16px 42px #1f2b2814}.bank-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:20px}.bank-ready{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 13px;border-radius:999px;color:#28695d;background:#e3f1ed;font-size:.88rem;font-weight:800}.bank-ready i{width:9px;height:9px;border-radius:50%;background:#42a18f;box-shadow:0 0 0 4px #42a18f24}.bank-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(26px,5vw,48px);border-radius:28px}.bank-hero h2,.bank-list-heading h2,.question-card h3{margin:0;color:#173d35}.bank-hero h2{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.05em}.bank-hero>div>p:last-child{max-width:40rem;margin:14px 0 0;color:#62706c;font-size:1.04rem;line-height:1.7}.bank-count{display:grid;flex:0 0 136px;min-height:136px;place-items:center;padding:18px;border-radius:26px;color:#fff4e8;background:#255f54}.bank-count strong{align-self:end;color:#f4c49b;font-size:3.2rem;line-height:1}.bank-count span{align-self:start;font-weight:700}.bank-summary{display:grid;grid-template-columns:minmax(140px,.65fr) minmax(140px,.65fr) minmax(260px,1.7fr);border-radius:22px;overflow:hidden}.bank-summary>div{display:grid;gap:6px;min-height:108px;padding:22px 26px;border-right:1px solid #e6ece9}.bank-summary>div:last-child{border-right:0}.bank-summary span{color:#75817d;font-size:.86rem;font-weight:700}.bank-summary strong{align-self:end;color:#255f54;font-size:1.4rem}.bank-knowledge p{align-self:end;margin:0;color:#34433f;line-height:1.6}.bank-list-section{padding:clamp(24px,4vw,40px);border-radius:28px}.bank-list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.bank-list-heading h2{font-size:clamp(1.7rem,3vw,2.4rem)}.bank-list-heading>span{flex:0 0 auto;padding:9px 13px;border-radius:999px;color:#75543b;background:#fff0e2;font-size:.86rem;font-weight:800}.question-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.question-card{display:flex;gap:16px;min-height:174px;padding:20px;border:1px solid #e0e8e5;border-radius:20px;background:#fbfcfb}.question-number{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:14px;color:#255f54;background:#dcebe6;font-weight:900}.question-copy{display:flex;min-width:0;flex:1;flex-direction:column}.question-eyebrow{margin:0 0 5px;color:#8a9692;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.question-card h3{font-size:1.08rem;line-height:1.45}.question-preview{margin:8px 0 16px;color:#687570;font-size:.91rem;line-height:1.6}.question-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.question-meta span{padding:5px 8px;border-radius:8px;color:#52645f;background:#edf2f0;font-size:.76rem;font-weight:700}.locked-action{width:100%;min-height:54px;margin-top:24px;border:1px dashed #b9c8c3;border-radius:17px;color:#7a8582;background:#f1f4f3;font-weight:800}.training-page{max-width:980px;margin:0 auto}.training-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:22px 0}.training-heading h2,.training-card h2,.training-complete h2{margin:4px 0 8px;color:#1f3732}.training-heading p,.training-prompt,.training-complete p{color:#60706c;line-height:1.7}.training-progress{width:min(320px,42vw)}.training-progress>span{display:block;margin-bottom:8px;color:#52645f;text-align:right;font-size:.88rem;font-weight:800}.training-card,.training-complete{padding:clamp(20px,4vw,38px);border:1px solid #dce7e3;border-radius:26px;background:#ffffffeb;box-shadow:0 18px 50px #2d484117}.training-question-meta{display:flex;justify-content:space-between;gap:12px;color:#5c746d;font-size:.82rem;font-weight:800;letter-spacing:.04em}.training-prompt{padding:14px 16px;border-left:4px solid #6e9c8e;border-radius:0 12px 12px 0;background:#f2f7f5;font-size:1.04rem}.answer-form{margin-top:22px}.option-list{display:grid;gap:12px;margin:0;padding:0;border:0}.answer-option{display:flex;min-height:54px;align-items:center;gap:14px;padding:12px 16px;border:1px solid #d6e2de;border-radius:15px;background:#fbfdfc;cursor:pointer}.answer-option--selected{border-color:#3e7868;background:#eaf4f1;box-shadow:inset 0 0 0 1px #3e7868}.answer-option input{width:22px;height:22px;flex:0 0 auto;accent-color:#356f60}.answer-field,.guided-step{display:grid;gap:8px}.answer-field>span,.guided-step>span{color:#334e47;font-weight:800}.answer-field input,.guided-step textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid #cbd9d5;border-radius:13px;color:#263f39;background:#fff;font:inherit;line-height:1.6;resize:vertical}.answer-field input:focus,.guided-step textarea:focus{border-color:#3d7667;outline:3px solid rgb(61 118 103 / 14%)}.guided-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guided-step i{display:inline-grid;width:28px;height:28px;margin-right:8px;place-items:center;border-radius:50%;color:#fff;background:#477d6f;font-style:normal}.reading-passage,.writing-requirement{margin-bottom:22px;padding:18px;border-radius:16px;background:#f5f7f2}.reading-passage p,.writing-requirement p{margin:8px 0 0;color:#40534e;line-height:1.85}.answer-help{min-height:58px;margin-top:16px}.answer-help p{margin:0;padding:12px 14px;border-radius:12px;color:#6b5225;background:#fff5d9;line-height:1.6}.answer-submit{width:100%;margin-top:10px}.answer-submit:disabled{cursor:not-allowed;opacity:.48}.answer-feedback{margin:16px 0;padding:13px 15px;border-radius:13px;font-weight:750}.answer-feedback--wrong{color:#8c3f35;background:#fff0ed}.answer-feedback--correct,.answer-feedback--saved{color:#286354;background:#eaf6f1}.training-complete-page{display:grid;min-height:58vh;place-items:center}.training-complete{width:min(620px,100%);text-align:center}.training-complete .primary-action{width:100%;margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.review-page{display:grid;gap:20px}.review-hero,.review-summary,.review-panel{border:1px solid rgb(37 95 84 / 12%);background:#ffffffe0;box-shadow:0 16px 42px #1f2b2814}.review-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,42px);border-radius:28px}.review-hero h2{margin:0;color:#173d35;font-size:clamp(2rem,4vw,3.2rem)}.review-hero p:last-child{margin:10px 0 0;color:#60706c;line-height:1.7}.review-total{display:grid;flex:0 0 126px;min-height:126px;place-items:center;padding:16px;border-radius:26px;color:#fff;background:#255f54}.review-total strong{align-self:end;color:#f4c49b;font-size:3rem;line-height:1}.review-total span{align-self:start;font-weight:800}.review-summary{display:grid;grid-template-columns:repeat(3,1fr);border-radius:22px;overflow:hidden}.review-summary>div{display:grid;gap:6px;min-height:96px;padding:20px 24px;border-right:1px solid #e2eae7}.review-summary>div:last-child{border-right:0}.review-summary span{color:#6c7975;font-size:.88rem;font-weight:750}.review-summary strong{color:#28685b;font-size:1.8rem}.review-panel{padding:clamp(20px,4vw,34px);border-radius:28px}.review-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.review-filters button{padding:0 17px;border:1px solid #ccdad6;border-radius:999px;color:#4c615b;background:#fff;cursor:pointer;font-weight:800}.review-filters button.active{border-color:#326f61;color:#fff;background:#326f61}.wrong-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wrong-card{display:flex;min-height:230px;flex-direction:column;padding:20px;border:1px solid #dee8e5;border-radius:20px;background:#fbfcfb}.wrong-card-topline,.review-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrong-card-topline>span:first-child{color:#59706a;font-size:.82rem;font-weight:900}.review-status{padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:850}.review-status--due{color:#88482c;background:#ffeadc}.review-status--scheduled{color:#516863;background:#edf2f0}.review-status--mastered{color:#256658;background:#ddf1ea}.wrong-card h3{margin:18px 0 12px;color:#243f38;font-size:1.08rem;line-height:1.55}.wrong-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.wrong-meta span{padding:5px 8px;border-radius:8px;color:#5d6d68;background:#edf2f0;font-size:.78rem}.wrong-card .secondary-action{width:100%;margin-top:auto}.review-empty{display:grid;min-height:280px;place-items:center;align-content:center;color:#5f706b;text-align:center}.review-empty .completion-mark{margin:0 0 16px;border-radius:50%}.review-empty h3,.review-empty p{margin:5px 0}.review-dialog-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#14201d8f;overflow-y:auto}.review-dialog{width:min(680px,100%);max-height:calc(100vh - 40px);padding:clamp(20px,4vw,32px);border-radius:24px;background:#fff;box-shadow:0 24px 80px #0c19154d;overflow-y:auto}.review-dialog-header>span{color:#2d6d60;font-weight:850}.review-dialog h2{margin:16px 0 22px;color:#213d36;font-size:clamp(1.25rem,3vw,1.8rem);line-height:1.55}.review-hint{margin-top:14px}.review-hint-text{margin:14px 0 0;padding:12px 14px;border-radius:12px;color:#6b5225;background:#fff5d9;line-height:1.6}.review-submit{width:100%;margin-top:16px}.review-submit:disabled{cursor:not-allowed;opacity:.48}.review-rule-note{margin:0;color:#61716c;text-align:center;font-size:.88rem;font-weight:750}.report-page{display:grid;gap:20px}.report-hero,.report-section{border:1px solid rgb(37 95 84 / 12%);background:#ffffffe0;box-shadow:0 16px 42px #1f2b2814}.report-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(24px,4vw,42px);border-radius:28px}.report-hero h2,.report-section-heading h2,.today-task-report h3,.weakness-panel h3,.next-week-plan h3{margin:0;color:#193f37}.report-hero h2{font-size:clamp(2rem,4vw,3.2rem)}.report-hero>div:first-child>p:last-child{margin:10px 0 0;color:#60706c}.accuracy-ring{display:grid;flex:0 0 142px;width:142px;height:142px;place-items:center;border-radius:50%;background:conic-gradient(#d77b3c var(--accuracy),#e7eeeb 0)}.accuracy-ring>div{display:grid;width:108px;height:108px;place-items:center;align-content:center;border-radius:50%;color:#315f54;background:#fff}.accuracy-ring strong{font-size:1.8rem}.accuracy-ring span{color:#71807c;font-size:.76rem;font-weight:800}.report-section{padding:clamp(22px,4vw,36px);border-radius:28px}.report-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.report-section-heading>span{padding:8px 12px;border-radius:999px;color:#56706a;background:#edf3f1;font-size:.82rem;font-weight:800}.report-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mastery-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mastery-overview-card{min-width:0;padding:clamp(20px,3vw,28px);border:1px solid #bfd9d1;border-radius:22px;background:linear-gradient(145deg,#f2faf7,#fff)}.mastery-overview-card--knowledge{border-color:#efd0b4;background:linear-gradient(145deg,#fff6eb,#fff)}.mastery-overview-card--global{border-color:#c9c6e8;background:linear-gradient(145deg,#f4f3ff,#fff)}.mastery-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.mastery-overview-heading span{display:inline-block;margin-bottom:5px;color:#6d7d78;font-size:.78rem;font-weight:800}.mastery-overview-heading h3{margin:0;color:#193f37}.mastery-overview-heading>strong{color:#286b5d;font-size:clamp(1.8rem,4vw,2.7rem)}.mastery-overview-card--knowledge .mastery-overview-heading>strong{color:#b46731}.mastery-overview-card--global .mastery-overview-heading>strong,.mastery-overview-card--global dd{color:#5a5198}.mastery-overview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 16px}.mastery-overview dl>div{min-width:0;padding:12px;border-radius:14px;background:#ffffffc7}.mastery-overview dt{color:#73817d;font-size:.76rem;font-weight:750}.mastery-overview dd{margin:5px 0 0;color:#255f54;font-size:1.45rem;font-weight:900}.mastery-overview-card--knowledge dd{color:#a55c2b}.mastery-overview .progress-group{margin:0}.mastery-progress-stack{display:grid;gap:12px}.report-metric-grid--daily{margin-top:14px}.report-metric-grid article{display:grid;min-height:142px;align-content:space-between;padding:18px;border:1px solid #e0e8e5;border-radius:18px;background:#fbfcfb}.report-metric-grid span,.report-metric-grid small{color:#74817d;font-size:.78rem;font-weight:750}.report-metric-grid strong{color:#27685a;font-size:clamp(1.45rem,3vw,2rem)}.study-time-trace{margin-top:18px;padding:clamp(18px,3vw,26px);border:1px solid #cbded8;border-radius:20px;background:linear-gradient(145deg,#f5fbf9,#fff)}.study-time-trace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.study-time-trace-heading h3,.study-time-trace-heading p{margin:0}.study-time-trace-heading>span{color:#6e7f79;font-size:.78rem;font-weight:750}.study-time-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.study-time-overview>div{padding:14px;border-radius:14px;background:#fff}.study-time-overview dt{color:#70807b;font-size:.78rem;font-weight:750}.study-time-overview dd{margin:6px 0 0;color:#27685a;font-size:1.35rem;font-weight:900}.answer-time-list{display:grid;gap:8px;max-height:440px;margin:0;padding:0;overflow:auto;list-style:none}.answer-time-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #e1ebe7;border-radius:14px;background:#ffffffd1}.answer-time-list li>div{display:grid;gap:4px;min-width:0}.answer-time-list li>div:last-child{text-align:right}.answer-time-list span{color:#72817c;font-size:.76rem;font-weight:700}.answer-time-list strong{color:#254e45}.today-task-report{margin-top:18px;padding:20px;border-radius:18px;background:#f5f7f2}.early-reward-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:18px;padding:20px;border:1px solid #f0cfae;border-radius:20px;color:#654228;background:linear-gradient(135deg,#fff5e7,#fffaf2)}.early-reward-card>div{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;background:#f8dfbd;font-size:1.75rem}.early-reward-card h3,.early-reward-card p{margin:0}.early-reward-card section>p:last-child{margin-top:6px;color:#765b45;line-height:1.6}.early-reward-card>strong{padding:11px 14px;border-radius:999px;color:#874b1d;background:#f8dfbd;white-space:nowrap}.today-task-report ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none}.today-task-report li{display:grid;gap:5px;min-height:76px;padding:12px;border-radius:13px;background:#fff}.today-task-report li span{color:#3a7568;font-size:.78rem;font-weight:850}.today-task-report li strong{color:#3b4c47;font-size:.9rem}.today-task-report>p{margin:12px 0 0;color:#6b7874}.week-report-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:16px}.week-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.week-metrics article{display:grid;min-height:124px;place-items:center;align-content:center;gap:7px;padding:16px;border-radius:18px;color:#fff;background:#2e695c;text-align:center}.week-metrics article:nth-child(2n){color:#294f46;background:#dcece7}.week-metrics strong{font-size:1.65rem}.week-metrics span{font-size:.82rem;font-weight:750}.weakness-panel{padding:22px;border:1px solid #efd9c9;border-radius:20px;background:#fff7ef}.weakness-panel ol{display:grid;gap:9px;margin:16px 0 0;padding:0;list-style:none}.weakness-panel li{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:12px;color:#5c5149;background:#fff}.weakness-panel li strong{flex:0 0 auto;color:#b25f36;font-size:.8rem}.report-empty-copy{color:#766b64;line-height:1.7}.next-week-plan{display:grid;grid-template-columns:70px 1fr;gap:18px;margin-top:16px;padding:20px;border-radius:20px;background:#eff5f3}.next-week-plan>div{display:grid;width:62px;height:62px;place-items:center;border-radius:18px;color:#fff3e9;background:#d1763c;font-family:serif;font-size:1.6rem;font-weight:900}.next-week-plan ul{display:grid;gap:7px;margin:12px 0 0;padding-left:20px;color:#536660;line-height:1.6}.bottom-nav{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));z-index:10;display:grid;grid-template-columns:repeat(5,minmax(56px,1fr));width:min(calc(100% - 32px),720px);margin:0 auto;padding:8px;border:1px solid rgb(255 255 255 / 60%);border-radius:22px;background:#1f2b28f0;box-shadow:0 12px 36px #1f2b283d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav a{display:grid;place-items:center;border-radius:14px;color:#edf4f1;text-decoration:none;font-weight:700}.bottom-nav a.active{color:#183e36;background:#bfe0d6}.settings-page{display:grid;gap:20px}.settings-hero,.backup-card,.backup-preview,.backup-scope{border:1px solid rgb(37 95 84 / 12%);background:#ffffffe0;box-shadow:0 16px 42px #1f2b2814}.settings-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,40px);border-radius:28px}.settings-hero h2,.backup-card h3,.backup-preview h3,.backup-scope h3{margin:0;color:#255f54}.settings-hero h2{font-size:clamp(1.8rem,4vw,2.7rem)}.settings-hero p:last-child,.backup-card>p,.backup-scope p{color:#5f6d69;line-height:1.7}.settings-local-mark{display:grid;flex:0 0 96px;width:96px;min-height:96px;place-items:center;border-radius:28px;color:#fff6eb;background:#d1763c;font-size:1.25rem;font-weight:900}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.backup-card{display:flex;min-width:0;flex-direction:column;padding:clamp(22px,3vw,32px);border-radius:24px}.backup-card h3,.backup-preview h3{font-size:1.4rem}.backup-card .primary-action{margin-top:auto}.backup-card small{display:block;margin-top:14px;color:#71807c;line-height:1.6}.backup-file-label{display:flex;align-items:center;justify-content:center;min-height:58px;margin-top:auto;border:2px solid #a9c7bf;border-radius:18px;color:#255f54;background:#f8fbfa;cursor:pointer;font-weight:800}.backup-file-label:focus-within,.backup-file-label:focus-visible,.danger-action:focus-visible{outline:3px solid #e6a26d;outline-offset:3px}.backup-file-input{width:100%;min-height:48px;margin-top:10px;padding:7px;border:1px solid #cad9d5;border-radius:12px;color:#40534e;background:#fff}.backup-file-input::file-selector-button{min-height:34px;margin-right:10px;border:0;border-radius:9px;color:#255f54;background:#dcebe6;cursor:pointer;font-weight:700}.backup-notice{margin:0;padding:14px 18px;border-radius:16px;line-height:1.6;font-weight:700}.backup-notice--success,.backup-notice--info{color:#255f54;background:#dcebe6}.backup-notice--error{color:#8a3f2b;background:#f9ddd3}.backup-preview{padding:clamp(22px,4vw,34px);border-radius:24px}.backup-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.backup-preview-heading>span{max-width:50%;overflow:hidden;padding:8px 12px;border-radius:999px;color:#5c5149;background:#f5ede5;font-size:.86rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.backup-preview dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:22px 0}.backup-preview dl>div{display:grid;gap:7px;min-width:0;padding:14px;border-radius:14px;background:#f3f7f5}.backup-preview dt{color:#687873;font-size:.82rem}.backup-preview dd{min-width:0;margin:0;color:#234f46;font-weight:900;overflow-wrap:anywhere}.backup-warning{padding:14px 16px;border-left:5px solid #d1763c;border-radius:10px;color:#6c482e;background:#fff1e5;line-height:1.65}.backup-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.danger-action{min-height:54px;padding:0 22px;border:0;border-radius:18px;color:#fff;background:#a64f34;cursor:pointer;font-weight:800}.backup-scope{padding:20px 24px;border-radius:20px}.backup-scope p{margin-bottom:0}.v2-diagnostic-entry,.v2-practice-heading,.v2-question-nav,.v2-start-card,.v2-restore-card,.v2-question-card{border:1px solid rgb(37 95 84 / 14%);background:#ffffffe5;box-shadow:0 16px 42px #1f2b2814}.v2-diagnostic-entry{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px;padding:22px 26px;border-radius:22px}.v2-diagnostic-entry h3,.v2-diagnostic-entry p,.v2-practice-heading h2,.v2-practice-heading p,.v2-start-card h3,.v2-start-card p,.v2-restore-card h3,.v2-restore-card p{margin-top:0}.v2-diagnostic-entry p:last-child,.v2-practice-heading p:last-child{margin-bottom:0;color:#60706c;line-height:1.65}.v2-practice-page{display:grid;gap:18px}.v2-practice-toolbar,.v2-practice-heading,.v2-question-nav,.v2-inline-actions,.v2-question-meta,.v2-evidence-panel>div,.v2-hints>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:14px}.v2-save-state{padding:9px 13px;border-radius:999px;color:#5f6f6a;background:#edf2f0;font-size:.82rem;font-weight:800}.v2-save-state--saving{color:#765126;background:#fff1d9}.v2-save-state--saved{color:#245f52;background:#dff0ea}.v2-save-state--failed{color:#8a3f2b;background:#f9ddd3}.v2-practice-heading{padding:clamp(22px,4vw,34px);border-radius:26px}.v2-question-position{display:grid;flex:0 0 auto;min-width:130px;padding:16px;border-radius:18px;color:#fff;background:#2f6d5e;text-align:center}.v2-question-position strong{font-size:1.55rem}.v2-question-position span{font-size:.78rem}.v2-question-nav{padding:14px;border-radius:20px}.v2-question-nav label{display:grid;flex:1;gap:5px;color:#5c6d68;font-size:.8rem;font-weight:800}.v2-question-nav select{width:100%;min-height:48px;padding:0 12px;border:1px solid #bfd2cc;border-radius:12px;color:#234f46;background:#fff}.v2-start-card,.v2-restore-card{padding:clamp(22px,4vw,34px);border-radius:24px}.v2-restore-card{border-color:#e7c8a8;background:#fffaf4}.v2-question-card{display:grid;gap:20px;padding:clamp(20px,4vw,36px);border-radius:26px}.v2-question-card>h3{margin:0;color:#183f36;font-size:clamp(1.2rem,3vw,1.65rem);line-height:1.65}.v2-question-meta{flex-wrap:wrap;justify-content:flex-start}.v2-question-meta span{padding:7px 10px;border-radius:999px;color:#536a64;background:#edf3f1;font-size:.76rem;font-weight:800}.v2-material,.v2-evidence-panel,.v2-hints,.v2-score-result{padding:18px;border-radius:18px;background:#f4f7f4}.v2-material p{margin:10px 0 0;line-height:1.75}.v2-option-list{display:grid;gap:10px;margin:0;padding:0;border:0}.v2-option-list legend{margin-bottom:10px;color:#385c53;font-weight:850}.v2-option{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 15px;border:1px solid #d9e5e1;border-radius:14px;background:#fff}.v2-option--selected{border-color:#5d998b;background:#e9f5f1}.v2-option input{width:22px;height:22px;accent-color:#2f6d5e}.v2-answer-field{display:grid;gap:9px;color:#365950;font-weight:850}.v2-answer-field input,.v2-answer-field textarea{width:100%;min-height:54px;padding:14px;border:1px solid #bfd2cc;border-radius:14px;color:#263f39;background:#fff;font:inherit;line-height:1.7;resize:vertical}.v2-evidence-panel,.v2-hints{display:grid;gap:12px}.v2-evidence-panel h4,.v2-hints h4,.v2-score-result h4{margin:0;color:#244e45}.v2-evidence-panel>div span,.v2-hints>div:first-child span{color:#6e7c78;font-size:.8rem}.v2-evidence-choice{display:grid;gap:7px;width:100%;min-height:58px;padding:13px 15px;border:1px solid #d5e1dd;border-radius:14px;color:#405a53;background:#fff;cursor:pointer;text-align:left}.v2-evidence-choice--selected{border-color:#4f8b7d;background:#e5f2ed}.v2-evidence-choice span{line-height:1.55}.v2-hint-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v2-hint-content{margin:0;padding:12px 14px;border-radius:12px;color:#6b5225;background:#fff5d9;line-height:1.65}.v2-page-notice{margin:0;padding:13px 15px;border-radius:14px;color:#295c50;background:#e2f0eb;font-weight:750}.v2-score-result dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0}.v2-score-result dl>div{padding:12px;border-radius:12px;background:#fff}.v2-score-result dt{color:#71807c;font-size:.78rem}.v2-score-result dd{margin:6px 0 0;color:#244e45;font-weight:850;overflow-wrap:anywhere}.v2-error-analysis{margin-top:18px;padding:20px;border:1px solid #d8e8e1;border-radius:18px;background:#f5fbf8}.v2-error-analysis h4{margin:0;color:#244e45}.v2-error-analysis>div>p:last-child{margin:8px 0 0;color:#61716c;line-height:1.65}.v2-analysis-strength,.v2-analysis-empty{margin:16px 0;padding:12px 14px;border-radius:12px;background:#fff;color:#31594f;line-height:1.65}.v2-analysis-reasons{display:grid;gap:12px}.v2-analysis-reason{padding:14px;border:1px solid #dfe9e5;border-left:5px solid #5f9b8a;border-radius:12px;background:#fff}.v2-analysis-reason--medium,.v2-analysis-reason--low{border-left-color:#b88c3f}.v2-analysis-reason-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:#244e45}.v2-analysis-reason-title span{flex:0 0 auto;color:#7b6330;font-size:.82rem;font-weight:800}.v2-analysis-reason p{margin:10px 0 0;color:#4b5e58;line-height:1.65}.v2-analysis-followup,.v2-analysis-feedback{color:#725421!important}.v2-analysis-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.v2-analysis-actions .secondary-action{min-height:48px}.v2-analysis-candidates{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff;color:#4b5e58}.v2-analysis-candidates summary{cursor:pointer;color:#31594f;font-weight:800}.v2-submit{width:100%}@media(orientation:landscape)and (min-width:900px){.app-shell{padding-right:44px;padding-left:44px}.page-card{min-height:420px}.home-page{grid-template-columns:minmax(320px,.82fr) minmax(500px,1.18fr);align-items:start}.home-hero{grid-column:1}.summary-grid{grid-column:1;grid-template-columns:1fr}.summary-card{min-height:112px}.today-panel{grid-row:1 / span 2;grid-column:2;padding:28px 32px 30px}.today-panel .panel-heading{margin-bottom:16px}.today-panel .progress-group{margin-bottom:18px}.today-panel .task-groups{gap:16px}.today-panel .task-group h3{margin-bottom:8px}.today-panel .task-card{min-height:64px;padding-top:9px;padding-bottom:9px}.today-panel .primary-action{min-height:54px;margin-top:18px}}@media(max-width:740px){.summary-grid{grid-template-columns:1fr}.summary-card{min-height:118px}.home-hero{align-items:stretch;flex-direction:column}.countdown-card{display:flex;min-height:88px;justify-content:center;gap:10px}.countdown-card strong{font-size:2.4rem}.study-heading{align-items:stretch;flex-direction:column}.study-progress-box{width:100%}.study-progress-box>strong{text-align:left}}@media(max-width:900px),(orientation:portrait){.study-layout{grid-template-columns:1fr}.study-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.study-step{align-items:flex-start;min-width:0;flex-direction:column}.study-step strong{font-size:.88rem}.study-focus-card{min-height:470px}.question-list,.wrong-list{grid-template-columns:1fr}.report-metric-grid,.today-task-report ul{grid-template-columns:repeat(2,minmax(0,1fr))}.week-report-layout,.backup-grid{grid-template-columns:1fr}.backup-preview dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.app-shell{padding-right:16px;padding-left:16px}.app-header{align-items:flex-start;flex-direction:column;gap:12px}.bottom-nav{gap:2px}.task-card{align-items:flex-start}.task-card p{white-space:normal}.study-toolbar{align-items:flex-start}.study-count{align-items:flex-end;flex-direction:column;gap:0}.study-steps{grid-template-columns:1fr 1fr}.study-actions,.study-complete-actions,.early-reward-card{grid-template-columns:1fr}.early-reward-card>strong{justify-self:start}.bank-toolbar,.bank-list-heading{align-items:flex-start;flex-direction:column}.bank-hero{align-items:stretch;flex-direction:column}.bank-count{display:flex;min-height:82px;justify-content:center;gap:10px}.bank-count strong{align-self:center;font-size:2.5rem}.bank-count span{align-self:center}.bank-summary{grid-template-columns:1fr 1fr}.bank-summary>div{border-bottom:1px solid #e6ece9}.bank-summary .bank-knowledge{grid-column:1 / -1;border-bottom:0}.question-card{min-height:0;padding:16px}.training-heading{align-items:stretch;flex-direction:column}.training-progress{width:100%}.training-progress>span{text-align:left}.guided-steps{grid-template-columns:1fr}.review-hero{align-items:stretch;flex-direction:column}.review-total{display:flex;min-height:82px;justify-content:center;gap:10px}.review-total strong,.review-total span{align-self:center}.review-summary>div{min-width:0;padding:16px 10px;text-align:center}.report-hero,.report-section-heading{align-items:stretch;flex-direction:column}.accuracy-ring{align-self:center}.report-metric-grid,.mastery-overview,.today-task-report ul,.week-metrics{grid-template-columns:1fr}.study-time-trace-heading{align-items:flex-start;flex-direction:column}.study-time-overview,.answer-time-list li{grid-template-columns:1fr}.answer-time-list li>div:last-child{text-align:left}.next-week-plan{grid-template-columns:1fr}.settings-hero,.backup-preview-heading{align-items:stretch;flex-direction:column}.settings-local-mark{width:100%;min-height:64px}.backup-preview-heading>span{max-width:100%}.backup-preview dl{grid-template-columns:1fr}.backup-actions{display:grid;grid-template-columns:1fr}.v2-diagnostic-entry,.v2-practice-heading,.v2-question-nav,.v2-practice-toolbar,.v2-inline-actions,.v2-evidence-panel>div,.v2-hints>div:first-child{align-items:stretch;flex-direction:column}.v2-question-position,.v2-question-nav .secondary-action{width:100%}.v2-hint-buttons,.v2-score-result dl{grid-template-columns:1fr}.v2-analysis-reason-title{align-items:flex-start;flex-direction:column;gap:4px}}.pwa-update-notice{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:30;display:grid;gap:10px;width:min(360px,calc(100vw - 24px));padding:16px;border:1px solid #b7d7ce;border-radius:16px;color:#234f46;background:#f6fffb;box-shadow:0 14px 30px #1f2b2838}.pwa-update-notice p,.pwa-update-notice small{margin:0;line-height:1.55}.pwa-update-notice>div{display:flex;flex-wrap:wrap;gap:8px}.pwa-update-notice button{min-height:48px}.storage-capacity-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 22px;padding:22px 24px;border:1px solid rgb(37 95 84 / 16%);border-radius:20px;color:#31584f;background:#f5fbf8}.storage-capacity-card h3,.storage-capacity-card p{margin:0}.storage-capacity-card p{color:#5c6d68;line-height:1.65}.storage-capacity-card>strong{align-self:center;padding:9px 12px;border-radius:999px;color:#255f54;background:#dcebe6;white-space:nowrap}.storage-capacity-card>p{grid-column:1 / -1}.storage-capacity-card--warning{border-color:#d8a36d;background:#fff7eb}.storage-capacity-card--warning>strong{color:#794417;background:#ffe3bc}@media(orientation:landscape)and (min-width:900px){.v2-question-card--reading{grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);align-items:start}.v2-question-card--reading>.v2-material{grid-column:1;grid-row:1 / span 12;max-height:min(62vh,680px);overflow:auto;overscroll-behavior:contain}.v2-question-card--reading>:not(.v2-material){grid-column:2}}@media(max-width:600px){.storage-capacity-card{grid-template-columns:1fr}.storage-capacity-card>p{grid-column:auto}.pwa-update-notice{right:12px;left:12px;width:auto}}
