:root{--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-primary-accent: #8b5cf6;--color-primary-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--color-primary-gradient-hover: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--color-secondary: #fbbf24;--color-secondary-light: #fcd34d;--color-secondary-dark: #f59e0b;--color-secondary-muted: #fef3c7;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-slate-950: #020617;--color-success: #22c55e;--color-success-light: #4ade80;--color-success-dark: #16a34a;--color-success-bg: #dcfce7;--color-success-border: #86efac;--color-danger: #ef4444;--color-danger-light: #f87171;--color-danger-dark: #dc2626;--color-danger-bg: #fee2e2;--color-danger-border: #fca5a5;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-warning-bg: #fef3c7;--color-warning-border: #fcd34d;--color-info: #3b82f6;--color-info-light: #60a5fa;--color-info-dark: #2563eb;--color-info-bg: #dbeafe;--color-info-border: #93c5fd;--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-muted: #f1f5f9;--color-border: #e2e8f0;--color-border-muted: #f1f5f9;--color-text: #1e293b;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-disabled: #94a3b8;--color-text-inverse: #ffffff;--color-text-on-primary: #ffffff;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-family-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--spacing-px: 1px;--spacing-0: 0;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-1-5: .375rem;--spacing-2: .5rem;--spacing-2-5: .625rem;--spacing-3: .75rem;--spacing-3-5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--radius-none: 0;--radius-sm: .125rem;--radius-default: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--border-width: 1px;--border-width-2: 2px;--border-width-4: 4px;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-none: 0 0 #0000;--shadow-primary: 0 4px 14px 0 rgb(99 102 241 / .35);--shadow-primary-lg: 0 10px 25px -3px rgb(99 102 241 / .4);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-slower: .5s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}@media(prefers-color-scheme:dark){:root{--color-background: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-surface-muted: #1e293b;--color-border: #334155;--color-border-muted: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-text-disabled: #64748b;--color-text-inverse: #0f172a;--color-success-bg: #14532d;--color-success-border: #166534;--color-danger-bg: #7f1d1d;--color-danger-border: #991b1b;--color-warning-bg: #78350f;--color-warning-border: #92400e;--color-info-bg: #1e3a8a;--color-info-border: #1e40af;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .6);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .2);--shadow-primary: 0 4px 14px 0 rgb(99 102 241 / .25);--shadow-primary-lg: 0 10px 25px -3px rgb(99 102 241 / .3)}}:root{font-family:var(--font-family-sans);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:360px){:root{--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--spacing-4: .875rem;--spacing-5: 1rem;--spacing-6: 1.25rem;--spacing-8: 1.5rem;--radius-xl: .5rem;--radius-2xl: .75rem;--radius-3xl: 1rem}}@media(max-width:480px){html{font-size:15px}}@media(min-width:768px){html{font-size:16px}}.notification-bell{position:relative}.bell-button{background:none;border:none;padding:.5rem;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.bell-button:hover{background:#0000000d}.bell-icon{font-size:1.25rem}.bell-button.has-unread .bell-icon{animation:ring .5s ease-in-out}@keyframes ring{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}50%{transform:rotate(-15deg)}75%{transform:rotate(10deg)}}.unread-badge{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:.65rem;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;background:#fff;border-radius:.75rem;box-shadow:0 10px 40px #00000026;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0}.dropdown-header h3{margin:0;font-size:.95rem;color:#1e293b}.mark-all-read{background:none;border:none;color:#6366f1;font-size:.8rem;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem}.mark-all-read:hover{background:#f0f0ff}.mark-all-read:disabled{opacity:.5;cursor:not-allowed}.notification-list{flex:1;overflow-y:auto}.empty-notifications{padding:2rem;text-align:center;color:#64748b}.empty-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.empty-notifications p{margin:0}.notification-item{display:flex;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:background .2s;position:relative;border-bottom:1px solid #f1f5f9}.notification-item:hover{background:#f8fafc}.notification-item.unread{background:#faf5ff}.notification-item.unread:hover{background:#f5f3ff}.notification-icon{font-size:1.5rem;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:50%}.notification-item.unread .notification-icon{background:#e9d5ff}.notification-content{flex:1;min-width:0}.notification-title{margin:0 0 .25rem;font-size:.9rem;font-weight:500;color:#1e293b}.notification-body{margin:0 0 .25rem;font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-time{font-size:.7rem;color:#94a3b8}.unread-dot{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:8px;height:8px;background:#6366f1;border-radius:50%}.dropdown-footer{padding:.75rem 1rem;text-align:center;border-top:1px solid #e2e8f0;background:#f8fafc}.dropdown-footer a{color:#6366f1;font-size:.85rem;text-decoration:none}.dropdown-footer a:hover{text-decoration:underline}@media(max-width:640px){.notification-dropdown{position:fixed;top:60px;left:0;right:0;width:100%;max-height:calc(100vh - 60px);border-radius:0}}@media(max-width:360px){.bell-button{min-width:36px;min-height:36px;width:36px;height:36px;padding:.4rem}.bell-icon{font-size:1.1rem}.unread-badge{min-width:14px;height:14px;font-size:.6rem;top:-2px;right:-2px}.notification-dropdown{top:52px;max-height:calc(100vh - 52px)}}@media(hover:none),(pointer:coarse){.bell-button{min-width:44px;min-height:44px;padding:.625rem}.bell-icon{font-size:1.5rem}.mark-all-read{min-height:36px;padding:.5rem .75rem;font-size:.85rem}.notification-item{min-height:60px;padding:1rem}.dropdown-footer a{display:inline-block;min-height:44px;padding:.75rem 1rem;line-height:1.5}}@media(hover:none){.bell-button:active{background:#0000001a;transform:scale(.95)}.mark-all-read:active:not(:disabled){background:#ddd6fe;transform:scale(.98)}.notification-item:active{background:#f1f5f9;transform:scale(.99)}.notification-item.unread:active{background:#ede9fe}.dropdown-footer a:active{color:#4338ca;background:#f1f5f9}.bell-button,.mark-all-read,.notification-item,.dropdown-footer a{-webkit-tap-highlight-color:transparent}}@media(hover:hover){.bell-button:hover{background:#0000000d}.mark-all-read:hover{background:#f0f0ff}.notification-item:hover{background:#f8fafc}.notification-item.unread:hover{background:#f5f3ff}.dropdown-footer a:hover{text-decoration:underline}}.bell-button:focus-visible,.mark-all-read:focus-visible,.notification-item:focus-visible,.dropdown-footer a:focus-visible{outline:3px solid #6366f1;outline-offset:2px}.token-help-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.token-help-modal{background:#fff;border-radius:1.5rem;max-width:600px;min-width:min(600px,95vw);width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.token-help-close{position:absolute;top:1rem;right:1rem;background:#f3f4f6;border:none;width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s;line-height:1}.token-help-close:hover{background:#e5e7eb;color:#374151;transform:scale(1.1)}.token-help-header{background:linear-gradient(135deg,#fbbf24,#f59e0b);padding:2rem;text-align:center;border-radius:1.5rem 1.5rem 0 0}.token-help-icon{font-size:3rem;display:block;margin-bottom:.5rem}.token-help-header h2{color:#fff;font-size:1.75rem;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.token-help-subtitle{color:#ffffffe6;margin:.5rem 0 0;font-size:1rem}.token-help-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.token-section{display:flex;gap:1rem;padding:1rem;background:#f9fafb;border-radius:1rem;border-left:4px solid #6366f1}.token-section-earn{border-left-color:#10b981;background:#ecfdf5}.token-section-spend{border-left-color:#f59e0b;background:#fffbeb}.token-section-tips{border-left-color:#8b5cf6;background:#f5f3ff}.token-section-icon{font-size:2rem;flex-shrink:0}.token-section-content{flex:1}.token-section-content h3{margin:0 0 .5rem;font-size:1.1rem;color:#1f2937}.token-section-content p{margin:0;color:#4b5563;font-size:.95rem;line-height:1.5}.token-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.token-list li{display:flex;align-items:flex-start;gap:.5rem;color:#4b5563;font-size:.95rem;line-height:1.4}.token-list-icon{font-size:1.1rem;flex-shrink:0}.token-list strong{color:#1f2937}.token-help-footer{padding:1rem 1.5rem 1.5rem;display:flex;justify-content:center}.token-help-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.875rem 2.5rem;border-radius:2rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #6366f14d}.token-help-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.token-help-btn:active{transform:translateY(0)}@media(max-width:480px){.token-help-modal{border-radius:1rem}.token-help-header{padding:1.5rem;border-radius:1rem 1rem 0 0}.token-help-icon{font-size:2.5rem}.token-help-header h2{font-size:1.5rem}.token-help-content{padding:1rem}.token-section{padding:.875rem}.token-section-icon{font-size:1.5rem}.token-section-content h3{font-size:1rem}.token-section-content p,.token-list li{font-size:.9rem}}.avatar-builder{background:#fff;border-radius:1rem;padding:1.5rem;max-width:500px;margin:0 auto}.avatar-builder-preview{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.avatar-builder-preview .avatar-svg{box-shadow:0 4px 15px #00000026}.randomize-btn{display:flex;align-items:center;gap:.35rem}.avatar-builder-controls{margin-bottom:1.5rem}.category-tabs{display:flex;gap:.25rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.category-tab{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;border:none;background:#f1f5f9;border-radius:.5rem;cursor:pointer;transition:all .2s;min-width:60px;flex-shrink:0}.category-tab:hover{background:#e2e8f0}.category-tab.active{background:#6366f1;color:#fff}.tab-label{font-size:.65rem;font-weight:500;white-space:nowrap}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.5rem}.option-btn{padding:.75rem .5rem;border:2px solid #e2e8f0;background:#fff;border-radius:.5rem;cursor:pointer;transition:all .2s;font-size:.85rem;font-weight:500;color:#475569;position:relative}.option-btn:hover{border-color:#6366f1}.option-btn.selected{border-color:#6366f1;background:#ede9fe;color:#4f46e5}.option-btn.color-option{aspect-ratio:1;border-radius:50%;padding:0;min-height:45px}.option-btn.color-option.selected{box-shadow:0 0 0 3px #fff,0 0 0 5px #6366f1}.option-btn .check{position:absolute;top:2px;right:4px;font-size:.75rem;color:#6366f1}.option-btn.color-option .check{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);color:#fff;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.avatar-builder-actions{display:flex;gap:.75rem;justify-content:flex-end}.avatar-svg{display:block;overflow:visible}.avatar-mini-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:50%}.avatar-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.avatar-modal .avatar-builder{max-height:90vh;overflow-y:auto}@media(max-width:480px){.avatar-builder{padding:1rem}.category-tabs{gap:.35rem}.category-tab{padding:.4rem .5rem;min-width:50px}.tab-icon{font-size:1rem}.tab-label{font-size:.6rem}.options-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.35rem}.option-btn{padding:.5rem .35rem;font-size:.75rem}.avatar-builder-actions{flex-direction:column}.avatar-builder-actions .btn{width:100%}}.header{background:linear-gradient(135deg,#6366f1,#8b5cf6);padding:.5rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #0003;transform:translateZ(0);-webkit-transform:translateZ(0)}.header.header-static{position:relative}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:44px}.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#fff;font-weight:700;font-size:1.25rem;flex-shrink:0}.logo-accent{color:#fbbf24}.logo-icon{font-size:1.5rem}.desktop-nav{display:flex;gap:.5rem;flex:1;justify-content:center}.nav-link{color:#ffffffe6;text-decoration:none;font-weight:500;padding:.5rem .75rem;border-radius:.5rem;transition:all .2s;font-size:.875rem;white-space:nowrap}.nav-link:hover{background:#ffffff26;color:#fff}.nav-create{background:#fff3}.nav-teacher{background:#10b9814d;color:#fff}.nav-admin{background:#ef44444d;color:#fff}.nav-leaderboard{background:#fbbf244d;color:#fff}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.token-display{display:flex;align-items:center;gap:.25rem;background:#fff3;padding:.35rem .6rem;border-radius:2rem;font-weight:600;color:#fff;font-size:.875rem}.token-icon{font-size:1rem}.token-display-clickable{border:none;cursor:pointer;transition:all .2s}.token-display-clickable:hover{background:#ffffff59}.avatar-link{display:flex;align-items:center}.avatar-link .avatar-svg{border:2px solid rgba(255,255,255,.5);box-shadow:0 2px 4px #0003}.avatar-link:hover .avatar-svg{border-color:#fff}.header-profile-link{display:flex;align-items:center;gap:.35rem;text-decoration:none;padding:.2rem .5rem .2rem .2rem;border-radius:2rem;background:#ffffff1a;transition:background .2s}.header-profile-link:hover{background:#fff3}.header-profile-link .avatar-svg{border:2px solid rgba(255,255,255,.5);box-shadow:0 2px 4px #0003}.header-profile-link:hover .avatar-svg{border-color:#fff}.header-level-badge{color:#fbbf24;font-size:.7rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.desktop-only{display:flex;align-items:center}.mobile-only{display:none}.hamburger-btn{background:#fff3;border:none;color:#fff;width:44px;height:44px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.hamburger-btn:hover{background:#ffffff4d}.hamburger-icon{font-size:1.5rem}.mobile-menu-overlay{position:fixed;inset:0;background:#0009;z-index:200;animation:fadeIn .2s ease}.mobile-menu{position:fixed;top:0;right:0;width:min(300px,85vw);height:100vh;background:var(--card-bg, #1a1a2e);box-shadow:-4px 0 20px #0000004d;animation:slideIn .3s ease;overflow-y:auto;display:flex;flex-direction:column}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#6366f1,#8b5cf6)}.mobile-menu-title{font-size:1.25rem;font-weight:700;color:#fff}.mobile-menu-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-menu-close:hover{background:#ffffff4d}.mobile-menu-user{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#6366f11a;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-user-info{display:flex;flex-direction:column}.mobile-user-name{font-weight:600;color:var(--text-primary, white)}.mobile-user-level{font-size:.8rem;color:#fbbf24;font-weight:500}.mobile-user-tokens{font-size:.8rem;color:var(--text-secondary, #94a3b8);display:flex;align-items:center;gap:.25rem;margin-top:.15rem}.mobile-user-tokens .token-icon{font-size:.9rem}.mobile-menu-links{flex:1;padding:.5rem 0}.mobile-nav-link{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;color:var(--text-primary, white);text-decoration:none;font-size:1rem;font-weight:500;transition:all .2s;border:none;background:none;width:100%;text-align:left;cursor:pointer}.mobile-nav-link:hover,.mobile-nav-link:active{background:#6366f126}.nav-icon{font-size:1.25rem;width:28px;text-align:center}.mobile-menu-divider{height:1px;background:#ffffff1a;margin:.5rem 0}.mobile-nav-admin{color:#ef4444}.mobile-nav-signup{background:#6366f133}.guest-signup-btn{background:linear-gradient(135deg,#fbbf24,#f59e0b)!important;color:#1e293b!important;font-weight:600;border:none;box-shadow:0 2px 8px #fbbf2466;animation:pulse-signup 2s ease-in-out infinite}.guest-signup-btn:hover{background:linear-gradient(135deg,#fcd34d,#fbbf24)!important;transform:translateY(-1px);box-shadow:0 4px 12px #fbbf2480}@keyframes pulse-signup{0%,to{box-shadow:0 2px 8px #fbbf2466}50%{box-shadow:0 2px 16px #fbbf2499}}.mobile-logout{color:#ef4444}.header .xp-display-compact{background:#ffffff26;padding:.25rem .6rem;border-radius:2rem}.header .xp-display-compact .level-badge{background:#ffffff40;color:#fff}.header .xp-bar-mini{background:#ffffff4d}.header .xp-bar-mini .xp-fill{background:#fbbf24}@media(max-width:900px){.desktop-nav{display:none}}@media(max-width:768px){.header{padding:.5rem .75rem}.header-content{height:40px}.desktop-only{display:none!important}.mobile-only{display:flex}.logo{font-size:1.1rem}.logo-icon{font-size:1.25rem}.logo-text{display:none}.token-display{padding:.3rem .5rem;font-size:.8rem}.token-icon{font-size:.9rem}.hamburger-btn{width:40px;height:40px}.btn-sm{padding:.35rem .6rem;font-size:.8rem}}@media(max-width:360px){.header{padding:.4rem .5rem}.header-content{gap:.25rem;height:36px}.logo{min-height:36px}.logo-icon{font-size:1.1rem}.token-display,.guest-signup-btn{display:none}.header-actions{gap:.25rem}.hamburger-btn{width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0}.hamburger-icon{font-size:1.25rem}}@media(max-width:280px){.header{padding:.35rem .4rem}.header-content{gap:.2rem;height:32px}.logo-icon{font-size:1rem}.hamburger-btn{width:32px;height:32px;min-width:32px;min-height:32px}.hamburger-icon{font-size:1.1rem}}@media(hover:none),(pointer:coarse){.nav-link,.mobile-nav-link{min-height:44px}.token-display-clickable{min-height:40px;min-width:60px}.hamburger-btn{min-width:44px;min-height:44px}.logo{min-height:44px}}@media(hover:none){.nav-link:active,.mobile-nav-link:active{background:#ffffff40;transform:scale(.98)}.token-display-clickable:active{background:#fff6;transform:scale(.98)}.hamburger-btn:active{background:#fff6;transform:scale(.95)}.nav-link,.mobile-nav-link,.token-display-clickable,.hamburger-btn,.logo{-webkit-tap-highlight-color:transparent}}.nav-link:focus-visible,.mobile-nav-link:focus-visible,.token-display-clickable:focus-visible,.hamburger-btn:focus-visible,.logo:focus-visible{outline:2px solid white;outline-offset:2px}.skip-to-content{position:absolute;left:-9999px;z-index:999;padding:1em;background-color:#000;color:#fff;opacity:0}.skip-to-content:focus{left:0;opacity:1}.bug-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.bug-modal.bug-report-modal{background:#fff;border-radius:1rem;padding:1.5rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 50px #0000004d}.bug-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.bug-modal-close:hover{background:#f1f5f9;color:#475569}.bug-report-modal h2{margin:0 0 .5rem;color:#1e293b}.bug-report-modal .modal-subtitle{color:#64748b;margin:0 0 1.5rem;font-size:.9rem}.bug-report-modal .form-group{margin-bottom:1rem}.bug-report-modal label{display:block;font-weight:500;margin-bottom:.5rem;color:#374151}.bug-report-modal input,.bug-report-modal textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;font-family:inherit;transition:border-color .2s}.bug-report-modal input:focus,.bug-report-modal textarea:focus{outline:none;border-color:#6366f1}.bug-report-modal textarea{resize:vertical;min-height:100px}.bug-report-modal .page-info{font-size:.8rem;color:#64748b;margin:.5rem 0 1rem}.bug-report-modal .page-info code{background:#f1f5f9;padding:.2rem .4rem;border-radius:.25rem;font-size:.75rem}.bug-report-modal .modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.bug-report-modal .error-alert{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem}.bug-success{text-align:center;padding:1rem 0}.bug-success .success-icon{font-size:3rem;display:block;margin-bottom:1rem}.bug-success h2{margin:0 0 .5rem}.bug-success p{color:#64748b;margin:0 0 1.5rem}.site-footer{background:#1e293b;color:#94a3b8;padding:3rem 1rem 1.5rem;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto}.footer-brand{text-align:center;margin-bottom:2rem}.footer-logo{font-size:1.5rem;font-weight:700;color:#fff}.footer-tagline{margin:.5rem 0 0;font-size:.9rem}.footer-links{display:flex;justify-content:center;gap:4rem;margin-bottom:2rem;flex-wrap:wrap}.footer-section{display:flex;flex-direction:column;gap:.5rem}.footer-section h4{color:#fff;font-size:.9rem;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.footer-section a{color:#94a3b8;text-decoration:none;font-size:.9rem;transition:color .2s}.footer-section a:hover{color:#fff}.footer-link-btn{background:none;border:none;color:#94a3b8;text-decoration:none;font-size:.9rem;font-family:inherit;cursor:pointer;padding:0;text-align:left;transition:color .2s}.footer-link-btn:hover{color:#fff}.footer-install-btn{color:#60a5fa}.footer-install-btn:hover{color:#93c5fd}.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid #334155}.footer-copyright{margin:0 0 .25rem;font-size:.85rem}.footer-coppa{margin:0;font-size:.8rem;color:#64748b}@media(max-width:640px){.site-footer{padding:2rem 1rem 1rem}.footer-links{flex-direction:column;gap:1.5rem;text-align:center}.footer-section{align-items:center}}.install-prompt{position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:400px;margin:0 auto;background:#fff;border-radius:1rem;padding:1rem;box-shadow:0 4px 20px #00000026,0 0 0 1px #0000000d;z-index:1000;display:flex;flex-direction:column;gap:.75rem;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-content{display:flex;align-items:center;gap:.75rem}.install-icon{font-size:2rem;flex-shrink:0}.install-text{display:flex;flex-direction:column;gap:.125rem}.install-text strong{color:#1e293b;font-size:1rem}.install-text span{color:#64748b;font-size:.85rem}.install-actions{display:flex;gap:.5rem;justify-content:flex-end}.install-dismiss{background:transparent;border:none;color:#64748b;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;border-radius:.5rem;transition:all .2s}.install-dismiss:hover{background:#f1f5f9;color:#1e293b}.install-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;cursor:pointer;border-radius:.5rem;transition:all .2s}.install-button:hover{transform:scale(1.02);box-shadow:0 4px 12px #6366f14d}@supports (padding-bottom: env(safe-area-inset-bottom)){.install-prompt{bottom:calc(1rem + env(safe-area-inset-bottom))}}@media(hover:none),(pointer:coarse){.install-dismiss{min-height:44px;padding:.625rem 1.25rem;font-size:.95rem}.install-button{min-height:44px;padding:.625rem 1.5rem;font-size:.95rem}.install-actions{gap:.75rem}}@media(hover:none){.install-dismiss:active{background:#e2e8f0;transform:scale(.98)}.install-button:active{transform:scale(.98);opacity:.9}.install-dismiss,.install-button{-webkit-tap-highlight-color:transparent}}@media(hover:hover){.install-dismiss:hover{background:#f1f5f9;color:#1e293b}.install-button:hover{transform:scale(1.02);box-shadow:0 4px 12px #6366f14d}}.install-dismiss:focus-visible,.install-button:focus-visible{outline:3px solid #6366f1;outline-offset:2px}.offline-indicator{position:fixed;top:0;left:0;right:0;padding:.5rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;z-index:9999;font-size:.85rem;font-weight:500;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.offline-indicator.offline{background:#fef3c7;color:#92400e}.offline-indicator.online{background:#d1fae5;color:#065f46;animation:slideDown .3s ease,fadeOut .5s ease 2.5s forwards}@keyframes fadeOut{to{opacity:0;transform:translateY(-100%)}}.offline-icon{font-size:1rem}.offline-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboarding-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#6366f1f2,#8b5cf6f2);display:flex;align-items:center;justify-content:center;z-index:10001;padding:1rem;animation:fadeIn .3s ease;overflow:hidden}.onboarding-overlay.exiting{animation:fadeOut .3s ease forwards}.onboarding-modal{background:#fff;border-radius:1.5rem;padding:2.5rem 2rem;max-width:420px;width:100%;text-align:center;position:relative;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 20px 60px #0000004d}.onboarding-skip{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#94a3b8;font-size:.9rem;cursor:pointer;padding:.5rem;transition:color .2s}.onboarding-skip:hover{color:#64748b}.onboarding-content{padding:1rem 0 1.5rem}.onboarding-emoji{font-size:4rem;display:block;margin-bottom:1rem;animation:bounce .6s ease infinite alternate}.onboarding-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 .75rem}.onboarding-text{font-size:1.1rem;color:#475569;margin:0 0 .5rem;line-height:1.5}.onboarding-subtext{font-size:.9rem;color:#94a3b8;margin:0;font-style:italic}.onboarding-dots{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.onboarding-dot{width:10px;height:10px;border-radius:50%;border:none;background:#e2e8f0;cursor:pointer;padding:0;transition:all .2s}.onboarding-dot:hover{background:#cbd5e1}.onboarding-dot.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);transform:scale(1.2)}.onboarding-dot.completed{background:#10b981}.onboarding-actions{display:flex;justify-content:center}.onboarding-btn{min-width:140px;padding:.875rem 2rem;font-size:1.1rem;border-radius:2rem}.confetti-particle{position:absolute;top:-20px;border-radius:2px;animation:confettiFall linear forwards;pointer-events:none}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media(max-width:480px){.onboarding-modal{padding:2rem 1.5rem;border-radius:1rem;margin:0 .5rem}.onboarding-emoji{font-size:3rem}.onboarding-title{font-size:1.5rem}.onboarding-text{font-size:1rem}.onboarding-btn{width:100%;max-width:200px}}@media(min-width:768px){.onboarding-modal{padding:3rem 2.5rem;max-width:480px}.onboarding-emoji{font-size:5rem}.onboarding-title{font-size:2rem}}@media(hover:none),(pointer:coarse){.onboarding-skip{min-width:44px;min-height:44px;padding:.625rem;font-size:.95rem}.onboarding-dot{width:14px;height:14px;padding:8px;box-sizing:content-box;margin:-8px}.onboarding-btn{min-height:48px;padding:1rem 2rem}}@media(hover:none){.onboarding-skip:active{color:#475569;background:#0000000d;transform:scale(.98)}.onboarding-dot:active{transform:scale(1.3)}.onboarding-btn:active{transform:scale(.98);opacity:.9}.onboarding-skip,.onboarding-dot,.onboarding-btn{-webkit-tap-highlight-color:transparent}}@media(hover:hover){.onboarding-skip:hover{color:#64748b}.onboarding-dot:hover{background:#cbd5e1}}.onboarding-skip:focus-visible,.onboarding-dot:focus-visible,.onboarding-btn:focus-visible{outline:3px solid #6366f1;outline-offset:2px}.home{min-height:calc(100vh - 60px)}.hero{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:3rem 1.5rem;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;align-items:center}.hero-content{max-width:550px}.hero-tagline{font-size:.9rem;font-weight:600;color:#6366f1;text-transform:uppercase;letter-spacing:1px;margin:0 0 .75rem}.hero-title{font-size:2.25rem;line-height:1.2;margin:0 0 1rem;color:#1e293b}.highlight{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.05rem;color:#475569;margin:0 0 1.5rem;line-height:1.6}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.hero-badges{display:flex;gap:.5rem;flex-wrap:wrap}.hero-badges .badge{background:#6366f11a;color:#4f46e5;padding:.35rem .75rem;border-radius:2rem;font-size:.8rem;font-weight:500}.hero-badges .badge.badge-rating{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600}.hero-visual{width:250px;height:250px;position:relative}.floating-games{width:100%;height:100%;position:relative}.float-item{position:absolute;font-size:2.5rem;animation:float 3s ease-in-out infinite}.float-item:nth-child(1){top:10%;left:20%;animation-delay:0s}.float-item:nth-child(2){top:20%;right:15%;animation-delay:.5s}.float-item:nth-child(3){bottom:25%;left:10%;animation-delay:1s}.float-item:nth-child(4){bottom:15%;right:25%;animation-delay:1.5s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.theme-section{max-width:900px;margin:0 auto;padding:0 1.5rem}.mission{background:#f8fafc;padding:2.5rem 1.5rem;text-align:center}.mission-content{max-width:700px;margin:0 auto}.mission .section-title{margin-bottom:1rem}.mission-text{font-size:1.1rem;color:#475569;line-height:1.7;margin:0}.features{padding:3rem 1.5rem;max-width:1000px;margin:0 auto}.section-title{text-align:center;font-size:1.75rem;margin:0 0 2rem;color:#1e293b}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.feature-card{background:#fff;border-radius:1rem;padding:1.25rem;text-align:center;box-shadow:0 2px 12px #0000000f;border:1px solid #e2e8f0}.feature-icon{font-size:2rem;margin-bottom:.5rem}.feature-card h3{font-size:1rem;margin:0 0 .5rem;color:#1e293b}.feature-card p{font-size:.9rem;color:#64748b;margin:0;line-height:1.5}.how-it-works{background:linear-gradient(135deg,#6366f1,#8b5cf6);padding:3rem 1.5rem;color:#fff}.how-it-works .section-title{color:#fff}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto}.step-card{background:#ffffff26;border-radius:1rem;padding:1.5rem;text-align:center}.step-number{width:40px;height:40px;background:#fff;color:#6366f1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;margin:0 auto .75rem}.step-card h3{font-size:1.1rem;margin:0 0 .5rem}.step-card p{font-size:.9rem;opacity:.9;margin:0;line-height:1.5}.for-educators{padding:3rem 1.5rem;background:#f8fafc}.educators-content{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.educators-text h2{font-size:1.5rem;color:#1e293b;margin:0 0 1.25rem}.benefits-list{list-style:none;padding:0;margin:0 0 1.5rem}.benefits-list li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:#475569;font-size:.95rem;line-height:1.5}.benefits-list li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.benefits-list strong{color:#1e293b}.educators-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-outline{background:transparent;color:#6366f1;border:2px solid #6366f1;padding:.6rem 1.25rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-outline:hover{background:#6366f1;color:#fff}.testimonial{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 15px #00000014;border-left:4px solid #6366f1}.testimonial p{font-size:1.05rem;color:#475569;font-style:italic;line-height:1.6;margin:0 0 .75rem}.testimonial-author{font-size:.9rem;color:#94a3b8;font-weight:500}.safety{padding:3rem 1.5rem;max-width:1000px;margin:0 auto}.safety-rating-badge{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.rating-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:1.5rem;font-weight:800;border-radius:.5rem;box-shadow:0 4px 12px #10b9814d}.rating-text{font-size:1.25rem;font-weight:700;color:#10b981}.safety-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.safety-item{text-align:center;padding:1rem}.safety-icon{font-size:2rem;display:block;margin-bottom:.5rem}.safety-item h4{font-size:1rem;color:#1e293b;margin:0 0 .5rem}.safety-item p{font-size:.9rem;color:#64748b;margin:0;line-height:1.5}.cta-section{background:linear-gradient(135deg,#6366f1,#8b5cf6);padding:3rem 1.5rem;text-align:center;color:#fff}.cta-section h2{font-size:1.75rem;margin:0 0 .5rem}.cta-section p{font-size:1rem;margin:0 0 1.25rem;opacity:.9}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-section .btn-primary{background:#fff;color:#6366f1}.cta-section .btn-primary:hover{background:#f8fafc}.cta-section .btn-secondary{background:#fff3;color:#fff;border:2px solid white}.cta-section .btn-secondary:hover{background:#ffffff4d}@media(max-width:768px){.hero{padding:2rem 1rem}.hero-title{font-size:1.75rem}.hero-visual{width:180px;height:180px}.float-item{font-size:2rem}.educators-content{grid-template-columns:1fr}.educators-visual{order:-1}.section-title{font-size:1.5rem}.mission,.features,.how-it-works,.for-educators,.safety,.cta-section{padding:2rem 1rem}.safety-rating-badge{gap:.5rem}.rating-icon{width:40px;height:40px;font-size:1.25rem}.rating-text{font-size:1.1rem}.hero-badges .badge{flex-shrink:0}}.game-card{background:#1e1b4b;border-radius:1rem;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 2px 8px #0003;transition:all .2s ease;display:block;-webkit-tap-highlight-color:transparent;aspect-ratio:16 / 10}.game-card-inner{position:relative;width:100%;height:100%;overflow:hidden}@media(hover:hover){.game-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.game-card:hover .play-overlay{opacity:1}.game-card:hover .play-icon{transform:scale(1.1)}}@media(hover:none){.game-card:active{transform:scale(.98)}.game-card.touch-preview{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.game-card.touch-preview .play-overlay{opacity:1}.game-card.touch-preview .play-icon{transform:scale(1.1)}}.game-card:focus-visible{outline:3px solid #6366f1;outline-offset:2px;transform:translateY(-4px)}.preview-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;pointer-events:none;opacity:0;transition:opacity .3s;background:#1e1b4b}.preview-iframe.loaded{opacity:1}.card-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#4f46e5,#7c3aed,#a855f7);display:flex;align-items:center;justify-content:center}.card-background:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(-30%,-30%)}50%{transform:translate(30%,30%)}}.bg-icon{font-size:3rem;opacity:.5;position:relative;z-index:1}.preview-loading{position:absolute;inset:0;background:linear-gradient(135deg,#312e81,#4c1d95);display:flex;align-items:center;justify-content:center;z-index:1}.loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.2);border-top-color:#a78bfa;border-radius:50%;animation:spin 1s linear infinite}.card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,transparent 30%,transparent 50%,rgba(0,0,0,.6) 100%);pointer-events:none;z-index:2}.card-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:.75rem;z-index:3;pointer-events:none}.card-content>*{pointer-events:auto}.card-top{display:flex;justify-content:space-between;align-items:flex-start}.featured-badge{background:#f59e0b;color:#fff;font-size:.65rem;font-weight:600;padding:.2rem .5rem;border-radius:.25rem;text-transform:uppercase;box-shadow:0 2px 4px #0000004d}.difficulty-badges{display:flex;gap:.25rem;margin-left:auto}.difficulty-badge{font-size:.6rem;font-weight:600;padding:.15rem .35rem;border-radius:.2rem;text-transform:capitalize;box-shadow:0 1px 3px #0003}.difficulty-easy{background:#d1fae5;color:#065f46}.difficulty-medium{background:#fef3c7;color:#92400e}.difficulty-hard{background:#fee2e2;color:#991b1b}.card-bottom{text-shadow:0 1px 3px rgba(0,0,0,.5)}.game-title{font-size:1rem;font-weight:700;margin:0 0 .15rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-creator{font-size:.75rem;color:#ffffffd9;margin:0 0 .35rem}.game-stats{display:flex;gap:.75rem;align-items:center}.stat{display:flex;align-items:center;gap:.2rem;font-size:.8rem;color:#ffffffe6}.stat-icon{font-size:.75rem}.rating-count{font-size:.65rem;color:#ffffffb3;margin-left:.1rem}.favorite-btn{background:#ffffff26;border:none;padding:.2rem .4rem;cursor:pointer;border-radius:.4rem;transition:all .2s;margin-left:auto;backdrop-filter:blur(4px)}.favorite-btn:hover{background:#ffffff40}.favorite-btn.favorited{background:#ef44444d}.favorite-btn .stat-icon{font-size:.9rem}.play-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;pointer-events:none}.play-overlay.visible{opacity:1}.play-icon{width:50px;height:50px;background:#fffffff2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#6366f1;padding-left:4px;box-shadow:0 4px 15px #0000004d;transition:transform .2s}.play-icon:before{content:"▶"}.play-icon.active{width:auto;padding:.75rem 1.25rem;border-radius:2rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.play-icon.active:before{content:""}.touch-hint{position:absolute;bottom:3.5rem;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;font-size:.65rem;padding:.2rem .5rem;border-radius:.25rem;z-index:4;pointer-events:none}@media(hover:hover){.touch-hint{display:none}}@media(max-width:480px){.game-card{aspect-ratio:16 / 9}.card-content{padding:.5rem}.game-title{font-size:.9rem}.game-creator{font-size:.7rem}.stat{font-size:.75rem}.play-icon{width:44px;height:44px;font-size:1rem}.play-icon.active{font-size:.75rem;padding:.6rem 1rem}}@media(pointer:coarse){.favorite-btn{padding:.3rem .5rem;min-height:32px}}.arcade{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.arcade-header{margin-bottom:2rem}.arcade-header h1{font-size:2rem;margin:0 0 .5rem;color:#1e293b}.arcade-subtitle{color:#475569;margin:0 0 1.5rem;font-size:.95rem}.arcade-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.search-form{display:flex;gap:.5rem;flex:1;max-width:400px}.search-input{flex:1;padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;outline:none;transition:border-color .2s}.search-input:focus{border-color:#6366f1}.sort-tabs{display:flex;gap:.5rem;background:#f1f5f9;padding:.25rem;border-radius:.5rem}.tab{padding:.5rem 1rem;border:none;background:transparent;border-radius:.375rem;font-size:.9rem;font-weight:500;cursor:pointer;color:#475569;transition:all .2s}.tab:hover{color:#1e293b}.tab.active{background:#fff;color:#6366f1;box-shadow:0 1px 3px #0000001a}.difficulty-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-label{font-size:.85rem;color:#64748b;font-weight:500}.difficulty-tab{padding:.4rem .75rem;border:2px solid #e2e8f0;background:#fff;border-radius:2rem;font-size:.85rem;font-weight:500;cursor:pointer;color:#64748b;transition:all .2s}.difficulty-tab:hover{border-color:#cbd5e1;color:#1e293b}.difficulty-tab.active{border-color:#6366f1;color:#6366f1;background:#eef2ff}.difficulty-tab.difficulty-easy.active{border-color:#10b981;color:#065f46;background:#d1fae5}.difficulty-tab.difficulty-medium.active{border-color:#f59e0b;color:#92400e;background:#fef3c7}.difficulty-tab.difficulty-hard.active{border-color:#ef4444;color:#991b1b;background:#fee2e2}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.loading,.empty{text-align:center;padding:4rem 1rem;color:#475569}.load-more{text-align:center;margin-top:2rem}.token-info{margin-top:3rem;padding:1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:1rem}.token-info h3{margin:0 0 1rem;color:#92400e}.token-info ul{margin:0;padding-left:1.5rem;color:#78350f}.token-info li{margin-bottom:.5rem}@media(max-width:768px){.arcade{padding:1rem}.arcade-header h1{font-size:1.5rem}.arcade-subtitle{font-size:.875rem}.arcade-controls{flex-direction:column;align-items:stretch;gap:.75rem}.search-form{max-width:none}.search-input{padding:.75rem 1rem;font-size:16px}.sort-tabs{justify-content:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sort-tabs::-webkit-scrollbar{display:none}.tab{min-height:44px;padding:.625rem 1rem;white-space:nowrap}.difficulty-filters{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}.difficulty-tab{min-height:40px;padding:.5rem 1rem;white-space:nowrap}.games-grid{grid-template-columns:1fr;gap:1rem}}@media(max-width:480px){.arcade{padding:.75rem}.games-grid{grid-template-columns:1fr;gap:.75rem}}@media(hover:none),(pointer:coarse){.tab,.difficulty-tab,.search-input,.btn{min-height:44px}}.share-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.share-modal{background:#fff;border-radius:1rem;padding:2rem;max-width:500px;width:100%;position:relative;max-height:90vh;overflow-y:auto}.share-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.share-close:hover{background:#f1f5f9;color:#1e293b}.share-modal h2{margin:0 0 .5rem;color:#1e293b;font-size:1.5rem}.share-game-title{color:#6366f1;font-weight:500;margin:0 0 1.5rem}.share-loading{text-align:center;padding:2rem;color:#64748b}.share-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.25rem;border-radius:.5rem}.share-tab{flex:1;padding:.6rem 1rem;border:none;background:transparent;border-radius:.375rem;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.share-tab:hover{color:#1e293b}.share-tab.active{background:#fff;color:#6366f1;box-shadow:0 1px 3px #0000001a}.share-content{display:flex;flex-direction:column;gap:1.5rem}.share-section label{display:block;font-size:.85rem;font-weight:500;color:#475569;margin-bottom:.5rem}.share-input-group{display:flex;gap:.5rem}.share-input-group input,.share-input-group textarea{flex:1;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-family:monospace;font-size:.85rem;color:#475569;background:#f8fafc}.share-input-group textarea{resize:none}.copy-btn{padding:.75rem 1rem;background:#6366f1;color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.copy-btn:hover{background:#4f46e5}.copy-btn.copied{background:#10b981}.social-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:.5rem;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s;color:#fff}.social-btn svg{flex-shrink:0}.social-btn.twitter{background:#000}.social-btn.twitter:hover{background:#333}.social-btn.facebook{background:#1877f2}.social-btn.facebook:hover{background:#0d6efd}.social-btn.reddit{background:#ff4500}.social-btn.reddit:hover{background:#e03d00}.social-btn.whatsapp{background:#25d366}.social-btn.whatsapp:hover{background:#1da851}.embed-preview{background:#1e293b;border-radius:.5rem;overflow:hidden}.embed-preview iframe{display:block;border:none}.embed-hint{font-size:.8rem;color:#94a3b8;margin:.5rem 0 0}@media(max-width:480px){.share-modal{padding:1.5rem}.social-buttons{grid-template-columns:1fr}.share-input-group{flex-direction:column}.copy-btn{width:100%}}@media(hover:none),(pointer:coarse){.share-close{width:44px;height:44px;font-size:1.75rem}.share-tab{min-height:44px;padding:.75rem 1rem}.copy-btn{min-height:44px;padding:.875rem 1.25rem}.social-btn{min-height:48px;padding:.875rem 1.25rem}}@media(hover:none){.share-close:active{background:#e2e8f0;transform:scale(.95)}.share-tab:active{background:#e2e8f0;transform:scale(.98)}.copy-btn:active{background:#4338ca;transform:scale(.98)}.social-btn:active{opacity:.8;transform:scale(.98)}.social-btn.twitter:active{background:#1a1a1a}.social-btn.facebook:active{background:#0b5ed7}.social-btn.reddit:active{background:#cc3700}.social-btn.whatsapp:active{background:#128c48}.share-close,.share-tab,.copy-btn,.social-btn{-webkit-tap-highlight-color:transparent}}@media(hover:hover){.share-close:hover{background:#f1f5f9;color:#1e293b}.share-tab:hover{color:#1e293b}.copy-btn:hover{background:#4f46e5}.social-btn.twitter:hover{background:#333}.social-btn.facebook:hover{background:#0d6efd}.social-btn.reddit:hover{background:#e03d00}.social-btn.whatsapp:hover{background:#1da851}}.share-close:focus-visible,.share-tab:focus-visible,.copy-btn:focus-visible,.social-btn:focus-visible{outline:3px solid #6366f1;outline-offset:2px}.upgrade-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.upgrade-modal{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1.5rem;padding:2rem;max-width:480px;width:100%;position:relative;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.upgrade-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.upgrade-close:hover{background:#f1f5f9;color:#1e293b}.upgrade-header{text-align:center;margin-bottom:1.5rem}.upgrade-icon{font-size:3rem;display:block;margin-bottom:.75rem;animation:bounce 1s ease-in-out infinite}.upgrade-header h2{margin:0 0 .5rem;color:#1e293b;font-size:1.75rem;font-weight:700}.upgrade-subtitle{color:#64748b;font-size:1rem;margin:0;line-height:1.5}.upgrade-benefits{background:#f8fafc;border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem}.upgrade-benefits h3{font-size:.9rem;color:#475569;margin:0 0 1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.benefits-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.benefit-item{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;transition:all .2s}.benefit-item:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11a}.benefit-icon{font-size:1.5rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:.5rem}.benefit-text{display:flex;flex-direction:column;gap:.125rem}.benefit-text strong{color:#1e293b;font-size:.95rem;font-weight:600}.benefit-text span{color:#64748b;font-size:.85rem;line-height:1.4}.upgrade-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.upgrade-btn{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:.75rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #6366f14d}.upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.upgrade-btn:active{transform:translateY(0)}.maybe-later-btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;border-radius:.75rem;background:transparent;border:2px solid #e2e8f0;color:#64748b;cursor:pointer;transition:all .2s}.maybe-later-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.upgrade-note{text-align:center;font-size:.85rem;color:#94a3b8;margin:0;padding-top:.5rem;border-top:1px solid #f1f5f9}@media(max-width:480px){.upgrade-modal{padding:1.5rem;border-radius:1rem;margin:.5rem}.upgrade-icon{font-size:2.5rem}.upgrade-header h2{font-size:1.5rem}.upgrade-subtitle{font-size:.9rem}.upgrade-benefits{padding:1rem}.benefit-item{padding:.375rem}.benefit-icon{width:36px;height:36px;font-size:1.25rem}.benefit-text strong{font-size:.9rem}.benefit-text span{font-size:.8rem}.upgrade-btn{padding:.875rem 1.5rem;font-size:1rem}}@media(hover:none),(pointer:coarse){.upgrade-close{width:44px;height:44px;font-size:1.75rem}.benefit-item{min-height:60px;padding:.75rem}.upgrade-btn{min-height:52px;padding:1rem 2rem}.maybe-later-btn{min-height:48px;padding:.875rem 1.5rem}}@media(hover:none){.upgrade-close:active{background:#e2e8f0;transform:scale(.95)}.benefit-item:active{background:#f1f5f9;border-color:#a5b4fc;transform:scale(.99)}.upgrade-btn:active{transform:scale(.98);opacity:.9;box-shadow:0 2px 10px #6366f14d}.maybe-later-btn:active{background:#e2e8f0;transform:scale(.98)}.upgrade-close,.upgrade-btn,.maybe-later-btn{-webkit-tap-highlight-color:transparent}}@media(hover:hover){.upgrade-close:hover{background:#f1f5f9;color:#1e293b}.benefit-item:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11a}.upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.maybe-later-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}}.upgrade-close:focus-visible,.upgrade-btn:focus-visible,.maybe-later-btn:focus-visible{outline:3px solid #6366f1;outline-offset:2px}.guest-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:.75rem;padding:1rem;margin-bottom:1rem}.guest-banner-content{display:flex;align-items:center;gap:.75rem}.guest-icon{font-size:1.5rem}.guest-text{flex:1}.guest-main{font-weight:600;color:#92400e;margin:0;font-size:.95rem}.guest-sub{color:#b45309;margin:0;font-size:.85rem}.guest-benefits{margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid rgba(245,158,11,.3);font-size:.8rem;color:#92400e;text-align:center}.btn-signup{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.85rem;text-decoration:none;white-space:nowrap;transition:transform .2s,box-shadow .2s}.btn-signup:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.guest-banner.compact{background:#fef3c7e6;border:none;border-radius:2rem;padding:.35rem .75rem;margin:0;display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem}.guest-tokens{color:#92400e;font-weight:500}.guest-signup-link{color:#6366f1;font-weight:600;text-decoration:none}.guest-signup-link:hover{text-decoration:underline}@media(max-width:480px){.guest-banner-content{flex-wrap:wrap}.btn-signup{width:100%;text-align:center;margin-top:.5rem}.guest-text{flex:1 1 calc(100% - 3rem)}}.play-page{min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,#1e1b4b,#312e81);display:flex;flex-direction:column}.play-page.playing{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;position:fixed;inset:0;display:flex;flex-direction:column;z-index:200}.loading-game{flex:1;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.play-message{margin:auto;padding:2rem;background:#fff;border-radius:1rem;text-align:center;max-width:350px;box-shadow:0 10px 40px #0000004d}.play-message h3{margin:0 0 .5rem;color:#1e293b}.play-message p{margin:0 0 1.5rem;color:#475569}.current-rating{font-size:.85rem;color:#6366f1;margin-bottom:1rem!important}.play-page.instructions-page{padding:1rem;overflow-y:auto}.instructions-screen{margin:0 auto;padding:1.5rem;background:#fff;border-radius:1.5rem;max-width:500px;width:100%;max-height:none;overflow-y:visible;box-shadow:0 10px 40px #0000004d}.instructions-header{text-align:center;margin-bottom:1.5rem}.instructions-screen h1{margin:0 0 .25rem;color:#1e293b;font-size:1.5rem}.creator-line{color:#475569;font-size:.85rem;margin:0}.instructions-content{display:flex;flex-direction:column;gap:1.5rem}.instructions-left{display:flex;flex-direction:column;gap:1rem;text-align:center}.instructions-right{display:none}.prompt-display-mobile{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;text-align:left;max-height:40vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.prompt-display-mobile h4{font-size:.9rem;color:#334155;margin:0 0 .5rem}.prompt-display-mobile .prompt-intro{font-size:.75rem;color:#64748b;margin:0 0 .75rem}.prompt-display-mobile .prompt-code{background:#0f172a;border-radius:.5rem;padding:.75rem;color:#e2e8f0;font-size:.7rem;line-height:1.4;max-height:25vh;overflow-y:auto}@media(min-width:768px){.prompt-display-mobile{display:none}}.instructions-buttons-row{display:flex;gap:.75rem}.btn-toggle{flex:1;padding:.65rem 1rem;background:#e2e8f0;border:none;border-radius:.5rem;color:#475569;font-size:.9rem;font-weight:500;cursor:pointer}.btn-toggle:hover{background:#cbd5e1}.btn-toggle:disabled{opacity:.6;cursor:not-allowed}.high-scores-section{background:#fef3c7;border-radius:.75rem;padding:1rem;text-align:left}.high-scores-section h4{margin:0 0 .75rem;color:#92400e;text-align:center;font-size:1rem}.scores-list-instructions{display:flex;flex-direction:column;gap:.4rem}.score-row-instr{display:grid;grid-template-columns:2rem 1fr auto auto;gap:.5rem;align-items:center;padding:.4rem .5rem;background:#fff9;border-radius:.4rem;font-size:.85rem}.score-row-instr.top-three{background:#fbbf244d;font-weight:600}.prompt-display-large{background:#1e293b;border-radius:.75rem;padding:1.25rem;text-align:left;height:100%;min-height:300px;overflow-y:auto}.prompt-display-large h4{margin:0 0 1rem;color:#cbd5e1;font-size:.95rem}.prompt-display-large pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#e2e8f0;font-size:.9rem;line-height:1.6;font-family:Monaco,Consolas,monospace}.prompt-intro{color:#94a3b8;font-size:.85rem;margin:0 0 1rem}.prompt-intro-mini{color:#94a3b8;font-size:.75rem;margin:0 0 .5rem}.user-text-sample{background:#3b82f64d;color:#93c5fd;padding:.1rem .3rem;border-radius:.25rem}.user-text{background:#3b82f64d;color:#93c5fd;padding:.1rem .25rem;border-radius:.2rem}.prompt-code{font-family:Monaco,Consolas,monospace}@media(min-width:768px){.play-page.instructions-page{padding:2rem;display:flex;align-items:flex-start;justify-content:center}.instructions-screen{max-width:90%;width:90%;padding:2rem}.instructions-screen h1{font-size:2rem}.creator-line{font-size:1rem}.instructions-content{flex-direction:row;align-items:flex-start}.instructions-left{flex:0 0 400px;text-align:center}.instructions-right{display:block;flex:1;min-width:0}.how-to-play{padding:1rem 1.5rem}.how-to-play h3{font-size:1.1rem}.how-to-play li{font-size:1rem}.btn-play{padding:1rem;font-size:1.2rem}.prompt-display-large{min-height:400px}.prompt-display-large pre{font-size:.95rem}}.how-to-play{background:#f1f5f9;border-radius:.75rem;padding:.75rem 1rem;margin-bottom:1rem;text-align:left}.how-to-play h3{margin:0 0 .5rem;color:#475569;font-size:.9rem}.how-to-play ul{margin:0;padding-left:1.25rem;color:#334155}.how-to-play li{margin-bottom:.35rem;font-size:.9rem}.rating-display{display:block;width:100%;padding:.6rem;margin-bottom:.75rem;background:#fef3c7;border:2px solid #f59e0b;border-radius:.5rem;color:#92400e;font-size:.85rem;cursor:pointer}.btn-play{width:100%;padding:.875rem;font-size:1.1rem;margin-bottom:.75rem}.btn-prompt-toggle{display:block;width:100%;padding:.5rem;background:#e2e8f0;border:none;border-radius:.5rem;color:#475569;font-size:.85rem;cursor:pointer;margin-bottom:.75rem}.btn-prompt-toggle:hover{background:#cbd5e1}.prompt-display{background:#1e293b;border-radius:.5rem;padding:.75rem;margin-bottom:.75rem;text-align:left;max-height:200px;overflow-y:auto}.prompt-display h4{margin:0 0 .5rem;color:#cbd5e1;font-size:.8rem}.prompt-display pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#e2e8f0;font-size:.75rem;line-height:1.4;font-family:Monaco,Consolas,monospace}.btn-back{background:none;border:none;color:#e2e8f0;font-size:.85rem;cursor:pointer}.btn-back:hover{color:#fff}.game-top-bar{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;background:#000000f2;flex-shrink:0;height:44px;box-sizing:border-box;position:relative;z-index:10}.game-top-bar .game-center-info{flex:1}.game-center-info{display:flex;flex-direction:column;align-items:center;gap:.1rem}.game-title-main{color:#fff;font-weight:600;font-size:.9rem}.game-plays{color:#d1d5db;font-size:.7rem}.top-bar-right{display:flex;align-items:center}.timer{font-family:monospace;font-size:.85rem;color:#fff;background:#ffffff1a;padding:.25rem .5rem;border-radius:.25rem;display:flex;align-items:center;gap:.3rem}.timer.charged{color:#f59e0b;background:#f59e0b33}.timer small{font-size:.55rem;color:#22c55e;font-family:sans-serif;font-weight:600}.game-container{flex:1;display:flex;background:#000;min-height:0;overflow:hidden;position:relative;z-index:1}.game-iframe{width:100%;height:100%;border:none;display:block;position:relative;z-index:1}.game-bottom-bar.unified{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.35rem .5rem;background:#000000f2;flex-shrink:0;height:44px;box-sizing:border-box;position:relative;z-index:10}.bar-btn{width:32px;height:32px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.bar-btn:hover{background:#fff3}.bar-btn:active{background:#ffffff4d}.bar-btn.pause-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:1px solid #818cf8;width:36px;height:36px;font-size:1rem}.bar-btn.pause-btn:hover{background:linear-gradient(135deg,#818cf8,#a78bfa)}.bar-btn.audio-on{background:#22c55e4d;color:#4ade80}.bar-btn.audio-off{background:#ffffff1a;opacity:.5}.bar-btn.favorited{background:#ef444433;color:#f87171}.bar-divider{width:1px;height:20px;background:#fff3;margin:0 .15rem;flex-shrink:0}.bar-rating{display:flex;align-items:center;gap:0;flex-shrink:0}.star-btn-sm{background:none;border:none;font-size:.85rem;cursor:pointer;padding:0 1px;transition:transform .1s;filter:grayscale(1);opacity:.5;line-height:1}.star-btn-sm:hover{transform:scale(1.3)}.star-btn-sm.filled{filter:none;opacity:1}.end-btn{background:#dc2626;color:#fff;border:none;padding:.3rem .6rem;border-radius:.4rem;font-size:.75rem;font-weight:600;cursor:pointer;flex-shrink:0;margin-left:.15rem}.end-btn:hover{background:#b91c1c}.help-overlay{position:fixed;inset:0;background:#0f172aeb;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){.help-overlay{align-items:flex-start;padding-top:2rem}}.help-popup{background:linear-gradient(180deg,#1e293b,#0f172a);border-radius:1.5rem;padding:1.5rem;width:90%;max-height:95vh;max-height:95dvh;display:flex;flex-direction:column;text-align:center;border:2px solid rgba(99,102,241,.3);box-shadow:0 25px 50px -12px #00000080,0 0 30px #6366f126}.help-popup-scrollable{flex:1;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:1rem}@media(max-width:768px){.help-popup-scrollable{padding-bottom:2rem}}@media(min-width:768px){.help-popup{padding:2rem}}.help-popup h2{margin:0 0 .25rem;color:#f59e0b;font-size:1.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 10px rgba(245,158,11,.3)}.help-popup h3{margin:0 0 1.5rem;color:#e2e8f0;font-size:1.25rem;font-weight:500}@media(min-width:768px){.help-popup h2{font-size:2rem}.help-popup h3{font-size:1.4rem}}.help-instructions{background:#1e293bcc;border:1px solid rgba(99,102,241,.2);border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1.25rem;text-align:left}.help-instructions h4{margin:0 0 .75rem;color:#a5b4fc;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.help-instructions ul{margin:0;padding-left:1.25rem;color:#cbd5e1}.help-instructions li{margin-bottom:.4rem;font-size:.95rem;line-height:1.4}@media(min-width:768px){.help-instructions{padding:1.25rem 1.5rem}.help-instructions h4{font-size:1rem}.help-instructions li{font-size:1.05rem;margin-bottom:.5rem}}.popup-buttons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.btn-popup-toggle{padding:.65rem .75rem;background:#334155cc;border:1px solid rgba(148,163,184,.3);border-radius:.5rem;color:#e2e8f0;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-popup-toggle:hover{background:#475569e6;border-color:#94a3b880}.btn-popup-toggle:disabled{opacity:.5;cursor:not-allowed}@media(min-width:768px){.popup-buttons-grid{gap:.75rem}.btn-popup-toggle{padding:.75rem 1rem;font-size:.9rem}}.high-scores-popup{background:#1e293bcc;border:1px solid rgba(251,191,36,.3);border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1rem;text-align:left}.high-scores-popup h4{margin:0 0 .75rem;color:#fbbf24;font-size:1rem;text-align:center}.no-scores{text-align:center;color:#94a3b8;font-style:italic;margin:.5rem 0}.scores-list{display:flex;flex-direction:column;gap:.4rem}.score-row{display:grid;grid-template-columns:2.25rem 1fr auto auto;gap:.5rem;align-items:center;padding:.5rem;background:#33415599;border-radius:.5rem;font-size:.9rem}.score-row.top-three{background:#fbbf2426;border:1px solid rgba(251,191,36,.3)}.score-rank{color:#fbbf24;font-weight:700}.score-name{color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-points{color:#86efac;font-weight:600;font-family:inherit}.score-date{color:#cbd5e1;font-size:.8rem}.scores-list-instructions .score-rank{color:#b45309}.scores-list-instructions .score-name{color:#1e293b}.scores-list-instructions .score-points{color:#047857}.scores-list-instructions .score-date{color:#475569}@media(min-width:768px){.high-scores-popup{padding:1.25rem 1.5rem}.high-scores-popup h4{font-size:1.1rem}.score-row{font-size:.9rem;padding:.6rem .75rem}}.btn-prompt-toggle-popup{display:block;width:100%;padding:.5rem;background:#e2e8f0;border:none;border-radius:.5rem;color:#475569;font-size:.85rem;cursor:pointer;margin-bottom:.75rem}.btn-prompt-toggle-popup:hover{background:#cbd5e1}.prompt-display-popup{background:#0f172ae6;border:1px solid rgba(99,102,241,.2);border-radius:.75rem;padding:1rem;margin-bottom:1rem;text-align:left;max-height:200px;overflow-y:auto}.prompt-display-popup pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#cbd5e1;font-size:.8rem;line-height:1.5;font-family:Monaco,Consolas,monospace}@media(min-width:768px){.prompt-display-popup{max-height:250px;padding:1.25rem}.prompt-display-popup pre{font-size:.85rem;line-height:1.6}}.resume-btn{width:100%;padding:1rem;font-size:1.2rem;margin-bottom:.75rem;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:.75rem;color:#fff;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px #15803d,0 0 20px #22c55e4d;transition:all .15s}.resume-btn:hover{transform:translateY(-2px);box-shadow:0 6px #15803d,0 0 25px #22c55e66}.resume-btn:active{transform:translateY(2px);box-shadow:0 2px #15803d,0 0 15px #22c55e33}.help-hint{margin:0;color:#64748b;font-size:.75rem}.stars{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem}.star{font-size:2.25rem;background:none;border:none;opacity:.3;cursor:pointer;padding:.25rem;transition:all .15s}.star.active,.star:hover{opacity:1;transform:scale(1.1)}@media(max-width:480px){.instructions-screen{padding:1.25rem}.instructions-screen h1{font-size:1.3rem}.game-top-bar{padding:.35rem;height:40px}.game-bottom-bar.unified{padding:.25rem .35rem;height:40px;gap:.15rem}.bar-btn{width:28px;height:28px;font-size:.85rem}.bar-btn.pause-btn{width:32px;height:32px}.star-btn-sm{font-size:.7rem}.game-title-main{font-size:.85rem}.timer{font-size:.8rem;padding:.2rem .4rem}.end-btn{padding:.35rem .75rem;font-size:.8rem}}.btn-report{background:transparent;border:none;color:#ffffffbf;font-size:.8rem;cursor:pointer;padding:.5rem;transition:color .2s}.btn-report:hover{color:#fff}.btn-report-small{background:transparent;border:1px solid rgba(148,163,184,.3);color:#94a3b8;font-size:.75rem;cursor:pointer;padding:.4rem .75rem;border-radius:.5rem;margin-top:.75rem;transition:all .2s}.btn-report-small:hover{border-color:#94a3b880;color:#e2e8f0}.pause-footer{margin-top:.5rem}.pause-footer-buttons{display:flex;justify-content:center;gap:1rem;margin-top:.5rem}.btn-quit-small{background:transparent;border:1px solid rgba(239,68,68,.4);color:#f87171;font-size:.75rem;cursor:pointer;padding:.4rem .75rem;border-radius:.5rem;transition:all .2s}.btn-quit-small:hover{border-color:#ef444499;background:#ef44441a;color:#fca5a5}.help-popup.dev-mode{width:90%;padding:1rem 1.25rem}@media(max-width:768px){.help-popup.dev-mode{max-height:80vh;max-height:80dvh;margin-top:0;align-self:flex-start}}.help-popup.dev-mode h2{font-size:1.25rem;margin-bottom:.25rem}.help-popup.dev-mode h3{font-size:1rem;margin-bottom:.75rem}.dev-tools-section{background:linear-gradient(135deg,#6366f126,#8b5cf61a);border:1px solid rgba(99,102,241,.3);border-radius:.75rem;padding:.75rem;margin-bottom:.75rem;text-align:left}.dev-error{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:.4rem .6rem;border-radius:.4rem;font-size:.8rem;margin-top:.5rem}.dev-success{background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#86efac;padding:.4rem .6rem;border-radius:.4rem;font-size:.8rem;margin-top:.5rem}.dev-loading{display:flex;flex-direction:column;align-items:center;padding:1rem;margin-top:.5rem}.dev-loading-spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:dev-spin 1s linear infinite}@keyframes dev-spin{to{transform:rotate(360deg)}}.dev-loading-text{color:#a5b4fc;font-size:.85rem;margin-top:.5rem;animation:dev-pulse 1.5s ease-in-out infinite}.dev-loading-hint{color:#64748b;font-size:.75rem;margin-top:.25rem}@keyframes dev-pulse{0%,to{opacity:.6}50%{opacity:1}}.dev-refine-row{display:flex;gap:.5rem;margin-top:.5rem}.dev-refine-row textarea{flex:1;padding:.75rem;border:2px solid rgba(99,102,241,.3);border-radius:.5rem;background:#0f172acc;color:#e2e8f0;font-size:16px;font-family:inherit;resize:none;min-height:60px;-webkit-appearance:none;-webkit-user-select:text;user-select:text;transform:none!important;transition:border-color .2s}.dev-refine-row textarea:focus{outline:none;border-color:#6366f1;background:#0f172af2}@media(max-width:768px){.dev-refine-row textarea{min-height:80px;padding:1rem;scroll-margin-bottom:200px}.dev-refine-row textarea:focus{position:static}}.dev-actions-row{display:flex;gap:.5rem;margin-top:.5rem}.dev-refine-row textarea::placeholder{color:#64748b}.btn-dev-refine{padding:.5rem 1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:.4rem;color:#fff;font-weight:600;font-size:.8rem;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-dev-refine:hover:not(:disabled){opacity:.9}.btn-dev-refine:disabled{opacity:.5;cursor:not-allowed}.btn-dev-publish{flex:1;padding:.5rem .75rem;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:.4rem;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:opacity .2s}.btn-dev-publish:hover:not(:disabled){opacity:.9}.btn-dev-publish.disabled{background:#475569;cursor:not-allowed}.btn-dev-secondary{padding:.5rem;background:#47556980;border:1px solid rgba(148,163,184,.3);border-radius:.4rem;color:#cbd5e1;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-dev-secondary:hover{background:#475569b3}.btn-dev-delete{padding:.5rem;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:.4rem;color:#f87171;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-dev-delete:hover:not(:disabled){background:#ef44441a}@media(max-width:500px){.dev-refine-row{flex-direction:column}.dev-actions-row{flex-wrap:wrap}.btn-dev-publish{width:100%}}.dev-hint{position:fixed;top:12%;left:50%;transform:translate(-50%);background:#6366f1f2;color:#fff;padding:.75rem 1.25rem;border-radius:2rem;font-size:.9rem;font-weight:600;z-index:100;box-shadow:0 4px 15px #6366f166;animation:dev-hint-pulse 2s ease-in-out infinite;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .15s,box-shadow .15s}.dev-hint:hover{transform:translate(-50%) scale(1.05);box-shadow:0 6px 20px #6366f180}.dev-hint:active{transform:translate(-50%) scale(.98);box-shadow:0 2px 10px #6366f14d}@keyframes dev-hint-pulse{0%,to{opacity:.8}50%{opacity:1}}.version-history{margin-top:.75rem;background:#0f172a66;border:1px solid rgba(99,102,241,.2);border-radius:.5rem;padding:.75rem}.version-history h4{margin:0 0 .5rem;color:#a5b4fc;font-size:.85rem}.no-versions{color:#64748b;font-size:.8rem;font-style:italic;margin:0}.version-list{display:flex;flex-direction:column;gap:.4rem;max-height:200px;overflow-y:auto}.version-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:#33415580;border-radius:.4rem;flex-wrap:wrap}.version-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.version-number{color:#a5b4fc;font-weight:600;font-size:.8rem}.version-type{color:#94a3b8;font-size:.7rem;padding:.1rem .4rem;background:#94a3b826;border-radius:.25rem}.version-size,.version-date{color:#64748b;font-size:.7rem}.version-desc{color:#94a3b8;font-size:.75rem;margin:0;flex-basis:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-restore{font-size:.7rem!important;padding:.2rem .5rem!important;white-space:nowrap}.dev-explainer-overlay{position:fixed;inset:0;background:#0f172aeb;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.dev-explainer{background:linear-gradient(180deg,#1e293b,#0f172a);border-radius:1.5rem;padding:2rem;max-width:440px;width:95%;text-align:left;border:2px solid rgba(99,102,241,.3);box-shadow:0 25px 50px -12px #00000080}.dev-explainer h2{margin:0 0 .75rem;color:#a5b4fc;font-size:1.5rem;text-align:center}.dev-explainer p{color:#cbd5e1;font-size:.95rem;margin:0 0 1rem}.dev-explainer ul{list-style:none;padding:0;margin:0 0 1.5rem}.dev-explainer li{color:#e2e8f0;font-size:.9rem;padding:.5rem 0;border-bottom:1px solid rgba(148,163,184,.15)}.dev-explainer li:last-child{border-bottom:none}.dev-explainer li strong{color:#a5b4fc}.dev-explainer .btn{width:100%;text-align:center}.report-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.report-modal{background:#fff;border-radius:1rem;padding:2rem;max-width:400px;width:100%;text-align:center}.report-modal h3{margin:0 0 .5rem;color:#1e293b}.report-game-title{color:#6366f1;font-weight:500;margin:0 0 1.5rem}.report-success-icon{font-size:3rem;display:block;margin-bottom:1rem}.report-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;text-align:left}.report-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;transition:all .2s}.report-option:hover{background:#f1f5f9}.report-option.selected{background:#ede9fe;border-color:#8b5cf6}.report-option input{accent-color:#6366f1}.report-option span{color:#475569;font-size:.95rem}.report-comment{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9rem;font-family:inherit;resize:vertical;margin-bottom:1rem;box-sizing:border-box;color:#1e293b}.report-comment:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.report-comment::placeholder{color:#94a3b8}.report-ai-feedback{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;padding:1rem;margin:.5rem 0;text-align:left}.ai-feedback-text{color:#166534;font-size:.9rem;line-height:1.5;margin:0}.report-actions{display:flex;gap:.75rem;justify-content:center}.report-actions .btn{min-width:100px}.btn-share,.btn-popup-toggle.btn-share{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;border:none!important}.btn-share:hover,.btn-popup-toggle.btn-share:hover{opacity:.9}.btn-download,.btn-popup-toggle.btn-download{background:linear-gradient(135deg,#059669,#10b981)!important;color:#fff!important;border:none!important}.btn-download:hover,.btn-popup-toggle.btn-download:hover{opacity:.9}.btn-collection,.btn-popup-toggle.btn-collection{background:linear-gradient(135deg,#f59e0b,#f97316)!important;color:#fff!important;border:none!important}.btn-collection:hover,.btn-popup-toggle.btn-collection:hover{opacity:.9}.btn-remix,.btn-popup-toggle.btn-remix{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;color:#fff!important;border:none!important}.btn-remix:hover,.btn-popup-toggle.btn-remix:hover{opacity:.9}.btn-remix:disabled,.btn-popup-toggle.btn-remix:disabled{opacity:.6;cursor:not-allowed}.btn-popup-toggle.btn-report-toggle{background:#f59e0b33!important;border-color:#f59e0b66!important;color:#fbbf24!important}.btn-popup-toggle.btn-report-toggle:hover{background:#f59e0b4d!important}.btn-popup-toggle.btn-quit-toggle{background:#ef444433!important;border-color:#ef444466!important;color:#f87171!important}.btn-popup-toggle.btn-quit-toggle:hover{background:#ef44444d!important}.instructions-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;flex-wrap:wrap;gap:.75rem}.footer-left{display:flex;gap:.75rem;align-items:center}.footer-right{display:flex;gap:1rem;align-items:center}.btn-install-match{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;border:none;padding:.5rem 1rem;border-radius:.5rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #3b82f64d}.btn-install-match:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.btn-install-match:active{transform:translateY(0)}.btn-offline{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fffc;font-size:.8rem;cursor:pointer;padding:.5rem .75rem;border-radius:.5rem;transition:all .2s}.btn-offline:hover{border-color:#fff9;color:#fff;background:#ffffff1a}.btn-offline:disabled{opacity:.5;cursor:not-allowed}.btn-offline.saved{border-color:#10b981;color:#10b981;background:#10b9811a}.btn-offline.saved:hover{background:#10b98133}.btn-install{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;padding:.5rem 1rem;border-radius:.5rem;transition:all .2s;box-shadow:0 2px 8px #3b82f64d}.btn-install:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.btn-install:active{transform:translateY(0);box-shadow:0 2px 6px #3b82f64d}.btn-popup-toggle.btn-install-popup{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;border:none!important}.btn-popup-toggle.btn-install-popup:hover{opacity:.9}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.collection-modal{background:#fff;border-radius:1rem;padding:1.5rem;max-width:400px;width:100%;position:relative}.collection-modal h2{margin:0 0 .5rem;color:#1e293b;font-size:1.25rem}.collection-modal .modal-subtitle{margin:0 0 1.5rem;color:#475569;font-size:.9rem}.collection-modal .modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:#f1f5f9;border-radius:50%;font-size:1.25rem;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center}.collection-modal .modal-close:hover{background:#e2e8f0;color:#1e293b}.collection-modal .modal-loading,.collection-modal .modal-empty{text-align:center;padding:2rem 1rem;color:#475569}.collection-modal .modal-empty .btn{margin-top:1rem}.collection-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.collection-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;transition:all .2s;width:100%;text-align:left}.collection-item:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.collection-item:disabled{opacity:.7;cursor:not-allowed}.collection-item.success{background:#d1fae5;border-color:#10b981}.collection-item .collection-icon{font-size:1.25rem}.collection-item .collection-name{flex:1;font-weight:500;color:#1e293b}.collection-item .collection-count{font-size:.8rem;color:#475569}.collection-item .adding,.collection-item .added{font-size:.8rem;font-weight:500}.collection-item .adding{color:#6366f1}.collection-item .added{color:#10b981}@media(hover:none),(pointer:coarse){.bar-btn{width:36px;height:36px;min-width:36px;min-height:36px;font-size:1rem}.bar-btn.pause-btn{width:40px;height:40px;min-width:40px;min-height:40px}.end-btn{min-height:36px;padding:.4rem .75rem;font-size:.8rem}.game-bottom-bar.unified{height:48px;padding:.35rem .5rem;gap:.3rem}.star-btn-sm{font-size:.9rem;padding:0 2px;min-height:36px}.btn-toggle{min-height:44px;padding:.75rem 1rem;font-size:.95rem}.btn-play{min-height:48px;padding:1rem}.star{font-size:2.5rem;padding:.5rem;min-width:44px;min-height:44px}.report-option{min-height:48px;padding:1rem 1.25rem}.collection-item{min-height:52px;padding:1rem 1.25rem}.btn-back{min-height:44px;padding:.5rem 1rem}.btn-popup-toggle{min-height:44px;padding:.875rem 1rem}.resume-btn{min-height:48px;padding:1rem}.btn-offline,.btn-report,.btn-report-small{min-height:40px;padding:.625rem 1rem}.btn-install{min-height:44px;padding:.75rem 1.25rem}.dev-hint{min-height:44px;padding:.875rem 1.5rem;font-size:1rem}}@media(hover:none){.bar-btn:active{background:#ffffff4d;transform:scale(.95)}.bar-btn.pause-btn:active{background:linear-gradient(135deg,#818cf8,#a78bfa);transform:scale(.95)}.end-btn:active{background:#b91c1c;transform:scale(.98)}.btn-toggle:active{background:#94a3b8;transform:scale(.98)}.btn-play:active{transform:scale(.98);opacity:.9}.star:active{transform:scale(1.2)}.btn-popup-toggle:active{background:#94a3b8;transform:scale(.98)}.btn-share:active,.btn-download:active,.btn-collection:active,.btn-remix:active{opacity:.8;transform:scale(.98)}.resume-btn:active{transform:scale(.98);opacity:.9}.collection-item:active:not(:disabled){background:#e2e8f0;transform:scale(.99)}.report-option:active{background:#e2e8f0}.btn-back:active{color:#1e293b;transform:scale(.98)}.btn-offline:active{background:#fff3;transform:scale(.98)}.btn-report:active,.btn-report-small:active{color:#fff;transform:scale(.98)}.rating-display:active{background:#fef08a;transform:scale(.99)}.btn-install:active{transform:scale(.98);opacity:.9}.dev-hint:active{transform:translate(-50%) scale(.95)}button,a,.bar-btn,.btn-toggle,.btn-play,.collection-item,.report-option,.dev-hint,.btn-install{-webkit-tap-highlight-color:transparent}}@media(hover:hover){.end-btn:hover{background:#b91c1c}}.game-iframe{touch-action:auto}.game-container{touch-action:auto;-webkit-overflow-scrolling:touch}.bar-btn:focus-visible,.end-btn:focus-visible,.btn-toggle:focus-visible,.btn-play:focus-visible,.btn-popup-toggle:focus-visible,.resume-btn:focus-visible,.collection-item:focus-visible,.report-option:focus-visible{outline:3px solid #6366f1;outline-offset:2px}@media(hover:none){.instructions-buttons-row{flex-wrap:wrap;gap:.5rem}.instructions-buttons-row .btn-toggle{flex:1 1 calc(50% - .25rem);min-width:120px}.instructions-footer{flex-direction:column;gap:1rem;align-items:stretch}.footer-right{justify-content:center;flex-wrap:wrap}}@media(hover:none){.score-row,.score-row-instr{min-height:40px;padding:.625rem .75rem}}.auth-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.auth-card{background:#fff;border-radius:1rem;padding:2.5rem 2rem;width:100%;max-width:400px;box-shadow:0 4px 20px #00000014}.auth-card h1{font-size:1.75rem;margin:0 0 .5rem;text-align:center;color:#1e293b}.auth-subtitle{text-align:center;color:#64748b;margin:0 0 2rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#374151;font-size:.95rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group textarea{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;outline:none;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#6366f1}.checkbox-group{flex-direction:row}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-weight:400;cursor:pointer}.checkbox-label input{margin-top:.25rem;width:1rem;height:1rem}.checkbox-label span{font-size:.9rem;color:#475569;line-height:1.4}.checkbox-label span a{color:#6366f1;text-decoration:none}.checkbox-label span a:hover{text-decoration:underline}.error-alert{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:.5rem;font-size:.9rem}.btn-block{width:100%;padding:.875rem;font-size:1rem}.auth-footer{text-align:center;margin:1.5rem 0 0;color:#64748b;font-size:.95rem}.auth-footer a{color:#6366f1;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.username-notice{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:#fef3c7;border-radius:.375rem;font-size:.85rem;color:#92400e}.notice-icon{font-size:1rem}.field-error{color:#dc2626;font-size:.85rem;margin-top:.25rem}.field-hint{color:#64748b;font-size:.8rem;margin-top:.25rem}.username-suggestions{margin-top:.75rem;padding:.75rem;background:#f0f9ff;border-radius:.5rem}.suggestions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;color:#0369a1}.refresh-btn{background:none;border:none;color:#0369a1;cursor:pointer;font-size:.85rem;padding:.25rem .5rem;border-radius:.25rem}.refresh-btn:hover{background:#0369a11a}.suggestions-list{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-btn{padding:.375rem .75rem;background:#fff;border:1px solid #bae6fd;border-radius:1rem;font-size:.85rem;color:#0369a1;cursor:pointer;transition:all .2s}.suggestion-btn:hover{background:#0369a1;color:#fff;border-color:#0369a1}.forgot-password-link{text-align:right;margin-top:-.5rem}.forgot-password-link a{color:#6366f1;font-size:.875rem;text-decoration:none}.forgot-password-link a:hover{text-decoration:underline}.auth-container{background:#fff;border-radius:1rem;padding:2.5rem 2rem;width:100%;max-width:400px;box-shadow:0 4px 20px #00000014;text-align:center}.auth-header{margin-bottom:1.5rem}.auth-icon{font-size:3rem;display:block;margin-bottom:1rem}.auth-header h1{font-size:1.5rem;margin:0 0 .5rem;color:#1e293b}.auth-header p{color:#64748b;margin:0}.auth-container .auth-form{text-align:left}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:.5rem;font-size:.9rem;margin-bottom:1rem}.auth-error-box{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1.5rem;border-radius:.5rem;margin-bottom:1.5rem}.auth-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:1.5rem;border-radius:.5rem;margin-bottom:1.5rem}.auth-success p{margin:0 0 .5rem}.auth-success p:last-child{margin-bottom:0}.auth-hint{font-size:.875rem;color:#64748b}.auth-links{margin-top:1.5rem}.auth-links p{margin:.5rem 0;color:#64748b;font-size:.9rem}.auth-links a{color:#6366f1;text-decoration:none;font-weight:500}.auth-links a:hover{text-decoration:underline}.btn-full{width:100%;padding:.875rem}.theme-banner{background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:.75rem;padding:.75rem 1rem;margin-bottom:1rem;color:#fff;box-shadow:0 2px 8px #f59e0b40}.theme-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.theme-main{display:flex;align-items:center;gap:.75rem}.theme-icon{font-size:1.5rem}.theme-info{display:flex;flex-direction:column;gap:.1rem}.theme-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.85}.theme-banner .theme-name{font-size:1.1rem;font-weight:700;line-height:1.2}.theme-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.theme-bonus{background:#ffffff40;padding:.25rem .6rem;border-radius:1rem;font-size:.8rem;font-weight:600}.theme-days{background:#00000026;padding:.25rem .6rem;border-radius:1rem;font-size:.8rem;font-weight:500}.theme-banner-compact{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:.5rem 1rem;border-radius:2rem;font-size:.85rem;color:#92400e;border:1px solid #f59e0b}.theme-banner-compact .theme-icon{font-size:1rem}.theme-banner-compact .theme-label{font-weight:500;opacity:.8}.theme-banner-compact .theme-name{font-weight:700}.theme-banner-compact .theme-bonus{background:#f59e0b;color:#fff;padding:.125rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:600}@media(max-width:640px){.theme-banner{padding:.6rem .75rem}.theme-content{flex-wrap:wrap;gap:.5rem}.theme-main{flex:1;min-width:0}.theme-icon{font-size:1.25rem}.theme-banner .theme-name{font-size:1rem}.theme-label{font-size:.65rem}.theme-meta{gap:.35rem}.theme-bonus,.theme-days{font-size:.7rem;padding:.2rem .5rem}.theme-banner-compact{flex-wrap:wrap;justify-content:center}}.prompt-refiner{max-width:700px;margin:0 auto;width:100%}.refiner-offline{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center;background:#ffffff0d;border-radius:12px}.refiner-offline .offline-icon{font-size:2rem}.refiner-offline-actions{display:flex;gap:.75rem}.refiner-fallback-banner{background:#eab30826;border:1px solid rgba(234,179,8,.3);color:#fde047;padding:.4rem .75rem;border-radius:8px;font-size:.8rem;text-align:center;margin-bottom:.5rem}.refiner-idea-phase{display:flex;flex-direction:column;gap:1rem}.refiner-idea-phase h2{margin:0;font-size:1.4rem}.refiner-subtitle{color:#aaa;margin:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.free-tag{background:#22c55e;color:#fff;font-size:.7rem;padding:.15rem .5rem;border-radius:4px;font-weight:700;letter-spacing:.5px}.refiner-idea-phase textarea{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#eee;padding:.8rem;font-size:.95rem;font-family:inherit;resize:vertical}.refiner-idea-phase textarea:focus{outline:none;border-color:#64c8ff80}.refiner-actions{display:flex;gap:.75rem;flex-wrap:wrap}.refiner-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.5rem .75rem;border-radius:8px;font-size:.85rem}.refiner-chat-phase{display:flex;flex-direction:column;gap:.75rem}.chat-header{display:flex;justify-content:space-between;align-items:center}.chat-header h3{margin:0;font-size:1.1rem}.question-progress{color:#888;font-size:.85rem}.chat-messages{display:flex;flex-direction:column;gap:.6rem;max-height:400px;overflow-y:auto;padding:.5rem;background:#0003;border-radius:10px}.chat-bubble{padding:.6rem .8rem;border-radius:12px;font-size:.9rem;line-height:1.4;max-width:85%;word-wrap:break-word}.bubble-label{display:block;font-size:.7rem;font-weight:600;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.5px}.user-idea{background:#64c8ff1a;border:1px solid rgba(100,200,255,.2);align-self:flex-end}.user-idea .bubble-label{color:#64c8ffb3}.ai-bubble{background:#ffffff14;border:1px solid rgba(255,255,255,.1);align-self:flex-start}.ai-bubble .bubble-label{color:#22c55eb3}.user-bubble{background:#64c8ff26;border:1px solid rgba(100,200,255,.25);align-self:flex-end}.typing .typing-dots{display:flex;gap:.3rem}.typing .typing-dots span{width:6px;height:6px;background:#888;border-radius:50%;animation:typingBounce 1.2s infinite}.typing .typing-dots span:nth-child(2){animation-delay:.2s}.typing .typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-input-area{display:flex;gap:.5rem}.chat-input-area input{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#eee;padding:.6rem .8rem;font-size:.9rem;font-family:inherit}.chat-input-area input:focus{outline:none;border-color:#64c8ff80}.chat-footer-actions{display:flex;justify-content:center}.refiner-review-phase{display:flex;flex-direction:column;gap:1rem}.refiner-review-phase h2{margin:0;font-size:1.3rem}.spec-editor{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#eee;padding:.8rem;font-size:.9rem;font-family:monospace;resize:vertical;line-height:1.5}.spec-editor:focus{outline:none;border-color:#64c8ff80}@media(max-width:600px){.refiner-actions{flex-direction:column}.refiner-actions .btn{width:100%}.chat-messages{max-height:300px}.chat-bubble{max-width:90%}}.wizard-page{min-height:calc(100vh - 60px);padding:2rem 1rem;background:linear-gradient(135deg,#f8fafc,#e0e7ff)}.wizard-progress{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;padding:0 1rem;flex-wrap:wrap}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5;transition:all .3s}.progress-step.active,.progress-step.completed{opacity:1}.step-number{width:32px;height:32px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;transition:all .3s}.progress-step.active .step-number{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.progress-step.completed .step-number{background:#10b981;color:#fff}.step-label{font-size:.8rem;color:#64748b}.wizard-section{max-width:800px;margin:0 auto}.wizard-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}.back-btn{background:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;color:#6366f1;cursor:pointer;font-weight:500;box-shadow:0 2px 8px #0000000d;transition:all .2s}.back-btn:hover{background:#f1f5f9}.wizard-section h1{margin:0;color:#1e293b;font-size:1.75rem}.wizard-subtitle{color:#64748b;margin:.5rem 0 0}.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.style-card{background:#fff;border:2px solid transparent;border-radius:1rem;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #0000000d}.style-card:hover{transform:translateY(-4px);border-color:#6366f1;box-shadow:0 8px 24px #6366f126}.style-icon{font-size:3rem;display:block;margin-bottom:.5rem}.style-card h3{margin:0 0 .5rem;color:#1e293b}.style-card p{margin:0 0 .75rem;color:#64748b;font-size:.9rem}.style-examples{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.example-tag{background:#f1f5f9;padding:.25rem .5rem;border-radius:1rem;font-size:.75rem;color:#475569}.questions-list{display:flex;flex-direction:column;gap:1.5rem}.prefilled-banner{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:2px solid #6366f1;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;color:#4338ca;flex-wrap:wrap}.prefilled-icon{font-size:1.25rem}.randomize-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.4rem .75rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;margin-left:auto;transition:transform .2s,box-shadow .2s}.randomize-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #6366f166}.randomize-btn:active{transform:scale(.98)}.ai-refine-banner{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;color:#065f46;flex-wrap:wrap}.ai-refine-icon{font-size:1.25rem}.ai-refine-btn{margin-left:auto;display:flex;align-items:center;gap:.4rem}.free-badge-sm{background:#22c55e;color:#fff;font-size:.65rem;padding:.1rem .35rem;border-radius:3px;font-weight:700;letter-spacing:.5px}.title-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:1rem;padding:1.25rem;margin-bottom:1rem}.title-card label{display:block;font-weight:600;color:#92400e;margin-bottom:.5rem;font-size:.9rem}.title-input-large{width:100%;padding:1rem;border:2px solid #f59e0b;border-radius:10px;font-size:1.25rem;font-weight:600;color:#1e293b;background:#fff;transition:border-color .2s,box-shadow .2s}.title-input-large:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.title-hint{display:block;margin-top:.5rem;font-size:.8rem;color:#78350f}.question-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.question-card h3{margin:0 0 1rem;color:#1e293b;font-size:1.1rem}.question-input input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.question-input input:focus{outline:none;border-color:#6366f1}.question-textarea textarea{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical;min-height:200px;transition:border-color .2s;line-height:1.5}.question-textarea textarea:focus{outline:none;border-color:#6366f1}.question-textarea textarea::placeholder{color:#94a3b8;white-space:pre-wrap}.char-count{text-align:right;font-size:.85rem;color:#64748b;margin-top:.5rem}.suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.suggestion-chip{background:#f0f9ff;border:1px solid #bae6fd;padding:.375rem .75rem;border-radius:1rem;font-size:.85rem;color:#0369a1;cursor:pointer;transition:all .2s}.suggestion-chip:hover{background:#e0f2fe;border-color:#7dd3fc}.question-options{display:flex;flex-wrap:wrap;gap:.75rem}.option-btn{background:#f8fafc;border:2px solid #e2e8f0;padding:.75rem 1.25rem;border-radius:.5rem;cursor:pointer;font-size:.95rem;transition:all .2s}.option-btn:hover{border-color:#6366f1;background:#faf5ff}.option-btn.selected{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}.multiselect .option-btn.selected{background:#10b981}.option-btn.has-icon{display:flex;align-items:center;gap:.5rem}.option-icon{font-size:1.25rem}.option-label{flex:1}.title-input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem}.title-input:focus{outline:none;border-color:#6366f1}.wizard-actions{margin-top:2rem;display:flex;justify-content:center}.review-card{background:#fff;border-radius:1rem;padding:2rem;text-align:center;box-shadow:0 4px 20px #00000014}.review-icon{font-size:4rem;margin-bottom:1rem}.review-card h2{margin:0 0 1rem;color:#1e293b}.review-summary{color:#475569;font-size:1.1rem;margin:0 0 1.5rem;line-height:1.6}.review-details{background:#f0fdf4;border-radius:.75rem;padding:1.25rem;text-align:left}.review-details h4{margin:0 0 .5rem;color:#166534}.prompt-learning{color:#15803d;margin:0;font-size:.9rem}.generate-btn{font-size:1.25rem;padding:1rem 2rem}.wizard-card{background:#fff;border-radius:1rem;padding:2.5rem 2rem;max-width:500px;margin:0 auto;box-shadow:0 4px 20px #0000000f}.wizard-card.centered,.loading-card{text-align:center}.loading-animation{position:relative;width:120px;height:120px;margin:0 auto 2rem}.loading-emoji{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;animation:pulse 1s ease-in-out infinite}.loading-spinner{width:100%;height:100%;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.loading-title{font-size:1.75rem;color:#6366f1;margin:0 0 1rem}.loading-message{font-size:1.25rem;color:#1e293b;margin:0 0 1.5rem;min-height:2rem}.loading-progress{margin-bottom:1.5rem}.progress-dots{display:flex;justify-content:center;gap:.5rem}.dot{width:12px;height:12px;border-radius:50%;background:#e2e8f0;transition:all .3s ease}.dot.active{background:#6366f1;transform:scale(1.2)}.loading-subtitle{color:#64748b;font-size:.95rem;margin:0}.testing-section{max-width:1000px;margin:0 auto}.testing-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 4px 12px #0000000d}.testing-info h1{margin:0 0 .5rem;font-size:1.5rem}.testing-info p{margin:0;color:#64748b}.testing-stats{display:flex;gap:1.5rem;margin-top:1rem;flex-wrap:wrap}.test-timer{display:flex;align-items:center;gap:.5rem;background:#fef3c7;padding:.5rem 1rem;border-radius:2rem}.timer-icon{font-size:1.25rem}.timer-value{font-size:1.5rem;font-weight:700;color:#92400e}.timer-label{color:#b45309;font-size:.85rem}.tokens-used{background:#f0f9ff;padding:.5rem 1rem;border-radius:2rem;color:#0369a1;font-size:.9rem}.testing-actions{display:flex;gap:.75rem}.game-preview{background:#1e293b;border-radius:1rem;overflow:hidden;box-shadow:0 4px 20px #0000001a;min-height:400px}.preview-iframe{width:100%;height:65vh;min-height:400px;max-height:600px;border:2px solid #e2e8f0;border-radius:.5rem;display:block;background:#fff}.game-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#fff}.game-loading .loading-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 1s ease-in-out infinite}.game-loading p{font-size:1.1rem;color:#94a3b8}.refine-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.refine-card textarea{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;resize:vertical;margin-bottom:1rem}.refine-card textarea:focus{outline:none;border-color:#6366f1}.refine-tips{background:#f0f9ff;padding:1rem;border-radius:.5rem}.refine-tips h4{margin:0 0 .25rem;color:#0369a1}.refine-tips p{margin:0;color:#0284c7;font-size:.9rem}.publish-form{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#1e293b}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#6366f1}.form-hint{font-size:.85rem;color:#64748b;margin:0 0 .75rem}.difficulty-selector{display:flex;gap:.75rem;flex-wrap:wrap}.difficulty-option{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px solid #e2e8f0;border-radius:.75rem;background:#fff;cursor:pointer;transition:all .2s;font-size:.95rem}.difficulty-option:hover{border-color:#cbd5e1}.difficulty-option.selected{border-color:#6366f1;background:#eef2ff}.difficulty-option.difficulty-easy.selected{border-color:#10b981;background:#d1fae5}.difficulty-option.difficulty-medium.selected{border-color:#f59e0b;background:#fef3c7}.difficulty-option.difficulty-hard.selected{border-color:#ef4444;background:#fee2e2}.difficulty-icon{font-size:1.25rem}.difficulty-label{font-weight:500;text-transform:capitalize}.publish-preview{background:#f8fafc;border-radius:.75rem;padding:1rem}.publish-preview h4{margin:0 0 .75rem;color:#64748b;font-size:.9rem}.preview-card-mini{display:flex;gap:1rem;align-items:center}.preview-icon{font-size:2.5rem}.preview-card-mini strong{display:block;margin-bottom:.25rem}.preview-card-mini p{margin:0;color:#64748b;font-size:.9rem}.publish-btn{font-size:1.1rem}.success-card{text-align:center;max-width:550px}.success-confetti{font-size:5rem;margin-bottom:1rem;animation:bounce .6s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.success-card h1{margin:0 0 .5rem;color:#10b981}.success-message{font-size:1.1rem;color:#475569;margin:0 0 1.5rem}.xp-reward{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:.75rem 1.5rem;border-radius:2rem;margin-bottom:1.5rem;font-weight:600;color:#92400e}.xp-icon{font-size:1.25rem}.level-up{background:#10b981;color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.85rem;margin-left:.5rem}.achievements-earned{margin-bottom:1.5rem}.achievements-earned h3{margin:0 0 .75rem;color:#1e293b}.achievement-list{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.achievement-badge{display:flex;align-items:center;gap:.5rem;background:#faf5ff;border:1px solid #e9d5ff;padding:.5rem 1rem;border-radius:2rem}.achievement-icon{font-size:1.25rem}.achievement-name{font-weight:500;color:#7c3aed}.success-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.saved-indicator{display:flex;align-items:center;gap:.75rem;background:#d1fae5;border:1px solid #6ee7b7;color:#065f46;padding:.875rem 1.25rem;border-radius:.75rem;margin-bottom:1.5rem}.saved-icon{background:#10b981;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.retry-notice{display:flex;align-items:flex-start;gap:.75rem;background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1.5rem}.retry-icon{font-size:1.5rem;flex-shrink:0}.retry-notice strong{display:block;margin-bottom:.25rem}.retry-notice p{margin:0;font-size:.9rem}.auto-save-note{margin-top:1rem;padding:.75rem;background:#f0fdf4;border-radius:.5rem;color:#166534;font-size:.85rem;text-align:center}.error-alert{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;text-align:center;max-width:600px;margin-left:auto;margin-right:auto}@media(max-width:640px){.wizard-page{padding:1rem}.wizard-progress{gap:.5rem}.step-label{display:none}.wizard-header{flex-direction:column}.style-grid{grid-template-columns:1fr}.testing-header{flex-direction:column;align-items:stretch}.testing-actions{flex-direction:column}.preview-iframe{height:50vh}.success-actions{flex-direction:column}.success-actions .btn{width:100%}}.prompt-review-section{max-width:900px;margin:0 auto}.prompt-view-toggle{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.toggle-btn{padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;min-height:44px}.toggle-btn:hover{border-color:#6366f1}.toggle-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}.tips-toggle{margin-left:auto}.prompt-tips-panel{background:linear-gradient(135deg,#f0edff,#e8f4fd);border-radius:12px;padding:1.25rem;margin-bottom:1rem;border:1px solid #c7d2fe}.prompt-tips-panel h3{margin:0 0 1rem;font-size:1rem;color:#4338ca}.tips-grid{display:flex;flex-direction:column;gap:.6rem}.tip{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.4}.tip-icon{flex-shrink:0}.tip-do{color:#166534}.tip-dont{color:#991b1b}.prompt-editor-container{margin-bottom:.75rem}.prompt-highlighted{background:#1a1a2e;border-radius:12px;padding:1.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.6;max-height:50vh;overflow-y:auto;border:2px solid #312e81}.prompt-line{color:#94a3b8;padding:2px 0}.prompt-line.user-content{color:#a5b4fc;background:#6366f126;padding:2px 6px;margin:0 -6px;border-radius:4px}.prompt-line.header-line{color:#f0abfc;font-weight:600;margin-top:.5rem}.prompt-line.bullet-line{color:#cbd5e1;padding-left:1rem}.prompt-line.important-line{color:#fbbf24;font-weight:600}.prompt-textarea{width:100%;min-height:350px;padding:1.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.6;border:2px solid #6366f1;border-radius:12px;background:#fafaff;resize:vertical;color:#1e1b4b}.prompt-textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf626}.prompt-stats{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#64748b;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.edited-badge{color:#6366f1;font-weight:500}.prompt-actions{display:flex;gap:.75rem;position:sticky;bottom:0;background:linear-gradient(to top,#f8fafc 60%,transparent);margin:0 -1rem;padding:1rem}.prompt-actions .btn{min-height:48px}.prompt-actions .btn-secondary{flex:0 0 auto}.prompt-actions .generate-btn{flex:1;font-size:1.1rem}.complexity-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem}.complexity-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.complexity-icon{font-size:1.2rem}.complexity-header strong{color:#92400e;font-size:1rem}.complexity-score{background:#f59e0b;color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:auto}.complexity-warning p{color:#78350f;font-size:.9rem;margin:.5rem 0}.complexity-warning ul{margin:.5rem 0;padding-left:1.25rem}.complexity-warning li{color:#92400e;font-size:.85rem;margin-bottom:.25rem}.complexity-tip{background:#ffffff80;padding:.5rem .75rem;border-radius:8px;margin-top:.75rem!important}.complexity-tip strong{color:#78350f}@media(max-width:640px){.prompt-view-toggle{justify-content:center}.tips-toggle{margin-left:0;width:100%;order:-1}.prompt-highlighted{font-size:.8rem;padding:1rem;max-height:40vh}.prompt-textarea{min-height:250px;font-size:.8rem}.prompt-actions{flex-wrap:wrap}.prompt-actions .btn-secondary{flex:1;min-width:calc(50% - .5rem)}.prompt-actions .generate-btn{width:100%;order:-1;margin-bottom:.5rem}}.dashboard{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.dashboard-header h1{margin:0;color:#1e293b}.xp-section{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 15px #6366f14d}.xp-section .xp-display{background:transparent;color:#fff}.xp-section .level-badge{background:#fff3;color:#fff}.xp-section .level-name{color:#ffffffe6}.xp-section .xp-bar{background:#fff3}.xp-section .xp-fill{background:#fff}.xp-section .xp-text{color:#ffffffe6}.xp-section .xp-needed{color:#ffffffb3}.dashboard-grid{display:grid;gap:1.5rem;margin-bottom:1.5rem}@media(min-width:768px){.dashboard-grid{grid-template-columns:1fr 1fr}}.stats-section{grid-column:1 / -1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat-card{background:#fff;border-radius:1rem;padding:1.25rem;text-align:center;box-shadow:0 2px 10px #0000000d}.stat-card.highlight{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.stat-card.highlight .stat-value,.stat-card.highlight .stat-label{color:#fff}.stat-card.spending{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.stat-card.spending .stat-value,.stat-card.spending .stat-label{color:#fff}.stat-sublabel{font-size:.7rem;opacity:.7;margin-top:.25rem}.stat-value{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.85rem;opacity:.8}.streaks-section{grid-column:1 / -1}.streaks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.streak-card{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:1rem;padding:1.25rem 1.5rem;box-shadow:0 2px 10px #0000000d;border:2px solid #e2e8f0;transition:all .3s ease}.streak-card.on-fire{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;box-shadow:0 4px 15px #f59e0b4d}.streak-card.on-fire .streak-icon{animation:pulse-fire 1s ease-in-out infinite}.streak-icon{font-size:2.5rem;line-height:1}.streak-info{flex:1}.streak-value{font-size:2rem;font-weight:700;color:#1e293b;line-height:1}.streak-label{font-size:.85rem;color:#64748b;margin-top:.25rem}.streak-milestone{display:inline-block;font-size:.7rem;font-weight:600;color:#f59e0b;background:#f59e0b26;padding:.2rem .5rem;border-radius:.5rem;margin-top:.5rem}.streak-card.on-fire .streak-milestone{background:#0000001a;color:#92400e}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0;font-size:1rem;color:#1e293b}.view-all{font-size:.85rem;color:#6366f1;text-decoration:none}.view-all:hover{text-decoration:underline}.achievements-section{background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 2px 10px #0000000d}.achievements-row{display:flex;gap:.75rem;flex-wrap:wrap}.achievement-badge{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:#f8fafc;border-radius:.75rem;padding:.75rem 1rem;min-width:80px;border:1px solid #e2e8f0;cursor:default;transition:transform .2s,box-shadow .2s}.achievement-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.achievement-icon{font-size:1.5rem}.achievement-name{font-size:.7rem;color:#64748b;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.xp-activity-section{background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 2px 10px #0000000d}.collections-section{background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 2px 10px #0000000d}.empty-collections{text-align:center;padding:1.5rem 1rem;color:#64748b}.empty-collections .empty-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.empty-collections p{margin:0 0 1rem;font-size:.9rem}.collections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.collection-card-mini{display:flex;align-items:center;gap:.75rem;background:#f8fafc;border-radius:.75rem;padding:.75rem 1rem;border:1px solid #e2e8f0;text-decoration:none;transition:all .2s}.collection-card-mini:hover{border-color:#6366f1;background:#f1f5f9;transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}.collection-card-mini .collection-icon{font-size:1.5rem;flex-shrink:0}.collection-card-mini .collection-details{display:flex;flex-direction:column;min-width:0}.collection-card-mini .collection-name{font-weight:600;color:#1e293b;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-card-mini .collection-count{font-size:.75rem;color:#64748b}@media(max-width:640px){.collections-grid{grid-template-columns:1fr}}.dashboard-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#fff;padding:.5rem;border-radius:1rem;box-shadow:0 2px 10px #0000000d}.games-section{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 10px #0000000d}.play-history-list{display:flex;flex-direction:column;gap:.75rem}.play-history-row{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border-radius:.75rem;padding:1rem 1.25rem;border:1px solid #e2e8f0;gap:1rem}.play-history-info{flex:1;min-width:0}.play-history-title{display:block;font-size:1.1rem;font-weight:600;color:#1e293b;text-decoration:none;margin-bottom:.35rem}.play-history-title:hover{color:#6366f1}.play-history-stats{display:flex;gap:1rem;font-size:.85rem;color:#64748b;flex-wrap:wrap}.play-history-stats strong{color:#16a34a}.play-history-date{color:#94a3b8}.games-section h2{margin:0 0 1.5rem;color:#1e293b}.empty-state p{margin-bottom:1rem}.games-list{display:flex;flex-direction:column;gap:1rem}.game-row{background:#f8fafc;border-radius:.75rem;padding:1rem 1.25rem;border:1px solid #e2e8f0}.game-main-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.game-row .game-title{margin:0;font-size:1.1rem;color:#1e293b}.game-stats-row{display:flex;gap:1rem;font-size:.85rem;color:#64748b;margin-bottom:.75rem;flex-wrap:wrap}.game-actions{display:flex;gap:.5rem;flex-wrap:wrap}.status-rejected{background:#fee2e2;color:#991b1b}.status-testing{background:#dbeafe;color:#1e40af}.status-generating{background:#ede9fe;color:#6d28d9}.rejection-reason{font-size:.8rem;color:#dc2626;background:#fef2f2;padding:.5rem .75rem;border-radius:.5rem;margin-bottom:.75rem}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.btn-danger:disabled{background:#f87171;cursor:not-allowed}.btn-analytics{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.btn-analytics:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5)}@media(max-width:640px){.dashboard{padding:1rem}.dashboard-header{flex-direction:column;align-items:stretch;text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.5rem}.game-actions{margin-top:.5rem}.game-actions .btn-sm{flex:1;text-align:center}.xp-section{padding:1rem}.achievements-row{justify-content:center}.dashboard-grid,.streaks-grid{grid-template-columns:1fr}.streak-card{padding:1rem 1.25rem}.streak-icon{font-size:2rem}.streak-value{font-size:1.5rem}}.xp-display{padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:.75rem}.level-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.level-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.375rem .75rem;border-radius:1rem;font-weight:600;font-size:.85rem}.level-name{font-weight:600;color:#92400e;font-size:1.1rem}.xp-progress{display:flex;flex-direction:column;gap:.5rem}.xp-bar{height:12px;background:#fff9;border-radius:6px;overflow:hidden}.xp-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:6px;transition:width .3s ease}.xp-text{display:flex;justify-content:space-between;font-size:.8rem;color:#92400e}.xp-needed{opacity:.8}.xp-display-compact{display:flex;align-items:center;gap:.5rem}.xp-display-compact .level-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.25rem .5rem;border-radius:.5rem;font-weight:600;font-size:.75rem}.level-name-compact{font-size:.7rem;font-weight:500;color:#92400e}.xp-amount-compact{font-size:.65rem;color:#b45309;opacity:.8}.xp-bar-mini{width:40px;height:6px;background:#f59e0b4d;border-radius:3px;overflow:hidden}.xp-bar-mini .xp-fill{background:#f59e0b}.profile-page{min-height:calc(100vh - 60px);padding:2rem 1rem;background:#f8fafc;max-width:900px;margin:0 auto}.profile-header{display:flex;gap:2rem;background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 12px #0000000d;margin-bottom:1.5rem}.profile-avatar{flex-shrink:0}.profile-avatar img,.avatar-placeholder{width:120px;height:120px;border-radius:50%;object-fit:cover}.avatar-placeholder{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700}.profile-avatar-wrapper{position:relative;flex-shrink:0}.profile-avatar-wrapper .avatar-svg{box-shadow:0 4px 15px #00000026}.edit-avatar-btn{position:absolute;bottom:0;right:0;width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid #6366f1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 2px 8px #00000026;transition:transform .2s,box-shadow .2s}.edit-avatar-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003}.profile-info{flex:1}.profile-info h1{margin:0 0 .25rem;color:#1e293b;font-size:1.5rem}.username{color:#64748b;margin:0 0 .5rem;font-size:.95rem}.bio{color:#475569;margin:0 0 1rem;font-size:.95rem;line-height:1.5}.profile-stats-row{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.stat{text-align:center}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:#1e293b}.stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.profile-xp{margin-bottom:1.5rem;display:flex;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);padding:1.5rem;border-radius:1rem;box-shadow:0 4px 15px #6366f14d}.profile-xp .xp-display{flex:1;background:transparent;color:#fff}.profile-xp .level-badge{background:#fff3;color:#fff}.profile-xp .level-name{color:#ffffffe6}.profile-xp .xp-bar{background:#fff3}.profile-xp .xp-fill{background:#fff}.profile-xp .xp-text{color:#ffffffe6}.profile-xp .xp-needed{color:#ffffffb3}.level-icon-display{flex-shrink:0}.level-icon-large{font-size:3.5rem;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.profile-stats-section{margin-bottom:1.5rem}.quick-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}.quick-stat-card{background:#fff;border-radius:.75rem;padding:1rem;text-align:center;box-shadow:0 2px 8px #0000000d}.quick-stat-card.highlight{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.quick-stat-card.highlight .quick-stat-value,.quick-stat-card.highlight .quick-stat-label{color:#fff}.quick-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.quick-stat-label{font-size:.75rem;color:#64748b}.streaks-row{display:flex;gap:1rem;margin-bottom:1rem}.streak-badge{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 8px #0000000d;border:2px solid #e2e8f0;transition:all .3s ease}.streak-badge.on-fire{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;box-shadow:0 4px 15px #f59e0b4d}.streak-badge.on-fire .streak-icon{animation:pulse-fire 1s ease-in-out infinite}@keyframes pulse-fire{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-badge .streak-icon{font-size:1.75rem}.streak-badge .streak-value{font-size:1.5rem;font-weight:700;color:#1e293b}.streak-badge .streak-label{font-size:.75rem;color:#64748b}.streak-badge .streak-milestone{font-size:.65rem;font-weight:600;color:#f59e0b;background:#f59e0b26;padding:.15rem .4rem;border-radius:.5rem;margin-top:.25rem}.streak-badge.on-fire .streak-milestone{background:#0000001a;color:#92400e}.xp-activity-card{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 8px #0000000d}.xp-activity-card h3{margin:0 0 .75rem;font-size:.9rem;color:#1e293b}.xp-activity-list{display:flex;flex-direction:column;gap:.5rem}.xp-activity-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.xp-activity-item:last-child{border-bottom:none}.xp-activity-label{flex:1;font-size:.85rem;color:#475569}.xp-activity-amount{font-weight:600;color:#10b981;font-size:.85rem}.xp-activity-time{font-size:.75rem;color:#94a3b8;min-width:60px;text-align:right}.profile-section{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 4px 12px #0000000d;margin-bottom:1.5rem}.profile-section h2{margin:0;font-size:1.25rem;color:#1e293b}.achievements-showcase .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.toggle-btn{background:transparent;border:1px solid #e2e8f0;border-radius:.5rem;padding:.4rem .75rem;font-size:.8rem;color:#64748b;cursor:pointer;transition:all .2s}.toggle-btn:hover{background:#f1f5f9;color:#1e293b}.achievements-summary{display:flex;gap:2rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.earned-count{font-weight:600;color:#7c3aed}.xp-from-achievements{color:#10b981;font-weight:500}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.achievement-card{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border:1px solid #e9d5ff;border-radius:.75rem;padding:.875rem .75rem;text-align:center;cursor:help;transition:transform .2s,box-shadow .2s;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed26}.achievement-icon{font-size:1.75rem;display:block;margin-bottom:.375rem;line-height:1}.achievement-name{font-weight:600;color:#6d28d9;font-size:.8rem;display:block;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.achievement-date{font-size:.7rem;color:#a78bfa;display:block;margin-top:.25rem}.achievement-card.locked{background:#f8fafc;border-color:#e2e8f0;opacity:.6}.achievement-card.locked .achievement-icon{filter:grayscale(1)}.achievement-card.locked .achievement-name{color:#94a3b8}.achievement-reward{font-size:.7rem;color:#10b981;display:block;margin-top:.25rem;font-weight:600}.profile-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#fff;padding:.5rem;border-radius:.75rem;box-shadow:0 2px 8px #0000000d}.tab{flex:1;background:transparent;border:none;padding:.75rem 1rem;border-radius:.5rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.tab:hover{background:#f1f5f9}.tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.profile-content{min-height:200px}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.empty-state p{color:#64748b;margin:0 0 1rem}.play-history{display:flex;flex-direction:column;gap:.75rem}.history-item{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 1.25rem;border-radius:.75rem;box-shadow:0 2px 8px #0000000d;text-decoration:none;transition:transform .2s,box-shadow .2s}.history-item:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.history-game strong{display:block;color:#1e293b;margin-bottom:.25rem}.history-date{font-size:.8rem;color:#94a3b8}.history-stats{text-align:right}.history-score{display:block;font-weight:600;color:#10b981}.history-duration{font-size:.8rem;color:#64748b}.profile-error{text-align:center;padding:3rem}.profile-error h2{margin:0 0 1rem;color:#64748b}@media(max-width:640px){.profile-page{padding:1rem}.profile-header{flex-direction:column;align-items:center;text-align:center;padding:1.5rem;gap:1rem}.profile-info h1{font-size:1.35rem}.profile-stats-row{justify-content:center;gap:1rem}.stat-value{font-size:1.1rem}.stat-label{font-size:.7rem}.profile-xp{padding:1rem;gap:1rem;flex-direction:row;align-items:center}.level-icon-large{font-size:2.5rem}.quick-stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.quick-stat-card{padding:.75rem}.quick-stat-value{font-size:1.25rem}.quick-stat-label{font-size:.7rem}.streaks-row{gap:.5rem}.streak-badge{padding:.75rem}.streak-badge .streak-icon{font-size:1.5rem}.streak-badge .streak-value{font-size:1.25rem}.streak-badge .streak-label{font-size:.7rem}.profile-tabs{flex-wrap:wrap}.tab{flex-basis:calc(50% - .25rem);padding:.6rem .75rem;font-size:.9rem}.games-grid{grid-template-columns:1fr}.achievements-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.achievement-card{padding:.625rem .5rem;min-height:85px}.achievement-icon{font-size:1.5rem;margin-bottom:.25rem}.achievement-name{font-size:.7rem}.achievement-date,.achievement-reward{font-size:.6rem}}.collections-page{min-height:calc(100vh - 60px);padding:2rem 1rem;background:#f8fafc;max-width:1000px;margin:0 auto}.collections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.collections-header h1{margin:0;color:#1e293b}.create-collection-form{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 4px 12px #0000000d;margin-bottom:1.5rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.form-row input[type=text]{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem}.form-row input[type=text]:focus{outline:none;border-color:#6366f1}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.error-alert{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.collection-card{display:flex;gap:1rem;background:#fff;padding:1.25rem;border-radius:1rem;box-shadow:0 4px 12px #0000000d;text-decoration:none;transition:transform .2s,box-shadow .2s}.collection-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.collection-icon{font-size:2.5rem;flex-shrink:0}.collection-info h3{margin:0 0 .25rem;color:#1e293b;font-size:1.1rem}.collection-description{margin:0 0 .5rem;color:#64748b;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-meta{font-size:.8rem;color:#94a3b8}.collection-meta .dot{margin:0 .25rem}.collection-header{margin-bottom:2rem}.back-link{display:inline-block;margin-bottom:1rem;color:#6366f1;text-decoration:none;font-weight:500}.collection-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.collection-title-row h1{margin:0 0 .5rem;color:#1e293b}.edit-form{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 4px 12px #0000000d}.edit-form input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;margin-bottom:1rem}.edit-form input:focus{outline:none;border-color:#6366f1}.edit-actions{display:flex;gap:.75rem;margin-top:1rem}.collection-search{position:relative;margin-bottom:1.5rem;max-width:400px}.collection-search .search-input{width:100%;padding:.875rem 2.5rem .875rem 1rem;border:2px solid #e2e8f0;border-radius:.75rem;font-size:1rem;background:#fff;transition:border-color .2s,box-shadow .2s}.collection-search .search-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.collection-search .search-input::placeholder{color:#94a3b8}.clear-search-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:#e2e8f0;border:none;border-radius:50%;color:#64748b;font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.clear-search-btn:hover{background:#cbd5e1;color:#475569}.collection-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.collection-game-item{position:relative}.remove-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#ef4444e6;border:none;border-radius:50%;color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:10}.collection-game-item:hover .remove-btn{opacity:1}.remove-btn:hover{background:#dc2626}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:1rem;box-shadow:0 4px 12px #0000000d}.empty-state p{color:#64748b;margin:0 0 .5rem}.error-state{text-align:center;padding:3rem}.error-state h2{margin:0 0 .5rem;color:#1e293b}.error-state p{color:#64748b;margin:0 0 1rem}@media(max-width:640px){.collections-header{flex-direction:column;align-items:stretch;gap:1rem}.form-row{flex-direction:column}.collections-grid,.collection-games{grid-template-columns:1fr}.collection-title-row,.edit-actions{flex-direction:column}}.admin-page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.admin-header{margin-bottom:2rem}.admin-header h1{margin:0 0 1.5rem;color:#1e293b}.admin-stats{display:flex;gap:1rem;flex-wrap:wrap}.stat-pill{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;border-radius:1rem;min-width:100px}.stat-pill.pending{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.stat-pill.reports{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.stat-pill.users{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.stat-pill.games{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-pill.plays{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.stat-pill.spending{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.stat-pill.generations{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.stat-count{font-size:1.75rem;font-weight:700}.stat-pill .stat-label{font-size:.75rem;opacity:.9}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#fff;padding:.5rem;border-radius:1rem;box-shadow:0 2px 10px #0000000d}.admin-tabs .tab{flex:1;padding:.75rem 1rem;border:none;background:transparent;border-radius:.75rem;font-size:.95rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.admin-tabs .tab:hover{background:#f1f5f9}.admin-tabs .tab.active{background:#6366f1;color:#fff}.admin-section{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 10px #0000000d}.queue-list{display:flex;flex-direction:column;gap:1.5rem}.queue-item{background:#f8fafc;border-radius:.75rem;padding:1.25rem;border:1px solid #e2e8f0}.queue-item-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.queue-item-header h3{margin:0;font-size:1.1rem;color:#1e293b}.queue-item .creator{color:#6366f1;font-size:.9rem}.queue-item .date{color:#94a3b8;font-size:.85rem;margin-left:auto}.queue-item .description{color:#475569;font-size:.9rem;margin:0 0 1rem}.queue-actions{display:flex;gap:.5rem;flex-wrap:wrap}.game-preview-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;display:grid;gap:1.5rem}@media(min-width:768px){.game-preview-section{grid-template-columns:1fr 300px}}.preview-container{background:#1e293b;border-radius:.75rem;overflow:hidden;aspect-ratio:16/9}.preview-iframe{width:100%;height:100%;border:none}.reject-form{background:#fff;border-radius:.75rem;padding:1rem;border:1px solid #fecaca}.reject-form h4{margin:0 0 1rem;color:#dc2626}.reject-form textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-family:inherit;resize:vertical;margin-bottom:1rem}.reject-form textarea:focus{outline:none;border-color:#dc2626}.reject-actions{display:flex;gap:.5rem;justify-content:flex-end}.reports-list{display:flex;flex-direction:column;gap:1.5rem}.report-item{background:#f8fafc;border-radius:.75rem;padding:1.25rem;border:1px solid #e2e8f0}.report-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.report-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.report-info h3{margin:0;font-size:1.1rem;color:#1e293b}.reason-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.reason-inappropriate,.reason-offensive{background:#fee2e2;color:#dc2626}.reason-wont_load,.reason-broken{background:#fef3c7;color:#92400e}.reason-copyright{background:#ede9fe;color:#6d28d9}.reason-other{background:#f1f5f9;color:#64748b}.report-meta{display:flex;gap:1rem;font-size:.85rem;color:#64748b;flex-wrap:wrap}.report-description{color:#475569;font-size:.9rem;margin:0 0 1rem;padding:.75rem;background:#fff;border-radius:.5rem;border:1px solid #e2e8f0}.resolve-form{background:#fff;border-radius:.75rem;padding:1rem;border:1px solid #e2e8f0}.resolve-options{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.resolve-options label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:#475569}.resolve-options input[type=radio]{accent-color:#6366f1}.resolve-notes{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-family:inherit;margin-bottom:1rem}.resolve-notes:focus{outline:none;border-color:#6366f1}.resolve-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-preview{background:#f1f5f9;color:#475569}.btn-preview:hover{background:#e2e8f0}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-danger:hover{background:#b91c1c}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.access-denied{text-align:center;padding:4rem;color:#dc2626;font-size:1.25rem}@media(max-width:640px){.admin-page{padding:1rem}.admin-stats{display:grid;grid-template-columns:repeat(2,1fr)}.stat-pill{min-width:auto}.queue-item-header{flex-direction:column;align-items:flex-start}.queue-item .date{margin-left:0}.report-header{flex-direction:column}.resolve-options{flex-direction:column;gap:.5rem}}.stat-pill.bugs{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.bug-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:.5rem;font-size:.85rem;color:#64748b;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#6366f1;color:#6366f1}.filter-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.bugs-list{display:flex;flex-direction:column;gap:1rem}.bug-item{background:#f8fafc;border-radius:.75rem;padding:1.25rem;border:1px solid #e2e8f0;border-left:4px solid #94a3b8}.bug-item.priority-critical{border-left-color:#dc2626}.bug-item.priority-high{border-left-color:#f97316}.bug-item.priority-normal{border-left-color:#3b82f6}.bug-item.priority-low{border-left-color:#94a3b8}.bug-item.status-resolved,.bug-item.status-closed{opacity:.7}.bug-header{margin-bottom:.75rem}.bug-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.bug-title-row h3{margin:0;font-size:1rem;color:#1e293b}.priority-badge,.status-badge{padding:.2rem .6rem;border-radius:1rem;font-size:.7rem;font-weight:600;text-transform:uppercase}.priority-badge.priority-critical{background:#fee2e2;color:#dc2626}.priority-badge.priority-high{background:#ffedd5;color:#c2410c}.priority-badge.priority-normal{background:#dbeafe;color:#1d4ed8}.priority-badge.priority-low{background:#f1f5f9;color:#64748b}.status-badge.status-open{background:#dcfce7;color:#166534}.status-badge.status-in_progress{background:#fef3c7;color:#92400e}.status-badge.status-resolved{background:#dbeafe;color:#1d4ed8}.status-badge.status-closed{background:#f1f5f9;color:#64748b}.status-badge.status-wont_fix{background:#fecaca;color:#991b1b}.bug-meta{display:flex;gap:1rem;font-size:.8rem;color:#64748b;flex-wrap:wrap}.bug-email{color:#94a3b8}.bug-page{color:#6366f1}.bug-description{color:#475569;font-size:.9rem;margin:0 0 .75rem;line-height:1.5}.bug-notes{background:#fffbeb;border:1px solid #fde68a;padding:.75rem;border-radius:.5rem;font-size:.85rem;color:#92400e;margin-bottom:.75rem}.bug-resolved{font-size:.8rem;color:#64748b;margin-bottom:.75rem}.bug-actions{display:flex;gap:.5rem}.bug-edit-form{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;margin-top:.75rem}.bug-edit-form .edit-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.bug-edit-form label{font-size:.85rem;color:#64748b}.bug-edit-form select{padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.9rem}.bug-edit-form textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-family:inherit;font-size:.9rem;resize:vertical;margin-bottom:.75rem}.bug-edit-form textarea:focus,.bug-edit-form select:focus{outline:none;border-color:#6366f1}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.diag-search-form{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.diag-search-input{flex:1;min-width:200px;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.95rem;font-family:inherit}.diag-search-input:focus{outline:none;border-color:#6366f1}.diag-list{display:flex;flex-direction:column;gap:1rem}.diag-card{background:#f8fafc;border-radius:.75rem;padding:1.25rem;border:1px solid #e2e8f0;border-left:4px solid #94a3b8}.diag-card.status-border-published{border-left-color:#10b981}.diag-card.status-border-testing{border-left-color:#3b82f6}.diag-card.status-border-draft{border-left-color:#f59e0b}.diag-card.status-border-generating{border-left-color:#8b5cf6}.diag-card.status-border-rejected{border-left-color:#dc2626}.diag-card.status-border-refining{border-left-color:#06b6d4}.diag-header{margin-bottom:.75rem}.diag-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.diag-title-row h3{margin:0;font-size:1rem;color:#1e293b}.diag-style{padding:.15rem .5rem;background:#ede9fe;color:#6d28d9;border-radius:.75rem;font-size:.7rem;font-weight:500}.diag-meta{display:flex;gap:1rem;font-size:.8rem;color:#64748b;flex-wrap:wrap}.diag-error-box{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.75rem;border-radius:.5rem;font-size:.85rem;margin-bottom:.75rem}.diag-rejection-box{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:.75rem;border-radius:.5rem;font-size:.85rem;margin-bottom:.75rem}.diag-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.diag-section{margin-bottom:1rem}.diag-section h4{margin:0 0 .5rem;font-size:.85rem;color:#475569}.diag-section p{margin:0;font-size:.85rem;color:#64748b}.diag-code{background:#1e293b;color:#e2e8f0;padding:.75rem;border-radius:.5rem;font-size:.75rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}.system-section h3{margin:0 0 .5rem;color:#1e293b}.section-description{color:#64748b;font-size:.9rem;margin:0 0 1.5rem}.cache-message{padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.9rem}.cache-message.cache-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.cache-message.cache-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.cache-message.cache-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.cache-actions{display:grid;gap:1rem;margin-bottom:2rem}@media(min-width:768px){.cache-actions{grid-template-columns:repeat(3,1fr)}}.cache-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column}.cache-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.cache-icon{font-size:1.5rem}.cache-card h4{margin:0;font-size:1rem;color:#1e293b}.cache-card p{color:#64748b;font-size:.85rem;margin:0 0 1rem;flex:1}.cache-card .btn{width:100%}.cache-info{background:#f1f5f9;border-radius:.75rem;padding:1.25rem}.cache-info h4{margin:0 0 1rem;color:#1e293b}.cache-info ol{margin:0 0 1rem;padding-left:1.25rem;color:#475569;font-size:.9rem}.cache-info li{margin-bottom:.5rem}.cache-note{margin:0;font-size:.85rem;color:#64748b}.cache-note code{background:#e2e8f0;padding:.15rem .4rem;border-radius:.25rem;font-size:.8rem}.health-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.health-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.health-header h3{margin:0 0 .25rem}.health-error{background:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem}.health-results{display:flex;flex-direction:column;gap:1.5rem}.health-status-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:.75rem;font-weight:500}.health-status-banner.status-healthy{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.health-status-banner.status-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.health-status-banner.status-critical,.health-status-banner.status-error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.health-status-banner .status-icon{font-size:1.5rem}.health-status-banner .status-text{font-size:1.1rem}.health-status-banner .status-meta{margin-left:auto;font-size:.85rem;opacity:.8}.health-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.health-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;border-left:4px solid #94a3b8}.health-card.status-healthy{border-left-color:#10b981}.health-card.status-warning{border-left-color:#f59e0b}.health-card.status-critical,.health-card.status-error{border-left-color:#dc2626}.health-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.health-icon{font-size:1.25rem}.health-card-header h4{margin:0;flex:1;font-size:.95rem;color:#1e293b}.health-badge{padding:.15rem .5rem;border-radius:1rem;font-size:.7rem;font-weight:600;text-transform:uppercase}.health-badge.badge-healthy{background:#dcfce7;color:#166534}.health-badge.badge-warning{background:#fef3c7;color:#92400e}.health-badge.badge-critical,.health-badge.badge-error{background:#fee2e2;color:#991b1b}.health-badge.badge-unknown{background:#f1f5f9;color:#64748b}.health-stats{display:flex;flex-direction:column;gap:.35rem}.stat-row{display:flex;justify-content:space-between;font-size:.85rem;padding:.25rem 0;border-bottom:1px solid #e2e8f0}.stat-row:last-child{border-bottom:none}.stat-row span{color:#64748b}.stat-row strong{color:#1e293b}.stat-row.highlight{background:#fffbeb;margin:0 -.5rem;padding:.35rem .5rem;border-radius:.25rem}.stat-row .text-success{color:#10b981}.stat-row .text-error{color:#dc2626}.stat-warning{background:#fef3c7;color:#92400e;padding:.5rem;border-radius:.25rem;font-size:.8rem;margin-top:.5rem}.health-cost-summary{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f1f5f9;border-radius:.5rem}.cost-label{color:#64748b;font-size:.9rem}.cost-value{font-size:1.25rem;font-weight:600;color:#6366f1}@media(max-width:640px){.health-header{flex-direction:column}.health-header .btn{width:100%}.health-status-banner{flex-wrap:wrap}.health-status-banner .status-meta{width:100%;margin-left:0;margin-top:.5rem}}.legal-page{min-height:calc(100vh - 60px);padding:2rem 1rem;background:#f8fafc}.legal-content{max-width:800px;margin:0 auto;background:#fff;border-radius:1rem;padding:2.5rem;box-shadow:0 4px 20px #0000000f}.legal-content h1{font-size:2.25rem;color:#1e293b;margin:0 0 .5rem;text-align:center}.legal-subtitle{text-align:center;color:#64748b;font-size:1.1rem;margin:0 0 2rem}.kid-friendly{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:1rem;padding:2rem;margin-bottom:2.5rem}.friendly-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.friendly-icon{font-size:2rem}.friendly-header h2{margin:0;font-size:1.5rem;color:#0369a1}.rule-card{display:flex;gap:1rem;background:#fff;border-radius:.75rem;padding:1.25rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000d}.rule-card:last-child{margin-bottom:0}.rule-card.highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.rule-emoji{font-size:2rem;flex-shrink:0}.rule-content h3{margin:0 0 .5rem;font-size:1.1rem;color:#1e293b}.rule-content p{margin:0;color:#475569;line-height:1.6}.legal-section{border-top:2px solid #e5e7eb;padding-top:2rem;margin-top:2rem}.legal-section h2{font-size:1.5rem;color:#1e293b;margin:0 0 .5rem}.legal-updated{color:#64748b;font-size:.9rem;margin:0 0 2rem}.legal-section h3{font-size:1.1rem;color:#1e293b;margin:2rem 0 .75rem}.legal-section h4{font-size:1rem;color:#475569;margin:1.5rem 0 .5rem}.legal-section p{color:#475569;line-height:1.7;margin:0 0 1rem}.legal-section ul{color:#475569;line-height:1.7;margin:0 0 1rem;padding-left:1.5rem}.legal-section li{margin-bottom:.5rem}.legal-section strong{color:#1e293b}.legal-footer{display:flex;justify-content:center;gap:2rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.legal-link{color:#6366f1;text-decoration:none;font-weight:500}.legal-link:hover{text-decoration:underline}@media(max-width:640px){.legal-page{padding:1rem}.legal-content{padding:1.5rem;border-radius:.75rem}.legal-content h1{font-size:1.75rem}.kid-friendly{padding:1.25rem}.rule-card{flex-direction:column;text-align:center}.rule-emoji{font-size:2.5rem}.legal-footer{flex-direction:column;gap:1rem;text-align:center}}.achievements-page{min-height:calc(100vh - 60px);padding:2rem 1rem;background:linear-gradient(180deg,#f8fafc,#e2e8f0);max-width:1000px;margin:0 auto}.achievements-header{text-align:center;margin-bottom:2rem;background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 20px #0000000f}.achievements-header h1{margin:0;font-size:2rem;color:#1e293b}.achievements-subtitle{color:#64748b;margin:.5rem 0 1.5rem}.achievements-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.stat-box{text-align:center}.stat-box .stat-value{font-size:1.75rem;font-weight:700;color:#1e293b}.stat-box .stat-label{font-size:.85rem;color:#64748b}.stat-box.highlight .stat-value{color:#6366f1}.progress-bar-container{background:#e2e8f0;border-radius:1rem;height:12px;overflow:hidden;max-width:400px;margin:0 auto}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:1rem;transition:width .5s ease}.category-filters{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{background:#fff;border:2px solid #e2e8f0;padding:.5rem 1rem;border-radius:2rem;font-size:.9rem;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#6366f1}.filter-btn.active{background:#6366f1;color:#fff;border-color:#6366f1}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.achievement-card{display:flex;gap:1rem;background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 2px 10px #0000000d;transition:all .2s}.achievement-card.earned{border-left:4px solid #10b981}.achievement-card.locked{opacity:.6;filter:grayscale(30%)}.achievement-card.locked:hover{opacity:.8}.achievement-icon-wrap{position:relative;flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:50%}.achievement-card.earned .achievement-icon-wrap{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.achievement-card.locked .achievement-icon-wrap{background:#f1f5f9}.achievement-icon{font-size:1.75rem}.earned-check{position:absolute;bottom:-2px;right:-2px;background:#10b981;color:#fff;width:20px;height:20px;border-radius:50%;font-size:.75rem;display:flex;align-items:center;justify-content:center;border:2px solid white}.achievement-info{flex:1;min-width:0}.achievement-name{margin:0 0 .25rem;font-size:1rem;color:#1e293b}.achievement-description{margin:0 0 .5rem;font-size:.85rem;color:#64748b;line-height:1.4}.achievement-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.xp-reward{background:#f0f9ff;color:#0369a1;padding:.2rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.earned-date{font-size:.75rem;color:#94a3b8}.achievement-progress{margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.mini-progress-bar{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.mini-progress-fill{height:100%;background:#6366f1;border-radius:3px;transition:width .3s}.progress-text{font-size:.75rem;color:#64748b;white-space:nowrap}.empty-state{text-align:center;padding:3rem;color:#64748b}@media(max-width:640px){.achievements-page{padding:1rem}.achievements-header{padding:1.5rem}.achievements-header h1{font-size:1.5rem}.achievements-stats{gap:1rem}.stat-box .stat-value{font-size:1.25rem}.category-filters{justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.filter-btn{white-space:nowrap}.achievements-grid{grid-template-columns:1fr}}.classrooms-page{max-width:1000px;margin:0 auto;padding:2rem 1.5rem}.classrooms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.classrooms-header h1{margin:0;color:#1e293b}.header-actions{display:flex;gap:.5rem}.error-alert{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:.5rem;margin-bottom:1rem;border:1px solid #fecaca}.join-form,.create-form{display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}.join-form input,.create-form input{flex:1;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:1rem}.join-form input{text-transform:uppercase;font-family:monospace;font-size:1.1rem;letter-spacing:2px}.classrooms-section{margin-bottom:2rem}.classrooms-section h2{font-size:1.1rem;color:#64748b;margin:0 0 1rem}.classrooms-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.classroom-card{display:flex;gap:1rem;padding:1.25rem;background:#fff;border-radius:1rem;text-decoration:none;color:inherit;box-shadow:0 2px 10px #0000000d;border:2px solid transparent;transition:all .2s}.classroom-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.classroom-card.teacher-card{border-color:#6366f1}.classroom-card.student-card{border-color:#10b981}.classroom-icon{font-size:2rem}.classroom-info{flex:1}.classroom-info h3{margin:0 0 .25rem;color:#1e293b;font-size:1.1rem}.classroom-meta{font-size:.85rem;color:#64748b}.classroom-meta .dot{margin:0 .35rem}.join-code-preview{margin-top:.5rem;font-size:.85rem;color:#6366f1;font-family:monospace}.empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.empty-subtitle{font-size:.9rem;color:#94a3b8}.classroom-detail-header{margin-bottom:1.5rem}.back-link{color:#6366f1;text-decoration:none;font-size:.9rem;display:inline-block;margin-bottom:1rem}.classroom-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.classroom-title-row h1{margin:0;color:#1e293b}.classroom-subtitle{margin:.25rem 0 0;color:#64748b}.classroom-actions{display:flex;gap:.5rem}.join-code-box{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;background:#f0fdf4;border-radius:.5rem;border:1px solid #86efac;flex-wrap:wrap}.join-code-label{font-size:.9rem;color:#166534}.join-code-value{font-family:monospace;font-size:1.25rem;font-weight:700;color:#15803d;letter-spacing:2px}.classroom-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#fff;padding:.5rem;border-radius:1rem;box-shadow:0 2px 10px #0000000d}.classroom-section{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 10px #0000000d}.students-list{display:flex;flex-direction:column;gap:.5rem}.student-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.5rem}.student-info{flex:1;display:flex;align-items:center;gap:.5rem}.student-badge{font-size:.75rem;background:#e0e7ff;color:#4f46e5;padding:.125rem .5rem;border-radius:1rem}.student-level{font-size:.8rem;color:#64748b}.student-stats{display:flex;gap:1rem;font-size:.85rem;color:#64748b}.leaderboard-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.5rem}.leaderboard-row.top-three{background:#fef3c7}.leaderboard-row .rank{font-weight:700;color:#6366f1;width:2.5rem}.leaderboard-row .name{flex:1;font-weight:500}.leaderboard-row .xp{font-weight:600;color:#10b981}.leaderboard-row .games{font-size:.85rem;color:#64748b}.assignment-actions{margin-bottom:1rem}.assignment-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:.75rem}.assignment-form input,.assignment-form textarea{padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:1rem;font-family:inherit}.assignment-form .form-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.assignment-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:#64748b}.assignments-list{display:flex;flex-direction:column;gap:.75rem}.assignment-card{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:#f8fafc;border-radius:.75rem;border-left:4px solid #6366f1}.assignment-card.overdue{border-left-color:#dc2626;background:#fef2f2}.assignment-info h3{margin:0 0 .25rem;color:#1e293b;font-size:1rem}.assignment-info p{margin:0 0 .5rem;font-size:.9rem;color:#64748b}.due-date{font-size:.85rem;color:#64748b}.overdue-badge{margin-left:.5rem;background:#dc2626;color:#fff;font-size:.7rem;padding:.125rem .4rem;border-radius:.25rem}@media(max-width:640px){.classrooms-page{padding:1rem}.classrooms-header{flex-direction:column;align-items:stretch}.header-actions,.join-form,.create-form{flex-direction:column}.classroom-tabs{flex-wrap:wrap}.tab-btn{flex:1 1 45%}.student-row{flex-direction:column;align-items:flex-start;gap:.5rem}.student-stats{font-size:.8rem}.leaderboard-row{flex-wrap:wrap}.join-code-box{flex-direction:column;align-items:flex-start}}.teacher-console{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.console-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.header-title h1{margin:0;color:#1e293b;font-size:2rem}.header-subtitle{margin:.5rem 0 0;color:#64748b;font-size:1rem}.header-actions{display:flex;gap:.75rem}.empty-console{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1.5rem;box-shadow:0 4px 20px #0000000d}.empty-console .empty-icon{font-size:4rem;display:block;margin-bottom:1.5rem}.empty-console h2{margin:0 0 .5rem;color:#1e293b}.empty-console p{margin:0 0 1.5rem;color:#64748b}.btn-lg{padding:1rem 2rem;font-size:1.1rem}.classroom-selector{background:#fff;border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000000d}.classroom-selector label{display:block;font-size:.9rem;font-weight:600;color:#64748b;margin-bottom:.75rem}.classroom-pills{display:flex;gap:.75rem;flex-wrap:wrap}.classroom-pill{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:2rem;cursor:pointer;transition:all .2s}.classroom-pill:hover{border-color:#6366f1;background:#f0f0ff}.classroom-pill.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff}.pill-icon{font-size:1.25rem}.pill-name{font-weight:600}.pill-count{font-size:.8rem;opacity:.8}.quick-actions{margin-bottom:1.5rem}.quick-actions h3{margin:0 0 1rem;font-size:1rem;color:#64748b}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.action-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:1rem;cursor:pointer;transition:all .2s;text-decoration:none;color:inherit}.action-card:hover{border-color:#6366f1;transform:translateY(-2px);box-shadow:0 4px 15px #6366f126}.action-icon{font-size:2rem}.action-label{font-weight:500;color:#1e293b;text-align:center}.class-overview{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:1.5rem;padding:1.5rem;margin-bottom:1.5rem;color:#fff;box-shadow:0 4px 20px #6366f14d}.class-overview h3{margin:0 0 1.25rem;font-size:1.1rem;font-weight:500;opacity:.9}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.overview-stats .stat-card{display:flex;align-items:center;gap:.75rem;background:#ffffff26;border-radius:1rem;padding:1rem;backdrop-filter:blur(10px)}.overview-stats .stat-icon{font-size:2rem}.overview-stats .stat-info{flex:1}.overview-stats .stat-value{font-size:1.5rem;font-weight:700;line-height:1.2}.overview-stats .stat-label{font-size:.8rem;opacity:.85}.view-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#fff;padding:.5rem;border-radius:1rem;box-shadow:0 2px 10px #0000000d}.tab-btn{flex:1;padding:.75rem 1rem;border:none;background:transparent;border-radius:.75rem;font-size:.95rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#f1f5f9}.tab-btn.active{background:#6366f1;color:#fff}.console-content{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 10px #0000000d;min-height:300px}.progress-table-container{overflow-x:auto}.progress-table{width:100%;border-collapse:collapse}.progress-table th,.progress-table td{padding:1rem .75rem;text-align:left;border-bottom:1px solid #f1f5f9}.progress-table th{font-size:.85rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.progress-table tbody tr:hover{background:#f8fafc}.student-cell{display:flex;align-items:center;gap:.5rem}.student-name{font-weight:500;color:#1e293b}.student-badge{font-size:.7rem;background:#e0e7ff;color:#4f46e5;padding:.125rem .5rem;border-radius:1rem}.level-badge{display:inline-block;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.25rem .6rem;border-radius:1rem;font-size:.8rem;font-weight:600}.xp-value{font-weight:600;color:#10b981}.stat-value{color:#64748b}.achievement-count{display:inline-flex;align-items:center;gap:.25rem;color:#f59e0b;font-weight:500}.achievement-count:before{content:"🏆";font-size:.9rem}.mini-progress{display:flex;align-items:center;gap:.5rem;min-width:100px}.mini-progress-bg{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.mini-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .3s ease}.mini-progress-text{font-size:.75rem;color:#64748b;min-width:35px}.leaderboard-container{padding:1rem 0}.podium{display:flex;justify-content:center;align-items:flex-end;gap:1rem;margin-bottom:2rem;padding:1rem}.podium-spot{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.podium-crown{font-size:1.5rem;margin-bottom:.25rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.podium-avatar{font-size:2.5rem;margin-bottom:.5rem}.podium-name{font-weight:600;color:#1e293b;font-size:.95rem;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.podium-xp{font-size:.8rem;color:#10b981;font-weight:600;margin-bottom:.5rem}.podium-bar{width:80px;border-radius:8px 8px 0 0}.podium-spot.first .podium-bar{height:100px;background:linear-gradient(180deg,#fbbf24,#f59e0b)}.podium-spot.second .podium-bar{height:70px;background:linear-gradient(180deg,#94a3b8,#64748b)}.podium-spot.third .podium-bar{height:50px;background:linear-gradient(180deg,#d97706,#b45309)}.leaderboard-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.75rem;transition:all .2s}.leaderboard-row:hover{background:#f1f5f9}.leaderboard-row.top-three{background:linear-gradient(90deg,#fef3c7,#fff)}.leaderboard-row .rank{font-weight:700;color:#6366f1;width:3rem;font-size:1.1rem}.leaderboard-row .name{flex:1;font-weight:500;color:#1e293b}.leaderboard-row .badge{font-size:.75rem;background:#e0e7ff;color:#4f46e5;padding:.125rem .5rem;border-radius:1rem}.leaderboard-row .level{font-size:.85rem;color:#64748b}.leaderboard-row .xp{font-weight:600;color:#10b981;min-width:80px}.leaderboard-row .games{font-size:.85rem;color:#64748b;min-width:70px}.assignments-status{display:flex;flex-direction:column;gap:1rem}.assignment-status-card{background:#f8fafc;border-radius:1rem;padding:1.25rem;border-left:4px solid #6366f1}.assignment-status-card.overdue{border-left-color:#dc2626;background:#fef2f2}.assignment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.assignment-header h4{margin:0;color:#1e293b;font-size:1.1rem}.due-badge{font-size:.8rem;padding:.25rem .75rem;background:#dbeafe;color:#1e40af;border-radius:1rem}.due-badge.overdue{background:#fee2e2;color:#dc2626}.assignment-description{margin:0 0 1rem;color:#64748b;font-size:.9rem}.assignment-progress{background:#fff;border-radius:.75rem;padding:1rem}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{font-weight:500;color:#1e293b}.progress-count{font-size:.85rem;color:#64748b}.progress-bar-container{margin-bottom:.5rem}.progress-bar-bg{height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:6px;transition:width .5s ease}.progress-note{margin:0;font-size:.85rem;color:#64748b}.empty-state{text-align:center;padding:3rem 1rem;color:#64748b}.empty-state .empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.empty-subtitle{font-size:.9rem;color:#94a3b8;margin-top:.5rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:1rem;padding:1.5rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-content h2{margin:0 0 1.5rem;color:#1e293b}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.9rem;font-weight:500;color:#475569;margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #f1f5f9}.message-info{text-align:center;padding:1rem}.message-info p{margin:.5rem 0;color:#64748b}.message-info .coming-soon{font-size:1.25rem;font-weight:600;color:#6366f1;margin:1rem 0}.loading,.error-state{text-align:center;padding:3rem 1rem;color:#64748b}.error-state h2{color:#dc2626;margin-bottom:.5rem}@media(max-width:768px){.teacher-console{padding:1rem}.console-header{flex-direction:column;align-items:stretch}.header-title{text-align:center}.header-actions{justify-content:center}.classroom-pills{flex-direction:column}.classroom-pill{justify-content:center}.actions-grid,.overview-stats{grid-template-columns:repeat(2,1fr)}.view-tabs{flex-wrap:wrap}.tab-btn{flex:1 1 45%}.progress-table{font-size:.85rem}.progress-table th,.progress-table td{padding:.75rem .5rem}.podium{flex-direction:column;align-items:center;gap:1.5rem}.podium-spot{width:100%;flex-direction:row;justify-content:center;gap:1rem}.podium-bar{display:none}.leaderboard-row{flex-wrap:wrap}.leaderboard-row .name{flex-basis:100%;order:-1}.modal-content{margin:.5rem;padding:1rem}}@media(max-width:480px){.actions-grid,.overview-stats{grid-template-columns:1fr}.overview-stats .stat-card{justify-content:center}.assignment-header{flex-direction:column;align-items:flex-start}}.analytics-page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.analytics-header{margin-bottom:2rem}.back-link{display:inline-block;color:#6366f1;text-decoration:none;font-size:.9rem;margin-bottom:.5rem}.back-link:hover{text-decoration:underline}.analytics-header h1{margin:0 0 .5rem;color:#1e293b;font-size:1.75rem}.game-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.publish-date{font-size:.9rem;color:#64748b}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:1rem;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-published{background:#d1fae5;color:#065f46}.status-draft{background:#f1f5f9;color:#64748b}.status-pending_review{background:#fef3c7;color:#92400e}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 2px 10px #0000000d;border-left:4px solid}.summary-card.plays{border-color:#6366f1}.summary-card.players{border-color:#10b981}.summary-card.session{border-color:#f59e0b}.summary-card.favorites{border-color:#ef4444}.card-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:.75rem;background:#f1f5f9}.summary-card.plays .card-icon{background:#eef2ff;color:#6366f1}.summary-card.players .card-icon{background:#ecfdf5;color:#10b981}.summary-card.session .card-icon{background:#fffbeb;color:#f59e0b}.summary-card.favorites .card-icon{background:#fef2f2;color:#ef4444}.card-content{flex:1}.card-value{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1.2}.card-label{font-size:.85rem;color:#64748b}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.chart-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 10px #0000000d}.chart-card h3{margin:0 0 1.25rem;font-size:1rem;color:#1e293b}.daily-plays-card{grid-column:1 / -1}.bar-chart{display:flex;align-items:flex-end;height:200px;gap:4px;padding-bottom:24px;overflow-x:auto;overflow-y:hidden}.bar-chart.horizontal-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.bar-container{flex:1;min-width:24px;max-width:40px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}.bar{width:100%;min-height:4px;border-radius:4px 4px 0 0;transition:height .3s ease;position:relative;cursor:pointer}.bar:hover{opacity:.85;transform:scaleY(1.02)}.bar-value{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:.7rem;font-weight:600;color:#475569;white-space:nowrap}.bar-label{position:absolute;bottom:-20px;font-size:.65rem;color:#94a3b8;white-space:nowrap}.rating-chart{display:flex;flex-direction:column;gap:.75rem}.rating-row{display:flex;align-items:center;gap:.75rem}.rating-label{width:60px;font-size:.8rem;color:#64748b}.rating-bar-container{flex:1;height:20px;background:#f1f5f9;border-radius:10px;overflow:hidden}.rating-bar{height:100%;border-radius:10px;transition:width .5s ease;min-width:4px}.rating-count{width:30px;text-align:right;font-size:.85rem;font-weight:600;color:#475569}.avg-rating{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;text-align:center;font-size:.9rem;color:#64748b}.avg-rating strong{color:#1e293b;font-size:1.25rem}.hours-chart{display:flex;align-items:flex-end;height:150px;gap:2px;padding-bottom:24px}.hour-bar-container{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}.hour-bar{width:100%;min-height:2px;border-radius:3px 3px 0 0;transition:height .3s ease,background-color .3s ease;cursor:pointer}.hour-bar:hover{opacity:.85}.hour-label{position:absolute;bottom:-20px;font-size:.55rem;color:#94a3b8}.score-distribution{display:flex;flex-direction:column;gap:.6rem}.score-row{display:flex;align-items:center;gap:.75rem}.score-range{width:80px;font-size:.75rem;color:#64748b;white-space:nowrap}.score-bar-container{flex:1;height:16px;background:#f1f5f9;border-radius:8px;overflow:hidden}.score-bar{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:8px;transition:width .5s ease;min-width:4px}.score-count{width:30px;text-align:right;font-size:.8rem;font-weight:600;color:#475569}.no-data{text-align:center;padding:2rem;color:#94a3b8;font-size:.9rem}.additional-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 10px #0000000d}.stat-item{text-align:center;padding:.75rem}.stat-item .stat-label{display:block;font-size:.8rem;color:#64748b;margin-bottom:.25rem}.stat-item .stat-value{font-size:1.25rem;font-weight:700;color:#1e293b}.error-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1rem;box-shadow:0 2px 10px #0000000d}.error-state h2{color:#dc2626;margin-bottom:1rem}.error-state p{color:#64748b;margin-bottom:1.5rem}.loading{text-align:center;padding:4rem;color:#64748b}@media(max-width:768px){.analytics-page{padding:1rem}.analytics-header h1{font-size:1.4rem}.summary-cards{grid-template-columns:repeat(2,1fr)}.summary-card{padding:1rem}.card-icon{width:40px;height:40px;font-size:1.5rem}.card-value{font-size:1.25rem}.charts-grid{grid-template-columns:1fr}.bar-chart{height:160px}.hours-chart{height:120px}.hour-label{display:none}.hour-bar-container:nth-child(6n+1) .hour-label{display:block}.bar-container{min-width:16px}.bar-label{display:none}.bar-container:nth-child(5n+1) .bar-label{display:block}.additional-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.summary-cards{grid-template-columns:1fr 1fr;gap:.75rem}.summary-card{flex-direction:column;text-align:center;gap:.5rem}}.leaderboard-page{min-height:calc(100vh - 60px);padding:2rem 1rem;background:linear-gradient(180deg,#fef3c7,#fde68a 30%,#fbbf24);max-width:900px;margin:0 auto}.leaderboard-header{text-align:center;margin-bottom:2rem;position:relative}.header-decoration{position:absolute;top:-10px;left:50%;transform:translate(-50%);width:200px;height:60px;pointer-events:none}.decoration-star{position:absolute;font-size:1.5rem;animation:twinkle 2s ease-in-out infinite}.star-1{left:10%;animation-delay:0s}.star-2{left:50%;transform:translate(-50%);animation-delay:.5s}.star-3{right:10%;animation-delay:1s}@keyframes twinkle{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.leaderboard-title{font-size:2.5rem;color:#78350f;margin:0;display:flex;align-items:center;justify-content:center;gap:.75rem;text-shadow:2px 2px 0 rgba(255,255,255,.5)}.title-trophy{animation:bounce 2s ease-in-out infinite}.title-trophy:last-child{animation-delay:.5s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.leaderboard-subtitle{color:#92400e;margin:.5rem 0 0;font-size:1.1rem}.tabs-container{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.tab-btn{display:flex;align-items:center;gap:.5rem;background:#fff;border:3px solid #f59e0b;padding:.75rem 1.25rem;border-radius:2rem;font-size:1rem;font-weight:600;color:#78350f;cursor:pointer;transition:all .3s ease;box-shadow:0 4px #d97706}.tab-btn:hover{transform:translateY(-2px);box-shadow:0 6px #d97706}.tab-btn.active{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;transform:translateY(2px);box-shadow:0 2px #d97706}.period-filters{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.period-btn{background:#ffffffb3;border:2px solid rgba(120,53,15,.2);padding:.5rem 1rem;border-radius:1rem;font-size:.9rem;color:#78350f;cursor:pointer;transition:all .2s}.period-btn:hover{background:#fff;border-color:#f59e0b}.period-btn.active{background:#78350f;color:#fff;border-color:#78350f}.podium-section{margin-bottom:2rem}.podium{display:flex;justify-content:center;align-items:flex-end;gap:.5rem;padding:1rem}.podium-spot{display:flex;flex-direction:column;align-items:center;position:relative;animation:podiumEntrance .6s ease-out backwards}.podium-1{animation-delay:.3s}.podium-2{animation-delay:.1s}.podium-3{animation-delay:.2s}@keyframes podiumEntrance{0%{opacity:0;transform:translateY(50px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.podium-medal{font-size:2rem;position:absolute;top:-20px;animation:medalPulse 2s ease-in-out infinite}.podium-1 .podium-medal{font-size:2.5rem;top:-30px}@keyframes medalPulse{0%,to{transform:scale(1) rotate(-5deg)}50%{transform:scale(1.1) rotate(5deg)}}.podium-avatar-link{display:block;margin-bottom:.5rem;transition:transform .3s}.podium-avatar-link:hover{transform:scale(1.1)}.podium-game-thumb{width:60px;height:60px;border-radius:12px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;border:3px solid white;box-shadow:0 4px 12px #00000026}.podium-1 .podium-game-thumb{width:80px;height:80px}.podium-game-thumb img{width:100%;height:100%;object-fit:cover}.podium-game-thumb .game-icon{font-size:2rem}.podium-info{text-align:center;margin-bottom:.5rem}.podium-name{display:block;font-weight:700;color:#78350f;text-decoration:none;font-size:.9rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-name:hover{text-decoration:underline}.podium-stat{font-size:.75rem;color:#92400e;display:flex;align-items:center;justify-content:center;gap:.25rem;flex-wrap:wrap}.podium-stand{width:100%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;border-radius:8px 8px 0 0;position:relative;overflow:hidden}.podium-stand:before{content:"";position:absolute;top:0;left:0;right:0;height:10px;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%)}.podium-stand-1{width:120px;height:100px;background:linear-gradient(135deg,gold,#ffb700,#cc9500);font-size:2rem;box-shadow:0 8px 20px #ffb70066}.podium-stand-2{width:100px;height:70px;background:linear-gradient(135deg,#e8e8e8,silver,#a0a0a0);font-size:1.5rem;box-shadow:0 8px 20px #c0c0c066}.podium-stand-3{width:100px;height:50px;background:linear-gradient(135deg,#cd7f32,#b8702c,#8b5a2b);font-size:1.25rem;box-shadow:0 8px 20px #cd7f3266}.podium-rank-num{text-shadow:2px 2px 0 rgba(0,0,0,.2)}.leaderboard-list{background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 8px 30px #78350f26}.list-header{text-align:center;color:#78350f;margin:0 0 1rem;font-size:1.25rem}.leaderboard-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:1rem;margin-bottom:.5rem;background:#fefce8;transition:all .3s ease;position:relative;overflow:hidden;animation:slideIn .4s ease-out backwards}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.leaderboard-item:hover{transform:translate(5px);box-shadow:0 4px 12px #78350f1a}.leaderboard-item.gold{background:linear-gradient(90deg,#fef9c3,#fef3c7);border:2px solid #fcd34d}.leaderboard-item.silver{background:linear-gradient(90deg,#f5f5f5,#e5e5e5);border:2px solid #d4d4d4}.leaderboard-item.bronze{background:linear-gradient(90deg,#fef3e6,#fed7aa);border:2px solid #fdba74}.item-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shine 3s ease-in-out infinite}@keyframes shine{0%{left:-100%}50%,to{left:150%}}.rank-badge{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rank-badge.top-three{background:none}.rank-medal{font-size:2rem}.rank-number{font-size:1.1rem;font-weight:700;color:#92400e;background:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fcd34d}.item-avatar-link{display:block;flex-shrink:0;transition:transform .2s}.item-avatar-link:hover{transform:scale(1.1)}.item-game-thumb{width:48px;height:48px;border-radius:10px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;border:2px solid #fcd34d}.item-game-thumb img{width:100%;height:100%;object-fit:cover}.item-game-thumb .game-icon{font-size:1.5rem}.item-info{flex:1;min-width:0}.item-name{display:block;font-weight:700;color:#78350f;text-decoration:none;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-name:hover{text-decoration:underline}.item-creator,.item-level{display:block;font-size:.8rem;color:#92400e;margin-top:.125rem}.item-stats{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:flex-end;font-size:.9rem;color:#78350f}.stat-icon{font-size:1rem}.stat-num{font-weight:700;font-size:1.1rem}.stat-label{color:#92400e;font-size:.85rem}.stat-secondary{color:#a16207;font-size:.8rem;margin-left:.5rem;padding-left:.5rem;border-left:1px solid #fcd34d}.loading-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1.5rem;box-shadow:0 8px 30px #78350f26}.loading-spinner{width:50px;height:50px;border:4px solid #fef3c7;border-top-color:#f59e0b;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:#92400e;font-size:1.1rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1.5rem;box-shadow:0 8px 30px #78350f26}.empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.empty-state h3{color:#78350f;margin:0 0 .5rem;font-size:1.5rem}.empty-state p{color:#92400e;margin:0}.load-more-section{text-align:center;margin-top:1.5rem}.load-more-btn{background:#fff;border:3px solid #f59e0b;padding:.75rem 2rem;border-radius:2rem;font-size:1rem;font-weight:600;color:#78350f;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 4px #d97706}.load-more-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #d97706}.load-more-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #d97706}.load-more-btn:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{width:16px;height:16px;border:2px solid #fef3c7;border-top-color:#f59e0b;border-radius:50%;animation:spin .8s linear infinite}.btn-arrow{font-size:1.2rem;animation:bounceArrow 1s ease-in-out infinite}@keyframes bounceArrow{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media(max-width:640px){.leaderboard-page{padding:1rem}.leaderboard-title{font-size:1.75rem}.tabs-container{gap:.25rem}.tab-btn{padding:.5rem .75rem;font-size:.85rem}.tab-label{display:none}.tab-icon{font-size:1.5rem}.period-filters{gap:.25rem}.period-btn{padding:.4rem .75rem;font-size:.8rem}.podium{gap:.25rem;padding:.5rem}.podium-stand-1{width:90px;height:80px;font-size:1.5rem}.podium-stand-2{width:75px;height:55px;font-size:1.25rem}.podium-stand-3{width:75px;height:40px;font-size:1rem}.podium-name{font-size:.75rem;max-width:70px}.podium-medal{font-size:1.5rem}.podium-1 .podium-medal{font-size:2rem;top:-25px}.leaderboard-list{padding:1rem}.leaderboard-item{padding:.75rem;gap:.75rem}.rank-badge{width:36px;height:36px}.rank-medal{font-size:1.5rem}.rank-number{font-size:.9rem;width:32px;height:32px}.item-name{font-size:.9rem}.item-stats{font-size:.8rem}.stat-num{font-size:.95rem}.stat-secondary{display:none}}.leaderboard-item:nth-child(2n):hover{background:#fef9c3}.podium-spot:hover .podium-medal{animation:wobble .5s ease-in-out}@keyframes wobble{0%,to{transform:rotate(-5deg)}25%{transform:rotate(10deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}}.creator-profile-page{min-height:calc(100vh - 60px);background:var(--bg-color)}.creator-profile-page .loading-state,.creator-profile-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:2rem}.creator-profile-page .loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.error-state h2{margin-bottom:.5rem}.error-state p{color:var(--text-secondary);margin-bottom:1.5rem}.creator-banner{background:linear-gradient(135deg,var(--card-bg) 0%,#1a1a2e 100%);padding:2rem;border-bottom:1px solid var(--border-color)}.banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;gap:2rem}.creator-avatar-section{position:relative;flex-shrink:0}.level-badge{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);background:var(--card-bg);padding:4px 12px;border-radius:20px;border:2px solid var(--primary);display:flex;align-items:center;gap:4px;white-space:nowrap}.level-icon{font-size:1rem}.level-name{font-size:.75rem;font-weight:600;color:var(--primary)}.creator-info{flex:1}.creator-name{font-size:2rem;margin:0 0 .25rem;color:var(--text-primary)}.creator-username{color:var(--text-secondary);margin:0 0 .75rem;font-size:1rem}.creator-bio{color:var(--text-primary);margin:0 0 1rem;max-width:600px;line-height:1.5}.creator-stats{display:flex;gap:2rem;margin-bottom:1.5rem}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.follow-btn{background:var(--primary);color:#fff;padding:.5rem 1.5rem;border-radius:20px;font-weight:600;transition:all .2s}.follow-btn:hover{transform:scale(1.05)}.follow-btn.following{background:transparent;border:2px solid var(--primary);color:var(--primary)}.creator-arcade{max-width:1200px;margin:0 auto;padding:2rem}.arcade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.arcade-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.5rem}.arcade-icon{font-size:1.5rem}.sort-controls{display:flex;gap:.5rem}.sort-btn{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 1rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.sort-btn:hover{border-color:var(--primary);color:var(--text-primary)}.sort-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.empty-arcade{text-align:center;padding:4rem 2rem;background:var(--card-bg);border-radius:16px}.empty-arcade .empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.empty-arcade h3{margin:0 0 .5rem}.empty-arcade p{color:var(--text-secondary);margin:0 0 1.5rem}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}@media(max-width:768px){.banner-content{flex-direction:column;align-items:center;text-align:center}.creator-stats{justify-content:center}.creator-info{display:flex;flex-direction:column;align-items:center}.creator-bio{text-align:center}.arcade-header{flex-direction:column;align-items:stretch}.sort-controls{justify-content:center}.games-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.game-stats-page{min-height:calc(100vh - 60px);background:var(--bg-color);padding-bottom:2rem}.game-stats-page .loading-state,.game-stats-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:2rem}.game-stats-page .loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.error-state .error-icon{font-size:4rem;margin-bottom:1rem}.stats-header{background:linear-gradient(135deg,var(--card-bg) 0%,#1a1a2e 100%);padding:2rem;display:flex;gap:2rem;border-bottom:1px solid var(--border-color)}.game-preview{flex-shrink:0}.game-thumbnail{width:200px;height:150px;object-fit:cover;border-radius:12px;box-shadow:0 8px 32px #0000004d}.game-placeholder{width:200px;height:150px;background:linear-gradient(135deg,#2a2a4a,#1a1a2e);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:4rem}.game-info{flex:1}.game-info h1{font-size:2rem;margin:0 0 .5rem}.creator-link{color:var(--primary);text-decoration:none;font-size:1rem;display:inline-block;margin-bottom:.75rem}.creator-link:hover{text-decoration:underline}.game-description{color:var(--text-secondary);margin:0 0 1rem;max-width:600px;line-height:1.5}.quick-stats{display:flex;gap:2rem;margin-bottom:1.5rem}.quick-stat{display:flex;align-items:center;gap:.5rem}.quick-stat .stat-icon{font-size:1.25rem}.quick-stat .stat-value{font-size:1.25rem;font-weight:700}.quick-stat .stat-label{color:var(--text-secondary);font-size:.875rem}.header-actions{display:flex;gap:1rem}.stats-tabs{display:flex;gap:.5rem;padding:1rem 2rem;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.tab-btn{background:transparent;border:none;color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:1rem;transition:all .2s}.tab-btn:hover{background:#ffffff0d;color:var(--text-primary)}.tab-btn.active{background:var(--primary);color:#fff}.tab-icon{font-size:1.25rem}.tab-content{max-width:1000px;margin:0 auto;padding:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--card-bg);border-radius:12px;padding:1.5rem;text-align:center;border:1px solid var(--border-color)}.stat-card h3{margin:0 0 .5rem;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.big-number{font-size:2.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:.25rem}.big-number .star{font-size:2rem}.stat-subtitle{margin:.5rem 0 0;color:var(--text-secondary);font-size:.875rem}.style-badge{display:inline-block;background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;text-transform:capitalize}.preview-section{background:var(--card-bg);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.preview-section h3{margin:0 0 1rem}.top-players-preview{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.top-player{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#ffffff08;border-radius:8px}.top-player.rank-1{background:#ffd7001a}.top-player.rank-2{background:#c0c0c01a}.top-player.rank-3{background:#cd7f321a}.rank-badge{font-size:1.5rem}.player-name{flex:1;font-weight:500}.player-score{font-weight:700;color:var(--primary)}.leaderboard-tab h3{margin:0 0 1.5rem}.leaderboard-list{display:flex;flex-direction:column;gap:.5rem}.leaderboard-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);transition:all .2s}.leaderboard-item:hover{border-color:var(--primary)}.leaderboard-item.top-three{border-width:2px}.leaderboard-item.top-three:nth-child(1){border-color:gold;background:#ffd7000d}.leaderboard-item.top-three:nth-child(2){border-color:silver;background:#c0c0c00d}.leaderboard-item.top-three:nth-child(3){border-color:#cd7f32;background:#cd7f320d}.leaderboard-item .rank{width:40px;text-align:center;font-size:1.25rem;font-weight:700}.leaderboard-item .player-info{flex:1}.leaderboard-item .player-name{font-weight:600}.leaderboard-item .score-info{text-align:right}.leaderboard-item .score{font-size:1.25rem;font-weight:700;color:var(--primary);display:block}.leaderboard-item .date{font-size:.75rem;color:var(--text-secondary)}.rating-summary{background:var(--card-bg);border-radius:12px;padding:2rem;border:1px solid var(--border-color);margin-bottom:2rem}.avg-rating{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem}.big-star{font-size:3rem}.big-rating{font-size:4rem;font-weight:700}.rating-count{color:var(--text-secondary);margin-left:.5rem}.rating-bars{max-width:400px;margin:0 auto}.rating-bar-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.star-label{width:50px;text-align:right}.bar-container{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),#fbbf24);border-radius:4px;transition:width .3s}.percentage{width:40px;text-align:right;color:var(--text-secondary);font-size:.875rem}.rate-cta{text-align:center;padding:2rem;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color)}.rate-cta p{margin:0 0 1rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:3rem 2rem;background:var(--card-bg);border-radius:12px}.empty-state .empty-icon{font-size:4rem;display:block;margin-bottom:1rem}@media(max-width:768px){.stats-header{flex-direction:column;align-items:center;text-align:center}.game-info{display:flex;flex-direction:column;align-items:center}.quick-stats{flex-wrap:wrap;justify-content:center}.stats-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{white-space:nowrap}.stats-grid{grid-template-columns:repeat(2,1fr)}.big-number{font-size:2rem}.big-rating{font-size:3rem}}.release-notes{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.release-notes-header{text-align:center;margin-bottom:2.5rem}.release-notes-header h1{font-size:2rem;color:#1e293b;margin:0 0 .5rem}.release-notes-subtitle{color:#64748b;font-size:1.1rem;margin:0}.releases-list{display:flex;flex-direction:column;gap:1.5rem}.release-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #e2e8f0}.release-card.latest{border-color:#6366f1;box-shadow:0 4px 20px #6366f126}.release-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.release-version-info{display:flex;align-items:center;gap:.75rem}.release-version{font-size:.9rem;font-weight:700;color:#6366f1;background:#6366f11a;padding:.25rem .75rem;border-radius:2rem}.latest-badge{font-size:.7rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#10b981,#059669);padding:.2rem .5rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.5px}.release-date{font-size:.85rem;color:#94a3b8}.release-title{font-size:1.25rem;color:#1e293b;margin:0 0 1rem;font-weight:600}.release-changes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.change-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;background:#f8fafc;font-size:.9rem;line-height:1.4}.change-icon{flex-shrink:0;font-size:1rem}.change-type{flex-shrink:0;font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.15rem .4rem;border-radius:.25rem;letter-spacing:.3px}.change-text{color:#475569}.change-feature .change-type{background:#6366f126;color:#4f46e5}.change-improvement .change-type{background:#3b82f626;color:#2563eb}.change-fix .change-type{background:#fbbf2433;color:#b45309}.change-security .change-type{background:#10b98126;color:#059669}.release-notes-footer{margin-top:3rem;text-align:center;padding:1.5rem;background:#f8fafc;border-radius:1rem}.release-notes-footer p{margin:0;color:#64748b}.release-notes-footer a{color:#6366f1;text-decoration:none;font-weight:500}.release-notes-footer a:hover{text-decoration:underline}@media(max-width:768px){.release-notes{padding:1.5rem 1rem}.release-notes-header h1{font-size:1.5rem}.release-notes-subtitle{font-size:1rem}.release-card{padding:1.25rem}.release-header{flex-direction:column;align-items:flex-start;gap:.5rem}.release-title{font-size:1.1rem}.change-item{flex-wrap:wrap;padding:.5rem}.change-type{order:-1;margin-left:1.5rem}.change-text{width:100%;padding-left:1.5rem}}@media(hover:none),(pointer:coarse){.release-notes-footer a{display:inline-block;padding:.5rem 1rem;min-height:44px;line-height:1.5}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f8fafc;color:#1e293b;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-secondary{background:#e2e8f0;color:#475569}.btn-secondary:hover:not(:disabled){background:#cbd5e1}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:.4rem .875rem;font-size:.85rem}.btn-lg{padding:.875rem 1.75rem;font-size:1.1rem}input,textarea,select{font-family:inherit}a{color:#6366f1}.loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:#475569}:focus-visible{outline:2px solid #6366f1;outline-offset:2px}:focus:not(:focus-visible){outline:none}.btn:focus-visible{outline:2px solid #6366f1;outline-offset:2px;box-shadow:0 0 0 4px #6366f133}.btn-primary:focus-visible{box-shadow:0 0 0 4px #6366f14d}.btn-secondary:focus-visible{outline-color:#475569;box-shadow:0 0 0 4px #47556933}.btn-danger:focus-visible{outline-color:#dc2626;box-shadow:0 0 0 4px #dc262633}a:focus-visible{outline:2px solid #6366f1;outline-offset:2px;border-radius:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #6366f1;outline-offset:0;border-color:#6366f1}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:#6366f1;color:#fff;padding:.75rem 1.5rem;border-radius:0 0 .5rem .5rem;font-weight:600;z-index:10000;text-decoration:none;transition:top .2s ease}.skip-to-content:focus{top:0;outline:2px solid white;outline-offset:2px}body{overflow-x:hidden;max-width:100vw}html{overflow-x:clip}@media(max-width:768px){input,textarea,select{font-size:16px!important}.btn{min-height:44px;padding:.75rem 1rem}.btn-sm{min-height:40px;padding:.5rem .75rem}}@media(hover:none),(pointer:coarse){.btn,button,a,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],textarea,select{min-height:48px;padding:.75rem 1rem}.btn:hover{transform:none}}@media(hover:none){.btn:active{transform:scale(.98)}.btn-primary:active{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.btn-secondary:active{background:#94a3b8}}@supports (padding: max(0px)){.header{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.main-content{padding-bottom:max(0px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
