/* Phone-first shell. Advanced tools remain behind explicit disclosure. */
html{font-size:15px}.app-shell.simple-shell{margin-left:0;max-width:720px;margin-inline:auto}
.simple-shell .topbar{height:64px;padding:0 22px;border-bottom:0;max-width:720px;background:var(--bg)}
.simple-shell .mobile-brand{display:block;font-size:24px;font-weight:750;letter-spacing:-1px}.simple-shell .mobile-brand span{font-size:11px;font-weight:450;letter-spacing:.4px;margin-left:5px;color:var(--muted)}
.simple-shell .connection{display:none}.simple-shell .connection.is-offline{display:flex;font-size:11px}
.simple-shell main{padding:22px 22px 30px;max-width:720px;min-height:calc(100dvh - 210px)}.simple-shell .page-heading{margin-bottom:25px}.simple-shell .page-heading .eyebrow:empty{display:none}
.simple-shell h1{font-size:27px;line-height:1.45;letter-spacing:-1px}.simple-shell .subtitle{font-size:13px;margin-top:8px;line-height:1.8}
.simple-shell .btn{font-size:14px;padding:12px 18px;min-height:48px;border-radius:12px}.simple-shell .btn.large{font-size:15px;min-height:52px}.simple-shell .text-button{font-size:13px;min-height:42px}
.simple-shell .icon-button{height:44px;width:44px}.simple-shell .icon-button svg{width:19px;height:19px}
.simple-shell .panel{border-radius:17px;padding:22px;box-shadow:none}.simple-shell .small,.simple-shell .muted.small{font-size:12px;line-height:1.8}
.simple-shell .app-footer{padding:10px 22px 110px;justify-content:center;font-size:11px}.simple-shell .app-footer a{padding:10px}
.simple-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;max-width:720px;margin:auto;height:calc(72px + env(safe-area-inset-bottom));padding:9px 12px calc(9px + env(safe-area-inset-bottom));justify-content:space-around;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:25}
.simple-bottom-nav button{border:0;background:transparent;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:50px;color:var(--muted);position:relative}.simple-bottom-nav button svg{width:22px;height:22px}.simple-bottom-nav button small{font-size:11px}.simple-bottom-nav button.active{color:var(--ink);font-weight:700}.simple-bottom-nav button.active:before{content:'';position:absolute;top:-9px;width:24px;height:3px;border-radius:3px;background:#77965c}
.toast{left:50%;bottom:90px;font-size:13px}.skip-link{left:10px}
.simple-today-card.hero{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:250px;margin:0 0 17px;padding:27px 26px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:20px}
.simple-card-label{display:block;font-size:12px;color:var(--muted);margin-bottom:13px;font-weight:600}.simple-today-card h2{font-size:30px;line-height:1.5;font-weight:650;letter-spacing:-1px;margin:0 0 12px}.simple-today-card p{font-size:13px;color:var(--muted);margin-bottom:20px}.simple-card-copy{position:relative;z-index:1}
.simple-card-kanji{font-family:var(--serif);font-size:112px;line-height:1;color:#829c6d;opacity:.75;margin-right:5px}.simple-today-card .btn{min-width:185px}
.conv-home-tile{padding:24px 26px;background:#eaf0e1;border:1px solid #dae5cc;border-radius:20px;margin-bottom:18px;position:relative}.conv-home-tile .simple-card-label{color:#5c714b}.conv-home-tile h2{font-size:21px;letter-spacing:-.6px;margin-bottom:9px}.conv-home-tile p{font-size:13px;color:#607253;line-height:1.8;margin-bottom:20px;max-width:85%}.conv-home-progress{position:absolute;right:24px;bottom:27px;color:#637959;font-size:12px}.conv-home-tile .btn.secondary{border-color:#b8c9a7;background:#fafff5;color:#31512c}
.simple-review-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:18px 20px;text-align:left;margin:17px 0;font-size:13px;min-height:68px}.simple-review-row>span,.simple-review-row>b{display:flex;align-items:center;gap:10px}.simple-review-row svg{height:19px;width:19px}.simple-review-row>b{font-weight:600;white-space:nowrap}
.simple-day-note{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin:27px 0 5px;color:var(--muted);font-size:12px;text-align:center;line-height:1.8}.simple-day-note svg{width:16px;height:16px;margin-top:3px;flex-shrink:0}.simple-day-note span{display:block}.simple-gentle-note{text-align:center;color:var(--muted);font-size:13px;line-height:1.9;margin:25px 0}.simple-center{text-align:center;margin:23px 0}
.simple-learn-start{text-align:center;padding:28px 20px 32px!important}.simple-learn-glyph{font-family:var(--serif);font-size:100px;display:block;color:#7f9966;margin:15px 0 20px}.simple-learn-start h2{font-size:22px;margin-bottom:15px}.simple-learn-start p{color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:25px}.simple-learn-start small{display:block;font-size:12px;color:var(--muted);margin-top:18px}
.simple-shell .session-top{font-size:13px;margin-bottom:12px}.simple-shell .session-top small{font-size:12px}.simple-shell .session-progress{height:4px;margin-bottom:20px}.simple-study-card{padding:15px 22px 22px!important}.simple-study-card .main-character{font-size:120px;min-height:175px;line-height:1.45;margin:10px auto}.simple-study-card .meaning-answer{margin:6px 0 25px}.simple-study-card .meaning-answer h2{font-size:26px}.simple-study-card .card-prompt{font-size:14px;margin:15px 0 28px}.simple-word-examples .word-row{padding:13px 0}.simple-word-examples .word-text>span{font-size:24px}.simple-word-examples .word-text small{font-size:13px}.simple-word-examples .word-meaning{font-size:14px}.simple-study-card .card-actions{margin-top:18px;padding-top:18px}.simple-study-card .rating-heading{font-size:13px}.simple-study-card .rating-grid{gap:8px}.simple-study-card .rating{padding:16px 4px;min-height:50px}.simple-study-card .rating b{font-size:13px}
.simple-shell .study-card .word-reading{font-size:19px}.simple-shell .main-word{font-size:43px;line-height:1.8}.simple-shell .card-meta{font-size:11px}.simple-shell .card-meta .level-tag{font-size:10px}.simple-shell .rating small{font-size:11px}.simple-shell .keyboard-hint{display:none}
.simple-inline-details{font-size:13px;margin-top:17px;border-top:1px solid var(--line)}.simple-inline-details>summary{padding:15px 0;cursor:pointer;min-height:45px;color:var(--muted);list-style-position:inside}.simple-inline-details>summary::marker{font-size:10px}.simple-inline-details[open]>summary{color:var(--ink)}.simple-shell .simple-inline-details .reading-answer{font-size:14px}.simple-shell .simple-inline-details .reading-answer p{font-size:14px}
.simple-record-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 28px}.simple-record-counts>div{display:flex;flex-direction:column;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px 8px}.simple-record-counts b{font-size:28px;font-weight:650}.simple-record-counts b small{font-size:13px;font-weight:400;margin-left:4px;color:var(--muted)}.simple-record-counts span{font-size:12px;color:var(--muted)}
.simple-details{background:var(--panel);border:1px solid var(--line);border-radius:15px;margin:12px 0;overflow:hidden}.simple-details>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:19px 20px;min-height:62px;list-style:none;font-size:14px;font-weight:600}.simple-details>summary::-webkit-details-marker{display:none}.simple-details>summary:after{content:'⌄';margin-left:auto;color:var(--muted);font-size:17px}.simple-details[open]>summary:after{content:'⌃'}.simple-details>summary>svg{height:19px;width:19px;color:var(--muted)}.simple-detail-body{padding:0 20px 20px;font-size:13px;line-height:1.9}.simple-detail-body p{color:var(--muted);margin-bottom:12px}.simple-detail-body .setting-row{font-size:13px}.simple-shell .simple-detail-body .setting-row select{font-size:13px;max-width:180px}.simple-tool{display:block;width:100%;padding:14px 0;text-align:left;background:transparent;border:0;border-top:1px solid var(--line);font-size:14px;min-height:50px}.simple-tool:after{content:'→';float:right;color:var(--muted)}.simple-back{margin-bottom:12px}.simple-details .backup-actions{margin:16px 0}.simple-details .backup-actions .btn{font-size:13px}
.conv-simple-recommend .simple-card-label{font-size:13px;margin-bottom:17px}.conv-simple-recommend h2{font-size:25px;line-height:1.5;margin-bottom:13px}.conv-simple-recommend>p{font-size:14px;line-height:1.9;color:var(--muted)}.conv-simple-time{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:19px 0}.conv-simple-time svg{height:16px;width:16px}.conv-simple-recommend>.btn{width:100%}.conv-simple-progress{margin:23px 4px}.conv-simple-progress>span{font-size:12px;color:var(--muted)}.conv-simple-progress .progress-track{margin-top:11px;height:5px}
.conv-course-search{border:1px solid var(--line);background:var(--panel);border-radius:13px;margin:0 0 22px}.conv-course-search input{font-size:14px;padding:8px 0}.conv-module>summary{font-size:14px;gap:10px;line-height:1.7}.conv-module>summary>span{font-size:11px;color:#5d704c;background:var(--light);padding:3px 7px;border-radius:6px;white-space:nowrap}
.conv-lesson-grid{padding:0 18px 15px}.conv-lesson-card{border:0;border-top:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:12px;padding:18px 0;width:100%;text-align:left}.conv-lesson-number{color:#64804c;font-size:13px;min-width:26px}.conv-lesson-number>svg{height:20px;width:20px}.conv-lesson-card>span:nth-child(2){flex:1}.conv-lesson-card b{display:block;font-size:14px;line-height:1.7;margin-bottom:5px;font-weight:600}.conv-lesson-card small{display:block;font-size:12px;color:var(--muted);line-height:1.7}.conv-lesson-card>svg{height:18px;width:18px;flex-shrink:0;color:var(--muted)}
.conv-back-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin:-10px 0 16px}.conv-simple-step{display:flex;align-items:center;gap:11px;font-size:14px;margin:4px 0 14px}.conv-simple-step>span{font-size:12px;color:var(--muted);background:var(--panel);padding:5px 10px;border-radius:7px;border:1px solid var(--line)}.conv-simple-step>.text-button{margin-left:auto}.conv-options{margin:0 0 17px;border:0}.conv-options>summary{font-size:12px;padding:5px 0;min-height:35px}.conv-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 0;font-size:13px}.conv-toolbar label{display:flex;align-items:center;gap:10px}.conv-toolbar select{font-size:13px;min-height:42px}.conv-tts-note{font-size:11px;color:var(--muted)}.conv-audio-status{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:13px}.conv-audio-status:empty{display:none}
.conv-expression-panel .section-top{margin-bottom:13px}.conv-expression-panel .section-top h2{font-size:18px}.conv-expression-panel .tiny-label{display:none}.conv-expression-panel>.small{font-size:13px!important}.conv-phrase-list{margin-top:12px}.conv-phrase{display:grid;grid-template-columns:1fr 44px;gap:9px;padding:21px 0;border-bottom:1px solid var(--line)}.conv-phrase:last-child{border-bottom:0;padding-bottom:0}.conv-phrase-index{display:none}.conv-jp{font-size:23px;line-height:1.8;word-break:normal;overflow-wrap:anywhere}.conv-ko{font-size:14px;line-height:1.9;color:var(--muted);margin-top:8px}.conv-reading{font-size:13px;color:#5c754d;line-height:1.9;margin-top:6px;word-break:normal;overflow-wrap:anywhere}.conv-phrase-actions{display:flex;flex-direction:column;gap:2px}.conv-phrase-actions .is-saved{color:#4c7137;background:var(--light)}.conv-phrase.is-speaking{background:var(--light);border-radius:9px;padding-inline:10px}.conv-patterns article{padding:16px 0;border-top:1px solid var(--line)}.conv-patterns h3{font-size:16px;line-height:1.9}.conv-patterns p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:8px}
.conv-dialogue-panel .section-top{flex-wrap:wrap;margin-bottom:10px}.conv-dialogue-panel .section-top h2{font-size:17px}.conv-listen-buttons{display:flex;align-items:center;gap:12px}.conv-listen-buttons .btn{font-size:13px;padding:10px 12px}.conv-dialogue{display:flex;flex-direction:column;gap:22px;margin:25px 0 20px}.conv-turn{display:grid;grid-template-columns:1fr 36px;gap:5px;max-width:92%;align-items:end}.conv-turn.own{align-self:flex-end}.conv-turn.other{align-self:flex-start}.conv-speaker{grid-column:1/-1;font-size:11px;color:var(--muted);margin-bottom:4px}.conv-turn.own .conv-speaker{text-align:right;padding-right:40px}.conv-bubble{background:var(--bg);padding:15px 16px;border-radius:15px;min-width:0}.conv-turn.own .conv-bubble{background:var(--light)}.conv-bubble>p[lang=ja]:first-child{font-size:20px;line-height:1.85;word-break:normal;overflow-wrap:anywhere}.conv-bubble .conv-ko{font-size:13px}.conv-turn .icon-button{width:36px;height:40px;padding:7px}.conv-turn.is-speaking .conv-bubble{outline:2px solid #8aa572}
.conv-question-dots{display:none}.conv-exercise-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:22px}.conv-exercise-top .level-tag{font-size:11px;padding:6px 10px;letter-spacing:0}.conv-exercise-prompt{font-size:19px;line-height:1.8;margin-bottom:22px}.conv-exercise-cue{font-size:19px;line-height:1.9;margin-bottom:24px}.conv-exercise-jp{font-size:25px;line-height:1.9;margin-bottom:24px;word-break:normal}.conv-listen-task{display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 0 20px}.conv-listen-task p[lang]{font-size:22px;line-height:1.9;text-align:center}.conv-answer-options{display:flex;flex-direction:column;gap:12px}.conv-answer-options .quiz-option{padding:17px 14px;gap:12px;font-size:16px;line-height:1.8;min-height:62px}.conv-answer-options .quiz-option b{font-weight:500}.conv-practice-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.conv-practice-actions .text-button{justify-content:center}.conv-practice-panel .quiz-feedback{font-size:14px;line-height:1.8;margin-top:22px}.conv-practice-panel .quiz-feedback p{font-size:13px}
.conv-answer-area{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:110px;border:1px dashed #b3c3a4;background:var(--bg);border-radius:13px;padding:14px;margin:17px 0}.conv-piece-pool{display:flex;gap:9px;flex-wrap:wrap;min-height:80px;margin:20px 0}.conv-piece{border:1px solid var(--line);border-radius:9px;padding:12px 13px;background:var(--panel);min-height:48px;font-size:16px}.conv-piece:disabled{opacity:.4}.conv-order-actions{display:flex;align-items:center;gap:20px}.conv-stage-next{margin:23px 0;text-align:center}.conv-stage-next .btn{width:100%}
.conv-help{margin-top:25px}.conv-help .simple-detail-body ul{padding-left:20px;color:var(--muted);margin:14px 0 23px}.conv-help .simple-detail-body p{line-height:2}.conv-linked-kanji{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.conv-linked-kanji .mini-kanji{font-family:var(--serif);font-size:30px;min-height:60px}.conv-step-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 0}.conv-step-nav>button{padding:13px;background:var(--bg);border:1px solid var(--line);border-radius:9px;font-size:13px}.conv-step-nav>button.active{background:var(--light)}
.conv-roleplay-panel h2,.conv-goal-panel h2{font-size:20px;line-height:1.7}.conv-role-switch{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.conv-role-switch .chip{font-size:12px;min-height:42px}.conv-role-card{background:var(--bg);border:1px solid var(--line);padding:22px 18px;border-radius:14px;min-height:230px}.conv-role-card.is-my-turn{background:var(--light);border-color:#bbcda6}.conv-role-card .eyebrow{font-size:11px;letter-spacing:0}.conv-role-card h3{font-size:20px;line-height:1.9;margin:10px 0 14px}.conv-role-card>.small{line-height:1.9}.conv-role-card .btn{margin-top:15px}.conv-role-jp{font-size:24px;line-height:1.9;margin:17px 0 10px;word-break:normal;overflow-wrap:anywhere}.conv-role-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:20px}
.conv-goal-panel{margin-top:20px}.conv-goal-panel>.eyebrow{display:none}.conv-goal-panel>.muted{margin-top:12px}.conv-goal{padding:22px 0;border-bottom:1px solid var(--line)}.conv-goal>p{font-size:15px;line-height:1.9;margin-bottom:14px}.conv-goal-ratings{display:flex;flex-direction:column;gap:9px}.conv-goal-ratings>.chip{font-size:13px;padding:13px;text-align:left;min-height:45px}.conv-completion-check{margin:22px 0;font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:12px}.conv-completion-check svg{height:17px;width:17px;margin-right:8px}.conv-goal-panel>.btn{width:100%;margin:10px 0}.conv-goal-panel>.small{margin-top:12px}
.conv-draft-note{text-align:center;font-size:11px;color:var(--muted);line-height:1.9;margin-top:25px}.conv-review-card{text-align:center}.conv-review-card>.level-tag{font-size:11px;letter-spacing:0}.conv-review-card>h2{font-size:23px;margin:40px 0 28px;line-height:1.9}.conv-review-card>.btn{margin:15px 0 20px}.conv-review-card .rating b{font-size:13px}.conv-review-card .rating small{font-size:11px}.conv-review-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}.conv-review-banner>div{display:flex;align-items:center;gap:14px}.conv-review-banner h2{font-size:17px}.conv-review-banner .metric-icon{display:none}.conv-stat-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.conv-stat-values>div{display:flex;flex-direction:column;gap:8px}.conv-stat-values b{font-size:25px}.conv-stat-values span{font-size:11px;color:var(--muted)}
[data-theme=dark] .conv-home-tile{background:#293b24;border-color:#41553a}[data-theme=dark] .conv-home-tile p,[data-theme=dark] .conv-home-progress,[data-theme=dark] .conv-home-tile .simple-card-label{color:#b9cdaa}[data-theme=dark] .conv-home-tile .btn.secondary{background:#334b2c;color:#d7e9c7;border-color:#597448}[data-theme=dark] .simple-card-kanji{color:#abc68e}[data-theme=dark] .conv-module>summary>span,[data-theme=dark] .conv-reading,[data-theme=dark] .conv-lesson-number{color:#b3d190}[data-theme=dark] .conv-phrase-actions .is-saved{color:#b3d190}
@media(min-width:761px){.simple-shell .topbar{height:78px}.simple-shell main{padding:28px 38px 35px}.simple-shell .page-heading{margin-bottom:30px}.simple-today-card.hero{padding:32px;min-height:270px}.simple-card-kanji{font-size:140px}.conv-home-tile{padding:28px 32px}.simple-bottom-nav{border-radius:18px 18px 0 0;box-shadow:0 -7px 25px #203e2a05}.simple-shell .panel{padding:28px}.simple-shell .app-footer{padding-bottom:110px}}
@media(max-width:390px){.simple-shell main{padding:18px 17px 25px}.simple-shell .topbar{padding-inline:18px}.simple-shell h1{font-size:25px}.simple-today-card.hero{padding:24px 20px;gap:4px}.simple-today-card h2{font-size:27px}.simple-card-kanji{font-size:96px;margin-right:0}.simple-today-card .btn{font-size:13px;padding:11px 13px;min-width:165px}.conv-home-tile{padding:22px}.conv-home-tile h2{font-size:20px}.conv-home-tile p{max-width:100%;font-size:13px}.conv-home-progress{position:static;display:inline-block;font-size:11px;margin-left:10px}.simple-shell .panel{padding:20px}.simple-record-counts{gap:8px}.simple-record-counts>div{padding:20px 5px}.conv-phrase{grid-template-columns:1fr 40px}.conv-phrase-actions .icon-button{width:40px;height:42px}.conv-jp{font-size:21px}.conv-exercise-prompt{font-size:18px}.conv-answer-options .quiz-option{font-size:15px}.simple-details>summary{padding-inline:18px}.conv-role-card h3{font-size:18px}.conv-review-card>h2{font-size:21px}.conv-stat-values b{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.simple-shell .dictionary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.simple-shell .dictionary-kanji{min-height:140px}.simple-shell .dictionary-kanji b{font-size:11px}.simple-shell .dictionary-kanji small{font-size:10px}.simple-shell .dictionary-level{font-size:9px}@media(min-width:600px){.simple-shell .dictionary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

.conv-home-tile p,.conv-home-progress{color:#526848}.simple-shell .quiz-feedback{color:#815f48}.simple-shell .quiz-feedback.success{color:#536d3d}[data-theme=dark] .simple-shell .quiz-feedback{background:#3b352b;color:#e4c6ad}[data-theme=dark] .simple-shell .quiz-feedback.success{background:var(--light);color:#c0d6ad}

html[data-text-size="large"] .simple-card-kanji,html[data-text-size="xlarge"] .simple-card-kanji{display:none}html[data-text-size="xlarge"] .simple-shell select{min-height:48px;height:auto}html[data-text-size="xlarge"] .simple-shell .setting-row{flex-wrap:wrap}.quiz-option b{min-width:0;overflow-wrap:anywhere}#detail-dialog .detail-word{overflow-wrap:anywhere;word-break:normal}@media(max-width:599px){html[data-text-size="xlarge"] .simple-shell .dictionary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

html[data-text-size="xlarge"] .simple-shell .page-heading{flex-wrap:wrap}

@media(max-width:599px){html[data-text-size="large"] .simple-shell .rating-grid,html[data-text-size="xlarge"] .simple-shell .rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Explanatory copy has its own size; study glyphs and headings keep their size. */
:root{--reading-size:16px}
html{font-size:var(--reading-size)}
html[data-text-size] .simple-shell main p:not([lang="ja"]),
html[data-text-size] .simple-shell main small,
html[data-text-size] .simple-shell main .small,
html[data-text-size] .simple-shell main .muted:not([lang="ja"]),
html[data-text-size] .simple-shell main .notice,
html[data-text-size] .simple-shell main .word-meaning,
html[data-text-size] .simple-shell main .word-text small,
html[data-text-size] .simple-shell main .conv-reading,
html[data-text-size] .simple-shell main .reading-answer p,
html[data-text-size] .simple-shell main .reading-answer>div>span,
html[data-text-size] .simple-shell main .card-example>span,
html[data-text-size] .simple-shell main .card-meta,
html[data-text-size] .simple-shell main .level-tag,
html[data-text-size] .simple-shell main .tiny-label,
html[data-text-size] .simple-shell main .eyebrow,
html[data-text-size] .simple-shell main .simple-card-label,
html[data-text-size] .simple-shell main .conv-home-progress,
html[data-text-size] .simple-shell main .conv-completion-check,
html[data-text-size] .simple-shell main .reading-instruction,
html[data-text-size] .simple-shell main .reading-tip,
html[data-text-size] .simple-shell main .study-source,
html[data-text-size] .simple-shell main .dictionary-kanji b,
html[data-text-size] .simple-shell main .dictionary-kanji small,
html[data-text-size] .simple-shell main .review-item>div,
html[data-text-size] .simple-shell main .review-item>span:last-child,
html[data-text-size] .simple-shell main .filters label,
html[data-text-size] .simple-shell main .conv-toolbar,
html[data-text-size] .simple-shell main select,
html[data-text-size] .simple-shell main input:not([type="checkbox"]),
html[data-text-size] #detail-dialog p:not([lang="ja"]),
html[data-text-size] #detail-dialog small,
html[data-text-size] #detail-dialog .word-meaning,
html[data-text-size] #detail-dialog .detail-meta,
html[data-text-size] #detail-dialog .detail-content>h3,
html[data-text-size] #detail-dialog .reading-answer p,
html[data-text-size] #detail-dialog .reading-answer>div>span,
html[data-text-size] #detail-dialog .word-text small{font-size:var(--reading-size)!important;line-height:1.8}
html[data-text-size] .simple-shell .word-reading{font-size:max(18px,var(--reading-size))}
html[data-text-size] ruby rt{font-size:calc(var(--reading-size)*.75);line-height:1.4}
.text-size-control{border-bottom:1px solid var(--line);padding-bottom:18px}
.text-size-control .setting-row{border-bottom:0;padding-bottom:9px}
.text-size-preview{color:var(--muted);margin:0!important;word-break:keep-all}
.simple-shell main select,.simple-shell main input:not([type="checkbox"]){min-height:44px;height:auto}
.simple-shell .setting-row{flex-wrap:wrap}
.simple-shell .page-heading{flex-wrap:wrap}
.conv-home-progress{position:static;display:inline-block;margin-left:10px;margin-top:12px}
.conv-home-tile p{max-width:100%}
#detail-dialog .detail-meta{gap:10px;line-height:1.8}
@media(max-width:359px){.simple-card-kanji{display:none}.simple-shell .rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

html[data-text-size] .simple-shell main .simple-record-counts>div>span,
html[data-text-size] .simple-shell main .conv-simple-time,
html[data-text-size] .simple-shell main .conv-simple-progress>span,
html[data-text-size] .simple-shell main .conv-back-row>span,
html[data-text-size] .simple-shell main .conv-simple-step>span,
html[data-text-size] .simple-shell main .conv-speaker,
html[data-text-size] .simple-shell main .conv-tts-note,
html[data-text-size] .simple-shell main .conv-stat-values span,
html[data-text-size] .simple-shell main .simple-review-row,
html[data-text-size] .simple-shell main .skill-row,
html[data-text-size] .simple-shell .app-footer{font-size:var(--reading-size)!important;line-height:1.8}
.simple-review-row>span,.simple-review-row>b{min-width:0}
.review-item{flex-wrap:wrap}.review-item>span:last-child{flex-basis:100%;margin-left:0}
.skill-row{flex-wrap:wrap;gap:10px}


/* Learning paths share the same simple, one-column mobile shell. */
.learning-today{display:block;min-height:0;padding:28px;background:linear-gradient(135deg,#edf3e8,#f7f5e9);border:1px solid var(--line)}
.learning-today h2{font-size:30px;line-height:1.4;letter-spacing:-1px;margin:12px 0;max-width:none}
.learning-today>p{margin:12px 0 22px}.learning-today .large{width:100%}
.learning-home-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:18px;font-size:var(--reading-size);color:var(--green)}
.track-list{display:grid;gap:14px}.track-card{display:grid;width:100%;grid-template-columns:64px minmax(0,1fr)20px;align-items:center;gap:14px;text-align:left;cursor:pointer}
.track-card>span{min-width:0}.track-card b{display:block;font-size:20px;margin-bottom:6px}.track-glyph{font-family:var(--serif);font-size:30px;color:var(--green);text-align:center}
.track-desc,.track-card small{display:block;font-size:var(--reading-size);line-height:1.8}.track-card small{color:var(--muted);margin-top:6px}
.learning-mini-counts{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:0 0 24px;font-size:var(--reading-size)}
.kana-recommend h2,.reading-recommend h2{font-size:23px;margin:10px 0}.kana-recommend p,.reading-recommend p{margin:16px 0 0}
.kana-preview{font-size:32px;letter-spacing:6px;margin:24px 0;color:var(--green);overflow-wrap:anywhere}
.kana-lesson-list{display:grid;gap:8px;margin:12px 0 24px}.kana-lesson-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel);text-align:left;font-size:var(--reading-size)}
.kana-lesson-button small{white-space:nowrap;color:var(--muted)}.kana-study{text-align:center;padding:28px 20px}
.kana-study>p{margin:12px 0}.kana-study .large{width:100%;margin-top:24px}.kana-study .simple-inline-details{margin:14px 0}.kana-study .rating-grid{margin-top:14px}
.kana-character{font-family:var(--serif);font-size:96px;line-height:1.6;margin:16px 0;color:var(--ink)}
.kana-word{font-family:var(--serif);font-size:40px;line-height:1.7;overflow-wrap:anywhere;margin:24px 0}
.kana-word-reading{font-size:24px!important}.kana-example{font-size:26px!important;margin:14px 0!important}
.kana-tip{text-align:left}.kana-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.kana-answer{border:1px solid var(--line);border-radius:16px;background:var(--bg);min-height:80px;font-family:var(--serif);font-size:38px}
.kana-answer.correct{background:#e5efdf;border:2px solid #4e754d}.kana-answer.incorrect{background:#f7e9e5;border:2px solid #9b584a}
.kana-answer:disabled{opacity:1}.learning-origin{margin:28px 0}.learning-origin p{margin:12px 0}
.reading-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;font-size:var(--reading-size);line-height:1.8}
.reading-filter input[type=checkbox]{width:22px;height:22px}.reading-list{display:grid;gap:10px;margin:20px 0}.reading-list-button{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-align:left;min-height:70px;padding:14px}
.reading-list-button b,.reading-list-button small{display:block;font-size:var(--reading-size);line-height:1.8}.reading-list-button small{color:var(--muted)}
.reading-text{font-size:24px;line-height:2.2;word-break:normal;overflow-wrap:anywhere;letter-spacing:.03em}
.reading-token{display:inline;border:0;border-bottom:1px dotted #9dae9d;border-radius:3px;padding:0 1px;color:inherit;background:transparent;font:inherit;line-height:inherit;text-align:inherit}
.reading-token:hover,.reading-token:focus-visible{background:var(--light)}.reading-token rt{font-size:13px;letter-spacing:0}
.reading-text-panel>.reading-instruction{margin:22px 0 12px}.reading-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}
.reading-translation{padding-top:20px;border-top:1px solid var(--line);white-space:pre-line}
.reading-token-detail{border-radius:14px;padding:20px;background:var(--light);margin-top:20px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.reading-token-detail>b{font-size:24px}.reading-token-detail>p{width:100%}.reading-token-detail .btn{flex:1;min-width:110px}
.reading-question,.reading-finish{margin-top:20px}.reading-question h2{font-size:21px;margin:14px 0 20px}.reading-question .quiz-option{min-height:58px}
.reading-question>.btn,.reading-finish>.btn{margin:16px 12px 0 0}.reading-start-question{margin:24px 0}.reading-start-question .btn{width:100%}
.reading-word-card{text-align:center}.reading-word-card>.btn{margin:18px 0}.reading-word-card .rating-grid{margin-top:20px}
.learning-resource-note{margin:18px 0;font-size:var(--reading-size);line-height:1.8;color:var(--muted)}
.resource-provider summary{display:flex;align-items:center;gap:12px;justify-content:space-between}.resource-provider .simple-detail-body>p{margin:12px 0}
.resource-links{display:grid;gap:0;margin-top:18px}.resource-link{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:var(--reading-size);line-height:1.8}
.resource-link span:first-child{min-width:0;overflow-wrap:anywhere}.learning-stats h2{margin-bottom:18px}
[data-theme=dark] .learning-today{background:linear-gradient(135deg,#203e32,#2c362b)}
[data-theme=dark] .kana-answer.correct{background:#244832;color:#e8f2e1}[data-theme=dark] .kana-answer.incorrect{background:#542f2a;color:#fff0ec}
@media(max-width:359px){.track-card{grid-template-columns:45px minmax(0,1fr)18px;gap:10px}.track-glyph{font-size:24px}.track-card b{font-size:19px}.learning-today{padding:24px}.learning-today h2{font-size:28px}.reading-filter{align-items:flex-start;flex-wrap:wrap}.reading-filter select{max-width:100%}.kana-preview{font-size:27px;letter-spacing:3px}.kana-word{font-size:34px}}

.kana-chart-glyphs{display:block;font-family:var(--serif);font-size:24px;line-height:1.8;word-break:normal;overflow-wrap:anywhere;letter-spacing:2px;margin-top:8px}.kana-lesson-button>span{min-width:0}

.linked-resources{display:grid;gap:14px;margin:20px 0}.linked-resources a{font-size:var(--reading-size);line-height:1.8;overflow-wrap:anywhere}


/* Confirmation stays in normal document flow after the learning content. */
.card-actions .acknowledge-button{width:100%;min-height:48px;margin-top:12px}.study-card .card-actions{position:static;transform:none}.study-card{scroll-margin-bottom:calc(var(--bottom-nav-height,84px) + 24px)}

.quiz-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;font-size:var(--reading-size)}.quiz-scope select{max-width:70%;font-size:var(--reading-size)}
