.rich-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.rich-content .rich-japanese{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;color:inherit;font-weight:inherit}.rich-content.rich-language-mixed .rich-japanese{color:var(--green-dark,#244638);font-weight:500}:is(h1,h2,h3,.course-section-link>span:nth-child(2)>strong) .rich-content .rich-japanese{font-weight:inherit}.rich-content ruby{ruby-position:over;ruby-align:center;white-space:nowrap}.rich-content rt{font-size:.6em;font-weight:400;letter-spacing:.025em;line-height:1.1}.rich-content rp{font-size:.8em}span.rich-content strong{display:inline;font-size:inherit;font-weight:700;color:inherit;margin:0}.rich-teaching-point{background:linear-gradient(transparent 64%,#c7dfc094 64%);text-decoration:underline;text-decoration-color:#639067;text-underline-offset:.2em}.rich-content u{text-underline-offset:.22em}.rich-content em{font-style:italic}.rich-line{display:block}.rich-paragraph-gap{height:.7em}.rich-list-item{padding-inline-start:1.2em;position:relative}.rich-list-marker{position:absolute;inset-inline-start:0}.learning-progress,.lp-activity,.lp-bank{--lp-muted:#56665d;--lp-border:#d8e0d3;--lp-focus:#244f40;--lp-surface:#fffefa;--lp-soft:#f0f4ed;--lp-shade-0:#f3f5ef;--lp-shade-1:#dcebd5;--lp-shade-2:#bdd8ae;--lp-shade-3:#8bb97b;--lp-shade-4:#3f7139;color:var(--ink,#263b33);min-width:0}.learning-progress{display:grid;gap:12px}.learning-progress *,.lp-activity *,.lp-bank *{min-width:0;box-sizing:border-box}.lp-card{padding:14px;border:1px solid var(--lp-border,#d8e0d3);background:var(--lp-surface,#fffefa);border-radius:7px;min-width:0}.lp-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.lp-card-heading h2{font-size:16px;font-weight:600;line-height:1.5;margin:0}.lp-card-heading>span,.lp-card-heading p{font-size:12px;color:var(--lp-muted)}.lp-scope{display:flex;align-items:center;justify-content:space-between;gap:12px}.lp-scope strong{font-size:16px}.lp-scope p,.lp-note{font-size:12px;color:var(--lp-muted);line-height:1.7;margin:6px 0}.lp-scope-selects,.lp-period-controls,.lp-date-range{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lp-scope-selects label,.lp-calendar-controls label,.lp-card-heading label,.lp-date-range label{font-size:12px;display:flex;align-items:center;gap:6px;color:var(--lp-muted)}.learning-progress select,.lp-activity select,.lp-bank select,.learning-progress input{border:1px solid #aabca7;min-height:44px;border-radius:5px;padding:8px;background:var(--lp-surface,#fffefa);font:inherit;color:var(--ink,#263b33);max-width:100%}.learning-progress button,.lp-activity button,.lp-bank button{font:inherit;cursor:pointer}.learning-progress button:focus-visible,.lp-activity button:focus-visible,.lp-bank button:focus-visible,.learning-progress select:focus-visible,.learning-progress input:focus-visible{outline:3px solid var(--lp-focus,#244f40);outline-offset:2px}.lp-period-tabs{display:flex;gap:4px;flex-wrap:wrap}.lp-period-tabs button{min-height:44px;border:1px solid #c7d4bf;border-radius:5px;padding:8px 14px;background:var(--lp-surface);font-size:13px;color:var(--lp-muted)}.lp-period-tabs button[aria-pressed=true]{background:#315b4c;border-color:#315b4c;color:#fff}.lp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lp-kpi{border:1px solid var(--lp-border);background:var(--lp-surface);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:5px}.lp-kpi>span{font-size:12px;color:var(--lp-muted)}.lp-kpi>strong{font-size:25px;font-weight:600;color:var(--green,#315b4c);line-height:1.35}.lp-kpi>small{font-size:12px;color:var(--lp-muted)}.lp-kpi>p{margin:3px 0 0;font-size:12px;border-top:1px solid var(--lp-border);padding-top:7px;color:var(--lp-muted);line-height:1.5}.lp-comparison{font-size:12px;color:var(--lp-muted)}.lp-comparison summary,.lp-data-details summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.7;font-size:12px}.lp-comparison p{overflow-wrap:anywhere;line-height:1.7}.lp-comparison summary:focus-visible,.lp-data-details summary:focus-visible{outline:3px solid var(--lp-focus);outline-offset:2px}.lp-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,1fr);gap:12px;align-items:start}.lp-chart{display:block;width:100%;height:220px;overflow:visible}.lp-chart text{font-size:14px;fill:var(--lp-muted)}.lp-chart-grid{stroke:#dce5d7;stroke-width:1}.lp-chart-line{fill:none;stroke:#315b4c;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}.lp-chart-secondary{stroke:#7a694d;stroke-dasharray:6 4}.lp-chart-point{fill:#fffefa;stroke:#315b4c;stroke-width:2}.lp-chart-hit{fill:transparent;cursor:pointer}.lp-missing-point{opacity:0}.lp-chart g[role=button]:focus-visible{outline:none}.lp-chart g[role=button]:focus-visible .lp-chart-point{stroke-width:5;stroke:#1d4334;opacity:1}.lp-chart-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--lp-muted)}.lp-trend-tooltip,.lp-tooltip{display:flex;flex-direction:column;gap:3px;background:var(--lp-soft);border:1px solid var(--lp-border);border-radius:5px;padding:9px;font-size:12px;color:var(--lp-muted);line-height:1.6;overflow-wrap:anywhere}.lp-trend-tooltip{min-height:45px}.lp-trend-tooltip strong,.lp-tooltip strong{color:var(--ink,#263b33)}.lp-table-wrap{overflow-x:auto}.lp-table-wrap table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6;text-align:left}.lp-table-wrap th,.lp-table-wrap td{border-bottom:1px solid var(--lp-border);padding:6px}.lp-table-wrap th{font-weight:500}.lp-table-wrap button{min-height:44px;background:none;border:0;padding:5px;color:#315b4c}.lp-calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.lp-month-nav{display:flex;align-items:center;gap:5px}.lp-month-nav strong{font-size:14px;font-weight:500;white-space:nowrap}.lp-month-nav button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--lp-border);background:var(--lp-surface);color:#315b4c;border-radius:5px}.lp-month-nav button:disabled{opacity:.4;cursor:default}.lp-calendar-weekdays,.lp-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.lp-calendar-weekdays{text-align:center;font-size:12px;color:var(--lp-muted);padding:4px 0 7px}.lp-calendar-day{min-height:48px;border:1px solid #a8b9a0;border-radius:4px;padding:3px 1px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;color:#203e2e;font-size:12px;position:relative}.lp-calendar-day small{font-size:11px;white-space:nowrap;line-height:1.3}.lp-shade-0{background:var(--lp-shade-0)}.lp-shade-1{background:var(--lp-shade-1)}.lp-shade-2{background:var(--lp-shade-2)}.lp-shade-3{background:var(--lp-shade-3)}.lp-shade-4{background:var(--lp-shade-4);color:#fff}.lp-calendar-day.selected,.lp-bank-day.selected{outline:2px solid #193b2c;outline-offset:1px}.lp-calendar-day.today:after{content:"";position:absolute;right:3px;top:3px;width:4px;height:4px;border-radius:50%;background:currentColor}.lp-calendar-day:hover,.lp-bank-day:hover{box-shadow:inset 0 0 0 2px #315b4c}.lp-calendar-unavailable{display:grid;place-items:center;min-height:48px;font-size:12px;color:#718074;border:1px dashed #dce3d6;border-radius:4px}.lp-calendar-key{display:flex;gap:5px;flex-wrap:wrap;align-items:center;font-size:11px;line-height:1.7;color:var(--lp-muted);margin-top:9px}.lp-calendar-key i{display:block;width:12px;height:12px;border:1px solid #a3b49c;border-radius:2px}.lp-tooltip-slot{margin-top:8px;min-height:67px}.lp-day-detail{border-top:1px solid var(--lp-border);padding:12px 0 0;margin-top:12px}.lp-day-detail h3{font-size:14px;margin:0 0 8px;font-weight:600}.lp-day-summary{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--lp-muted);line-height:1.7;overflow-wrap:anywhere}.lp-history-list{list-style:none;padding:0;margin:8px 0 0}.lp-history-list li{display:flex;gap:8px;padding:9px 0;border-top:1px solid var(--lp-border);font-size:12px;line-height:1.7}.lp-history-list li>div{flex:1;overflow-wrap:anywhere}.lp-history-list small{display:block;color:var(--lp-muted);font-size:11px}.lp-result{background:#e4eee0;color:#315b4c;padding:3px 5px;border-radius:3px;white-space:nowrap;align-self:flex-start;flex-shrink:0}.lp-result.incorrect,.lp-result.excluded{background:#f0eee6;color:#725d46}.lp-bank-calendar{--lp-cell:24px;--lp-cell-gap:4px;display:flex;gap:7px;margin-top:10px;min-width:0}.lp-bank-weekdays{display:grid;grid-template-rows:repeat(7,var(--lp-cell));gap:var(--lp-cell-gap);padding-top:28px;flex:0 0 18px;font-size:11px;color:var(--lp-muted)}.lp-bank-weekdays>span{display:grid;place-items:center}.lp-bank-viewport{min-width:0;flex:1;overflow-x:auto;padding-bottom:3px}.lp-bank-months{display:grid;grid-template-columns:repeat(var(--lp-week-count),var(--lp-cell));gap:var(--lp-cell-gap);height:20px;line-height:20px;margin-bottom:5px;padding-left:3px;width:max-content;font-size:11px;color:var(--lp-muted)}.lp-bank-months>span{white-space:nowrap}.lp-bank-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,var(--lp-cell));grid-auto-columns:var(--lp-cell);gap:var(--lp-cell-gap);width:max-content;padding:3px;margin:0}.lp-bank-day{display:block;width:var(--lp-cell);height:var(--lp-cell);border:1px solid #a8b9a0;border-radius:3px;min-height:0;min-width:0;padding:0;color:#203e2e;touch-action:manipulation}.lp-bank-empty{width:var(--lp-cell);height:var(--lp-cell)}.lp-bank-day.lp-shade-4{color:#fff}.lp-bank>.lp-kpis{margin-top:6px;gap:7px}.lp-bank .lp-kpi{padding:8px 10px;gap:3px}.lp-bank .lp-kpi>strong{font-size:20px}.lp-bank .lp-kpi>small{font-size:11px}.lp-bank-instructions{margin-bottom:0}.lp-bank-touch-hint{display:none}.lp-bank-popup{--lp-muted:#56665d;--lp-border:#d8e0d3;--lp-soft:#f0f4ed;position:fixed;z-index:1000;width:300px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow-y:auto;box-shadow:0 4px 18px #263b3326;pointer-events:none;background:#fffefa;color:#56665d}.lp-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1050px){.lp-dashboard-grid{grid-template-columns:minmax(0,1fr)}.lp-calendar-day{min-height:55px}.lp-activity-compact .lp-calendar-day{min-height:48px}}@media(max-width:650px){.lp-scope{align-items:flex-start;flex-direction:column}.lp-scope-selects{width:100%}.lp-scope-selects label{flex:1;display:flex;flex-direction:column;align-items:stretch}.lp-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lp-kpi{padding:10px}.lp-kpi>strong{font-size:21px}.lp-card{padding:12px}.lp-card-heading{align-items:flex-start;flex-wrap:wrap}.lp-chart{height:200px}.lp-calendar,.lp-calendar-weekdays{gap:3px}.lp-calendar-day{min-height:47px}.lp-calendar-day small{font-size:10px}.lp-calendar-controls{gap:4px}.lp-calendar-controls label{flex:1;justify-content:flex-end}.lp-calendar-controls select{max-width:112px;font-size:12px}.lp-month-nav strong{font-size:13px}.lp-month-nav{gap:3px}.lp-month-nav button{width:44px}.lp-date-range label{flex:1;flex-direction:column;align-items:stretch}.lp-date-range{width:100%}.lp-table-wrap th,.lp-table-wrap td{padding:4px;font-size:11px}.lp-card-heading>span{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.learning-progress *,.lp-activity *,.lp-bank *{scroll-behavior:auto}}.lp-attempt-link{display:inline-flex;align-items:center;min-height:44px;color:#315b4c;text-decoration:underline;margin-top:3px;font-size:12px}.lp-summary-list{margin:3px 0 0;padding-left:18px;display:grid;gap:4px;line-height:1.7;overflow-wrap:anywhere}.lp-summary-list li{display:list-item}.lp-summary-list .rich-content{display:inline}.lp-bank-months>span{grid-row:1}.lp-bank-popup{pointer-events:auto}.lp-metric-options{display:flex;gap:4px;flex-wrap:wrap;border:0;padding:0;margin:0;min-width:0}.lp-metric-options legend{font-size:12px;color:var(--lp-muted);padding:0;margin-bottom:3px}.lp-metric-options label{position:relative;display:block;font-size:12px;color:var(--lp-muted)}.lp-metric-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.lp-metric-options label span{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:4px 8px;border:1px solid var(--lp-border);border-radius:5px;background:var(--lp-surface)}.lp-metric-options input:checked+span{background:#315b4c;border-color:#315b4c;color:#fff}.lp-metric-options input:focus-visible+span{outline:3px solid var(--lp-focus);outline-offset:2px}.lp-calendar-day small{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.lp-calendar-day.lp-no-score{background:var(--lp-shade-0);border-style:dashed;color:var(--lp-muted)}.lp-calendar-key{font-size:12px;gap:4px;margin-top:7px}.lp-bank-viewport{overflow-x:auto}@media(max-width:650px){.lp-metric-options{width:100%}.lp-calendar-controls .lp-metric-options label{flex:0 0 auto}.lp-bank-calendar{--lp-cell:20px;--lp-cell-gap:3px}.lp-bank-months{font-size:11px}.lp-calendar-day{min-height:48px}.lp-calendar-day small{font-size:10px}.lp-bank-weekdays{padding-top:28px}}@media(pointer:coarse){.lp-bank-calendar{--lp-cell:44px}.lp-bank-day{height:44px;width:44px}}.exam-hub{min-width:0}.eh-scope{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0 16px}.eh-scope label{display:grid;gap:6px;font-size:13px;color:var(--muted);min-width:140px}.eh-scope select{min-height:44px;width:100%;padding:8px 12px;background:var(--white);border:1px solid var(--line);border-radius:6px;font-size:14px}.eh-start-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.eh-start-option{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;align-items:start;gap:12px;min-width:0}.eh-option-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--green)}.eh-option-heading h2{font-size:18px;margin:0}.eh-start-option p{color:var(--muted);font-size:14px;line-height:1.7;margin:0;flex:1}.eh-start-option .button{min-height:44px;white-space:normal;text-align:left}.eh-boundary{font-size:13px;line-height:1.7;color:var(--muted);margin:12px 0 20px}.eh-exam-scope{border:1px solid var(--line);background:var(--white);border-radius:6px;margin:16px 0;padding:0 16px 12px;font-size:14px;line-height:1.7}.eh-exam-scope summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--green)}.eh-exam-scope p{margin:8px 0}.eh-exam-scope ul{padding-left:20px}@media(max-width:700px){.eh-start-options{grid-template-columns:minmax(0,1fr)}.eh-start-option{padding:12px}.eh-scope label{flex:1 1 130px;min-width:0}.eh-scope select{font-size:16px}.eh-start-option .button{width:100%}}.exam-attempt-records{margin-top:20px;min-width:0;color:var(--ink)}.ear-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ear-heading h3{font-size:18px;margin:0}.ear-filters,.ear-actions{display:flex;flex-wrap:wrap;gap:8px}.ear-actions button{scroll-margin-block:96px}.exam-attempt-records button{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--green);font:inherit;font-size:14px;cursor:pointer}.exam-attempt-records button:focus-visible{outline:3px solid var(--green);outline-offset:3px}.exam-attempt-records button:disabled{opacity:.55;cursor:default}.ear-filters button[aria-pressed=true]{background:var(--green);color:var(--white);border-color:var(--green)}.ear-count,.ear-note,.ear-empty,.ear-excluded{color:var(--muted);font-size:14px;line-height:1.7}.ear-list{list-style:none;margin:0;padding:0}.ear-list>li{padding:16px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.ear-row{display:flex;align-items:start;gap:12px}.ear-result{flex-shrink:0;color:var(--muted);font-size:13px;line-height:1.8}.ear-wrong{color:var(--green);font-weight:600}.ear-title{min-width:0;flex:1;font-size:16px;line-height:1.9}.ear-title>p{color:var(--muted);font-size:13px;margin:4px 0 12px}.ear-actions{margin-top:4px}.ear-detail{margin-top:12px;min-width:0}.ear-detail>.attempt-history{margin:0;border:0}.ear-detail>.attempt-history>summary{display:none}.ear-detail .saved-attempt-details{padding:16px}@media(max-width:700px){.ear-row{gap:8px}.ear-heading{align-items:start}.ear-detail .saved-attempt-details{padding:12px}}.tl-today,.tl-course-filters,.tl-budget-picker{min-width:0;color:var(--ink);font-size:16px}.tl-heading,.tl-overview-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tl-heading{margin-bottom:12px}.tl-heading h1{font-size:26px;line-height:1.5;margin:0}.tl-status-heading{font-size:14px;color:var(--green);margin:0}.tl-status{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin:12px 0}.tl-status>div,.tl-overview{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:12px 16px;min-width:0}.tl-status span,.tl-status small{display:block;font-size:13px;line-height:1.6}.tl-status strong{display:block;font-size:22px;line-height:1.5}.tl-status progress{width:100%;height:6px;accent-color:var(--green);display:block;margin-top:8px}.tl-overview h2{font-size:20px;margin:0}.tl-overview p{font-size:14px;line-height:1.7;margin:4px 0 8px}.tl-primary,.tl-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:14px;border-radius:6px;padding:8px;color:var(--green)}.tl-primary{background:var(--green);color:var(--white);padding:10px 14px}.tl-primary:hover{background:var(--green-dark)}.tl-link:hover{background:var(--green-light)}.tl-time{display:flex;gap:12px 28px;flex-wrap:wrap;margin:12px 0;border-block:1px solid var(--line);padding:12px 0}.tl-time dt{font-size:13px}.tl-time dd{margin:4px 0 0;font-weight:600}.tl-time small{display:block;font-size:12px;font-weight:400}.tl-note{color:var(--ink)}.tl-goals{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.tl-goal{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:4px 12px;border:1px solid var(--line);border-radius:6px;padding:12px;min-width:0}.tl-goal-next{border-color:var(--green);background:var(--green-light)}.tl-route-step{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:14px;font-weight:600}.tl-goal-next .tl-route-step{background:var(--green);border-color:var(--green);color:var(--white)}.tl-goal-copy{min-width:0}.tl-goal h3{font-size:18px;margin:4px 0;line-height:1.6;overflow-wrap:anywhere;text-wrap:balance}.tl-goal small{font-size:13px;line-height:1.7}.tl-goal-action{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;font-size:13px;flex-wrap:wrap}.tl-goal-action>span{display:inline-flex;align-items:center;gap:4px;min-height:44px}.tl-goal-action>a{flex-shrink:0}.tl-goal .tl-objectives{margin:8px 0;padding-left:20px;list-style:disc}.tl-objectives li{font-size:15px;line-height:1.7;overflow-wrap:anywhere}.tl-goal .tl-sequence{font-size:13px;margin-bottom:0}.tl-task-details{grid-column:2/-1;min-width:0}.tl-task-details summary,.tl-learning-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;color:var(--green);width:fit-content}.tl-task-details ol{margin:0;padding:0;list-style:none}.tl-task-details li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:8px 0;font-size:14px;overflow-wrap:anywhere}.tl-task-details li>span{min-width:0}.tl-task-details li small{display:block}.tl-task-details li>a{flex-shrink:0}.tl-learning-details{border-top:1px solid var(--line);margin-top:12px;padding-top:4px}.tl-more{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tl-empty{padding:12px 0}.tl-course-filters{display:grid;gap:12px;margin:12px 0 16px}.tl-search{display:grid;gap:6px;font-size:14px}.tl-search input,.tl-custom-budget input{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:6px;min-height:44px;width:100%;padding:8px 12px;min-width:0}.tl-choice-group{border:0;padding:0;margin:0;min-width:0}.tl-choice-group legend{font-size:14px;margin-bottom:6px}.tl-choice-buttons{display:flex;gap:8px;flex-wrap:wrap}.tl-choice-buttons button{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:6px;min-height:44px;min-width:44px;padding:8px 14px;font-size:14px}.tl-choice-buttons button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--white);font-weight:600}.tl-choice-buttons button:hover:not([aria-pressed=true]){background:var(--green-light)}.tl-custom-budget{display:grid;gap:6px;font-size:14px;margin-top:12px;max-width:360px}.tl-custom-budget span{font-size:13px;line-height:1.6}.tl-today :is(a,button,input,summary):focus-visible,.tl-course-filters :is(button,input):focus-visible,.tl-budget-picker :is(button,input):focus-visible{outline:3px solid var(--green-dark);outline-offset:3px}@media(max-width:600px){.tl-heading h1{font-size:23px}.tl-status{grid-template-columns:1fr 1fr;gap:8px}.tl-status>div:first-child{grid-column:1/-1}.tl-status>div,.tl-overview{padding:12px}.tl-goal{grid-template-columns:28px minmax(0,1fr);gap:4px 8px}.tl-route-step{width:28px;height:28px}.tl-goal-action{grid-column:2;justify-content:flex-start}.tl-task-details{grid-column:2}.tl-task-details li{align-items:flex-start;flex-wrap:wrap}.tl-time{gap:12px 20px}.tl-choice-buttons button{padding:8px 12px}}@media(prefers-reduced-motion:reduce){.tl-today *,.tl-course-filters *,.tl-budget-picker *{transition:none}}.tf-controls{--tf-ink: var(--ink, #263b33);--tf-line: var(--line, #dfe3d8);--tf-green: var(--green, #315b4c);--tf-tint: var(--green-light, #e6eee6);container:tag-filters / inline-size;color:var(--tf-ink);margin:12px 0}.tf-bar,.tf-desktop-filters,.tf-filter-group,.tf-quick-filters{display:flex;align-items:center;gap:8px;min-width:0}.tf-bar{min-height:44px}.tf-desktop-filters{flex:1.7}.tf-filter-group{flex:1;position:relative;min-width:100px}.tf-controls button{min-height:44px;min-width:44px;border:1px solid var(--tf-line);border-radius:7px;padding:8px 10px;font-size:13px;line-height:1.3;background:var(--white, #fffefa);color:var(--tf-ink);cursor:pointer}.tf-controls button:hover{border-color:var(--tf-green)}.tf-controls button[aria-pressed=true],.tf-controls .tf-done{background:var(--tf-green);border-color:var(--tf-green);color:var(--white, #fffefa);font-weight:600}.tf-controls button[aria-expanded=true]{background:var(--tf-tint);border-color:var(--tf-green)}.tf-controls :is(button,input,summary):focus-visible{outline:3px solid #9b6339;outline-offset:3px}.tf-trigger-shell{display:flex;align-items:center;flex:1;min-width:0;border:1px solid var(--tf-line);border-radius:7px;background:var(--white, #fffefa)}.tf-trigger-shell:hover,.tf-trigger-shell:has(.tf-trigger[aria-expanded=true]){border-color:var(--tf-green)}.tf-trigger-shell:has(.tf-trigger[aria-expanded=true]){background:var(--tf-tint)}.tf-controls .tf-trigger{display:flex;align-items:center;gap:4px;flex:1;min-width:44px;padding:8px;border:0;background:transparent}.tf-trigger>svg{flex-shrink:0}.tf-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-controls .tf-group-clear{flex:0 0 44px;padding:8px;border:0;background:transparent}.tf-quick-filters{flex-shrink:0}.tf-quick-filters button{white-space:nowrap}.tf-search{position:relative;display:flex;align-items:center;flex:1;min-width:128px;margin:0}.tf-search>svg{position:absolute;left:10px;color:var(--tf-green);pointer-events:none}.tf-search input{width:100%;min-width:0;height:44px;background:var(--white, #fffefa);color:var(--tf-ink);border:1px solid var(--tf-line);border-radius:7px;padding:8px 8px 8px 32px;font-size:14px}.tf-search input::placeholder{color:#50624f}.tf-controls .tf-clear{border-color:transparent;background:transparent;color:var(--tf-green);padding:8px 4px;white-space:nowrap}.tf-controls .tf-clear:hover{text-decoration:underline}.tf-help-anchor{position:relative;flex:0 0 44px}.tf-controls .tf-help-trigger{border-color:transparent;background:transparent;padding:8px}.tf-controls .tf-drawer-trigger{display:none;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.tf-popover{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:384px;max-width:calc(100vw - 32px);max-height:min(520px,65dvh);overflow:auto;padding:12px;border:1px solid var(--tf-line);border-radius:10px;background:var(--white, #fffefa);box-shadow:0 8px 24px #263b3324}.tf-filter-group:last-child .tf-popover,.tf-help{left:auto;right:0}.tf-popover-heading,.tf-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.tf-popover-heading strong{font-size:14px}.tf-popover-heading button{flex:0 0 44px;padding:8px}.tf-checkbox-group{margin:0;padding:0;border:0;min-width:0}.tf-checkbox-group+.tf-checkbox-group{margin-top:16px;padding-top:12px;border-top:1px solid var(--tf-line)}.tf-checkbox-group legend{font-size:13px;font-weight:600;margin-bottom:8px}.tf-checkbox-group .tf-options-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0}.tf-options-heading button{flex:0 0 44px;padding:8px}.tf-checkbox-group legend.tf-sr-only{margin:0}.tf-checkbox-list{display:grid;grid-template-columns:repeat(var(--tf-columns),minmax(0,1fr));gap:8px;margin-top:8px}.tf-checkbox{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;gap:6px;min-width:0;min-height:44px;padding:6px;border:1px solid var(--tf-line);border-radius:7px;font-size:14px;line-height:1.4;cursor:pointer}.tf-checkbox span{min-width:0;overflow-wrap:anywhere}.tf-checkbox:has(input:checked){background:var(--tf-tint);border-color:var(--tf-green)}.tf-checkbox input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.tf-checkbox:has(input:focus-visible){outline:3px solid #9b6339;outline-offset:3px}.tf-help p,.tf-drawer-help p{font-size:13px;line-height:1.7;margin:8px 0 0;color:#50624f}.tf-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,calc(100vw - 24px));height:100dvh;max-width:none;max-height:none;padding:20px 20px max(20px,env(safe-area-inset-bottom));border:0;border-left:1px solid var(--tf-line);background:var(--white, #fffefa);color:var(--tf-ink);overflow:auto;overscroll-behavior:contain}.tf-drawer::backdrop{background:#263b3366}.tf-drawer-heading h2{margin:0;font-size:20px}.tf-drawer-group{border-top:1px solid var(--tf-line);padding:16px 0}.tf-drawer-help summary{min-height:44px;padding:12px 0;font-size:13px;cursor:pointer}.tf-drawer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}.tf-drawer-actions .tf-done{margin-left:auto}.tf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@container tag-filters (max-width: 649px){.tf-desktop-filters,.tf-bar>.tf-clear,.tf-help-anchor,.tf-quick-filters{display:none}.tf-controls .tf-drawer-trigger{display:inline-flex}}@container tag-filters (max-width: 899px){.tf-practice:not(.tf-single-capability) .tf-desktop-filters,.tf-practice:not(.tf-single-capability) .tf-bar>.tf-clear,.tf-practice:not(.tf-single-capability) .tf-help-anchor,.tf-practice:not(.tf-single-capability) .tf-quick-filters{display:none}.tf-practice:not(.tf-single-capability) .tf-drawer-trigger{display:inline-flex}}.tf-course-wrapper{border:0;padding:0;margin:0;min-width:0}.tf-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.tf-page-heading .page-heading{margin:0}.tf-page-heading .eyebrow{margin-bottom:4px}.tf-page-heading h1{margin-bottom:0;font-size:26px}.tf-page-heading .tf-reading-link{min-height:44px;white-space:nowrap}.tf-result-summary{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:#50624f;margin:8px 0 16px}.tf-availability{font-size:12px;color:#50624f;margin:8px 0}@media(max-width:600px){.tf-page-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.tf-page-heading h1{font-size:23px}.tf-controls button{font-size:14px}}@media(prefers-reduced-motion:reduce){.tf-controls button,.tf-search input{transition:none}}.tf-metadata{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tf-metadata>span{display:inline-block;padding:3px 8px;border-radius:5px;background:#eaf0e9;color:#315b4c;font-size:12px;line-height:1.55}.tf-metadata>span:nth-child(2){background:#ecefeb;color:#435944}.tf-metadata>span:nth-child(3){background:#f0eee5;color:#615943}.practice-hub{min-width:0}.ph-scope-controls{display:grid;gap:12px;margin:16px 0 20px}.ph-scope-controls .tl-choice-buttons button{min-height:44px}.ph-scope-controls .tl-choice-buttons button small{display:block;font-size:11px;font-weight:400}.ph-dimension-message{padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.ph-dimension-message h2{margin:0 0 8px;font-size:20px}.ph-dimension-message p{margin:0;color:var(--muted);line-height:1.7}.ph-unclassified{margin:12px 0;color:var(--muted);font-size:13px;line-height:1.7}.ph-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid var(--line);border-radius:8px;background:var(--white)}.ph-overview>div{padding:12px 16px;min-width:0}.ph-overview dt{font-size:13px;color:var(--muted)}.ph-overview dd{margin:6px 0 0;font-size:23px;color:var(--green);font-variant-numeric:tabular-nums}.ph-overview dd small{font-size:12px;color:var(--muted)}.ph-start{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 20px}.ph-start p{margin:0;color:var(--muted);font-size:14px}.ph-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.ph-heading h2{margin:0;font-size:18px}.ph-heading>span{font-size:13px;color:var(--muted)}.ph-method{margin:7px 0 12px;font-size:12px;color:var(--muted);line-height:1.7}.ph-question-list{border:1px solid var(--line);border-radius:8px;background:var(--white);max-height:620px;overflow:auto}.ph-question{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,200px) auto;gap:14px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.ph-question:last-child{border-bottom:0}.ph-question-title{display:flex;gap:10px;align-items:flex-start;min-width:0}.ph-question-title>div{min-width:0}.ph-number{flex:0 0 26px;font-size:12px;color:var(--muted);padding-top:4px;text-align:center}.ph-question-title small{font-size:11px;color:var(--muted)}.ph-question-title p{font-size:14px;line-height:1.9;margin:4px 0 0;overflow-wrap:anywhere}.ph-question-evidence{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px;font-size:12px}.ph-question-evidence small{flex-basis:100%;font-size:11px;color:var(--muted)}.ph-estimate{padding:3px 6px;background:var(--green-light);border-radius:4px}.ph-estimate.unknown{background:#f1f2ed;color:var(--muted)}.ph-estimate.review{background:#f3ecd9;color:#695a38}.ph-question-actions{display:flex;flex-direction:column;align-items:center;gap:4px}.ph-question-actions .button{min-height:44px}.ph-history{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--green);text-decoration:underline}.ph-empty{padding:24px 16px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}@media(max-width:1050px){.ph-question{grid-template-columns:minmax(0,1fr) auto}.ph-question-evidence{grid-column:1;padding-left:36px}.ph-question-actions{grid-column:2;grid-row:1 / 3}}@media(max-width:700px){.ph-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.ph-overview>div{padding:12px}.ph-start{align-items:stretch;flex-direction:column}.ph-start .button{width:100%}.ph-question{gap:7px;padding:12px 10px}.ph-question-title{gap:5px}.ph-question-title p{font-size:14px}.ph-question-evidence{padding-left:31px}.ph-question-actions .button{font-size:13px;padding:8px 10px}.ph-question-list{max-height:540px}}.drill-overview{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:10px 0 14px;border-bottom:1px solid var(--line);margin-bottom:16px;color:var(--muted);font-size:13px}.drill-overview>span{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.drill-overview b{color:var(--green);font-weight:600}.drill-overview .drill-label{color:var(--green);font-weight:600;margin-right:auto}.clean-practice-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.clean-practice-header h1{margin:0;font-size:23px}.clean-practice-header button,.clean-practice-header a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--green);background:none;border:0;padding:8px 0;font-size:14px}.practice-main.clean-session{padding-top:12px}@media(max-width:700px){.drill-overview{gap:7px 12px;font-size:12px}.drill-overview .drill-label{flex-basis:100%}.clean-practice-header h1{font-size:21px}}.audio-practice{margin:16px 0}.ap-player audio{display:block;width:100%;max-width:480px;min-height:44px}.ap-error{font-size:14px;color:var(--rust)}.ap-visible-card{margin-bottom:14px;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:var(--white)}.ap-visible-card h3,.ap-review h3{margin:0 0 8px;font-size:16px}.ap-visible-card p,.ap-review p{margin:0;white-space:pre-line;font-size:16px;line-height:2.6}.ap-visible-card .rich-content,.ap-review .rich-content{line-height:inherit}.ap-review{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.ap-review>p+p{margin-top:12px}.ap-review .rich-language-ja{color:var(--green-dark);font-weight:500}.question-meta{flex-wrap:wrap}.question-meta>.question-history{flex:1;margin:0;min-width:0}.question-meta>.bookmark-button{margin-left:auto}.audio-distractor-choice{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}@media(max-width:560px){.question-meta>.question-history{flex-basis:100%;order:1}}.pn-parent-row{display:flex;align-items:center;gap:4px}.pn-parent-row>.nav-item{flex:1;min-width:0;margin-bottom:0}.pn-toggle{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--green,#315b4c);border-radius:6px;cursor:pointer}.pn-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.pn-subnav{max-height:35vh;overflow-y:auto;list-style:none;padding:0 0 0 23px;margin:4px 0 12px}.pn-subnav a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:9px 10px;color:var(--ink,#263b33);font-size:13px;border-left:2px solid var(--line,#dfe3d8);border-radius:0 5px 5px 0}.pn-subnav a.is-current{background:var(--green-light,#e6eee6);border-color:var(--green,#315b4c);color:var(--green,#315b4c);font-weight:600}.pn-subnav small,.pn-page-nav small{font-size:10px;color:#60705d;font-weight:400}.pn-toggle:hover,.pn-subnav a:hover{background:var(--green-light,#e6eee6)}.pn-toggle:focus-visible,.pn-subnav a:focus-visible,.pn-page-nav a:focus-visible,.po-overview a:focus-visible,.po-overview button:focus-visible{outline:3px solid #9b6339;outline-offset:3px}.sidebar-collapsed .pn-parent-row>.nav-item{justify-content:center;padding:12px 0}.pn-page-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.pn-page-nav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:9px 12px;border:1px solid var(--line,#dfe3d8);border-radius:6px;color:var(--green,#315b4c);font-size:13px;background:#fffefa}.pn-page-nav a[aria-current=page]{background:var(--green-light,#e6eee6);font-weight:600}.po-heading{margin-bottom:20px}.po-heading h1{font-size:28px;line-height:1.45;margin:8px 0}.po-heading>p:last-child{font-size:14px;line-height:1.7;color:#52614d}.po-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.po-way{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px;border:1px solid var(--line,#dfe3d8);border-radius:9px;background:#fffefa;color:var(--ink,#263b33);min-width:0}.po-way:hover{border-color:var(--green,#315b4c)}.po-way-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%;color:var(--green,#315b4c)}.po-way h2{font-size:21px;margin:0}.po-way p{font-size:14px;line-height:1.75;margin:0}.po-count{font-size:12px;color:#596952}.po-way>small{font-size:12px;line-height:1.6;color:#60705d}.po-more{margin-top:24px;border-top:1px solid var(--line,#dfe3d8);padding-top:18px}.po-more>a{display:inline-flex;gap:12px;align-items:center;min-height:44px;font-size:14px;color:var(--green,#315b4c);font-weight:600}.po-more>p{font-size:13px;color:#60705d;line-height:1.6;margin:4px 0 10px}.po-more>div{display:flex;flex-wrap:wrap;gap:10px}.po-more>div>a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 12px;border:1px solid var(--line,#dfe3d8);border-radius:6px;font-size:13px}.po-more small{font-size:11px;color:#60705d}.po-load-error{font-size:13px;line-height:1.6}.po-load-error button{margin-left:8px;min-height:44px;border:0;background:transparent;text-decoration:underline;color:var(--green,#315b4c)}.clean-practice-header>a.po-all-practice{margin-left:auto}@media(max-width:900px){.po-ways{grid-template-columns:1fr}.po-way{padding:17px;gap:8px}.po-heading h1{font-size:24px}.po-heading>p:last-child{font-size:13px}.pn-page-nav{gap:6px}.pn-page-nav a{padding:8px 10px}.clean-practice-header{flex-wrap:wrap}.clean-practice-header>a.po-all-practice{margin-left:0}}@media(prefers-reduced-motion:reduce){.pn-toggle svg{transition:none}}.app-shell:not(.sidebar-collapsed) .sidebar>nav .nav-item{padding-inline:12px}.pn-parent-row>button.nav-item{width:100%;border:0;background:transparent;text-align:left}.pn-parent-row>button.nav-item.active{background:var(--green-light, #e6eee6)}.pn-parent-row>button.nav-item:hover{background:var(--green-light, #e6eee6)}.pn-chevron{margin-left:auto}.pn-parent-row>button[aria-expanded=true] .pn-chevron{transform:rotate(180deg)}.pn-parent-row>button.nav-item:focus-visible{outline:3px solid #9b6339;outline-offset:3px}.pn-subnav{padding-left:0}.pn-subnav a{padding:9px 12px;border-left:0;border-radius:8px;gap:13px}.pn-emoji{flex:0 0 19px;width:19px;font-size:18px;line-height:1.3;text-align:center}.pn-label{flex:1;min-width:0}.po-ways{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.po-way{grid-column:span 2;padding:0;gap:8px}.po-way:nth-child(-n+2){grid-column:span 3}.po-way-main{display:flex;flex-direction:column;gap:10px;padding:18px;width:100%;flex:1}.po-way-main:focus-visible{outline-offset:-3px;border-radius:9px}.po-way .po-scope{font-size:12px;color:#50624f;overflow-wrap:anywhere}.po-way .po-count{font-size:12px;line-height:1.7;color:#50624f}.po-count>span{display:block}.po-pending{background:var(--paper, #f7f6ef)}.po-retry{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin:0 18px 12px;padding:8px 0;color:var(--green, #315b4c);font-size:13px}.po-retry{border:0;background:transparent;cursor:pointer}.pn-subnav a{overflow-wrap:anywhere}.pn-page-nav{margin:0 0 8px;gap:8px}.pn-page-nav a{border:0;background:transparent;padding:8px 0}.pn-page-nav a+a{margin-left:8px}@media(max-width:900px){.po-ways{grid-template-columns:repeat(2,minmax(0,1fr))}.po-way,.po-way:nth-child(-n+2){grid-column:auto}.po-way-main{padding:16px}.po-retry{margin:0 16px 12px}}@media(max-width:560px){.po-ways{grid-template-columns:minmax(0,1fr);gap:12px}}.ps-settings{min-width:0}.ps-settings header h1{font-size:26px;line-height:1.5;margin:4px 0}.ps-settings header p,.ps-save-state p{font-size:14px;line-height:1.7;margin:4px 0}.ps-settings header>small{color:var(--muted);font-size:13px}.ps-save-state{border-block:1px solid var(--line);padding:10px 0;margin:14px 0;min-height:46px}.ps-save-state p[role=status]{color:var(--green-dark)}.ps-settings .ps-field-error{font-size:13px;line-height:1.6;min-height:1.6em}.ps-settings input[aria-invalid=true]{border-color:var(--rust)}.ps-settings input[aria-invalid=true]+.ps-field-error{color:var(--rust)}.ps-settings :is(input,select,button):focus-visible{outline:3px solid var(--green-dark);outline-offset:3px}.ps-settings :is(input,select,button){min-height:44px}.ps-settings input[type=checkbox]{min-height:20px}.ps-settings .checkbox-label{min-height:44px}.ps-settings .settings-form,.ps-settings label,.ps-settings input{min-width:0}.ps-settings .tl-choice-buttons button{flex:none}.ps-settings .form-grid{min-width:0}@media(max-width:600px){.ps-settings header h1{font-size:23px}.ps-settings .form-grid{grid-template-columns:1fr}.ps-settings .settings-form section{padding-inline:12px}}.google-sign-in{--muted: #53665a;display:grid;place-items:center;min-height:min(680px,calc(100svh - 48px));padding:32px 20px;color:var(--ink)}.gsi-panel{box-sizing:border-box;width:min(100%,420px);min-width:0;padding:32px 28px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.gsi-brand{margin:0 0 20px;color:var(--green);font-size:23px;font-weight:650;letter-spacing:.08em}.gsi-panel h1{margin:0 0 12px;font-size:26px;line-height:1.45;font-weight:650;overflow-wrap:anywhere}.gsi-description{margin:0;color:var(--muted);font-size:16px;line-height:1.75;overflow-wrap:anywhere}.gsi-button{display:flex;justify-content:center;width:100%;min-width:0;min-height:44px;margin-top:24px}.gsi-button[inert]{pointer-events:none;opacity:.65}.gsi-status{min-height:24px;margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.gsi-error{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:6px}.gsi-error p{margin:0 0 8px;font-size:15px;line-height:1.7;color:var(--ink)}.gsi-error button,.gsi-cancel,.gsi-guest-button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--green);font:inherit;cursor:pointer}.gsi-cancel{margin-top:16px;width:100%}.gsi-guest{margin-top:12px}.gsi-guest-button{width:100%}.gsi-guest p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.gsi-error button:hover,.gsi-cancel:hover,.gsi-guest-button:hover{background:var(--green-light)}.gsi-error:focus-visible,.gsi-error button:focus-visible,.gsi-cancel:focus-visible,.gsi-guest-button:focus-visible{outline:3px solid var(--green);outline-offset:3px}.gsi-cancel:disabled,.gsi-guest-button:disabled{opacity:.55;cursor:default}@media(max-width:480px){.google-sign-in{padding:24px 16px}.gsi-panel{padding:28px 20px}.gsi-panel h1{font-size:24px}}.reading-workflow{--rw-paper:#fffefa;--rw-green:#315b4c;--rw-line:#d8e0d3;--rw-muted:#56665d;color:#263b33;display:grid;gap:12px;min-width:0;font-size:16px;line-height:1.7}.reading-workflow *{box-sizing:border-box;min-width:0}.reading-workflow h1{font-size:24px;line-height:1.6;margin:0}.reading-workflow h2{font-size:18px;line-height:1.8;margin:0 0 10px}.reading-workflow h3{font-size:16px;line-height:1.7;margin:12px 0 6px}.reading-workflow p{margin:0 0 10px}.rw-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rw-meta,.rw-boundary{font-size:13px;color:var(--rw-muted);margin:0!important;overflow-wrap:anywhere}.rw-type{font-size:12px;color:var(--rw-green)}.rw-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:start}.rw-passages{display:grid;gap:12px}.rw-passage,.rw-question,.rw-review-item,.rw-learning-notes{border:1px solid var(--rw-line);border-radius:6px;padding:16px;background:var(--rw-paper);overflow-wrap:anywhere}.rw-passage{line-height:2.15}.rw-paragraph{scroll-margin-top:12px}.rw-paragraph>p{line-height:2.15;margin:10px 0 16px}.rw-paragraph-number{font-size:12px;color:var(--rw-muted);margin-right:8px;-webkit-user-select:none;user-select:none}.rw-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer}.rw-toggle input,.rw-choice input{accent-color:var(--rw-green);width:18px;height:18px;flex-shrink:0}.rw-toggle:has(input:disabled){cursor:default}.rw-session-bar,.rw-result-summary{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;background:#eef3e9;border:1px solid var(--rw-line);border-radius:6px;padding:10px 12px;font-size:14px}.rw-timer{font-size:24px;font-variant-numeric:tabular-nums;line-height:1.3}.rw-question-nav{display:flex;gap:6px;flex-wrap:wrap}.rw-question-nav button{width:44px;min-height:44px;position:relative;background:var(--rw-paper);border:1px solid var(--rw-line);border-radius:5px;color:var(--rw-green);font:inherit}.rw-question-nav button[aria-current=step]{background:var(--rw-green);color:#fffefa}.rw-question-nav button span{position:absolute;bottom:1px;right:4px;font-size:9px}.rw-choices{padding:0;border:0;display:grid;gap:8px;margin:0 0 10px}.rw-choice{display:flex;align-items:flex-start;gap:8px;min-height:44px;border:1px solid var(--rw-line);padding:10px;border-radius:5px;background:var(--rw-paper);cursor:pointer}.rw-choice input{margin-top:5px}.rw-choice:has(input:checked){border-color:var(--rw-green);background:#e6eee6}.rw-choice:has(input:disabled){cursor:default;opacity:.65}.rw-choice-number{font-size:13px;margin-top:2px;color:var(--rw-muted)}.rw-navigation,.rw-submit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between}.rw-navigation{margin-top:12px;font-size:13px}.rw-submit-row{padding:12px 0;border-top:1px solid var(--rw-line);font-size:14px}.rw-primary,.rw-secondary,.rw-empty button{font:inherit;min-height:44px;padding:8px 12px;border:1px solid var(--rw-green);border-radius:5px;cursor:pointer;line-height:1.6;white-space:normal}.rw-primary{color:#fffefa;background:var(--rw-green)}.rw-secondary,.rw-empty button{background:var(--rw-paper);color:var(--rw-green)}.reading-workflow button:disabled{opacity:.5;cursor:default}.reading-workflow :is(button,a,input,summary,p[tabindex],h2[tabindex],.rw-paragraph[tabindex]):focus-visible{outline:3px solid #244f40;outline-offset:3px}.rw-notice,.rw-error{border:1px solid var(--rw-line);border-radius:5px;padding:12px;font-size:14px;background:#f4f2e8}.rw-error{color:#794c31}.rw-translation{font-size:14px;color:var(--rw-muted);border-top:1px solid var(--rw-line)}.rw-translation summary,.rw-learning-question summary{min-height:44px;cursor:pointer;padding:8px 0}.rw-translation p{line-height:1.8}.rw-review-items{display:grid;gap:12px}.rw-review-choices{padding-left:24px;margin:0}.rw-review-choices li{padding:8px 0;border-bottom:1px solid var(--rw-line)}.rw-review-choices li>p{font-size:14px;color:var(--rw-muted);margin:6px 0 0}.rw-answer-marker{display:inline-block;color:var(--rw-green);background:#e6eee6;font-size:12px;padding:2px 5px;margin-left:8px}.rw-condition{font-size:14px;margin:0!important}.rw-evidence{padding:10px 12px;border-left:3px solid #8bb97b;background:#f0f4ed;margin:8px 0}.rw-evidence-link{font:inherit;border:0;padding:0;background:transparent;cursor:pointer;color:var(--rw-green);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center;font-size:14px}.rw-evidence blockquote{font-size:14px;margin:0 0 8px;white-space:pre-wrap}.rw-evidence p{line-height:2.15}.rw-empty{font-size:16px;line-height:1.8}.rw-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1050px){.rw-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:650px){.reading-workflow h1{font-size:21px}.rw-passage,.rw-question,.rw-review-item,.rw-learning-notes{padding:12px}.rw-heading{align-items:flex-start}.rw-submit-row{align-items:stretch}.rw-submit-row .rw-primary{width:100%}.rw-session-bar{gap:6px 10px}.rw-navigation span{flex:1;text-align:center}}@media(prefers-reduced-motion:reduce){.reading-workflow *{scroll-behavior:auto}}.rw-submit-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:20px;border:1px solid var(--rw-line);border-radius:6px;background:var(--rw-paper);color:inherit;font:inherit;box-shadow:0 8px 32px #263b3340}.rw-submit-dialog::backdrop{background:#263b3373}.rw-submit-dialog h2{margin:0 0 12px}.rw-confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:16px}.rw-confirm-actions button{flex:1}.rw-paragraph>p,.rw-evidence>p{line-height:2.6}.rw-paragraph>p>.rich-content,.rw-evidence>p>.rich-content{line-height:inherit}.journey-heading{margin-bottom:24px}.journey-heading h1{font-size:30px}.journey-summary{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:20px 24px;border:1px solid var(--line);border-radius:10px;background:var(--white);margin:20px 0}.journey-summary strong{font-size:22px;color:var(--green)}.journey-summary p{margin:3px 0;font-size:13px;color:var(--muted)}.journey-summary .button{margin-left:auto}.daily-task-list{display:grid;gap:12px;margin-bottom:30px}.daily-task{display:flex;align-items:center;gap:17px;border:1px solid var(--line);background:var(--white);padding:20px 23px;border-radius:9px}.daily-task.done{background:#edf2e8}.daily-task-marker{width:31px;height:31px;border-radius:50%;background:var(--green-light);color:var(--green);display:grid;place-items:center;font-size:12px;flex-shrink:0}.daily-task-copy{flex:1;min-width:0}.daily-task-copy small{font-size:11px;color:var(--muted)}.daily-task-copy>strong{display:block;font-size:16px;margin:5px 0}.daily-task-copy p{font-size:12px;color:var(--muted);margin:0}.daily-task .text-link{white-space:nowrap}.learning-search{margin-bottom:25px}.course-chapters{display:grid;gap:14px}.course-chapter{border:1px solid var(--line);background:var(--white);border-radius:10px;overflow:hidden}.course-chapter summary{display:flex;align-items:center;gap:15px;padding:22px;cursor:pointer;list-style:none}.course-chapter summary::-webkit-details-marker{display:none}.course-chapter summary>div{flex:1}.course-chapter h2{font-size:19px;margin:5px 0}.course-chapter summary p{font-size:13px;color:var(--muted);margin:0}.course-chapter-content{border-top:1px solid var(--line);padding:18px 22px}.course-section-link{display:flex;align-items:center;gap:13px;padding:15px 8px;border-bottom:1px solid var(--line)}.course-section-link:last-child{border:0}.course-section-link>span:nth-child(2){flex:1}.course-section-link>span:nth-child(2)>strong{display:block;font-size:14px}.course-section-link small{font-size:11px;color:var(--muted)}.reading-mode{display:flex;gap:8px;margin:18px 0 23px}.reading-mode button{padding:10px 16px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--white);font-size:13px}.reading-mode button[aria-pressed=true]{background:var(--green-light);border-color:#a8bda6;color:var(--green)}.section-status{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:17px}.section-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:23px 0 0;border-top:1px solid var(--line)}.section-actions .saved-note{font-size:12px;color:var(--green);display:flex;gap:6px;align-items:center}.section-practice{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}.section-practice .section-heading h3{margin:0}.section-practice .question-panel{margin:18px 0}.completion-card{padding:24px 25px;background:#edf2e8;border:1px solid #d6e1d1;border-radius:10px;margin:20px 0}.completion-card h2,.completion-card h3{margin:8px 0}.completion-card p{font-size:13px;margin-bottom:16px}.completion-card .button-row{justify-content:flex-start}.practice-mode-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:25px;flex-wrap:wrap}.practice-mode-tabs>button{border:1px solid var(--line);border-radius:6px;background:var(--white);padding:12px 18px;min-height:46px;font-size:14px}.practice-mode-tabs>button[aria-pressed=true]{background:var(--green-light);border-color:#a8bda6;color:var(--green);font-weight:600}.practice-scope{display:flex;gap:17px;flex-wrap:wrap;align-items:flex-end;padding:18px 0 25px}.practice-scope label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.practice-scope select{border:1px solid var(--line);background:var(--white);padding:10px 13px;border-radius:6px;min-height:44px}.question-history{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:15px 0}.question-history button{border:0;background:none;color:var(--green);text-decoration:underline;font-size:12px;min-height:36px}.answer-action{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:20px}.answer-action .submit-answer{margin:0}.answer-action .saved-note{font-size:12px;color:var(--green);display:flex;gap:6px;align-items:center}.feedback details{margin-top:16px}.feedback details summary{font-size:13px;color:var(--green);cursor:pointer;padding:7px 0}.feedback details p{margin-top:12px}.minor-action{border:0;background:none;color:var(--muted);text-decoration:underline;font-size:12px;min-height:36px}.practice-finished .button-row{justify-content:flex-start}.mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:700px){.journey-heading h1{font-size:25px}.journey-summary{padding:19px;gap:14px}.journey-summary .button{margin-left:0;width:100%}.daily-task{padding:17px 15px;gap:11px;flex-wrap:wrap}.daily-task-copy>strong{font-size:14px}.daily-task>.text-link{margin-left:42px}.course-chapter summary{padding:18px 17px;gap:11px}.course-chapter h2{font-size:17px}.course-chapter summary p{font-size:12px}.course-chapter-content{padding:10px 12px}.course-section-link{gap:10px}.course-section-link>span:nth-child(2)>strong{font-size:13px}.course-section-link .pill{font-size:9px;white-space:normal;max-width:80px}.section-actions .button{width:100%}.section-actions .saved-note{width:100%;justify-content:center}.practice-mode-tabs{gap:7px}.practice-mode-tabs>button{flex:1;padding:11px 7px;font-size:12px}.practice-scope{gap:12px}.practice-scope label{flex:1;min-width:105px}.practice-scope select{max-width:100%;font-size:12px}.answer-action>.button{width:100%}.completion-card{padding:20px 18px}.completion-card .button-row>.button{width:100%}.mobile-nav>a{min-height:58px}.feedback details p{font-size:12px}}.question-fieldset{border:0;margin:0;padding:0;min-width:0}.question-history{min-height:36px}.journey-summary{padding:12px 16px;gap:16px;margin:12px 0 20px;border-radius:8px}.journey-summary strong{font-size:24px}.daily-task-list{gap:8px;margin-bottom:20px}.daily-task{padding:12px 16px;gap:12px;border-radius:6px}.daily-task-copy>strong{margin:4px 0;font-size:16px}.daily-task-copy p,.daily-task-copy small{font-size:13px;line-height:1.65}.course-chapters{gap:8px}.course-chapter{border-radius:6px}.course-chapter>summary{padding:12px 16px;gap:12px;min-height:76px}.chapter-index{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;align-self:start;padding-top:5px}.course-chapter .chapter-summary{flex:1;min-width:0}.course-chapter h2{font-size:17px;line-height:1.6;margin:0 0 4px;font-weight:600}.course-chapter summary p{margin:0;font-size:13px;line-height:1.65}.chapter-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12px;line-height:1.6;color:var(--muted)}.chapter-meta span+span{border-left:1px solid var(--line);padding-left:12px}.course-chapter>summary>.course-chapter-action>svg{flex-shrink:0;transition:transform .15s}.course-chapter[open]>summary>.course-chapter-action>svg{transform:rotate(180deg)}.course-chapter-content{padding:8px 16px}.course-section-link{padding:8px 0;min-height:56px}.course-section-link>span:nth-child(2){min-width:0}.course-section-link>span:nth-child(2)>strong{font-size:15px}.course-section-link small{font-size:12px}.learning-search{margin-bottom:12px}.practice-scope{gap:12px;padding:8px 0 16px}.practice-scope label{font-size:13px}.practice-scope select{font-size:14px}.practice-mode-tabs{margin-bottom:16px;padding-bottom:12px}.reading-mode{margin:12px 0 16px}.section-practice{margin-top:20px;padding-top:16px}.section-actions{padding-top:16px}.answer-action{min-height:52px;align-items:center;gap:8px 12px}.answer-action .submit-answer{min-width:150px}.question-history button,.minor-action,.feedback details summary{min-height:44px}.feedback details summary{display:flex;align-items:center;font-size:14px}@media(max-width:700px){.journey-summary{padding:12px;gap:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.journey-summary strong{font-size:21px}.journey-summary p{font-size:12px}.journey-summary .button{grid-column:1 / -1}.daily-task{padding:10px 12px;gap:10px}.daily-task-copy>strong{font-size:15px}.course-chapter>summary{padding:12px;gap:8px}.course-chapter h2{font-size:16px}.course-chapter summary p{font-size:13px}.chapter-meta{gap:4px 8px}.chapter-meta span+span{padding-left:8px}.course-chapter-content{padding:8px 12px}.course-section-link{gap:8px;flex-wrap:wrap}.course-section-link .pill{max-width:none;font-size:12px}.course-section-link>span:nth-child(2){flex:1 1 190px}.practice-scope select{font-size:16px}.answer-action>.button{width:100%}}.lesson-header-actions{display:flex;flex-wrap:wrap;gap:8px}.bookmark-button,.exam-question-nav>button{min-width:44px;min-height:44px}@media(max-width:700px){.lesson-header-actions{width:100%}.lesson-header-actions>.button{flex:1;white-space:normal;text-align:center}}.course-section-link>span:nth-child(2)>strong{line-height:1.9;font-weight:600}.course-section-link>span:nth-child(2)>small{display:block;line-height:1.65;margin-top:2px}.lesson-toc>button>span:first-child{flex:0 0 24px}.lesson-toc>button>.rich-content{flex:1;min-width:0;font-family:inherit;line-height:1.9;color:inherit}.lesson-objectives>p>.rich-content{min-width:0;line-height:1.9}.course-chapter>summary>.course-chapter-action{display:flex;align-items:center;gap:12px;flex-shrink:0}.course-chapter-start{display:inline-flex;align-items:center;justify-content:center;width:72px;min-height:44px;padding:8px 6px;border:1px solid var(--line);border-radius:6px;background:var(--green-light);color:var(--green);font-size:14px;white-space:nowrap}.course-chapter-start:hover{border-color:var(--green)}@media(max-width:700px){.course-chapter>summary{flex-wrap:wrap}.course-chapter>summary>.chapter-summary{flex:1 1 calc(100% - 32px)}.course-chapter>summary>.course-chapter-action{margin-left:auto}}.sidebar-top{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.sidebar-top .brand{flex:1;min-width:0}.sidebar-collapse{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--green)}.nav-item,.sidebar .profile-switch,.sidebar .profile-link,.sidebar-collapse{position:relative}.sidebar-tooltip{display:none}.sidebar-top .brand-label{min-width:0}.sidebar-top .brand strong{white-space:nowrap}@media(min-width:701px)and (max-width:1150px){.sidebar-top{gap:8px}.sidebar-top .brand{padding-inline:0}.sidebar-top .brand small{display:none}}.sidebar .profile-switch{min-height:44px}@media(min-width:701px){.sidebar-collapsed .sidebar{width:80px;padding:20px 12px}.sidebar-collapsed .workspace{margin-left:80px}.sidebar-collapsed .sidebar-top{justify-content:center;gap:8px}.sidebar-collapsed .brand{padding:0;flex:0 0 auto}.sidebar-collapsed .brand-label,.sidebar-collapsed .sidebar .nav-label,.sidebar-collapsed .sidebar .profile-label,.sidebar-collapsed .local-label{display:none}.sidebar-collapsed .sidebar-collapse{margin:0}.sidebar-collapsed .nav-item{justify-content:center;padding:12px;gap:0;min-height:48px}.sidebar-collapsed .nav-dot{position:absolute;right:6px;top:8px}.sidebar-collapsed .profile-switch{width:100%;justify-content:center;padding:10px;font-size:0}.sidebar-collapsed .profile-switch svg{width:19px;height:19px}.sidebar-collapsed .profile-link{justify-content:center;padding:16px 0 0;min-height:64px}.sidebar-collapsed .profile-link>svg{display:none}.sidebar-collapsed .sidebar-tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);display:block;visibility:hidden;opacity:0;padding:8px 10px;background:var(--green-dark);color:var(--white);border-radius:5px;font-size:13px;white-space:nowrap;z-index:45;pointer-events:none}.sidebar-collapsed :is(.nav-item,.profile-switch,.profile-link,.sidebar-collapse):is(:hover,:focus-visible)>.sidebar-tooltip{visibility:visible;opacity:1}}@media(max-width:700px){.sidebar-collapse{display:none}}:root{font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;color:#263b33;background:#f7f6ef;font-synthesis:none;--paper:#f7f6ef;--white:#fffefa;--green:#315b4c;--green-dark:#244638;--green-light:#e6eee6;--ink:#263b33;--muted:#6e776e;--line:#dfE3d8;--rust:#a55330;--rust-light:#f5e8dc}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}button,input,select,textarea{transition:border-color .16s,background .16s,box-shadow .16s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9b6339;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}h1{font-size:32px;line-height:1.5;letter-spacing:.035em;margin-bottom:10px}h2{font-size:21px;line-height:1.55;letter-spacing:.025em}h3{font-size:17px;line-height:1.65}p{line-height:1.85}svg{flex-shrink:0}button svg,a svg{vertical-align:middle}.japanese,[lang=ja]{font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif}.app-shell{min-height:100vh}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:#fbfaf5;border-right:1px solid var(--line);padding:36px 20px 24px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:13px;padding:0 13px}.brand-mark{width:43px;height:43px;border-radius:50%;background:var(--green);display:grid;place-items:center;color:#eef4e7}.brand strong{font-family:Hiragino Mincho ProN,Yu Mincho,serif;display:block;font-size:27px;letter-spacing:.17em;line-height:1.35}.brand small{font-size:9px;letter-spacing:.12em;font-weight:600;color:var(--muted);display:block;margin-top:4px}.sidebar-label{font-size:11px;color:#8a9184;letter-spacing:.08em;padding:0 14px;margin:42px 0 17px}.nav-item{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:8px;min-height:48px;margin:4px 0;color:#667364;font-size:14px;font-weight:500}.nav-item:hover{background:#f0f2e9;color:var(--green)}.nav-item.active{background:var(--green-light);color:var(--green);font-weight:600}.nav-dot{height:5px;width:5px;border-radius:50%;background:var(--green);margin-left:auto}.sidebar-bottom{margin-top:auto}.local-label{display:flex;gap:7px;align-items:center;color:#7b8275;font-size:11px;letter-spacing:.03em;margin:24px 14px 18px}.status-dot{width:6px;height:6px;background:#89a283;border-radius:50%}.profile-link{border-top:1px solid var(--line);padding:20px 10px 0;display:flex;gap:11px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:#ebe5d6;display:grid;place-items:center;color:#776752;font-size:14px}.profile-link strong{display:block;font-size:13px;margin-bottom:3px}.profile-link small{font-size:10px;color:var(--muted)}.profile-link>svg{margin-left:auto;color:#7a8375}.workspace{margin-left:236px}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 48px}.topbar-note{font-size:12px;letter-spacing:.07em;color:#818777}.topbar-goal{display:flex;align-items:center;gap:9px;font-size:12px;background:#fbfaf5;padding:9px 14px;border:1px solid var(--line);border-radius:30px;min-height:38px}.workspace main{max-width:1236px;padding:40px 48px 0;margin:auto;outline:none;min-height:calc(100vh - 78px)}.mobile-brand,.mobile-nav,.mobile-more{display:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:32px}.eyebrow{font-size:10px!important;line-height:1.5!important;font-weight:600;letter-spacing:.17em;color:#7d876f;margin-bottom:12px;text-transform:uppercase}.page-description{color:var(--muted);font-size:14px;margin:0;max-width:760px}.button{background:var(--green);color:#fffefa;border:1px solid transparent;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:14px;font-weight:500;min-height:46px;padding:12px 22px;white-space:nowrap}.button:hover:not(:disabled){background:var(--green-dark)}.button.secondary{background:transparent;color:var(--green);border-color:#ccd6c9}.button.secondary:hover:not(:disabled){background:#edf1e7}.button.small{font-size:13px;min-height:42px;padding:10px 16px;gap:10px}.button-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.pill{font-size:11px;font-weight:500;line-height:1.5;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:4px;background:#eef0e5;color:#6a755f;white-space:nowrap}.pill.level{background:#e5ece1;color:#3f6247;font-weight:600}.pill.light{color:#e9eedf;background:#4d6d57;border:1px solid #719077}.text-link{color:var(--green);font-size:13px;display:inline-flex;align-items:center;gap:10px}.text-link:hover{text-decoration:underline}.subtle{color:var(--muted);font-size:12px;line-height:1.7}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(0,1fr);gap:20px}.today-card{position:relative;overflow:hidden;background:var(--green);color:#f9f9ef;border-radius:12px;padding:28px 30px 22px;min-height:290px}.today-top{display:flex;gap:15px;align-items:center;font-size:11px;color:#c6d5c1;position:relative;z-index:1}.today-card h2{max-width:330px;font-size:25px;line-height:1.55;margin:21px 0 8px;font-family:Hiragino Mincho ProN,Songti TC,serif;letter-spacing:.06em;font-weight:500}.today-card>p{position:relative;z-index:1;font-size:13px;max-width:350px;color:#d8e0d0;margin:0 0 23px}.today-card .button{background:#f2f2e5;color:var(--green);border-color:#f2f2e5;position:relative;z-index:1;font-size:13px;min-height:42px;padding:10px 16px}.today-card .button:hover{background:#fffefa}.today-art{position:absolute;right:24px;top:54px;width:132px;height:160px;opacity:.22;display:grid;place-items:center}.today-art>span{font-family:Hiragino Mincho ProN,serif;position:relative;border:1px solid #d8e6ce;border-radius:80px 80px 0 0;font-size:72px;padding:23px 20px}.today-art>svg{position:absolute;bottom:-25px;left:-23px;transform:rotate(-25deg)}.today-foot{position:relative;z-index:1;border-top:1px solid #567461;margin-top:25px;padding-top:17px;display:flex;align-items:center;gap:7px;font-size:10px;color:#b8ccb2}.review-card{background:#efeee3;border:1px solid #e6e5d7;border-radius:12px;padding:28px 27px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.card-heading .eyebrow{font-size:9px!important;margin:0}.icon-soft{display:inline-grid;place-items:center;background:#e0e7d8;border-radius:50%;width:40px;height:40px;color:#55744b}.review-card h2{font-size:18px;margin-bottom:5px}.review-card>p{font-size:12px;color:var(--muted);margin-bottom:12px}.review-count{font-family:Georgia,serif;font-size:46px;line-height:1.2;margin-bottom:16px}.review-count>span{font-family:inherit;font-size:11px;color:var(--muted);margin-left:9px}.review-card>.button{width:100%;font-size:12px}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:23px 0 38px;border:1px solid var(--line);background:#fbfaf5;border-radius:9px;padding:19px 0}.stat{padding:0 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat>span{display:flex;gap:7px;font-size:11px;color:var(--muted);align-items:center;margin-bottom:10px}.stat>strong{display:block;font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.2}.stat small{font-family:-apple-system,PingFang TC,sans-serif;font-size:10px;font-weight:400;color:var(--muted);margin-left:8px}.section{margin:32px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2{font-size:18px;margin-bottom:4px}.section-heading p{font-size:12px;color:var(--muted);margin:0}.plan-list{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fffefa}.plan-item{display:flex;align-items:center;gap:20px;padding:20px 23px;border-bottom:1px solid var(--line);min-height:97px;transition:background .18s}.plan-item:hover{background:#f1f3e9}.plan-item:last-child{border:0}.step-number{font-family:Georgia,serif;font-size:20px;color:#8d9c7e;border:1px solid #dbe2d2;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}.plan-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.plan-copy small{font-size:9px;color:#8f987e;letter-spacing:.04em}.plan-copy strong{font-size:14px;font-weight:500}.plan-copy>span{font-size:11px;color:var(--muted);line-height:1.5}.plan-time{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:11px;color:#798470;white-space:nowrap}.plan-item>svg{color:#899880}.quiet-note{display:flex;align-items:flex-start;gap:12px;padding:21px 22px;border:1px solid var(--line);border-radius:8px;color:#7a826e;font-size:12px;line-height:1.8;background:#f3f3e9;margin:26px 0}.quiet-note>svg{margin-top:3px;color:#889978}.mastery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mastery-card{border:1px solid var(--line);border-radius:8px;background:#fffefa;display:flex;flex-direction:column;padding:20px;gap:9px}.mastery-card strong{font-size:14px}.mastery-card span,.mastery-card small{font-size:10px;color:var(--muted)}.progress-track{height:5px;width:100%;background:#e7ebdf;border-radius:5px;margin:5px 0;overflow:hidden}.progress-track>span{height:100%;background:#78996b;display:block}.footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:12px;margin-top:50px;padding:25px 0 30px;color:#939780;font-size:10px}.footer [lang=ja]{font-size:11px;color:#7e8b6d;font-family:Hiragino Mincho ProN,serif}.empty{text-align:center;padding:42px 24px;border:1px dashed #d9dfd0;border-radius:9px;background:#fafaf3;margin:18px 0}.empty-icon{width:53px;height:53px;display:grid;place-items:center;background:#eef0e3;color:#82946e;border-radius:50%;margin:0 auto 15px}.empty h3{font-size:17px;margin-bottom:7px}.empty p{color:var(--muted);font-size:13px;max-width:550px;margin:auto}.empty a{display:flex;align-items:center;justify-content:center;gap:6px;margin:15px 0 0;color:var(--green)}.empty .button{margin-top:19px}.loading{padding:48px;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-size:14px;min-height:200px}.spinner{width:19px;height:19px;border:2px solid #d8dfd2;border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{display:flex;gap:12px;padding:20px;border:1px solid #dddccf;border-radius:8px;background:#f4f4e8;margin:20px 0;font-size:13px}.notice p{margin:6px 0 10px;color:var(--muted)}.notice.error{border-color:#dfc3ae;background:#f8ece1;color:#974628}.notice.success{background:#edf2e6;border-color:#d5dfcc;color:#4d6944}.inline-error{color:#a14e28;background:#fcf0e5;padding:12px 15px;border-left:3px solid #b77148;font-size:13px;margin:18px 0;line-height:1.75}.startup{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column}.startup>.notice{max-width:600px;margin:20px}.startup>.loading{min-height:150px}.level-tabs{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}.level-tabs button{border:1px solid var(--line);background:#fcfbf6;min-width:68px;min-height:44px;border-radius:6px;padding:9px 17px;color:#7d8573;font-size:13px}.level-tabs button.selected{background:var(--green);color:#fffefa;border-color:var(--green)}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.lesson-card{display:block;border:1px solid var(--line);border-radius:11px;background:#fffefa;overflow:hidden;padding:26px 27px 0;transition:transform .18s,border-color .18s}.lesson-card:hover{transform:translateY(-3px);border-color:#a8baa0}.lesson-card-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.lesson-number{font-size:9px;letter-spacing:.14em;color:#99a28a}.lesson-card h2{font-size:22px;margin-bottom:13px}.lesson-card>p{font-size:13px;color:var(--muted);min-height:49px;margin-bottom:20px}.lesson-topics{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#79836e;margin-bottom:28px}.lesson-topics>span{display:flex;gap:7px;line-height:1.7}.lesson-topics>span:before{content:"·";color:#8aa378;font-weight:600}.lesson-card-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:15px;font-size:11px}.lesson-card-footer span{display:flex;align-items:center;gap:7px}.lesson-card-footer>span:first-child{color:var(--muted)}.completed{color:#4c794a!important}.back-link{display:inline-flex;gap:9px;align-items:center;color:#77826c;font-size:12px;background:none;border:none;min-height:42px;margin-bottom:20px;padding:0}.lesson-meta{display:flex;gap:23px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:27px}.lesson-meta>span{display:flex;align-items:center;gap:7px}.lesson-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px}.lesson-toc{position:sticky;top:25px;align-self:start}.lesson-toc>.eyebrow{display:block;margin:5px 0 13px}.lesson-toc>button{display:flex;align-items:flex-start;gap:11px;font-size:12px;background:none;border:0;border-left:2px solid #e0e4d7;padding:12px 10px;text-align:left;line-height:1.7;min-height:44px;width:100%;color:#828a75}.lesson-toc>button.selected{border-left-color:var(--green);color:var(--green);background:#edf0e4}.lesson-toc>button>span:first-child{font-family:Georgia,serif;color:#91a082}.lesson-objectives{margin-top:26px;border-top:1px solid var(--line);padding-top:22px;font-size:11px;color:#828b74}.lesson-objectives>strong{font-weight:500;display:block;margin-bottom:11px}.lesson-objectives>p{display:flex;gap:6px;align-items:flex-start;line-height:1.65;margin-bottom:10px}.lesson-objectives svg{margin-top:3px}.lesson-reading{max-width:780px;min-width:0}.reading-section{scroll-margin-top:30px;padding-bottom:38px;border-bottom:1px solid var(--line);margin-bottom:35px}.reading-section h2{font-size:24px;margin-bottom:21px}.reading-section>p:not(.eyebrow){font-size:15px;color:#526151;line-height:2.05;margin-bottom:19px}.formation{border:1px solid #d9e1d1;background:#edf1e5;border-radius:6px;padding:20px 23px;margin:23px 0;display:flex;flex-direction:column;gap:12px;line-height:1.85}.formation>span:first-child{font-size:10px;color:#839275;letter-spacing:.06em}.formation>.japanese{font-size:16px;color:#375943;overflow-wrap:anywhere}.example{border-left:2px solid #bacbad;padding:14px 21px;margin:21px 0;background:#fcfcf6}.example-japanese ruby{ruby-position:over;ruby-align:center;white-space:nowrap}.example-japanese rt{font-size:.55em;font-weight:400;line-height:1.2;color:#6e7b62}.example-japanese{font-size:18px;line-height:2.3;margin-bottom:8px;color:inherit;overflow-wrap:anywhere}.translation{font-size:13px;color:#7f8674;margin-bottom:0;line-height:1.7}.teaching-note{background:#f0f2e7;border-radius:6px;padding:22px 24px;margin:23px 0;font-size:13px;line-height:1.8}.teaching-note strong{font-size:12px;color:#60784f}.teaching-note p{margin:11px 0 0;color:#66725c}.teaching-note.rust{background:#f6eee2}.teaching-note.rust strong{color:#916142}.teaching-note.rust p{color:#89715b}.inline-practice{border:1px solid var(--line);border-radius:9px;padding:26px;margin:26px 0;background:#fffefa}.inline-practice>.eyebrow{margin-bottom:15px}.section-save{background:none;border:0;color:#879176;display:flex;gap:7px;align-items:center;min-height:44px;font-size:11px;padding:7px 0;flex-wrap:wrap}.section-save>span{color:#456940;font-size:10px;margin-left:8px}.lesson-end{text-align:center;padding:33px 24px;background:#eef1e5;border-radius:10px;margin-top:40px}.lesson-end>svg{color:#829c6e;margin-bottom:15px}.lesson-end h2{font-size:20px;margin-bottom:10px}.lesson-end>p{font-size:13px;color:#7b856c;margin-bottom:25px}.related-knowledge{margin-top:26px;font-size:13px}.related-knowledge h3{font-size:14px}.related-knowledge>a{display:flex;align-items:center;gap:10px;padding:10px 0;color:var(--green);min-height:44px}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.bookmark-button{background:transparent;border:0;padding:10px;color:#9aa38b;min-height:42px;min-width:42px;border-radius:5px}.bookmark-button:hover{background:#eef1e4}.bookmark-button.bookmarked{color:#b8754b}.question-context{font-size:16px;background:#f3f3e9;border:1px solid var(--line);padding:20px;border-radius:6px;line-height:2;margin-bottom:22px;white-space:pre-wrap;overflow-wrap:anywhere}.question-prompt{font-size:18px;line-height:1.85;margin-bottom:24px;overflow-wrap:anywhere;white-space:pre-wrap}.answer-options{display:flex;flex-direction:column;gap:11px}.answer-choice{display:flex;align-items:center;gap:14px;background:#fffefa;border:1px solid var(--line);padding:14px 17px;min-height:55px;border-radius:6px;text-align:left;line-height:1.8;font-size:15px;transition:border .16s,background .16s;white-space:normal;overflow-wrap:anywhere}.answer-choice>.choice-letter{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;background:#f0f1e8;border-radius:50%;font-size:11px;font-family:Georgia,serif;color:#7b876e}.answer-choice>span:nth-child(2){min-width:0;flex:1}.answer-choice:hover:not(:disabled){border-color:#91a584;background:#f7f9ef}.answer-choice.selected{background:#edf3e6;border-color:#648957}.answer-choice.correct{background:#e8f1e1;border-color:#729665;opacity:1}.answer-choice.incorrect{background:#fcf0e4;border-color:#bc875c;opacity:1}.answer-choice:disabled{opacity:.75}.submit-answer{margin-top:23px;font-size:13px;min-height:43px;padding:10px 20px}.feedback{padding:22px;border-radius:7px;margin-top:24px;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.feedback.right{background:#edf3e6;border:1px solid #d3e0c7}.feedback.wrong{background:#faf0e5;border:1px solid #ead6c1}.feedback>strong{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:14px}.feedback>strong>span{font-size:11px;color:#8b9169}.feedback>p{margin-bottom:12px;color:#66755b}.feedback.wrong>p{color:#857156}.feedback .correct-answer{color:#48693f;margin:15px 0 7px}.feedback .distractor{font-size:12px;line-height:1.8}.feedback>small{display:block;border-top:1px solid #dbe3cf;padding-top:12px;margin-top:17px;color:#808d6c;font-size:11px}.model-answer{border-top:1px solid #d4ddc6;padding-top:16px;margin-top:15px}.model-answer span{font-size:11px;color:#7c8a6c}.written-answer{display:flex;flex-direction:column;gap:10px;font-size:13px;color:#738066}.written-answer textarea{min-height:140px}.written-answer>span{font-size:11px;line-height:1.8}.tab-row{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:26px}.tab-row>button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 1px 16px;min-height:45px;font-size:13px;color:#859076;position:relative;top:1px}.tab-row>button.selected{color:var(--green);border-bottom-color:var(--green);font-weight:600}.practice-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.practice-toolbar label{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}select,input,textarea{border:1px solid #d9dfcf;background:#fffefa;border-radius:5px;color:#3d5340;padding:11px 13px;min-height:44px;max-width:100%;outline-offset:3px}select{cursor:pointer}input::placeholder{color:#9ba28f}textarea{resize:vertical;line-height:1.8}.practice-layout{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(0,1fr);gap:25px;align-items:start}.practice-main{border:1px solid var(--line);border-radius:10px;background:#fffefa;padding:28px;min-width:0}.question-counter{display:flex;justify-content:space-between;font-size:10px;color:#8a947c;letter-spacing:.12em;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:21px}.practice-navigation{display:flex;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:28px;padding-top:21px;flex-wrap:wrap}.practice-aside{border:1px solid #e2e4d6;background:#eff0e4;border-radius:9px;padding:25px;color:#7d896c}.practice-aside>svg{color:#81956d;margin-bottom:18px}.practice-aside h3{font-size:16px;color:#516647;margin-bottom:14px}.practice-aside p{font-size:12px;line-height:1.85}.practice-aside>span{border-top:1px solid #daddcd;display:block;font-size:11px;padding-top:19px;margin-top:22px}.practice-aside>a{font-size:11px;display:flex;align-items:center;gap:9px;margin-top:13px}.review-list{background:#fffefa;border:1px solid var(--line);border-radius:9px}.review-item{display:flex;gap:17px;align-items:center;padding:22px;border-bottom:1px solid var(--line)}.review-item:last-child{border:0}.review-item>div{flex:1;min-width:0}.review-item h3{font-size:16px;margin-bottom:6px}.review-item p{font-size:11px;color:var(--muted);margin:0}.search-form{display:flex;align-items:center;gap:15px;padding:9px 12px 9px 19px;border:1px solid var(--line);background:#fffefa;border-radius:8px;margin-bottom:20px}.search-form>svg{color:#8b9b7a}.search-form>input{border:0;flex:1;min-width:0;padding:10px 0;background:transparent;font-size:14px}.knowledge-filters{display:flex;gap:20px;margin-bottom:27px}.knowledge-filters label{font-size:12px;display:flex;gap:10px;align-items:center;color:var(--muted)}.knowledge-filters select{font-size:12px;min-height:40px;padding:8px 11px}.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.knowledge-card{border:1px solid var(--line);border-radius:8px;background:#fffefa;padding:24px;display:flex;flex-direction:column}.knowledge-card:hover{border-color:#a2b499}.knowledge-card>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.knowledge-card>div>span:last-child{font-size:10px;color:#919a83}.knowledge-card h2{font-size:23px;margin-bottom:12px}.knowledge-card p{font-size:13px;color:var(--muted);margin-bottom:20px}.knowledge-card>.text-link{font-size:12px;margin-top:auto}.knowledge-detail{max-width:760px;margin:auto;font-size:15px;line-height:2}.knowledge-detail>p{color:#586b52;margin:20px 0}.related-link{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#fffefa;border:1px solid var(--line);border-radius:5px;font-size:13px;margin:10px 0;color:var(--green)}.exam-tabs>button{display:flex;flex-direction:column;text-align:left;font-size:19px;gap:5px;min-width:140px}.exam-tabs>button>span{font-size:10px;font-weight:400;color:#839077}.exam-overview{border:1px solid var(--line);border-radius:10px;background:#eeefe4;padding:35px 32px;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px}.exam-overview>div{max-width:670px}.exam-overview h2{font-family:Georgia,serif;font-size:35px;margin:0 0 15px;line-height:1.3}.exam-overview h2>span{display:block;font-family:-apple-system,PingFang TC,sans-serif;font-size:15px;margin-top:8px;color:#728065;font-weight:400}.exam-overview p:not(.eyebrow){font-size:13px;color:#798568;line-height:1.95;margin-bottom:17px}.exam-illustration{color:#99ad83;opacity:.6;margin-right:12px}.exam-task-list{border:1px solid var(--line);background:#fffefa;border-radius:8px}.exam-task-list>div{padding:19px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px}.exam-task-list>div:last-child{border:0}.exam-task-list>div>span:first-child{font-family:Georgia,serif;color:#9ba58b;font-size:18px}.exam-task-list strong{font-size:13px;font-weight:500;flex:1}.timed-start{margin:26px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid var(--line);border-radius:9px;padding:30px;background:#fcfcf5}.timed-start h2{font-size:21px;margin:17px 0 12px}.timed-start p{font-size:12px;color:var(--muted);margin:0;line-height:1.9}.exam-timer{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:#496743}.exam-timer strong{font-family:Georgia,serif;font-size:27px;font-weight:400}.exam-timer span{font-size:11px;color:var(--muted)}.exam-question-nav{display:flex;gap:9px;margin-bottom:23px;flex-wrap:wrap}.exam-question-nav>button{width:43px;height:43px;background:#fffefa;border:1px solid var(--line);border-radius:5px;font-family:Georgia,serif;font-size:15px;color:#859674}.exam-question-nav>button.answered{background:#e8eedf;border-color:#b4c3a5}.exam-question-nav>button.selected{background:var(--green);color:#fffefa;border-color:var(--green)}.timed-exam{max-width:800px}.exam-result-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;background:#eef1e5;margin:25px 0 30px;padding:25px}.exam-result-summary>div{padding:0 22px;border-right:1px solid #d8ddca}.exam-result-summary>div:last-child{border:0}.exam-result-summary span{display:block;font-size:11px;color:#7d886c;margin-bottom:13px}.exam-result-summary strong{font-family:Georgia,serif;font-size:30px;font-weight:400}.exam-result-summary small{font-family:-apple-system,PingFang TC,sans-serif;font-size:12px;color:var(--muted)}.exam-results>div{padding:25px 27px;border:1px solid var(--line);border-radius:8px;background:#fffefa;margin-bottom:17px}.exam-results h3{font-size:15px;margin:16px 0 12px}.exam-results p{font-size:13px;color:#6c7a5f;line-height:1.85;margin-bottom:10px}.result-label{font-size:10px;padding:4px 9px;border-radius:4px;display:inline-block}.result-label.right{background:#e8efde;color:#5c7d4e}.result-label.wrong{background:#f5e8da;color:#9c7045}.progress-overview{border:1px solid var(--line);border-radius:9px;padding:30px;background:var(--green);color:#f6f7e9;display:flex;justify-content:space-between;align-items:center;gap:30px}.progress-overview .eyebrow{color:#becfb0}.progress-overview strong{font-family:Georgia,serif;font-size:46px;font-weight:400;display:block;margin-bottom:13px}.progress-overview strong>small{font-family:inherit;font-size:15px}.progress-overview>div>span{font-size:11px;color:#c5d6bc}.progress-overview>div:last-child{border-left:1px solid #678363;padding-left:40px;font-size:13px;color:#d4e0c9}.progress-overview p{margin-bottom:10px}.badge-list{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.mastery-table{border:1px solid var(--line);border-radius:8px;background:#fffefa}.mastery-table>a{display:flex;align-items:center;gap:24px;padding:20px 23px;border-bottom:1px solid var(--line)}.mastery-table>a:last-child{border:0}.mastery-table strong{font-size:14px;flex:1}.mastery-table>a>span{font-size:11px;color:var(--muted)}.attempt-list{background:#fffefa;border:1px solid var(--line);border-radius:8px}.attempt-item{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:19px 22px}.attempt-item:last-child{border:0}.attempt-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f5e9da;color:#a77a51}.attempt-icon.correct{background:#e6efdc;color:#6d8b59}.attempt-item>div{flex:1;min-width:0}.attempt-item strong{font-size:13px;font-weight:500;line-height:1.85;display:block;overflow-wrap:anywhere}.attempt-item p{font-size:10px;color:var(--muted);margin:7px 0 0}.attempt-item>.pill{font-size:9px}.settings-form{max-width:690px;background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:30px}.settings-form>section{padding-bottom:25px;margin-bottom:28px;border-bottom:1px solid var(--line)}.settings-form h2{font-size:17px;margin-bottom:24px}.settings-form label{display:flex;flex-direction:column;font-size:13px;gap:10px;color:#738266;margin:18px 0}.settings-form input,.settings-form select{width:100%;font-size:14px;color:#45623d}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.checkbox-label{flex-direction:row!important;align-items:center;gap:15px!important}.checkbox-label>input{width:20px;height:20px;min-height:20px;accent-color:var(--green);flex-shrink:0}.checkbox-label strong{display:block;font-size:13px;font-weight:500;margin-bottom:6px}.checkbox-label small{display:block;font-size:11px;color:#89917b}.save-message{font-size:13px;color:#55774c;display:inline-block;margin-left:17px}.field-help{font-size:11px;line-height:1.8;color:#849076;margin:12px 0 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--green);color:#fff;padding:14px 20px;border-radius:5px;font-size:14px}.skip-link:focus{top:15px}.onboarding{min-height:100vh;display:grid;grid-template-columns:minmax(300px,42%) minmax(0,1fr);max-width:1500px;margin:auto}.welcome-visual{background:#e8ecdf;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:100vh}.welcome-circle{position:absolute;width:365px;height:365px;border:1px solid #ccd5bf;border-radius:50%;background:#e1e8d7;opacity:.6}.welcome-circle:after{content:"";position:absolute;top:24px;right:24px;bottom:24px;left:24px;border-radius:50%;border:1px solid #d1dac5}.welcome-kanji{font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:98px;letter-spacing:.16em;writing-mode:vertical-rl;line-height:1.5;position:relative;z-index:1;color:#395b39;font-weight:300;margin-bottom:36px}.welcome-caption{font-size:12px;letter-spacing:.14em;color:#829071;position:relative;margin-top:13px}.welcome-branch{position:absolute;bottom:12%;right:17%;color:#8da077;transform:rotate(-25deg)}.welcome-body{max-width:680px;width:100%;padding:75px 65px;margin:auto}.welcome-body>.eyebrow{font-size:10px!important;color:#8e9b7a;margin-bottom:24px}.welcome-body>h1{font-family:Songti TC,Hiragino Mincho ProN,serif;font-size:35px;font-weight:500;line-height:1.55;margin-bottom:25px;color:#36513a;letter-spacing:.07em}.welcome-description{font-size:13px;color:#859078;line-height:1.9;margin-bottom:29px}.segmented{display:flex;background:#eeefe5;padding:4px;border:1px solid #e1e5d6;border-radius:6px;margin-bottom:25px}.segmented>button{flex:1;padding:10px 8px;background:none;border:none;border-radius:4px;font-size:12px;min-height:40px;color:#869175}.segmented>button.selected{background:#fffefa;color:var(--green);box-shadow:0 1px 3px #73855a15}.form-label{display:block;font-size:12px;color:#6f8161;margin-bottom:12px}.level-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.level-options>button{background:#fffefa;border:1px solid var(--line);border-radius:5px;min-height:49px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:10px}.level-options>button.selected{border-color:#72905f;background:#eaf0e0;color:#54713e}.welcome-body select{width:100%;font-size:13px}.welcome-start{width:100%;margin-top:25px}.local-disclaimer{display:flex;align-items:center;justify-content:center;gap:7px;margin:23px 0 0;color:#9aa28c;font-size:10px}.placement .question-prompt{font-size:15px}.placement .answer-choice{font-size:13px;padding:10px 12px;min-height:46px}.placement .feedback{font-size:12px;padding:15px}.placement>.button{margin:16px 0 24px}.placement .question-meta{margin-bottom:13px}.toggled{background:#e8efde!important}@media(min-width:1500px){.sidebar{width:258px;padding-left:28px;padding-right:28px}.workspace{margin-left:258px}.today-art{right:30px;opacity:.3}.today-card h2{max-width:420px}.workspace main{padding-top:48px}.today-card{padding:31px 35px 24px}}@media(max-width:1150px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.workspace{margin-left:205px}.workspace main{padding:33px 30px 0}.topbar{padding:0 30px}.today-card{padding:24px}.today-card h2{max-width:300px;font-size:23px}.today-art{right:6px;opacity:.15}.review-card{padding:24px 20px}.review-card h2{font-size:16px}.card-heading .eyebrow{font-size:8px!important;letter-spacing:.1em}.stat{padding:0 18px}.lesson-layout{grid-template-columns:200px minmax(0,1fr);gap:20px}.practice-layout{grid-template-columns:minmax(0,1fr)}.practice-aside{display:none}.lesson-card{padding:24px 22px 0}.plan-item{gap:15px;padding:18px}.mastery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-body{padding:55px 40px}.onboarding{grid-template-columns:38% minmax(0,1fr)}.welcome-circle{width:280px;height:280px}.welcome-kanji{font-size:80px}}@media(max-width:900px){.sidebar{width:185px;padding-left:12px;padding-right:12px}.workspace{margin-left:185px}.brand{padding:0 9px;gap:8px}.brand-mark{width:35px;height:35px}.brand strong{font-size:24px}.brand small{font-size:8px}.sidebar-label{font-size:10px;margin-top:35px;padding:0 10px}.nav-item{padding:13px 12px;font-size:13px;gap:11px}.workspace main{padding:30px 25px 0}.topbar{height:65px;padding:0 25px}.page-heading h1{font-size:27px}.page-description{font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.review-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:25px;position:relative}.review-card .card-heading{grid-column:1 / -1}.review-card h2{font-size:19px}.review-card>p{grid-column:1}.review-count{grid-column:2;grid-row:2/4;font-size:40px;display:flex;align-items:baseline;align-self:center}.review-card>.button{grid-column:1/-1}.stats-row{margin:20px 0 32px}.stat{padding:0 13px}.stat>span{font-size:10px;gap:5px}.stat>span>svg{width:13px}.stat>strong{font-size:24px}.stat small{font-size:9px;margin-left:4px}.lesson-grid,.knowledge-grid{grid-template-columns:minmax(0,1fr)}.lesson-card>p{min-height:0}.lesson-layout{grid-template-columns:minmax(0,1fr)}.lesson-toc{position:static;border:1px solid var(--line);background:#f1f3e8;padding:18px;border-radius:8px}.lesson-toc>button{padding:9px 11px}.lesson-objectives{display:none}.lesson-reading{max-width:100%}.exam-overview{padding:25px}.exam-illustration{display:none}.timed-start{align-items:flex-start;flex-direction:column;padding:25px}.exam-tabs{gap:20px}.exam-tabs>button{min-width:105px;font-size:18px}.exam-tabs>button>span{font-size:9px}.mastery-table>a{flex-wrap:wrap;gap:10px 20px}.mastery-table strong{flex:1 1 60%}.exam-result-summary{padding:20px 10px}.exam-result-summary>div{padding:0 12px}.exam-result-summary strong{font-size:26px}.onboarding{grid-template-columns:34% minmax(0,1fr)}.welcome-body{padding:45px 30px}.welcome-body>h1{font-size:30px}.welcome-circle{width:235px;height:235px}.welcome-caption{font-size:10px;letter-spacing:.09em}.welcome-kanji{font-size:76px}.form-grid{gap:14px}}@media(max-width:700px){body{padding-bottom:74px}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:63px;padding:0 23px;background:#fbfaf5}.topbar-note{display:none}.topbar-goal{font-size:10px;gap:6px;min-height:34px;padding:7px 10px}.mobile-brand{display:inline-flex;align-items:baseline;gap:9px;font-family:Hiragino Mincho ProN,serif;font-size:25px;letter-spacing:.08em;color:#365a39}.mobile-brand small{font-family:Georgia,serif;font-size:9px;letter-spacing:.12em;color:#8d9b7a}.workspace main{padding:27px 22px 0;min-height:calc(100vh - 137px)}.page-heading{margin-bottom:25px;gap:15px;align-items:flex-start;flex-wrap:wrap}.page-heading h1{font-size:26px;line-height:1.6;margin-bottom:10px;letter-spacing:.025em}.page-heading .eyebrow{font-size:9px!important;letter-spacing:.14em;margin-bottom:10px}.page-description{font-size:12px;line-height:1.85}.page-heading>.button{margin-top:3px;min-height:40px;font-size:11px;padding:9px 12px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fbfaf6;z-index:30;border-top:1px solid var(--line);padding:8px 6px max(8px,env(safe-area-inset-bottom));display:flex;justify-content:space-around;min-height:66px}.mobile-nav>a,.mobile-nav>button{background:none;border:0;min-height:46px;width:19%;color:#929c82;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:2px;font-size:9px;border-radius:5px}.mobile-nav .active{color:var(--green);font-weight:600}.mobile-more{position:fixed;bottom:78px;right:14px;display:flex;flex-direction:column;background:#fffefa;border:1px solid var(--line);border-radius:8px;padding:8px;z-index:35;box-shadow:0 8px 30px #29472c20;min-width:170px}.mobile-more>a{padding:13px;min-height:48px;display:flex;align-items:center;gap:12px;font-size:13px;border-radius:4px}.mobile-more>a:hover{background:#eef1e4}.today-card{padding:24px 23px 20px;min-height:280px}.today-card h2{font-size:25px;max-width:290px;margin:23px 0 12px;line-height:1.65}.today-card>p{font-size:12px;max-width:280px;line-height:1.8;margin-bottom:21px}.today-art{width:130px;top:57px;right:1px;opacity:.1}.today-top{font-size:10px;gap:10px;flex-wrap:wrap}.today-foot{font-size:9px;line-height:1.8;margin-top:23px;padding-top:15px;align-items:flex-start}.today-foot svg{margin-top:3px}.review-card{padding:23px;column-gap:10px}.review-card .card-heading{margin-bottom:13px}.review-card>.button{min-height:42px}.review-card h2{font-size:17px;letter-spacing:0}.review-count{font-size:35px;align-items:center;flex-direction:column;justify-content:center}.review-count>span{font-size:9px;margin-left:0;margin-top:4px}.review-card>p{font-size:11px;margin-bottom:17px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 0;padding:21px 0;margin-bottom:30px}.stat{padding:0 22px}.stat:nth-child(2){border:0}.stat>span{font-size:11px;gap:7px;margin-bottom:10px}.stat>strong{font-size:29px}.stat small{font-size:10px;margin-left:7px}.section{margin:28px 0}.section-heading{gap:12px;align-items:flex-start;margin-bottom:16px}.section-heading h2{font-size:17px}.section-heading p{font-size:11px}.section-heading .text-link{font-size:10px;gap:5px;white-space:nowrap;margin-top:4px}.section-heading>.subtle{font-size:10px;white-space:nowrap;margin-top:5px}.plan-item{padding:19px 16px;gap:12px;flex-wrap:wrap;position:relative}.step-number{width:33px;height:33px;font-size:17px;align-self:flex-start;margin-top:7px}.plan-copy{flex:1;gap:6px;margin-right:10px}.plan-copy strong{font-size:13px}.plan-copy small{font-size:9px}.plan-copy>span{font-size:10px}.plan-time{font-size:9px;margin-left:45px;order:4;margin-top:0}.plan-item>svg{width:15px;position:absolute;right:13px;top:46%}.mastery-grid{grid-template-columns:minmax(0,1fr)}.quiet-note{font-size:11px;line-height:1.9;padding:17px;margin:23px 0}.quiet-note svg{width:16px}.footer{margin-top:35px;padding:22px 0 24px;flex-direction:column;gap:7px;font-size:9px}.empty{padding:34px 19px}.empty h3{font-size:16px}.empty p{font-size:12px;line-height:1.9}.level-tabs{gap:7px;margin-bottom:25px}.level-tabs button{min-width:0;flex:1;font-size:11px;padding:9px;min-height:42px}.lesson-grid{gap:16px}.lesson-card{padding:23px 23px 0}.lesson-card h2{font-size:21px}.lesson-card-top{margin-bottom:20px}.lesson-card>p{font-size:12px}.lesson-topics{font-size:10px;line-height:1.9;margin-bottom:22px}.lesson-card-footer{font-size:10px;padding:17px 0}.back-link{font-size:11px;margin-bottom:15px}.lesson-meta{gap:14px;font-size:10px;margin-bottom:23px;padding-bottom:20px}.lesson-layout{gap:24px}.lesson-toc{padding:16px}.lesson-toc>.eyebrow{font-size:9px!important}.lesson-toc>button{font-size:11px;min-height:42px}.reading-section{scroll-margin-top:20px;padding-bottom:27px;margin-bottom:28px}.reading-section h2{font-size:22px;line-height:1.6;margin-bottom:20px}.reading-section>p:not(.eyebrow){font-size:14px;line-height:2;letter-spacing:.02em}.formation{padding:18px 20px;gap:10px}.formation>.japanese{font-size:14px;line-height:1.9}.example{padding:13px 17px;margin:20px 0}.example-japanese{font-size:17px;line-height:2.3}.translation{font-size:12px;line-height:1.8}.teaching-note{padding:20px;font-size:12px}.inline-practice{padding:20px 17px}.inline-practice>.eyebrow{font-size:9px!important}.question-prompt{font-size:17px;line-height:1.9;margin-bottom:21px}.answer-choice{font-size:14px;padding:12px 13px;gap:11px;min-height:52px}.answer-choice>.choice-letter{width:24px;height:24px;font-size:10px}.question-context{font-size:14px;line-height:2;padding:17px}.feedback{padding:18px;font-size:12px;line-height:1.9}.feedback>strong{font-size:13px}.feedback .correct-answer{line-height:1.9}.feedback .distractor{font-size:11px}.lesson-end{padding:27px 18px}.lesson-end h2{font-size:18px}.lesson-end p{font-size:12px}.lesson-end .button{font-size:12px;padding:11px 14px;gap:9px}.tab-row{gap:0;justify-content:space-between;margin-bottom:24px}.tab-row>button{padding:12px 6px 14px;font-size:12px}.practice-toolbar{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:20px}.practice-toolbar label{font-size:11px}.practice-toolbar select{font-size:12px;min-height:40px}.practice-toolbar>.subtle{font-size:10px}.practice-main{padding:23px 18px;border-radius:8px}.question-counter{font-size:9px;margin-bottom:20px}.practice-navigation{gap:10px;margin-top:23px;padding-top:20px}.practice-navigation .button{font-size:11px;gap:8px;padding:9px 13px;min-height:42px}.review-item{padding:20px 17px;flex-wrap:wrap;gap:15px 10px}.review-item>.icon-soft{width:33px;height:33px}.review-item>div{flex:1 1 calc(100% - 48px)}.review-item h3{font-size:15px}.review-item p{font-size:10px}.review-item>.button{font-size:11px;min-height:40px;flex:1;padding:9px 10px}.review-item>.button.secondary{margin-left:43px}.search-form{padding:7px 8px 7px 13px;gap:10px}.search-form svg{width:18px}.search-form input{font-size:12px;min-height:40px}.search-form .button{padding:10px 13px;min-height:40px;font-size:11px;gap:5px}.knowledge-filters{gap:12px;justify-content:space-between}.knowledge-filters label{font-size:10px;gap:7px}.knowledge-filters select{font-size:10px;padding:9px 8px;max-width:130px}.knowledge-card{padding:22px}.knowledge-card h2{font-size:22px}.knowledge-card p{font-size:12px}.knowledge-detail{font-size:14px;line-height:2}.exam-tabs{gap:13px;justify-content:flex-start}.exam-tabs>button{min-width:0;flex:1;font-size:18px;gap:7px;padding-left:0;padding-right:0;line-height:1.2}.exam-tabs>button>span{font-size:9px;line-height:1.6}.exam-overview{padding:25px 22px}.exam-overview h2{font-size:33px}.exam-overview h2>span{font-size:14px}.exam-overview p:not(.eyebrow){font-size:12px;line-height:1.95}.exam-overview .text-link{font-size:11px}.exam-task-list>div{padding:17px;gap:12px}.exam-task-list strong{font-size:12px;line-height:1.7}.exam-task-list .pill{font-size:9px;padding:4px 7px}.timed-start{padding:25px 22px;gap:22px}.timed-start h2{font-size:19px}.timed-start p{font-size:11px}.timed-start .button{font-size:12px;gap:13px;width:100%}.exam-result-summary{padding:20px 0;gap:0}.exam-result-summary>div{padding:0 12px}.exam-result-summary span{font-size:9px;margin-bottom:12px}.exam-result-summary strong{font-size:26px;display:block;line-height:1.4}.exam-result-summary small{font-size:10px;display:block}.exam-results>div{padding:21px 18px}.exam-results h3{font-size:14px}.exam-results p{font-size:12px}.timed-exam .practice-navigation .subtle{width:100%;font-size:11px;margin-bottom:4px}.timed-exam .practice-navigation .button{flex:1;font-size:11px;padding:10px 12px;gap:6px}.progress-overview{padding:26px 23px;gap:17px;align-items:center}.progress-overview strong{font-size:38px}.progress-overview>div:last-child{font-size:11px;padding-left:23px}.progress-overview>div:last-child>p{font-size:10px;margin-bottom:10px}.mastery-table>a{padding:20px 18px;gap:10px}.mastery-table strong{font-size:13px;flex:1 1 80%}.mastery-table>a>svg{order:2}.mastery-table>a>span{font-size:10px;order:3}.attempt-item{padding:18px 16px;gap:10px}.attempt-icon{width:29px;height:29px}.attempt-item strong{font-size:12px}.attempt-item p{font-size:9px;line-height:1.8}.attempt-item>.pill{font-size:8px;align-self:flex-start}.settings-form{padding:25px 22px}.settings-form h2{font-size:16px}.settings-form label{font-size:12px}.settings-form input,.settings-form select{font-size:13px}.form-grid{grid-template-columns:minmax(0,1fr);gap:0}.settings-form .checkbox-label>span{line-height:1.7}.checkbox-label small{font-size:10px}.save-message{display:block;margin:17px 0 0;font-size:12px}.onboarding{grid-template-columns:minmax(0,1fr);min-height:100vh;background:#f7f6ef}.welcome-visual{min-height:0;height:185px;display:flex;flex-direction:row;gap:19px;align-items:center}.welcome-circle{width:230px;height:230px;right:-36px;top:-25px;opacity:.6}.welcome-kanji{writing-mode:horizontal-tb;font-size:47px;letter-spacing:.15em;margin:0;position:absolute;left:31px;top:55px}.welcome-caption{position:absolute;left:32px;top:118px;font-size:10px;letter-spacing:.08em;margin:0}.welcome-branch{bottom:36px;right:45px}.welcome-branch svg{width:48px;height:48px}.welcome-body{padding:33px 30px 40px;max-width:520px}.welcome-body>.eyebrow{font-size:9px!important;margin-bottom:18px}.welcome-body>h1{font-size:29px;line-height:1.6;margin-bottom:17px}.welcome-description{font-size:12px;line-height:1.95;margin-bottom:23px}.segmented{margin-bottom:23px}.segmented>button{font-size:11px}.form-label{font-size:11px}.level-options{gap:9px}.level-options>button{font-size:12px;min-height:47px}.field-help{font-size:10px;line-height:1.9;margin:13px 0 22px}.welcome-start{min-height:46px;font-size:13px}.local-disclaimer{font-size:9px;line-height:1.8}.placement .question-prompt{font-size:15px}.placement .feedback{font-size:11px}.local-disclaimer svg{width:12px}.loading{padding:35px 15px;font-size:12px;min-height:180px}.notice{padding:18px;font-size:12px}.notice>svg{width:18px}.notice p{font-size:12px}.onboarding+.mobile-nav{display:none}}@media(max-width:380px){.workspace main{padding:25px 17px 0}.topbar{padding:0 18px}.page-heading h1{font-size:24px}.today-card{padding:23px 20px 20px}.today-card h2{font-size:23px}.stat{padding:0 18px}.level-tabs{gap:5px}.level-tabs button{font-size:10px;padding:9px 7px}.exam-tabs>button>span{font-size:8px}.welcome-body{padding-left:25px;padding-right:25px}.answer-choice{font-size:13px;padding:12px 11px;gap:10px}.exam-task-list strong{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.source-references{border:1px solid var(--line);background:#fafaf3;border-radius:6px;margin:25px 0;font-size:11px}.source-references>summary{cursor:pointer;min-height:44px;padding:14px 18px;color:#7e8a70;line-height:1.6}.source-references>div{border-top:1px solid var(--line);padding:17px 18px}.source-references a{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--green);line-height:1.8;overflow-wrap:anywhere}.source-references p{color:#8a927d;font-size:11px;margin:10px 0;line-height:1.9}.source-references small{color:#98a08a;font-size:9px}.attempt-history{border-bottom:1px solid var(--line)}.attempt-history:last-child{border-bottom:0}.attempt-history>.attempt-item{cursor:pointer;border:0;list-style:none;min-height:66px}.attempt-history>.attempt-item::-webkit-details-marker{display:none}.attempt-history>.attempt-item:focus-visible{outline:3px solid #9b6339;outline-offset:-3px}.attempt-history[open]>.attempt-item>svg{transform:rotate(180deg)}.saved-attempt-details{border-top:1px solid var(--line);padding:23px;background:#fafbf5;font-size:13px}.saved-attempt-details>.field-help{margin-top:0;font-size:11px;color:#6e776e}.saved-choices{margin:18px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}.saved-choices>li{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fffefa;border-radius:5px;padding:13px 16px;font-size:14px;line-height:1.8;flex-wrap:wrap}.saved-choices>li>span:nth-child(2){flex:1;min-width:0}.saved-choices .choice-letter{width:25px;font-family:Georgia,serif;color:#758367}.saved-choices .learner-answer{border-color:#b2906b;background:#faf0e4}.saved-choices .correct-answer{border-color:#90a580;background:#edf3e7}.saved-choices small{font-size:10px;white-space:nowrap;color:#637456}.saved-answer{margin-top:19px}.saved-answer>strong,.saved-explanation>strong{font-size:12px;color:#536c49}.saved-answer p{margin:8px 0 15px;line-height:1.9;font-size:14px;overflow-wrap:anywhere}.saved-explanation{border-top:1px solid var(--line);padding-top:19px;margin-top:22px}.saved-explanation p{font-size:12px;color:#64715a;line-height:1.95;margin:12px 0}.saved-explanation small{display:block;font-size:11px;color:#6e776e;margin-top:18px}@media(max-width:700px){.attempt-history .attempt-item>.pill{font-size:8px;padding:4px 5px}.attempt-history .attempt-item>svg{width:13px}.saved-attempt-details{padding:20px 16px}.saved-attempt-details>.field-help{font-size:10px}.saved-choices>li{padding:11px 12px;font-size:13px;gap:8px}.saved-choices .choice-letter{width:18px}.saved-choices small{font-size:9px}.saved-answer p{font-size:13px}.saved-explanation p{font-size:11px}}.profile-switch{display:flex;gap:9px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:5px;color:#6b7a62;width:100%;font-size:11px;min-height:42px;padding:10px;margin-top:18px}.profile-switch:hover{background:#edf1e6}.mobile-more>button{background:none;border:none;text-align:left;color:var(--green);padding:13px;min-height:48px;display:flex;align-items:center;gap:12px;font-size:13px;border-radius:4px}.mobile-more>button:hover{background:#eef1e4}.current-profile>p{font-size:13px;color:#6e776e;line-height:1.9}.current-profile>.field-help{font-size:11px;margin-top:17px;margin-bottom:0}.profile-picker{max-width:620px;margin:0 auto;padding:60px 45px 45px;min-height:100vh}.profile-picker-brand{display:flex;gap:12px;align-items:center;margin-bottom:47px}.profile-picker-brand>strong{font-family:Hiragino Mincho ProN,serif;font-weight:500;font-size:31px;letter-spacing:.13em}.profile-picker-brand>span:last-child{font-family:Georgia,serif;font-size:10px;color:#88967a;letter-spacing:.13em;padding-top:6px}.profile-picker>.eyebrow{font-size:11px!important;margin-bottom:14px;color:#77836d;letter-spacing:.1em}.profile-picker>h1{font-family:Songti TC,Hiragino Mincho ProN,serif;font-size:29px;line-height:1.7;font-weight:500;letter-spacing:.045em}.profile-picker-description{font-size:13px;color:#6e776e;line-height:1.95;margin:20px 0 27px}.profile-options{display:flex;flex-direction:column;gap:14px;margin:25px 0}.profile-option{display:flex;align-items:center;gap:17px;padding:24px 23px;width:100%;border:1px solid var(--line);background:#fffefa;border-radius:8px;text-align:left;min-height:126px}.profile-option:hover:not(:disabled){border-color:#9cae8f;background:#f7f9f0}.profile-option.selected{background:#edf3e5;border-color:#77956a}.profile-option-avatar{display:grid;place-items:center;width:48px;height:48px;background:#e5eadb;border-radius:50%;font-family:Songti TC,serif;font-size:21px;color:#6d845d;flex-shrink:0}.profile-option-info{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.profile-option-info>strong{font-size:16px;font-weight:500;line-height:1.7;overflow-wrap:anywhere}.profile-option-info>span{font-size:12px;color:#65765a;line-height:1.7}.profile-option-info>small{font-size:10px;color:#7c8870;line-height:1.6}.profile-option-check{width:24px;height:24px;border-radius:50%;border:1px solid #c7d3ba;display:grid;place-items:center;color:#557448;flex-shrink:0}.profile-option.selected .profile-option-check{background:var(--green);border-color:var(--green);color:#fff}.profile-select-button{width:100%;margin-top:2px}.profile-cancel{background:none;border:none;display:flex;gap:9px;align-items:center;justify-content:center;font-size:12px;color:#6c7c60;padding:13px;min-height:44px;margin:17px auto 0}.profile-picker>.local-disclaimer{font-size:10px;color:#7a856e;margin-top:26px;text-align:center;line-height:1.8}.onboarding-switch{background:none;border:none;color:#6d7d61;font-size:11px;display:flex;gap:7px;align-items:center;justify-content:center;margin:15px auto 0;padding:10px;min-height:40px}@media(max-width:700px){.profile-picker{padding:35px 27px;min-height:calc(100vh - 74px)}.profile-picker-brand{margin-bottom:34px}.profile-picker-brand>.brand-mark{width:37px;height:37px}.profile-picker-brand>strong{font-size:27px}.profile-picker-brand>span:last-child{font-size:9px}.profile-picker>.eyebrow{font-size:10px!important}.profile-picker>h1{font-size:26px;line-height:1.7}.profile-picker-description{font-size:12px;margin:19px 0 24px}.profile-options{gap:13px}.profile-option{padding:21px 18px;gap:13px;min-height:124px}.profile-option-avatar{width:40px;height:40px;font-size:19px}.profile-option-info>strong{font-size:15px}.profile-option-info>span{font-size:11px}.profile-option-info>small{font-size:10px}.profile-option-check{width:22px;height:22px}.profile-select-button{font-size:13px}.profile-picker>.local-disclaimer{font-size:9px}.profile-cancel{font-size:11px}.current-profile>p{font-size:12px}.current-profile>.field-help{font-size:10px}}.exam-session-list{border:1px solid var(--line);border-radius:8px;background:#fffefa;overflow:hidden}.exam-session-row{display:flex;gap:17px;align-items:center;padding:22px;border-bottom:1px solid var(--line)}.exam-session-row:last-child{border:0}.exam-session-row:hover{background:#f1f4e9}.session-status{width:36px;height:36px;display:grid;place-items:center;background:#e9eddf;border-radius:50%;color:#859575;flex-shrink:0}.session-status.active{color:#537849;background:#e3edd9}.exam-session-row>div{flex:1;min-width:0}.exam-session-row strong{font-size:14px;font-weight:500;line-height:1.8;display:block}.exam-session-row p{font-size:11px;color:#6e776e;margin:7px 0 0}.exam-session-row small{display:block;font-size:10px;color:#748367;line-height:1.8;margin-top:5px}.exam-session-row>.text-link{font-size:11px;white-space:nowrap}.persisted-timer-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.persisted-timer-row .exam-timer{margin:0}.session-save-status{font-size:11px;color:#6e776e;line-height:1.8}.clear-exam-answer{background:none;border:0;color:#6e7f63;font-size:11px;min-height:44px;padding:12px 3px;margin-top:9px}.clear-exam-answer:hover{text-decoration:underline}.persisted-results-summary{margin-bottom:18px}.saved-session-meta{font-size:11px;color:#6e776e;line-height:1.9;margin-bottom:24px}.saved-exam-item{border:1px solid var(--line);border-radius:8px;background:#fffefa;margin-bottom:16px;overflow:hidden}.saved-exam-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:15px;padding:23px;min-height:75px}.saved-exam-item>summary::-webkit-details-marker{display:none}.saved-exam-item>summary:focus-visible{outline:3px solid #9b6339;outline-offset:-3px}.saved-exam-item>summary>strong{flex:1;font-size:14px;font-weight:500;line-height:1.8;min-width:0}.saved-exam-item>summary>.pill{font-size:9px}.saved-exam-item[open]>summary>svg{transform:rotate(180deg)}.saved-exam-item .saved-attempt-details{border-top:1px solid var(--line)}.result-label.excluded{background:#edf0e6;color:#6e7b63}.timed-exam .inline-error>p{font-size:12px;margin-bottom:13px}.timed-start strong{font-weight:600;color:#4f6647}@media(max-width:700px){.exam-session-row{padding:20px 17px;gap:12px;flex-wrap:wrap}.exam-session-row strong{font-size:13px}.exam-session-row p{font-size:10px}.exam-session-row small{font-size:9px}.exam-session-row>.text-link{font-size:10px;margin-left:48px;width:100%;gap:7px}.persisted-timer-row{gap:13px;flex-wrap:wrap;margin-bottom:21px}.session-save-status,.saved-session-meta{font-size:10px}.saved-exam-item>summary{padding:20px 16px;gap:10px;flex-wrap:wrap}.saved-exam-item>summary>.result-label{font-size:9px}.saved-exam-item>summary>strong{font-size:13px;flex:1 1 calc(100% - 95px)}.saved-exam-item>summary>.pill{font-size:8px;margin-left:0}.saved-exam-item>summary>svg{width:13px;margin-left:auto}.timed-exam .inline-error>p{font-size:11px}}.eju-study-entry{margin:24px 0}.eju-study-entry>p{font-size:12px;color:#6e776e;line-height:1.8;margin:13px 0 0}.eju-task{border:1px solid var(--line);border-radius:8px;background:#fffefa;margin:16px 0;overflow:hidden}.eju-task>summary{display:flex;gap:15px;align-items:center;cursor:pointer;list-style:none;padding:21px 23px;min-height:70px}.eju-task>summary::-webkit-details-marker{display:none}.eju-task>summary:focus-visible{outline:3px solid #9b6339;outline-offset:-3px}.eju-task>summary>strong{font-size:14px;font-weight:500;line-height:1.85;flex:1;min-width:0}.eju-task[open]>summary>svg{transform:rotate(180deg)}.eju-task-body{padding:26px;border-top:1px solid var(--line)}.writing-draft-status{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;font-size:11px;color:#6e776e;line-height:1.9;margin:13px 0 20px}.writing-draft-status>span:last-child{white-space:nowrap}.writing-draft-editor>.inline-error>p{font-size:12px;margin-bottom:12px}.newer-draft-preview{margin:18px 0;background:#fffefa;border:1px solid #dacdbc;border-radius:5px}.newer-draft-preview>summary{min-height:44px;cursor:pointer;padding:12px 14px;font-size:12px;color:#78624e}.newer-draft-preview>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:2;padding:16px;margin:0;border-top:1px solid #e0d2c2}.feedback.self-review{background:#f0eee4;border:1px solid #dcded0;color:#5c6853}.feedback.self-review>strong{color:#5c6853}.feedback.self-review>p{color:#6e776e}@media(max-width:700px){.eju-study-entry>.button{font-size:12px;width:100%;padding:12px 15px}.eju-study-entry>p{font-size:11px}.eju-task>summary{padding:19px 17px;gap:11px;flex-wrap:wrap}.eju-task>summary>.pill{font-size:9px}.eju-task>summary>strong{font-size:13px;flex:1 1 calc(100% - 92px)}.eju-task>summary>svg{width:14px}.eju-task-body{padding:22px 17px}.writing-draft-status{font-size:10px;gap:10px}.writing-draft-editor>.inline-error>p{font-size:11px}.writing-draft-editor>.inline-error>.button{font-size:10px;white-space:normal;line-height:1.7;gap:7px}.newer-draft-preview>summary{font-size:11px}.newer-draft-preview>p{font-size:13px}}.exam-category-filter{display:flex;align-items:flex-end;gap:24px;padding:20px 23px;background:var(--white);border:1px solid var(--line);border-radius:8px;margin:20px 0}.exam-category-filter label{display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--green);flex:0 1 300px;min-width:0}.exam-category-filter select{width:100%;min-height:46px;font-size:14px}.exam-category-filter p{font-size:12px;color:var(--muted);line-height:1.85;margin:0;flex:1;min-width:0}@media(max-width:700px){.exam-category-filter{flex-direction:column;align-items:stretch;gap:14px;padding:19px 17px}.exam-category-filter label{flex:none;font-size:12px}.exam-category-filter select{font-size:16px}.exam-category-filter p{font-size:12px}}.app-shell{--muted: #53665a}.workspace main{max-width:1340px;padding:24px 32px 0}.topbar{height:60px;padding:0 32px}.sidebar{padding-top:24px}.sidebar-label{margin:26px 0 12px}.page-heading{gap:12px;margin-bottom:20px}.page-heading h1{font-family:inherit;font-weight:650;font-size:28px;letter-spacing:0;line-height:1.45;margin:0}.page-heading .eyebrow{margin-bottom:6px;font-size:12px!important;letter-spacing:.03em}.page-description{font-size:14px;line-height:1.7;margin:8px 0 0;max-width:76ch}.today-card{padding:16px 20px;min-height:0;border-radius:8px}.today-card h2{max-width:760px;font-family:inherit;font-size:22px;font-weight:600;margin:12px 0 6px;letter-spacing:0}.today-card>p{max-width:760px;font-size:14px;margin-bottom:12px}.today-art{display:none}.today-foot{margin-top:12px;padding-top:12px}.section{margin:20px 0}.section-heading{margin-bottom:12px;gap:12px}.section-heading p{font-size:13px;line-height:1.65}.button,.button.small,.minor-action,.bookmark-button,.topbar-goal,.profile-switch,.question-history button,.text-link,.back-link,.source-references summary,.feedback details summary{min-height:44px}.text-link,.back-link{display:inline-flex;align-items:center}.button,.button.small{padding:10px 14px;gap:10px}.practice-main,.knowledge-detail,.lesson-toc,.saved-attempt-details{padding:16px}.reading-section>p:not(.eyebrow),.knowledge-detail>p,.question-context,.question-prompt,.answer-choice,.feedback,.feedback p,.feedback .distractor,.teaching-note,.teaching-note p,.formation>.japanese,.translation,.saved-explanation p,.saved-answer p,.saved-choices>li{font-size:16px;line-height:1.85}.reading-section h2{font-size:23px;margin-bottom:16px}.reading-section{margin-bottom:24px;padding-bottom:24px}.lesson-layout{gap:20px}.lesson-toc>button{min-height:44px;font-size:14px}.lesson-meta{margin-bottom:16px;padding-bottom:12px;font-size:13px;gap:12px}.example{margin:16px 0;padding:12px 16px}.example-japanese{font-size:19px}.japanese,.question-panel [lang=ja],.saved-attempt-details [lang=ja]{font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}.example-japanese{border-left:3px solid #77956a;padding-left:12px}.feedback{margin-top:16px;padding:16px}.feedback>strong{font-size:16px}.feedback .distractor{border-top:1px solid #cbd8c7;padding-top:8px}.question-counter{font-size:13px;margin-bottom:16px}.question-history{font-size:13px}.exam-session-row{padding:12px 16px;gap:12px}.exam-session-row strong{font-size:15px}.exam-session-row p,.exam-session-row small{font-size:13px}.footer{margin-top:32px;padding:20px 0}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #608458;outline-offset:3px}@media(max-width:1050px){.workspace main{padding:20px 20px 0}.topbar{padding:0 20px}}@media(max-width:700px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.workspace main{padding:16px 12px 0}.topbar{height:56px;padding:0 12px}.page-heading{margin-bottom:16px}.page-heading h1{font-size:24px}.page-description{font-size:14px}.today-card{padding:12px 16px;min-height:0}.today-card h2{font-size:21px;margin:10px 0 6px}.today-card>p{max-width:100%;font-size:14px}.mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 4px max(6px,env(safe-area-inset-bottom))}.mobile-nav>a{width:100%;font-size:11px;min-height:58px}.practice-main,.saved-attempt-details,.eju-task-body{padding:12px}.lesson-reading{min-width:0}.reading-section>p:not(.eyebrow),.knowledge-detail>p,.question-context,.question-prompt,.answer-choice,.feedback,.feedback p,.feedback .distractor,.teaching-note,.teaching-note p,.formation>.japanese,.translation,.saved-explanation p,.saved-answer p,.saved-choices>li{font-size:16px}.reading-section h2{font-size:21px}.answer-choice{padding:10px 12px;min-height:52px}.example-japanese{font-size:18px}.search-form{flex-wrap:wrap}.search-form input{font-size:16px;min-width:0}.search-form .button{min-height:44px;font-size:14px}.button,.button.small,.minor-action,.back-link,.text-link,.topbar-goal{min-height:44px}.practice-navigation .button{min-height:44px;font-size:14px}.section-heading{flex-wrap:wrap}.section-heading p{font-size:13px}.exam-session-row>.text-link{margin-left:48px;font-size:14px}}.timed-submit-confirmation{width:min(460px,calc(100vw - 24px));padding:20px;border:1px solid #d4ddcf;border-radius:8px;background:#fffefa;color:#263b33;box-shadow:0 12px 48px #1f322833}.timed-submit-confirmation::backdrop{background:#1f322861}.timed-submit-confirmation h2{margin:0 0 10px;font-size:20px}.timed-submit-confirmation p{margin:0;font-size:16px;line-height:1.7}.timed-submit-confirmation .dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.timed-submit-confirmation button{min-height:44px}.question-context{line-height:2.6}.question-context>.rich-content{line-height:inherit}
