/* One visible screen, including browser controls and device safe areas. */
html,body{height:100%;height:var(--visible-height,100dvh);overflow:hidden}
body{display:flex;flex-direction:column}
.site-header{position:relative;flex:0 0 auto}
.site-header .home-header{padding-top:6px;padding-bottom:6px}
.site-header .home-brand img{width:40px;height:40px}
#app{flex:1;min-height:0;height:var(--page-height);position:relative}
#app>.fit-game{height:100%;min-height:0;max-height:100%;padding:8px 14px max(8px,env(safe-area-inset-bottom));margin:auto;width:100%;box-sizing:border-box}
.fit-game .back{width:38px;height:38px}
.fit-game .page-title{font-size:18px}
.fit-game .sound-error{font-size:14px}
/* Cards use the space left after controls, in either orientation. */
.memory-shell.fit-game,.hanja-memory-shell.fit-game{display:flex;flex-direction:column;gap:8px;max-width:1000px}
.fit-game .memory-intro{margin:0;flex:none}
.fit-game .memory-intro .topic-label{margin:0;font-size:16px}
.fit-game .memory-status{margin:4px 0 0;font-size:16px}
.fit-game .memory-grid,.fit-game .hanja-memory-grid{flex:1;min-height:0;display:grid;gap:8px;padding-bottom:4px;grid-auto-rows:minmax(0,1fr)}
.fit-game .memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr))}
.fit-game .hanja-memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.fit-game .memory-card{min-height:0;height:100%;padding:5px 7px;font-size:clamp(17px,3vw,26px);border-width:3px;line-height:1.2}
.fit-game .memory-card.is-open{font-size:clamp(16px,2.4vw,24px)}
.fit-game .memory-finish{flex:none;padding:2px 0;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.fit-game .memory-finish h2{font-size:18px;margin:0}
.fit-game .memory-reward,.fit-game .memory-finish p{font-size:16px;margin:0}
.fit-game .memory-finish .next,.fit-game .memory-finish .secondary{width:auto;min-height:42px;padding:8px 12px;font-size:16px;margin:0}
/* English quiz */
.quiz-shell.fit-game{gap:8px;max-width:960px;display:flex;flex-direction:column}
.fit-game .quiz-head{flex:none;min-height:36px}
.fit-game .qcount{padding:6px 9px;font-size:15px}
.fit-game .question-meta{margin:0;gap:5px;font-size:14px;flex:none}
.fit-game .quiz-stage-actions{flex-direction:row;align-items:center;gap:5px}
.fit-game .quiz-restart{min-height:36px;padding:5px 8px;font-size:14px}
.fit-game .question-meta>span:first-child{padding:4px 8px}
.fit-game .quiz-card{flex:1;min-height:0;max-height:none;margin:0;padding:12px;gap:12px;border-radius:24px}
.fit-game .quiz-card h1{font-size:clamp(23px,4.5vw,34px);line-height:1.2}
.fit-game .listen{min-height:40px;padding:7px 10px;font-size:14px}
.fit-game .listen-row{gap:6px}
.fit-game .answers{gap:8px;flex:none}
.fit-game .answer{min-height:54px;padding:8px 12px;font-size:18px;border-radius:18px;line-height:1.25}
.fit-game .answer .letter{min-width:30px;width:30px;height:30px;font-size:18px}
.fit-game .feedback-slot{margin:0;min-height:44px;flex:none;gap:4px}
.fit-game .feedback{font-size:15px}
.fit-game .feedback-slot .next{min-height:40px;font-size:16px}
/* Hanja prompt and explanation */
.hanja-quiz.fit-game{display:flex;flex-direction:column;gap:7px;max-width:960px}
.fit-game .hanja-quiz-top{min-height:36px;flex:none}
.fit-game .hanja-progress{margin:0;flex:none}
.fit-game .hanja-progress i{height:6px}
.fit-game .hanja-restart-row{margin:0;flex:none}
.fit-game .hanja-prompt{flex:1;min-height:0;padding:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:24px}
.fit-game .hanja-question-char{font-size:clamp(48px,10dvh,88px);line-height:1.05;margin:0}
.fit-game .hanja-prompt .hanja-fill{font-size:25px;margin:0}
.fit-game .hanja-blank{min-height:30px;min-width:32px}
.fit-game .hanja-prompt p{margin:0!important;font-size:16px}
.fit-game .hanja-options{margin:0;gap:10px;flex:none}
.fit-game .hanja-answer{min-height:56px;font-size:30px}
.fit-game .hanja-option-sound{min-height:44px}
.fit-game .hanja-reveal{margin:0;padding:8px;flex:none;border-radius:20px}
.fit-game .hanja-example{padding:5px 8px}
.fit-game .hanja-example h3{font-size:20px;margin:0 0 4px}
.fit-game .hanja-example p{font-size:16px;line-height:1.35;margin:3px 0}
.fit-game .hanja-example .hanja-parts{font-size:14px}
.fit-game .hanja-reveal .listen{margin:6px auto 0}
.fit-game .hanja-next{margin:0;min-height:40px;font-size:16px;flex:none}
.hanja-quiz:has(.hanja-reveal) .hanja-options{display:none}
.tree-shell.fit-game{padding:0 8px 8px}
.fit-game #tree-stage{min-height:0}
.fit-game .tree-top{padding:5px 4px}
.fit-game .tree-tray{padding:8px}
.fit-game .tree-tray-title{margin-bottom:5px}
.fit-game .tree-star-choice{padding:5px 2px}
/* Long collections become horizontal pages, with explicit navigation. */
.screen-page-window{height:calc(100% - 52px);margin:0 auto;max-width:1040px;width:calc(100% - 24px);overflow:hidden;padding:0}
.screen-pages.shell{height:100%;width:100%;max-width:none;min-height:0;padding:8px 0!important;margin:0;column-gap:24px;column-fill:auto;column-count:auto}
.screen-pages>*,.screen-pages .topic,.screen-pages .stage,.screen-pages .sticker,.screen-pages .hanja-chapter,.screen-pages .vocabulary-entry,.screen-pages .student-card{break-inside:avoid}
.screen-pages>.topic-grid,.screen-pages>.sticker-grid,.screen-pages>.hanja-chapters,.screen-pages>.vocabulary-list,.screen-pages>.student-grid,.screen-pages>.hanja-admin-progress,.screen-pages>.stages,.screen-pages>.complete,.screen-pages>.hanja-sources{break-inside:auto}
.screen-pager{height:48px;display:flex;align-items:center;justify-content:center;gap:20px}
.screen-pager button{min-width:80px;min-height:40px;border:2px solid white;border-radius:14px;background:#deefff;color:#345b70;font-size:16px;font-weight:800}
.screen-pager button:disabled{opacity:.4}
.screen-pager output{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.screen-pages .subject-tabs{margin:0 0 10px;padding:4px}
.screen-pages .subject-tabs button{min-height:40px;font-size:20px}
.screen-pages .daily-panel{padding:12px;margin:10px 0}
.screen-pages .daily-slots{margin:10px 0 0;gap:10px}
.screen-pages .daily-topic-card{gap:6px;padding:8px}
.screen-pages .daily-topic-start{gap:5px;padding:0}
.screen-pages .daily-memory{min-height:40px;padding:7px 5px}
.screen-pages .daily-song{margin:14px 0}
.screen-pages .daily-song h2{margin-bottom:8px;font-size:21px}
.screen-pages .daily-song-card{padding:10px;gap:8px;border-radius:20px}
.screen-pages .daily-song-card strong{font-size:18px}
.screen-pages .daily-song-card small{font-size:14px}
.screen-pages .daily-song-card>.daily-stars{flex-basis:auto}
.screen-pages .daily-song-group>.daily-memory{margin-top:7px}
.screen-pages .home-review-action{margin-top:12px}
.screen-pages .secondary{padding:10px;min-height:42px;font-size:16px}
.screen-pages .hanja-heading{margin:8px 0 12px;font-size:24px}
.screen-pages .hanja-chapters{grid-template-columns:1fr 1fr;gap:12px;padding-bottom:8px}
.screen-pages .hanja-chapter{padding:12px;border-radius:22px}
.screen-pages .hanja-chapter h2{font-size:18px;margin:8px 0}
.screen-pages .hanja-phrase{font-size:21px;line-height:1.5}
.screen-pages .hanja-day-label{margin:8px 0;font-size:14px}
.screen-pages .hanja-chapter .next{min-height:40px;font-size:16px}
.screen-pages .hanja-memory-start{margin-top:8px;font-size:15px}
.screen-pages .sub-hero{padding:12px 0}
.screen-pages .big-topic-icon{width:56px;height:56px;font-size:32px;border-radius:18px;margin-bottom:8px}
.screen-pages .sub-hero h1{font-size:24px}
.screen-pages .stage{padding:12px 10px;min-height:0;border-radius:22px}
.screen-pages .stage-number{width:36px;height:36px;margin-bottom:8px;font-size:23px}
.screen-pages .stage strong{font-size:18px}
.screen-pages .stages{gap:14px 12px}
.screen-pages .memory-entrance{margin:12px 0;padding:12px}
.screen-pages .complete{padding:10px 0}
.screen-pages .complete>img{height:85px;width:90px}
.screen-pages .complete h1{font-size:25px;margin:5px 0}
.screen-pages .reward{margin:12px auto;padding:12px}
.screen-pages .reward-icon{font-size:42px;margin-bottom:4px}
.screen-pages .complete-actions{gap:8px}
.screen-pages .vocabulary-entry{padding:12px;margin-bottom:12px}
.screen-pages .vocabulary-examples{margin-top:10px}
.screen-pages .vocabulary-examples li{padding:8px 0}
@media(orientation:landscape){
 .site-header .home-header{padding-top:3px;padding-bottom:3px}
 .site-header .home-brand img{width:34px;height:34px}
 #app>.fit-game{padding:6px 12px;gap:6px}
 .fit-game .memory-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
 .fit-game .memory-intro{display:flex;align-items:center;justify-content:center;gap:18px}
 .fit-game .memory-status{margin:0}
 .quiz-shell.fit-game{display:grid;grid-template-columns:1fr 1.1fr;grid-template-rows:36px 38px minmax(0,1fr) auto;gap:6px 14px}
 .fit-game .quiz-head{grid-column:1/-1;grid-row:1}
 .fit-game .question-meta{grid-column:1/-1;grid-row:2}
 .fit-game .quiz-card{grid-column:1;grid-row:3/5}
 .fit-game .answers{grid-column:2;grid-row:3;grid-template-rows:repeat(3,minmax(0,1fr));gap:6px;min-height:0}
 .fit-game .answer{min-height:0;font-size:16px;padding:5px 8px;gap:8px;box-shadow:0 3px 0 #abcce6}
 .fit-game .feedback-slot{grid-column:2;grid-row:4;min-height:0}
 .fit-game .feedback-slot:empty{height:0}
 .fit-game .quiz-card h1{font-size:clamp(22px,3vw,32px)}
 .hanja-quiz.fit-game{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:36px 6px 36px minmax(0,1fr) auto;gap:6px 14px}
 .fit-game .hanja-quiz-top{grid-column:1/-1;grid-row:1}
 .fit-game .hanja-progress{grid-column:1/-1;grid-row:2}
 .fit-game .hanja-prompt{grid-column:1;grid-row:3/6}
 .fit-game .hanja-restart-row{grid-column:2;grid-row:3}
 .fit-game .hanja-options,.fit-game .hanja-reveal{grid-column:2;grid-row:4;align-self:center;min-height:0}
 .fit-game .hanja-reveal{align-self:stretch;display:flex;align-items:center;gap:6px}
 .fit-game .hanja-example{flex:1;min-width:0}
 .fit-game .hanja-reveal .listen{flex:none;font-size:13px;padding:5px;min-height:40px;margin:0}
 .fit-game .hanja-reveal .listen svg{display:none}
 .fit-game .hanja-next,.fit-game.hanja-quiz>.feedback,.fit-game.hanja-quiz>.sound-error{grid-column:2;grid-row:5}
 .fit-game .hanja-question-char{font-size:clamp(44px,16dvh,88px)}
 .screen-pages .hanja-chapters{grid-template-columns:repeat(4,minmax(0,1fr))}
 .screen-pages .topic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .screen-pages .sub-hero{padding:6px 0;display:flex;align-items:center;justify-content:center;gap:12px}
 .screen-pages .sub-hero .big-topic-icon{margin:0}
 .screen-pages .stages{grid-template-columns:repeat(4,minmax(0,1fr))}
 .screen-pages .vocabulary-entry{display:grid;grid-template-columns:.7fr 1.3fr;gap:15px}
 .screen-pages .vocabulary-entry header{align-self:center}
 .screen-pages .vocabulary-examples{margin:0}
 .tree-shell.fit-game{display:grid;grid-template-columns:1fr 200px;grid-template-rows:44px minmax(0,1fr);gap:6px}
 .fit-game .tree-top{grid-column:1/-1}
 .fit-game #tree-stage{grid-column:1;grid-row:2}
 .fit-game .tree-tray{grid-column:2;grid-row:2;align-self:center;max-height:100%}
 .fit-game #tree-palette{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fit-game .tree-tray-title{flex-direction:column;gap:3px}
}
@media(orientation:landscape){
 .screen-pages.home-screen{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:44px minmax(0,1fr) 42px;gap:8px 14px}
 .screen-pages.home-screen .subject-tabs{grid-column:1/-1;grid-row:1;margin:0;padding:1px}
 .screen-pages.home-screen .subject-tabs button{min-height:34px}
 .screen-pages.home-screen .daily-panel{grid-column:1;grid-row:2/4;margin:0;padding:8px}
 .screen-pages.home-screen .daily-heading h2{font-size:19px}
 .screen-pages.home-screen .daily-slots{margin-top:6px;gap:8px}
 .screen-pages.home-screen .daily-topic-card{padding:5px;gap:4px}
 .screen-pages.home-screen .daily-topic-icon{font-size:24px}
 .screen-pages.home-screen .daily-topic-start{gap:3px}
 .screen-pages.home-screen .daily-topic-start strong{font-size:16px}
 .screen-pages.home-screen .daily-song{grid-column:2;grid-row:2;margin:0}
 .screen-pages.home-screen .daily-song h2{font-size:19px;margin-bottom:5px}
 .screen-pages.home-screen .daily-song-card{padding:6px;flex-wrap:nowrap}
 .screen-pages.home-screen .daily-song-card strong{font-size:16px}
 .screen-pages.home-screen .daily-song-card small{font-size:14px}
 .screen-pages.home-screen .daily-song-card .daily-stars{flex-wrap:wrap;max-width:54px;gap:3px}
 .screen-pages.home-screen .daily-song-group>.daily-memory{margin-top:6px}
 .screen-pages.home-screen .home-review-action{grid-column:2;grid-row:3;margin:0}
 .screen-pages.home-screen>.resume{grid-column:1;grid-row:4;margin:0;min-height:40px}
 .screen-pages.home-screen:has(>.resume){grid-template-rows:44px minmax(0,1fr) 42px 42px}
}
.screen-page-window.single-page{height:100%}
.screen-pager[hidden]{display:none}
@media(orientation:landscape){
 .hanja-quiz.fit-game{grid-template-rows:36px 6px 36px minmax(0,1fr) auto auto}
 .fit-game.hanja-quiz>.sound-error{grid-column:1/-1;grid-row:6}
 .fit-game .day-rollover{grid-column:1/-1;grid-row:5;margin:0;font-size:14px}
}
@media(orientation:landscape){
 .quiz-shell.fit-game{grid-template-rows:38px minmax(0,1fr) auto}
 .fit-game .quiz-head{grid-column:1;grid-row:1;gap:6px}
 .fit-game .question-meta{grid-column:2;grid-row:1}
 .fit-game .quiz-stage-actions>span{font-size:12px}
 .fit-game .quiz-card{grid-column:1;grid-row:2/4}
 .fit-game .answers{grid-column:2;grid-row:2}
 .fit-game .feedback-slot{grid-column:2;grid-row:3}
 .fit-game .feedback-slot:has(.next) .feedback{display:none}
 .fit-game .day-rollover{grid-row:4}
}
/* A small, square star counter beside the matching tree button. */
.site-header .header-icon{width:44px;height:44px;min-width:44px}
.site-header .header-icon.stickers-icon{flex-direction:column;gap:1px;padding:3px;min-width:44px;width:44px;height:44px}
.site-header .stickers-icon .soft-star{width:21px;height:21px;flex:none}
.site-header .header-gold-count{font-size:10px;line-height:11px;font-weight:800}
/* Meanings stay on the word's row, hidden until tapped. */
.vocabulary-entry header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vocabulary-entry .vocabulary-word{min-width:0}
.vocabulary-entry .vocabulary-meaning{flex:0 0 auto;max-width:48%;min-width:76px;min-height:44px;margin:0 0 0 auto;padding:6px 10px;border:2px dashed #c7dedf;border-radius:12px;background:#eaf5f7;color:#456575;font-size:18px;text-align:center;overflow-wrap:anywhere}
.vocabulary-meaning[aria-expanded=true]{border-style:solid;background:#f5faf7}
/* Exploration cards form one continuous swipe strip, with a next-card peek. */
.topic-shell.fit-game{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;max-width:1040px}
.topic-shell .topic-overview{min-height:0;text-align:center}
.topic-shell .sub-hero{padding:6px 0;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.topic-shell .big-topic-icon{width:48px;height:48px;font-size:30px;border-radius:16px;margin:0}
.topic-shell .sub-hero h1{font-size:25px}
.topic-shell .sub-hero .song-title{flex-basis:100%;margin:0;font-size:13px}
.topic-shell .daily-state{margin:2px 0;font-size:15px}
.topic-shell .stage-slider{display:flex;gap:16px;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 2px 10px;touch-action:pan-x}
.stage-slider::-webkit-scrollbar{display:none}
.topic-shell .stage{flex:0 0 76%;min-width:0;min-height:0;scroll-snap-align:start;scroll-snap-stop:always;padding:clamp(10px,3dvh,24px) 14px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:12px;border-radius:24px}
.topic-shell .stage-number{width:44px;height:44px;font-size:26px;margin:0 auto;flex:none}
.topic-shell .stage strong{text-align:center;font-size:22px}
.topic-shell .vocabulary-open{margin:0;min-height:44px;padding:8px;font-size:16px}
.topic-shell .stage-start{margin:0;padding:8px 0;min-height:44px;font-size:16px}
.topic-shell .stage-restart{margin:0;min-height:36px;font-size:15px;padding:4px}
.topic-shell .memory-entrance{margin:0;padding:0;background:none;border:0;box-shadow:none}
.topic-shell .memory-entrance h2{display:none}
.topic-shell .memory-entrance .next{width:100%;min-height:44px;padding:8px 12px;font-size:16px}
.topic-shell .carol-panel{margin:4px 0;padding:4px;display:flex;align-items:center;justify-content:center;gap:8px}
.topic-shell .carol-panel h2,.topic-shell .carol-icon{display:none}
.topic-shell .carol-panel .listen{min-height:36px;font-size:14px;padding:5px 10px}
.topic-shell #carol-status:empty{display:none}
@media(min-width:600px){.topic-shell .stage{flex-basis:43%}}
@media(min-width:1000px){.topic-shell .stage{flex-basis:30%}}
@media(orientation:landscape){
 .screen-pages .vocabulary-entry{display:block}
 .screen-pages .vocabulary-examples{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:8px}
 .screen-pages .vocabulary-examples li{margin-top:0}
 .topic-shell.fit-game{grid-template-columns:180px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:8px 14px}
 .topic-shell>.topbar{grid-column:1/-1}
 .topic-shell .topic-overview{grid-column:1;grid-row:2;align-self:center}
 .topic-shell .sub-hero{flex-direction:column;gap:6px}
 .topic-shell .sub-hero h1{font-size:21px}
 .topic-shell .stage-slider{grid-column:2;grid-row:2/4}
 .topic-shell .memory-entrance{grid-column:1;grid-row:3}
 .topic-shell .memory-entrance .next{font-size:14px;padding:6px}
 .topic-shell .stage{flex-basis:76%;padding:8px 12px;gap:6px}
 .topic-shell .stage-number{width:30px;height:30px;font-size:20px}
 .topic-shell .stage strong{font-size:19px}
 .topic-shell .vocabulary-open,.topic-shell .stage-start{min-height:36px;font-size:14px;padding:5px}
 .topic-shell .stage-restart{min-height:28px;font-size:13px;padding:2px}
}
@media(orientation:landscape) and (min-width:900px){.topic-shell .stage{flex-basis:43%}}
.topbar-balance{width:38px;flex:none}
.vocabulary-shell.fit-game{display:flex;flex-direction:column;gap:10px;max-width:1040px}
.vocabulary-shell.fit-game>.topbar,.vocabulary-shell.fit-game>.sub-hero{flex:none}
.vocabulary-shell.fit-game .sub-hero{padding:4px 0;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.vocabulary-shell.fit-game .vocabulary-book-icon{font-size:30px;margin:0}
.vocabulary-shell.fit-game .sub-hero h1{font-size:22px}
.vocabulary-shell.fit-game .topic-label{flex-basis:100%;margin:0;font-size:15px}
.vocabulary-shell.fit-game .vocabulary-list{display:flex;flex-direction:row;flex:1;min-height:0;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;padding:4px 2px 10px}
.vocabulary-list::-webkit-scrollbar{display:none}
.vocabulary-shell.fit-game .vocabulary-entry{flex:0 0 90%;min-width:0;margin:0;padding:16px;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;gap:12px}
.vocabulary-shell.fit-game .vocabulary-entry header{padding-bottom:10px}
.vocabulary-shell.fit-game .vocabulary-word{font-size:26px}
.vocabulary-shell.fit-game .vocabulary-examples{margin:0;padding-left:22px;display:flex;flex-direction:column;justify-content:space-evenly;flex:1;max-height:340px;gap:10px}
.vocabulary-shell.fit-game .vocabulary-examples li{margin:0;padding:0}
.vocabulary-shell.fit-game .vocabulary-sentence{font-size:19px;line-height:1.35}
.vocabulary-shell.fit-game .vocabulary-examples p{font-size:16px;line-height:1.4}
.vocabulary-shell.fit-game .vocabulary-start{flex:none;margin:0;min-height:44px;padding:8px;font-size:16px}
@media(orientation:landscape){
 .vocabulary-shell.fit-game{gap:6px}
 .vocabulary-shell.fit-game .sub-hero{padding:0}
 .vocabulary-shell.fit-game .topic-label{flex-basis:auto}
 .vocabulary-shell.fit-game .vocabulary-book-icon{font-size:22px}
 .vocabulary-shell.fit-game .sub-hero h1{font-size:18px}
 .vocabulary-shell.fit-game .vocabulary-entry{flex-basis:90%;padding:8px 14px;gap:4px}
 .vocabulary-shell.fit-game .vocabulary-entry header{padding-bottom:4px}
 .vocabulary-shell.fit-game .vocabulary-word{font-size:23px}
 .vocabulary-shell.fit-game .vocabulary-examples{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}
 .vocabulary-shell.fit-game .vocabulary-sentence{font-size:17px;min-height:32px;padding:0}
 .vocabulary-shell.fit-game .vocabulary-examples p{font-size:14px}
 .vocabulary-shell.fit-game .vocabulary-start{min-height:36px;padding:4px}
}
@media(min-width:1100px){.vocabulary-shell.fit-game .vocabulary-entry{flex-basis:60%}}
.home-screen.fit-game{display:flex;flex-direction:column;gap:10px;max-width:1040px}
.home-screen.fit-game .subject-tabs{margin:0;padding:3px;flex:none}
.home-screen.fit-game .subject-tabs button{min-height:40px;font-size:20px}
.home-screen.fit-game .daily-panel{padding:12px;margin:0;flex:1;min-height:0;display:flex;flex-direction:column}
.home-screen.fit-game .daily-heading h2{font-size:22px}
.home-screen.fit-game .daily-slots{margin-top:8px;gap:10px;flex:1;min-height:0}
.home-screen.fit-game .daily-topic-card{padding:8px;gap:6px;justify-content:center}
.home-screen.fit-game .daily-topic-start{padding:0;gap:6px}
.home-screen.fit-game .daily-topic-icon{font-size:36px}
.home-screen.fit-game .daily-topic-start strong{font-size:20px}
.home-screen.fit-game .daily-memory{min-height:40px;font-size:16px;padding:6px}
.home-screen.fit-game .daily-song{margin:0;flex:none}
.home-screen.fit-game .daily-song h2{font-size:21px;margin-bottom:6px}
.home-screen.fit-game .daily-song-card{padding:10px;gap:8px;border-radius:20px}
.home-screen.fit-game .daily-song-card strong{font-size:18px}
.home-screen.fit-game .daily-song-card small{font-size:13px}
.home-screen.fit-game .daily-song-card>.daily-stars{flex-basis:auto}
.home-screen.fit-game .daily-song-group>.daily-memory{margin-top:6px}
.home-screen.fit-game .home-review-action{margin:0;flex:none}
.home-screen.fit-game .home-review-action .secondary{min-height:40px;padding:6px;font-size:16px}
@media(orientation:landscape){
 .home-screen.fit-game{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:40px minmax(0,1fr) 36px;gap:6px 12px}
 .home-screen.fit-game .subject-tabs{grid-column:1/-1;grid-row:1}
 .home-screen.fit-game .subject-tabs button{min-height:30px}
 .home-screen.fit-game .daily-panel{grid-column:1;grid-row:2/4;padding:8px}
 .home-screen.fit-game .daily-heading h2,.home-screen.fit-game .daily-song h2{font-size:18px}
 .home-screen.fit-game .daily-topic-card{padding:4px;gap:4px}
 .home-screen.fit-game .daily-topic-start{gap:2px}
 .home-screen.fit-game .daily-topic-icon{font-size:24px}
 .home-screen.fit-game .daily-topic-start strong{font-size:16px}
 .home-screen.fit-game .daily-memory{min-height:32px;padding:4px;font-size:14px}
 .home-screen.fit-game .daily-song{grid-column:2;grid-row:2;align-self:center}
 .home-screen.fit-game .daily-song-card{padding:6px;flex-wrap:nowrap}
 .home-screen.fit-game .daily-song-card .daily-stars{flex-wrap:wrap;max-width:54px;gap:3px}
 .home-screen.fit-game .home-review-action{grid-column:2;grid-row:3}
 .home-screen.fit-game .home-review-action .secondary{min-height:32px}
}

.hanja-chapter-readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 6px;margin:12px 0;color:#35586b;font-size:clamp(14px,3.5vw,19px);font-weight:800;line-height:1.5}
.hanja-chapter-readings>span{white-space:nowrap;text-align:center}
