@font-face{font-family:Read;src:url(fonts/noto-heb-700.woff2)}@font-face{font-family:Round;src:url(fonts/fredoka-heb-600.woff2)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#c4edff,#f6dff4);min-height:100vh;color:#30275c;font-family:Round,Arial,sans-serif}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:4px solid #a44dce;outline-offset:4px}button:disabled{cursor:default}header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;max-width:1000px;margin:auto}header button,.pill{background:white;border-radius:30px;padding:10px 18px;min-height:46px;font-size:19px;box-shadow:0 4px 0 #bbc3dd}.brand{font-size:22px}main{max-width:920px;margin:auto;padding:0 18px 50px}h1{font-size:clamp(30px,6vw,46px);margin:10px 0}h2{font-size:27px;margin:12px 0}p{font-size:20px;line-height:1.65;margin:8px 0}.lead{text-align:center;margin:20px auto 30px;max-width:650px}.owl{font-size:70px;display:inline-block;animation:float 3s ease-in-out infinite}.eyebrow{font-size:16px;color:#655981}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.station{text-align:right;display:flex;flex-direction:column;position:relative;min-height:205px;padding:23px;background:#fff;border-radius:25px;box-shadow:0 7px 0 #b6afd0;transition:transform .15s}.station:hover{transform:translateY(-4px)}.station .emoji{font-size:48px}.station strong{font-size:24px;margin:12px 0 5px}.station small{font-size:17px;line-height:1.5;color:#6a6080}.doneBadge{position:absolute;left:18px;top:18px;background:#e0f7da;border-radius:20px;padding:5px 10px}.readstation{grid-column:1/-1;min-height:120px;display:grid;grid-template-columns:65px 1fr;column-gap:15px}.readstation .emoji{grid-row:1/3}.readstation strong{margin:0}.quiet{text-align:center;color:#6a6080;font-size:16px;margin:25px auto 0;max-width:620px}.panel{background:#fff;border-radius:28px;padding:28px;box-shadow:0 8px 0 #c1b6d5;text-align:center;margin-top:18px}.meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:18px;flex-wrap:wrap}.progress{height:10px;background:#ece5f5;border-radius:20px;margin:15px 0 23px;overflow:hidden}.progress i{display:block;background:linear-gradient(90deg,#54bc8e,#a8d95a);height:100%;transition:width .3s}.instruction{color:#685f7b;font-size:18px}.prompt{font-family:Read,Arial,sans-serif;font-size:clamp(28px,6vw,40px);line-height:1.85;margin:15px 0 24px}.scene{background:#f2f8ee;border-radius:20px;min-height:120px;padding:20px;display:flex;align-items:center;justify-content:center;gap:25px;position:relative;margin:18px 0;font-size:62px}.scene.success{background:#e4f7dd}.scene.success .actor{animation:celebrate 1s ease-in-out}.sceneText{font-size:22px}.choices{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin:20px 0}.choice{background:#f0ebfc;border-radius:18px;min-width:94px;min-height:80px;padding:12px 18px;border:3px solid transparent;box-shadow:0 5px 0 #d5cbe8;font-family:Read,Arial,sans-serif;font-size:29px;transition:transform .15s}.choice.pic{font-family:Arial,sans-serif;font-size:48px}.choice:hover:not(:disabled){transform:translateY(-3px)}.choice.selected{background:#e2f6d7;border-color:#6aab5e}.choice.wrong{animation:shake .35s;border-color:#d68a66;background:#fff0e5}.feedback{min-height:40px;font-size:21px;line-height:1.6;margin-top:20px}.feedback.good{color:#467a38}.feedback.try{color:#8f6036}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0 0}.primary,.secondary,.linkButton{border-radius:17px;padding:13px 22px;min-height:52px;font-size:21px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:#6acb91;box-shadow:0 5px 0 #429d68}.secondary,.linkButton{background:#eee8fa;box-shadow:0 4px 0 #d4c9e5}.primary:disabled{opacity:.55}.secondary:disabled{opacity:.5}.answerstrip{min-height:93px;border:2px dashed #d4c8e7;border-radius:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:12px;margin:15px 0}.answerstrip .choice{min-width:60px;min-height:60px;font-size:25px}.placeholder{font-size:20px;color:#8f829e}.receipt{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;min-height:75px;align-items:center;background:#fff5d8;border-radius:20px;padding:15px;margin:15px auto;font-size:40px}.result-frames{display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.frame{background:#eaf6e1;border-radius:22px;padding:18px;font-size:52px;min-width:130px}.frame span{display:block;font-size:17px}.note{font-size:16px;color:#80718f}.replay{font-size:18px;background:transparent;text-decoration:underline;padding:10px;min-height:44px}.hint{background:#fff5d8;padding:12px;border-radius:14px;font-size:19px;margin-top:15px}.celebration{font-size:80px}.trial{display:inline-block;background:#fff4c8;padding:5px 12px;border-radius:20px;font-size:16px}.parentbox{margin:25px 0;background:#ffffff90;border-radius:18px;padding:15px;font-size:17px;line-height:1.7}.parentbox summary{cursor:pointer;min-height:35px}iframe{width:100%;height:calc(100dvh - 95px);border:0;border-radius:20px;background:white}.readingMain{max-width:1100px;padding-bottom:10px}.balloon{animation:float 2s ease-in-out infinite}.error{color:#9a654d}@keyframes float{50%{transform:translateY(-8px)}}@keyframes celebrate{25%{transform:translateY(-16px) rotate(-9deg)}75%{transform:translateY(-6px) rotate(8deg)}}@keyframes shake{25%{transform:translateX(7px)}75%{transform:translateX(-7px)}}@media(max-width:650px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.station{padding:18px;min-height:195px}.station strong{font-size:21px}.station small{font-size:16px}.station .emoji{font-size:40px}.panel{padding:20px 14px}.readstation{min-height:125px;grid-template-columns:50px 1fr}header{padding:13px 16px}.brand{font-size:18px}.pill,header button{font-size:17px;padding:10px 12px}main{padding-inline:13px}.prompt{margin-bottom:18px}.choice{padding:10px 14px;min-width:75px}.scene{gap:17px}.sceneText{font-size:19px}.lead{margin-bottom:23px}.readingMain{padding-inline:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

[hidden]{display:none!important}.choice small{font:16px Round,Arial,sans-serif;color:#88779b}.frame{font-family:Arial,sans-serif}.frame small{vertical-align:top}.choice.pic{max-width:100%;overflow-wrap:anywhere}
/* Shared journey: every node is a reading task, not a separate menu. */
.worldMain{max-width:760px}.worldRoute{margin-top:25px}.world{border-radius:32px;padding:24px 12px 30px;margin-bottom:22px;position:relative;overflow:hidden;border:4px solid #ffffffb0}.world h2{text-align:center;position:relative;z-index:1;font-size:29px;margin:5px 0 20px}.world.forest{background:linear-gradient(#d6f5bb,#edf8d9)}.world.island{background:linear-gradient(#fff1bd,#bdedf3)}.world.castle{background:linear-gradient(#eedbff,#ffdfec)}.landscape{position:absolute;inset:110px 5px 0;opacity:.55;font-size:48px;word-spacing:80px;line-height:8;pointer-events:none}.trail{position:relative;padding:10px 0}.trail:before{content:'';position:absolute;right:calc(50% - 4px);top:20px;bottom:20px;border-right:8px dashed #fff9;filter:drop-shadow(0 2px 0 #97ab8733)}.trailStop{position:relative;display:flex;align-items:center;flex-direction:column;min-height:152px;width:180px;margin:0 auto;z-index:1}.stop0{transform:translateX(50px)}.stop1{transform:translateX(-45px)}.stop2{transform:translateX(-65px)}.stop3{transform:translateX(35px)}.node{position:relative;width:89px;height:89px;border:6px solid #fff;border-radius:50%;background:#cbe9ff;box-shadow:0 7px 0 #adbfbd;font-size:38px;display:flex;align-items:center;justify-content:center}.node b{position:absolute;right:-7px;top:-9px;font:600 15px Arial;background:#483e68;color:#fff;border-radius:20px;padding:5px 8px}.node.complete{background:#ffe575;box-shadow:0 7px 0 #b49c39}.node.locked{background:#dfdce3;box-shadow:0 7px 0 #b8b2bc;filter:saturate(.25)}.node.current{outline:5px solid #ff9869;animation:float 2.5s infinite}.guide{position:absolute;left:-46px;bottom:-2px;font-size:36px;font-style:normal}.nodeLabel{font-size:21px;line-height:1.5;max-width:175px;text-align:center;background:#ffffffb0;border-radius:15px;margin:12px 0 8px;padding:3px 12px}.readingStop{width:100%;border-radius:22px;padding:18px;background:#fff;box-shadow:0 6px 0 #c8bddd;font-size:22px}.voiceBox{border:3px solid #c8b5ed;background:#f7f3ff;border-radius:24px;padding:18px 14px;margin-bottom:23px;scroll-margin-top:15px}.voiceBox.accepted{background:#ebf9e4;border-color:#93bd7e}.voiceStep{font-size:17px;color:#796093}.voiceBox h2{font-size:23px}.voiceWords{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 7px;margin:16px 0}.readWord{font:700 clamp(27px,6vw,35px)/1.9 Read,Arial,sans-serif;background:#eee7fb;border-radius:12px;min-height:55px;padding:0 6px;box-shadow:0 3px 0 #d5cae7}.readWord.recognized{background:#d6efc7;color:#487b32;box-shadow:0 3px 0 #abc593}.voiceBox #voiceStatus{font-size:18px;line-height:1.7}.voiceMic{background:#ed629b;color:white;min-height:58px;border-radius:30px;padding:12px 20px;font-size:21px;box-shadow:0 5px 0 #be427c}.voiceMic.listening{background:#cc4582;animation:pulse 1.8s infinite}.voiceMic:disabled{background:#97b28a;color:white;box-shadow:0 4px 0 #768e6d}.voicePreview{background:#fff4cd;padding:14px;border-radius:18px;font-size:18px;line-height:1.7;margin-bottom:20px}.readingLocked{opacity:.5}.readingLocked button{pointer-events:none}.wordHelp{position:fixed;inset:0;background:#322950b8;z-index:1000;display:flex;justify-content:center;align-items:center;padding:12px}.helpWindow{background:#fff;border-radius:22px;padding:10px;width:650px;max-width:100%;height:95dvh;display:flex;flex-direction:column;gap:10px}.helpWindow iframe{flex:1;min-height:0;border-radius:16px}.helpWindow>button{flex-shrink:0}.voiceBox .note{font-size:15px}.voiceBox .readWord:disabled{color:#487b32}.voiceBox .readWord:not(:disabled):hover{outline:2px solid #bba5df}@keyframes pulse{50%{box-shadow:0 0 0 8px #ef8fb655}}@media(max-width:380px){.world{padding-inline:5px}.trailStop{width:155px}.stop0{transform:translateX(32px)}.stop1{transform:translateX(-26px)}.stop2{transform:translateX(-38px)}.stop3{transform:translateX(25px)}.voiceBox{padding-inline:8px}.voiceBox h2{font-size:21px}}@media(prefers-reduced-motion:reduce){.node.current,.voiceMic.listening{animation:none}}
