@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2)format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}:root{--ink:#1d1640;--soft:#6f6890;--line:#e6e1f7;--bg:#f6f3ff;--card:#fff;--purple:#6c4cf1;--purple-d:#4f32c9;--sun:#ffb020;--sun-d:#d98a00;--coral:#ff7a59;--mint:#18b28b;--blue:#2f8cff;--red:#ef4565;--r:20px;--shadow:0 10px 30px #2d1e7814;--shadow-lg:0 20px 50px #2d1e7829;--head:"Baloo 2", "Nunito", system-ui, sans-serif;--body:"Nunito", system-ui, -apple-system, Segoe UI, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4{font-family:var(--head);letter-spacing:-.01em;margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800}h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800}h3{font-size:1.2rem;font-weight:800}a{color:var(--purple);font-weight:700;text-decoration:none}a:hover{text-decoration:underline}p{margin:0 0 .8em}input,select,textarea{font:inherit;color:inherit;border:2px solid var(--line);background:#fff;border-radius:14px;width:100%;padding:12px 14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 4px #6c4cf126}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.muted{color:var(--soft)}.small{font-size:.88rem}.center{text-align:center}.cap{text-transform:capitalize}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;gap:10px;display:flex}.narrow{max-width:760px;margin:0 auto}.back{margin-bottom:12px;font-weight:800;display:inline-block}.btn{font-family:var(--head);white-space:nowrap;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:1.05rem;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex;text-decoration:none!important}.btn:active:not(:disabled){transform:translateY(3px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--purple);color:#fff;box-shadow:0 5px 0 var(--purple-d)}.btn-primary:active:not(:disabled){box-shadow:0 2px 0 var(--purple-d)}.btn-sun{background:var(--sun);color:var(--ink);box-shadow:0 5px 0 var(--sun-d)}.btn-sun:active:not(:disabled){box-shadow:0 2px 0 var(--sun-d)}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);background:#fff}.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--purple)}.btn-danger{background:var(--red);color:#fff;box-shadow:0 4px #b52842}.btn.sm{border-radius:12px;padding:8px 14px;font-size:.95rem}.btn.lg{padding:16px 26px;font-size:1.2rem}.btn.block{width:100%}.icon-btn{background:0 0;border:0;border-radius:10px;padding:6px 10px;font-size:1.3rem}.icon-btn:hover{background:#6c4cf114}.chip,.chip-btn{box-shadow:var(--shadow);color:var(--ink);background:#fff;border:0;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.95rem;font-weight:800;display:inline-flex}.chip-btn{box-shadow:inset 0 0 0 2px var(--line);transition:all .15s}.chip-btn:hover,.chip-btn.sel{box-shadow:inset 0 0 0 2px var(--purple);background:#f1edff}.pill{color:var(--purple-d);background:#ece6ff;border-radius:999px;margin-bottom:16px;padding:6px 14px;font-size:.85rem;font-weight:800;display:inline-block}.badge{text-transform:uppercase;letter-spacing:.03em;background:#eee;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:800;display:inline-block}.badge.live{color:#0b7a5c;background:#dcf8ee}.badge.upcoming{color:#8a5a00;background:#fff2d6}.badge.ended{color:#666;background:#eee}.badge.review{color:#b52842;background:#ffe2e7}.badge.lv1{color:#0b7a5c;background:#dcf8ee}.badge.lv2{color:#8a5a00;background:#fff2d6}.badge.lv3{color:#b52842;background:#ffe2e7}.stars .on{color:var(--sun);text-shadow:0 1px 0 var(--sun-d)}.stars .off{color:#dcd7ee}.avatar{border-radius:50%;flex-shrink:0;place-items:center;line-height:1;display:inline-grid}.loading{color:var(--soft);justify-content:center;align-items:center;gap:12px;padding:60px;font-weight:700;display:flex}.spinner{border:4px solid var(--line);border-top-color:var(--purple);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}.error-box{color:#a01d37;background:#ffe9ec;border-radius:14px;margin:10px 0;padding:12px 16px;font-weight:700}.ok-box{color:#0b6a50;background:#dcf8ee;border-radius:14px;margin:10px 0;padding:12px 16px;font-weight:700}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field-label{font-size:.95rem;font-weight:800}.field-hint{color:var(--soft);font-size:.85rem}.field-hint .ok{color:var(--mint);font-weight:800}.check{align-items:flex-start;gap:10px;margin:10px 0;font-size:.92rem;display:flex}.check input{width:20px;height:20px;accent-color:var(--purple);flex-shrink:0;margin-top:2px}.modal-back{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1d164073;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{width:min(480px,100%);max-height:92vh;box-shadow:var(--shadow-lg);background:#fff;border-radius:24px;padding:22px;animation:.2s ease-out rise;overflow:auto}.modal.wide{width:min(720px,100%)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-head h3{margin:0}.form-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px;display:grid}.topnav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f3ffd9;justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.topnav.solid{box-shadow:0 1px 0 var(--line);background:#fff}.topnav nav{align-items:center;gap:18px;display:flex}.topnav nav a:not(.btn){color:var(--ink)}.topnav nav a.active{color:var(--purple)}.topnav .who{color:var(--soft);font-weight:700}.logo{font-family:var(--head);align-items:center;gap:8px;font-size:1.5rem;font-weight:600;display:flex;color:var(--ink)!important;text-decoration:none!important}.logo b{color:var(--purple);font-weight:800}.menu-btn{display:none}.footer{background:var(--ink);color:#cfc9ef;grid-template-columns:2fr 1fr 1fr;gap:30px;margin-top:60px;padding:40px clamp(16px,4vw,48px);display:grid}.footer .logo{color:#fff!important}.footer div{flex-direction:column;gap:6px;display:flex}.footer a{color:#fff;font-weight:600}.footer b{color:#fff}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;max-width:1280px;margin:0 auto;padding:clamp(24px,5vw,70px) clamp(16px,5vw,70px);display:grid}.hero h1{font-size:clamp(2.2rem,5vw,3.8rem)}.hero h1 em{color:var(--purple);background:linear-gradient(#0000 62%,#ffe08a 62%);font-style:normal}.hero-text>p{color:var(--soft);max-width:560px;font-size:1.2rem}.hero-cta{flex-wrap:wrap;gap:14px;margin:24px 0 14px;display:flex}.hero-art{place-items:center;min-height:420px;display:grid;position:relative}.hero-art:before{content:"";filter:blur(4px);background:radial-gradient(circle,#ffe8b3,#ffd0e2 50%,#d9cfff 80%);border-radius:50%;width:380px;height:380px;animation:6s ease-in-out infinite breathe;position:absolute}.hero-pip{animation:3s ease-in-out infinite bob;position:relative}.float-card{box-shadow:var(--shadow-lg);background:#fff;border-radius:18px;padding:10px;animation:4s ease-in-out infinite bob;position:absolute}.float-card .visual{background:0 0;margin:0;padding:0}.float-card .v-svg{max-width:160px}.float-card.c1{top:10px;left:0}.float-card.c2{animation-delay:-1.5s;bottom:30px;left:20px}.float-card.c2 .v-xs{width:80px}.float-card.c3{font-family:var(--head);color:var(--mint);padding:12px 18px;font-size:1.2rem;font-weight:800;animation-delay:-2.5s;top:50px;right:0}.section{max-width:1280px;margin:0 auto;padding:50px clamp(16px,5vw,70px)}.section.alt{max-width:1200px;box-shadow:var(--shadow);background:#fff;border-radius:36px}.worlds-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.world-card{box-shadow:var(--shadow);border-bottom:6px solid var(--c);background:#fff;border-radius:26px;padding:26px;transition:transform .2s}.world-card:hover{transform:translateY(-6px)rotate(-1deg)}.world-emoji{margin-bottom:8px;font-size:3rem;display:block}.split{grid-template-columns:1.4fr 1fr;align-items:center;gap:30px;display:grid}.steps{padding-left:1.2em}.steps li{margin-bottom:12px;font-size:1.05rem}.features{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.feature{box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:22px}.feature>span{font-size:2rem}.cta-band{background:linear-gradient(120deg, var(--purple), #9a6bff);color:#fff;border-radius:32px;flex-wrap:wrap;align-items:center;gap:24px;max-width:1100px;display:flex}.cta-band>div{flex:1}.cta-band p{opacity:.9;margin:0}.pip-body{transform-origin:60px 110px}.pip-happy .pip-body,.pip-think .pip-body{animation:4s ease-in-out infinite sway}.pip-cheer .pip-body{animation:.6s ease-in-out 2 hop}.pip-oops .pip-body{animation:.5s ease-in-out wobble}.pip-eyes{transform-origin:60px 52px;animation:4.5s infinite blink}.pip-wings-up ellipse{transform-box:fill-box;transform-origin:bottom;animation:.3s ease-in-out 4 alternate flap}.pip-says{align-items:flex-end;gap:10px;margin:8px 0 16px;display:flex}.pip-says .pip{flex-shrink:0}.bubble{box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:14px 18px;font-size:1.08rem;font-weight:700;animation:.3s ease-out rise;position:relative}.bubble:before{content:"";border:10px solid #0000;border-left:0;border-right-color:#fff;position:absolute;bottom:18px;left:-10px}.auth-page{place-items:center;min-height:calc(100vh - 80px);padding:30px 16px;display:grid}.auth-page.kidbg{background:radial-gradient(circle at 20% 20%,#ffe8b3 0,#0000 40%),radial-gradient(circle at 80% 70%,#d9cfff 0,#0000 45%)}.auth-card{width:min(440px,100%);box-shadow:var(--shadow-lg);background:#fff;border-radius:28px;flex-direction:column;padding:30px;animation:.3s ease-out rise;display:flex}.auth-card>.pip{align-self:center}.auth-card h1{text-align:center;font-size:1.9rem}.kid-card{width:min(560px,100%)}.code-input{font-family:var(--head);text-align:center;letter-spacing:.3em;text-transform:uppercase;margin:10px 0 16px;font-size:2.2rem;font-weight:800}.kid-pick{flex-wrap:wrap;justify-content:center;gap:14px;margin:10px 0 20px;display:flex}.kid-tile{font-family:var(--head);background:#f6f3ff;border:0;border-radius:24px;flex-direction:column;align-items:center;gap:6px;padding:16px 20px;font-size:1.2rem;transition:transform .15s;display:flex}.kid-tile:hover{background:#ece6ff;transform:scale(1.06)rotate(-2deg)}.pic-dots{justify-content:center;gap:12px;margin:10px 0 16px;display:flex}.pic-dots span{width:44px;height:44px;color:var(--purple);background:#efecf8;border-radius:50%;place-items:center;font-size:1.4rem;transition:all .2s;display:grid}.pic-dots span.on{background:#ece6ff;transform:scale(1.1)}.pic-dots span.big{font-size:1.5rem}.pic-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.pic-grid.small{grid-template-columns:repeat(6,1fr)}.pic-btn{aspect-ratio:1;background:#f6f3ff;border:0;border-radius:20px;font-size:2.2rem;transition:transform .1s;box-shadow:0 4px #dcd5f5}.pic-grid.small .pic-btn{border-radius:14px;font-size:1.5rem}.pic-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #dcd5f5}.pic-btn:hover:not(:disabled){background:#ece6ff}.shake{animation:.5s shake}.page{max-width:1200px;margin:0 auto;padding:30px clamp(16px,5vw,60px)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.t-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-top:10px;display:grid}.t-card{box-shadow:var(--shadow);background:#fff;border-top:6px solid #ddd;border-radius:24px;flex-direction:column;gap:2px;padding:20px;transition:transform .2s;display:flex}.t-card.status-live{border-top-color:var(--mint)}.t-card.status-upcoming{border-top-color:var(--sun)}.t-card:hover{transform:translateY(-4px)}.t-card h3{margin:6px 0 2px}.t-card p{margin:0 0 4px}.t-card .btn,.t-card>a{align-self:flex-start;margin-top:8px}.t-head{justify-content:space-between;align-items:center;display:flex}.t-icon{font-size:2rem}.t-icon.xl{font-size:4rem}.t-prize{font-weight:700}.t-dates{color:var(--purple-d);font-weight:700}.t-hero{align-items:center;gap:18px;margin-bottom:10px;display:flex}.facts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:18px 0;display:grid}.facts div{box-shadow:var(--shadow);background:#fff;border-radius:18px;flex-direction:column;padding:14px;display:flex}.facts b{font-family:var(--head);font-size:1.2rem}.facts span{color:var(--soft);font-size:.85rem}.callout{background:#ece6ff;border-radius:20px;flex-wrap:wrap;gap:10px;margin:20px 0;padding:18px;display:flex}.leaderboard{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.leaderboard li{box-shadow:var(--shadow);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:10px 16px;animation:.3s backwards rise;display:flex}.leaderboard li.me{box-shadow:inset 0 0 0 3px var(--purple), var(--shadow)}.leaderboard li.top1{background:#fff8e1}.leaderboard .place{text-align:center;width:34px;font-family:var(--head);font-size:1.2rem;font-weight:800}.leaderboard .nick{flex:1;font-weight:800}.leaderboard .score{font-family:var(--head);color:var(--purple);font-weight:800}.post-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.post-card{box-shadow:var(--shadow);color:var(--ink);background:#fff;border-radius:22px;gap:16px;padding:20px;transition:transform .2s;display:flex;text-decoration:none!important}.post-card:hover{transform:translateY(-4px)}.post-card h3{margin:4px 0}.post-card p{color:var(--soft);margin:0;font-weight:400}.post-cover{background:#f6f3ff;border-radius:18px;flex-shrink:0;place-items:center;width:70px;height:70px;font-size:2.6rem;display:grid}.post-cover.xl{width:110px;height:110px;margin-bottom:16px;font-size:4rem}.post-row{box-shadow:var(--shadow);color:var(--ink);background:#fff;border-radius:16px;flex-direction:column;margin-bottom:10px;padding:14px;display:flex}.md h2{margin-top:1.2em}.md li{margin-bottom:6px}.md{font-size:1.08rem}.kid{background:linear-gradient(#bfe6ff 0%,#e8f6ff 40%,#f6f3ff 100%);min-height:100vh}.kid-top{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffbf;justify-content:space-between;align-items:center;gap:12px;padding:12px clamp(12px,3vw,36px);display:flex;position:sticky;top:0;box-shadow:0 2px #0000000a}.kid-me{font-family:var(--head);color:var(--ink);align-items:center;gap:10px;font-size:1.3rem;display:flex;text-decoration:none!important}.kid-nav{gap:6px;display:flex}.kid-nav a{color:var(--ink);font-family:var(--head);border-radius:14px;padding:8px 14px;font-size:1.05rem;text-decoration:none!important}.kid-nav a.active{background:var(--purple);color:#fff}.kid-main{max-width:1100px;margin:0 auto;padding:20px clamp(12px,4vw,48px) 60px}.kid-hello{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.stat-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.live-banner{background:linear-gradient(90deg, var(--sun), #ffcf5c);color:var(--ink);box-shadow:0 5px 0 var(--sun-d);border-radius:18px;margin-bottom:16px;padding:14px 20px;font-size:1.1rem;animation:2s infinite pulse;display:block;text-decoration:none!important}.island-map{grid-template-columns:repeat(2,1fr);gap:26px;padding:20px 0;display:grid}.island{background:radial-gradient(circle at 50% 35%, #fff 0, #fff 30%, color-mix(in srgb, var(--c) 25%, #fff) 100%);box-shadow:0 14px 0 color-mix(in srgb, var(--c) 45%, #fff), 0 24px 40px #0000001a;color:var(--ink);border-radius:48% 52% 44% 56%/55% 45%;flex-direction:column;align-items:center;padding:30px 16px 26px;transition:transform .25s;animation:.4s backwards rise;display:flex;position:relative;text-decoration:none!important}.island:hover{transform:translateY(-8px)rotate(-1.5deg)}.island.i1{animation-delay:80ms}.island.i2{animation-delay:.16s}.island.i3{animation-delay:.24s}.island-emoji{font-size:4rem;animation:3.5s ease-in-out infinite bob}.island b{font-family:var(--head);font-size:1.5rem}.island small{color:var(--soft);font-weight:700}.island-stars{color:var(--sun-d);box-shadow:var(--shadow);background:#fff;border-radius:999px;margin-top:8px;padding:4px 12px;font-weight:800}.island-rank{background:#fff;border-radius:999px;padding:2px 10px;font-size:.9rem;font-weight:800;position:absolute;top:14px;right:18px}.today-strip{text-align:center;box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:12px}.world h1{text-align:center}.path{flex-direction:column;gap:18px;max-width:640px;margin:0 auto;padding:20px 0;display:flex;position:relative}.path:before{content:"";background:repeating-linear-gradient(180deg, color-mix(in srgb, var(--c) 40%, #fff) 0 16px, transparent 16px 28px);border-radius:5px;width:10px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.stop{width:62%;box-shadow:0 6px 0 color-mix(in srgb, var(--c) 35%, #fff), var(--shadow);color:var(--ink);background:#fff;border-radius:26px;align-items:center;gap:14px;padding:14px 18px;transition:transform .2s;animation:.35s backwards rise;display:flex;position:relative;text-decoration:none!important}.stop.left{align-self:flex-start}.stop.right{align-self:flex-end}.stop:hover{transform:scale(1.04)}.stop.done{background:#fffbeb}.stop.mastered{background:linear-gradient(120deg,#fff4c2,#ffe08a)}.stop-icon{background:color-mix(in srgb, var(--c) 15%, #fff);border-radius:50%;flex-shrink:0;place-items:center;width:58px;height:58px;font-size:2.2rem;display:grid}.stop-text{flex-direction:column;display:flex}.stop-text b{font-family:var(--head);font-size:1.2rem}.skill-head{align-items:center;gap:16px;display:flex}.skill-big{font-size:4rem}.skill-head h1{margin:0}.levels{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.level-card{box-shadow:var(--shadow);border-top:6px solid var(--mint);background:#fff;border-radius:24px;flex-direction:column;gap:8px;padding:20px;display:flex}.level-card.lv2{border-top-color:var(--sun)}.level-card.lv3{border-top-color:var(--red)}.level-card.locked{opacity:.65;filter:grayscale(.4)}.level-card .badge{align-self:flex-start}.locked-text{color:var(--soft);font-weight:800}.practice{max-width:820px;margin:0 auto}.practice-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.practice-top .back{margin:0}.dots{gap:6px;display:flex}.dots span{width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:50%}.dots span.on{background:var(--purple);box-shadow:none}.timer{font-family:var(--head);background:#fff;border-radius:14px;padding:4px 14px;font-size:1.4rem;font-weight:800}.timer.low{color:var(--red);animation:1s infinite pulse}.q-card{box-shadow:var(--shadow-lg);background:#fff;border-radius:30px;padding:clamp(18px,3vw,30px);animation:.3s ease-out rise}.twin-banner{color:var(--purple-d);background:#ece6ff;border-radius:14px;margin-bottom:12px;padding:10px 14px;font-weight:800}.twin-banner.review{color:#0b5d86;background:#e2f6ff}.q-prompt{align-items:flex-start;gap:10px;display:flex}.q-prompt p{font-family:var(--head);flex:1;margin:0 0 6px;font-size:clamp(1.3rem,2.6vw,1.75rem);font-weight:800;line-height:1.25}.speak{background:#f1edff;font-size:1.6rem}.visual{background:#faf8ff;border-radius:22px;justify-content:center;margin:14px 0 20px;padding:14px;display:flex;overflow-x:auto}.choices{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.choices.n3{grid-template-columns:repeat(3,1fr)}.choices.symbols .choice{font-size:2rem}.choice{min-height:64px;font-family:var(--head);color:var(--ink);background:#f6f3ff;border:0;border-radius:20px;padding:14px;font-size:clamp(1.1rem,2.2vw,1.4rem);font-weight:800;transition:transform .1s,background .15s;animation:.3s backwards rise;box-shadow:0 5px #dcd5f5}.choice:hover:not(:disabled){background:#ece6ff}.choice:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #dcd5f5}.choice:disabled{opacity:.55;cursor:default}.typed-row{align-items:center;gap:10px;display:flex}.typed-row input{font-family:var(--head);text-align:center;padding:10px;font-size:1.8rem;font-weight:800}.unit{color:var(--soft);font-size:1.2rem;font-weight:800}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;max-width:300px;margin:14px auto 0;display:grid}.keypad button{font-family:var(--head);background:#f6f3ff;border:0;border-radius:16px;padding:14px;font-size:1.5rem;font-weight:800;box-shadow:0 4px #dcd5f5}.keypad button:active{transform:translateY(3px);box-shadow:0 1px #dcd5f5}.keypad .wide{grid-column:span 3}.feedback{border-radius:22px;flex-wrap:wrap;align-items:flex-start;gap:14px;margin-top:18px;padding:16px;animation:.25s ease-out rise;display:flex}.feedback>div{flex:1;min-width:220px}.feedback b{font-family:var(--head);font-size:1.3rem}.feedback.good{background:#e3faf1}.feedback.retry{background:#fff4e0}.feedback.learn{background:#efeaff}.feedback .next{align-self:center}.feedback .hint{margin:6px 0;font-weight:700}.answer{color:var(--purple-d);font-size:1.3rem}.pts{background:var(--mint);color:#fff;border-radius:999px;margin-left:10px;padding:2px 10px;font-weight:800;animation:.4s pop;display:inline-block}.ex-steps{margin:8px 0;padding-left:1.3em}.ex-steps li{margin-bottom:6px;font-weight:700;animation:.35s backwards rise}.ask-pip{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.ask-pip>span{font-family:var(--head);font-weight:800}.pip-reply{animation:.25s rise}.example .ex-prompt{font-family:var(--head);font-size:1.3rem;font-weight:800}.ex-answer{font-size:1.2rem}.center-col{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:30px 0;display:flex}.result .big-score{font-family:var(--head);color:var(--purple);margin:0;font-size:3.4rem;font-weight:800}.confetti{pointer-events:none;z-index:100;position:fixed;top:0;bottom:0;left:0;right:0}.v-svg{width:100%;max-width:520px;height:auto}.v-svg.v-sm{max-width:240px}.v-svg.v-xs{max-width:120px}.v-objects{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.v-group-wrap{align-items:center;gap:12px;display:flex}.v-group{max-width:220px;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:16px;flex-wrap:wrap;justify-content:center;gap:4px;padding:10px;display:flex;position:relative}.v-obj{font-size:2rem;animation:.35s backwards pop;position:relative}.v-obj.crossed:after{content:"✕";color:var(--red);place-items:center;font-size:2.4rem;font-weight:900;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.v-op{font-family:var(--head);color:var(--purple);font-size:2.4rem;font-weight:800}.v-q{font-family:var(--head);color:var(--purple);padding:0 20px;font-size:2.4rem;font-weight:800}.v-label{background:var(--purple);color:#fff;border-radius:999px;padding:0 10px;font-weight:800;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.v-card{min-width:60px;box-shadow:inset 0 0 0 3px var(--line);font-family:var(--head);background:#fff;border-radius:16px;place-items:center;padding:10px 14px;font-size:1.6rem;font-weight:800;display:inline-grid}.v-card.big{min-width:110px;font-size:2.6rem}.v-card.ghost{color:var(--purple);box-shadow:none;background:#ece6ff}.v-card.blank{color:var(--purple);box-shadow:inset 0 0 0 3px var(--purple);background:#ece6ff}.v-card.col{flex-direction:column;gap:2px;font-size:1rem;display:flex}.v-compare,.v-seq,.v-branches{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.v-column{font-family:var(--head);text-align:right;font-size:2.2rem;font-weight:800;line-height:1.2}.v-col-op{color:var(--purple);float:left}.v-col-line{border-top:4px solid var(--ink);margin:4px 0}.v-col-q{color:var(--purple)}.v-coins{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.coin{color:#3c3550;border:3px solid #0000001f;border-radius:50%;place-items:center;font-weight:900;display:grid;box-shadow:inset 0 -4px #00000026,0 2px 6px #00000026}.v-array{gap:4px;max-width:520px;font-size:1.5rem;display:grid}.v-fracs{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.v-fracs:has(.v-xs){flex-direction:row;justify-content:center}.v-bag{max-width:320px;box-shadow:inset 0 0 0 3px var(--line);background:#fff;border-radius:30px 30px 50px 50px;flex-wrap:wrap;justify-content:center;gap:8px;padding:16px;display:flex}.marble{border-radius:50%;width:34px;height:34px;display:inline-block}.v-picture{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;font-size:4.5rem;display:flex}.v-picture b{font-family:var(--head);font-size:1.6rem}.v-letter{font-family:var(--head);color:var(--purple);gap:16px;font-size:5rem;font-weight:800;display:flex}.v-letter .lower{color:var(--coral)}.v-passage{background:#fffdf5;border-radius:18px;max-width:640px;padding:18px 22px;box-shadow:inset 0 0 0 2px #f3e6b9}.v-passage p{margin:0;font-size:1.12rem;line-height:1.7}.v-chain{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.v-chain-item{align-items:center;gap:4px;display:flex}.v-chain .v-card{font-size:1rem}.v-arrow{color:var(--purple);font-size:1.6rem;font-weight:900}.v-formula{font-family:var(--head);color:var(--purple-d);box-shadow:inset 0 0 0 3px var(--line);background:#fff;border-radius:18px;padding:10px 26px;font-size:2.4rem;font-weight:800}.v-map{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.v-map-grid{background:#d8f1d0;border-radius:18px;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;display:grid}.v-map-cell{background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:92px;height:78px;display:flex}.v-map-cell b{font-size:1.8rem}.v-map-cell small{font-size:.75rem;font-weight:700}.v-map-cell.center{box-shadow:inset 0 0 0 3px var(--purple)}.v-compass{width:90px}.pop{transform-box:fill-box;transform-origin:50%;animation:.35s backwards pop}.grow{transform-origin:0;animation:.6s ease-out growx}.grow-y{transform-box:fill-box;transform-origin:bottom;animation:.6s ease-out backwards growy}.parent{min-height:100vh}.parent-main{max-width:1200px;margin:0 auto;padding:24px clamp(16px,4vw,48px) 60px}.topnav nav.open-always{display:flex}.family-code{box-shadow:var(--shadow);background:#fff;border-radius:18px;flex-direction:column;align-items:center;padding:10px 18px;display:flex}.family-code b{font-family:var(--head);letter-spacing:.15em;color:var(--purple);font-size:1.8rem}.kids-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.kid-summary{box-shadow:var(--shadow);background:#fff;border-radius:24px;flex-direction:column;gap:10px;padding:20px;display:flex}.kid-summary.add{border:3px dashed var(--line);box-shadow:none;font-family:var(--head);color:var(--purple);background:0 0;justify-content:center;align-items:center;min-height:220px;font-size:1.3rem;font-weight:800}.kid-summary.add span{font-size:3rem}.kid-summary.add:hover{border-color:var(--purple);background:#fff}.ks-head{align-items:center;gap:14px;display:flex}.ks-head h3,.ks-head h1{margin:0}.ks-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ks-stats div{text-align:center;background:#f6f3ff;border-radius:14px;flex-direction:column;padding:8px;display:flex}.ks-stats b{font-family:var(--head);font-size:1.4rem}.ks-stats span{color:var(--soft);font-size:.72rem;font-weight:700}.flag-note{color:#8a5a00;background:#fff4e0;border-radius:12px;margin:0;padding:6px 12px;font-weight:700}.tabs{gap:6px;margin:10px 0 18px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border:0;border-radius:14px;padding:10px 16px;font-weight:800}.tabs button.on{background:var(--purple);color:#fff;box-shadow:none}.report-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.span2{grid-column:span 2}.panel{box-shadow:var(--shadow);background:#fff;border-radius:22px;margin-bottom:0;padding:20px}.panel h3{margin-top:4px}.panel.danger{margin-top:18px;box-shadow:inset 0 0 0 2px #ffd0d8}.settings .panel,.narrow .panel{margin-bottom:16px}.subj-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.subj-row:last-child{border-bottom:0}.status{background:#eee;border-radius:999px;padding:3px 10px;font-size:.85rem;font-weight:800}.status.good{color:#0b7a5c;background:#dcf8ee}.status.ok{color:#1b5fb3;background:#e2efff}.status.bad{color:#a01d37;background:#ffe9ec}.chart{width:100%;max-width:760px;height:auto;margin:0 auto;display:block}.skill-map{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.sm-cell{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:2px;padding:12px;display:flex}.sm-cell span{font-size:1.6rem}.sm-cell small{color:var(--soft);text-transform:capitalize;font-weight:700}.sm-cell.learning{background:#f3f8ff;box-shadow:inset 0 0 0 2px #9cc6ff}.sm-cell.passed{background:#effcf6;box-shadow:inset 0 0 0 2px #7fdcb9}.sm-cell.mastered{box-shadow:inset 0 0 0 2px var(--sun);background:#fff6d6}.table-wrap{box-shadow:var(--shadow);background:#fff;border-radius:20px;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;background:#f6f3ff;padding:12px;position:sticky;top:0}.table td{border-top:1px solid var(--line);vertical-align:top;padding:10px 12px}.table .q-cell{max-width:320px}.table .ok{color:var(--mint);font-weight:700}.table .bad{color:var(--red);font-weight:700}.row-good td:first-child{box-shadow:inset 4px 0 0 var(--mint)}.row-bad td:first-child{box-shadow:inset 4px 0 0 var(--red)}.flag-row{box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.flag-row span:nth-child(2){flex:1}.badge.flag-too_fast,.badge.flag-same_position,.badge.flag-tab_switch,.badge.flag-tournament_speed,.badge.flag-sudden_jump{color:#8a5a00;background:#fff2d6}.badge.flag-struggling{color:#1b5fb3;background:#e2efff}.chat-log{flex-direction:column;gap:10px;display:flex}.chat-item{box-shadow:var(--shadow);background:#fff;border-radius:16px;flex-direction:column;padding:12px 16px;display:flex}.chat-item p{margin:4px 0}.chat-who{color:var(--purple-d);font-weight:800}.avatar-pick{flex-wrap:wrap;gap:8px;display:flex}.avatar-pick button{background:0 0;border:0;border-radius:50%;flex-direction:column;align-items:center;padding:3px;display:flex}.avatar-pick button.sel{box-shadow:0 0 0 3px var(--purple);background:#f1edff;border-radius:18px}.rules{background:#f6f3ff;border-radius:14px;margin:8px 0;padding:12px 16px}.rules ul{margin:6px 0 0;padding-left:1.2em}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{flex-direction:column;display:flex}.stat b{font-family:var(--head);color:var(--purple);font-size:2rem}.stat span{text-transform:capitalize;color:var(--soft);font-weight:700}.skill-checks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 10px;display:grid}.skill-checks .check{margin:4px 0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)scale(1.04)}}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes flap{to{transform:rotate(-20deg)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes growx{0%{transform:scaleX(0)}}@keyframes growy{0%{transform:scaleY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:860px){.hero,.split{grid-template-columns:1fr}.hero-art{min-height:320px}.hero-art:before{width:280px;height:280px}.footer,.report-grid{grid-template-columns:1fr}.span2{grid-column:auto}.menu-btn{display:block}.topnav nav:not(.open-always){box-shadow:var(--shadow-lg);background:#fff;border-radius:20px;flex-direction:column;padding:16px;display:none;position:absolute;top:100%;left:12px;right:12px}.topnav nav.open{display:flex}.topnav .who{display:none}.stop{width:86%}}@media (max-width:560px){.island-map{grid-template-columns:1fr}.kid-nav span,.kid-me span{display:none}.choices.n3{grid-template-columns:1fr 1fr 1fr}.ks-stats{grid-template-columns:repeat(2,1fr)}.pic-grid.small{grid-template-columns:repeat(4,1fr)}.typed-row{flex-wrap:wrap}.typed-row input{flex:100%}.float-card.c3{display:none}}.logo span{white-space:nowrap;font-size:1.3rem}@media (max-width:560px){.logo span{font-size:1.05rem}.logo .pip{width:32px;height:32px}}
