:root{--cream: #fff8ee;--cream-2: #fdefdc;--ink: #3a2e5c;--ink-soft: #6b5f8d;--coral: #ff7a6b;--coral-deep: #f25c4d;--sun: #ffc542;--mint: #3ecfb2;--mint-deep: #1fb99d;--sky: #5aa9f9;--lavender: #a78bfa;--night-1: #171733;--night-2: #2d2b55;--night-card: #24224a;--star: #ffd76e;--radius-lg: 26px;--radius-md: 18px;--shadow-card: 0 6px 0 rgba(58, 46, 92, .12);--shadow-pop: 0 10px 24px rgba(58, 46, 92, .18);font-family:ui-rounded,-apple-system,SF Pro Rounded,Segoe UI,Nunito,Quicksand,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:#efe6d8;color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none}.app-shell{max-width:520px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;background:var(--cream);position:relative;overflow:hidden;transition:background .6s ease}.app-shell.night{background:linear-gradient(180deg,var(--night-1) 0%,var(--night-2) 100%);color:#eae6ff}.screen{flex:1;overflow-y:auto;padding:18px 18px 110px;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 6px}.topbar .hello{display:flex;align-items:center;gap:10px;min-width:0}.topbar .avatar-bubble{width:46px;height:46px;border-radius:50%;background:#fff;border:3px solid var(--sun);display:grid;place-items:center;font-size:24px;box-shadow:var(--shadow-card);flex:none}.night .topbar .avatar-bubble{background:var(--night-card);border-color:var(--lavender)}.topbar .greet{font-size:13px;color:var(--ink-soft);font-weight:700}.night .topbar .greet{color:#b7b0e0}.topbar .kid-name{font-size:19px;font-weight:900;line-height:1.1}.parents-btn{border:none;cursor:pointer;background:#3a2e5c14;color:var(--ink-soft);font:inherit;font-size:12px;font-weight:800;padding:9px 13px;border-radius:99px;display:flex;align-items:center;gap:5px}.night .parents-btn{background:#ffffff1f;color:#cfc8f5}.card{background:#fff;border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card);border:2px solid rgba(58,46,92,.06)}.night .card{background:var(--night-card);border-color:#ffffff14;box-shadow:0 6px #00000040}.pressable{transition:transform .12s ease,box-shadow .12s ease;cursor:pointer}.pressable:active{transform:scale(.96);box-shadow:0 2px #3a2e5c1f}.btn{border:none;cursor:pointer;font:inherit;font-weight:900;font-size:17px;color:#fff;background:var(--coral);border-radius:20px;padding:15px 22px;box-shadow:0 5px 0 var(--coral-deep);transition:transform .1s ease,box-shadow .1s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--coral-deep)}.btn.mint{background:var(--mint);box-shadow:0 5px 0 var(--mint-deep)}.btn.mint:active{box-shadow:0 1px 0 var(--mint-deep)}.btn.sky{background:var(--sky);box-shadow:0 5px #3d84d6}.btn.sky:active{box-shadow:0 1px #3d84d6}.btn.lavender{background:var(--lavender);box-shadow:0 5px #8460f0}.btn.lavender:active{box-shadow:0 1px #8460f0}.btn.ghost{background:transparent;color:var(--ink-soft);box-shadow:none;border:2.5px solid rgba(58,46,92,.18)}.btn.ghost:active{transform:scale(.96)}.night .btn.ghost{color:#cfc8f5;border-color:#ffffff40}.btn.small{font-size:14px;padding:10px 16px;border-radius:15px}.btn.big{font-size:20px;padding:18px 28px;width:100%}.btn:disabled{opacity:.45;pointer-events:none}.chip{border:none;cursor:pointer;font:inherit;font-weight:800;font-size:14px;padding:9px 16px;border-radius:99px;background:#3a2e5c12;color:var(--ink-soft)}.chip.on{background:var(--ink);color:#fff}.night .chip{background:#ffffff1a;color:#cfc8f5}.night .chip.on{background:var(--star);color:#3a2e10}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.h-section{font-size:22px;font-weight:900;margin:20px 0 12px;display:flex;align-items:center;gap:8px}.h-sub{font-size:13px;font-weight:700;color:var(--ink-soft);margin:-8px 0 12px}.night .h-sub{color:#b7b0e0}.hero-card{border-radius:var(--radius-lg);padding:20px;color:#fff;position:relative;overflow:hidden;min-height:128px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow-card);border:none;text-align:left;font:inherit;width:100%}.hero-card .hc-emoji{font-size:42px;position:absolute;top:12px;right:14px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.15))}.hero-card .hc-title{font-size:20px;font-weight:900}.hero-card .hc-sub{font-size:12.5px;font-weight:700;opacity:.9;margin-top:2px}.hero-card.sleep{background:linear-gradient(140deg,#4c4699,#2d2b55)}.hero-card.stories{background:linear-gradient(140deg,#ff9a8b,#f25c4d)}.hero-card.learn{background:linear-gradient(140deg,#43d8bb,#14a88d)}.hero-card.rewards{background:linear-gradient(140deg,#ffd76e,#f5a623);color:#4d3a06}.tabbar{position:absolute;bottom:0;left:0;right:0;background:#fff;border-top:2px solid rgba(58,46,92,.07);display:flex;padding:8px 8px calc(10px + env(safe-area-inset-bottom));z-index:30}.night .tabbar{background:#1d1c3d;border-color:#ffffff14}.tab-item{flex:1;border:none;background:none;cursor:pointer;font:inherit;font-size:11px;font-weight:800;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border-radius:16px}.night .tab-item{color:#8f88bd}.tab-item .t-ico{font-size:24px;transition:transform .15s ease}.tab-item.on{color:var(--coral-deep)}.night .tab-item.on{color:var(--star)}.tab-item.on .t-ico{transform:scale(1.18) translateY(-2px)}.sound-tile{border:none;cursor:pointer;font:inherit;background:var(--night-card);color:#d8d3f7;border-radius:22px;padding:18px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:6px;border:2.5px solid rgba(255,255,255,.07);transition:transform .12s ease,border-color .2s,background .2s;position:relative}.sound-tile:active{transform:scale(.94)}.sound-tile .s-emoji{font-size:34px}.sound-tile .s-name{font-size:13px;font-weight:800}.sound-tile.on{background:#3b3777;border-color:var(--star);color:#fff;box-shadow:0 0 18px #ffd76e40}.sound-tile .eq{position:absolute;top:10px;right:12px;display:flex;gap:2px;align-items:flex-end;height:12px}.sound-tile .eq i{width:3px;background:var(--star);border-radius:2px;animation:eq .8s ease-in-out infinite}.sound-tile .eq i:nth-child(2){animation-delay:.2s}.sound-tile .eq i:nth-child(3){animation-delay:.4s}@keyframes eq{0%,to{height:4px}50%{height:12px}}.story-card{border:none;padding:0;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);cursor:pointer;font:inherit;text-align:left;display:flex;flex-direction:column;border:2px solid rgba(58,46,92,.06)}.night .story-card{background:var(--night-card);border-color:#ffffff14}.story-card .sc-cover{width:100%;display:block}.story-card .sc-body{padding:12px 14px 14px}.story-card .sc-title{font-weight:900;font-size:15.5px;line-height:1.2}.story-card .sc-meta{font-size:11.5px;font-weight:700;color:var(--ink-soft);margin-top:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.night .story-card .sc-meta{color:#b7b0e0}.badge-done{color:var(--mint-deep);font-weight:900}.screen.reader{padding-bottom:24px}.reader{display:flex;flex-direction:column;min-height:100%}.reader-scene{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-pop);flex:none}.reader-scene svg{display:block;width:100%;height:auto}.reader-text{font-size:19px;line-height:1.6;font-weight:700;padding:18px 6px 10px}.reader-controls{display:flex;align-items:center;gap:10px;padding-bottom:6px}.reader-nav{position:sticky;bottom:0;margin-top:auto;padding-top:10px;background:linear-gradient(to top,var(--cream) 62%,transparent)}.night .reader-nav{background:linear-gradient(to top,var(--night-2) 62%,transparent)}.page-dots{display:flex;gap:6px;justify-content:center;padding:4px 0 10px}.page-dots i{width:8px;height:8px;border-radius:50%;background:#3a2e5c26;transition:background .2s,transform .2s}.night .page-dots i{background:#fff3}.page-dots i.on{background:var(--coral);transform:scale(1.3)}.night .page-dots i.on{background:var(--star)}.activity-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left}.activity-card .a-emoji{width:56px;height:56px;flex:none;border-radius:18px;display:grid;place-items:center;font-size:30px}.activity-card .a-title{font-weight:900;font-size:16px}.activity-card .a-sub{font-size:12px;font-weight:700;color:var(--ink-soft);margin-top:2px}.night .activity-card .a-sub{color:#b7b0e0}.a-count{margin-left:auto;font-size:12px;font-weight:900;color:var(--mint-deep);white-space:nowrap}.quiz-option{border:3px solid rgba(58,46,92,.1);background:#fff;cursor:pointer;font:inherit;border-radius:20px;padding:16px 12px;font-size:18px;font-weight:800;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .1s,border-color .15s,background .15s}.quiz-option:active{transform:scale(.95)}.quiz-option .qo-emoji{font-size:40px}.quiz-option.correct{border-color:var(--mint);background:#e2fbf5}.quiz-option.wrong{border-color:var(--coral);background:#ffecea;animation:shake .4s}.night .quiz-option{background:var(--night-card);color:#eae6ff;border-color:#ffffff1f}.night .quiz-option.correct{background:#1d4a40}.night .quiz-option.wrong{background:#55283a}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.flashcard{background:#fff;border-radius:30px;box-shadow:var(--shadow-pop);padding:34px 20px;text-align:center;border:3px solid rgba(58,46,92,.07)}.night .flashcard{background:var(--night-card);border-color:#ffffff1a}.flashcard .f-big{font-size:88px;font-weight:900;line-height:1}.flashcard .f-emoji{font-size:72px;margin:12px 0 4px;display:block}.flashcard .f-word{font-size:26px;font-weight:900;margin-top:6px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.memory-card{aspect-ratio:1;border:none;cursor:pointer;font:inherit;border-radius:16px;font-size:30px;display:grid;place-items:center;background:var(--lavender);box-shadow:0 4px #8460f0;color:transparent;transition:transform .25s,background .25s}.memory-card.flipped{background:#fff;color:inherit;box-shadow:0 4px #3a2e5c26;transform:rotateY(180deg)}.night .memory-card.flipped{background:var(--night-card)}.memory-card.matched{background:#e2fbf5;color:inherit;box-shadow:0 4px 0 var(--mint);opacity:.9;transform:none}.night .memory-card.matched{background:#1d4a40}.pbar{height:12px;border-radius:99px;background:#3a2e5c1a;overflow:hidden}.night .pbar{background:#ffffff1f}.pbar>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sun),var(--coral));transition:width .4s ease}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:linear-gradient(180deg,var(--night-1),var(--night-2));color:#eae6ff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;gap:8px}.overlay .o-emoji{font-size:72px;margin-bottom:6px;animation:floaty 3s ease-in-out infinite}.overlay h2{font-size:26px;font-weight:900;margin:0}.overlay p{font-size:15px;font-weight:700;color:#b7b0e0;max-width:300px;line-height:1.5;margin:6px 0 18px}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.sheet-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:70;background:#1717338c;display:flex;align-items:flex-end}.sheet{background:var(--cream);color:var(--ink);width:100%;border-radius:28px 28px 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom));max-height:88%;overflow-y:auto;animation:sheetup .25s ease}@keyframes sheetup{0%{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}.stat-tile{text-align:center;padding:14px 8px}.stat-tile .st-num{font-size:26px;font-weight:900}.stat-tile .st-lbl{font-size:11px;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1.5px solid rgba(58,46,92,.07)}.setting-row:last-child{border-bottom:none}.setting-row .sr-label{font-weight:800;font-size:15px}.setting-row .sr-help{font-size:12px;font-weight:600;color:var(--ink-soft);margin-top:2px;max-width:230px}.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:36px;height:36px;border-radius:12px;border:none;cursor:pointer;background:#3a2e5c14;font-size:18px;font-weight:900;color:var(--ink)}.stepper .stv{font-weight:900;min-width:64px;text-align:center;font-size:14px}.toggle{width:54px;height:32px;border-radius:99px;border:none;cursor:pointer;background:#3a2e5c26;position:relative;transition:background .2s;flex:none}.toggle i{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 2px 4px #0003}.toggle.on{background:var(--mint)}.toggle.on i{left:25px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:260px;margin:14px auto 0}.keypad button{height:58px;border-radius:18px;border:none;cursor:pointer;background:#fff;font:inherit;font-size:22px;font-weight:900;color:var(--ink);box-shadow:0 4px #3a2e5c1f}.keypad button:active{transform:translateY(3px);box-shadow:0 1px #3a2e5c1f}.gate-display{font-size:30px;font-weight:900;letter-spacing:6px;text-align:center;background:#3a2e5c0f;border-radius:16px;padding:12px;min-height:58px}.sticker-cell{aspect-ratio:1;border-radius:18px;background:#fff;border:2.5px dashed rgba(58,46,92,.15);display:grid;place-items:center;font-size:34px}.sticker-cell.earned{border-style:solid;border-color:var(--sun);box-shadow:var(--shadow-card)}.sticker-cell.locked{filter:grayscale(1);opacity:.35}.night .sticker-cell{background:var(--night-card);border-color:#ffffff26}.confetti-wrap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:80}.confetti-wrap i{position:absolute;top:-20px;width:10px;height:14px;border-radius:3px;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}.star-pop{animation:starpop .6s ease;display:inline-block}@keyframes starpop{0%{transform:scale(0)}60%{transform:scale(1.4)}to{transform:scale(1)}}.avatar-pick{width:62px;height:62px;border-radius:50%;border:3px solid transparent;background:#fff;font-size:32px;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-card)}.avatar-pick.on{border-color:var(--coral);transform:scale(1.08)}.text-input{width:100%;border:3px solid rgba(58,46,92,.12);border-radius:18px;padding:14px 16px;font:inherit;font-size:18px;font-weight:800;color:var(--ink);background:#fff;outline:none}.text-input:focus{border-color:var(--sky)}.timer-ring{font-variant-numeric:tabular-nums}@media (max-width: 380px){.grid3{grid-template-columns:1fr 1fr}.flashcard .f-big{font-size:70px}}
