@font-face{font-family:OpenDyslexic;src:url(/fonts/OpenDyslexic-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/fonts/OpenDyslexic-Bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--bb-primary:#7c6ff7;--bb-primary-light:#a594ff;--bb-primary-dark:#6255d4;--bb-primary-text:#6255d4;--bb-primary-soft:#7c6ff71f;--bb-primary-glow:#7c6ff759;--bb-secondary:#349790;--bb-secondary-light:#4ecdc4;--bb-secondary-dark:#278b84;--bb-accent:#ffd166;--bb-accent-dark:#b45309;--bb-accent-light:#ffe8a3;--bb-coral:#c76a4a;--bb-coral-dark:#b55c3f;--bb-coral-light:#d48468;--bb-success:#2b9662;--bb-success-dark:#238b55;--bb-success-light:#66d9a0;--bb-error:#a93226;--bb-error-dark:#922b21;--bb-error-light:#e74c3c;--bb-bg-start:#7c6ff7;--bb-bg-end:#9b71e8;--bb-bg-warm:#fff8f0;--bb-bg-card:#fffffff2;--bb-bg-card-solid:#fff;--bb-surface:#f5f2ff;--bb-text:#3a3153;--bb-text-secondary:#6b6085;--bb-text-muted:#756a8d;--bb-text-light:#fff;--bb-border:#e8e0f0;--bb-border-light:#f0ecf8;--bb-shadow-sm:0 2px 8px #7c6ff71a;--bb-shadow-md:0 4px 16px #7c6ff72e;--bb-shadow-lg:0 8px 32px #7c6ff740;--bb-shadow-xl:0 16px 48px #7c6ff74d;--bb-gradient-main:linear-gradient(135deg, var(--bb-bg-start) 0%, var(--bb-bg-end) 100%);--bb-gradient-primary:linear-gradient(135deg, var(--bb-primary) 0%, var(--bb-primary-dark) 100%);--bb-gradient-secondary:linear-gradient(135deg, var(--bb-secondary) 0%, var(--bb-secondary-dark) 100%);--bb-gradient-accent:linear-gradient(135deg, var(--bb-accent) 0%, var(--bb-accent-dark) 100%);--bb-gradient-success:linear-gradient(135deg, var(--bb-success) 0%, var(--bb-secondary) 100%);--bb-gradient-coral:linear-gradient(135deg, var(--bb-coral) 0%, var(--bb-coral-dark) 100%);--bb-star-active:#ffd166;--bb-star-inactive:#d8d0e4;--bb-radius-sm:12px;--bb-radius-md:18px;--bb-radius-lg:25px;--bb-radius-xl:30px;--bb-radius-round:50px;--bb-font-scale:1;--bb-line-height:1.4;--bb-letter-spacing:0em}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bb-gradient-main);-webkit-tap-highlight-color:transparent;min-height:100dvh;color:var(--bb-text);font-family:Nunito,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:calc(16px * var(--bb-font-scale));line-height:var(--bb-line-height);letter-spacing:var(--bb-letter-spacing);cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.4 7.2H22l-6 4.8 2.4 7.2L12 16.8 5.6 21.2 8 14 2 9.2h7.6z' fill='%237C6FF7' stroke='%23fff' stroke-width='1'/%3E%3C/svg%3E") 12 12,auto;overflow-x:hidden}body button,body a,body [role=button]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.4 7.2H22l-6 4.8 2.4 7.2L12 16.8 5.6 21.2 8 14 2 9.2h7.6z' fill='%23FFD166' stroke='%23F0B429' stroke-width='1'/%3E%3C/svg%3E") 14 14,pointer}body.dyslexic-font{font-family:OpenDyslexic,Nunito,sans-serif}body.dyslexic-font *{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#7c6ff714;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--bb-primary-light), var(--bb-primary));background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bb-primary);border:none}*{scrollbar-width:thin;scrollbar-color:var(--bb-primary-light) #7c6ff714}#root{width:100%;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-family:Fredoka,Nunito,sans-serif}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;outline:none;font-family:inherit;transition:all .3s;position:relative;overflow:hidden}button .ripple-effect{pointer-events:none;background:#fff6;border-radius:50%;animation:.5s ease-out forwards ripple-anim;position:absolute;transform:scale(0)}@keyframes ripple-anim{to{opacity:0;transform:scale(3)}}a,input,select,textarea,[role=button]{-webkit-tap-highlight-color:transparent}.chapter-select,.story-scene,.level-select,.memory-matrix-game,.rapid-response,.sequence-master,.speed-sorter,.sound-sequence,.focus-track,.nback-challenge,.quick-match,.phoneme-pairs,.mirror-maze-game,.game-results,.session-summary,.profile-dashboard,.auth-screen,.settings-screen,.parent-dashboard,.profile-picker{min-height:100dvh;padding-bottom:max(14px, env(safe-area-inset-bottom))}button:disabled{cursor:not-allowed;opacity:.6}.chapter-theme-1{--bb-gradient-main:linear-gradient(135deg, #7c6ff7 0%, #8b7ae6 100%);--bb-primary:#7c6ff7;--bb-primary-dark:#6255d4;--bb-primary-glow:#7c6ff759;--bb-shadow-md:0 4px 16px #7c6ff72e;--bb-shadow-lg:0 8px 32px #7c6ff740}.chapter-theme-2{--bb-gradient-main:linear-gradient(135deg, #9a6f06 0%, #ab7e0c 100%);--bb-primary:#ab7e0c;--bb-primary-dark:#9a6f06;--bb-primary-glow:#ab7e0c59;--bb-shadow-md:0 4px 16px #ab7e0c2e;--bb-shadow-lg:0 8px 32px #ab7e0c40;--bb-surface:#fff8ee}.chapter-theme-3{--bb-gradient-main:linear-gradient(135deg, #6255d4 0%, #7c6ff7 100%);--bb-primary:#6255d4;--bb-primary-dark:#4e43b8;--bb-primary-glow:#6255d459;--bb-shadow-md:0 4px 16px #6255d433;--bb-shadow-lg:0 8px 32px #6255d447;--bb-surface:#f0eeff}.chapter-theme-4{--bb-gradient-main:linear-gradient(135deg, #278b84 0%, #2e9c95 100%);--bb-primary:#2e9c95;--bb-primary-dark:#278b84;--bb-primary-glow:#2e9c9559;--bb-shadow-md:0 4px 16px #2e9c952e;--bb-shadow-lg:0 8px 32px #2e9c9540;--bb-surface:#eefaf9}.chapter-theme-5{--bb-gradient-main:linear-gradient(135deg, #b55c3f 0%, #c76a4a 100%);--bb-primary:#c76a4a;--bb-primary-dark:#b55c3f;--bb-primary-glow:#c76a4a59;--bb-shadow-md:0 4px 16px #c76a4a2e;--bb-shadow-lg:0 8px 32px #c76a4a40;--bb-surface:#fff3ee}.chapter-theme-6{--bb-gradient-main:linear-gradient(135deg, #2d9963 0%, #2b9662 100%);--bb-primary:#2b9662;--bb-primary-dark:#238b55;--bb-primary-glow:#2b966259;--bb-shadow-md:0 4px 16px #2b96622e;--bb-shadow-lg:0 8px 32px #2b966240;--bb-surface:#eefbf3}.chapter-theme-7{--bb-gradient-main:linear-gradient(135deg, #8070d9 0%, #9384e8 100%);--bb-primary:#8070d9;--bb-primary-dark:#6d5dc6;--bb-primary-glow:#8070d959;--bb-shadow-md:0 4px 16px #8070d92e;--bb-shadow-lg:0 8px 32px #8070d940;--bb-surface:#f3f0ff}.chapter-theme-8{--bb-gradient-main:linear-gradient(135deg, #9a6f06 0%, #ab7e0c 100%);--bb-primary:#ab7e0c;--bb-primary-dark:#9a6f06;--bb-primary-glow:#ab7e0c59;--bb-shadow-md:0 4px 16px #ab7e0c2e;--bb-shadow-lg:0 8px 32px #ab7e0c40;--bb-surface:#fff8ee}.chapter-theme-9{--bb-gradient-main:linear-gradient(135deg, #2e9c95 0%, #309189 100%);--bb-primary:#309189;--bb-primary-dark:#278b84;--bb-primary-glow:#30918959;--bb-shadow-md:0 4px 16px #3091892e;--bb-shadow-lg:0 8px 32px #30918940;--bb-surface:#eefaf9}.chapter-theme-10{--bb-gradient-main:linear-gradient(135deg, #b55c3f 0%, #c76a4a 100%);--bb-primary:#c76a4a;--bb-primary-dark:#b55c3f;--bb-primary-glow:#c76a4a59;--bb-shadow-md:0 4px 16px #c76a4a2e;--bb-shadow-lg:0 8px 32px #c76a4a40;--bb-surface:#fff3ee}.chapter-theme-1{--ambient-orb-1:#7c6ff7;--ambient-orb-2:#a594ff;--ambient-orb-3:#ffd166}.chapter-theme-2{--ambient-orb-1:#f0b429;--ambient-orb-2:#ffd166;--ambient-orb-3:#ab7e0c}.chapter-theme-3{--ambient-orb-1:#6255d4;--ambient-orb-2:#9b8fff;--ambient-orb-3:#b9afff}.chapter-theme-4{--ambient-orb-1:#2e9c95;--ambient-orb-2:#4ecdc4;--ambient-orb-3:#a0e7e2}.chapter-theme-5{--ambient-orb-1:#c76a4a;--ambient-orb-2:#e8956d;--ambient-orb-3:#ffb89a}.chapter-theme-6{--ambient-orb-1:#2b9662;--ambient-orb-2:#42bd7f;--ambient-orb-3:#8eedb4}.chapter-theme-7{--ambient-orb-1:#8070d9;--ambient-orb-2:#b5a8f0;--ambient-orb-3:#ddd6ff}.chapter-theme-8{--ambient-orb-1:#ab7e0c;--ambient-orb-2:#d4a017;--ambient-orb-3:#ffe082}.chapter-theme-9{--ambient-orb-1:#309189;--ambient-orb-2:#5bc4bb;--ambient-orb-3:#a0e7e2}.chapter-theme-10{--ambient-orb-1:#b55c3f;--ambient-orb-2:#d48468;--ambient-orb-3:#ff8a80}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes popIn{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-1px)}}@keyframes starReveal{0%{opacity:0;transform:scale(0)rotate(-180deg)}60%{opacity:1;transform:scale(1.3)rotate(15deg)}80%{transform:scale(.9)rotate(-5deg)}to{transform:scale(1)rotate(0)}}::selection{background:var(--bb-primary);color:var(--bb-text-light)}.chapter-title-main,.game-title,.result-title{color:#fff;text-shadow:0 2px 0 var(--bb-coral-dark), 0 4px 12px #0000004d}:focus-visible{outline:3px solid var(--bb-primary-light);outline-offset:2px}.stat-value,.level-number,.stars-pill{font-variant-numeric:tabular-nums}.memory-card,.rapid-target,.sequence-cell,.sorter-item,.cards-grid,.play-area,.nback-grid,.phoneme-btn,.mirror-option{-webkit-user-select:none;user-select:none}button:active:not(:disabled){transform:scale(.96)}.game-header{background:var(--bb-bg-card);border-radius:var(--bb-radius-md);box-shadow:var(--bb-shadow-md);border:1px solid var(--bb-border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:15px 25px;display:flex}.back-btn{color:#fff;background:var(--bb-gradient-primary);box-shadow:0 4px 0 var(--bb-primary-dark);cursor:pointer;white-space:nowrap;border:none;border-radius:50px;align-items:center;gap:6px;padding:8px 16px 8px 12px;font-size:.88rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.back-btn:before{content:"";border-bottom:2.5px solid #fff;border-left:2.5px solid #fff;flex-shrink:0;width:7px;height:7px;display:inline-block;transform:rotate(45deg)translate(1px)}.back-btn:hover{box-shadow:0 3px 0 var(--bb-primary-dark);transform:translateY(1px)}.back-btn:active{box-shadow:0 0px 0 var(--bb-primary-dark);transform:translateY(3px)}.ready-screen{justify-content:center;padding:4px 16px 16px;display:flex}.level-card{background:var(--bb-bg-card-solid);border-radius:var(--bb-radius-xl);text-align:center;width:100%;max-width:380px;box-shadow:var(--bb-shadow-lg);padding:24px;animation:.5s ease-out slideUp}.level-desc{color:var(--bb-primary-text);margin-bottom:12px;font-size:1.2rem;font-weight:800}.level-stats{background:var(--bb-primary-soft);border-radius:12px;justify-content:center;align-items:center;gap:20px;margin-bottom:16px;padding:10px 16px;display:flex}.level-stats .stat{flex-direction:column;align-items:center;gap:2px;display:flex}.level-stats .stat-icon{font-size:1rem}.level-stats .stat-value{color:var(--bb-primary-text);font-size:1.3rem;font-weight:700;line-height:1.2}.level-stats .stat-label{color:var(--bb-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.65rem;font-weight:600}.stat-divider{background:var(--bb-primary,#7c6ff7);opacity:.3;width:1px;height:36px}.game-hint{color:var(--bb-text-muted);margin:0 0 12px;font-size:.8rem;font-style:italic}.start-btn{color:var(--bb-text-light);border-radius:var(--bb-radius-xl);background:var(--bb-gradient-primary);border:none;width:100%;padding:14px 0;font-size:1.1rem;font-weight:700;transition:all .3s;box-shadow:0 8px 24px #7c6ff766}.start-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #7c6ff780}.start-btn:active{transform:translateY(0);box-shadow:0 4px 16px #7c6ff766}.progress-bar{background:#fff3;border-radius:10px;width:100%;max-width:500px;height:10px;overflow:hidden}.progress-fill{background:var(--bb-gradient-accent);border-radius:10px;height:100%;transition:width .3s}@media (width<=768px){.game-header{padding:12px 18px}.back-btn{padding:10px 18px;font-size:.9rem}.level-card{padding:18px 16px 22px}.start-btn{padding:13px 0;font-size:1.05rem}}@media (width<=480px){.game-header{border-radius:14px;gap:8px;margin-bottom:12px;padding:8px 12px}.back-btn{border-radius:20px;padding:8px 14px;font-size:.82rem}.level-card{padding:16px 14px 18px}.level-desc{margin-bottom:10px;font-size:1.05rem}.level-stats{gap:14px;margin-bottom:10px;padding:8px 14px}.level-stats .stat-value{font-size:1.2rem}.start-btn{padding:12px 0;font-size:1rem}.ready-screen{padding:2px 10px 10px}}@media (width<=380px){body{font-size:calc(14px * var(--bb-font-scale))}.game-header{gap:6px;margin-bottom:10px;padding:6px 10px}.back-btn{padding:7px 12px;font-size:.78rem}.level-card{padding:12px 10px 14px}.start-btn{font-size:.95rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body.colorblind-mode .memory-card.matched:after{content:"✓";color:#000;font-size:.9rem;font-weight:900;position:absolute;top:4px;right:6px}body.colorblind-mode .level-card.completed:after{content:"✓";color:#000;font-size:1rem;font-weight:900;position:absolute;top:6px;right:8px}.level-card.next-level{border-color:var(--bb-accent);animation:.4s ease-out both fadeIn,2s ease-in-out .5s infinite nextGlow!important}@keyframes nextGlow{0%,to{border-color:var(--bb-accent);box-shadow:0 0 8px var(--bb-accent-light)}50%{border-color:var(--bb-accent-dark);box-shadow:0 0 20px var(--bb-accent)}}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.shake{animation:.3s wrongShake}.stat-pop{animation:.3s cubic-bezier(.34,1.56,.64,1) statPop}@keyframes statPop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.app{width:100%;min-height:100dvh}.game-loading-fallback{color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:200px;font-size:1.1rem;font-weight:700;display:flex}.game-loading-lottie{width:120px;height:120px}.session-progress-banner{z-index:1100;border:2px solid var(--bb-primary);box-shadow:var(--bb-shadow-md);background:#fffffff2;border-radius:12px;gap:10px;padding:8px 12px;font-weight:700;display:flex;position:fixed;top:12px;right:12px}.parent-back-btn{z-index:1000;background:var(--bb-bg-card);color:var(--bb-primary-text);border:2px solid var(--bb-primary);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--bb-shadow-sm);border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:700;transition:all .2s;position:fixed;top:12px;left:12px}.parent-back-btn:hover{background:var(--bb-primary);color:var(--bb-text-light);box-shadow:var(--bb-shadow-md);transform:translateY(-1px)}.game-playing-wrapper{width:100%;min-height:100vh;position:relative}.game-bg-image{object-fit:cover;object-position:center;z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.game-playing-wrapper:has(.game-bg-image)>:not(.game-bg-image):not(.game-pause-btn):not(.game-skip-dev-btn):not(.spark-companion):not(.game-pause-overlay){z-index:1;position:relative}.game-playing-wrapper:has(.game-bg-image)>:not(.game-bg-image):not(.spark-companion):first-of-type{background:#00000073!important}.game-pause-btn{z-index:900;border:2px solid var(--bb-primary);background:var(--bb-bg-card);color:var(--bb-primary-text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .2s;position:fixed;top:120px;right:20px}.game-pause-btn:hover{background:var(--bb-primary);color:var(--bb-text-light)}.game-skip-dev-btn{z-index:900;border:1px solid var(--bb-text-muted);color:#fff;cursor:pointer;opacity:1;text-shadow:0 1px 2px #0000004d;background:#0009;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:700;position:fixed;bottom:12px;right:12px}.game-skip-dev-btn:hover{background:#000c}.game-pause-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.game-pause-card{background:var(--bb-bg-card-solid);text-align:center;max-width:320px;box-shadow:var(--bb-shadow-xl);border:2px solid var(--bb-border-light);border-radius:20px;padding:28px}.game-pause-card h2{color:var(--bb-text);margin:0 0 12px;font-size:1.5rem}.game-pause-card p{color:var(--bb-text-secondary);margin:0 0 20px;font-size:.95rem}.game-pause-actions{justify-content:center;gap:12px;display:flex}.game-pause-resume{background:var(--bb-gradient-primary);color:var(--bb-text-light);cursor:pointer;box-shadow:0 4px 0 var(--bb-primary-dark);border:none;border-radius:14px;padding:10px 20px;font-weight:700;transition:transform .15s,box-shadow .15s}.game-pause-resume:hover{box-shadow:0 3px 0 var(--bb-primary-dark);transform:translateY(1px)}.game-pause-resume:active{box-shadow:0 0px 0 var(--bb-primary-dark);transform:translateY(3px)}.game-pause-exit{border:2px solid var(--bb-border);color:var(--bb-text);cursor:pointer;box-shadow:0 4px 0 var(--bb-border);background:0 0;border-radius:14px;padding:10px 20px;font-weight:700;transition:transform .15s,box-shadow .15s}.game-pause-exit:hover{box-shadow:0 3px 0 var(--bb-border);background:var(--bb-surface);transform:translateY(1px)}.game-pause-exit:active{box-shadow:0 0px 0 var(--bb-border);transform:translateY(3px)}.loading-screen{background:var(--bb-gradient-main);justify-content:center;align-items:center;min-height:100dvh;display:flex}.loading-content{text-align:center;color:var(--bb-text-light);animation:.5s fadeIn}.loading-spark-track{width:200px;height:80px;margin:0 auto 10px;position:relative;overflow:hidden}.loading-spark{font-size:4rem;animation:1.8s ease-in-out infinite sparkRun;position:absolute}.loading-sparkle-trail{filter:blur(2px);background:linear-gradient(90deg,#0000 0%,#ffd16699 30%,#fffc 60%,#0000 100%);border-radius:4px;width:100%;height:4px;animation:1.8s ease-in-out infinite sparkTrail;position:absolute;top:50%;transform:translateY(-50%)}@keyframes sparkRun{0%{left:-60px;transform:translateY(0)}25%{transform:translateY(-12px)}50%{left:50%;transform:translate(-50%)translateY(0)}75%{transform:translateY(-8px)}to{left:calc(100% + 60px);transform:translateY(0)}}@keyframes sparkTrail{0%{opacity:0;width:0;left:0}30%{opacity:1;width:40%}70%{opacity:.5;width:60%}to{opacity:0;width:0;left:100%}}.loading-content h1{text-shadow:2px 2px 4px #0003;margin:10px 0 16px;font-size:2.5rem}.loading-progress-bar{background:#fff3;border-radius:8px;width:180px;height:8px;margin:0 auto 16px;overflow:hidden}.loading-progress-fill{background:var(--bb-gradient-accent);border-radius:8px;width:30%;height:100%;animation:2s ease-in-out infinite loadingFill}@keyframes loadingFill{0%{width:10%}50%{width:80%}to{width:10%}}.loading-tip{opacity:.85;font-size:1rem;font-style:italic;animation:.5s fadeIn}.home-screen{text-align:center;animation:.5s ease-in fadeIn}.title{color:var(--bb-text-light);text-shadow:4px 4px #00000026;margin-bottom:10px;font-size:3.5rem}.subtitle{color:var(--bb-text-light);text-shadow:2px 2px #00000026;margin-bottom:50px;font-size:1.5rem}.game-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;max-width:1200px;margin:0 auto 40px;padding:0 20px;display:grid}.game-card{background:var(--bb-bg-card-solid);border-radius:var(--bb-radius-lg);cursor:pointer;box-shadow:var(--bb-shadow-lg);flex-direction:column;justify-content:space-between;min-height:220px;padding:30px 25px;transition:all .3s;display:flex;position:relative;overflow:hidden}.game-card:hover{box-shadow:var(--bb-shadow-xl);transform:translateY(-10px)rotate(2deg)}.game-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.game-card:hover:before{left:100%}.memory-card{background:linear-gradient(135deg, var(--bb-primary) 0%, var(--bb-primary-dark) 100%);color:var(--bb-text-light)}.rapid-card{background:linear-gradient(135deg, var(--bb-secondary-light) 0%, var(--bb-secondary) 100%);color:var(--bb-text)}.sequence-card{background:linear-gradient(135deg, var(--bb-accent-light) 0%, var(--bb-accent) 100%);color:var(--bb-text)}.sorter-card{background:linear-gradient(135deg, var(--bb-coral-light) 0%, var(--bb-coral) 100%);color:var(--bb-text)}.sound-card{background:linear-gradient(135deg, var(--bb-success-light) 0%, var(--bb-success) 100%);color:var(--bb-text)}.focus-card{background:linear-gradient(135deg, var(--bb-primary-dark) 0%, var(--bb-secondary-dark) 100%);color:var(--bb-text-light)}.nback-card{background:linear-gradient(135deg, var(--bb-primary-light) 0%, var(--bb-coral-light) 100%);color:var(--bb-text)}.match-card{background:linear-gradient(135deg, var(--bb-secondary) 0%, var(--bb-accent) 100%);color:var(--bb-text)}.phoneme-card{background:linear-gradient(135deg, var(--bb-primary) 0%, var(--bb-primary-dark) 100%);color:var(--bb-text-light)}.mirror-card{background:linear-gradient(135deg, var(--bb-secondary-dark) 0%, var(--bb-secondary) 100%);color:var(--bb-text)}.card-icon-graphic{width:80px;height:80px;margin:0 auto 15px;animation:2s infinite bounce;position:relative}.card-icon-graphic.animal{background:#fff;border-radius:50%;width:80px;height:80px;position:relative;box-shadow:0 8px 20px #0003}.card-icon-graphic.animal:before,.card-icon-graphic.animal:after{content:"";background:#fff;border-radius:50% 50% 10% 10%;width:30px;height:40px;position:absolute;top:-20px;box-shadow:0 5px 15px #00000026}.card-icon-graphic.animal:before{left:-5px;transform:rotate(-20deg)}.card-icon-graphic.animal:after{right:-5px;transform:rotate(20deg)}.card-icon-graphic.lightning{width:50px;height:80px;position:relative}.card-icon-graphic.lightning:before{content:"";filter:drop-shadow(0 5px 15px #0003);border-top:50px solid #fff;border-left:30px solid #0000;border-right:20px solid #0000;width:0;height:0;position:absolute}.card-icon-graphic.lightning:after{content:"";filter:drop-shadow(0 5px 15px #0003);border-top:45px solid #fff;border-left:35px solid #0000;border-right:15px solid #0000;width:0;height:0;position:absolute;top:45px;left:-10px}.card-icon-graphic.stars{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#fff;width:70px;height:70px;animation:2s ease-in-out infinite starPulse;position:relative;box-shadow:0 8px 20px #fff6}.card-icon-graphic.stars:before{content:"";clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#fffc;width:35px;height:35px;animation:2s ease-in-out .5s infinite starPulse;position:absolute;top:-15px;right:-10px}@keyframes starPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.card-icon-graphic.conveyor{background:#fff;border-radius:12px;width:90px;height:25px;position:relative;box-shadow:0 5px 15px #00000026}.card-icon-graphic.conveyor:before{content:"";background:#fff;border-radius:50%;width:35px;height:35px;position:absolute;top:-40px;left:10px;box-shadow:0 5px 10px #00000026}.card-icon-graphic.conveyor:after{content:"";clip-path:polygon(30% 0%,70% 0%,100% 50%,70% 100%,30% 100%,0% 50%);background:#fff;width:30px;height:30px;position:absolute;top:-38px;right:10px;box-shadow:0 5px 10px #00000026}.card-icon-graphic.music{background:#fff;border-radius:4px;width:18px;height:55px;position:relative;box-shadow:0 5px 15px #00000026}.card-icon-graphic.music:before{content:"";background:#fff;border-radius:50%;width:30px;height:30px;position:absolute;bottom:-8px;left:-8px;box-shadow:0 5px 10px #00000026}.card-icon-graphic.music:after{content:"";background:#fff;border-radius:5px;width:35px;height:5px;position:absolute;top:0;left:0;box-shadow:0 3px 8px #00000026}.card-icon-graphic.target{background:0 0;border:10px solid #fff;border-radius:50%;width:75px;height:75px;position:relative;box-shadow:0 8px 20px #0003}.card-icon-graphic.target:before{content:"";background:0 0;border:10px solid #fff;border-radius:50%;width:45px;height:45px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-icon-graphic.target:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #ffffffb3}.card-icon-graphic.brain{background:#fff;border-radius:50% 50% 15% 15%;width:70px;height:65px;position:relative;box-shadow:0 8px 20px #0003}.card-icon-graphic.brain:before{content:"";background:#fff;border-radius:50%;width:35px;height:45px;position:absolute;top:8px;left:-12px;box-shadow:-3px 3px 8px #00000026}.card-icon-graphic.brain:after{content:"";background:#fff;border-radius:50%;width:35px;height:45px;position:absolute;top:8px;right:-12px;box-shadow:3px 3px 8px #00000026}.card-icon-graphic.puzzle{background:#fff;border-radius:10px;width:65px;height:65px;position:relative;box-shadow:0 8px 20px #0003}.card-icon-graphic.puzzle:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:-9px;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #00000026}.card-icon-graphic.puzzle:after{content:"";background:#0000001a;border-radius:50%;width:18px;height:18px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.card-icon-graphic.sound{background:#fff;border-radius:5px 20px 20px 5px;width:35px;height:35px;position:relative;box-shadow:0 5px 15px #00000026}.card-icon-graphic.sound:before{content:"";border:none;border-right:6px solid #fff;border-radius:50%;width:50px;height:50px;position:absolute;top:-7px;right:-30px}.card-icon-graphic.sound:after{content:"";opacity:.7;border:none;border-right:5px solid #fff;border-radius:50%;width:35px;height:35px;position:absolute;top:0;right:-20px}.card-icon-graphic.mirror{width:70px;height:60px;position:relative}.card-icon-graphic.mirror:before{content:"";clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);background:#fff;width:30px;height:50px;position:absolute;left:0;box-shadow:-3px 3px 10px #00000026}.card-icon-graphic.mirror:after{content:"";clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);background:#ffffffb3;width:30px;height:50px;position:absolute;right:0;transform:scaleX(-1);box-shadow:3px 3px 10px #00000026}.game-card h2{margin-bottom:8px;font-size:1.5rem;line-height:1.2}.game-card p{opacity:.9;margin-bottom:15px;font-size:1rem}.play-btn{border-radius:var(--bb-radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff4d;border:2px solid #ffffff80;padding:15px 30px;font-size:1.1rem;font-weight:700;display:inline-block}.footer{color:var(--bb-text-light);margin-top:40px;font-size:1.3rem}@media (width<=1024px){.game-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (width<=768px){.session-progress-banner{gap:8px;padding:6px 8px;font-size:.75rem;top:8px;right:8px}.parent-back-btn{padding:4px 8px;font-size:.7rem;top:10px;left:10px}.title{font-size:2.2rem}.subtitle{font-size:1.1rem}.game-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.game-card{min-height:180px;padding:20px 15px}.card-icon{margin-bottom:10px;font-size:3rem}.game-card h2{font-size:1.1rem}.game-card p{margin-bottom:10px;font-size:.85rem}.play-btn{padding:10px 20px;font-size:.85rem}.loading-spark-track{width:160px;height:60px}.loading-spark{font-size:3rem}.loading-content h1{margin:8px 0 12px;font-size:1.8rem}.loading-tip{font-size:.88rem}}.chapter-select{background:#1a1035 url(/bg-world.png) 50%/cover no-repeat;flex-direction:column;width:100%;height:100dvh;min-height:100dvh;padding:0;font-family:Nunito,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;position:relative;overflow:hidden}.chapter-select:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0a061e33 0%,#0000 100%);height:25%;position:absolute;top:0;left:0;right:0}.chapter-select:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 0%,#7c6ff70f 100%);height:15%;position:absolute;bottom:0;left:0;right:0}.chapter-header{padding:12px 14px 0;padding-top:max(12px, env(safe-area-inset-top));z-index:100;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:flex-start;gap:12px;display:grid;position:absolute;top:0;left:0;right:0}.chapter-header-inner{pointer-events:auto;flex-direction:column;grid-column:2;justify-self:center;align-items:center;gap:8px;display:flex}.hero-title-group{align-items:center;gap:12px;display:flex}.hero-spark-img{object-fit:cover;background:#ffffff26;border:3px solid #fff9;border-radius:50%;flex-shrink:0;width:56px;height:56px;box-shadow:0 4px 16px #00000040,0 0 24px #ffd1664d}.hero-text{flex-direction:column;align-items:flex-start;display:flex}.hero-tagline{color:#ffffffd9;text-shadow:0 1px 3px #0006;letter-spacing:.2px;margin:0;font-size:.8rem;font-weight:600}.chapter-title-main{color:#fff;text-shadow:0 0 8px #0009,0 2px 4px #00000080,0 4px 12px #0006;letter-spacing:-.5px;-webkit-text-stroke:.5px #00000026;margin:0;font-size:1.9rem;font-weight:900;line-height:1.2}.player-stats-bar{border:2.5px solid var(--bb-accent);pointer-events:auto;background:linear-gradient(135deg,#ffffffeb 0%,#fffaf0f2 100%);border-radius:999px;flex-wrap:wrap;flex-shrink:0;grid-column:3;justify-self:end;align-items:center;gap:10px;min-height:44px;padding:6px 8px 6px 14px;display:flex;box-shadow:0 4px 16px #00000026,inset 0 1px #fff}.stat-item{align-items:center;gap:5px;display:flex}.stat-icon{align-items:center;font-size:1.2rem;display:flex}.stat-value-hint{color:var(--bb-text-secondary);font-size:.8rem;font-style:italic;font-weight:700}.stat-level-title{color:var(--bb-primary-text,#5b4db8);letter-spacing:.2px;font-size:.95rem;font-weight:800}.profile-btn{cursor:pointer;background:linear-gradient(135deg,#ffd166 0%,#ffb347 100%);border:2.5px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:all .2s;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000026}.profile-btn-spark{object-fit:contain;pointer-events:none;width:28px;height:28px}.profile-btn:hover{transform:scale(1.1);box-shadow:0 3px 12px #ffb34766}.profile-btn:active{transform:scale(.95)}.auth-btn{background:var(--bb-gradient-secondary);color:var(--bb-text);box-shadow:0 2px 0 var(--bb-secondary-dark);cursor:pointer;border:none;border-radius:999px;padding:10px 14px;font-size:.8rem;font-weight:800;transition:all .15s}.auth-btn:hover{box-shadow:0 2px 0px var(--bb-secondary-dark);transform:translateY(1px)}.auth-btn:active{box-shadow:0 0px 0px var(--bb-secondary-dark);transform:translateY(3px)}.session-start-btn{background:linear-gradient(135deg, var(--bb-primary-dark) 0%, var(--bb-secondary-dark) 100%);color:var(--bb-text-light);cursor:pointer;box-shadow:0 4px 0 var(--bb-primary-dark);border:none;border-radius:999px;margin-top:4px;padding:8px 14px;font-weight:800;transition:transform .15s,box-shadow .15s}.session-start-btn:hover{box-shadow:0 3px 0 var(--bb-primary-dark);transform:translateY(1px)}.session-start-btn:active{box-shadow:0 0 0 var(--bb-primary-dark);transform:translateY(3px)}.settings-header-btn{cursor:pointer;background:#fff9;border:2px solid #00000014;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:.9rem;line-height:1;transition:all .2s;display:flex}.settings-header-btn:hover{background:#ffffffe6;transform:rotate(45deg)}.city-center-hub{z-index:25;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub-badge{border:2px solid var(--bb-primary);box-sizing:border-box;background:#ffffffe6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:88px;height:88px;padding:6px;display:flex;overflow:hidden;box-shadow:0 6px 18px #0000001f}.hub-icon{flex-shrink:0;font-size:2rem;line-height:1}.hub-badge img{object-fit:contain;max-width:100%;max-height:100%;display:block}.hub-label{color:var(--bb-primary-text);text-transform:uppercase;letter-spacing:.5px;text-align:center;word-break:break-word;max-width:100%;font-size:.85rem;font-weight:800;line-height:1.15;overflow:hidden}.chapter-ring-path{z-index:15;pointer-events:none;width:min(92vw,980px);height:min(82vh,760px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chapter-ring-path path{filter:drop-shadow(0 0 4px #ffd1664d);transition:stroke .4s}.ring-spark-icon{filter:drop-shadow(0 2px 6px #0000004d);animation:2s ease-in-out infinite ringSparkBob}@keyframes ringSparkBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.chapters-city-map{z-index:20;pointer-events:none;width:min(92vw,980px);height:min(82vh,760px);transition:z-index .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chapters-city-map:hover{z-index:150}.chapter-landmark{cursor:pointer;pointer-events:all;z-index:1;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:absolute}.chapter-landmark:hover{z-index:1000}.chapter-landmark.locked{cursor:not-allowed}.spot-1{top:16%;left:50%;transform:translate(-50%,-50%)}.spot-2{top:22%;left:69%;transform:translate(-50%,-50%)}.spot-3{top:38%;left:80%;transform:translate(-50%,-50%)}.spot-4{top:58%;left:80%;transform:translate(-50%,-50%)}.spot-5{top:73%;left:69%;transform:translate(-50%,-50%)}.spot-6{top:79%;left:50%;transform:translate(-50%,-50%)}.spot-7{top:73%;left:31%;transform:translate(-50%,-50%)}.spot-8{top:58%;left:20%;transform:translate(-50%,-50%)}.spot-9{top:38%;left:20%;transform:translate(-50%,-50%)}.spot-10{top:22%;left:31%;transform:translate(-50%,-50%)}.landmark-container{flex-direction:column;align-items:center;gap:8px;transition:transform .25s;animation:.5s cubic-bezier(.34,1.56,.64,1) backwards landmark-enter;display:flex;position:relative}.chapter-landmark:hover .landmark-container{transform:scale(1.05)}.chapter-landmark:first-child .landmark-container{animation-delay:50ms}.chapter-landmark:nth-child(2) .landmark-container{animation-delay:80ms}.chapter-landmark:nth-child(3) .landmark-container{animation-delay:.11s}.chapter-landmark:nth-child(4) .landmark-container{animation-delay:.14s}.chapter-landmark:nth-child(5) .landmark-container{animation-delay:.17s}.chapter-landmark:nth-child(6) .landmark-container{animation-delay:.2s}.chapter-landmark:nth-child(7) .landmark-container{animation-delay:.23s}.chapter-landmark:nth-child(8) .landmark-container{animation-delay:.26s}.chapter-landmark:nth-child(9) .landmark-container{animation-delay:.29s}.chapter-landmark:nth-child(10) .landmark-container{animation-delay:.32s}@keyframes landmark-enter{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.landmark-container{perspective:600px}.chapter-card{width:120px;transform-style:preserve-3d;background:#fffffff2;border:3px solid #fffc;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px 12px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;box-shadow:0 4px 20px #0000001f,0 0 0 1px #0000000a,inset 0 1px #fff}.chapter-landmark.unlocked .chapter-card{border-color:var(--accent);animation:4s ease-in-out infinite card-float}.chapter-landmark:hover .chapter-card{box-shadow:0 12px 32px #0000002e, 0 0 0 1px #0000000a, 0 0 20px color-mix(in srgb, var(--accent) 30%, transparent);animation:none}@keyframes card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.chapter-landmark.completed .chapter-card{border-color:var(--bb-accent);animation:2.5s ease-in-out infinite card-glow;box-shadow:0 4px 20px #0000001f,0 0 20px #ffd16659}.chapter-landmark.completed .landmark-container:after{content:"✦";color:var(--bb-accent);text-shadow:0 0 8px #ffd166cc;z-index:3;font-size:1rem;animation:1.5s ease-in-out infinite sparkle;position:absolute;top:-6px;right:-4px}@keyframes card-glow{0%,to{box-shadow:0 4px 20px #0000001f,0 0 20px #ffd16659}50%{box-shadow:0 4px 20px #0000001f,0 0 30px #ffd16680}}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.play-next-badge{color:var(--bb-text);white-space:nowrap;z-index:5;letter-spacing:.3px;background:linear-gradient(135deg,#42bd7f 0%,#34d399 100%);border:2px solid #fffc;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:800;animation:2s ease-in-out infinite badge-bounce;position:absolute;top:-14px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #42bd7f80}@keyframes badge-bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-4px)}}.chapter-landmark.play-next .chapter-card{border-color:#42bd7f;animation:2s ease-in-out infinite play-next-pulse}@keyframes play-next-pulse{0%,to{box-shadow:0 4px 20px #0000001f,0 0 #42bd7f66}50%{box-shadow:0 4px 20px #0000001f,0 0 20px 4px #42bd7f4d}}.chapter-progress{flex-direction:column;align-items:center;gap:3px;width:100%;display:flex}.chapter-progress-bar{background:#00000014;border-radius:3px;width:100%;height:6px;overflow:hidden}.chapter-progress-fill{background:linear-gradient(90deg, var(--accent,var(--bb-primary)) 0%, color-mix(in srgb, var(--accent,var(--bb-primary)) 70%, #fff) 100%);border-radius:3px;min-width:0;height:100%;transition:width .8s}.chapter-progress-fill.complete{background:linear-gradient(90deg,#42bd7f,#66d9a0)}.chapter-progress-label{color:var(--bb-text-secondary);font-size:.7rem;font-weight:700}.locked-card-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:inherit;z-index:2;background:#fff9;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.locked-lock-big{filter:drop-shadow(0 2px 4px #00000026);font-size:1.8rem}.locked-need-text{color:var(--bb-text-secondary);background:#ffffffb3;border-radius:8px;padding:2px 8px;font-size:.75rem;font-weight:800}.chapter-landmark.locked .chapter-card{border-style:dashed;border-color:#b4afc880}.chapter-card-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .3s;display:flex;overflow:hidden}.chapter-card-img{object-fit:contain;pointer-events:none;width:100%;height:100%}.chapter-card-emoji{font-size:2rem}.chapter-landmark:hover .chapter-card-icon{transform:scale(1.1)}.chapter-card-title{color:var(--bb-text);text-align:center;margin:0;font-size:.85rem;font-weight:800;line-height:1.2}.stars-pill{background:linear-gradient(135deg, var(--bb-accent) 0%, var(--bb-accent-dark) 100%);color:var(--bb-text);border:2px solid #fff9;border-radius:10px;padding:3px 8px;font-size:.8rem;font-weight:800;display:inline-block;box-shadow:0 2px #0000001a}.unlock-tag{color:var(--bb-text-secondary);font-size:.95rem;font-weight:700}.chapter-num-badge{color:#fff;z-index:4;border:2px solid #ffffffb3;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:900;display:flex;position:absolute;top:-8px;left:-8px;box-shadow:0 2px 8px #0003}.chapter-complete-badge{color:#fff;z-index:5;background:#4caf50;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 6px #4caf5066}.chapter-theme-label{color:var(--accent,var(--bb-text-muted));opacity:.7;text-align:center;margin-top:-2px;font-size:.6rem;font-weight:700;line-height:1}.chapter-landmark.completed .chapter-card{background:linear-gradient(135deg,#fff9dcfa,#fffffff2)}.chapter-landmark.locked .landmark-container{filter:grayscale(.4)brightness(.85);opacity:.65}.chapter-landmark.locked .chapter-num-badge{filter:grayscale(.6)}.chapter-preview{z-index:1000;background:linear-gradient(#fff 0%,#f8f9fa 100%);border:2px solid #7c6ff733;border-radius:18px;width:200px;padding:14px;animation:.25s cubic-bezier(.175,.885,.32,1.275) popIn;position:absolute;bottom:115%;left:50%;transform:translate(-50%);box-shadow:0 12px 45px #00000040,0 0 0 2px #fffc}.chapter-preview:after{content:"";border-top:10px solid #fff;border-left:10px solid #0000;border-right:10px solid #0000;position:absolute;top:100%;left:50%;transform:translate(-50%)}.chapter-preview p{color:var(--bb-text-secondary);margin-bottom:8px;font-size:.95rem;line-height:1.35}.play-chapter-btn{background:var(--bb-gradient-secondary);width:100%;color:var(--bb-text);cursor:pointer;box-shadow:0 4px 0 var(--bb-secondary-dark), 0 6px 15px #00000026;border:none;border-radius:14px;padding:10px 12px;font-size:1rem;font-weight:800;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.play-chapter-btn:hover{box-shadow:0 2px 0 var(--bb-secondary-dark), 0 4px 12px #0003;transform:translateY(2px)}.character-decoration{z-index:100;align-items:center;gap:8px;display:flex;position:fixed;bottom:15px}.character-decoration.left{left:15px}.character-decoration.right{flex-direction:row-reverse;right:15px}.deco-avatar{border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;font-size:2rem;display:flex;box-shadow:0 5px 15px #0003}.speech-bubble{background:#fff;border-radius:16px;max-width:120px;padding:8px 14px;font-size:.8rem;font-weight:700;position:relative;box-shadow:0 4px 12px #0000001f}.speech-bubble:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;position:absolute;top:50%;transform:translateY(-50%)}.left .speech-bubble:after{border-right:6px solid #fff;left:-6px}.right .speech-bubble:after{border-left:6px solid #fff;right:-6px}.creator-credit{z-index:120;color:var(--bb-text-secondary);letter-spacing:.2px;background:#ffffffe0;border:1px solid #3a31531f;border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:700;position:fixed;bottom:8px;left:50%;transform:translate(-50%)}.map-decorations{z-index:10;pointer-events:none;position:absolute;inset:0;overflow:hidden}.parallax-layer{will-change:transform;transition:transform 50ms linear;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.parallax-layer{transform:none!important}}.deco-cloud{filter:blur(6px);background:radial-gradient(#ffffff59 0%,#ffffff14 60%,#0000 100%);border-radius:50%;width:180px;height:60px;animation:25s linear infinite cloudDrift;position:absolute}.cloud-1{opacity:.7;width:220px;height:70px;animation-duration:45s;top:6%;left:-12%}.cloud-2{opacity:.5;width:160px;height:50px;animation-duration:55s;animation-delay:-18s;top:14%;left:-12%}.cloud-3{opacity:.4;width:140px;height:45px;animation-duration:50s;animation-delay:-30s;top:3%;left:-12%}.cloud-4{opacity:.35;width:200px;height:65px;animation-duration:60s;animation-delay:-8s;top:20%;left:-12%}@keyframes cloudDrift{0%{transform:translate(0)}to{transform:translate(calc(100vw + 250px))}}.deco-sparkle{background:radial-gradient(circle,#ffd166e6 0%,#ffd16600 70%);border-radius:50%;width:4px;height:4px;animation:6s ease-in-out infinite sparkleFloat;position:absolute}.sparkle-1{animation-duration:5s;animation-delay:0s;top:12%;left:15%}.sparkle-2{animation-duration:7s;animation-delay:1.5s;top:8%;left:45%}.sparkle-3{animation-duration:6s;animation-delay:3s;top:18%;right:20%}.sparkle-4{animation-duration:8s;animation-delay:.8s;top:25%;left:70%}.sparkle-5{animation-duration:5.5s;animation-delay:4s;top:5%;left:80%}@keyframes sparkleFloat{0%,to{opacity:0;transform:translateY(0)scale(.5)}30%{opacity:1;transform:translateY(-8px)scale(1.2)}70%{opacity:.8;transform:translateY(-15px)scale(1)}}.deco-bird{background:0 0;width:12px;height:4px;animation:12s linear infinite birdFly;position:absolute}.deco-bird:before,.deco-bird:after{content:"";background:#1e143299;border-radius:50% 50% 0 0;width:10px;height:3px;animation:.4s ease-in-out infinite alternate birdWingFlap;position:absolute;top:0}.deco-bird:before{transform-origin:100% 100%;left:0}.deco-bird:after{transform-origin:0 100%;animation-delay:50ms;right:0}.bird-1{animation-duration:18s;top:10%;left:-5%}.bird-1:before,.bird-1:after{width:11px}.bird-2{animation-duration:22s;animation-delay:-6s;top:7%;left:-5%}.bird-3{animation-duration:16s;animation-delay:-10s;top:14%;left:-5%}.bird-3:before,.bird-3:after{width:8px;height:2px}.bird-4{animation-duration:25s;animation-delay:-15s;top:5%;left:-5%}.bird-4:before,.bird-4:after{background:#1e143266;width:9px;height:2px}.bird-5{animation-duration:20s;animation-delay:-3s;top:18%;left:-5%}.bird-5:before,.bird-5:after{background:#1e143259;width:7px;height:2px}@keyframes birdFly{0%{transform:translate(0)translateY(0)}20%{transform:translate(20vw)translateY(-12px)}40%{transform:translate(40vw)translateY(5px)}60%{transform:translate(60vw)translateY(-8px)}80%{transform:translate(80vw)translateY(3px)}to{transform:translate(110vw)translateY(-5px)}}@keyframes birdWingFlap{0%{transform:rotate(-30deg)}to{transform:rotate(30deg)}}.deco-firefly{background:#ffdc50e6;border-radius:50%;width:4px;height:4px;animation:8s ease-in-out infinite fireflyDrift,3s ease-in-out infinite fireflyGlow;position:absolute;box-shadow:0 0 6px 2px #ffdc5080,0 0 12px 4px #ffdc5033}.firefly-1{animation-duration:7s;animation-delay:0s;top:35%;left:8%}.firefly-2{animation-duration:9s;animation-delay:-2s;top:40%;left:12%}.firefly-3{width:3px;height:3px;animation-duration:6s;animation-delay:-4s;top:32%;left:5%}.firefly-4{animation-duration:10s;animation-delay:-1s;top:45%;left:15%}.firefly-5{width:3px;height:3px;animation-duration:8s;animation-delay:-5s;top:38%;left:3%}.firefly-6{width:3px;height:3px;animation-duration:11s;animation-delay:-3s;top:50%;left:45%}.firefly-7{animation-duration:9s;animation-delay:-7s;top:42%;right:25%}.firefly-8{width:3px;height:3px;animation-duration:7s;animation-delay:-6s;top:55%;right:10%}@keyframes fireflyDrift{0%{transform:translate(0)}20%{transform:translate(12px,-18px)}40%{transform:translate(-8px,-10px)}60%{transform:translate(15px,5px)}80%{transform:translate(-5px,-15px)}to{transform:translate(0)}}@keyframes fireflyGlow{0%,to{opacity:.3;box-shadow:0 0 4px 1px #ffdc504d}50%{opacity:1;box-shadow:0 0 8px 3px #ffdc5099,0 0 16px 6px #ffdc5033}}.deco-shootingstar{opacity:0;filter:blur(.3px);background:linear-gradient(270deg,#fffffff2 0%,#c8d2ff99 15%,#a594ff33 50%,#0000 100%);border-radius:1px;width:80px;height:1px;animation:12s ease-in infinite shootingStar;position:absolute;transform:rotate(-30deg)}.deco-shootingstar:before{content:"";background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;right:-1px;transform:translateY(-50%);box-shadow:0 0 4px 1px #ffffffe6,0 0 10px 3px #c8d2ff66}.shootingstar-1{width:90px;animation-duration:14s;animation-delay:3s;top:5%;left:15%;transform:rotate(-25deg)}.shootingstar-2{width:65px;animation-duration:18s;animation-delay:9s;top:8%;left:50%;transform:rotate(-35deg)}.shootingstar-3{width:75px;animation-duration:22s;animation-delay:16s;top:3%;left:72%;transform:rotate(-28deg)}@keyframes shootingStar{0%{opacity:0;transform:rotate(var(--angle,-30deg)) translateX(0)}1%{opacity:.9}4%{opacity:1;transform:rotate(var(--angle,-30deg)) translateX(180px)}5.5%{opacity:0;transform:rotate(var(--angle,-30deg)) translateX(240px)}to{opacity:0;transform:rotate(var(--angle,-30deg)) translateX(240px)}}.deco-butterfly{background:radial-gradient(circle,#a594ffcc 0%,#0000 70%);border-radius:50%;width:8px;height:8px;font-size:0;animation:18s ease-in-out infinite butterflyPath;position:absolute}.deco-butterfly:before,.deco-butterfly:after{content:"";background:#a594ff99;border-radius:50%;width:6px;height:4px;animation:.3s ease-in-out infinite alternate wingFlap;position:absolute;top:0}.deco-butterfly:before{transform-origin:100%;left:-5px}.deco-butterfly:after{transform-origin:0;right:-5px}.butterfly-1{animation-delay:0s;top:15%;left:10%}.butterfly-2{animation-duration:22s;animation-delay:-8s;top:22%;right:15%}@keyframes butterflyPath{0%{transform:translate(0)}25%{transform:translate(60px,-30px)}50%{transform:translate(120px,10px)}75%{transform:translate(80px,-20px)}to{transform:translate(0)}}@keyframes wingFlap{0%{transform:scaleX(1)}to{transform:scaleX(-1)}}.welcome-bubble{z-index:200;cursor:pointer;background:#fffffff2;border:2px solid #7c6ff74d;border-radius:20px;align-items:center;gap:10px;padding:10px 18px;animation:.5s cubic-bezier(.34,1.56,.64,1) welcomeIn,.5s 3.5s forwards welcomeOut;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000026}.welcome-spark{font-size:1.5rem}.welcome-text{color:var(--bb-text);font-size:.95rem;font-weight:700}@keyframes welcomeIn{0%{opacity:0;transform:translate(-50%)translateY(20px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes welcomeOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-10px)}}.spark-mascot{z-index:150;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s;position:fixed;bottom:20px;left:20px}.spark-mascot:hover{transform:scale(1.1)}.spark-mascot:active{transform:scale(.95)}.spark-mascot-emoji{font-size:2.5rem;animation:3s ease-in-out infinite sparkIdle;display:block}.spark-mascot.sleeping .spark-mascot-emoji{opacity:.7;animation:2s ease-in-out infinite sparkSleep}.spark-mascot.flip .spark-mascot-emoji{animation:.8s cubic-bezier(.34,1.56,.64,1) sparkBackflip!important}.spark-zzz{font-size:1.2rem;animation:2s ease-in-out infinite zzzFloat;position:absolute;top:-12px;right:-8px}@keyframes sparkIdle{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(.5deg)}50%{transform:translateY(-5px)rotate(0)}75%{transform:translateY(-3px)rotate(-.5deg)}}@keyframes sparkSleep{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(2px)rotate(-8deg)}}@keyframes sparkBackflip{0%{transform:translateY(0)rotate(0)scale(1)}30%{transform:translateY(-30px)rotate(180deg)scale(1.2)}60%{transform:translateY(-20px)rotate(360deg)scale(1.1)}to{transform:translateY(0)rotate(360deg)scale(1)}}@keyframes zzzFloat{0%,to{opacity:.5;transform:translateY(0)scale(.8)}50%{opacity:1;transform:translateY(-8px)scale(1.1)}}@media (width<=1200px){.hub-badge{width:82px;height:82px}.hub-icon{font-size:1.8rem}.chapter-card{width:110px;padding:12px 8px 10px}.chapter-card-icon{width:52px;height:52px}.chapter-card-title{font-size:.8rem}}@media (width<=900px){.hub-badge{width:76px;height:76px;padding:5px}.hub-icon{font-size:1.6rem}.hub-label{font-size:.8rem}.chapter-card{border-radius:14px;width:100px;padding:10px 8px 8px}.chapter-card-icon{border-radius:10px;width:44px;height:44px}.chapter-card-title{font-size:.75rem}.chapter-progress-label{font-size:.65rem}.chapter-progress-bar{height:5px}.locked-lock-big{font-size:1.5rem}.locked-need-text{font-size:.7rem}.play-next-badge{padding:2px 8px;font-size:.7rem;top:-12px}.player-stats-bar{gap:8px;padding:5px 6px 5px 10px}.stat-value{font-size:.9rem}.stat-value-hint{font-size:.75rem}.stat-level-title{font-size:.85rem}.stat-icon{font-size:1.1rem}.profile-btn{width:44px;height:44px}.profile-btn-spark{width:24px;height:24px}.settings-header-btn{width:44px;height:44px}}@media (width<=768px){.chapter-ring-path{display:none}.chapter-select{height:auto;min-height:100dvh;overflow:hidden auto}.chapters-city-map{flex-direction:column;align-items:center;gap:0;width:100%;height:auto;min-height:auto;padding:100px 0 80px;display:flex;position:relative;top:auto;left:auto;transform:none}.city-center-hub{display:none}.chapter-header{grid-template-rows:auto auto;grid-template-columns:1fr;justify-items:center;gap:8px;padding:10px 10px 0}.chapter-header-inner{grid-area:1/1}.player-stats-bar{grid-area:2/1;justify-self:center}.chapter-title-main{font-size:1.25rem}.hero-spark-img{width:44px;height:44px}.hero-tagline{font-size:.72rem}.player-stats-bar{flex-wrap:nowrap;gap:6px;min-height:38px;padding:4px 5px 4px 10px}.stat-value{font-size:.85rem}.stat-value-hint{font-size:.7rem}.stat-level-title{font-size:.8rem}.stat-icon{font-size:1rem}.profile-btn{width:44px;height:44px}.profile-btn-spark{width:22px;height:22px}.settings-header-btn{width:44px;height:44px}.auth-btn,.session-start-btn{padding:9px 10px;font-size:.85rem}.hub-badge{gap:2px;width:72px;height:72px;padding:6px}.hub-icon{font-size:1.5rem}.hub-label{letter-spacing:0;font-size:.75rem}.chapter-card{border-width:2px;border-radius:14px;gap:5px;width:100px;padding:10px 8px 9px}.chapter-card-icon{border-radius:10px;width:42px;height:42px}.chapter-card-title{font-size:.75rem}.chapter-progress-label{font-size:.62rem}.chapter-progress-bar{height:4px}.locked-lock-big{font-size:1.3rem}.locked-need-text{padding:1px 6px;font-size:.65rem}.play-next-badge{padding:2px 7px;font-size:.65rem;top:-10px}.character-decoration{display:none}.chapter-landmark{margin-bottom:8px;position:relative!important;inset:auto!important;transform:none!important}.chapter-landmark:nth-child(odd){align-self:flex-start;margin-left:12%}.chapter-landmark:nth-child(2n){align-self:flex-end;margin-right:12%}.chapters-city-map:before{content:"";z-index:-1;background:linear-gradient(#ffd16699 0%,#7c6ff766 50%,#a594ff4d 100%);border-radius:2px;width:3px;position:absolute;top:110px;bottom:90px;left:50%;transform:translate(-50%)}.chapter-landmark:before{content:"";z-index:2;background:#ffd166b3;border:2px solid #fff9;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translateY(-50%)}.chapter-landmark:nth-child(odd):before{right:-28px}.chapter-landmark:nth-child(2n):before{left:-28px}.chapter-landmark.locked:before{background:#b4afc866;border-color:#b4afc84d}.chapter-preview{display:none}}@media (width<=500px){.chapters-city-map{height:min(76dvh,580px)}.chapter-header{gap:6px;padding:8px 8px 0}.chapter-header-inner{gap:3px}.chapter-title-main{margin:0;font-size:1.1rem;line-height:1.2}.hero-spark-img{border-width:2px;width:36px;height:36px}.hero-title-group{gap:8px}.hero-tagline{font-size:.65rem}.player-stats-bar{border-width:2px;flex-wrap:wrap;justify-content:center;gap:5px;min-height:34px;padding:3px 4px 3px 8px}.stat-item{gap:3px}.stat-value{font-size:.75rem}.stat-value-hint{font-size:.65rem}.stat-level-title{font-size:.7rem}.stat-icon{font-size:.9rem}.settings-header-btn,.profile-btn{width:40px;height:40px}.profile-btn-spark{width:20px;height:20px}.auth-btn{padding:8px;font-size:.8rem}.session-start-btn{padding:8px 9px;font-size:.8rem}.hub-badge{border-width:2px;gap:1px;width:56px;height:56px;padding:4px}.hub-icon{font-size:1.15rem}.hub-label{letter-spacing:0;font-size:.7rem}.chapter-progress-label{font-size:.55rem}.chapter-progress-bar{height:3px}.locked-lock-big{font-size:1.1rem}.locked-need-text{padding:1px 5px;font-size:.6rem}.play-next-badge{padding:2px 6px;font-size:.6rem;top:-9px}.chapter-landmark:nth-child(odd){margin-left:6%}.chapter-landmark:nth-child(2n){margin-right:6%}.chapter-card{border-radius:10px;gap:3px;width:82px;padding:7px 5px 6px}.chapter-card-icon{border-radius:7px;width:32px;height:32px}.chapter-card-title{font-size:.62rem}.creator-credit{padding:4px 10px;font-size:.8rem;bottom:6px}}.spark-stage-1{filter:saturate(.7)brightness(.85);box-shadow:0 0 8px #b4afc84d;border-color:#b4afc8!important}.spark-stage-1.spark-glow{animation:3s ease-in-out infinite sparkFlicker}@keyframes sparkFlicker{0%,to{box-shadow:0 0 8px #b4afc833}30%{box-shadow:0 0 12px #b4afc866}60%{box-shadow:0 0 6px #b4afc826}80%{box-shadow:0 0 14px #b4afc859}}.spark-stage-2{filter:saturate()brightness();box-shadow:0 0 12px #7c6ff759;border-color:#7c6ff7!important}.spark-stage-2.spark-glow{animation:2.5s ease-in-out infinite sparkPulseHeal}@keyframes sparkPulseHeal{0%,to{box-shadow:0 0 12px #7c6ff74d}50%{box-shadow:0 0 20px #7c6ff780}}.spark-stage-3{filter:saturate(1.15)brightness(1.05);box-shadow:0 0 16px #f0b42966;border-color:#f0b429!important}.spark-stage-3.spark-glow{animation:2s ease-in-out infinite sparkPulseStrong}@keyframes sparkPulseStrong{0%,to{box-shadow:0 0 16px #f0b42959}50%{box-shadow:0 0 28px #f0b4298c}}.spark-stage-4{filter:saturate(1.2)brightness(1.1);box-shadow:0 0 24px #ffd16680,0 0 48px #ffd16633;border-color:#ffd166!important}.spark-stage-4.spark-glow{animation:2s ease-in-out infinite sparkRadiateHero}@keyframes sparkRadiateHero{0%,to{box-shadow:0 0 24px #ffd16673,0 0 48px #ffd16626}50%{box-shadow:0 0 36px #ffd166a6,0 0 64px #ffd16640}}.spark-evolution-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.spark-evolution-badge.stage-1{color:#8a849c;background:#b4afc826;border:1px solid #b4afc84d}.spark-evolution-badge.stage-2{color:#6255d4;background:#7c6ff71a;border:1px solid #7c6ff740}.spark-evolution-badge.stage-3{color:#9a6f06;background:#f0b4291f;border:1px solid #f0b4294d}.spark-evolution-badge.stage-4{color:#8b6b00;background:linear-gradient(135deg,#ffd16626,#f0b42933);border:1px solid #ffd16666;box-shadow:0 0 8px #ffd16633}.spark-evo-progress{flex-direction:column;gap:4px;width:100%;display:flex}.spark-evo-bar{background:#0000001a;border-radius:3px;height:6px;overflow:hidden}.spark-evo-fill{border-radius:3px;height:100%;transition:width .8s}.spark-evo-fill.stage-1{background:#b4afc8}.spark-evo-fill.stage-2{background:#7c6ff7}.spark-evo-fill.stage-3{background:#f0b429}.spark-evo-fill.stage-4{background:linear-gradient(90deg,#ffd166,#f0b429)}.spark-evo-label{color:var(--bb-text-muted);justify-content:space-between;font-size:.65rem;font-weight:600;display:flex}@media (prefers-reduced-motion:reduce){.spark-stage-1.spark-glow,.spark-stage-2.spark-glow,.spark-stage-3.spark-glow,.spark-stage-4.spark-glow{animation:none}}.story-scene{scrollbar-gutter:stable;background:#000;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex;position:relative;overflow:hidden scroll}.story-background{z-index:0;background:#1a1630;position:absolute;inset:0;overflow:hidden}.story-background.has-bg-image{background:0 0}.story-bg-img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.story-background.has-bg-image:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#00000040 0%,#00000059 50%,#00000080 100%);position:absolute;inset:0}.story-background:not(.has-bg-image):before{content:"";pointer-events:none;background:radial-gradient(at 30% 20%,#ffffff1f 0%,#0000 60%),radial-gradient(at 80% 80%,#0000002e 0%,#0000 50%);position:absolute;inset:0}.floating-stars{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sparkle{width:var(--sp-size,16px);height:var(--sp-size,16px);pointer-events:none;animation:sparkleFlash var(--sp-dur,4s) ease-in-out infinite;animation-delay:var(--sp-delay,0s);position:absolute}.sparkle:before,.sparkle:after{content:"";background:radial-gradient(#fff 0%,#fff9 25%,#fff0 100%);border-radius:50%;position:absolute}.sparkle:before{width:var(--sp-thin,3px);height:100%;top:0;left:50%;transform:translate(-50%)}.sparkle:after{width:100%;height:var(--sp-thin,3px);top:50%;left:0;transform:translateY(-50%)}@keyframes sparkleFlash{0%{opacity:0;transform:translate(-50%,-50%)scale(0)rotate(0)}10%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(15deg)}25%{opacity:.85;transform:translate(-50%,-50%)scale(.9)rotate(20deg)}35%,to{opacity:0;transform:translate(-50%,-50%)scale(0)rotate(45deg)}}.nebula-blob{filter:blur(80px);pointer-events:none;border-radius:50%;animation:ease-in-out infinite nebulaPulse;position:absolute;transform:translate(-50%,-50%)}.nb-1{background:radial-gradient(circle,#8a2be224,#0000 70%);width:500px;height:350px;animation-duration:13s;top:18%;left:12%}.nb-2{background:radial-gradient(circle,#40c4ff1c,#0000 70%);width:400px;height:400px;animation-duration:16s;animation-delay:4s;top:12%;left:75%}.nb-3{background:radial-gradient(circle,#ffd16617,#0000 70%);width:350px;height:450px;animation-duration:19s;animation-delay:7s;top:72%;left:45%}.nb-4{background:radial-gradient(circle,#64dca014,#0000 70%);width:480px;height:300px;animation-duration:15s;animation-delay:2s;top:65%;left:85%}@keyframes nebulaPulse{0%,to{opacity:.5;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}}.star-tiny{width:2px;height:2px;animation:2.5s ease-in-out infinite twinkleTiny;animation-delay:var(--st-delay,0s);background:#ffffffd9;border-radius:50%;position:absolute}@keyframes twinkleTiny{0%,to{opacity:.15}50%{opacity:1}}.star-large{width:5px;height:5px;animation:3.5s ease-in-out infinite twinkleLarge,18s ease-in-out infinite driftStar;animation-delay:var(--sl-delay,0s);background:#fffffff2;border-radius:50%;position:absolute;box-shadow:0 0 8px 2px #fff6}@keyframes twinkleLarge{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes driftStar{0%,to{translate:0}25%{translate:6px -5px}50%{translate:-4px 8px}75%{translate:5px 3px}}.shooting-star{opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 30%,#fffffff2 100%);border-radius:50%;width:200px;height:2px;animation:linear infinite shootAcross;position:absolute}.ss-1{animation-duration:11s;animation-delay:2s;top:12%;left:-5%}.ss-2{animation-duration:14s;animation-delay:8s;top:28%;left:-5%}.ss-3{animation-duration:9s;animation-delay:5s;top:6%;left:45%}@keyframes shootAcross{0%{opacity:0;transform:rotate(28deg)translate(0)}4%{opacity:1}18%,to{opacity:0;transform:rotate(28deg)translate(700px)}}.chapter-title{z-index:1;margin-bottom:30px;animation:.5s ease-out fadeInDown;position:relative}.chapter-title h1{color:var(--bb-primary);text-align:center;font-size:3rem}.story-content{z-index:1;flex-direction:column;align-items:center;gap:30px;width:100%;max-width:700px;display:flex;position:relative}.character-area{flex-direction:column;align-items:center;gap:10px;animation:.6s ease-out bounceIn;display:flex}.character-avatar{border:4px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;animation:3s ease-in-out infinite float;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000004d,0 0 60px #ffffff1a}.character-img{object-fit:cover;pointer-events:none;border-radius:50%;width:120%;height:120%}.character-emoji{font-size:5rem}.character-name{color:#fff;text-shadow:0 1px 4px #000c,0 0 8px #0009;font-size:1.8rem;font-weight:700}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.dialogue-box{background:var(--bb-bg-card);border-radius:var(--bb-radius-lg);width:100%;box-shadow:var(--bb-shadow-xl);border:1px solid var(--bb-border-light);padding:40px;animation:.5s ease-out slideUp}.narration-box{box-shadow:none;text-align:center;background:#00000059;border:none;border-top:2px solid #ffffff26;padding:36px 48px}.narration-box .dialogue-text{color:#ffffffeb;text-shadow:0 1px 8px #0006;font-style:italic;font-weight:400}.dialogue-text{color:var(--bb-text);min-height:120px;margin-bottom:20px;font-size:1.8rem;font-weight:500;line-height:1.6}.typing-cursor{color:var(--bb-primary-text);animation:.7s infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.dialogue-actions{justify-content:space-between;gap:15px;display:flex}.skip-btn{border-radius:var(--bb-radius-lg);background:var(--bb-surface);color:var(--bb-text-secondary);padding:12px 25px;font-size:1rem;transition:all .3s}.skip-btn:hover{background:var(--bb-border)}.next-btn{border-radius:var(--bb-radius-lg);background:var(--bb-gradient-primary);color:var(--bb-text-light);box-shadow:0 5px 20px var(--bb-primary-glow);padding:15px 35px;font-size:1.1rem;font-weight:700;transition:all .3s}.next-btn:hover{box-shadow:0 8px 30px var(--bb-primary-glow);transform:scale(1.05)}.scene-progress{z-index:1;gap:10px;margin-top:30px;display:flex;position:relative}.progress-dot{background:#00000026;border-radius:50%;width:12px;height:12px;transition:all .3s}.progress-dot.active{background:var(--bb-accent);transform:scale(1.3);box-shadow:0 0 15px #ffd16699}.progress-dot.completed{background:var(--bb-secondary)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.mystery-avatar{animation:2.5s ease-in-out infinite mysteryPulse;box-shadow:0 0 30px #7850ff4d,0 0 60px #7850ff26,inset 0 0 40px #0009;background:radial-gradient(circle,#2a1f4e 0%,#0d0b1a 80%)!important;border-color:#7850ff66!important}.mystery-avatar .character-img{filter:brightness(.6)saturate(.5);opacity:.8}.mystery-name{letter-spacing:4px;animation:3s ease-in-out infinite glitchText;color:#b4a0ffcc!important}@keyframes mysteryPulse{0%,to{transform:translateY(0);box-shadow:0 0 30px #7850ff4d,0 0 60px #7850ff26}50%{transform:translateY(-8px);box-shadow:0 0 50px #7850ff80,0 0 80px #7850ff40}}@keyframes glitchText{0%,95%,to{opacity:1;transform:translate(0)}96%{opacity:.6;transform:translate(-2px)}97%{opacity:.8;transform:translate(3px)}98%{opacity:.5;transform:translate(-1px)}}@media (width<=600px){.story-scene{justify-content:flex-start;padding:20px 14px;overflow-y:auto}.chapter-title{margin-bottom:18px}.chapter-title h1{font-size:1.5rem}.story-content{gap:18px}.character-avatar{width:85px;height:85px}.character-img{width:120%;height:120%}.character-emoji{font-size:2.6rem}.character-name{font-size:1.3rem}.dialogue-box{border-radius:18px;padding:18px}.dialogue-text{min-height:80px;margin-bottom:14px;font-size:1.15rem;line-height:1.5}.dialogue-actions{gap:10px}.skip-btn{padding:10px 18px;font-size:.88rem}.next-btn{padding:12px 24px;font-size:.95rem}.scene-progress{gap:7px;margin-top:18px}.progress-dot{width:9px;height:9px}}.level-select{background:var(--bb-gradient-main);min-height:100vh;padding:20px;position:relative}.level-select-bg{object-fit:cover;object-position:center;z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.level-select:has(.level-select-bg):before{content:"";z-index:0;pointer-events:none;background:#00000073;position:fixed;inset:0}.level-select>:not(.level-select-bg):not(.ambient-bg){z-index:1;position:relative}.level-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px;display:flex}.level-header .back-btn{flex-shrink:0}.game-info{text-align:center;flex:1}.game-title{color:var(--bb-text-light);text-shadow:2px 2px 4px #0003;margin-bottom:5px;font-size:2.2rem}.chapter-context{color:#fffc;font-size:1rem}.game-stats{color:var(--bb-accent);background:#fff3;border-radius:15px;padding:10px 20px;font-size:1.2rem;font-weight:700}.levels-container{max-width:700px;margin:0 auto}.levels-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.level-card{background:var(--bb-bg-card-solid);border-radius:var(--bb-radius-md);text-align:center;cursor:pointer;border:2px solid var(--bb-border-light);flex-direction:column;justify-content:center;align-items:center;gap:10px;height:180px;padding:20px;transition:all .3s;display:flex;position:relative;overflow:hidden}.level-card.unlocked:before{content:"";background:var(--bb-gradient-main);border-radius:var(--bb-radius-md) var(--bb-radius-md) 0 0;height:4px;position:absolute;top:0;left:0;right:0}.level-card.unlocked{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--bb-shadow-md);background:#ffffffd9}.level-card.unlocked:hover{box-shadow:var(--bb-shadow-xl);transform:translateY(-8px)scale(1.02)}.level-card.locked{cursor:not-allowed;background:#ffffff4d}.level-card.completed{background:linear-gradient(135deg, var(--bb-success-light) 0%, #66d9a040 100%);border:3px solid var(--bb-success)}.level-number{background:var(--bb-gradient-primary);width:60px;height:60px;color:var(--bb-text-light);box-shadow:0 5px 15px var(--bb-primary-glow);border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;font-weight:700;display:flex}.level-card.locked .level-number{background:var(--bb-text-muted);box-shadow:none}.level-card.completed .level-number{background:var(--bb-gradient-success)}.level-stars{gap:5px;font-size:1.3rem;display:flex}.level-stars .star.empty{color:var(--bb-star-inactive);font-size:1.1rem}.level-desc{color:var(--bb-text-secondary);font-size:.95rem;line-height:1.3}.level-best{color:var(--bb-text-muted);background:var(--bb-surface);border-radius:10px;padding:4px 10px;font-size:.95rem}.lock-message{color:#ffffffb3;margin-top:10px;font-size:.95rem}.play-overlay{background:var(--bb-gradient-main);opacity:0;border-radius:var(--bb-radius-md);justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.level-card.unlocked:hover .play-overlay{opacity:1}.play-overlay span{color:var(--bb-text-light);font-size:1.5rem;font-weight:700}.level-footer{max-width:500px;margin:40px auto 0}.mastery-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #fff3;border-radius:18px;padding:18px 22px}.mastery-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mastery-label{color:var(--bb-text-light);text-transform:uppercase;letter-spacing:.5px;font-size:.95rem;font-weight:700}.mastery-stars{color:var(--bb-accent);font-size:1rem;font-weight:700}.mastery-bar{background:#0000004d;border:1px solid #ffffff1a;border-radius:10px;height:16px;margin-bottom:10px;overflow:hidden}.mastery-fill{background:linear-gradient(90deg,#f0b429,#ffd166);border-radius:10px;min-width:0;height:100%;transition:width .8s;position:relative}.mastery-fill.complete{background:linear-gradient(90deg,#42bd7f,#66d9a0);box-shadow:0 0 12px #42bd7f80}.mastery-fill:after{content:"";background:linear-gradient(#ffffff4d 0%,#0000 60%);border-radius:10px;position:absolute;inset:0}.mastery-text{color:var(--bb-text);text-align:center;margin:0;font-size:.9rem}.level-card.tier-easy:before{background:var(--bb-gradient-success)}.level-card.tier-easy .level-number{background:var(--bb-gradient-success);box-shadow:0 5px 15px #42bd7f59}.level-card.tier-medium:before{background:var(--bb-gradient-accent)}.level-card.tier-medium .level-number{background:var(--bb-gradient-accent);box-shadow:0 5px 15px #f0b42959}.level-card.tier-hard:before{background:var(--bb-gradient-coral)}.level-card.tier-hard .level-number{background:var(--bb-gradient-coral);box-shadow:0 5px 15px #e06b6259}.level-card.unlocked:not(.completed){animation:3s ease-in-out infinite breatheGlow}@keyframes breatheGlow{0%,to{box-shadow:var(--bb-shadow-md)}50%{box-shadow:var(--bb-shadow-lg)}}.loading{min-height:100vh;color:var(--bb-text-light);background:var(--bb-gradient-main);justify-content:center;align-items:center;font-size:1.5rem;display:flex}@media (width>=601px) and (width<=1024px){.level-select{padding:20px 28px}.levels-container{max-width:800px}.levels-grid{grid-template-columns:repeat(5,1fr);gap:16px}.level-card{height:160px;padding:16px}.level-number{width:52px;height:52px;font-size:1.5rem}.level-footer{max-width:600px}}@media (width<=380px){.levels-grid{grid-template-columns:repeat(2,1fr);gap:10px}.level-card{height:120px;padding:10px}.level-number{width:38px;height:38px;font-size:1.1rem}.game-title{font-size:1.2rem}}@media (width<=600px){.level-select{padding:14px}.level-header{text-align:center;flex-direction:column;gap:10px;margin-bottom:18px}.level-header .back-btn{padding:9px 18px;font-size:.88rem}.game-title{font-size:1.5rem}.chapter-context{font-size:.85rem}.game-stats{padding:7px 14px;font-size:1rem}.levels-grid{grid-template-columns:repeat(3,1fr);gap:12px}.level-card{border-radius:16px;gap:7px;height:140px;padding:14px}.level-number{width:44px;height:44px;font-size:1.3rem}.level-stars{font-size:1.1rem}.level-desc{font-size:.78rem}.level-best{font-size:.72rem}.level-footer{margin-top:24px}.mastery-card{border-radius:14px;padding:14px 16px}.mastery-text{font-size:.85rem}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:40px 24px;animation:.5s ease-out emptyFadeIn;display:flex}@keyframes emptyFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.empty-state-spark{margin-bottom:16px;font-size:3.5rem;animation:3s ease-in-out infinite emptyBob}@keyframes emptyBob{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-6px)rotate(2deg)}75%{transform:translateY(-3px)rotate(-2deg)}}.empty-state-title{color:var(--bb-text);margin:0 0 8px;font-size:1.3rem;font-weight:800}.empty-state-message{color:var(--bb-text-secondary);max-width:320px;margin:0 0 20px;font-size:.95rem;line-height:1.5}.empty-state-btn{background:var(--bb-gradient-primary);color:var(--bb-text-light);cursor:pointer;border:none;border-radius:14px;padding:12px 28px;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 4px #00000026}.empty-state-btn:hover{transform:translateY(1px);box-shadow:0 2px #00000026}@media (width<=500px){.empty-state{padding:30px 16px}.empty-state-spark{font-size:2.8rem}.empty-state-title{font-size:1.1rem}.empty-state-message{font-size:.88rem}}.ambient-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.ambient-orb{filter:blur(80px);opacity:.18;border-radius:50%;animation:20s ease-in-out infinite orbFloat;position:absolute}.ambient-orb.orb-1{background:var(--ambient-orb-1,#7c6ff7);width:300px;height:300px;animation-duration:22s;top:-80px;right:-60px}.ambient-orb.orb-2{background:var(--ambient-orb-2,#4ecdc4);width:250px;height:250px;animation-duration:18s;animation-delay:-6s;bottom:-60px;left:-40px}.ambient-orb.orb-3{background:var(--ambient-orb-3,#ffd166);width:200px;height:200px;animation-duration:25s;animation-delay:-12s;top:40%;left:50%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-20px)scale(1.05)}50%{transform:translate(-20px,15px)scale(.95)}75%{transform:translate(15px,25px)scale(1.02)}}.ambient-sparkle{background:#ffffffb3;border-radius:50%;width:4px;height:4px;animation:3s ease-in-out infinite sparkTwinkle;position:absolute;box-shadow:0 0 6px 2px #ffffff4d}.ambient-sparkle.a-sparkle-1{animation-delay:0s;top:15%;left:20%}.ambient-sparkle.a-sparkle-2{width:3px;height:3px;animation-delay:-.8s;top:35%;right:15%}.ambient-sparkle.a-sparkle-3{animation-delay:-1.6s;bottom:25%;left:35%}.ambient-sparkle.a-sparkle-4{width:3px;height:3px;animation-delay:-2.2s;bottom:40%;right:30%}@keyframes sparkTwinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:.8;transform:scale(1.2)}}.ambient-warm{--ambient-orb-1:#f0b429;--ambient-orb-2:#e06b62;--ambient-orb-3:#ff8a80}.ambient-cool{--ambient-orb-1:#4ecdc4;--ambient-orb-2:#6255d4;--ambient-orb-3:#3ab5ad}@media (prefers-reduced-motion:reduce){.ambient-orb,.ambient-sparkle{animation:none}}.spark-drop-zone{background:linear-gradient(135deg,#4ecdc41a,#7c6ff71a);border:3px dashed #7c6ff74d;border-radius:20px;flex-direction:column;align-items:center;margin-bottom:16px;padding:20px;transition:all .3s;display:flex}.spark-drop-zone.spark-drop-active{border-color:var(--bb-secondary);background:linear-gradient(135deg,#4ecdc433,#7c6ff733);transform:scale(1.02);box-shadow:0 0 20px #7c6ff733}.spark-preview{width:120px;height:120px;position:relative}.spark-preview-img{object-fit:cover;object-position:center 20%;border:3px solid var(--bb-secondary);border-radius:50%;width:100%;height:100%;box-shadow:0 4px 16px #7c6ff74d}.spark-equipped-items{pointer-events:none;position:absolute;inset:-8px}.spark-equipped-badge{filter:drop-shadow(0 2px 4px #0003);font-size:1.4rem;animation:.4s cubic-bezier(.34,1.56,.64,1) equipBounce;position:absolute}.spark-equipped-hat{top:-12px;left:50%;transform:translate(-50%)}.spark-equipped-accessory{bottom:4px;right:-4px}.spark-equipped-trail{top:50%;left:-12px;transform:translateY(-50%)}.spark-equipped-color{bottom:-4px;left:50%;transform:translate(-50%)}.spark-drop-hint{color:var(--bb-text-muted);text-align:center;margin:10px 0 0;font-size:.82rem;font-weight:600}.spark-drop-active .spark-drop-hint{color:var(--bb-secondary);font-weight:700}.spark-drag-overlay{cursor:grabbing;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 8px 24px #0003}.spark-drag-emoji{font-size:1.8rem}@keyframes equipBounce{0%{transform:scale(0)translate(-50%)}60%{transform:scale(1.3)translate(-50%)}to{transform:scale(1)translate(-50%)}}@keyframes equipBounceSimple{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.spark-equipped-accessory,.spark-equipped-trail{animation-name:equipBounceSimple}.spark-category{margin-bottom:14px}.spark-category-title{color:var(--bb-text);border-bottom:2px solid #7c6ff726;margin:0 0 8px;padding-bottom:4px;font-size:.8rem;font-weight:800}.spark-items-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.spark-item-btn{cursor:pointer;text-align:center;background:#fff9;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 8px;transition:all .2s;display:flex;position:relative}.spark-item-btn.unlocked{background:#fffc;border-color:#7c6ff726}.spark-item-btn.unlocked:hover{border-color:var(--bb-secondary);transform:scale(1.05);box-shadow:0 4px 12px #7c6ff726}.spark-item-btn.unlocked:active{transform:scale(.97)}.spark-item-btn.equipped{border-color:var(--bb-secondary);background:linear-gradient(135deg,#7c6ff71f,#4ecdc41f);box-shadow:0 2px 8px #7c6ff733}.spark-item-btn.locked{cursor:default;opacity:.55;background:#00000008}.spark-item-emoji{justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:flex}.spark-item-name{color:var(--bb-text);font-size:.6rem;font-weight:700;line-height:1.2}.spark-item-btn.locked .spark-item-name{color:var(--bb-text-secondary)}.spark-item-req{color:var(--bb-text-secondary);font-size:.48rem;line-height:1.2}.spark-item-check{color:var(--bb-secondary);filter:drop-shadow(0 1px 2px #7c6ff74d);position:absolute;top:3px;right:3px}@media (width<=480px){.spark-items-grid{grid-template-columns:repeat(3,1fr);gap:6px}.spark-item-btn{padding:8px 4px 6px}}.spark-scarf-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.spark-scarf{pointer-events:none;z-index:0;position:absolute;inset:0}.spark-scarf-wrap>img,.spark-scarf-wrap>div:first-child{z-index:1;position:relative}.spark-scarf-ribbon{opacity:0;border-radius:50% 30%;transition:opacity .5s;position:absolute}.ribbon-1{transform-origin:0;width:60%;height:30%;bottom:10%;right:-20%}.ribbon-2{transform-origin:0;width:50%;height:25%;bottom:20%;right:-15%}.ribbon-3{transform-origin:0;width:45%;height:20%;bottom:30%;right:-10%}.scarf-stage-1 .spark-scarf-ribbon{opacity:.15;background:#b4afc84d}.scarf-stage-1 .ribbon-1{animation:4s ease-in-out infinite scarfFloat1}.scarf-stage-1 .ribbon-2{animation:5s ease-in-out .5s infinite scarfFloat2}.scarf-stage-2 .spark-scarf-ribbon{opacity:.3;background:linear-gradient(90deg,#7c6ff766,#7c6ff70d)}.scarf-stage-2 .ribbon-1{width:70%;animation:3.5s ease-in-out infinite scarfFloat1}.scarf-stage-2 .ribbon-2{width:55%;animation:4.5s ease-in-out .3s infinite scarfFloat2}.scarf-stage-3 .spark-scarf-ribbon{opacity:.45}.scarf-stage-3 .ribbon-1{background:linear-gradient(90deg,#f0b42980,#f0b4290d);width:80%;height:35%;animation:3s ease-in-out infinite scarfFloat1}.scarf-stage-3 .ribbon-2{background:linear-gradient(90deg,#7c6ff759,#f0b4291a);width:65%;animation:4s ease-in-out .2s infinite scarfFloat2}.scarf-stage-3 .ribbon-3{opacity:.35;background:linear-gradient(90deg,#f0b4294d,#0000);width:50%;animation:5s ease-in-out .6s infinite scarfFloat3}.scarf-stage-4 .spark-scarf-ribbon{opacity:.55}.scarf-stage-4 .ribbon-1{filter:blur(1px);background:linear-gradient(90deg,#ffd16699,#ffd1660d);width:95%;height:40%;animation:2.5s ease-in-out infinite scarfFloat1}.scarf-stage-4 .ribbon-2{background:linear-gradient(90deg,#f0b42980,#ffd1661a);width:75%;height:30%;animation:3.5s ease-in-out .2s infinite scarfFloat2}.scarf-stage-4 .ribbon-3{opacity:.5;background:linear-gradient(90deg,#ffd16666,#0000);width:60%;height:25%;animation:4s ease-in-out .4s infinite scarfFloat3}.spark-scarf-particles{pointer-events:none;z-index:0;position:absolute;inset:0}.scarf-particle{opacity:0;border-radius:50%;position:absolute}.scarf-stage-3 .scarf-particle,.scarf-stage-4 .scarf-particle{opacity:1}.scarf-stage-3 .scarf-particle{background:#f0b42999;width:3px;height:3px}.scarf-stage-4 .scarf-particle{background:#ffd166cc;width:4px;height:4px;box-shadow:0 0 4px #ffd16680}.scarf-particle.p1{animation:3s ease-in-out infinite particleDrift1;bottom:25%;right:-5%}.scarf-particle.p2{animation:4s ease-in-out .8s infinite particleDrift2;bottom:15%;right:5%}.scarf-particle.p3{animation:3.5s ease-in-out 1.5s infinite particleDrift1;bottom:35%;right:-10%}.scarf-particle.p4{animation:2.8s ease-in-out .4s infinite particleDrift2;bottom:45%;right:0%}@keyframes scarfFloat1{0%,to{transform:scaleX(.8)rotate(-5deg)translate(0)}50%{transform:scaleX(1.1)rotate(5deg)translate(10%)}}@keyframes scarfFloat2{0%,to{transform:scaleX(.7)rotate(3deg)translate(5%)}50%{transform:scaleX(1)rotate(-8deg)translate(-5%)}}@keyframes scarfFloat3{0%,to{transform:scaleX(.6)rotate(-3deg)translate(0)}30%{transform:scaleX(1.05)rotate(6deg)translate(8%)}70%{transform:scaleX(.85)rotate(-2deg)translate(3%)}}@keyframes particleDrift1{0%{opacity:0;transform:translate(0)scale(1)}20%{opacity:.8}to{opacity:0;transform:translate(20px,-15px)scale(0)}}@keyframes particleDrift2{0%{opacity:0;transform:translate(0)scale(1)}25%{opacity:.7}to{opacity:0;transform:translate(15px,-20px)scale(0)}}@media (prefers-reduced-motion:reduce){.spark-scarf-ribbon,.scarf-particle{animation:none!important}}.achievement-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1100;background:#1e163ce0;justify-content:center;align-items:center;padding:20px;animation:.3s achFadeIn;display:flex;position:fixed;inset:0}@keyframes achFadeIn{0%{opacity:0}to{opacity:1}}.achievement-modal{text-align:center;background:#fff;border-radius:28px;width:100%;max-width:460px;padding:28px 24px 20px;animation:.45s cubic-bezier(.34,1.56,.64,1) achBounceIn;position:relative;box-shadow:0 24px 80px #00000059,0 0 0 1px #ffffff14}@keyframes achBounceIn{0%{opacity:0;transform:scale(.82)translateY(24px)}to{opacity:1;transform:scale(1)translateY(0)}}.achievement-x-btn{color:#888;cursor:pointer;background:#f0eef5;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:14px;right:16px}.achievement-x-btn:hover{color:#3a3153;background:#e0dcf0}.achievement-modal-header{margin-bottom:18px}.achievement-modal-title{color:#2d2650;letter-spacing:-.3px;margin:0 0 4px;font-size:1.5rem;font-weight:900}.achievement-modal-subtitle{color:#9990bb;margin:0;font-size:.85rem;font-weight:600}.achievement-preview{border-radius:20px;margin-bottom:18px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 8px 32px #6255d440,0 2px 8px #0000001a}.achievement-preview:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 14px 44px #6255d452,0 4px 12px #0000001f}.achievement-canvas{display:none}.achievement-img{border-radius:20px;width:100%;height:auto;display:block}.achievement-actions{justify-content:center;margin-bottom:10px;display:flex}.achievement-save-btn{color:#fff;cursor:pointer;letter-spacing:.2px;background:linear-gradient(135deg,#7c6ff7 0%,#5848c8 100%);border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 20px;font-size:1.05rem;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 5px #3d30a0,0 8px 20px #6255d459}.achievement-save-btn:hover{transform:translateY(2px);box-shadow:0 3px #3d30a0,0 6px 16px #6255d44d}.achievement-save-btn:active{transform:translateY(5px);box-shadow:0 0 #3d30a0,0 2px 8px #6255d433}.achievement-save-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.achievement-btn-icon{font-size:1.1rem;line-height:1}.achievement-dismiss-hint{color:#c0bbd4;margin:0;font-size:.75rem;font-weight:500}@media (width<=500px){.achievement-modal{border-radius:22px;padding:22px 16px 18px}.achievement-modal-title{font-size:1.25rem}.achievement-save-btn{padding:13px 16px;font-size:.95rem}}.profile-dashboard{background-position:50%;background-size:cover;background-attachment:fixed;min-height:100vh;position:relative;overflow-x:hidden}.profile-dashboard:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#0000001a 0%,#00000005 30%,#00000026 100%);position:fixed;inset:0}.glass-card{-webkit-backdrop-filter:blur(12px);background:#ffffffd1;border:2px solid #fff9;border-radius:18px;box-shadow:0 4px 20px #00000014}.profile-dashboard>*{z-index:1;position:relative}.hq-topbar{align-items:center;gap:.6rem;max-width:640px;margin:0 auto;padding:.75rem 1.25rem;display:flex}.hq-title{color:#fff;text-shadow:0 2px 8px #00000059;text-align:center;flex:1;margin:0;font-size:1.3rem;font-weight:900}.profile-dashboard .back-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:900;transition:all .2s;display:flex;box-shadow:0 2px 10px #0000001f}.profile-dashboard .back-btn:before{display:none}.profile-dashboard .back-btn:hover{background:#fff;transform:scale(1.1)}.settings-gear-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:all .25s;display:flex;box-shadow:0 2px 10px #0000001f}.settings-gear-btn:hover{background:#fff;transform:rotate(45deg)scale(1.1)}.hq-hero{flex-direction:column;gap:.6rem;max-width:640px;margin:0 auto;padding:0 1.25rem;display:flex}.hq-zone{padding:.85rem 1rem}.hq-identity-zone{align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.hq-spark{cursor:pointer;flex-shrink:0}.hq-spark-img{object-fit:contain;filter:drop-shadow(0 4px 12px #0003);background:0 0;width:80px;height:80px}.hq-identity-text{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.hq-avatar-wrap{cursor:pointer;border:3px solid #fffc;border-radius:50%;flex-shrink:0;width:48px;height:48px;transition:transform .2s;overflow:hidden;box-shadow:0 2px 8px #0000001f}.hq-avatar-wrap:hover{transform:scale(1.1)}.hq-player-info{flex:1;min-width:0}.hq-player-name{color:var(--bb-text);font-size:1.2rem;font-weight:900;line-height:1.2}.hq-player-greeting{color:var(--bb-text-secondary);font-size:.8rem;font-style:italic;font-weight:600}.hq-evolution-zone{cursor:pointer;align-items:center;gap:.85rem;transition:transform .2s;display:flex}.hq-evolution-zone:hover{transform:translateY(-1px)}.hq-evo-progress{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.hq-evo-bar{background:#00000014;border-radius:3px;height:6px;overflow:hidden}.hq-evo-fill{background:linear-gradient(90deg,#7c6ff7,#a594ff);border-radius:3px;height:100%;transition:width .8s}.hq-evo-hint{color:var(--bb-text-muted);font-size:.68rem;font-weight:600}.hq-progress-zone{align-items:center;gap:.85rem;display:flex}.hq-level-pill{color:#5a4000;background:linear-gradient(135deg,#ffd166,#f0b030);border-radius:20px;flex-shrink:0;padding:5px 14px;font-size:.82rem;font-weight:900;box-shadow:0 2px 6px #f0b0304d}.hq-path-wrap{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.hq-path-track{align-items:center;gap:3px;padding:6px 0;display:flex;position:relative}.hq-path-stone{background:#00000014;border-radius:4px;flex:1;justify-content:center;align-items:center;height:8px;transition:all .4s;display:flex;position:relative}.hq-path-stone.filled{background:linear-gradient(90deg,#ffd166,#f0b030);box-shadow:0 1px 4px #f0b0304d}.hq-path-stone.milestone{border-radius:6px;min-width:18px;height:12px}.hq-path-stone.milestone.filled{background:linear-gradient(135deg,#ffd166,#ff9800);box-shadow:0 2px 8px #ff980066}.hq-path-spark{z-index:2;pointer-events:none;transition:left .8s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:100%;transform:translate(-50%)}.hq-path-spark-img{object-fit:contain;filter:drop-shadow(0 2px 4px #0003);width:22px;height:22px;animation:2s ease-in-out infinite sparkBounce}@keyframes sparkBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.hq-xp-text{color:var(--bb-text-secondary);font-size:.68rem;font-weight:800}.hq-scroll{max-width:640px;margin:.75rem auto 0;padding:0 1.25rem 3rem}.hq-celebration{align-items:center;gap:.75rem;margin-bottom:.65rem;padding:1rem 1.25rem;display:flex;background:#fff9dce0!important;border-color:#ffd16680!important}.hq-celeb-icon{font-size:2rem}.hq-celeb-value{color:var(--bb-text);font-size:2rem;font-weight:900}.hq-celeb-label{color:var(--bb-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:800}.hq-welcome{align-items:center;gap:.75rem;margin-bottom:.65rem;padding:1rem 1.25rem;display:flex;background:#e8f5e9e0!important;border-color:#81c78480!important}.hq-welcome-icon{flex-shrink:0;font-size:1.8rem}.hq-welcome-text{flex-direction:column;gap:.15rem;display:flex}.hq-welcome-text strong{color:var(--bb-text);font-size:1rem;font-weight:900}.hq-welcome-text span{color:var(--bb-text-secondary);font-size:.8rem;font-weight:600}.hq-goal{align-items:center;gap:.75rem;margin-bottom:.65rem;padding:.85rem 1rem;display:flex;background:#fffde7e0!important;border-color:#ffd16666!important}.hq-goal-icon{flex-shrink:0;font-size:1.8rem}.hq-goal-info{flex:1;min-width:0}.hq-goal-name{color:var(--bb-text);font-size:1rem;font-weight:900}.hq-goal-hint{color:var(--bb-text-secondary);margin-bottom:.35rem;font-size:.78rem;font-weight:600}.hq-goal-bar{background:#ffffffb3;border-radius:4px;height:6px;overflow:hidden}.hq-goal-fill{background:linear-gradient(90deg,#ffd166,#f0b030);border-radius:4px;height:100%;transition:width .5s}.hq-fav{cursor:pointer;align-items:center;gap:.75rem;margin-bottom:.65rem;padding:.85rem 1rem;transition:transform .2s;display:flex}.hq-fav:hover{transform:translateY(-2px)}.hq-fav-icon{flex-shrink:0;font-size:2rem}.hq-fav-info{flex:1;min-width:0}.hq-fav-label{text-transform:uppercase;letter-spacing:1px;color:var(--bb-text-muted);font-size:.65rem;font-weight:800}.hq-fav-name{color:var(--bb-text);font-size:1rem;font-weight:900}.hq-fav-stats{color:var(--bb-text-secondary);font-size:.78rem;font-weight:600}.hq-fav-arrow{color:var(--bb-text-muted);opacity:.4;font-size:1.2rem;transition:opacity .2s}.hq-fav:hover .hq-fav-arrow{opacity:1}.hq-section-title{color:#fff;text-shadow:0 2px 6px #00000059;align-items:center;gap:.4rem;margin:1rem 0 .5rem;font-size:1rem;font-weight:900;display:flex}.hq-badge-count{opacity:.7;font-size:.75rem;font-weight:700}.hq-portals-grid{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.hq-portal-card{cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border:2px solid #ffffff80;border-radius:18px;align-items:center;gap:.65rem;padding:.7rem .75rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000014}.hq-portal-card:before{content:"";background:linear-gradient(135deg, var(--portal-from,#7c6ff7) 0%, transparent 60%);opacity:.06;pointer-events:none;position:absolute;inset:0}.hq-portal-card.portal-active:before{opacity:.1}.hq-portal-card.portal-complete:before{opacity:.15}.portal-door{background:linear-gradient(135deg, var(--portal-from,#7c6ff7), var(--portal-to,#4a3fb5));border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #00000026,inset 0 1px #ffffff40}.portal-energy{background:radial-gradient(circle, var(--portal-glow,#a594ff) 0%, transparent 70%);border-radius:50%;animation:3s ease-in-out infinite portalPulse;position:absolute;inset:-4px}@keyframes portalPulse{0%,to{opacity:inherit;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.portal-icon{z-index:1;color:#fff;filter:drop-shadow(0 2px 4px #0003);position:relative}.portal-img{object-fit:cover;border:2px solid #ffffff4d;border-radius:50%;width:42px;height:42px}.portal-complete-badge{color:#fff;z-index:2;background:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:-2px;right:-2px;box-shadow:0 2px 6px #4caf5066}.portal-info{flex:1;min-width:0}.portal-name{color:var(--bb-text);font-size:.78rem;font-weight:800;line-height:1.2}.portal-subtitle{color:var(--portal-from,#7c6ff7);opacity:.8;margin-top:1px;font-size:.62rem;font-weight:700}.portal-stars-row{color:#ffd54f;align-items:center;gap:3px;margin-top:4px;display:flex}.portal-star-count{color:var(--bb-text-secondary);font-size:.65rem;font-weight:700}.hq-portal-card.portal-new .portal-door{filter:saturate(.5)brightness(.8)}.hq-portal-card.portal-new .portal-name{color:var(--bb-text-muted)}.hq-portal-card.portal-complete .portal-door{box-shadow:0 4px 18px color-mix(in srgb, var(--portal-glow) 40%, transparent), inset 0 1px 0 #ffffff4d}.trophy-room{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.trophy-slot{text-align:center;background:#ffffffd9;border:2px solid #0000;border-radius:10px;padding:.5rem .25rem .4rem;position:relative;overflow:hidden}.trophy-slot.earned{background:linear-gradient(135deg,#fff0b4e6,#ffffffeb);border-color:#d4a0174d}.trophy-slot.locked{background:#ffffffb3}.trophy-slot.almost{border-color:#ffc80059;animation:2.5s ease-in-out infinite almostPulse}@keyframes almostPulse{0%,to{box-shadow:0 0 #ffc80000}50%{box-shadow:0 0 8px 1px #ffc80033}}.trophy-glow{pointer-events:none;background:radial-gradient(circle,#ffd7001a 0%,#0000 70%);position:absolute;inset:0}.trophy-icon-wrap{z-index:1;justify-content:center;align-items:center;margin-bottom:2px;display:flex;position:relative}.trophy-slot.earned .trophy-icon-wrap{color:#d4a017;filter:drop-shadow(0 1px 3px #d4a01740)}.trophy-silhouette{filter:brightness(0)opacity(.12);display:flex}.trophy-slot.almost .trophy-silhouette{filter:brightness(0)opacity(.25)}.trophy-label{color:var(--bb-text);font-size:.55rem;font-weight:700;line-height:1.2}.trophy-slot.locked .trophy-label{color:var(--bb-text-secondary);font-size:.5rem;font-weight:600}.trophy-almost-tag{color:#c98f00;z-index:2;background:#ffd7002e;border-radius:3px;padding:1px 3px;font-size:.4rem;font-weight:800;position:absolute;top:2px;right:2px}.avatar-options-grid{grid-template-columns:repeat(5,1fr);gap:.5rem;max-height:60vh;display:grid;overflow-y:auto}.avatar-option{cursor:pointer;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto;transition:all .2s;display:flex}.avatar-option:hover{background:#f0f7ff;transform:scale(1.15)}.settings-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.settings-panel{background:#fff;border-radius:24px;width:100%;max-width:380px;max-height:85vh;padding:1.5rem;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.spark-panel{max-width:500px}.settings-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.settings-header h3{color:var(--bb-text);margin:0;font-size:1.3rem;font-weight:900}.settings-close-btn{background:var(--bb-surface);border:2px solid var(--bb-border);cursor:pointer;width:34px;height:34px;color:var(--bb-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:900;transition:all .2s;display:flex}.settings-close-btn:hover{background:var(--bb-coral);color:#fff;border-color:var(--bb-coral)}.settings-section{margin-bottom:1.1rem}.settings-label{text-transform:uppercase;letter-spacing:1px;color:var(--bb-text-muted);margin-bottom:.4rem;font-size:.68rem;font-weight:800;display:block}.settings-value{color:var(--bb-text);cursor:pointer;background:var(--bb-surface);border-radius:12px;align-items:center;gap:.5rem;padding:.45rem .7rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.settings-value:hover{background:#e8f8f7}.edit-icon-small{opacity:.3;font-size:.8rem}.settings-value:hover .edit-icon-small{opacity:.8}.name-editor{align-items:center;gap:.5rem;display:flex}.name-input{border:3px solid var(--bb-coral);color:var(--bb-text);border-radius:14px;outline:none;width:100%;padding:.45rem .7rem;font-family:inherit;font-size:1rem;font-weight:800}.save-name-btn{background:var(--bb-secondary);color:var(--bb-text);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:900;display:flex}.motto-input{border:2px dashed var(--bb-coral);border-radius:12px;outline:none;width:100%;padding:.45rem .7rem;font-family:inherit;font-size:.9rem}.theme-selector{flex-wrap:wrap;gap:.5rem;display:flex}.theme-dot{cursor:pointer;border:3px solid #fff;border-radius:50%;width:28px;height:28px;transition:all .2s;box-shadow:0 2px 6px #00000026}.theme-dot:hover{transform:scale(1.2)}.theme-dot.active{border-color:var(--bb-text);transform:scale(1.35)}.hero-badges-row{flex-wrap:wrap;gap:.4rem;display:flex}.badge{background:var(--bb-surface);cursor:help;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.3rem;display:flex}.badge:hover{transform:scale(1.15)rotate(5deg)}.hq-chest{cursor:pointer;align-items:center;gap:.75rem;margin-bottom:.65rem;padding:1rem 1.25rem;display:flex;background:#fff3e0e6!important;border-color:#ffb74d80!important}.hq-chest-icon{flex-shrink:0;font-size:2.2rem}.hq-chest-info{flex:1}.hq-chest-title{color:var(--bb-text);font-size:1.05rem;font-weight:900}.hq-chest-hint{color:var(--bb-text-secondary);font-size:.78rem;font-weight:600}.hq-chest-streak{color:#e65100;margin-top:.15rem;font-size:.72rem;font-weight:800}.hq-chest-tap{flex-shrink:0;font-size:1.4rem}.hq-chest-done{color:var(--bb-text-secondary);align-items:center;gap:.5rem;margin-bottom:.65rem;padding:.6rem 1rem;font-size:.82rem;display:flex}.hq-chest-done-text{font-weight:600}.hq-chest-reveal{z-index:2000;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border-radius:28px;padding:2rem 3rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.hq-chest-sparkles{margin-bottom:.5rem;font-size:2rem}.hq-chest-stars{color:#f0b030;font-size:2.5rem;font-weight:900}.hq-chest-label{color:var(--bb-text);margin-top:.25rem;font-size:1.2rem;font-weight:800}.hq-star-row{gap:.5rem;margin-bottom:.65rem;display:flex}.hq-star-balance{flex:1;align-items:center;gap:.4rem;padding:.6rem 1rem;display:flex}.hq-star-icon{font-size:1.3rem}.hq-star-count{color:var(--bb-text);font-size:1.4rem;font-weight:900}.hq-star-label{color:var(--bb-text-muted);font-size:.72rem;font-weight:700}.hq-shop-btn{cursor:pointer;color:var(--bb-text);border:none;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:800;display:flex;background:#fff0c8e6!important;border-color:#ffd16680!important}.shop-panel{max-width:480px}.shop-balance{color:#f0b030;margin-left:auto;margin-right:.75rem;font-size:1rem;font-weight:900}.shop-message{text-align:center;color:var(--bb-text);background:#fff9c4;border-radius:12px;margin-bottom:.75rem;padding:.5rem;font-size:.9rem;font-weight:800}.shop-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;max-height:55vh;display:grid;overflow-y:auto}.shop-item{text-align:center;cursor:pointer;padding:.65rem .4rem;transition:all .2s}.shop-item.owned{opacity:.6;cursor:default}.shop-item.too-expensive{opacity:.5}.shop-item-emoji{margin-bottom:.2rem;font-size:1.8rem}.shop-item-name{color:var(--bb-text);margin-bottom:.2rem;font-size:.68rem;font-weight:800;line-height:1.2}.shop-item-price{color:#f0b030;font-size:.72rem;font-weight:900}.shop-item-price.cant-afford{color:#e57373}.shop-item-owned{color:var(--bb-secondary);font-size:.65rem;font-weight:700}@media (width<=640px){.hq-topbar{padding:.5rem .75rem}.hq-title{font-size:1.1rem}.hq-hero{padding:0 .75rem}.hq-scroll{padding:0 .75rem 2rem}.hq-spark-img{width:64px;height:64px}.hq-player-name{font-size:1.05rem}.hq-identity-zone{gap:.75rem;padding:.75rem 1rem}.hq-portals-grid{grid-template-columns:1fr}.trophy-room{grid-template-columns:repeat(3,1fr)}.back-btn,.settings-gear-btn{width:44px;height:44px;font-size:1rem}}@media (width<=380px){.hq-portals-grid{grid-template-columns:1fr}.trophy-room{grid-template-columns:repeat(3,1fr)}.hq-spark-img{width:56px;height:56px}.hq-avatar-wrap{width:40px;height:40px}}.hq-room-preview{cursor:pointer;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.6rem .75rem;display:flex}.hq-room-mini{border-radius:10px;flex-shrink:0;justify-content:center;align-items:flex-end;width:72px;height:56px;display:flex;position:relative;overflow:hidden}.hq-room-mini-spark{object-fit:contain;z-index:1;width:44px;height:44px;position:relative}.hq-room-mini-deco{z-index:2;position:absolute;top:4px;right:6px}.hq-room-preview-info{flex:1;min-width:0}.hq-room-preview-title{color:var(--bb-text);font-size:.95rem;font-weight:800}.hq-room-preview-hint{color:#888;margin-top:2px;font-size:.75rem;font-weight:600}.room-overlay{z-index:300;background:#fff;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.room-scene{background-position:50%;background-size:cover;flex:1;position:relative;overflow:hidden}.room-spark-anchor{z-index:10;justify-content:center;display:flex;position:absolute;bottom:90px;left:0;right:0}.room-spark-img{object-fit:contain;filter:drop-shadow(0 16px 40px #0000008c);width:240px;height:240px;display:block}.room-deco-card{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border:4px solid;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:76px;height:76px;display:flex;box-shadow:0 8px 24px #00000059,0 2px 8px #0003,inset 0 1px #fff9}.room-deco-label{color:#444;text-align:center;letter-spacing:.02em;font-size:.52rem;font-weight:900;line-height:1}.room-empty-hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffe6;white-space:nowrap;z-index:12;background:#ffffff2e;border-radius:20px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;position:absolute;bottom:130px;left:50%;transform:translate(-50%)}.room-close-btn{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;color:#fff;background:#000000a6;border:2px solid #ffffffb3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,border-color .2s;display:flex;position:absolute;top:1rem;right:1rem}.room-close-btn:hover{background:#dc3232d9;border-color:#fff}.room-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-radius:16px 16px 0 0;flex-direction:column;gap:.6rem;padding:.85rem 1rem;display:flex}.room-controls-label{color:#888;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.3rem;font-size:.78rem;font-weight:800;display:flex}.room-bg-switcher{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.room-bg-btn{color:var(--bb-text);cursor:pointer;background:#7c6ff71f;border:2px solid #0000;border-radius:20px;padding:.3rem .8rem;font-size:.78rem;font-weight:800;transition:all .15s}.room-bg-btn.active{background:var(--bb-primary);color:#fff;border-color:var(--bb-primary)}.room-bg-locked{color:#aaa;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}.room-shop-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f0b429,#ff8a80);border:none;border-radius:14px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.6rem 1rem;font-size:.85rem;font-weight:900;display:flex}.hq-hotbar{-webkit-backdrop-filter:blur(16px);padding:6px 0;padding-bottom:max(6px, env(safe-area-inset-bottom));z-index:100;background:#ffffffeb;border-top:1px solid #00000014;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000000f}.hq-hotbar-btn{color:#8a849c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;transition:color .2s,background .2s;display:flex}.hq-hotbar-btn:hover,.hq-hotbar-btn:active{color:#7c6ff7;background:#7c6ff71a}.hq-hotbar-btn.active{color:#7c6ff7;background:#7c6ff71f}.hq-creatures-grid{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.hq-creature{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#ffffffd1;border:2px solid #ffffff80;border-radius:14px;padding:.5rem .25rem;box-shadow:0 2px 10px #0000000f}.hq-creature.discovered{border-color:var(--rarity-color,#ccc);border-style:solid}.hq-creature.undiscovered{opacity:.45;filter:grayscale(.5);border-style:dashed;border-color:#9696964d}.hq-creature-emoji{font-size:1.6rem;line-height:1;display:block}.creature-art{object-fit:cover;border-radius:50%;width:36px;height:36px}.hq-creature-name{color:var(--bb-text);margin-top:2px;font-size:.58rem;font-weight:800;line-height:1.2}.hq-creature-rarity{margin-top:1px;font-size:.5rem;font-weight:700;display:block}.hq-creatures-more{cursor:pointer;width:100%;color:var(--bb-text-secondary);border:none;justify-content:center;align-items:center;gap:.4rem;margin-top:.5rem;margin-bottom:.65rem;padding:.6rem;font-family:inherit;font-size:.78rem;font-weight:700;display:flex}.creature-panel{max-width:500px}.creature-counter{color:var(--bb-primary);margin-left:auto;margin-right:.75rem;font-size:.9rem;font-weight:900}.creature-rarity-legend{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.creature-rarity-tag{border-radius:10px;padding:2px 8px;font-size:.65rem;font-weight:800}.creature-journal-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;max-height:55vh;display:grid;overflow-y:auto}.creature-card{background:var(--rarity-bg,#f5f5f5);text-align:center;border:2px solid #0000;border-radius:14px;padding:.6rem .4rem;transition:all .2s}.creature-card.discovered{border-color:var(--rarity-color,#ccc)}.creature-card.discovered:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.creature-card.undiscovered{opacity:.4;filter:grayscale(.6);border-style:dashed;border-color:#96969633}.creature-card-emoji{margin-bottom:.2rem;font-size:2rem}.creature-art-lg{object-fit:cover;border-radius:12px;width:56px;height:56px}.creature-card-name{color:var(--bb-text);font-size:.72rem;font-weight:800;line-height:1.2}.creature-card-desc{color:var(--bb-text-secondary);margin-top:2px;font-size:.6rem;font-weight:600;line-height:1.3}.creature-card-rarity{margin-top:4px;font-size:.58rem;font-weight:700}@media (width<=640px){.hq-creatures-grid{grid-template-columns:repeat(4,1fr)}.creature-journal-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=380px){.hq-creatures-grid{grid-template-columns:repeat(3,1fr)}}.hq-scroll{padding-bottom:72px}.room-btn-row{gap:.5rem;display:flex}.room-btn-row .room-shop-btn{flex:1}.room-share-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#7c6ff7,#5848c8);border:none;border-radius:14px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.85rem;font-weight:900;display:flex}.trophy-share-btn{cursor:pointer;opacity:0;background:#7c6ff71f;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:opacity .2s;display:flex;position:absolute;top:3px;left:3px}.trophy-slot.earned:hover .trophy-share-btn{opacity:1}.consent-modal{max-width:400px}.consent-text{color:#666;margin:0 0 18px;padding:0 8px;font-size:.85rem;line-height:1.5}.consent-actions{flex-direction:column;gap:10px;display:flex}.consent-btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:.95rem;font-weight:800;transition:transform .15s;display:flex}.consent-btn:active{transform:scale(.97)}.consent-btn-approve{color:#fff;background:linear-gradient(135deg,#42bd7f,#2a9d6f);box-shadow:0 4px #1d7a53,0 6px 16px #42bd7f4d}.consent-btn-cancel{color:#888;background:#f0eef5}.settings-screen{background:var(--bb-gradient-main);min-height:100vh;padding:60px 20px 20px}.settings-screen.settings-embedded{background:0 0;min-height:auto;padding:0}.settings-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.settings-back-btn{background:var(--bb-bg-card);color:var(--bb-primary-text);border-radius:var(--bb-radius-sm);cursor:pointer;border:2px solid #fffc;flex-shrink:0;padding:10px 18px;font-size:.95rem;font-weight:700;transition:all .2s}.settings-back-btn:hover{background:var(--bb-bg-card-solid);box-shadow:var(--bb-shadow-md);transform:translateY(-1px)}.settings-title{color:var(--bb-text-light);text-shadow:0 2px 8px #00000026;margin:0;font-size:1.75rem}.settings-content{max-width:480px;margin:0 auto}.settings-section{background:var(--bb-bg-card);box-shadow:var(--bb-shadow-md);border:1px solid var(--bb-border-light);border-radius:16px;margin-bottom:16px;padding:16px 20px}.settings-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--bb-text-secondary);margin:0 0 12px;font-size:.85rem;font-weight:700}.settings-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.settings-row+.settings-row{border-top:1px solid var(--bb-border-light)}.settings-label{color:var(--bb-text);flex-wrap:wrap;align-items:center;gap:10px;font-size:1rem;font-weight:600;display:flex}.settings-hint{width:100%;color:var(--bb-text-muted);margin-top:-4px;padding-left:34px;font-size:.78rem;font-weight:400;display:block}.settings-icon{font-size:1.25rem}.settings-toggle{border:2px solid var(--bb-border);background:var(--bb-border);cursor:pointer;border-radius:14px;flex-shrink:0;width:52px;height:28px;padding:0;transition:background .2s,border-color .2s;position:relative;overflow:hidden}.settings-toggle.on{background:var(--bb-secondary);border-color:var(--bb-secondary-dark)}.settings-toggle.off{background:var(--bb-border);border-color:var(--bb-text-muted)}.settings-toggle-knob{background:var(--bb-bg-card-solid);border-radius:50%;width:22px;height:22px;transition:left .2s,right .2s;position:absolute;top:2px;box-shadow:0 2px 6px #00000026}.settings-toggle.on .settings-toggle-knob{left:auto;right:2px}.settings-toggle.off .settings-toggle-knob{left:2px;right:auto}.settings-slider-row{flex-wrap:wrap}.settings-slider-group{flex-shrink:0;align-items:center;gap:10px;display:flex}.settings-slider{appearance:none;background:var(--bb-border);cursor:pointer;border-radius:3px;outline:none;width:100px;height:6px}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bb-secondary);border:2px solid var(--bb-secondary-dark);cursor:pointer;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 6px #00000026}.settings-slider::-moz-range-thumb{background:var(--bb-secondary);border:2px solid var(--bb-secondary-dark);cursor:pointer;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 6px #00000026}.settings-slider-value{color:var(--bb-text-secondary);text-align:right;min-width:40px;font-size:.85rem;font-weight:700}.settings-about{color:var(--bb-text-secondary);margin:0;font-size:.95rem;line-height:1.5}.settings-legal-links{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.settings-legal-link{color:#6255d4;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:700;text-decoration:underline}.settings-account-email{color:var(--bb-text-secondary);margin-bottom:12px;font-size:.9rem;font-weight:600}.settings-account-btn{background:var(--bb-surface);color:var(--bb-primary-text);border:2px solid var(--bb-border);cursor:pointer;border-radius:12px;width:100%;margin-bottom:8px;padding:12px 20px;font-size:.95rem;font-weight:700;transition:background .15s,border-color .15s}.settings-account-btn:hover{border-color:var(--bb-primary-light);background:var(--bb-primary-soft)}.settings-account-form{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.settings-account-input{border:2px solid var(--bb-border);background:var(--bb-surface);color:var(--bb-text);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:.95rem}.settings-account-input:focus{border-color:var(--bb-primary-text);outline:none}.settings-account-error{color:#d63031;margin:0;font-size:.85rem;font-weight:600}.settings-account-success{color:var(--bb-success-dark);margin:0;font-size:.85rem;font-weight:600}.settings-account-actions{gap:10px;display:flex}.settings-account-cancel{border:2px solid var(--bb-border);background:var(--bb-surface);cursor:pointer;color:var(--bb-text);border-radius:10px;flex:1;padding:12px;font-size:.9rem;font-weight:700}.settings-account-save{background:var(--bb-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px;font-size:.9rem;font-weight:800}.settings-account-save:disabled{opacity:.5;cursor:not-allowed}.settings-danger-section{border:2px solid #ff6b6b}.settings-delete-btn{color:#d63031;cursor:pointer;background:#fff0f0;border:2px solid #ff6b6b;border-radius:12px;width:100%;padding:12px 20px;font-size:.95rem;font-weight:800;transition:background .15s}.settings-delete-btn:hover{background:#ffe0e0}.settings-delete-confirm{flex-direction:column;gap:12px;display:flex}.settings-delete-warning{color:#d63031;margin:0;font-size:.9rem;font-weight:700;line-height:1.5}.settings-delete-password{border:2px solid #ddd;border-radius:10px;padding:12px 14px;font-family:inherit;font-size:.95rem}.settings-delete-password:focus{border-color:#d63031;outline:none}.settings-delete-error{color:#d63031;margin:0;font-size:.85rem;font-weight:600}.settings-delete-actions{gap:10px;display:flex}.settings-delete-cancel{cursor:pointer;background:#f5f5f5;border:2px solid #ddd;border-radius:10px;flex:1;padding:12px;font-size:.9rem;font-weight:700}.settings-delete-confirm-btn{color:#fff;cursor:pointer;background:#d63031;border:none;border-radius:10px;flex:1;padding:12px;font-size:.9rem;font-weight:800}.settings-delete-confirm-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=500px){.settings-screen{padding:56px 16px 16px}.settings-title{font-size:1.4rem}.settings-section{padding:14px 16px}.settings-label{font-size:.95rem}.settings-toggle{width:48px;height:26px}.settings-toggle-knob{width:20px;height:20px}}.webinar-banner{color:#fff;background:linear-gradient(135deg,#6c5ce7 0%,#a855f7 50%,#6c5ce7 100%) 0 0/200% 200%;border-bottom:3px solid #ffffff26;padding:16px 48px 16px 24px;animation:6s ease-in-out infinite webinar-shimmer;position:relative}@keyframes webinar-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.webinar-banner-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.5rem;line-height:1;transition:all .2s;position:absolute;top:8px;right:12px}.webinar-banner-close:hover{color:#fff;background:#ffffff26}.webinar-banner-content{align-items:center;gap:16px;max-width:1100px;margin:0 auto;display:flex}.webinar-banner-icon{flex-shrink:0;font-size:2.2rem}.webinar-banner-text{flex:1}.webinar-banner-text h3{letter-spacing:.01em;margin:0 0 4px;font-size:1.1rem;font-weight:700}.webinar-banner-text p{opacity:.9;margin:0;font-size:.88rem;line-height:1.4}.webinar-banner-cta{color:#6c5ce7;white-space:nowrap;background:#fff;border-radius:10px;flex-shrink:0;padding:10px 22px;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;box-shadow:0 2px 8px #00000026}.webinar-banner-cta:hover{background:#f0ecff;transform:translateY(-1px);box-shadow:0 4px 14px #0003}@media (width<=640px){.webinar-banner{padding:14px 40px 14px 16px}.webinar-banner-content{text-align:center;flex-direction:column;gap:10px}.webinar-banner-icon{font-size:1.8rem}.webinar-banner-text h3{font-size:1rem}.webinar-banner-text p{font-size:.82rem}.webinar-banner-cta{text-align:center;width:100%;padding:12px 20px}}.parent-dashboard{background:var(--bb-surface);min-height:100vh;padding-bottom:40px}.pd-header{background:var(--bb-gradient-primary);color:var(--bb-text-light);box-shadow:0 4px 20px var(--bb-primary-glow);justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.pd-header-left{align-items:center;gap:16px;display:flex}.pd-logo{font-size:2.5rem}.pd-header h1{margin:0;font-size:1.6rem}.pd-welcome{opacity:.85;margin:2px 0 0;font-size:.95rem}.pd-program-credit{opacity:.6;margin:2px 0 0;font-size:.8rem;font-style:italic}.pd-logout-btn{color:var(--bb-text-light);cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:10px;padding:8px 20px;font-weight:600;transition:all .2s}.pd-header-actions{align-items:center;gap:10px;display:flex}.pd-settings-btn{color:var(--bb-text-light);cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:10px;padding:8px 20px;font-weight:600;transition:all .2s}.pd-settings-btn:hover,.pd-logout-btn:hover{background:#ffffff59}.pd-settings-tab{max-width:1100px;margin:28px auto 0;padding:0 24px}.pd-settings-tab .settings-screen{background:0 0;min-height:auto;padding:0}.pd-settings-tab .settings-content{max-width:none}.pd-children-section{max-width:1100px;margin:28px auto 0;padding:0 24px}.pd-section-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.pd-section-header h2{color:var(--bb-text);font-size:1.3rem}.pd-add-btn{background:var(--bb-gradient-primary);color:var(--bb-text-light);cursor:pointer;border:none;border-radius:12px;padding:9px 22px;font-size:.9rem;font-weight:700;transition:all .2s}.pd-add-btn:hover{box-shadow:0 4px 12px var(--bb-primary-glow);transform:translateY(-1px)}.pd-add-btn.large{border-radius:16px;padding:14px 32px;font-size:1rem}.pd-children-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.pd-child-card{background:var(--bb-bg-card-solid);cursor:pointer;border:2px solid #0000;border-radius:18px;align-items:center;gap:14px;padding:20px;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 10px #0000000f}.pd-child-card:hover{border-color:var(--bb-primary-text);box-shadow:0 4px 18px #7c6ff726}.pd-child-card.selected{border-color:var(--bb-primary-text);background:linear-gradient(135deg,#7c6ff70a,#6255d40a);box-shadow:0 4px 20px #7c6ff733}.pd-child-avatar{flex-shrink:0;font-size:2.6rem}.pd-child-info{flex:1;min-width:0}.pd-child-name{color:var(--bb-text);font-size:1.1rem;font-weight:700}.pd-child-stats{color:var(--bb-text-secondary);gap:12px;margin-top:3px;font-size:.82rem;display:flex}.pd-child-actions{align-items:center;gap:8px;display:flex}.pd-play-btn{background:linear-gradient(135deg, var(--bb-success-dark), var(--bb-success));color:var(--bb-text);cursor:pointer;border:none;border-radius:10px;padding:7px 16px;font-size:.8rem;font-weight:700;transition:all .2s}.pd-play-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #66d9a04d}.pd-play-btn.accent{background:var(--bb-gradient-primary);border-radius:12px;padding:10px 24px;font-size:.9rem}.pd-play-btn.accent:hover{box-shadow:0 4px 15px #7c6ff759}.pd-remove-btn{border:1px solid var(--bb-border);color:var(--bb-text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.1rem;transition:all .2s;display:flex}.pd-remove-btn:hover{color:var(--bb-error-dark);border-color:var(--bb-error-light);background:#fff5f5}.pd-confirm-overlay{z-index:5;background:#fffffff7;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.pd-confirm-overlay p{color:var(--bb-text);text-align:center;font-size:.9rem}.pd-confirm-actions{gap:10px;display:flex}.pd-confirm-yes{background:var(--bb-error-dark);color:var(--bb-text-light);cursor:pointer;border:none;border-radius:8px;padding:6px 18px;font-weight:600}.pd-confirm-no{background:var(--bb-surface);color:var(--bb-text);cursor:pointer;border:none;border-radius:8px;padding:6px 18px;font-weight:600}.pd-empty-state{text-align:center;background:var(--bb-bg-card-solid);border-radius:20px;padding:50px 20px;box-shadow:0 2px 10px #0000000d}.pd-empty-icon{margin-bottom:12px;font-size:4rem}.pd-empty-state h3{color:var(--bb-text);margin-bottom:6px}.pd-empty-state p{color:var(--bb-text-secondary);margin-bottom:20px}.pd-modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;animation:.2s pdFadeIn;display:flex;position:fixed;inset:0}.pd-modal{background:var(--bb-bg-card-solid);border-radius:24px;width:100%;max-width:420px;padding:32px;box-shadow:0 20px 50px #00000040}.pd-modal h3{color:var(--bb-text);text-align:center;margin-bottom:20px;font-size:1.3rem}.pd-avatar-picker{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px;display:flex}.pd-avatar-option{cursor:pointer;border:2px solid #0000;border-radius:12px;padding:6px;font-size:1.8rem;transition:all .2s}.pd-avatar-option:hover{background:var(--bb-surface)}.pd-avatar-option.selected{border-color:var(--bb-primary-text);background:#7c6ff714}.pd-name-input{border:2px solid var(--bb-border);box-sizing:border-box;border-radius:14px;width:100%;padding:14px 18px;font-size:1rem;transition:border-color .2s}.pd-name-input:focus{border-color:var(--bb-primary-text);outline:none;box-shadow:0 0 0 3px #7c6ff71a}.pd-age-label{text-align:left;color:var(--bb-text);margin-top:12px;margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.pd-age-select{border:2px solid var(--bb-border);background:var(--bb-bg-card-solid);cursor:pointer;border-radius:14px;width:100%;padding:12px 14px;font-size:1rem}.pd-age-select:focus{border-color:var(--bb-primary-text);outline:none}.pd-modal-actions{gap:10px;margin-top:20px;display:flex}.pd-modal-save{background:var(--bb-gradient-primary);color:var(--bb-text-light);cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-weight:700;transition:all .2s}.pd-modal-save:disabled{opacity:.5;cursor:not-allowed}.pd-modal-cancel{background:var(--bb-surface);color:var(--bb-text);cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-weight:700}.pd-analytics-section{max-width:1100px;margin:28px auto 0;padding:0 24px}.pd-analytics-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.pd-selected-child{align-items:center;gap:12px;display:flex}.pd-sel-avatar{font-size:2rem}.pd-sel-name{color:var(--bb-text);font-size:1.25rem;font-weight:700}.pd-tabs{background:var(--bb-bg-card-solid);border-radius:14px;gap:4px;margin-bottom:20px;padding:4px;display:flex;box-shadow:0 2px 8px #0000000d}.pd-tab{color:var(--bb-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:11px;flex:1;padding:10px 8px;font-size:.9rem;font-weight:600;transition:all .2s}.pd-tab.active{background:var(--bb-gradient-primary);color:var(--bb-text-light);box-shadow:0 2px 8px #7c6ff740}.pd-tab:hover:not(.active){color:var(--bb-text);background:var(--bb-surface)}.pd-tab-content{min-height:300px}.pd-stat-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:22px;display:grid}.pd-stat-card{background:var(--bb-bg-card-solid);text-align:center;border-top:4px solid var(--bb-primary);border-radius:16px;padding:20px;box-shadow:0 2px 10px #0000000d}.pd-stat-card.purple{border-top-color:var(--bb-primary-text)}.pd-stat-card.blue{border-top-color:var(--bb-secondary)}.pd-stat-card.green{border-top-color:var(--bb-success)}.pd-stat-card.orange{border-top-color:var(--bb-accent)}.pd-stat-value{color:var(--bb-text);font-size:1.8rem;font-weight:800}.pd-stat-label{color:var(--bb-text-secondary);margin-top:2px;font-size:.82rem;font-weight:600}.pd-charts-row{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.pd-chart-card{background:var(--bb-bg-card-solid);border-radius:18px;padding:22px;box-shadow:0 2px 10px #0000000d}.pd-chart-card.full-width{grid-column:1/-1}.pd-chart-card h3{color:var(--bb-text);margin-bottom:14px;font-size:1.05rem}.pd-no-data{height:180px;color:var(--bb-text-muted);text-align:center;justify-content:center;align-items:center;font-size:.95rem;display:flex}.pd-no-data.large{height:250px;font-size:1.05rem}.pd-select-prompt{text-align:center;color:var(--bb-text-muted);padding:60px 20px;font-size:1.05rem}.pd-games-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.pd-game-card{background:var(--bb-bg-card-solid);border-radius:16px;padding:18px;box-shadow:0 2px 8px #0000000d}.pd-game-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.pd-game-icon{font-size:1.8rem}.pd-game-name{color:var(--bb-text);font-size:.95rem;font-weight:700}.pd-game-category{color:var(--bb-text-muted);font-size:.78rem}.pd-game-stats-row{color:var(--bb-text-secondary);justify-content:space-between;margin-bottom:10px;font-size:.82rem;display:flex}.pd-game-progress-bar{background:var(--bb-surface);border-radius:3px;height:6px;overflow:hidden}.pd-game-progress-fill{background:linear-gradient(90deg, var(--bb-primary), var(--bb-primary-dark));border-radius:3px;height:100%;transition:width .5s}.pd-sessions-list{flex-direction:column;gap:8px;display:flex}.pd-session-row{background:var(--bb-bg-card-solid);border-radius:14px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;box-shadow:0 1px 6px #0000000a}.pd-session-game{color:var(--bb-text);min-width:120px;font-size:.92rem;font-weight:700}.pd-session-meta{color:var(--bb-text-secondary);gap:16px;font-size:.82rem;display:flex}.pd-session-date{color:var(--bb-text-muted);font-size:.8rem}.pd-skill-section{background:var(--bb-bg-card-solid);border-radius:18px;margin-bottom:16px;padding:22px;box-shadow:0 2px 10px #0000000d}.pd-skill-section h3{color:var(--bb-text);margin-bottom:16px;font-size:1.1rem}.pd-skill-metrics{flex-direction:column;gap:14px;display:flex}.pd-metric{align-items:center;gap:14px;display:flex}.pd-metric-label{min-width:160px;color:var(--bb-text);font-size:.88rem;font-weight:600}.pd-metric-value{min-width:70px;color:var(--bb-text);text-align:right;font-size:.9rem;font-weight:700}.pd-metric-bar{background:var(--bb-surface);border-radius:4px;flex:1;height:8px;overflow:hidden}.pd-metric-fill{border-radius:4px;height:100%;transition:width .6s}.pd-metric-fill.wm{background:linear-gradient(90deg, var(--bb-primary), var(--bb-primary-dark))}.pd-metric-fill.ps{background:linear-gradient(90deg, var(--bb-secondary), var(--bb-secondary-dark))}.pd-cognitive-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.pd-cog-item{background:var(--bb-surface);border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}.pd-cog-label{color:var(--bb-text-secondary);font-size:.78rem}.pd-cog-value{color:var(--bb-text);font-size:.95rem;font-weight:700}.pd-cog-value.highlight{color:var(--bb-primary-text)}.pd-insights-list{flex-direction:column;gap:10px;display:flex}.pd-insight{background:var(--bb-surface);border-radius:14px;align-items:flex-start;gap:12px;padding:14px;display:flex}.pd-insight.achievement{background:linear-gradient(135deg,#ffd16614,#f0b42914)}.pd-insight.strength{background:linear-gradient(135deg,#66d9a014,#42bd7f14)}.pd-insight.progress{background:linear-gradient(135deg,#7c6ff714,#6255d414)}.pd-insight.suggestion{background:linear-gradient(135deg,#4ecdc414,#3ab5ad14)}.pd-insight-icon{flex-shrink:0;font-size:1.5rem}.pd-insight-title{color:var(--bb-text);font-size:.9rem;font-weight:700}.pd-insight-msg{color:var(--bb-text-secondary);margin-top:2px;font-size:.84rem}.pd-manage-desc{color:var(--bb-text-secondary);margin:0 0 16px;font-size:.9rem;line-height:1.5}.pd-danger-section{border:2px solid var(--bb-error-light)!important}.pd-danger-section h3{color:var(--bb-error-dark)}.pd-export-btn{background:var(--bb-secondary,#7c6ff7);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px;font-size:.95rem;font-weight:700;transition:all .2s}.pd-export-btn:hover{opacity:.9;transform:translateY(-1px)}.pd-delete-btn{color:#fff;cursor:pointer;background:#b71c1c;border:none;border-radius:12px;width:100%;padding:12px;font-size:.95rem;font-weight:700;transition:all .2s}.pd-delete-btn:hover{opacity:.9;transform:translateY(-1px)}.pd-reset-btn{background:var(--bb-error-dark);width:100%;color:var(--bb-text-light);cursor:pointer;border:none;border-radius:12px;padding:12px;font-size:.95rem;font-weight:700;transition:all .2s}.pd-reset-btn:hover{opacity:.9;transform:translateY(-1px)}.pd-reset-confirm{text-align:center}.pd-reset-warning{color:var(--bb-error-dark);margin-bottom:14px;font-size:.9rem;font-weight:600}.pd-reset-actions{gap:10px;display:flex}.pd-reset-yes{background:var(--bb-error-dark);color:var(--bb-text-light);cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-weight:700}.pd-reset-no{background:var(--bb-surface);color:var(--bb-text);cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-weight:700}.pd-loading{text-align:center;color:var(--bb-text-secondary);padding:40px;font-size:1rem}@keyframes pdFadeIn{0%{opacity:0}to{opacity:1}}.pd-back-btn{color:var(--bb-text-light);cursor:pointer;background:0 0;border:1.5px solid #ffffff4d;border-radius:12px;flex-shrink:0;margin-right:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .2s}.pd-back-btn:hover{background:#ffffff1a;border-color:#ffffff80}@media (width<=768px){.pd-header{gap:10px;padding:14px 12px}.pd-header-left{flex:1;gap:10px;min-width:0}.pd-logo{font-size:1.8rem}.pd-header h1{font-size:1.1rem}.pd-welcome{font-size:.8rem}.pd-logout-btn{flex-shrink:0;padding:6px 14px;font-size:.8rem}.pd-back-btn{padding:6px 12px;font-size:.8rem}.pd-children-section,.pd-analytics-section{margin-top:16px;padding:0 10px}.pd-section-header h2{font-size:1.1rem}.pd-add-btn{padding:7px 14px;font-size:.8rem}.pd-children-grid{grid-template-columns:1fr;gap:10px}.pd-child-card{gap:10px;padding:14px}.pd-child-avatar{font-size:2rem}.pd-child-name{font-size:.95rem}.pd-child-stats{gap:8px;font-size:.75rem}.pd-analytics-header{text-align:center;flex-direction:column;gap:10px;margin-bottom:14px}.pd-sel-avatar{font-size:1.6rem}.pd-sel-name{font-size:1.05rem}.pd-play-btn.accent{padding:8px 18px;font-size:.82rem}.pd-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:2px;margin-bottom:14px;padding:3px;overflow-x:auto}.pd-tab{white-space:nowrap;flex-shrink:0;min-width:0;padding:8px 6px;font-size:.78rem}.pd-charts-row{grid-template-columns:1fr;gap:12px}.pd-chart-card{padding:16px}.pd-chart-card h3{margin-bottom:10px;font-size:.95rem}.pd-stat-cards{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.pd-stat-card{border-radius:14px;padding:14px 10px}.pd-stat-value{font-size:1.4rem}.pd-stat-label{font-size:.72rem}.pd-games-grid{grid-template-columns:1fr;gap:10px}.pd-game-card{padding:14px}.pd-game-icon{font-size:1.4rem}.pd-game-name{font-size:.88rem}.pd-game-stats-row{font-size:.75rem}.pd-metric{flex-wrap:wrap;gap:8px}.pd-metric-label{min-width:100px;font-size:.8rem}.pd-metric-value{min-width:55px;font-size:.82rem}.pd-skill-section{margin-bottom:12px;padding:16px}.pd-skill-section h3{margin-bottom:12px;font-size:.98rem}.pd-cognitive-grid{grid-template-columns:1fr 1fr;gap:8px}.pd-cog-item{padding:10px}.pd-cog-label{font-size:.7rem}.pd-cog-value{font-size:.85rem}.pd-session-row{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px}.pd-session-game{min-width:unset;font-size:.85rem}.pd-session-meta{flex-wrap:wrap;gap:8px;font-size:.75rem}.pd-session-date{font-size:.72rem}.pd-insight{gap:10px;padding:10px}.pd-insight-icon{font-size:1.2rem}.pd-insight-title{font-size:.82rem}.pd-insight-msg{font-size:.76rem}.pd-no-data{height:120px;font-size:.88rem}.pd-no-data.large{height:160px;font-size:.92rem}.pd-select-prompt{padding:40px 16px;font-size:.92rem}.pd-modal{border-radius:20px;padding:22px}.pd-modal h3{margin-bottom:14px;font-size:1.15rem}.pd-avatar-option{padding:4px;font-size:1.5rem}}@media (width<=380px){.pd-stat-cards{gap:8px}.pd-stat-card{padding:12px 8px}.pd-stat-value{font-size:1.2rem}.pd-cognitive-grid{grid-template-columns:1fr}.pd-header h1{font-size:1rem}}.picker-screen{background:url(/bg.png) center/cover no-repeat, var(--bb-gradient-main);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.picker-screen:before{content:"";pointer-events:none;background:linear-gradient(#583cb48c 0%,#583cb459 40%,#583cb440 100%);position:absolute;inset:0}.picker-container{text-align:center;z-index:1;width:100%;max-width:700px;position:relative}.picker-header{color:var(--bb-text-light);margin-bottom:40px}.picker-spark-greeting{margin-bottom:10px;display:inline-block;position:relative}.picker-spark-img{object-fit:contain;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff3;border:3px solid #ffffff4d;border-radius:50%;width:100px;height:100px;padding:8px;animation:2s infinite pickerBounce;display:inline-block;box-shadow:0 4px 20px #00000026}.picker-spark-wave{transform-origin:70% 70%;font-size:2rem;animation:1.2s ease-in-out infinite wave;position:absolute;top:-4px;right:-24px}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(15deg)}}.picker-header h1{text-shadow:0 2px 12px #00000059,0 1px 3px #0003;margin-bottom:8px;font-size:2.4rem}.picker-header p{opacity:.95;text-shadow:0 1px 6px #00000040;letter-spacing:.5px;font-size:1.15rem;font-weight:600}.picker-loading{color:var(--bb-text-light);opacity:.8;padding:40px;font-size:1.1rem}.picker-loading-overlay{z-index:9999;background:#7c6ff7e0;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.picker-loading-overlay p{color:var(--bb-text-light);margin:0;font-size:1.1rem;font-weight:700}.picker-loading-spinner{border:5px solid #ffffff4d;border-top-color:var(--bb-text-light);border-radius:50%;width:48px;height:48px;animation:.7s linear infinite picker-spin}@keyframes picker-spin{to{transform:rotate(360deg)}}.picker-grid{flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:50px;display:flex}.picker-profile{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;width:150px;color:var(--bb-text-light);text-shadow:0 1px 4px #0003;background:#fff3;border:2px solid #ffffff59;border-radius:24px;flex-direction:column;align-items:center;gap:8px;padding:28px 24px 20px;transition:all .3s;animation:.4s ease-out both popIn;display:flex;box-shadow:0 4px 24px #0000001f}.picker-profile:first-child{animation-delay:0s}.picker-profile:nth-child(2){animation-delay:60ms}.picker-profile:nth-child(3){animation-delay:.12s}.picker-profile:nth-child(4){animation-delay:.18s}.picker-profile:nth-child(5){animation-delay:.24s}.picker-profile:nth-child(6){animation-delay:.3s}.picker-profile:hover{background:#ffffff47;border-color:#ffd16680;transform:translateY(-8px)scale(1.04);box-shadow:0 12px 30px #0003,0 0 20px #ffd1664d}.picker-profile:hover .picker-avatar{animation:.5s pickerAvatarBounce}@keyframes pickerAvatarBounce{0%,to{transform:scale(1)}40%{transform:scale(1.15)}60%{transform:scale(.95)}}.picker-avatar{background:#ffffff26;border:3px solid #ffd16666;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;font-size:3.2rem;line-height:1;transition:all .3s;display:flex}.picker-name{font-size:1rem;font-weight:700}.picker-meta{opacity:.7;justify-content:center;align-items:center;gap:8px;font-size:.95rem;display:flex}.picker-stars{background:#ffd16640;border-radius:8px;padding:2px 8px;font-size:.95rem;font-weight:700}.picker-level{font-size:.95rem}.picker-profile.add-profile{opacity:.7;border-style:dashed}.picker-profile.add-profile:hover{opacity:1}.add-icon{opacity:.8;font-weight:300;font-size:2.8rem!important}.picker-footer{flex-direction:column;align-items:center;gap:14px;display:flex}.picker-dashboard-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--bb-text-light);cursor:pointer;text-shadow:0 1px 4px #0003;background:#ffffff38;border:1.5px solid #ffffff59;border-radius:16px;padding:14px 36px;font-size:1.05rem;font-weight:700;transition:all .3s;box-shadow:0 2px 12px #0000001a}.picker-dashboard-btn:hover{background:#ffffff59;transform:translateY(-2px);box-shadow:0 4px 20px #00000026}.picker-logout-btn{color:#fffffff2;cursor:pointer;text-shadow:0 1px 4px #00000040;background:0 0;border:none;padding:6px 12px;font-size:.95rem;transition:color .2s}.picker-logout-btn:hover{color:#fff}.picker-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3a315399;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.picker-modal{background:var(--bb-bg-card-solid);width:100%;max-width:400px;color:var(--bb-text);box-shadow:var(--bb-shadow-xl);border:1px solid var(--bb-border-light);border-radius:24px;padding:32px}.picker-modal h3{color:var(--bb-text);margin-bottom:20px;font-size:1.3rem}.picker-avatar-grid{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px;display:flex}.picker-avatar-option{cursor:pointer;border:2px solid #0000;border-radius:12px;padding:6px;font-size:1.6rem;transition:all .2s}.picker-avatar-option:hover{background:var(--bb-surface)}.picker-avatar-option.selected{background:var(--bb-primary-soft);border-color:var(--bb-primary)}.picker-name-input{border:2px solid var(--bb-border);box-sizing:border-box;background:var(--bb-surface);width:100%;color:var(--bb-text);border-radius:14px;margin-bottom:16px;padding:14px;font-size:1rem;transition:border-color .2s}.picker-name-input:focus{border-color:var(--bb-primary);background:var(--bb-bg-card-solid);outline:none}.picker-age-label{text-align:left;color:var(--bb-text);margin-top:12px;margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.picker-age-select{border:2px solid var(--bb-border);background:var(--bb-bg-card-solid);cursor:pointer;border-radius:14px;width:100%;padding:12px 14px;font-size:1rem}.picker-age-select:focus{border-color:var(--bb-primary);outline:none}.picker-modal-actions{gap:10px;display:flex}.picker-modal-save{background:var(--bb-gradient-primary);color:var(--bb-text-light);cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-size:1rem;font-weight:700;transition:opacity .2s}.picker-modal-save:disabled{opacity:.5;cursor:not-allowed}.picker-modal-cancel{background:var(--bb-surface);color:var(--bb-text-secondary);cursor:pointer;border:none;border-radius:12px;padding:12px 20px;font-weight:600}@keyframes pickerBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (width>=601px) and (width<=1024px){.picker-container{max-width:780px}.picker-grid{gap:20px}.picker-profile{width:160px;padding:28px 20px 20px}.picker-avatar{width:76px;height:76px;font-size:3.4rem}.picker-dashboard-btn{min-height:48px;padding:14px 40px;font-size:1.1rem}}@media (width<=600px){.picker-screen{align-items:flex-start;padding:10vh 16px 16px}.picker-header{margin-bottom:28px}.picker-spark-img{width:72px;height:72px;padding:6px}.picker-spark-wave{font-size:1.5rem;right:-18px}.picker-header h1{margin-bottom:4px;font-size:1.6rem}.picker-header p{font-size:.95rem}.picker-grid{gap:14px;margin-bottom:36px}.picker-profile{border-radius:18px;gap:5px;width:120px;padding:18px 12px 14px}.picker-avatar{font-size:2.4rem}.picker-name{font-size:.88rem}.picker-meta,.picker-level{font-size:.72rem}.add-icon{font-size:2.2rem!important}.picker-dashboard-btn{border-radius:14px;padding:12px 28px;font-size:.95rem}.picker-logout-btn{font-size:.78rem}.picker-modal{border-radius:20px;padding:24px}.picker-avatar-option{padding:5px;font-size:1.4rem}.picker-name-input{padding:12px;font-size:.95rem}}@media (width<=380px){.picker-profile{width:105px;padding:14px 10px 12px}.picker-avatar{font-size:2rem}.picker-grid{gap:10px}}.game-results{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3a3153d9;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.results-card{background:var(--bb-bg-card-solid);border-radius:var(--bb-radius-xl);text-align:center;width:100%;max-width:450px;box-shadow:var(--bb-shadow-xl);border:1px solid var(--bb-border-light);max-height:calc(100dvh - 32px);margin:auto;padding:40px;animation:.5s cubic-bezier(.34,1.56,.64,1) bounceIn;overflow-y:auto}.results-header{margin-bottom:30px}.result-title{color:var(--bb-text);text-shadow:none;margin-bottom:10px;font-size:2rem}.result-title.success{color:var(--bb-success-dark)}.result-title.try-again{color:var(--bb-accent-dark)}.result-subtitle{color:var(--bb-text);font-size:1.3rem;font-weight:600}.stars-display{justify-content:center;gap:15px;margin-bottom:30px;display:flex}.result-star{font-size:4rem;transition:transform .5s cubic-bezier(.175,.885,.32,1.275);transform:scale(0)}.result-star.show{transform:scale(1)}.result-star.empty{color:var(--bb-star-inactive);font-size:3rem}.result-star.earned{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards starReveal}.results-content{animation:.4s slideUp}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px;min-height:175px;margin-bottom:25px;display:grid}.stat-box{background:var(--bb-surface);border:1.5px solid var(--bb-border);border-radius:15px;flex-direction:column;gap:5px;padding:15px;animation:.4s ease-out both slideUp;display:flex}.stat-box:first-child{animation-delay:.1s}.stat-box:nth-child(2){animation-delay:.18s}.stat-box:nth-child(3){animation-delay:.26s}.stat-box:nth-child(4){animation-delay:.34s}.stat-box.highlight{color:#3a3153;background:#ffd166;border-color:#e6b84a}.stat-value{color:#2a2245;font-size:1.6rem;font-weight:800}.stat-box.highlight .stat-value{color:#3a2200}.stat-label{color:var(--bb-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:700}.stat-box.highlight .stat-label{color:#3a1a00bf}.new-best-badge{background:var(--bb-gradient-accent);color:var(--bb-text);border-radius:var(--bb-radius-lg);margin-bottom:25px;padding:12px 25px;font-size:1.1rem;font-weight:700;animation:1s infinite pulse}.mastery-prompt{border-radius:var(--bb-radius-md);background:#fff8dc;border:2.5px dashed #b45309;margin-bottom:25px;padding:16px;animation:.5s slideUp;box-shadow:0 2px 8px #b453091f}.skill-prompt{border-style:solid;border-color:var(--bb-primary-dark);background:#f0eeff;box-shadow:0 2px 8px #7c6ff726}.mastery-prompt p{color:#3a2200;margin-bottom:10px;font-size:1rem;font-weight:700}.mastery-prompt .prompt-question{color:#5c3d00;font-size:.9rem;font-style:italic;font-weight:500}.next-chapter-btn{background:var(--bb-gradient-coral);color:#fff;border-radius:var(--bb-radius-md);cursor:pointer;box-shadow:0 5px 0px var(--bb-coral-dark);letter-spacing:.02em;border:none;margin-top:8px;padding:12px 24px;font-size:1rem;font-weight:800;transition:all .15s}.next-chapter-btn:hover{box-shadow:0 2px 0px var(--bb-coral-dark);transform:translateY(1px)}.next-chapter-btn:active{box-shadow:0 0px 0px var(--bb-coral-dark);transform:translateY(3px)}.results-actions{flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:20px;display:flex}.action-btn{border-radius:var(--bb-radius-lg);padding:15px 30px;font-size:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s}.action-btn.primary{background:var(--bb-gradient-primary);color:#fff;box-shadow:0 5px 0 var(--bb-primary-dark), 0 6px 20px var(--bb-primary-glow);letter-spacing:.02em;font-size:1.15rem}.action-btn.primary:hover{box-shadow:0 3px 0 var(--bb-primary-dark), 0 4px 15px var(--bb-primary-glow);transform:translateY(2px)}.action-btn.primary:active{box-shadow:0 0px 0 var(--bb-primary-dark), 0 2px 10px var(--bb-primary-glow);transform:translateY(4px)}.chapter-continue-btn{min-width:170px}.action-btn.secondary{color:var(--bb-text);border:2px solid var(--bb-border);background:#fff;font-weight:700;box-shadow:0 4px #c8beef}.action-btn.secondary:hover{background:var(--bb-surface);border-color:var(--bb-primary-light);transform:translateY(1px);box-shadow:0 3px #c8beef}.action-btn.secondary:active{transform:translateY(3px);box-shadow:0 0 #c8beef}.share-family-btn{color:#fff;border-radius:var(--bb-radius-md);cursor:pointer;background:linear-gradient(135deg,#ff8a80 0%,#e06b62 100%);border:none;width:100%;margin-bottom:16px;padding:12px 20px;font-size:1rem;font-weight:800;transition:transform .15s,box-shadow .15s;animation:.5s .3s both slideUp;box-shadow:0 4px #c0524a}.share-family-btn:hover{transform:translateY(1px);box-shadow:0 3px #c0524a}.share-family-btn:active{transform:translateY(3px);box-shadow:0 0 #c0524a}.tip-section{background:var(--bb-accent-light);border-left:4px solid var(--bb-accent-dark);border-radius:15px;padding:15px}.tip-text{color:var(--bb-text);font-size:.95rem;line-height:1.5}.game-results.tier-perfect{background:#42bd7fe0}.game-results.tier-great{background:#4ecdc4d9}.game-results.tier-good{background:#7c6ff7d9}.game-results.tier-retry{background:#3a3153d9}.result-reaction{opacity:0;flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;transition:all .5s cubic-bezier(.34,1.56,.64,1);display:flex;transform:scale(0)}.result-reaction.show{opacity:1;transform:scale(1)}.result-spark{border-radius:50%}.result-stage-badge{animation:.5s .3s both fadeIn}.result-encouragement{color:var(--bb-text);margin-top:6px;font-size:1rem;font-style:italic;font-weight:500;animation:.5s fadeIn}@media (width>=501px) and (width<=1024px){.results-card{max-width:520px;padding:36px 32px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px}.action-btn{min-height:48px;padding:14px 28px}}@media (width<=500px){.game-results{align-items:flex-start;padding:14px}.results-card{border-radius:22px;max-height:calc(100dvh - 24px);padding:20px 16px}.result-title{font-size:1.3rem}.result-subtitle{font-size:1rem}.result-star{font-size:2.6rem}.result-star.empty{font-size:2rem}.new-best-badge{padding:8px 16px;font-size:.9rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-box{padding:10px}.stat-value{font-size:1.25rem}.stat-label{font-size:.72rem}.mastery-prompt{padding:10px}.results-actions{gap:10px}.action-btn{padding:11px 18px;font-size:.92rem}.tip-section{padding:10px}.tip-text{font-size:.85rem}}.lottie-celebration-overlay{pointer-events:none;z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lottie-confetti{width:100%;max-width:600px;height:100%}.lottie-fireworks-overlay{z-index:999}.lottie-fireworks{opacity:.85;width:80%;max-width:500px;height:80%}.lottie-success-container{z-index:1000;pointer-events:none;position:absolute;top:10px;right:10px}.lottie-success{width:80px;height:80px}.auth-screen{background:var(--bb-gradient-main);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.auth-card{background:var(--bb-bg-card-solid);border-radius:var(--bb-radius-xl);width:100%;max-width:450px;box-shadow:var(--bb-shadow-xl);border:1px solid var(--bb-border-light);padding:40px;animation:.5s ease-out fadeIn;position:relative;overflow:hidden}.auth-tabs{background:var(--bb-surface);border-radius:15px;margin-bottom:30px;padding:5px;display:flex}.auth-tab{color:var(--bb-text-secondary);cursor:pointer;background:0 0;border-radius:12px;flex:1;padding:12px;font-weight:700;transition:all .3s}.auth-tab.active{background:var(--bb-bg-card-solid);color:var(--bb-primary-text);box-shadow:var(--bb-shadow-sm)}.auth-header{text-align:center;margin-bottom:30px}.auth-brain{margin-bottom:10px;font-size:4rem;animation:2s infinite bounce}.auth-header h1{color:var(--bb-text);margin-bottom:8px;font-size:2rem}.auth-header p{color:var(--bb-text-secondary);font-size:1rem}.auth-error{background:var(--bb-error-light);color:var(--bb-error-dark);border-radius:var(--bb-radius-sm);text-align:center;border:1px solid #ff76754d;margin-bottom:20px;padding:12px;font-size:.9rem}.auth-form{flex-direction:column;gap:20px;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:var(--bb-text);margin-left:5px;font-size:.9rem;font-weight:600}.input-group input{border:2px solid var(--bb-border);background:var(--bb-surface);color:var(--bb-text);border-radius:15px;padding:15px;font-size:1rem;transition:all .3s}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{width:100%;padding-right:48px}.password-toggle-btn{cursor:pointer;opacity:.8;background:0 0;border:none;font-size:1.1rem;line-height:1;position:absolute;right:10px}.password-toggle-btn:hover{opacity:1}.input-group input:focus{border-color:var(--bb-primary-text);box-shadow:0 0 0 4px var(--bb-primary-soft);background:var(--bb-bg-card-solid);outline:none}.auth-submit-btn{background:var(--bb-gradient-primary);color:var(--bb-text-light);cursor:pointer;box-shadow:0 4px 0 var(--bb-primary-dark), 0 5px 15px var(--bb-primary-glow);border-radius:15px;margin-top:10px;padding:15px;font-size:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s}.auth-submit-btn:hover{box-shadow:0 3px 0 var(--bb-primary-dark), 0 4px 12px var(--bb-primary-glow);transform:translateY(1px)}.auth-submit-btn:active{box-shadow:0 0px 0 var(--bb-primary-dark), 0 2px 8px var(--bb-primary-glow);transform:translateY(3px)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:0 4px 0 var(--bb-primary-dark), 0 5px 15px var(--bb-primary-glow);transform:none}.auth-success{color:var(--bb-success-dark);border-radius:var(--bb-radius-sm);text-align:center;background:#42bd7f26;border:1px solid #00b8944d;margin-bottom:20px;padding:12px;font-size:.9rem;font-weight:600}.forgot-password-btn{color:var(--bb-primary-text);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px 0;font-size:.9rem;font-weight:600;transition:opacity .2s}.forgot-password-btn:hover{opacity:.8;text-decoration:underline}.back-to-login-btn{color:var(--bb-text-secondary);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px 0;font-size:.9rem;font-weight:600;transition:color .2s}.back-to-login-btn:hover{color:var(--bb-primary-text)}.auth-legal-links{color:var(--bb-text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:16px;font-size:.8rem;display:flex}.auth-legal-btn{color:#6255d4;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:700;text-decoration:underline}.auth-consent-label{cursor:pointer;align-items:flex-start;gap:10px;margin:8px 0 4px;display:flex}.auth-consent-checkbox{accent-color:#6255d4;flex-shrink:0;width:18px;height:18px;margin-top:3px}.auth-consent-text{color:var(--bb-text-secondary);font-size:.8rem;line-height:1.4}.auth-pending-note{color:var(--bb-text-muted);text-align:center;margin:.5rem 0;font-size:.78rem;font-style:italic;line-height:1.4}.auth-loading-overlay{z-index:9999;background:#7c6ff7e0;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.auth-loading-overlay p{color:var(--bb-text-light);margin:0;font-size:1.1rem;font-weight:700}.auth-loading-spinner{border:5px solid #ffffff4d;border-top-color:var(--bb-text-light);border-radius:50%;width:48px;height:48px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-divider{color:var(--bb-text-muted);align-items:center;margin:25px 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--bb-border);flex:1;height:1px}.auth-divider span{padding:0 15px}.google-auth-btn{background:var(--bb-bg-card-solid);color:var(--bb-text);border:2px solid var(--bb-border);cursor:pointer;width:100%;box-shadow:0 4px 0 var(--bb-border);border-radius:15px;justify-content:center;align-items:center;gap:12px;padding:12px;font-size:1rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex}.google-auth-btn:hover{box-shadow:0 3px 0 var(--bb-border);border-color:var(--bb-primary-light);transform:translateY(1px)}.google-auth-btn:active{box-shadow:0 0px 0 var(--bb-border);transform:translateY(3px)}.google-auth-btn img{width:20px}.auth-footer{text-align:center;color:var(--bb-text-secondary);margin-top:25px;font-size:.95rem}.toggle-auth-btn{color:var(--bb-primary-text);cursor:pointer;background:0 0;margin-left:5px;font-size:.95rem;font-weight:700}.toggle-auth-btn:hover{text-decoration:underline}.account-type-selector{gap:12px;margin-bottom:5px;display:flex}.type-btn{border:2px solid var(--bb-border);background:var(--bb-surface);cursor:pointer;border-radius:15px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px 10px;transition:all .3s;display:flex}.type-btn.active{border-color:var(--bb-primary-text);background:var(--bb-primary-soft);box-shadow:0 2px 8px var(--bb-primary-glow)}.type-btn:hover:not(.active){border-color:var(--bb-primary-light);background:var(--bb-surface)}.type-icon{font-size:1.6rem}.type-label{color:var(--bb-text-secondary);font-size:.85rem;font-weight:700}.type-btn.active .type-label{color:var(--bb-primary-text)}.password-feedback{margin-top:-10px}.strength-bar-container{align-items:center;gap:10px;margin-bottom:8px;display:flex}.strength-bar-track{background:var(--bb-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.strength-bar{border-radius:3px;height:100%;transition:width .3s,background .3s}.strength-bar.strength-weak{background:var(--bb-error);width:33%}.strength-bar.strength-fair{background:var(--bb-accent-dark);width:66%}.strength-bar.strength-strong{background:var(--bb-success-dark);width:100%}.strength-label{white-space:nowrap;font-size:.78rem;font-weight:700}.strength-label.strength-weak{color:var(--bb-error-dark)}.strength-label.strength-fair{color:var(--bb-accent-dark)}.strength-label.strength-strong{color:var(--bb-success-dark)}.password-checklist{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.password-checklist li{color:var(--bb-text-muted);align-items:center;gap:4px;font-size:.82rem;transition:color .2s;display:flex}.password-checklist li.met{color:var(--bb-success-dark)}.check-icon{font-size:.75rem}.request-new-link-btn{background:var(--bb-primary-soft);color:var(--bb-primary-text);cursor:pointer;border:2px solid var(--bb-primary);border-radius:15px;width:100%;margin-bottom:20px;padding:12px;font-size:.95rem;font-weight:700;transition:background .2s,color .2s}.request-new-link-btn:hover{background:var(--bb-primary);color:var(--bb-text-light)}@media (width<=500px){.auth-screen{align-items:flex-start;padding:6vh 16px 16px}.auth-card{border-radius:22px;padding:24px 20px}.auth-tabs{margin-bottom:20px}.auth-tab{padding:10px;font-size:.9rem}.auth-brain{margin-bottom:6px;font-size:3rem}.auth-header{margin-bottom:20px}.auth-header h1{font-size:1.5rem}.auth-header p{font-size:.88rem}.auth-form{gap:14px}.input-group label{font-size:.82rem}.input-group input{border-radius:12px;padding:12px;font-size:.95rem}.auth-submit-btn{border-radius:12px;margin-top:4px;padding:13px;font-size:1rem}.password-feedback{margin-top:-6px}.password-checklist{gap:2px 12px}.password-checklist li{font-size:.75rem}}.session-summary{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.session-summary.tier-perfect{background:linear-gradient(135deg,#2d6b4f 0%,#42bd7f 50%,#4ecdc4 100%)}.session-summary.tier-great{background:linear-gradient(135deg,#3a3153 0%,#7c6ff7 50%,#a594ff 100%)}.session-summary.tier-good{background:linear-gradient(135deg,#3a3153 0%,#6255d4 50%,#7c6ff7 100%)}.session-summary.tier-okay{background:var(--bb-gradient-main)}.session-summary-card{z-index:1;background:#fffffff5;border-radius:24px;width:min(520px,100%);max-height:calc(100dvh - 40px);padding:28px 24px;animation:.6s cubic-bezier(.34,1.56,.64,1) ss-card-enter;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040}@keyframes ss-card-enter{0%{opacity:0;transform:translateY(40px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.session-hero{text-align:center;opacity:0;margin-bottom:16px;transition:all .5s cubic-bezier(.34,1.56,.64,1);transform:scale(.8)}.session-hero.show{opacity:1;transform:scale(1)}.session-reaction{margin-bottom:4px;font-size:3rem;display:block}.session-title{color:var(--bb-text);margin:0;font-size:1.8rem;font-weight:900}.session-encouragement{color:var(--bb-text-secondary);margin:6px 0 0;font-size:1rem;font-style:italic}.session-star-row{flex-wrap:wrap;justify-content:center;gap:4px;min-height:28px;margin-bottom:18px;display:flex}.session-star-row:not(.show) .session-star-icon{opacity:0;transform:scale(0)}.session-star-icon{opacity:0;font-size:1.3rem;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards ss-star-pop;display:inline-block;transform:scale(0)}@keyframes ss-star-pop{0%{opacity:0;transform:scale(0)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}.session-star-more{color:var(--bb-accent-dark);align-self:center;margin-left:4px;font-size:.9rem;font-weight:800}.session-stats-reveal{animation:.5s ss-slide-up}@keyframes ss-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.session-top-stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:16px;display:grid}.session-stat-card{background:var(--bb-surface,#f0eef5);text-align:center;border-radius:14px;flex-direction:column;gap:2px;padding:12px 8px;animation:.4s both ss-slide-up;display:flex}.session-stat-card:first-child{animation-delay:50ms}.session-stat-card:nth-child(2){animation-delay:.1s}.session-stat-card:nth-child(3){animation-delay:.15s}.session-stat-card:nth-child(4){animation-delay:.2s}.session-stat-card:nth-child(5){animation-delay:.25s}.session-stat-card.accent{border:2px solid var(--bb-primary,#7c6ff7);background:linear-gradient(135deg,#7c6ff71f,#ffd16633)}.session-stat-emoji{font-size:1.3rem}.session-stat-value{color:var(--bb-text);font-size:1.15rem;font-weight:800}.session-stat-value small{color:var(--bb-success,#42bd7f);font-size:.75rem;font-weight:700}.session-stat-label{text-transform:uppercase;color:var(--bb-text-muted);letter-spacing:.03em;font-size:.7rem;font-weight:700}.session-category-stats{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.session-category-card{text-align:center;border-radius:14px;padding:12px}.session-category-card.wm{background:linear-gradient(135deg,#7c6ff714,#a594ff26);border:2px solid #7c6ff740}.session-category-card.ps{background:linear-gradient(135deg,#ffd1661a,#ff8a801f);border:2px solid #ffd1664d}.category-icon{margin-bottom:4px;font-size:1.5rem;display:block}.session-category-card h3{color:var(--bb-text);margin:0 0 6px;font-size:.85rem;font-weight:800}.category-details{color:var(--bb-text-secondary);justify-content:center;gap:8px;font-size:.78rem;font-weight:600;display:flex}.session-challenge-list{border:1px solid var(--bb-border-light,#e8e6ef);border-radius:14px;margin-bottom:16px;overflow:hidden}.challenge-list-title{text-transform:uppercase;letter-spacing:.04em;color:var(--bb-text-muted);margin:0;padding:10px 12px 6px;font-size:.85rem;font-weight:800}.session-challenge-row{border-bottom:1px solid var(--bb-border-light,#e8e6ef);grid-template-columns:1.6fr .5fr 1fr .6fr;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;animation:.3s both ss-slide-up;display:grid}.session-challenge-row:last-child{border-bottom:none}.challenge-name{color:var(--bb-text);font-weight:600}.challenge-level{color:var(--bb-text-muted);font-size:.8rem;font-weight:700}.challenge-stars{letter-spacing:1px;font-size:.85rem}.challenge-acc{color:var(--bb-text-secondary);text-align:right;font-weight:700}.session-tip{background:var(--bb-accent-light,#fff3d0);border-left:4px solid var(--bb-accent-dark,#d4a017);border-radius:12px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px;display:flex}.session-tip-icon{flex-shrink:0;font-size:1.1rem}.session-tip-text{color:var(--bb-text);font-size:.9rem;line-height:1.4}.session-actions{justify-content:center;gap:10px;display:flex}.session-btn{cursor:pointer;border:none;border-radius:14px;padding:12px 22px;font-size:1rem;font-weight:800;transition:transform .15s,box-shadow .15s}.session-btn.primary{background:var(--bb-gradient-primary,linear-gradient(135deg, #7c6ff7, #6255d4));color:#fff;box-shadow:0 4px 0 var(--bb-primary-dark,#4a3fb0)}.session-btn.primary:hover{box-shadow:0 3px 0 var(--bb-primary-dark,#4a3fb0);transform:translateY(1px)}.session-btn.primary:active{box-shadow:0 0px 0 var(--bb-primary-dark,#4a3fb0);transform:translateY(3px)}.session-btn.secondary{background:var(--bb-surface,#f0eef5);color:var(--bb-text);box-shadow:0 4px 0 var(--bb-border,#d8d6e0)}.session-btn.secondary:hover{box-shadow:0 3px 0 var(--bb-border,#d8d6e0);transform:translateY(1px)}.session-btn.secondary:active{box-shadow:0 0px 0 var(--bb-border,#d8d6e0);transform:translateY(3px)}@media (width>=501px) and (width<=1024px){.session-summary-card{width:min(600px,100%);padding:32px 28px}.session-top-stats{grid-template-columns:repeat(5,1fr)}.session-category-stats{grid-template-columns:1fr 1fr}.session-actions{gap:14px}.session-btn{min-height:48px;padding:14px 28px}}@media (width<=500px){.session-summary-card{border-radius:20px;padding:20px 16px}.session-title{font-size:1.4rem}.session-reaction{font-size:2.4rem}.session-top-stats{grid-template-columns:repeat(3,1fr)}.session-category-stats{grid-template-columns:1fr}.session-challenge-row{grid-template-columns:1.4fr .5fr .9fr .6fr;font-size:.78rem}.session-actions{flex-direction:column}.session-btn{text-align:center;width:100%}}.spark-companion{z-index:800;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;bottom:16px;left:16px}.spark-body{border:3px solid var(--bb-secondary);background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000026}.spark-img{object-fit:cover;width:110%;height:110%;transition:opacity .15s}.spark-img-react{animation:.25s sparkImgPop}@keyframes sparkImgPop{0%{opacity:.6;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.spark-lottie{width:110%;height:110%}.spark-bubble{color:var(--bb-text);white-space:nowrap;background:#fff;border-radius:12px;margin-bottom:8px;padding:6px 12px;font-size:.85rem;font-weight:700;animation:.4s cubic-bezier(.34,1.56,.64,1) bubblePop;position:relative;box-shadow:0 4px 12px #0000001f}.spark-bubble:after{content:"";border-top:6px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.spark-bubble-correct{background:var(--bb-success-soft,#e8f8f0);color:var(--bb-success,#42bd7f)}.spark-bubble-correct:after{border-top-color:var(--bb-success-soft,#e8f8f0)}.spark-bubble-wrong{background:var(--bb-coral-soft,#fde8e6);color:var(--bb-coral,#e06b62)}.spark-bubble-wrong:after{border-top-color:var(--bb-coral-soft,#fde8e6)}.spark-bubble-streak{background:var(--bb-accent-soft,#fff5e0);color:var(--bb-accent-dark,#c88a00)}.spark-bubble-streak:after{border-top-color:var(--bb-accent-soft,#fff5e0)}.spark-bubble-time-warning{color:#c0392b;background:#fde8e6}.spark-bubble-time-warning:after{border-top-color:#fde8e6}.spark-bubble-thinking{color:#6255d4;background:#f0eeff}.spark-bubble-thinking:after{border-top-color:#f0eeff}.spark-bubble-celebrate{color:#c88a00;background:linear-gradient(135deg,#fff5e0,#ffe0b2);font-size:.9rem}.spark-bubble-celebrate:after{border-top-color:#fff5e0}@keyframes bubblePop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}.spark-companion.idle .spark-body{animation:3s ease-in-out infinite sparkIdle}.spark-companion.correct .spark-body{border-color:var(--bb-success);animation:.6s cubic-bezier(.34,1.56,.64,1) sparkHop;box-shadow:0 4px 24px #42bd7f73}@keyframes sparkHop{0%{transform:translateY(0)scaleX(1)scaleY(1)}15%{transform:translateY(2px)scaleX(1.1)scaleY(.9)}35%{transform:translateY(-16px)scaleX(.9)scaleY(1.1)}55%{transform:translateY(-2px)scaleX(1.05)scaleY(.95)}70%{transform:translateY(-8px)scaleX(.95)scaleY(1.05)}85%{transform:translateY(0)scaleX(1.02)scaleY(.98)}to{transform:translateY(0)scaleX(1)scaleY(1)}}.spark-companion.wrong .spark-body{border-color:var(--bb-coral);animation:.6s sparkWince;box-shadow:0 4px 20px #e06b6259}@keyframes sparkWince{0%{transform:scale(1)rotate(0)}10%{transform:scale(.9)rotate(-3deg)}25%{transform:scale(.92)rotate(0)}40%{transform:translate(-3px)rotate(-2deg)}55%{transform:translate(3px)rotate(2deg)}70%{transform:translate(-2px)rotate(-1deg)}85%{transform:translate(1px)rotate(0)}to{transform:scale(1)translate(0)rotate(0)}}.spark-companion.streak .spark-body{border-color:var(--bb-accent);animation:.7s sparkStreak;box-shadow:0 4px 28px #ffd16680}@keyframes sparkStreak{0%{transform:scale(1)rotate(0)}10%{transform:scale(1.12)rotate(-6deg)}25%{transform:scale(1.15)rotate(6deg)}40%{transform:scale(1.12)rotate(-8deg)}55%{transform:scale(1.08)rotate(8deg)}70%{transform:scale(1.05)rotate(-4deg)}85%{transform:scale(1.02)rotate(2deg)}to{transform:scale(1)rotate(0)}}.spark-companion.time-warning .spark-body{border-color:#e06b62;animation:.4s infinite sparkPulse;box-shadow:0 4px 20px #e06b6266}@keyframes sparkPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.spark-companion.thinking .spark-body{border-color:var(--bb-secondary);animation:2s ease-in-out infinite sparkThink;box-shadow:0 4px 16px #7c6ff74d}@keyframes sparkThink{0%,to{transform:translateY(0)rotate(0)}20%{transform:translateY(-2px)rotate(8deg)}50%{transform:translateY(-3px)rotate(8deg)}70%{transform:translateY(-2px)rotate(-5deg)}}.spark-companion.celebrate .spark-body{border-color:#f0b429;animation:1s cubic-bezier(.34,1.56,.64,1) sparkCelebrate;box-shadow:0 6px 32px #f0b42999}@keyframes sparkCelebrate{0%{transform:scale(1)rotate(0)}20%{transform:scale(1.3)rotate(-15deg)translateY(-10px)}40%{transform:scale(1.25)rotate(360deg)translateY(-14px)}60%{transform:scale(1.15)rotate(375deg)translateY(-6px)}80%{transform:scale(1.05)rotate(360deg)translateY(-2px)}to{transform:scale(1)rotate(360deg)translateY(0)}}.spark-companion.encourage .spark-body{border-color:var(--bb-success);animation:.8s sparkEncourage;box-shadow:0 4px 20px #42bd7f4d}@keyframes sparkEncourage{0%,to{transform:translateY(0)rotate(0)}20%{transform:translateY(-4px)rotate(3deg)}40%{transform:translateY(0)rotate(0)}60%{transform:translateY(-6px)rotate(-2deg)}80%{transform:translateY(-2px)rotate(1deg)}}.spark-stage-1 .spark-body{border-color:#b4afc8}.spark-stage-2 .spark-body{border-color:#7c6ff7}.spark-stage-3 .spark-body{border-color:#f0b429;box-shadow:0 4px 20px #f0b4294d}.spark-stage-4 .spark-body{border-color:#ffd166;box-shadow:0 4px 24px #ffd16673,0 0 12px #ffd16633}.spark-stage-4.idle .spark-body{animation:3s ease-in-out infinite sparkIdleHero}@keyframes sparkIdleHero{0%,to{transform:translateY(0);box-shadow:0 4px 24px #ffd16666,0 0 12px #ffd16626}50%{transform:translateY(-5px);box-shadow:0 6px 32px #ffd16699,0 0 20px #ffd1664d}}.spark-particles{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.spark-particle{width:6px;height:6px;animation:.8s ease-out forwards sparkParticleBurst;animation-delay:calc(var(--i) * 50ms);background:#ffd166;border-radius:50%;position:absolute}.spark-particle:nth-child(odd){background:#f0b429}.spark-particle:nth-child(3n){background:#42bd7f;width:4px;height:4px}@keyframes sparkParticleBurst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(calc(cos(calc(var(--i) * 60deg)) * 40px), calc(sin(calc(var(--i) * 60deg)) * 40px - 20px)) scale(0);opacity:0}}.spark-hat{z-index:3;filter:drop-shadow(0 2px 4px #0003);font-size:1.3rem;animation:3s ease-in-out infinite hatBob;position:absolute;top:-18px;left:50%;transform:translate(-50%)}@keyframes hatBob{0%,to{transform:translate(-50%)translateY(0)rotate(-3deg)}50%{transform:translate(-50%)translateY(-2px)rotate(3deg)}}.spark-accessory{z-index:3;filter:drop-shadow(0 1px 2px #00000026);font-size:.9rem;position:absolute;bottom:2px;right:-4px}.spark-trail{opacity:.8;font-size:1rem;animation:2s ease-in-out infinite trailPulse;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}@keyframes trailPulse{0%,to{opacity:.5;transform:translate(-50%)scale(.8)}50%{opacity:1;transform:translate(-50%)scale(1.1)}}@media (width<=600px){.spark-companion{bottom:10px;left:10px}.spark-body{width:56px;height:56px}.spark-img{width:100%;height:100%}.spark-bubble{padding:5px 10px;font-size:.78rem}}[data-sonner-toaster]{z-index:9999!important}[data-sonner-toast]{--normal-bg:transparent!important;--normal-border:none!important;box-shadow:none!important;padding:0!important}.toast-item{pointer-events:auto;border-left:4px solid var(--bb-primary);background:#fffffff2;border-radius:14px;align-items:center;gap:10px;padding:12px 18px;animation:.4s cubic-bezier(.34,1.56,.64,1) toastSlideIn;display:flex;box-shadow:0 6px 24px #00000026}.toast-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.toast-content{flex-direction:column;gap:2px;min-width:0;display:flex}.toast-title{color:var(--bb-text);font-size:.95rem;font-weight:700}.toast-message{color:var(--bb-text-secondary);font-size:.82rem}.toast-item.toast-achievement{border-left-color:var(--bb-accent);background:linear-gradient(135deg,#fff5dcf7,#fffffff7)}.toast-item.toast-milestone{border-left-color:var(--bb-secondary);background:linear-gradient(135deg,#ebe6fff7,#fffffff7)}.toast-item.toast-streak{border-left-color:var(--bb-coral);background:linear-gradient(135deg,#ffebe8f7,#fffffff7)}.toast-item.toast-levelup{border-left-color:var(--bb-success);background:linear-gradient(135deg,#dcffeef7,#fffffff7)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(80px)scale(.85)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(80px)scale(.85)}}@media (width<=600px){.toast-container{max-width:none;top:10px;left:10px;right:10px}.toast-item{border-radius:12px;padding:10px 14px}.toast-icon{font-size:1.3rem}.toast-title{font-size:.88rem}}.streak-overlay{z-index:9999;background:#0000008c;justify-content:center;align-items:center;animation:.3s streak-fade-in;display:flex;position:fixed;inset:0}@keyframes streak-fade-in{0%{opacity:0}to{opacity:1}}.streak-modal{text-align:center;background:linear-gradient(145deg,#fff 0%,#f8f6ff 100%);border-radius:24px;width:90vw;max-width:380px;padding:28px 24px;animation:.4s cubic-bezier(.34,1.56,.64,1) streak-pop-in;position:relative;box-shadow:0 20px 60px #0000004d}@keyframes streak-pop-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.streak-close{cursor:pointer;color:#999;background:0 0;border:none;padding:4px;font-size:1.2rem;position:absolute;top:12px;right:14px}.streak-title{color:var(--bb-primary-text);margin:0 0 4px;font-size:1.5rem;font-weight:900}.streak-subtitle{color:#666;margin:0 0 18px;font-size:1rem}.streak-calendar{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:20px;display:flex}.streak-day{background:#00000008;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:3px;min-width:44px;padding:8px 6px;transition:all .2s;display:flex}.streak-day.past{background:#42bd7f1a;border-color:#42bd7f4d}.streak-day.current{border-color:var(--bb-primary-text);background:linear-gradient(135deg,#7c6ff71a,#ffd16626);transform:scale(1.08);box-shadow:0 2px 12px #7c6ff733}.streak-day.future{opacity:.45}.streak-day-num{text-transform:uppercase;color:#888;font-size:.6rem;font-weight:700}.streak-day-check{color:var(--bb-success);font-size:1.1rem}.streak-day-gift{font-size:1.3rem;transition:transform .3s}.streak-day-gift.bounce{transform:translateY(-4px)}.streak-day-lock{color:#ccc;font-size:1rem}.streak-day-reward{color:var(--bb-accent-dark);font-size:.65rem;font-weight:700}.streak-collect-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c6ff7 0%,#6255d4 100%);border:none;border-radius:14px;padding:12px 32px;font-size:1.05rem;font-weight:800;transition:transform .15s;box-shadow:0 4px 16px #7c6ff74d}.streak-collect-btn:hover{transform:scale(1.04)}.streak-collected-msg{color:var(--bb-success);font-size:1.2rem;font-weight:800;animation:.4s cubic-bezier(.34,1.56,.64,1) streak-collected-pop}@keyframes streak-collected-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (width<=500px){.streak-modal{padding:20px 16px}.streak-day{min-width:38px;padding:6px 4px}.streak-calendar{gap:4px}}.pwa-prompt{z-index:9998;align-items:flex-end;gap:10px;animation:.5s cubic-bezier(.34,1.56,.64,1) pwa-slide-up;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes pwa-slide-up{0%{opacity:0;transform:translate(-50%)translateY(40px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pwa-spark{font-size:2.5rem;animation:1.5s ease-in-out infinite pwa-bounce}@keyframes pwa-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.pwa-bubble{background:var(--bb-bg-card-solid,#fff);border:2px solid var(--bb-primary,#7c6ff7);border-radius:18px 18px 18px 4px;max-width:280px;padding:14px 18px;box-shadow:0 8px 32px #0000002e}.pwa-text{color:var(--bb-text,#2d2540);margin:0 0 10px;font-size:.95rem;font-weight:600;line-height:1.4}.pwa-actions{gap:8px;display:flex}.pwa-btn{cursor:pointer;border:none;border-radius:10px;padding:8px 18px;font-size:.9rem;font-weight:800;transition:transform .15s}.pwa-btn:hover{transform:scale(1.04)}.pwa-yes{background:var(--bb-gradient-primary,linear-gradient(135deg, #7c6ff7, #6255d4));color:#fff;box-shadow:0 3px 0 var(--bb-primary-dark,#4a3fb0)}.pwa-no{background:var(--bb-surface,#f0eef5);color:var(--bb-text-secondary,#666)}@media (width<=500px){.pwa-prompt{bottom:16px;left:12px;right:12px;transform:none}@keyframes pwa-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.pwa-bubble{max-width:none}}.splash-screen{z-index:99999;cursor:pointer;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0;overflow:hidden}.splash-screen.phase-done{opacity:0;pointer-events:none}.splash-bg{background:linear-gradient(135deg,#2d2540 0%,#3a3153 30%,#7c6ff7 100%);animation:4s infinite alternate splash-bg-shift;position:absolute;inset:0}@keyframes splash-bg-shift{0%{filter:brightness(.9)}to{filter:brightness(1.1)}}.splash-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex;position:relative}.splash-logo-container{opacity:0;transition:all .8s cubic-bezier(.34,1.56,.64,1);transform:scale(.6)}.phase-logo .splash-logo-container,.phase-spark .splash-logo-container,.phase-ready .splash-logo-container,.phase-done .splash-logo-container{opacity:1;transform:scale(1)}.splash-logo{text-shadow:0 4px 20px #0000004d;margin:0;font-size:4rem;font-weight:900;line-height:1.1}.splash-logo-brain{color:#fff}.splash-logo-boost{color:#ffd166}.splash-subtitle{color:#fff9;letter-spacing:.05em;opacity:0;margin:8px 0 0;font-size:1rem;font-weight:600;transition:opacity .6s .3s}.phase-spark .splash-subtitle,.phase-ready .splash-subtitle,.phase-done .splash-subtitle{opacity:1}.splash-spark-container{width:100px;height:100px;position:relative}.splash-spark-img,.splash-spark-lottie{object-fit:contain;opacity:0;width:120px;height:120px;transition:all .6s cubic-bezier(.34,1.56,.64,1);display:block;transform:translateY(40px)scale(.5)}.phase-spark .splash-spark-img,.phase-ready .splash-spark-img,.phase-done .splash-spark-img,.phase-spark .splash-spark-lottie,.phase-ready .splash-spark-lottie,.phase-done .splash-spark-lottie{opacity:1;transform:translateY(0)scale(1)}.phase-ready .splash-spark-img,.phase-ready .splash-spark-lottie{animation:1.5s ease-in-out infinite splash-spark-bob}@keyframes splash-spark-bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.05)}}.splash-sparkles{pointer-events:none;position:absolute;inset:-30px}.splash-particle{opacity:0;background:#ffd166;border-radius:50%;width:8px;height:8px;transition:none;position:absolute}.phase-spark .splash-particle,.phase-ready .splash-particle{animation:1s cubic-bezier(.34,1.56,.64,1) forwards splash-burst}.splash-particle.p-0{--dx:-50px;--dy:-50px;background:#ffd166;animation-delay:0s;top:50%;left:50%}.splash-particle.p-1{--dx:50px;--dy:-40px;background:#a594ff;animation-delay:50ms;top:50%;left:50%}.splash-particle.p-2{--dx:-60px;--dy:10px;background:#4ecdc4;animation-delay:.1s;top:50%;left:50%}.splash-particle.p-3{--dx:40px;--dy:50px;background:#ffd166;animation-delay:.15s;top:50%;left:50%}.splash-particle.p-4{--dx:0px;--dy:-60px;background:#ff8a80;animation-delay:80ms;top:50%;left:50%}.splash-particle.p-5{--dx:-30px;--dy:55px;background:#a594ff;animation-delay:.12s;top:50%;left:50%}.splash-particle.p-6{--dx:60px;--dy:20px;background:#42bd7f;animation-delay:60ms;top:50%;left:50%}.splash-particle.p-7{--dx:-15px;--dy:-55px;background:#ffd166;animation-delay:.18s;top:50%;left:50%}@keyframes splash-burst{0%{opacity:1;transform:translate(0)scale(1)}60%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(1.2)}to{opacity:0;transform:translate(calc(var(--dx) * 1.3), calc(var(--dy) * 1.3)) scale(0)}}.splash-tap{color:#ffffffd9;margin:0;font-size:1.2rem;font-weight:700;animation:1.5s ease-in-out infinite splash-pulse}@keyframes splash-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}body.reduced-motion .splash-screen{animation:none}body.reduced-motion .splash-logo-container{opacity:1;transition:none;transform:scale(1)}body.reduced-motion .splash-spark-img{opacity:1;transition:none;animation:none;transform:none}body.reduced-motion .splash-particle{display:none}body.reduced-motion .splash-bg{animation:none}@media (width<=500px){.splash-logo{font-size:2.8rem}.splash-spark-img{width:70px;height:70px}}.ui-tutorial-overlay{z-index:9999;cursor:pointer;position:fixed;inset:0}.tutorial-backdrop{pointer-events:none;position:absolute;inset:0}.tutorial-highlight-ring{border:3px solid var(--bb-accent);pointer-events:none;z-index:10000;border-radius:16px;animation:2s ease-in-out infinite tutorialPulse;position:fixed;box-shadow:0 0 0 4px #ffd1664d,0 0 20px #ffd16640}@keyframes tutorialPulse{0%,to{box-shadow:0 0 0 4px #ffd1664d,0 0 20px #ffd16640}50%{box-shadow:0 0 0 8px #ffd16626,0 0 30px #ffd16659}}.tutorial-bubble{z-index:10001;cursor:default;background:#fff;border-radius:24px;width:90vw;max-width:320px;padding:24px;animation:.4s cubic-bezier(.34,1.56,.64,1) bubbleAppear;position:fixed;box-shadow:0 16px 48px #00000040,0 0 0 2px #7c6ff726}@keyframes bubbleAppear{0%{opacity:0;transform:translate(-50%)scale(.85)}to{opacity:1;transform:translate(-50%)scale(1)}}.tutorial-bubble.above{animation-name:bubbleAppearAbove}@keyframes bubbleAppearAbove{0%{opacity:0;transform:translate(-50%)translateY(-100%)scale(.85)}to{opacity:1;transform:translate(-50%)translateY(-100%)scale(1)}}.tutorial-spark{text-align:center;margin-bottom:8px;font-size:2rem;animation:2s ease-in-out infinite sparkBob}@keyframes sparkBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.tutorial-content{text-align:center;margin-bottom:16px}.tutorial-title{color:var(--bb-text);margin:0 0 6px;font-size:1.2rem;font-weight:800}.tutorial-message{color:var(--bb-text-secondary);margin:0;font-size:.95rem;line-height:1.45}.tutorial-actions{justify-content:center;gap:10px;display:flex}.tutorial-next-btn{background:var(--bb-gradient-primary);color:var(--bb-text-light);cursor:pointer;border:none;border-radius:14px;padding:10px 28px;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 4px #00000026}.tutorial-next-btn:hover{transform:translateY(1px);box-shadow:0 2px #00000026}.tutorial-skip-btn{color:var(--bb-text-muted);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:.9rem;font-weight:600}.tutorial-skip-btn:hover{color:var(--bb-text-secondary)}.tutorial-dots{justify-content:center;gap:8px;margin-top:14px;display:flex}.tutorial-dot{background:var(--bb-border);border-radius:50%;width:8px;height:8px;transition:all .3s}.tutorial-dot.active{background:var(--bb-primary);transform:scale(1.3)}.tutorial-dot.done{background:var(--bb-success)}@media (width<=500px){.tutorial-bubble{max-width:280px;padding:18px}.tutorial-title{font-size:1.05rem}.tutorial-message{font-size:.88rem}.tutorial-spark{font-size:1.6rem}}.feedback-layer{pointer-events:none;z-index:900;position:fixed;inset:0;overflow:hidden}.feedback-layer.shake{animation:.3s ease-out fbShake}@keyframes fbShake{0%,to{transform:translate(0)}15%{transform:translate(-4px,2px)}30%{transform:translate(4px,-2px)}45%{transform:translate(-3px,-1px)}60%{transform:translate(3px,1px)}75%{transform:translate(-2px,1px)}90%{transform:translate(2px,-1px)}}.fb-sparkle{width:var(--size,6px);height:var(--size,6px);background:radial-gradient(circle, hsl(var(--hue,45) 100% 65%) 0%, hsl(var(--hue,45) 100% 80%) 50%, transparent 100%);box-shadow:0 0 4px 1px hsl(var(--hue,45) 100% 70% / .6);pointer-events:none;border-radius:50%;animation:.55s ease-out forwards fbSparkleBurst;position:absolute;transform:translate(-50%,-50%)}@keyframes fbSparkleBurst{0%{opacity:1;transform:translate(-50%,-50%)translate(0)scale(1)}to{opacity:0;transform:translate(-50%, -50%) translate(var(--tx,0px), var(--ty,0px)) scale(.3)}}.fb-float-text{pointer-events:none;text-shadow:0 1px 4px #0000004d;white-space:nowrap;font-size:1.3rem;font-weight:900;animation:.85s ease-out forwards fbFloatUp;position:absolute;transform:translate(-50%,-50%)}@keyframes fbFloatUp{0%{opacity:1;transform:translate(-50%,-50%)translateY(0)scale(1.2)}60%{opacity:1;transform:translate(-50%,-50%)translateY(-30px)scale(1)}to{opacity:0;transform:translate(-50%,-50%)translateY(-50px)scale(.8)}}.fb-combo{z-index:910;flex-direction:column;align-items:center;gap:2px;animation:.35s cubic-bezier(.34,1.56,.64,1) fbComboIn;display:flex;position:fixed;top:80px;right:20px}.fb-combo-count{color:#ffd166;text-shadow:0 2px 8px #ffb40080;font-size:2rem;font-weight:900;line-height:1}.fb-combo-label{color:#fff;text-shadow:0 1px 4px #0006;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;font-weight:800}.fb-combo.warm .fb-combo-count{color:#ffd166}.fb-combo.hot .fb-combo-count{color:#ff8a65;text-shadow:0 2px 12px #ff780099}.fb-combo.fire .fb-combo-count{color:#ff5252;text-shadow:0 2px 16px #ff3200b3;animation:.5s ease-in-out infinite fbFirePulse}@keyframes fbComboIn{0%{opacity:0;transform:scale(.5)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fbFirePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.fb-streak-border{pointer-events:none;z-index:899;border:3px solid #0000;border-radius:0;animation:1.5s ease-in-out infinite fbBorderGlow;position:fixed;inset:0}.fb-streak-border.hot{border-color:#ff8a6566;box-shadow:inset 0 0 20px #ff8a6526}.fb-streak-border.fire{border-color:#ff525280;animation:.8s ease-in-out infinite fbBorderFire;box-shadow:inset 0 0 30px #ff525233}@keyframes fbBorderGlow{0%,to{opacity:.6}50%{opacity:1}}@keyframes fbBorderFire{0%,to{opacity:.7;border-color:#ff525280}50%{opacity:1;border-color:#ff780099}}@media (prefers-reduced-motion:reduce){.feedback-layer.shake{animation:none}.fb-sparkle,.fb-float-text,.fb-combo{animation-duration:10ms}.fb-streak-border{animation:none}}@media (width<=500px){.fb-combo{top:60px;right:12px}.fb-combo-count{font-size:1.5rem}.fb-combo-label{font-size:.7rem}.fb-float-text{font-size:1.1rem}}.evo-reveal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(#3a3153eb 0%,#1e1932fa 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0}.evo-reveal-center{justify-content:center;align-items:center;display:flex;position:relative}.evo-reveal-spark{object-fit:contain;filter:drop-shadow(0 0 30px #ffd16680);border-radius:50%;width:160px;height:160px}.evo-reveal-burst{pointer-events:none;border-radius:50%;width:200px;height:200px;position:absolute}.evo-reveal-text{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:0 2rem;display:flex}.evo-reveal-sparkles{color:#ffd166;animation:1.5s ease-in-out infinite evoSparkle}@keyframes evoSparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.evo-reveal-title{color:#ffd166;text-shadow:0 2px 12px #ffd16680;margin:0;font-size:2rem;font-weight:900;line-height:1.2}.evo-reveal-subtitle{color:#ffffffd9;max-width:300px;margin:0;font-size:1.1rem;font-weight:600}.evo-reveal-cta{color:#3a2200;cursor:pointer;background:linear-gradient(135deg,#ffd166,#f0b030);border:none;border-radius:16px;padding:14px 36px;font-size:1.2rem;font-weight:900;transition:transform .15s,box-shadow .15s;box-shadow:0 4px #c08a00,0 6px 24px #f0b03066}.evo-reveal-cta:hover{transform:translateY(1px);box-shadow:0 3px #c08a00,0 4px 16px #f0b03066}.evo-reveal-cta:active{transform:translateY(3px);box-shadow:0 0 #c08a00}@media (width<=500px){.evo-reveal-spark{width:120px;height:120px}.evo-reveal-title{font-size:1.5rem}.evo-reveal-subtitle{font-size:.95rem}.evo-reveal-cta{padding:12px 28px;font-size:1rem}}@media (prefers-reduced-motion:reduce){.evo-reveal-sparkles{animation:none}}.admin-portal{background:#f5f3fa;min-height:100vh;padding:0 0 3rem}.admin-topbar{color:#fff;background:#3a3153;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.admin-back-btn{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex}.admin-back-btn:hover{background:#ffffff40}.admin-title{align-items:center;gap:.5rem;margin:0;font-size:1.2rem;font-weight:800;display:flex}.admin-invite-bar{align-items:center;padding:.75rem 1.25rem 0;display:flex}.admin-invite-btn{color:#fff;cursor:pointer;background:#6c63ff;border:none;border-radius:10px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;transition:opacity .2s}.admin-invite-btn.outline{color:#6c63ff;background:#fff;border:1.5px solid #6c63ff}.admin-invite-btn:hover{opacity:.85}.admin-invite-form{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;display:flex}.admin-invite-input{color:#3a3153;border:1.5px solid #e0dde8;border-radius:10px;outline:none;flex:1;min-width:200px;padding:.5rem .875rem;font-size:.85rem;font-weight:600}.admin-invite-input:focus{border-color:#6c63ff}.admin-bulk-invite-form{flex-direction:column;flex:1;gap:.5rem;display:flex}.admin-bulk-textarea{color:#3a3153;resize:vertical;box-sizing:border-box;border:1.5px solid #e0dde8;border-radius:10px;outline:none;width:100%;padding:.6rem .875rem;font-family:inherit;font-size:.82rem;font-weight:600}.admin-bulk-textarea:focus{border-color:#6c63ff}.admin-bulk-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-bulk-count{color:#8a849c;margin-right:auto;font-size:.75rem;font-weight:700}.admin-bulk-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem 1.25rem;display:flex}.admin-select-all{color:#6b6085;cursor:pointer;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:flex}.admin-select-all input[type=checkbox]{cursor:pointer;accent-color:#6c63ff;width:16px;height:16px}.admin-bulk-status-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-selected-count{color:#6c63ff;font-size:.75rem;font-weight:800}.admin-user-checkbox{cursor:pointer;accent-color:#6c63ff;flex-shrink:0;width:16px;height:16px;margin-top:2px}.admin-user-card.selected{background:#f5f3ff;border:1.5px solid #6c63ff}.admin-stats{grid-template-columns:repeat(4,1fr);gap:.5rem;padding:1rem 1.25rem;display:grid}.admin-stat-card{text-align:center;background:#fff;border-radius:12px;padding:.75rem;box-shadow:0 1px 4px #0000000f}.admin-stat-value{color:#3a3153;font-size:1.5rem;font-weight:900;display:block}.admin-stat-label{color:#8a849c;text-transform:uppercase;letter-spacing:.5px;font-size:.65rem;font-weight:700}.admin-action-msg{color:#2e7d32;text-align:center;background:#e8f5e9;border:1px solid #81c784;border-radius:10px;margin:0 1.25rem;padding:.6rem 1rem;font-size:.85rem;font-weight:700}.admin-filters{gap:.4rem;margin-bottom:.75rem;padding:0 1.25rem;display:flex;overflow-x:auto}.admin-filter-btn{color:#6b6085;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e0dde8;border-radius:20px;align-items:center;gap:.3rem;padding:.4rem 1rem;font-size:.78rem;font-weight:700;transition:all .2s;display:flex}.admin-filter-btn.active{color:#fff;background:#3a3153;border-color:#3a3153}.admin-filter-badge{color:#fff;text-align:center;background:#ff6b6b;border-radius:10px;min-width:18px;padding:1px 6px;font-size:.65rem;font-weight:900}.admin-user-list{flex-direction:column;gap:.5rem;padding:0 1.25rem;display:flex}.admin-loading,.admin-error,.admin-empty{text-align:center;color:#8a849c;padding:2rem;font-weight:600}.admin-error{color:#ff6b6b}.admin-user-card{background:#fff;border-radius:14px;flex-direction:column;gap:.6rem;padding:.85rem 1rem;display:flex;box-shadow:0 1px 4px #0000000f}.admin-user-card.pending{border-left:4px solid #f0b429}.admin-user-card.disabled{opacity:.6;border-left:4px solid #ff6b6b}.admin-user-info{align-items:flex-start;gap:.75rem;display:flex}.admin-user-avatar{color:#6b6085;background:#e8e5f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.admin-user-details{flex:1;min-width:0}.admin-user-name{color:#3a3153;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:1rem;font-weight:800;display:flex}.admin-role-badge{color:#fff;text-transform:uppercase;background:#7c6ff7;border-radius:10px;padding:2px 8px;font-size:.6rem;font-weight:900}.admin-me-badge{color:#6b6085;text-transform:uppercase;background:#e8e5f0;border-radius:10px;padding:2px 8px;font-size:.6rem;font-weight:900}.admin-user-email{color:#6b6085;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.admin-user-meta{color:#8a849c;margin-top:2px;font-size:.72rem;font-weight:600}.admin-user-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-status-pill{text-transform:uppercase;letter-spacing:.3px;border:1.5px solid;border-radius:12px;padding:3px 10px;font-size:.7rem;font-weight:800}.admin-action-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:4px;padding:5px 12px;font-size:.75rem;font-weight:800;transition:all .15s;display:flex}.admin-action-btn.approve{color:#fff;background:#42bd7f}.admin-action-btn.approve:hover{background:#36a06a}.admin-action-btn.disable{color:#fff;background:#ff6b6b}.admin-action-btn.disable:hover{background:#e55555}.admin-refresh-btn{color:#fff;cursor:pointer;background:#3a3153;border:none;border-radius:10px;margin:1.5rem auto 0;padding:.6rem 2rem;font-size:.85rem;font-weight:700;transition:opacity .2s;display:block}.admin-refresh-btn:hover{opacity:.85}@media (width<=500px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-stat-value{font-size:1.2rem}}.parent-onboarding-screen{background:url(/bg.png) center/cover no-repeat, var(--bb-gradient-main);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.parent-onboarding-screen:before{content:"";pointer-events:none;background:linear-gradient(#583cb48c 0%,#583cb459 40%,#583cb440 100%);position:absolute;inset:0}.parent-onboarding-container{text-align:center;z-index:1;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:480px;display:flex;position:relative}.parent-onboarding-spark{margin-bottom:4px}.parent-onboarding-spark-img{object-fit:contain;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff3;border:3px solid #ffffff4d;border-radius:50%;width:88px;height:88px;padding:8px;animation:3s ease-in-out infinite parentOnboardingFloat;box-shadow:0 4px 20px #00000026}@keyframes parentOnboardingFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.parent-onboarding-greeting{color:var(--bb-text-light);opacity:.9;text-shadow:0 1px 6px #00000040;margin:-8px 0 0;font-size:1.15rem;font-weight:600}.parent-onboarding-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff2e;border:1.5px solid #ffffff4d;border-radius:24px;width:100%;padding:32px 28px;box-shadow:0 8px 32px #0000001f}.parent-onboarding-icon{margin-bottom:12px;font-size:2.4rem;display:block}.parent-onboarding-card h2{color:var(--bb-text-light);text-shadow:0 2px 8px #0000004d;margin-bottom:12px;font-size:1.5rem}.parent-onboarding-card p{color:var(--bb-text-light);opacity:.92;text-shadow:0 1px 4px #0003;font-size:1rem;line-height:1.6}.parent-onboarding-dots{justify-content:center;gap:8px;display:flex}.parent-onboarding-dot{background:#ffffff4d;border-radius:50%;width:10px;height:10px;transition:all .3s}.parent-onboarding-dot.active{background:#fffffff2;transform:scale(1.2);box-shadow:0 0 8px #fff6}.parent-onboarding-dot.done{background:#fff9}.parent-onboarding-actions{justify-content:center;gap:12px;width:100%;display:flex}.parent-onboarding-next{color:var(--bb-primary-dark);cursor:pointer;background:#fffffff2;border:none;border-radius:14px;padding:14px 36px;font-size:1.05rem;font-weight:700;transition:all .3s;box-shadow:0 4px 16px #0000001f}.parent-onboarding-next:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 24px #0000002e}.parent-onboarding-back,.parent-onboarding-skip{color:var(--bb-text-light);cursor:pointer;text-shadow:0 1px 4px #0003;background:#ffffff26;border:1.5px solid #ffffff4d;border-radius:14px;padding:14px 28px;font-size:1rem;font-weight:600;transition:all .3s}.parent-onboarding-back:hover,.parent-onboarding-skip:hover{background:#ffffff40;transform:translateY(-1px)}@media (width<=600px){.parent-onboarding-screen{align-items:flex-start;padding:8vh 16px 16px}.parent-onboarding-spark-img{width:72px;height:72px;padding:6px}.parent-onboarding-card{border-radius:20px;padding:24px 20px}.parent-onboarding-icon{font-size:2rem}.parent-onboarding-card h2{font-size:1.25rem}.parent-onboarding-card p{font-size:.92rem}.parent-onboarding-next{padding:12px 28px;font-size:.95rem}.parent-onboarding-back,.parent-onboarding-skip{padding:12px 20px;font-size:.92rem}}@media (width<=380px){.parent-onboarding-card{padding:20px 16px}.parent-onboarding-actions{flex-direction:column-reverse}.parent-onboarding-next,.parent-onboarding-back,.parent-onboarding-skip{width:100%}}.legal-page{background:var(--bb-gradient-main,linear-gradient(135deg, #667eea 0%, #764ba2 100%));flex-direction:column;align-items:center;min-height:100dvh;padding:20px;display:flex}.legal-page-back{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:12px;align-self:flex-start;margin-bottom:16px;padding:10px 18px;font-size:1rem;font-weight:800;transition:background .15s}.legal-page-back:hover{background:#ffffff4d}.legal-page-card{color:#3a3153;background:#fffffff2;border-radius:24px;width:100%;max-width:720px;padding:36px 32px;line-height:1.7;box-shadow:0 20px 60px #00000026}.legal-page-card h1{margin:0 0 8px;font-size:1.6rem;font-weight:900}.legal-page-card .legal-updated{color:#888;margin:0 0 24px;font-size:.85rem}.legal-page-card h2{color:#5a4d8a;margin:28px 0 10px;font-size:1.15rem;font-weight:800}.legal-page-card p,.legal-page-card li{color:#555;margin:0 0 12px;font-size:.95rem}.legal-page-card ul{margin:0 0 12px;padding-left:20px}.legal-page-card li{margin-bottom:6px}.legal-page-card a{color:#6255d4;text-decoration:underline}@media (width<=600px){.legal-page-card{border-radius:18px;padding:24px 18px}.legal-page-card h1{font-size:1.3rem}}.error-boundary{background:var(--bb-gradient-main,linear-gradient(135deg, #667eea 0%, #764ba2 100%));justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.error-boundary-card{text-align:center;background:#fffffff2;border-radius:24px;width:100%;max-width:400px;padding:40px 32px;animation:.5s cubic-bezier(.34,1.56,.64,1) errorBounceIn;box-shadow:0 20px 60px #0003}@keyframes errorBounceIn{0%{opacity:0;transform:scale(.85)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.error-boundary-emoji{margin-bottom:16px;font-size:4rem}.error-boundary-title{color:#3a3153;margin:0 0 12px;font-size:1.5rem;font-weight:900}.error-boundary-message{color:#666;margin:0 0 24px;font-size:1rem;line-height:1.5}.error-boundary-actions{justify-content:center;gap:12px;display:flex}.error-boundary-btn{cursor:pointer;border:none;border-radius:14px;padding:14px 24px;font-size:1rem;font-weight:800;transition:transform .15s,box-shadow .15s}.error-boundary-btn.primary{color:#fff;background:linear-gradient(135deg,#7c6ff7,#6255d4);box-shadow:0 4px #4a3fb0}.error-boundary-btn.primary:hover{transform:translateY(1px);box-shadow:0 3px #4a3fb0}.error-boundary-btn.primary:active{transform:translateY(3px);box-shadow:0 0 #4a3fb0}.error-boundary-btn.secondary{color:#3a3153;background:#f0eef5;box-shadow:0 4px #d8d6e0}.error-boundary-btn.secondary:hover{transform:translateY(1px);box-shadow:0 3px #d8d6e0}.error-boundary-btn.secondary:active{transform:translateY(3px);box-shadow:0 0 #d8d6e0}@media (width<=500px){.error-boundary-card{padding:28px 20px}.error-boundary-emoji{font-size:3rem}.error-boundary-title{font-size:1.25rem}.error-boundary-actions{flex-direction:column}}
