.profile-pill-wrapper{position:fixed;top:.6rem;left:.6rem;z-index:200;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.active-profile-pill{display:flex;align-items:center;gap:.2rem;background:#ffffff38;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50px;padding:.15rem .25rem .15rem .4rem;font-size:.78rem}.profile-pill-name-btn{display:flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;padding:.1rem .3rem .1rem 0;border-radius:50px;transition:background .15s}.profile-pill-name-btn:hover{background:#fff3}.profile-pill-chevron{font-size:.6rem;color:#ffffffbf}.profile-pill-home-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.15rem .3rem;border-radius:50px;opacity:.75;transition:opacity .15s,background .15s;line-height:1}.profile-pill-home-btn:hover{opacity:1;background:#fff3}.active-profile-name{font-weight:700;color:#fff;font-family:Nunito,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.25);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-dropdown{background:#fff;border-radius:14px;box-shadow:0 8px 28px #0000002e;padding:.5rem .4rem;min-width:140px;display:flex;flex-direction:column;gap:.2rem}.profile-dropdown-label{font-size:.68rem;font-weight:800;color:#aaa;text-transform:uppercase;letter-spacing:.06em;padding:0 .5rem .2rem;margin:0}.profile-dropdown-item{display:flex;align-items:center;gap:.5rem;background:none;border:none;border-radius:10px;padding:.45rem .6rem;font-size:.95rem;font-weight:800;color:#3d2e7c;cursor:pointer;font-family:Nunito,sans-serif;transition:background .12s;width:100%;text-align:left}.profile-dropdown-item:hover{background:#f3eeff}.settings-pill{position:fixed;top:.6rem;right:.6rem;z-index:200;display:flex;gap:.25rem;background:#ffffff2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50px;padding:.2rem .3rem}.settings-btn{background:none;border:none;font-size:1rem;width:2rem;height:2rem;border-radius:50%;opacity:.55;transition:opacity .15s,background .15s;display:flex;align-items:center;justify-content:center}.settings-btn:hover{opacity:1;background:#ffffff4d}.settings-btn-on{opacity:1}.milestone-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:300;background:#fff;border-radius:24px;padding:2rem 2.5rem;text-align:center;box-shadow:0 20px 60px #0000004d;animation:toastIn .4s cubic-bezier(.34,1.56,.64,1) both;pointer-events:none}.milestone-emoji{display:block;font-size:3.5rem;margin-bottom:.5rem}.milestone-text{display:block;font-family:Fredoka One,cursive;font-size:1.6rem;color:#5f27cd}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;min-height:100dvh;overflow-x:hidden}.app{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.screen{width:100%;max-width:680px;animation:screenIn .35s ease-out both}@keyframes screenIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}button{cursor:pointer;border:none;font-family:Nunito,sans-serif}button:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#f7971e,#ffd200);color:#333;font-weight:900;border-radius:50px;padding:.85rem 2.2rem;font-size:1.1rem;box-shadow:0 4px 20px #ffd20066;transition:transform .15s,box-shadow .15s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #ffd20080}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-big{font-size:1.25rem;padding:1rem 2.6rem}.btn-back{background:#f0ebff;color:#5f27cd;font-size:.95rem;font-weight:700;padding:.5rem 1.1rem;border-radius:50px;transition:background .15s;align-self:flex-start}.btn-back:hover{background:#e0d0ff}.start-screen{display:flex;justify-content:center}.start-card{background:#fff;border-radius:32px;padding:3rem 2.5rem;text-align:center;box-shadow:0 20px 60px #00000040;width:100%}.start-emoji{font-size:5rem;margin-bottom:.5rem}.start-title{font-family:Fredoka One,cursive;font-size:3rem;color:#5f27cd;margin-bottom:.5rem}.start-subtitle{font-size:1.15rem;color:#666;margin-bottom:2rem}.start-steps{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2.5rem;flex-wrap:wrap}.step{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:#f8f0ff;border-radius:16px;padding:.8rem 1rem;font-size:.9rem;font-weight:700;color:#5f27cd;min-width:90px}.step-icon{font-size:1.8rem}.step-arrow{font-size:1.4rem;color:#aaa}.mode-guide{display:flex;flex-direction:column;gap:.3rem;margin-top:1.75rem;padding:.6rem .75rem;background:#f8f5ff;border-radius:12px;border:1px solid #e5daff;text-align:left}.mode-guide span{font-size:.72rem;color:#7c6aa0;line-height:1.4}.mode-guide strong{color:#5f27cd}.mode-guide em{color:#a78bfa;font-style:normal}.parent-info-toggle{margin-top:.85rem;background:none;color:#9b8bb4;font-size:.75rem;font-weight:700;padding:.35rem .75rem;border-radius:50px;border:1px solid #e5daff;transition:background .15s,color .15s}.parent-info-toggle:hover{background:#f3eeff;color:#5f27cd}.parent-info-panel{margin-top:.6rem;padding:.9rem 1rem;background:#f8f5ff;border-radius:14px;border:1px solid #e5daff;text-align:left;display:flex;flex-direction:column;gap:.55rem}.parent-info-panel p,.parent-info-panel li{font-size:.72rem;color:#6b5b8a;line-height:1.5}.parent-info-panel strong{color:#5f27cd}.parent-info-panel ul{padding-left:.5rem;display:flex;flex-direction:column;gap:.3rem;list-style:none}.start-options{display:flex;gap:.85rem;width:100%;margin-bottom:.5rem}.start-options-3{flex-direction:row;flex-wrap:nowrap}.start-option-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.4rem .6rem;border-radius:24px;border:3px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s;font-family:Nunito,sans-serif}.start-option-btn:hover{transform:translateY(-3px)}.start-option-btn:active{transform:translateY(0)}.start-option-mic{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea66}.start-option-ai{background:linear-gradient(135deg,#f7971e,#f6416c);color:#fff;box-shadow:0 6px 20px #f6416c59}.start-option-challenge{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;box-shadow:0 6px 20px #38ef7d59}.option-icon-big{font-size:3rem}.option-label{font-size:.9rem;font-weight:900;line-height:1.2}.option-sub{font-size:.72rem;opacity:.88;font-weight:600}.difficulty-options{display:flex;gap:.75rem;width:100%}.difficulty-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.difficulty-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .5rem;border-radius:20px;border:3px solid transparent;cursor:pointer;font-family:Nunito,sans-serif;transition:transform .15s,box-shadow .15s;background:#f8f8f8;color:#555}.difficulty-btn:hover{transform:translateY(-2px)}.difficulty-prek{border-color:#c4b5fd}.difficulty-easy{border-color:#b7f0c8}.difficulty-medium{border-color:#fde68a}.difficulty-hard{border-color:#fca5a5}.difficulty-prek.difficulty-selected{background:#ede9fe;border-color:#7c3aed;color:#4c1d95;box-shadow:0 4px 14px #7c3aed4d}.difficulty-easy.difficulty-selected{background:#dcfce7;border-color:#22c55e;color:#15803d;box-shadow:0 4px 14px #22c55e4d}.difficulty-medium.difficulty-selected{background:#fef9c3;border-color:#eab308;color:#854d0e;box-shadow:0 4px 14px #eab3084d}.difficulty-hard.difficulty-selected{background:#fee2e2;border-color:#ef4444;color:#991b1b;box-shadow:0 4px 14px #ef44444d}.difficulty-emoji{font-size:2rem}.difficulty-label{font-size:1rem;font-weight:900}.difficulty-sub{font-size:.72rem;font-weight:600;opacity:.8}.suggestion-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}.suggestion-chip{background:#f0ebff;color:#5f27cd;border:2px solid #d4b8ff;border-radius:16px;padding:.6rem .7rem;font-size:.82rem;font-weight:700;font-family:Nunito,sans-serif;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:68px}.suggestion-chip:hover{background:#5f27cd;color:#fff;border-color:#5f27cd;transform:scale(1.07)}.suggestion-chip-icon{font-size:2rem;line-height:1}.topic-input-row{display:flex;gap:.5rem;width:100%;align-items:center}.topic-input{flex:1;border:2px solid #d4b8ff;border-radius:16px;padding:.9rem 1.1rem;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:700;outline:none;color:#333;transition:border-color .15s}.topic-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.topic-mic-btn{flex-shrink:0;width:52px;height:52px;border-radius:14px;font-size:1.4rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px #667eea66;transition:transform .15s,box-shadow .15s}.topic-mic-btn:hover{transform:translateY(-2px);box-shadow:0 5px 16px #667eea80}.topic-mic-active{background:linear-gradient(135deg,#ff416c,#ff4b2b);box-shadow:0 3px 12px #ff416c80;animation:micPulse 1s ease-in-out infinite}@keyframes micPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.topic-error{color:#e55;font-size:.9rem;font-weight:700}.ai-story-preview{font-size:1.05rem;line-height:1.7;color:#333;background:linear-gradient(135deg,#f8f0ff,#fff0f8);border-color:#d4b8ff;font-style:italic}.dictation-screen{display:flex;justify-content:center}.dictation-card{background:#fff;border-radius:32px;padding:2.5rem 2rem;text-align:center;box-shadow:0 20px 60px #00000040;width:100%;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.dictation-card h2{font-family:Fredoka One,cursive;font-size:2rem;color:#5f27cd}.dictation-hint{color:#888;font-size:1rem}.mic-wrapper{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.mic-emoji{font-size:4rem;position:relative;z-index:2}.listening-rings{position:absolute;top:0;right:0;bottom:0;left:0}.listening-rings span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid #667eea;animation:ring 1.4s ease-out infinite}.listening-rings span:nth-child(2){animation-delay:.4s}.listening-rings span:nth-child(3){animation-delay:.8s}@keyframes ring{0%{transform:scale(.5);opacity:.8}to{transform:scale(1.8);opacity:0}}.transcript-box{width:100%;min-height:100px;background:#f8f0ff;border:2px solid #d4b8ff;border-radius:16px;padding:1rem 1.2rem;font-size:1.1rem;line-height:1.6;color:#333;text-align:left}.transcript-placeholder{color:#bbb;font-style:italic}.transcript-final{color:#333}.transcript-interim{color:#9b59b6}.dictation-buttons{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.btn-mic{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.15rem;font-weight:800;padding:.9rem 2.4rem;border-radius:50px;box-shadow:0 4px 20px #667eea66;transition:transform .15s,box-shadow .15s}.btn-mic:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea80}.btn-mic:active{transform:translateY(0)}.btn-mic-stop{background:linear-gradient(135deg,#ff416c,#ff4b2b);box-shadow:0 4px 20px #ff416c66}.btn-mic-stop:hover{box-shadow:0 6px 24px #ff416c80}.btn-clear{background:#fff0f0;color:#e55;font-size:.95rem;font-weight:700;padding:.45rem 1.1rem;border-radius:50px;border:2px solid #fcc;transition:background .15s,border-color .15s}.btn-clear:hover{background:#ffe0e0;border-color:#e55}.btn-mode-toggle{background:none;color:#9b8ecf;font-size:.9rem;font-weight:700;text-decoration:underline;padding:.2rem 0}.btn-mode-toggle:hover{color:#5f27cd}.story-textarea{width:100%;border:2px solid #d4b8ff;border-radius:16px;padding:1rem;font-family:Nunito,sans-serif;font-size:1rem;resize:vertical;outline:none;color:#333}.story-textarea:focus{border-color:#667eea}.word-screen{display:flex;flex-direction:column;gap:1rem}.word-screen-top{display:flex;align-items:center;justify-content:space-between}.btn-small{background:#fff3;color:#fff;font-size:.85rem;font-weight:700;padding:.45rem 1rem;border-radius:50px;transition:background .15s}.btn-small:hover{background:#ffffff4d}.progress-label{color:#ffffffe6;font-size:1rem;font-weight:700}.progress-label strong{color:#ffd200;font-size:1.15rem}.progress-track{height:10px;background:#ffffff40;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#43e97b,#38f9d7);border-radius:10px;transition:width .4s cubic-bezier(.4,0,.2,1)}.word-card{background:#fff;border-radius:28px;padding:2rem 1.5rem;text-align:center;box-shadow:0 16px 48px #0003;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.word-enter{animation:wordPop .35s cubic-bezier(.175,.885,.32,1.275) both}@keyframes wordPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.letter-row{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.letter-bubble{width:62px;height:62px;border-radius:16px;font-family:Fredoka One,cursive;font-size:1.8rem;color:#fff;display:flex;align-items:center;justify-content:center;text-shadow:0 2px 4px rgba(0,0,0,.2);box-shadow:0 4px 12px #00000026,0 2px #0000001a;cursor:pointer;animation:bubblePop .3s cubic-bezier(.175,.885,.32,1.275) both;transition:transform .12s;border:none}.letter-bubble:hover{transform:scale(1.12) rotate(-3deg)}.letter-bubble:active{transform:scale(.95)}@keyframes bubblePop{0%{opacity:0;transform:scale(.3) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.word-big{font-family:Fredoka One,cursive;font-size:3rem;color:#5f27cd;letter-spacing:2px}.hear-buttons{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.btn-hear{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;font-size:.95rem;font-weight:800;padding:.6rem 1.4rem;border-radius:50px;box-shadow:0 4px 14px #6c5ce766;transition:transform .15s}.btn-hear:hover{transform:translateY(-2px)}.btn-hear:active{transform:translateY(0) scale(.97)}.btn-hear-story{background:linear-gradient(135deg,#f7971e,#f6416c);box-shadow:0 4px 14px #f6416c59}.btn-hear-stop{background:linear-gradient(135deg,#636e72,#2d3436);box-shadow:0 4px 14px #00000040}.nav-row{display:grid;grid-template-columns:48px 1fr 1fr 48px;gap:.6rem}.btn-nav{font-size:1.05rem;font-weight:900;padding:1rem .5rem;border-radius:20px;transition:transform .15s,box-shadow .15s}.btn-nav:hover:not(:disabled){transform:translateY(-2px)}.btn-nav:active:not(:disabled){transform:translateY(0)}.btn-jump-edge{background:#ffffff2e;color:#fff;font-size:1.1rem;border-radius:14px;padding:.5rem}.btn-jump-edge:hover:not(:disabled){background:#ffffff47}.btn-prev{background:#ffe000;color:#333;box-shadow:0 4px 16px #ffe00080;border:none}.btn-prev:hover:not(:disabled){background:#ffd000;box-shadow:0 6px 20px #ffe000a6}.btn-next{background:#22d55a;color:#fff;box-shadow:0 4px 16px #22d55a73}.btn-next:hover:not(:disabled){background:#1cbd4f;box-shadow:0 6px 22px #22d55a99}.btn-finish{background:linear-gradient(135deg,#f7971e,#ffd200);color:#333;box-shadow:0 4px 16px #ffd20066}.btn-finish:hover{box-shadow:0 6px 22px #ffd20080}.story-strip{background:#ffffff26;border-radius:20px;padding:1rem 1.2rem}.story-strip-label{font-size:.8rem;font-weight:800;color:#ffffffb3;text-transform:uppercase;letter-spacing:1px;margin-bottom:.6rem}.story-words{display:flex;flex-wrap:wrap;gap:.4rem}.story-chip{background:#ffffff26;color:#fff9;padding:.3rem .7rem;border-radius:50px;font-size:.9rem;font-weight:700;font-family:Nunito,sans-serif;cursor:pointer;transition:all .15s;border:none}.story-chip:hover{background:#ffffff47;color:#fff;transform:scale(1.05)}.chip-done{background:#43e97b40;color:#ffffffd9;text-decoration:line-through;text-decoration-color:#43e97b99}.chip-current{background:#ffd200;color:#333;transform:scale(1.08);box-shadow:0 3px 12px #ffd20080}.enhancing-emoji{font-size:4rem;animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.enhancing-dots{display:flex;gap:.5rem;justify-content:center;margin-top:.5rem}.enhancing-dots span{width:12px;height:12px;border-radius:50%;background:#667eea;animation:dotBounce 1s ease-in-out infinite}.enhancing-dots span:nth-child(2){animation-delay:.2s;background:#764ba2}.enhancing-dots span:nth-child(3){animation-delay:.4s;background:#f6416c}@keyframes dotBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1.2);opacity:1}}.completion-screen{position:relative;display:flex;justify-content:center;overflow:hidden}.confetti-piece{position:fixed;top:-2rem;animation:confettiFall linear infinite;pointer-events:none;z-index:0}@keyframes confettiFall{0%{transform:translateY(-2rem) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.completion-card{background:#fff;border-radius:32px;padding:3rem 2.5rem;text-align:center;box-shadow:0 20px 60px #00000040;width:100%;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.trophy-row{font-size:5rem;animation:trophyBounce .6s cubic-bezier(.175,.885,.32,1.275) both}@keyframes trophyBounce{0%{transform:scale(0) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.completion-title{font-family:Fredoka One,cursive;font-size:3rem;color:#5f27cd}.completion-subtitle{font-size:1.2rem;color:#666}.story-final-box{background:#f8f0ff;border:2px solid #d4b8ff;border-radius:16px;padding:1.2rem;width:100%;text-align:left}.story-final-label{font-size:.8rem;font-weight:800;color:#9b59b6;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.story-final-text{font-size:1rem;color:#444;line-height:1.6}.star-row{display:flex;gap:.5rem}.big-star{font-size:2.5rem;animation:starPop .4s cubic-bezier(.175,.885,.32,1.275) both}@keyframes starPop{0%{transform:scale(0) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.challenge-word-screen{display:flex;flex-direction:column;gap:.75rem;outline:none}.challenge-top{display:flex;align-items:center;justify-content:space-between}.challenge-lives{display:flex;gap:.2rem;font-size:1.1rem}.life-lost{opacity:.35}.challenge-card{background:#fff;border-radius:24px;padding:1.4rem 1.2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 12px 40px #0000002e}.challenge-slots{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;animation:slotsIn .3s ease-out both}@keyframes slotsIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.slots-solved .letter-slot{background:#22d55a!important;border-color:#1cbd4f!important;color:#fff!important;transform:scale(1.08)}.slots-fail .letter-slot{background:#ff6b6b!important;border-color:#e55!important;color:#fff!important}.slots-wrong-flash .slot-current{background:#fff0f0;border-color:#ff6b6b;animation:wrongShake .35s ease both}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}60%{transform:translate(5px)}}.letter-slot{width:44px;height:52px;border:3px solid #d4b8ff;border-radius:10px;display:flex;align-items:center;justify-content:center;position:relative;font-family:Fredoka One,cursive;font-size:1.6rem;color:#5f27cd;background:#f8f0ff;transition:background .15s,border-color .15s,transform .15s}.slot-correct{background:#fff;border-color:#22d55a;color:#22d55a;animation:letterPop .25s cubic-bezier(.175,.885,.32,1.275) both}.slot-current{background:#fff;border-color:#667eea;border-width:3px;box-shadow:0 0 0 3px #667eea40}.slot-hidden{background:#f0ebff;border-color:#d4b8ff}.slot-revealed-fail{background:#fff0f0;border-color:#ff6b6b;color:#e55}.slot-cursor{display:block;width:3px;height:60%;background:#667eea;border-radius:2px;animation:blink 1s step-end infinite;position:absolute}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.slot-punct{font-size:1.4rem;font-family:Fredoka One,cursive;color:#aaa;align-self:flex-end;padding-bottom:.3rem}@keyframes letterPop{0%{transform:scale(.5) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.challenge-result{font-family:Fredoka One,cursive;font-size:1.4rem;animation:screenIn .3s ease-out both}.challenge-win{color:#22d55a}.challenge-lose{color:#e55}.solved-word-reveal{font-family:Fredoka One,cursive;font-size:1.6rem;color:#22d55a;letter-spacing:.05em;animation:screenIn .3s ease-out both}.prek-emoji-clue{font-size:3.5rem;text-align:center;margin-bottom:.25rem;animation:screenIn .3s ease-out both}.prek-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .75rem}.prek-dots-group{display:flex;flex-wrap:wrap;gap:.2rem;justify-content:center;max-width:130px}.prek-dot{font-size:1.8rem;animation:screenIn .2s ease-out both}.prek-dot-remove{opacity:.4;text-decoration:line-through}.prek-dots-op{font-size:1.6rem;font-weight:900;color:#5f27cd;padding:0 .1rem}.prek-dots-blank{font-size:2rem;font-weight:900;color:#aaa;width:2rem;text-align:center}.prek-pad{display:flex;gap:.5rem;justify-content:center;margin-top:.75rem;flex-wrap:wrap}.prek-pad-btn{width:52px;height:52px;border-radius:50%;font-size:1.6rem;font-weight:900;font-family:Fredoka One,cursive;background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;box-shadow:0 4px 12px #6c5ce759;transition:transform .1s,box-shadow .1s}.prek-pad-btn:hover:not(:disabled){transform:scale(1.12);box-shadow:0 6px 16px #6c5ce773}.prek-pad-btn:active:not(:disabled){transform:scale(.95)}.challenge-keyboard{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:0 .2rem;width:100%}.key-row{display:flex;gap:.3rem;justify-content:center}.key-row:nth-child(2){padding-left:1.2rem}.key-row:nth-child(3){padding-left:2.4rem}.key-btn{width:40px;height:44px;border-radius:8px;font-family:Fredoka One,cursive;font-size:1.05rem;background:#fff;color:#333;box-shadow:0 3px 6px #0000001f,0 2px #0000001a;transition:transform .1s,background .15s;border:none;cursor:pointer}.key-btn:hover:not(:disabled){transform:translateY(-2px);background:#f0ebff}.key-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px #0000001a}.key-correct{background:#22d55a;color:#fff;box-shadow:none}.key-wrong{background:#ddd;color:#aaa;box-shadow:none}.challenge-complete{display:flex;justify-content:center}.challenge-results-list{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;max-height:120px;overflow-y:auto;width:100%}.result-chip{padding:.3rem .8rem;border-radius:50px;font-size:.9rem;font-weight:700}.result-win{background:#dcfce7;color:#16a34a}.result-lose{background:#fee2e2;color:#dc2626}.start-options-4{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%}.start-option-math{background:linear-gradient(135deg,#0984e3,#00cec9);color:#fff}.operation-options{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;width:100%}.operation-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .7rem;border-radius:14px;background:#f3f0ff;border:3px solid transparent;font-family:Nunito,sans-serif;transition:transform .15s,border-color .15s;min-width:58px}.operation-btn:hover{transform:translateY(-2px);border-color:#a78bfa}.operation-selected{border-color:#0984e3!important;background:#e8f4fd;transform:translateY(-2px);box-shadow:0 3px 12px #0984e340}.operation-emoji{font-size:1.6rem;line-height:1}.operation-label{font-size:.72rem;font-weight:800;color:#444}.math-prompt{font-size:1.05rem;font-weight:800;color:#2d3436;text-align:center;line-height:1.5;padding:0 .5rem}.math-answer-display{min-width:120px;min-height:64px;border:3px solid #d4b8ff;border-radius:14px;background:#f8f0ff;display:flex;align-items:center;justify-content:center;font-family:Fredoka One,cursive;font-size:2.4rem;color:#5f27cd;padding:0 1rem;transition:border-color .15s,background .15s}.math-wrong-flash{background:#fff0f0;border-color:#ff6b6b;animation:wrongShake .35s ease both}.math-correct-flash{background:#d1fae5;border-color:#22d55a}.math-revealed{background:#fee2e2;border-color:#ff6b6b;color:#b91c1c}.math-cursor{display:inline-block;width:3px;height:2.2rem;background:#a78bfa;border-radius:2px;animation:blink 1s step-end infinite}.numpad{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.numpad-row{display:flex;gap:.4rem;justify-content:center}.numpad-btn{width:68px;height:58px;border-radius:14px;font-family:Fredoka One,cursive;font-size:1.6rem;background:#f3f0ff;border:3px solid #d4b8ff;color:#5f27cd;transition:transform .1s,background .1s;display:flex;align-items:center;justify-content:center}.numpad-btn:hover:not(:disabled){transform:scale(1.08);background:#ede9fe}.numpad-btn:active:not(:disabled){transform:scale(.95)}.numpad-submit{background:linear-gradient(135deg,#22d55a,#16a34a);border-color:#16a34a;color:#fff;font-size:1.4rem}.numpad-submit:hover:not(:disabled){background:linear-gradient(135deg,#1cbd4f,#15803d)}.numpad-backspace{background:linear-gradient(135deg,#ff9f43,#e17055);border-color:#e17055;color:#fff;font-size:1.3rem}.profile-list{display:flex;flex-direction:column;gap:.6rem;width:100%}.profile-card-row{display:flex;align-items:center;gap:.4rem;width:100%}.profile-card-row .profile-card{flex:1}.profile-edit-btn{background:none;border:none;font-size:1rem;opacity:.35;padding:.4rem;border-radius:50%;transition:opacity .15s,background .15s;flex-shrink:0}.profile-edit-btn:hover{opacity:1;background:#ffffff80}.profile-card{display:flex;align-items:center;gap:.9rem;padding:.8rem 1.1rem;border-radius:16px;background:#f3f0ff;border:3px solid transparent;font-family:Nunito,sans-serif;transition:transform .15s,border-color .15s,background .15s;text-align:left}.profile-card:hover{border-color:#a78bfa;background:#fff;transform:translate(4px)}.profile-avatar{font-size:2.2rem;line-height:1}.profile-name{font-size:1.2rem;font-weight:900;color:#3d2e7c;flex:1}.profile-stats{font-size:.78rem;font-weight:700;color:#7c5cbf;white-space:nowrap}.profile-actions{display:flex;flex-direction:column;gap:.6rem;width:100%;margin-top:.25rem}.profile-badge-topleft{display:flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:50px;background:#f3f0ff;border:2px solid #d4b8ff;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:800;color:#5f27cd;align-self:flex-start;margin-bottom:.1rem;transition:background .15s}.profile-badge-topleft:hover{background:#ede9fe}.profile-badge-streak{font-size:.8rem;font-weight:900;color:#f0932b}.profile-badge{display:flex;align-items:center;gap:.5rem;padding:.35rem .9rem;border-radius:50px;background:#f3f0ff;border:2px solid #d4b8ff;font-family:Nunito,sans-serif;font-size:1rem;font-weight:800;color:#5f27cd;margin-bottom:.25rem;transition:background .15s}.profile-badge:hover{background:#ede9fe}.profile-badge-switch{font-size:.7rem;font-weight:700;color:#a78bfa;text-transform:uppercase;letter-spacing:.05em}.avatar-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:.25rem}.avatar-btn{font-size:1.8rem;width:52px;height:52px;border-radius:12px;background:#f3f0ff;border:3px solid transparent;transition:transform .12s,border-color .12s}.avatar-btn:hover{transform:scale(1.15);border-color:#a78bfa}.avatar-selected{border-color:#7c3aed!important;background:#fff;transform:scale(1.15);box-shadow:0 2px 10px #7c3aed4d}.streak-badge{background:linear-gradient(135deg,#f9ca24,#f0932b);border-radius:50px;padding:.45rem 1.1rem;font-size:1rem;font-weight:900;color:#7c3a00;box-shadow:0 2px 10px #f0932b66;animation:badgePop .4s cubic-bezier(.175,.885,.32,1.275) both;animation-delay:.5s}.profile-info{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:.1rem}.wordbank-toggle{width:100%;padding:.55rem 1rem;border-radius:12px;background:#f3f0ff;border:2px dashed #a78bfa;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:800;color:#5f27cd;transition:background .15s,border-color .15s;text-align:center;margin-top:.25rem}.wordbank-toggle:hover{background:#ede9fe;border-color:#7c3aed}.word-preview-chips{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;padding:.25rem 0}.word-preview-chip{background:#ede9fe;border:2px solid #a78bfa;color:#5f27cd;border-radius:20px;padding:.2rem .6rem;font-size:.85rem;font-weight:800}.total-stars-badge{background:linear-gradient(135deg,#ffecd2,#fcb69f);border-radius:50px;padding:.5rem 1.2rem;font-size:1rem;font-weight:800;color:#7c3a00;box-shadow:0 2px 10px #fcb69f66;animation:badgePop .4s cubic-bezier(.175,.885,.32,1.275) both;animation-delay:.7s}@keyframes badgePop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.challenge-card-btns{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.btn-hint{background:linear-gradient(135deg,#f7971e,#ffd200);color:#333;font-family:Nunito,sans-serif;font-weight:800;font-size:.95rem;padding:.55rem 1.1rem;border-radius:50px;box-shadow:0 3px 12px #ffb40059;transition:transform .15s,box-shadow .15s;display:flex;align-items:center;gap:.3rem}.btn-hint:hover{transform:translateY(-2px);box-shadow:0 5px 16px #ffb40073}.btn-hint:active{transform:translateY(0)}.hint-cost{font-size:.75rem;opacity:.7}.btn-hint-sound{background:linear-gradient(135deg,#fd79a8,#e84393);color:#fff;box-shadow:0 3px 12px #e8439359}.btn-hint-sound:hover{box-shadow:0 5px 16px #e8439373}.btn-hint-tip{background:linear-gradient(135deg,#00cec9,#0984e3);color:#fff;box-shadow:0 3px 12px #0984e359}.btn-hint-tip:hover{box-shadow:0 5px 16px #0984e373}.word-tip-panel{margin-top:.5rem;padding:.65rem .85rem;background:linear-gradient(135deg,#e0f7fa,#e8f4fd);border-radius:12px;border:1px solid #b2ebf2;font-size:.8rem;color:#00565e;line-height:1.5;text-align:left;animation:screenIn .2s ease-out both}.story-reveal-wrapper{position:relative;width:100%}.story-hidden{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none}.story-reveal-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:Nunito,sans-serif;font-weight:800;font-size:1rem;padding:.7rem 1.4rem;border-radius:50px;box-shadow:0 4px 16px #667eea66;white-space:nowrap;transition:transform .15s}.story-reveal-btn:hover{transform:translate(-50%,-50%) scale(1.05)}.cws-strip{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;padding:.6rem .5rem 0}.cws-chip{min-width:36px;padding:.25rem .5rem;border-radius:20px;border:2px solid #d4b8ff;background:#f3f0ff;color:#999;font-size:.75rem;font-weight:800;text-align:center;transition:all .2s}.cws-current{border-color:#667eea;background:#fff;color:#5f27cd;box-shadow:0 0 0 3px #667eea33;animation:cwsPulse 1.2s ease-in-out infinite}@keyframes cwsPulse{0%,to{box-shadow:0 0 0 3px #667eea33}50%{box-shadow:0 0 0 5px #667eea59}}.cws-solved{background:#d1fae5;border-color:#22d55a;color:#15803d}.cws-missed{background:#fee2e2;border-color:#ff6b6b;color:#b91c1c}.cws-retry{cursor:pointer}.cws-retry:hover{background:#fecaca;transform:scale(1.15);box-shadow:0 2px 8px #ff6b6b66}.length-options{display:flex;gap:.75rem;justify-content:center;width:100%;margin-bottom:.5rem}.length-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.9rem .5rem;border-radius:16px;background:#f3f0ff;border:3px solid transparent;transition:transform .15s,border-color .15s,background .15s}.length-btn:hover{transform:translateY(-3px);border-color:var(--length-color)}.length-selected{border-color:var(--length-color)!important;background:#fff;box-shadow:0 4px 16px #0000001f;transform:translateY(-3px)}.length-icon{font-size:2.4rem;line-height:1}.length-bars{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center}.length-bar{height:5px;border-radius:3px;background:var(--length-color);opacity:.7}.length-label{font-size:.8rem;font-weight:800;color:#555;margin-top:.1rem}@media (max-width: 480px){.start-card,.dictation-card,.word-card,.completion-card{padding:1.8rem 1.2rem}.start-title,.completion-title{font-size:2.2rem}.start-options-3{flex-direction:column}.start-options-4{grid-template-columns:1fr 1fr}.numpad-btn{width:58px;height:50px;font-size:1.4rem}.key-btn{width:30px;height:36px;font-size:.85rem;border-radius:6px}.key-row:nth-child(2){padding-left:.9rem}.key-row:nth-child(3){padding-left:1.8rem}.word-big{font-size:2.2rem}.letter-bubble{width:50px;height:50px;font-size:1.5rem;border-radius:12px}.btn-nav{font-size:1rem;padding:.85rem}}.btn-favourite{background:none;border:1.5px solid #d4b8ff;border-radius:20px;padding:.35rem .9rem;font-size:.85rem;font-weight:800;color:#a78bfa;cursor:pointer;margin-top:.6rem;transition:background .15s,color .15s,border-color .15s}.btn-favourite:hover{background:#f3eeff}.btn-favourite-on{background:#ffeef4;border-color:#f48fb1;color:#e0467c}.btn-share-story{background:none;border:none;font-size:.78rem;color:#b2bec3;font-weight:700;cursor:pointer;margin-top:.5rem;padding:.25rem .5rem;border-radius:8px;transition:color .15s}.btn-share-story:hover{color:#636e72}.profile-stats-panel{width:100%;background:#f3eeff;border-radius:14px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}.stats-row{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;color:#5f27cd;font-weight:700}.stats-row strong{font-size:1rem;color:#3d2e7c}.profile-rec-badge{font-size:.7rem;font-weight:800;background:linear-gradient(135deg,#a78bfa,#7c3aed);color:#fff;border-radius:20px;padding:.15rem .55rem;display:inline-block;margin-top:.15rem;width:fit-content}.stats-rec-box{margin-top:.5rem;border-top:1.5px solid #e9d8ff;padding-top:.6rem;display:flex;flex-direction:column;gap:.25rem}.stats-rec-label{font-size:.68rem;font-weight:800;color:#aaa;text-transform:uppercase;letter-spacing:.06em;margin:0}.stats-rec-value{font-size:1rem;font-weight:900;color:#5f27cd;margin:0}.stats-rec-message{font-size:.75rem;font-weight:700;color:#888;margin:0}.stats-rec-pending{font-size:.78rem;font-weight:700;color:#b2bec3}.difficulty-badge{font-size:.72rem;font-weight:800;font-family:Nunito,sans-serif;color:#ffffffb3;background:#ffffff1f;border-radius:20px;padding:.2rem .6rem;white-space:nowrap;pointer-events:none}.stats-history{margin-top:.4rem;border-top:1.5px solid #e9d8ff;padding-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.stats-history-label{font-size:.68rem;font-weight:800;color:#aaa;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .1rem}.stats-history-item{display:flex;flex-direction:column;gap:.1rem}.stats-history-meta{font-size:.72rem;font-weight:800;color:#7c5cbf;display:flex;justify-content:space-between;align-items:center}.stats-history-date{font-weight:700;color:#b2bec3;font-size:.68rem}.stats-history-snippet{font-size:.78rem;color:#555;font-style:italic;line-height:1.3;font-weight:600}.btn-save-quit{background:#ffffff2e;border:1.5px solid rgba(255,255,255,.35);border-radius:20px;color:#fff;font-size:.75rem;font-weight:800;font-family:Nunito,sans-serif;padding:.3rem .8rem;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-save-quit:hover{background:#ffffff4d}.btn-continue-session{display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%;background:linear-gradient(135deg,#f9ca24,#f0932b);border:none;border-radius:16px;padding:.85rem 1.2rem;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:900;color:#fff;cursor:pointer;box-shadow:0 4px 16px #f0932b66;transition:transform .15s,box-shadow .15s;margin-bottom:.5rem}.btn-continue-session:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f0932b80}.btn-continue-sub{font-size:.78rem;font-weight:700;opacity:.88}.goal-celebration-screen{background:linear-gradient(135deg,#1a0533,#4c1d95,#7b2fbe);display:flex;align-items:center;justify-content:center}.goal-celebration-card{background:#fffffff7;border-radius:28px;padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;max-width:360px;width:90%;text-align:center;box-shadow:0 20px 60px #0006}.goal-trophy{font-size:4rem;animation:bounce .6s ease infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.goal-title{font-family:Fredoka One,cursive;font-size:2.4rem;color:#5f27cd;margin:0}.goal-subtitle{font-size:1.1rem;color:#666;margin:0;font-weight:700}.goal-count{font-family:Fredoka One,cursive;font-size:4rem;color:#f9ca24;-webkit-text-stroke:2px #cc7a00;line-height:1}.goal-milestone-badge{background:linear-gradient(135deg,#f9ca24,#f0932b);color:#fff;font-weight:900;font-size:1rem;padding:.5rem 1.2rem;border-radius:50px;margin-top:.4rem}.goal-show-parents{font-size:1.3rem;font-weight:900;color:#5f27cd;margin:.4rem 0 0}.parental-gate-list{list-style:none;padding:0;margin:.5rem 0 1rem;display:flex;flex-direction:column;gap:.55rem;text-align:left;font-size:.88rem;font-weight:700;color:#444;line-height:1.4}
