@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.frac{display:inline-flex;align-items:center;vertical-align:middle;margin:0 .15em;font-weight:800}.frac__whole{margin-right:.1em;font-size:1.05em}.frac__stack{display:inline-flex;flex-direction:column;align-items:center;font-size:.9em;line-height:1.05}.frac__num{border-bottom:.12em solid currentColor;padding:0 .15em}.frac__den{padding:0 .15em}.frac__hole{display:inline-block;min-width:.9em;padding:0 .1em;border:.1em dashed currentColor;border-radius:.2em;text-align:center;line-height:1.1}.choice{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.choice__option{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:96px;padding:12px 16px;border:3px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font-size:1.4rem;font-weight:800;cursor:pointer;transition:background .1s,border-color .1s}.choice__option:hover:not(:disabled){border-color:var(--accent);background:#fffaf5}.choice__option--selected{border-color:var(--accent);background:#fff1e6}.choice__option:disabled{cursor:default}.ninput{display:inline-flex;align-items:center;gap:12px}.ninput__box{width:140px;height:64px;border:3px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;font-size:2rem;font-weight:800;text-align:center}.ninput__box:focus{outline:none;border-color:var(--accent)}.ninput__box:disabled{background:#f3f6fa}.ninput__unit{font-size:1.5rem;font-weight:800}.boss-art{display:block;overflow:visible}.boss-art__body{transform-box:view-box;transform-origin:50% 90%;transition:transform .5s,filter .5s}.boss-art--idle .boss-art__body{animation:boss-float 3s ease-in-out infinite}.boss-art--hit .boss-art__body{animation:boss-shake .5s ease-in-out}.boss-art--laugh .boss-art__body{animation:boss-laugh .35s ease-in-out 3}.boss-art--defeated .boss-art__body{transform:rotate(-12deg) translateY(6px);filter:grayscale(.6)}@keyframes boss-float{50%{transform:translateY(-4px)}}@keyframes boss-shake{20%{transform:translate(-8px) rotate(-6deg)}40%{transform:translate(8px) rotate(6deg)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes boss-laugh{50%{transform:translateY(-6px) scale(1.04,.96)}}.boss-art__led{animation:boss-blink 1.2s steps(2,start) infinite}.boss-art--defeated .boss-art__led{animation:none}.boss-art__steam{animation:boss-steam 2s ease-in-out infinite}.boss-art__pebbles{animation:boss-fall .5s ease-in forwards}.boss-art__sparks{animation:boss-flicker .15s steps(2) infinite}@keyframes boss-blink{to{opacity:.35}}@keyframes boss-steam{50%{opacity:.4;transform:translateY(-4px)}}@keyframes boss-fall{to{opacity:0;transform:translateY(26px)}}@keyframes boss-flicker{to{opacity:.3}}.dots{display:block;max-width:100%;margin:0 auto}.dots__frame{fill:#fff8e7;stroke:#8a5a2b;stroke-width:2.5}.dots__dot{fill:#d5e3f0;stroke:#8a9bb5;stroke-width:1.5}.dots__group--shaded .dots__frame{fill:#fff1e6}.dots__group--shaded .dots__dot{fill:var(--accent);stroke:#c45f1c}.fshape{display:block;margin:0 auto;overflow:visible}.fshape__cell{fill:#fff8e7;stroke:#8a5a2b;stroke-width:3;stroke-linejoin:round;transition:fill .25s}.fshape--circle .fshape__cell{fill:#ffe7a3}.fshape--grid .fshape__cell{fill:#e9d3bb;stroke:#6b3e1f}.fshape .fshape__cell--shaded{fill:var(--accent)}.fshape--interactive .fshape__cell{cursor:pointer}.fshape--interactive .fshape__cell:hover{filter:brightness(.93)}.fshape--interactive .fshape__cell:focus-visible{outline:none;stroke:var(--ink);stroke-width:5}.flabel{display:flex;align-items:center;gap:20px}.flabel__frac{display:flex;flex-direction:column;align-items:center;font-size:4rem;font-weight:800;line-height:1.1}.flabel__num{padding:0 12px;border-bottom:6px solid var(--ink)}.flabel__names{display:flex;flex-direction:column;gap:34px;color:var(--accent);font-size:1.4rem;font-weight:800}.nline{display:block;max-width:100%;margin:0 auto;overflow:visible}.nline--interactive{cursor:pointer;border-radius:12px}.nline--interactive:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.nline__axis{stroke:var(--ink);stroke-width:4;stroke-linecap:round}.nline__tick{stroke:var(--ink);stroke-width:2.5}.nline__tick--major{stroke-width:4}.nline__label{fill:var(--ink);font-size:22px;font-weight:800}.nline__marker{fill:var(--accent)}.nline__selected{fill:var(--accent);stroke:var(--surface);stroke-width:3}.nline__hit{fill:transparent}.nline__hit:hover{fill:#ff8a3d26}.uft{margin:0 auto;border-collapse:separate;border-spacing:0;border:3px solid #2f6b4f;border-radius:14px;overflow:hidden;background:#fffdf5;font-size:1.15rem;font-variant-numeric:tabular-nums}.uft th{padding:6px 16px;background:#2f6b4f;color:#fff;font-weight:800}.uft td{padding:4px 16px;text-align:center;border-top:1px solid #e3dcc6}.uft__row--on td{background:#fff1b8;font-weight:800}.uft-pair{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:16px}.uft-pair .uft{margin:0}.beads{display:block;max-width:100%;height:auto;margin:0 auto}.beads__string{stroke:#8a5a2b;stroke-width:2.5;stroke-linecap:round}.beads__frame{fill:#fff8e7b3;stroke:#8a5a2b;stroke-width:2.5}.beads__bead circle:first-child{stroke:#00000040;stroke-width:1.5}.glasses{display:block;max-width:100%;height:auto;margin:0 auto}.glasses__layer{stroke:#fff;stroke-width:1.5}.glasses__glass{fill:none;stroke:#8a9bb5;stroke-width:3}.glasses__label{fill:var(--ink);font-size:20px;font-weight:900}.offers{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.offers__offer{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:120px;padding:18px 14px 14px;border:3px solid var(--line);border-radius:16px;background:var(--surface)}.offers__label{position:absolute;top:-14px;left:-10px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#3a86ff;color:#fff;font-weight:900}.offers__items{display:grid;justify-content:center;font-size:1.4rem;line-height:1.3}.offers__price{padding:4px 12px;border-radius:10px;background:var(--star);color:#5b3a00;font-size:1.2rem;font-weight:900;transform:rotate(-4deg)}.rtable{display:block;max-width:100%;height:auto;margin:0 auto;overflow:visible}.rtable__label{fill:#fff1e6;stroke:#8a5a2b;stroke-width:2}.rtable__label-text{fill:var(--ink);font-size:15px;font-weight:800}.rtable__cell{fill:#fff;stroke:#8a5a2b;stroke-width:2}.rtable__cell--ask{fill:#fff1e6}.rtable__blank{fill:none;stroke:#8a9bb5;stroke-width:2;stroke-dasharray:5 4}.rtable__text{fill:var(--ink);font-size:20px;font-weight:800}.rtable__text--ask{fill:var(--accent);font-size:24px;font-weight:900}.rtable__arrow path{fill:none;stroke:#3a86ff;stroke-width:2.5}.rtable__arrow text{fill:#3a86ff;font-size:15px;font-weight:800}.recipe{min-width:240px;padding:14px 22px 16px;border:3px dashed #f0c98a;border-radius:16px;background:#fffaf0;text-align:left}.recipe__title{font-size:1.3rem;font-weight:900}.recipe__persons{margin-bottom:8px;color:var(--ink-soft);font-weight:700}.recipe__list{margin:0;padding:0;list-style:none;font-size:1.15rem;font-weight:700;line-height:1.6}.recipe__emoji{display:inline-block;width:1.8rem}.smap{display:block;max-width:100%;height:auto;margin:0 auto}.smap__land{fill:#d8f0c8;stroke:#8fc27a;stroke-width:3}.smap__river{fill:none;stroke:#8fd3f4;stroke-width:10;stroke-linecap:round}.smap__tree{fill:#6cbb53}.smap__route{stroke:#8a5a2b;stroke-width:4;stroke-linecap:round}.smap__route--unknown{stroke-dasharray:8 7}.smap__tick{stroke:#8a5a2b;stroke-width:3;stroke-linecap:round}.smap__distance,.smap__name{fill:var(--ink);font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.smap__distance{font-size:22px}.smap__name{font-size:16px}.smap__scale rect{fill:#fff;stroke:#8a5a2b;stroke-width:2}.smap__scale text{fill:var(--ink);font-size:16px;font-weight:800}.finput{display:inline-flex;align-items:center;gap:12px}.finput__frac{display:inline-flex;flex-direction:column;align-items:center;gap:6px}.finput__box{width:84px;height:64px;border:3px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;font-size:2rem;font-weight:800;text-align:center}.finput__whole{height:96px;font-size:2.8rem}.finput__box:focus{outline:none;border-color:var(--accent)}.finput__box:disabled{background:#f3f6fa}.finput__line{width:100px;height:5px;border-radius:3px;background:var(--ink)}.chameleon{display:block;flex-shrink:0;overflow:visible}.chameleon__body{transform-box:view-box;transform-origin:60px 85px}.chameleon--idle .chameleon__body{animation:chameleon-breathe 3s ease-in-out infinite}.chameleon--walk .chameleon__body{animation:chameleon-bob .4s ease-in-out infinite}.chameleon--cheer .chameleon__body{animation:chameleon-jump .6s ease-out 2}.chameleon__mouth,.chameleon--talk .chameleon__smile{display:none}.chameleon--talk .chameleon__mouth{display:inline;transform-box:fill-box;transform-origin:center;animation:chameleon-talk .3s ease-in-out infinite alternate}.chameleon--rainbow .chameleon__body{animation:chameleon-rainbow 2s linear infinite}.chameleon--rainbow.chameleon--cheer .chameleon__body{animation:chameleon-jump .6s ease-out 2,chameleon-rainbow 2s linear infinite}@keyframes chameleon-breathe{50%{transform:scale(1.03,.98)}}@keyframes chameleon-bob{50%{transform:translateY(-3px)}}@keyframes chameleon-jump{40%{transform:translateY(-14px)}70%{transform:translateY(0) scale(1.05,.95)}}@keyframes chameleon-talk{0%{transform:scaleY(.4)}to{transform:scaleY(1.2)}}@keyframes chameleon-rainbow{to{filter:hue-rotate(360deg)}}.animal{display:block;flex-shrink:0;overflow:visible}.animal__body{transform-box:view-box;transform-origin:50% 90%}.animal--idle .animal__body{animation:animal-breathe 3s ease-in-out infinite}.animal--walk .animal__body{animation:animal-bob .4s ease-in-out infinite}.animal__mouth,.animal--talk .animal__smile{display:none}.animal--talk .animal__mouth{display:inline;transform-box:fill-box;transform-origin:center;animation:animal-talk .3s ease-in-out infinite alternate}.fox.animal--cheer .animal__body{animation:animal-hop .6s ease-out 2}.fox.animal--cheer .fox__tail{transform-box:view-box;transform-origin:40px 56px;animation:fox-swish .25s ease-in-out 6 alternate}.owl.animal--cheer .owl__head{transform-box:view-box;transform-origin:50px 32px;animation:owl-spin .9s ease-in-out 1}.turtle.animal--cheer .animal__body{transform-origin:50% 60%;animation:turtle-spin 1s ease-in-out 1}@keyframes animal-breathe{50%{transform:scale(1.03,.98)}}@keyframes animal-bob{50%{transform:translateY(-3px)}}@keyframes animal-hop{40%{transform:translateY(-14px)}}@keyframes animal-talk{0%{transform:scaleY(.4)}to{transform:scaleY(1.2)}}@keyframes fox-swish{0%{transform:rotate(-18deg)}to{transform:rotate(18deg)}}@keyframes owl-spin{to{transform:rotate(360deg)}}@keyframes turtle-spin{to{transform:rotate(360deg)}}.buddy-says{display:flex;align-items:flex-end;gap:16px}.buddy-says__side{display:flex;flex:1;flex-direction:column;gap:4px;margin-bottom:20px}.buddy-says__name{padding-left:8px;font-size:1rem;font-weight:800;color:var(--ink-soft)}.buddy-says__bubble{position:relative;padding:16px 20px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);font-size:1.25rem;line-height:1.5}.buddy-says__bubble:before{content:"";position:absolute;left:-14px;bottom:18px;border-style:solid;border-width:8px 14px 8px 0;border-color:transparent var(--surface) transparent transparent}.boss{display:flex;align-items:center;gap:16px}.boss__figure{flex-shrink:0;width:130px}.boss__side{display:flex;flex:1;flex-direction:column;gap:8px}.boss__title{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.boss__name{font-size:1.1rem;font-weight:800}.boss__hearts{display:flex;gap:2px;font-size:1.4rem;line-height:1}.boss__heart{color:var(--bad);transition:transform .3s,color .3s}.boss__heart--lost{color:var(--line);transform:scale(.8)}.boss__bubble{position:relative;padding:14px 18px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);font-size:1.2rem;line-height:1.5}.boss__bubble:before{content:"";position:absolute;top:18px;left:-14px;border-style:solid;border-width:8px 14px 8px 0;border-color:transparent var(--surface) transparent transparent}.qcard{display:flex;flex-direction:column;align-items:center;gap:20px;padding:28px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.qcard__prompt{margin:0;font-size:1.6rem;font-weight:800;text-align:center}.qcard__visual,.qcard__input{display:flex;justify-content:center;width:100%}.feedback{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:16px 20px;border-radius:16px;text-align:center;font-size:1.1rem;animation:feedback-in .25s ease-out}.feedback p{margin:0}.feedback--good{background:var(--good-soft)}.feedback--hint{background:#fff4e0}.feedback--bad{background:var(--bad-soft)}.feedback__title{font-size:1.3rem;font-weight:800}.feedback__label{font-weight:800}.feedback__steps{display:flex;flex-direction:column;align-items:center;gap:12px}.feedback__step{display:flex;flex-direction:column;align-items:center;gap:8px}@keyframes feedback-in{0%{opacity:0;transform:translateY(8px)}}.reward{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(420px,100%);padding:16px 20px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.reward__totals{display:flex;gap:24px;font-size:2rem;font-weight:900}.reward__total{color:#c98a00;animation:reward-pop .5s ease-out both}.reward__total--gems{color:#3a86ff}.reward__lines{display:flex;flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none}.reward__line{display:flex;justify-content:space-between;gap:12px;color:var(--ink-soft);font-weight:700;animation:reward-line .35s ease-out both}.reward__amount{color:var(--ink);white-space:nowrap}@keyframes reward-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.15)}}@keyframes reward-line{0%{transform:translateY(6px);opacity:0}}.level{display:flex;flex-direction:column;gap:20px;max-width:960px;margin:0 auto;padding:20px 16px 48px}.level__top{display:flex;align-items:center;gap:16px}.level__title{flex:1;font-size:1.5rem}.level__play,.intro{display:flex;flex-direction:column;gap:16px}.level__play>:first-child{position:sticky;top:0;z-index:2;padding:8px 0;background:var(--bg)}@media(max-width:640px),(max-height:600px){.level__play>:first-child{position:static}}.intro__visual{display:flex;justify-content:center;padding:28px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.intro__nav{display:flex;justify-content:space-between}.skip-choice{display:flex;flex-direction:column;gap:24px}.skip-choice__actions{display:flex;justify-content:center;gap:16px}.phases{display:flex;flex-direction:column;align-items:center;gap:10px}.phases__steps{display:flex;gap:8px;margin:0;padding:0;list-style:none}.phases__step{padding:6px 14px;border-radius:999px;background:var(--surface);color:var(--ink-soft);font-weight:700}.phases__step--active{background:var(--accent);color:var(--accent-ink)}.phases__step--done{background:var(--good-soft);color:var(--good)}.phases__dots{display:flex;gap:6px}.phases__dot{width:14px;height:14px;border-radius:50%;background:var(--line);transition:transform .2s,background .2s}.phases__dot--current{background:var(--accent);transform:scale(1.25)}.phases__dot--good{background:var(--good)}.phases__dot--bad{background:var(--bad)}.result{display:flex;flex-direction:column;align-items:center;gap:16px}.result__stars{display:flex;gap:12px;font-size:5rem;line-height:1}.result__star{color:var(--line)}.result__star--won{color:var(--star);animation:star-pop .5s ease-out both}.result__score{margin:0;font-size:1.4rem;font-weight:800}.result__actions{display:flex;gap:16px}@keyframes star-pop{0%{transform:scale(0) rotate(-30deg)}70%{transform:scale(1.3)}to{transform:scale(1)}}.loading{display:grid;place-items:center;min-height:60vh}.loading__text{color:var(--ink-soft);font-size:1.4rem;font-weight:800;animation:loading-pulse 1.2s ease-in-out infinite alternate}@keyframes loading-pulse{0%{opacity:.4}}.avatar{display:block;overflow:visible}.avatar__body,.avatar__leg,.avatar__arm{transform-box:view-box}.avatar__leg--back{transform-origin:25px 60px}.avatar__leg--front{transform-origin:35px 60px}.avatar__arm--back{transform-origin:20px 45px}.avatar__arm--front{transform-origin:41px 45px}.avatar--walking .avatar__body{animation:avatar-bob .3s ease-in-out infinite}.avatar--walking .avatar__leg--front,.avatar--walking .avatar__arm--back{animation:avatar-swing .3s ease-in-out infinite alternate}.avatar--walking .avatar__leg--back,.avatar--walking .avatar__arm--front{animation:avatar-swing .3s ease-in-out infinite alternate-reverse}@keyframes avatar-bob{50%{transform:translateY(-2px)}}@keyframes avatar-swing{0%{transform:rotate(-22deg)}to{transform:rotate(22deg)}}.login{display:flex;flex-direction:column;align-items:center;gap:24px}.login__title{font-size:2.6rem}.login__notice{margin:0;padding:10px 18px;border-radius:999px;background:#fff4d6;color:#7a5a00;font-weight:800}.login__players{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;width:100%}.login__player{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;min-height:190px;padding:18px 10px;border:4px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.login__player:hover{border-color:var(--accent);transform:translateY(-3px)}.login__player--other{background:var(--bg);border-style:dashed}.login__figures{display:flex;align-items:flex-end;gap:4px}.login__plus{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--line);color:var(--ink-soft);font-size:2.6rem;font-weight:900}.login__name{font-size:1.3rem;font-weight:900}.login__card{display:flex;flex-direction:column;gap:18px;width:min(520px,100%);padding:28px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.login__ask{display:flex;align-items:center;gap:14px}.login__bubble{flex:1;margin:0;padding:14px 18px;border-radius:var(--radius);background:var(--bg);font-size:1.25rem;font-weight:700}.login__field{display:flex;flex-direction:column;gap:6px;font-weight:800}.login__input{padding:12px 18px;border:3px solid var(--line);border-radius:999px;font:inherit;font-size:1.4rem}.login__input:focus{border-color:var(--accent);outline:none}.login__error{margin:0;color:var(--bad);font-weight:800}.login__actions{display:flex;justify-content:flex-end;gap:12px}.arcade{position:fixed;inset:0;z-index:70;display:flex;justify-content:center;align-items:flex-start;padding:12px;overflow-y:auto;background:#060814e0;animation:arcade-in .25s ease-out}.arcade__cabinet{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:min(640px,100%);margin:auto;padding:20px;border:6px solid #7b5ce0;border-radius:24px;background:#1a1440;box-shadow:0 0 40px #7b5ce0b3,inset 0 0 24px #0009;color:#fff;font-family:Courier New,monospace;outline:none}.arcade__cabinet--playing{width:auto;padding:10px}.arcade__top{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.arcade__marquee{margin:0;padding:6px 14px;border-radius:10px;background:#ffd23f;color:#1a1440;font-family:Courier New,monospace;font-size:1.7rem;font-weight:900;letter-spacing:1px;white-space:nowrap;box-shadow:0 0 24px #ffd23fbf}.arcade__controls{display:flex;align-items:center;gap:8px}.arcade__controls .icon-btn{width:40px;height:40px;font-size:1.1rem}.arcade__controls .btn{padding:6px 12px;font-size:.9rem}.arcade__screen{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:18px 16px;border-radius:14px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 2px,transparent 2px 4px),#0b1026;text-align:center}.arcade__tagline{margin:0;color:#bfeaff;font-size:1.05rem;font-weight:700}.arcade__march{display:flex;gap:14px;align-items:flex-end;animation:arcade-march 2.4s steps(8) infinite alternate}.arcade__numbers{display:flex;gap:40px;margin:0}.arcade__numbers dt{color:#ffd23f;font-size:.9rem;font-weight:700}.arcade__numbers dd{margin:0;font-size:1.9rem;font-weight:900}.arcade__points{display:grid;gap:6px;margin:0;padding:0;list-style:none}.arcade__points li{display:grid;grid-template-columns:44px 120px auto;align-items:center;gap:8px;font-size:.9rem;text-align:left}.arcade__help{margin:0;color:#8290b0;font-size:.9rem}.arcade__start{font-family:inherit}.arcade__blink{margin:0;color:#6cdb5a;font-size:1.05rem;font-weight:900;animation:arcade-blink 1.1s steps(2) infinite}.arcade__gameover{margin:0;color:#ff6b6b;font-size:2.6rem;font-weight:900}.arcade__record{margin:0;color:#ffd23f;font-size:1.4rem;font-weight:900;animation:arcade-blink .8s steps(2) infinite}.arcade__game{display:flex}.arcade__field{position:relative;display:flex}.arcade__canvas{display:block;width:min(calc((100vh - 60px)*.875),630px);width:min(calc((100dvh - 60px)*.875),630px);aspect-ratio:7 / 8;border-radius:10px;background:#0b1026}.arcade__game--touch{display:grid;grid-template-columns:1fr auto;grid-template-areas:"field field" "pad buttons";align-items:center;gap:10px;--arcade-controls: 104px}.arcade__game--touch .arcade__field{grid-area:field;justify-content:center}.arcade__game--touch .arcade__canvas{width:min(calc(100vw - 48px),calc((100vh - 84px - var(--arcade-controls)) * 7 / 8));width:min(calc(100vw - 48px),calc((100dvh - 84px - var(--arcade-controls)) * 7 / 8))}.arcade__pad{grid-area:pad;display:flex;justify-content:space-between;align-items:center;height:92px;padding:0 22px;border:4px solid rgba(255,255,255,.85);border-radius:24px;background:#2b2363;color:#fff;font-size:1.9rem;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.arcade__buttons{grid-area:buttons;display:flex;align-items:center;gap:10px}.arcade__pausebtn,.arcade__fire{border:4px solid rgba(255,255,255,.85);border-radius:50%;color:#fff;cursor:pointer;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.arcade__pausebtn{width:52px;height:52px;background:#2b2363;font-size:1.2rem}.arcade__fire{width:92px;height:92px;background:#e5534b;box-shadow:0 5px #00000059;font-size:2.2rem}.arcade__fire:active{transform:translateY(3px);box-shadow:0 2px #00000059}@media(max-width:640px){.arcade{padding:6px}.arcade__cabinet{padding:10px;border-width:4px;border-radius:18px}.arcade__marquee{padding:4px 8px;font-size:1.05rem;letter-spacing:0}.arcade__screen{padding:12px 8px}.arcade__march{gap:4px;animation:none}.arcade__march svg{width:36px;height:auto}.arcade__points li{grid-template-columns:38px 96px auto;font-size:.8rem}}@media(orientation:landscape)and (max-height:600px){.arcade{padding:4px}.arcade__game--touch{grid-template-columns:1fr auto 1fr;grid-template-rows:auto;grid-template-areas:"pad field buttons";gap:12px;width:calc(100vw - 40px)}.arcade__game--touch .arcade__canvas{width:min(calc((100vh - 36px)*.875),calc(100vw - 340px));width:min(calc((100dvh - 36px)*.875),calc(100vw - 340px))}.arcade__cabinet--playing{width:100%;padding:6px}.arcade__buttons{flex-direction:column}.arcade__screen{padding:10px 8px;gap:8px}.arcade__points{display:none}}.arcade__pause{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border-radius:10px;background:#0b1026d1;padding:12px;text-align:center}.arcade__pause strong{color:#ffd23f;font-size:2.4rem}@keyframes arcade-in{0%{opacity:0;transform:scale(.97)}}@keyframes arcade-march{0%{transform:translate(-28px)}to{transform:translate(28px)}}@keyframes arcade-blink{50%{opacity:0}}.item-art{display:block;overflow:visible}.item-sway{transform-box:fill-box;transform-origin:50% 100%;animation:item-sway 3.5s ease-in-out infinite alternate}.item-flicker{transform-box:fill-box;transform-origin:50% 100%;animation:item-flicker .35s ease-in-out infinite alternate}.item-glow{animation:item-glow 1.6s ease-in-out infinite alternate}.item-swing{transform-box:view-box;transform-origin:30px 9px;animation:item-swing 2.2s ease-in-out infinite alternate}.item-spin{transform-box:view-box;transform-origin:30px 26px;animation:item-spin 5s linear infinite}.item-wave{transform-box:fill-box;transform-origin:0 50%;animation:item-wave .9s ease-in-out infinite alternate}.item-jet{stroke-dasharray:5 5;animation:item-jet .6s linear infinite}.item-animal{animation:item-wander 6s ease-in-out infinite}.item-statue{display:inline-flex;flex-direction:column;align-items:center}.item-statue__figure{margin-bottom:-6px;filter:sepia(1) saturate(4) hue-rotate(-12deg) brightness(1.05) drop-shadow(0 0 3px rgba(255,210,63,.8))}@keyframes item-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes item-flicker{0%{transform:scaleY(.9)}to{transform:scale(.94,1.08)}}@keyframes item-glow{0%{opacity:.45}to{opacity:1}}@keyframes item-swing{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}@keyframes item-spin{to{transform:rotate(360deg)}}@keyframes item-wave{0%{transform:skewY(-5deg)}to{transform:skewY(5deg)}}@keyframes item-jet{to{stroke-dashoffset:-10}}@keyframes item-wander{0%,to{transform:translate(-7px) scaleX(1)}45%{transform:translate(7px) scaleX(1)}50%{transform:translate(7px) scaleX(-1)}95%{transform:translate(-7px) scaleX(-1)}}.confetti{position:fixed;inset:0;z-index:60;overflow:hidden;pointer-events:none}.confetti__piece{position:absolute;top:-24px;width:10px;height:16px;border-radius:3px;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes confetti-fall{to{transform:translate(var(--drift),110vh) rotate(var(--spin))}}.sparkles{position:absolute;top:40%;left:50%;pointer-events:none}.sparkles__star{position:absolute;color:#ffd23f;font-size:28px;text-shadow:0 0 8px #fff6c2,0 0 2px #b8860b;opacity:0;transform:translate(-50%,-50%);animation:sparkle-out .6s ease-out forwards}@keyframes sparkle-out{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}30%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.2) rotate(90deg)}}.travel{position:fixed;inset:0;z-index:80;overflow:hidden}.travel--fade{display:grid;place-items:center;background:#10182a;animation:travel-fade .45s ease-in-out}.travel--boat{background:linear-gradient(#8fd3ff,#d4f0ff 56%,#4cb5e6 56%,#2f8fc4)}.travel__sun{position:absolute;top:10%;right:12%;width:96px;height:96px;border-radius:50%;background:#ffd23f;box-shadow:0 0 48px #ffe38a}.travel__cloud{position:absolute;width:150px;height:46px;border-radius:999px;background:#fff;opacity:.9;animation:travel-cloud 1.5s linear forwards}.travel__boat{position:absolute;z-index:1;top:calc(56% - 104px);left:50%;width:180px;height:130px;margin-left:-90px;animation:travel-sail 1.5s ease-in-out forwards}.travel__sail,.travel__hull{position:absolute;inset:0}.travel__boat>*{animation:travel-rock .5s ease-in-out infinite alternate}.travel__passengers{position:absolute;bottom:36px;left:30px;display:flex;align-items:flex-end;gap:2px}.travel__waves{position:absolute;top:calc(56% - 14px);right:0;left:0;height:30px;background:radial-gradient(circle at 20px -4px,transparent 18px,#4cb5e6 19px) 0 0 / 40px 30px repeat-x;animation:travel-waves .6s linear infinite}.travel__text{position:absolute;right:0;bottom:12%;left:0;margin:0;color:#fff;font-size:2.2rem;font-weight:800;text-align:center;text-shadow:0 3px 0 rgba(0,0,0,.25)}.travel--fade .travel__text{position:static}@keyframes travel-fade{0%{opacity:0}}@keyframes travel-sail{0%{transform:translate(-38vw)}to{transform:translate(38vw)}}@keyframes travel-rock{0%{transform:rotate(-3deg)}to{transform:rotate(3deg) translateY(4px)}}@keyframes travel-cloud{to{transform:translate(-160px)}}@keyframes travel-waves{to{background-position:-40px 0}}.ow{position:fixed;inset:0;overflow:hidden;background:#4cb5e6;-webkit-user-select:none;user-select:none;touch-action:none}.ow--forest{background:#24572a}.ow--valley{background:#5f8f4a}.ow--school{background:#4a3a30}.ow__world{position:absolute;top:0;left:0;transition:transform .15s linear;will-change:transform}.ow__world--pan{transition:transform .7s ease-in-out}.ow__tiles{position:absolute;top:0;left:0;display:block}.ow__sprite{position:absolute;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.ow__world--build{cursor:pointer}.ow__ghost{opacity:.8}.ow__ghost:before{content:"";position:absolute;inset:3px;border:3px dashed var(--good);border-radius:10px;background:#2fa86626}.ow__ghost--bad:before{border-color:var(--bad);background:#e5534b33}.ow__ghost--bad>*{filter:grayscale(.6)}.ow__ghost--pickup:before{border-color:var(--star);background:#ffc93c33}.ow__pickup{position:relative;font-size:26px;animation:ow-pop .2s ease-out}.ow__mover{transition:left .15s linear,top .15s linear}.ow__mirror{transform:scaleX(-1)}.ow__prompt{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-22px);padding:6px 12px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink);font-weight:800;white-space:nowrap;animation:ow-pop .2s ease-out}.ow__prompt kbd{margin-right:4px;padding:2px 7px;border-radius:6px;background:var(--ink);color:#fff;font:inherit;font-size:.85em}.ow__dust{position:absolute;width:48px;height:48px;pointer-events:none}.ow__dust:before,.ow__dust:after{content:"";position:absolute;bottom:4px;width:10px;height:10px;border-radius:50%;background:#ffffffbf;animation:ow-dust .45s ease-out forwards}.ow__dust:before{left:13px}.ow__dust:after{left:26px;animation-delay:.05s}.ow__title{position:fixed;top:16px;left:16px;z-index:40;padding:8px 18px;border-radius:999px;background:#23314a99;color:#fff;font-size:1.3rem;font-weight:800;animation:ow-title .6s ease-out}.ow__message{position:fixed;bottom:12px;left:50%;z-index:45;width:min(720px,calc(100% - 32px));transform:translate(-50%);animation:ow-slide .3s ease-out}.ow__message--top{top:12px;bottom:auto;width:min(640px,calc(100% - 32px))}.hud{position:fixed;top:16px;right:16px;z-index:50;display:flex;gap:10px}.ow__message--touch.ow__message--top{top:72px;width:min(560px,calc(100% - 24px))}.ow__controls{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));left:calc(16px + env(safe-area-inset-left,0px));z-index:46;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;pointer-events:none}.joystick{position:relative;flex:none;width:132px;height:132px;border:4px solid rgba(255,255,255,.9);border-radius:50%;background:#23314a73;box-shadow:0 4px #0003;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:auto}.joystick__knob{position:absolute;top:50%;left:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border:3px solid #ffffff;border-radius:50%;background:var(--accent);box-shadow:0 4px #00000040;pointer-events:none}.joystick__arrow{position:absolute;width:0;height:0;border:10px solid transparent;pointer-events:none}.joystick__arrow--up{top:2px;left:calc(50% - 10px);border-bottom-color:#fff}.joystick__arrow--down{bottom:2px;left:calc(50% - 10px);border-top-color:#fff}.joystick__arrow--left{top:calc(50% - 10px);left:2px;border-right-color:#fff}.joystick__arrow--right{top:calc(50% - 10px);right:2px;border-left-color:#fff}.ow__action{min-width:112px;max-width:170px;min-height:96px;padding:10px 14px;border:4px solid #ffffff;border-radius:28px;background:var(--accent);box-shadow:0 5px #00000040;color:var(--accent-ink);font:inherit;font-size:1.05rem;font-weight:900;line-height:1.15;cursor:pointer;pointer-events:auto;animation:ow-action-in .15s ease-out}.ow__action:active{filter:brightness(.92);transform:translateY(3px)}@media(max-width:640px){.ow__title{top:72px;left:12px;padding:4px 12px;font-size:.95rem}.hud{top:10px;right:10px;gap:6px}.hud .icon-btn{width:46px;height:46px;font-size:1.3rem}}@media(max-height:480px){.ow__title{top:8px;left:8px;padding:4px 12px;font-size:.95rem}.hud{top:8px;right:8px;gap:6px}.hud .icon-btn{width:44px;height:44px;font-size:1.2rem}.ow__message--touch.ow__message--top{top:58px;width:min(460px,calc(100% - 340px))}.ow__message--touch .buddy-says__bubble{padding:8px 14px;font-size:1rem}.ow__message--touch .buddy-says>svg{display:none}.ow__action{min-height:84px;max-width:140px}}@keyframes ow-action-in{0%{opacity:0;transform:scale(.85)}}.ow-wave{animation:ow-wave 2.4s ease-in-out infinite alternate}.tree-sway{transform-box:fill-box;transform-origin:50% 100%;animation:ow-sway 3.5s ease-in-out infinite alternate}@keyframes ow-pop{0%{opacity:0;transform:translate(-50%,-12px) scale(.8)}}@keyframes ow-dust{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:translateY(-8px) scale(1.4)}}@keyframes ow-title{0%{opacity:0;transform:translateY(-12px)}}@keyframes ow-slide{0%{opacity:0;transform:translate(-50%,20px)}}@keyframes ow-wave{to{transform:translate(6px)}}@keyframes ow-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.wallet{display:flex;align-items:center;gap:6px;height:52px;padding:0 14px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow);font-size:1.15rem;font-weight:900}.wallet__item{position:relative;min-width:56px;white-space:nowrap}.wallet__item--coins{color:#b37800}.wallet__item--gems{color:#2f6fd6}.wallet__pop{position:absolute;top:-6px;left:50%;color:var(--good);font-size:1rem;pointer-events:none;animation:wallet-pop 1.4s ease-out forwards}@keyframes wallet-pop{0%{opacity:1;transform:translate(-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-28px) scale(1)}}.shop{position:fixed;inset:0;z-index:70;display:flex;justify-content:center;align-items:flex-start;padding:28px 16px;overflow-y:auto;background:#10182a8c;animation:shop-in .2s ease-out}.shop__panel{display:flex;flex-direction:column;gap:16px;width:min(960px,100%);padding:24px;border-radius:var(--radius);background:#fff8ec;box-shadow:var(--shadow)}.shop__top{display:flex;align-items:center;gap:16px}.shop__title{flex:1;font-size:2rem}.shop__tabs{display:flex;flex-wrap:wrap;gap:8px}.shop__tab{padding:8px 18px;border:3px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:800;cursor:pointer}.shop__tab[aria-selected=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.shop__news{margin:0;color:var(--ink-soft);font-size:1.15rem;font-weight:700}.shop__items{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin:0;padding:0;list-style:none}.shop__item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);text-align:center}.shop__art{display:flex;align-items:flex-end;justify-content:center;height:140px}.shop__name{font-weight:800}.shop__price{color:#b37800;font-weight:900}.shop__owned{color:var(--good);font-size:.9rem;font-weight:800}.shop__buy{padding:8px 18px;font-size:1rem}@media(max-width:640px){.shop{padding:8px}.shop__panel{gap:10px;padding:12px}.shop__top{flex-wrap:wrap;gap:8px}.shop__title{flex-basis:100%;font-size:1.5rem}.shop__top .btn{margin-left:auto;padding:8px 14px;font-size:1rem}.shop__tab{padding:6px 12px;font-size:.9rem}.shop__news{font-size:1rem}.shop__items{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop__art{height:96px}.shop__art>*{max-height:100%}}@media(max-height:480px){.shop{padding:8px}.shop__panel{gap:10px;padding:12px}.shop__title{font-size:1.4rem}.shop__art{height:96px}}@keyframes shop-in{0%{opacity:0}}.wardrobe{position:fixed;inset:0;z-index:70;display:flex;justify-content:center;align-items:flex-start;padding:28px 16px;overflow-y:auto;background:#10182a8c;animation:wardrobe-in .2s ease-out}.wardrobe__panel{display:flex;flex-direction:column;gap:16px;width:min(1040px,100%);padding:24px;border-radius:var(--radius);background:#f4efff;box-shadow:var(--shadow)}.wardrobe__top{display:flex;align-items:center;gap:16px}.wardrobe__title{flex:1;font-size:2rem}.wardrobe__body{display:flex;gap:24px;align-items:flex-start}.wardrobe__preview{position:sticky;top:0;display:flex;align-items:flex-end;gap:8px;padding:24px 28px;border-radius:var(--radius);background:linear-gradient(#d9ccff,#f4efff 62%,#b9a4f0 62%)}.wardrobe__side{display:flex;flex:1;flex-direction:column;gap:14px;min-width:0}.wardrobe__tabs{display:flex;flex-wrap:wrap;gap:8px}.wardrobe__tab{padding:8px 16px;border:3px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:800;cursor:pointer}.wardrobe__tab[aria-selected=true]{border-color:#7b5ce0;background:#7b5ce0;color:#fff}.wardrobe__look{display:flex;flex-direction:column;gap:14px}.wardrobe__group{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;border:0}.wardrobe__group legend{margin-bottom:8px;padding:0;font-weight:800}.wardrobe__swatch{width:40px;height:40px;border:4px solid var(--surface);border-radius:50%;box-shadow:0 0 0 2px var(--line);cursor:pointer}.wardrobe__swatch[aria-pressed=true]{box-shadow:0 0 0 4px #7b5ce0}.wardrobe__pieces{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:10px}.wardrobe__piece{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:3px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.wardrobe__piece[aria-pressed=true]{border-color:#7b5ce0;background:#f1ebff}.wardrobe__piece-name{font-size:.9rem;font-weight:800}.wardrobe__piece-status{color:var(--ink-soft);font-size:.85rem;font-weight:700}.wardrobe__buy{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius);background:var(--surface);font-weight:800}.wardrobe__buddy{display:flex;flex-direction:column;gap:14px}.wardrobe__animals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.wardrobe__animal{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:3px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.wardrobe__animal[aria-pressed=true]{border-color:#7b5ce0;background:#f1ebff}.wardrobe__name{padding:12px 18px;border:3px solid var(--line);border-radius:999px;font:inherit;font-size:1.3rem;font-weight:800}.wardrobe__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.wardrobe__news{margin:0;color:var(--ink-soft);font-weight:700}@media(max-width:760px){.wardrobe{padding:8px}.wardrobe__panel{gap:10px;padding:12px}.wardrobe__top{flex-wrap:wrap;gap:8px}.wardrobe__title{flex-basis:100%;font-size:1.5rem}.wardrobe__top .btn{margin-left:auto;padding:8px 14px;font-size:1rem}.wardrobe__body{flex-direction:column;align-items:stretch;gap:12px}.wardrobe__preview{position:static;justify-content:center;padding:10px}.wardrobe__tab{padding:6px 12px;font-size:.9rem}}@media(max-height:480px)and (min-width:761px){.wardrobe{padding:8px}.wardrobe__panel{gap:10px;padding:12px}.wardrobe__preview{padding:10px 14px}}@keyframes wardrobe-in{0%{opacity:0}}.buildbar{position:fixed;bottom:12px;left:50%;z-index:46;display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:10px 14px;border-radius:var(--radius);background:#fffffff2;box-shadow:var(--shadow);transform:translate(-50%);animation:buildbar-in .25s ease-out}.buildbar__items{display:flex;gap:8px;overflow-x:auto}.buildbar__item{position:relative;display:flex;align-items:flex-end;justify-content:center;width:64px;height:64px;border:3px solid var(--line);border-radius:14px;background:#f3f9ef;cursor:pointer}.buildbar__item[aria-pressed=true]{border-color:var(--accent);background:#fff3e8}.buildbar__art{display:flex;align-items:flex-end;justify-content:center;max-height:58px;overflow:hidden}.buildbar__count{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.85rem;font-weight:900}.buildbar__empty,.buildbar__hint{margin:0;color:var(--ink-soft);font-weight:700}.buildbar__hint kbd{padding:1px 6px;border-radius:6px;background:var(--ink);color:#fff;font:inherit;font-size:.85em}.buildbar--touch{bottom:170px;flex-wrap:wrap;justify-content:center;width:calc(100% - 24px);max-width:560px;gap:8px;padding:8px 10px}.buildbar--touch .buildbar__hint{order:3;width:100%;font-size:.85rem;text-align:center}.buildbar--touch .buildbar__items{flex:1;min-width:0}@media(orientation:landscape)and (max-height:600px){.buildbar--touch{bottom:8px;flex-wrap:nowrap;width:calc(100% - 340px)}.buildbar--touch .buildbar__hint{display:none}.buildbar--touch .buildbar__item{width:52px;height:52px}}@keyframes buildbar-in{0%{opacity:0;transform:translate(-50%,20px)}}.teacher{display:block;overflow:visible;flex:none}.teacher--cheer{animation:teacher-hop .6s ease-in-out 2}.teacher--talk .teacher__pen{animation:teacher-point 1.6s ease-in-out infinite alternate;transform-box:fill-box}@keyframes teacher-hop{50%{transform:translateY(-8px)}}@keyframes teacher-point{to{translate:0 -3px}}.wo-building,.wo-arch,.wo-fountain,.wo-chest,.wo-crab,.wo-gull,.wo-butterfly,.wo-sheep{display:block;overflow:visible}.wo-fountain__jets path{stroke-dasharray:6 6;animation:wo-flow .6s linear infinite}.wo-fence{display:block;margin-bottom:-14px}.wo-arch__arrow{animation:wo-bounce 1s ease-in-out infinite}.wo-pier{position:relative}.wo-pier__boat{position:absolute;top:100%;left:50%;margin-left:-36px;animation:wo-bob 2s ease-in-out infinite alternate}.wo-stone{position:relative;display:flex;flex-direction:column;align-items:center}.wo-stone--locked{filter:grayscale(.8);opacity:.65}.wo-stone__stars{display:flex;gap:1px;margin-bottom:-4px;padding:1px 5px;border-radius:999px;background:#23314a99;color:#ffffff59;font-size:11px;line-height:1.1}.wo-stone__stars .on{color:var(--star)}.wo-stone--done:after{content:"✦";position:absolute;top:-8px;right:-6px;color:#fff6c2;font-size:15px;text-shadow:0 0 6px #ffd23f;animation:wo-twinkle 1.8s ease-in-out infinite}.wo-stone__next{position:absolute;bottom:100%;left:50%;display:grid;place-items:center;width:28px;height:28px;margin-bottom:24px;margin-left:-14px;border-radius:50%;background:var(--star);color:#7a4f00;font-size:19px;font-weight:900;box-shadow:0 3px #0003;animation:wo-bounce .8s ease-in-out infinite}.wo-gate{position:relative}.wo-gate svg{display:block;overflow:visible}.wo-gate__door{transform-box:view-box;transition:transform .9s cubic-bezier(.34,1.56,.64,1)}.wo-gate__door--left{transform-origin:8px 36px}.wo-gate__door--right{transform-origin:48px 36px}.wo-gate--open .wo-gate__door{transform:scaleX(.12)}.wo-chest{transform-origin:50% 100%}.wo-chest:not(.wo-chest--open){animation:wo-wiggle 3s ease-in-out infinite}.wo-chest__glow{animation:wo-twinkle 1.2s ease-in-out infinite alternate}.wo-boss{position:relative;width:100%;height:100%}.wo-lair{position:absolute;bottom:0;left:0;overflow:visible}.wo-lair__smoke{animation:wo-smoke 2.5s ease-out infinite}.wo-boss__figure{position:absolute;bottom:0;left:50%;display:flex;justify-content:center;width:140px;margin-left:-70px;transform:scale(.55);transform-origin:50% 100%}.wo-boss--hut .wo-boss__figure{left:84%;transform:scale(.45)}.wo-boss--cave .wo-boss__figure{bottom:2px;transform:scale(.5)}.wo-boss--boulders .wo-lair{left:50%;margin-left:-66px}.wo-boss--kitchen .wo-boss__figure{left:84%;transform:scale(.45)}.wo-boss--workshop .wo-boss__figure{bottom:2px;transform:scale(.5)}.wo-lair__gear{transform-box:view-box;animation:wo-spin 4s linear infinite}.wo-lair__gear--back{animation-direction:reverse}.wo-crab{animation:wo-scuttle 5s ease-in-out infinite}.wo-gull{animation:wo-fly 9s ease-in-out infinite}.wo-gull__wings{transform-box:fill-box;transform-origin:center;animation:wo-flap .5s ease-in-out infinite alternate}.wo-butterfly{animation:wo-flutter 4s ease-in-out infinite}.wo-butterfly__wing{transform-box:view-box;transform-origin:12px 10px;animation:wo-flap-wing .25s ease-in-out infinite alternate}.wo-sheep__head{transform-box:view-box;transform-origin:30px 15px;animation:wo-chew 2.6s ease-in-out infinite}.wo-fireflies{position:relative;width:48px;height:48px}.wo-firefly{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff59d;box-shadow:0 0 8px 3px #fff176cc;animation:wo-glow 2.4s ease-in-out infinite alternate}@keyframes wo-flow{to{stroke-dashoffset:-12}}@keyframes wo-bounce{50%{transform:translateY(-6px)}}@keyframes wo-bob{to{transform:translateY(4px) rotate(2deg)}}@keyframes wo-twinkle{50%{opacity:.3;transform:scale(.7)}}@keyframes wo-wiggle{0%,88%,to{transform:rotate(0)}92%{transform:rotate(-7deg)}96%{transform:rotate(7deg)}}@keyframes wo-smoke{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}@keyframes wo-scuttle{0%,to{transform:translate(-10px)}50%{transform:translate(10px)}}@keyframes wo-fly{0%,to{transform:translate(-40px)}25%{transform:translateY(-14px)}50%{transform:translate(40px)}75%{transform:translateY(12px)}}@keyframes wo-flap{to{transform:scaleY(.4)}}@keyframes wo-flutter{0%,to{transform:translate(0)}30%{transform:translate(14px,-10px)}60%{transform:translate(-8px,-16px)}}@keyframes wo-flap-wing{to{transform:scaleX(.3)}}@keyframes wo-glow{0%{opacity:.2;transform:translate(0)}to{opacity:1;transform:translate(6px,-8px)}}@keyframes wo-spin{to{transform:rotate(360deg)}}@keyframes wo-chew{0%,60%,to{transform:rotate(0)}70%,90%{transform:rotate(14deg)}}.wo-board,.wo-desk,.wo-clock{display:block;overflow:visible}.wo-clock{margin-bottom:4px}.wo-clock__hand{transform-origin:20px 20px;animation:wo-clock 60s linear infinite}.wo-desk__mark{animation:wo-bounce 1s ease-in-out infinite}.wo-teacher{display:flex;align-items:flex-end}@keyframes wo-clock{to{transform:rotate(360deg)}}.menu{position:fixed;inset:0;z-index:70;display:flex;justify-content:center;align-items:flex-start;padding:32px 16px;overflow-y:auto;background:#10182a8c;animation:menu-in .2s ease-out}.menu__panel{display:flex;flex-direction:column;align-items:flex-start;gap:20px;width:min(960px,100%);padding:24px;border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow)}.menu__top{display:flex;align-items:center;justify-content:space-between;width:100%}.menu__title{font-size:2rem}.menu__subject{display:flex;flex-direction:column;gap:12px;width:100%}.menu__area{padding:20px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.menu__area h4{margin:0;font-size:1.2rem}.menu__levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:12px 0 0;padding:0;list-style:none}.menu__level{display:flex;align-items:center;gap:10px;height:100%;padding:10px 16px 10px 10px;border:3px solid var(--line);border-radius:999px;color:var(--ink);font-weight:800;text-decoration:none}a.menu__level:hover{border-color:var(--accent);background:#fffaf5}.menu__level--locked{color:var(--ink-soft);background:#f3f6fa;cursor:not-allowed}.menu__num{display:inline-grid;flex-shrink:0;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-ink)}.menu__level--locked .menu__num{background:var(--line)}.menu__name{flex:1}.menu__stars{color:var(--star);letter-spacing:1px;white-space:nowrap}.menu__stars-empty{color:var(--line)}.menu__account{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 10px 10px 20px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.menu__account-actions{display:flex;flex-wrap:wrap;gap:10px}.menu__save{margin:0;color:var(--ink-soft);font-weight:800}.menu__confirm{display:flex;flex:1 1 360px;flex-direction:column;gap:10px;padding:14px 18px;border-radius:var(--radius);background:var(--bad-soft);font-weight:700}.menu__confirm p{margin:0}.menu__confirm-actions{display:flex;justify-content:flex-end;gap:10px}@keyframes menu-in{0%{opacity:0}}.menu__grade{margin-left:auto;color:var(--ink-soft);font-weight:700;white-space:nowrap}.menu__levels--wide{grid-template-columns:1fr}.grades{max-width:820px;margin:0 auto;display:grid;gap:16px}.grades__title{margin:0;text-align:center}.grades__test{margin:-8px 0 0;text-align:center;color:var(--ink-soft);font-weight:700}.grade-chart{position:relative;padding:8px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.grade-chart__svg{display:block;width:100%;height:auto;overflow:visible}.grade-chart__grid{stroke:var(--line);stroke-width:1}.grade-chart__axis,.grade-chart__date,.grade-chart__pass-label{fill:var(--ink-soft);font-size:13px}.grade-chart__pass{stroke:var(--good);stroke-width:1.5}.grade-chart__pass-label{font-weight:700}.grade-chart__cross{stroke:var(--ink-soft);stroke-width:1}.grade-chart__line{fill:none;stroke:#3a86ff;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.grade-chart__dot{fill:#3a86ff;stroke:var(--surface);stroke-width:2}.grade-chart__dot--on{stroke-width:4;r:7}.grade-chart__value{fill:var(--ink);font-size:14px;font-weight:800}@media(max-width:640px){.grade-chart__axis,.grade-chart__date,.grade-chart__pass-label{font-size:24px}.grade-chart__value{font-size:26px}}.grade-chart__hit{fill:transparent;cursor:pointer}.grade-chart__hit:focus{outline:none}.grade-chart__tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));display:grid;gap:2px;padding:6px 10px;background:var(--ink);color:#fff;border-radius:10px;font-size:.85rem;text-align:center;white-space:nowrap;pointer-events:none}.grade-chart__tip strong{font-size:1.15rem}.grades__list{list-style:none;margin:0;padding:0;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.grades__item{display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line)}.grades__item:last-child{border-bottom:none}.grades__grade{font-size:1.3rem;text-align:center}.grades__grade--pass{color:var(--good)}.grades__grade--fail{color:var(--bad)}.grades__score{color:var(--ink-soft);text-align:right}.school-page{min-height:100vh;padding:12px 16px 96px;background:#e8dcc4}.school-page__top{display:flex;justify-content:space-between;align-items:center;max-width:820px;margin:0 auto 12px}.sheet{position:relative;max-width:820px;margin:0 auto;padding:28px 32px 32px;background:linear-gradient(90deg,transparent 54px,#f4b4b4 54px,#f4b4b4 56px,transparent 56px),#fffdf7;border-radius:6px;box-shadow:0 2px #0000000f,0 12px 30px #23314a2e;color:var(--ink)}.sheet__head{padding-left:40px;margin-bottom:18px}.sheet__title{margin:0 0 6px;font-size:1.6rem}.sheet__meta{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0;color:var(--ink-soft)}.sheet__table{width:100%;border-collapse:collapse;font-size:1.15rem}.sheet__table th{text-align:left;padding:6px 10px;border-bottom:2px solid var(--ink)}.sheet__table td{padding:8px 10px;border-bottom:1px solid #d9d3c4;vertical-align:middle}.sheet__num{width:48px;text-align:right;font-weight:800;color:var(--ink-soft)}.sheet__answer{width:230px}.sheet__row--open .sheet__prompt,.sheet__row--open .sheet__answer{background:#ffefc7}.sheet__row--open .sheet__num{color:#b4540a}.sheet__answer .ninput{gap:8px}.sheet__answer .ninput__box{width:110px;height:44px;border-radius:10px;font-size:1.3rem}.sheet__answer .ninput__unit{font-size:1.2rem}.sheet__answer .finput__frac{gap:3px}.sheet__answer .finput__box{width:58px;height:34px;border-width:2px;border-radius:8px;font-size:1.2rem}.sheet__answer .finput__line{width:68px;height:3px}html:has(.sheet-bar){scroll-padding-bottom:96px}.sheet-bar{position:fixed;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 24px;padding:12px 16px;background:#fffdf7f5;box-shadow:0 -4px 16px #23314a26;z-index:10}.sheet-bar__count{font-weight:800;color:var(--ink-soft)}.sheet-bar__open{max-width:420px;font-weight:700;color:#b4540a;text-align:center}.school-confirm{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:#23314a73;z-index:20}.school-confirm__panel{max-width:420px;padding:24px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;font-size:1.15rem}.school-confirm__actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.review__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.school-first{max-width:640px;margin:15vh auto 0;display:grid;gap:20px}@media(max-width:640px){.sheet{padding:20px 12px;background:#fffdf7}.sheet__head{padding-left:0}.sheet__answer{width:auto}}.review__row td{transition:background .2s}.review__row--good td{background:#2fa86612}.review__row--bad td{background:#e5534b12}.review__mark{width:44px;text-align:center;font-size:1.6rem;font-weight:800}.review__row--good .review__mark{color:var(--good)}.review__row--bad .review__mark{color:var(--bad)}.review__mark span{display:inline-block;animation:review-tick .25s ease-out}.review__empty{color:var(--ink-soft);font-style:italic}.review__pen{display:flex;align-items:center;gap:8px;margin-top:6px;color:var(--bad);font-weight:800}.review__pen .ninput__box,.review__pen .finput__box{color:var(--bad);border-color:var(--bad)}.review__note{margin:4px 0 0;color:var(--bad);font-style:italic;font-weight:700;transform:rotate(-1deg)}.review__grade,.review__stamp{display:grid;place-items:center;width:92px;height:92px;border:5px solid var(--bad);border-radius:50%;color:var(--bad);font-size:2.2rem;font-weight:900;transform:rotate(-12deg);animation:review-stamp .45s cubic-bezier(.2,1.6,.4,1);background:#fffdf7d9}.review__stamp{position:absolute;top:18px;right:24px}.review__grade{flex:none}.review__verdict{display:flex;align-items:center;gap:20px}.review__verdict .buddy-says{flex:1}.review__after{max-width:820px;margin:0 auto 20px;display:grid;gap:16px}.review__score{margin:0;text-align:center;font-size:1.3rem;font-weight:800}.review__explain{max-width:820px;margin:20px auto 0;box-sizing:border-box;padding:16px 20px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.review__explain h2{margin-top:0}.review__explain li{margin-bottom:14px}.review__explain-question{margin:0 0 4px;font-weight:800}.review__step p{margin:4px 0}@keyframes review-tick{0%{transform:scale(.2);opacity:0}}@keyframes review-stamp{0%{transform:rotate(-12deg) scale(2.2);opacity:0}}@media(max-width:640px){.review__grade,.review__stamp{width:64px;height:64px;font-size:1.5rem;top:8px;right:8px}}.welcome{display:flex;flex-direction:column;gap:20px}.welcome__top{display:flex;align-items:center;justify-content:space-between}.welcome__top h1{font-size:2.4rem}.welcome__steps{display:flex;gap:8px;margin:0;padding:0;list-style:none}.welcome__dot{width:16px;height:16px;border-radius:50%;background:var(--line)}.welcome__dot--done{background:var(--accent)}.welcome__card{display:flex;flex-direction:column;gap:20px;padding:28px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.welcome__card h2{font-size:1.8rem}.welcome__hint{margin:-8px 0 0;color:var(--ink-soft);font-size:1.15rem}.welcome__animals{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.welcome__animal{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;min-height:170px;padding:16px 8px;border:4px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-size:1.2rem;font-weight:800;cursor:pointer;transition:border-color .15s,transform .15s}.welcome__animal:hover{border-color:#ffc59a}.welcome__animal[aria-pressed=true]{border-color:var(--accent);background:#fff3e8;transform:scale(1.04)}.welcome__name{display:flex;align-items:center;gap:24px}.welcome__input{flex:1;min-width:0;padding:14px 20px;border:3px solid var(--line);border-radius:999px;font:inherit;font-size:1.6rem;font-weight:800}.welcome__input:focus{border-color:var(--accent);outline:none}.welcome__ideas{display:flex;gap:12px}.welcome__look{display:flex;align-items:center;gap:32px}.welcome__preview{display:flex;align-items:flex-end;gap:8px;padding:24px 32px;border-radius:var(--radius);background:linear-gradient(#bfe6ff,#eaf6ff 62%,#86d16d 62%)}.welcome__options{display:flex;flex:1;flex-direction:column;gap:16px}.welcome__group{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;border:0}.welcome__group legend{margin-bottom:8px;padding:0;font-weight:800}.welcome__swatch{width:44px;height:44px;border:4px solid var(--surface);border-radius:50%;box-shadow:0 0 0 2px var(--line);cursor:pointer}.welcome__swatch[aria-pressed=true]{box-shadow:0 0 0 4px var(--accent)}.welcome__style{padding:8px 18px;border:3px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:800;cursor:pointer}.welcome__style[aria-pressed=true]{border-color:var(--accent);background:#fff3e8}.welcome__actions{display:flex;justify-content:flex-end;gap:12px}:root{--bg: #eaf6ff;--surface: #ffffff;--ink: #23314a;--ink-soft: #5b6b85;--line: #d5e3f0;--accent: #ff8a3d;--accent-ink: #ffffff;--good: #2fa866;--good-soft: #e3f7ec;--bad: #e5534b;--bad-soft: #fde8e6;--star: #ffc93c;--radius: 20px;--shadow: 0 6px 0 rgba(35, 49, 74, .12);font-family:Nunito Variable,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}h1,h2,h3{margin:0}button{font:inherit}.screen{max-width:960px;margin:0 auto;padding:32px 16px}.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 28px;font-size:1.15rem;font-weight:800;cursor:pointer;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow);text-decoration:none;transition:transform .1s,filter .1s}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--ink);border:2px solid var(--line)}.btn-good{background:var(--good)}.icon-btn{display:inline-grid;place-items:center;width:52px;height:52px;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:#23314a8c;font-size:1.5rem;text-decoration:none;cursor:pointer;box-shadow:0 4px #0003;transition:filter .1s}.icon-btn:hover{filter:brightness(1.2)}.icon-btn:focus-visible{outline:3px solid var(--star);outline-offset:2px}html{touch-action:manipulation;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{overscroll-behavior:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
