/* Elementary-school reading sizes. Loaded after the individual screen themes. */
body{font-size:20px;line-height:1.6}
button,input,select{font-size:20px;line-height:1.35}
button{min-height:48px}
button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #ffcc59;outline-offset:4px}
p{overflow-wrap:anywhere}
.dialog-shade{z-index:200}
body:has(#modalRoot .dialog) #toast{visibility:hidden}
.dialog{width:min(760px,calc(100vw - 32px));max-height:90dvh;padding:40px 44px 54px}
.dialog h2{font-size:36px!important;line-height:1.35;font-weight:700}
.dialog h3{font-size:27px!important;line-height:1.4}
.dialog p,.dialog .guide-line p,.dialog .clue-box,.dialog .mission-list,.dialog label{font-size:22px!important;line-height:1.75!important;color:#173c43}
.dialog small,.dialog .form-note,.dialog .source-link,.dialog .eyebrow{font-size:17px!important;line-height:1.6!important;letter-spacing:.04em}
.dialog button,.dialog input,.dialog select{font-size:22px!important;min-height:52px}
.dialog>p,.dialog .guide-line,.dialog .clue-box,.dialog .completed-page,.dialog .restored-sheet,.dialog .record-checklist{background:#fff9eaf2;border-radius:8px;padding:14px 18px;color:#173c43}
.dialog .guide-line>span{font-size:19px;white-space:normal}
.dialog h2,.dialog>h3{background:#fff9eadb;padding:8px 10px;border-radius:6px}
.dialog .eyebrow{display:inline-block;background:#fff9eaf2;color:#735521;padding:5px 10px;border-radius:5px}
.dialog .close{width:44px;height:44px;min-height:44px;font-size:30px!important;right:12px;top:12px;z-index:2}
.dialog.conversation{width:min(960px,calc(100vw - 28px));padding:24px 34px 30px}
.conversation .guide-line{margin:12px 0}
.profile .portrait-row button>span:last-child{font-size:24px;font-weight:800}
.evidence-card small{font-size:17px!important}.evidence-card strong{font-size:26px!important}.evidence-card span{font-size:20px!important;line-height:1.65}
.page-slot p{font-size:21px!important}.page-slot button{font-size:20px!important}.page-slot strong{font-size:26px}
.journal-card p,.collected-records p{font-size:20px!important}.badge{font-size:17px!important}
#quest,.in-library #quest{width:370px;padding:22px 26px 30px;background:#fff4d8 url('./assets/chapter-one/hanji-panel.webp') 50% 40%/150% 150% no-repeat;border:2px solid #a98d53;border-radius:12px}
#quest h2{font-size:30px!important;line-height:1.35;font-weight:800;margin:8px 0 12px}
#quest p,.in-library #quest p{font-size:21px!important;line-height:1.6!important;color:#173c43}
#quest .eyebrow{font-size:16px!important;letter-spacing:.08em;color:#735521}
#questCount,.in-library #questCount{font-size:18px!important;color:#4c482d}
#quest .progress{height:7px}
#quest h2,#quest p{word-break:keep-all;overflow-wrap:break-word}
#quest p{background:#fff8e9e8;border-radius:6px;padding:8px 10px}
.chapter-pill,#worldCompass{font-size:17px!important}#libraryZoomControls span{font-size:17px!important}
#exploreHint{font-size:21px!important;line-height:1.55;padding:14px 22px;bottom:100px;max-width:min(900px,calc(100vw - 32px));background:#123a48f5;color:#fff6db}
#toast{font-size:22px;line-height:1.6;background:#123a48f5;border:2px solid #efca7b;padding:14px 24px;top:82px;max-width:min(900px,calc(100vw - 28px))}
#chapterTrail{font-size:17px!important;gap:14px;left:440px;right:28px;transform:none;max-width:calc(100vw - 468px);overflow-x:auto;padding:10px 16px}
#chapterTrail b{width:28px;height:28px;flex-shrink:0;font-size:16px}
#chapterTrail span{flex-shrink:0}
#controls{font-size:18px;gap:14px}kbd{font-size:16px!important}
#interactBtn,#islandViewBtn,.touch-actions button,#touchAction{font-size:20px!important;min-height:52px}
#party .party-player{font-size:18px;padding:8px 12px}
#connection{font-size:15px;color:#ecf3df;background:#143844d9;border-radius:5px;padding:3px 7px}
#map small,.map-heading,#mapView{font-size:16px!important}.mini-island{font-size:17px}
.brand{font-size:18px}.brand small{font-size:14px}
.header-tools button{min-width:46px;min-height:46px;font-size:19px}
.nature-hud-button{font-size:19px!important}
.nature-observe{font-size:20px!important;min-height:52px}
.nature-note,.nature-care p,.nature-detail p{font-size:21px!important}
.nature-card b{font-size:24px}.nature-card small,.nature-card>span{font-size:18px;letter-spacing:0}
.sight-header h2{font-size:34px!important}.sight-header span,.sight-controls label{font-size:19px!important}
.sight-header p,.sight-controls p{font-size:22px!important}.sight-controls small{font-size:17px!important}
.sight-controls input[type=range]{height:38px}
.landing .subtitle,.landing-note,.dream-title .subtitle{font-size:23px!important;line-height:1.7}
.landing .tag,.landing .overline,.landing-bottom,.title-top{font-size:17px!important;letter-spacing:.03em}
.landing .actions button{font-size:24px!important;min-height:58px}
.landing-bottom button,.landing-bottom a,.kit-footer,.kit-footer a{font-size:17px!important}
.kit-usage,.kit-usage-detail,.kit-news,.kit-ver{font-size:18px!important}
.comic-narration p,.comic-bubble,.story p,.cinema-bottom p{font-size:25px!important;line-height:1.65}
.comic-navigation button,.comic-top button,#skipArrival,.story button{font-size:21px!important}
.comic-place,.comic-top span,.comic-navigation>span,.cinema-bottom .eyebrow{font-size:17px!important}
.world-puzzle-hud header{gap:18px}.world-puzzle-hud header>div{max-width:620px}
.world-puzzle-hud h2{font-size:32px!important}.world-puzzle-hud p{font-size:21px!important;line-height:1.6}
.world-puzzle-hud small,.world-puzzle-copy span,.world-puzzle-copy small{font-size:17px!important;line-height:1.5}
.world-puzzle-hud button{font-size:20px!important;min-height:52px;padding:12px 16px}
.world-puzzle-copy{max-width:510px}
.world-puzzle-hud:after{display:none}
.raft-choices{top:175px;gap:8px;background:#173d4bec;padding:7px;border-radius:10px}
.puzzle-preview-menu section{width:min(640px,100%)}.puzzle-preview-menu p{font-size:22px}.puzzle-preview-menu h1{font-size:34px}.puzzle-preview-menu small,.puzzle-preview-menu a{font-size:18px}
.puzzle-preview-menu .preview-types button{font-size:20px!important}
.field-signal{font-size:23px}
.battle-dialogue p,.battle-announcement,.battle-hints{font-size:23px!important;line-height:1.6}
.battle-dialogue small,.battle-brand,.battle-stats span{font-size:18px!important}
.battle-actions button,.battle-pause,.battle-cutscene button,.battle-overlay button{font-size:21px!important;min-height:52px}
.battle-overlay h2{font-size:36px}.battle-overlay p{font-size:23px}
.finale p,.finale-dialogue p,.finale-copy p{font-size:24px!important;line-height:1.75}
.finale button{font-size:22px!important;min-height:52px}.finale small{font-size:18px!important}
@media(max-width:800px){
 body{font-size:19px}
 .dialog{padding:38px 24px 38px}.dialog h2{font-size:30px!important}.dialog p,.dialog .guide-line p,.dialog .clue-box{font-size:21px!important}
 .dialog.conversation{padding:22px 24px 28px}.dialog .guide-line{display:block}.dialog .guide-line>span{display:inline-block;margin-bottom:10px}
 .dialog.puzzle{padding:36px 24px}.restore-layout{grid-template-columns:1fr}
 #hud{left:14px;right:14px;top:12px}.brand{font-size:16px}.brand small{display:none}.header-tools{gap:5px}.header-tools button{min-width:44px;min-height:44px;padding:0 8px}
 #hud>.brand,#hud>.chapter-pill,#hud .kit-today{display:none}.header-tools{width:100%;justify-content:space-between}.header-tools button>span,.header-tools #natureCount{display:none}.header-tools button{font-size:26px!important}
 #quest,.in-library #quest{top:74px;left:14px;width:calc(100vw - 28px);padding:14px 18px 16px;background:#fff4d8f7;z-index:3}
 #quest .eyebrow{display:none}#quest h2{font-size:25px!important;margin:0 0 5px}#quest p{font-size:19px!important;margin:0 0 6px;line-height:1.5!important}
 #questCount{font-size:17px!important}#quest .progress{margin:7px 0 5px}
 #chapterTrail{top:auto;bottom:175px;left:14px;right:auto;transform:none;max-width:calc(100vw - 28px);font-size:16px!important;z-index:2}
 #exploreHint{bottom:230px;font-size:19px!important;padding:10px 16px;width:calc(100vw - 28px);max-width:none}
 #islandViewBtn{top:250px;right:14px;font-size:18px!important;min-height:44px}
 #worldCompass{top:250px;left:14px;font-size:16px!important}
 .landing{overflow-x:hidden}
 #toast{top:16px;font-size:21px;width:calc(100vw - 28px);z-index:100}
 #map{display:none}#party{display:none}#connection{font-size:14px;bottom:4px;right:10px;max-width:calc(100vw - 20px)}
 #touchControls{bottom:82px}#interactBtn{padding:12px 18px;font-size:20px!important}#controls{bottom:27px}
 .landing .subtitle,.dream-title .subtitle{font-size:21px!important}.landing-note{font-size:18px!important}.landing .actions button{font-size:22px!important}
 .landing-bottom{gap:10px;flex-wrap:wrap}.landing-bottom>span{display:none}
 .world-puzzle-hud header{top:10px;left:10px;right:10px;display:block}.world-puzzle-hud header>div{padding:12px 16px}
 .world-puzzle-hud h2{font-size:27px!important}.world-puzzle-hud header p{font-size:19px!important;max-width:none}
 .world-puzzle-hud header>button{margin-top:8px;font-size:18px!important;padding:9px 13px;min-height:44px}
 .world-puzzle-copy p{font-size:19px!important}.world-puzzle-copy span{font-size:17px!important}.world-puzzle-copy small{display:none}
 .world-puzzle-hud button{font-size:18px!important;min-height:48px;padding:10px 12px}.world-puzzle-tools{max-height:118px;overflow:auto}
 .raft-choices{top:220px;gap:5px;max-width:calc(100vw - 20px)}
 .puzzle-preview-menu section{padding:24px;max-height:90dvh;overflow:auto}.preview-types{grid-template-columns:repeat(2,1fr)}
 .sight-header h2{font-size:27px!important}.sight-header p,.sight-controls p{font-size:20px!important}.sight-controls{padding:16px 22px 22px}
 .nature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nature-card b{font-size:22px}
}
@media(max-height:650px){.dialog{max-height:94dvh}.dream-title .landing-inner{padding-top:80px}.landing .tag-row{margin:12px 0}.landing .subtitle{margin:12px 0}.landing-note{margin-top:12px}}
@media(prefers-reduced-motion:reduce){#toast{transition:none}}
