@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Nunito:wght@400;600;700;800&display=swap";:root{--primary-50: #f5f3ff;--primary-100: #ede9fe;--primary-200: #ddd6fe;--primary-300: #c4b5fd;--primary-400: #a78bfa;--primary-500: #8b5cf6;--primary-600: #7c3aed;--primary-700: #6d28d9;--primary-800: #5b21b6;--primary-900: #4c1d95;--secondary-400: #fb7185;--secondary-500: #f43f5e;--secondary-600: #e11d48;--accent-400: #2dd4bf;--accent-500: #14b8a6;--accent-600: #0d9488;--bg: linear-gradient(135deg, #667eea 0%, #764ba2 30%, #9f7aea 60%, #ed64a6 100%);--bg-solid: #f8fafc;--bg-elevated: #ffffff;--surface: #ffffff;--surface-hover: #f1f5f9;--card: rgba(255, 255, 255, .95);--card-hover: rgba(255, 255, 255, .98);--card-active: rgba(255, 255, 255, 1);--glass: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .5);--glass-hover: rgba(255, 255, 255, .85);--text: #1e293b;--text-secondary: #475569;--text-tertiary: #64748b;--muted: #94a3b8;--placeholder: #cbd5e1;--border: #e2e8f0;--border-hover: #cbd5e1;--border-focus: var(--primary-500);--primary: var(--primary-600);--primary-light: var(--primary-400);--primary-bg: var(--primary-100);--primary-glow: rgba(124, 58, 237, .25);--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .1);--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -1px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -2px rgba(0,0,0,.04);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.08), 0 10px 10px -5px rgba(0,0,0,.02);--shadow-glow: 0 0 0 3px var(--primary-glow), 0 10px 40px -10px rgba(124, 58, 237, .3);--shadow-inner: inset 0 2px 4px rgba(0,0,0,.04);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .4s;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Poppins", "Fredoka One", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font: var(--font-sans);--font-fun: var(--font-display)}body{font-family:var(--font);background:var(--bg);background-attachment:fixed;background-size:400% 400%;color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative;line-height:1.6;animation:gradientShift 15s ease infinite}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 15% 20%,rgba(255,182,193,.4) 0%,transparent 40%),radial-gradient(circle at 85% 30%,rgba(173,216,230,.4) 0%,transparent 40%),radial-gradient(circle at 50% 80%,rgba(255,218,185,.3) 0%,transparent 40%),radial-gradient(circle at 25% 70%,rgba(221,160,221,.3) 0%,transparent 35%);animation:floatingOrbs 25s ease-in-out infinite;pointer-events:none}@keyframes floatingOrbs{0%,to{transform:translateY(0) scale(1);opacity:.8}33%{transform:translateY(-15px) scale(1.02);opacity:1}66%{transform:translateY(10px) scale(.98);opacity:.9}}::selection{background:var(--primary-300);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff4d;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-400),var(--primary-600));border-radius:var(--radius-full);border:2px solid rgba(255,255,255,.3)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--primary-500),var(--primary-700))}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.app-layout{min-height:100vh;display:flex;flex-direction:column}.top-nav{background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.top-nav:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary-400),var(--secondary-400),var(--accent-400),var(--primary-400));opacity:.6}.nav-inner{max-width:1280px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:24px}.nav-brand{display:flex;align-items:center;gap:10px;margin-right:24px;text-decoration:none;color:var(--text)}.brand-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));border-radius:var(--radius-lg);box-shadow:var(--shadow-md),0 0 20px #7c3aed4d;animation:gentleFloat 4s ease-in-out infinite}@keyframes gentleFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(2deg)}}.brand-text{font-size:22px;font-weight:800;font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(135deg,var(--primary-600),var(--secondary-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-sub{font-size:12px;color:var(--primary);display:none;font-weight:600;letter-spacing:.02em;font-family:var(--font-fun)}@media(min-width:900px){.brand-sub{display:inline}}.nav-links{display:flex;gap:2px;flex:1}.nav-link{position:relative;padding:10px 16px;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:600;font-family:var(--font-sans);transition:all var(--dur-fast) var(--ease-smooth);white-space:nowrap}.nav-link:after{content:"";position:absolute;bottom:4px;left:50%;width:0;height:3px;background:linear-gradient(90deg,var(--primary-500),var(--secondary-400));border-radius:var(--radius-full);transition:all var(--dur-fast) var(--ease-out);transform:translate(-50%)}.nav-link:hover{color:var(--primary-600);background:var(--primary-50)}.nav-link-active{color:var(--primary-700)!important;background:var(--primary-100)!important;font-weight:700}.nav-link-active:after{width:70%!important}.nav-link-active:after{content:"";position:absolute;bottom:-2px;left:16px;right:16px;height:3px;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:2px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.nav-user{display:flex;align-items:center;gap:8px;font-size:13px}.nav-user-name{color:var(--text-secondary);display:none;font-weight:500}@media(min-width:768px){.nav-user-name{display:inline}}.nav-hamburger{display:none;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:6px 8px;cursor:pointer;font-size:20px;line-height:1}@media(max-width:768px){.nav-hamburger{display:flex;align-items:center}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:#0f1117f7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:8px;gap:2px;animation:slideDown .25s var(--ease-out)}.nav-links.open{display:flex}.nav-link{padding:12px 16px;border-radius:var(--radius-md)}.nav-link-active:after{display:none}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.main-content{flex:1;padding:24px;animation:fadeSlideUp .5s var(--ease-out)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.container{max-width:1200px;margin:0 auto;padding:32px 24px 80px}.header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.h1{font-size:32px;font-weight:900;letter-spacing:-.03em;line-height:1.15}.sub{color:var(--text-secondary);font-size:14px;margin-top:6px;font-weight:400;line-height:1.5}.section-title{font-size:16px;font-weight:700;margin:0 0 16px;display:flex;align-items:center;gap:8px}.panel{background:var(--card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-md);transition:all var(--dur-normal) var(--ease-smooth);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-200)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row>*{flex:1;min-width:200px}.input{background:var(--surface);border:2px solid var(--border);color:var(--text);padding:12px 16px;border-radius:var(--radius-md);outline:none;min-width:240px;font-size:15px;font-family:var(--font);font-weight:500;transition:all var(--dur-fast) var(--ease-smooth);box-shadow:var(--shadow-xs)}.input::placeholder{color:var(--placeholder);font-weight:400}.input:focus{border-color:var(--primary-400);box-shadow:var(--shadow-glow);background:var(--surface)}.input:hover:not(:focus){border-color:var(--border-hover)}.input.full{width:100%;min-width:0}select.input{cursor:pointer}textarea.input{resize:vertical;min-height:80px;line-height:1.5}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-stack{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:2px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:14px;font-family:var(--font-sans);transition:all var(--dur-fast) var(--ease-smooth);white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs)}.btn:hover{background:var(--surface-hover);border-color:var(--primary-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-inner)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none}.btnPrimary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-color:transparent;color:#fff;box-shadow:0 4px 14px #7c3aed66;font-weight:600}.btnPrimary:hover{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));box-shadow:0 6px 20px #7c3aed80;transform:translateY(-2px)}.btnPrimary:active{background:linear-gradient(135deg,var(--primary-700),var(--primary-600))}.btnSuccess{background:linear-gradient(135deg,var(--success),#059669);border-color:transparent;color:#fff;box-shadow:0 4px 14px #10b98166}.btnSuccess:hover{background:linear-gradient(135deg,#059669,var(--success));box-shadow:0 6px 20px #10b98180;transform:translateY(-2px)}.btnDanger{background:linear-gradient(135deg,var(--danger),#dc2626);border-color:transparent;color:#fff;box-shadow:0 4px 14px #ef444466}.btnDanger:hover{background:linear-gradient(135deg,#dc2626,var(--danger));box-shadow:0 6px 20px #ef444480;transform:translateY(-2px)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--radius-sm)}.btn-lg{padding:14px 28px;font-size:16px;border-radius:var(--radius-lg)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:linear-gradient(145deg,#fff,#f8f9ff);border:3px solid transparent;border-radius:var(--radius-xl);padding:24px 20px;text-align:center;transition:all var(--dur-normal) var(--ease-bounce);position:relative;overflow:hidden;box-shadow:0 6px 20px #00000014}.stat-card:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity var(--dur-normal) ease;border-radius:inherit;z-index:-1}.stat-card:after{content:"";position:absolute;inset:3px;background:linear-gradient(145deg,#fff,#f8f9ff);border-radius:inherit;z-index:-1}.stat-card:hover{transform:translateY(-6px) scale(1.05);box-shadow:0 12px 30px #805ad540}.stat-card:hover:before{opacity:.5}.stat-card-primary:before{background:radial-gradient(circle at 50% 100%,rgba(99,102,241,.08),transparent 70%)}.stat-card-success:before{background:radial-gradient(circle at 50% 100%,rgba(16,185,129,.08),transparent 70%)}.stat-card-warning:before{background:radial-gradient(circle at 50% 100%,rgba(245,158,11,.08),transparent 70%)}.stat-card-danger:before{background:radial-gradient(circle at 50% 100%,rgba(239,68,68,.08),transparent 70%)}.stat-icon{font-size:32px;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .3s ease}.stat-card:hover .stat-icon{transform:translateY(-4px) scale(1.1)}.stat-value{font-size:32px;font-weight:900;font-family:var(--font-fun);letter-spacing:-.02em;line-height:1.1;background:linear-gradient(135deg,var(--primary),var(--info));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:13px;color:var(--primary);margin-top:6px;font-weight:700;font-family:var(--font-fun);text-transform:uppercase;letter-spacing:.06em}.game-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:16px}@media(min-width:640px){.game-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.game-grid{grid-template-columns:repeat(3,1fr)}}.game-card{border:3px solid transparent;border-radius:var(--radius-2xl);padding:28px;cursor:pointer;transition:all var(--dur-normal) var(--ease-bounce);position:relative;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(145deg,#fff,#f8f9ff);box-shadow:0 8px 25px #0000001a}.game-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#ffeaa7,#ff6b6b);opacity:0;transition:opacity var(--dur-normal) ease;z-index:-1}.game-card:after{content:"";position:absolute;inset:3px;background:linear-gradient(145deg,#fff,#f8f9ff);border-radius:inherit;z-index:-1}.game-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 30px #805ad540;border-color:var(--primary)}.game-card:hover:before{opacity:.4}.game-card:active{transform:translateY(-4px) scale(.98)}.game-icon{font-size:64px;margin-bottom:16px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.2));transition:all var(--dur-normal) ease}.game-card:hover .game-icon{transform:scale(1.1);filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.game-name{font-size:22px;font-weight:900;font-family:var(--font-fun);margin-bottom:10px;letter-spacing:-.01em;background:linear-gradient(135deg,var(--primary),var(--info));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;font-weight:600}.game-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.skill-tag{padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--glass-border);font-size:11px;font-weight:500;color:var(--text-secondary);background:#0003}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}@media(min-width:860px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.card{background:linear-gradient(145deg,#fff,#f8f9ff);border:3px solid transparent;border-radius:var(--radius-2xl);padding:28px 20px;text-align:center;font-size:24px;font-weight:800;font-family:var(--font-fun);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--dur-normal) var(--ease-bounce);min-height:140px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 8px 20px #0000001a}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ff6b6b1a,#4ecdc41a,#45b7d11a);opacity:0;transition:opacity var(--dur-normal) ease;border-radius:inherit}.card:hover{transform:translateY(-4px) scale(1.02);border-color:var(--primary);box-shadow:0 12px 30px #805ad540}.card:hover:before{opacity:1}.card:active{transform:translateY(-2px) scale(.98)}.cardDisabled{opacity:.45;pointer-events:none}.cardHighlight{outline:3px solid rgba(255,255,255,.7);animation:pulseHighlight 1.8s ease infinite}.cardSelected{border-color:var(--primary)!important;background:var(--card-active)!important;box-shadow:0 0 0 3px #6366f133}@keyframes pulseHighlight{0%,to{outline-color:#ffffffb3;box-shadow:0 0 #6366f14d}50%{outline-color:var(--primary);box-shadow:0 0 20px 4px #6366f126}}.children-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:640px){.children-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.children-grid{grid-template-columns:repeat(3,1fr)}}.child-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--glass);cursor:pointer;transition:all var(--dur-fast) ease}.child-card:hover{background:#ffffff0f;border-color:var(--border-hover);transform:translateY(-1px)}.child-card-active{border-color:var(--primary)!important;background:var(--card-active)!important;box-shadow:0 0 0 3px #6366f11f}.child-avatar{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary-bg);border-radius:var(--radius-md);flex-shrink:0}.child-name{font-weight:700;font-size:14px}.child-meta{font-size:12px;color:var(--muted)}.child-diagnosis{font-size:11px;color:var(--muted);margin-top:2px;font-style:italic}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:12px 14px;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.04)}.data-table tr{transition:background var(--dur-fast) ease}.data-table tr:hover td{background:#ffffff08}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:#0003;color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:capitalize}.status{margin-top:10px;color:var(--text-secondary);font-size:14px;min-height:22px}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.status-completed{background:var(--success-bg);color:var(--success);border:1px solid rgba(16,185,129,.25)}.status-in_progress{background:var(--primary-bg);color:var(--primary-light);border:1px solid rgba(99,102,241,.25)}.status-draft{background:#ffffff0d;color:var(--muted);border:1px solid var(--border)}.accuracy-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700}.acc-high{background:var(--success-bg);color:var(--success)}.acc-mid{background:var(--warning-bg);color:var(--warning)}.acc-low{background:var(--danger-bg);color:var(--danger)}.summary{margin-top:20px;padding:20px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--card)}.summary h3{margin:0 0 14px;font-size:18px}.summaryGrid{display:grid;grid-template-columns:180px 1fr;gap:10px 16px;font-size:14px}.k{color:var(--muted);font-weight:500}.v{font-weight:700}.session-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}.session-date{color:var(--muted);min-width:90px}.session-title{flex:1}.session-score{min-width:50px;font-weight:700}.feedback-banner{padding:18px 24px;border-radius:var(--radius-xl);margin-bottom:14px;display:flex;align-items:center;gap:14px;font-size:18px;font-weight:700;animation:feedbackIn .4s var(--ease-spring)}.feedback-success{background:linear-gradient(135deg,#48bb7833,#48bb781a);border:2px solid rgba(72,187,120,.4);box-shadow:0 4px 12px #48bb7833}.feedback-fail{background:linear-gradient(135deg,#fc818133,#fc81811a);border:2px solid rgba(252,129,129,.4);box-shadow:0 4px 12px #fc818133}.feedback-icon{font-size:36px}@keyframes feedbackIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:var(--radius-md);font-size:14px;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md);animation:toastIn .35s var(--ease-spring);min-width:280px;max-width:420px}.toast-exit{animation:toastOut .3s var(--ease-out) forwards}.toast-success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:var(--success)}.toast-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--danger)}.toast-info{background:#6366f126;border:1px solid rgba(99,102,241,.3);color:var(--primary-light)}.toast-warning{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:var(--warning)}.toast-icon{font-size:18px;flex-shrink:0}.toast-msg{flex:1}.toast-close{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:16px;padding:2px}.toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translate(40px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60px)}}.skeleton{background:linear-gradient(90deg,#ff6b6b33 25%,#4ecdc433,#45b7d133 75%);background-size:200% 100%;animation:magicalShimmer 1.5s infinite;border-radius:var(--radius-lg);position:relative;overflow:hidden}.skeleton:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;background:url(/ui-icons/sparkles.svg) center / contain no-repeat;animation:sparkleFloat 1s ease-in-out infinite}@keyframes magicalShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;width:80%;margin-bottom:10px;border-radius:var(--radius-md)}.skeleton-title{height:28px;width:60%;margin-bottom:16px;border-radius:var(--radius-lg)}.skeleton-card{height:120px;border-radius:var(--radius-xl);border:3px solid rgba(255,107,107,.3);background:linear-gradient(135deg,#fffc,#f8f9ffe6)}.celebration-panel{text-align:center;padding:80px 40px;animation:celebrateIn 1s var(--ease-bounce);background:linear-gradient(135deg,#ff6b6b26,#4ecdc426,#45b7d126);border-radius:var(--radius-2xl);border:4px solid;border-image:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#ffeaa7,#ff6b6b) 1;position:relative;overflow:hidden}.celebration-panel:before{content:"";position:absolute;top:16px;left:50%;transform:translate(-50%);width:32px;height:32px;background:url(/ui-icons/party.svg) center / contain no-repeat;opacity:.9}.celebration-emoji{font-size:72px;margin-bottom:24px;animation:celebrateBounce 2s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}@keyframes celebrateBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.05)}}.celebration-title{font-size:36px;font-weight:900;font-family:var(--font-fun);margin-bottom:12px;letter-spacing:-.02em;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(0,0,0,.1)}.celebration-sub{color:var(--text-secondary);font-size:18px;margin-bottom:40px;font-weight:600}.celebration-stats{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-bottom:32px}.celebration-stat{text-align:center}.celebration-stat-value{font-size:36px;font-weight:900;letter-spacing:-.02em}.celebration-stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.confetti-container{position:fixed;inset:0;pointer-events:none;z-index:9998;overflow:hidden}.confetti-piece{position:absolute;width:16px;height:16px;border-radius:50%;animation:confettiFall var(--fall-duration, 3s) var(--fall-delay, 0s) ease-in forwards;box-shadow:0 0 12px #ffffffe6,0 0 20px currentColor}.confetti-piece:nth-child(odd){width:12px;height:12px;border-radius:20%;background:linear-gradient(45deg,#ff6b6b,#4ecdc4)}.confetti-piece:nth-child(2n){background:linear-gradient(45deg,#45b7d1,#ffeaa7)}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0) scale(1);opacity:1}to{transform:translateY(100vh) rotate(360deg) scale(.8);opacity:0}}@keyframes celebrateIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes celebrateBounce{0%{transform:scale(.3)}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1)}}.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.auth-card{width:100%;max-width:440px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-2xl);padding:48px 32px;box-shadow:var(--shadow-lg),var(--shadow-glow);animation:authIn .5s var(--ease-out);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--success),var(--primary));background-size:200% 100%;animation:authGradient 4s linear infinite}@keyframes authIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes authGradient{0%{background-position:0% 0%}to{background-position:200% 0%}}.auth-brand{text-align:center;margin-bottom:32px}.auth-brand-icon{font-size:48px;margin-bottom:8px;display:inline-block;animation:brandPulse 3s ease-in-out infinite}.auth-brand-name{font-size:28px;font-weight:900;letter-spacing:-.03em}.auth-brand-sub{font-size:14px;color:var(--text-secondary);margin-top:6px}.auth-links{margin-top:20px;text-align:center;font-size:14px;color:var(--muted)}.auth-links a{color:var(--primary-light);text-decoration:none;font-weight:500;transition:color var(--dur-fast) ease}.auth-links a:hover{color:#a5b4fc;text-decoration:underline}.auth-links-sep{margin:0 8px;color:var(--border)}.auth-error{padding:10px 14px;border-radius:var(--radius-md);background:var(--danger-bg);border:1px solid rgba(239,68,68,.25);color:#fca5a5;font-size:13px;animation:feedbackIn .3s var(--ease-out)}.auth-success{padding:10px 14px;border-radius:var(--radius-md);background:var(--success-bg);border:1px solid rgba(16,185,129,.25);color:#6ee7b7;font-size:13px}.alert{padding:16px 20px;border-radius:var(--radius-xl);font-size:15px;margin-bottom:16px;display:flex;align-items:center;gap:12px;font-weight:600;position:relative;overflow:hidden}.alert:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmerAlert 2s infinite}@keyframes shimmerAlert{0%{left:-100%}to{left:100%}}.alert-error{background:linear-gradient(135deg,#fc818133,#f565654d);border:3px solid rgba(252,129,129,.5);color:#c53030}.alert-success{background:linear-gradient(135deg,#48bb7833,#38a1694d);border:3px solid rgba(72,187,120,.5);color:#276749}.alert-warning{background:linear-gradient(135deg,#f6ad5533,#ed89364d);border:3px solid rgba(246,173,85,.5);color:#c05621}.alert{padding:12px 16px;border-radius:var(--radius-md);font-size:14px;margin-bottom:14px;display:flex;align-items:center;gap:8px}.alert-error{background:var(--danger-bg);border:1px solid rgba(239,68,68,.25);color:#fca5a5}.error-box{padding:10px 14px;border-radius:var(--radius-md);background:var(--danger-bg);border:1px solid rgba(239,68,68,.25);color:#fca5a5;font-size:13px;margin-bottom:14px}.chart-container{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px;margin-top:16px}.chart-title{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}.progress-ring{position:relative;width:120px;height:120px}.magical-loader{position:relative;width:40px;height:40px;border:3px solid rgba(128,90,213,.2);border-top:3px solid var(--primary);border-radius:50%;animation:magicalSpin 1s linear infinite}.magical-loader:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:url(/ui-icons/sparkles.svg) center / contain no-repeat;animation:sparkleSpin .5s linear infinite}@keyframes magicalSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-switcher{position:fixed;top:80px;right:20px;z-index:1000;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1);border:none;border-radius:50%;width:50px;height:50px;font-size:20px;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s ease}.theme-switcher:hover{transform:scale(1.05);box-shadow:0 6px 16px #0003}.click-ripple{position:absolute;border-radius:50%;background:radial-gradient(circle,#805ad54d,#805ad51a);pointer-events:none;animation:rippleEffect .5s ease-out forwards}@keyframes rippleEffect{0%{width:0;height:0;opacity:1}to{width:80px;height:80px;opacity:0}}.achievement-popup{position:fixed;top:100px;right:-400px;background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border:3px solid #f39c12;border-radius:16px;padding:16px;box-shadow:0 8px 20px #00000026;transition:all .4s ease;z-index:1001;max-width:300px}.achievement-popup.show{right:20px}.achievement-popup:before{content:"";position:absolute;top:-10px;left:16px;width:28px;height:28px;background:url(/ui-icons/trophy.svg) center / contain no-repeat}.progress-ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring-label{position:absolute;font-size:18px;font-weight:800;letter-spacing:-.02em}.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary)}.empty-state-icon{font-size:56px;margin-bottom:16px;opacity:.6}.empty-state-title{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--text)}.empty-state-desc{font-size:14px;color:var(--muted);max-width:360px;margin:0 auto 24px;line-height:1.5}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:18px;height:18px;border-width:2px}.spinner-lg{width:48px;height:48px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;min-height:300px;color:var(--text-secondary);font-size:15px}.memory-card{width:90px;height:90px;perspective:600px;cursor:pointer}.memory-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s var(--ease-out);border-radius:var(--radius-lg)}.memory-card.flipped .memory-card-inner,.memory-card.matched .memory-card-inner{transform:rotateY(180deg)}.memory-card-front,.memory-card-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;border:2px solid var(--border);transition:border-color var(--dur-fast) ease}.memory-card-front{background:linear-gradient(135deg,#6366f133,#8b5cf633)}.memory-card-back{background:var(--bg-elevated);transform:rotateY(180deg);border-color:#6366f166}.memory-card.matched .memory-card-back{border-color:var(--success);background:var(--success-bg)}.memory-card:not(.flipped):not(.matched):hover .memory-card-inner{transform:scale(1.06)}@media(max-width:480px){.memory-card{width:72px;height:72px}.memory-card-front,.memory-card-back{font-size:28px}}.text-muted{color:var(--muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mb-md{margin-bottom:16px}@media(max-width:640px){.landing-stats{grid-template-columns:repeat(2,1fr)!important}.landing-steps{grid-template-columns:1fr!important}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.3);opacity:0}}.notification-badge-pulse:before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--danger);animation:pulse-ring 1.5s cubic-bezier(.215,.61,.355,1) infinite}:root{--color-primary-blue: #4A90E2;--color-primary-green: #7ED321;--color-primary-orange: #F5A623;--color-primary-purple: #BD10E0;--color-secondary-success: #2ECC71;--color-secondary-warning: #F1C40F;--color-secondary-error: #E74C3C;--color-secondary-neutral: #95A5A6;--color-background-primary: #FFFFFF;--color-background-secondary: #F8F9FA;--color-background-accent: #E8F4F8;--font-family-primary: "Quicksand", sans-serif;--font-family-fallback: "Segoe UI", "Roboto", sans-serif;--font-size-display: 32px;--font-size-h1: 24px;--font-size-h2: 20px;--font-size-body: 16px;--font-size-small: 14px;--font-weight-regular: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.3;--line-height-relaxed: 1.5;--line-height-loose: 1.6;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius-small: 8px;--border-radius-medium: 12px;--border-radius-large: 16px;--border-radius-full: 9999px;--shadow-small: 0 2px 4px rgba(0, 0, 0, .1);--shadow-medium: 0 2px 8px rgba(0, 0, 0, .1);--shadow-large: 0 4px 16px rgba(0, 0, 0, .15);--touch-target-minimum: 44px;--touch-target-comfortable: 48px;--transition-fast: .1s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-index-base: 0;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-fixed: 300;--z-index-modal: 400;--z-index-tooltip: 500;--z-index-sticker: -1;--text-size-multiplier: 1}*{box-sizing:border-box}html{font-size:16px}body{margin:0;padding:0;font-family:var(--font-family-primary),var(--font-family-fallback);font-size:var(--font-size-body);line-height:var(--line-height-loose);color:#333;background-color:var(--color-background-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:calc(var(--font-size-h1) * var(--text-size-multiplier));font-weight:var(--font-weight-bold);line-height:var(--line-height-normal);margin:var(--spacing-lg) 0 var(--spacing-md) 0}h2{font-size:calc(var(--font-size-h2) * var(--text-size-multiplier));font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);margin:var(--spacing-md) 0 var(--spacing-sm) 0}h3{font-size:calc(var(--font-size-body) * var(--text-size-multiplier));font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);margin:var(--spacing-md) 0 var(--spacing-sm) 0}p{font-size:calc(var(--font-size-body) * var(--text-size-multiplier));line-height:var(--line-height-loose);margin:0 0 var(--spacing-md) 0}small{font-size:calc(var(--font-size-small) * var(--text-size-multiplier));line-height:var(--line-height-relaxed)}a{color:var(--color-primary-blue);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:#2e5c8a;text-decoration:underline}a:focus{outline:3px solid var(--color-primary-blue);outline-offset:2px;border-radius:var(--border-radius-small)}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;padding:0;margin:0}input,textarea,select{font-family:inherit;font-size:inherit}.high-contrast-mode{--color-primary-blue: #0033cc;--color-primary-green: #006600;--color-primary-orange: #cc6600;--color-primary-purple: #660099;--color-secondary-error: #cc0000;--shadow-small: 0 2px 4px rgba(0, 0, 0, .3);--shadow-medium: 0 2px 8px rgba(0, 0, 0, .3);--shadow-large: 0 4px 16px rgba(0, 0, 0, .4)}.reduced-motion,.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}:focus-visible{outline:3px solid var(--color-primary-blue);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-primary-blue);outline-offset:2px;border-radius:var(--border-radius-small)}.text-left{text-align:left}.text-right{text-align:right}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.sticker-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;z-index:var(--z-index-sticker);overflow:hidden}.sticker{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.sticker-emoji{display:inline-block;line-height:1;text-align:center}.sticker-image{object-fit:contain;object-position:center}@keyframes sticker-float{0%{transform:translate(-50%,-50%) rotate(var(--rotation)) translateY(0)}50%{transform:translate(-50%,-50%) rotate(var(--rotation)) translateY(-10px)}to{transform:translate(-50%,-50%) rotate(var(--rotation)) translateY(0)}}@keyframes sticker-pulse{0%{opacity:var(--opacity);transform:translate(-50%,-50%) rotate(var(--rotation)) scale(1)}50%{opacity:calc(var(--opacity) * .8);transform:translate(-50%,-50%) rotate(var(--rotation)) scale(1.05)}to{opacity:var(--opacity);transform:translate(-50%,-50%) rotate(var(--rotation)) scale(1)}}.sticker-layer.reduced-motion .sticker{animation:none!important}.high-contrast-mode .sticker{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3)) contrast(1.2)}@media(max-width:640px){.sticker-layer{opacity:.6}}@media(min-width:641px)and (max-width:1024px){.sticker-layer{opacity:.75}}@media(min-width:1025px){.sticker-layer{opacity:.85}}:root{--assistant-primary: #8b5cf6;--assistant-secondary: #ec4899;--assistant-gradient: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .5);--glass-shadow: 0 12px 40px rgba(139, 92, 246, .15);--blob-radius: 42% 58% 70% 30% / 45% 45% 55% 55%}.floating-assistant-trigger{position:fixed;bottom:32px;right:32px;z-index:10000;cursor:pointer;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.floating-assistant-trigger:hover{transform:scale(1.1) rotate(5deg)}.assistant-bubble{width:75px;height:75px;background:var(--assistant-gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px #8b5cf666;position:relative;border-radius:var(--blob-radius);animation:liquidBlob 8s infinite ease-in-out;overflow:visible}@keyframes liquidBlob{0%,to{border-radius:42% 58% 70% 30%/45% 45% 55% 55%}25%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}75%{border-radius:46% 54% 50% 50%/35% 61% 39% 65%}}.assistant-avatar{font-size:2.8rem;line-height:1;z-index:2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.pulse-ring{position:absolute;inset:-5px;border-radius:inherit;border:2px solid var(--assistant-primary);opacity:0;animation:pulseExpand 2s infinite}@keyframes pulseExpand{0%{transform:scale(1);opacity:.8}to{transform:scale(1.4);opacity:0}}.assistant-bubble.speaking{animation:liquidBlob 4s infinite linear,glowPulse 1.5s infinite alternate}@keyframes glowPulse{0%{box-shadow:0 0 20px #8b5cf666}to{box-shadow:0 0 40px #ec489999}}.floating-assistant-container{position:fixed;bottom:32px;right:32px;width:420px;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:28px;box-shadow:0 20px 60px #0000002e;z-index:10001;display:flex;flex-direction:column;overflow:visible;transform-origin:bottom right;animation:assistantEntry .5s cubic-bezier(.19,1,.22,1)}@keyframes assistantEntry{0%{transform:scale(.9) translateY(40px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.floating-assistant-container.minimized{height:80px}.floating-assistant-container.expanded{height:650px;max-height:calc(100vh - 80px)}.assistant-header{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:flex-start;position:relative}.header-left{display:flex;flex-direction:column}.assistant-header h3{font-family:Nunito,sans-serif;font-weight:800;font-size:1.4rem;background:var(--assistant-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}.status-hint{font-size:.85rem;color:#6b7280;font-weight:600;margin-top:4px}.header-actions{display:flex;gap:12px}.btn-minimize,.btn-close{background:#0000000d;border:none;width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:#4b5563}.btn-minimize:hover,.btn-close:hover{background:var(--assistant-primary);color:#fff;transform:translateY(-2px)}.floating-avatar-container{position:absolute;top:-45px;left:50%;transform:translate(-50%);width:90px;height:90px;background:#fff;border-radius:50%;border:4px solid white;box-shadow:0 8px 24px #0000001f;display:flex;align-items:center;justify-content:center;font-size:3.5rem;z-index:10;animation:floatAvatar 3s infinite ease-in-out}@keyframes floatAvatar{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}.assistant-chat{flex:1;overflow-y:auto;padding:30px 24px 16px;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.2) transparent}.chat-welcome{text-align:center;margin-top:20px;padding:0 20px}.chat-welcome p{color:#4b5563;line-height:1.6}.chat-message{display:flex;margin-bottom:20px;gap:12px;animation:messageZoom .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes messageZoom{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.chat-message.user{flex-direction:row-reverse}.msg-avatar{width:32px;height:32px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 2px 8px #0000000f}.msg-content{max-width:80%;padding:14px 18px;border-radius:20px;font-size:.95rem;line-height:1.6;position:relative;box-shadow:0 2px 10px #00000008}.chat-message.ai .msg-content{background:#fff;color:#1f2937;border-bottom-left-radius:4px}.chat-message.user .msg-content{background:var(--assistant-gradient);color:#fff;border-bottom-right-radius:4px}.msg-content.rtl{direction:rtl;font-family:Noto Sans Arabic,serif}.msg-time{font-size:.65rem;opacity:.5;margin-top:6px;display:block;text-align:right}.chat-message.user .msg-time{color:#fffc}.typing-indicator{display:inline-flex;gap:6px;background:#fff;padding:14px 20px;border-radius:20px 20px 20px 4px;box-shadow:0 4px 12px #0000000d}.typing-indicator span{width:6px;height:6px;background:var(--assistant-primary);border-radius:50%;animation:typingDot 1s infinite alternate}@keyframes typingDot{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.assistant-quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 24px 20px}.quick-action-btn{background:#fff9;border:1px solid rgba(255,255,255,.8);padding:12px;border-radius:16px;font-family:Nunito,sans-serif;font-weight:700;font-size:.85rem;color:#4b5563;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.quick-action-btn:hover:not(:disabled){background:#fff;transform:translateY(-3px);box-shadow:0 8px 20px #8b5cf626;border-color:var(--assistant-primary)}.assistant-input-area{padding:20px 24px 30px;background:#ffffff80;border-top:1px solid rgba(0,0,0,.05);border-radius:0 0 28px 28px}.assistant-input{display:flex;background:#fff;padding:6px;border-radius:20px;box-shadow:0 4px 20px #0000000f;transition:focus-within .3s ease}.assistant-input:focus-within{box-shadow:0 8px 25px #8b5cf61f}.assistant-input input{flex:1;border:none;padding:12px 16px;font-family:inherit;font-size:.95rem;outline:none;background:transparent}.btn-voice,.btn-send{width:44px;height:44px;border:none;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-voice{background:#f3f4f6;color:#4b5563}.btn-voice.listening{background:#ef4444;color:#fff;animation:pulseListen 1s infinite alternate}@keyframes pulseListen{0%{transform:scale(1);box-shadow:0 0 #ef444400}to{transform:scale(1.1);box-shadow:0 0 15px #ef444480}}.btn-send{background:var(--assistant-gradient);color:#fff;margin-left:6px}.btn-send:hover:not(:disabled){transform:rotate(-10deg) scale(1.1)}.btn-send:disabled{opacity:.3}.animate-star-pop{animation:starPop .7s ease-out forwards}@keyframes starPop{0%{transform:scale(.2);opacity:1}60%{transform:scale(1.3);opacity:1}to{transform:scale(1.8);opacity:0}}@media(max-width:768px){.floating-assistant-container{width:calc(100vw - 40px);right:20px;bottom:20px}}.app-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background-primary);position:relative;isolation:isolate}.top-nav{background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(99,102,241,.12);padding:0;position:sticky;top:0;z-index:100;box-shadow:0 2px 20px #6366f114;height:68px;display:flex;align-items:center;width:100%}.top-nav.child-friendly-nav{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1400px;width:100%;margin:0 auto;padding:0 24px;height:100%}.nav-brand{display:flex;align-items:center;gap:12px;flex-shrink:0;cursor:pointer;transition:transform .2s ease;text-decoration:none}.nav-brand:hover{transform:scale(1.02)}.brand-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.nav-brand:hover .brand-icon{transform:rotate(5deg)}.brand-text{font-family:Outfit,Nunito,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:1px}.brand-sub{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.nav-hamburger{display:none;min-width:44px;min-height:44px;padding:8px;background-color:transparent;border:2px solid rgba(99,102,241,.3);border-radius:10px;color:#6366f1;cursor:pointer;transition:all .2s ease;align-items:center;justify-content:center}.nav-hamburger:hover{background-color:#6366f11a;border-color:#6366f1;transform:scale(1.05)}.nav-hamburger:focus-visible{outline:3px solid #6366f1;outline-offset:2px}.nav-links{display:flex;align-items:center;gap:4px;flex:1;justify-content:center;flex-wrap:nowrap}.nav-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:600;font-family:Nunito,sans-serif;color:#4b5563;text-decoration:none;transition:all .2s ease;min-height:40px;white-space:nowrap;position:relative;overflow:hidden}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,#6366f1,#ec4899);transition:width .3s ease;border-radius:2px}.nav-link:hover{background-color:#6366f114;color:#6366f1;transform:translateY(-1px)}.nav-link:hover:after{width:60%}.nav-link:focus-visible{outline:3px solid #6366f1;outline-offset:2px}.nav-link-active{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;box-shadow:0 4px 14px #6366f159}.nav-link-active:after{display:none}.nav-link-active:hover{transform:translateY(-1px);background:linear-gradient(135deg,#4f46e5,#7c3aed)!important}.nav-link-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-link-label{display:inline-block}.nav-user{display:flex;align-items:center;gap:10px;flex-shrink:0}.nav-notifications{position:relative;display:flex;align-items:center;z-index:600}.nav-user-profile{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;color:#4b5563;text-decoration:none;transition:all .2s ease;min-height:40px;font-weight:600;font-family:Nunito,sans-serif;font-size:.85rem}.nav-user-profile:hover{background-color:#6366f114;color:#6366f1}.nav-user-profile:focus-visible{outline:3px solid #6366f1;outline-offset:2px}.nav-user-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.nav-user-name{display:inline-block;font-size:.85rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:linear-gradient(135deg,#6366f1,#ec4899);color:#fff;border-radius:999px;font-weight:700;font-size:.7rem;box-shadow:0 2px 8px #6366f14d;text-transform:uppercase;letter-spacing:.5px}.nav-logout-btn{flex-shrink:0;background:linear-gradient(135deg,#ff6b6b,#ee5a6f)!important;color:#fff!important;border:none!important;box-shadow:0 3px 12px #ff6b6b4d;transition:all .2s ease;padding:8px 14px;border-radius:999px;font-weight:700;font-family:Nunito,sans-serif;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.nav-logout-btn:hover{transform:translateY(-2px);box-shadow:0 5px 16px #ff6b6b73;background:linear-gradient(135deg,#ee5a6f,#ff6b6b)!important}.main-content{flex:1;padding:24px;overflow-y:auto;position:relative;z-index:1;background:linear-gradient(180deg,#ffffffd9,#f8fafce6);min-height:calc(100vh - 68px)}.color-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(60px);opacity:.15;transition:opacity .5s ease}.orb-1{width:400px;height:400px;background:radial-gradient(circle,#6366f1,transparent);top:-100px;right:-100px;animation:orb-float 20s ease-in-out infinite}.orb-2{width:350px;height:350px;background:radial-gradient(circle,#ec4899,transparent);bottom:10%;left:-80px;animation:orb-float 25s ease-in-out infinite reverse}.orb-3{width:300px;height:300px;background:radial-gradient(circle,#10b981,transparent);top:50%;left:50%;transform:translate(-50%,-50%);animation:orb-float 18s ease-in-out infinite 5s}@keyframes orb-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.97)}}@keyframes pulse-glow{0%,to{box-shadow:0 4px 20px #6366f166}50%{box-shadow:0 4px 30px #6366f1b3,0 0 40px #8b5cf64d}}@media(max-width:768px){.nav-inner{gap:8px;padding:0 16px}.nav-hamburger{display:inline-flex}.nav-links{position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(99,102,241,.15);max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1);justify-content:flex-start;padding:0;z-index:200;box-shadow:0 8px 32px #0000001a}.nav-links.open{max-height:600px;padding:12px 0}.nav-link{width:100%;border-radius:0;padding:14px 20px;justify-content:flex-start;gap:14px;font-size:.95rem}.nav-link:after{display:none}.nav-link:hover{transform:none;background-color:#6366f10f}.brand-text{font-size:1.2rem}.brand-sub{display:none}.nav-user{gap:6px}.nav-user-name{display:none}.main-content{padding:16px}}@media(min-width:769px)and (max-width:1100px){.nav-links{gap:2px}.nav-link{padding:7px 9px;font-size:.78rem}.nav-link-label{display:none}.nav-user{gap:6px}.nav-user-name,.nav-user-badge{display:none}}@media(prefers-reduced-motion:reduce){.nav-brand:hover,.nav-hamburger:hover,.nav-link:hover,.nav-user-profile:hover,.color-orb{transform:none;animation:none}}@media(prefers-contrast:high){.top-nav{border-bottom:3px solid #000;background:#fff}.nav-link-active{background:#000!important;color:#fff!important}}:root{--cute-primary: #6366f1;--cute-primary-light: #818cf8;--cute-primary-soft: #e0e7ff;--cute-success: #10b981;--cute-success-soft: #d1fae5;--cute-warning: #f59e0b;--cute-warning-soft: #fef3c7;--cute-error: #ef4444;--cute-error-soft: #fee2e2;--cute-info: #3b82f6;--cute-info-soft: #dbeafe;--cute-pink: #ec4899;--cute-pink-soft: #fce7f3;--cute-purple: #8b5cf6;--cute-purple-soft: #ede9fe;--cute-orange: #f97316;--cute-orange-soft: #ffedd5;--cute-teal: #14b8a6;--cute-teal-soft: #ccfbf1;--cute-coral: #fb7185;--cute-coral-soft: #ffe4e6;--bg-soft: #f8fafc;--bg-cream: #fefce8;--bg-mint: #f0fdf4;--bg-lavender: #faf5ff;--bg-sky: #f0f9ff;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--shadow-soft: 0 2px 8px rgba(99, 102, 241, .08);--shadow-cute: 0 4px 16px rgba(99, 102, 241, .12);--shadow-playful: 0 8px 32px rgba(99, 102, 241, .16);--font-fun: "Nunito", "Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-primary);font-size:16px;line-height:var(--leading-normal);color:var(--color-text-primary);background:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;background:transparent}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary-600)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.container{width:100%;max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:640px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}@media(min-width:1024px){.container{padding-left:var(--space-8);padding-right:var(--space-8)}}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;padding-top:var(--space-8);padding-bottom:var(--space-12)}.section{margin-bottom:var(--space-12)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.mx-auto{margin-left:auto;margin-right:auto}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-md);padding:0 var(--btn-padding-x);font-family:var(--font-primary);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:1;text-decoration:none;border:none;border-radius:var(--btn-radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-offset-width) var(--color-bg-primary),0 0 0 calc(var(--ring-offset-width) + var(--ring-width)) var(--ring-color)}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-primary-600);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--color-primary-700);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-secondary-600);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background-color:var(--color-secondary-700);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border-default)}.btn-outline:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-strong);color:var(--color-text-primary)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-success{background-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover{background-color:#059669}.btn-danger{background-color:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover{background-color:#dc2626}.btn-sm{height:var(--btn-height-sm);padding:0 var(--space-3);font-size:var(--text-xs)}.btn-lg{height:var(--btn-height-lg);padding:0 var(--space-6);font-size:var(--text-base)}.btn:disabled,.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.card{background-color:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--card-padding);transition:box-shadow var(--duration-normal) var(--ease-out)}.card:hover{box-shadow:var(--card-shadow-hover)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px)}.card-interactive:active{transform:translateY(0)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.card-body{color:var(--color-text-secondary)}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.form-label-required:after{content:"*";color:var(--color-error);margin-left:var(--space-1)}.form-input,.form-select,.form-textarea{width:100%;height:var(--input-height);padding:var(--input-padding-y) var(--input-padding-x);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:var(--input-border);border-radius:var(--input-radius);transition:all var(--duration-fast) var(--ease-out)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:var(--color-text-muted)}.form-textarea{height:auto;min-height:100px;resize:vertical}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:20px;padding-right:var(--space-10)}.form-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.form-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm)}.alert-info{background-color:var(--color-info-light);color:var(--color-primary-800);border:1px solid var(--color-primary-200)}.alert-success{background-color:var(--color-success-light);color:#065f46;border:1px solid #A7F3D0}.alert-warning{background-color:var(--color-warning-light);color:#92400e;border:1px solid #FDE68A}.alert-error{background-color:var(--color-error-light);color:#991b1b;border:1px solid #FECACA}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);white-space:nowrap}.badge-blue{background-color:var(--color-primary-100);color:var(--color-primary-800)}.badge-green{background-color:var(--color-success-light);color:#065f46}.badge-amber{background-color:var(--color-warning-light);color:#92400e}.badge-red{background-color:var(--color-error-light);color:#991b1b}.badge-gray{background-color:var(--color-gray-100);color:var(--color-gray-800)}.badge-purple{background-color:var(--color-secondary-100);color:var(--color-secondary-800)}.nav{display:flex;align-items:center;gap:var(--space-1)}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out)}.nav-link:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.nav-link.active{background-color:var(--color-primary-50);color:var(--color-primary-700)}.header{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light);height:var(--header-height);display:flex;align-items:center}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 var(--space-4)}@media(min-width:640px){.header-content{padding:0 var(--space-6)}}.brand{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);text-decoration:none}.brand-logo{width:36px;height:36px;background:linear-gradient(135deg,var(--color-primary-500),var(--color-secondary-500));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-lg)}.divider{height:1px;background-color:var(--color-border-light);margin:var(--space-6) 0}.divider-vertical{width:1px;height:auto;align-self:stretch}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.h-full{height:100%}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:var(--shadow-none)}.bg-white{background-color:var(--color-bg-primary)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-out)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-primary-50) 100%);padding:var(--space-6)}.auth-container{width:100%;max-width:420px}.auth-card{background:var(--color-bg-primary);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-xl);border:1px solid var(--color-border-light)}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{margin-bottom:var(--space-4)}.auth-logo .brand-logo{width:56px;height:56px;font-size:var(--text-2xl);margin:0 auto}.auth-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.auth-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-links{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.auth-link{color:var(--color-primary-600);text-decoration:none;font-weight:var(--font-medium);transition:color var(--duration-fast)}.auth-link:hover{color:var(--color-primary-700);text-decoration:underline}.auth-divider{color:var(--color-border-default)}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1}.gap-2{gap:var(--space-2)}.justify-center{justify-content:center}.text-center{text-align:center}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-6{margin-bottom:var(--space-6)}.text-xl{font-size:var(--text-xl)}.font-bold{font-weight:var(--font-bold)}.text-secondary{color:var(--color-text-secondary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn-cute{font-family:var(--font-fun);border-radius:var(--radius-full);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:.875rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-soft)}.btn-cute:hover{transform:translateY(-2px);box-shadow:var(--shadow-cute)}.btn-cute:active{transform:translateY(0)}.btn-cute-primary{background:linear-gradient(135deg,var(--cute-primary) 0%,var(--cute-purple) 100%);border:none;color:#fff}.btn-cute-success{background:linear-gradient(135deg,var(--cute-success) 0%,var(--cute-teal) 100%);border:none;color:#fff}.btn-cute-warning{background:linear-gradient(135deg,var(--cute-warning) 0%,var(--cute-orange) 100%);border:none;color:#fff}.btn-cute-pink{background:linear-gradient(135deg,var(--cute-pink) 0%,var(--cute-coral) 100%);border:none;color:#fff}.card-cute{border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-soft);border:2px solid transparent;transition:all .3s ease}.card-cute:hover{border-color:var(--cute-primary-soft);box-shadow:var(--shadow-cute);transform:translateY(-4px)}.card-cute-primary{background:linear-gradient(135deg,white 0%,var(--cute-primary-soft) 100%);border-color:var(--cute-primary-soft)}.card-cute-mint{background:linear-gradient(135deg,white 0%,var(--bg-mint) 100%);border-color:var(--cute-success-soft)}.card-cute-lavender{background:linear-gradient(135deg,white 0%,var(--bg-lavender) 100%);border-color:var(--cute-purple-soft)}.card-cute-cream{background:linear-gradient(135deg,white 0%,var(--bg-cream) 100%);border-color:var(--cute-warning-soft)}.page-header-cute{text-align:center;padding:var(--space-12) var(--space-6);background:linear-gradient(135deg,var(--cute-primary-soft) 0%,var(--bg-lavender) 50%,var(--bg-mint) 100%);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);margin-bottom:var(--space-8)}.page-header-cute .page-title{font-family:var(--font-fun);font-size:var(--text-4xl);font-weight:800;background:linear-gradient(135deg,var(--cute-primary) 0%,var(--cute-purple) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-3)}.page-header-cute .page-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.form-input-cute{border-radius:var(--radius-lg);border:2px solid var(--color-border-light);padding:var(--space-3) var(--space-4);font-family:var(--font-fun);font-size:var(--text-base);transition:all .2s ease;background:#fff}.form-input-cute:focus{border-color:var(--cute-primary);box-shadow:0 0 0 4px var(--cute-primary-soft);outline:none}.badge-cute{font-family:var(--font-fun);font-weight:700;font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.badge-cute-primary{background:var(--cute-primary-soft);color:var(--cute-primary)}.badge-cute-success{background:var(--cute-success-soft);color:var(--cute-success)}.badge-cute-pink{background:var(--cute-pink-soft);color:var(--cute-pink)}.game-card-cute{border-radius:var(--radius-2xl);overflow:hidden;background:#fff;box-shadow:var(--shadow-soft);transition:all .4s cubic-bezier(.4,0,.2,1);border:3px solid transparent}.game-card-cute:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-playful);border-color:var(--cute-primary-soft)}.game-card-cute .game-icon{width:80px;height:80px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:var(--text-3xl);margin-bottom:var(--space-4)}.game-card-cute .game-title{font-family:var(--font-fun);font-weight:800;font-size:var(--text-xl);color:var(--color-text-primary);margin-bottom:var(--space-2)}.progress-cute{height:12px;border-radius:var(--radius-full);background:var(--color-bg-tertiary);overflow:hidden}.progress-cute .progress-bar{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--cute-primary) 0%,var(--cute-purple) 100%);transition:width .5s ease;position:relative}.progress-cute .progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.avatar-cute{border-radius:var(--radius-full);border:4px solid white;box-shadow:var(--shadow-cute)}.avatar-cute-small{width:40px;height:40px}.avatar-cute-medium{width:64px;height:64px}.avatar-cute-large{width:96px;height:96px}.alert-cute{border-radius:var(--radius-lg);border:none;padding:var(--space-4) var(--space-5);font-family:var(--font-fun);font-weight:600;display:flex;align-items:center;gap:var(--space-3)}.alert-cute-success{background:var(--cute-success-soft);color:var(--cute-success)}.alert-cute-warning{background:var(--cute-warning-soft);color:var(--cute-warning)}.alert-cute-error{background:var(--cute-error-soft);color:var(--cute-error)}.alert-cute-info{background:var(--cute-info-soft);color:var(--cute-info)}.fab-cute{position:fixed;bottom:var(--space-6);right:var(--space-6);width:64px;height:64px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--cute-primary) 0%,var(--cute-pink) 100%);color:#fff;border:none;box-shadow:var(--shadow-playful);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);cursor:pointer;transition:all .3s ease;z-index:100}.fab-cute:hover{transform:scale(1.1) rotate(90deg);box-shadow:0 8px 40px #6366f14d}.divider-cute{height:4px;background:linear-gradient(90deg,var(--cute-primary) 0%,var(--cute-pink) 50%,var(--cute-orange) 100%);border-radius:var(--radius-full);margin:var(--space-6) 0}@keyframes bounce-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.animate-bounce-soft{animation:bounce-soft 2s ease-in-out infinite}.animate-wiggle:hover{animation:wiggle .5s ease-in-out}.bg-cute-dots{background-image:radial-gradient(circle,var(--cute-primary-soft) 1px,transparent 1px);background-size:20px 20px}.bg-cute-stripes{background:repeating-linear-gradient(45deg,var(--cute-primary-soft),var(--cute-primary-soft) 10px,transparent 10px,transparent 20px)}.game-grid-cute{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}@media(max-width:640px){.game-grid-cute{grid-template-columns:1fr}}.status-cute{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-fun);font-weight:700;font-size:var(--text-sm)}.status-cute:before{content:"";width:10px;height:10px;border-radius:var(--radius-full);animation:pulse 2s infinite}.status-cute-online:before{background:var(--cute-success)}.status-cute-away:before{background:var(--cute-warning)}.status-cute-busy:before{background:var(--cute-error)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mascot-bubble{position:fixed;bottom:100px;right:24px;background:#fff;border-radius:var(--radius-2xl);padding:var(--space-4);box-shadow:var(--shadow-playful);border:3px solid var(--cute-primary-soft);max-width:280px;z-index:50;animation:float 3s ease-in-out infinite}.mascot-bubble:before{content:"";position:absolute;bottom:-12px;right:30px;width:24px;height:24px;background:#fff;border-bottom:3px solid var(--cute-primary-soft);border-right:3px solid var(--cute-primary-soft);transform:rotate(45deg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mascot-avatar{width:60px;height:60px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--cute-primary) 0%,var(--cute-pink) 100%);display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:var(--space-3);animation:bounce-soft 2s ease-in-out infinite}.sticker-container{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;padding:var(--space-4)}.sticker{width:80px;height:80px;border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-soft);display:flex;align-items:center;justify-content:center;font-size:40px;transition:all .3s cubic-bezier(.4,0,.2,1);border:3px solid transparent;cursor:pointer}.sticker:hover{transform:scale(1.15) rotate(5deg);box-shadow:var(--shadow-playful);border-color:var(--cute-primary-soft)}.sticker.earned{background:linear-gradient(135deg,var(--cute-success-soft) 0%,white 100%);border-color:var(--cute-success);animation:stickerPop .5s ease}.sticker.locked{filter:grayscale(1);opacity:.5}@keyframes stickerPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.achievement-banner{background:linear-gradient(135deg,var(--cute-success-soft) 0%,var(--cute-warning-soft) 50%,var(--cute-primary-soft) 100%);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;position:relative;overflow:hidden;margin-bottom:var(--space-6)}.achievement-banner:before{content:"🏆";position:absolute;font-size:120px;opacity:.1;top:50%;left:50%;transform:translate(-50%,-50%)}.achievement-banner h2{font-family:var(--font-fun);font-size:var(--text-3xl);font-weight:800;color:var(--cute-success);margin-bottom:var(--space-2)}.btn-confetti{position:relative;overflow:visible}.btn-confetti:after{content:"🎉";position:absolute;top:-20px;right:-10px;font-size:24px;opacity:0;transition:all .3s ease}.btn-confetti:hover:after{opacity:1;animation:confettiPop .6s ease}@keyframes confettiPop{0%{transform:scale(0) rotate(0)}50%{transform:scale(1.5) rotate(180deg)}to{transform:scale(1) rotate(360deg)}}.sparkle{position:relative}.sparkle:before,.sparkle:after{content:"✨";position:absolute;font-size:16px;opacity:0;transition:all .3s ease}.sparkle:before{top:-8px;left:-8px}.sparkle:after{bottom:-8px;right:-8px}.sparkle:hover:before,.sparkle:hover:after{opacity:1;animation:sparkleTwinkle 1s ease infinite}@keyframes sparkleTwinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.3) rotate(15deg);opacity:.7}}.rainbow-text{background:linear-gradient(90deg,#ff6b6b,#feca57,#48dbfb,#ff9ff3,#54a0ff);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:rainbow 3s linear infinite}@keyframes rainbow{0%{background-position:0% 50%}to{background-position:200% 50%}}.loading-cute{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12)}.loading-cute-emoji{font-size:64px;animation:loadingBounce 1s ease-in-out infinite}@keyframes loadingBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-20px) rotate(-10deg)}75%{transform:translateY(-20px) rotate(10deg)}}.loading-cute-text{font-family:var(--font-fun);font-size:var(--text-lg);color:var(--cute-primary);margin-top:var(--space-4);animation:loadingDots 1.5s steps(4,end) infinite}@keyframes loadingDots{0%,to{content:"Loading"}25%{content:"Loading."}50%{content:"Loading.."}75%{content:"Loading..."}}.heart-beat{animation:heartBeat 1.5s ease-in-out infinite;display:inline-block}@keyframes heartBeat{0%,to{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.star-rating{display:flex;gap:var(--space-1);font-size:24px}.star-rating .star{color:var(--cute-warning);transition:all .2s ease;cursor:pointer}.star-rating .star:hover,.star-rating .star.active{transform:scale(1.3);animation:starPulse .5s ease}@keyframes starPulse{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1.3)}}.tooltip-cute{position:relative}.tooltip-cute:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:var(--cute-primary);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-family:var(--font-fun);font-size:var(--text-sm);font-weight:600;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:var(--shadow-cute)}.tooltip-cute:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);border:6px solid transparent;border-top-color:var(--cute-primary);opacity:0;visibility:hidden;transition:all .3s ease}.tooltip-cute:hover:after,.tooltip-cute:hover:before{opacity:1;visibility:visible}.celebration-modal{background:#fff;border-radius:var(--radius-2xl);padding:var(--space-8);text-align:center;box-shadow:var(--shadow-playful);border:4px solid var(--cute-success);position:relative;overflow:hidden}.celebration-modal:before{content:"🎊 🎉 🎊";position:absolute;top:var(--space-4);left:0;right:0;font-size:32px;animation:celebrationBounce 1s ease infinite}@keyframes celebrationBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.level-up{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,var(--cute-primary) 0%,var(--cute-purple) 100%);color:#fff;padding:var(--space-8) var(--space-12);border-radius:var(--radius-2xl);font-family:var(--font-fun);font-size:var(--text-3xl);font-weight:800;box-shadow:var(--shadow-playful);z-index:1000;animation:levelUpPop 2s ease forwards}@keyframes levelUpPop{0%{transform:translate(-50%,-50%) scale(0) rotate(-180deg);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2) rotate(10deg);opacity:1}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:0}}.sound-wave{display:flex;align-items:center;gap:3px;height:30px}.sound-wave span{width:4px;background:var(--cute-primary);border-radius:var(--radius-full);animation:soundWave 1s ease-in-out infinite}.sound-wave span:nth-child(1){height:10px;animation-delay:0s}.sound-wave span:nth-child(2){height:20px;animation-delay:.1s}.sound-wave span:nth-child(3){height:30px;animation-delay:.2s}.sound-wave span:nth-child(4){height:20px;animation-delay:.3s}.sound-wave span:nth-child(5){height:10px;animation-delay:.4s}@keyframes soundWave{0%,to{transform:scaleY(.5);opacity:.5}50%{transform:scaleY(1);opacity:1}}.particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden}.particle{position:absolute;font-size:20px;opacity:.3;animation:particleFloat 20s linear infinite}@keyframes particleFloat{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.3}90%{opacity:.3}to{transform:translateY(-100vh) rotate(360deg);opacity:0}}.day-selector{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2)}.day-btn{min-width:60px;padding:var(--space-3);border-radius:var(--radius-xl);border:2px solid var(--color-border-light);background:#fff;cursor:pointer;transition:all .3s ease;text-align:center}.day-btn:hover{border-color:var(--cute-primary);transform:translateY(-2px)}.day-btn.active{background:var(--cute-primary);color:#fff;border-color:var(--cute-primary);transform:scale(1.1)}.day-btn .day-name{font-family:var(--font-fun);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.day-btn .day-number{font-family:var(--font-fun);font-size:var(--text-xl);font-weight:800}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-playful)}.glow{box-shadow:0 0 20px #6366f166;animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #6366f166}50%{box-shadow:0 0 40px #6366f199,0 0 60px #6366f14d}}.check-success{width:60px;height:60px;border-radius:var(--radius-full);background:var(--cute-success);display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;animation:checkPop .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes checkPop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes soundWave{0%{transform:scaleY(.5);opacity:.5}50%{transform:scaleY(1);opacity:1}to{transform:scaleY(.5);opacity:.5}}@keyframes voicePulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.voice-agent-pulse{position:relative}.voice-agent-pulse:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--cute-primary);animation:voicePulse 1.5s ease-out infinite;z-index:-1}@keyframes listeningPulse{0%,to{transform:scale(1);box-shadow:0 0 #f59e0b66}50%{transform:scale(1.1);box-shadow:0 0 0 12px #f59e0b00}}.listening-indicator{animation:listeningPulse 1s ease-in-out infinite}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.typing-indicator span{display:inline-block;width:8px;height:8px;background:var(--cute-primary);border-radius:50%;margin:0 3px;animation:typingBounce 1.4s ease-in-out infinite both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.content-slide-in{animation:slideInUp .4s cubic-bezier(.4,0,.2,1)}@keyframes rainbow{0%{color:red}17%{color:#f80}33%{color:#ff0}50%{color:#0f0}67%{color:#08f}83%{color:#80f}to{color:red}}.rainbow-text{animation:rainbow 3s linear infinite}@keyframes sparkle{0%,to{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(180deg);opacity:1}}.sparkle-icon{animation:sparkle 2s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(0)}10%{transform:rotate(-5deg)}20%{transform:rotate(5deg)}30%{transform:rotate(-3deg)}40%{transform:rotate(3deg)}50%{transform:rotate(0)}}.wiggle-hover:hover{animation:wiggle .5s ease-in-out}@keyframes glow{0%,to{box-shadow:0 0 5px var(--cute-primary),0 0 10px var(--cute-primary),0 0 15px var(--cute-primary)}50%{box-shadow:0 0 10px var(--cute-primary),0 0 20px var(--cute-primary),0 0 30px var(--cute-primary)}}.glow-effect{animation:glow 2s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:shake .5s ease-in-out}@keyframes fadeInScale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.fade-in-scale{animation:fadeInScale .3s ease-out}.rotate-slow{animation:rotate 8s linear infinite}.rotate-medium{animation:rotate 4s linear infinite}.rotate-fast{animation:rotate 2s linear infinite}@keyframes soundWave{0%{transform:scaleY(.5)}to{transform:scaleY(1.2)}}.sound-wave-bar{animation:soundWave .5s ease-in-out infinite alternate;will-change:transform}@keyframes pulseSmooth{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.pulse-smooth{animation:pulseSmooth 1s ease-in-out infinite;will-change:transform,opacity}@keyframes floatSmooth{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.float-smooth{animation:floatSmooth 3s ease-in-out infinite;will-change:transform}@keyframes bounceInFast{0%{opacity:0;transform:scale(.3) translateY(-20px)}50%{transform:scale(1.05) translateY(5px)}70%{transform:scale(.9) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}.bounce-in-fast{animation:bounceInFast .4s cubic-bezier(.68,-.55,.265,1.55);will-change:transform,opacity}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .3s ease-out;will-change:transform,opacity}@keyframes glowPulse{0%,to{box-shadow:0 0 5px #ff9a9e66}50%{box-shadow:0 0 20px #ff9a9ecc,0 0 40px #ff9a9e66}}.glow-pulse{animation:glowPulse 2s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-in{animation:fadeIn .3s ease-out}.fade-out{animation:fadeOut .3s ease-out}.btn-hover-lift{transition:transform .2s ease,box-shadow .2s ease;will-change:transform}.btn-hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@keyframes panelFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(.5deg)}75%{transform:translateY(-2px) rotate(-.5deg)}}.panel-float{animation:panelFloat 4s ease-in-out infinite;will-change:transform}@keyframes springBounce{0%{transform:scale(0) translateY(0)}40%{transform:scale(1.15) translateY(-10px)}60%{transform:scale(.95) translateY(5px)}80%{transform:scale(1.02) translateY(-2px)}to{transform:scale(1) translateY(0)}}@keyframes springIn{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.1) rotate(10deg)}80%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes elastic{0%{transform:scale(0)}50%{transform:scale(1.1)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes smoothFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(2deg)}50%{transform:translateY(-15px) rotate(0)}75%{transform:translateY(-8px) rotate(-2deg)}}@keyframes ambientFloat{0%{transform:translateY(100vh) translate(0) scale(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100px) translate(var(--drift, 50px)) scale(1);opacity:0}}@keyframes confettiExplode{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(0);opacity:0}}@keyframes flip3D{0%{transform:perspective(400px) rotateY(0)}50%{transform:perspective(400px) rotateY(180deg) scale(1.1)}to{transform:perspective(400px) rotateY(360deg)}}@keyframes smoothPulse{0%,to{box-shadow:0 0 #ff9a9e66;transform:scale(1)}50%{box-shadow:0 0 20px 10px #ff9a9e33;transform:scale(1.02)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.sticker{width:80px;height:80px;display:inline-block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));transition:all .4s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d;will-change:transform}.sticker:hover{transform:scale(1.15) rotateY(10deg) rotateX(-5deg);filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.sticker:active{transform:scale(.95) rotateY(0);transition:all .1s ease}.sticker-3d{transform-style:preserve-3d;perspective:1000px}.sticker-3d .sticker{animation:smoothFloat 4s ease-in-out infinite}.sticker-spring{animation:springIn .6s cubic-bezier(.34,1.56,.64,1)}.ambient-particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.ambient-particle{position:absolute;width:8px;height:8px;border-radius:50%;animation:ambientFloat 15s linear infinite;opacity:.4}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti-piece{position:absolute;width:12px;height:12px;animation:confettiExplode 2s ease-out forwards}.card-smooth{transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.card-smooth:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 40px #00000026}.btn-smooth{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-smooth:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-smooth:active:before{width:300px;height:300px}.btn-smooth:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.btn-smooth:active{transform:translateY(0);transition:all .1s}.shimmer{background:linear-gradient(90deg,#fff0,#fff6,#fff0);background-size:200% 100%;animation:shimmer 2s infinite}.glass{background:#ffffff40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}html{scroll-behavior:smooth}.parallax-container{perspective:1px;height:100vh;overflow-x:hidden;overflow-y:auto}.parallax-layer{position:absolute;inset:0}.parallax-layer-back{transform:translateZ(-1px) scale(2)}.parallax-layer-base{transform:translateZ(0)}.shape-sticker{width:100px;height:100px}.pattern-sticker{width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:15px;padding:20px;justify-items:center}.sticker-option{cursor:pointer;padding:10px;border-radius:12px;background:linear-gradient(135deg,#fff5f7,#ffeef8);border:3px solid transparent;transition:all .3s ease}.sticker-option:hover{border-color:#ff9a9e;transform:translateY(-3px);box-shadow:0 8px 20px #ff9a9e4d}.sticker-option.selected{border-color:#ff9a9e;background:linear-gradient(135deg,#ff9a9e,#fecfef)}.sticker-sequence{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.game-card{background:linear-gradient(135deg,#fff5f7,#ffeef8,#fff9fb);border-radius:24px;padding:24px;border:3px solid rgba(255,154,158,.3);box-shadow:0 10px 40px #ff9a9e26;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,154,158,.1) 0%,transparent 70%);animation:rotate 20s linear infinite;pointer-events:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.game-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #ff9a9e40;border-color:#ff9a9e80}.fact-badge{background:linear-gradient(135deg,#84fab0,#8fd3f4);color:#fff;padding:12px 20px;border-radius:16px;font-size:14px;font-weight:600;font-family:var(--font-fun);box-shadow:0 4px 15px #84fab066;display:inline-flex;align-items:center;gap:8px;animation:slideInUp .5s ease-out;max-width:100%;word-wrap:break-word}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skills-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.skill-tag{background:linear-gradient(135deg,#a18cd1,#fbc2eb);color:#fff;padding:6px 14px;border-radius:20px;font-size:11px;font-weight:700;font-family:var(--font-fun);box-shadow:0 2px 8px #a18cd14d;transition:all .3s ease}.skill-tag:hover{transform:scale(1.1);box-shadow:0 4px 12px #a18cd180}.memory-item-card{background:#fff;border-radius:20px;padding:16px;box-shadow:0 8px 30px #0000001a;border:3px solid transparent;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer}.memory-item-card:hover{border-color:#ff9a9e;transform:translateY(-5px) rotate(2deg);box-shadow:0 15px 40px #ff9a9e40}.memory-item-card .item-name{font-family:var(--font-fun);font-size:14px;font-weight:700;color:#d63384;text-align:center}.memory-item-card .item-category{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:1px}.game-question{background:linear-gradient(135deg,#fff,#fff5f7);border-radius:20px;padding:24px 32px;font-size:20px;font-weight:700;font-family:var(--font-fun);color:#d63384;text-align:center;box-shadow:0 8px 30px #00000014;border:3px solid rgba(255,154,158,.2);margin-bottom:20px;position:relative;overflow:hidden}.game-question:after{content:"✨";position:absolute;top:10px;right:15px;font-size:24px;opacity:.5;animation:float 3s ease-in-out infinite}.enhanced-sticker{filter:drop-shadow(0 6px 12px rgba(0,0,0,.15));transition:all .4s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}.enhanced-sticker:hover{transform:scale(1.15) rotateY(15deg) rotateX(-5deg);filter:drop-shadow(0 12px 24px rgba(0,0,0,.2))}.game-type-badge{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:700;font-family:var(--font-fun);text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 12px #fa709a66;display:inline-flex;align-items:center;gap:6px}.game-progress{display:flex;gap:8px;justify-content:center;margin:20px 0}.progress-dot{width:12px;height:12px;border-radius:50%;background:#0000001a;transition:all .3s ease}.progress-dot.active{background:linear-gradient(135deg,#ff9a9e,#fecfef);transform:scale(1.3);box-shadow:0 0 10px #ff9a9e80}.progress-dot.completed{background:#84fab0}.answer-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;padding:20px}.answer-option{background:linear-gradient(135deg,#fff,#f8f9fa);border:3px solid rgba(255,154,158,.2);border-radius:16px;padding:16px 20px;font-size:16px;font-weight:600;font-family:var(--font-fun);color:#495057;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);text-align:center;position:relative;overflow:hidden}.answer-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.answer-option:hover:before{left:100%}.answer-option:hover{border-color:#ff9a9e;transform:translateY(-3px);box-shadow:0 8px 25px #ff9a9e33;color:#d63384}.answer-option.correct{background:linear-gradient(135deg,#84fab0,#8fd3f4);border-color:#84fab0;color:#fff;animation:correctPulse .6s ease}.answer-option.wrong{background:linear-gradient(135deg,#ff9a9e,#fecfef);border-color:#ff9a9e;color:#fff;animation:shake .5s ease}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.game-score-display{background:linear-gradient(135deg,#ffd93d,#ff6b6b);color:#fff;padding:16px 28px;border-radius:24px;font-size:24px;font-weight:800;font-family:var(--font-fun);box-shadow:0 8px 30px #ffd93d66;display:inline-flex;align-items:center;gap:12px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.streak-counter{background:linear-gradient(135deg,#ff6b6b,#ffd93d);color:#fff;padding:10px 20px;border-radius:20px;font-size:16px;font-weight:700;font-family:var(--font-fun);box-shadow:0 4px 15px #ff6b6b66;display:inline-flex;align-items:center;gap:8px;animation:fireGlow 2s ease-in-out infinite}@keyframes fireGlow{0%,to{box-shadow:0 4px 15px #ff6b6b66}50%{box-shadow:0 4px 25px #ffd93d99}}.sticker-separator{font-size:24px;color:#6c757d;font-weight:700}@keyframes stickerBounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.sticker-animate{animation:stickerBounce .5s ease}@keyframes stickerShake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.sticker-wrong{animation:stickerShake .4s ease}@keyframes stickerPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.sticker-pop{animation:stickerPop .4s ease}.memory-sticker-container{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:20px;max-width:400px;margin:0 auto}.memory-card{aspect-ratio:1;background:linear-gradient(135deg,#fff5f7,#ffeef8);border-radius:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:3px solid transparent;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.memory-card:hover{border-color:#ff9a9e;transform:translateY(-2px)}.memory-card.revealed{border-color:#84fab0;background:linear-gradient(135deg,#d4edda,#c3e6cb)}.memory-card.matched{border-color:#28a745;background:linear-gradient(135deg,#d4edda,#28a74522);animation:stickerPop .4s ease}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-100px) rotate(360deg);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.2)}}.achievement-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 4px 12px #ffd70066;animation:bounce .5s ease;cursor:help}.particle-container{position:absolute;inset:0;pointer-events:none;z-index:1000;overflow:visible}.voice-agent-panel{background:linear-gradient(135deg,#fff5f7,#ffeef8,#f0f9ff);border-radius:28px;box-shadow:0 12px 40px #ff9a9e40,0 4px 12px #a18cd126;border:4px solid rgba(255,154,158,.4);animation:panelFloat 3s ease-in-out infinite;will-change:transform;transform:translateZ(0)}.voice-agent-listening{background:linear-gradient(135deg,#fff5f7,#ffeef8);border-radius:14px;border:2px dashed rgba(255,154,158,.5);animation:pulseSmooth 1s ease-in-out infinite}.voice-agent-speaking{background:linear-gradient(135deg,#fad0c4,#ffd1ff);border-radius:16px;border:3px solid rgba(255,107,107,.5);animation:glowPulse 1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.sound-wave-bar,.pulse-smooth,.float-smooth,.bounce-in-fast,.slide-in-right,.glow-pulse,.panel-float,.voice-agent-panel,.voice-agent-listening,.voice-agent-speaking{animation:none!important;transition:none!important}.btn-hover-lift:hover{transform:none}}@keyframes floatUpAndFade{0%{transform:translateY(0) scale(.5);opacity:0}20%{transform:translateY(-30px) scale(1.2);opacity:1}to{transform:translateY(-150px) scale(.8);opacity:0}}@keyframes sparkle{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1) rotate(180deg);opacity:.8}to{transform:scale(0) rotate(360deg);opacity:0}}@keyframes burstOut{0%{transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) scale(0);opacity:1}50%{transform:translate(calc(-50% + cos(var(--angle, 0deg)) * var(--distance, 100px)),calc(-50% + sin(var(--angle, 0deg)) * var(--distance, 100px))) rotate(var(--angle, 0deg)) scale(1.5);opacity:1}to{transform:translate(calc(-50% + cos(var(--angle, 0deg)) * var(--distance, 100px)),calc(-50% + sin(var(--angle, 0deg)) * var(--distance, 100px))) rotate(var(--angle, 0deg)) scale(.5);opacity:0}}@keyframes floatOrb{0%,to{transform:translate(0) scale(1);opacity:.3}25%{transform:translate(30px,-30px) scale(1.1);opacity:.5}50%{transform:translateY(-50px) scale(.9);opacity:.4}75%{transform:translate(-30px,-20px) scale(1.05);opacity:.5}}@keyframes bounceStar{0%,to{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-15px) rotate(90deg) scale(1.3)}50%{transform:translateY(0) rotate(180deg) scale(1)}75%{transform:translateY(-10px) rotate(270deg) scale(1.2)}}@keyframes heartPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px #ff6b6b)}50%{transform:scale(1.3);filter:drop-shadow(0 0 20px #ff6b6b)}}.floating-emoji-animation{will-change:transform,opacity}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #ff9a9e66,0 0 40px #ff9a9e33,0 0 60px #ff9a9e1a}50%{box-shadow:0 0 30px #ff9a9e99,0 0 60px #ff9a9e66,0 0 90px #ff9a9e33}}@keyframes rainbowBorder{0%{border-color:#ff6b6b}16.66%{border-color:#ffd93d}33.33%{border-color:#6bcf7f}50%{border-color:#4d96ff}66.66%{border-color:#a18cd1}83.33%{border-color:#ff9a9e}to{border-color:#ff6b6b}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-effect{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}.magnetic-btn{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.magnetic-btn:hover{transform:scale(1.05)}.glass-shimmer{position:relative;overflow:hidden}.glass-shimmer:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);animation:shimmer 3s infinite;pointer-events:none}@keyframes floatLabel{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.float-label{animation:floatLabel 3s ease-in-out infinite}@keyframes successRing{0%{transform:scale(.8);opacity:1;border-width:5px}to{transform:scale(2);opacity:0;border-width:0}}.success-ring{position:relative}.success-ring:before{content:"";position:absolute;inset:-10px;border:3px solid #84fab0;border-radius:inherit;animation:successRing .6s ease-out forwards;pointer-events:none}@keyframes typing{0%,to{opacity:1}50%{opacity:0}}.typing-cursor:after{content:"|";animation:typing 1s infinite;color:#d63384;font-weight:700}@keyframes voiceWave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.voice-wave-bar{animation:voiceWave .5s ease-in-out infinite;transform-origin:bottom}.voice-wave-bar:nth-child(2){animation-delay:.1s}.voice-wave-bar:nth-child(3){animation-delay:.2s}.voice-wave-bar:nth-child(4){animation-delay:.3s}.voice-wave-bar:nth-child(5){animation-delay:.4s}@keyframes jelly{0%,to{transform:scale(1)}25%{transform:scale(.9,1.1)}50%{transform:scale(1.1,.9)}75%{transform:scale(.95,1.05)}}.jelly-effect:active{animation:jelly .5s ease}.card-3d{transform-style:preserve-3d;transition:transform .3s ease}.card-3d:hover{transform:perspective(1000px) rotateX(5deg) rotateY(-5deg) translateZ(20px)}@keyframes progressStripe{0%{background-position:0 0}to{background-position:50px 50px}}.progress-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:50px 50px;animation:progressStripe 1s linear infinite}@keyframes tooltipFloat{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(-5px);opacity:1}}.tooltip-float{animation:tooltipFloat 2s ease-in-out infinite}@keyframes firework{0%{transform:translate(0) scale(0);opacity:1}50%{opacity:1}to{transform:translate(var(--x, 100px),var(--y, -100px)) scale(1);opacity:0}}.firework-particle{animation:firework 1s ease-out forwards}@keyframes elasticScale{0%{transform:scale(0)}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{transform:scale(1)}}.elastic-pop{animation:elasticScale .5s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes gradientText{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.gradient-text-animated{background:linear-gradient(90deg,#ff6b6b,#ffd93d,#6bcf7f,#4d96ff,#a18cd1,#ff6b6b);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientText 3s ease infinite}.therapy-cognitive{--therapy-color: #9B59B6}.therapy-language{--therapy-color: #3498DB}.therapy-sensory{--therapy-color: #E74C3C}.therapy-social{--therapy-color: #E91E63}.therapy-motor{--therapy-color: #27AE60}.therapy-goal-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:20px;border:3px solid var(--therapy-color, #ff9a9e);box-shadow:0 8px 30px #0000001a;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.therapy-goal-card:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:var(--therapy-color, #ff9a9e)}.therapy-goal-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 15px 40px #00000026}.therapy-goal-card.completed{background:linear-gradient(135deg,#84fab0,#8fd3f4);border-color:#84fab0}.therapy-goal-card.completed:before{background:#84fab0}.level-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:25px;font-weight:700;font-family:var(--font-fun);font-size:14px;box-shadow:0 4px 15px #0000001a}.level-badge.beginner{background:linear-gradient(135deg,#95a5a6,#bdc3c7);color:#fff}.level-badge.explorer{background:linear-gradient(135deg,#3498db,#5dade2);color:#fff}.level-badge.learner{background:linear-gradient(135deg,#2ecc71,#58d68d);color:#fff}.level-badge.achiever{background:linear-gradient(135deg,#9b59b6,#af7ac5);color:#fff}.level-badge.expert{background:linear-gradient(135deg,#e91e63,#f06292);color:#fff}.level-badge.master{background:linear-gradient(135deg,gold,orange);color:#333;box-shadow:0 0 20px #ffd70080;animation:masterGlow 2s ease-in-out infinite}@keyframes masterGlow{0%,to{box-shadow:0 0 20px #ffd70080}50%{box-shadow:0 0 40px #ffd700cc}}.milestone-badge{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:16px;border:3px solid #e9ecef;box-shadow:0 4px 15px #00000014;transition:all .3s ease;text-align:center}.milestone-badge.unlocked{border-color:#ffd93d;background:linear-gradient(135deg,#fff,#fffdf5);box-shadow:0 6px 20px #ffd93d4d}.milestone-badge.unlocked .milestone-icon{animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.milestone-icon{font-size:36px;margin-bottom:8px;display:block}.milestone-title{font-family:var(--font-fun);font-weight:700;font-size:14px;color:#2c3e50;margin-bottom:4px}.milestone-points{font-size:12px;color:#27ae60;font-weight:600}.therapy-progress-bar{width:100%;height:12px;background:#0000001a;border-radius:10px;overflow:hidden;position:relative}.therapy-progress-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,#ffd93d,#6bcf7f,#4d96ff);border-radius:10px;transition:width .8s cubic-bezier(.34,1.56,.64,1);position:relative}.therapy-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 2s infinite}.therapy-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;padding:20px}.therapy-stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;padding:16px;text-align:center;border:2px solid #e9ecef;transition:all .3s ease}.therapy-stat-card:hover{border-color:#ff9a9e;transform:translateY(-3px)}.therapy-stat-value{font-size:32px;font-weight:800;font-family:var(--font-fun);background:linear-gradient(135deg,#ff6b6b,#ffd93d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.therapy-stat-label{font-size:12px;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.session-timeline{display:flex;flex-direction:column;gap:12px;padding:20px;position:relative}.session-timeline:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#ff9a9e,#84fab0);border-radius:3px}.timeline-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#fff;border-radius:12px;border:2px solid #e9ecef;position:relative;z-index:1}.timeline-dot{width:16px;height:16px;border-radius:50%;background:#ff9a9e;border:3px solid white;box-shadow:0 2px 8px #0003;flex-shrink:0}.timeline-item.completed .timeline-dot{background:#84fab0}.timeline-content{flex:1}.timeline-title{font-family:var(--font-fun);font-weight:700;font-size:14px;color:#2c3e50}.timeline-duration{font-size:12px;color:#6c757d}.category-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;font-family:var(--font-fun);text-transform:uppercase;letter-spacing:.5px}.category-tag.cognitive{background:linear-gradient(135deg,#9b59b6,#af7ac5);color:#fff}.category-tag.language{background:linear-gradient(135deg,#3498db,#5dade2);color:#fff}.category-tag.sensory{background:linear-gradient(135deg,#e74c3c,#ec7063);color:#fff}.category-tag.social{background:linear-gradient(135deg,#e91e63,#f06292);color:#fff}.category-tag.motor{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.rainbow-btn{background:linear-gradient(90deg,#ff6b6b,#ffd93d,#6bcf7f,#4d96ff,#a18cd1);background-size:300% 100%;border:none;border-radius:30px;padding:14px 32px;font-family:var(--font-fun);font-weight:700;font-size:16px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3);box-shadow:0 6px 20px #0003;transition:all .4s ease;cursor:pointer;animation:rainbowMove 3s ease infinite}.rainbow-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 30px #0000004d}@keyframes rainbowMove{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.therapy-header{background:linear-gradient(135deg,#ff9a9e,#fecfef,#a18cd1);border-radius:24px;padding:32px;color:#fff;text-align:center;position:relative;overflow:hidden;box-shadow:0 10px 40px #ff9a9e4d}.therapy-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 60%);animation:rotate 20s linear infinite}.therapy-header h2{font-family:var(--font-fun);font-size:28px;font-weight:800;margin-bottom:8px;position:relative;z-index:1}.therapy-header p{font-size:16px;opacity:.9;position:relative;z-index:1}.goal-progress-ring{width:60px;height:60px;border-radius:50%;background:conic-gradient(var(--therapy-color, #ff9a9e) calc(var(--progress, 0) * 1%),#e9ecef calc(var(--progress, 0) * 1%));display:flex;align-items:center;justify-content:center;position:relative}.goal-progress-ring:before{content:"";width:48px;height:48px;background:#fff;border-radius:50%;position:absolute}.goal-progress-text{font-size:12px;font-weight:700;color:#2c3e50;position:relative;z-index:1}.story-mode-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:24px;padding:30px;box-shadow:0 10px 40px #0000001a;border:3px solid #ffd93d;max-width:800px;margin:0 auto}.story-scene-card{background:linear-gradient(135deg,#fff9e6,#fff);border-radius:20px;padding:24px;border:2px solid #ffd93d;margin-bottom:20px;min-height:200px;display:flex;flex-direction:column;justify-content:center}.story-scene-text{font-family:var(--font-fun);font-size:20px;line-height:1.8;color:#2c3e50;text-align:center}.story-choices-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:20px}.story-choice-btn{background:linear-gradient(135deg,#fff,#f0f0f0);border:3px solid #4d96ff;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);text-align:center;font-family:var(--font-fun);font-size:16px;font-weight:600;color:#2c3e50;display:flex;flex-direction:column;align-items:center;gap:8px}.story-choice-btn:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 10px 30px #4d96ff4d;border-color:#ff6b6b}.story-choice-emoji{font-size:40px}.story-ending-card{background:linear-gradient(135deg,#84fab0,#8fd3f4);border-radius:20px;padding:30px;text-align:center;border:3px solid #84fab0;animation:celebrationPulse 2s ease-in-out infinite}@keyframes celebrationPulse{0%,to{box-shadow:0 0 20px #84fab080}50%{box-shadow:0 0 40px #84fab0cc}}.story-reward-badge{display:inline-flex;align-items:center;gap:10px;background:#fff;padding:12px 24px;border-radius:30px;font-family:var(--font-fun);font-weight:700;font-size:18px;box-shadow:0 4px 15px #0000001a;margin-top:16px}.story-selector-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:24px;border:3px solid;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);text-align:center}.story-selector-card.forest{border-color:#27ae60;background:linear-gradient(135deg,#fff,#f0fff5)}.story-selector-card.space{border-color:#9b59b6;background:linear-gradient(135deg,#fff,#f8f0ff)}.story-selector-card.ocean{border-color:#3498db;background:linear-gradient(135deg,#fff,#f0f8ff)}.story-selector-card:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 15px 40px #00000026}.story-selector-icon{font-size:60px;margin-bottom:12px}.story-selector-title{font-family:var(--font-fun);font-size:20px;font-weight:700;color:#2c3e50;margin-bottom:8px}.story-selector-desc{font-size:14px;color:#6c757d}.reward-shop-container{background:linear-gradient(135deg,#fff,#fffdf5);border-radius:24px;padding:30px;box-shadow:0 10px 40px #ffd93d26;border:3px solid #ffd93d}.shop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e9ecef}.shop-title{font-family:var(--font-fun);font-size:28px;font-weight:800;background:linear-gradient(135deg,#ffd93d,#ff6b6b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.shop-currency{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#ffd93d,#ff9a9e);padding:12px 24px;border-radius:30px;font-family:var(--font-fun);font-weight:700;font-size:20px;color:#fff;box-shadow:0 4px 15px #ffd93d66}.shop-currency-icon{font-size:24px}.shop-categories{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.shop-category-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:25px;border:2px solid #e9ecef;background:#fff;font-family:var(--font-fun);font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease}.shop-category-btn:hover,.shop-category-btn.active{background:linear-gradient(135deg,#ffd93d,#ff9a9e);border-color:#ffd93d;color:#fff;transform:translateY(-2px)}.shop-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.shop-item-card{background:#fff;border-radius:16px;padding:20px;border:2px solid #e9ecef;transition:all .3s cubic-bezier(.34,1.56,.64,1);text-align:center;cursor:pointer;position:relative}.shop-item-card:hover{transform:translateY(-5px) scale(1.02);border-color:#ff6b6b;box-shadow:0 10px 30px #0000001a}.shop-item-card.owned{border-color:#84fab0;background:linear-gradient(135deg,#fff,#f0fff5)}.shop-item-card.owned:after{content:"✓ OWNED";position:absolute;top:-10px;right:-10px;background:#84fab0;color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:12px}.shop-item-icon{font-size:48px;margin-bottom:12px}.shop-item-name{font-family:var(--font-fun);font-weight:700;font-size:14px;color:#2c3e50;margin-bottom:4px}.shop-item-desc{font-size:12px;color:#6c757d;margin-bottom:12px}.shop-item-price{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-fun);font-weight:700;font-size:16px;color:#ffd93d}.shop-item-price.owned{color:#84fab0}.daily-challenges-container{background:linear-gradient(135deg,#fff,#f0f8ff);border-radius:24px;padding:30px;box-shadow:0 10px 40px #4d96ff1a;border:3px solid #4d96ff}.challenges-header{text-align:center;margin-bottom:24px}.challenges-title{font-family:var(--font-fun);font-size:28px;font-weight:800;color:#2c3e50;margin-bottom:8px}.challenges-subtitle{font-size:14px;color:#6c757d}.streak-display{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#ff6b6b,#ffd93d);padding:12px 24px;border-radius:30px;font-family:var(--font-fun);font-weight:700;font-size:18px;color:#fff;margin-bottom:24px;box-shadow:0 4px 15px #ff6b6b4d}.streak-fire{font-size:24px;animation:fireFlicker .5s ease-in-out infinite alternate}@keyframes fireFlicker{0%{transform:scale(1) rotate(-5deg)}to{transform:scale(1.2) rotate(5deg)}}.challenges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.challenge-card{background:#fff;border-radius:16px;padding:20px;border:2px solid #e9ecef;transition:all .3s ease;position:relative}.challenge-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.challenge-card.completed{border-color:#84fab0;background:linear-gradient(135deg,#fff,#f0fff5)}.challenge-card.completed .challenge-icon{animation:challengeComplete 1s ease infinite}@keyframes challengeComplete{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.3) rotate(10deg)}}.challenge-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.challenge-icon{font-size:32px}.challenge-info{flex:1}.challenge-title{font-family:var(--font-fun);font-weight:700;font-size:16px;color:#2c3e50}.challenge-desc{font-size:12px;color:#6c757d}.challenge-reward{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#ffd93d,#ff9a9e);padding:6px 12px;border-radius:15px;font-family:var(--font-fun);font-weight:700;font-size:12px;color:#fff}.challenge-progress{margin-top:12px}.challenge-progress-bar{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.challenge-progress-fill{height:100%;background:linear-gradient(90deg,#4d96ff,#84fab0);border-radius:4px;transition:width .5s ease}.challenge-progress-text{font-size:12px;color:#6c757d;margin-top:4px;text-align:right}.avatar-creator-container{background:linear-gradient(135deg,#fff,#f8f0ff);border-radius:24px;padding:30px;box-shadow:0 10px 40px #9b59b61a;border:3px solid #9B59B6}.avatar-preview{width:200px;height:200px;background:#fff;border-radius:50%;margin:0 auto 30px;display:flex;align-items:center;justify-content:center;font-size:100px;border:4px solid #e9ecef;box-shadow:0 10px 30px #0000001a;position:relative;overflow:hidden}.avatar-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.avatar-category{background:#fff;border-radius:16px;padding:20px;border:2px solid #e9ecef}.avatar-category-title{font-family:var(--font-fun);font-weight:700;font-size:16px;color:#2c3e50;margin-bottom:12px;display:flex;align-items:center;gap:8px}.avatar-options{display:flex;flex-wrap:wrap;gap:8px}.avatar-option{width:48px;height:48px;border-radius:12px;border:2px solid #e9ecef;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .3s ease}.avatar-option:hover{border-color:#9b59b6;transform:scale(1.1)}.avatar-option.selected{border-color:#9b59b6;background:linear-gradient(135deg,#f8f0ff,#e8d5f2);box-shadow:0 4px 12px #9b59b64d}.avatar-option.locked{opacity:.5;cursor:not-allowed}.avatar-color-option{width:40px;height:40px;border-radius:50%;border:3px solid white;box-shadow:0 2px 8px #0003;cursor:pointer;transition:all .3s ease}.avatar-color-option:hover{transform:scale(1.2)}.avatar-color-option.selected{box-shadow:0 0 0 3px #9b59b6}.sound-panel{background:#fff;border-radius:16px;padding:20px;border:2px solid #e9ecef}.sound-category{margin-bottom:20px}.sound-category-title{font-family:var(--font-fun);font-weight:700;font-size:16px;color:#2c3e50;margin-bottom:12px;display:flex;align-items:center;gap:8px}.sound-options{display:flex;flex-wrap:wrap;gap:8px}.sound-option{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;border:2px solid #e9ecef;background:#fff;cursor:pointer;transition:all .3s ease;font-size:14px}.sound-option:hover{border-color:#4d96ff;background:#f0f8ff}.sound-option.selected{border-color:#4d96ff;background:linear-gradient(135deg,#4d96ff,#84fab0);color:#fff}.volume-slider{width:100%;height:6px;border-radius:3px;background:#e9ecef;outline:none;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#4d96ff,#84fab0);cursor:pointer;box-shadow:0 2px 8px #0003}.voice-help-container{background:linear-gradient(135deg,#fff,#f0fff5);border-radius:20px;padding:24px;border:2px solid #84fab0}.voice-help-category{margin-bottom:20px}.voice-help-category-title{font-family:var(--font-fun);font-weight:700;font-size:16px;color:#2c3e50;margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid #e9ecef}.voice-command-list{display:flex;flex-direction:column;gap:8px}.voice-command-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border-radius:10px;border:1px solid #e9ecef}.voice-command-text{font-family:monospace;font-size:13px;color:#4d96ff;background:#f0f8ff;padding:4px 10px;border-radius:6px}.voice-command-desc{font-size:13px;color:#6c757d}.badge-showcase{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px}.badge-item{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;padding:16px 12px;text-align:center;border:2px solid #e9ecef;transition:all .3s ease}.badge-item.unlocked{border-color:#ffd93d;background:linear-gradient(135deg,#fff,#fffdf5);box-shadow:0 4px 15px #ffd93d33}.badge-item.unlocked .badge-icon{animation:badgeShine 2s ease-in-out infinite}@keyframes badgeShine{0%,to{filter:brightness(1)}50%{filter:brightness(1.3) drop-shadow(0 0 10px #ffd93d)}}.badge-icon{font-size:40px;margin-bottom:8px}.badge-name{font-family:var(--font-fun);font-weight:700;font-size:12px;color:#2c3e50;line-height:1.3}.badge-item.locked{opacity:.6}.badge-item.locked .badge-icon{filter:grayscale(100%)}.dashboard-background{min-height:100vh;background:linear-gradient(135deg,#ffeef8,#f0f9ff,#fff9e6,#f0fff4,#fef0ff);background-size:400% 400%;animation:gradientShift 15s ease infinite;position:relative;overflow-x:hidden}.floating-clouds{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.floating-cloud{position:absolute;font-size:60px;opacity:.15;animation:floatCloud 20s ease-in-out infinite}.floating-cloud:nth-child(1){top:10%;left:-10%;animation-duration:25s;animation-delay:0s}.floating-cloud:nth-child(2){top:20%;left:-10%;animation-duration:30s;animation-delay:5s}.floating-cloud:nth-child(3){top:60%;left:-10%;animation-duration:35s;animation-delay:10s}.floating-cloud:nth-child(4){top:80%;left:-10%;animation-duration:28s;animation-delay:15s}.floating-cloud:nth-child(5){top:40%;left:-10%;animation-duration:32s;animation-delay:8s}@keyframes floatCloud{0%{transform:translate(0) translateY(0)}25%{transform:translate(30vw) translateY(-20px)}50%{transform:translate(60vw) translateY(10px)}75%{transform:translate(90vw) translateY(-15px)}to{transform:translate(110vw) translateY(0)}}.cute-pattern-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(255,182,193,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(135,206,235,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,218,185,.3) 0%,transparent 50%),radial-gradient(circle at 60% 60%,rgba(152,251,152,.3) 0%,transparent 50%);pointer-events:none;z-index:0}.floating-shapes{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.floating-shape{position:absolute;opacity:.1;animation:floatShape 15s ease-in-out infinite}.floating-shape.star{color:#ffd93d;font-size:30px}.floating-shape.heart{color:#ff6b6b;font-size:25px}.floating-shape.circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#84fab0,#8fd3f4)}.floating-shape.square{width:35px;height:35px;border-radius:8px;background:linear-gradient(135deg,#ff9a9e,#fecfef)}.floating-shape:nth-child(1){top:10%;left:10%;animation-delay:0s}.floating-shape:nth-child(2){top:30%;left:85%;animation-delay:2s}.floating-shape:nth-child(3){top:70%;left:15%;animation-delay:4s}.floating-shape:nth-child(4){top:50%;left:75%;animation-delay:6s}.floating-shape:nth-child(5){top:20%;left:50%;animation-delay:8s}.floating-shape:nth-child(6){top:80%;left:60%;animation-delay:10s}.floating-shape:nth-child(7){top:40%;left:25%;animation-delay:12s}.floating-shape:nth-child(8){top:60%;left:90%;animation-delay:14s}@keyframes floatShape{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-30px) rotate(180deg) scale(1.1)}}.cute-dot-pattern{position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle,rgba(255,182,193,.15) 2px,transparent 2px);background-size:30px 30px;pointer-events:none;z-index:0}.wave-background{position:fixed;bottom:0;left:0;width:100%;height:200px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ff9a9e' fill-opacity='0.2' d='M0,160L48,176C96,192,192,224,288,213.3C384,203,480,149,576,138.7C672,128,768,160,864,181.3C960,203,1056,213,1152,192C1248,171,1344,117,1392,90.7L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");background-size:cover;background-repeat:no-repeat;pointer-events:none;z-index:0;animation:waveMove 10s ease-in-out infinite}@keyframes waveMove{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.glass-card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);border-radius:24px;box-shadow:0 8px 32px #00000014,inset 0 1px #fff9;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.glass-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0000001f,inset 0 1px #fffc;background:#ffffffd9}.cute-card{background:#fff;border-radius:24px;padding:24px;border:3px solid transparent;background-clip:padding-box;position:relative;box-shadow:0 10px 30px #00000014;transition:all .4s ease}.cute-card:before{content:"";position:absolute;inset:-3px;background:linear-gradient(135deg,#ff9a9e,#ffd93d,#84fab0,#4d96ff);border-radius:26px;z-index:-1;opacity:0;transition:opacity .4s ease}.cute-card:hover:before{opacity:1}.cute-card:hover{transform:translateY(-5px)}.modern-section{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:32px;padding:32px;margin-bottom:24px;border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px #0000000f}.fab-button{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#ff9a9e,#ffd93d);border:none;box-shadow:0 6px 20px #ff9a9e66;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:30px;right:30px;z-index:100}.fab-button:hover{transform:scale(1.1) rotate(10deg);box-shadow:0 10px 30px #ff9a9e80}.modern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:20px}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(150px,auto);gap:20px;padding:20px}.bento-item{background:#ffffffe6;border-radius:24px;padding:24px;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 20px #0000000d;transition:all .3s ease}.bento-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.bento-item.large{grid-column:span 2;grid-row:span 2}.bento-item.wide{grid-column:span 2}.bento-item.tall{grid-row:span 2}.cute-header{background:linear-gradient(135deg,#ff9a9ee6,#fecfefe6,#a18cd1e6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0 0 32px 32px;padding:24px 32px;box-shadow:0 4px 30px #0000001a;position:sticky;top:0;z-index:50}.modern-sidebar{background:#ffffffd9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:0 24px 24px 0;padding:24px;border-right:1px solid rgba(255,255,255,.6);box-shadow:4px 0 20px #0000000d}.corner-decoration{position:absolute;width:100px;height:100px;pointer-events:none;opacity:.3}.corner-decoration.top-left{top:-20px;left:-20px;background:radial-gradient(circle,#ff9a9e 0%,transparent 70%);border-radius:50%}.corner-decoration.top-right{top:-20px;right:-20px;background:radial-gradient(circle,#84fab0 0%,transparent 70%);border-radius:50%}.corner-decoration.bottom-left{bottom:-20px;left:-20px;background:radial-gradient(circle,#ffd93d 0%,transparent 70%);border-radius:50%}.corner-decoration.bottom-right{bottom:-20px;right:-20px;background:radial-gradient(circle,#4d96ff 0%,transparent 70%);border-radius:50%}.animated-border{position:relative;background:#fff;border-radius:24px;padding:24px}.animated-border:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,#ff9a9e,#ffd93d,#84fab0,#4d96ff,#a18cd1,#ff9a9e);background-size:400% 400%;border-radius:26px;z-index:-1;animation:borderGradient 3s ease infinite}@keyframes borderGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.soft-glow{box-shadow:0 0 20px #ff9a9e4d,0 0 40px #ff9a9e33,0 0 60px #ff9a9e1a}.btn-modern{background:linear-gradient(135deg,#ff9a9e,#ffd93d);border:none;border-radius:16px;padding:14px 28px;font-family:var(--font-fun);font-weight:700;font-size:16px;color:#fff;cursor:pointer;box-shadow:0 4px 15px #ff9a9e66;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.btn-modern:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.btn-modern:hover:before{left:100%}.btn-modern:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #ff9a9e80}.cute-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#ffffffe6;border-radius:20px;font-family:var(--font-fun);font-weight:600;font-size:13px;color:#2c3e50;box-shadow:0 2px 10px #00000014;border:1px solid rgba(255,255,255,.8)}.content-wrapper{position:relative;z-index:1;padding:24px;max-width:1400px;margin:0 auto}@media(max-width:768px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-item.large,.bento-item.wide{grid-column:span 2}}@media(max-width:480px){.bento-grid{grid-template-columns:1fr}.bento-item.large,.bento-item.wide,.bento-item.tall{grid-column:span 1;grid-row:span 1}}.ai-difficulty-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;font-family:var(--font-fun);font-weight:700;font-size:14px;transition:all .3s ease}.ai-difficulty-badge.easy{background:linear-gradient(135deg,#84fab0,#8fd3f4);color:#0a4d2e}.ai-difficulty-badge.medium{background:linear-gradient(135deg,#ffd93d,#ff9a9e);color:#8b4513}.ai-difficulty-badge.hard{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff}.ai-difficulty-badge.expert{background:linear-gradient(135deg,#9b59b6,#e91e63);color:#fff;box-shadow:0 0 20px #9b59b666;animation:expertPulse 2s ease-in-out infinite}@keyframes expertPulse{0%,to{box-shadow:0 0 20px #9b59b666}50%{box-shadow:0 0 30px #e91e6399}}.ai-question-card{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:32px;border:2px solid rgba(255,255,255,.8);box-shadow:0 10px 40px #0000001a;position:relative;overflow:hidden;transition:all .4s ease}.ai-question-card:before{content:"🤖";position:absolute;top:16px;right:16px;font-size:24px;opacity:.3}.ai-question-card:hover{transform:translateY(-5px);box-shadow:0 15px 50px #00000026}.ai-thinking{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#f0f8ff,#e6f3ff);border-radius:20px;font-family:var(--font-fun);font-size:14px;color:#4d96ff}.ai-thinking-dots{display:flex;gap:4px}.ai-thinking-dots span{width:8px;height:8px;background:#4d96ff;border-radius:50%;animation:thinkingBounce 1.4s ease-in-out infinite}.ai-thinking-dots span:nth-child(2){animation-delay:.2s}.ai-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinkingBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-hint-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#ffd93d,#ff9a9e);border:none;border-radius:30px;font-family:var(--font-fun);font-weight:700;font-size:14px;color:#fff;cursor:pointer;box-shadow:0 4px 15px #ffd93d4d;transition:all .3s ease}.ai-hint-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #ffd93d66}.ai-hint-bubble{background:linear-gradient(135deg,#fff9e6,#fff);border-radius:20px 20px 20px 4px;padding:16px 20px;border-left:4px solid #ffd93d;box-shadow:0 4px 15px #00000014;position:relative;margin-left:20px;animation:hintPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes hintPop{0%{transform:scale(.8) translate(-10px);opacity:0}to{transform:scale(1) translate(0);opacity:1}}.ai-hint-bubble:before{content:"💡";position:absolute;left:-15px;top:50%;transform:translateY(-50%);font-size:24px;background:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.ai-companion{position:fixed;bottom:100px;right:30px;z-index:100;display:flex;flex-direction:column;align-items:center;gap:8px}.ai-companion-avatar{width:60px;height:60px;background:linear-gradient(135deg,#4d96ff,#84fab0);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 6px 20px #4d96ff66;cursor:pointer;transition:all .3s ease;animation:aiFloat 3s ease-in-out infinite}@keyframes aiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.ai-companion-avatar:hover{transform:scale(1.1);box-shadow:0 10px 30px #4d96ff80}.ai-speech-bubble{background:#fff;border-radius:20px 20px 4px;padding:12px 16px;box-shadow:0 4px 15px #0000001a;font-family:var(--font-fun);font-size:13px;color:#2c3e50;max-width:200px;position:relative;animation:speechPop .4s ease}@keyframes speechPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.adaptive-indicator{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fffc;border-radius:30px;box-shadow:0 2px 10px #00000014}.adaptive-bar{width:120px;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;position:relative}.adaptive-fill{height:100%;background:linear-gradient(90deg,#84fab0,#4d96ff);border-radius:4px;transition:width .5s ease}.adaptive-label{font-family:var(--font-fun);font-weight:700;font-size:12px;color:#2c3e50}.ai-generating{display:flex;align-items:center;justify-content:center;gap:16px;padding:40px}.ai-brain{font-size:48px;animation:brainPulse 2s ease-in-out infinite}@keyframes brainPulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.2) drop-shadow(0 0 10px #4d96ff)}}.ai-generating-text{font-family:var(--font-fun);font-size:18px;color:#4d96ff;text-align:center}.performance-tracker{display:flex;gap:8px;align-items:center}.performance-dot{width:12px;height:12px;border-radius:50%;transition:all .3s ease}.performance-dot.correct{background:#84fab0;box-shadow:0 0 10px #84fab080}.performance-dot.wrong{background:#ff6b6b;box-shadow:0 0 10px #ff6b6b4d}.performance-dot.pending{background:#e9ecef}.learning-style-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:15px;font-size:12px;font-weight:700;font-family:var(--font-fun)}.learning-style-badge.visual{background:linear-gradient(135deg,#ff9a9e,#ffd93d);color:#fff}.learning-style-badge.auditory{background:linear-gradient(135deg,#4d96ff,#84fab0);color:#fff}.learning-style-badge.kinesthetic{background:linear-gradient(135deg,#9b59b6,#e91e63);color:#fff}.learning-style-badge.reading{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}:root{--rainbow-red: #ff6b6b;--rainbow-red-soft: #ffe0e0;--rainbow-orange: #ff9f43;--rainbow-orange-soft: #ffe8d1;--rainbow-yellow: #feca57;--rainbow-yellow-soft: #fff5d6;--rainbow-green: #48dbfb;--rainbow-green-soft: #d4f5e0;--rainbow-blue: #54a0ff;--rainbow-blue-soft: #d6ebff;--rainbow-purple: #5f27cd;--rainbow-purple-soft: #e8e0f7;--rainbow-pink: #ff9ff3;--rainbow-pink-soft: #ffe0fa;--gradient-sunset: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--gradient-ocean: linear-gradient(135deg, #30cfd0 0%, #330867 100%);--gradient-forest: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);--gradient-candy: linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%);--gradient-neon: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-sky: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-gold: linear-gradient(135deg, #f5af19 0%, #f12711 100%);--gradient-mint: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);--gradient-berry: linear-gradient(135deg, #c471ed 0%, #f64f59 100%);--gradient-sunny: linear-gradient(135deg, #f6d365 0%, #fda085 100%);--game-memory: #ff6b9d;--game-spelling: #c44569;--game-math: #f8b500;--game-colors: #20bf6b;--game-shapes: #4b7bec;--game-riddles: #a55eea;--game-trivia: #26de81;--game-animals: #fd9644;--game-patterns: #778ca3;--achievement-bronze: #cd7f32;--achievement-silver: #c0c0c0;--achievement-gold: #ffd700;--achievement-platinum: #e5e4e2;--achievement-diamond: #b9f2ff}.game-card-vibrant{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;transition:all .3s ease;position:relative;overflow:hidden}.game-card-vibrant:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--card-accent, var(--gradient-sunset))}.game-card-vibrant.memory{--card-accent: var(--gradient-candy)}.game-card-vibrant.spelling{--card-accent: var(--gradient-berry)}.game-card-vibrant.math{--card-accent: var(--gradient-gold)}.game-card-vibrant.colors{--card-accent: var(--gradient-forest)}.game-card-vibrant.shapes{--card-accent: var(--gradient-sky)}.game-card-vibrant.riddles{--card-accent: var(--gradient-neon)}.game-card-vibrant.trivia{--card-accent: var(--gradient-mint)}.game-card-vibrant.animals{--card-accent: var(--gradient-sunny)}.game-card-vibrant:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #00000026}.btn-rainbow{background:var(--gradient-sunset);color:#fff;border:none;border-radius:50px;padding:1rem 2rem;font-weight:700;font-size:1.1rem;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 15px #fa709a66}.btn-rainbow:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.btn-rainbow:hover{transform:translateY(-3px);box-shadow:0 8px 25px #fa709a80}.badge-colorful{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:50px;font-weight:600;font-size:.85rem}.badge-colorful.new{background:var(--gradient-neon);color:#fff}.badge-colorful.hot{background:var(--gradient-gold);color:#fff}.badge-colorful.popular{background:var(--gradient-ocean);color:#fff}.badge-colorful.achieved{background:var(--gradient-forest);color:#fff}.bg-animated-rainbow{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradient-shift 15s ease infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.color-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.4;animation:float-orb 20s infinite ease-in-out}.color-orb.orb-1{width:300px;height:300px;background:var(--rainbow-pink);top:10%;left:10%;animation-delay:0s}.color-orb.orb-2{width:250px;height:250px;background:var(--rainbow-blue);top:60%;right:10%;animation-delay:-5s}.color-orb.orb-3{width:200px;height:200px;background:var(--rainbow-yellow);bottom:20%;left:30%;animation-delay:-10s}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.text-glow{text-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px currentColor}.text-gradient{background:var(--gradient-sunset);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-moz-background-clip:text}.progress-rainbow{height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden;position:relative}.progress-rainbow .progress-fill{height:100%;background:var(--gradient-sunset);border-radius:6px;transition:width .5s ease;position:relative}.progress-rainbow .progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shine 2s infinite}@keyframes progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.particle{position:absolute;width:10px;height:10px;border-radius:50%;pointer-events:none;animation:particle-float 10s infinite}@keyframes particle-float{0%,to{transform:translateY(0) rotate(0);opacity:1}50%{transform:translateY(-100vh) rotate(360deg);opacity:0}}.confetti-piece{position:absolute;width:10px;height:20px;animation:confetti-fall 3s ease-out forwards}@keyframes confetti-fall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.icon-glow{filter:drop-shadow(0 0 8px currentColor)}.border-rainbow{border:3px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--gradient-sunset) border-box;border-radius:16px}.neon-glow{box-shadow:0 0 5px var(--rainbow-pink),0 0 10px var(--rainbow-pink),0 0 20px var(--rainbow-pink),0 0 40px var(--rainbow-pink)}.stat-card-colorful{padding:1.5rem;border-radius:20px;color:#fff;position:relative;overflow:hidden}.stat-card-colorful:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:#ffffff1a;border-radius:50%}.stat-card-colorful.purple{background:var(--gradient-ocean)}.stat-card-colorful.green{background:var(--gradient-forest)}.stat-card-colorful.orange{background:var(--gradient-sunny)}.stat-card-colorful.pink{background:var(--gradient-candy)}.achievement-bronze{background:linear-gradient(135deg,#cd7f32,#e6a85c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-moz-background-clip:text}.achievement-silver{background:linear-gradient(135deg,silver,#e8e8e8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-moz-background-clip:text}.achievement-gold{background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-moz-background-clip:text}.chip-colorful{padding:.4rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.chip-colorful.red{background:var(--rainbow-red-soft);color:var(--rainbow-red)}.chip-colorful.orange{background:var(--rainbow-orange-soft);color:var(--rainbow-orange)}.chip-colorful.yellow{background:var(--rainbow-yellow-soft);color:#d4a017}.chip-colorful.green{background:var(--rainbow-green-soft);color:#16a34a}.chip-colorful.blue{background:var(--rainbow-blue-soft);color:var(--rainbow-blue)}.chip-colorful.purple{background:var(--rainbow-purple-soft);color:var(--rainbow-purple)}.chip-colorful.pink{background:var(--rainbow-pink-soft);color:var(--rainbow-pink)}.hover-lift-color{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift-color:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.lazy-image-container{position:relative;display:inline-block;overflow:hidden;background-color:#f8f9fa;border-radius:8px}.lazy-image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease-in-out,filter .3s ease-in-out}.lazy-image.loading{opacity:.7;filter:blur(2px)}.lazy-image.loaded{opacity:1;filter:none}.lazy-image.error{opacity:.5;filter:grayscale(100%)}.lazy-image-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.lazy-image-spinner{width:24px;height:24px;border:2px solid #e0e0e0;border-top:2px solid #4A90E2;border-radius:50%;animation:lazy-image-spin 1s linear infinite}.lazy-image-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;background-color:#0000001a;border-radius:4px;padding:8px 12px}.lazy-image-error-text{font-size:12px;color:#666;font-weight:500}@keyframes lazy-image-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:640px){.lazy-image-spinner{width:20px;height:20px}.lazy-image-error-text{font-size:11px}}@media(prefers-reduced-motion:reduce){.lazy-image{transition:none}.lazy-image-spinner{animation:none;border-top-color:#4a90e2}}@media(prefers-contrast:high){.lazy-image-container{border:1px solid #000}.lazy-image-error{background-color:#0000004d;border:1px solid #000}.lazy-image-error-text{color:#000;font-weight:600}}.progressive-loader{position:relative;min-height:60px;display:flex;align-items:center;justify-content:center}.progressive-loader.priority-critical{min-height:auto}.progressive-loader.priority-low{min-height:40px}.progressive-loader-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#666}.progressive-loader-spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top:2px solid #4A90E2;border-radius:50%;animation:progressive-loader-spin 1s linear infinite;margin-bottom:8px}.progressive-loader-text{font-size:14px;color:#666;font-weight:500}.progressive-loader-skeleton{width:100%;padding:16px}.skeleton-line{height:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:progressive-loader-skeleton 1.5s infinite;border-radius:6px;margin-bottom:8px}.skeleton-line-1{width:100%}.skeleton-line-2{width:80%}.skeleton-line-3{width:60%}.progressive-loader-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.progressive-loader-error-text{font-size:14px;margin-bottom:12px;text-align:center}.progressive-loader-retry{background-color:#4a90e2;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.progressive-loader-retry:hover{background-color:#357abd}.progressive-loader-retry:focus{outline:2px solid #4A90E2;outline-offset:2px}@keyframes progressive-loader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progressive-loader-skeleton{0%{background-position:-200% 0}to{background-position:200% 0}}.progressive-loader.priority-critical .progressive-loader-spinner{border-top-color:#dc2626}.progressive-loader.priority-high .progressive-loader-spinner{border-top-color:#f59e0b}.progressive-loader.priority-medium .progressive-loader-spinner{border-top-color:#4a90e2}.progressive-loader.priority-low .progressive-loader-spinner{border-top-color:#6b7280}@media(max-width:640px){.progressive-loader-placeholder{padding:12px}.progressive-loader-spinner{width:16px;height:16px}.progressive-loader-text{font-size:12px}.skeleton-line{height:10px;margin-bottom:6px}}@media(prefers-reduced-motion:reduce){.progressive-loader-spinner{animation:none;border-top-color:#4a90e2}.skeleton-line{animation:none;background:#e0e0e0}}@media(prefers-contrast:high){.progressive-loader-error{background-color:#fff;border:2px solid #000;color:#000}.progressive-loader-retry{background-color:#000;color:#fff;border:2px solid #000}.progressive-loader-retry:hover{background-color:#333}.skeleton-line{background:#ccc}}.progressive-loader[data-loading=true]{opacity:.8}.progressive-loader[data-loaded=true]{opacity:1;transition:opacity .3s ease-in-out}.progressive-loader[data-error=true]{opacity:1}.game-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .2s ease-in-out;cursor:pointer;min-height:400px;position:relative}.game-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.game-card:focus{outline:3px solid #4A90E2;outline-offset:2px}.game-card.selected{border:3px solid #4A90E2;box-shadow:0 4px 16px #4a90e24d}.game-card-image-container{position:relative;width:100%;height:200px;background:#f0f0f0;overflow:hidden}.game-card-image{width:100%;height:100%;object-fit:cover;transition:transform .2s ease-in-out}.game-card:hover .game-card-image{transform:scale(1.05)}.game-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);color:#999;font-size:14px}.game-card-selected-badge{position:absolute;top:8px;right:8px;width:32px;height:32px;background:#4a90e2;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003}.selected-checkmark{color:#fff;font-size:18px;font-weight:700}.game-card-content{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px}.game-card-title{margin:0;font-size:18px;font-weight:700;color:#333;line-height:1.3}.game-card-description{margin:0;font-size:14px;color:#666;line-height:1.5;flex:1}.game-card-metadata{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.metadata-item{display:flex;align-items:center}.age-range-label{font-size:13px;color:#666;background:#f0f0f0;padding:4px 8px;border-radius:4px}.game-card-goals{display:flex;gap:6px;flex-wrap:wrap}.goal-tag{display:inline-block;font-size:12px;background:#e8f4f8;color:#4a90e2;padding:4px 8px;border-radius:12px;font-weight:500}.goal-tag.more-goals{background:#f0f0f0;color:#666}.game-card-attribution{margin-top:auto;padding-top:8px;border-top:1px solid #f0f0f0}.attribution-text{font-size:12px;color:#999}.game-card-actions{padding:12px 16px;border-top:1px solid #f0f0f0;display:flex;gap:8px}@media(max-width:640px){.game-card{min-height:350px}.game-card-image-container{height:150px}.game-card-content{padding:12px;gap:10px}.game-card-title{font-size:16px}.game-card-description{font-size:13px}}@media(max-width:1024px){.game-card{min-height:380px}.game-card-image-container{height:180px}}.achievement-overlay{position:fixed;inset:0;background:#0f172ad9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.achievement-display-premium{background:#fff;border-radius:40px;padding:50px 40px;text-align:center;max-width:440px;width:90%;box-shadow:0 30px 60px -12px #00000080,0 0 0 1px #fff3;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.3)}.magical-card-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 0% 0%,rgba(99,102,241,.05) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(139,92,246,.05) 0%,transparent 50%);pointer-events:none;z-index:0}.achievement-badge-premium{position:relative;width:140px;height:140px;margin:0 auto 30px;perspective:1000px;z-index:2}.achievement-icon-premium{width:100%;height:100%;border-radius:40px;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;z-index:2;box-shadow:0 15px 35px #0003;transform-style:preserve-3d}.achievement-glow-premium{position:absolute;inset:-20px;border-radius:40px;opacity:.4;filter:blur(30px);z-index:1}.achievement-label-premium{font-size:14px;font-weight:800;color:#6366f1;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.achievement-name-premium{font-size:36px;font-weight:900;color:#0f172a;margin:0 0 16px;line-height:1.1;font-family:Nunito,sans-serif}.achievement-description-premium{font-size:18px;color:#475569;margin:0 0 40px;line-height:1.6}.achievement-progress-premium{display:flex;justify-content:center;gap:12px;margin-bottom:30px}.progress-dot-premium{width:10px;height:10px;border-radius:50%;box-shadow:0 2px 4px #0000000d}.achievement-btn-premium{color:#fff;border:none;padding:18px 48px;border-radius:30px;font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 10px 25px #6366f166;transition:all .3s ease;width:100%}.achievement-display-premium:after{content:"";position:absolute;top:-100%;left:-100%;width:300%;height:300%;background:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.1) 50%,transparent 55%);animation:shinySweep 4s infinite;pointer-events:none}@keyframes shinySweep{0%{transform:translate(-30%,-30%) rotate(45deg)}to{transform:translate(30%,30%) rotate(45deg)}}@media(max-width:480px){.achievement-display-premium{padding:40px 25px;margin:16px}.achievement-name-premium{font-size:28px}}.game-container{position:relative;width:100%;max-width:800px;margin:0 auto;padding:24px}.game-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:linear-gradient(135deg,#ffffffe6,#ffffffb3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin-bottom:20px;box-shadow:0 8px 32px #0000001a;border:2px solid rgba(255,255,255,.8)}.game-score{display:flex;align-items:center;gap:8px;font-family:var(--font-fun);font-size:24px;font-weight:800;color:#ff9a9e}.game-score-icon{font-size:28px}.game-streak{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#ffd93d,#ff9a9e);border-radius:20px;font-family:var(--font-fun);font-weight:700;color:#fff;font-size:16px}.game-timer{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#84fab0,#8fd3f4);border-radius:30px;font-family:var(--font-fun);font-weight:700;color:#fff;font-size:20px;box-shadow:0 4px 15px #84fab066}.game-timer.warning{background:linear-gradient(135deg,#ffd93d,#ff9a9e);animation:timerPulse 1s ease-in-out infinite}.game-timer.danger{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);animation:timerPulse .5s ease-in-out infinite}@keyframes timerPulse{0%,to{transform:scale(1);box-shadow:0 4px 15px #0003}50%{transform:scale(1.05);box-shadow:0 6px 25px #0000004d}}.timer-bar-container{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;margin:12px 0}.timer-bar{height:100%;background:linear-gradient(90deg,#84fab0,#4d96ff);border-radius:4px;transition:width 1s linear}.timer-bar.warning{background:linear-gradient(90deg,#ffd93d,#ff9a9e)}.timer-bar.danger{background:linear-gradient(90deg,#ff6b6b,#ee5a6f)}.power-ups-panel{display:flex;flex-wrap:wrap;gap:12px;padding:16px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin-bottom:20px;box-shadow:0 4px 20px #00000014}.power-up-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:none;border-radius:16px;background:#fff;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 15px #0000001a;position:relative}.power-up-btn:hover:not(:disabled){transform:translateY(-5px) scale(1.05);box-shadow:0 8px 25px #00000026}.power-up-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.power-up-btn.active{background:linear-gradient(135deg,#ffd93d,#ff9a9e);box-shadow:0 0 20px #ffd93d80}.power-up-emoji{font-size:28px}.power-up-name{font-family:var(--font-fun);font-size:11px;font-weight:700;color:#2c3e50;text-align:center}.power-up-count{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#ff6b6b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-fun);font-size:12px;font-weight:800;box-shadow:0 2px 8px #0003}.game-question-card{background:linear-gradient(135deg,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;padding:40px;border:3px solid rgba(255,255,255,.9);box-shadow:0 20px 60px #0000001f;text-align:center;position:relative;overflow:hidden;animation:cardPopIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes cardPopIn{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.game-question-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,182,193,.1) 0%,transparent 70%);pointer-events:none}.game-question-text{font-family:var(--font-fun);font-size:28px;font-weight:800;color:#2c3e50;line-height:1.4;margin-bottom:24px}.game-question-hint{font-family:var(--font-fun);font-size:16px;color:#6c757d;font-style:italic;margin-bottom:16px}.game-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:24px}.game-option-btn{padding:16px 24px;border:3px solid transparent;border-radius:20px;background:#fff;font-family:var(--font-fun);font-size:18px;font-weight:700;color:#2c3e50;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 15px #00000014;position:relative;overflow:hidden}.game-option-btn:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 25px #00000026;border-color:#4d96ff}.game-option-btn.correct{background:linear-gradient(135deg,#84fab0,#8fd3f4);color:#fff;border-color:#4ade80;animation:correctPulse .6s ease}.game-option-btn.wrong{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border-color:#ef4444;animation:shake .5s ease}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.1);box-shadow:0 0 30px #84fab099}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.picture-quiz-container{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.picture-quiz-item{aspect-ratio:1;background:#fff;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 30px #0000001a;border:4px solid transparent}.picture-quiz-item:hover{transform:translateY(-8px) scale(1.05);border-color:#4d96ff;box-shadow:0 15px 40px #00000026}.picture-quiz-item.selected{border-color:#84fab0;background:linear-gradient(135deg,#f0fff4,#fff)}.picture-quiz-emoji{font-size:64px;margin-bottom:8px}.picture-quiz-label{font-family:var(--font-fun);font-size:16px;font-weight:700;color:#2c3e50;text-transform:capitalize}.counting-items-container{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:24px;background:#fff9;border-radius:24px;margin:20px 0}.counting-item{font-size:48px;animation:countBounce .5s ease}@keyframes countBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.matching-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:400px;margin:24px auto}.matching-card{aspect-ratio:1;background:linear-gradient(135deg,#a18cd1,#fbc2eb);border-radius:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 15px #0000001a;font-size:36px;border:3px solid white}.matching-card:hover:not(.flipped):not(.matched){transform:translateY(-5px) scale(1.05);box-shadow:0 8px 25px #0003}.matching-card.flipped{background:#fff;transform:rotateY(180deg)}.matching-card.matched{background:linear-gradient(135deg,#84fab0,#8fd3f4);animation:matchPulse .6s ease}@keyframes matchPulse{0%{transform:scale(1)}50%{transform:scale(1.1);box-shadow:0 0 30px #84fab099}to{transform:scale(1)}}.matching-card-back{font-size:32px;color:#fff}.word-chain-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:20px}.word-chain-item{padding:12px 20px;background:#fff;border-radius:16px;font-family:var(--font-fun);font-size:20px;font-weight:700;color:#2c3e50;box-shadow:0 4px 15px #0000001a;transition:all .3s ease}.word-chain-item.current{background:linear-gradient(135deg,#ffd93d,#ff9a9e);color:#fff;transform:scale(1.1);box-shadow:0 8px 25px #ffd93d66}.word-chain-arrow{font-size:24px;color:#4d96ff}.speed-math-container{text-align:center;padding:40px}.speed-math-problem{font-family:var(--font-fun);font-size:48px;font-weight:800;color:#2c3e50;margin:24px 0;padding:24px;background:#fff;border-radius:24px;box-shadow:0 8px 30px #0000001a;display:inline-block}.speed-math-answer-input{font-family:var(--font-fun);font-size:32px;font-weight:700;text-align:center;width:200px;padding:16px 24px;border:4px solid #e9ecef;border-radius:20px;outline:none;transition:all .3s ease}.speed-math-answer-input:focus{border-color:#4d96ff;box-shadow:0 0 0 4px #4d96ff33}.game-result{text-align:center;padding:40px;background:linear-gradient(135deg,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:32px;box-shadow:0 20px 60px #00000026;border:3px solid rgba(255,255,255,.9)}.game-result-title{font-family:var(--font-fun);font-size:36px;font-weight:800;background:linear-gradient(135deg,#ff9a9e,#fecfef);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:24px}.game-result-score{font-family:var(--font-fun);font-size:64px;font-weight:800;color:#4d96ff;margin:16px 0}.game-result-stars{display:flex;justify-content:center;gap:8px;margin:24px 0}.game-result-star{font-size:48px;animation:starPop .5s ease backwards}.game-result-star:nth-child(1){animation-delay:0s}.game-result-star:nth-child(2){animation-delay:.1s}.game-result-star:nth-child(3){animation-delay:.2s}@keyframes starPop{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}@media(max-width:600px){.picture-quiz-container{grid-template-columns:repeat(2,1fr)}.matching-grid{grid-template-columns:repeat(3,1fr)}.game-question-text{font-size:22px}.speed-math-problem{font-size:36px}}.animal-sticker{width:150px;height:150px;animation:animalBounce 2s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15))}.animal-sticker svg{width:100%;height:100%}@keyframes animalBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.05)}}.color-preview{width:120px;height:120px;border-radius:20px;box-shadow:0 8px 32px #00000026,inset 0 2px 4px #ffffff4d;border:4px solid white;animation:colorPulse 2s ease-in-out infinite}@keyframes colorPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.spelling-sticker,.word-scramble-sticker{width:120px;height:120px;animation:stickerWiggle 2s ease-in-out infinite;filter:drop-shadow(0 6px 12px rgba(0,0,0,.12))}.spelling-sticker svg,.word-scramble-sticker svg{width:100%;height:100%}@keyframes stickerWiggle{0%,to{transform:rotate(-3deg) scale(1)}50%{transform:rotate(3deg) scale(1.05)}}.dashboard-container{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-6)}.dashboard-title-section{flex:1;min-width:200px}.dashboard-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;line-height:var(--leading-tight)}.dashboard-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin:0;line-height:var(--leading-normal)}.dashboard-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.welcome-card{background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-secondary-50) 100%);border:1px solid var(--color-primary-200);margin-bottom:var(--space-6)}.welcome-card-content{display:flex;align-items:center;gap:var(--space-6)}.welcome-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,var(--color-primary-500),var(--color-secondary-500));border-radius:var(--radius-xl);color:#fff;flex-shrink:0;box-shadow:var(--shadow-md)}.welcome-text{flex:1}.welcome-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;line-height:var(--leading-normal)}.welcome-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin:0;line-height:var(--leading-normal)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--duration-normal);border:1px solid var(--color-border-light);display:flex;flex-direction:column;align-items:center;text-align:center}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-default)}.stat-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);margin-bottom:var(--space-3);font-size:24px;flex-shrink:0}.stat-card-icon.accent-primary{background-color:var(--color-primary-100);color:var(--color-primary-600)}.stat-card-icon.accent-success{background-color:var(--color-success-light);color:var(--color-success)}.stat-card-icon.accent-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.stat-card-icon.accent-danger{background-color:var(--color-error-light);color:var(--color-error)}.stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0;line-height:var(--leading-tight)}.stat-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin:0 0 var(--space-1) 0;line-height:var(--leading-normal)}.stat-card-subtitle{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;line-height:var(--leading-normal)}.panel{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}@media(prefers-reduced-motion:reduce){.stat-card:hover{transform:none}}@media(max-width:640px){.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-title-section{width:100%}.dashboard-actions{width:100%;justify-content:stretch}.dashboard-actions button{flex:1;justify-content:center}.welcome-card-content{flex-direction:column;text-align:center}.welcome-icon{width:56px;height:56px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.dashboard-title{font-size:var(--text-2xl)}.welcome-title{font-size:var(--text-lg)}.stat-value{font-size:var(--text-2xl)}}@media(min-width:641px)and (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-actions{width:100%}}.empty-state{text-align:center;padding:var(--space-8)}.empty-state-icon{margin-bottom:var(--space-4);color:var(--color-text-muted)}.empty-state-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-state-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.chart-container{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-4);border:1px solid var(--color-border-light)}.chart-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-light)}.data-table th{font-weight:var(--font-semibold);color:var(--color-text-secondary);background:var(--color-gray-50)}.data-table td{color:var(--color-text-primary)}.status-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:capitalize}.status-completed{background:var(--color-success-light);color:var(--color-success)}.status-pending{background:var(--color-warning-light);color:var(--color-warning)}.accuracy-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.acc-high{background:var(--color-success-light);color:#065f46}.acc-mid{background:var(--color-warning-light);color:#92400e}.acc-low{background:var(--color-error-light);color:#991b1b}@media(prefers-contrast:high){.stat-card,.welcome-card,.panel{border:2px solid var(--color-text-primary)}}.page-wrapper{min-height:100vh;background:linear-gradient(135deg,#ffeef8,#f0f9ff,#fff9e6,#f0fff4,#fef0ff);background-size:400% 400%;animation:gradientShift 15s ease infinite;position:relative;overflow-x:hidden}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.floating-decoration{position:fixed;pointer-events:none;z-index:0;font-size:40px;opacity:.12;animation:floatAround 20s ease-in-out infinite}.floating-decoration.cloud1{top:10%;left:5%;animation-delay:0s}.floating-decoration.cloud2{top:30%;right:10%;animation-delay:5s}.floating-decoration.star1{top:60%;left:8%;animation-delay:2s}.floating-decoration.star2{top:20%;right:15%;animation-delay:7s}.floating-decoration.heart1{top:70%;right:5%;animation-delay:4s}.floating-decoration.heart2{top:40%;left:15%;animation-delay:9s}@keyframes floatAround{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(20px,-20px) rotate(5deg)}50%{transform:translateY(-40px) rotate(0)}75%{transform:translate(-20px,-20px) rotate(-5deg)}}.cute-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(255,182,193,.25) 0%,transparent 40%),radial-gradient(circle at 80% 20%,rgba(135,206,235,.25) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(255,218,185,.2) 0%,transparent 50%);pointer-events:none;z-index:0}.dot-pattern{position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle,rgba(255,182,193,.2) 2px,transparent 2px);background-size:40px 40px;pointer-events:none;z-index:0}.wave-bottom{position:fixed;bottom:0;left:0;width:100%;height:150px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ff9a9e' fill-opacity='0.15' d='M0,224L48,213.3C96,203,192,181,288,181.3C384,181,480,203,576,224C672,245,768,267,864,250.7C960,235,1056,181,1152,165.3C1248,149,1344,171,1392,181.3L1440,192L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");background-size:cover;background-repeat:no-repeat;pointer-events:none;z-index:0}.dashboard-container{position:relative;z-index:1}.glass-panel{background:#ffffffbf;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.6);border-radius:24px;box-shadow:0 8px 32px #00000014}.welcome-card-enhanced{background:#fff;border-radius:24px;padding:32px;position:relative;box-shadow:0 10px 40px #0000001a}.welcome-card-enhanced:before{content:"";position:absolute;inset:-3px;background:linear-gradient(45deg,#ff9a9e,#ffd93d,#84fab0,#4d96ff);background-size:400% 400%;border-radius:26px;z-index:-1;animation:rainbowBorder 3s ease infinite}@keyframes rainbowBorder{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.sticker-book-container{perspective:1000px}.sticker-page-card{background:#fff;background-image:linear-gradient(90deg,rgba(0,0,0,.03) 0%,transparent 5%,transparent 95%,rgba(0,0,0,.03) 100%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.8),transparent);border-radius:20px;border-left:8px solid #f1f5f9;box-shadow:5px 5px 15px #00000005,0 10px 40px #0000000d;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.sticker-page-card:hover{transform:rotateY(-5deg) rotateX(2deg) translateY(-8px);box-shadow:15px 15px 30px #0000001a,0 20px 60px #6366f11a}.shimmer-rare{position:relative;overflow:hidden}.shimmer-rare:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 60%,transparent 100%);transform:rotate(45deg);animation:shimmerRotate 3s infinite}@keyframes shimmerRotate{0%{transform:translate(-30%,-30%) rotate(45deg)}to{transform:translate(30%,30%) rotate(45deg)}}.sticker-tag{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:4px 12px;border-radius:10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}:root{--color-primary-50: #EFF6FF;--color-primary-100: #DBEAFE;--color-primary-200: #BFDBFE;--color-primary-300: #93C5FD;--color-primary-400: #60A5FA;--color-primary-500: #3B82F6;--color-primary-600: #2563EB;--color-primary-700: #1D4ED8;--color-primary-800: #1E40AF;--color-primary-900: #1E3A8A;--color-secondary-50: #FAF5FF;--color-secondary-100: #F3E8FF;--color-secondary-200: #E9D5FF;--color-secondary-300: #D8B4FE;--color-secondary-400: #C084FC;--color-secondary-500: #A855F7;--color-secondary-600: #9333EA;--color-secondary-700: #7C3AED;--color-secondary-800: #6B21A8;--color-secondary-900: #581C87;--color-accent-teal: #14B8A6;--color-accent-coral: #F97316;--color-accent-rose: #FB7185;--color-accent-amber: #F59E0B;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-success: #10B981;--color-success-light: #D1FAE5;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-error: #EF4444;--color-error-light: #FEE2E2;--color-info: #3B82F6;--color-info-light: #DBEAFE;--color-bg-primary: #FFFFFF;--color-bg-secondary: #F9FAFB;--color-bg-tertiary: #F3F4F6;--color-bg-elevated: #FFFFFF;--color-text-primary: #111827;--color-text-secondary: #4B5563;--color-text-tertiary: #6B7280;--color-text-muted: #9CA3AF;--color-text-inverse: #FFFFFF;--color-border-light: #E5E7EB;--color-border-default: #D1D5DB;--color-border-strong: #9CA3AF;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Inter", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-none: none;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--ring-width: 3px;--ring-color: rgba(59, 130, 246, .5);--ring-offset-width: 2px;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-hide: -1;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--sidebar-width: 280px;--sidebar-collapsed: 72px;--header-height: 64px;--card-min-width: 280px;--btn-height-sm: 32px;--btn-height-md: 40px;--btn-height-lg: 48px;--btn-padding-x: var(--space-4);--btn-radius: var(--radius-lg);--btn-font-size: var(--text-sm);--btn-font-weight: var(--font-semibold);--input-height: 40px;--input-padding-x: var(--space-3);--input-padding-y: var(--space-2);--input-radius: var(--radius-lg);--input-border: 1px solid var(--color-border-default);--input-focus-border: var(--color-primary-500);--card-bg: var(--color-bg-elevated);--card-radius: var(--radius-xl);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--card-padding: var(--space-6);--game-card-size: 120px;--game-card-radius: var(--radius-xl);--game-card-shadow: var(--shadow-md)}@media(prefers-color-scheme:dark){:root{--color-bg-primary: #111827;--color-bg-secondary: #1F2937;--color-bg-tertiary: #374151;--color-bg-elevated: #1F2937;--color-text-primary: #F9FAFB;--color-text-secondary: #E5E7EB;--color-text-tertiary: #D1D5DB;--color-text-muted: #9CA3AF;--color-border-light: #374151;--color-border-default: #4B5563;--color-border-strong: #6B7280;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2)}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms}}@media(prefers-contrast:high){:root{--color-border-default: #000000;--ring-width: 4px}}.hero{padding:var(--space-16) 0;background:linear-gradient(180deg,var(--color-bg-primary) 0%,var(--color-gray-50) 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,var(--color-primary-100) 0%,transparent 70%);opacity:.6;pointer-events:none}.hero:after{content:"";position:absolute;bottom:-30%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,var(--color-secondary-100) 0%,transparent 70%);opacity:.4;pointer-events:none}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;position:relative;z-index:1}@media(max-width:1024px){.hero-content{grid-template-columns:1fr;text-align:center;gap:var(--space-8)}.hero-actions{justify-content:center}}.hero-title{font-size:var(--text-5xl);font-weight:var(--font-extrabold);line-height:var(--leading-tight);color:var(--color-text-primary);margin-bottom:var(--space-6)}.hero-highlight{display:block;background:linear-gradient(135deg,var(--color-primary-600),var(--color-secondary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8);line-height:var(--leading-relaxed);max-width:540px}@media(max-width:1024px){.hero-description{max-width:100%}}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-card{background:var(--color-bg-primary);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-xl);max-width:400px;width:100%;text-align:center}.hero-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--color-primary-500),var(--color-secondary-500));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);color:#fff}.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.hero-stat{padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-lg)}.hero-stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary-600);line-height:1}.hero-stat-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.section{padding:var(--space-16) 0}.features-section{background-color:var(--color-bg-primary)}.games-section{background-color:var(--color-gray-50)}.cta-section{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-secondary-600) 100%);padding:var(--space-12) 0}.section-header{text-align:center;max-width:640px;margin:0 auto var(--space-12)}.section-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-4)}.cta-section .section-title{color:#fff}.section-description{font-size:var(--text-lg);color:var(--color-text-secondary)}.cta-section .section-description{color:#ffffffe6}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media(max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.features-grid{grid-template-columns:1fr}}.feature-card{padding:var(--space-6);text-align:center;transition:all var(--duration-normal) var(--ease-out)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary-100),var(--color-secondary-100));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);color:var(--color-primary-600)}.feature-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.feature-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media(max-width:1024px){.games-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.games-grid{grid-template-columns:1fr}}.game-card{padding:var(--space-6);display:flex;align-items:center;gap:var(--space-4);transition:all var(--duration-normal) var(--ease-out)}.game-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.game-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--color-accent-teal),var(--color-accent-coral));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.game-info{flex:1}.game-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.cta-card{text-align:center;max-width:600px;margin:0 auto}.cta-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:#fff;margin-bottom:var(--space-4)}.cta-description{font-size:var(--text-lg);color:#ffffffe6;margin-bottom:var(--space-8)}.cta-section .btn-primary{background-color:#fff;color:var(--color-primary-600);box-shadow:var(--shadow-lg)}.cta-section .btn-primary:hover{background-color:var(--color-gray-100);box-shadow:var(--shadow-xl)}.footer{background-color:var(--color-gray-900);color:var(--color-gray-300);padding:var(--space-12) 0 var(--space-6)}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-8);margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-gray-700)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-2)}.footer-brand .brand-logo{background:linear-gradient(135deg,var(--color-primary-500),var(--color-secondary-500))}.footer-brand-name{font-size:var(--text-xl);font-weight:var(--font-bold);color:#fff}.footer-brand-tagline{font-size:var(--text-sm);color:var(--color-gray-400);margin:0}.footer-links{display:flex;gap:var(--space-6)}.footer-link{font-size:var(--text-sm);color:var(--color-gray-400);text-decoration:none;transition:color var(--duration-fast)}.footer-link:hover{color:#fff}.footer-bottom{text-align:center}.footer-bottom p{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}@media(max-width:768px){.header-content{flex-direction:column;gap:var(--space-4)}.nav{width:100%;justify-content:center;flex-wrap:wrap}.hero{padding:var(--space-12) 0}.hero-title{font-size:var(--text-3xl)}.hero-description{font-size:var(--text-base)}.hero-stats{grid-template-columns:repeat(2,1fr)}.section{padding:var(--space-10) 0}.section-title{font-size:var(--text-2xl)}.section-description{font-size:var(--text-base)}.footer-content{flex-direction:column;align-items:center;text-align:center}.footer-links{flex-wrap:wrap;justify-content:center}}@media(max-width:480px){.hero-title{font-size:var(--text-2xl)}.hero-stats{grid-template-columns:1fr 1fr;gap:var(--space-2)}.hero-stat{padding:var(--space-3)}.hero-stat-value{font-size:var(--text-xl)}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%;justify-content:center}}
