@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');
:root{font-family:'Noto Sans SC',system-ui,sans-serif;color:#283b36;background:#f7f8f2;font-synthesis:none;--green:#357751;--muted:#84918a;--line:#e5e9dd}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #e9b64c;outline-offset:3px}button{border:0}aside{width:228px;position:fixed;inset:0 auto 0 0;background:#fffef9;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column;z-index:5}.logo{display:flex;gap:12px;align-items:center;margin-bottom:45px;font-weight:800;font-size:19px;letter-spacing:1px}.logo small{display:block;font-size:9px;color:#99a38f;letter-spacing:2px;margin-top:6px}.logo-icon{font-size:30px;background:#e7f0dc;padding:8px;border-radius:12px}nav{display:grid;gap:10px}nav button{text-align:left;background:none;padding:15px;border-radius:12px;color:#7d887e;font-size:14px;font-weight:600}nav button.active{background:#eaf2e3;color:#357751}nav button span{font-size:19px;margin-right:15px}.sidefoot{margin-top:auto;background:#f3f5e9;border-radius:15px;padding:17px;font-size:12px;line-height:1.9;color:#7c896d}.sidefoot strong{display:block;color:#425d3b}.workspace{margin-left:228px;padding:0 44px 35px;max-width:1550px}header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.breadcrumb{font-size:12px;color:var(--muted)}.profile{display:flex;gap:14px;align-items:center;font-size:12px}.pill{border:1px solid #e3e8d8;background:white;border-radius:24px;padding:9px 13px;color:#6a7a65}.avatar{background:#f0e5c9;border-radius:50%;padding:10px}.intro{display:flex;align-items:center;justify-content:space-between;margin:30px 0 24px;gap:12px}h1{font-size:26px;margin:0 0 10px;letter-spacing:1px}p{color:#859086;font-size:13px;line-height:1.9;margin:6px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:#8c9b76;font-weight:700;margin-bottom:10px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:25px}.hero{border:1px solid #dce5cc;border-radius:20px;overflow:hidden;background:#e9f1db;position:relative}.hero-label{position:absolute;left:25px;top:22px;z-index:1}.badge{display:inline-block;border-radius:7px;background:#ffffffc9;padding:7px 10px;font-size:10px;color:#627a50}.hero h2{font-size:23px;margin:12px 0 4px}.hero p{color:#6b8459}.world{display:block;width:100%;height:305px}.herobar{background:#ffffffc9;padding:17px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px}.herobar small{font-size:11px;color:#819171}.herobar strong{font-size:13px;display:block;margin-bottom:7px}.primary{padding:13px 22px;border-radius:10px;background:var(--green);color:white;font-weight:600;font-size:13px;box-shadow:0 4px 0 #245537}.secondary{padding:11px 18px;background:#edf2e7;color:#557244;border:1px solid #dce5cf;border-radius:10px;font-size:12px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin:25px 0 14px}.sectiontitle h2{font-size:16px;margin:0}.sectiontitle small{color:#96a18b;font-size:11px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.card{background:#fffefb;border:1px solid var(--line);border-radius:15px;padding:19px}.card h3{font-size:13px;margin:15px 0 7px}.card p{font-size:11px}.card .symbol{background:#edf3e1;border-radius:12px;width:46px;height:46px;display:grid;place-items:center;font-size:25px}.right{display:grid;align-content:start;gap:18px}.companion{text-align:center;background:#fffefb}.companion .bubble{margin:14px auto;width:90px;height:85px;background:#9ac9b6;border-radius:25px 25px 21px 21px;box-shadow:inset -9px -9px #7aaf97,0 6px 0 #e6eadc;display:flex;align-items:center;justify-content:center;gap:22px;position:relative}.eye{width:8px;height:12px;background:#284d43;border-radius:3px}.bubble:after{content:'';position:absolute;width:15px;height:6px;border-bottom:3px solid #284d43;border-radius:50%;bottom:22px}.companion h3{margin:18px 0 6px;font-size:15px}.progress{height:7px;background:#edf0e5;border-radius:8px;overflow:hidden;margin:12px 0}.progress i{height:100%;display:block;background:#8bb56b;border-radius:8px}.meta{display:flex;justify-content:space-between;font-size:10px;color:#8a957f}.wish{background:#faf4e4;border-color:#ece2c8}.wish h3{margin:10px 0;font-size:14px}.hint{margin-top:22px;font-size:11px;color:#99a18d;line-height:1.8}.pagepanel{max-width:850px;margin:30px auto}.study{text-align:center;padding:34px;background:white;border:1px solid var(--line);border-radius:22px}.wordart{font-size:88px;margin:18px auto;width:170px;height:150px;background:#eff4e6;border-radius:20px;display:grid;place-items:center}.word{font-size:43px;letter-spacing:2px;margin:8px 0;color:#344d3b}.meaning{font-size:19px;color:#839074}.row{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin:20px 0}.choicegrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px auto;max-width:540px}.choice{background:#f3f6ed;padding:19px;border:2px solid #e5ebda;border-radius:12px;color:#526846}.choice.selected{border-color:#6e9f59;background:#e5f0dc}.feedback{min-height:30px;color:#56834a;font-size:13px}.subnav{display:flex;gap:10px;flex-wrap:wrap}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.statgrid strong{display:block;font-size:29px;color:#507c43;margin-top:10px}.wordlist{display:grid;gap:9px}.wordrow{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border-radius:12px;border:1px solid var(--line);font-size:13px}.wordrow small{color:#8f9a83}.notice{padding:13px 16px;background:#f3eddb;color:#8c7952;border-radius:10px;font-size:12px;line-height:1.8;margin:15px 0}.monster{font-size:85px;display:inline-block;transition:transform .3s}.hearts{color:#d88575;letter-spacing:3px;font-size:22px}.field{display:block;margin:17px 0;color:#6d7d65;font-size:13px}.field input,.field select{width:100%;padding:13px;border:1px solid #dfe6d6;background:#fff;border-radius:8px;margin-top:9px}.mapgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mapcard{min-height:220px;background:#eaf0df}.mapcard:nth-child(2){background:#f5ebda}.reviewentry{border:1px solid #dce5cc;text-align:left;background:#f0f5e9;border-radius:15px;padding:20px;width:100%;margin-top:18px;display:flex;align-items:center;justify-content:space-between}.reviewentry h3{margin:0 0 7px;font-size:14px}.reviewentry p{font-size:11px;margin:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#344f3b;color:white;border-radius:12px;padding:14px 22px;font-size:13px;opacity:0;pointer-events:none;z-index:30;max-width:90vw}#toast.show{opacity:1}.break{position:fixed;inset:0;background:#f2f5e9f5;z-index:50;display:grid;place-items:center;text-align:center}.break h2{font-size:30px}.timer{font-size:55px;color:#4a7441;margin:25px}.footnote{font-size:11px;text-align:center;margin-top:22px;color:#a1aa96}.reviewentry .symbol{font-size:32px}.chip{font-size:10px;color:#6f855a;background:#edf2e5;padding:5px 9px;border-radius:6px}.empty{padding:45px;text-align:center;color:#88977b}@media(min-width:1500px){.workspace{margin:auto auto auto 228px}}@media(max-width:1100px){.workspace{padding:0 24px 25px}.layout{grid-template-columns:1fr}.right{grid-template-columns:1fr 1fr}.companion .bubble{width:75px;height:70px}.world{height:325px}}@media(max-width:760px){aside{inset:auto 0 0;width:auto;height:70px;padding:6px 5px;border-right:0;border-top:1px solid var(--line);background:#fffef9f5}.logo,.sidefoot{display:none}nav{display:flex;justify-content:space-around;gap:0}nav button{font-size:9px;padding:7px 9px;text-align:center;border-radius:8px}nav button span{display:block;font-size:19px;margin:0 0 3px}.workspace{margin:0;padding:0 17px 90px}header{height:68px}.breadcrumb{font-size:10px}.profile .pill{display:none}.intro{margin:25px 0 20px;align-items:flex-start}h1{font-size:22px}.intro p{font-size:11px}.intro .pill{font-size:10px;padding:7px;white-space:nowrap}.world{height:310px}.hero-label{left:19px;top:18px}.hero h2{font-size:21px}.herobar{padding:15px}.primary{padding:12px 17px}.cards{gap:8px}.card{padding:15px}.card h3{font-size:12px}.card p{font-size:10px}.right{gap:12px}.right .card{padding:14px}.statgrid{grid-template-columns:1fr 1fr}.study{padding:22px 14px}.choicegrid{gap:9px}.choice{padding:15px 7px}.mapgrid{grid-template-columns:1fr}.wordart{font-size:73px;width:140px;height:125px}.word{font-size:36px}.hero p{font-size:11px}.pagepanel{margin:22px auto}.subnav .secondary{padding:8px 11px}#toast{bottom:85px}}
.game-page{max-width:960px;margin:25px auto}.game-scene{height:300px;border:1px solid #b9d1b5;border-radius:18px 18px 0 0;position:relative;overflow:hidden;background:linear-gradient(#c4e1d7,#e4efd2);isolation:isolate}.game-hud{position:absolute;z-index:6;top:15px;left:16px;right:16px;display:flex;justify-content:space-between;font-size:11px;color:#f3f8e9;gap:8px}.game-hud span{background:#294a40b8;padding:8px 11px;border-radius:7px}.sunpixel{position:absolute;top:49px;right:24%;width:36px;height:36px;background:#f7e4a4;box-shadow:0 0 0 8px #f7e4a433}.cloud{position:absolute;background:#ffffff8a;width:80px;height:17px;top:72px;left:14%}.cloud:before{content:'';position:absolute;background:inherit;width:35px;height:15px;left:18px;top:-15px}.c2{left:auto;right:12%;top:108px;width:64px}.mountain{position:absolute;width:270px;height:160px;bottom:60px;background:#91b79c;clip-path:polygon(0 100%,0 60%,15% 60%,15% 40%,30% 40%,30% 15%,55% 15%,55% 0,70% 0,70% 40%,85% 40%,85% 70%,100% 70%,100% 100%)}.m1{left:-20px;opacity:.5}.m2{right:-10px;transform:scale(.8);opacity:.4}.ground{position:absolute;bottom:0;height:100px;width:100%;background:repeating-linear-gradient(90deg,transparent 0 47px,#00000008 47px 50px),repeating-linear-gradient(0deg,#886849 0 31px,#765c42 31px 33px);border-top:15px solid #7ca45f;box-shadow:0 -7px #a6c880}.pathline{position:absolute;height:16px;width:100%;bottom:88px;background:#b2b17b}.actor-position{position:absolute;bottom:99px;left:27%;z-index:3}.pixelactor{width:62px;height:100px;position:relative;--armor:#cfb886}.bubblehead{width:48px;height:43px;background:#a8d7bd;border:5px solid #8ebca3;position:absolute;top:0;left:7px;box-shadow:inset 5px 5px #c1e6cd}.bubblehead i{position:absolute;top:12px;width:5px;height:7px;background:#2e5143;left:7px}.bubblehead i+i{left:27px}.bubblehead b{position:absolute;left:16px;top:25px;width:10px;height:3px;background:#49775c}.actorbody{position:absolute;top:43px;left:12px;width:38px;height:34px;background:var(--armor);border:5px solid #b19a6a}.actorlegs{position:absolute;top:77px;left:14px;width:13px;height:19px;background:#526b4c;box-shadow:22px 0 #526b4c}.heldtool{position:absolute;width:65px;height:65px;top:24px;left:37px;transform:rotate(-22deg);transform-origin:10% 80%}.pixelactor>span{position:absolute;top:107px;white-space:nowrap;font-size:10px;left:2px;color:#f3f7dd;background:#36573d9e;padding:3px 6px;border-radius:4px}.ore-position{position:absolute;bottom:101px;left:49%;display:flex;gap:45px;align-items:flex-end}.oreblock{width:66px;height:66px;background:#8f9b95;border:6px solid #75837c;position:relative;box-shadow:8px -7px #b8c4b7,inset 7px 7px #aab8aa}.oreblock i{position:absolute;width:12px;height:12px;background:#81d2c1;top:10px;left:10px;box-shadow:18px 19px #92ded0}.oreblock i+i{top:31px;left:5px;width:8px;height:8px;box-shadow:28px -28px #b7e7d5}.oreblock span{position:absolute;top:-34px;left:-6px;font-size:13px;background:#fffbe5;color:#536a4b;border-radius:5px;padding:5px 10px;font-weight:700}.nextore{transform:scale(.75);opacity:.6}.scene-caption{position:absolute;bottom:16px;left:15px;right:15px;text-align:center;color:#fff5dc;font-size:12px;background:#403b2d59;padding:8px;border-radius:7px}.shards{display:none;color:#f6dc7e;position:absolute;top:0;font-size:25px;white-space:nowrap}.trail{position:absolute;bottom:103px;left:8%;color:#f5e3a3;display:flex;gap:13px}.mining .heldtool{animation:swing .22s 3}.mining .breaking{animation:orebreak .8s forwards}.mining .shards{display:block;animation:shards .8s forwards}.mining .actor-position{animation:stepahead .85s forwards}.learning-dock{padding:24px 30px;background:#fffef8;border:1px solid #dbe4d2;border-top:0;border-radius:0 0 18px 18px}.word-strip{display:flex;align-items:center;gap:18px;margin-bottom:15px}.word-strip h2{font-size:31px;margin:0}.word-strip h2 small{font-size:16px;margin-left:10px;color:#8c997a;font-weight:400}.word-strip>.secondary{margin-left:auto}.mini-word-art{font-size:40px;background:#ecf2e3;border-radius:13px;padding:10px}.word-strip .eyebrow{margin:0 0 5px}.learning-dock .choicegrid{max-width:none;grid-template-columns:repeat(4,1fr);margin:18px 0}.learning-dock .row{justify-content:flex-start;margin:15px 0}.learning-dock .hint{margin-top:10px}.learning-dock>p{margin-bottom:17px}.completion-inline{text-align:center}.completion-inline>span{font-size:42px}.battle-scene{background:linear-gradient(#a9c6d1,#c4d6b7)}.monster-position{position:absolute;bottom:102px;transition:right .35s;z-index:3}.pixelmonster{width:69px;height:74px;background:#7f8395;border:7px solid #666b80;box-shadow:inset 9px 8px #a0a6b4;position:relative}.pixelmonster i{position:absolute;top:18px;left:8px;width:11px;height:9px;background:#e9b486}.pixelmonster i+i{left:36px}.pixelmonster b{position:absolute;bottom:9px;left:21px;width:16px;height:10px;background:#424858}.monster-position>span{display:block;font-size:10px;text-align:center;color:#f1f2de;background:#35473caa;margin-top:6px;padding:3px}.monster-health{height:7px;background:#65716a;margin-bottom:10px;border:1px solid #eff4de}.monster-health i{display:block;height:100%;background:#ce927c}.battle-question{display:flex;align-items:center;justify-content:space-between;gap:10px}.battle-question h2{font-size:19px;margin:6px 0}.battle-question .eyebrow{margin:0}.hitfx{display:none;position:absolute;right:30%;top:100px;color:#fff3a3;font-size:28px;font-weight:bold}.attacking .heldtool{animation:swing .22s 3}.attacking .actor-position{animation:lunge .75s}.attacking .pixelmonster{animation:monsterhit .75s}.attacking .hitfx{display:block;animation:shards .75s}.equipped{display:flex;gap:45px;align-items:center;background:#eaf1df;border:1px solid #d8e3cb;border-radius:18px;padding:25px 45px}.equipped>.pixelactor{margin-bottom:20px}.equipped>div:first-child{min-width:80px;height:125px}.gear-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:10px}.gear-tile{background:#edf0e8;border:1px solid #e1e6d9;border-radius:12px;padding:14px 8px;text-align:center;color:#9aa28f}.gear-tile>div{height:48px;width:48px;margin:auto;filter:grayscale(1);opacity:.4}.gear-tile strong{display:block;font-size:11px;margin:10px 0}.gear-tile small{font-size:10px}.gear-tile.unlocked{background:#fffef8;color:#587849}.gear-tile.unlocked>div{filter:none;opacity:1}.gear-tile.equipped-tile{border:2px solid #8caf6c;background:#f0f5e7}.armor-icon{font-size:43px;color:var(--armor)}.track-title{font-size:13px;margin:23px 0 12px}@keyframes swing{50%{transform:rotate(65deg)}}@keyframes orebreak{40%{transform:translateX(3px)}65%{opacity:1}100%{transform:scale(.3) translateY(40px);opacity:0}}@keyframes shards{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-65px)}}@keyframes stepahead{70%{transform:translateX(0)}100%{transform:translateX(60px)}}@keyframes lunge{50%{transform:translateX(60px)}}@keyframes monsterhit{35%{filter:brightness(2);transform:translateX(15px)}100%{opacity:0;transform:translateX(35px)}}@media(max-width:760px){.game-page{margin:18px auto}.game-scene{height:260px}.game-hud{left:10px;right:10px;font-size:9px;top:11px}.actor-position{left:19%}.ore-position{left:49%;gap:22px}.oreblock{width:55px;height:55px}.nextore{width:42px}.learning-dock{padding:18px 16px}.learning-dock .choicegrid{grid-template-columns:1fr 1fr}.word-strip{gap:12px}.word-strip h2{font-size:27px}.word-strip>.secondary{padding:10px;font-size:11px}.mini-word-art{font-size:31px;padding:8px}.battle-question h2{font-size:15px}.battle-question .primary{padding:10px 12px;font-size:11px}.scene-caption{font-size:10px;bottom:12px;left:10px;right:10px}.equipped{padding:22px;gap:15px}.equipped h2{font-size:18px}.gear-grid{grid-template-columns:repeat(3,1fr)}.game-page>.hint{font-size:10px}.learning-dock .row .primary{font-size:11px}.learning-dock .row .secondary{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.route-home{padding:25px 0 10px;max-width:1060px;margin:auto}.route-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:22px;border-radius:22px;scrollbar-width:thin;scrollbar-color:#afc296 transparent;overscroll-behavior-x:contain}.route-region{flex:0 0 100%;scroll-snap-align:start;border-radius:20px;overflow:hidden;border:1px solid #d4e2c6;background:#e7efd9;position:relative}.route-region-heading{padding:25px 28px 0;position:relative;z-index:2}.route-region-heading h1{font-size:28px;margin:14px 0 6px}.route-region-heading p{color:#6d855d}.route-landscape{position:relative;height:360px;overflow:hidden}.route-landscape .world{height:100%;width:100%;position:absolute;inset:0;opacity:.95}.route-line{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.route-node{position:absolute;border:4px solid #f5eccb;background:#9cac7e;box-shadow:0 3px 0 #7d8f61,0 0 0 1px #abbb8f;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:white;font-weight:700;font-size:12px;z-index:2}.node-0{left:10%;top:71%}.node-1{left:29%;top:56%}.node-2{left:47%;top:52%}.node-3{left:66%;top:43%}.node-4{left:84%;top:31%}.route-node.visited{background:#397653}.route-node.current-node{background:#e5b75e;box-shadow:0 3px #b58e47,0 0 0 6px #fff6ca80}.region-symbol{position:absolute;top:18%;left:16%;font-size:39px;z-index:1}.route-forward{position:absolute;right:4%;top:13%;font-size:11px;color:#63754f;background:#fff9dcbb;padding:5px 9px;border-radius:5px}.route-region .herobar{padding:22px 28px;min-height:95px}.route-navigation{display:flex;justify-content:center;align-items:center;gap:22px;margin:18px 0;color:#8b987c;font-size:11px}.route-arrow{height:34px;width:40px;background:#e9efdf;color:#647d51;border:1px solid #d9e2cc;border-radius:9px}.orchard{background:#f0ecd6}.orchard .world{filter:hue-rotate(323deg) saturate(.8)}.rainbow{background:#e6e6ef}.rainbow .world{filter:hue-rotate(65deg) saturate(.6)}.coast{background:#dfeef0}.coast .world{filter:hue-rotate(90deg) saturate(.6)}.route-workspace>.footnote{display:none}.mining-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mining-controls>span{font-size:11px;color:#859379;margin-left:auto}.oreblock .ore-word{top:-78px;left:-30px;font-size:19px;min-width:120px;text-align:center;white-space:nowrap;padding:8px 10px;box-shadow:0 3px #d7dbb1}.ore-word small{display:block;font-size:12px;margin-top:4px;color:#899373;font-weight:400}.direct-mine .ore-position{bottom:101px}.direct-mine .ore-word{z-index:4}.direct-mine .learning-dock .feedback:empty{display:none}.direct-mine .learning-dock>p{font-size:11px;margin-bottom:0}.direct-mine .choicegrid{margin-bottom:12px}.direct-mine .learning-dock{padding-top:18px;padding-bottom:16px}.direct-mine .game-scene{height:330px}.direct-mine .sunpixel{right:15%;top:70px}nav button span{margin-right:10px}@media(max-width:760px){.route-home{padding-top:19px}.route-region-heading{padding:21px 20px 0}.route-region-heading h1{font-size:26px}.route-region-heading p{font-size:11px}.route-landscape{height:315px}.route-region .herobar{padding:18px 17px;gap:12px}.route-region .herobar strong{font-size:13px}.route-region .herobar small{font-size:10px}.route-region .herobar .primary{white-space:nowrap;padding:13px 17px}.route-node{width:29px;height:29px;font-size:10px;border-width:3px}.route-navigation{gap:16px;font-size:10px}.mining-controls>.secondary{font-size:11px;padding:10px 13px}.mining-controls>span{font-size:10px;margin-left:0}.direct-mine .game-scene{height:285px}.oreblock .ore-word{font-size:17px;min-width:105px;left:-26px;top:-77px}nav button span{margin-right:0}.route-scroll{gap:15px}}

.player-health{position:absolute;top:-20px;left:3px;width:58px;height:8px;background:#d9ddd1;border:1px solid #faf6df;box-shadow:0 1px 2px #0003}.player-health i{display:block;height:100%;background:#d67664;transition:width .3s}.pixelmonster{transition:transform .3s}.gear-tile:disabled{opacity:.65;cursor:not-allowed}.gear-tile.unlocked{cursor:pointer}.gear-preview-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}.gear-preview-controls>span{width:100%;font-size:11px;color:#89947d}.gear-preview-controls .secondary{padding:8px 12px}.gear-tile.equipped-tile{box-shadow:0 0 0 1px #8caf6c}.monster-position{transition:left .35s}

.fallen-scene .actor-position .pixelactor{transform:rotate(-85deg) translate(-12px,22px);transform-origin:50% 90%;transition:transform .4s}.fallen-scene .pixelactor>span{display:none}.fallen-scene .heldtool{opacity:.4}.revival-dock{text-align:center}.revive-bottle{font-size:48px;line-height:1.4}.revival-dock h2{font-size:20px;margin:10px 0}.revival-dock .row{justify-content:center}.potion-balance{display:inline-block;padding:9px 14px;border-radius:10px;background:#eaf2df;font-size:12px;color:#5d7e48}.fallen-scene .pixelmonster{filter:saturate(.65)}
.parallax{position:absolute;inset:0;background-repeat:repeat-x;pointer-events:none}.far-hills{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='240'%3E%3Cpath fill='%2394b99c' opacity='.55' d='M0 220V140h40v-35h45V75h70v45h45v50h35V95h40V45h65v50h40v60h40v65z'/%3E%3C/svg%3E");background-size:420px 240px;background-position:calc(var(--travel) * -.2) bottom 70px}.near-trees{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='380' height='180'%3E%3Cpath fill='%236d936b' opacity='.55' d='M45 180v-65H15V60h20V35h55v25h20v55H72v65zm225 0v-45h-30V90h15V60h48v30h15v45h-31v45z'/%3E%3C/svg%3E");background-size:380px 180px;background-position:calc(var(--travel) * -.5) bottom 96px}.direct-mine .mountain{display:none}.direct-mine .cloud{transform:translateX(calc(var(--travel) * -.08))}.direct-mine .ground{background-position:calc(var(--travel) * -1) 0}.direct-mine .pathline{background-image:repeating-linear-gradient(90deg,#b2b17b 0 55px,#a2a56a 55px 70px);background-position:calc(var(--travel) * -1) 0}.direct-mine .trail{display:none}.mining .far-hills{animation:travelFar .85s linear forwards}.mining .near-trees{animation:travelTrees .85s linear forwards}.mining .ground,.mining .pathline{animation:travelGround .85s linear forwards}.mining .cloud{animation:travelCloud .85s linear forwards}.mining .actor-position{animation:walkInPlace .18s 4}.mining .actorlegs{animation:walkLegs .18s 4}.mining .ore-position{animation:nextOre .85s forwards}.teaching-picture{display:block;font-size:45px;margin-bottom:5px}.ore-word strong{display:block}.ore-word em{font-style:normal;display:block;font-size:12px;line-height:1.6;font-family:system-ui,sans-serif;font-weight:400;color:#708165}.staged-learning .ore-word{top:auto;bottom:87px;left:-55px;min-width:165px;padding:12px 18px}.staged-learning .game-scene{height:375px}.staged-learning .sunpixel{right:12%}.stage-dots{display:flex;gap:9px;justify-content:center;margin:0 0 12px}.stage-dots i{width:27px;height:5px;background:#e5eadc;border-radius:4px}.stage-dots .lit{background:#81a46c}.staged-learning[data-advance-stage]{cursor:pointer}.staged-learning .learning-dock{text-align:center}.tap-to-advance{font-size:14px;color:#68825a!important;margin-bottom:15px!important}.test-head{display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 17px}.test-head strong{font-size:29px}.test-head em{font-style:normal;font-size:15px;color:#7c8e6b}.test-head span{width:100%;font-size:10px;color:#96a18a}.staged-learning .mining-controls{justify-content:center}.growth-wish h2{font-size:22px;margin:16px 0}.growth-wish .row{justify-content:flex-start}.wish-numbers{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#948055}.wish-numbers strong{font-size:19px;color:#668445}.growth-wish .progress{height:11px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.settings-grid h2{font-size:17px;margin:4px 0 16px}.settings-grid .row{justify-content:flex-start}.settings-pair{display:flex;gap:15px}.settings-pair .field{flex:1}.file-label{display:block;border:1px dashed #b9cbaa;background:#f1f5e9;color:#658052;padding:14px;border-radius:10px;margin:17px 0;font-size:13px}.file-label input{display:block;max-width:100%;font-size:11px;margin-top:10px}.settings-grid .card>p{font-size:11px}@keyframes travelFar{from{background-position:calc(var(--travel) * -.2) bottom 70px}to{background-position:calc((var(--travel) + 100px) * -.2) bottom 70px}}@keyframes travelTrees{from{background-position:calc(var(--travel) * -.5) bottom 96px}to{background-position:calc((var(--travel) + 100px) * -.5) bottom 96px}}@keyframes travelGround{from{background-position:calc(var(--travel) * -1) 0}to{background-position:calc((var(--travel) + 100px) * -1) 0}}@keyframes travelCloud{from{transform:translateX(calc(var(--travel) * -.08))}to{transform:translateX(calc((var(--travel) + 100px) * -.08))}}@keyframes walkInPlace{50%{transform:translateY(-3px)}}@keyframes walkLegs{50%{transform:skewX(-15deg)}}@keyframes nextOre{100%{transform:translateX(-50px)}}@media(max-width:760px){.settings-grid{grid-template-columns:1fr;gap:16px}.staged-learning .game-scene{height:340px}.staged-learning .ore-word{bottom:72px;left:-61px;min-width:155px}.teaching-picture{font-size:39px}.growth-wish h2{font-size:20px}.settings-pair{gap:12px}.staged-learning .learning-dock{padding:18px 16px}.test-head strong{font-size:25px}}
.growth-tabs{display:flex;gap:6px;background:#eaf0e1;padding:5px;border-radius:12px;max-width:430px;margin:25px 0}.growth-tabs button{flex:1;padding:12px 18px;background:transparent;color:#859179;border-radius:9px;font-size:13px}.growth-tabs button[aria-selected=true]{background:#fffef9;color:#3f714e;box-shadow:0 2px 5px #43572e0e;font-weight:700}.growth-tab-panel{min-height:300px}.data-category{text-align:left;color:inherit}.data-category.chosen{border-color:#8dae73;background:#f0f5e8}.upgrade-next{padding:15px 18px;margin:16px 0 10px;background:#eef3e5;border-radius:10px;font-size:12px;color:#63814b}.text-routes{display:grid;gap:12px;margin-bottom:25px}.text-routes details{border:1px solid #dee7d4;border-radius:12px;background:#fffef9;overflow:hidden}.text-routes summary{padding:17px 19px;font-size:13px;color:#5d754b;cursor:pointer;font-weight:600}.text-routes ol{padding:0 16px 10px;margin:0;list-style:none}.text-routes li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 8px;border-top:1px solid #edf0e6}.text-routes li strong{display:block;font-size:13px;color:#455e3b}.text-routes li span{display:block;font-size:10px;color:#94a083;margin-top:5px}.text-routes li>small{font-size:10px;color:#9ba48f;white-space:nowrap}.text-routes li .secondary{padding:7px 12px;font-size:10px;white-space:nowrap}.text-routes .route-equipped{background:#edf4e3;border-radius:8px}.info-list{margin:12px 0 18px}.info-list>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #edf0e6;padding:15px 0;font-size:13px}.info-list dt{color:#8c9981;white-space:nowrap}.info-list dd{margin:0;color:#4e6345;text-align:right;overflow-wrap:anywhere}.settings-grid .sectiontitle{margin:0 0 15px}.settings-grid .sectiontitle h2{margin:0}.staged-learning .mining-controls{margin-bottom:12px}@media(max-width:760px){.growth-tabs{max-width:none;margin:20px 0}.growth-tabs button{padding:11px}.text-routes li{padding:13px 5px}.upgrade-next{font-size:11px;line-height:1.9}.info-list>div{font-size:12px}.growth-tab-panel>.statgrid{margin-top:0}}
.break{overflow-y:auto;padding:24px 18px;align-items:start}.rest-inner{width:min(540px,100%);margin:25px auto}.rest-tree{font-size:65px}.rest-inner .timer{margin:20px}.rest-parent{margin:25px auto 5px;max-width:370px;border:1px solid #d8e2cb;border-radius:12px;background:#fffef9b8;padding:15px 18px;text-align:left}.rest-parent summary{cursor:pointer;font-size:12px;color:#7e8e6c}.rest-parent .field{font-size:11px;margin:11px 0}.rest-parent .field input{padding:10px}.rest-parent>p{font-size:11px;line-height:1.7}.rest-parent .primary{width:100%;margin-top:6px}.review-summary{margin:25px 0;text-align:left;border-top:1px solid #e0e8d4;padding-top:22px}.review-summary h3{font-size:17px;margin:0 0 10px}.review-summary>p{font-size:11px}.familiar-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.familiar-card{padding:16px;border:1px solid #e0e7d6;border-radius:12px;background:#f4f6ed}.familiar-card strong{font-size:13px;display:block;color:#5b754b}.familiar-card span{display:block;line-height:1.8;font-size:11px;color:#8d9a7e;margin-top:8px;overflow-wrap:anywhere}.familiar-0{background:#fbf0e5;border-color:#edddc6}.familiar-0 strong{color:#a3875b}.familiar-3{background:#e6f0e8}.familiar-help summary{font-size:11px;color:#869777;cursor:pointer}.familiar-help p{font-size:11px}.unscored{margin:10px auto 15px;color:#748861;font-size:12px;border:1px solid #e0e8d6;padding:10px;border-radius:9px;background:#f4f7ed}.unscored small{display:block;color:#99a28f;font-size:10px;margin-top:4px}@media(max-width:760px){.rest-inner{margin:15px auto}.rest-inner h2{font-size:23px}.rest-tree{font-size:48px}.rest-inner .timer{font-size:44px;margin:15px}.rest-parent{margin-top:18px}.familiar-card{padding:13px}.familiar-card strong{font-size:12px}}

/* Continuous exploration while listening and answering; camera state survives renders. */
.direct-mine .game-scene .far-hills,.direct-mine .game-scene .near-trees,.direct-mine .game-scene .ground,.direct-mine .game-scene .pathline,.direct-mine .game-scene .cloud{animation:none;will-change:background-position}.direct-mine .game-scene .cloud{transform:translateX(calc(var(--cloud-shift,0px) * -1));will-change:transform}.direct-mine .game-scene .actor-position{animation:explorerStride .75s ease-in-out infinite}.direct-mine .game-scene.mining .actor-position{animation:walkInPlace .18s 4}.direct-mine .game-scene .actorlegs{animation:explorerLegs .75s ease-in-out infinite}.direct-mine .game-scene.mining .actorlegs{animation:walkLegs .18s 4}@keyframes explorerStride{50%{transform:translateY(-2px)}}@keyframes explorerLegs{25%{transform:skewX(-8deg)}75%{transform:skewX(8deg)}}@media(prefers-reduced-motion:reduce){.direct-mine .game-scene .actor-position,.direct-mine .game-scene .actorlegs{animation:none!important}}
