/* Each readable element retains its original size at 1×. This also scales fixed-pixel
   typography, while controls remain reachable and layouts wrap at larger settings. */
[data-font-px]{font-size:calc(var(--font-px) * 1px * var(--learning-scale,1))!important;overflow-wrap:anywhere}
.learning-measure-font [data-font-px]{font-size:calc(var(--font-px) * 1px)!important}
.learning-font-control{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px!important;padding:10px 0;line-height:1.4}
.learning-font-control select{font-size:16px!important;padding:8px;border-radius:9px;min-width:100px}
.learning-sync{display:block;flex-basis:100%;font-size:12px!important;opacity:.85;min-height:1.3em}
.pro-page-header,.pro-playback-main,.header-actions{flex-wrap:wrap}
.pro-turn{cursor:pointer;overflow-wrap:anywhere}
.pro-turn:focus-visible{outline:3px solid #ad8521;outline-offset:3px}
.pro-word{border:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;padding:0!important;margin:0!important;border-radius:3px!important;font:inherit!important;display:inline!important;cursor:pointer;line-height:inherit!important;min-height:0!important}
.pro-word:hover,.pro-word:focus-visible{outline:2px solid #d8a52a;outline-offset:2px}
.pro-word.is-bookmarked{background:#fff099!important;color:#111!important;text-decoration:underline;text-decoration-thickness:2px}
.pro-chinese,.poly-translation{color:#111!important;background:#fafafa;padding:16px;border-radius:10px;line-height:1.8}
.pro-gap{max-width:100%;vertical-align:baseline}
.pro-turn p,.poly-sentence{overflow-wrap:anywhere}
.course-dashboards,.course-stat-grid,.team-effort-summary,.deck-grid,.pro-mode-cards,.poly-options{min-width:0}
.course-stat-grid>div,.team-effort-summary>div{min-width:0;overflow-wrap:anywhere}
.learning-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin:12px 0 20px}
.learning-summary strong{font-size:28px}.learning-summary small{display:block}
.learning-bookmark-context{white-space:normal}
.pro-resume-note{padding:12px 16px;border-left:4px solid #d1a333;background:#fff5cc;color:#222}
@media(max-width:700px){.pro-page-header{align-items:flex-start}.pro-turn{margin-left:0!important;margin-right:0!important;padding:16px!important}.course-stat-grid{grid-template-columns:1fr!important}.study-layout{min-width:0}.poly-options{grid-template-columns:1fr}}
.pro-lesson-grid{grid-template-columns:1fr}
.pro-dialogue-table{width:100%;table-layout:fixed;border-spacing:10px 12px;margin:-10px 0 0;border-collapse:separate}
.pro-dialogue-table th{width:50%;text-align:left;font-size:calc(.95rem * var(--learning-scale,1));vertical-align:top;padding:4px 8px;color:var(--text,#edf5ef);overflow-wrap:anywhere}
.pro-dialogue-table th span{display:block;font-size:.85em;opacity:.8;margin-top:4px}
.pro-dialogue-table td{vertical-align:top;padding:0}
.pro-dialogue-table .pro-dialogue-link{height:100%;min-height:132px;box-sizing:border-box}
.pro-dialogue-table .pro-dialogue-link b{font-weight:500}
.pro-unavailable{display:block;padding:20px;opacity:.65}
.poly-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.poly-lesson-grid .poly-landing-card{width:auto;margin:0;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.learning-progress-widget{margin:16px 0 24px;clear:both}
.learning-progress-widget p{margin:8px 0;font-weight:700;color:var(--text,#edf5ef)}
.learning-progress-track,.learning-progress-widget .study-progress{height:12px;background:#70887840;border-radius:999px;overflow:hidden;margin:0}
.learning-progress-track>span,.learning-progress-widget .study-progress>span{display:block;height:100%;background:linear-gradient(90deg,#309766,#a7d954);border-radius:inherit;transition:width .2s ease}
.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}
@media(max-width:650px){.pro-dialogue-table{border-spacing:5px 9px}.pro-dialogue-table .pro-dialogue-link{padding:12px 9px;min-height:150px}.pro-lesson-card{padding:14px}.poly-lesson-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.learning-progress-track>span,.learning-progress-widget .study-progress>span{transition:none}}
/* Flashcard controls occupy their own row, never the vocabulary text. */
.card-stage .card-utilities{position:static;display:flex;justify-content:flex-end;align-items:center;gap:10px;width:100%;margin:0 0 12px;padding:0}
.card-stage .card-utilities button{flex:0 0 48px;width:48px;height:48px;box-shadow:0 3px 8px #193c2520,inset 0 1px 0 #ffffff90}
.card-stage .flashcard{justify-content:flex-start;gap:22px}
.card-stage .flashcard-side{position:static;align-self:flex-start;display:block;padding:0;line-height:1.5}
.study-stat-grid{--stat-base:#17251d}
html.theme-day .study-stat-grid{--stat-base:#fff}
.study-stat-grid>div{--stat-tint:#62a9f32b;--stat-edge:#62a9f35c}
.study-stat-grid>div:nth-child(2){--stat-tint:#b894e82b;--stat-edge:#b894e85c}
.study-stat-grid>div:nth-child(3){--stat-tint:#4da9802b;--stat-edge:#4da9805c}
.study-stat-grid>div:nth-child(4){--stat-tint:#de87972b;--stat-edge:#de87975c}
.study-stat-grid>div:nth-child(5){--stat-tint:#dcaf542b;--stat-edge:#dcaf545c}
.study-workspace .study-stat-grid>div,html.theme-day .study-workspace .study-stat-grid>div{background:linear-gradient(145deg,var(--stat-tint),transparent),var(--stat-base);border:1px solid var(--stat-edge);border-top:3px solid var(--stat-edge);box-shadow:0 5px 12px #183f2710,inset 0 1px 0 #ffffff35;border-radius:16px;padding:14px 16px}
.study-workspace .grade-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px;align-items:stretch}
.study-workspace .grade-controls>button{grid-column:auto!important;grid-row:1!important;aspect-ratio:1;width:100%;min-width:0;min-height:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px!important;box-shadow:0 5px 12px #163d2018,inset 0 1px 0 #ffffff66}
.study-workspace .grade-controls>.cross{order:0}
.study-workspace .grade-controls>.tick{order:1}
.study-workspace .grade-controls>button>svg{display:block!important;flex:none;width:38px;height:38px;stroke-width:2.6}
.study-workspace .grade-controls .pro-bilingual-label{display:flex;flex-direction:column;gap:5px;text-align:center}
.study-workspace .grade-controls .pro-zh{font-weight:800}
.study-workspace .grade-controls .pro-en{font-size:.83em;opacity:.85}
.study-footer[data-answer-shown="true"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.study-footer[data-answer-shown="true"]>button{grid-column:auto!important;min-width:0}
#round-complete-title>span{display:block;line-height:1.2}
#round-complete-title>span+span{margin-top:.2em}
#round-complete-title>span[lang="zh-Hant"]{word-break:keep-all;overflow-wrap:normal}
.round-result-counts{display:flex;justify-content:center;gap:8px 18px;flex-wrap:wrap}
.round-result-counts>span{display:inline-block}
.round-complete-dialog .round-review{color:#ffa1aa;font-weight:750}
html.theme-day .round-complete-dialog .round-review{color:#b73746}
.card-stage .flashcard{touch-action:pan-y pinch-zoom;transition:transform .2s ease-out,box-shadow .16s ease;cursor:grab}
.card-stage .flashcard.is-dragging{transition:none!important;will-change:transform;cursor:grabbing}
.card-stage .flashcard.is-swiping{pointer-events:none;will-change:transform,opacity}
.flashcard[data-swipe="green"]{box-shadow:0 0 0 3px #4aad78,0 18px 40px #245f3633}
.flashcard[data-swipe="red"]{box-shadow:0 0 0 3px #d47783,0 18px 40px #823c4933}
.flashcard[data-swipe]::after{position:absolute;top:14px;right:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:26px;font-weight:800;background:#fff}
.flashcard[data-swipe="green"]::after{content:'✓';color:#18734b}
.flashcard[data-swipe="red"]::after{content:'×';color:#b73746}
@media(max-width:700px){
 .study-workspace .study-stat-grid{gap:9px}
 .study-workspace .study-stat-grid>div{padding:12px!important}
 .study-workspace .grade-controls{max-width:440px;margin:18px auto 26px!important}
 .study-workspace .grade-controls>button{border-radius:20px!important}
 .study-workspace .study-side{position:static;max-height:none;overflow:visible}
 .round-complete-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){.card-stage .flashcard-back-card{transition:none!important}}
/* Keep the two square action targets usable even when card reading text is 5×. */
.study-workspace .grade-controls .pro-zh{font-size:min(calc(var(--font-px,16) * 1px * var(--learning-scale,1)),clamp(16px,4.5vw,20px))!important;line-height:1.3}
.study-workspace .grade-controls .pro-en{font-size:min(calc(var(--font-px,13) * 1px * var(--learning-scale,1)),clamp(14px,4vw,18px))!important;line-height:1.3}
.round-complete-dialog #round-complete-title>span[lang="en"]{font-size:min(calc(var(--font-px,29) * 1px * var(--learning-scale,1)),7.5vw,52px)!important;white-space:nowrap}
.round-complete-dialog #round-complete-title>span[lang="zh-Hant"]{font-size:min(calc(var(--font-px,29) * 1px * var(--learning-scale,1)),14vw,100px)!important;white-space:nowrap}
.study-timer-paused{display:none;font-size:12px!important;font-weight:600;color:var(--muted);margin-top:4px}
.study-stat-grid[data-timer-paused="true"] .study-timer-paused{display:block}
/* Keep mobile navigation compact; exercise reading text retains its full scale. */
@media(max-width:600px){
 .app-header,html.theme-day .app-header{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:6px 8px;padding:8px 12px!important;align-items:center}
 .app-header>.wordmark{grid-column:1;grid-row:1;display:flex;flex-wrap:nowrap;gap:6px;min-width:0;font-size:12px}
 .app-header>.wordmark>svg{display:none}
 .app-header .wordmark>span{white-space:nowrap}
 .app-header .wordmark .language-switch{flex:1;min-width:0;max-width:142px;width:100px;font-size:12px;min-height:40px;margin:0;padding:6px 18px 6px 6px}
 .app-header>.professional-theme-toggle{grid-column:2;grid-row:1;position:static;width:40px;height:40px;min-width:0;min-height:0;margin:0;padding:8px;justify-content:center}
 .app-header>.professional-theme-toggle>span{display:none}
 .app-header>.header-actions{grid-column:1/-1;grid-row:2;gap:6px;min-width:0;justify-content:flex-end}
 .app-header>.header-actions:has(.save-state){display:grid;grid-template-columns:minmax(0,1fr) auto auto}
 .app-header .save-state{font-size:10px;line-height:1.3;overflow-wrap:anywhere}
 .app-header .header-actions>button{font-size:12px;min-height:40px;padding:7px 8px;gap:4px}
 .app-header .professional-sound-toggle{box-shadow:0 2px 5px #163d2015}
 .app-header .learning-font-control{font-size:12px!important;padding:0;gap:4px}
 .app-header .learning-font-control select{font-size:12px!important;min-width:70px;padding:6px}
 .app-header .learning-sync:empty{display:none}
 .study-workspace{padding-top:14px!important}
 .study-workspace>.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;margin:0 0 10px}
 .study-workspace>.section-heading .eyebrow{display:block;font-size:11px!important;letter-spacing:.06em;margin:0 0 5px}
 .study-workspace>.section-heading h1{margin:0;line-height:1.2}
 .study-workspace>.section-heading h1,.study-workspace>.section-heading .bilingual-title,.study-workspace>.section-heading .bilingual-title__primary{font-size:min(calc(22px * var(--learning-scale,1)),28px)!important;line-height:1.25}
 .study-workspace>.section-heading .bilingual-title__secondary{font-size:min(calc(13px * var(--learning-scale,1)),17px)!important;line-height:1.3;margin-top:4px}
 .study-workspace .study-totals{gap:8px;padding-top:22px}
 .study-workspace .study-totals>span{font-size:13px!important;gap:3px;white-space:nowrap}
 .study-workspace .study-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin:10px 0}
 .study-workspace .study-toolbar>button{font-size:13px!important;min-height:40px;padding:8px}
 .study-workspace .study-toolbar .learning-font-control{display:flex;align-items:flex-end;flex-direction:column;gap:3px;padding:0;font-size:12px!important;line-height:1.3}
 .study-workspace .study-toolbar .learning-font-control select{font-size:14px!important;min-width:104px;width:auto;min-height:36px;padding:5px 8px}
 .study-workspace .study-toolbar>.learning-sync{grid-column:1/-1;margin:0;min-height:0}
 .study-workspace .study-toolbar>.learning-sync:empty{display:none}
 .study-workspace .study-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:10px 0}
 .study-workspace .study-stat-grid>div{font-size:min(calc(12px * var(--learning-scale,1)),16px)!important;padding:8px!important;line-height:1.4;border-radius:12px}
 .study-workspace .study-stat-grid>div:nth-child(1){grid-column:1/3;grid-row:1}
 .study-workspace .study-stat-grid>div:nth-child(2){grid-column:3/5;grid-row:1}
 .study-workspace .study-stat-grid>div:nth-child(5){grid-column:5/7;grid-row:1}
 .study-workspace .study-stat-grid>div:nth-child(3){grid-column:1/4;grid-row:2}
 .study-workspace .study-stat-grid>div:nth-child(4){grid-column:4/7;grid-row:2}
 .study-workspace .learning-progress-widget{margin:12px 0}
 .study-workspace .learning-progress-widget p{font-size:12px!important;margin:5px 0}
 .pro-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-bottom:12px}
 .pro-page-header>a{grid-column:1;grid-row:1;font-size:13px!important}
 .pro-page-header>button{grid-column:2;grid-row:1;font-size:12px!important;padding:8px!important;min-height:40px}
 .pro-page-header .learning-font-control{grid-column:1/-1;grid-row:2;padding:0;font-size:12px!important;gap:6px}
 .pro-page-header .learning-font-control select{font-size:14px!important;padding:6px;min-height:36px}
 .pro-page-header .learning-sync{grid-column:1/-1;min-height:0}
 .pro-page-header .learning-sync:empty{display:none}
 .pro-page-intro{padding-top:16px!important}
 .pro-page-intro h1{font-size:min(calc(24px * var(--learning-scale,1)),32px)!important;line-height:1.25}
 .pro-page-intro>p{font-size:min(calc(13px * var(--learning-scale,1)),17px)!important;line-height:1.4}
 .pro-page-intro .pro-eyebrow{font-size:10px!important;letter-spacing:.06em}
}
/* Keep progress visible while reading a long card or conversation. */
.learning-progress-widget,.poly-word-progress{position:sticky;top:8px;z-index:12;padding:12px 16px;border:1px solid #739b7d;border-radius:14px;background:#15291f;box-shadow:0 4px 16px #0002}
html.theme-day .learning-progress-widget,html.theme-day .poly-word-progress{background:#fffef1;border-color:#72967b}
.learning-progress-track,.learning-progress-widget .study-progress{height:18px!important;border:1px solid #80a78b!important;background:#91a89955!important}
.learning-progress-widget p,.poly-word-progress label{font-size:14px!important;line-height:1.4!important;margin:5px 0!important}
.poly-word-progress progress,.poly-lesson-progress{height:18px!important;border:1px solid #80a78b!important}
.card-stage .flashcard,.pro-turn,.poly-question{scroll-margin-top:105px}
.card-auto-audio[aria-pressed="true"]{background:#216d49!important;color:white!important;border-color:#85bf8a!important}
@media(max-width:600px){.learning-progress-widget,.poly-word-progress{top:4px;padding:9px 12px}.app-header .card-auto-audio{font-size:12px!important;min-height:36px}}

/* Clip horizontal overscroll without creating an unscrollable sticky ancestor. */
html,body,#root{overflow-x:clip;overflow-y:visible}
