@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,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(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(./nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--night-1:#0f1440;--night-2:#1b1f5e;--night-3:#35186b;--card:#fffaf0;--card-text:#2a1f4d;--muted:#6d6391;--border:#e9dcc4;--violet:#7b3fe4;--violet-dark:#5a26b8;--gold:#ffc93c;--gold-deep:#f0a500;--pink:#ff5fae;--sky:#4fc3ff;--green:#26c281;--green-bg:#e3f8ee;--red:#e5484d;--red-bg:#ffe8e8;--hint-bg:#fff3cf;--radius:22px;--font-display:"Fredoka Variable", "Trebuchet MS", system-ui, sans-serif;--font-body:"Nunito Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);line-height:1.45}*{box-sizing:border-box}body{color:#fff;background:radial-gradient(900px 500px at 20% -10%, #7b3fe48c, transparent 70%), radial-gradient(700px 500px at 110% 20%, #4fc3ff47, transparent 70%), linear-gradient(180deg, var(--night-1), var(--night-2) 45%, var(--night-3));background-attachment:fixed;min-height:100vh;margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:650}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sky{pointer-events:none;opacity:.8;background-image:radial-gradient(2px 2px at 10% 20%,#fff,#0000),radial-gradient(1.5px 1.5px at 30% 70%,#fff,#0000),radial-gradient(2px 2px at 55% 15%,#ffe9a8,#0000),radial-gradient(1.5px 1.5px at 75% 45%,#fff,#0000),radial-gradient(2px 2px at 90% 80%,#ffe9a8,#0000),radial-gradient(1.5px 1.5px at 20% 90%,#fff,#0000),radial-gradient(1.5px 1.5px at 65% 85%,#fff,#0000),radial-gradient(2px 2px at 85% 10%,#fff,#0000);background-size:420px 420px;animation:5s ease-in-out infinite alternate twinkle;position:fixed;inset:0}@keyframes twinkle{to{opacity:.35}}.app{max-width:760px;margin:0 auto;padding:18px 16px 48px;position:relative}.header{align-items:center;gap:14px;margin-bottom:20px;display:flex}.header__logo{border-radius:22%;width:64px;height:64px;box-shadow:0 0 0 3px #ffffff2e,0 8px 24px #00000073,0 0 28px #ffc93c59}.header h1{background:linear-gradient(90deg, #fff 0%, var(--gold) 55%, var(--pink) 100%);color:#0000;filter:drop-shadow(0 2px 8px #ffc93c59);-webkit-background-clip:text;background-clip:text;font-size:clamp(1.8rem,1.3rem + 2vw,2.5rem);line-height:1}.header__tagline{color:#fffc;margin-top:4px;font-weight:600}.header__back{margin-left:auto}.button{font:inherit;font-family:var(--font-display);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:56px;padding:12px 24px;font-size:1.15rem;font-weight:600;transition:transform .12s,box-shadow .12s;display:inline-flex}.button:active{transform:scale(.97)}.button:focus-visible,input:focus-visible,.child-card:focus-visible{outline:4px solid var(--gold);outline-offset:3px}.button--primary{color:#fff;background:linear-gradient(180deg, #9a63ff, var(--violet) 50%, var(--violet-dark));box-shadow:inset 0 1px #ffffff59,0 8px 20px #5a26b873}.button--primary:hover{box-shadow:inset 0 1px #ffffff59,0 10px 26px #5a26b899,0 0 18px #ffc93c59}.button--ghost{color:#fff;background:#ffffff1f;min-height:44px;padding:8px 16px;font-size:1rem;box-shadow:inset 0 0 0 1px #ffffff40}.panel,.puzzle-card,.summary,.week{color:var(--card-text);background:var(--card);border-radius:var(--radius);box-shadow:0 16px 40px #05082880}.panel{padding:28px 22px}.panel--center{text-align:center;flex-direction:column;align-items:center;gap:12px;font-size:1.1rem;display:flex}.panel__icon{font-size:3rem}.picker__title{text-align:center;margin:8px 0 18px;font-size:1.6rem}.picker__cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.child-card{font:inherit;color:#fff;cursor:pointer;border:none;border-radius:28px;flex-direction:column;align-items:center;gap:6px;padding:24px 16px 20px;transition:transform .15s;display:flex;box-shadow:inset 0 1px #ffffff4d,0 14px 34px #05082880}.child-card:hover{transform:translateY(-4px)rotate(-.5deg)}.child-card--0{background:linear-gradient(160deg,#5b8cff,#6a3fe0 70%)}.child-card--1{background:linear-gradient(160deg,#ff7ac0,#9b3fe0 70%)}.child-card--2{background:linear-gradient(160deg,#2fd3a3,#2c7be5 70%)}.child-card--3{background:linear-gradient(160deg,#ffb347,#e0503f 70%)}.child-card__avatar{filter:drop-shadow(0 6px 10px #00000059);font-size:4.2rem;line-height:1;animation:3s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-6px)}}.child-card__avatar.avatar-image{border-radius:24%;width:120px;height:120px;box-shadow:0 0 0 4px #ffffff59,0 10px 22px #00000059}.child-card__name{font-family:var(--font-display);font-size:1.9rem;font-weight:700}.child-card__grade{background:#fff3;border-radius:999px;padding:2px 12px;font-weight:700}.child-card__status{opacity:.95;font-weight:700}.stars{align-items:center;gap:2px;display:inline-flex}.star{fill:#2a1f4d2e}.child-card .star{fill:#ffffff4d}.star--on,.child-card .star--on{fill:var(--gold);filter:drop-shadow(0 1px 3px #f0a50099)}.stars--sm .star{width:22px;height:22px}.stars--md .star{width:30px;height:30px}.stars--lg .star{width:48px;height:48px}.child-day{flex-direction:column;gap:16px;display:flex}.child-day__who{align-items:center;gap:10px;display:flex}.child-day__avatar{font-size:2.2rem}.child-day__avatar.avatar-image{border-radius:24%;width:48px;height:48px;box-shadow:0 0 0 2px #ffffff59}.child-day__name{font-family:var(--font-display);font-size:1.5rem;font-weight:650}.progress-dots{gap:8px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.progress-dots__dot{background:#ffffff40;border-radius:50%;width:16px;height:16px}.progress-dots__dot--solved{background:var(--gold);box-shadow:0 0 10px #ffc93cb3}.progress-dots__dot--failed{background:#ffffff8c}.progress-dots__dot--current{outline-offset:2px;outline:3px solid #fff}.puzzle-card{flex-direction:column;gap:18px;padding:22px;animation:.35s cubic-bezier(.2,1.4,.4,1) pop-in;display:flex}@keyframes pop-in{0%{opacity:0;transform:translateY(14px)scale(.97)}}.puzzle-card__header{justify-content:space-between;align-items:center;display:flex}.puzzle-card__count{font-family:var(--font-display);color:var(--violet);background:#efe6ff;border-radius:999px;padding:4px 12px;font-weight:650}.puzzle-card__question{font-family:var(--font-display);font-size:clamp(1.4rem,1.1rem + 1.4vw,1.9rem);font-weight:550;line-height:1.3}.answer{flex-direction:column;gap:12px;display:flex}.answer__field{align-items:center;gap:10px;display:flex}.answer input{min-width:0;font-family:var(--font-display);border:3px solid var(--border);color:var(--card-text);text-align:center;background:#fff;border-radius:18px;flex:1;padding:10px 18px;font-size:2rem;font-weight:600}.answer input:focus{border-color:var(--violet)}.answer__unit{font-family:var(--font-display);color:var(--muted);font-size:1.6rem;font-weight:600}.answer__tries{text-align:center;color:var(--muted);font-weight:700}.feedback{font-family:var(--font-display);text-align:center;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:14px 16px;font-size:1.25rem;font-weight:600;animation:.3s cubic-bezier(.2,1.4,.4,1) pop-in;display:flex}.feedback--correct{background:var(--green-bg);color:#13784f}.feedback--wrong{background:var(--red-bg);color:var(--red);animation:.36s ease-out shake}.feedback--failed{color:var(--violet-dark);background:#efe6ff}.feedback--hint{background:var(--hint-bg);color:#8a5a00}@keyframes shake{20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.explanation{background:var(--hint-bg);border-radius:16px;padding:14px 16px}.explanation h3{margin-bottom:4px;font-size:1.05rem}.puzzle-card__next{align-self:center;min-width:220px}.summary{text-align:center;background:radial-gradient(120% 60% at 50% 0%, #ffc93c4d, transparent 70%), var(--card);flex-direction:column;align-items:center;gap:10px;padding:28px 22px;animation:.45s cubic-bezier(.2,1.4,.4,1) pop-in;display:flex;position:relative;overflow:hidden}.summary__kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--violet);font-weight:800}.summary h2{font-size:1.9rem}.summary__total{font-family:var(--font-display);align-items:baseline;gap:6px;display:flex}.summary__big{color:var(--gold-deep);text-shadow:0 4px 14px #f0a50066;font-size:4.5rem;font-weight:700;line-height:1}.summary__of{color:var(--muted);font-size:1.6rem}.summary__list{flex-direction:column;gap:6px;width:min(340px,100%);margin:6px 0;padding:0;list-style:none;display:flex}.summary__list li{background:#f5ecdb;border-radius:12px;justify-content:space-between;align-items:center;padding:8px 14px;font-weight:700;display:flex}.summary__message{font-family:var(--font-display);color:var(--violet-dark);font-size:1.35rem;font-weight:600}.summary__come-back{color:var(--muted);font-weight:700}.confetti{pointer-events:none;position:absolute;inset:0}.confetti span{animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.4,.55,1);animation-fill-mode:both;position:absolute;top:-16px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0,0)rotate(0)}85%{opacity:1}to{transform:translate3d(var(--drift), 640px, 0) rotate(var(--spin));opacity:0}}.week{padding:16px 18px}.week__title{margin-bottom:10px;font-size:1.05rem}.week__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.week__day{background:#f5ecdb;border-radius:12px;flex-direction:column;align-items:center;padding:8px 2px;display:flex}.week__day--today{box-shadow:inset 0 0 0 2px var(--violet);background:#efe6ff}.week__name{color:var(--muted);font-size:.75rem;font-weight:800}.week__stars{font-family:var(--font-display);color:var(--gold-deep);font-size:1.3rem;font-weight:700}.week__max{color:var(--muted);font-size:.7rem}@media (width<=480px){.header__logo{width:52px;height:52px}.header__tagline{font-size:.9rem}.button--primary{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.confetti{display:none}}
