*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:18px var(--font)}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,4vw,44px);line-height:1.12}h2{font-size:27px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.55}button:active:not(:disabled){transform:scale(.96)}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid var(--purple);outline-offset:4px}button{transition:transform var(--press);border:0;min-height:var(--touch);min-width:var(--touch)}a{color:var(--purple)}img,svg{display:block;max-width:100%}.ph{display:inline-flex;width:32px;height:32px;flex-shrink:0}.ph svg{width:100%;height:100%}.icon{display:grid;place-items:center;width:72px;height:72px;border-radius:24px;background:var(--paper);box-shadow:var(--shadow);color:var(--purple)}.primary{padding:16px 28px;min-height:72px;border-radius:24px;background:var(--purple);color:white;display:inline-flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 6px 0 var(--purple-dark);font-size:22px}.secondary{padding:16px 24px;border-radius:24px;background:var(--lavender);color:var(--purple)}.quiet{background:transparent;text-decoration:underline;color:var(--purple);padding:12px}.loading{padding:40px}.notice{padding:16px;border-radius:20px;background:var(--lavender);font:16px/1.55 var(--letters);margin:16px 0}.error{color:var(--red);font:16px/1.5 var(--letters)}.success{color:#386345}.shell{max-width:1440px;margin:auto;padding:calc(18px + var(--safe-top)) 36px calc(120px + var(--safe-bottom));min-height:100svh}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.brand{display:flex;align-items:center;min-width:140px;background:none;padding:0}.brand img{width:140px;height:60px}.top-actions{display:flex;gap:12px;align-items:center}.profile-chip{background:var(--paper);border-radius:24px;padding:10px 20px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}.profile-dot{width:24px;height:24px;border-radius:50%;background:var(--peach)}.character{display:block;width:170px;height:190px;object-fit:contain;filter:drop-shadow(0 7px 4px #17334c14)}.sheet-character{background-repeat:no-repeat;background-size:340% auto;background-position:0 34%;width:170px;height:190px}.sheet-character.lumi{background-position:0 26%}.cast{display:flex;align-items:flex-end;justify-content:center}.cast .character{width:110px;height:130px;margin-left:-12px}.cast .sheet-character{width:110px;height:130px;background-size:340% auto}.onboard{min-height:100svh;display:grid;grid-template-columns:minmax(280px,1fr) minmax(330px,1fr);max-width:1280px;margin:auto;padding:40px;gap:60px;align-items:center}.onboard-art{height:620px;max-height:85svh;position:relative;border-radius:48px;overflow:hidden;background:url('/assets/garden.png') center/cover}.onboard-art .cast{position:absolute;inset:35% 0 15%;align-items:center;flex-wrap:wrap}.onboard-art .cast .character{width:48%;height:190px}.onboard-art .cast .sheet-character{background-size:320% auto}.onboard-art>img{position:absolute;width:180px;left:28px;top:30px}.form-panel{width:100%;max-width:500px}.form-panel h1{margin:12px 0 18px}.form-panel p{line-height:1.5;color:var(--muted);margin:12px 0}.form-panel label{display:grid;gap:8px;margin:18px 0;font-size:17px}.form-panel input,.form-panel select{border:2px solid var(--line);border-radius:20px;background:var(--paper);padding:18px;min-height:64px;width:100%;color:var(--ink)}.form-panel .primary{width:100%;margin-top:16px}.form-panel .quiet{width:100%}.choice-stack{display:grid;gap:16px;margin:30px 0}.big-choice{background:var(--paper);box-shadow:var(--shadow);border:3px solid transparent;border-radius:28px;padding:24px;text-align:left;min-height:90px;display:flex;gap:20px;align-items:center}.big-choice.selected{border-color:var(--purple);background:var(--lavender)}.onboard-step{color:var(--purple);letter-spacing:2px;font-size:14px}.profiles{display:flex;gap:24px;flex-wrap:wrap;margin:36px 0}.profile-card{background:var(--paper);border-radius:32px;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;min-width:180px;gap:12px}.profile-card .character{width:130px;height:140px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:330px;border-radius:40px;overflow:hidden;background:var(--lavender);position:relative;margin-bottom:32px;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#eee4fa 8%,#eee4faee 32%,#eee4fa00 68%),url('/assets/garden.png') center 48%/cover}.hero-copy{padding:32px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:16px}.eyebrow{font-size:14px;color:var(--purple);letter-spacing:1.7px}.hero-copy p{line-height:1.45;color:var(--muted);max-width:350px}.hero-cast{display:flex;align-items:end;justify-content:center;padding:24px 8px 20px;position:relative}.hero-cast .character{width:50%;height:240px}.hero-cast .sheet-character{width:28%;height:150px;position:absolute;right:5%;bottom:20px}.hero-cast .wopi{animation:hello 7s ease-in-out infinite}.category{margin-top:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading p{font-size:16px;color:var(--muted)}.card-row{display:flex;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:4px 5px 14px;margin:0 -5px}.activity-card{flex:0 0 270px;scroll-snap-align:start;border-radius:30px;overflow:hidden;background:var(--paper);text-align:left;padding:0;box-shadow:var(--shadow);position:relative}.card-scene{height:160px;background:var(--mint);position:relative;overflow:hidden;display:grid;place-items:center}.activity-card:nth-child(3n+2) .card-scene{background:var(--peach)}.activity-card:nth-child(3n) .card-scene{background:var(--sky)}.card-scene .word-art{width:128px;height:128px;position:absolute;left:18px;top:18px}.card-scene .character{height:140px;width:130px;position:absolute;right:0;bottom:-10px}.card-scene .sheet-character{background-size:340% auto}.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 20px;font-size:20px}.card-status{position:absolute;left:12px;top:12px;border-radius:16px;background:var(--paper);padding:6px 12px;display:flex;align-items:center;gap:6px;font-size:13px}.card-status .ph{width:18px;height:18px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:10px 20px calc(12px + var(--safe-bottom));gap:16px;background:var(--paper);border-top:2px solid var(--line);z-index:10}.nav-item{background:transparent;min-width:140px;border-radius:24px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;color:var(--muted);font-size:17px}.nav-item.active{background:var(--lavender);color:var(--purple)}.world-map{position:relative;min-height:520px;background:url('/assets/garden.png') center 48%/cover;border-radius:40px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.world-button{border-radius:32px;background:#fffefaeb;box-shadow:0 8px 0 #17334c15;min-height:210px;position:relative;padding:20px;display:flex;align-items:center;justify-content:center;gap:12px}.world-button .world-art{width:170px;height:140px}.world-button .character{width:110px;height:130px}.world-label{position:absolute;left:20px;bottom:12px;font-size:20px}.map-path{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:30px;padding:30px;border-radius:36px;background:var(--mint);margin:24px 0}.mission-node{background:var(--paper);border-radius:32px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;box-shadow:var(--shadow)}.mission-node .word-art{width:90px;height:90px}.mission-node.active{outline:4px solid var(--purple)}.mission-node.completed{background:var(--peach)}.mission-node.locked{background:var(--line)}.alphabet{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:18px;margin-top:28px}.letter-tile{font:72px var(--letters);background:var(--paper);border-radius:28px;box-shadow:var(--shadow);position:relative}.letter-tile small{position:absolute;font:12px var(--font);bottom:5px;right:8px}.game{min-height:100svh;padding:calc(16px + var(--safe-top)) 28px calc(22px + var(--safe-bottom));display:grid;grid-template-columns:210px 1fr;grid-template-rows:76px 1fr;gap:20px;max-width:1400px;margin:auto}.game-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.game-progress{display:flex;gap:10px;flex:1;max-width:500px}.game-progress span{height:13px;flex:1;background:var(--line);border-radius:20px}.game-progress span.done{background:var(--purple)}.game-guide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.game-guide .character{width:200px;height:230px}.speech-bubble{background:var(--paper);padding:18px;border-radius:24px;font-size:18px;line-height:1.4;box-shadow:var(--shadow);text-align:center}.play-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-width:0}.play-area h1{text-align:center;font-size:32px}.stage{width:100%;max-width:720px;min-height:330px;background:var(--paper);border-radius:40px;display:flex;align-items:center;justify-content:center;gap:36px;padding:26px;position:relative;box-shadow:var(--shadow);overflow:hidden}.trace-svg{width:min(100%,370px);height:min(50svh,370px);min-height:260px;touch-action:none;user-select:none;overflow:visible}.trace-base{stroke:var(--lavender);stroke-width:26;fill:none;stroke-linecap:round;stroke-linejoin:round}.trace-done{stroke:#90c6ad;stroke-width:26;fill:none;stroke-linecap:round;stroke-linejoin:round}.trace-current{stroke:var(--purple);stroke-width:24;fill:none;stroke-linecap:round;stroke-linejoin:round}.trace-start{fill:var(--yellow);stroke:var(--ink);stroke-width:2}.trace-demo{fill:var(--purple);opacity:.6;pointer-events:none}.trace-number{font:12px var(--font);fill:var(--ink);pointer-events:none}.trace-side{display:flex;align-items:center;flex-direction:column;gap:8px}.trace-side .word-art{width:140px;height:140px}.word-label{font:38px/1.2 var(--letters);color:var(--ink)}.phoneme{font:16px var(--letters);color:var(--muted)}.game-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.drag-options{display:flex;gap:20px;justify-content:center;width:100%}.draggable{padding:12px;background:var(--lavender);border-radius:28px;touch-action:none;user-select:none;position:relative}.draggable .word-art{width:130px;height:130px;pointer-events:none}.draggable.picked{outline:4px solid var(--purple)}.drop-target{height:170px;width:210px;border:4px dashed #a99bbe;border-radius:32px;background:var(--cream);display:flex;align-items:center;justify-content:center}.drop-target .word-art{width:110px;height:110px;opacity:.25}.drop-target.filled{border-color:#7bab8d;background:var(--mint)}.drop-target.filled .word-art{opacity:1}.match-stage{flex-direction:column;gap:24px}.match-stage .demo-travel{position:absolute;top:52%;left:25%;width:60px;height:60px;pointer-events:none;animation:drag-demo 2.4s ease-in-out 2;opacity:0}.speak-stage{min-height:310px}.speak-stage .word-art{width:190px;height:190px}.target-word{display:flex;align-items:center;flex-direction:column;gap:20px}.mic-button{width:100px;height:100px;border-radius:50%;background:var(--purple);color:white;display:grid;place-items:center;box-shadow:0 6px 0 var(--purple-dark)}.mic-button .ph{width:48px;height:48px}.mic-button.listening{animation:listen 1.3s ease-in-out infinite}.speak-status{font:18px/1.45 var(--letters);max-width:550px;text-align:center;min-height:54px}.picture-fallback{display:flex;gap:18px}.picture-fallback button{border-radius:24px;background:var(--lavender);padding:12px}.picture-fallback img{width:110px;height:110px}.reward-page{text-align:center;max-width:900px;margin:auto;min-height:100svh;padding:32px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:24px;background:radial-gradient(ellipse,var(--peach),transparent 70%)}.reward-page .cast{max-width:600px;width:100%}.reward-page .cast .character{width:24%;height:180px}.reward-object{width:140px;height:140px;background:var(--paper);border-radius:36px;transform:rotate(-6deg);padding:16px}.reward-object img{width:100%;height:100%}.celebrate{animation:cheer .7s ease-out both}.decorate-garden{position:relative;width:100%;height:440px;border-radius:36px;background:url('/assets/garden.png') center 60%/cover;overflow:hidden;touch-action:none}.decoration{position:absolute;width:90px;height:90px;background:none;padding:0;transform:translate(-50%,-50%);touch-action:none;z-index:2}.decoration img{width:100%;height:100%;pointer-events:none}.inventory{display:flex;gap:16px;margin:24px 0;flex-wrap:wrap}.inventory button{background:var(--paper);border:3px solid transparent;border-radius:24px;padding:10px}.inventory button.selected{border-color:var(--purple)}.inventory img{width:80px;height:80px}.parent-shell{max-width:1000px;margin:auto;padding:32px 24px 80px}.parent-shell .panel{background:var(--paper);border:2px solid var(--line);border-radius:28px;padding:24px;margin:24px 0}.parent-shell label{display:grid;gap:10px;margin:20px 0}.parent-shell input,.parent-shell select{min-height:60px;border-radius:18px;border:2px solid var(--line);padding:12px;background:var(--paper)}.parent-shell p{font:17px/1.65 var(--letters)}.parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stats{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}.stat{flex:1;min-width:150px;padding:20px;background:var(--lavender);border-radius:24px}.stat strong{display:block;font-size:38px}.report-list{font:16px/1.7 var(--letters);padding-left:24px}.toast{position:fixed;left:50%;bottom:120px;transform:translateX(-50%);padding:16px 24px;background:var(--ink);color:white;border-radius:22px;z-index:50;max-width:90vw;font:16px var(--letters)}dialog{max-width:520px;width:calc(100% - 40px);border:0;border-radius:32px;padding:28px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#17334c80}dialog h2{margin-bottom:20px}dialog input{width:100%;padding:18px;border:2px solid var(--line);border-radius:18px;margin:20px 0;min-height:64px}dialog .row{display:flex;gap:16px;margin-top:20px}.network-banner{padding:12px 20px;background:var(--peach);font:16px/1.5 var(--letters);text-align:center}.empty{padding:40px 24px;border-radius:28px;background:var(--paper);text-align:center;line-height:1.5}.world-art{overflow:visible}.dev-note{font:13px/1.4 var(--letters);color:var(--muted);margin-top:16px}.break-screen{min-height:100svh;display:grid;place-items:center;padding:32px;text-align:center}.break-screen>div{display:grid;justify-items:center;gap:24px;max-width:550px}

@keyframes hello{0%,75%,100%{transform:rotate(-1deg)}83%{transform:rotate(2deg) translateY(-5px)}91%{transform:rotate(-1deg)}}@keyframes cheer{0%{transform:scale(.9) translateY(15px)}60%{transform:scale(1.03) translateY(-8px)}100%{transform:none}}@keyframes listen{50%{box-shadow:0 0 0 15px #7450ba24}}@keyframes drag-demo{0%{opacity:0;transform:translateY(50px)}20%{opacity:.55}80%{opacity:.55;transform:translate(100px,-100px)}100%{opacity:0;transform:translate(100px,-100px)}}

@media(max-width:700px){.shell{padding:calc(12px + var(--safe-top)) 20px 118px}.topbar{margin-bottom:20px}.profile-chip{padding:10px;font-size:16px;min-width:72px}.brand{min-width:118px}.brand img{width:118px}.top-actions{gap:8px}.hero{grid-template-columns:1fr;min-height:440px}.hero:before{background:linear-gradient(#eee4fa 0%,#eee4facc 22%,transparent 65%),url('/assets/garden.png') center 48%/cover}.hero-copy{padding:26px;gap:12px;z-index:2}.hero-copy h1{font-size:34px;max-width:290px}.hero-copy p{display:none}.hero-copy .primary{font-size:19px;padding:14px 18px}.hero-cast{height:230px;padding-top:0}.hero-cast .character{height:225px;width:49%}.hero-cast .sheet-character{height:140px;width:30%;right:6%}.card-row{margin-right:-20px;padding-right:20px}.activity-card{flex-basis:255px}.bottom-nav{gap:4px;padding-left:8px;padding-right:8px}.nav-item{min-width:0;flex:1;padding:9px 4px;font-size:12px;flex-direction:column;gap:5px;border-radius:20px}.nav-item .ph{width:28px;height:28px}.onboard{display:flex;flex-direction:column;padding:20px;gap:26px}.onboard-art{width:100%;height:235px;flex-shrink:0;border-radius:32px}.onboard-art>img{width:120px;top:16px;left:20px}.onboard-art .cast{inset:55px 0 0;flex-wrap:nowrap}.onboard-art .cast .character{height:150px;width:27%}.onboard-art .cast .sheet-character{background-size:370% auto}.form-panel{max-width:520px}.world-map{padding:16px;gap:16px;min-height:580px}.world-button{min-height:235px;padding:12px;flex-direction:column;gap:0}.world-button .world-art{width:120px;height:110px}.world-button .character{height:90px;width:80px}.world-label{font-size:17px;left:12px;bottom:12px}.map-path{padding:24px 18px;gap:24px;grid-template-columns:1fr 1fr}.game{display:flex;flex-direction:column;padding:calc(12px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));gap:16px}.game-header{flex-shrink:0}.game-guide{flex-direction:row;justify-content:center;gap:12px;order:2}.game-guide .character{width:90px;height:100px}.game-guide .speech-bubble{font-size:16px;max-width:260px;padding:14px}.play-area{order:1;flex:1;gap:20px;margin-top:10px}.play-area h1{font-size:27px}.stage{padding:20px 12px;gap:12px;min-height:300px;border-radius:32px}.trace-side .word-art{width:90px;height:90px}.trace-side .word-label{font-size:26px}.trace-svg{min-height:240px;height:300px;width:70%}.trace-side{width:28%}.draggable .word-art{width:110px;height:110px}.drag-options{gap:16px}.drop-target{height:140px;width:175px}.speak-stage .word-art{width:170px;height:170px}.speak-stage{min-height:240px}.speak-status{font-size:16px;min-height:45px}.target-word .word-label{font-size:38px}.game-actions{gap:12px}.game-actions .primary,.game-actions .secondary{font-size:18px;padding:14px 20px}.reward-page{padding:24px;gap:24px}.reward-page .cast .character{height:140px}.parent-grid{grid-template-columns:1fr}.parent-shell{padding:20px 16px 60px}.decorate-garden{height:460px}}

@media(orientation:landscape) and (max-height:600px){.game{grid-template-columns:150px 1fr;grid-template-rows:65px 1fr;padding:12px 20px;gap:10px}.game-header .icon{width:64px;height:64px;min-height:64px;min-width:64px}.game-guide .character{height:170px;width:150px}.game-guide .speech-bubble{font-size:15px;padding:12px}.play-area{gap:12px}.play-area h1{font-size:26px}.stage{min-height:210px;padding:12px;max-height:300px}.trace-svg{height:245px;min-height:210px}.trace-side .word-art{width:100px;height:100px}.game-actions button{min-height:72px}.speak-stage .word-art{height:130px;width:130px}.speak-stage .target-word{flex-direction:row}.speak-status{min-height:25px;font-size:15px}.game-guide{gap:8px}.hero{min-height:280px}.hero-cast .character{height:220px}.hero-copy{padding:24px}.onboard{padding:24px;gap:30px}.onboard-art{height:400px}.onboard-art .cast .character{height:140px}.reward-page{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;padding:24px 50px;gap:16px}.reward-page .cast{grid-row:1/5;height:260px;align-items:center;flex-wrap:wrap}.reward-page .cast .character{width:48%;height:150px}.reward-page h1{font-size:32px}.reward-object{width:100px;height:100px;margin:auto}.decorate-garden{height:340px}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.intro-letter{font:132px/1.1 var(--letters)}.target-word>.word-art{width:180px;height:180px}

.hero-cast .wopi{position:absolute;left:0;bottom:15px;width:54%;height:250px;z-index:3}.hero-cast .bipi{position:absolute;right:0;bottom:13px;width:35%;height:215px;z-index:2}.hero-cast .mimo{position:absolute;right:25%;bottom:18px;width:30%;height:140px;z-index:4}.hero-cast .lumi{position:absolute;right:9%;top:5px;width:24%;height:125px;z-index:1}.onboard-art .cast{inset:35% 0 10%;flex-wrap:nowrap}.onboard-art .cast .character{width:27%;height:200px;margin-left:-8px}

@media(max-width:700px){.hero-cast .wopi{height:225px;width:56%;left:-4%}.hero-cast .bipi{height:200px;right:-3%;width:37%}.hero-cast .mimo{height:130px;right:22%;width:31%}.hero-cast .lumi{height:100px;right:9%;top:0}.onboard-art .cast{inset:55px 0 0}.onboard-art .cast .character{height:150px;width:27%}}

@media(max-width:700px) and (orientation:portrait){.hero{min-height:380px}.hero-cast{height:190px}.hero-cast .wopi{height:195px}.hero-cast .bipi{height:170px}.hero-cast .mimo{height:110px}.hero-cast .lumi{height:85px}.game-guide .character{width:76px;height:82px}.play-area{gap:14px}.stage{min-height:270px;padding:12px}.trace-svg{height:260px;min-height:240px}.game-guide .speech-bubble{font-size:15px;padding:12px}.speak-status:empty{display:none}}

@media(orientation:landscape) and (max-height:600px){.play-area{display:grid;grid-template-columns:minmax(220px,1fr) 160px;grid-template-rows:auto auto;align-content:center;gap:12px}.play-area>h1{grid-column:1/-1}.play-area>.stage{grid-column:1;grid-row:2/5;min-height:220px;height:100%;max-height:260px}.play-area>.game-actions{grid-column:2;flex-direction:column;gap:8px}.play-area>.speak-status{grid-column:2;font-size:14px}.play-area>.speak-status:empty{display:none}.play-area>#fallback{grid-column:2}.picture-fallback{gap:8px}.picture-fallback button{padding:4px}.picture-fallback img{width:64px;height:64px}.trace-svg{height:230px}.intro-letter{font-size:112px}.target-word>.word-art{width:135px;height:135px}.game-guide .character{height:160px}.game-actions .mic-button{width:80px;height:80px;min-width:80px;align-self:center}}

@media(max-width:700px){.intro-letter{font-size:112px}.target-word>.word-art{width:135px;height:135px}}



.auth-portrait{background:#fffaf1}.auth-wrap{max-width:440px;min-height:100svh;margin:auto;padding:16px 28px 32px;display:flex;flex-direction:column;align-items:center}.auth-header{height:64px;position:relative;width:100%;display:flex;align-items:center;justify-content:center}.auth-header .welcome-back{top:0}.auth-mascot{width:140px;height:128px;position:relative;background:var(--welcome-peach);border-radius:44px;margin:20px 0 16px;display:grid;place-items:center}.auth-mascot .character{width:130px;height:130px;object-fit:contain}.auth-mascot>span{position:absolute;bottom:-4px;right:-8px;width:44px;height:44px;border:4px solid #fffaf1;border-radius:17px;background:var(--welcome-mint);color:var(--welcome-mint-ink);display:grid;place-items:center}.auth-mascot .ph{width:24px;height:24px}.auth-eyebrow{font:12px var(--welcome-copy);letter-spacing:1.6px;color:var(--welcome-muted);margin:4px 0 12px}.auth-wrap h1{font:600 34px/1.15 var(--welcome-font);text-align:center;margin:0;color:var(--welcome-ink)}.auth-copy{font:14px/1.6 var(--welcome-copy);color:var(--welcome-muted);text-align:center;margin:14px 0 22px}.auth-fields{width:100%;display:flex;flex-direction:column;gap:12px}.auth-fields label{font:16px var(--welcome-font);display:flex;flex-direction:column;gap:9px}.auth-fields input{min-height:64px;width:100%;border:2px solid var(--welcome-choice-outline);border-radius:20px;background:white;padding:16px;font:16px var(--welcome-copy);color:var(--welcome-ink)}.auth-fields input:focus{outline:3px solid var(--welcome-tint);border-color:var(--welcome-purple)}.auth-password{position:relative}.auth-password input{padding-right:110px}.auth-password button{position:absolute;right:4px;top:0;min-height:64px;min-width:88px;padding:8px;background:none;color:var(--welcome-purple);font:14px var(--welcome-font)}.auth-hint{font:12px var(--welcome-copy);color:var(--welcome-muted);margin:-4px 0 0}.auth-forgot{align-self:flex-end;background:none;min-height:48px;padding:8px 0;font:14px var(--welcome-copy);color:var(--welcome-purple)}.auth-fields .error,.auth-message{font:14px/1.5 var(--welcome-copy);margin:0}.auth-fields .error:empty,.auth-message:empty{display:none}.auth-message{color:var(--welcome-mint-ink)}.auth-fields .welcome-next{margin-top:6px}.auth-switch{min-height:72px;background:none;font:16px var(--welcome-font);color:var(--welcome-purple);padding:16px 4px}.auth-privacy{font:12px var(--welcome-copy);color:var(--welcome-muted);min-height:48px;display:flex;align-items:center}.auth-wrap button:focus-visible{outline:3px solid var(--welcome-purple);outline-offset:3px}.auth-wrap button:active{transform:scale(.97)}



.word-home{background:#7653c7!important;min-height:100svh;color:white;display:block!important;overflow:visible!important}.word-home-header{max-width:480px;margin:auto;padding:20px 24px 12px;display:flex;align-items:center;justify-content:space-between}.word-home-logo{width:105px;filter:brightness(0) invert(1)}.word-parent{width:72px;height:72px;display:grid;place-items:center;border-radius:25px;background:#6242ae;color:white;border:2px solid #9275d5}.word-parent .ph{width:28px;height:28px}.word-home-content{max-width:480px;margin:auto;padding:0 24px 28px}.word-profile{display:flex;gap:12px;align-items:center;padding:10px 16px 10px 10px;border-radius:24px;background:#6242ae;width:fit-content;max-width:100%;font:500 20px var(--font-ui)}.word-profile>img{width:48px;height:48px;background:#ffe8ae;border-radius:17px;object-fit:contain}.word-profile>span{overflow-wrap:anywhere}.word-profile small{display:block;font:12px var(--font-learning);opacity:.85;margin-top:4px}.word-welcome{margin:26px 0 22px}.word-welcome>p{font:12px var(--font-ui);letter-spacing:1.8px;color:#eee5ff;margin:0 0 10px}.word-welcome h1{font:600 35px/1.15 var(--font-ui);margin:0;color:white}.word-start{display:flex;position:relative;isolation:isolate;text-align:left;padding:24px;border:0;border-radius:32px;background:#ffe18b;color:#302b55;width:100%;min-height:224px;box-shadow:0 7px 0 #58369e;overflow:hidden}.word-start-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.word-start-copy>small{font:11px var(--font-ui);letter-spacing:1.2px}.word-start-copy>strong{font:600 28px/1.15 var(--font-ui)}.word-start-cta{background:#302b55;color:white;border-radius:18px;min-height:52px;padding:12px 16px;display:flex;align-items:center;gap:16px;font:500 18px var(--font-ui)}.word-start-cta .ph{width:22px;height:22px}.word-start-art{position:absolute;right:5px;bottom:-4px;width:43%;height:100%;display:flex;justify-content:center;align-items:flex-end}.word-start-art>img{width:130px;height:155px;object-fit:contain;z-index:1}.word-start-art>span{position:absolute;top:20px;right:12px;font:64px var(--font-learning);color:#9e6a33;transform:rotate(8deg)}.word-section-title{font:500 24px var(--font-ui);margin:32px 0 16px;color:white}.word-activities{display:grid;gap:16px}.word-activity{display:flex;align-items:center;gap:16px;text-align:left;width:100%;min-height:112px;border-radius:28px;border:0;background:white;padding:16px;color:#302b55;box-shadow:0 5px 0 #58369e;font:500 21px var(--font-ui)}.word-activity>span:nth-child(2){flex:1}.word-activity small{display:block;font:12px var(--font-learning);color:#77748b;margin-top:6px}.word-activity>.ph{width:24px;height:24px;color:#7653c7}.word-activity-art{width:76px;height:76px;border-radius:23px;flex-shrink:0;display:grid;place-items:center;font:34px var(--font-learning)}.word-activity-art.mint{background:#e1f2e8;color:#438b75}.word-activity-art.peach{background:#fff0dc}.word-activity-art.sky{background:#e7f2fc}.word-activity-art .art{width:70px;height:70px}.word-home-note{text-align:center;font:12px/1.5 var(--font-learning);color:#eee5ff;margin:28px 0 0}.word-home button{cursor:pointer;touch-action:manipulation;transition:transform 160ms}.word-home button:active{transform:scale(.97)}.word-home button:focus-visible{outline:4px solid #ffe18b;outline-offset:5px}



.word-home{--font-ui:Fredoka,ui-rounded,sans-serif;--font-learning:var(--letters)}.word-home{font-family:Fredoka,sans-serif}.word-profile>.character{width:48px;height:48px}.word-activity-art .word-art{width:70px;height:70px}.word-home-header>.icon{background:#6242ae;color:white;border:2px solid #9275d5}.word-home .word-profile{border:0;color:white;text-align:left}.word-home .word-start-art .character{width:130px;height:155px}


.word-home{padding:0!important}.word-start-copy>strong{font-size:26px}.word-start-art{right:0;width:38%}.word-start-art>span{font-size:52px;right:10px;top:16px}.word-start-art>img{width:115px;height:145px}

.word-home{height:auto!important;max-height:none!important;min-height:100svh}

/* Parent-only backup review: keep consent controls readable on small screens. */
.backup-confirm{box-sizing:border-box;max-width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:24px;border:0;border-radius:24px}.backup-confirm label{display:flex;gap:12px;align-items:start;margin:16px 0}.backup-confirm input[type=checkbox]{width:24px;min-width:24px;height:24px;min-height:24px;margin:2px 0}.backup-confirm label:has(input[type=password]){display:block}.backup-confirm input[type=password]{width:100%;box-sizing:border-box}.backup-confirm .game-actions{display:flex;flex-wrap:wrap;gap:12px}#account-backup-panel .game-actions{gap:12px;flex-wrap:wrap}

.premium-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.premium-plans article{padding:20px;border:2px solid #ead6ae;border-radius:24px;background:#fff8ec}.premium-plans strong{font-size:28px;color:#253450}.premium-locked .engine-state .world-icon{width:20px;height:20px;flex:none}

.account-entry{max-width:560px;padding:calc(24px + env(safe-area-inset-top)) 24px 32px;margin:0 auto;box-sizing:border-box}.account-entry .entry-wopi{display:block;width:128px;height:128px;object-fit:contain;margin:24px auto 16px}.account-entry h1,.account-entry>p{text-align:center}.account-entry .profiles{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0}.account-entry .profile-card{display:flex;align-items:center;gap:20px;min-height:88px;padding:12px 20px;text-align:left;border-radius:24px}.account-entry .profile-card .character{width:64px;height:64px;object-fit:contain}.account-entry .profile-card span{font-size:24px}.auth-email-summary{overflow-wrap:anywhere}.account-entry .topbar{padding:0;gap:12px}.account-entry .topbar .brand img{max-width:100px}

.consent-shell{max-width:720px;margin:0 auto;padding:calc(28px + env(safe-area-inset-top)) 24px 40px;box-sizing:border-box}.consent-logo{width:112px;height:auto}.consent-copy{font-size:17px;line-height:1.65;overflow-wrap:anywhere}.consent-copy p+p{margin-top:20px}.consent-check{display:flex!important;align-items:flex-start;gap:14px;line-height:1.5}.consent-check input[type=checkbox]{width:26px;height:26px;min-width:26px;margin:0;accent-color:var(--primary,#ef8a37)}.consent-shell form{gap:20px}.consent-shell button{min-height:56px;white-space:normal}.consent-shell details summary{min-height:48px;cursor:pointer}
