:root{color-scheme:light;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;background-color:#f4f3ee;color:#1e2926;--color-bg: #f4f3ee;--color-surface: #fffefa;--color-text: #1e2926;--color-muted: #63706c;--color-primary: #477f74;--color-primary-strong: #315f57;--color-danger: #ad554b;--color-success: #3f7560;--color-border: rgba(71, 127, 116, .16);--shadow-soft: 0 28px 72px rgba(46, 82, 74, .11);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text)}button,a{transition:transform .12s ease,background-color .12s ease,box-shadow .12s ease}.app-shell{width:min(100%,880px);margin:0 auto;padding:56px 24px 72px}.page-back-control{align-items:center;background:#f4f6f4;border:1px solid rgba(55,75,65,.14);border-radius:999px;box-shadow:0 8px 24px #29393114;color:#52665b;cursor:pointer;display:inline-flex;font-size:1.55rem;height:2.65rem;justify-content:center;left:max(1rem,env(safe-area-inset-left));line-height:1;position:fixed;top:max(1rem,env(safe-area-inset-top));transition:background-color .14s ease,color .14s ease,transform .14s ease;width:2.65rem;z-index:30}.page-back-control:hover{background:#e7eee9;color:#244536;transform:translate(-2px)}.page-back-control:focus-visible{outline:3px solid rgba(47,126,91,.26);outline-offset:3px}.page-back-control svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@media(max-width:1040px){#root:has(.page-back-control) .app-shell{padding-top:80px}}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:30px;box-shadow:var(--shadow-soft);padding:40px}.app-recovery-shell{display:grid;min-height:100vh;align-items:center}.app-recovery-card{width:min(100%,620px);margin:0 auto}.app-recovery-actions{display:flex;flex-wrap:wrap;gap:12px}.eyebrow{margin:0 0 12px;color:var(--color-primary);font-size:.95rem;font-weight:700;letter-spacing:.08em}h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3rem);line-height:1.1}.supporting-text{margin:0 0 28px;color:var(--color-muted);font-size:1rem}.stats-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 28px}.onboarding-card{margin:0 0 28px;padding:22px;border:1px solid rgba(71,127,116,.18);border-radius:20px;background:#f8fbf9}.onboarding-card h2{margin:0 0 8px}.onboarding-card .supporting-text{margin-bottom:16px}.goal-choices{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;border:0}.goal-choices button{padding:10px 15px}.onboarding-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.onboarding-actions .primary-button,.onboarding-actions .secondary-button{width:auto}.today-start-actions{display:grid;gap:8px}.today-start-actions>button{width:100%}.phrase-card{margin:14px 0 18px;padding:28px;border:1px solid var(--color-border);border-radius:22px;background:#fff}.phrase-training-shell{max-width:820px}.phrase-level-control{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--color-muted);font-size:.9rem}.phrase-level-control select{width:auto;min-width:96px;padding:8px 34px 8px 12px}.phrase-main-action{width:min(100%,320px);margin:20px auto 0}.phrase-card h2{margin:14px 0 18px;font-size:clamp(1.45rem,3vw,2rem)}.phrase-gloss{margin:12px 0 18px;font-size:clamp(1.12rem,2.2vw,1.35rem);font-weight:700;text-align:center}.phrase-example{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:7px;margin:20px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,3vw,1.65rem);line-height:1.7;text-align:center}.phrase-answer{min-width:8ch;max-width:100%;border:0;border-bottom:3px solid var(--color-primary);border-radius:0;padding:3px 8px;background:#f4f8f6;color:var(--color-text);font:inherit;text-align:center}.phrase-filter-button{width:auto;padding:9px 14px}.phrase-answer--error{border-bottom-color:var(--color-danger);background:#fff5f2}.phrase-translation{margin:0 0 16px;color:var(--color-muted);font-size:1.08rem;text-align:center}.phrase-pattern{margin:12px 0 0;color:var(--color-primary-strong);font-weight:800;text-align:center}.stat-card{padding:18px;border-radius:20px;background:#f8fbf9;border:1px solid rgba(47,118,104,.1)}.content-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-block:1rem}.content-pack-grid .stat-card{margin:0}.stat-card dt{color:var(--color-muted);font-size:.95rem}.stat-card dd{margin:10px 0 0;font-size:1.6rem;font-weight:700}.primary-button{border:none;border-radius:999px;padding:15px 24px;background:var(--color-primary);color:#fff;font-size:1rem;font-weight:700;cursor:pointer}.primary-button:hover{background:var(--color-primary-strong);transform:translateY(-1px)}.secondary-link{color:var(--color-primary-strong);font-weight:600}:focus-visible{outline:3px solid rgba(32,122,75,.45);outline-offset:3px}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.app-shell{padding:24px 16px 48px}#root:has(.page-back-control) .app-shell{padding-top:72px}.dashboard-card{padding:24px;border-radius:22px}}.confusables-card,.polysemy-shell,.writing-patterns-shell,.writing-toolkit-shell{width:min(100%,920px)}.confusables-compare-grid,.polysemy-sense-list,.writing-patterns-example-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:24px 0}.confusables-member-card,.polysemy-sense-card,.writing-patterns-example-card{border:1px solid rgba(71,127,116,.18);border-radius:20px;padding:20px;background:#fff;color:var(--color-text);text-align:left}.confusables-member-card{cursor:pointer}.confusables-member-card--active,.polysemy-sense-card--active{border-color:var(--color-primary);box-shadow:0 12px 30px #315f571f;background:#f5faf7}.confusables-member-form,.polysemy-heading,.writing-patterns-pattern-en{color:var(--color-primary-strong);font-family:Georgia,Times New Roman,serif}.confusables-member-form{display:block;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}.confusables-member-pos,.polysemy-pos{display:inline-block;margin:7px 0;color:var(--color-muted);font-weight:800}.confusables-member-gloss,.confusables-member-cue{display:block;margin-top:8px}.confusables-member-gloss,.polysemy-gloss,.writing-patterns-pattern-zh{font-size:clamp(1.16rem,2.2vw,1.42rem);font-weight:800}.confusables-member-example,.confusables-test-example,.polysemy-example,.writing-patterns-example-en{margin:16px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.08rem,2vw,1.28rem);line-height:1.6}.confusables-member-translation,.polysemy-translation,.writing-patterns-example-zh,.writing-patterns-prompt{color:var(--color-muted);font-size:clamp(1.03rem,2vw,1.2rem);line-height:1.65}.confusables-rules,.confusables-test-card,.writing-patterns-card{margin-top:24px;border-radius:22px;padding:24px;background:#f8faf7}.confusables-answer,.writing-patterns-answer,.polysemy-answer-input,.polysemy-inline-input{width:100%;border:2px solid rgba(71,127,116,.28);border-radius:16px;padding:14px 16px;background:#fff;color:var(--color-text);font-size:clamp(1.2rem,2.5vw,1.55rem);outline:none}.confusables-answer:focus,.writing-patterns-answer:focus,.polysemy-answer-input:focus,.polysemy-inline-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #477f741f}.confusables-feedback,.polysemy-feedback,.writing-patterns-feedback{min-height:30px;margin:18px 0;font-weight:800}.confusables-main-action,.polysemy-action{width:100%;margin-top:18px}.polysemy-options{display:grid;gap:12px;margin-top:24px}.polysemy-option{min-height:56px;text-align:left}.polysemy-cue,.writing-patterns-purpose,.writing-patterns-anti-template{margin:10px 0;line-height:1.65}.polysemy-cue--contrast,.writing-patterns-anti-template{color:#8a6335}.writing-patterns-guidance{margin:16px 0 22px;border:1px solid var(--color-border);border-radius:14px;padding:12px 16px;background:#f7faf8cc}.writing-patterns-guidance summary{cursor:pointer;color:var(--color-primary-strong);font-weight:800}.writing-patterns-guidance p,.writing-patterns-guidance ul{margin:10px 0 0;line-height:1.65}.writing-patterns-guidance ul{padding-left:22px}.synonym-usage-boundary{max-width:54rem;margin:10px auto 18px;color:#7b5a34;line-height:1.65;text-align:center}.polysemy-answer-inline{color:var(--color-primary-strong);font-size:1.15em}.writing-patterns-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.writing-patterns-title{font-size:clamp(2rem,4vw,3rem)}.writing-patterns-boundary{max-width:46rem;margin-bottom:0}.writing-patterns-filter{display:grid;gap:6px;min-width:180px;color:var(--color-muted);font-weight:700}.writing-patterns-filter select{border:1px solid var(--color-border);border-radius:12px;padding:10px 12px;background:#fff;color:var(--color-text)}.writing-patterns-pattern-en{margin:6px 0 12px;font-size:clamp(1.55rem,3.3vw,2.35rem);line-height:1.35}.writing-patterns-actions,.writing-patterns-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.writing-toolkit-page{width:min(100%,980px)}.writing-toolkit-header{margin-bottom:1.5rem}.writing-toolkit-summary{max-width:36rem;margin-bottom:0}.writing-toolkit-entry-grid,.writing-toolkit-grid{display:grid;gap:1rem}.writing-toolkit-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.writing-toolkit-entry{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.95rem;min-height:9.75rem;padding:1.3rem;color:var(--color-text);text-decoration:none;background:#fbfaf6;border:1px solid var(--color-border);border-radius:1.2rem}a.writing-toolkit-entry:hover{transform:translateY(-2px);box-shadow:0 1rem 2rem #2e524a14}.writing-toolkit-entry--primary{background:linear-gradient(180deg,#fffef9,#f1f7f4)}.writing-toolkit-entry>span{display:grid;place-items:center;width:3rem;height:3rem;color:var(--color-primary-strong);font-size:1rem;font-weight:800;background:#477f741a;border-radius:.9rem}.writing-toolkit-entry p,.writing-toolkit-entry h2,.writing-toolkit-panel h2,.writing-toolkit-panel p,.writing-toolkit-panel small{margin:0}.writing-toolkit-entry p,.writing-toolkit-entry small,.writing-toolkit-panel-heading p{color:var(--color-muted)}.writing-toolkit-entry h2,.writing-toolkit-panel h2{margin-top:.2rem}.writing-toolkit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-toolkit-panel{padding:1.4rem;background:#f8faf7;border:1px solid var(--color-border);border-radius:1.2rem}.writing-toolkit-panel-heading{margin-bottom:1rem}.writing-toolkit-term-list,.writing-toolkit-checklist{display:grid;gap:.9rem;margin:0;padding-left:1.2rem}.writing-toolkit-term-list li,.writing-toolkit-checklist li{color:var(--color-text)}.writing-toolkit-term-list li{display:grid;gap:.3rem}.writing-toolkit-expression,.writing-toolkit-collocation{font-family:Georgia,Times New Roman,serif;line-height:1.6}.writing-toolkit-expression{color:var(--color-primary-strong);font-size:1.08rem;font-weight:700}.writing-toolkit-collocation{color:#7b5a34;font-size:.98rem}.writing-toolkit-empty{margin-bottom:0}.writing-patterns-score,.confusables-result-title{color:var(--color-primary-strong);font-size:1.45rem;font-weight:800}@media(max-width:640px){.confusables-card,.polysemy-shell,.writing-patterns-shell,.writing-toolkit-shell{padding:24px 18px}.writing-patterns-header,.writing-patterns-footer{align-items:stretch;flex-direction:column}.writing-patterns-filter{width:100%}.writing-toolkit-entry-grid,.writing-toolkit-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.study-card{position:relative;overflow:hidden;border-top:5px solid var(--color-primary)}.round-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.5rem 0 1rem}.round-summary-grid>div{min-width:0;padding:1rem;border:1px solid var(--color-border);border-radius:1rem;background:#477f740e}.round-summary-grid dt{color:var(--color-muted);font-size:.88rem}.round-summary-grid dd{margin:.35rem 0 0;color:var(--color-text);font-size:clamp(1.2rem,2.4vw,1.65rem);font-weight:750}.round-summary-focus,.round-summary-review{margin:.65rem 0 0;color:var(--color-text)}.round-summary-focus{font-weight:700}.round-summary-focus--success{color:var(--color-primary-strong)}.round-summary-review{color:var(--color-muted)}.round-summary-action{display:inline-flex;margin-top:1.4rem;text-decoration:none}@media(max-width:640px){.round-summary-grid{grid-template-columns:1fr}.round-summary-grid>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.round-summary-grid dd{margin:0;text-align:right}}.study-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--color-border)}.study-header .eyebrow{margin-bottom:4px}.study-progress{margin:0;color:var(--color-muted);font-size:.9rem;font-variant-numeric:tabular-nums}.study-header-actions{display:flex;align-items:center;gap:8px}.study-header-button{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:999px;padding:8px 12px;background:#f0f3f1;color:var(--color-muted);font:inherit;font-size:.88rem;font-weight:650;cursor:pointer}.study-header-button:hover,.study-header-button[aria-pressed=true]{background:#e5ebe8;color:var(--color-text)}.study-header-button:disabled{opacity:.42;cursor:not-allowed}.study-prompt{display:grid;align-content:center;justify-items:center;min-height:290px;padding:38px 0 30px;text-align:center}.study-prompt--input{min-height:350px}.study-prompt--input h1{color:var(--color-primary-strong);font-size:clamp(3.2rem,10vw,5.2rem);letter-spacing:-.035em}.study-pos,.study-gloss,.study-recall-cue,.study-translation,.study-example-preview,.study-cloze{margin:10px 0 0}.study-pos{color:var(--color-primary);font-weight:700}.study-gloss,.study-recall-cue{max-width:42rem;font-size:clamp(1.55rem,3vw,2.05rem);font-weight:700;line-height:1.55}.study-recall-cue{max-width:40rem;margin:14px 0 0}.study-task-label{margin:0 0 16px;color:var(--color-muted);font-size:.95rem;font-weight:650;letter-spacing:.04em}.study-example-preview,.study-translation{color:var(--color-muted)}.study-cloze{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.7}.study-prompt--context{gap:22px}.study-cloze-input{min-width:6ch;max-width:min(22ch,72vw);margin:0 .16em;padding:0 .14em .05em;border:0;border-bottom:3px solid var(--color-primary);border-radius:6px 6px 2px 2px;background:#dfeee88f;color:var(--color-text);font:inherit;font-weight:700;letter-spacing:.04em;line-height:1.25;text-align:center;vertical-align:baseline}.study-cloze-input:focus{border-bottom-color:var(--color-primary-strong);outline:none;box-shadow:0 3px #477f7433}.cloze-gap{display:inline-block;min-width:6ch;border-bottom:2px solid var(--color-primary);color:transparent}.study-translation{max-width:42rem;color:var(--color-text);font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.7}.translation-highlight{margin:0 .06em;padding:.06em .2em;border-radius:.3em;background:#dcece6;color:#285e54;font-weight:850}.translation-sense-cue{display:inline-flex;align-items:center;gap:8px;margin:-10px 0 0;color:var(--color-muted);font-size:.92rem;font-weight:700}.study-answer-field{display:grid;gap:8px;width:min(100%,640px);margin:0 auto 18px;color:var(--color-muted);font-weight:700}.study-answer-field input{width:100%;border:2px solid rgba(71,127,116,.26);border-radius:18px;padding:19px 22px;background:var(--color-surface);color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.55rem;letter-spacing:.06em}.study-answer-field input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #477f7424}.study-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0 0}.secondary-button{border:1px solid rgba(47,118,104,.25);border-radius:999px;padding:9px 13px;background:#fff;color:var(--color-primary-strong);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.secondary-button:hover{background:#edf4f1}.secondary-button--quiet{border-color:transparent;background:#f5f6f5;color:var(--color-muted)}.secondary-button--quiet:hover{background:#ecefed;color:var(--color-text)}.study-actions{display:grid;gap:8px;padding-top:4px}.precheck-confirmation{width:min(100%,640px);margin:12px auto 0;padding:20px;border:1px solid rgba(47,118,104,.22);border-radius:18px;background:#f4faf7;text-align:center}.precheck-confirmation h2{margin:0 0 8px;font-size:clamp(1.25rem,3vw,1.65rem)}.precheck-confirmation>p:not(.eyebrow){margin:0;color:var(--color-muted)}.precheck-confirmation-actions{display:grid;gap:8px;margin-top:18px}.precheck-confirmation-actions>button{width:100%}.study-continue{width:100%}.study-input-navigation{display:grid;grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);gap:10px}.study-previous{width:100%;border-radius:14px}.study-previous:disabled{cursor:default;opacity:.42}.study-hint{width:min(100%,640px);margin:12px auto;padding:12px 14px;border-left:4px solid #b68725;border-radius:0 12px 12px 0;background:#fff8e7;color:#684d14}.study-answer-reveal{display:grid;gap:4px;text-align:center}.study-answer-reveal span,.study-answer-reveal small{color:#7a5c1b}.study-answer-reveal strong{color:#4f3a0d;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.35rem;letter-spacing:.04em}kbd{border:1px solid rgba(47,118,104,.16);border-radius:5px;padding:1px 5px;background:#edf5f2;color:var(--color-primary-strong);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700}.study-error{margin:16px 0;padding:12px 14px;border-radius:12px;background:#fbf0ed;color:var(--color-danger);font-weight:700}.answer-correction{width:min(100%,640px);margin:0 auto 18px}.correction-field{display:grid;gap:7px;padding:18px 22px 20px;border:2px solid rgba(173,85,75,.25);border-radius:18px;background:#fffaf7;text-align:center}.correction-label{color:var(--color-muted);font-size:.8rem;font-weight:700}.correction-answer,.correction-previous,.correction-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.55rem;letter-spacing:.06em}.correction-answer{color:var(--color-primary-strong)}.correction-previous,.correction-field input{min-height:56px;padding:12px 14px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface)}.correction-previous{cursor:text}.correction-previous:focus,.correction-field input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #477f7421}.correction-field input{width:100%;color:var(--color-text);text-align:center}.correction-character--wrong{color:var(--color-danger);font-weight:800}.correction-empty{color:var(--color-muted)}.recognition-suggestion{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:10px 0 0;color:var(--color-muted);font-size:.9rem}.recognition-suggestion strong{color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.recognition-suggestion span:before{content:"· "}.correction-confirm{width:100%;margin-top:12px}@media(max-width:640px){.study-header{gap:12px}.study-prompt{min-height:240px;padding:30px 0 24px}.study-prompt--input{min-height:280px}.study-gloss,.study-recall-cue{font-size:clamp(1.4rem,7vw,1.75rem)}.study-answer-field input,.correction-answer,.correction-previous,.correction-field input{font-size:1.35rem}.study-header-button kbd{display:none}.study-header-actions{align-items:flex-end;flex-direction:column}.study-controls{align-items:stretch;flex-direction:column}.study-controls .secondary-button{width:100%}.study-input-navigation{grid-template-columns:minmax(96px,.4fr) minmax(0,1fr)}.recognition-suggestion{align-items:center;flex-direction:column}.recognition-suggestion span:before{content:""}}.study-input-details{display:grid;gap:10px;margin-top:18px;width:min(100%,680px)}.study-lemma-button{display:inline-flex;align-items:baseline;justify-content:center;gap:.08em;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer}.study-lemma-button:hover{color:var(--color-primary)}.study-lemma--segmented{display:inline-flex;align-items:baseline;justify-content:center;gap:.08em}.study-lemma-segment{padding:0 .04em .04em;border-bottom:.1em solid rgba(19,111,87,.3)}.study-lemma-segment+.study-lemma-segment{border-left:1px solid rgba(19,111,87,.28)}.study-lemma-segment--prefix,.study-lemma-segment--suffix{color:var(--color-primary-strong)}.study-example-preview,.study-morphology{margin:0;padding:14px 16px;border-radius:14px;background:#f7faf9;color:var(--color-muted);text-align:left}.study-example-preview p{margin:4px 0}.study-example-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.study-example-audio{display:inline-flex;align-items:center;gap:6px;margin:-6px -6px -6px 0;padding:6px 8px;border:0;border-radius:999px;background:#edf5f2;color:var(--color-primary-strong);font:inherit;cursor:pointer}.study-example-audio:hover{background:#dfece7}.study-example-target{color:var(--color-primary-strong);font-weight:850}.study-morphology p{margin:4px 0 0}.study-detail-label{color:var(--color-primary-strong);font-size:.78rem;font-weight:800;letter-spacing:.08em}.dashboard-links{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:22px}.dashboard-note,.muted-text{color:var(--color-muted)}.dashboard-note{margin:-10px 0 22px}.section-title{margin:30px 0 12px;font-size:1.25rem}.wordbook-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.wordbook-card{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;min-height:170px;padding:20px;border:1px solid var(--color-border);border-radius:18px;background:#fbfdfc}.wordbook-card h3{margin:10px 0 6px;font-size:1.25rem}.wordbook-card p{margin:5px 0}.wordbook-card>button{flex:0 0 auto;min-width:130px;white-space:nowrap}.wordbook-card--focused{display:block;background:#fbfaf6}.primary-link,.wordbook-detail-link{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;border-radius:12px;font-weight:800;text-decoration:none}.primary-link{min-height:44px;padding:0 16px;background:var(--color-primary);color:#fff}.wordbook-detail-link{min-height:40px;color:var(--color-primary-strong)}.wordbook-empty-note{padding:16px;border:1px dashed var(--color-border);border-radius:14px;color:var(--color-muted)}.wordbook-picker-toolbar,.wordbook-create-bar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:22px}.wordbook-picker-toolbar label,.wordbook-create-bar label,.focused-book-search,.focused-past-answer{display:grid;flex:1 1 220px;gap:7px;color:var(--color-muted);font-size:.88rem;font-weight:750}.wordbook-picker-toolbar input,.wordbook-picker-toolbar select,.wordbook-create-bar input,.focused-book-search input,.focused-past-answer input{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--color-border);border-radius:12px;background:#fff;color:var(--color-text);font:inherit}.wordbook-selection-summary{margin:16px 0 10px;color:var(--color-muted)}.wordbook-spelling-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:52vh;padding:10px;overflow:auto;border:1px solid var(--color-border);border-radius:16px;background:#f8faf9}.wordbook-spelling-row{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:10px;border-radius:10px;background:#fff;cursor:pointer}.wordbook-spelling-row>span{grid-column:2;color:var(--color-primary-strong);font-size:.78rem}.wordbook-spelling-row--unavailable{opacity:.48;cursor:not-allowed}.wordbook-load-more{margin-top:12px}.focused-book-search{max-width:520px;margin-top:20px}.focused-book-start{margin-top:8px}.focused-sense-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.focused-sense-row{padding:18px;border:1px solid var(--color-border);border-radius:16px;background:#fbfdfc}.focused-lemma{margin-right:10px;font-size:1.35rem}.focused-pos{color:var(--color-muted);font-weight:750}.focused-common{margin:15px 0 7px;color:var(--color-muted)}.focused-target{margin:0;color:#a44f18;font-size:1.18rem;font-weight:850}.focused-target-list{display:grid;gap:7px}.focused-target span{color:var(--color-muted);font-size:.88em}.hot-topic-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:14px;align-items:end;margin:18px 0}.hot-topic-filters label{display:grid;gap:7px;margin:0}.hot-topic-filters select{min-height:48px}.hot-topic-expression{display:block;margin:14px 0 8px;color:var(--color-ink);font-size:clamp(1.15rem,2.5vw,1.55rem);line-height:1.25}@media(max-width:620px){.hot-topic-filters{grid-template-columns:1fr}}.focused-past-card{max-width:900px}.focused-past-progress{color:var(--color-muted);font-weight:750}.focused-past-prompt{display:grid;place-items:center;gap:8px;min-height:180px;margin:18px 0;border-radius:18px;background:#f4f8f6}.focused-past-prompt strong{font-size:clamp(2.8rem,9vw,5.2rem);letter-spacing:-.04em}.focused-past-answer{max-width:560px;margin:0 auto}.focused-past-answer input{min-height:64px;text-align:center;font-size:1.8rem;font-weight:800}.focused-past-feedback{max-width:560px;margin:14px auto 0;padding:14px 16px;border-radius:14px}.focused-past-feedback--wrong{background:#fff0ee;color:#a2352b}.focused-past-feedback--wrong p{margin:.2rem 0}.focused-past-attempt{color:var(--color-text);font-family:var(--font-display);font-size:1.08em;font-weight:700;letter-spacing:.04em}.focused-past-attempt--wrong{color:#b43c32}.focused-past-feedback--correct{background:#edf8f2;color:var(--color-primary-strong)}.focused-past-feedback--correct p{margin:6px 0}.focused-past-note{max-width:560px;margin:14px auto;color:var(--color-muted);text-align:center}.focused-source-note{color:var(--color-muted);font-size:.82rem;line-height:1.55;margin:1.15rem 0 0}.focused-source-note a{color:var(--color-accent-strong, #245f55)}.wordbook-card--flagged{background:#f7faf5}.wordbook-card--candidate{display:block;min-height:135px;background:#f8faf9}.wordbook-card--selected{border-color:#2f76688a;box-shadow:0 0 0 3px #2f766814;background:#f3faf7}.wordbook-current-scope,.learning-scope-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 0;padding:13px 16px;border:1px solid rgba(47,118,104,.2);border-radius:14px;background:#f4faf7}.wordbook-current-scope span,.learning-scope-summary span{color:var(--color-muted);font-size:.9rem;font-weight:700}.wordbook-current-scope strong,.learning-scope-summary strong{color:var(--color-primary-strong)}.wordbook-membership-callout{align-items:center;background:#f3f7f1;border:1px solid rgba(47,118,104,.28);border-radius:18px;display:flex;gap:20px;justify-content:space-between;margin:18px 0 6px;padding:18px 20px}.wordbook-membership-callout strong{color:#275e50;font-size:1.08rem}.wordbook-membership-callout p{color:var(--color-muted);margin:5px 0 0}.wordbook-membership-callout .primary-link{flex:0 0 auto}.learning-scope-summary>div{display:grid;gap:3px}.learning-scope-note{margin:7px 3px 0;color:var(--color-muted);font-size:.88rem}.wordbook-available-count{color:var(--color-text);font-size:1.05rem;font-weight:800}.wordbook-progress{width:100%;height:8px;margin:9px 0 4px;overflow:hidden;border:0;border-radius:999px;background:#e5ece9;color:var(--color-primary)}.wordbook-progress::-webkit-progress-bar{border-radius:999px;background:#e5ece9}.wordbook-progress::-webkit-progress-value{border-radius:999px;background:var(--color-primary)}.wordbook-progress::-moz-progress-bar{border-radius:999px;background:var(--color-primary)}.wordbook-remaining-count{min-height:2.6em}.wordbook-advanced{margin-top:30px;border:1px solid var(--color-border);border-radius:16px;background:#fbfdfc}.wordbook-advanced>summary{padding:16px 18px;color:var(--color-primary-strong);font-weight:800;cursor:pointer}.wordbook-advanced[open]>summary{border-bottom:1px solid var(--color-border)}.wordbook-advanced>.supporting-text{margin:16px 18px}.wordbook-advanced>.wordbook-grid{padding:0 18px 18px}.wordbook-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf1ef;color:var(--color-muted);font-size:.78rem;font-weight:750}.wordbook-status--ready{background:#e5f5ee;color:var(--color-primary-strong)}.wordbook-status--personal{background:#fff0d7;color:#875400}@media(max-width:640px){.wordbook-card{align-items:stretch;flex-direction:column}.wordbook-current-scope,.learning-scope-summary,.wordbook-membership-callout{align-items:flex-start;flex-direction:column;gap:4px}.wordbook-membership-callout .primary-link{margin-top:10px}}.summary-list,.mistake-list,.error-summary-list{margin:0;padding:0;list-style:none}.summary-list{display:grid;gap:10px}.summary-row,.mistake-row{border:1px solid rgba(47,118,104,.14);border-radius:16px;background:#fbfdfc}.summary-row{padding:14px 16px}.summary-row h3,.mistake-row h3{margin:0;color:var(--color-primary-strong);font-size:1.05rem}.summary-row p,.mistake-row p{margin:6px 0 0}.error-summary-list{display:flex;flex-wrap:wrap;gap:8px}.error-summary-list li{padding:7px 10px;border-radius:999px;background:#fff5f3;color:var(--color-danger);font-size:.92rem;font-weight:700}.mistake-header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:30px}.mistake-header .section-title{margin:0}.select-field,.number-field,.text-field{display:grid;gap:7px;color:var(--color-muted);font-size:.95rem;font-weight:700}.select-field select,.number-field input,.text-field input{min-height:42px;border:1px solid rgba(47,118,104,.28);border-radius:10px;padding:8px 10px;background:#fff;color:var(--color-text);font:inherit}.mistake-list{display:grid;gap:10px;margin-top:14px}.mistake-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.settings-form{display:grid;gap:18px}.settings-choice-fieldset{display:grid;gap:.7rem;min-width:0;margin:0;padding:1rem;border:1px solid var(--color-border);border-radius:1rem}.settings-choice-fieldset legend{padding-inline:.35rem;color:var(--color-primary-strong);font-weight:800}.settings-choice-help{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.55}.settings-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.settings-choice-grid--frequency{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-choice-card{display:flex;gap:.55rem;align-items:flex-start;min-width:0;padding:.75rem;color:var(--color-text);border:1px solid var(--color-border);border-radius:.8rem;background:#ffffffb8;cursor:pointer}.settings-choice-card:has(input:checked){border-color:var(--color-primary);background:#477f741a}.settings-choice-card input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--color-primary)}.settings-choice-card span{display:grid;gap:.25rem;min-width:0}.settings-choice-card small{color:var(--color-muted);line-height:1.4}@media(max-width:680px){.settings-choice-grid,.settings-choice-grid--frequency{grid-template-columns:repeat(2,minmax(0,1fr))}}.account-form{display:grid;gap:14px;max-width:560px}.turnstile-challenge{display:grid;width:min(100%,320px);gap:6px}.turnstile-challenge>div{min-height:65px}.turnstile-status{min-height:1.25em;margin:0;color:var(--color-muted);font-size:.85rem}.premium-sync-banner{position:fixed;z-index:160;top:14px;left:50%;display:flex;width:min(calc(100% - 28px),720px);align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;color:var(--color-text);background:color-mix(in srgb,var(--color-surface) 94%,transparent);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-soft);transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.premium-sync-banner>div{display:grid;flex:1;gap:4px;min-width:0}.premium-sync-banner span{overflow:hidden;color:var(--color-muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.premium-sync-banner progress{width:100%;height:6px;accent-color:var(--color-primary)}.premium-sync-banner--ready{border-color:#3f756047}.premium-sync-banner--failed{border-color:#9d483947;background:color-mix(in srgb,#fff8f5 94%,transparent)}.premium-sync-banner--locked{border-color:#9d6f394d;background:color-mix(in srgb,#fffaf0 95%,transparent)}.account-switch-warning{margin-top:18px;padding:14px;border:1px solid rgba(157,72,57,.25);border-radius:14px;background:#fff8f5}.account-switch-warning p{margin:0 0 12px;color:#6d3b32}.danger-button{padding:10px 14px;border:1px solid rgba(157,72,57,.4);border-radius:12px;background:#fff;color:#8b3f32;font:inherit;font-weight:700;cursor:pointer}.danger-button:disabled{cursor:not-allowed;opacity:.6}.text-button{align-self:center;padding:9px 6px;border:0;background:transparent;color:var(--color-primary-strong);font:inherit;font-weight:700;cursor:pointer}.text-button:disabled{cursor:not-allowed;opacity:.5}.settings-form .primary-button{width:100%}.checkbox-field{display:flex;align-items:center;gap:10px;color:var(--color-text);font-weight:700}.checkbox-field input{width:1.1rem;height:1.1rem;accent-color:var(--color-primary)}.settings-saved{margin:0 0 16px;padding:10px 12px;border-radius:12px;background:#effaf3;color:var(--color-success);font-weight:700}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media(max-width:640px){.mistake-header,.mistake-row{align-items:stretch;flex-direction:column}.select-field{width:100%}}.settings-safety{margin-top:34px;padding-top:28px;border-top:1px solid rgba(47,118,104,.16)}.settings-account-anchor{order:-1;margin-top:0;margin-bottom:34px;padding-top:0;padding-bottom:28px;border-top:0;border-bottom:1px solid rgba(47,118,104,.16);scroll-margin-top:calc(5rem + env(safe-area-inset-top))}.settings-dashboard-card{display:flex;flex-direction:column}.operator-progress-shell{width:min(100%,1120px)}.operator-admin-nav{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.operator-content-workbook{display:grid;gap:16px;margin:18px 0 26px;padding:20px;border:1px solid rgba(47,118,104,.2);border-radius:18px;background:linear-gradient(145deg,#fffefa,#2f76680f)}.operator-content-workbook h2,.operator-content-workbook p{margin-bottom:0}.operator-content-workbook-actions{display:flex;flex-wrap:wrap;gap:10px}.operator-content-workbook-review{display:grid;justify-items:start;gap:10px;padding:14px 16px;border:1px solid rgba(47,118,104,.18);border-radius:14px;background:#ffffffd1}.operator-content-workbook-review ul{margin:0;padding-left:1.25rem}.operator-content-workbook-review li+li{margin-top:6px}.operator-content-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}.operator-content-module{display:grid;gap:7px;min-height:112px;padding:16px;border:1px solid rgba(47,118,104,.18);border-radius:16px;background:#fbfdfc;color:var(--color-text);text-align:left;cursor:pointer}.operator-content-module:hover,.operator-content-module[aria-pressed=true]{border-color:#2f76687a;background:#2f76681a;box-shadow:0 10px 24px #204c4514}.operator-content-module strong{color:var(--color-primary-strong);font-size:1.02rem}.operator-content-module span{color:var(--color-muted);font-size:.88rem;line-height:1.55}.operator-content-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;margin:0 0 26px;padding:18px;border:1px solid rgba(47,118,104,.16);border-radius:18px;background:#fffefa}.operator-content-toolbar .text-field{margin:0}.operator-content-target{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:14px 16px;border:1px solid rgba(47,118,104,.2);border-radius:14px;background:#2f766812}.operator-content-target>div{display:grid;gap:4px;min-width:0}.operator-content-target span{overflow-wrap:anywhere;color:var(--color-muted);font-size:.84rem}.operator-feedback-toolbar{display:grid;grid-template-columns:minmax(150px,.4fr) minmax(280px,1fr) auto auto;align-items:end;gap:12px;margin:0 0 24px;padding:18px;border:1px solid rgba(47,118,104,.16);border-radius:18px;background:#fffefa}.operator-feedback-toolbar .text-field,.operator-feedback-action .text-field{margin:0}.operator-feedback-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:10px 0 18px}.operator-feedback-heading h2,.operator-feedback-heading p{margin-bottom:0}.operator-feedback-heading>strong{color:var(--color-primary-strong);font-size:1.1rem}.operator-feedback-list{display:grid;gap:16px;margin:0;padding:0;list-style:none}.operator-feedback-entry{padding:20px;border:1px solid rgba(47,118,104,.18);border-radius:18px;background:#fffefa}.operator-feedback-entry>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.operator-feedback-entry>header>div{display:grid;gap:5px;min-width:0}.operator-feedback-entry h3,.operator-feedback-entry p{margin:0}.operator-feedback-entry h3{color:var(--color-primary-strong);font-size:1.55rem}.operator-feedback-stage,.operator-feedback-status{width:fit-content;padding:4px 9px;border-radius:999px;font-size:.8rem;font-weight:700}.operator-feedback-stage{background:#2f76681a;color:var(--color-primary-strong)}.operator-feedback-status{flex:0 0 auto;background:#edf1ef;color:var(--color-muted)}.operator-feedback-status--open{background:#b4672f24;color:#8b4d20}.operator-feedback-status--triaged{background:#2f766821;color:var(--color-primary-strong)}.operator-feedback-status--fixed{background:#2d7c4a24;color:#276a41}.operator-feedback-entry blockquote{margin:18px 0;padding:14px 16px;border-left:4px solid rgba(47,118,104,.5);border-radius:0 12px 12px 0;background:#2f766811;color:var(--color-text);font-size:1rem;line-height:1.65;white-space:pre-wrap}.operator-feedback-context{margin:0 0 18px;padding:16px;border:1px solid rgba(47,118,104,.14);border-radius:14px;background:#2f76680b}.operator-feedback-context>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.operator-feedback-context h4,.operator-feedback-context .eyebrow{margin:0}.operator-feedback-context h4{margin-top:3px;color:var(--color-primary-strong);font-size:1.05rem}.operator-feedback-entry .operator-feedback-context dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 0}.operator-feedback-context-wide{grid-column:1 / -1}.operator-feedback-entry dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px;margin:0 0 18px}.operator-feedback-entry dl>div{display:grid;gap:3px;min-width:0}.operator-feedback-entry dt{color:var(--color-muted);font-size:.82rem;font-weight:700}.operator-feedback-entry dd{margin:0;overflow-wrap:anywhere;color:var(--color-text);font-size:.9rem}.operator-feedback-action{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(280px,1fr) auto;align-items:end;gap:12px;padding-top:18px;border-top:1px solid rgba(47,118,104,.13)}.operator-feedback-action textarea{min-height:82px;resize:vertical}.operator-feedback-notice{margin:0 0 18px;padding:12px 15px;border-radius:12px;background:#2d7c4a1f;color:#276a41;font-weight:700}.operator-content-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:6px 0 18px}.operator-content-heading h2,.operator-content-heading p{margin-bottom:0}.operator-content-actions{display:flex;flex:0 0 auto;align-items:center;gap:14px}.operator-content-actions strong{color:var(--color-primary-strong)}.operator-content-export-state{margin:-8px 0 16px;color:var(--color-primary-strong);font-size:.9rem}.operator-content-list{display:grid;gap:10px}.operator-content-entry{overflow:hidden;border:1px solid rgba(47,118,104,.17);border-radius:16px;background:#fffefa}.operator-content-entry summary{display:grid;grid-template-columns:minmax(120px,auto) minmax(160px,.8fr) minmax(240px,1.5fr);align-items:center;gap:14px;padding:15px 18px;cursor:pointer;list-style-position:inside}.operator-content-entry[open] summary{border-bottom:1px solid rgba(47,118,104,.13);background:#2f766811}.operator-content-entry summary>span{width:fit-content;padding:4px 9px;border-radius:999px;background:#2f76681f;color:var(--color-primary-strong);font-size:.8rem;font-weight:700}.operator-content-entry summary>strong{overflow-wrap:anywhere;color:var(--color-text)}.operator-content-entry summary>small{overflow-wrap:anywhere;color:var(--color-muted);font-size:.9rem;line-height:1.5}.operator-content-entry dl{display:grid;gap:0;margin:0;padding:4px 18px 18px}.operator-content-entry dl>div{display:grid;grid-template-columns:minmax(130px,.24fr) minmax(0,1fr);gap:18px;padding:13px 0;border-bottom:1px solid rgba(47,118,104,.1)}.operator-content-entry dl>div:last-child{border-bottom:0}.operator-content-entry dt{color:var(--color-muted);font-weight:700}.operator-content-entry dd{margin:0;overflow-wrap:anywhere;color:var(--color-text);line-height:1.65;white-space:pre-wrap}.operator-progress-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:end;gap:12px;margin:24px 0}.operator-progress-toolbar .text-field{margin:0}.operator-progress-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}.operator-progress-summary>div{display:grid;gap:4px;padding:16px;border:1px solid rgba(47,118,104,.16);border-radius:16px;background:#fbfdfc}.operator-progress-summary span,.operator-account-list dt,.operator-account-list header span{color:var(--color-muted);font-size:.9rem}.operator-progress-summary strong{color:var(--color-primary-strong);font-size:1.25rem}.operator-account-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.operator-account-list>li{padding:18px;border:1px solid rgba(47,118,104,.18);border-radius:18px;background:#fffefa}.operator-account-list header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid rgba(47,118,104,.12)}.operator-account-list header>div{display:grid;gap:4px;min-width:0}.operator-account-list header strong{overflow-wrap:anywhere;color:var(--color-text);font-size:1.05rem}.operator-account-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;margin:16px 0 0}.operator-account-list dl>div{display:grid;gap:4px}.operator-account-list dd{margin:0;color:var(--color-text);font-weight:700}.operator-progress-state{display:grid;justify-items:start;gap:16px;margin:24px 0}.operator-progress-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:24px 0 16px}@media(max-width:720px){.operator-progress-toolbar,.operator-progress-summary,.operator-account-list dl,.operator-content-modules,.operator-content-toolbar,.operator-feedback-toolbar,.operator-feedback-action,.operator-feedback-entry dl,.operator-content-entry summary,.operator-content-entry dl>div{grid-template-columns:1fr}.operator-progress-toolbar .primary-button,.operator-progress-toolbar .secondary-button,.operator-content-workbook-actions .primary-button,.operator-content-workbook-actions .secondary-button{width:100%}.operator-account-list header{align-items:stretch;flex-direction:column;gap:8px}.operator-content-module{min-height:auto}.operator-content-heading{align-items:stretch;flex-direction:column;gap:12px}.operator-content-target{align-items:stretch;flex-direction:column}.operator-feedback-heading,.operator-feedback-entry>header,.operator-feedback-context>header{align-items:stretch;flex-direction:column;gap:12px}.operator-feedback-toolbar .primary-button,.operator-feedback-toolbar .secondary-button,.operator-feedback-action .primary-button{width:100%}.operator-content-actions{justify-content:space-between}}.settings-safety h2,.import-report h3{margin:0 0 10px;color:var(--color-primary-strong);font-size:1.2rem}.settings-safety .supporting-text{margin-bottom:18px}.speech-test-actions{display:flex;flex-wrap:wrap;gap:10px}.speech-test-result{min-height:1.5em;margin:14px 0 0;color:var(--color-muted)}.entitlement-summary{margin-bottom:18px}.entitlement-summary h3,.billing-plan h3{margin:0 0 10px;color:var(--color-text);font-size:1rem}.entitlement-summary>p{margin:0;color:var(--color-muted)}.entitlement-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(47,118,104,.16);border-radius:13px;background:#fbfdfc}.entitlement-row>span:first-child{display:grid;gap:2px}.entitlement-row small{color:var(--color-muted)}.entitlement-row.is-grace{border-color:#ae855052;background:#fffaf1}.entitlement-row.is-expired,.entitlement-row.is-revoked,.entitlement-row.is-refunded{border-color:#9d483933;background:#fff8f5}.billing-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px}.billing-plan{padding:18px;border:1px solid rgba(47,118,104,.18);border-radius:16px;background:#fbfdfc}.billing-plan .primary-button{width:100%;margin-top:12px}.billing-price{margin:0;color:var(--color-primary-strong);font-size:1.35rem;font-weight:800}.billing-price small{color:var(--color-muted);font-size:.82rem}.billing-portal-button{margin-top:12px}.safety-status-list{display:grid;gap:10px;margin:0}.safety-status-list div{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:12px;padding:11px 13px;border:1px solid rgba(47,118,104,.12);border-radius:12px;background:#fbfdfc}.safety-status-list dt{color:var(--color-muted);font-weight:700}.safety-status-list dd{margin:0;font-variant-numeric:tabular-nums}.backup-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 12px}.file-action{position:relative;display:inline-flex;align-items:center;justify-content:center}.file-action input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.backup-reminder,.backup-warning{margin:14px 0;padding:11px 13px;border-radius:12px;background:#fff8e7;color:#684d14;font-weight:700}.import-report{margin-top:18px;padding:18px;border:1px solid rgba(47,118,104,.18);border-radius:16px;background:#f9fcfb}.import-report p{margin:10px 0 0}.import-report details{margin-top:14px}.import-report summary{color:var(--color-primary-strong);font-weight:700;cursor:pointer}.conflict-list{display:grid;gap:8px;margin:12px 0 0;padding-left:20px;color:var(--color-muted);font-size:.9rem}@media(max-width:640px){.backup-actions>*{flex:1 1 100%}.safety-status-list div{grid-template-columns:1fr;gap:3px}}.pwa-update-prompt{position:fixed;z-index:20;right:20px;bottom:20px;width:min(calc(100% - 40px),420px);padding:16px;border:1px solid rgba(47,118,104,.2);border-radius:18px;background:#fffffffa;box-shadow:var(--shadow-soft);pointer-events:none}.pwa-update-prompt button{pointer-events:auto}.pwa-update-prompt p{margin:0;color:var(--color-text);font-weight:700}.pwa-update-prompt>.secondary-button,.pwa-update-actions{margin-top:12px}.pwa-update-actions{display:flex;flex-wrap:wrap;gap:10px}.pwa-update-actions .primary-button{padding:10px 16px}@media(max-width:640px){.pwa-update-prompt{right:16px;bottom:16px;width:calc(100% - 32px)}}.reading-entry-link{color:var(--color-primary)}.marketing-page{min-height:100vh;color:var(--color-text);background:radial-gradient(circle at 86% 8%,rgba(89,119,104,.16),transparent 30rem),linear-gradient(180deg,#f8f5ee,#f2eee5 58%,#e9eee8)}.marketing-nav{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto;padding:1.1rem 2rem;background:#f8f5eee0;border-bottom:1px solid rgba(48,61,54,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}#root:has(.page-back-control) .marketing-nav{padding-left:max(5rem,calc(4rem + env(safe-area-inset-left)))}.marketing-brand{color:var(--color-text);font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:700;text-decoration:none}.marketing-nav nav{display:flex;align-items:center;gap:1.2rem}.marketing-nav nav a{color:var(--color-muted);font-size:.9rem;font-weight:650;text-decoration:none}.marketing-nav .marketing-nav-cta{padding:.65rem 1rem;color:#fff;background:var(--color-primary);border-radius:999px}.marketing-hero,.marketing-section,.marketing-footer{width:min(1120px,calc(100% - 3rem));margin-inline:auto}.marketing-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);gap:clamp(2rem,6vw,6rem);align-items:center;min-height:72vh;padding:5rem 0 4rem}.marketing-kicker{margin:0 0 .85rem;color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.marketing-hero h1{max-width:12ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,6.8vw,5.8rem);line-height:.98;letter-spacing:-.055em}.marketing-lead{max-width:42rem;margin:1.7rem 0 0;color:var(--color-muted);font-size:clamp(1rem,2vw,1.2rem);line-height:1.8}.marketing-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.marketing-actions a,.marketing-custom>a,.marketing-pricing-options>a{text-decoration:none}.marketing-fineprint{max-width:40rem;margin-top:1rem;color:var(--color-muted);font-size:.8rem}.marketing-hero-card{position:relative;overflow:hidden;padding:clamp(2rem,5vw,3.5rem);color:#f9fbf7;background:#253c33;border:1px solid rgba(255,255,255,.1);border-radius:2.25rem;box-shadow:0 2.2rem 5rem #27362f38}.marketing-hero-card:after{position:absolute;right:-4rem;bottom:-5rem;width:13rem;height:13rem;content:"";background:#e4ae573b;border-radius:50%}.marketing-hero-card>span,.marketing-hero-card small{color:#f9fbf7ad}.marketing-hero-card strong{display:block;margin-top:3rem;color:#f0c777;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,7vw,5.3rem)}.marketing-hero-card p{margin:.3rem 0 2.5rem;font-size:1.15rem}.marketing-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-bottom:.8rem}.marketing-progress i{height:.28rem;background:#f0c777;border-radius:999px}.marketing-progress i:nth-child(n+3){background:#fff3}.marketing-section{padding:clamp(4rem,9vw,7.5rem) 0;border-top:1px solid rgba(48,61,54,.12)}.marketing-section>h2,.marketing-section>div>h2{max-width:18ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.05;letter-spacing:-.04em}.marketing-stage-grid,.marketing-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:3rem}.marketing-stage-grid article,.marketing-feature-grid article{padding:1.6rem;background:#ffffff80;border:1px solid rgba(48,61,54,.12);border-radius:1.25rem}.marketing-stage-grid article>span{color:var(--color-primary);font-family:Georgia,Times New Roman,serif;font-size:2rem}.marketing-stage-grid h3,.marketing-feature-grid h3{margin:1.4rem 0 .55rem;font-size:1.15rem}.marketing-stage-grid p,.marketing-feature-grid p,.marketing-custom>p{color:var(--color-muted);line-height:1.75}.marketing-focus{display:grid;grid-template-columns:.75fr 1.25fr;gap:3rem}.marketing-focus .marketing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.marketing-custom{text-align:center}.marketing-custom>h2,.marketing-custom>p{max-width:780px;margin-inline:auto}.marketing-custom>p{margin-block:1.4rem 2rem;font-size:1.05rem}.marketing-pricing{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:4rem;align-items:start}.marketing-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.marketing-pricing article{padding:1.35rem;background:#fffdf8;border:1px solid rgba(48,61,54,.14);border-radius:1.5rem;box-shadow:0 1rem 3rem #27362f14}.marketing-pricing article>span{display:block;color:var(--color-muted)}.marketing-pricing article>strong{display:block;margin:.45rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3rem)}.marketing-pricing-options>p{margin:1.2rem 0;color:var(--color-muted);line-height:1.7}.marketing-pricing-options>.marketing-billing-status{display:inline-flex;width:fit-content;margin:0;padding:7px 12px;border:1px solid rgba(173,85,75,.2);border-radius:999px;background:#fff5f2;color:#8d443d;font-size:.92rem;font-weight:800}.marketing-footer{display:flex;justify-content:space-between;padding:2rem 0 3rem;color:var(--color-muted);border-top:1px solid rgba(48,61,54,.12)}.marketing-footer nav{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;justify-content:flex-end}.legal-page{width:min(100% - 2rem,920px);margin:0 auto;padding-bottom:4rem}.not-found-page{display:grid;min-height:100vh;place-items:center}.not-found-page .study-card{width:min(100%,680px);text-align:center}.not-found-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem}.not-found-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.legal-header{display:flex;align-items:center;justify-content:space-between;min-height:5.5rem;border-bottom:1px solid rgba(48,61,54,.12)}.legal-document{padding:clamp(2.5rem,7vw,5rem) clamp(1.25rem,7vw,5rem);margin:2rem 0 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:2rem;box-shadow:var(--shadow-soft)}.legal-document>h1{margin-bottom:1.5rem;font-family:Georgia,Songti SC,serif;font-size:clamp(2.5rem,7vw,4.5rem)}.legal-document section{padding-top:1.75rem;margin-top:1.75rem;border-top:1px solid var(--color-border)}.legal-document section h2{margin:0 0 .65rem;font-size:1.25rem}.legal-document section p,.legal-document section li{color:var(--color-muted);line-height:1.85}.legal-document section p{margin:0}.legal-document section ul{padding-left:1.25rem}.legal-prelaunch{padding:1rem 1.1rem;margin:0 0 1.25rem;color:#594a2e;background:#fff5dc;border:1px solid rgba(142,108,44,.2);border-radius:1rem}.legal-meta{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.legal-meta>div{padding:1rem;background:#f5f7f3;border-radius:1rem}.legal-meta dt{color:var(--color-muted);font-size:.85rem}.legal-meta dd{margin:.35rem 0 0;font-weight:700}.legal-meta a,.legal-nav a{color:var(--color-primary-strong)}.legal-nav{display:flex;flex-wrap:wrap;gap:.8rem 1.25rem;justify-content:center;padding:1rem}.writing-synonym-paragraph{padding:1.25rem 0;margin:0;font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.9}.writing-synonym-target{display:inline;padding:0;font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}.writing-synonym-target mark{padding:.12em .2em;color:var(--color-primary-strong);background:#f0c7775c;border-radius:.3em}.writing-synonym-card{max-width:66rem}.writing-synonym-task{margin:0 0 .5rem;color:var(--color-muted);font-size:.92rem}.writing-synonym-practice{display:grid;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.writing-synonym-prompt{margin:0;font-size:clamp(2rem,5vw,3.6rem);line-height:1.15;text-align:center}.writing-synonym-prompt mark{color:var(--color-primary-strong);background:transparent}.writing-synonym-practice>input,.synonym-test-input{width:min(100%,38rem);min-height:4.25rem;padding:.75rem 1rem;margin-inline:auto;font:inherit;font-size:clamp(1.35rem,3vw,2rem);text-align:center;border:2px solid var(--color-border);border-radius:.9rem}.writing-synonym-actions,.synonym-test-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.writing-synonym-feedback,.writing-synonym-select-cue{min-height:1.5rem;margin:0;color:var(--color-muted);text-align:center}.writing-synonym-answer{display:grid;gap:.35rem;padding:1.15rem;text-align:center;background:#477f7414;border-radius:1rem}.writing-synonym-answer span{color:var(--color-muted);font-size:.85rem}.writing-synonym-answer strong{color:var(--color-primary-strong);font-size:clamp(1.2rem,3vw,1.75rem);line-height:1.7}.writing-synonym-answer--revealed{background:#e8c17429}.writing-synonym-footer-actions{display:flex;justify-content:flex-end;margin-top:1rem}.synonym-learning-meaning,.synonym-test-meaning{margin:.5rem 0 1.5rem;color:var(--color-primary-strong);font-size:clamp(2.5rem,7vw,5rem);line-height:1.05;text-align:center}.synonym-teaching-list{display:grid;gap:.75rem}.synonym-teaching-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem;padding:1rem 1.1rem;color:var(--color-muted);border:1px solid var(--color-border);border-radius:.9rem}.synonym-teaching-item>strong{color:inherit;font-size:clamp(1.35rem,3vw,2rem)}.synonym-teaching-item>span{grid-column:1}.synonym-teaching-item>p{grid-column:1;margin:.35rem 0 0;color:inherit;font-size:1.05rem}.synonym-teaching-item--focused{color:var(--color-text);background:#e8c17424;border-color:#a9792a7a}.synonym-teaching-item--focused>strong{color:var(--color-primary-strong)}.synonym-speaker{grid-column:2;grid-row:1 / span 3;align-self:center;width:2.75rem;height:2.75rem;padding:0;font-size:1rem;background:transparent;border:1px solid var(--color-border);border-radius:50%;cursor:pointer}.synonym-teaching-start{display:block;min-width:15rem;margin:1.25rem auto 0}.synonym-teaching-key-hint{margin:.65rem 0 0;color:var(--color-muted);font-size:.88rem;text-align:center}.synonym-answer-stack{display:grid;gap:.7rem;width:min(100%,38rem);margin-inline:auto}.synonym-answer-slot{position:relative}.synonym-answer-slot .synonym-test-input{width:100%}.synonym-answer-slot.is-active .synonym-test-input{border-color:var(--color-primary);box-shadow:0 0 0 4px #477f741f}.synonym-answer-slot.is-correct .synonym-test-input{padding-right:3.5rem;color:var(--color-primary-strong);background:#f0f8f4;border-color:#477f7459}.synonym-answer-slot.is-correct>span{position:absolute;top:50%;right:1.25rem;color:var(--color-success);font-size:1.5rem;font-weight:900;transform:translateY(-50%)}.synonym-all-recalled{margin:.25rem 0;color:var(--color-success);font-weight:800;text-align:center}.synonym-test-input{display:block}.synonym-test-feedback{min-height:1.5rem;margin:1rem 0;color:var(--color-primary-strong);text-align:center}.study-sense-overview{display:grid;gap:.5rem;width:min(100%,38rem);margin:1rem auto 0}.study-sense-overview-item{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;gap:.75rem;align-items:baseline;padding:.75rem 1rem;margin:0;color:var(--color-muted);background:#63706c0d;border-radius:.75rem}.study-sense-overview-item small{font-size:.78rem;font-weight:750;letter-spacing:.04em}.study-sense-overview-item--target{color:var(--color-primary-strong);background:#e8c1742e;box-shadow:inset 3px 0 #c28b35}.focused-book-core-note{color:var(--color-muted);font-size:1rem}.focused-book-directory{margin-top:1.25rem;color:var(--color-muted)}.home-shell{width:min(100%,1080px)}.home-dashboard{padding:clamp(28px,5vw,52px)}.home-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:start}.home-headline{display:grid;max-width:14em;gap:.22em;font-size:clamp(2.1rem,5vw,3.8rem);line-height:1.04;letter-spacing:-.04em}.home-headline span{color:var(--color-primary);font-size:.48em;font-weight:750;letter-spacing:.04em}.home-headline strong{font-weight:800}.home-header .supporting-text{max-width:43rem}.home-account{display:grid;min-width:12.5rem;padding:1rem 1.15rem;color:var(--color-text);text-decoration:none;background:#477f7412;border:1px solid var(--color-border);border-radius:1rem}.home-account span,.home-account small{color:var(--color-muted);font-size:.78rem}.home-account small+small{margin-top:.12rem}.home-account strong{max-width:15rem;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;margin:2.2rem 0 1.25rem;background:var(--color-border);border:1px solid var(--color-border);border-radius:1.15rem}.home-stats>div{padding:1rem 1.2rem;background:var(--color-surface)}.home-stats dt{color:var(--color-muted);font-size:.8rem}.home-stats dd{margin:.25rem 0 0;font-size:1.2rem;font-weight:750}.home-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.home-module{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;min-height:10rem;padding:1.4rem;color:var(--color-text);text-decoration:none;background:#fbfaf6;border:1px solid var(--color-border);border-radius:1.25rem}a.home-module:hover{transform:translateY(-2px);box-shadow:0 1rem 2rem #2e524a14}.home-module--locked{background:#f7f6f2}.home-module--operator{border-color:#9167234d;background:linear-gradient(145deg,#fffdf5,#f8f1dc)}.home-module--operator:hover{border-color:#91672385;box-shadow:0 14px 30px #6f4e1a1c}.home-module--operator>span{background:#91672321;color:#79561f}.home-module-access{display:table;margin-top:.7rem;padding:.2rem .55rem;color:#735f34;font-size:.75rem;font-weight:750;line-height:1.4;background:#f0e4c8;border-radius:999px}.home-module>span{display:grid;place-items:center;width:3rem;height:3rem;color:var(--color-primary-strong);font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:750;background:#eef3f0;border-radius:.9rem}.home-module>span svg,.home-wordbook-select svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.home-wordbook-select svg{width:1.15rem;height:1.15rem}.home-module p,.home-module h2{margin:0}.home-module p,.home-module small{color:var(--color-muted)}.home-module h2{margin-top:.25rem;font-size:1.45rem}.home-module--primary{grid-row:span 2;min-height:21rem;color:#f8faf6;background:#2f5045;border-color:transparent}.home-module--primary>span{color:#2f5045;background:#e8c174}.home-module--primary>.home-wordbook-icon{position:relative;display:grid;place-items:center;width:3.7rem;height:4.6rem;overflow:hidden;color:#263f36;background:#e8c174;border:1px solid rgba(255,255,255,.3);border-radius:.32rem .72rem .72rem .32rem;box-shadow:inset .36rem 0 #263f3624,.4rem .55rem #12282138}.home-wordbook-icon b{position:relative;z-index:1;max-width:2.6rem;font-family:inherit;font-size:.92rem;line-height:1.1;text-align:center}.home-wordbook-copy{align-self:start}.home-current-wordbook{display:grid;gap:.18rem;margin-top:1.2rem}.home-current-wordbook>span{color:#f8faf6b8;font-size:1.05rem;font-weight:700;letter-spacing:.04em}.home-current-wordbook>strong{color:#fffdf5;font-size:clamp(1.4rem,3vw,1.7rem);line-height:1.35}.home-module--primary p,.home-module--primary small{color:#f8faf6ad}.home-module--primary .primary-button{grid-column:1 / -1;align-self:end;color:#263f36;background:#e8c174}.home-module-links{display:flex;grid-column:1 / -1;gap:1rem}.home-module-links a,.home-module-links button{padding:0;color:#f8faf6cc;font:inherit;font-size:.85rem;background:transparent;border:0;cursor:pointer}.home-module-links .home-wordbook-select{display:inline-flex;gap:.55rem;align-items:center;min-height:2.7rem;padding:.55rem .88rem;color:#fffdf5;font-size:1.15rem;font-weight:750;text-decoration:none;background:#45675c;border:1px solid #6f897f;border-radius:.8rem}.home-module-links .home-wordbook-select:hover{background:#527468}.home-utility-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.5rem}.home-utility-links a,.home-utility-links button{color:var(--color-muted);font-size:.85rem}.home-utility-links button{padding:0;background:transparent;border:0;cursor:pointer}.home-utility-links button:hover,.home-utility-links button:focus-visible,.home-utility-links a:hover,.home-utility-links a:focus-visible{color:var(--color-accent-strong, var(--color-primary-strong))}.classroom-shell{width:min(100%,1120px)}.classroom-page{display:grid;gap:1.25rem;padding:clamp(28px,5vw,52px)}.classroom-page-header,.classroom-class-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.classroom-page-header h1,.classroom-class-header h2,.classroom-panel h2,.classroom-panel h3{margin:0}.classroom-meta{display:grid;gap:.28rem;min-width:13rem;padding:.95rem 1rem;color:var(--color-muted);font-size:.82rem;background:#477f740f;border:1px solid var(--color-border);border-radius:.9rem}.classroom-meta strong{color:var(--color-text);font-size:.95rem}.classroom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.classroom-class-card,.classroom-panel,.classroom-subpanel{padding:1.2rem 1.25rem;background:#fbfaf6;border:1px solid var(--color-border);border-radius:1.1rem}.classroom-class-card{display:grid;gap:1rem;background:linear-gradient(180deg,#fffef9,#f7f5ee)}.classroom-panel{display:grid;gap:.8rem}.classroom-panel label{display:grid;gap:.35rem;color:var(--color-muted);font-size:.84rem}.classroom-panel input,.classroom-panel select,.classroom-panel textarea{width:100%;min-height:2.9rem;padding:.72rem .8rem;color:var(--color-text);font:inherit;background:#ffffffeb;border:1px solid var(--color-border);border-radius:.8rem}.classroom-panel textarea{min-height:7rem;resize:vertical}.classroom-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}.classroom-stats>div{padding:.95rem 1rem;background:#e8c17429;border-radius:.9rem}.classroom-stats dt{color:var(--color-muted);font-size:.78rem}.classroom-stats dd{margin:.28rem 0 0;color:var(--color-primary-strong);font-size:1.3rem;font-weight:800}.classroom-list,.classroom-compact-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.classroom-list-item,.classroom-compact-list li{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;padding:.95rem 1rem;background:#ffffffd1;border:1px solid rgba(71,127,116,.1);border-radius:.9rem}.classroom-list-item p,.classroom-list-item small,.classroom-compact-list span{color:var(--color-muted)}.classroom-list-item p{margin:.22rem 0}.classroom-list-item strong,.classroom-compact-list strong{display:block}.classroom-action-row,.classroom-action-column,.classroom-action-wrap{display:flex;gap:.65rem}.classroom-action-column{flex-direction:column;align-items:stretch}.classroom-action-wrap{flex-wrap:wrap}.classroom-code,.classroom-success{padding:.85rem 1rem;color:var(--color-primary-strong);font-weight:700;background:#477f741a;border-radius:.85rem}.classroom-success{color:var(--color-success);background:#3f75601a}.classroom-inline-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;text-decoration:none}.speed-review-shell{width:min(100%,940px)}.speed-review-card{overflow:hidden}.speed-review-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.speed-review-header h1,.speed-review-header p{margin:0}.speed-review-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;gap:.85rem;align-items:end;margin-top:1.4rem}.speed-review-setup label{display:grid;gap:.38rem;color:var(--color-muted);font-size:.84rem}.speed-review-setup input,.speed-review-setup select{width:100%;min-height:3rem;padding:.72rem .82rem;color:var(--color-text);font:inherit;background:#ffffffc7;border:1px solid var(--color-border);border-radius:.78rem}.speed-review-progress{margin:1.3rem 0 .35rem;color:var(--color-muted);font-size:.88rem;font-variant-numeric:tabular-nums;text-align:center}.speed-review-wheel{position:relative;display:grid;grid-template-rows:.72fr 1.35fr .72fr;min-height:26rem;overflow:hidden;background:linear-gradient(180deg,#f4f3eed6,#fffefaf5 34% 66%,#f4f3eed6);border:1px solid var(--color-border);border-radius:1.5rem;box-shadow:inset 0 0 2.4rem #315f570d;overscroll-behavior:contain;touch-action:pan-x}.speed-review-word{display:grid;gap:.35rem;place-content:center;min-width:0;padding:1rem 2rem;color:#7b8581;text-align:center;opacity:.43;transform:scale(.86);transition:color .18s ease,opacity .18s ease,transform .18s ease,background-color .18s ease}.speed-review-word strong{overflow-wrap:anywhere;font-size:clamp(1.35rem,4vw,2rem);line-height:1.1}.speed-review-word span{font-size:clamp(.92rem,2vw,1.08rem)}.speed-review-word--active{position:relative;z-index:1;color:var(--color-primary-strong);opacity:1;background:#477f741a;border-block:1px solid rgba(71,127,116,.2);transform:scale(1)}.speed-review-word--active strong{color:var(--color-primary-strong);font-size:clamp(2.5rem,8vw,4.4rem)}.speed-review-word--active span{color:var(--color-text);font-size:clamp(1.18rem,3vw,1.55rem)}.speed-review-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.25rem}.speed-review-favorite--active{color:#6e4d13;background:#f3d58f;border-color:#e0b95f}.pwa-install-error{color:var(--color-danger);font-size:.82rem}.pwa-ios-install-steps{display:grid;gap:.85rem;margin:1.2rem 0 1.5rem;padding-left:1.5rem;color:var(--color-text);line-height:1.65}.study-content-report-button{color:var(--color-muted);background:#63706c12;border-color:#63706c29}.content-report-dialog{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:1.25rem;background:#1e292657;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.content-report-dialog>div{width:min(100%,34rem);padding:1.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.35rem;box-shadow:var(--shadow-soft)}.content-report-dialog h2{margin:0}.content-report-dialog label,.content-report-dialog textarea{display:block;width:100%}.content-report-dialog label>span{display:block;margin-bottom:.45rem;color:var(--color-muted);font-size:.85rem}.content-report-dialog textarea{resize:vertical}.content-report-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.content-report-success{padding:1rem;color:var(--color-success);background:#3f756014;border-radius:.8rem}.round-summary-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.25rem}@media(max-width:680px){.home-header{grid-template-columns:1fr}.home-account{width:100%}.home-stats,.home-module-grid{grid-template-columns:1fr}.home-module--primary{grid-row:auto;min-height:18rem}.classroom-page-header,.classroom-class-header,.classroom-list-item,.classroom-compact-list li{flex-direction:column}.classroom-grid,.classroom-stats{grid-template-columns:1fr}.classroom-action-row,.classroom-action-wrap{flex-wrap:wrap}.speed-review-header{align-items:center;flex-direction:row}.speed-review-setup{grid-template-columns:minmax(0,1fr) auto;gap:.65rem;margin-top:1rem}.speed-review-setup label:first-child{grid-column:1 / -1}.speed-review-setup button{min-height:3rem;padding-inline:1rem}.speed-review-wheel{min-height:17rem;border-radius:1.2rem}.speed-review-word{padding-inline:1rem}.speed-review-progress{margin-top:.9rem}.speed-review-actions{gap:.6rem;margin-top:.8rem}.speed-review-actions>button{flex:1 1 calc(50% - .75rem);min-height:2.9rem;padding-inline:.5rem;font-size:.9rem;white-space:nowrap}}.marketing-footer a{color:var(--color-primary)}@media(max-width:800px){.marketing-nav{padding-inline:1rem}.marketing-nav nav>a:not(.marketing-nav-cta){display:none}.marketing-hero,.marketing-focus,.marketing-pricing{grid-template-columns:1fr}.marketing-hero{min-height:auto;padding-top:3.5rem}.marketing-stage-grid,.marketing-feature-grid,.marketing-focus .marketing-feature-grid,.marketing-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.marketing-hero,.marketing-section,.marketing-footer{width:min(100% - 2rem,1120px)}.marketing-hero h1{font-size:3.15rem}.marketing-stage-grid,.marketing-feature-grid,.marketing-focus .marketing-feature-grid,.marketing-price-grid{grid-template-columns:1fr}.marketing-footer{gap:1rem;flex-direction:column}.marketing-footer nav{justify-content:flex-start}.legal-meta{grid-template-columns:1fr}}.reading-shell{width:min(100%,1040px)}.reading-card{padding:clamp(28px,5vw,54px)}.reading-header,.reading-footer,.reading-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.reading-header>span:first-child{color:var(--color-muted);font-size:.92rem;font-weight:700}.reading-progress{flex:0 0 auto;color:var(--color-primary-strong);font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums}.reading-session-meta{display:flex;gap:16px;align-items:center}.reading-timer{min-width:4.5rem;color:var(--color-text);font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}.reading-source-note{margin:18px 0 0;color:#6d634e;font-size:.86rem}.reading-source-note summary{cursor:pointer;font-weight:700}.reading-source-note span{display:block;margin-top:7px}.reading-passage-title{margin:0 0 18px;color:var(--color-primary-strong);font-size:1.15rem}.reading-option-prompt{margin-bottom:26px;padding:20px 22px;border-left:5px solid #ae8550;border-radius:5px 18px 18px 5px;background:#fbf5e9}.reading-option-prompt span{color:#806034;font-size:.84rem;font-weight:800;letter-spacing:.05em}.reading-option-prompt h1{margin:7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.18rem,2.4vw,1.52rem);font-weight:700;line-height:1.55}.reading-sentences{display:grid;gap:12px;margin:0;padding:0;border:0}.reading-sentences legend{margin-bottom:14px;color:var(--color-muted);font-weight:700}.reading-sentence-button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:66px;border:1px solid rgba(71,127,116,.2);border-radius:16px;padding:14px 17px;background:#fff;color:var(--color-text);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.06rem,2vw,1.25rem);line-height:1.55;text-align:left;cursor:pointer}.reading-sentence-button:hover:not(:disabled){border-color:#477f748c;background:#f8fbfa;transform:translateY(-1px)}.reading-sentence-button:disabled{color:var(--color-text);cursor:default;opacity:1}.reading-sentence-button strong{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:.8rem;white-space:nowrap}.reading-sentence-translation{grid-column:2;color:var(--color-muted);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(1rem,2vw,1.18rem);line-height:1.55}.reading-sentence-number{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eef4f1;color:var(--color-primary-strong);font-family:Segoe UI,sans-serif;font-size:.92rem;font-weight:800}.reading-sentence-button.is-selected{border-width:2px;border-color:var(--color-primary)}.reading-sentence-button.is-correct{border-color:#4e8065;background:#eef8f1}.reading-sentence-button.is-incorrect{border-color:#b7655b;background:#fff3f0}.reading-feedback{min-height:76px;margin-top:22px}.reading-feedback p{margin:5px 0}.reading-option-translation{color:var(--color-muted)}.reading-mapping-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.reading-mapping{padding:8px 11px;border:1px solid rgba(71,127,116,.18);border-radius:12px;background:#f6faf8}.reading-mapping mark,.reading-sentence-button mark{border-radius:5px;padding:0 3px;background:#dcefe6;color:var(--color-primary-strong);font-weight:800}.feedback-correct,.feedback-incorrect{font-weight:800}.feedback-correct{color:var(--color-success)}.feedback-incorrect{color:var(--color-danger)}.reading-next{width:100%;margin-top:10px}.reading-footer{margin-top:28px;padding-top:20px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.9rem}.reading-complete{text-align:center}.reading-score{margin:26px 0 8px;color:var(--color-primary-strong);font-size:1.8rem;font-weight:800}.reading-session-time{margin:0 0 24px;color:var(--color-muted);font-size:1.1rem;font-variant-numeric:tabular-nums}.reading-modal-backdrop{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:24px;background:#1c24216b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reading-exit-summary{width:min(100%,32rem);text-align:center}.reading-exit-summary h2{margin-top:0}.reading-exit-summary .reading-actions{justify-content:center}.button-link{padding:0;font:inherit;background:transparent;border:0;cursor:pointer}.reading-complete .reading-actions{justify-content:center}@media(max-width:640px){.reading-header,.reading-footer{align-items:flex-start;flex-direction:column}.reading-session-meta{width:100%;justify-content:space-between}.reading-sentence-button{grid-template-columns:32px minmax(0,1fr)}.reading-sentence-button strong{grid-column:2}}.writing-continuation-page{width:min(100%,980px)}.writing-continuation-shell{width:min(100%,920px)}.writing-continuation-expression,.writing-continuation-meaning,.writing-continuation-example,.writing-continuation-answer{overflow-wrap:anywhere}.writing-continuation-expression{margin:1rem 0 .65rem;color:var(--color-primary-strong);font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3.35rem);line-height:1.25}.writing-continuation-meaning{margin:.7rem 0;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:750;line-height:1.55}.writing-continuation-example{margin:1rem 0;padding:1rem 1.1rem;border-left:4px solid var(--color-primary);border-radius:.75rem;background:#477f7412;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.1rem,2.3vw,1.35rem);line-height:1.65}.writing-continuation-answer{color:var(--color-primary-strong);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,2.6vw,1.55rem);font-weight:750}.writing-continuation-header,.writing-continuation-footer{display:grid;gap:.75rem}.writing-continuation-summary,.writing-continuation-hint,.writing-continuation-example-context,.writing-continuation-example-note{margin-bottom:0}.writing-continuation-card{margin-top:1.2rem}.writing-continuation-focus{margin:.8rem 0 1.15rem;color:var(--color-primary-strong);font-size:clamp(1.18rem,2.4vw,1.4rem);font-weight:800}.writing-continuation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.writing-continuation-panel{min-width:0;padding:1.2rem;background:#f8faf7;border:1px solid var(--color-border);border-radius:1rem}.writing-continuation-panel h3,.writing-continuation-panel p{margin:0}.writing-continuation-panel h3{margin-bottom:.7rem}.writing-continuation-step-list{display:grid;gap:.65rem;margin:0;padding-left:1.2rem}.writing-continuation-example-answer{margin:.6rem 0;overflow-wrap:anywhere;color:var(--color-primary-strong);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.08rem,2vw,1.22rem);line-height:1.7}.writing-continuation-pitfall,.writing-continuation-question,.writing-continuation-feedback p,.writing-continuation-step-list li,.writing-continuation-option span{overflow-wrap:anywhere}.writing-continuation-options{display:grid;gap:.85rem;margin-top:1.25rem}.writing-continuation-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;width:100%;min-height:4.5rem;padding:1rem 1.1rem;text-align:left}.writing-continuation-option small{color:var(--color-muted);white-space:nowrap}.writing-continuation-option-key{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;color:var(--color-primary-strong);font-weight:800;background:#477f741f}.writing-continuation-option--selected{border-color:#ad554b73;background:#fff3f0}.writing-continuation-option--correct{border-color:#3f756061;background:#eef8f1}.writing-continuation-feedback{margin-top:1rem;padding:1rem 1.1rem;border-radius:1rem;background:#477f7414}.writing-continuation-summary-card{display:grid;gap:.9rem}.writing-continuation-summary-card h2,.writing-continuation-summary-card p{margin:0}.writing-toolkit-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.writing-toolkit-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.writing-continuation-grid{grid-template-columns:1fr}.writing-continuation-option{grid-template-columns:auto minmax(0,1fr)}.writing-continuation-option small{grid-column:2}.writing-toolkit-entry-grid{grid-template-columns:1fr}}
