@font-face{font-family:Nunito;src:url(/ui/Nunito-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(/ui/Nunito-SemiBold.ttf)format("truetype");font-weight:500 700;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(/ui/Nunito-ExtraBold.ttf)format("truetype");font-weight:800 900;font-style:normal;font-display:swap}:root{--font-kids:"Nunito", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans:"Nunito", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-brand:#2563eb;--color-brand-light:#eff6ff;--color-brand-dark:#1d4ed8;--color-joy:#f59e0b;--color-joy-light:#fffbeb;--color-joy-dark:#d97706;--color-success:#10b981;--color-success-light:#ecfdf5;--color-accent:#f43f5e;--color-accent-light:#fff1f2;--color-ink:#0f172a;--color-ink-secondary:#475569;--color-ink-muted:#94a3b8;--color-border:#e2e8f0;--color-border-subtle:#f1f5f9;--color-surface:#fff;--color-surface-subtle:#f8fafc;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0f172a0d;--shadow-card:0 2px 8px -2px #2563eb0f, 0 1px 3px #0f172a0a;--shadow-hover:0 12px 28px -6px #2563eb1f, 0 4px 10px -2px #0f172a0a;--shadow-tactile:0 4px 0 0 #1d4ed8, 0 8px 16px #2563eb40;--shadow-tactile-joy:0 4px 0 0 #d97706, 0 8px 16px #f59e0b40;font-family:var(--font-kids);color:var(--color-ink);background-color:var(--color-surface-subtle);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{background-color:var(--color-surface-subtle);scroll-behavior:smooth;min-width:320px;font-family:var(--font-kids);margin:0;padding:0;overflow-x:clip}#root{width:100%;min-height:100vh}::selection{color:#1e40af;background-color:#dbeafe}:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.skip-link{background:var(--color-brand);color:#fff;border-radius:var(--radius-md);z-index:99999;padding:10px 18px;font-size:.9rem;font-weight:800;text-decoration:none;transition:top .16s cubic-bezier(.16,1,.3,1);position:absolute;top:-100px;left:16px;box-shadow:0 4px 14px #2563eb59}.skip-link:focus{outline:3px solid var(--color-ink);outline-offset:2px;top:16px}.oly-grid-paper{background-color:#fff;background-image:linear-gradient(90deg,#2563eb12 1px,#0000 1px),linear-gradient(#2563eb12 1px,#0000 1px),linear-gradient(90deg,#2563eb33 1px,#0000 1px),linear-gradient(#2563eb33 1px,#0000 1px);background-position:0 0,0 0,0 0,0 0;background-size:5px 5px,5px 5px,25px 25px,25px 25px;position:relative}.oly-grid-paper:before{content:"";pointer-events:none;z-index:1;background-color:#ef444466;width:2px;position:absolute;top:0;bottom:0;left:36px}.ambient-glow{background:radial-gradient(circle at 50% 0,#2563eb0f 0%,#0000 60%)}.hero-mesh{background-color:#fff;background-image:radial-gradient(70% 45% at 50% -10%,#2563eb14,#0000 60%),radial-gradient(50% 40% at 5% 25%,#f59e0b12,#0000 50%),radial-gradient(50% 35% at 95% 15%,#10b9810f,#0000 50%),radial-gradient(at 50% 100%,#f8fafc 0,#0000 50%)}.shimmer-text{background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 55%,#f59e0b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.bento-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:20px;transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s cubic-bezier(.16,1,.3,1),border-color .24s;position:relative;overflow:hidden;box-shadow:0 2px 8px -2px #2563eb0d,0 1px 3px #0f172a08}.bento-card:hover{border-color:#bfdbfe;transform:translateY(-3px);box-shadow:0 14px 32px -6px #2563eb1f,0 4px 10px -2px #0f172a0a}.hover-elevate{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .22s}.hover-elevate:hover{box-shadow:var(--shadow-hover);border-color:#bfdbfe;transform:translateY(-2px)}@keyframes starFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(1.5deg)}}@keyframes starGlow{0%,to{filter:drop-shadow(0 4px 14px #f59e0b40)}50%{filter:drop-shadow(0 8px 26px #f59e0b73)}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.star-companion-float{animation:3.6s ease-in-out infinite starFloat,3.6s ease-in-out infinite starGlow}.speech-bubble{background:#fff;border:1.5px solid #fde68a;border-radius:16px;padding:12px 18px;display:inline-block;position:relative;box-shadow:0 6px 18px #f59e0b1f}.speech-bubble:after{content:"";border:7px solid #0000;border-left-width:0;border-right:9px solid #fff;width:0;display:block;position:absolute;top:50%;left:-9px;transform:translateY(-50%)}.speech-bubble:before{content:"";border:8px solid #0000;border-left-width:0;border-right:11px solid #fde68a;width:0;display:block;position:absolute;top:50%;left:-11px;transform:translateY(-50%)}@keyframes pulse-emerald{0%{transform:scale(.95);box-shadow:0 0 #10b98180}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.pulse-dot{animation:2.4s cubic-bezier(.4,0,.6,1) infinite pulse-emerald}.kid-target{justify-content:center;align-items:center;min-width:48px;min-height:48px;display:inline-flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
