*{box-sizing:border-box}:root{--bg: #FEF9F0;--bg-grad: linear-gradient(180deg, #FEF9F0 0%, #FFF5E4 100%);--card: #FFFFFF;--ink: #1A1A2E;--muted: #6B6B7C;--primary: #7F77DD;--primary-dark: #534AB7;--primary-light: #CECBF6;--secondary: #1D9E75;--accent: #EF9F27;--danger: #E24B4A;--success: #1D9E75;--sunshine: #FFD93D;--sky: #6FC3DF;--coral: #FF8C61;--border: rgba(0, 0, 0, .08);--radius: 18px;--radius-lg: 28px;--radius-xl: 36px;--shadow: 0 4px 14px rgba(127, 119, 221, .12);--shadow-lg: 0 12px 32px rgba(127, 119, 221, .22);--shadow-button: 0 4px 0}body.theme-monster_truck{--bg: #2A1F15;--bg-grad: linear-gradient(180deg, #3A2A1A 0%, #1F1510 100%);--primary: #FF6B35;--primary-dark: #C44A1F;--primary-light: #FFAA80;--ink: #FFF5E4;--muted: rgba(255,245,228,.6)}body.theme-fortnite{--bg: #1A2540;--bg-grad: linear-gradient(180deg, #2A3560 0%, #0F1A30 100%);--primary: #9B5CF6;--primary-dark: #6A3AB0;--primary-light: #D1B3FF;--ink: #F0F5FF;--muted: rgba(240,245,255,.6)}body.theme-hot_wheels{--bg: #2D0F0F;--bg-grad: linear-gradient(180deg, #4A1515 0%, #1F0808 100%);--primary: #FF3B30;--primary-dark: #B02020;--primary-light: #FF8077;--ink: #FFF0EB;--muted: rgba(255,240,235,.6)}body.theme-cybertruck{--bg: #1A1D24;--bg-grad: linear-gradient(180deg, #2A2D34 0%, #0A0D14 100%);--primary: #C0C5CC;--primary-dark: #888E99;--primary-light: #E5E8ED;--ink: #F0F5FF;--muted: rgba(240,245,255,.6)}body.theme-barbie_dream{--bg: #FFE4F1;--bg-grad: linear-gradient(180deg, #FFE4F1 0%, #FFD1E8 100%);--primary: #FF4FAA;--primary-dark: #C22A7E;--primary-light: #FFB8DC}body.theme-unicorn{--bg: #F5E6FF;--bg-grad: linear-gradient(180deg, #F5E6FF 0%, #E5F0FF 100%);--primary: #B967FF;--primary-dark: #8A40C9;--primary-light: #E0B8FF}body.theme-makeup_studio{--bg: #FFF0E8;--bg-grad: linear-gradient(180deg, #FFF0E8 0%, #FFE0D0 100%);--primary: #E8A87C;--primary-dark: #B87A4C;--primary-light: #FFD4B8}body.theme-princess{--bg: #F0E5FF;--bg-grad: linear-gradient(180deg, #F0E5FF 0%, #E0D0FF 100%);--primary: #8B5CF6;--primary-dark: #5A32B0;--primary-light: #C9A8FF}html,body{margin:0;padding:0;font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-grad);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;min-height:100vh;transition:background .4s ease}#root{min-height:100vh;display:flex;flex-direction:column}.app-container{max-width:900px;margin:0 auto;width:100%;padding:20px;flex:1;position:relative}h1{font-size:34px;font-weight:800;margin:0 0 8px;letter-spacing:-.5px;color:var(--ink)}h2{font-size:26px;font-weight:800;margin:0 0 8px;letter-spacing:-.3px;color:var(--ink)}h3{font-size:19px;font-weight:700;margin:0 0 6px;color:var(--ink)}p{margin:0 0 12px;line-height:1.5}.muted{color:var(--muted)}.center{text-align:center}.card{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);margin-bottom:16px;border:2px solid rgba(255,255,255,.6);color:#1a1a2e}.card h1,.card h2,.card h3{color:#1a1a2e}.card .muted{color:#6b6b7c}.card-tight{padding:16px;border-radius:var(--radius)}.btn{display:inline-block;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:18px 28px;font-size:18px;font-weight:800;font-family:inherit;cursor:pointer;transition:transform .08s cubic-bezier(.4,0,.2,1),box-shadow .15s;box-shadow:var(--shadow-button) var(--primary-dark);-webkit-tap-highlight-color:transparent;min-height:56px;letter-spacing:.2px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--primary-dark)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-lg{padding:22px 32px;font-size:20px;min-height:64px}.btn-block{display:block;width:100%}.btn-secondary{background:#fff;color:#1a1a2e;box-shadow:0 0 0 2px #00000014 inset,var(--shadow-button) #00000014}.btn-secondary:active{box-shadow:0 0 0 2px #00000014 inset,0 1px #00000014}.btn-success{background:var(--success);box-shadow:var(--shadow-button) #0f6e56}.btn-success:active{box-shadow:0 1px #0f6e56}.btn-sunshine{background:var(--sunshine);color:#1a1a2e;box-shadow:var(--shadow-button) #c4a424}.btn-sunshine:active{box-shadow:0 1px #c4a424}.btn-boss{background:linear-gradient(135deg,#ffd93d,#ff8c61,#ff3b30);background-size:200% 200%;animation:bossShimmer 3s ease infinite;color:#fff;box-shadow:0 4px #b02020;text-shadow:0 2px 4px rgba(0,0,0,.2)}.btn-boss:active{box-shadow:0 1px #b02020}@keyframes bossShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.input{display:block;width:100%;padding:16px 18px;font-size:18px;font-family:inherit;font-weight:600;border:2px solid rgba(0,0,0,.08);border-radius:var(--radius);background:#fff;margin-bottom:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#1a1a2e}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #7f77dd26}.label{display:block;font-size:14px;font-weight:800;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.avatar{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:800;color:#fff;flex-shrink:0;box-shadow:0 6px 18px #0000001f;border:4px solid white;position:relative}.avatar-sm{width:44px;height:44px;font-size:20px;border-width:2px}.avatar-lg{width:120px;height:120px;font-size:56px;border-width:5px}.c-purple{background:linear-gradient(135deg,#9b93f5,#534ab7)}.c-teal{background:linear-gradient(135deg,#3abea2,#0f6e56)}.c-coral{background:linear-gradient(135deg,#ff8c61,#d85a30)}.c-pink{background:linear-gradient(135deg,#f074a0,#993556)}.c-blue{background:linear-gradient(135deg,#5aa8f0,#185fa5)}.c-amber{background:linear-gradient(135deg,#ffb84d,#ba7517)}.avatar-wrapper{position:relative;display:inline-block}.avatar-accessory{position:absolute;pointer-events:none;font-size:32px;line-height:1;z-index:2}.avatar-accessory.hat{top:-14px;left:50%;transform:translate(-50%)}.avatar-accessory.face{top:28%;left:50%;transform:translate(-50%);font-size:26px}.avatar-bg{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;pointer-events:none;z-index:0;display:flex;align-items:center;justify-content:center;font-size:56px;opacity:.5;animation:bgFloat 3s ease-in-out infinite}@keyframes bgFloat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.kid-card{background:#fff;border:4px solid transparent;border-radius:var(--radius-lg);padding:28px 16px;text-align:center;cursor:pointer;box-shadow:var(--shadow);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;animation:bounceIn .5s cubic-bezier(.68,-.55,.265,1.55);color:#1a1a2e}.kid-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.kid-card:active{transform:scale(.97)}.kid-card .avatar{margin:0 auto 12px}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.progress{height:16px;background:#0000001a;border-radius:999px;overflow:hidden;border:2px solid white}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 50%,var(--sunshine) 100%);border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #ffd93d66}.stat-tile{background:#fff;border-radius:var(--radius);padding:16px 12px;text-align:center;box-shadow:var(--shadow);border:2px solid rgba(255,255,255,.6);color:#1a1a2e}.stat-tile .num{font-size:30px;font-weight:800;color:var(--primary-dark);display:block;line-height:1.1}.stat-tile .lbl{font-size:11px;color:#6b6b7c;text-transform:uppercase;letter-spacing:.5px;font-weight:800}.subject-tile{background:#fff;border-radius:var(--radius);padding:22px 12px;text-align:center;cursor:pointer;box-shadow:var(--shadow);border:3px solid transparent;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:all .15s cubic-bezier(.4,0,.2,1);color:#1a1a2e;position:relative}.subject-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.subject-tile:active{transform:scale(.96)}.subject-tile .icon{width:56px;height:56px;border-radius:18px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;font-weight:800;box-shadow:0 4px 12px #0000001a}.subject-tile .name{font-size:16px;font-weight:800;color:#1a1a2e}.subject-tile .badge{font-size:11px;color:#6b6b7c;margin-top:4px;text-transform:uppercase;letter-spacing:.4px;font-weight:800}.boss-badge{position:absolute;top:-10px;right:-10px;background:linear-gradient(135deg,#ffd93d,#ff8c61);color:#fff;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 3px 10px #ff8c6180;border:3px solid white;animation:bossPulse 2s ease-in-out infinite}@keyframes bossPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.lesson-question{background:#fff;border-radius:var(--radius-lg);padding:36px 24px;text-align:center;margin-bottom:20px;box-shadow:var(--shadow);border:3px solid rgba(127,119,221,.1);position:relative;overflow:hidden;color:#1a1a2e}.lesson-question:before{content:"";position:absolute;top:-30px;right:-30px;width:80px;height:80px;background:radial-gradient(circle,rgba(255,217,61,.2) 0%,transparent 70%);border-radius:50%}.lesson-question .q-text{font-size:24px;font-weight:800;line-height:1.4;color:#1a1a2e;position:relative}.lesson-question .speak-btn{background:#7f77dd1f;border:none;border-radius:50%;width:48px;height:48px;font-size:22px;cursor:pointer;margin-top:14px;transition:transform .1s}.lesson-question .speak-btn:active{transform:scale(.9)}.answer-btn{background:#fff;border:3px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:24px 16px;font-size:22px;font-weight:800;font-family:inherit;cursor:pointer;color:#1a1a2e;-webkit-tap-highlight-color:transparent;transition:all .15s cubic-bezier(.4,0,.2,1);min-height:82px;box-shadow:0 3px #0000000d}.answer-btn:hover:not(:disabled){border-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 5px #0000000d}.answer-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #0000000d}.answer-btn:disabled{cursor:not-allowed}.answer-btn.correct{border-color:var(--success);background:#1d9e751f;animation:correctPulse .5s}.answer-btn.wrong{border-color:var(--danger);background:#e24b4a1f;animation:shake .4s}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.feedback-box{border-radius:var(--radius);padding:18px 20px;margin:16px 0;font-size:17px;font-weight:700;line-height:1.4;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.feedback-correct{background:linear-gradient(135deg,#1d9e7526,#7bc96f2e);color:#0f6e56;border:2px solid rgba(29,158,117,.3)}.feedback-wrong{background:linear-gradient(135deg,#7f77dd1f,#cecbf633);color:var(--primary-dark);border:2px solid rgba(127,119,221,.25)}.loader{display:inline-block;width:56px;height:56px;border:5px solid rgba(127,119,221,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pin-display{display:flex;justify-content:center;gap:14px;margin:28px 0}.pin-dot{width:22px;height:22px;border-radius:50%;background:#00000014;transition:all .2s;border:2px solid rgba(0,0,0,.05)}.pin-dot.filled{background:var(--primary);border-color:var(--primary-dark);transform:scale(1.15)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:340px;margin:0 auto}.pin-key{background:#fff;border:none;border-radius:var(--radius);font-size:30px;font-weight:800;font-family:inherit;padding:24px 0;cursor:pointer;box-shadow:0 4px #00000014;-webkit-tap-highlight-color:transparent;color:#1a1a2e;transition:all .08s}.pin-key:active{transform:translateY(3px);box-shadow:0 1px #00000014}.color-picker{display:flex;gap:12px;margin:12px 0;flex-wrap:wrap}.color-swatch{width:48px;height:48px;border-radius:50%;border:4px solid transparent;cursor:pointer;box-shadow:0 2px 6px #0000001a}.color-swatch.selected{border-color:#1a1a2e;transform:scale(1.1)}.difficulty-group{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#0000000a;padding:4px;border-radius:var(--radius);margin-bottom:8px}.difficulty-btn{background:transparent;border:none;padding:10px 8px;border-radius:calc(var(--radius) - 6px);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;color:#6b6b7c;transition:all .15s}.difficulty-btn.active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 6px #00000014}.difficulty-btn:hover:not(.active){color:#1a1a2e}.subject-difficulty-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid rgba(0,0,0,.08)}.subject-difficulty-row:first-child{border-top:none}.subject-difficulty-row .subject-label{flex:1;font-weight:700;font-size:15px;display:flex;align-items:center;gap:10px}.subject-difficulty-row .mini-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:16px;flex-shrink:0}.mascot-big{width:140px;height:140px;margin:0 auto 16px;animation:mascotBob 2.5s ease-in-out infinite}@keyframes mascotBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.pet{animation:petBob 3s ease-in-out infinite;transition:transform .2s;display:inline-block}.pet.wiggle{animation:petWiggle .5s}@keyframes petBob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes petWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}.confetti-piece{position:absolute;width:10px;height:10px;top:-20px;opacity:0;animation:confettiFall 2.5s ease-out forwards}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(400px) rotate(720deg);opacity:0}}.typing-display{background:#fff;border-radius:var(--radius-lg);padding:40px 24px;text-align:center;margin-bottom:20px;box-shadow:var(--shadow);border:3px solid rgba(127,119,221,.1);color:#1a1a2e}.typing-target{font-family:Courier New,monospace;font-size:64px;font-weight:800;color:var(--primary-dark);letter-spacing:4px;margin:0 0 12px;min-height:80px;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.typing-char{display:inline-block;padding:4px 8px;border-radius:8px;transition:all .15s}.typing-char.pending{color:#0000004d}.typing-char.current{background:var(--sunshine);color:#1a1a2e;animation:pulse 1s ease-in-out infinite}.typing-char.done{color:var(--success)}.typing-char.wrong{background:#e24b4a33;color:var(--danger)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.typing-hint{font-size:14px;color:#6b6b7c;font-weight:600}.finger-guide{display:inline-block;background:#7f77dd1a;color:var(--primary-dark);padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;margin-top:8px}.typing-stats{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.typing-stat{background:#fff;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:800;color:var(--primary-dark);box-shadow:var(--shadow)}.typing-input{width:100%;padding:16px;font-size:20px;font-family:Courier New,monospace;font-weight:700;border:3px solid rgba(0,0,0,.08);border-radius:var(--radius);text-align:center;outline:none}.typing-input:focus{border-color:var(--primary)}.game-canvas{position:relative;background:linear-gradient(180deg,#d9f3ff,#fff5e4);border-radius:var(--radius-lg);height:400px;overflow:hidden;border:3px solid white;box-shadow:var(--shadow);touch-action:manipulation;user-select:none;-webkit-user-select:none}.click-target{position:absolute;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffd93d,#ef9f27);cursor:pointer;box-shadow:0 4px 14px #ef9f2766;animation:targetIn .3s cubic-bezier(.68,-.55,.265,1.55);border:4px solid white;display:flex;align-items:center;justify-content:center;font-size:28px}.click-target.popping{animation:targetPop .3s forwards}.click-target.balloon{background:radial-gradient(circle at 35% 35%,#ff8c61,#d85a30);border-radius:50% 50% 45% 55%/60% 60% 40% 40%}@keyframes targetIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes targetPop{0%{transform:scale(1);opacity:1}to{transform:scale(1.8);opacity:0}}.drop-zone{position:absolute;border:3px dashed var(--primary);border-radius:12px;background:#7f77dd14;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--primary-dark)}.drag-item{position:absolute;width:64px;height:64px;cursor:grab;background:#fff;border-radius:12px;box-shadow:0 4px 14px #00000026;display:flex;align-items:center;justify-content:center;font-size:32px;-webkit-user-select:none;user-select:none}.drag-item.dragging{cursor:grabbing;transform:scale(1.1);box-shadow:0 8px 22px #0003;z-index:100}.shop-tabs{display:flex;gap:8px;background:#0000000a;padding:4px;border-radius:var(--radius);margin-bottom:16px}.shop-tab{flex:1;background:transparent;border:none;padding:12px;border-radius:calc(var(--radius) - 6px);font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;color:var(--muted);transition:all .15s}.shop-tab.active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 6px #00000014}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.shop-item{background:#fff;border-radius:var(--radius);padding:16px 12px;text-align:center;box-shadow:var(--shadow);border:3px solid transparent;cursor:pointer;transition:all .15s;color:#1a1a2e;position:relative}.shop-item:hover:not(.cant-afford){transform:translateY(-3px);box-shadow:var(--shadow-lg)}.shop-item.suggested{border-color:var(--sunshine)}.shop-item.owned{border-color:var(--success)}.shop-item.equipped{border-color:var(--primary);background:#7f77dd0d}.shop-item.cant-afford{opacity:.55;cursor:not-allowed}.shop-item .preview{font-size:48px;margin:8px 0;line-height:1}.shop-item .name{font-weight:800;font-size:14px;margin-bottom:4px}.shop-item .desc{font-size:11px;color:#6b6b7c;margin-bottom:8px;min-height:28px}.shop-item .cost{font-weight:800;color:var(--primary-dark);font-size:14px;padding:4px 10px;background:#7f77dd1a;border-radius:999px;display:inline-block}.shop-item .suggested-tag{position:absolute;top:-8px;right:-8px;background:var(--sunshine);color:#1a1a2e;font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;box-shadow:0 2px 6px #0000001f;border:2px solid white}.analytics-card{background:#fff;border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--shadow);color:#1a1a2e}.analytics-card h3{color:#1a1a2e;margin:0 0 12px}.sparkline{height:60px;display:flex;align-items:flex-end;gap:3px;margin:8px 0}.sparkline .bar{flex:1;background:linear-gradient(180deg,var(--primary),var(--primary-dark));border-radius:4px 4px 0 0;min-height:4px;transition:height .4s}.subject-bar-row{display:flex;align-items:center;gap:10px;padding:8px 0}.subject-bar-row .name{width:90px;font-weight:700;font-size:14px}.subject-bar-row .bar-wrap{flex:1;height:12px;background:#0000000f;border-radius:999px;overflow:hidden}.subject-bar-row .bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--sunshine));border-radius:999px}.subject-bar-row .count{font-size:13px;font-weight:700;color:#6b6b7c;width:40px;text-align:right}.report-section{padding:16px 0;border-top:1px solid rgba(0,0,0,.08)}.report-section:first-child{border-top:none;padding-top:0}.report-section h4{margin:0 0 10px;font-size:15px;text-transform:uppercase;letter-spacing:.5px;color:var(--primary-dark);display:flex;align-items:center;gap:8px}.report-list{margin:0;padding-left:20px}.report-list li{margin-bottom:8px;line-height:1.5;color:#1a1a2e}.report-headline{font-size:18px;font-weight:800;color:var(--primary-dark);padding:16px 20px;background:linear-gradient(135deg,#7f77dd1a,#ffd93d26);border-radius:var(--radius);margin-bottom:0}@media (max-width: 480px){.app-container{padding:12px}.card{padding:18px;border-radius:var(--radius)}.grid-2{gap:12px}h1{font-size:28px}h2{font-size:22px}.lesson-question{padding:28px 18px}.lesson-question .q-text{font-size:20px}.answer-btn{font-size:20px;padding:20px 12px;min-height:76px}.typing-target{font-size:44px}.game-canvas{height:340px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}}@keyframes petBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.tab-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;background:#fff;border:2px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:800;color:var(--muted);cursor:pointer;flex-shrink:0;min-width:68px;font-family:inherit;transition:all .15s}.tab-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px)}.item-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 8px;min-height:110px;background:#fff;border:3px solid transparent;border-radius:var(--radius);cursor:pointer;font-family:inherit;box-shadow:0 3px 10px #0000000f;transition:all .15s}.item-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.boss-banner{background:linear-gradient(135deg,#e24b4a,#ffd93d);color:#fff;padding:14px 18px;border-radius:var(--radius);font-weight:800;text-align:center;margin-bottom:16px;box-shadow:0 6px 20px #e24b4a59;animation:bossGlow 2s ease-in-out infinite}@keyframes bossGlow{0%,to{box-shadow:0 6px 20px #e24b4a59}50%{box-shadow:0 6px 28px #ffd93d8c}}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden}.celebration-right{animation:celeFlashGold .6s ease-out}.celebration-wrong{animation:celeFlashSoft .5s ease-out}@keyframes celeFlashGold{0%{background:#ffd93d00}20%{background:#ffd93d59}to{background:#ffd93d00}}@keyframes celeFlashSoft{0%{background:#7f77dd00}20%{background:#7f77dd2e}to{background:#7f77dd00}}.celebration-text{font-size:clamp(48px,12vw,110px);font-weight:900;color:#fff;text-shadow:-3px -3px 0 #7F77DD,3px -3px 0 #7F77DD,-3px 3px 0 #7F77DD,3px 3px 0 #7F77DD,0 6px 0 #5A52B0,0 10px 18px rgba(0,0,0,.25);letter-spacing:1px;font-family:Nunito,sans-serif;animation:celePop 1.4s cubic-bezier(.18,.89,.32,1.28);transform-origin:center;text-align:center;padding:0 16px}.celebration-wrong .celebration-text{font-size:clamp(36px,8vw,72px);text-shadow:-2px -2px 0 #5A8DD6,2px -2px 0 #5A8DD6,-2px 2px 0 #5A8DD6,2px 2px 0 #5A8DD6,0 4px 0 #3D6BAA,0 8px 14px rgba(0,0,0,.2);animation:celePopGentle 1s cubic-bezier(.34,1.2,.64,1)}@keyframes celePop{0%{opacity:0;transform:scale(.2) rotate(-15deg)}35%{opacity:1;transform:scale(1.25) rotate(5deg)}50%{transform:scale(1) rotate(-3deg)}65%{transform:scale(1.1) rotate(2deg)}80%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(1.05);opacity:0}}@keyframes celePopGentle{0%{opacity:0;transform:scale(.5) translateY(20px)}30%{opacity:1;transform:scale(1.05) translateY(0)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95) translateY(-10px)}}.celebration-sparkle{position:absolute;pointer-events:none;animation:sparkleBurst 1.5s ease-out forwards;filter:drop-shadow(0 2px 6px rgba(255,217,61,.6))}@keyframes sparkleBurst{0%{opacity:0;transform:scale(0) rotate(0)}20%{opacity:1;transform:scale(1.3) rotate(180deg)}60%{opacity:1;transform:scale(1) rotate(360deg) translateY(-30px)}to{opacity:0;transform:scale(.5) rotate(540deg) translateY(-80px)}}.answer-btn.correct{animation:correctVictory .8s cubic-bezier(.18,.89,.32,1.28)!important;box-shadow:0 0 0 4px var(--success),0 8px 24px #1d9e7566!important}.answer-btn.wrong{animation:wrongShake .5s ease-in-out!important}@keyframes correctVictory{0%{transform:scale(1) rotate(0)}20%{transform:scale(1.15) rotate(-3deg)}40%{transform:scale(1.1) rotate(3deg)}60%{transform:scale(1.12) rotate(-2deg)}80%{transform:scale(1.08) rotate(1deg)}to{transform:scale(1.05) rotate(0)}}@keyframes wrongShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.adventure-container{max-width:600px;margin:0 auto}.adventure-header{text-align:center;margin-bottom:20px}.adventure-title{font-size:24px;margin:0 0 12px;color:var(--primary-dark)}.adventure-progress{display:flex;justify-content:center;gap:8px}.adventure-dot{width:12px;height:12px;border-radius:50%;background:#0000001a;transition:all .3s}.adventure-dot.filled{background:var(--primary);box-shadow:0 0 6px #7f77dd80}.adventure-dot.current{background:var(--sunshine);animation:pulse 1.2s infinite;box-shadow:0 0 8px #ffd93d99}.adventure-node{transition:opacity .3s,transform .3s}.adventure-fade-in{animation:adventureFadeIn .4s ease-out}.adventure-fade-out{opacity:0;transform:translateY(10px)}@keyframes adventureFadeIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.adventure-text{background:#fff;border-radius:var(--radius);padding:24px;font-size:18px;line-height:1.8;color:var(--ink);box-shadow:0 4px 16px #00000014;position:relative;margin-bottom:20px}.adventure-text p{margin:0}.adventure-speak{position:absolute;top:10px;right:10px}.adventure-prompt{text-align:center;font-weight:800;font-size:16px;color:var(--muted);margin:0 0 12px}.adventure-choices{display:flex;flex-direction:column;gap:10px}.adventure-choice-btn{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:3px solid var(--border);border-radius:var(--radius);font-size:17px;font-weight:700;font-family:inherit;color:var(--ink);cursor:pointer;text-align:left;transition:all .15s;box-shadow:0 3px 10px #0000000f}.adventure-choice-btn:hover{border-color:var(--primary);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #7f77dd33;background:#7f77dd0d}.adventure-choice-btn:active{transform:translateY(1px) scale(.98)}.adventure-choice-icon{font-size:24px;flex-shrink:0}.adventure-ending{text-align:center;padding:20px 0}.adventure-ending-badge{font-size:28px;font-weight:900;color:var(--primary-dark);animation:celePop 1s cubic-bezier(.18,.89,.32,1.28)}.special-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 12px;border-radius:var(--radius);border:3px solid transparent;cursor:pointer;font-family:inherit;min-height:130px;box-shadow:0 4px 14px #00000014;transition:all .15s}.special-tile:hover{transform:translateY(-3px);box-shadow:0 8px 28px #0000001f}.special-tile:active{transform:translateY(1px)}.special-tile .name{font-size:17px;font-weight:800;color:#fff}.special-tile .badge{font-size:12px;font-weight:700;color:#ffffffd9}.adventure-tile{background:linear-gradient(135deg,#7f77dd,#9b93f5)}.freeplay-tile{background:linear-gradient(135deg,#1d9e75,#3abea2)}.suggestion-chip{display:inline-block;padding:8px 16px;border-radius:999px;background:#fff;border:2px solid var(--border);font-size:14px;font-weight:700;font-family:inherit;color:var(--ink);cursor:pointer;transition:all .15s}.suggestion-chip:hover{border-color:var(--primary);background:#7f77dd14;transform:translateY(-1px)}.suggestion-chip:active{transform:translateY(1px)}.quest-board{border:2px solid rgba(127,119,221,.2);background:linear-gradient(135deg,#7f77dd0a,#ffd93d0f)}.quest-done-banner{background:linear-gradient(135deg,#1d9e75,#3abea2);color:#fff;padding:14px 18px;border-radius:var(--radius);font-weight:900;font-size:18px;text-align:center;margin-bottom:14px;animation:celePop .8s cubic-bezier(.18,.89,.32,1.28)}.quest-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:8px;font-family:inherit;font-size:15px;cursor:pointer;transition:all .15s}.quest-item:hover{border-color:var(--primary);transform:translate(4px);box-shadow:0 4px 14px #00000014}.quest-item:active{transform:translate(2px) scale(.99)}.quest-item.quest-complete{border-color:var(--success);background:#1d9e750f;opacity:.75}.quest-item.quest-complete:hover{opacity:1}.quest-check{font-size:20px;flex-shrink:0}.quest-emoji{font-size:22px;flex-shrink:0}.quest-name{font-weight:800;color:var(--ink)}.quest-count{font-weight:800;font-size:14px;color:var(--muted);min-width:32px;text-align:center}.quest-go{font-weight:800;font-size:13px;color:var(--primary);flex-shrink:0}.install-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#7f77dd,#9b93f5);border-radius:var(--radius);margin-bottom:16px;color:#fff;flex-wrap:wrap;animation:slideUp .3s ease-out}.install-text{flex:1;font-weight:700;font-size:14px;min-width:160px}.install-banner .btn-sm{padding:8px 16px;font-size:13px;min-height:auto;background:#fff;color:var(--primary-dark);border:none;font-weight:800}.install-dismiss{background:none;border:none;color:#ffffffb3;font-size:18px;cursor:pointer;padding:4px 8px;font-family:inherit}.install-dismiss:hover{color:#fff}.graduation-banner{background:linear-gradient(135deg,#ffd93d,#e8a020,#ffd93d);background-size:200% 200%;animation:gradShimmer 3s ease-in-out infinite;color:#1a1a2e;padding:24px;border-radius:var(--radius);text-align:center;margin-bottom:16px;box-shadow:0 8px 30px #e8a02066;font-weight:900}@keyframes gradShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.graduation-banner h1{text-shadow:0 2px 8px rgba(0,0,0,.15)}
