@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";:root{--bg-dark: #B8E4FF;--bg-card: #A3D8FF;--bg-sidebar: #B8E4FF;--bg-hover: #7FC8F8;--primary-color: #3399FF;--primary-hover: #1a7fd6;--primary-glow: rgba(51, 153, 255, .4);--link-color: #007BFF;--secondary-color: #66CCFF;--accent-color: #007BFF;--text-primary: #1A1A2E;--text-secondary: #3A3A5E;--text-muted: #6A6A8E;--border-color: #7FC8F8;--success: #16a34a;--danger: #dc2626;--sidebar-width: 260px;--header-height: 64px;font-family:Nunito,"Baloo 2",Comic Neue,system-ui,sans-serif;line-height:1.6;font-weight:500;color-scheme:light}[data-theme=dark]{--bg-dark: #0D1B2A;--bg-card: #1E3A5F;--bg-sidebar: #0D1B2A;--bg-hover: #2A4A6F;--primary-color: #3399FF;--primary-hover: #66B2FF;--primary-glow: rgba(51, 153, 255, .3);--link-color: #007BFF;--secondary-color: #66CCFF;--accent-color: #66CCFF;--text-primary: #F2F2F2;--text-secondary: #D1D1D1;--text-muted: #A0A0A0;--border-color: #1E3A5F;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}a{font-weight:500;color:var(--link-color);text-decoration:inherit;transition:all .2s ease}a:hover{color:var(--primary-hover)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-dark);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;color:var(--text-primary)}button{border-radius:12px;border:1px solid transparent;padding:.8em 1.5em;font-size:1em;font-weight:600;font-family:inherit;background-color:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}button:active{transform:translateY(0)}button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary{background-color:var(--primary-color);color:#1a1a1a;border:none}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 4px 12px var(--primary-glow)}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--text-secondary)}.btn-block{width:100%;display:flex}.card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.achievement-notification-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:15px;pointer-events:none}.achievement-notification{pointer-events:auto;width:380px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;overflow:hidden;box-shadow:0 10px 40px #0006,0 0 60px #ffd70033,inset 0 1px #ffffff1a;border:2px solid rgba(255,215,0,.3);position:relative;transform:translate(120%);opacity:0;transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}.achievement-notification.visible{transform:translate(0);opacity:1}.achievement-notification.leaving{transform:translate(120%) scale(.9);opacity:0}.achievement-notification-glow{position:absolute;inset:-2px;background:linear-gradient(45deg,gold,#ff8c00,gold,#ffec8b);background-size:400% 400%;border-radius:18px;z-index:-1;animation:glowPulse 2s ease-in-out infinite;filter:blur(8px);opacity:.6}@keyframes glowPulse{0%,to{background-position:0% 50%;opacity:.4}50%{background-position:100% 50%;opacity:.8}}.achievement-notification-content{position:relative;z-index:1}.achievement-notification-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(90deg,rgba(255,215,0,.2),transparent);border-bottom:1px solid rgba(255,215,0,.2)}.achievement-notification-badge{font-size:.75rem;font-weight:700;color:gold;letter-spacing:1px;text-transform:uppercase;text-shadow:0 0 10px rgba(255,215,0,.5);animation:badgePulse 1.5s ease-in-out infinite}@keyframes badgePulse{0%,to{opacity:1}50%{opacity:.7}}.achievement-notification-close{background:#ffffff1a;border:none;color:#fff9;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.achievement-notification-close:hover{background:#fff3;color:#fff;transform:rotate(90deg)}.achievement-notification-body{display:flex;gap:16px;padding:20px;align-items:center}.achievement-notification-icon-wrapper{position:relative;flex-shrink:0}.achievement-notification-icon{font-size:3.5rem;display:block;filter:drop-shadow(0 0 10px rgba(255,215,0,.5));animation:iconBounce .6s ease-out}@keyframes iconBounce{0%{transform:scale(0)}50%{transform:scale(1.3)}70%{transform:scale(.9)}to{transform:scale(1)}}.achievement-notification-sparkles{position:absolute;inset:-10px;pointer-events:none}.sparkle{position:absolute;font-size:1rem;animation:sparkle 1.5s ease-in-out infinite}.sparkle:nth-child(1){top:-5px;left:50%;animation-delay:0s}.sparkle:nth-child(2){top:50%;right:-10px;animation-delay:.3s}.sparkle:nth-child(3){bottom:-5px;left:30%;animation-delay:.6s}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.achievement-notification-info{flex:1;min-width:0}.achievement-notification-title{font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 6px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.achievement-notification-description{font-size:.85rem;color:#ffffffb3;margin:0 0 10px;line-height:1.4}.achievement-notification-points{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#ffd70033,#ff8c0033);padding:6px 12px;border-radius:20px;border:1px solid rgba(255,215,0,.3)}.achievement-notification-points .points-icon{font-size:1rem;animation:starSpin 2s linear infinite}@keyframes starSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.achievement-notification-points .points-value{font-size:.9rem;font-weight:700;color:gold;text-shadow:0 0 8px rgba(255,215,0,.5)}.achievement-notification-progress{height:3px;background:#0000004d}.achievement-notification-progress-bar{height:100%;background:linear-gradient(90deg,gold,#ff8c00);animation:progressShrink 5s linear forwards;box-shadow:0 0 10px #ffd70080}@keyframes progressShrink{0%{width:100%}to{width:0%}}@media(max-width:480px){.achievement-notification-container{top:10px;right:10px;left:10px}.achievement-notification{width:100%}.achievement-notification-icon{font-size:2.5rem}.achievement-notification-body{padding:15px;gap:12px}.achievement-notification-title{font-size:1rem}}.layout{display:flex;min-height:100vh;background-color:var(--bg-dark)}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100;padding:24px;box-sizing:border-box;transition:transform .3s ease;overflow:hidden}.sidebar-header{margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-primary)}.logo-icon{font-size:2rem;color:var(--primary-color);filter:drop-shadow(0 0 10px var(--primary-glow))}.sidebar-logo-img{width:200px;height:auto;object-fit:contain}.light-mode-logo{display:block}.dark-mode-logo,[data-theme=dark] .light-mode-logo{display:none}[data-theme=dark] .dark-mode-logo{display:block}.logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav{display:flex;flex-direction:column;gap:6px;flex:1}.nav-link{color:var(--text-primary);text-decoration:none;font-weight:600;padding:14px 18px;border-radius:12px;transition:all .2s;display:flex;align-items:center;gap:14px;font-size:1rem;background:#ffffff08;border:1px solid transparent}.nav-link:hover{background:var(--bg-hover);color:var(--primary-color);transform:translate(4px);border-color:var(--primary-color);box-shadow:0 4px 12px #6366f126}.nav-link.active{background:linear-gradient(135deg,#6366f133,#8b5cf626);color:var(--primary-color);font-weight:700;border-color:var(--primary-color);box-shadow:0 4px 15px #6366f140}.nav-icon{font-size:1.3rem;width:28px;text-align:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.sidebar-watermarks{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.watermark-piece{position:absolute;color:var(--text-primary);-webkit-user-select:none;user-select:none;transition:opacity .4s ease,transform .4s ease}.watermark-piece.knight{font-size:9rem;bottom:160px;left:50%;transform:translate(-50%) rotate(-18deg);opacity:.09}.watermark-piece.king{font-size:5.5rem;bottom:280px;left:60%;transform:rotate(15deg);opacity:.08}.watermark-piece.queen{font-size:5rem;top:80px;right:-10px;transform:rotate(12deg);opacity:.07}.watermark-piece.rook{font-size:4rem;top:140px;left:10px;transform:rotate(-10deg);opacity:.07}.watermark-piece.bishop{font-size:4.5rem;top:220px;right:5px;transform:rotate(20deg);opacity:.06}.watermark-piece.pawn{font-size:3.5rem;bottom:350px;left:-5px;transform:rotate(-8deg);opacity:.065}.sidebar:hover .watermark-piece.knight{opacity:.14;transform:translate(-50%) rotate(-18deg) scale(1.02)}.sidebar:hover .watermark-piece.king{opacity:.12}.sidebar:hover .watermark-piece.queen{opacity:.11}.sidebar:hover .watermark-piece.rook{opacity:.1}.sidebar:hover .watermark-piece.bishop{opacity:.09}.sidebar:hover .watermark-piece.pawn{opacity:.095}.theme-toggle-minimal{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.toggle-track{width:88px;height:44px;background:var(--bg-hover);border-radius:22px;position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border:1px solid var(--border-color);transition:all .3s ease}.toggle-icon{font-size:1.3rem;z-index:1;transition:opacity .3s ease}.toggle-icon.sun,.toggle-icon.moon{opacity:.4}[data-theme=light] .toggle-icon.sun,[data-theme=dark] .toggle-icon.moon{opacity:1}.toggle-thumb{position:absolute;width:36px;height:36px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:50%;top:50%;transform:translateY(-50%);transition:left .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 2px 8px #6366f166}.toggle-thumb.dark{left:48px}.toggle-thumb.light{left:4px}.profile-dropdown-container{position:relative}.user-profile-card{position:relative;display:block;width:100%;padding:10px 12px;border-radius:12px;background:var(--bg-hover);text-decoration:none;color:var(--text-primary);transition:all .25s ease;overflow:hidden;border:1px solid transparent;cursor:pointer;text-align:left}.profile-card-bg{position:absolute;inset:0;background:linear-gradient(135deg,#6366f114,#8b5cf60a);opacity:0;transition:opacity .25s ease}.user-profile-card:hover{background:var(--bg-card);border-color:#6366f14d;box-shadow:0 4px 12px #6366f11a}.user-profile-card:hover .profile-card-bg{opacity:1}.profile-card-content{position:relative;display:flex;align-items:center;gap:10px;z-index:1}.avatar-container{position:relative;flex-shrink:0}.avatar-ring{padding:2px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));overflow:hidden}.avatar-sm{width:34px;height:34px;min-width:34px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:14px;font-family:Segoe UI,Roboto,sans-serif}.avatar-img{width:34px;height:34px;min-width:34px;border-radius:50%;object-fit:cover}.status-indicator{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-sidebar)}.status-indicator.online{background:#22c55e;box-shadow:0 0 6px #22c55e80}.user-info{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1;min-width:0}.user-name{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);line-height:1.2}.user-stats{display:flex;align-items:center;gap:5px;font-size:.72rem;flex-wrap:nowrap;overflow:hidden}.user-rating{display:flex;align-items:center;gap:3px;color:var(--primary-color);font-weight:600;white-space:nowrap}.rating-icon{font-size:.65rem}.rating-value{font-family:Segoe UI,sans-serif;font-size:.72rem}.stats-divider{color:var(--text-muted);opacity:.4;font-size:.5rem}.user-level{color:var(--text-secondary);font-weight:500;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-arrow{color:var(--text-muted);opacity:.4;transition:all .2s ease;display:flex;align-items:center;flex-shrink:0}.profile-arrow svg{width:14px;height:14px}.user-profile-card:hover .profile-arrow{opacity:1;color:var(--primary-color);transform:translate(2px)}.user-profile-card.menu-open{border-color:var(--primary-color);background:var(--bg-card)}.profile-arrow.rotated{transform:rotate(180deg)!important}.profile-dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:8px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease;box-shadow:0 8px 32px #0003;z-index:200}.profile-dropdown-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--text-primary);text-decoration:none;font-size:.9rem;font-weight:500;background:transparent;border:none;width:100%;cursor:pointer;transition:all .2s ease}.dropdown-item:hover{background:var(--bg-hover);color:var(--primary-color);transform:translate(4px)}.dropdown-icon{font-size:1.2rem;width:24px;text-align:center}.dropdown-text{flex:1;text-align:left}.dropdown-divider{height:1px;background:var(--border-color);margin:8px 0}.dropdown-item.logout-item{color:#ef4444}.dropdown-item.logout-item:hover{background:#ef44441a;color:#ef4444}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:transparent;color:var(--text-muted);border:1px solid var(--border-color);border-radius:12px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ef44441a;color:#ef4444;border-color:#ef44444d;transform:translateY(-1px)}.logout-icon{font-size:1.1rem;transition:transform .2s ease}.logout-btn:hover .logout-icon{transform:rotate(-10deg) scale(1.1)}.logout-text{font-family:Segoe UI,Roboto,sans-serif}.auth-buttons{display:flex;flex-direction:column;gap:12px}.auth-buttons .btn{width:100%}.main{flex:1;margin-left:var(--sidebar-width);width:100%;box-sizing:border-box;background-color:var(--bg-dark)}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main{margin-left:0;padding:16px}}.nav-link.parent-link:hover,.nav-link.parent-link.active{border-color:#10b981;background:linear-gradient(135deg,#10b98133,#05966926)}.nav-link.parent-link:hover{color:#10b981}.nav-link.parent-link.active{color:#10b981;box-shadow:0 4px 15px #10b98140}.nav-link.coach-link:hover,.nav-link.coach-link.active{border-color:#6366f1;background:linear-gradient(135deg,#6366f133,#8b5cf626)}.nav-link.coach-link:hover{color:#6366f1}.nav-link.coach-link.active{color:#6366f1;box-shadow:0 4px 15px #6366f140}.nav-link.admin-link:hover,.nav-link.admin-link.active{border-color:#dc2626;background:linear-gradient(135deg,#dc262633,#b91c1c26)}.nav-link.admin-link:hover{color:#dc2626}.nav-link.admin-link.active{color:#dc2626;box-shadow:0 4px 15px #dc262640}.nav-link.student-link:hover,.nav-link.student-link.active{border-color:#f59e0b;background:linear-gradient(135deg,#f59e0b33,#d9770626)}.nav-link.student-link:hover{color:#f59e0b}.nav-link.student-link.active{color:#f59e0b;box-shadow:0 4px 15px #f59e0b40}.nav-badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-left:auto;box-shadow:0 2px 8px #ef444466;animation:pulse-badge 2s infinite}.dropdown-badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:10px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;margin-left:auto;box-shadow:0 2px 6px #ef444466}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.game-invite-widget{position:fixed;top:20px;right:20px;z-index:1000;display:flex;gap:16px;background:var(--bg-card);border:2px solid #22c55e;border-radius:16px;padding:16px 20px;box-shadow:0 8px 32px #22c55e4d,0 0 0 1px #22c55e1a;animation:slideInRight .4s ease-out,pulse-glow 2s ease-in-out infinite;max-width:340px}[data-theme=dark] .game-invite-widget{background:#1a1f2e}[data-theme=light] .game-invite-widget{background:#a3d8ff;box-shadow:0 8px 32px #22c55e33,0 4px 12px #0000001a}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 8px 32px #22c55e4d,0 0 0 1px #22c55e1a}50%{box-shadow:0 8px 40px #22c55e80,0 0 20px #22c55e33}}.invite-timer{position:relative;width:50px;height:50px;flex-shrink:0}.timer-ring{width:100%;height:100%;transform:rotate(-90deg)}.timer-ring-bg{stroke:var(--border-color)}.timer-ring-progress{stroke:#22c55e;transition:stroke-dasharray 1s linear}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.invite-content{display:flex;flex-direction:column;gap:10px;flex:1}.invite-header{display:flex;align-items:center;gap:8px}.invite-icon{font-size:1.2rem}.invite-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.invite-sender{display:flex;align-items:center;gap:10px}.sender-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.9rem;overflow:hidden}.sender-avatar img{width:100%;height:100%;object-fit:cover}.sender-info{display:flex;flex-direction:column}.sender-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.sender-rating{font-size:.8rem;color:var(--text-secondary)}.invite-details{display:flex;gap:12px}.time-control{font-size:.85rem;color:var(--text-secondary);background:var(--bg-dark);padding:4px 10px;border-radius:6px}.invite-actions{display:flex;gap:8px;margin-top:4px}.invite-btn{flex:1;padding:8px 16px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.invite-btn.accept{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.invite-btn.accept:hover{transform:scale(1.02);box-shadow:0 4px 12px #22c55e66}.invite-btn.decline{background:var(--bg-dark);color:var(--text-secondary);border:1px solid var(--border-color)}.invite-btn.decline:hover{background:#ef4444;color:#fff;border-color:#ef4444}@media(max-width:480px){.game-invite-widget{right:10px;left:10px;max-width:none;flex-direction:column;align-items:center}.invite-timer{width:40px;height:40px}}.landing-page{font-family:Nunito,Segoe UI,sans-serif;background:linear-gradient(180deg,#f0f4ff,#e8ecf7,#f5f3ff);min-height:100vh;color:#1e293b;position:relative;overflow-x:hidden}.landing-page:before{content:"";position:fixed;top:0;left:0;right:0;height:60vh;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(99,102,241,.15) 0%,transparent 60%),radial-gradient(circle at 20% 30%,rgba(139,92,246,.08) 0%,transparent 40%),radial-gradient(circle at 80% 20%,rgba(236,72,153,.06) 0%,transparent 35%);pointer-events:none;z-index:0}.bg-chess-pieces{position:fixed;inset:0;pointer-events:none;z-index:0}.bg-piece{position:absolute;font-size:5rem;opacity:.04;animation:floatBg 15s ease-in-out infinite;color:#334155}@keyframes floatBg{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(20px,-30px) rotate(10deg)}66%{transform:translate(-15px,15px) rotate(-5deg)}}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 3rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none;position:fixed;top:0;left:0;right:0;z-index:100;transition:all .3s ease}.landing-nav.scrolled{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.05);box-shadow:0 4px 20px #00000014}.landing-logo{display:flex;align-items:center;gap:.75rem}.nav-logo-img{width:180px;height:auto;object-fit:contain}.logo-text{font-size:1.6rem;font-weight:800;color:#1e293b}.logo-highlight{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-auth-buttons{display:flex;gap:1rem;align-items:center}.btn-login{padding:.75rem 1.5rem;border-radius:12px;border:2px solid #e2e8f0;background:transparent;color:#475569;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s ease;font-family:inherit}.btn-login:hover{border-color:#6366f1;color:#6366f1}.btn-register{padding:.75rem 1.5rem;border-radius:12px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 15px #6366f14d;font-family:inherit}.btn-register:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-sparkle{font-size:1rem}.landing-hero{text-align:center;padding:7rem 2rem 4rem;width:100%;max-width:100%;margin:0;position:relative;z-index:1;background-image:url(/images/hero-bg.webp);background-size:cover;background-position:center;background-repeat:no-repeat;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box}.landing-hero:before{content:"";position:absolute;inset:0;background:#fff6;pointer-events:none;z-index:-1}.landing-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(99,102,241,.12) 0%,transparent 35%),radial-gradient(circle at 80% 30%,rgba(139,92,246,.1) 0%,transparent 30%),radial-gradient(circle at 50% 80%,rgba(236,72,153,.08) 0%,transparent 35%),radial-gradient(circle at 10% 70%,rgba(245,158,11,.06) 0%,transparent 25%),radial-gradient(circle at 90% 80%,rgba(34,197,94,.06) 0%,transparent 25%);pointer-events:none;z-index:-1}.landing-hero>*{max-width:900px;margin-left:auto;margin-right:auto}.hero-badge{display:inline-block;padding:.5rem 1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50px;font-size:.9rem;font-weight:700;color:#92400e;margin-bottom:1.5rem;border:1px solid #fcd34d}.landing-hero h1{font-size:4rem;font-weight:900;line-height:1.1;margin-bottom:1.5rem;color:#0f172a;letter-spacing:-2px}.hero-gradient{background:linear-gradient(135deg,#f59e0b,#ef4444,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:#0f172a;line-height:1.7;max-width:600px;margin:0 auto 2.5rem}.hero-cta-group{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.btn-hero-primary{padding:1rem 2rem;border-radius:16px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-weight:800;font-size:1.1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;box-shadow:0 8px 30px #6366f166;font-family:inherit}.btn-hero-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px #6366f180}.btn-arrow{font-size:1.2rem;transition:transform .3s ease}.btn-hero-primary:hover .btn-arrow{transform:translate(5px)}.btn-hero-secondary{padding:1rem 2rem;border-radius:16px;border:2px solid #e2e8f0;background:#fff;color:#475569;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;font-family:inherit}.btn-hero-secondary:hover{border-color:#cbd5e1;background:#f8fafc}.play-icon{width:28px;height:28px;background:linear-gradient(135deg,#f43f5e,#ec4899);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff}.hero-stats{display:flex;justify-content:center;align-items:center;gap:2rem;padding:2rem;background:#fff;border-radius:20px;box-shadow:0 4px 30px #0000000d;max-width:600px;margin:0 auto}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:2rem;font-weight:900;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.9rem;color:#64748b;font-weight:600}.stat-divider{width:1px;height:40px;background:#e2e8f0}.section-header{text-align:center;margin-bottom:4rem}.section-header.light h2,.section-header.light p{color:#fff}.section-badge{display:inline-block;padding:.4rem 1rem;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:50px;font-size:.85rem;font-weight:700;color:#6366f1;margin-bottom:1rem}.section-badge.dark{background:#ffffff26;color:#fff}.section-header h2{font-size:3rem;font-weight:900;color:#0f172a;margin-bottom:1rem;letter-spacing:-1px}.section-header p{font-size:1.1rem;color:#64748b}.features-section{padding:8rem 2rem;position:relative;z-index:1;background:linear-gradient(180deg,#f8fafc,#f1f5f9);overflow:hidden}.features-section:before{content:"";position:absolute;top:-50%;left:-20%;width:140%;height:200%;background:radial-gradient(ellipse 60% 40% at 70% 20%,rgba(99,102,241,.08) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 30% 80%,rgba(236,72,153,.06) 0%,transparent 50%);pointer-events:none;z-index:-1}.features-container{max-width:1300px;margin:0 auto}.features-header{text-align:center;margin-bottom:4rem}.features-label{display:inline-block;padding:.6rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50px;font-size:.9rem;font-weight:700;color:#fff;margin-bottom:1.5rem;box-shadow:0 4px 15px #6366f14d}.features-title{font-size:3.5rem;font-weight:900;color:#0f172a;line-height:1.2;letter-spacing:-2px}.features-title .gradient-text{background:linear-gradient(135deg,#6366f1,#ec4899,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto;gap:1.5rem}.feature-card.feature-hero{grid-column:span 12;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(135deg,#1e1b4b,#312e81,#4c1d95);border-radius:32px;padding:3rem;position:relative;overflow:hidden;min-height:320px}.feature-hero .feature-card-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(139,92,246,.4) 0%,transparent 40%),radial-gradient(circle at 20% 80%,rgba(99,102,241,.3) 0%,transparent 40%);pointer-events:none}.feature-hero .feature-icon-wrapper{position:absolute;top:2rem;left:2rem;width:70px;height:70px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2)}.feature-hero .feature-icon-wrapper .feature-icon{font-size:2.5rem}.feature-hero .feature-content{position:relative;z-index:1;padding-top:5rem}.feature-hero .feature-content h3{font-size:2.2rem;font-weight:800;color:#fff;margin-bottom:1rem}.feature-hero .feature-content p{font-size:1.15rem;color:#fffc;line-height:1.7;margin-bottom:1.5rem;max-width:500px}.feature-tags{display:flex;gap:.75rem;flex-wrap:wrap}.feature-tag{padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50px;font-size:.85rem;font-weight:600;color:#ffffffe6}.feature-hero .feature-visual{position:relative;display:flex;align-items:center;justify-content:center}.floating-pieces{display:flex;gap:1rem}.floating-pieces span{font-size:5rem;color:#fff3;animation:floatPiece 3s ease-in-out infinite}@keyframes floatPiece{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.feature-card{background:#fff;border-radius:24px;padding:2rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:1px solid rgba(0,0,0,.05)}.feature-card:not(.feature-hero):hover{transform:translateY(-10px) scale(1.02);box-shadow:0 25px 50px #0000001f}.feature-card-inner{position:relative;z-index:1}.feature-card .feature-icon{font-size:3rem;display:block;margin-bottom:1rem}.feature-card h3{font-size:1.4rem;font-weight:800;color:#0f172a;margin-bottom:.5rem}.feature-card p{font-size:.95rem;color:#64748b;line-height:1.6}.feature-card.feature-puzzle{grid-column:span 4;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.feature-puzzle .puzzle-piece{position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:20px;opacity:.2;transform:rotate(15deg)}.feature-card.feature-play{grid-column:span 4;background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.feature-play .feature-glow{position:absolute;top:50%;right:-30%;width:150px;height:150px;background:radial-gradient(circle,rgba(34,197,94,.4) 0%,transparent 70%);border-radius:50%}.feature-card.feature-tournament{grid-column:span 4;background:linear-gradient(135deg,#fae8ff,#f5d0fe)}.feature-tournament .trophy-shine{position:absolute;top:1rem;right:1rem;width:60px;height:60px;background:radial-gradient(circle,rgba(217,70,239,.3) 0%,transparent 70%);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}.feature-card.feature-badges{grid-column:span 12;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:2.5rem 3rem}.feature-badges .feature-card-inner{max-width:400px}.feature-badges .badge-stack{display:flex;gap:1rem}.badge-stack span{font-size:3.5rem;animation:bounce 2s ease-in-out infinite}.badge-stack span:nth-child(2){animation-delay:.2s}.badge-stack span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:1024px){.feature-card.feature-hero{grid-template-columns:1fr}.feature-hero .feature-visual{display:none}.feature-card.feature-puzzle,.feature-card.feature-play,.feature-card.feature-tournament{grid-column:span 6}}@media(max-width:768px){.features-title{font-size:2.5rem}.feature-card.feature-hero{padding:2rem;min-height:auto}.feature-hero .feature-content h3{font-size:1.8rem}.feature-card.feature-puzzle,.feature-card.feature-play,.feature-card.feature-tournament,.feature-card.feature-badges{grid-column:span 12}.feature-badges{flex-direction:column;text-align:center;gap:1.5rem}}.journey-section{padding:6rem 2rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);position:relative;z-index:1}.journey-section .section-header{max-width:1100px;margin:0 auto 3rem;text-align:center}.journey-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1100px;margin:0 auto}.journey-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:28px;padding:2rem;text-align:center;position:relative;border:1px solid rgba(255,255,255,.3);transition:all .4s ease;box-shadow:0 0 30px #ffffff4d,0 0 60px #fff3,inset 0 0 30px #ffffff0d}.journey-card:hover{transform:translateY(-10px);box-shadow:0 0 40px #ffffff80,0 0 80px #fff6,0 0 120px #ffffff4d,inset 0 0 40px #ffffff1a;border-color:#ffffff80}.step-num{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:32px;height:32px;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:800;color:#fff;z-index:2;box-shadow:0 4px 20px #f59e0b80}.journey-card h4{font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:1rem;margin-top:.5rem}.journey-card p{font-size:.95rem;color:#fffc;margin-top:1rem}.step-icon-img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(255,255,255,.5)) drop-shadow(0 0 40px rgba(255,255,255,.4));transition:all .4s ease}.journey-card:hover .step-icon-img{transform:scale(1.1);filter:drop-shadow(0 0 30px rgba(255,255,255,.6)) drop-shadow(0 0 50px rgba(255,255,255,.5)) drop-shadow(0 0 80px rgba(255,255,255,.4))}@media(max-width:900px){.journey-cards{grid-template-columns:1fr;max-width:400px}}.benefits-section{padding:8rem 2rem;background:linear-gradient(180deg,#fff,#f8fafc);position:relative;z-index:1;overflow:hidden}.benefits-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 20%,rgba(99,102,241,.05) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 80%,rgba(236,72,153,.04) 0%,transparent 50%);pointer-events:none;z-index:-1}.benefits-container{max-width:1400px;margin:0 auto}.benefits-content-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.benefits-text{position:relative;z-index:1}.benefits-image{display:flex;justify-content:center;align-items:center;position:relative}.neden-img{width:100%;max-width:500px;height:auto;border-radius:48px;box-shadow:0 0 30px #6366f166,0 0 60px #8b5cf64d,0 0 100px #6366f133,0 25px 60px #00000026;border:4px solid rgba(255,255,255,.9);transition:all .4s ease}.neden-img:hover{transform:scale(1.03) rotate(1deg);box-shadow:0 0 40px #6366f180,0 0 80px #8b5cf666,0 0 120px #6366f14d,0 30px 70px #0003}.benefits-header{text-align:left;margin-bottom:2.5rem}.benefits-badge{display:inline-block;padding:.6rem 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50px;font-size:.9rem;font-weight:700;color:#92400e;margin-bottom:1.5rem;border:1px solid #fcd34d}.benefits-title{font-size:3rem;font-weight:900;color:#0f172a;margin-bottom:1rem;letter-spacing:-1px}.benefits-title .highlight{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.benefits-subtitle{font-size:1.2rem;color:#64748b}.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.benefit-item{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border-radius:18px;border:1px solid #e2e8f0;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.benefit-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#6366f1,#8b5cf6);opacity:0;transition:opacity .3s ease}.benefit-item:hover{transform:translate(10px);box-shadow:0 20px 40px #00000014;border-color:transparent}.benefit-item:hover:before{opacity:1}.benefit-item.featured{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none}.benefit-item.featured .benefit-info h4,.benefit-item.featured .benefit-info p{color:#fff}.benefit-item.featured .benefit-arrow{color:#fff9}.benefit-item.featured:hover{transform:translate(10px) scale(1.02)}.benefit-icon-box{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.benefit-icon-box.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.benefit-icon-box.purple{background:#fff3}.benefit-icon-box.green{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.benefit-icon-box.orange{background:linear-gradient(135deg,#ffedd5,#fed7aa)}.benefit-info{flex:1}.benefit-info h4{font-size:1.1rem;font-weight:800;color:#0f172a;margin-bottom:.15rem}.benefit-info p{font-size:.85rem;color:#64748b}.benefit-arrow{font-size:1.2rem;color:#cbd5e1;transition:transform .3s ease}.benefit-item:hover .benefit-arrow{transform:translate(5px);color:#6366f1}.parents-section{padding:6rem 2rem;background:linear-gradient(180deg,#e0f2fe,#dbeafe,#ede9fe);position:relative;z-index:1;overflow:hidden}.parents-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 20% 20%,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 80% 80%,rgba(139,92,246,.08) 0%,transparent 50%);pointer-events:none}.parents-container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.parents-header{text-align:center;margin-bottom:3rem}.parents-badge{display:inline-block;padding:.6rem 1.5rem;background:linear-gradient(135deg,#0891b2,#06b6d4);border-radius:50px;font-size:.9rem;font-weight:700;color:#fff;margin-bottom:1.5rem}.parents-title{font-size:2.8rem;font-weight:900;color:#0891b2;line-height:1.3;letter-spacing:-1px}.parents-title .gradient-text{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.parents-cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.parent-card{background:#fff;border-radius:32px;padding:2rem;border:2px solid #e2e8f0;box-shadow:0 10px 40px #0000000f;transition:all .4s ease}.parent-card:hover{transform:translateY(-5px);box-shadow:0 15px 50px #0000001a}.report-card{background:#fff!important;border:2px solid #e2e8f0}.report-card .report-header{display:flex;justify-content:center;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#f0fdfa,#e0f2fe);border-radius:16px;margin-bottom:1.5rem;border:1px solid #e0f2fe}.report-header .report-title{font-size:1.2rem;font-weight:800;color:#0891b2;text-align:center}.report-card .report-content{display:flex;flex-direction:column;gap:.75rem;background:transparent!important;border-radius:0;padding:0;border:none!important;border-left:none!important}.report-card .report-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:#fafafa!important;border-radius:16px;border:1px solid #f1f5f9!important;border-left:none!important;transition:all .3s ease}.report-card .report-item:hover{background:#f1f5f9!important;border-color:#e2e8f0!important;border-left:none!important;transform:translate(5px)}.report-card .report-item.highlight{background:linear-gradient(135deg,#fef3c7,#fef9c3)!important;border:2px solid #fde68a!important}.report-icon-box{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.report-icon-box.puzzle{background:linear-gradient(135deg,#fef3c7,#fde68a)}.report-icon-box.chess{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.report-icon-box.time{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.report-icon-box.rating{background:linear-gradient(135deg,#fef3c7,#fcd34d)}.report-info{flex:1;display:flex;flex-direction:column;gap:.15rem}.report-info .report-label{font-size:.8rem;color:#64748b;font-weight:500;order:1}.report-info .report-value{font-size:1.5rem;font-weight:900;color:#1e293b;line-height:1.1;order:2}.report-progress{display:flex;align-items:center;gap:.75rem;min-width:100px}.progress-bar{flex:1;height:8px;background:#e2e8f0;border-radius:10px;overflow:hidden}.progress-fill{height:100%;border-radius:10px;transition:width .5s ease}.progress-fill.puzzle-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.progress-text{font-size:.85rem;font-weight:700;color:#f59e0b}.report-winrate{display:flex;align-items:center;gap:.75rem;min-width:100px}.winrate-bar{flex:1;height:8px;background:#fecaca;border-radius:10px;overflow:hidden}.winrate-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .5s ease}.winrate-text{font-size:.85rem;font-weight:700;color:#22c55e}.report-trend{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:10px}.report-trend.up{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.report-trend .trend-icon{font-size:1rem}.report-trend .trend-value{font-size:.95rem;font-weight:800;color:#16a34a}.family-card{display:flex;flex-direction:column;justify-content:space-between}.family-image{margin:-2rem -2rem 1rem;border-radius:30px 30px 20px 20px;overflow:hidden}.family-img{width:100%;height:auto;border-radius:30px 30px 20px 20px}.family-features{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.family-feature{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:#334155;font-weight:500}.feature-check-icon{width:24px;height:24px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:700}.btn-parents-new{padding:1.25rem 3rem;border-radius:20px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-weight:800;font-size:1.2rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 15px 40px #6366f14d;font-family:inherit;width:100%;margin-top:auto}.btn-parents-new:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 20px 50px #6366f159}.btn-parents-new .btn-icon{font-size:1.3rem;transition:transform .3s ease}.btn-parents-new:hover .btn-icon{transform:translate(5px)}@media(max-width:900px){.parents-cards{grid-template-columns:1fr}.parents-title{font-size:2.2rem}}.cta-section{padding:5rem 2rem;background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);text-align:center;position:relative;z-index:1;overflow:hidden}.cta-container{max-width:900px;margin:0 auto;position:relative}.cta-bg-elements{position:absolute;inset:0;pointer-events:none}.cta-piece{position:absolute;font-size:8rem;opacity:.1;color:#fff;animation:floatCTA 6s ease-in-out infinite}.cta-piece:nth-child(1){left:-5%;top:20%;animation-delay:0s}.cta-piece:nth-child(2){right:-5%;top:10%;animation-delay:2s}.cta-piece:nth-child(3){right:10%;bottom:10%;animation-delay:4s}@keyframes floatCTA{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.cta-content-wrapper{position:relative;z-index:1}.cta-title{font-size:3.5rem;font-weight:900;color:#fff;margin-bottom:1rem;line-height:1.2;letter-spacing:-2px}.cta-highlight{background:linear-gradient(135deg,#fde68a,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cta-subtitle{font-size:1.25rem;color:#ffffffe6;margin-bottom:2.5rem}.btn-cta-new{padding:1.25rem 3rem;border-radius:20px;border:none;background:#fff;color:#6366f1;font-weight:800;font-size:1.2rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.75rem;box-shadow:0 15px 40px #0003;font-family:inherit}.btn-cta-new:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 20px 50px #00000040}.btn-cta-new .btn-arrow{font-size:1.3rem;transition:transform .3s ease}.btn-cta-new:hover .btn-arrow{transform:translate(5px)}.cta-trust{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem;color:#fffc;font-size:.95rem}.trust-icon{font-size:1.1rem}@media(max-width:1024px){.parents-content-wrapper,.benefits-content-wrapper{grid-template-columns:1fr;gap:3rem}.benefits-image{order:-1}.benefits-header{text-align:center}.benefits-grid{grid-template-columns:1fr}.neden-img{max-width:400px}}@media(max-width:768px){.benefits-title,.parents-title,.cta-title{font-size:2.2rem}.dashboard-stats{grid-template-columns:1fr}.benefit-item{flex-direction:column;text-align:center}.benefit-arrow{display:none}.neden-img{max-width:100%;border-radius:24px}}.cta-note{display:block;margin-top:1.5rem;font-size:.9rem;color:#fffc}.landing-footer{background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding:4rem 2rem 1.5rem;position:relative;z-index:1;overflow:hidden}.landing-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.3),transparent)}.footer-content{display:grid;grid-template-columns:1.5fr 2fr;gap:4rem;max-width:1200px;margin:0 auto;padding-bottom:2.5rem;border-bottom:1px solid #e2e8f0}.footer-brand{display:flex;flex-direction:column}.footer-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.footer-logo-img{width:180px;height:auto;object-fit:contain}.footer-logo-text{font-size:1.4rem;font-weight:800;color:#1e293b}.footer-logo-text .highlight{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-brand p{color:#64748b;line-height:1.7;font-size:.95rem;max-width:320px}.footer-social{display:flex;gap:.75rem;margin-top:1.5rem}.social-link{width:40px;height:40px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#64748b;text-decoration:none;transition:all .3s ease}.social-link:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff;transform:translateY(-3px);box-shadow:0 8px 20px #6366f140}.footer-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column{display:flex;flex-direction:column;gap:.9rem}.footer-column h5{color:#1e293b;font-weight:800;font-size:1rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.footer-column h5:before{content:"";width:8px;height:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:2px}.footer-column a{color:#64748b;text-decoration:none;font-size:.9rem;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.footer-column a:hover{color:#6366f1;transform:translate(5px)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;max-width:1200px;margin:0 auto}.footer-copyright{color:#94a3b8;font-size:.85rem}.footer-copyright .heart{color:#f43f5e}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{color:#94a3b8;text-decoration:none;font-size:.85rem;transition:color .2s ease}.footer-legal a:hover{color:#6366f1}@media(max-width:1024px){.footer-content{grid-template-columns:1fr;gap:3rem;text-align:center}.footer-brand{align-items:center}.footer-brand p{max-width:100%}.footer-logo,.footer-social,.footer-links-grid{justify-content:center}}@media(max-width:768px){.landing-nav{padding:1rem 1.5rem}.landing-hero h1{font-size:2.5rem}.hero-stats{flex-direction:column;gap:1rem}.stat-divider{width:60px;height:1px}.section-header h2{font-size:2rem}.parents-content{flex-direction:column}.cta-content h2{font-size:2rem}.footer-links-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}.footer-legal{justify-content:center}}.home-container{padding:12px 8px;min-height:100%;background-color:var(--bg-dark)}.quick-access-bar{display:flex;gap:16px;margin-bottom:24px;padding:16px;background:linear-gradient(135deg,var(--bg-card),var(--bg-secondary));border-radius:16px;justify-content:center;flex-wrap:wrap}.quick-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 32px;border:none;border-radius:16px;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:600;min-width:140px}.quick-btn .quick-icon{font-size:2rem}.quick-btn.play{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 15px #22c55e66}.quick-btn.puzzle{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 15px #f59e0b66}.quick-btn.lessons{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 15px #3b82f666}.quick-btn.tournament{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 15px #8b5cf666}.quick-btn:hover{transform:translateY(-4px) scale(1.02)}.quick-btn:active{transform:translateY(-2px) scale(1)}.home-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;max-width:100%;margin:0;align-items:start}.home-board-section{display:flex;flex-direction:column;gap:12px}.demo-board-wrapper{width:100%;max-width:780px;margin:0 auto}.board-caption{text-align:center;padding:12px 8px;background:var(--bg-card);border-radius:10px;box-shadow:0 4px 20px #0000001a}.board-caption h2{margin:0 0 8px;font-size:1.5rem;color:var(--text-primary)}.board-caption p{margin:0;color:var(--text-secondary);font-size:1rem}.home-options-section{display:flex;flex-direction:column;gap:10px}.mode-tabs{display:flex;gap:4px;background:var(--bg-card);padding:5px;border-radius:10px;box-shadow:0 4px 20px #0000001a}.mode-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 14px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:1.1rem;color:var(--text-secondary);transition:all .2s ease}.mode-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.mode-tab.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #3399ff4d}.tab-icon{font-size:1.6rem}.game-options-card{background:var(--bg-card);border-radius:12px;padding:14px;box-shadow:0 4px 20px #0000001a}.game-options-card h3{margin:0 0 8px;font-size:1.35rem;color:var(--text-primary)}.options-description{margin:0 0 14px;color:var(--text-secondary);font-size:1.1rem}.time-presets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.time-presets-grid.small{grid-template-columns:repeat(3,1fr);margin-bottom:10px}.time-preset-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;border:2px solid var(--border-color);background:var(--bg-dark);border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.time-preset-btn:hover{border-color:var(--primary-color);transform:translateY(-2px)}.time-preset-btn.active{border-color:var(--primary-color);background:linear-gradient(135deg,var(--primary-color),#66b3ff);color:#fff;box-shadow:0 4px 12px #3399ff4d}.preset-icon{font-size:1.4rem}.preset-time{font-weight:700;font-size:1.2rem}.preset-label{font-size:.85rem;opacity:.8}.custom-time-section{background:var(--bg-dark);border-radius:8px;padding:10px;margin-bottom:10px}.custom-time-section h4{margin:0 0 10px;font-size:1.1rem;color:var(--text-secondary)}.custom-time-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-input-group{display:flex;flex-direction:column;gap:8px}.time-input-group label{font-size:1.05rem;color:var(--text-secondary)}.number-input{display:flex;align-items:center;gap:6px;background:var(--bg-card);border-radius:8px;padding:3px}.number-input button{width:38px;height:38px;border:none;background:var(--primary-color);color:#fff;border-radius:6px;cursor:pointer;font-size:1.25rem;font-weight:700;transition:all .2s ease}.number-input button:hover{background:#28e}.number-input span{flex:1;text-align:center;font-size:1.3rem;font-weight:700;color:var(--text-primary)}.time-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.time-header h3{margin:0}.time-badge{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border-radius:12px;font-weight:600;font-size:.95rem;white-space:nowrap}.selected-time-display{text-align:center;margin-bottom:10px}.btn-play{width:100%;padding:16px 20px;font-size:1.25rem;font-weight:700;border-radius:10px;box-shadow:0 4px 16px #3399ff4d}.ai-level-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:15px}.ai-level-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border:2px solid var(--border-color);background:var(--bg-dark);border-radius:10px;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.ai-level-btn:hover{border-color:var(--primary-color);transform:translateY(-2px)}.ai-level-btn.active{border-color:var(--primary-color);background:linear-gradient(135deg,var(--primary-color),#66b3ff);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #3399ff4d}.bot-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:4px solid var(--border-color);background:var(--bg-card);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.bot-avatar img{width:100%;height:100%;object-fit:cover}.ai-level-btn:hover .bot-avatar,.ai-level-btn.active .bot-avatar{border-color:var(--primary-color);box-shadow:0 0 10px #39f6}.level-emoji{font-size:1.5rem}.level-name{font-size:.85rem;font-weight:600}.level-elo{font-size:.75rem;opacity:.8;font-weight:500}.level-number{font-size:1.3rem;font-weight:700}.level-label{font-size:.85rem;opacity:.8}.friend-options{display:flex;flex-direction:column;gap:10px}.friend-option-box{background:var(--bg-dark);border-radius:8px;padding:12px}.friend-option-box h4{margin:0 0 8px;font-size:1.2rem;color:var(--text-primary)}.friend-option-box p{margin:0 0 12px;font-size:1.1rem;color:var(--text-secondary)}.divider-or{text-align:center;position:relative;color:var(--text-secondary);font-size:.9rem}.divider-or:before,.divider-or:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.divider-or:before{left:0}.divider-or:after{right:0}.divider-or span{background:var(--bg-card);padding:0 12px}.join-input-wrapper{display:flex;gap:8px}.game-code-input{flex:1;padding:14px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:1.2rem;text-align:center;font-weight:600;letter-spacing:3px;background:var(--bg-card);color:var(--text-primary);text-transform:uppercase}.game-code-input:focus{outline:none;border-color:var(--primary-color)}.home-stats{display:flex;gap:12px;background:var(--bg-card);border-radius:12px;padding:14px;box-shadow:0 4px 20px #0000001a}.stat-item{flex:1;display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg-dark);border-radius:10px}.stat-icon{font-size:1.6rem}.stat-value{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-secondary)}.color-selector-section{background:var(--bg-dark);border-radius:10px;padding:12px;margin-bottom:12px}.color-selector-section h4{margin:0 0 10px;font-size:1.1rem;color:var(--text-secondary);text-align:center}.color-selector-section.compact{padding:10px;margin-bottom:0}.color-selector-section.compact h5{margin:0 0 8px;font-size:1rem;color:var(--text-secondary);text-align:center}.color-selector{display:flex;gap:8px;justify-content:center}.color-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 18px;border:2px solid var(--border-color);background:var(--bg-card);border-radius:10px;cursor:pointer;transition:all .2s ease;color:var(--text-primary);min-width:80px}.color-selector-section.compact .color-btn{padding:8px 14px;min-width:60px}.color-btn:hover{border-color:var(--primary-color);transform:translateY(-2px)}.color-btn.active{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.color-btn.white{border-color:#e0e0e0}.color-btn.white:hover,.color-btn.white.active{background:linear-gradient(135deg,#fff,#f0f0f0);border-color:gold;color:#333;box-shadow:0 4px 15px #ffd7004d}.color-btn.black{border-color:#555}.color-btn.black:hover,.color-btn.black.active{background:linear-gradient(135deg,#333,#1a1a1a);border-color:#8b5cf6;color:#fff;box-shadow:0 4px 15px #8b5cf64d}.color-btn.random{border-color:#888}.color-btn.random:hover,.color-btn.random.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:#3b82f6;color:#fff;box-shadow:0 4px 15px #3b82f64d}.color-piece{font-size:1.8rem;line-height:1}.color-selector-section.compact .color-piece{font-size:1.4rem}.color-label{font-size:.85rem;font-weight:600;opacity:.9}@media(max-width:1024px){.home-layout{grid-template-columns:1fr;gap:30px}.demo-board-wrapper{max-width:400px}.mode-tabs{flex-wrap:wrap}.mode-tab{min-width:100px}}@media(max-width:600px){.home-container{padding:12px}.time-presets-grid{grid-template-columns:repeat(3,1fr);gap:8px}.ai-level-selector{grid-template-columns:repeat(4,1fr);gap:6px}.custom-time-controls{grid-template-columns:1fr;gap:12px}.home-stats{flex-direction:column}}.matchmaking-status{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:transparent;border-radius:16px;border:none}.matchmaking-status.matchmaking-fullscreen{min-height:400px;justify-content:center;padding:40px}.game-options-card:has(.matchmaking-fullscreen){background:transparent;box-shadow:none;border:none}.matchmaking-status.matchmaking-fullscreen .searching-animation{width:120px;height:120px}.matchmaking-status.matchmaking-fullscreen .search-icon{font-size:3rem}.matchmaking-status.matchmaking-fullscreen .search-info h4{font-size:1.5rem;margin-bottom:12px}.matchmaking-status.matchmaking-fullscreen .search-time{font-size:3rem}.matchmaking-status.matchmaking-fullscreen .search-details{font-size:1.1rem;margin-top:12px}.matchmaking-status.matchmaking-fullscreen .queue-info{font-size:1rem;margin-top:8px}.matchmaking-status.matchmaking-fullscreen .btn-cancel{margin-top:16px;padding:12px 32px;font-size:1rem}@keyframes matchmaking-glow{0%,to{box-shadow:0 0 20px #4a90d94d}50%{box-shadow:0 0 30px #4a90d980}}.searching-animation{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.pulse-ring{position:absolute;width:100%;height:100%;border:3px solid var(--primary-color);border-radius:50%;box-sizing:border-box;animation:pulse-ring 1.5s ease-out infinite}.pulse-ring:before,.pulse-ring:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid var(--primary-color);border-radius:50%;box-sizing:border-box}.pulse-ring:before{animation:pulse-ring 1.5s ease-out infinite .5s}.pulse-ring:after{animation:pulse-ring 1.5s ease-out infinite 1s}@keyframes pulse-ring{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}.search-icon{font-size:2rem;z-index:1;animation:search-bounce 1s ease-in-out infinite}@keyframes search-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.search-info{text-align:center}.search-info h4{color:var(--text-primary);margin:0 0 8px;font-size:1.2rem}.search-time{font-size:2rem;font-weight:700;color:var(--primary-color);margin:0;font-family:monospace}.search-details{color:var(--text-secondary);margin:8px 0 0;font-size:.9rem}.queue-info{color:var(--text-secondary);margin:4px 0 0;font-size:.85rem;opacity:.8}.btn-cancel{background:#ef44441a!important;color:#ef4444!important;border:1px solid #ef4444!important}.btn-cancel:hover{background:#ef444433!important}.auth-page{font-family:Nunito,Segoe UI,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0)}.auth-page:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 100% 80% at 20% 10%,rgba(99,102,241,.08) 0%,transparent 50%),radial-gradient(ellipse 80% 60% at 80% 20%,rgba(139,92,246,.06) 0%,transparent 45%);pointer-events:none;z-index:0}.auth-floating-pieces{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.auth-floating-piece{position:absolute;opacity:.06;animation:floatAuth 20s ease-in-out infinite;color:#6366f1;filter:drop-shadow(0 4px 8px rgba(99,102,241,.1))}@keyframes floatAuth{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(15px,-25px) rotate(8deg) scale(1.02)}50%{transform:translate(-10px,-15px) rotate(-5deg) scale(.98)}75%{transform:translate(20px,10px) rotate(10deg) scale(1.01)}}.auth-floating-piece:nth-child(1){top:5%;left:5%;font-size:4rem;animation-delay:0s}.auth-floating-piece:nth-child(2){top:10%;right:8%;font-size:3.5rem;animation-delay:-3s}.auth-floating-piece:nth-child(3){top:25%;left:3%;font-size:3rem;animation-delay:-6s}.auth-floating-piece:nth-child(4){top:40%;right:5%;font-size:4.5rem;animation-delay:-9s}.auth-floating-piece:nth-child(5){top:60%;left:8%;font-size:3.8rem;animation-delay:-12s}.auth-floating-piece:nth-child(6){top:75%;right:10%;font-size:3rem;animation-delay:-15s}.auth-floating-piece:nth-child(7){bottom:10%;left:15%;font-size:3.5rem;animation-delay:-18s}.auth-floating-piece:nth-child(8){bottom:5%;right:15%;font-size:4rem;animation-delay:-2s}.auth-floating-piece:nth-child(9){top:50%;left:20%;font-size:2.5rem;animation-delay:-7s}.auth-floating-piece:nth-child(10){top:30%;right:20%;font-size:3rem;animation-delay:-11s}.auth-card{background-color:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:1.5rem;width:100%;max-width:400px;position:relative;z-index:1;box-shadow:0 0 30px #6366f14d,0 0 60px #8b5cf633,0 0 90px #ec489926,0 25px 80px #0000001a;border:2px solid rgba(99,102,241,.3);overflow:hidden}.auth-card:after{content:"";position:absolute;inset:0;background-image:url(/images/login.png);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.5;z-index:-1}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6 30%,#ec4899 70%,#f59e0b);border-radius:24px 24px 0 0;z-index:1}.auth-header{text-align:center;margin-bottom:1rem}.auth-logo{display:inline-flex;align-items:center;justify-content:center;margin-bottom:.75rem;text-decoration:none;transition:transform .3s ease}.auth-logo:hover{transform:scale(1.05)}.auth-logo-img{width:160px;height:auto;object-fit:contain;filter:drop-shadow(0 8px 25px rgba(99,102,241,.25))}.auth-header h1{font-size:1.8rem;font-weight:900;color:#1e293b;margin-bottom:.35rem;letter-spacing:-.5px}.auth-header p{font-size:.95rem;color:#64748b;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:.9rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.85rem;font-weight:700;color:#374151;display:flex;align-items:center;gap:.5rem}.form-group label .label-icon{font-size:.9rem;opacity:.7}.form-input{padding:.85rem 1rem;border:2px solid #d1d5db;border-radius:12px;font-size:.95rem;font-family:inherit;background:#fff;color:#1e293b;transition:all .3s ease;outline:none}.form-input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f126,0 2px 8px #6366f11a}.form-input::placeholder{color:#9ca3af}.form-input.error{border-color:#ef4444;background:#fef2f2}.form-input.error:focus{box-shadow:0 0 0 4px #ef44441a}.form-select{padding:1rem 3rem 1rem 1.25rem;border:2px solid #e5e7eb;border-radius:14px;font-size:1rem;font-family:inherit;background:#fffc;color:#1e293b;transition:all .3s ease;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.form-select:focus{border-color:#6366f1;background-color:#fff;box-shadow:0 0 0 4px #6366f11a,0 4px 12px #6366f114}.form-checkbox-group{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0}.form-checkbox{width:20px;height:20px;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;appearance:none;transition:all .2s ease;flex-shrink:0;margin-top:2px}.form-checkbox:checked{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent}.form-checkbox:checked:after{content:"✓";display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700}.checkbox-label{font-size:.9rem;color:#4b5563;line-height:1.5}.auth-submit-btn{margin-top:1rem;padding:1.2rem 2rem;border:none;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.15rem;font-weight:800;font-family:inherit;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 10px 30px #667eea66}.auth-submit-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px #667eea80}.auth-submit-btn:active{transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-submit-btn .btn-icon{font-size:1.2rem}.auth-error{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:14px;margin-bottom:.5rem}.error-icon{font-size:1.3rem;flex-shrink:0}.auth-error span{font-size:.95rem;color:#dc2626;font-weight:600}.auth-success{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:14px;margin-bottom:.5rem}.success-icon{font-size:1.3rem;flex-shrink:0}.auth-success span{font-size:.95rem;color:#16a34a;font-weight:600}.auth-footer{text-align:center;margin-top:1rem;padding-top:.85rem;border-top:1px solid #e5e7eb}.auth-footer p{font-size:.9rem;color:#6b7280}.auth-footer a{color:#667eea;font-weight:700;text-decoration:none;transition:all .2s ease}.auth-footer a:hover{color:#764ba2;text-decoration:underline}.optional-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:16px;padding:1.25rem;margin-top:.5rem}.optional-section .section-title{font-size:.85rem;font-weight:700;color:#0369a1;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.optional-section .section-title .title-icon{font-size:1rem}.optional-section .form-input{background:#fff}.form-divider{display:flex;align-items:center;gap:1rem;margin:.5rem 0}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.form-divider span{font-size:.85rem;color:#9ca3af;font-weight:600}.back-to-home{position:absolute;top:2rem;left:2rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;border:1px solid #e2e8f0;color:#6366f1;font-weight:700;font-size:.9rem;text-decoration:none;transition:all .3s ease;z-index:10;box-shadow:0 4px 15px #0000000d}.back-to-home:hover{background:#f8fafc;transform:translate(-3px);box-shadow:0 6px 20px #6366f126}.back-arrow{font-size:1.1rem}@media(max-width:640px){.auth-page{padding:1rem}.auth-card{padding:2rem 1.5rem;border-radius:24px}.auth-header h1{font-size:1.6rem}.auth-logo-icon{width:48px;height:48px;font-size:1.6rem}.auth-logo-text{font-size:1.4rem}.back-to-home{top:1rem;left:1rem;padding:.6rem 1rem;font-size:.85rem}.auth-floating-piece{opacity:.05}}@media(max-width:480px){.auth-floating-piece:nth-child(n+6){display:none}.auth-page{padding:.75rem}.auth-card{padding:1.25rem 1rem;border-radius:20px}}@media(max-width:360px){.auth-page{padding:.5rem}.auth-card{padding:1rem .75rem;border-radius:16px}.auth-header h1{font-size:1.4rem}}.register-page-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.5rem;z-index:1;position:relative}.register-split-container{display:flex;gap:2rem;max-width:900px;width:100%}.register-split-card{flex:1;background-color:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:2rem;position:relative;box-shadow:0 0 30px #6366f133,0 25px 80px #00000014;border:2px solid rgba(99,102,241,.2);overflow:hidden;transition:all .3s ease}.register-split-card:hover{transform:translateY(-5px);box-shadow:0 0 40px #6366f14d,0 30px 90px #0000001f}.register-split-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:24px 24px 0 0;z-index:1}.register-student-card:before{background:linear-gradient(90deg,#10b981,#34d399,#6ee7b7)}.register-student-card{border-color:#10b9814d}.register-student-card:hover{border-color:#10b98180}.register-guardian-card:before{background:linear-gradient(90deg,#6366f1,#8b5cf6,#a78bfa)}.register-guardian-card{border-color:#6366f14d}.register-guardian-card:hover{border-color:#6366f180}.register-card-icon{font-size:3rem;text-align:center;margin-bottom:1rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.register-card-image{width:140px;height:140px;object-fit:cover;object-position:center 20%;border-radius:50%;margin:0 auto 1rem;display:block;box-shadow:0 8px 25px #00000026;border:4px solid rgba(16,185,129,.3);transform:scale(1.2);transform-origin:center}.register-section-image{width:100px;height:100px;object-fit:cover;object-position:center 20%;border-radius:50%;margin:0 auto .75rem;display:block;box-shadow:0 6px 20px #0000001f;border:3px solid rgba(99,102,241,.3);transform:scale(1.15);transform-origin:center}.register-split-card h2{font-size:1.6rem;font-weight:800;color:#1e293b;text-align:center;margin-bottom:.75rem}.register-split-card>p{font-size:.95rem;color:#64748b;text-align:center;line-height:1.6;margin-bottom:1.5rem}.register-features{list-style:none;padding:0;margin:0 0 1.5rem}.register-features li{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;font-size:.95rem;color:#374151;border-bottom:1px solid rgba(0,0,0,.05)}.register-features li:last-child{border-bottom:none}.register-action-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem 1.5rem;border:none;border-radius:14px;font-size:1rem;font-weight:700;font-family:inherit;text-decoration:none;cursor:pointer;transition:all .3s ease}.student-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 8px 25px #10b98159}.student-btn:hover{transform:translateY(-2px);box-shadow:0 12px 35px #10b98173}.parent-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 8px 25px #6366f159}.parent-btn:hover{transform:translateY(-2px);box-shadow:0 12px 35px #6366f173}.coach-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 8px 25px #f59e0b59}.coach-btn:hover{transform:translateY(-2px);box-shadow:0 12px 35px #f59e0b73}.btn-arrow{font-size:1.1rem;transition:transform .3s ease}.register-action-btn:hover .btn-arrow{transform:translate(4px)}.register-card-sections{display:flex;flex-direction:column;gap:1rem}.register-section{text-align:center}.register-section h3{font-size:1.2rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.register-section p{font-size:.9rem;color:#64748b;margin-bottom:1rem;line-height:1.5}.register-section .register-card-icon{font-size:2.5rem;margin-bottom:.75rem}.register-section-divider{display:flex;align-items:center;gap:1rem;margin:.5rem 0}.register-section-divider:before,.register-section-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#e5e7eb,transparent)}.register-section-divider span{font-size:.85rem;color:#9ca3af;font-weight:600}.register-footer-link{text-align:center}.register-footer-link p{font-size:.95rem;color:#64748b;background:#ffffffe6;padding:.75rem 1.5rem;border-radius:12px;display:inline-block;box-shadow:0 4px 15px #0000000d}.register-footer-link a{color:#6366f1;font-weight:700;text-decoration:none;transition:color .2s ease}.register-footer-link a:hover{color:#4f46e5;text-decoration:underline}.student-submit-btn{background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 10px 30px #10b98166!important}.student-submit-btn:hover{box-shadow:0 15px 40px #10b98180!important}.parent-submit-btn{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;box-shadow:0 10px 30px #6366f166!important}.parent-submit-btn:hover{box-shadow:0 15px 40px #6366f180!important}.coach-submit-btn{background:linear-gradient(135deg,#f59e0b,#d97706)!important;box-shadow:0 10px 30px #f59e0b66!important}.coach-submit-btn:hover{box-shadow:0 15px 40px #f59e0b80!important}.parent-child-section{background:linear-gradient(135deg,#faf5ff,#f3e8ff)!important;border-color:#d8b4fe!important}.parent-child-section .section-title{color:#7c3aed!important}.coach-info-box{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:14px;margin-top:.5rem}.coach-info-box .info-icon{font-size:1.2rem;flex-shrink:0}.coach-info-box p{font-size:.85rem;color:#92400e;line-height:1.5;margin:0}.parent-register-card:before{background:linear-gradient(90deg,#6366f1,#8b5cf6,#a78bfa)!important}.coach-register-card:before{background:linear-gradient(90deg,#f59e0b,#d97706,#b45309)!important}@media(max-width:768px){.register-split-container{flex-direction:column;gap:1.5rem;padding:0 1rem}.register-split-card{padding:1.5rem}.register-card-icon{font-size:2.5rem}.register-split-card h2{font-size:1.4rem}}.register-progress{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem;z-index:1;position:absolute;top:2rem;left:50%;transform:translate(-50%)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.25rem}.progress-step .step-number{width:36px;height:36px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:all .3s ease}.progress-step span{font-size:.75rem;color:#94a3b8;font-weight:600}.progress-step.active .step-number{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px #10b98166}.progress-step.active span{color:#10b981}.progress-step.completed .step-number{background:#10b981;color:#fff}.progress-step.completed span{color:#10b981}.progress-line{width:40px;height:3px;background:#e2e8f0;border-radius:2px;margin-bottom:1.25rem}.username-step-card{max-width:420px}.step-emoji{font-size:3.5rem;text-align:center;margin-bottom:.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.username-input-container{display:flex;gap:.75rem;align-items:flex-start}.username-input-container .form-group{flex:1}.username-input{font-size:1.1rem!important;text-align:center;font-weight:600}.random-username-btn{width:52px;height:52px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.35rem}.random-username-btn:hover{border-color:#10b981;background:#f0fdf4;transform:rotate(180deg)}.username-hint{text-align:center;font-size:.85rem;color:#64748b;margin-top:.5rem}.avatar-step-card{max-width:520px}.avatar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#f1f5f980;border-radius:16px}.avatar-option{position:relative;width:100%;aspect-ratio:1;border:3px solid transparent;border-radius:50%;overflow:hidden;cursor:pointer;transition:all .3s ease;background:#fff;padding:0}.avatar-option img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-option:hover{transform:scale(1.1);border-color:#10b981;box-shadow:0 4px 15px #10b9814d}.avatar-option.selected{border-color:#10b981;box-shadow:0 0 0 4px #10b98133,0 4px 15px #10b98166;transform:scale(1.05)}.avatar-check{position:absolute;bottom:2px;right:2px;width:24px;height:24px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;border:2px solid white;z-index:10}.selected-avatar-preview{width:130px;height:130px;border-radius:50%;overflow:hidden;margin:0 auto .75rem;border:4px solid #10b981;box-shadow:0 8px 25px #10b98159;animation:avatarPulse 2s ease-in-out infinite}.selected-avatar-preview img{width:100%;height:100%;object-fit:cover}@keyframes avatarPulse{0%,to{box-shadow:0 8px 25px #10b98159}50%{box-shadow:0 8px 35px #10b98180}}.avatar-submit-container{display:flex;justify-content:center}.avatar-submit-container .auth-submit-btn{max-width:280px}@media(max-width:640px){.auth-page:has(.register-progress){flex-direction:column;justify-content:flex-start;padding-top:4rem}.register-progress{position:relative;top:0;left:0;transform:none;margin-bottom:1rem;order:-1}.progress-step .step-number{width:32px;height:32px;font-size:.8rem}.progress-line{width:30px}.avatar-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem}.avatar-step-card{max-width:100%;padding:1rem}.avatar-option{border-width:2px}.avatar-check{width:18px;height:18px;font-size:.65rem;bottom:0;right:0}.selected-avatar-preview{width:100px;height:100px;border-width:3px;margin-bottom:.5rem}}@media(max-width:380px){.avatar-grid{grid-template-columns:repeat(3,1fr);gap:.35rem;padding:.5rem}.avatar-option{border-width:2px}.avatar-step-card{padding:.75rem}.avatar-step-card .auth-header h1{font-size:1.2rem}.avatar-step-card .auth-header p{font-size:.8rem}.selected-avatar-preview{width:80px;height:80px}.avatar-submit-container .auth-submit-btn{padding:.75rem 1rem;font-size:.9rem}.register-progress{gap:.25rem;margin-bottom:.75rem}.progress-step .step-number{width:28px;height:28px;font-size:.75rem}.progress-step span:not(.step-number){font-size:.7rem}.progress-line{width:20px}}.chess-board-container{width:780px;max-width:780px;margin:0 auto;position:relative}@keyframes highlight-pulse{0%{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.arrow-legend{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);display:flex;gap:20px;background:#000000b3;padding:8px 16px;border-radius:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.legend-item{display:flex;align-items:center;gap:6px}.legend-color{width:16px;height:16px;border-radius:4px;box-shadow:0 2px 4px #0000004d}.legend-text{font-size:.8rem;color:#fff;font-weight:500}@media(max-width:600px){.chess-board-container{max-width:100%}.arrow-legend{flex-direction:column;gap:8px;bottom:-70px}}.game-clocks{display:flex;flex-direction:column;gap:16px;margin:20px 0}.clock{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-radius:12px;background:var(--bg-medium);border:2px solid var(--bg-light);transition:all .3s ease}.clock.active{border-color:var(--primary-color);box-shadow:0 0 15px #ffd7004d}.clock.low-time{background:#f4433633;border-color:var(--error)}.clock.low-time.active{animation:pulse-danger 1s infinite}@keyframes pulse-danger{0%,to{box-shadow:0 0 10px #f4433680}50%{box-shadow:0 0 25px #f44336cc}}.clock-label{font-size:14px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.clock-time{font-size:2rem;font-weight:700;font-family:Courier New,monospace;color:var(--text-primary)}.white-clock{background:var(--bg-card);border:2px solid var(--border-color)}.black-clock{background:var(--bg-hover);border:2px solid var(--border-color)}.game-chat{display:flex;flex-direction:column;height:100%;min-height:0}.chat-messages{flex:1;overflow-y:auto;margin-bottom:12px;padding-right:6px;min-height:0}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.no-messages{color:var(--text-secondary);font-style:italic;text-align:center;padding:20px 10px;font-size:.95rem}.chat-message{margin-bottom:8px;padding:8px 12px;background:var(--bg-dark);border-radius:10px;font-size:.9rem;border-left:3px solid var(--primary-color)}.message-username{color:var(--primary-color);font-weight:700;margin-right:6px;font-size:.85rem}.message-text{color:var(--text-primary);word-break:break-word}.message-time{color:var(--text-secondary);font-size:.7rem;margin-left:8px;float:right;opacity:.7}.chat-form{display:flex;gap:8px;flex-shrink:0}.chat-form input{flex:1;min-width:0;padding:10px 14px;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-dark);color:var(--text-primary);font-size:.95rem;transition:all .2s ease}.chat-form input::placeholder{color:var(--text-secondary);opacity:.7}.chat-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3399ff26}.chat-form button{width:44px;height:44px;flex-shrink:0;padding:0;border:none;border-radius:10px;background:linear-gradient(135deg,var(--primary-color),#66b3ff);color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.chat-form button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #39f6}.chat-form button:disabled{opacity:.4;cursor:not-allowed;transform:none}.game-chat.chat-disabled{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22c55e1a,#16a34a1a);border:1px dashed rgba(34,197,94,.3);border-radius:12px}.chat-disabled-message{text-align:center;padding:24px}.chat-disabled-message .disabled-icon{font-size:2.5rem;display:block;margin-bottom:12px}.chat-disabled-message p{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#22c55e}.chat-disabled-message small{color:var(--text-secondary);font-size:.85rem}.move-list{background:var(--bg-medium);border-radius:12px;padding:20px;max-height:400px;overflow-y:auto}.move-list-title{color:var(--primary-color);margin-bottom:16px;font-size:1.2rem}.moves{display:flex;flex-direction:column;gap:4px}.no-moves{color:var(--text-secondary);font-style:italic;text-align:center;padding:20px}.move-pair{display:grid;grid-template-columns:40px 1fr 1fr;gap:8px;padding:8px;border-radius:6px;transition:background .2s}.move-pair:nth-child(odd){background:#ffffff08}.move-pair:hover{background:#ffd7001a}.move-number{color:var(--text-secondary);font-weight:500}.move{font-family:Courier New,monospace;font-weight:500;padding:4px 8px;border-radius:4px}.white-move{background:#ffffff1a}.black-move{background:#0003}.analysis-panel{position:fixed;right:0;top:0;width:440px;max-width:100vw;height:100vh;background:var(--panel-bg, linear-gradient(180deg, #1e1e2f 0%, #171728 100%));border-left:2px solid var(--border-color, #3d5a80);display:flex;flex-direction:column;z-index:1000;box-shadow:-5px 0 30px #00000080;animation:slideIn .3s ease-out;overflow:hidden}:root[data-theme=light] .analysis-panel,[data-theme=light] .analysis-panel{--panel-bg: linear-gradient(180deg, #f5f5f5 0%, #e8e8e8 100%);--border-color: #ccc;--text-primary: #1a1a1a;--text-secondary: #555;--text-muted: #888;--card-bg-white: rgba(255, 255, 255, .8);--card-bg-black: rgba(0, 0, 0, .08);--hover-bg: rgba(61, 90, 128, .2)}.analysis-panel{--panel-bg: linear-gradient(180deg, #1e1e2f 0%, #171728 100%);--border-color: #3d5a80;--text-primary: #ffffff;--text-secondary: #ccc;--text-muted: #888;--card-bg-white: rgba(255, 255, 255, .1);--card-bg-black: rgba(0, 0, 0, .3);--hover-bg: rgba(61, 90, 128, .5)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.analysis-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--header-bg, linear-gradient(90deg, #2d3a4a 0%, #1a2634 100%));border-bottom:1px solid var(--border-color);flex-shrink:0}[data-theme=light] .analysis-header{--header-bg: linear-gradient(90deg, #e0e0e0 0%, #d0d0d0 100%)}.analysis-header h3{margin:0;color:var(--text-primary);font-size:16px;font-weight:600}.analysis-header .close-btn{background:transparent;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:5px;transition:all .2s}.analysis-header .close-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.analysis-progress{padding:15px 20px;background:#0000004d;border-bottom:1px solid #3d5a80}.progress-bar{height:8px;background:#2a2a4a;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:4px;transition:width .3s ease}.analysis-progress span{color:#aaa;font-size:13px}.player-stats{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#00000026;border-bottom:1px solid var(--border-color);flex-shrink:0}[data-theme=light] .player-stats{background:#0000000d}.player-stat{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:8px}.player-stat.white{background:var(--card-bg-white)}.player-stat.black{background:var(--card-bg-black)}.player-header{display:flex;justify-content:space-between;align-items:center}.player-name{font-weight:600;color:var(--text-primary);font-size:13px;display:flex;align-items:center;gap:6px}.piece-icon{font-size:14px}.accuracy-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.accuracy-badge.high{background:#96bc4b4d;color:#96bc4b}.accuracy-badge.medium{background:#f7c6314d;color:#f7c631}.accuracy-badge.low{background:#ca34314d;color:#ca3431}.stat-breakdown{display:flex;flex-wrap:wrap;gap:6px}.stat-item{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;font-size:14px;font-weight:500;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;min-width:42px;justify-content:center;letter-spacing:.3px}.stat-icon{font-size:13px}.stat-item.brilliant{background:#1baaa74d;color:#1baaa7}.stat-item.great{background:#5c8bb04d;color:#5c8bb0}.stat-item.good{background:#96bc4b4d;color:#96bc4b}.stat-item.inaccuracy{background:#f7c6314d;color:#f7c631}.stat-item.mistake{background:#e6912c4d;color:#e6912c}.stat-item.blunder{background:#ca34314d;color:#ca3431}.accuracy{color:#aaa;font-size:12px;margin-top:5px}.moves-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 12px;scrollbar-width:thin;scrollbar-color:#3d5a80 transparent;min-height:0}[data-theme=light] .moves-list{scrollbar-color:#bbb transparent}.moves-list::-webkit-scrollbar{width:6px}.moves-list::-webkit-scrollbar-track{background:transparent}.moves-list::-webkit-scrollbar-thumb{background:#3d5a80;border-radius:3px}[data-theme=light] .moves-list::-webkit-scrollbar-thumb{background:#bbb}.move-pair{display:flex;align-items:center;gap:4px;margin-bottom:3px;flex-wrap:nowrap}.move-number{color:var(--text-muted);font-size:12px;width:24px;min-width:24px;text-align:right;flex-shrink:0}.move-item{display:flex;align-items:center;gap:3px;padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;flex:1;max-width:calc(50% - 16px);min-width:60px;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.move-san{overflow:hidden;text-overflow:ellipsis}.move-item.white{background:var(--card-bg-white);color:var(--text-primary)}.move-item.black{background:var(--card-bg-black);color:var(--text-secondary)}[data-theme=light] .move-item.white{background:#ffffffe6;border:1px solid #ddd}[data-theme=light] .move-item.black{background:#00000014;border:1px solid #ccc}.move-item:hover{background:var(--hover-bg);transform:translateY(-1px)}.move-item.active{background:linear-gradient(135deg,#3d5a80,#2d4a70);box-shadow:0 2px 6px #3d5a8066;color:#fff}.move-item.brilliant{border-left:3px solid #1baaa7}.move-item.great{border-left:3px solid #5c8bb0}.move-item.best,.move-item.good{border-left:3px solid #96bc4b}.move-item.inaccuracy{border-left:3px solid #f7c631}.move-item.mistake{border-left:3px solid #e6912c}.move-item.blunder{border-left:3px solid #ca3431}.move-badge{font-size:11px;font-weight:700;margin-left:2px;flex-shrink:0;line-height:1}.navigation-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#0003;border-top:1px solid var(--border-color);flex-shrink:0}[data-theme=light] .navigation-controls{background:#0000000d}.nav-btn{width:36px;height:36px;border:none;border-radius:6px;background:linear-gradient(135deg,#3d5a80,#2d4a70);color:#fff;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}[data-theme=light] .nav-btn{background:linear-gradient(135deg,#4a6fa5,#3d5a80)}.nav-btn:hover:not(:disabled){background:linear-gradient(135deg,#4d6a90,#3d5a80);transform:scale(1.05)}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.move-counter{color:var(--text-muted);font-size:13px;min-width:70px;text-align:center}.move-details{padding:10px 16px;background:#00000026;border-top:1px solid var(--border-color);flex-shrink:0}[data-theme=light] .move-details{background:#0000000d}.current-move,.best-move,.evaluation{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:4px}.move-details .label{color:var(--text-muted);font-size:12px}.move-details .value{color:var(--text-primary);font-weight:500;font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.classification-badge{padding:2px 6px;border-radius:4px;font-size:10px;color:#fff;font-weight:600}.evaluation .value.white-advantage{color:#96bc4b}.evaluation .value.black-advantage{color:#e6912c}.shortcuts-hint{padding:8px 16px;text-align:center;color:var(--text-muted);font-size:11px;background:#0003;border-top:1px solid var(--border-color);flex-shrink:0}[data-theme=light] .shortcuts-hint{background:#0000000d}@media(max-width:768px){.analysis-panel{width:100%;height:50vh;bottom:0;top:auto;border-left:none;border-top:2px solid var(--border-color)}.eval-bar-container{display:none}.player-stats{flex-direction:row;padding:8px 12px}.player-stat{flex:1}.stat-breakdown{gap:4px}.stat-item{padding:4px 8px;font-size:12px;min-width:36px}.stat-icon{font-size:11px}.move-item{padding:3px 6px;font-size:12px}}.current-move-section{padding:0}.move-comparison{display:flex;flex-direction:column;gap:12px}.played-move-box,.best-move-box{background:var(--card-bg-black, rgba(0, 0, 0, .2));border-radius:12px;padding:12px;border:2px solid transparent;transition:all .3s ease}.played-move-box.brilliant{border-color:#1baaa780;background:#1baaa71a}.played-move-box.great{border-color:#5c8bb080;background:#5c8bb01a}.played-move-box.best,.played-move-box.good{border-color:#96bc4b80;background:#96bc4b1a}.played-move-box.inaccuracy{border-color:#f7c63180;background:#f7c6311a}.played-move-box.mistake{border-color:#e6912c80;background:#e6912c1a}.played-move-box.blunder{border-color:#ca343180;background:#ca34311a}.best-move-box{border-color:#22c55e66;background:#22c55e14}.move-box-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.move-box-icon{font-size:1.2rem}.move-box-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #aaa);font-weight:600}.move-box-content{display:flex;align-items:center;gap:10px;margin-bottom:8px}.move-notation{font-size:1.4rem;font-weight:700;color:var(--text-primary, #fff);font-family:Roboto Mono,monospace}.move-notation.best{color:#96bc4b}.classification-tag{padding:4px 10px;border-radius:15px;font-size:.75rem;font-weight:600;border:1px solid}.arrow-indicator{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.arrow-indicator .arrow-color{width:20px;height:6px;border-radius:3px}.arrow-indicator .arrow-text{font-size:.7rem;color:var(--text-muted, #888)}.evaluation-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#0003;border-radius:8px;margin-top:12px}.evaluation-bar .label{font-size:.8rem;color:var(--text-secondary, #aaa)}.evaluation-bar .value{font-size:1.1rem;font-weight:700;font-family:Roboto Mono,monospace}.evaluation-bar .value.white-advantage{color:#f0d9b5}.evaluation-bar .value.black-advantage{color:#b58863}.eval-change{font-size:.85rem;font-family:Roboto Mono,monospace}.eval-change.positive{color:#4caf50}.eval-change.negative{color:#f44336}.analysis-mode-active{position:fixed;top:60px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#3d5a80,#2d4a70);color:#fff;padding:8px 20px;border-radius:20px;font-size:14px;font-weight:500;z-index:999;box-shadow:0 4px 15px #0000004d;display:flex;align-items:center;gap:10px}.analysis-mode-active .pulse{width:10px;height:10px;background:#4caf50;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%{box-shadow:0 0 #4caf50b3}70%{box-shadow:0 0 0 10px #4caf5000}to{box-shadow:0 0 #4caf5000}}.moves-loading,.moves-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#888;text-align:center}.moves-loading .loading-spinner{width:40px;height:40px;border:4px solid #333;border-top-color:#3d5a80;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.moves-loading p{margin:5px 0;color:#aaa}.moves-loading .loading-hint{font-size:12px;color:#666}.moves-empty p{color:#666}.game-container{min-height:100%;background:var(--bg-dark);padding:12px}.game-layout{display:grid;grid-template-columns:1fr 320px;gap:16px;max-width:100%;height:calc(100vh - 100px)}.game-loading,.game-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:var(--text-primary);gap:20px}.loading-spinner{width:50px;height:50px;border:4px solid rgba(51,153,255,.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.game-sidebar.left-sidebar{display:none}.game-board-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%}.turn-indicator{height:36px;display:flex;align-items:center;justify-content:center}.my-turn{background:linear-gradient(135deg,var(--primary-color),#66b3ff);color:#fff;padding:8px 24px;border-radius:20px;font-weight:700;font-size:1.1rem;animation:pulse 2s ease-in-out infinite;box-shadow:0 4px 15px #39f6}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.opponent-turn{color:var(--text-secondary);font-size:1.05rem;font-weight:500}.ai-thinking{background:linear-gradient(135deg,#ff9500,#ff6b00);color:#fff;padding:8px 24px;border-radius:20px;font-weight:700;font-size:1.1rem;box-shadow:0 4px 15px #ff950066;animation:thinking-pulse 1.5s ease-in-out infinite}@keyframes thinking-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.spectator{background:var(--bg-card);color:var(--text-primary);padding:8px 24px;border-radius:20px;font-weight:600}.game-controls{display:flex;gap:12px;margin-top:8px}.game-controls .btn{padding:10px 20px;font-size:1rem;border-radius:10px}.btn-danger{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 15px #e74c3c66}.game-sidebar.right-sidebar{display:flex;flex-direction:column;gap:12px;height:100%;overflow:hidden}.player-info{background:var(--bg-card);border:2px solid var(--border-color);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;transition:all .2s ease}.player-info.opponent{border-color:var(--border-color)}.player-info.self{border-color:var(--primary-color);background:linear-gradient(135deg,var(--bg-card),rgba(51,153,255,.1))}.player-avatar{width:48px;height:48px;border-radius:50%;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:1.4rem;font-weight:700;flex-shrink:0;overflow:hidden}.player-avatar img.bot-avatar-img{border-radius:50%}.player-avatar.me{background:linear-gradient(135deg,var(--primary-color),#66b3ff);color:#fff}.player-details{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.player-name{color:var(--text-primary);font-weight:700;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-rating{color:var(--text-secondary);font-size:.9rem;font-weight:500}.sidebar-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:14px;display:flex;flex-direction:column;overflow:hidden}.sidebar-section h4{color:var(--primary-color);margin:0 0 10px;font-size:1.1rem;font-weight:700;border-bottom:2px solid var(--border-color);padding-bottom:8px;display:flex;align-items:center;gap:8px}.sidebar-section h4:before{content:"";width:4px;height:18px;background:var(--primary-color);border-radius:2px}.sidebar-section:first-of-type{flex:0 0 auto;max-height:200px}.chat-section{flex:1;min-height:180px}.waiting-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.waiting-modal{background:var(--bg-card);padding:40px 50px;border-radius:24px;text-align:center;max-width:420px;box-shadow:0 20px 60px #0006}.waiting-modal h3{color:var(--text-primary);margin-bottom:16px;font-size:1.5rem}.waiting-modal p{color:var(--text-secondary);font-size:1.1rem}.game-code{font-size:2.8rem;font-weight:800;background:linear-gradient(135deg,var(--primary-color),#66b3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:6px;margin:20px 0}.share-hint{color:var(--text-secondary);margin-bottom:24px;font-size:1rem}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-modal,.game-result-modal{background:var(--bg-card);padding:32px 40px;border-radius:20px;text-align:center;max-width:420px;box-shadow:0 20px 60px #0006}.confirm-modal h3,.game-result-modal h2{color:var(--text-primary);margin-bottom:12px;font-size:1.4rem}.game-result-modal h2{font-size:1.8rem;background:linear-gradient(135deg,var(--primary-color),#66b3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.confirm-modal p,.result-details{color:var(--text-secondary);margin-bottom:24px;font-size:1.1rem}.modal-buttons,.result-buttons{display:flex;gap:12px;justify-content:center}.modal-buttons .btn,.result-buttons .btn{min-width:120px}.btn{padding:12px 24px;border:none;border-radius:12px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--primary-color),#66b3ff);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #39f6}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{border-color:var(--primary-color);background:var(--bg-card)}@media(max-width:1024px){.game-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;height:auto;gap:12px}.game-sidebar.left-sidebar{display:flex;flex-direction:row;justify-content:space-between;order:1}.game-sidebar.left-sidebar .player-info{flex:1;max-width:48%}.game-board-section{order:2}.game-sidebar.right-sidebar{order:3;flex-direction:row;height:auto}.game-sidebar.right-sidebar .player-info{display:none}.sidebar-section{flex:1}.sidebar-section:first-of-type{max-height:180px}.chat-section{min-height:150px}}@media(max-width:600px){.game-container{padding:8px}.game-layout{gap:10px}.game-sidebar.left-sidebar{flex-direction:column;gap:8px}.game-sidebar.left-sidebar .player-info{max-width:100%}.game-sidebar.right-sidebar{flex-direction:column}.game-controls{flex-direction:column;width:100%}.game-controls .btn{width:100%}.player-avatar{width:40px;height:40px;font-size:1.2rem}.player-name{font-size:.95rem}.waiting-modal,.confirm-modal,.game-result-modal{margin:16px;padding:24px}.game-code{font-size:2.2rem;letter-spacing:4px}}.game-result-modal{background:linear-gradient(145deg,var(--bg-card),var(--bg-dark));border:2px solid var(--primary-color);border-radius:20px;padding:32px;text-align:center;min-width:380px;max-width:90vw;box-shadow:0 20px 60px #00000080;animation:modalAppear .3s ease-out}@keyframes modalAppear{0%{opacity:0;transform:scale(.8) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.result-icon{font-size:4rem;margin-bottom:16px;animation:resultBounce .5s ease-out}@keyframes resultBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.game-result-modal h2{font-size:2rem;color:var(--text-primary);margin-bottom:8px}.result-reason{color:var(--primary-color);font-size:1.1rem;font-weight:600;margin-bottom:20px}.players-final{display:flex;align-items:center;justify-content:center;gap:20px;margin:20px 0}.player-final{display:flex;flex-direction:column;align-items:center;gap:8px}.player-final .piece{font-size:2.5rem}.player-final.white .piece{color:#f0d9b5;text-shadow:0 2px 8px rgba(0,0,0,.5)}.player-final.black .piece{color:#b58863;text-shadow:0 2px 8px rgba(0,0,0,.5)}.player-final .name{color:var(--text-primary);font-weight:600;font-size:.95rem}.players-final .vs{color:var(--text-secondary);font-size:1.2rem;font-weight:700}.game-stats{display:flex;justify-content:center;gap:30px;margin:20px 0;padding:15px;background:var(--bg-hover);border-radius:12px}.stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{color:var(--text-secondary);font-size:.85rem}.stat-value{color:var(--text-primary);font-size:1.4rem;font-weight:700}.result-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.result-buttons .btn{padding:12px 24px;font-size:1rem;border-radius:10px;min-width:140px}.analysis-banner{position:fixed;top:70px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;padding:10px 24px;border-radius:20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 20px #9b59b666;z-index:100;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.analysis-banner span{font-weight:600;font-size:1.1rem}.btn-sm{padding:6px 14px;font-size:.9rem;border-radius:8px;background:#fff3;color:#fff;border:none;cursor:pointer;transition:background .2s}.btn-sm:hover{background:#ffffff4d}.board-with-eval{display:flex;align-items:center;gap:12px}.board-with-eval .chess-board-container{width:780px;max-width:780px}.eval-bar-side{display:flex;flex-direction:column;align-items:center}.eval-bar-vertical{width:32px;height:780px;background:linear-gradient(180deg,#1a1a1a,#2a2a2a);border-radius:6px;position:relative;overflow:hidden;box-shadow:inset 0 0 15px #00000080,0 4px 20px #0000004d;border:1px solid rgba(255,255,255,.1)}.eval-white-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#fff,#e8e8e8,#d0d0d0);transition:height .4s cubic-bezier(.4,0,.2,1);box-shadow:0 -3px 15px #fff6}.eval-value-side{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:11px;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.5);z-index:1;letter-spacing:-.5px;background:#00000080;padding:3px 6px;border-radius:4px}@media(max-width:900px){.eval-bar-side{display:none}.board-with-eval{flex-direction:column}}.first-move-countdown{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:100}.countdown-content{background:linear-gradient(135deg,#ff9500,#ff6b00);color:#fff;padding:12px 24px;border-radius:30px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.1rem;box-shadow:0 4px 20px #ff950066;animation:countdown-pulse 1s ease-in-out infinite}.countdown-icon{font-size:1.3rem}@keyframes countdown-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.game-cancelled-modal{background:var(--bg-card);border-radius:16px;padding:40px;text-align:center;max-width:400px;box-shadow:0 20px 50px #00000080}.cancelled-icon{font-size:4rem;margin-bottom:20px}.game-cancelled-modal h2{color:var(--text-primary);margin-bottom:15px}.game-cancelled-modal p{color:var(--text-secondary);margin-bottom:25px}.report-modal{background:var(--bg-card);border-radius:16px;padding:24px;width:400px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 20px 50px #00000080}.report-modal h3{color:var(--text-primary);margin-bottom:10px;font-size:1.3rem}.report-warning{background:#ff950026;border:1px solid rgba(255,149,0,.3);color:#ff9500;padding:12px;border-radius:8px;font-size:.85rem;margin-bottom:20px}.report-form{display:flex;flex-direction:column;gap:16px}.report-form .form-group{display:flex;flex-direction:column;gap:6px}.report-form .form-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.report-form .form-group.checkbox{flex-direction:row;align-items:flex-start}.report-form .form-group.checkbox label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.4}.report-form .form-group.checkbox label input[type=checkbox]{flex-shrink:0;margin-top:3px}.report-form .form-group.checkbox label span{white-space:normal}.report-form select,.report-form input[type=text],.report-form textarea{background:var(--bg-dark);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-size:.95rem;transition:border-color .2s}.report-form select:focus,.report-form input[type=text]:focus,.report-form textarea:focus{outline:none;border-color:var(--primary-color)}.report-form textarea{resize:vertical;min-height:80px}.report-modal .modal-buttons{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.game-controls .btn-warning{background:linear-gradient(135deg,#ff9500,#ff6b00);color:#fff;border:none}.game-controls .btn-warning:hover{background:linear-gradient(135deg,#ff6b00,#c50);transform:translateY(-1px)}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;min-width:320px;max-width:420px;padding:16px 20px;border-radius:16px;background:var(--bg-card);border:2px solid;box-shadow:0 8px 32px #0003,0 0 0 1px #ffffff0d;pointer-events:auto;animation:toastSlideIn .4s cubic-bezier(.16,1,.3,1),toastPulseGlow 2s ease-in-out infinite;position:relative;overflow:hidden}[data-theme=dark] .toast{background:#1a1f2e}[data-theme=light] .toast{background:#a3d8ff}.toast-success{border-color:#22c55e;box-shadow:0 8px 32px #22c55e4d,0 0 0 1px #22c55e1a}.toast-error{border-color:#ef4444;box-shadow:0 8px 32px #ef44444d,0 0 0 1px #ef44441a}.toast-warning{border-color:#f59e0b;box-shadow:0 8px 32px #f59e0b4d,0 0 0 1px #f59e0b1a}.toast-info{border-color:#3b82f6;box-shadow:0 8px 32px #3b82f64d,0 0 0 1px #3b82f61a}@keyframes toastPulseGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.05)}}.toast-exit{animation:toastSlideOut .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100px) scale(.9)}}.toast-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.toast-success .toast-icon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 15px #22c55e66}.toast-error .toast-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 15px #ef444466}.toast-warning .toast-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 15px #f59e0b66}.toast-info .toast-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 15px #3b82f666}.toast-content{flex:1;min-width:0}.toast-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.toast-message{font-size:13px;color:var(--text-secondary);line-height:1.4}.toast-close{background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;flex-shrink:0;margin:-4px -4px -4px 0}.toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}.toast-progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 12px 12px;animation:toastProgress 4s linear forwards}.toast-success .toast-progress{background:linear-gradient(90deg,#22c55e,#16a34a)}.toast-error .toast-progress{background:linear-gradient(90deg,#ef4444,#dc2626)}.toast-warning .toast-progress{background:linear-gradient(90deg,#f59e0b,#d97706)}.toast-info .toast-progress{background:linear-gradient(90deg,#3b82f6,#2563eb)}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media(max-width:480px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:none}}.profile-container{max-width:1400px;margin:0 auto;padding:30px 40px}.loading,.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:20px;color:var(--text-secondary)}.profile-header{display:flex;align-items:center;gap:30px;background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-hover) 100%);border:1px solid var(--border-color);padding:40px;border-radius:20px;color:var(--text-primary);margin-bottom:30px}.profile-avatar-wrapper{position:relative}.profile-avatar{width:120px;height:120px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;font-weight:700;border:4px solid var(--bg-card);overflow:hidden;position:relative;transition:all .3s ease}.profile-avatar.editable{cursor:pointer}.profile-avatar.editable:hover{border-color:var(--primary-color);box-shadow:0 0 20px #6366f14d}.profile-avatar img{width:100%;height:100%;object-fit:cover}.avatar-edit-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;border-radius:50%}.profile-avatar.editable:hover .avatar-edit-overlay{opacity:1}.edit-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.avatar-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:10px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:8px;min-width:180px;box-shadow:0 8px 30px #0003;z-index:100;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.avatar-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease;text-align:left}.avatar-menu-item:hover{background:var(--bg-hover)}.avatar-menu-item.danger{color:#ef4444}.avatar-menu-item.danger:hover{background:#ef44441a}.avatar-menu-item:disabled{opacity:.6;cursor:not-allowed}.menu-icon{font-size:1.1rem}.character-picker-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.character-picker-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.character-picker-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.character-picker-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}.character-picker-header .close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.character-picker-header .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.character-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:24px;overflow-y:auto}.character-option{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;border:3px solid transparent;transition:all .2s;background:var(--bg-hover)}.character-option img{width:100%;height:100%;object-fit:cover}.character-option:hover{border-color:var(--primary-color);transform:scale(1.05)}.character-option.selected{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e4d}.character-option .selected-badge{position:absolute;bottom:4px;right:4px;width:24px;height:24px;background:#22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem}.character-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border-top:1px solid var(--border-color)}.character-loading p{margin:0;color:var(--text-secondary)}.upload-error{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:10px;background:#ef4444e6;color:#fff;padding:8px 16px;border-radius:8px;font-size:.85rem;white-space:nowrap;animation:fadeIn .3s ease}.profile-info h1{font-size:2.2rem;margin-bottom:10px}.profile-rating{display:flex;align-items:center;gap:10px;background:var(--bg-hover);padding:10px 20px;border-radius:30px;margin-bottom:10px;border:1px solid var(--border-color)}.rating-icon{font-size:1.5rem;color:var(--primary-color)}.rating-value{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.rating-label{opacity:.8;font-size:.9rem;color:var(--text-secondary)}.online-badge{background:var(--success);color:#fff;padding:5px 15px;border-radius:15px;font-size:.85rem;font-weight:600}.profile-tabs{display:flex;gap:8px;margin-bottom:25px;padding:8px;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color)}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:none;background:transparent;color:var(--text-secondary);font-size:.95rem;font-weight:600;cursor:pointer;border-radius:12px;transition:all .3s ease;position:relative}.tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-btn.active{background:linear-gradient(135deg,var(--primary-color),#764ba2);color:#fff;box-shadow:0 4px 15px #6366f14d}.tab-badge{background:#fff3;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:700}.tab-btn:not(.active) .tab-badge{background:var(--bg-hover);color:var(--text-secondary)}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.quick-achievements{background:var(--bg-card);border-radius:16px;padding:20px;border:1px solid var(--border-color)}.quick-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.quick-header h3{font-size:1.1rem;color:var(--text-primary);margin:0}.view-all-btn{background:transparent;border:none;color:var(--primary-color);font-size:.9rem;font-weight:600;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .2s}.view-all-btn:hover{background:#6366f11a}.quick-stats{display:flex;gap:20px;margin-bottom:15px}.quick-stat{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--bg-hover);border-radius:12px}.quick-stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.quick-stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.quick-achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.quick-achievement-card{display:flex;align-items:center;gap:10px;padding:12px;background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:1px solid rgba(34,197,94,.2);border-radius:10px;transition:all .2s}.quick-achievement-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #22c55e26}.quick-achievement-icon{font-size:1.5rem}.quick-achievement-title{font-size:.8rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-grid{display:flex;gap:12px;margin-bottom:30px;flex-wrap:wrap}@media(max-width:768px){.stats-grid{gap:8px}}.stat-card{flex:1;min-width:100px;background:linear-gradient(145deg,var(--bg-card),var(--bg-hover));padding:16px 12px;border-radius:12px;text-align:center;border:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),#8b5cf6);opacity:0;transition:opacity .3s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.stat-card:hover:before{opacity:1}.stat-card.win:before{background:linear-gradient(90deg,#22c55e,#16a34a);opacity:1}.stat-card.lose:before{background:linear-gradient(90deg,#ef4444,#dc2626);opacity:1}.stat-card.draw:before{background:linear-gradient(90deg,#f59e0b,#d97706);opacity:1}.stat-card.rate:before{background:linear-gradient(90deg,#6366f1,#8b5cf6);opacity:1}.stat-icon{font-size:1.5rem;margin-bottom:8px;display:inline-block}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{color:var(--text-secondary);font-size:.75rem;margin-top:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-card.win .stat-value{color:#22c55e}.stat-card.lose .stat-value{color:#ef4444}.stat-card.draw .stat-value{color:#f59e0b}.stat-card.rate .stat-value{color:#8b5cf6}.profile-section{margin-bottom:30px}.profile-section h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:10px}.achievements-section{margin-bottom:40px}.section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:20px}.section-header h2{margin-bottom:0}.achievement-stats{display:flex;gap:15px;align-items:center}.achievement-points-total{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem}.points-icon{font-size:1.1rem}.achievement-progress{background:var(--bg-hover);padding:8px 16px;border-radius:20px;font-size:.9rem;color:var(--text-secondary);font-weight:500}.achievement-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.filter-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--text-primary)}.filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.achievement-toggle{margin-bottom:20px}.toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer}.toggle-text{-webkit-user-select:none;user-select:none}.achievements-container{display:flex;flex-direction:column;gap:30px}.achievement-category{background:var(--bg-card);border-radius:16px;padding:20px;border:1px solid var(--border-color)}.category-title{font-size:1.1rem;color:var(--text-primary);margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.achievement-card{background:var(--bg-hover);padding:16px;border-radius:12px;display:flex;gap:15px;align-items:flex-start;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.achievement-card.earned{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-color:#22c55e4d}.achievement-card.earned:hover{transform:translateY(-3px);box-shadow:0 8px 25px #22c55e26;border-color:#22c55e80}.achievement-card.locked{background:var(--bg-hover);opacity:.7}.achievement-card.locked:hover{opacity:.85}.achievement-icon-wrapper{position:relative;flex-shrink:0}.achievement-icon{font-size:2.5rem;display:block}.achievement-card.locked .achievement-icon{filter:grayscale(100%);opacity:.5}.lock-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;background:var(--bg-card);border-radius:50%;padding:4px}.achievement-info{flex:1;min-width:0}.achievement-info h4{color:var(--text-primary);margin-bottom:4px;font-size:.95rem;font-weight:600}.achievement-card.locked .achievement-info h4{color:var(--text-secondary)}.achievement-info p{color:var(--text-secondary);font-size:.85rem;margin-bottom:8px;line-height:1.4}.achievement-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.achievement-points{color:var(--success);font-weight:600;font-size:.85rem;display:flex;align-items:center;gap:4px}.achievement-card.locked .achievement-points{color:var(--text-muted)}.achievement-date{font-size:.75rem;color:var(--text-secondary);background:var(--bg-card);padding:3px 8px;border-radius:10px}.games-list{display:flex;flex-direction:column;gap:12px}.game-card{background:var(--bg-card);padding:20px;border-radius:12px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 10px #0000000d;border-left:4px solid var(--border-color);transition:transform .2s}.game-card:hover{transform:translate(5px)}.game-card.won{border-left-color:#22c55e}.game-card.lost{border-left-color:#ef4444}.game-card.draw{border-left-color:#f59e0b}.game-card-detailed{background:var(--bg-card);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;border-left:5px solid var(--border-color);transition:all .3s ease}.game-card-detailed:hover{box-shadow:0 6px 25px #0000001f}.game-card-detailed.won{border-left-color:#22c55e;background:linear-gradient(to right,rgba(34,197,94,.05),transparent)}.game-card-detailed.lost{border-left-color:#ef4444;background:linear-gradient(to right,rgba(239,68,68,.05),transparent)}.game-card-detailed.draw{border-left-color:#f59e0b;background:linear-gradient(to right,rgba(245,158,11,.05),transparent)}.game-card-main{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:20px;padding:20px;cursor:pointer;transition:background .2s}.game-card-main:hover{background:var(--bg-hover)}.game-result-badge{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.game-result-badge .result-icon{font-size:2rem}.game-result-badge .result-text{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.game-card-detailed.won .result-text{color:#22c55e}.game-card-detailed.lost .result-text{color:#ef4444}.game-card-detailed.draw .result-text{color:#f59e0b}.game-players{display:flex;align-items:center;gap:12px;flex:1}.player-side{display:flex;align-items:center;gap:6px}.player-side .piece-icon{font-size:1.3rem}.player-side .piece-icon.white{color:#f0d9b5;text-shadow:0 1px 2px rgba(0,0,0,.3)}.player-side .piece-icon.black{color:#b58863}.player-name-text{font-weight:600;color:var(--text-primary);font-size:.95rem}.player-rating-text{font-size:.8rem;color:var(--text-secondary)}.vs-text{color:var(--text-muted);font-size:.85rem;font-weight:500}.game-meta{display:flex;gap:15px}.meta-item{display:flex;align-items:center;gap:5px;background:var(--bg-hover);padding:6px 12px;border-radius:20px;font-size:.85rem;color:var(--text-secondary)}.game-date-time{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:120px}.game-date-time .date{font-size:.9rem;color:var(--text-primary);font-weight:500}.game-date-time .time{font-size:.8rem;color:var(--text-secondary)}.expand-icon{font-size:.8rem;color:var(--text-secondary);transition:transform .3s}.game-card-detailed.expanded .expand-icon{transform:rotate(180deg)}.game-card-expanded{border-top:1px solid var(--border-color);padding:20px;background:var(--bg-hover);animation:expandIn .3s ease}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.expanded-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.detail-row{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.95rem;color:var(--text-primary);font-weight:500}.detail-value.game-code{font-family:monospace;background:var(--bg-card);padding:4px 8px;border-radius:6px;font-size:.85rem}.game-actions{display:flex;gap:12px}.btn-analyze{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:10px 20px;border-radius:10px;font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;margin:0}.btn-analyze:hover{transform:translateY(-2px);box-shadow:0 4px 15px #3b82f666}.btn-view{background:var(--bg-card);color:var(--text-primary);padding:10px 20px;border-radius:10px;font-weight:600;font-size:.9rem;border:1px solid var(--border-color);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;margin:0}.btn-view:hover{background:var(--bg-hover);border-color:var(--primary-color)}.game-result-icon{font-size:1.5rem}.game-details{flex:1;display:flex;flex-direction:column;gap:4px}.opponent-name{font-weight:600;color:var(--text-primary)}.game-date{color:var(--text-secondary);font-size:.85rem}.game-info{display:flex;align-items:center;gap:10px}.piece-color{font-size:1.5rem}.piece-color.white{color:#333}.piece-color.black{color:#1a1a1a}.time-control{background:var(--bg-hover);padding:4px 10px;border-radius:15px;font-size:.85rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:40px;background:var(--bg-sidebar);border-radius:12px;grid-column:1 / -1}.empty-state p{font-size:1.1rem;color:#333;margin-bottom:10px}.empty-state span{color:#666;font-size:.95rem}.btn{padding:12px 24px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:15px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}@media(max-width:768px){.profile-header{flex-direction:column;text-align:center;padding:30px 20px}.profile-avatar{width:100px;height:100px;font-size:2.5rem}.profile-info h1{font-size:1.8rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.game-card{flex-wrap:wrap}.game-card-main{grid-template-columns:1fr;gap:12px}.game-players,.game-meta{flex-wrap:wrap;justify-content:center}.game-date-time{align-items:center}.game-actions{flex-wrap:wrap;justify-content:center}}.coach-info-card{background:linear-gradient(135deg,#6366f11a,#8b5cf60d);border:1px solid rgba(99,102,241,.3);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.coach-info-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.coach-info-header .coach-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#6366f126;border-radius:12px}.coach-details h4{color:var(--text-secondary);font-size:.85rem;font-weight:400;margin:0 0 .25rem}.coach-details .coach-name{color:var(--text-primary);font-size:1.2rem;font-weight:600}.assignment-summary{display:flex;gap:1.5rem;margin:1rem 0;padding:1rem;background:#ffffff08;border-radius:10px}.assignment-summary .assignment-stat{display:flex;flex-direction:column;align-items:center}.assignment-summary .stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.assignment-summary .stat-label{font-size:.8rem;color:var(--text-secondary)}.view-assignments-btn{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.view-assignments-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.no-coach-info{display:flex;align-items:center;gap:1rem;color:var(--text-secondary)}.no-coach-info .no-coach-icon{font-size:1.5rem}.no-coach-info p{margin:0;font-size:.9rem;line-height:1.5}.ocean-lessons-container{min-height:100vh;width:100%;max-width:100vw;background:linear-gradient(180deg,#7ec8e3,#5ab4d4 3%,#3a9fc4 8%,#2589b4 15%,#1a6d8a 25%,#145a73,#0d4a5f,#083a4d,#042633,#021a24);position:relative;overflow-x:hidden;padding-bottom:0;box-sizing:border-box}.particles-container{position:fixed;width:100%;height:100%;pointer-events:none;z-index:3;overflow:hidden;contain:strict;will-change:auto}.particle{position:absolute;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(200,230,255,.5) 50%,transparent 100%);border-radius:50%;animation:particleFloat 20s linear infinite;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}@keyframes particleFloat{0%{transform:translate3d(0,100vh,0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translate3d(50px,-10vh,0);opacity:0}}.depth-fog{position:fixed;bottom:0;left:0;width:100%;height:40%;background:linear-gradient(to top,rgba(2,26,36,.8) 0%,rgba(4,38,51,.4) 40%,transparent 100%);pointer-events:none;z-index:4;contain:strict;transform:translateZ(0)}.seaweed-container{position:relative;width:100%;height:280px;pointer-events:none;z-index:3;overflow:visible;margin-top:30px;margin-bottom:0;background:transparent;contain:layout style}.seaweed{position:absolute;bottom:0;transform-origin:bottom center;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.seaweed-kelp{width:12px;animation:kelpSway 4s ease-in-out infinite}.seaweed-kelp:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100%;height:100%;background:linear-gradient(to top,#0a3d2d,#0f5c40 20%,#157a54,#1a9968 80%,#23b375b3);border-radius:50% 50% 10% 10%;clip-path:polygon(30% 0%,70% 0%,75% 15%,65% 25%,80% 35%,65% 45%,75% 55%,60% 65%,70% 75%,55% 85%,60% 100%,40% 100%,45% 85%,30% 75%,40% 65%,25% 55%,35% 45%,20% 35%,35% 25%,25% 15%);box-shadow:inset 2px 0 4px #ffffff1a,inset -2px 0 4px #00000026,2px 0 8px #1a99684d}.seaweed-kelp:after{content:"";position:absolute;bottom:50%;left:-15px;width:18px;height:45%;background:linear-gradient(135deg,#0f5c40,#157a54 40%,#1a9968);border-radius:80% 20%;transform:rotate(-35deg);opacity:.85}.seaweed-blade{width:6px;animation:bladeSway 3.5s ease-in-out infinite}.seaweed-blade:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#0d4a35,#14694a 30%,#1b8860 70%,#27a77099);border-radius:30% 30% 5% 5%;box-shadow:inset 1px 0 2px #ffffff26,1px 0 4px #14694a33}.seaweed-wavy{width:10px;animation:wavySway 5s ease-in-out infinite}.seaweed-wavy:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#08362a,#0c4f3c,#11694f,#168363,#1b9d6a80);border-radius:60%;clip-path:path("M 5 0 Q 10 20, 5 40 Q 0 60, 5 80 Q 10 100, 5 120 Q 0 140, 5 160 Q 10 180, 5 200 L 5 250 L 5 250 Q 0 180, 5 160 Q 10 140, 5 120 Q 0 100, 5 80 Q 10 60, 5 40 Q 0 20, 5 0");box-shadow:2px 0 6px #16836340}.seaweed-wavy:after{content:"";position:absolute;bottom:30%;right:-12px;width:14px;height:50%;background:linear-gradient(-45deg,#0c4f3c,#11694f,#168363b3);border-radius:20% 80%;transform:rotate(30deg);opacity:.8}.seaweed-thick{width:16px;animation:thickSway 6s ease-in-out infinite}.seaweed-thick:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#062820,#0a4030 20%,#0e5840,#127050 70%,#16886099);border-radius:40% 40% 15% 15%;box-shadow:inset 3px 0 6px #ffffff14,inset -3px 0 6px #00000026,3px 0 10px #1270504d}.seaweed-thick:after{content:"";position:absolute;bottom:60%;left:-20px;width:25px;height:35%;background:linear-gradient(120deg,#0a4030,#0e5840,#12705099);border-radius:70% 30%;transform:rotate(-40deg);opacity:.75}@keyframes kelpSway{0%,to{transform:rotate(-6deg) skew(-2deg)}25%{transform:rotate(-2deg) skew(1deg)}50%{transform:rotate(6deg) skew(2deg)}75%{transform:rotate(2deg) skew(-1deg)}}@keyframes bladeSway{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}@keyframes wavySway{0%,to{transform:rotate(-4deg) scaleX(1)}33%{transform:rotate(2deg) scaleX(1.05)}66%{transform:rotate(4deg) scaleX(.95)}}@keyframes thickSway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.sand-particles{position:fixed;bottom:0;left:0;width:100%;height:30%;pointer-events:none;z-index:2;overflow:hidden;contain:strict}.sand-particle{position:absolute;background:radial-gradient(circle,rgba(194,178,128,.6) 0%,rgba(194,178,128,.2) 50%,transparent 100%);border-radius:50%;animation:sandFloat 10s linear infinite;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}@keyframes sandFloat{0%{transform:translateZ(0);opacity:0}20%{opacity:.5}80%{opacity:.5}to{transform:translate3d(30px,-50px,0);opacity:0}}.lens-flare{position:absolute;top:80px;right:15%;width:150px;height:150px;pointer-events:none;z-index:7}.flare-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:radial-gradient(circle,rgba(255,255,220,.9) 0%,rgba(255,255,180,.5) 30%,rgba(255,200,100,.2) 60%,transparent 100%);border-radius:50%;animation:flareGlow 3s ease-in-out infinite}.flare-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border:2px solid rgba(255,255,200,.3);border-radius:50%;animation:flareExpand 4s ease-in-out infinite}.flare-rays{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,200,.1) 10deg,transparent 20deg,rgba(255,255,200,.1) 30deg,transparent 40deg,rgba(255,255,200,.1) 50deg,transparent 60deg);animation:flareRotate 20s linear infinite}@keyframes flareGlow{0%,to{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}@keyframes flareExpand{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.2)}}@keyframes flareRotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.fish-school{position:absolute;pointer-events:none;z-index:2;font-size:1.2rem;opacity:.5;filter:blur(.5px)}.fish-school.school-1{animation:swimSchool1 25s linear infinite}.fish-school.school-2{animation:swimSchool2 30s linear infinite;animation-delay:-10s}.fish-school.school-3{animation:swimSchool3 20s linear infinite;animation-delay:-5s}@keyframes swimSchool1{0%{left:-200px;top:80px;transform:scaleX(1)}50%{left:calc(100% + 200px);top:100px;transform:scaleX(1)}50.1%{left:calc(100% + 200px);top:100px;transform:scaleX(-1)}to{left:-200px;top:80px;transform:scaleX(-1)}}@keyframes swimSchool2{0%{left:calc(100% + 200px);top:150px;transform:scaleX(-1)}50%{left:-200px;top:130px;transform:scaleX(-1)}50.1%{left:-200px;top:130px;transform:scaleX(1)}to{left:calc(100% + 200px);top:150px;transform:scaleX(1)}}@keyframes swimSchool3{0%{left:-150px;top:200px;transform:scaleX(1)}50%{left:calc(100% + 150px);top:180px;transform:scaleX(1)}50.1%{left:calc(100% + 150px);top:180px;transform:scaleX(-1)}to{left:-150px;top:200px;transform:scaleX(-1)}}.depth-blur{position:fixed;bottom:0;left:0;width:100%;height:25%;pointer-events:none;z-index:3;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);mask-image:linear-gradient(to top,black 0%,transparent 100%);-webkit-mask-image:linear-gradient(to top,black 0%,transparent 100%)}.level-creature-video{position:absolute;width:140px;height:100px;z-index:2;pointer-events:none;animation:floatSwim 5s ease-in-out infinite}.level-creature-video:nth-child(1){top:-20px}.level-creature-video.on-right{right:-160px}.level-creature-video.on-left{left:-160px}.level-creature-video video,.creature-video-wrapper video{width:100%;height:100%;object-fit:contain;background:transparent;border:none;outline:none}.creature-video-wrapper{width:100%;height:100%;background:transparent}@keyframes floatSwim{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(15px) translateY(-5px)}50%{transform:translate(0) translateY(5px)}75%{transform:translate(-15px) translateY(-3px)}}.bubbles-container{position:fixed;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden;contain:strict}.bubble{position:absolute;bottom:-60px;border-radius:50%;animation:bubbleRise 12s infinite linear;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden;background:radial-gradient(ellipse at 25% 25%,rgba(255,255,255,.95) 0%,rgba(255,255,255,.6) 15%,rgba(173,216,255,.4) 40%,rgba(135,206,250,.2) 60%,transparent 100%);box-shadow:inset -2px -2px 8px #fffc,inset 2px 2px 8px #64b4ff4d,0 0 8px #fff6}.bubble:before{content:"";position:absolute;top:15%;left:20%;width:30%;height:20%;background:radial-gradient(ellipse,rgba(255,255,255,.9) 0%,transparent 70%);border-radius:50%;filter:blur(1px)}.bubble:after{content:"";position:absolute;bottom:20%;right:15%;width:15%;height:10%;background:#ffffff80;border-radius:50%;filter:blur(2px)}@keyframes bubbleRise{0%{transform:translateZ(0);opacity:0}3%{opacity:.7}to{transform:translate3d(0,-110vh,0);opacity:0}}.ocean-surface{position:fixed;top:0;left:0;width:100%;height:80px;overflow:hidden;z-index:6;contain:strict;transform:translateZ(0)}.wave{position:absolute;width:200%;height:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%237ec8e3' fill-opacity='0.8' d='M0,160L48,176C96,192,192,224,288,213.3C384,203,480,149,576,138.7C672,128,768,160,864,181.3C960,203,1056,213,1152,197.3C1248,181,1344,139,1392,117.3L1440,96L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z'%3E%3C/path%3E%3C/svg%3E") repeat-x;background-size:50% 100%;will-change:transform;backface-visibility:hidden}.wave1{animation:wave 8s linear infinite;opacity:.8}.wave2{animation:wave 12s linear infinite reverse;opacity:.5;top:10px}.wave3{animation:wave 15s linear infinite;opacity:.3;top:20px}@keyframes wave{0%{transform:translate(0)}to{transform:translate(-50%)}}.ocean-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:#fff;gap:30px}.ocean-loading .submarine{font-size:4rem;animation:submarineFloat 3s ease-in-out infinite}@keyframes submarineFloat{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-20px) rotate(5deg)}}.ocean-loading p{font-size:1.3rem;opacity:.9}.ocean-header{position:relative;z-index:10;padding:120px 20px 40px;text-align:center}.header-content h1{font-size:2.8rem;color:#fff;text-shadow:2px 2px 10px rgba(0,0,0,.3);margin-bottom:10px;animation:titleGlow 2s ease-in-out infinite}@keyframes titleGlow{0%,to{text-shadow:2px 2px 10px rgba(0,0,0,.3),0 0 20px rgba(255,255,255,.2)}50%{text-shadow:2px 2px 10px rgba(0,0,0,.3),0 0 40px rgba(255,255,255,.4)}}.header-content p{font-size:1.2rem;color:#ffffffe6;margin-bottom:30px}.ocean-progress{position:fixed;top:100px;right:20px;display:flex;align-items:center;gap:15px;background:#fff3;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:15px 20px;border-radius:16px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #00000026;z-index:100}.progress-submarine{display:flex;flex-direction:column;align-items:center;gap:10px}.submarine-icon{font-size:2.5rem;animation:submarineBob 2s ease-in-out infinite}@keyframes submarineBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.depth-meter{width:12px;height:60px;background:#0000004d;border-radius:6px;overflow:hidden;position:relative}.depth-fill{position:absolute;bottom:0;width:100%;background:linear-gradient(to top,#22c55e,#4ade80);border-radius:6px;transition:height .5s ease}.progress-info{display:flex;flex-direction:column;align-items:flex-start;color:#fff}.depth-label{font-size:.85rem;opacity:.8}.depth-value{font-size:1.5rem;font-weight:700}.depth-percent{font-size:.9rem;color:#4ade80;font-weight:600}.ocean-path{position:relative;z-index:10;max-width:900px;margin:0 auto;padding:40px 20px}.lesson-level{position:relative;display:flex;align-items:center;padding:25px 0;animation:fadeInLevel .6s ease forwards;opacity:0;animation-delay:calc(var(--level-index) * .12s)}@keyframes fadeInLevel{to{opacity:1}}.lesson-level.left{justify-content:flex-start;padding-left:calc(30px + var(--random-offset, 0px))}.lesson-level.right{justify-content:flex-end;padding-right:calc(30px + var(--random-offset, 0px))}.path-connector{position:absolute;top:-40px;width:100%;height:80px;pointer-events:none;z-index:1}.connector-line{fill:none;stroke:url(#softGradient);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.6;filter:blur(.5px)}.connector-line.completed{stroke:url(#completedGradient);opacity:.9;filter:blur(0px) drop-shadow(0 0 8px rgba(34,197,94,.4))}.lesson-node{position:relative;display:flex;align-items:center;gap:16px;background:linear-gradient(145deg,#fffffff2,#f0f8ffe6);border-radius:24px;padding:18px 22px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 32px #1f268726,inset 0 1px #fffc;max-width:320px;z-index:5;border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lesson-node:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,transparent 100%);border-radius:24px 24px 0 0;pointer-events:none}.lesson-node:hover{transform:scale(1.06) translateY(-8px) rotate(1deg);box-shadow:0 20px 50px #1f268740,inset 0 1px #ffffffe6}.lesson-node.completed{background:linear-gradient(145deg,#d1fae5f2,#a7f3d0e6);box-shadow:0 8px 32px #22c55e40,inset 0 1px #fffc;border:1px solid rgba(34,197,94,.3)}.lesson-node.locked{background:linear-gradient(145deg,#c8d2dcd9,#b4bec8cc);cursor:not-allowed;opacity:.75;filter:saturate(.5);border:1px solid rgba(150,160,170,.3)}.lesson-node.locked:hover{transform:scale(1.02)}.lesson-node.current{animation:currentFloat 3s ease-in-out infinite;background:linear-gradient(145deg,#eff6fffa,#dbeafef2);box-shadow:0 8px 32px #3b82f64d,0 0 0 2px #3b82f666,inset 0 1px #ffffffe6;border:1px solid rgba(59,130,246,.3)}@keyframes currentFloat{0%,to{transform:translateY(0);box-shadow:0 8px 32px #3b82f64d,0 0 0 2px #3b82f666,0 0 20px #3b82f633}50%{transform:translateY(-6px);box-shadow:0 16px 48px #3b82f659,0 0 0 3px #3b82f680,0 0 35px #3b82f64d}}.sea-creatures{position:absolute;top:-20px;left:50%;transform:translate(-50%)}.creature{font-size:1.5rem;animation:creatureSwim 3s ease-in-out infinite}.creature.fish{animation-delay:0s}.creature.jellyfish{animation:jellyfishFloat 4s ease-in-out infinite}.creature.starfish{animation:starfishTwinkle 2s ease-in-out infinite}@keyframes creatureSwim{0%,to{transform:translate(0) scaleX(1)}50%{transform:translate(10px) scaleX(1)}}@keyframes jellyfishFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes starfishTwinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.node-circle{width:56px;height:56px;border-radius:50%;background:linear-gradient(145deg,#60a5fa,#2563eb);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 20px #3b82f666,inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0000001a;position:relative}.node-circle:after{content:"";position:absolute;top:6px;left:8px;width:12px;height:8px;background:#ffffff80;border-radius:50%;filter:blur(2px)}.lesson-node.completed .node-circle{background:linear-gradient(145deg,#4ade80,#16a34a);box-shadow:0 6px 20px #22c55e66,inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0000001a}.lesson-node.locked .node-circle{background:linear-gradient(145deg,#a1a1aa,#71717a);box-shadow:0 4px 12px #71717a4d,inset 0 2px 4px #fff3,inset 0 -2px 4px #0000001a}.level-number{color:#fff;font-size:1.4rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.lock-icon{font-size:1.3rem;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.check-icon{color:#fff;font-size:1.6rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.node-info{flex:1;min-width:0}.node-category{font-size:1.2rem}.node-title{font-size:1rem;font-weight:600;color:#1e293b;margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-badges{display:flex;gap:8px;flex-wrap:wrap}.difficulty-tag{padding:3px 10px;border-radius:10px;font-size:.75rem;color:#fff;font-weight:600}.points-tag{padding:3px 10px;border-radius:10px;font-size:.75rem;background:#fef3c7;color:#92400e;font-weight:600}.locked-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 15px;border-radius:8px;font-size:.85rem;white-space:nowrap;margin-top:10px;opacity:0;visibility:hidden;transition:all .3s;z-index:100}.locked-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-bottom-color:#000c}.lesson-node.locked:hover .locked-tooltip{opacity:1;visibility:visible}.current-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.pulse-ring{position:absolute;width:150%;height:150%;border:3px solid rgba(59,130,246,.5);border-radius:25px;animation:pulseRing 2s ease-out infinite;top:50%;left:50%;transform:translate(-50%,-50%)}.pulse-ring.delay{animation-delay:1s}@keyframes pulseRing{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.3);opacity:0}}.depth-indicator{position:absolute;display:flex;align-items:center;gap:5px;color:#ffffffb3;font-size:.85rem}.lesson-level.left .depth-indicator{right:20px}.lesson-level.right .depth-indicator{left:20px}.depth-icon{font-size:1.2rem}.treasure-end{text-align:center;padding:60px 20px;margin-top:40px}.treasure-chest{width:100px;height:100px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 10px 40px #fbbf2466,inset 0 -5px 15px #0003;animation:treasureGlow 2s ease-in-out infinite}@keyframes treasureGlow{0%,to{box-shadow:0 10px 40px #fbbf2466,0 0 20px #fbbf244d}50%{box-shadow:0 10px 40px #fbbf2499,0 0 40px #fbbf2480}}.treasure-icon{font-size:3rem}.treasure-end p{color:#ffffffe6;font-size:1.1rem;max-width:300px;margin:0 auto}.ocean-modal-overlay{position:fixed;inset:0;background:#001e3cd9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.ocean-lesson-modal{background:linear-gradient(180deg,#e0f2fe,#bae6fd);border-radius:25px;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 25px 80px #0006,0 0 0 4px #ffffff4d;animation:modalAppear .4s ease}@keyframes modalAppear{0%{opacity:0;transform:scale(.8) translateY(50px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close-btn{position:absolute;top:15px;right:15px;width:40px;height:40px;border:none;background:#ffffffe6;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#1e3a5f;z-index:10;box-shadow:0 2px 10px #0000001a}.modal-close-btn:hover{background:#fff;transform:rotate(90deg)}.modal-header-ocean{padding:30px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border-radius:25px 25px 0 0;position:relative;overflow:hidden}.modal-decoration{position:absolute;top:10px;left:20px;display:flex;gap:10px;opacity:.6}.modal-decoration span{font-size:1.5rem;animation:fishSwim 3s ease-in-out infinite}.modal-decoration span:nth-child(2){animation-delay:-1s}.modal-decoration span:nth-child(3){animation-delay:-2s}@keyframes fishSwim{0%,to{transform:translate(0)}50%{transform:translate(20px)}}.modal-category{display:block;font-size:1rem;opacity:.9;margin-bottom:10px}.modal-header-ocean h2{font-size:1.8rem;margin-bottom:15px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.modal-difficulty{display:inline-block;padding:5px 15px;border-radius:15px;font-size:.85rem;font-weight:600}.modal-content-ocean{padding:30px}.lesson-description{font-size:1.05rem;color:#475569;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.1)}.lesson-content-text{line-height:1.8;color:#1e293b}.lesson-content-text p{margin-bottom:15px}.modal-footer-ocean{padding:20px 30px;background:#ffffff80;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.treasure-reward{font-size:1.1rem;color:#0369a1;font-weight:600}.complete-btn{display:flex;align-items:center;gap:10px;padding:15px 30px;background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;border:none;border-radius:15px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #22c55e66}.complete-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #22c55e80}.btn-icon{font-size:1.3rem}@media(max-width:768px){.header-content h1{font-size:2rem}.ocean-progress{padding:15px 25px}.lesson-level.left,.lesson-level.right{justify-content:center;padding-left:20px;padding-right:20px}.lesson-node{max-width:100%}.depth-indicator,.path-connector{display:none}.treasure-end{padding:40px 20px}.modal-footer-ocean{flex-direction:column;text-align:center}.complete-btn{width:100%;justify-content:center}}@media(max-width:480px){.header-content h1{font-size:1.6rem}.node-circle{width:50px;height:50px}.lesson-node{padding:15px 20px}.node-title{font-size:.9rem}}.lesson-player-container{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:20px;box-sizing:border-box}.back-button{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;margin-bottom:20px}.back-button:hover{background:#fff3;transform:translate(-5px)}.back-icon{font-size:18px}.lesson-player-content{display:flex;gap:24px;height:calc(100vh - 120px)}.video-section{flex:0 0 70%;max-width:70%}.video-wrapper{position:relative;width:100%;height:100%;background:#000;border-radius:16px;overflow:hidden;box-shadow:0 10px 40px #0006}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.no-video-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#2a2a4a,#1a1a3a);color:#fff;text-align:center;padding:40px}.placeholder-icon{font-size:80px;margin-bottom:20px;opacity:.5}.no-video-placeholder p{font-size:18px;margin:0;opacity:.8}.placeholder-subtitle{font-size:14px!important;margin-top:10px!important;opacity:.5!important}.info-section{flex:0 0 30%;max-width:30%;overflow-y:auto}.lesson-info-card{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.1);padding:24px;height:fit-content}.lesson-header{text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.lesson-category-badge{display:inline-block;padding:6px 16px;background:#6366f133;border:1px solid rgba(99,102,241,.3);border-radius:20px;color:#a5b4fc;font-size:13px;font-weight:500;margin-bottom:12px}.lesson-title{color:#fff;font-size:22px;font-weight:700;margin:0 0 12px;line-height:1.3}.lesson-difficulty-badge{display:inline-block;padding:4px 14px;border-radius:12px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.lesson-description-section,.lesson-content-section{margin-bottom:20px}.lesson-description-section h3,.lesson-content-section h3{color:#fff;font-size:14px;font-weight:600;margin:0 0 10px;display:flex;align-items:center;gap:8px}.lesson-description-section p{color:#fffc;font-size:14px;line-height:1.6;margin:0}.lesson-content-text{max-height:200px;overflow-y:auto;padding-right:10px}.lesson-content-text::-webkit-scrollbar{width:6px}.lesson-content-text::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.lesson-content-text::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.lesson-content-text p{color:#ffffffb3;font-size:13px;line-height:1.7;margin:0 0 10px}.lesson-content-text p:last-child{margin-bottom:0}.lesson-reward-section{margin:24px 0;padding:16px;background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border:1px solid rgba(251,191,36,.3);border-radius:12px}.reward-badge{display:flex;align-items:center;justify-content:center;gap:10px}.reward-icon{font-size:24px}.reward-text{color:#fbbf24;font-size:15px;font-weight:600}.complete-lesson-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 15px #22c55e4d}.complete-lesson-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.complete-lesson-btn:disabled{opacity:.7;cursor:not-allowed}.complete-lesson-btn.completed{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 15px #6366f14d}.btn-icon{font-size:18px}.btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.lesson-player-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.lesson-player-loading p{font-size:16px;opacity:.8}@media(max-width:1024px){.lesson-player-content{flex-direction:column;height:auto}.video-section,.info-section{flex:none;max-width:100%;width:100%}.video-wrapper{height:0;padding-bottom:56.25%}.info-section{margin-top:20px}.lesson-content-text{max-height:none}}@media(max-width:640px){.lesson-player-container{padding:15px}.lesson-info-card{padding:16px}.lesson-title{font-size:18px}}.leaderboard-container{max-width:1000px;margin:0 auto;padding:30px 20px}.leaderboard-header{text-align:center;margin-bottom:30px}.leaderboard-header h1{font-size:2.2rem;color:var(--text-primary);margin-bottom:10px}.leaderboard-header p{color:var(--text-secondary);font-size:1.1rem}.filter-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:30px}.tab{padding:12px 24px;border:2px solid var(--border-color);background:var(--bg-card);border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s;color:var(--text-secondary)}.tab:hover{border-color:var(--primary-color);color:var(--primary-color)}.tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.podium{display:flex;justify-content:center;align-items:flex-end;gap:20px;margin-bottom:40px;padding:20px}.podium-item{display:flex;flex-direction:column;align-items:center;background:var(--bg-card);padding:20px;border-radius:16px;box-shadow:0 4px 20px #0000001a;position:relative;cursor:pointer;transition:transform .2s;border:1px solid var(--border-color)}.podium-item:hover{transform:translateY(-5px)}.podium-item.first{padding:30px 25px;background:var(--bg-hover);border:2px solid var(--primary-color);order:2}.podium-item.second{order:1}.podium-item.third{order:3}.crown{font-size:2rem;position:absolute;top:-25px}.podium-avatar{width:70px;height:70px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:10px;overflow:hidden}.podium-avatar img{width:100%;height:100%;object-fit:cover}.first .podium-avatar{width:90px;height:90px;font-size:2.2rem;background:var(--secondary-color);color:var(--text-primary)}.podium-name{font-weight:600;color:var(--text-primary);margin-bottom:5px}.podium-stat{color:var(--text-secondary);font-size:.9rem}.podium-rank{font-size:2rem;margin-top:10px}.leaderboard-list{display:flex;flex-direction:column;gap:10px}.leaderboard-row{display:flex;align-items:center;background:var(--bg-card);padding:15px 20px;border-radius:12px;box-shadow:0 2px 10px #0000000d;cursor:pointer;transition:all .2s;gap:20px}.leaderboard-row:hover{transform:translate(5px);box-shadow:0 4px 15px #0000001a}.leaderboard-row.is-me{background:var(--bg-hover);border:2px solid var(--primary-color)}.leaderboard-row.rank-1{background:var(--bg-hover);border:2px solid var(--secondary-color)}.leaderboard-row.rank-2,.leaderboard-row.rank-3{background:var(--bg-card);border:2px solid var(--border-color)}.rank-cell{width:50px;text-align:center}.rank-medal{font-size:1.5rem}.rank-number{font-size:1rem;font-weight:600;color:var(--text-secondary)}.player-cell{display:flex;align-items:center;gap:12px;flex:1}.player-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:700;overflow:hidden}.player-avatar img{width:100%;height:100%;object-fit:cover}.player-info{display:flex;align-items:center;gap:8px}.player-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.me-badge{background:var(--primary-color);color:#fff;padding:2px 8px;border-radius:10px;font-size:.75rem}.online-dot{width:10px;height:10px;background:var(--success);border-radius:50%;animation:pulse 2s ease-in-out infinite}.stats-cell{display:flex;gap:25px}.stat{display:flex;flex-direction:column;align-items:center;min-width:60px}.stat-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-muted)}.stat.win-rate .stat-value{color:var(--success)}.empty-state{text-align:center;padding:60px 20px;background:var(--bg-sidebar);border-radius:16px}.empty-state p{font-size:1.2rem;color:var(--text-primary);margin-bottom:10px}.empty-state span{color:var(--text-secondary)}@media(max-width:768px){.leaderboard-header h1{font-size:1.8rem}.filter-tabs{flex-wrap:wrap}.tab{flex:1;min-width:100px;text-align:center}.podium{flex-direction:column;align-items:center}.podium-item{order:unset!important;width:100%;max-width:300px}.leaderboard-row{flex-wrap:wrap;gap:10px}.stats-cell{width:100%;justify-content:space-around;padding-top:10px;border-top:1px solid var(--border-color)}}.puzzles-container{max-width:1400px;margin:0 auto;padding:30px 20px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:20px;color:var(--text-secondary)}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.loading-overlay{position:fixed;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;gap:20px;color:#fff}.puzzles-header{text-align:center;margin-bottom:30px}.puzzles-header h1{font-size:2.5rem;color:var(--text-primary);margin-bottom:10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.puzzles-header p{color:var(--text-secondary);font-size:1.1rem}.stats-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:30px}.stat-card{background:var(--bg-card);border-radius:16px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 4px 15px #00000014;border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001f}.stat-card.streak{border-left:4px solid #f59e0b}.stat-card.solved{border-left:4px solid #22c55e}.stat-card.rating{border-left:4px solid #667eea}.stat-card.points{border-left:4px solid #a855f7}.daily-puzzle-section{margin-bottom:40px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{font-size:1.5rem;color:var(--text-primary)}.daily-date{color:var(--text-secondary);font-size:.95rem}.daily-puzzle-card{background:var(--bg-card);border-radius:20px;padding:25px;display:flex;gap:30px;box-shadow:0 8px 30px #0000001a;border:2px solid transparent;cursor:pointer;transition:all .3s}.daily-puzzle-card:hover{border-color:var(--primary-color);transform:translateY(-3px)}.daily-puzzle-card.solved{opacity:.8;border-color:var(--success)}.daily-puzzle-preview{width:280px;flex-shrink:0}.daily-puzzle-info{flex:1;display:flex;flex-direction:column;justify-content:center}.daily-puzzle-info h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:10px}.daily-puzzle-info p{color:var(--text-secondary);margin-bottom:15px;line-height:1.6}.daily-puzzle-meta{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.difficulty-badge{padding:5px 14px;border-radius:20px;color:#fff;font-size:.85rem;font-weight:600}.rating-badge,.points-badge{background:var(--bg-hover);padding:5px 14px;border-radius:20px;font-size:.85rem;color:var(--text-primary);font-weight:500}.solved-badge{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:12px 24px;border-radius:10px;font-weight:600;display:inline-block}.play-btn{padding:12px 24px;font-size:1rem}.themes-section{margin-bottom:40px}.themes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.theme-card{background:var(--bg-card);border-radius:16px;padding:25px;cursor:pointer;transition:all .3s;border:2px solid transparent;position:relative;overflow:hidden}.theme-card:hover{transform:translateY(-5px);box-shadow:0 12px 35px #00000026;border-color:var(--primary-color)}.theme-card.locked{opacity:.6;cursor:not-allowed}.theme-card.locked:hover{transform:none;border-color:transparent}.locked-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;border-radius:16px}.lock-icon{font-size:2rem}.theme-icon{font-size:2.5rem;margin-bottom:15px}.theme-info h3{font-size:1.2rem;color:var(--text-primary);margin-bottom:8px}.theme-info p{color:var(--text-secondary);font-size:.9rem;margin-bottom:15px}.theme-progress{display:flex;align-items:center;gap:12px}.progress-text{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.progress-bar{flex:1;height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.progress-bar.mini{height:6px}.progress-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;transition:width .5s ease}.categories-section{margin-bottom:40px}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.category-card{background:var(--bg-card);border-radius:12px;padding:18px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .2s;border:1px solid var(--border-color)}.category-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a;border-color:var(--primary-color)}.category-icon{font-size:1.8rem}.category-info h4{font-size:.95rem;color:var(--text-primary);margin-bottom:8px}.category-progress{display:flex;align-items:center;gap:8px}.quick-actions{text-align:center;margin-top:30px}.btn-large{padding:16px 40px;font-size:1.1rem}.login-hint{margin-top:15px;color:var(--text-secondary)}.login-hint a{color:var(--primary-color);text-decoration:underline}.puzzle-play-view{max-width:1200px;margin:0 auto}.puzzle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.back-btn{background:var(--bg-hover);border:none;padding:10px 20px;border-radius:10px;font-size:1rem;cursor:pointer;transition:background .2s;color:var(--text-primary)}.back-btn:hover{background:var(--border-color)}.puzzle-info h2{font-size:1.4rem;color:var(--text-primary);margin-bottom:8px}.puzzle-meta{display:flex;gap:10px}.timer{display:flex;align-items:center;gap:8px;background:var(--bg-card);padding:12px 20px;border-radius:12px;border:1px solid var(--border-color)}.timer-icon{font-size:1.2rem}.timer-value{font-size:1.4rem;font-weight:700;color:var(--text-primary);font-family:Courier New,monospace}.puzzle-content{display:grid;grid-template-columns:1fr 350px;gap:30px}.puzzle-board-section{display:flex;flex-direction:column;gap:20px}.board-wrapper{width:100%;max-width:560px}.puzzle-message{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 25px;border-radius:12px;font-size:1.1rem;font-weight:500;transition:all .3s}.puzzle-message.playing{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.puzzle-message.correct{background:linear-gradient(135deg,#22c55e26,#16a34a26);color:#22c55e;border:1px solid #22c55e}.puzzle-message.wrong{background:linear-gradient(135deg,#ef444426,#dc262626);color:#ef4444;border:1px solid #ef4444;animation:shake .5s}.puzzle-message.completed{background:linear-gradient(135deg,#667eea26,#a855f726);color:#667eea;border:1px solid #667eea}.puzzle-message .icon{font-size:1.5rem}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.puzzle-sidebar{display:flex;flex-direction:column;gap:20px}.puzzle-description{background:var(--bg-card);border-radius:16px;padding:25px;border:1px solid var(--border-color)}.puzzle-description h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:12px}.puzzle-description p{color:var(--text-secondary);line-height:1.6;margin-bottom:10px}.turn-info{font-weight:600;color:var(--text-primary)!important}.puzzle-hint{background:linear-gradient(135deg,#f59e0b1a,#d977061a);border:1px solid #f59e0b;border-radius:12px;padding:18px}.puzzle-hint h4{font-size:1rem;color:#f59e0b;margin-bottom:8px}.puzzle-hint p{color:var(--text-primary);font-size:.95rem}.puzzle-result{background:linear-gradient(135deg,#667eea1a,#a855f71a);border:1px solid #667eea;border-radius:16px;padding:25px;text-align:center}.puzzle-result h3{font-size:1.3rem;color:#667eea;margin-bottom:15px}.result-stats{display:flex;justify-content:center;gap:30px}.result-stats .stat{display:flex;flex-direction:column;align-items:center}.result-stats .label{font-size:.85rem;color:var(--text-secondary);margin-bottom:4px}.result-stats .value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.puzzle-actions{display:flex;flex-direction:column;gap:12px}.btn{padding:14px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-hint{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-hint:hover{box-shadow:0 6px 20px #f59e0b66}.btn-retry{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-retry:hover{background:var(--border-color)}.btn-next{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-next:hover{box-shadow:0 6px 20px #22c55e66}.puzzles-list-modal{background:var(--bg-card);border-radius:20px;max-width:900px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:1.4rem;color:var(--text-primary)}.close-btn{width:40px;height:40px;border:none;background:var(--bg-hover);border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;color:var(--text-primary)}.close-btn:hover{background:var(--border-color)}.puzzles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;padding:25px 30px;overflow-y:auto}.puzzle-card{background:var(--bg-hover);border-radius:12px;padding:18px;cursor:pointer;transition:all .2s;border:2px solid transparent}.puzzle-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001a;border-color:var(--primary-color)}.puzzle-card.solved{border-color:var(--success);background:#22c55e1a}.puzzle-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.difficulty-dot{width:12px;height:12px;border-radius:50%}.puzzle-rating{font-size:.85rem;color:var(--text-secondary)}.solved-check{margin-left:auto;color:var(--success);font-size:1.2rem}.puzzle-card h4{font-size:1rem;color:var(--text-primary);margin-bottom:8px}.puzzle-card p{color:var(--text-secondary);font-size:.85rem;margin-bottom:12px;line-height:1.4}.puzzle-card-footer{display:flex;justify-content:space-between;align-items:center}.puzzle-card-footer .points{font-size:.85rem;color:var(--primary-color);font-weight:600}.puzzle-card-footer .best-time{font-size:.8rem;color:var(--success)}@media(max-width:1024px){.puzzle-content{grid-template-columns:1fr}.puzzle-sidebar{order:-1}.board-wrapper{max-width:100%}}@media(max-width:768px){.puzzles-header h1{font-size:1.8rem}.stats-overview{grid-template-columns:repeat(2,1fr)}.daily-puzzle-card{flex-direction:column}.daily-puzzle-preview{width:100%;max-width:300px;margin:0 auto}.themes-grid{grid-template-columns:1fr}.categories-grid{grid-template-columns:repeat(2,1fr)}.puzzle-header{flex-direction:column;gap:15px;text-align:center}.puzzle-meta{justify-content:center}.puzzles-grid{grid-template-columns:1fr}}@media(max-width:480px){.stats-overview,.categories-grid{grid-template-columns:1fr}.daily-puzzle-meta{justify-content:center}.result-stats{flex-direction:column;gap:15px}}.tournaments-container{padding:24px;max-width:1400px;margin:0 auto}.tournaments-header{text-align:center;margin-bottom:32px}.tournaments-header h1{font-size:2.5rem;margin-bottom:8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tournaments-header p{color:var(--text-secondary);font-size:1.1rem}.tournament-tabs{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;justify-content:center}.tab-btn{padding:12px 24px;border:none;border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;gap:8px}.tab-btn:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.tab-btn.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 15px #3b82f666}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.tournament-card{background:var(--bg-secondary);border-radius:16px;padding:24px;border:1px solid var(--border-color);transition:all .3s ease}.tournament-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026;border-color:var(--primary-color)}.tournament-card.child-friendly{border-left:4px solid #22c55e}.tournament-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.tournament-format{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border-radius:20px;font-size:.85rem}.format-icon{font-size:1.1rem}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.child-badge{margin-left:auto;font-size:1.2rem}.tournament-name{font-size:1.3rem;margin-bottom:8px;color:var(--text-primary)}.tournament-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:16px;line-height:1.5}.tournament-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.detail-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:8px;font-size:.9rem}.detail-icon{font-size:1rem}.tournament-prizes{padding:16px;background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border-radius:12px;margin-bottom:16px}.tournament-prizes h4{font-size:.9rem;margin-bottom:12px;color:var(--text-primary)}.prizes-list{display:flex;gap:12px}.prize-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border-radius:8px;font-size:.85rem}.prize-item.rank-1{border:1px solid #fbbf24}.prize-item.rank-2{border:1px solid #9ca3af}.prize-item.rank-3{border:1px solid #cd7f32}.tournament-actions{display:flex;gap:12px}.tournament-actions .btn{flex:1;padding:12px;border-radius:10px;font-size:.95rem;transition:all .3s ease}.btn-outline{background:transparent;border:2px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.empty-state{grid-column:1 / -1;text-align:center;padding:48px;background:var(--bg-secondary);border-radius:16px}.empty-icon{font-size:4rem;display:block;margin-bottom:16px}.empty-state p{color:var(--text-secondary);font-size:1.1rem}@media(max-width:768px){.tournaments-header h1{font-size:1.8rem}.tournaments-grid{grid-template-columns:1fr}.tournament-tabs{overflow-x:auto;padding-bottom:8px;justify-content:flex-start}.tab-btn{white-space:nowrap}.tournament-details{grid-template-columns:1fr}}.tournament-detail{padding:24px;max-width:1400px;margin:0 auto;min-height:100vh}.tournament-detail.loading{display:flex;align-items:center;justify-content:center}.chess-piece.spinning{display:block;font-size:3rem;animation:spin 1s linear infinite}.tournament-header{background:var(--bg-secondary);border-radius:16px;padding:24px;margin-bottom:24px;border:1px solid var(--border-color)}.back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;margin-bottom:16px;transition:color .3s}.back-btn:hover{color:var(--primary-color)}.header-content .title-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.header-content h1{font-size:2rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-content .description{color:var(--text-secondary);margin-bottom:16px}.header-content .meta-info{display:flex;flex-wrap:wrap;gap:16px}.header-content .meta-info span{padding:6px 12px;background:var(--bg-tertiary);border-radius:20px;font-size:.9rem}.status-badge{padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.upcoming{background:#3b82f633;color:#3b82f6}.status-badge.cancelled{background:#ef444433;color:#ef4444}.child-badge{font-size:1.5rem}.detail-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.detail-tabs .tab{padding:12px 24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;transition:all .3s;font-size:1rem}.detail-tabs .tab:hover{background:var(--bg-tertiary)}.detail-tabs .tab.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:transparent}.tab-content{background:var(--bg-secondary);border-radius:16px;padding:24px;border:1px solid var(--border-color)}.standings-table{width:100%;border-collapse:collapse}.standings-table th,.standings-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.standings-table th{color:var(--text-secondary);font-weight:600;font-size:.85rem;text-transform:uppercase}.standings-table tr.top-1{background:linear-gradient(135deg,#fbbf241a,#f59e0b1a)}.standings-table tr.top-2{background:linear-gradient(135deg,#9ca3af1a,#6b72801a)}.standings-table tr.top-3{background:linear-gradient(135deg,#cd7f321a,#b464281a)}.standings-table .rank{font-weight:700;font-size:1.1rem}.standings-table .player-info{display:flex;align-items:center;gap:12px}.standings-table .avatar,.standings-table .avatar-placeholder{width:36px;height:36px;border-radius:50%;object-fit:cover}.standings-table .avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-primary);font-weight:700}.standings-table .score{font-weight:700;color:var(--primary-color)}.standings-table .wins{color:#22c55e}.standings-table .losses{color:#ef4444}.standings-table .draws{color:#f59e0b}.round-selector{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.round-btn{padding:10px 20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .3s}.round-btn:hover{background:var(--bg-primary)}.round-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.match-card{background:var(--bg-tertiary);border-radius:12px;padding:16px;border:1px solid var(--border-color)}.match-players{display:flex;align-items:center;justify-content:space-between;gap:12px}.match-players .player{display:flex;align-items:center;gap:8px;flex:1}.match-players .player.white{justify-content:flex-start}.match-players .player.black{justify-content:flex-end;flex-direction:row-reverse}.match-players .piece{font-size:1.2rem}.match-players .player.white .piece{color:#fff;text-shadow:0 0 2px #000}.match-players .player.black .piece{color:#333}.match-result{display:flex;flex-direction:column;align-items:center;gap:4px}.result{padding:6px 16px;border-radius:8px;font-weight:700;font-size:.9rem}.result.white-wins{background:#22c55e33;color:#22c55e}.result.black-wins{background:#ef444433;color:#ef4444}.result.draw{background:#f59e0b33;color:#f59e0b}.result.bye{background:#9ca3af33;color:#9ca3af}.result.pending{background:var(--bg-primary);color:var(--text-secondary)}.enter-result-btn{background:var(--primary-color);border:none;border-radius:4px;padding:4px 8px;color:#fff;cursor:pointer;font-size:.8rem}.view-game-btn{width:100%;margin-top:12px;padding:8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .3s}.view-game-btn:hover{background:var(--primary-color);color:#fff}.participants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.participant-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color)}.participant-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700}.participant-avatar img{width:100%;height:100%;object-fit:cover}.participant-info{flex:1}.participant-info .name{display:block;font-weight:600;margin-bottom:4px}.participant-info .rating{color:var(--text-secondary);font-size:.9rem}.participant-stats{text-align:right}.participant-stats .score{display:block;font-weight:700;color:var(--primary-color)}.participant-stats .record{font-size:.85rem;color:var(--text-secondary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.info-section{background:var(--bg-tertiary);border-radius:12px;padding:20px}.info-section h3{margin-bottom:16px;font-size:1.1rem}.info-list{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.info-item:last-child{border-bottom:none;padding-bottom:0}.info-item .label{color:var(--text-secondary)}.info-item .value{font-weight:500}.prizes-list{display:flex;flex-direction:column;gap:12px}.prize-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-primary);border-radius:8px}.prize-card.rank-1{border-left:3px solid #fbbf24}.prize-card.rank-2{border-left:3px solid #9ca3af}.prize-card.rank-3{border-left:3px solid #cd7f32}.prize-rank{font-size:1.2rem}.prize-desc{flex:1}.prize-points{color:var(--primary-color);font-weight:600}.result-modal{max-width:400px}.match-summary{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px;background:var(--bg-tertiary);border-radius:12px;margin-bottom:20px}.match-summary .vs{color:var(--text-secondary);font-size:.9rem}.result-options{display:flex;gap:12px;margin-bottom:16px}.result-btn{flex:1;padding:20px 12px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-tertiary);cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:1.2rem;font-weight:700}.result-btn span{font-size:.8rem;font-weight:400;color:var(--text-secondary)}.result-btn:hover{border-color:var(--primary-color)}.result-btn.white-wins:hover{border-color:#22c55e;color:#22c55e}.result-btn.draw:hover{border-color:#f59e0b;color:#f59e0b}.result-btn.black-wins:hover{border-color:#ef4444;color:#ef4444}.cancel-btn{width:100%}.empty-state{text-align:center;padding:48px}.empty-icon{font-size:3rem;display:block;margin-bottom:16px}.error-state{text-align:center;padding:48px}.error-icon{font-size:4rem;display:block;margin-bottom:16px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-secondary);border-radius:16px;padding:24px;width:100%;max-height:90vh;overflow-y:auto}.modal-content h3{margin-bottom:20px;text-align:center}@media(max-width:768px){.tournament-detail{padding:16px}.header-content h1{font-size:1.5rem}.header-content .meta-info{gap:8px}.header-content .meta-info span{font-size:.8rem;padding:4px 8px}.detail-tabs{overflow-x:auto;padding-bottom:8px}.detail-tabs .tab{white-space:nowrap;padding:10px 16px;font-size:.9rem}.standings-table{font-size:.85rem}.standings-table th,.standings-table td{padding:8px 4px}.matches-grid,.participants-grid{grid-template-columns:1fr}.result-options{flex-direction:column}}.parent-dashboard{padding:24px;max-width:1400px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:32px}.dashboard-header h1{font-size:2.2rem;margin-bottom:8px;background:linear-gradient(135deg,#8b5cf6,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-header p{color:var(--text-secondary)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:var(--bg-secondary);border-radius:16px;padding:24px;text-align:center;border:1px solid var(--border-color);transition:transform .3s ease}.summary-card:hover{transform:translateY(-4px)}.summary-card .card-icon{font-size:2.5rem;display:block;margin-bottom:12px}.summary-card .card-value{font-size:1.8rem;font-weight:700;display:block;color:var(--text-primary)}.summary-card .card-label{font-size:.9rem;color:var(--text-secondary)}.dashboard-content{display:grid;grid-template-columns:320px 1fr;gap:24px}.children-panel{background:var(--bg-secondary);border-radius:16px;padding:20px;border:1px solid var(--border-color)}.children-panel h2{font-size:1.2rem;margin-bottom:16px;color:var(--text-primary)}.child-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:all .3s ease;margin-bottom:8px}.child-card:hover{background:var(--bg-tertiary)}.child-card.selected{background:linear-gradient(135deg,#6366f133,#8b5cf633);border:1px solid #6366f1}.child-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.2rem;position:relative}.child-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.child-avatar .online-dot{position:absolute;bottom:2px;right:2px;width:12px;height:12px;background:#22c55e;border-radius:50%;border:2px solid var(--bg-secondary)}.child-info{flex:1}.child-name{display:block;font-weight:600;color:var(--text-primary)}.child-time{font-size:.8rem;color:var(--text-secondary)}.child-time .limit-reached{color:#ef4444}.link-child-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.link-child-section h3{font-size:1rem;margin-bottom:12px}.link-child-section input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);margin-bottom:8px}.link-child-section .btn{width:100%}.detail-panel{background:var(--bg-secondary);border-radius:16px;padding:24px;border:1px solid var(--border-color)}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.detail-header h2{font-size:1.5rem}.detail-actions{display:flex;gap:8px}.action-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer;transition:all .3s ease}.action-btn:hover{background:var(--bg-tertiary)}.action-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-item{background:var(--bg-tertiary);border-radius:12px;padding:20px;text-align:center}.stat-item .stat-icon{font-size:2rem;display:block;margin-bottom:8px}.stat-item .stat-value{font-size:1.5rem;font-weight:700;display:block;color:var(--text-primary)}.stat-item .stat-label{font-size:.85rem;color:var(--text-secondary)}.recent-activities h3{margin-bottom:16px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:8px}.activity-type{font-size:1.2rem}.activity-desc{flex:1;color:var(--text-primary)}.activity-time{font-size:.8rem;color:var(--text-secondary)}.settings-content{max-width:500px}.setting-item{padding:16px;background:var(--bg-tertiary);border-radius:12px;margin-bottom:12px}.setting-item label{display:flex;align-items:center;gap:12px;font-weight:600;cursor:pointer}.setting-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.setting-desc{font-size:.85rem;color:var(--text-secondary);margin-top:8px;margin-left:32px}.time-limit-control{display:flex;align-items:center;gap:16px;margin-top:12px}.time-limit-control input[type=range]{flex:1}.save-btn{width:100%;margin-top:16px}.report-content{max-width:600px}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.report-date{color:var(--text-secondary)}.report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.report-stat{text-align:center;padding:16px;background:var(--bg-tertiary);border-radius:12px}.report-stat .stat-value{font-size:1.8rem;font-weight:700;display:block;color:var(--primary-color)}.report-stat .stat-label{font-size:.85rem;color:var(--text-secondary)}.report-areas{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.area-section{padding:16px;border-radius:12px}.area-section.strong{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.area-section.weak{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.area-section h4{margin-bottom:12px}.area-section ul{list-style:none;padding:0}.area-section li{padding:4px 0;color:var(--text-primary)}.recommendations{padding:16px;background:#6366f11a;border-radius:12px;border:1px solid rgba(99,102,241,.3)}.recommendations h4{margin-bottom:12px}.recommendations ul{list-style:none;padding:0}.recommendations li{padding:8px 0 8px 24px;position:relative;color:var(--text-primary)}.recommendations li:before{content:"→";position:absolute;left:0;color:var(--primary-color)}.loading{text-align:center;padding:48px}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@media(max-width:900px){.dashboard-content,.stats-grid,.report-areas{grid-template-columns:1fr}.report-stats{grid-template-columns:repeat(2,1fr)}}.coach-dashboard{padding:24px;max-width:1400px;margin:0 auto}.coach-dashboard.loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.nav-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-radius:12px;cursor:pointer;color:var(--text-secondary);font-size:.95rem;font-weight:600;transition:all .2s}.nav-tab.active{background:var(--primary-color);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{display:flex;align-items:center;gap:16px;padding:24px;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color)}.stat-card.students{border-left:4px solid #6366f1}.stat-card.assignments{border-left:4px solid #f59e0b}.stat-card.completed{border-left:4px solid #10b981}.stat-card.lessons{border-left:4px solid #8b5cf6}.stat-icon{font-size:2.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.9rem;color:var(--text-secondary)}.dashboard-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.recent-section{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:20px}.recent-section h3{margin:0 0 16px;color:var(--text-primary);font-size:1.1rem}.recent-list{display:flex;flex-direction:column;gap:12px}.recent-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-dark);border-radius:10px}.item-info{display:flex;flex-direction:column}.item-title{font-weight:600;color:var(--text-primary)}.item-meta{font-size:.85rem;color:var(--text-secondary)}.empty-text{text-align:center;color:var(--text-secondary);padding:20px}.status-completed{background:#10b98133;color:#10b981}.status-progress{background:#3b82f633;color:#3b82f6}.status-overdue{background:#ef444433;color:#ef4444}.status-pending{background:#9ca3af33;color:#9ca3af}.streak-badge{padding:4px 10px;background:#f59e0b33;color:#f59e0b;border-radius:20px;font-size:.85rem;font-weight:600}.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.student-card{background:var(--bg-dark);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}.student-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}.student-info h4{margin:0;color:var(--text-primary);font-size:1.1rem}.student-email{color:var(--text-secondary);font-size:.85rem;margin:4px 0}.student-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:.85rem;color:var(--text-secondary)}.student-progress{margin-top:8px}.student-actions{display:flex;gap:8px;margin-top:8px}.assignments-list{display:flex;flex-direction:column;gap:16px}.assignment-card{background:var(--bg-dark);border-radius:12px;padding:20px;border-left:4px solid var(--border-color)}.assignment-card.status-completed{border-left-color:#10b981}.assignment-card.status-progress{border-left-color:#3b82f6}.assignment-card.status-overdue{border-left-color:#ef4444}.assignment-card.status-pending{border-left-color:#9ca3af}.assignment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.assignment-header h4{margin:0;color:var(--text-primary)}.assignment-desc{color:var(--text-secondary);font-size:.9rem;margin:0 0 12px}.assignment-meta{display:flex;gap:16px;font-size:.85rem;color:var(--text-secondary)}.assignment-type{padding:2px 8px;background:var(--bg-hover);border-radius:4px}.assignment-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.feedback{font-style:italic;color:var(--text-secondary);margin-top:4px}.grade-section{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.grade-input{width:100px;padding:8px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary)}.feedback-input{flex:1;padding:8px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary)}.schedule-list{display:flex;flex-direction:column;gap:16px}.schedule-card{display:flex;gap:20px;background:var(--bg-dark);border-radius:12px;padding:20px;align-items:center}.schedule-card.completed{opacity:.7}.schedule-time{display:flex;flex-direction:column;align-items:center;min-width:80px}.schedule-time .date{font-size:.85rem;color:var(--text-secondary)}.schedule-time .time{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.schedule-info{flex:1}.schedule-info h4{margin:0 0 4px;color:var(--text-primary)}.schedule-info p{margin:2px 0;font-size:.9rem;color:var(--text-secondary)}.schedule-info .notes{font-style:italic}.completed-badge{color:#10b981;font-weight:600}.pending-badge{color:#f59e0b;font-weight:600}.schedule-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.assignment-header-actions{display:flex;gap:8px;align-items:center}.btn-icon{width:36px;height:36px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s}.btn-icon:hover{background:var(--bg-hover);transform:scale(1.05)}.btn-icon.btn-danger:hover{background:#dc262633;border-color:#dc2626}.btn.btn-sm{padding:8px 12px;font-size:.85rem}.btn.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none}.btn.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none}.report-selector{display:flex;align-items:center;gap:12px;margin-bottom:24px}.report-selector select{padding:10px 16px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-dark);color:var(--text-primary);font-size:1rem;min-width:200px}.report-content{background:var(--bg-dark);border-radius:16px;padding:24px;width:100%;max-width:100%}.report-header{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.report-header h3{margin:0;color:var(--text-primary)}.report-header p{color:var(--text-secondary);margin-top:8px}.report-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:32px}@media(max-width:1200px){.report-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.report-stats{grid-template-columns:repeat(2,1fr)}}.report-stat{display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--bg-card);border-radius:12px;text-align:center}.report-stat .stat-icon{font-size:2rem;margin-bottom:8px}.report-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.report-stat .stat-label{font-size:.8rem;color:var(--text-secondary)}.report-stat.positive .stat-value{color:#10b981}.report-stat.negative .stat-value{color:#ef4444}.report-analysis{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:992px){.report-analysis{grid-template-columns:1fr}}.analysis-section{background:var(--bg-card);border-radius:12px;padding:16px}.analysis-section h4{margin:0 0 12px;color:var(--text-primary)}.analysis-section ul{margin:0;padding-left:20px}.analysis-section li{color:var(--text-secondary);margin-bottom:6px}.analysis-section.strengths{border-top:3px solid #10b981}.analysis-section.weaknesses{border-top:3px solid #f59e0b}.analysis-section.recommendations{border-top:3px solid #6366f1}.modal-content h3{margin:0 0 20px;color:var(--text-primary)}.progress-section{margin-top:12px;padding:8px 0}.progress-bar{height:10px;background:#ffffff1a;border-radius:5px;overflow:hidden;margin-bottom:6px}.progress-fill{height:100%;background:linear-gradient(90deg,#4a90d9,#67b26f);border-radius:5px;transition:width .5s ease}.student-note{margin-top:12px;padding:10px 14px;background:#f39c121a;border-radius:8px;border-left:3px solid #f39c12;font-size:.9rem;color:var(--text-secondary)}.approval-section{margin-top:16px;padding:12px;background:#3498db1a;border-radius:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.approval-info{flex:1}.submitted-badge{color:#f39c12;font-weight:600}.completed-badge{color:#27ae60;font-weight:600}.approval-actions{display:flex;gap:8px}.btn-success{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none}.btn-success:hover{background:linear-gradient(135deg,#219a52,#27ae60)}.assignment-result.approved{background:#27ae6026;border-left-color:#27ae60}.form-hint{display:block;font-size:.8rem;color:var(--text-secondary);margin-top:4px}@media(max-width:768px){.coach-dashboard{padding:16px}.dashboard-nav{overflow-x:auto}.nav-tab span:not(.tab-icon){display:none}.view-header{flex-direction:column;gap:12px}.approval-section{flex-direction:column;align-items:stretch}.approval-actions{justify-content:center}}.admin-dashboard{padding:24px;max-width:1400px;margin:0 auto}.admin-dashboard.loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.loader .chess-piece{font-size:4rem;display:block;margin-bottom:16px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:2rem;color:var(--text-primary);margin:0 0 8px}.welcome-text{color:var(--text-secondary);font-size:1.1rem}.dashboard-nav{display:flex;gap:8px;margin-bottom:32px;padding:8px;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);flex-wrap:wrap}.nav-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-radius:12px;cursor:pointer;color:var(--text-secondary);font-size:.95rem;font-weight:600;transition:all .2s;position:relative}.nav-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-tab.active{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.nav-tab .badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:10px;font-weight:700}.view-content{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:24px}.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.view-header h2{margin:0;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-dark);border-radius:16px;border-left:4px solid var(--border-color)}.stat-card.users{border-left-color:#6366f1}.stat-card.active{border-left-color:#10b981}.stat-card.games{border-left-color:#f59e0b}.stat-card.puzzles{border-left-color:#8b5cf6}.stat-card.lessons{border-left-color:#3b82f6}.stat-card.reports{border-left-color:#ef4444}.stat-icon{font-size:2rem}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.85rem;color:var(--text-secondary)}.stat-sub{font-size:.75rem;color:var(--primary-color);margin-top:2px}.quick-actions{margin-bottom:24px}.quick-actions h3{margin:0 0 16px;color:var(--text-primary)}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;color:var(--text-primary);font-size:.95rem;font-weight:500;transition:all .2s}.action-btn:hover{border-color:var(--primary-color);background:var(--bg-hover)}.server-status-mini{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:12px;font-weight:500}.server-status-mini.status-healthy{background:#10b9811a;color:#10b981}.server-status-mini.status-degraded{background:#f59e0b1a;color:#f59e0b}.server-status-mini.status-unhealthy{background:#ef44441a;color:#ef4444}.status-indicator{width:10px;height:10px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}.overview-modern{padding:0!important;background:transparent!important;border:none!important}.welcome-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:28px 32px;margin-bottom:28px;box-shadow:0 10px 40px #667eea4d}.welcome-content{display:flex;align-items:center;gap:20px}.welcome-icon{font-size:3rem;animation:wave 2s ease-in-out infinite}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-10deg)}}.welcome-text-area h2{color:#fff;margin:0 0 6px;font-size:1.6rem;font-weight:700}.welcome-text-area p{color:#ffffffd9;margin:0;font-size:1rem}.welcome-date{color:#ffffffe6;font-size:.95rem;background:#ffffff26;padding:10px 18px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.overview-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.overview-stat-card{background:var(--bg-card);border-radius:20px;padding:24px;border:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.overview-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:20px 20px 0 0}.overview-stat-card.primary:before{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.overview-stat-card.secondary:before{background:linear-gradient(90deg,#f59e0b,#f97316)}.overview-stat-card.tertiary:before{background:linear-gradient(90deg,#8b5cf6,#a855f7)}.overview-stat-card.quaternary:before{background:linear-gradient(90deg,#3b82f6,#0ea5e9)}.overview-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stat-icon-wrapper{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem}.stat-icon-wrapper.users{background:linear-gradient(135deg,#6366f133,#8b5cf633)}.stat-icon-wrapper.games{background:linear-gradient(135deg,#f59e0b33,#f9731633)}.stat-icon-wrapper.puzzles{background:linear-gradient(135deg,#8b5cf633,#a855f733)}.stat-icon-wrapper.lessons{background:linear-gradient(135deg,#3b82f633,#0ea5e933)}.stat-trend{font-size:.8rem;font-weight:600;padding:5px 10px;border-radius:20px}.stat-trend.positive{background:#10b98126;color:#10b981}.stat-trend.neutral{background:#ef444426;color:#ef4444}.stat-card-body{margin-bottom:14px}.stat-number{display:block;font-size:2.4rem;font-weight:800;color:var(--text-primary);line-height:1.1}.stat-title{display:block;font-size:.9rem;color:var(--text-secondary);margin-top:4px}.stat-card-footer{display:flex;flex-direction:column;gap:8px}.stat-progress{height:6px;background:var(--bg-hover);border-radius:10px;overflow:hidden}.stat-progress .progress-bar{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:10px;transition:width .5s ease}.stat-desc{font-size:.8rem;color:var(--text-muted)}.overview-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px}.overview-column{display:flex;flex-direction:column;gap:24px}.overview-card{background:var(--bg-card);border-radius:20px;padding:24px;border:1px solid var(--border-color)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-header h3{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:700}.view-all-btn{background:none;border:none;color:var(--primary-color);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.view-all-btn:hover{color:var(--primary-light)}.quick-access-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-access-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:16px;cursor:pointer;transition:all .3s ease}.quick-access-btn:hover{transform:translateY(-3px);border-color:var(--primary-color);box-shadow:0 8px 25px #0000001a}.qa-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.qa-icon.users{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.qa-icon.reports{background:linear-gradient(135deg,#ef4444,#f97316)}.qa-icon.tournaments{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.qa-icon.parents{background:linear-gradient(135deg,#10b981,#34d399)}.qa-text{font-size:.9rem;font-weight:600;color:var(--text-primary)}.qa-count{font-size:.8rem;color:var(--text-muted);background:var(--bg-hover);padding:3px 10px;border-radius:12px}.reports-preview-list{display:flex;flex-direction:column;gap:12px}.report-preview-item{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg-dark);border-radius:12px;transition:all .2s}.report-preview-item:hover{background:var(--bg-hover)}.report-preview-icon{font-size:1.3rem}.report-preview-content{flex:1;display:flex;flex-direction:column;gap:3px}.report-preview-title{font-weight:600;color:var(--text-primary);font-size:.95rem}.report-preview-reason{font-size:.8rem;color:var(--text-secondary)}.report-preview-time{font-size:.75rem;color:var(--text-muted)}.no-reports-message{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;color:#10b981;font-weight:500}.no-reports-icon{font-size:1.5rem}.server-status-card .card-header{margin-bottom:20px}.server-status-badge{font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:20px}.server-status-badge.healthy{background:#10b98126;color:#10b981}.server-status-badge.degraded{background:#f59e0b26;color:#f59e0b}.server-status-badge.unhealthy{background:#ef444426;color:#ef4444}.server-metrics{display:flex;flex-direction:column;gap:18px}.server-metric{display:grid;grid-template-columns:120px 1fr 50px;align-items:center;gap:14px}.metric-label{font-size:.85rem;color:var(--text-secondary)}.metric-bar{height:10px;background:var(--bg-hover);border-radius:10px;overflow:hidden}.metric-fill{height:100%;border-radius:10px;transition:width .5s ease}.metric-fill.good{background:linear-gradient(90deg,#10b981,#34d399)}.metric-fill.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.metric-fill.danger{background:linear-gradient(90deg,#ef4444,#f97316)}.metric-value{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:right}.server-info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px;padding-top:18px;border-top:1px solid var(--border-color)}.server-info-item{display:flex;flex-direction:column;align-items:center;gap:4px}.info-label{font-size:.75rem;color:var(--text-muted)}.info-value{font-size:.95rem;font-weight:700;color:var(--text-primary)}.actions-list{display:flex;flex-direction:column;gap:12px}.action-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:14px;cursor:pointer;transition:all .3s ease;text-align:left}.action-item:hover{border-color:var(--primary-color);transform:translate(5px)}.action-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.action-icon.puzzle{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.action-icon.lesson{background:linear-gradient(135deg,#3b82f6,#0ea5e9)}.action-icon.tournament{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.action-content{flex:1;display:flex;flex-direction:column;gap:3px}.action-title{font-weight:600;color:var(--text-primary);font-size:.95rem}.action-desc{font-size:.8rem;color:var(--text-secondary)}.action-arrow{color:var(--text-muted);font-size:1.2rem;transition:transform .2s}.action-item:hover .action-arrow{transform:translate(5px);color:var(--primary-color)}.overview-bottom-section{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.role-distribution{display:flex;flex-direction:column;gap:16px}.role-item{display:flex;align-items:center;justify-content:space-between;gap:16px}.role-info{display:flex;align-items:center;gap:10px;min-width:120px}.role-emoji{font-size:1.3rem}.role-name{font-size:.9rem;font-weight:600;color:var(--text-primary)}.role-stats{flex:1;display:flex;align-items:center;gap:14px}.role-bar{flex:1;height:10px;background:var(--bg-hover);border-radius:10px;overflow:hidden}.role-fill{height:100%;border-radius:10px;transition:width .5s ease}.role-item.student .role-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.role-item.coach .role-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.role-item.parent .role-fill{background:linear-gradient(90deg,#10b981,#34d399)}.role-item.admin .role-fill{background:linear-gradient(90deg,#ef4444,#f97316)}.role-count{font-size:.85rem;font-weight:600;color:var(--text-secondary);min-width:80px;text-align:right}.online-count{font-size:.8rem;font-weight:600;padding:5px 12px;background:#10b98126;color:#10b981;border-radius:20px}.online-users-list{display:flex;flex-direction:column;gap:10px}.online-user-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-dark);border-radius:12px;transition:all .2s}.online-user-item:hover{background:var(--bg-hover)}.user-avatar-small{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem}.user-info-small{flex:1;display:flex;flex-direction:column;gap:3px}.username-small{font-weight:600;color:var(--text-primary);font-size:.9rem}.role-tag{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:8px;width:fit-content}.role-tag.student{background:#6366f126;color:#6366f1}.role-tag.coach{background:#f59e0b26;color:#f59e0b}.role-tag.parent{background:#10b98126;color:#10b981}.role-tag.admin{background:#ef444426;color:#ef4444}.rating-small{font-size:.85rem;color:var(--text-secondary);font-weight:600}.no-online-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--text-muted);font-size:.9rem}.no-online-message span:first-child{font-size:2rem}@media(max-width:1200px){.overview-stats-grid{grid-template-columns:repeat(2,1fr)}.overview-two-columns,.overview-bottom-section{grid-template-columns:1fr}}@media(max-width:768px){.welcome-banner{flex-direction:column;gap:16px;text-align:center;padding:24px}.welcome-content{flex-direction:column}.overview-stats-grid,.quick-access-grid{grid-template-columns:1fr}.server-metric{grid-template-columns:1fr;gap:8px}.server-info-row{grid-template-columns:1fr;gap:16px}.role-item{flex-direction:column;align-items:flex-start;gap:10px}.role-stats{width:100%}}.response-time{margin-left:auto;font-size:.9rem;opacity:.8}.search-box input{padding:10px 16px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-dark);color:var(--text-primary);font-size:1rem;min-width:250px}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.users-table th{background:var(--bg-dark);color:var(--text-secondary);font-weight:600;font-size:.85rem;text-transform:uppercase}.users-table tr:hover{background:var(--bg-hover)}.users-table tr.banned{background:#ef44441a}.user-cell{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.9rem}.role-badge{padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.role-admin{background:#dc262633;color:#dc2626}.role-coach{background:#6366f133;color:#6366f1}.role-parent{background:#10b98133;color:#10b981}.role-student{background:#9ca3af33;color:#9ca3af}.status-badge{padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.status-badge.online{background:#10b98133;color:#10b981}.status-badge.offline{background:#9ca3af33;color:#9ca3af}.status-badge.banned{background:#ef444433;color:#ef4444}.action-btns{display:flex;gap:8px}.reports-list{display:flex;flex-direction:column;gap:20px}.report-card{background:var(--bg-card);border-radius:16px;padding:0;border:1px solid var(--border-color);overflow:hidden;transition:all .2s ease;box-shadow:0 2px 8px #0000000d}.report-card:hover{box-shadow:0 4px 20px #0000001a}.report-card.pending{border-left:4px solid #f59e0b}.report-card.resolved{border-left:4px solid #10b981;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(16,185,129,.08) 100%)}.report-card.dismissed{border-left:4px solid #9ca3af;opacity:.85}.report-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-hover);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:12px}.report-users-section{display:flex;align-items:center;gap:12px}.report-user{display:flex;align-items:center;gap:8px}.report-user .user-icon{font-size:1.2rem}.report-user .user-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.report-user .user-label{font-size:.8rem;color:var(--text-muted)}.reporter-user{opacity:.85}.reported-user .user-name{color:#ef4444;font-weight:700}.report-arrow{color:var(--text-muted);font-size:.8rem}.report-status-badge{padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600}.report-status-badge.pending{background:#f59e0b26;color:#f59e0b}.report-status-badge.resolved{background:#10b98126;color:#10b981}.report-status-badge.dismissed{background:#9ca3af26;color:#9ca3af}.report-meta-section{display:flex;flex-wrap:wrap;gap:10px;padding:12px 20px;background:#0f172a!important;border-bottom:1px solid rgba(255,255,255,.1)}[data-theme=light] .report-meta-section{background:#f8fafc!important;border-bottom:1px solid #e2e8f0}.report-tag{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.report-tag.category{background:#6366f133!important;color:#a5b4fc!important}.report-tag.game{background:#10b98133!important;color:#6ee7b7!important}.report-tag.chat{background:#f59e0b33!important;color:#fcd34d!important}.report-tag.date{background:#94a3b833!important;color:#cbd5e1!important}[data-theme=light] .report-tag.category{background:#6366f126!important;color:#4f46e5!important}[data-theme=light] .report-tag.game{background:#10b98126!important;color:#059669!important}[data-theme=light] .report-tag.chat{background:#f59e0b26!important;color:#d97706!important}[data-theme=light] .report-tag.date{background:#64748b26!important;color:#475569!important}.report-body{padding:20px;background:var(--bg-card)}.report-reason-section{display:flex;flex-direction:column;gap:16px}.report-field{display:flex;flex-direction:column;gap:6px}.report-field .field-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.report-field .field-value{font-size:.95rem;color:var(--text-primary);line-height:1.5}.report-field .field-value.description{padding:12px 16px;background:#1e293b!important;color:#cbd5e1!important;border-radius:10px;border-left:3px solid #6366f1}[data-theme=light] .report-field .field-value.description{background:#f1f5f9!important;color:#475569!important}.report-actions-section{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:var(--bg-hover);border-top:1px solid var(--border-color)}.resolution-wrapper{width:100%}.resolution-input{width:100%;padding:12px 16px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.9rem;transition:border-color .2s,box-shadow .2s}.resolution-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.resolution-input::placeholder{color:var(--text-muted)}.action-buttons{display:flex;flex-wrap:wrap;gap:10px}.report-action-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:10px;font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.report-action-btn.info{background:#3b82f626;color:#3b82f6}.report-action-btn.info:hover{background:#3b82f640}.report-action-btn.success{background:#10b98126;color:#10b981}.report-action-btn.success:hover{background:#10b98140}.report-action-btn.secondary{background:#6b728026;color:var(--text-secondary)}.report-action-btn.secondary:hover{background:#6b728040}.report-action-btn.warning{background:#f59e0b26;color:#f59e0b}.report-action-btn.warning:hover{background:#f59e0b40}.report-action-btn.danger{background:#ef444426;color:#ef4444}.report-action-btn.danger:hover{background:#ef444440}.report-resolution-section{display:flex;flex-direction:column;gap:8px;padding:16px 20px;background:#064e3b!important;border-top:1px solid #10b981}.resolution-label{font-size:.85rem;font-weight:600;color:#6ee7b7!important}.resolution-text{font-size:.9rem;line-height:1.5;padding:10px 14px;background:#065f46!important;color:#a7f3d0!important;border-radius:8px;border-left:3px solid #10b981}[data-theme=light] .report-resolution-section{background:#d1fae5!important;border-top:1px solid #34d399}[data-theme=light] .resolution-label{color:#047857!important}[data-theme=light] .resolution-text{background:#a7f3d0!important;color:#064e3b!important}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted)}.empty-state .empty-icon{font-size:3rem;margin-bottom:16px}.empty-state p{font-size:1.1rem;margin:0}.status-badge{padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600}.status-badge.pending{background:#f59e0b26;color:#f59e0b}.status-badge.resolved{background:#10b98126;color:#10b981}.status-badge.dismissed{background:#9ca3af26;color:#9ca3af}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.tournament-card{background:var(--bg-dark);border-radius:12px;padding:20px;border-left:4px solid var(--border-color)}.tournament-card.upcoming{border-left-color:#6366f1}.tournament-card.inprogress{border-left-color:#10b981}.tournament-card.completed{border-left-color:#9ca3af}.tournament-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tournament-header h4{margin:0;color:var(--text-primary)}.status-badge.upcoming{background:#6366f133;color:#6366f1}.status-badge.inprogress{background:#10b98133;color:#10b981}.status-badge.completed{background:#9ca3af33;color:#9ca3af}.tournament-info{margin-bottom:12px}.tournament-info p{margin:4px 0;color:var(--text-secondary);font-size:.9rem}.tournament-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-color)}.content-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.content-section{background:var(--bg-dark);border-radius:16px;padding:24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-header h3{margin:0;color:var(--text-primary)}.content-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.content-stat{text-align:center;padding:16px;background:var(--bg-card);border-radius:12px}.content-stat .value{display:block;font-size:2rem;font-weight:700;color:var(--text-primary)}.content-stat .label{font-size:.85rem;color:var(--text-secondary)}.server-status-card{padding:24px;border-radius:16px;margin-bottom:24px;text-align:center}.server-status-card.status-healthy{background:#10b9811a;border:2px solid #10b981}.server-status-card.status-degraded{background:#f59e0b1a;border:2px solid #f59e0b}.server-status-card.status-unhealthy{background:#ef44441a;border:2px solid #ef4444}.status-header{display:flex;align-items:center;justify-content:center;gap:12px}.status-icon{font-size:2rem}.status-text{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.server-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.metric-card{background:var(--bg-dark);border-radius:12px;padding:20px}.metric-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.metric-icon{font-size:1.5rem}.metric-title{color:var(--text-secondary);font-size:.9rem}.metric-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.metric-value.small{font-size:1rem}.metric-bar{height:6px;background:var(--bg-card);border-radius:3px;overflow:hidden}.metric-fill{height:100%;background:var(--primary-color);border-radius:3px;transition:width .3s ease}.metric-fill.cpu{background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444)}.metric-fill.memory{background:linear-gradient(90deg,#3b82f6,#8b5cf6)}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:4rem;display:block;margin-bottom:16px;opacity:.5}.empty-state p{color:var(--text-secondary);margin-bottom:16px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-card);border-radius:16px;padding:24px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h3{margin:0 0 8px;color:var(--text-primary)}.modal-subtitle{color:var(--text-secondary);margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-dark);color:var(--text-primary);font-size:1rem}.form-group textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn{padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:all .2s}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:#ef444433;color:#ef4444}.btn-danger:hover{background:#ef44444d}.btn-success{background:#10b98133;color:#10b981}.btn-success:hover{background:#10b9814d}.btn-sm{padding:6px 12px;font-size:.85rem}@media(max-width:768px){.admin-dashboard{padding:16px}.dashboard-nav{overflow-x:auto}.nav-tab span:not(.tab-icon){display:none}.view-header{flex-direction:column;align-items:stretch}.users-table th:nth-child(3),.users-table th:nth-child(4),.users-table th:nth-child(5),.users-table td:nth-child(3),.users-table td:nth-child(4),.users-table td:nth-child(5){display:none}}.tournament-filter-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.filter-tab{padding:10px 20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .3s;font-size:.9rem}.filter-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.tournaments-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.tournament-admin-card{background:var(--bg-card);border-radius:16px;padding:20px;border:1px solid var(--border-color);transition:all .3s}.tournament-admin-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 32px #0003}.tournament-admin-card.upcoming{border-left:4px solid #3b82f6}.tournament-admin-card.inprogress{border-left:4px solid #22c55e}.tournament-admin-card.completed{border-left:4px solid #9ca3af}.tournament-admin-card.cancelled{border-left:4px solid #ef4444}.tournament-card-header{margin-bottom:16px}.tournament-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.format-badge{padding:6px 12px;background:var(--bg-tertiary);border-radius:20px;font-size:.85rem}.tournament-admin-card .tournament-name{font-size:1.2rem;margin-bottom:8px}.tournament-admin-card .tournament-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.tournament-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--bg-tertiary);border-radius:10px}.stat-item .stat-icon{font-size:1.2rem;margin-bottom:4px}.stat-item .stat-value{font-weight:700;font-size:.95rem}.stat-item .stat-label{font-size:.75rem;color:var(--text-secondary)}.match-progress{margin-bottom:16px;padding:12px;background:var(--bg-tertiary);border-radius:10px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.85rem;color:var(--text-secondary)}.progress-bar{height:8px;background:var(--bg-dark);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:4px;transition:width .3s}.tournament-meta{margin-bottom:16px}.meta-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:.9rem}.meta-row:last-child{border-bottom:none}.meta-row.child-friendly{justify-content:center;color:#22c55e;background:#22c55e1a;border-radius:8px;margin-top:8px;padding:8px}.prizes-preview{padding:12px;background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border-radius:10px;margin-bottom:16px}.prizes-preview h5{margin-bottom:8px;font-size:.9rem}.prizes-preview .prizes-list{display:flex;flex-direction:column;gap:6px}.prizes-preview .prize-item{display:flex;justify-content:space-between;font-size:.85rem}.prizes-preview .prize-item.rank-1{color:#fbbf24}.prizes-preview .prize-item.rank-2{color:#9ca3af}.prizes-preview .prize-item.rank-3{color:#cd7f32}.prizes-preview .prize-points{font-weight:600;color:var(--primary-color)}.tournament-admin-card .tournament-actions{display:flex;flex-wrap:wrap;gap:8px}.tournament-admin-card .tournament-actions .btn{flex:1;min-width:80px}.tournament-modal{max-width:700px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.form-group.full-width{grid-column:1 / -1}.checkbox-group{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto}.prizes-section{margin-bottom:24px}.prizes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.prizes-header h4{margin:0}.prizes-editor{display:flex;flex-direction:column;gap:12px}.prize-edit-row{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border-radius:10px}.prize-edit-row .prize-rank{font-size:1.2rem;width:30px;text-align:center}.prize-edit-row input[type=text]{flex:1}.prize-edit-row .points-input{width:80px}.prize-edit-row .points-label{color:var(--text-secondary);font-size:.85rem}.btn-warning{background:#f59e0b33;color:#f59e0b}.btn-warning:hover{background:#f59e0b4d}@media(max-width:768px){.tournaments-admin-grid{grid-template-columns:1fr}.tournament-stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.tournament-filter-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.filter-tab{white-space:nowrap}}.parents-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.parents-section,.unassigned-section{background:var(--card-bg);border-radius:16px;padding:20px;border:1px solid var(--border-color)}.section-title h3{margin:0 0 16px;font-size:1.1rem;color:var(--text-primary)}.parents-list{display:flex;flex-direction:column;gap:16px}.parent-card{background:#4a90d90d;border:1px solid rgba(74,144,217,.2);border-radius:12px;padding:16px}.parent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.parent-info{display:flex;align-items:center;gap:12px}.parent-avatar{font-size:2rem}.parent-info h4{margin:0;font-size:1rem;color:var(--text-primary)}.parent-email{font-size:.85rem;color:var(--text-secondary)}.children-list{padding-top:12px;border-top:1px solid var(--border-color)}.children-count{font-size:.9rem;color:var(--text-secondary);display:block;margin-bottom:8px}.children-items{display:flex;flex-direction:column;gap:8px}.child-item{display:flex;justify-content:space-between;align-items:center;background:#0000001a;padding:8px 12px;border-radius:8px}.child-info{display:flex;align-items:center;gap:12px}.child-name{font-weight:500;color:var(--text-primary)}.child-rating{font-size:.85rem;color:var(--text-secondary)}.btn-xs{padding:4px 8px;font-size:.75rem}.unassigned-list{display:flex;flex-direction:column;gap:12px}.unassigned-card{background:#f59e0b0d;border:1px solid rgba(245,158,11,.2);border-radius:12px;padding:12px 16px}.unassigned-info{display:flex;align-items:center;gap:12px;margin-bottom:8px}.child-avatar{font-size:1.5rem}.unassigned-info h4{margin:0;font-size:.95rem;color:var(--text-primary)}.child-email{font-size:.8rem;color:var(--text-secondary)}.unassigned-details{display:flex;gap:12px;flex-wrap:wrap}.detail-item{font-size:.8rem;color:var(--text-secondary);background:#0000001a;padding:4px 8px;border-radius:4px}.no-children-msg{color:var(--text-secondary);font-style:italic;text-align:center;padding:16px}@media(max-width:768px){.parents-grid{grid-template-columns:1fr}}.lessons-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;margin-top:20px}.lesson-admin-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.lesson-admin-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.lesson-admin-header{padding:16px 20px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lesson-order{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:4px 10px;border-radius:8px;font-size:.85rem;font-weight:600}.lesson-category-icon{font-size:1.5rem}.lesson-admin-header h3{flex:1;margin:0;font-size:1.1rem;color:var(--text-primary)}.lesson-difficulty-badge{padding:4px 12px;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase}.lesson-admin-body{padding:16px 20px}.lesson-description-preview{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 16px}.lesson-meta-info{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.meta-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);background:#0000000d;padding:4px 10px;border-radius:8px}.meta-item.video-badge{background:linear-gradient(135deg,#ef444426,#f8717126);color:#ef4444;font-weight:500}.meta-icon{font-size:.9rem}.lesson-content-preview{background:#00000008;padding:12px;border-radius:8px;margin-top:12px}.preview-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;display:block}.lesson-content-preview p{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.lesson-admin-actions{padding:12px 20px;background:#00000005;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end}.btn-edit{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.lesson-modal-large{max-width:900px!important;width:95%;background:var(--bg-card);border-radius:16px;padding:24px;border:1px solid var(--border-color);box-shadow:0 25px 50px -12px #00000080;max-height:90vh;overflow-y:auto}.lesson-modal-large h3{margin:0 0 20px;font-size:1.25rem;color:var(--text-primary);padding-bottom:16px;border-bottom:1px solid var(--border-color)}.lesson-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px}.form-column{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-hint{font-size:.75rem;color:var(--text-secondary);margin-top:4px;display:block}.form-group textarea{resize:vertical;min-height:100px}@media(max-width:768px){.lessons-admin-grid,.lesson-form-grid,.form-row{grid-template-columns:1fr}.lesson-modal-large{max-width:100%}}.puzzle-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.puzzle-stats-row .stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color)}.puzzle-stats-row .stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf633,#a855f733);border-radius:12px}.puzzle-stats-row .stat-info{display:flex;flex-direction:column}.puzzle-stats-row .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.puzzle-stats-row .stat-label{font-size:.85rem;color:var(--text-secondary)}.puzzles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.puzzle-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:20px;transition:all .3s ease}.puzzle-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026;border-color:#8b5cf666}.puzzle-card.inactive{opacity:.6;border-color:#ef44444d}.puzzle-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.puzzle-badges{display:flex;gap:8px;flex-wrap:wrap}.difficulty-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff}.category-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;background:#8b5cf633;color:#a855f7}.status-toggle{background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:8px;transition:all .2s}.status-toggle:hover{background:var(--bg-hover);transform:scale(1.1)}.puzzle-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.puzzle-description{font-size:.85rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.4}.puzzle-fen-preview{background:var(--bg-hover);padding:8px 12px;border-radius:8px;margin-bottom:12px}.puzzle-fen-preview code{font-size:.75rem;color:var(--text-secondary);font-family:Fira Code,monospace}.puzzle-meta{display:flex;gap:16px;margin-bottom:12px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary)}.meta-icon{font-size:1rem}.puzzle-stats{display:flex;gap:12px;margin-bottom:16px;font-size:.8rem;color:var(--text-secondary)}.puzzle-actions{display:flex;gap:8px;justify-content:flex-end}.btn-sm{padding:8px 12px;font-size:.85rem}.puzzle-modal{max-width:900px!important;width:95%;max-height:90vh;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);box-shadow:0 25px 50px -12px #00000080;overflow:hidden;display:flex;flex-direction:column}.puzzle-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#8b5cf61a,#a855f71a);border-bottom:1px solid var(--border-color)}.puzzle-modal .modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.puzzle-modal .close-btn{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s}.puzzle-modal .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.puzzle-modal .modal-body{padding:24px;flex:1;overflow-y:auto;min-height:0}.puzzle-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:12px 24px;background:var(--bg-card);border-top:1px solid var(--border-color);flex-shrink:0}.puzzle-modal .two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px}.puzzle-modal .form-column{display:flex;flex-direction:column;gap:16px}.puzzle-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-row{display:flex;gap:24px;padding:12px 0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#8b5cf6;cursor:pointer}.fen-input{font-family:Fira Code,monospace;font-size:.85rem}.filter-select{padding:10px 16px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.9rem;cursor:pointer}.filter-select:focus{outline:none;border-color:#8b5cf6}.header-actions{display:flex;gap:12px;align-items:center}@media(max-width:768px){.puzzle-stats-row,.puzzles-grid,.puzzle-modal .two-column,.puzzle-modal .form-row{grid-template-columns:1fr}.checkbox-row{flex-direction:column;gap:12px}.header-actions{flex-direction:column;width:100%}.header-actions .btn,.header-actions .filter-select{width:100%}}.search-box{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:10px;min-width:200px}.search-box .search-icon{font-size:1rem;color:var(--text-secondary)}.search-box .search-input{border:none;background:transparent;color:var(--text-primary);font-size:.9rem;outline:none;width:100%}.search-box .search-input::placeholder{color:var(--text-secondary)}.puzzle-stats-row{grid-template-columns:repeat(4,1fr)}.puzzle-stats-row .stat-card.purple .stat-icon{background:linear-gradient(135deg,#8b5cf633,#a855f733)}.puzzle-stats-row .stat-card.green .stat-icon{background:linear-gradient(135deg,#22c55e33,#16a34a33)}.puzzle-stats-row .stat-card.blue .stat-icon{background:linear-gradient(135deg,#3b82f633,#2563eb33)}.puzzle-stats-row .stat-card.orange .stat-icon{background:linear-gradient(135deg,#f9731633,#ea580c33)}.puzzle-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0;padding:12px;background:var(--bg-hover);border-radius:10px}.puzzle-info-grid .info-item{display:flex;flex-direction:column;gap:2px}.puzzle-info-grid .info-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase}.puzzle-info-grid .info-value{font-size:.9rem;font-weight:600;color:var(--text-primary)}.puzzle-info-grid .info-value.success{color:#22c55e}.puzzle-turn-indicator{margin-bottom:12px}.turn-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.turn-badge.white{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.turn-badge.black{background:#0000004d;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn-info{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.btn-info:hover{background:linear-gradient(135deg,#0891b2,#0e7490);transform:translateY(-2px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--bg-card);border-radius:16px;border:2px dashed var(--border-color);text-align:center}.empty-state .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;color:var(--text-primary)}.empty-state p{margin:0;color:var(--text-secondary)}.puzzle-preview-modal{background:var(--bg-card);border-radius:20px;width:95%;max-width:1000px;max-height:90vh;overflow:hidden;border:1px solid var(--border-color);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#06b6d41a,#0891b21a);border-bottom:1px solid var(--border-color)}.preview-title-section{display:flex;align-items:center;gap:12px}.preview-title-section h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.preview-id{padding:4px 10px;background:#06b6d433;color:#06b6d4;border-radius:20px;font-size:.8rem;font-weight:600}.preview-header .close-btn{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s}.preview-header .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.preview-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;flex:1;overflow-y:auto;min-height:0}.preview-left{display:flex;flex-direction:column;gap:20px}.preview-board-container{background:var(--bg-hover);border-radius:16px;padding:20px;border:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;gap:16px}.chessboard-wrapper{display:flex;justify-content:center;align-items:center}.turn-indicator-preview{display:flex;justify-content:center}.turn-indicator-preview .turn-badge{padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600}.turn-indicator-preview .turn-badge.white{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.turn-indicator-preview .turn-badge.black{background:#0006;color:#fff;border:1px solid rgba(255,255,255,.2)}.preview-board-placeholder{background:var(--bg-hover);border-radius:16px;padding:20px;border:1px solid var(--border-color)}.fen-display{margin-bottom:16px}.fen-display .fen-label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:8px}.fen-display code{display:block;padding:12px;background:var(--bg-dark);border-radius:8px;font-size:.75rem;color:#06b6d4;word-break:break-all;font-family:Fira Code,monospace}.board-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:linear-gradient(135deg,var(--bg-card),var(--bg-hover));border-radius:12px;border:2px dashed var(--border-color)}.board-visual .board-icon{font-size:4rem;opacity:.5;margin-bottom:12px}.board-visual p{color:var(--text-secondary);font-size:.9rem}.solution-section{background:var(--bg-hover);border-radius:16px;padding:20px;border:1px solid var(--border-color)}.solution-section h4{margin:0 0 16px;font-size:1rem;color:var(--text-primary)}.solution-moves{display:flex;flex-wrap:wrap;gap:8px}.solution-move{padding:8px 14px;background:linear-gradient(135deg,#8b5cf633,#a855f733);color:#a855f7;border-radius:8px;font-size:.9rem;font-weight:600;font-family:Fira Code,monospace}.preview-right{display:flex;flex-direction:column;gap:16px}.preview-info-card{background:var(--bg-hover);border-radius:16px;padding:20px;border:1px solid var(--border-color)}.preview-info-card h4{margin:0 0 8px;font-size:1.1rem;color:var(--text-primary)}.preview-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.preview-hint{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px;background:#fbbf241a;border-radius:10px;border-left:3px solid #f59e0b}.preview-hint .hint-icon{font-size:1.2rem}.preview-hint span:last-child{font-size:.9rem;color:var(--text-primary)}.preview-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-hover);border-radius:12px;border:1px solid var(--border-color);transition:all .2s ease}.detail-card:hover{border-color:#8b5cf64d;background:#8b5cf60d}.detail-card .detail-icon{font-size:1.3rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:10px;flex-shrink:0}.detail-card .detail-content{display:flex;flex-direction:column;gap:2px;min-width:0}.detail-card .detail-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-card .detail-value{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-card .detail-value.badge{padding:3px 10px;border-radius:15px;color:#fff;font-size:.75rem;display:inline-block;width:fit-content}.detail-card .detail-value.highlight{color:#f59e0b}.turn-indicator-card{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;background:linear-gradient(135deg,#8b5cf61a,#a855f71a);border-radius:12px;border:1px solid rgba(139,92,246,.3)}.turn-indicator-card .turn-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.turn-indicator-card .turn-icon.white{background:#fff3;border:2px solid rgba(255,255,255,.4)}.turn-indicator-card .turn-icon.black{background:#0000004d;border:2px solid rgba(255,255,255,.2)}.turn-indicator-card .turn-text{font-size:1rem;font-weight:600;color:var(--text-primary)}.preview-details{background:var(--bg-hover);border-radius:16px;padding:16px;border:1px solid var(--border-color)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:.85rem;color:var(--text-secondary)}.detail-value{font-size:.9rem;font-weight:600;color:var(--text-primary)}.detail-value.badge{padding:4px 12px;border-radius:20px;color:#fff;font-size:.8rem}.detail-value.turn.white{color:#fff;background:#fff3;padding:4px 10px;border-radius:15px}.detail-value.turn.black{color:#fff;background:#0006;padding:4px 10px;border-radius:15px}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.preview-stats .stat-item{display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--bg-hover);border-radius:12px;border:1px solid var(--border-color)}.preview-stats .stat-number{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.preview-stats .stat-text{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;margin-top:4px}.preview-status{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-hover);border-radius:12px;border:1px solid var(--border-color)}.status-badge{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.active{background:#22c55e33;color:#22c55e}.status-badge.inactive{background:#ef444433;color:#ef4444}.created-date{font-size:.85rem;color:var(--text-secondary)}.preview-footer{display:flex;justify-content:flex-end;gap:12px;padding:12px 24px;background:var(--bg-card);border-top:1px solid var(--border-color);flex-shrink:0}@media(max-width:768px){.puzzle-stats-row{grid-template-columns:repeat(2,1fr)}.preview-content{grid-template-columns:1fr}.preview-stats{grid-template-columns:repeat(3,1fr)}.search-box{min-width:100%}}.student-assignments{padding:2rem;max-width:1400px;margin:0 auto;min-height:100vh}.student-assignments.loading{display:flex;justify-content:center;align-items:center}.loader{text-align:center}.loader .chess-piece{font-size:4rem;display:block;margin-bottom:1rem}.loader .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(74,144,217,.2)}.assignments-header h1{color:var(--text-primary);font-size:2rem;margin:0}.coach-badge{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);padding:.75rem 1.5rem;border-radius:25px;color:var(--primary-color);font-weight:500;border:1px solid var(--border-color)}.coach-badge .coach-icon{font-size:1.5rem}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--border-color);transition:transform .3s,box-shadow .3s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.stat-card .stat-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:12px}.stat-card.total .stat-icon{background:linear-gradient(135deg,#4a90d933,#64b5f64d)}.stat-card.completed .stat-icon{background:linear-gradient(135deg,#4caf5033,#81c7844d)}.stat-card.pending .stat-icon{background:linear-gradient(135deg,#ffc10733,#ffd54f4d)}.stat-card.rate .stat-icon{background:linear-gradient(135deg,#9c27b033,#ba68c84d)}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.stat-label{color:var(--text-secondary);font-size:.9rem}.upcoming-lessons-section{background:var(--bg-card);border-radius:16px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.upcoming-lessons-section h2{color:var(--text-primary);margin-bottom:1rem;font-size:1.3rem}.lessons-list{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem}.lesson-card{flex-shrink:0;background:var(--bg-card);border-radius:12px;padding:1rem;display:flex;gap:1rem;min-width:280px;border:1px solid var(--border-color)}.lesson-time{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-hover);padding:.75rem;border-radius:8px;min-width:70px}.lesson-time .date{font-size:.8rem;color:var(--text-secondary)}.lesson-time .time{font-size:1.1rem;font-weight:600;color:var(--primary-color)}.lesson-info h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem}.lesson-info p{color:var(--text-secondary);margin:.25rem 0;font-size:.85rem}.lesson-info .notes{font-style:italic;color:var(--text-muted)}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-tab{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:25px;cursor:pointer;transition:all .3s;font-size:.9rem}.filter-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-tab.active{background:linear-gradient(135deg,var(--primary-color),#64B5F6);color:#fff;border-color:transparent}.assignments-list{display:flex;flex-direction:column;gap:1rem}.assignment-card{background:var(--bg-card);border-radius:16px;padding:1.5rem;display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--border-color);transition:transform .3s,box-shadow .3s}.assignment-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.assignment-card.overdue{border-color:#f4433680;background:#f443360d}.assignment-card.status-completed{border-left:4px solid #4CAF50}.assignment-card.status-progress{border-left:4px solid #2196F3}.assignment-card.status-pending{border-left:4px solid #FFC107}.assignment-card.status-overdue{border-left:4px solid #f44336}.assignment-type-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:12px;flex-shrink:0}.assignment-content{flex:1;min-width:0}.assignment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.assignment-header h3{color:var(--text-primary);margin:0;font-size:1.1rem}.status-badge{padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:500;white-space:nowrap}.status-badge.status-completed{background:#4caf5026;color:#2e7d32}.status-badge.status-progress{background:#2196f326;color:#1565c0}.status-badge.status-pending{background:#ffc10733;color:#f57c00}.status-badge.status-overdue{background:#f4433626;color:#c62828}.assignment-description{color:var(--text-secondary);font-size:.9rem;margin:0 0 .75rem;line-height:1.5}.assignment-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.due-date{color:var(--text-muted);font-size:.85rem}.overdue-warning{color:#c62828;font-size:.85rem;font-weight:500;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.assignment-result{margin-top:1rem;padding:1rem;background:#4caf501a;border-radius:8px;border:1px solid rgba(76,175,80,.2)}.assignment-result .score{color:#2e7d32;font-weight:600;font-size:1.1rem}.assignment-result .feedback{color:var(--text-secondary);margin-top:.5rem;font-style:italic;font-size:.9rem}.assignment-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.btn{padding:.75rem 1.25rem;border-radius:8px;border:none;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#4a90d9,#64b5f6);color:#fff}.btn-primary:hover{transform:scale(1.05);box-shadow:0 4px 15px #4a90d966}.btn-success{background:linear-gradient(135deg,#4caf50,#81c784);color:#fff}.btn-success:hover{transform:scale(1.05);box-shadow:0 4px 15px #4caf5066}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--primary-hover);color:#fff}.completed-label{color:#2e7d32;font-weight:500;display:flex;align-items:center;gap:.5rem}.empty-state{text-align:center;padding:3rem;background:var(--bg-card);border-radius:16px;border:2px dashed var(--border-color)}.empty-state .empty-icon{font-size:4rem;display:block;margin-bottom:1rem;opacity:.5}.empty-state p{color:var(--text-secondary);font-size:1.1rem;margin:0}.empty-state .hint{color:var(--text-muted);font-size:.9rem;margin-top:.5rem}.no-coach-warning{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#ffc1071a,#ffd54f0d);border:1px solid rgba(255,193,7,.3);border-radius:12px;padding:1rem 1.5rem;margin-top:2rem}.no-coach-warning .warning-icon{font-size:1.5rem}.no-coach-warning p{color:#e65100;margin:0;font-size:.95rem}@media(max-width:768px){.student-assignments{padding:1rem}.assignments-header{flex-direction:column;align-items:flex-start;gap:1rem}.assignments-header h1{font-size:1.5rem}.stats-section{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:1rem}.stat-card .stat-icon{font-size:2rem;width:50px;height:50px}.stat-value{font-size:1.5rem}.assignment-card{flex-direction:column;padding:1rem}.assignment-type-icon{width:50px;height:50px;font-size:2rem}.assignment-header{flex-direction:column;align-items:flex-start}.assignment-actions{flex-direction:row;width:100%}.assignment-actions .btn{flex:1}.filter-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.filter-tab{flex-shrink:0}}.progress-container{margin-top:1rem;padding:.5rem 0}.progress-bar{height:12px;background:var(--bg-hover);border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#4a90d9,#67b26f);border-radius:6px;transition:width .5s ease}.progress-text{font-size:.85rem;color:var(--text-secondary)}.status-submitted{border-left-color:#f39c12!important}.status-badge.status-submitted{background:linear-gradient(135deg,#f39c12,#e67e22)}.status-approved{border-left-color:#27ae60!important}.status-badge.status-approved{background:linear-gradient(135deg,#27ae60,#2ecc71)}.submitted-info{padding:.5rem 1rem;background:#f39c1233;border-radius:8px;color:#f39c12;font-size:.9rem;margin-top:.5rem}.submitted-label{color:#f39c12;font-weight:500}.approved-label{color:#27ae60;font-weight:500}.btn-info{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-info:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}[data-theme=dark] .status-badge.status-completed{color:#81c784}[data-theme=dark] .status-badge.status-progress{color:#64b5f6}[data-theme=dark] .status-badge.status-pending{color:#ffd54f}[data-theme=dark] .status-badge.status-overdue{color:#e57373}[data-theme=dark] .completed-label{color:#81c784}[data-theme=dark] .no-coach-warning p{color:#ffd54f}[data-theme=dark] .overdue-warning{color:#e57373}[data-theme=dark] .assignment-result .score{color:#81c784}.friends-container{padding:20px;max-width:900px;margin:0 auto}.friends-header{margin-bottom:24px}.friends-header h1{color:var(--text-primary);font-size:1.8rem;margin:0}.friends-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--bg-card);padding:8px;border-radius:12px;overflow-x:auto}.tab-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.tab-btn.active{background:var(--primary-color);color:#fff}.tab-icon{font-size:1.1rem}.tab-count{background:var(--bg-secondary);padding:2px 8px;border-radius:12px;font-size:.8rem}.tab-btn.active .tab-count{background:#fff3}.tab-badge{background:#ef4444;color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:700}.friends-content{background:var(--bg-card);border-radius:16px;padding:20px;min-height:400px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:16px}.empty-state h3{color:var(--text-primary);margin:0 0 8px}.empty-state p{color:var(--text-secondary);margin:0 0 20px}.empty-text{color:var(--text-secondary);text-align:center;padding:20px}.friend-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px;margin-bottom:12px;transition:transform .2s ease}.friend-card:hover{transform:translate(4px)}.friend-avatar{position:relative;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;font-weight:700;overflow:hidden}.friend-avatar img{width:100%;height:100%;object-fit:cover}.status-dot{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-secondary)}.friend-info{flex:1}.friend-info h4{color:var(--text-primary);margin:0 0 4px;font-size:1rem}.friend-info p{color:var(--text-secondary);margin:0;font-size:.85rem}.friend-actions{display:flex;gap:8px}.action-btn{width:36px;height:36px;border:none;border-radius:8px;background:var(--bg-card);cursor:pointer;font-size:1rem;transition:all .2s ease}.action-btn:hover{transform:scale(1.1)}.action-btn.chat:hover{background:#3b82f6}.action-btn.challenge:hover{background:#22c55e}.action-btn.profile:hover{background:#8b5cf6}.action-btn.remove:hover{background:#ef4444;color:#fff}.requests-section{display:flex;flex-direction:column;gap:24px}.requests-group h3{color:var(--text-primary);margin:0 0 16px;font-size:1.1rem}.request-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px;margin-bottom:12px}.request-card.outgoing{opacity:.8}.request-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:700;overflow:hidden}.request-avatar img{width:100%;height:100%;object-fit:cover}.request-info{flex:1}.request-info h4{color:var(--text-primary);margin:0 0 4px}.request-info p{color:var(--text-secondary);margin:0;font-size:.85rem}.request-actions{display:flex;gap:8px}.request-status{display:flex;align-items:center}.pending-badge{color:var(--text-secondary);font-size:.85rem;font-style:italic}.conversations-list{display:flex;flex-direction:column;gap:8px}.conversation-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px;cursor:pointer;transition:all .2s ease}.conversation-card:hover{background:var(--bg-hover)}.conversation-card.unread{border-left:3px solid var(--primary-color)}.conv-avatar{position:relative;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;font-weight:700;overflow:hidden}.conv-avatar img{width:100%;height:100%;object-fit:cover}.conv-info{flex:1;min-width:0}.conv-info h4{color:var(--text-primary);margin:0 0 4px}.last-message{color:var(--text-secondary);margin:0;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.conv-time{color:var(--text-secondary);font-size:.75rem}.unread-badge{background:var(--primary-color);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:700}.search-section{display:flex;flex-direction:column;gap:20px}.search-box{display:flex;gap:12px}.search-box input{flex:1;padding:12px 16px;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:1rem}.search-box input:focus{outline:none;border-color:var(--primary-color)}.search-results{display:flex;flex-direction:column;gap:8px}.search-result-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px}.result-avatar{position:relative;width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:700;overflow:hidden}.result-avatar img{width:100%;height:100%;object-fit:cover}.result-info{flex:1}.result-info h4{color:var(--text-primary);margin:0 0 4px}.result-info p{color:var(--text-secondary);margin:0;font-size:.85rem}.result-action{display:flex;align-items:center}.status-text{font-size:.85rem}.status-text.pending{color:#f59e0b}.status-text.friends{color:#22c55e}.btn-sm{padding:8px 16px!important;font-size:.85rem!important}.btn-success{background:#22c55e!important;color:#fff!important}.btn-success:hover{background:#16a34a!important}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px}@media(max-width:768px){.friends-tabs{gap:4px}.tab-btn{padding:10px 14px;font-size:.85rem}.tab-btn span:not(.tab-icon):not(.tab-badge){display:none}.friend-actions{flex-wrap:wrap}.search-box{flex-direction:column}}.challenge-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.challenge-modal{background:var(--bg-card);border-radius:24px;padding:32px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;position:relative;border:1px solid var(--border-color);box-shadow:0 25px 50px -12px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.close-modal-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;border-radius:50%;background:var(--bg-secondary);color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-modal-btn:hover{background:#ef4444;color:#fff;transform:rotate(90deg)}.challenge-modal-header{text-align:center;margin-bottom:24px}.challenge-icon{font-size:3rem;margin-bottom:12px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.challenge-modal-header h2{color:var(--text-primary);font-size:1.6rem;margin:0 0 8px;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.challenge-modal-header p{color:var(--text-secondary);margin:0;font-size:.95rem}.challenge-opponent{display:flex;align-items:center;gap:16px;background:var(--bg-secondary);padding:16px 20px;border-radius:16px;margin-bottom:24px;border:2px solid var(--border-color)}.opponent-avatar{position:relative;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.4rem;overflow:hidden}.opponent-avatar img{width:100%;height:100%;object-fit:cover}.opponent-avatar .status-dot{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;border:3px solid var(--bg-secondary)}.opponent-avatar .status-dot.online{background:#22c55e}.opponent-avatar .status-dot.offline{background:#6b7280}.opponent-info{display:flex;flex-direction:column;gap:4px}.opponent-name{font-weight:600;font-size:1.2rem;color:var(--text-primary)}.opponent-rating{color:var(--text-secondary);font-size:.9rem}.time-controls-section{margin-bottom:24px}.time-controls-section h3{color:var(--text-primary);font-size:1rem;margin:0 0 16px;font-weight:600}.time-controls-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.time-control-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease}.time-control-btn:hover{border-color:var(--primary-color);background:#4a90d91a;transform:translateY(-2px)}.time-control-btn.selected{border-color:#22c55e;background:#22c55e26;box-shadow:0 0 20px #22c55e33}.time-control-btn .tc-icon{font-size:1.3rem}.time-control-btn .tc-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.time-control-btn .tc-type{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.time-control-btn.selected .tc-label,.time-control-btn.selected .tc-type{color:#22c55e}.challenge-summary{display:flex;gap:16px;padding:16px;background:var(--bg-dark);border-radius:12px;margin-bottom:24px}.summary-item{flex:1;display:flex;flex-direction:column;gap:4px;text-align:center}.summary-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.challenge-modal-actions{display:flex;gap:12px}.challenge-modal-actions .btn{flex:1;padding:14px 24px;font-size:1rem;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.challenge-modal-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-secondary)}.challenge-modal-actions .btn-secondary:hover{background:var(--bg-dark);color:var(--text-primary)}.challenge-modal-actions .btn-challenge{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 15px #22c55e4d}.challenge-modal-actions .btn-challenge:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}@media(max-width:600px){.challenge-modal{margin:16px;padding:24px}.time-controls-grid{grid-template-columns:repeat(3,1fr)}.challenge-opponent{flex-direction:column;text-align:center}}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 80px);max-width:800px;margin:0 auto;background:var(--bg-card);border-radius:16px;overflow:hidden}.chat-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.back-btn{padding:8px 16px;border:none;border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:var(--bg-hover)}.chat-friend-info{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .2s ease}.chat-friend-info:hover{background:var(--bg-card)}.chat-avatar{position:relative;width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:700;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-avatar .status-dot{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-secondary)}.status-dot.online{background:#22c55e}.status-dot.offline{background:#6b7280}.chat-friend-details h3{color:var(--text-primary);margin:0;font-size:1rem}.chat-friend-details p{color:var(--text-secondary);margin:0;font-size:.85rem}.challenge-btn{padding:10px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.challenge-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #22c55e4d}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:8px}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px}.empty-chat .empty-icon{font-size:4rem;margin-bottom:16px}.empty-chat h3{color:var(--text-primary);margin:0 0 8px}.empty-chat p{color:var(--text-secondary);margin:0}.date-divider{display:flex;align-items:center;justify-content:center;margin:16px 0}.date-divider span{background:var(--bg-secondary);color:var(--text-secondary);padding:6px 16px;border-radius:20px;font-size:.8rem}.message-wrapper{display:flex;flex-direction:column;width:100%}.message-wrapper.own{align-items:flex-end}.message-wrapper.other{align-items:flex-start}.message{display:flex;max-width:70%;animation:messageIn .2s ease}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.own{align-self:flex-end}.message.other{align-self:flex-start}.message-content{padding:12px 16px;border-radius:18px;max-width:100%;box-shadow:0 1px 2px #0000001a}.message.own .message-content{background:linear-gradient(135deg,var(--primary-color),#2563eb);color:#fff;border-bottom-right-radius:4px}.message.other .message-content{background:linear-gradient(135deg,#f0f4f8,#e2e8f0);color:#1e293b;border:1px solid rgba(0,0,0,.08);border-bottom-left-radius:4px}[data-theme=dark] .message.other .message-content{background:linear-gradient(135deg,#374151,#4b5563);color:#f3f4f6;border:1px solid rgba(255,255,255,.1)}.message-content p{margin:0 0 4px;word-wrap:break-word;line-height:1.4}.message-time{font-size:.7rem;opacity:.7;display:block;text-align:right}.message.other .message-time{color:var(--text-secondary)}.chat-input-form{display:flex;gap:12px;padding:16px 20px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.chat-input-form input{flex:1;padding:14px 20px;border:2px solid var(--border-color);border-radius:25px;background:var(--bg-card);color:var(--text-primary);font-size:1rem;transition:border-color .2s ease}.chat-input-form input:focus{outline:none;border-color:var(--primary-color)}.chat-input-form input::placeholder{color:var(--text-secondary)}.send-btn{width:50px;height:50px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2563eb);color:#fff;font-size:1.3rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.send-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px #4a90d966}.send-btn:disabled{opacity:.5;cursor:not-allowed}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.chat-container{height:calc(100vh - 60px);border-radius:0}.chat-header{padding:12px 16px}.challenge-btn{padding:8px 12px;font-size:.85rem}.message{max-width:85%}.chat-input-form{padding:12px 16px}}.chat-banned-notice{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#7f1d1d,#991b1b);border-top:1px solid rgba(255,255,255,.1)}.chat-banned-notice .ban-icon{font-size:1.5rem}.chat-banned-notice .ban-text{display:flex;flex-direction:column;gap:2px}.chat-banned-notice .ban-text strong{color:#fca5a5;font-size:.95rem}.chat-banned-notice .ban-text span{color:#fecaca;font-size:.8rem}.board-customization{padding:20px;max-width:1400px;margin:0 auto}.customization-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.customization-header h1{display:flex;align-items:center;gap:12px;font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0}.header-icon{font-size:2rem}.back-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--primary-color)}.reset-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid #ef4444;border-radius:10px;color:#ef4444;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-btn:hover{background:#ef44441a}.customization-content{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:32px;align-items:start}.preview-panel{position:sticky;top:20px}.preview-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000001a}.preview-title{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 20px}.preview-icon{font-size:1.4rem}.board-preview-container{margin:0 auto 20px;border-radius:12px;overflow:hidden;transition:max-width .3s ease}.current-settings{display:flex;flex-wrap:wrap;gap:10px}.setting-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:20px;font-size:.85rem}.badge-icon{font-size:1rem}.badge-text{color:var(--text-primary);font-weight:500}.settings-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--bg-hover)}.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:transparent;border:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text-primary);background:var(--bg-card)}.tab.active{color:var(--primary-color);background:var(--bg-card);border-bottom-color:var(--primary-color)}.tab-icon{font-size:1.2rem}.tab-label{display:none}@media(min-width:900px){.tab-label{display:inline}}.tab-content{padding:24px}.tab-content h3{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.section-desc{font-size:.9rem;color:var(--text-secondary);margin:0 0 24px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.theme-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 12px;background:var(--bg-hover);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease}.theme-option:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #6366f133}.theme-option.selected{border-color:var(--primary-color);background:#6366f11a}.theme-preview{display:grid;grid-template-columns:1fr 1fr;width:56px;height:56px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0003}.theme-square{width:100%;height:100%}.theme-name{font-size:.8rem;font-weight:500;color:var(--text-primary);text-align:center}.selected-badge{position:absolute;top:8px;right:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--primary-color);color:#fff;border-radius:50%;font-size:.7rem;font-weight:700}.piece-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;max-height:600px;overflow-y:auto;padding-right:8px}.piece-set-grid::-webkit-scrollbar{width:6px}.piece-set-grid::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:3px}.piece-set-grid::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.piece-set-grid::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.piece-set-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;background:var(--bg-hover);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease}.piece-set-option:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #6366f133}.piece-set-option.selected{border-color:var(--primary-color);background:#6366f11a}.piece-mini-board{width:100%;max-width:120px;aspect-ratio:1;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #00000026;pointer-events:none}.piece-preview{font-size:.9rem;color:var(--text-primary);letter-spacing:2px}.piece-icon{font-family:Segoe UI Symbol,DejaVu Sans,sans-serif}.piece-set-name{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:center}.settings-group{display:flex;flex-direction:column;gap:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:12px;gap:16px}.setting-info{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.setting-icon{font-size:1.5rem;flex-shrink:0}.setting-text{display:flex;flex-direction:column;gap:2px;min-width:0}.setting-label{font-size:.95rem;font-weight:600;color:var(--text-primary)}.setting-desc{font-size:.8rem;color:var(--text-secondary)}.toggle-switch{position:relative;width:52px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:28px;transition:all .3s ease}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.view-mode-toggle,.size-toggle,.speed-toggle{display:flex;gap:4px;padding:4px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:10px}.mode-btn,.size-btn,.speed-btn{padding:8px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.mode-btn:hover,.size-btn:hover,.speed-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.mode-btn.active,.size-btn.active,.speed-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;box-shadow:0 2px 8px #6366f14d}@media(max-width:900px){.customization-content{grid-template-columns:1fr}.preview-panel{position:static;order:-1}.preview-card{max-width:500px;margin:0 auto}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}@media(max-width:600px){.customization-header{flex-direction:column;gap:16px;align-items:stretch}.customization-header h1{justify-content:center;font-size:1.4rem}.back-btn,.reset-btn{justify-content:center}.setting-row{flex-direction:column;align-items:stretch;gap:12px}.setting-info{gap:12px}.speed-toggle{flex-wrap:wrap;justify-content:center}.speed-btn{flex:1;min-width:60px}}.pieces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px}.piece-set-card{background:var(--bg-hover);border:2px solid var(--border-color);border-radius:12px;padding:12px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center}.piece-set-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 16px #0003}.piece-set-card.active{border-color:var(--primary-color);background:#8b45131a;box-shadow:0 0 0 2px #8b45134d}.piece-set-card .mini-board-container{width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;margin-bottom:10px;pointer-events:none}.piece-set-card .piece-set-name{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:center;text-transform:capitalize}.pieces-section-info{background:linear-gradient(135deg,#8b45131a,#b8860b1a);border:1px solid rgba(139,69,19,.2);border-radius:12px;padding:16px;margin-bottom:24px}.pieces-section-info p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.pieces-section-info a{color:var(--primary-color);text-decoration:none}.pieces-section-info a:hover{text-decoration:underline}.piece-category{margin-bottom:32px}.category-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.category-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:10px}.category-info{flex:1}.category-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.category-desc{font-size:.85rem;color:var(--text-secondary);margin:0}@media(max-width:768px){.pieces-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.piece-set-card{padding:10px}.piece-set-card .piece-set-name{font-size:.8rem}.category-header{flex-direction:column;align-items:flex-start;gap:8px}}@media(max-width:480px){.pieces-grid{grid-template-columns:repeat(2,1fr);gap:10px}}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--primary-glow)}.btn-secondary{background:var(--bg-light);color:var(--text-primary);border:2px solid var(--secondary-color)}.btn-secondary:hover{background:var(--secondary-color)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--error);color:#fff}.card{background:var(--bg-medium);border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000004d}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px}.input-group input{width:100%;padding:12px 16px;border:2px solid var(--bg-light);border-radius:8px;background:var(--bg-dark);color:var(--text-primary);font-size:16px;transition:border-color .3s}.input-group input:focus{outline:none;border-color:var(--primary-color)}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.page-title{font-size:2.5rem;color:var(--primary-color);margin-bottom:24px;text-align:center}.page-subtitle{font-size:1.2rem;color:var(--text-secondary);text-align:center;margin-bottom:32px}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.spinner{width:50px;height:50px;border:4px solid var(--bg-light);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.message{padding:12px 20px;border-radius:8px;margin-bottom:16px}.message-success{background:#4caf5033;border:1px solid var(--success);color:var(--success)}.message-error{background:#f4433633;border:1px solid var(--error);color:var(--error)}.avatar{width:48px;height:48px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.avatar-lg{width:80px;height:80px;font-size:2rem}.badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.badge-gold{background:var(--secondary-color);color:var(--text-primary)}.badge-online{background:var(--success);color:#fff}.badge-offline{background:var(--text-secondary);color:#fff}.loading-screen{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:var(--text-primary);background-color:var(--bg-primary)}
