.speak-button{flex-shrink:0;width:52px;height:52px;border-radius:50%;border:2.5px solid rgba(var(--lavender-rgb),.5);background:var(--color-white);font-size:1.5rem;line-height:1;box-shadow:0 2px 10px rgba(var(--lavender-rgb),.25);transition:transform .1s ease,border-color .15s ease,background .15s ease}@media (hover: hover){.speak-button:hover{border-color:var(--color-pink);background:var(--color-blush)}}.speak-button:active{transform:scale(.94)}.speak-button--loading{animation:speak-pulse 1s ease-in-out infinite}@keyframes speak-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.problem-display{text-align:center}.problem-display__counter{font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;color:rgba(var(--purple-rgb),.6);margin-bottom:var(--space-2)}.problem-display__prompt-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.problem-display__prompt{font-family:Fredoka,sans-serif;font-size:3rem;font-weight:600;color:var(--color-purple);line-height:1.2}.problem-display__prompt--long{font-size:2.1rem;max-width:640px}@media (max-width: 600px){.problem-display__prompt{font-size:2rem}.problem-display__prompt--long{font-size:1.5rem}}.answer-input{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.answer-input__field{font-family:Fredoka,sans-serif;font-size:2.5rem;font-weight:600;text-align:center;width:160px;padding:12px 16px;border:3px solid var(--color-lavender);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-purple);outline:none;transition:border-color .15s ease,box-shadow .15s ease;-moz-appearance:textfield}.answer-input__field::-webkit-outer-spin-button,.answer-input__field::-webkit-inner-spin-button{-webkit-appearance:none}.answer-input__field:focus{border-color:var(--color-pink);box-shadow:0 0 0 4px rgba(var(--pink-rgb),.25)}.answer-input__field:disabled{opacity:.5}.answer-input__submit{min-width:160px}.answer-input--hidden{opacity:0;pointer-events:none;height:0;overflow:hidden}@media (max-width: 600px){.answer-input{width:100%}.answer-input__field{width:100%;font-size:3rem}.answer-input__submit{width:100%}}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.feedback{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-4);text-align:center}.feedback--correct{background:#a8edbaf2;animation:popIn .2s ease-out}.feedback--wrong{background:rgba(var(--blush-rgb),.95);animation:shake .4s ease-in-out}.feedback__emoji{font-size:5rem;line-height:1}.feedback--wrong .feedback__emoji{font-size:3rem}.feedback__message{font-family:Fredoka,sans-serif;font-size:2rem;font-weight:600;color:var(--color-purple)}.feedback--wrong .feedback__message{font-family:Nunito,sans-serif;font-size:1.25rem;font-weight:700}.landing-page{min-height:100vh}.landing-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:60px;background:#fdf5ffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(200,154,255,.18)}.landing-nav__brand{display:flex;align-items:center;gap:8px}.landing-nav__logo{font-size:1.4rem;line-height:1}.landing-nav__name{font-family:Fredoka,sans-serif;font-size:1.15rem;font-weight:700;color:var(--color-purple)}.landing-nav__signin{background:none;border:1.5px solid rgba(200,154,255,.45);border-radius:var(--radius-pill);padding:7px 20px;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:700;color:var(--color-purple);cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.landing-nav__signin:hover{background:#c89aff1a;box-shadow:0 2px 10px #c89aff33}@media (max-width: 768px){.landing-nav{padding:0 var(--space-3)}}.landing-hero-section{max-width:1080px;margin:0 auto;padding:64px 48px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.landing-left{display:flex;flex-direction:column;gap:var(--space-3)}.landing-hero__logo{font-size:5rem;line-height:1;margin-bottom:var(--space-2)}.landing-hero__title{font-family:Fredoka,sans-serif;font-size:3.5rem;font-weight:700;color:var(--color-purple);margin-bottom:var(--space-1);line-height:1.1}.landing-hero__tagline{font-family:Nunito,sans-serif;font-size:1.25rem;font-weight:600;color:var(--color-purple);margin-bottom:var(--space-2)}.landing-hero__sub{font-family:Nunito,sans-serif;font-size:1rem;color:var(--color-purple);opacity:.75;line-height:1.6;max-width:400px}.landing-feature-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:600;color:var(--color-purple);opacity:.55}.landing-signin{display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(200,154,255,.25);padding-top:var(--space-3)}.landing-signin__label{font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;color:var(--color-purple);opacity:.6;transition:opacity .35s ease,font-size .2s ease;max-width:340px}.landing-signin--solved .landing-signin__label{opacity:1;font-weight:800;font-size:1.1rem}@keyframes signInPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.landing-signin--solved .landing-signin__btn{animation:signInPulse 1.6s ease-in-out infinite}.clerk-signin-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;border-radius:var(--radius-pill);border:1.5px solid rgba(200,154,255,.5);background:var(--color-white);color:var(--color-purple);font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 2px 10px #c89aff33;transition:box-shadow .15s ease,transform .1s ease}.clerk-signin-btn:hover{box-shadow:0 4px 18px #c89aff59;transform:translateY(-1px)}.clerk-signin-btn--large{padding:16px 40px;font-size:1.15rem}.landing-right{display:flex;flex-direction:column;gap:var(--space-2)}.landing-demo__label{font-family:Fredoka,sans-serif;font-size:1.3rem;font-weight:600;color:var(--color-purple);text-align:center}.landing-demo__card{padding:var(--space-5) var(--space-4);min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);box-shadow:0 8px 40px #c89aff47;border:2px solid rgba(200,154,255,.3)}.landing-demo__card .problem-display__counter{display:none}.landing-demo__solved{text-align:center;animation:popIn .2s ease-out}.landing-demo__solved-emoji{font-size:4rem;line-height:1;margin-bottom:var(--space-1)}.landing-demo__solved-message{font-family:Fredoka,sans-serif;font-size:2rem;font-weight:600;color:var(--color-purple)}.landing-features-section{background:var(--color-white);padding:80px 48px}.landing-section-title{font-family:Fredoka,sans-serif;font-size:2rem;font-weight:700;color:var(--color-purple);text-align:center;max-width:600px;margin:0 auto var(--space-5);line-height:1.2}.landing-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);max-width:1080px;margin:0 auto}.landing-feature-card{background:linear-gradient(160deg,#fdf0ff,#fff0f8);border-radius:var(--radius-card);padding:var(--space-4);border:1.5px solid rgba(200,154,255,.2);box-shadow:0 2px 12px #c89aff1f}.landing-feature-card__icon{font-size:2.5rem;line-height:1;margin-bottom:var(--space-2)}.landing-feature-card__title{font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:600;color:var(--color-purple);margin-bottom:var(--space-1)}.landing-feature-card__body{font-family:Nunito,sans-serif;font-size:.9rem;color:var(--color-purple);opacity:.8;line-height:1.55;margin:0}.landing-spotlight-section{max-width:1080px;margin:0 auto;padding:80px 48px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.landing-alt-bg{background:var(--color-white)}.landing-spotlight__badge{display:inline-block;font-family:Nunito,sans-serif;font-size:.75rem;font-weight:800;color:#c89aff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-2)}.landing-spotlight__title{font-family:Fredoka,sans-serif;font-size:1.9rem;font-weight:700;color:var(--color-purple);margin-bottom:var(--space-2);line-height:1.2}.landing-spotlight__body{font-family:Nunito,sans-serif;font-size:1rem;color:var(--color-purple);opacity:.8;line-height:1.6;margin-bottom:var(--space-3)}.landing-topic-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.landing-topic-list li{font-family:Nunito,sans-serif;font-size:.95rem;font-weight:600;color:var(--color-purple);background:#c89aff1a;border-radius:12px;padding:10px 16px}.worksheet-mock{background:var(--color-white);border-radius:var(--radius-card);border:2px solid rgba(200,154,255,.25);box-shadow:0 8px 40px #c89aff33;padding:var(--space-4);font-family:Nunito,sans-serif}.worksheet-mock__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1.5px solid rgba(200,154,255,.2)}.worksheet-mock__logo{font-family:Fredoka,sans-serif;font-size:1rem;font-weight:700;color:var(--color-purple)}.worksheet-mock__field{font-size:.8rem;color:var(--color-purple);opacity:.55}.worksheet-mock__title{font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:700;color:var(--color-purple);text-align:center;margin-bottom:var(--space-3)}.worksheet-mock__problems{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-3)}.worksheet-mock__problems span{font-family:Fredoka,sans-serif;font-size:1.05rem;color:var(--color-purple);background:linear-gradient(160deg,#fdf0ff,#fff0f8);border-radius:10px;padding:10px 14px;text-align:center;border:1px solid rgba(200,154,255,.2)}.challenges-mock{background:linear-gradient(135deg,#5c3d8f,#8b5cf6);border-radius:var(--radius-card);padding:var(--space-5) var(--space-4);color:#fff;text-align:center;box-shadow:0 12px 40px #5c3d8f59}.challenges-mock__timer{font-family:Fredoka,sans-serif;font-size:1.4rem;font-weight:600;margin-bottom:var(--space-2);opacity:.9}.challenges-mock__score{font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;margin-bottom:var(--space-4);opacity:.85}.challenges-mock__problem{font-family:Fredoka,sans-serif;font-size:2.75rem;font-weight:700;margin-bottom:var(--space-3)}.challenges-mock__input{font-family:Nunito,sans-serif;font-size:1.1rem;opacity:.55;background:#ffffff26;border-radius:12px;padding:8px 28px;display:inline-block}.landing-challenge-cards{display:flex;flex-direction:column;gap:var(--space-2)}.landing-challenge-card{display:flex;align-items:flex-start;gap:var(--space-2);background:#c89aff14;border-radius:var(--radius-card);padding:var(--space-3);border:1.5px solid rgba(200,154,255,.2);text-align:left}.landing-challenge-card--clickable{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;width:100%;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.landing-challenge-card--clickable:hover{transform:translateY(-2px);box-shadow:0 6px 24px #c89aff47;border-color:#c89aff73}.landing-challenge-card--clickable:active{transform:scale(.98)}.landing-challenge-card__icon{font-size:2rem;flex-shrink:0;margin-top:2px}.landing-challenge-card__body{flex:1}.landing-challenge-card__arrow{font-size:1.1rem;color:#c89aff;flex-shrink:0;align-self:center;opacity:0;transform:translate(-4px);transition:opacity .15s ease,transform .15s ease}.landing-challenge-card--clickable:hover .landing-challenge-card__arrow{opacity:1;transform:translate(0)}.landing-challenge-card strong{display:block;font-family:Fredoka,sans-serif;font-size:1.1rem;color:var(--color-purple);margin-bottom:4px}.landing-challenge-card p{font-family:Nunito,sans-serif;font-size:.9rem;color:var(--color-purple);opacity:.8;line-height:1.5;margin:0}.landing-cta-section{background:linear-gradient(135deg,#5c3d8f,#8b5cf6);padding:96px 48px;text-align:center}.landing-cta__inner{max-width:580px;margin:0 auto}.landing-cta__emoji{font-size:3rem;line-height:1;margin-bottom:var(--space-2)}.landing-cta__title{font-family:Fredoka,sans-serif;font-size:2.4rem;font-weight:700;color:#fff;margin-bottom:var(--space-2);line-height:1.15}.landing-cta__body{font-family:Nunito,sans-serif;font-size:1.05rem;color:#ffffffd9;line-height:1.6;margin-bottom:var(--space-4)}.landing-cta-section .clerk-signin-btn{background:#fff;color:var(--color-purple);border-color:#ffffff80;box-shadow:0 4px 20px #0003}.landing-cta-section .clerk-signin-btn:hover{box-shadow:0 6px 28px #00000047}@media (max-width: 960px){.landing-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.landing-hero-section{grid-template-columns:1fr;padding:var(--space-4) var(--space-3);gap:var(--space-2);align-items:start}.landing-left{gap:var(--space-3)}.landing-hero__logo,.landing-hero__title,.landing-hero__tagline,.landing-hero__sub{text-align:center}.landing-hero__title{font-size:2.75rem}.landing-hero__sub{max-width:100%}.landing-signin{align-items:center}.landing-signin__label{text-align:center;max-width:100%}.landing-features-section{padding:56px var(--space-3)}.landing-features-grid{grid-template-columns:1fr}.landing-spotlight-section{grid-template-columns:1fr;padding:56px var(--space-3);gap:var(--space-4)}.landing-spotlight__visual--first{order:2}.landing-spotlight__title{font-size:1.6rem}.worksheet-mock,.challenges-mock{max-width:420px;margin:0 auto;width:100%}.worksheet-mock__problems{grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-2)}.worksheet-mock__problems span{font-size:.95rem;padding:8px 10px}.challenges-mock__problem{font-size:2.2rem}.landing-cta-section{padding:72px var(--space-3)}.landing-cta__title{font-size:1.9rem}}.landing-page a.landing-nav__signin,.landing-page a.clerk-signin-btn,.landing-page a.landing-challenge-card{text-decoration:none;color:var(--color-purple);box-sizing:border-box}.landing-page a.landing-nav__signin{display:inline-block}:root{--lavender-rgb: 200, 154, 255;--pink-rgb: 255, 133, 200;--purple-rgb: 92, 61, 143;--blush-rgb: 255, 228, 243;--color-lavender: rgb(var(--lavender-rgb));--color-pink: rgb(var(--pink-rgb));--color-purple: rgb(var(--purple-rgb));--color-blush: rgb(var(--blush-rgb));--color-page-start: #FDF0FF;--color-page-end: #FFF0F8;--color-gold: #FFD166;--color-gold-dark: #FFB347;--color-sky: #85DEFF;--color-mint: #A8EDBA;--color-white: #FFFFFF;--gradient-unicorn: linear-gradient(135deg, var(--color-lavender), var(--color-pink));--gradient-gold: linear-gradient(135deg, #FFD166, #FFB347);--gradient-progress: linear-gradient(90deg, var(--color-lavender), var(--color-pink), var(--color-gold));--gradient-page: linear-gradient(160deg, var(--color-page-start) 0%, var(--color-page-end) 100%);--radius-sm: 16px;--radius-md: 24px;--radius-pill: 999px;--radius-cell: 12px;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 48px}:root[data-theme=rocket]{--lavender-rgb: 122, 165, 255;--pink-rgb: 46, 196, 222;--purple-rgb: 30, 58, 110;--blush-rgb: 224, 238, 255;--color-page-start: #EEF4FF;--color-page-end: #E6F7FF}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,sans-serif;background:var(--gradient-page);background-attachment:fixed;color:var(--color-purple);min-height:100vh}h1,h2,h3{font-family:Fredoka,sans-serif}button{cursor:pointer;font-family:Nunito,sans-serif;border:none}.btn-primary{background:var(--gradient-unicorn);color:var(--color-white);font-family:Nunito,sans-serif;font-size:1.25rem;font-weight:800;padding:16px 40px;border-radius:var(--radius-pill);border:none;box-shadow:0 4px 16px rgba(var(--lavender-rgb),.45);transition:filter .15s ease,box-shadow .15s ease,transform .1s ease}.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 20px rgba(var(--lavender-rgb),.55)}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-primary:disabled{opacity:.45;cursor:default}.btn-secondary{background:transparent;color:var(--color-lavender);font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;padding:10px 28px;border-radius:var(--radius-pill);border:2.5px solid var(--color-lavender);transition:background .15s ease}.btn-secondary:hover{background:rgba(var(--lavender-rgb),.12)}.card{background:var(--color-white);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:0 4px 24px rgba(var(--lavender-rgb),.18);border:1.5px solid rgba(var(--lavender-rgb),.2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page{max-width:900px;margin:0 auto;padding:var(--space-3);animation:fadeIn .2s ease}
