@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Inter:wght@400;500;600;700&display=swap";.hero-demo{position:relative}.hero-step{opacity:0;animation-fill-mode:forwards}.hero-step-mic{animation:fadeIn .4s ease-out .3s forwards}.hero-mic-icon{display:inline-block;animation:pulse 1s ease-in-out .3s 2}.hero-toddler-bubble{background:#fef0f6;border-radius:12px;padding:.85rem 1rem;font-weight:600;font-size:.9rem;color:var(--coral)}.hero-typewriter{display:inline-block;overflow:hidden;white-space:nowrap;border-right:2px solid var(--coral);animation:typing 1.5s steps(28) .6s forwards,blink .5s step-end .6s 3;width:0}.hero-step-processing{animation:fadeIn .3s ease-out 2.5s forwards,fadeOut .3s ease-out 3.5s forwards}.hero-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--coral);border-radius:50%;animation:spin .6s linear 2.5s infinite}.hero-step-cards{animation:fadeIn .3s ease-out 3.8s forwards}.hero-card-do{opacity:0;transform:translateY(10px);animation:slideUp .4s ease-out 4s forwards}.hero-card-say{opacity:0;transform:translateY(10px);animation:slideUp .4s ease-out 4.4s forwards}.hero-card-observe{opacity:0;transform:translateY(10px);animation:slideUp .4s ease-out 4.8s forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes typing{0%{width:0}to{width:100%;border-right-color:transparent}}@keyframes blink{50%{border-color:transparent}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-primary: #e8614d;--color-primary-hover: #d4503e;--color-primary-soft: #fef0ee;--color-primary-muted: #f9b4ab;--color-primary-shadow: rgba(232, 97, 77, .25);--color-accent: #2ab5a0;--color-accent-hover: #229e8c;--color-accent-soft: #e6f9f6;--color-accent-muted: #93ddd2;--color-text: #2d2a3e;--color-text-secondary: #5e5a72;--color-text-muted: #8e8a9e;--color-border: #e8e5f0;--color-border-hover: #d4d0e0;--color-surface: #ffffff;--color-surface-soft: #faf8fc;--color-surface-muted: #f3f1f7;--color-backdrop: rgba(45, 42, 62, .5);--color-dark: #1e1a2f;--color-dark-surface: rgba(255, 255, 255, .08);--color-dark-text: #e8e5f0;--color-dark-muted: #9e9ab0;--color-success: #34a853;--color-success-soft: #ecfdf3;--color-error: #e84d4d;--color-error-soft: #fef2f2;--color-warning: #f0a030;--color-warning-soft: #fef8e8;--color-xp: #f0a030;--color-xp-soft: #fef8e8;--color-streak: #e8614d;--color-star: #f0a030;--color-star-empty: #e8e5f0;--font-display: "Nunito", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(45, 42, 62, .04);--shadow-md: 0 8px 24px rgba(45, 42, 62, .06);--shadow-lg: 0 18px 40px rgba(45, 42, 62, .08);--shadow-xl: 0 30px 60px rgba(45, 42, 62, .1);--shadow-primary: 0 12px 30px var(--color-primary-shadow);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem}:root{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-surface-soft);line-height:1.5;font-weight:400}h1,h2,h3,h4{font-family:var(--font-display)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--color-surface-soft)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}input{font:inherit}.page{display:flex;flex-direction:column;min-height:100vh}.container{width:min(1120px,92%);margin:0 auto}.narrow{width:min(720px,90%)}.muted{color:var(--color-text-secondary)}.small{font-size:.85rem}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.15em;color:var(--color-primary);margin-bottom:.5rem}.badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.75rem;font-weight:600}.badge.warning{background:var(--color-warning-soft);color:var(--color-warning)}.navbar{position:sticky;top:0;z-index:10;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 0;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.1rem}.nav-links{display:flex;gap:1.5rem;color:var(--color-text-secondary)}.nav-links a.active{color:var(--color-text);font-weight:600}.nav-actions{display:flex;align-items:center;gap:1rem}.link{color:var(--color-text-secondary);font-weight:500}.hero{padding:4.5rem 0 3.5rem;background:radial-gradient(circle at top,var(--color-primary-soft) 0%,var(--color-surface) 60%)}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;align-items:center}.hero h1{font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.1;margin-bottom:1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-badges{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.hero-visual{background:var(--color-surface);border-radius:24px;padding:1rem;box-shadow:var(--shadow-xl)}.section{padding:4rem 0}.page-section .section:first-child{padding-top:3rem}.section-header{margin-bottom:2.5rem}.section-header h2,.section-header h1{font-size:clamp(2rem,3vw,2.75rem);margin-bottom:.75rem}.grid{display:grid;gap:1.5rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--color-surface);border-radius:20px;padding:1.75rem;border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.card h3{margin-bottom:.5rem}.card-body{margin-top:.75rem;color:var(--color-text-secondary)}.media-card{background:var(--color-surface);border-radius:20px;border:1px solid var(--color-border);padding:1.5rem;display:grid;gap:1.5rem;box-shadow:var(--shadow-lg)}.media-card img{border-radius:16px}.soft-bg{background:var(--color-surface-muted)}.cta{background:var(--color-dark);color:var(--color-surface)}.cta-card{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#ffffff14;border-radius:24px;padding:2.5rem}.cta .muted{color:#ffffffbf}.cta-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn{border:none;cursor:pointer;padding:.85rem 1.6rem;border-radius:999px;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--color-primary);color:var(--color-surface);box-shadow:var(--shadow-primary)}.btn-primary:hover{transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.footer{background:var(--color-dark);color:var(--color-dark-text);padding:3rem 0 2rem;margin-top:auto}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin-bottom:2rem}.footer h4{font-size:1.2rem;margin-bottom:.75rem}.footer h5{margin-bottom:.75rem}.footer-links{display:grid;gap:.5rem;color:var(--color-dark-muted)}.footer-base{border-top:1px solid rgba(255,255,255,.12);padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;color:var(--color-dark-muted)}.auth-page{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;background:var(--color-primary-soft);gap:2rem;flex-wrap:wrap}.auth-card{background:var(--color-surface);border-radius:24px;padding:2.5rem;width:min(480px,100%);box-shadow:var(--shadow-xl)}.auth-side{background:var(--color-surface);border-radius:24px;padding:2rem;width:min(360px,100%);box-shadow:var(--shadow-lg)}.back-link{display:inline-flex;margin-bottom:1rem;color:var(--color-primary);font-weight:600}.alert{padding:.85rem 1rem;border-radius:12px;margin-top:1rem;font-weight:500}.alert-success{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success)}.alert-error{background:var(--color-error-soft);color:var(--color-error);border:1px solid var(--color-error)}.form{display:grid;gap:1rem;margin-top:1.5rem}.form label{display:grid;gap:.5rem;font-weight:500}.form input{padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-border)}.form select,.form textarea{padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-border);font:inherit}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 1rem;color:var(--color-dark-muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.google-button{display:inline-flex;align-items:center;gap:.6rem}.google-icon{width:18px;height:18px;border-radius:4px;background:conic-gradient(from 45deg,#ea4335 0,#ea4335 90deg,#fbbc05 90deg,#fbbc05 180deg,#34a853 180deg,#34a853 270deg,#4285f4 270deg,#4285f4 360deg)}.plan-toggle{display:flex;gap:.75rem;margin:1rem 0;background:var(--color-surface-soft);padding:.5rem;border-radius:999px;border:1px solid var(--color-border)}.plan-toggle button{flex:1;padding:.6rem 1rem;border:none;border-radius:999px;background:transparent;font-weight:600;cursor:pointer}.plan-toggle button.active{background:var(--color-primary);color:var(--color-surface)}.list{display:grid;gap:.5rem;padding-left:1.2rem}.list li{list-style:disc;color:var(--color-text-secondary)}.price{font-size:2rem;font-weight:700;margin:.75rem 0}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;align-items:center}.callout{background:var(--color-surface);border-radius:20px;padding:2rem;border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--color-surface-soft)}.app-sidebar{background:var(--color-dark);color:var(--color-dark-text);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem}.app-sidebar-header{display:flex;align-items:center;justify-content:space-between}.app-logo{font-weight:700;font-size:1.1rem;display:inline-flex;align-items:center;gap:.6rem;color:var(--color-surface);text-decoration:none}.app-logo img{width:28px;height:28px}.app-nav{display:grid;gap:.75rem}.app-nav a{padding:.6rem .8rem;border-radius:12px;color:var(--color-dark-muted)}.app-nav a.active{background:#e8614d26;color:var(--color-surface)}.app-sidebar-footer{margin-top:auto;display:grid;gap:.5rem;color:var(--color-dark-muted)}.link-button{background:none;border:none;color:var(--color-dark-text);font-weight:600;text-align:left;cursor:pointer}.app-content{padding:2rem 2.5rem}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--color-surface);border-radius:20px;padding:1.5rem 2rem;box-shadow:var(--shadow-lg)}.app-topbar-actions{display:flex;gap:1rem;flex-wrap:wrap}.app-page{margin-top:2rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.stack{display:grid;gap:1.5rem}.metric{font-size:2.2rem;font-weight:700}.chat-shell{background:var(--color-surface);border-radius:20px;padding:1.5rem;display:grid;gap:1rem;border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.urgent-shell{border-color:#fca5a5;box-shadow:0 18px 30px #ef44441f}.progress-bar{width:100%;height:6px;background:var(--color-border);border-radius:999px;overflow:hidden}.progress-bar-inner{height:100%;width:40%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));animation:loading 1.4s infinite}@keyframes loading{0%{transform:translate(-100%)}50%{transform:translate(50%)}to{transform:translate(200%)}}.empty-state{padding:2rem;border-radius:16px;background:var(--color-surface-soft);border:1px dashed var(--color-border);text-align:center}.chat-message{padding:1rem 1.2rem;border-radius:16px;max-width:75%}.chat-message.toddler{background:var(--color-primary-soft);justify-self:flex-start}.chat-message.narrator{background:var(--color-surface-muted);color:var(--color-text-secondary);justify-self:stretch;max-width:100%}.chat-message.coach{background:var(--color-accent-soft);justify-self:flex-start}.chat-message.user,.chat-message.parent{background:var(--color-surface-muted);justify-self:flex-end}.chat-meta{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:.5rem}.chat-input{display:flex;gap:1rem;border-top:1px solid var(--color-border);padding-top:1rem}.chat-input input{flex:1;border-radius:12px;border:1px solid var(--color-border);padding:.75rem 1rem}.usage-bar{width:100%;height:8px;border-radius:999px;background:var(--color-border);overflow:hidden;margin:.75rem 0}.usage-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.chip-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-top:1rem}.scenario-choice{text-align:left;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);padding:.9rem;display:grid;gap:.45rem;cursor:pointer}.scenario-choice:hover{border-color:var(--color-primary-muted);background:var(--color-primary-soft)}.scenario-choice.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.scenario-title{font-weight:700;color:var(--color-text)}.chip{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:999px;padding:.5rem .9rem;cursor:pointer;font-weight:600;font-size:.85rem}.chip-active{background:var(--color-primary-soft);border-color:var(--color-primary)}.chip:hover{background:var(--color-primary-soft);border-color:var(--color-primary-muted)}.wizard-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.wizard-steps span{border-radius:999px;padding:.4rem .75rem;font-size:.82rem;background:var(--color-surface-muted);color:var(--color-text-secondary)}.wizard-steps span.active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.mode-card{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;padding:1rem;cursor:pointer;display:grid;gap:.4rem}.mode-card.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.link-button-dark{background:none;border:none;color:var(--color-primary);font-weight:700;cursor:pointer}.training-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.child-visual{font-size:4rem;text-align:center;border:1px dashed var(--color-border);border-radius:16px;padding:1rem;background:var(--color-surface-soft)}.hint-bubble{border:1px solid var(--color-primary-muted);background:var(--color-primary-soft);border-radius:12px;padding:.75rem;color:var(--color-primary);font-size:.9rem}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.scenario-preview{max-width:760px}.page-avatar{width:min(170px,40%);height:auto;margin-top:1rem;display:block}.page-avatar.centered{margin-left:auto;margin-right:auto}.practice-age-input{max-width:140px;border-radius:999px;border:1px solid var(--color-primary-muted);background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:700;text-align:center}.resource-list{display:grid;gap:.75rem}.resource-item{display:grid;gap:.2rem;border:1px solid var(--color-border);border-radius:12px;padding:.85rem;background:var(--color-surface)}.resource-item:hover{border-color:var(--color-primary-muted);background:var(--color-primary-soft)}.profile-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.toggle{display:inline-flex;align-items:center;gap:.5rem;font-weight:600}.empty-card{text-align:center;padding:2.5rem}.clickable{cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50}.modal{background:var(--color-surface);border-radius:20px;padding:1.5rem;width:min(720px,100%);max-height:80vh;overflow-y:auto;display:grid;gap:1rem}.modal input{padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-border)}.modal-header{display:flex;align-items:center;justify-content:space-between}.icon-button{background:none;border:none;font-weight:600;cursor:pointer}.chat-log{display:grid;gap:.75rem}.toast{background:var(--color-dark);color:var(--color-surface);padding:1rem 1.25rem;border-radius:12px;max-width:520px}.billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-top:1rem}.billing-history{grid-column:1 / -1}.cta-block{width:100%}@media (max-width: 960px){.navbar-inner{flex-direction:column;align-items:flex-start}.nav-links{flex-wrap:wrap}.cta-card{flex-direction:column;align-items:flex-start}.app-shell{grid-template-columns:1fr}.app-sidebar{flex-direction:column}.app-nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (max-width: 640px){.app-topbar,.page-header{flex-direction:column;align-items:flex-start}}.course-path{display:grid;gap:2rem}.course-unit{padding:1.5rem 0}.course-unit-header{margin-bottom:1.5rem;padding-left:.5rem}.course-unit-header h3{font-family:var(--font-display)}.course-lessons{display:flex;flex-direction:column;gap:1rem;position:relative;padding:0 1rem}.course-lessons:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--color-border);border-radius:999px;transform:translate(-50%)}.lesson-node{display:flex;align-items:center;gap:.75rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:.75rem 1.25rem;cursor:pointer;position:relative;z-index:1;text-align:left;max-width:320px;transition:all .2s ease}.lesson-node:hover:not(:disabled){border-color:var(--color-primary-muted);box-shadow:var(--shadow-md)}.lesson-node[data-state=locked]{opacity:.5;cursor:not-allowed}.lesson-node[data-state=available]{border-color:var(--color-primary);box-shadow:var(--shadow-primary)}.lesson-node[data-state=completed]{border-color:var(--color-accent);background:var(--color-accent-soft)}.lesson-node-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0;background:var(--color-surface-muted)}.lesson-node[data-state=available] .lesson-node-circle{background:var(--color-primary);color:var(--color-surface)}.lesson-node[data-state=completed] .lesson-node-circle{background:var(--color-accent);color:var(--color-surface)}.lesson-node-title{font-weight:600;font-size:.9rem}.lesson-node-info{display:grid;gap:.2rem}.panic-container{min-height:100vh;min-height:100dvh;background:var(--color-dark);color:var(--color-surface);display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.panic-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}.panic-idle{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem}.panic-button{width:min(220px,50vw);height:min(220px,50vw);border-radius:50%;border:none;background:var(--color-primary);color:var(--color-surface);font-family:var(--font-display);font-size:1.3rem;font-weight:800;cursor:pointer;box-shadow:0 0 #e8614d66;animation:panic-pulse 2s infinite;transition:transform .15s}.panic-button:active{transform:scale(.95)}@keyframes panic-pulse{0%{box-shadow:0 0 #e8614d66}70%{box-shadow:0 0 0 30px #e8614d00}to{box-shadow:0 0 #e8614d00}}.panic-active{flex:1;display:flex;flex-direction:column}.panic-stream{flex:1;padding:1.25rem;overflow-y:auto;line-height:1.7;font-size:1.1rem}.panic-chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.25rem}.panic-chip{background:#ffffff1f;color:var(--color-surface);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:.6rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;min-height:44px}.panic-chip:active{background:#fff3}.panic-input-area{padding:.75rem 1.25rem 1rem;display:flex;gap:.75rem;background:#ffffff0d}.panic-input-area input{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:.75rem 1rem;color:var(--color-surface);font-size:1rem;min-height:48px}.panic-input-area input::placeholder{color:#fff6}.panic-input-area button{background:var(--color-primary);border:none;border-radius:50%;width:48px;height:48px;color:var(--color-surface);font-size:1.2rem;cursor:pointer}@media (max-width: 640px){.course-lessons:before{display:none}.lesson-node{max-width:100%;margin-left:0!important;margin-right:0!important}}
