.study-shell:has(.section-surface){width:min(1100px,90%);padding-top:34px}.section-header{margin-bottom:26px}.section-breadcrumb{color:#596980;align-items:center;gap:8px;margin-bottom:19px;font-size:12px;display:flex}.section-breadcrumb a{align-items:center;min-height:28px;display:inline-flex}.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.section-heading-row>div{overflow-wrap:anywhere;flex:280px;min-width:0}.section-surface .section-heading-row h1{margin:0;font-size:clamp(27px,3.3vw,36px);font-weight:720;line-height:1.3}.section-heading-row p{color:#596980;margin-top:9px;font-size:14px}.section-language-picker{background:#f7f9fc;border:1px solid #dce3ed;border-radius:14px;flex-shrink:0;gap:4px;min-width:0;max-width:100%;margin:0;padding:5px;display:flex}.section-language-picker button{color:#536178;border-radius:10px;min-width:76px;min-height:44px;padding:8px 15px;font-size:14px}.section-language-picker button[aria-pressed=true]{color:#fff;background:#315efb;font-weight:650}.section-language-picker button:disabled{opacity:1}.section-language-label{color:#315efb;white-space:nowrap;background:#edf3ff;border-radius:12px;padding:10px 16px;font-size:14px}.section-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:25px;display:grid}.section-navigation a{color:#536178;overflow-wrap:anywhere;border:1px solid #dce3ed;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-width:0;min-height:54px;padding:8px;font-size:14px;display:flex}.section-navigation svg{flex-shrink:0}.section-navigation a[aria-current=page]{color:#315efb;background:#edf3ff;border-color:#315efb;font-weight:650}.section-navigation a:hover{border-color:#315efb}.section-surface .local-notice{margin:0 0 20px}.section-focus-card{background:#f6f9ff;border:1px solid #dce3ed;border-radius:20px;grid-template-columns:minmax(0,1fr) 220px;gap:22px;margin-bottom:20px;padding:28px;display:grid;position:relative;overflow:hidden}.section-focus-copy{overflow-wrap:anywhere;z-index:1;min-width:0;position:relative}.section-focus-copy .eyebrow{color:#315efb;letter-spacing:0;font-size:13px}.section-surface .section-focus-copy h2{margin:8px 0;font-size:clamp(23px,2.8vw,30px);font-weight:700;line-height:1.35}.section-focus-copy p{color:#596980;font-size:14px}.section-focus-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:22px;display:flex}.section-focus-actions .primary-button{border-radius:12px;min-height:48px}.section-focus-actions .text-link{min-height:44px}.section-character{aspect-ratio:1;pointer-events:none;clip-path:inset(0 0 5%);background:url(/illustrations/study-character.webp) 100%/300% 100% no-repeat;align-self:end;width:180px;max-width:100%;margin:auto auto -28px;display:block}.section-statistics{border:1px solid #dce3ed;border-radius:16px;margin-bottom:24px;padding:22px 26px}.section-statistics dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.section-statistics dl>div+div{border-left:1px solid #e5eaf2;padding-left:22px}.section-statistics dt{color:#596980;font-size:12px}.section-statistics dd{color:#24272e;overflow-wrap:anywhere;margin-top:4px;font-size:23px;font-weight:680;line-height:1.45}.section-statistics [role=progressbar]{height:6px;margin-top:18px}.section-filter-panel{background:#fafbfe;border:1px solid #dce3ed;border-radius:16px;margin-bottom:24px;padding:20px}.section-filter-panel .filter-bar{flex-wrap:wrap;margin:0}.section-filter-panel .search-box{background:#fff;flex:1;min-width:180px}.section-filter-panel .filter-bar>*{min-width:0;max-width:100%}.section-filter-panel .filter-bar>.search-box{flex-basis:220px}.section-filter-panel .filter-pills{flex-wrap:wrap}.section-surface select,.section-surface .search-box,.section-surface .exam-search input{border-radius:11px;min-height:46px}.section-surface .section-heading{align-items:center;gap:12px;margin:0 0 16px}.section-surface .section-heading>span{color:#596980;font-size:13px}.section-surface .panel{min-width:0;box-shadow:none;border-color:#dce3ed;border-radius:18px}.section-surface .curriculum-grid,.section-surface .word-grid{gap:16px}.section-surface .curriculum-card{gap:14px;padding:24px}.section-surface .curriculum-card>.panel-top{padding:0}.section-surface .curriculum-card h3{font-size:21px;line-height:1.4}.section-card-order{color:#596980;align-items:center;gap:10px;font-size:12px;display:flex}.section-card-order>span:first-child{color:#315efb;background:#edf3ff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:650;display:flex}.section-surface .curriculum-card .panel-footer{border-top:1px solid #e7ebf2;flex-wrap:wrap;padding:16px 0 0}.section-surface .course-chip{color:#315efb;background:#edf3ff;border-radius:8px}.section-surface .word-card{flex-direction:column;padding:22px;display:flex}.section-surface .word-card>.japanese-reading{flex-basis:auto}.section-surface .word-card h2{overflow-wrap:anywhere;margin:17px 0 4px;font-size:25px;line-height:1.35}.section-surface .word-card-top{flex-wrap:wrap;gap:12px}.section-surface .word-card-bottom{flex-wrap:wrap}.section-surface .word-card :is(p,small,a,summary){overflow-wrap:anywhere}.section-surface .word-card .word-tools{flex-shrink:0}.section-surface .word-card-top>span{color:#596980;font-size:12px}.section-surface .word-card details{border-top:1px solid #e7ebf2;margin-top:16px;padding-top:12px}.section-surface .word-card summary{color:#315efb;cursor:pointer;min-height:34px}.section-surface .word-card-bottom{margin-top:auto;padding-top:14px;font-size:11px}.section-surface .word-definition{overflow-wrap:anywhere;line-height:1.85}.section-surface .word-card .word-meaning,.section-surface .flip-card strong[lang=ko]{color:#000;font-weight:700}.section-surface .word-card .word-definition,.section-surface .word-source .word-source-meaning{color:#000;font-weight:400}.vocabulary-source{margin-top:18px;line-height:1.85}.vocabulary-source summary{cursor:pointer;min-height:40px}.vocabulary-source p+p{margin-top:8px}.vocabulary-topic-picker{min-width:0;margin-top:20px}.vocabulary-topic-picker legend{margin-bottom:10px;font-size:13px;font-weight:650}.vocabulary-topic-buttons{flex-wrap:wrap;gap:8px;display:flex}.vocabulary-topic-buttons button{color:#24272e;background:#fff;border:1px solid #dce3ed;border-radius:10px;align-items:center;gap:8px;min-height:42px;padding:8px 12px;font-size:13px;display:inline-flex}.vocabulary-topic-buttons button[aria-pressed=true]{color:#315efb;background:#edf3ff;border-color:#315efb;font-weight:650}.vocabulary-topic-buttons small{opacity:.8;font-variant-numeric:tabular-nums;font-size:11px}.vocabulary-reset{margin-top:14px}.vocabulary-load-next{text-align:center;margin-top:24px}.vocabulary-load-next .catalogue-more{margin-top:12px}.section-note{color:#596980;margin:16px 0 24px;font-size:12px;line-height:1.8}.section-surface .empty-state{border:1px dashed #dce3ed;border-radius:18px;padding:38px 24px}.section-surface .catalogue-more{border-radius:12px;min-width:210px}.section-surface .runner{margin-top:28px}.section-surface .runner-header h2{font-size:21px}.section-surface.exam-page{gap:20px}.section-surface.exam-page .section-header{margin-bottom:0}.section-surface .exam-card{padding:26px}.section-surface .exam-card h2{margin:14px 0 8px;font-size:27px}.section-surface .exam-targets{gap:9px}.section-surface .exam-target{background:#fafbfe;border:1px solid #e2e8f2;border-radius:12px;min-height:72px;padding:15px}.section-surface .exam-target:hover{background:#edf3ff;border-color:#315efb}.section-surface .exam-target svg{flex-shrink:0}.section-surface .exam-current{background:#f6f9ff;border-color:#cbd9fc;padding:26px}.section-surface .exam-current h2{font-size:25px}.section-surface .exam-course-summary{background:#f6f9ff;padding:28px}.section-surface .exam-course-summary h2{font-size:25px}.section-surface .exam-toolbar{background:#fafbfe;border:1px solid #dce3ed;border-radius:16px;padding:20px}.section-surface .exam-unit-list{gap:12px}.section-surface .exam-unit-card{border-radius:16px}.section-surface .exam-unit-marker{color:#315efb;background:#edf3ff;border-radius:12px}.section-surface .exam-unit-body h2{font-size:19px}.section-surface .exam-backup{margin-top:6px}.section-surface .exam-backup h2,.section-surface .exam-method h2{font-size:21px}.section-surface .exam-goal-action{justify-content:flex-end;margin-top:-4px;display:flex}.section-surface a:focus-visible{outline-offset:3px;outline:2px solid #315efb}@media (max-width:900px){.section-surface .curriculum-grid,.section-surface .word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-focus-card{grid-template-columns:minmax(0,1fr) 150px}.section-character{width:150px}}@media (max-width:600px){.study-shell:has(.section-surface){padding-top:24px}.section-breadcrumb{margin-bottom:13px}.section-heading-row{flex-wrap:wrap;gap:16px}.section-heading-row p{font-size:13px}.section-language-picker{width:100%}.section-language-picker button{flex:1;min-width:0}.section-navigation{gap:6px;margin-top:18px}.section-navigation a{border-radius:11px;flex-direction:column;gap:4px;min-height:65px;font-size:11px}.section-header{margin-bottom:20px}.section-focus-card{border-radius:16px;grid-template-columns:minmax(0,1fr) 88px;gap:8px;padding:21px}.section-character{width:88px;margin-bottom:-21px}.section-focus-actions{grid-column:1/-1}.section-focus-actions .primary-button{justify-content:center;width:100%}.section-focus-copy{grid-column:1/-1}.section-character{display:none}.section-focus-copy p{font-size:13px}.section-statistics{padding:18px 16px}.section-statistics dl{gap:10px}.section-statistics dl>div+div{padding-left:12px}.section-statistics dt{font-size:11px}.section-statistics dd{font-size:19px}.section-filter-panel{padding:15px}.section-filter-panel .filter-bar{gap:12px}.section-filter-panel .search-box,.section-filter-panel select{width:100%}.section-filter-panel .filter-bar>.search-box{flex-basis:100%}.section-surface .curriculum-grid,.section-surface .word-grid{grid-template-columns:minmax(0,1fr)}.section-surface .curriculum-card,.section-surface .word-card,.section-surface .exam-card,.section-surface .exam-course-summary,.section-surface .exam-current{padding:21px}.section-surface .exam-current{flex-wrap:wrap}.section-surface .exam-current>a{justify-content:center;width:100%}.section-surface .exam-goal-action>button{width:100%}.section-surface .exam-toolbar{padding:16px}}@media (max-width:360px){.section-statistics dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.section-statistics dl>div:first-child{grid-column:1/-1}.section-statistics dl>div:nth-child(2){border-left:0;padding-left:0}}
.study-shell:has(.session-surface){width:90%;max-width:1100px}.session-surface{padding-bottom:36px}.session-header{margin-bottom:24px}.session-back{color:#59616f;align-items:center;gap:7px;min-height:44px;font-size:14px;display:inline-flex}.session-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 24px;display:flex}.session-title-row>div{overflow-wrap:anywhere;flex:260px;min-width:0}.session-title-row>:is(a,button){overflow-wrap:anywhere;max-width:100%}.session-header h1{letter-spacing:-.035em;font-size:clamp(24px,4vw,36px);font-weight:700;line-height:1.35}.session-context{color:#59616f;margin-bottom:9px;font-size:13px}.session-context span{color:#a3a9b4;margin:0 9px}.session-steps{background:#fff;border:1px solid #e1e5ed;border-radius:16px;gap:8px;padding:14px 18px;list-style:none;display:flex}.session-steps li{color:#737c8b;flex:1;align-items:center;gap:9px;min-width:0;font-size:14px;display:flex}.session-steps li>span{background:#f2f4f8;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:12px;display:grid}.session-steps [aria-current]{color:#315efb;font-weight:650}.session-steps [aria-current]>span{color:#fff;background:#315efb}.session-surface .panel{overflow-wrap:anywhere;min-width:0;box-shadow:none;border:1px solid #e1e5ed;border-radius:20px}.session-surface .course-reader,.session-surface .exam-notes,.session-surface .runner-panel{padding:clamp(22px,4vw,36px)}.session-surface .lesson-note{padding:24px 0}.session-surface .lesson-note:first-of-type{padding-top:8px}.session-surface .course-objective,.session-surface .lesson-goal{color:#59616f;line-height:1.8}.session-surface .example-box,.session-surface .example-line{background:#f4f6fb;border:0;border-radius:12px;margin:16px 0;padding:18px}.session-surface .course-start{background:#f0f4ff;border-color:#d9e3ff;border-radius:18px}.session-surface .curriculum-practice{max-width:780px;margin:24px auto;padding:clamp(22px,4vw,36px)}.session-surface .quiz-panel{padding:clamp(22px,4vw,36px)}.session-surface .exercise-choices label,.session-surface .exam-option,.session-surface .choice-button{min-height:60px;box-shadow:none;background:#fff;border-radius:14px}.session-surface .exercise-choices label.is-selected,.session-surface .exam-option.is-selected,.session-surface .choice-button[aria-pressed=true]{background:#f0f4ff;border-color:#315efb}.session-surface .exercise-choices label.is-correct,.session-surface .exam-option.is-correct{background:#f0faf5;border-color:#278063}.session-surface .exercise-choices label.is-wrong,.session-surface .exam-option.is-wrong{background:#fff6f2;border-color:#b34c30}.session-option-status{white-space:nowrap;margin-left:auto;font-size:12px;font-weight:650}.session-surface .exercise-choices label{grid-template-columns:18px minmax(0,1fr) auto;align-items:start;display:grid}.session-surface .exam-option{grid-template-columns:18px 18px minmax(0,1fr) auto;align-items:start;display:grid}.session-surface :is(.exercise-choices,.exam-options){min-width:0}.session-surface :is(.exercise-choices label,.exam-option)>span{overflow-wrap:anywhere;min-width:0}.session-surface .exercise-choices input{flex-shrink:0}.session-surface :is(.choice-button,.token-button,.match-column button){overflow-wrap:anywhere;min-width:0;max-width:100%}.session-surface .match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-surface .example-line{flex-wrap:wrap}.session-surface .example-line>:not(.speak-wrap){overflow-wrap:anywhere;min-width:0}.session-surface .word-study-row{flex-wrap:wrap}.session-surface .word-study-row>div:first-child{overflow-wrap:anywhere;flex:180px;min-width:0}.session-feedback{overflow-wrap:anywhere;color:#225c46;background:#f0faf5;border:1px solid #b7dcca;border-radius:16px;min-width:0;margin-top:22px;padding:22px}.session-feedback.is-wrong{color:#853f28;background:#fff6f2;border-color:#e6c2b4}.session-feedback h3{align-items:center;gap:9px;margin:0 0 12px;font-size:18px;font-weight:650;display:flex}.session-feedback p{white-space:pre-wrap;margin:10px 0;line-height:1.8}.session-feedback blockquote{white-space:pre-wrap;border-left:2px solid;margin:14px 0;padding-left:14px}.session-feedback .primary-button{margin-top:12px}.session-surface .runner-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.session-surface .quiz-result,.session-surface .exam-result{text-align:left;background:#f0f4ff;padding:clamp(22px,4vw,36px)}.session-surface .quiz-result>svg{color:#315efb;margin-bottom:14px}.session-surface .quiz-result h2,.session-surface .exam-result h2{font-size:clamp(23px,4vw,32px)}.session-surface .result-score{color:#263453;margin:16px 0;font-size:42px}.session-surface .result-actions,.session-surface .exam-actions{gap:10px;margin-top:20px}.session-review-filter{flex-wrap:wrap;gap:8px;margin:28px 0 16px;display:flex}.session-review-filter button{background:#fff;border:1px solid #d9dde5;border-radius:12px;min-height:44px;padding:8px 16px;font-size:14px}.session-review-filter [aria-pressed=true]{color:#fff;background:#263453;border-color:#263453}.session-review-list{gap:16px;display:grid}.session-review-card{min-width:0;padding:clamp(20px,3vw,28px)}.session-review-top{color:#59616f;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:14px;font-size:13px;display:flex}.answer-correct{color:#225c46}.answer-wrong{color:#853f28}.session-review-card h3{white-space:pre-wrap;font-size:18px;font-weight:650;line-height:1.7}.session-answer-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.session-answer-comparison>div{background:#f4f6fb;border-radius:12px;min-width:0;padding:15px}.session-answer-comparison dt{color:#59616f;margin-bottom:8px;font-size:12px}.session-answer-comparison dd{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:600}.session-review-card>p{white-space:pre-wrap;line-height:1.85}.session-review-card blockquote{white-space:pre-wrap;color:#59616f;border-left:2px solid #d9dde5;margin:18px 0;padding-left:16px}.session-surface :is(button,a,input,summary):focus-visible{outline-offset:3px;outline:3px solid #315efb}.session-surface :is(.token-button,.match-column button,.primary-button,.secondary-button){min-height:44px}.session-surface .exam-study-layout>aside{min-width:0}@media (max-width:650px){.session-steps{gap:6px;padding:12px}.session-steps li{text-align:center;flex-direction:column;gap:5px;font-size:12px}.session-steps li>span{width:22px;height:22px}.session-answer-comparison{grid-template-columns:1fr}.session-surface .runner-actions>.primary-button{flex:1}.session-surface .exam-study-layout{flex-direction:column;display:flex}.session-surface .exam-study-layout aside{position:static}.session-surface .result-actions>*,.session-surface .exam-actions>*{flex:auto}}@media (max-width:480px){.session-surface .exercise-choices .session-option-status{grid-column:2;justify-self:start;margin-left:0}.session-surface .exam-option .session-option-status{grid-column:3;justify-self:start;margin-left:0}}
.progress-surface{padding-bottom:40px}.progress-surface h2{letter-spacing:-.025em;font-size:22px;font-weight:650}.progress-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:26px 0 16px;display:flex}.progress-section-heading>div{overflow-wrap:anywhere;flex:180px;min-width:0}.progress-section-heading p{color:#59616f;margin-top:8px;font-size:13px;line-height:1.75}.progress-section-heading>span{color:#59616f;white-space:nowrap;font-size:13px}.progress-track-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.progress-surface .panel{min-width:0;box-shadow:none;border:1px solid #e1e5ed;border-radius:18px}.progress-track{padding:22px}.progress-track>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.progress-track h3{font-size:15px;font-weight:650}.progress-track span,.progress-track p{color:#59616f;font-size:12px}.progress-track p{margin-top:12px;line-height:1.7}.progress-filters{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;padding:18px;display:flex}.progress-status-filter{flex-wrap:wrap;gap:6px;display:flex}.progress-status-filter button{color:#59616f;background:#f4f6fb;border-radius:10px;min-height:44px;padding:9px 12px;font-size:13px}.progress-status-filter [aria-pressed=true]{color:#fff;background:#263453}.progress-search{color:#59616f;flex:1;align-items:center;gap:9px;min-width:160px;font-size:12px;display:flex}.progress-search input{color:#263453;border:1px solid #d9dde5;border-radius:10px;width:100%;min-width:0;padding:10px 12px;font-size:14px}.progress-surface select{background:#fff;border:1px solid #d9dde5;border-radius:10px;min-height:44px;padding:9px 12px;font-size:13px}.progress-type-label{color:#59616f;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;font-size:13px;display:flex}.progress-type-label select{min-width:0;max-width:100%}.progress-record-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.progress-record{flex-direction:column;min-width:0;padding:24px;display:flex}.progress-record-heading{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.progress-record-heading>div:first-child{flex:1;min-width:150px}.progress-record-heading p{color:#59616f;margin-bottom:7px;font-size:12px}.progress-record-heading h3{overflow-wrap:anywhere;font-size:17px;font-weight:650;line-height:1.6}.progress-record-badges{flex-wrap:wrap;gap:6px;display:flex}.progress-record-badges span{color:#263453;background:#f4f6fb;border-radius:7px;padding:5px 8px;font-size:11px}.progress-record-badges .progress-wrong{color:#853f28;background:#fff6f2}.progress-record-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0;display:grid}.progress-record-details dt{color:#737c8b;margin-bottom:7px;font-size:12px}.progress-record-details dd{overflow-wrap:anywhere;font-size:14px;font-weight:550}.progress-record>a{align-self:flex-start;margin-top:auto}.progress-more{margin:20px auto;display:flex}.progress-history-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;margin-top:30px;display:grid}.progress-timeline,.progress-week,.progress-backup{padding:26px}.progress-timeline .progress-section-heading{align-items:flex-start;margin-top:0}.progress-timeline label{color:#59616f;white-space:normal;flex-direction:column;gap:7px;max-width:100%;font-size:12px;display:flex}.progress-timeline select{min-width:0;max-width:100%}.progress-timeline li>div{overflow-wrap:anywhere;flex:1;min-width:0}.progress-history-note{color:#59616f;margin:16px 0;font-size:12px;line-height:1.8}.progress-timeline ul{padding:0;list-style:none}.progress-timeline li{border-top:1px solid #e1e5ed;gap:14px;padding:20px 0;display:flex}.progress-activity-marker{color:#315efb;background:#f0f4ff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.progress-timeline .progress-activity-type{color:#59616f;margin-bottom:6px;font-size:12px}.progress-timeline h3{margin-bottom:8px;font-size:16px;font-weight:600}.progress-timeline li p{font-size:13px;line-height:1.8}.progress-timeline time{color:#737c8b;margin-top:8px;font-size:12px;display:block}.progress-timeline a{text-underline-offset:3px;text-decoration:underline}.progress-week>p{color:#59616f;margin-top:8px;font-size:13px}.progress-week ol{grid-template-columns:repeat(7,1fr);gap:5px;margin:22px 0;list-style:none;display:grid}.progress-week-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.progress-week-stats dt{color:#59616f;font-size:11px}.progress-week-stats dd{overflow-wrap:anywhere;margin-top:7px;font-size:18px;font-weight:650}.progress-week li{text-align:center;color:#737c8b;font-size:10px}.progress-week li>span{background:#f4f6fb;border-radius:8px;place-items:center;height:32px;margin-top:10px;display:grid}.progress-week .is-active>span{color:#fff;background:#315efb}.progress-week [aria-current=date] time{color:#315efb;font-weight:650}.progress-backup{margin-top:30px}.progress-backup>p,.progress-reset p{color:#59616f;margin:12px 0 18px;font-size:13px;line-height:1.85}.progress-backup-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;display:grid}.progress-backup-grid>div{overflow-wrap:anywhere;min-width:0}.progress-backup .field-label{margin-top:20px}.progress-backup input[type=file]{max-width:100%;margin-top:10px;font-size:13px}.progress-backup input::file-selector-button{background:#fff;border:1px solid #d9dde5;border-radius:10px;min-height:44px;margin-right:10px;padding:9px 12px}.progress-backup-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.progress-backup .info-banner{margin-top:16px;font-size:13px}.progress-reset{border-left:1px solid #e1e5ed;padding-left:28px}.progress-reset h3{font-size:16px;font-weight:600}.progress-surface :is(button,a,input,select):focus-visible{outline-offset:3px;outline:3px solid #315efb}@media (max-width:900px){.progress-track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-history-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.progress-record-list,.progress-track-grid,.progress-backup-grid{grid-template-columns:minmax(0,1fr)}.progress-surface :is(.progress-record,.progress-timeline,.progress-week,.progress-backup){padding:20px}.progress-search{flex-basis:100%}.progress-section-heading{align-items:flex-start}.progress-reset{border-top:1px solid #e1e5ed;border-left:0;padding:22px 0 0}.progress-week li{font-size:12px}.progress-week li>span{height:40px}}@media (max-width:400px){.progress-record-details{grid-template-columns:minmax(0,1fr)}}
.practice-top-links,.practice-toolbar,.practice-history-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.practice-top-links{justify-content:flex-start;margin:20px 0}.practice-card-grid,.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0 32px;display:grid}.practice-card,.usage-card,.practice-intro,.practice-question,.practice-review,.practice-backup,.practice-history-row{min-width:0;padding:24px}.practice-card{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.practice-card h2,.usage-card h2{margin:0;font-size:1.3rem;line-height:1.5}.practice-card p{margin:0}.practice-card .primary-button{margin-top:auto}.practice-record-note{color:var(--muted-foreground);font-size:.85rem}.practice-session{max-width:860px;margin:0 auto}.practice-session h1{margin:20px 0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.5}.practice-intro p,.practice-review p,.practice-backup p{line-height:1.8}.practice-intro>details{margin:20px 0}.practice-toolbar{margin:20px 0 12px;font-size:.9rem}.practice-clock{font-variant-numeric:tabular-nums;border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.practice-question{margin:20px 0}.practice-question h2{white-space:pre-wrap;margin:18px 0;font-size:1.2rem;line-height:1.8}.practice-context{white-space:pre-wrap;background:var(--secondary);overflow-wrap:anywhere;border-radius:16px;padding:20px;line-height:1.9}.practice-options{border:0;gap:12px;margin:20px 0;padding:0;display:grid}.practice-options label{border:1px solid var(--border);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;min-width:0;padding:16px;line-height:1.6;display:flex}.practice-options label:has(input:checked){border-color:var(--primary);background:var(--secondary)}.practice-options input{accent-color:var(--primary);flex-shrink:0;margin-top:5px}.practice-options span{overflow-wrap:anywhere}.practice-options:disabled label{cursor:default}.practice-input{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);font:inherit;border-radius:12px;margin-top:10px;padding:14px}.practice-question .answer-feedback{border:1px solid var(--border);background:var(--secondary);border-radius:14px;margin:20px 0;padding:18px}.practice-question .answer-feedback p{white-space:pre-line;line-height:1.8}.practice-question .answer-feedback.is-correct{border-color:var(--primary)}.practice-question-map{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.practice-question-map button{border:1px solid var(--border);background:var(--background);min-width:42px;min-height:42px;font:inherit;border-radius:10px;padding:8px}.practice-question-map button[data-answered=true]{background:var(--secondary)}.practice-question-map button[aria-current=step]{outline:2px solid var(--primary);outline-offset:1px}.practice-confirm{border:1px solid var(--border);border-radius:14px;margin:24px 0 0;padding:20px}.practice-confirm button{margin:6px}.practice-table-wrap{margin:24px 0;overflow-x:auto}.practice-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.practice-table caption{text-align:left;padding:12px 0;font-size:1.15rem;font-weight:700}.practice-table th,.practice-table td{text-align:left;border-bottom:1px solid var(--border);padding:14px}.practice-table thead{background:var(--secondary)}.practice-review-list,.practice-records{gap:16px;margin:20px 0;display:grid}.practice-review h2{white-space:pre-wrap;font-size:1.1rem;line-height:1.7}.practice-review blockquote{border-left:3px solid var(--primary);margin:16px 0;padding:8px 16px;line-height:1.8}.practice-history{margin:36px 0}.practice-history-row h3{font-size:1rem;line-height:1.6}.practice-sources{margin:20px 0;line-height:1.8}.practice-sources summary,.practice-phrase+summary{cursor:pointer}.practice-file{position:relative}.practice-file input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.practice-file:focus-within{outline:2px solid var(--primary);outline-offset:3px}.usage-patterns{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.usage-patterns span{border:1px solid var(--border);border-radius:10px;padding:6px 10px;font-size:.9rem;line-height:1.6}.usage-example,.practice-phrase{border-top:1px solid var(--border);margin:12px 0;padding:18px 0}.usage-example p{overflow-wrap:anywhere;margin:8px 0;line-height:1.9}.usage-card>.japanese-reading{margin:8px 0}.usage-library>.section-filter-panel{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.practice-hub>.search-box{margin:20px 0}.practice-history .section-heading{flex-wrap:wrap;gap:12px}@media (max-width:700px){.practice-card-grid,.usage-grid{grid-template-columns:1fr;gap:16px}.practice-card,.usage-card,.practice-intro,.practice-question,.practice-review,.practice-backup{padding:20px}.practice-context{padding:16px}.practice-question-map button{min-width:40px;min-height:40px}.practice-history-row{align-items:flex-start}.practice-table th,.practice-table td{padding:10px}.practice-session .result-actions{flex-wrap:wrap;gap:10px}}
.workshop-nav{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.workshop-nav a{color:#424958;background:#fff;border:1px solid #e7e9ee;border-radius:12px;padding:9px 14px}.workshop-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px;display:grid}.workshop-filters label,.workshop-editor label,.workshop-listener label,.workshop-connections label{gap:8px;display:grid}.workshop-filters input,.workshop-filters select,.workshop-editor textarea,.workshop-listener textarea,.workshop-listener select,.workshop-connections input:not([type=radio]){background:#fff;border:1px solid #dfe3eb;border-radius:10px;width:100%;padding:11px 12px}.workshop-editor textarea,.workshop-listener textarea{resize:vertical;min-height:110px;line-height:1.8}.workshop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 30px;display:grid}.workshop-card{flex-direction:column;gap:14px;padding:24px;display:flex}.workshop-card h2{margin:0;font-size:19px;line-height:1.45}.workshop-card .workshop-actions{margin-top:auto}.workshop-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;display:flex}.workshop-backup .workshop-actions label{max-width:100%;position:relative;overflow:hidden}.workshop-backup .workshop-actions input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.workshop-backup .workshop-actions label:focus-within{outline-offset:3px;outline:2px solid #315efb}.workshop-empty,.workshop-scenario,.workshop-editor,.workshop-writing>.panel,.workshop-listener>.panel,.workshop-connections>.panel,.workshop-plan,.workshop-plan-settings,.workshop-backup,.workshop-history{margin-bottom:20px;padding:26px}.workshop-scenario p,.workshop-plan p,.workshop-backup p,.workshop-writing li{line-height:1.8}.workshop-reader{max-width:920px;margin:auto}.workshop-reader-toolbar{justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.workshop-lines{gap:16px;display:grid}.workshop-sentence{padding:22px 26px}.workshop-sentence.is-read{border-color:#c5d0f5}.workshop-sentence-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.workshop-sentence-heading>span{color:#687389;font-size:13px}.workshop-original{overflow-wrap:anywhere;margin:14px 0;font-size:18px;line-height:2.3}.workshop-sentence details,.workshop-model-line details{margin:10px 0}.workshop-sentence summary,.workshop-sources summary{cursor:pointer;color:#315efb;padding:6px 0}.workshop-sentence details p{line-height:1.9}details[open] .japanese-text rt{--kbg-furigana-zero:0px;font-size:calc(.4em + var(--kbg-furigana-zero))}.workshop-note,.workshop-focus{background:#f6f8fc;border-radius:12px;padding:12px 16px}.workshop-sources{border-top:1px solid #e7e9ee;margin:24px 0;padding-top:16px}.workshop-sources a{color:#315efb;text-decoration:underline}.workshop-models{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.workshop-models>.panel{padding:24px}.workshop-model-line{border-bottom:1px solid #eceef2;padding:8px 0 18px}.workshop-checks{gap:14px;margin:22px 0;display:grid}.workshop-checks label{align-items:flex-start;gap:10px;line-height:1.7;display:flex}.workshop-checks input{flex-shrink:0;margin-top:6px}.workshop-steps{flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.workshop-steps li{background:#fff;border:1px solid #e2e6ee;border-radius:12px;padding:10px 14px}.workshop-steps [aria-current]{color:#315efb;background:#eef3ff;border-color:#ccd8fa}.workshop-choices{gap:12px;margin:20px 0;display:grid}.workshop-choices label{cursor:pointer;border:1px solid #e2e6ee;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.workshop-choices input{flex-shrink:0}.workshop-recorder{background:#f7f8fb;border:1px solid #e7e9ef;border-radius:14px;margin:24px 0;padding:20px}.workshop-recorder p{line-height:1.8}.workshop-recording audio{max-width:100%}.workshop-root{font-size:34px}.workshop-word-links{flex-wrap:wrap;gap:12px;display:flex}.workshop-word-links button{text-align:left;gap:6px;display:grid}.workshop-word-links small{color:#626d7f;font-size:11px}.workshop-calendar{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:20px;display:grid}.workshop-plan-day{border:1px solid #e5e8ef;border-radius:14px;min-width:0;padding:18px}.workshop-plan-day h3{margin-bottom:14px;font-size:14px}.workshop-plan-day ul{gap:16px;padding:0;list-style:none;display:grid}.workshop-plan-day li{gap:5px;font-size:14px;line-height:1.6;display:grid}.workshop-plan-day li>span{color:#667184;font-size:12px}.workshop-plan-day .is-done>span{color:#315efb}.workshop-weekdays{flex-wrap:wrap;gap:14px;margin:14px 0;display:flex}.workshop-weekdays label{align-items:center;gap:6px;display:flex}.workshop-restore{border:1px solid #d8e1f7;border-radius:12px;margin:16px 0;padding:18px}.workshop-history ol{padding:0;list-style:none}.workshop-history .section-heading{flex-wrap:wrap}.workshop-history .section-heading h2{flex:220px;min-width:0}.workshop-history .section-heading a{white-space:nowrap}.workshop-writing>.writing-corrections .panel-top{padding:0}.workshop-history li{border-top:1px solid #edf0f5;justify-content:space-between;gap:20px;padding:14px 0;line-height:1.6;display:flex}.workshop-history time{color:#6b7485;flex-shrink:0;font-size:12px}@media (max-width:1000px){.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.workshop-grid,.workshop-models,.workshop-filters{grid-template-columns:1fr}.workshop-reader-toolbar,.workshop-history li{display:block}.workshop-sentence,.workshop-card,.workshop-empty,.workshop-scenario,.workshop-editor,.workshop-writing>.panel,.workshop-listener>.panel,.workshop-connections>.panel,.workshop-plan,.workshop-plan-settings,.workshop-backup,.workshop-history{padding:18px}.workshop-original{font-size:17px}.workshop-calendar{grid-template-columns:1fr}}@media (max-width:480px){.workshop-history .section-heading{flex-direction:column;align-items:flex-start;gap:8px}.workshop-history .section-heading h2{flex:auto}}
.word-teaching{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.word-teaching summary{cursor:pointer;padding:6px 0;font-weight:700}.word-teaching p,.grammar-teaching p{overflow-wrap:anywhere}.word-teaching ol{padding-left:22px}.word-teaching-example{margin:18px 0}.word-teaching-example p{margin:6px 0}.teaching-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.teaching-comparison .example-box{margin:0}.teaching-related{gap:10px;padding:0;list-style:none;display:grid}.teaching-related li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.teaching-related span{color:var(--muted-foreground);font-size:.85rem}@media (max-width:680px){.teaching-comparison{grid-template-columns:1fr}}.answer-comparison{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.answer-comparison p[lang]{overflow-wrap:anywhere;line-height:1.9}.answer-comparison mark{color:inherit;border-radius:.2em;padding:.1em .15em}.answer-comparison .diff-missing{background:#dce6ff;border-bottom:2px solid #315efb}.answer-comparison .diff-extra{background:#ffe2df;border-bottom:2px solid #c64b42}
