:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body[data-theme=dark]{--bg: #0b0b0d;--bg-soft: #111118;--text: #f5f5f5;--accent: #0ff0fc;--accent-2: #a855f7;--success: #4ade80;--error: #f87171;--warning: #fbbf24;--card-glow: rgba(0, 255, 255, .12);--image-glow: rgba(168, 85, 247, .25);--border: rgba(255, 255, 255, .07);--glass: rgba(255, 255, 255, .05)}body[data-theme=light]{--bg: #ffffff;--bg-soft: #f3f6fd;--text: #1b1b1b;--accent: #4169e1;--accent-2: #7c3aed;--success: #22c55e;--error: #ef4444;--warning: #f59e0b;--card-glow: rgba(65, 105, 225, .12);--image-glow: rgba(124, 58, 237, .25);--border: rgba(0, 0, 0, .1);--glass: rgba(0, 0, 0, .03)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;min-height:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y}html{min-height:100%}#root,.app-container{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.chess-navbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;gap:12px;align-items:center;padding:10px 16px;background:var(--bg);border-bottom:2px solid var(--border);color:var(--text);position:sticky;top:0;z-index:200}.chess-navbar__left{flex:1 1;display:flex;align-items:center}.chess-navbar__logo{font-size:1.45rem;font-weight:700;color:var(--accent);padding-left:4px}.search-box{position:relative;width:100%;max-width:420px;display:flex;justify-content:center}.search-box input{width:min(46vw,360px);max-width:360px;min-width:120px;padding:8px 12px;border-radius:8px;background:var(--glass);border:1px solid transparent;border-color:var(--border);color:var(--text);outline:none;transition:width .22s ease,border-color .18s ease}.search-box input:focus{width:min(64vw,540px);border-color:var(--accent-faint)}.search-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:min(46vw,360px);background:var(--bg2);border:1px solid var(--border);border-radius:6px;overflow:hidden;box-shadow:0 6px 18px #00000059;animation:fadeIn .16s ease;z-index:250}.search-item{padding:10px 12px;cursor:pointer}.search-item:hover{background:var(--accent-faint)}.chess-navbar__toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;position:relative;z-index:310}.chess-navbar__toggle .bar{display:block;width:22px;height:3px;margin:4px 0;background:var(--accent);border-radius:2px;transition:all .3s ease;transform-origin:center}.chess-navbar.slide-open .chess-navbar__toggle .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.chess-navbar.slide-open .chess-navbar__toggle .bar:nth-child(2){opacity:0;transform:scaleX(0)}.chess-navbar.slide-open .chess-navbar__toggle .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.chess-navbar__links{display:flex;align-items:center;list-style:none;gap:18px}.chess-navbar__links a,.chess-navbar__links .theme-toggle{text-decoration:none;font-size:.98rem;padding:6px 8px;border-radius:6px;transition:all .2s ease}.chess-navbar__links a:hover,.chess-navbar__links .theme-toggle:hover{background:var(--accent-faint);color:var(--accent)}.chess-navbar__links a.active{background:var(--accent-faint);color:var(--accent);font-weight:600}.profile-wrapper{position:relative}.profile-btn{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:6px}.avatar{width:34px;height:34px;border-radius:50%;border:2px solid var(--accent)}.elo{background:var(--accent-faint);padding:3px 8px;border-radius:8px;font-size:.85rem;color:var(--accent);font-weight:600}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg2);border:1px solid var(--border);border-radius:8px;display:none;flex-direction:column;width:160px;z-index:320}.profile-menu.open{display:flex}.profile-menu a{padding:10px 12px;text-decoration:none;color:var(--text)}.profile-menu a:hover{background:var(--accent-faint)}.logout{color:#ff5858}.theme-toggle-icon{cursor:pointer}.search-box-btn{margin-left:8px;padding:8px 14px;border-radius:8px;background:var(--accent);color:var(--bg2);font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:background .2s ease,transform .15s ease;white-space:nowrap}.search-box-btn:hover{background:var(--accent-faint);color:var(--accent)}.search-box-btn:active{transform:scale(.94)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.chess-navbar{padding:10px 12px;align-items:center}.search-box input{width:min(56vw,240px)}.search-box input:focus{width:min(80vw,320px)}.chess-navbar__toggle{display:block}.chess-navbar__links{position:fixed;top:0;right:0;height:100vh;width:min(84vw,320px);background:var(--bg2);flex-direction:column;justify-content:flex-start;padding:72px 18px;gap:18px;transform:translate(100%);transition:transform .26s cubic-bezier(.2,.9,.2,1);box-shadow:-8px 0 30px #00000073;z-index:300;pointer-events:none}.chess-navbar__links.active{transform:translate(0);background-color:var(--bg);pointer-events:auto}.chess-navbar__links a,.chess-navbar__links .theme-toggle,.profile-btn{font-size:1.12rem;width:100%;display:block}.search-dropdown{left:12px;transform:none;width:calc(100% - 40px);top:calc(100% + 12px)}.profile-menu{position:static;width:100%;border-radius:6px}.search-box-btn{padding:8px 12px;font-size:.9rem}}.user-menu-container{position:relative;display:flex;align-items:center}.user-avatar-btn{background:none;border:none;cursor:pointer;padding:0;border-radius:50%;transition:transform .2s ease;display:flex;align-items:center;justify-content:center}.user-avatar-btn:hover{transform:scale(1.05)}.user-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--accent);object-fit:cover}.user-dropdown{position:absolute;top:calc(100% + 12px);right:0;background:var(--bg2);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0006;min-width:240px;overflow:hidden;animation:slideDown .2s ease;z-index:320}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-info{display:flex;align-items:center;gap:12px;padding:16px;background:var(--glass)}.user-avatar-large{width:48px;height:48px;border-radius:50%;border:2px solid var(--accent);object-fit:cover}.user-name{font-weight:600;font-size:.95rem;color:var(--text)}.user-email{font-size:.8rem;color:var(--text-muted);margin-top:2px}.dropdown-divider{height:1px;background:var(--border);margin:0}.dropdown-item{display:block;width:100%;padding:12px 16px;text-align:left;background:none;border:none;color:var(--text);text-decoration:none;cursor:pointer;font-size:.95rem;transition:background .15s ease}.dropdown-item:hover{background:var(--accent-faint)}.logout-btn{color:#ff5858}.logout-btn:hover{background:#ff58581a}.auth-btn{display:inline-block;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.signin-btn{background:linear-gradient(135deg,var(--accent) 0%,#6366f1 50%,#8b5cf6 100%);color:#fff;border:none;box-shadow:0 2px 12px #6366f159,0 0 20px #8b5cf626;position:relative;overflow:hidden}.signin-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.signin-btn:hover:before{left:100%}.signin-btn:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a78bfa);color:#fff;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #6366f173,0 0 30px #8b5cf640}.signin-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #6366f14d}.signup-btn{background:var(--accent);color:#fff}.signup-btn:hover{background:var(--accent-faint);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}body[data-theme=light] .signup-btn{color:#fff!important}@media(max-width:768px){.user-dropdown{position:static;width:100%;border-radius:8px;margin-top:8px}.auth-btn{width:100%;text-align:center;display:block}.user-menu-container{flex-direction:column;width:100%}}.chess-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px}.chess-loader-image{width:80px;height:80px;object-fit:contain;animation:floatBounce 2s ease-in-out infinite;filter:drop-shadow(0 10px 20px rgba(0,0,0,.3))}@keyframes floatBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(-5deg)}50%{transform:translateY(-20px) rotate(0)}75%{transform:translateY(-15px) rotate(5deg)}}.chess-loader-text{color:var(--text);font-size:16px;font-weight:600;opacity:.8;animation:textPulse 2s ease-in-out infinite;margin:0;letter-spacing:.5px}@keyframes textPulse{0%,to{opacity:.5;transform:scale(.98)}50%{opacity:1;transform:scale(1);text-shadow:0 0 16px var(--accent)}}.footer-modern{background:var(--bg-soft);border-top:1px solid var(--border);padding:3rem 0 2rem;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:0 2rem}.footer-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:2rem}.footer-brand{display:flex;align-items:center;gap:.5rem}.footer-logo{font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-nav{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}.footer-nav a{color:var(--text);opacity:.7;text-decoration:none;font-size:.95rem;transition:all .3s ease;position:relative}.footer-nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.footer-nav a:hover{opacity:1}.footer-nav a:hover:after{width:100%}.footer-copyright{color:var(--text);opacity:.5;font-size:.9rem;text-align:center}.heart{color:#e63946;animation:heartbeat 1.5s ease-in-out infinite;display:inline-block}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}@media(max-width:768px){.footer-modern{padding:2rem 0 1.5rem}.footer-content{flex-direction:column;gap:1.5rem}.footer-logo{font-size:1.25rem}.footer-nav{gap:1.5rem}.footer-nav a{font-size:.9rem}}.eval-section-wrapper{width:100%;padding:48px 20px;background:var(--bg);color:var(--text);display:flex;justify-content:center;box-sizing:border-box}.eval-section.card{width:100%;max-width:1300px;display:flex;gap:28px;background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:0 8px 28px #02061799;box-sizing:border-box;align-items:stretch}.eval-left,.eval-right{flex:1 1 0%;display:flex;flex-direction:column;gap:12px}.eval-title{font-size:1.25rem;margin:0;color:var(--accent);font-weight:700}.eval-input{width:100%;resize:vertical;min-height:140px;padding:12px 14px;background:var(--glass);border:1px solid var(--border);color:var(--text);border-radius:10px;outline:none;font-family:inherit;font-size:.95rem}.eval-input:focus{box-shadow:0 6px 22px #0006;border-color:var(--accent)}.eval-controls{display:flex;gap:12px;margin-top:6px}.eval-btn,.eval-clear{padding:10px 14px;border-radius:10px;border:none;cursor:pointer;font-weight:700;font-size:.95rem}.eval-btn{background:var(--accent);color:var(--bg2);box-shadow:0 6px 18px #2e3c881f}.eval-clear{background:transparent;color:var(--text);border:1px solid var(--border)}.eval-result{margin-top:8px;display:flex;flex-direction:column;gap:10px}.eval-score-row{display:flex;align-items:center;gap:12px}.eval-score-label{opacity:.9;font-weight:700;color:var(--text)}.eval-score-value{font-weight:900;color:var(--accent);font-size:1.1rem}.eval-current-move{margin-left:auto;color:#ffffffb3;font-weight:700;font-size:.9rem}.eval-bar{position:relative;height:48px;border-radius:999px;background:#ffffff0a;overflow:hidden;border:1px solid var(--border)}.eval-bar-fill{height:100%;background:linear-gradient(90deg,#06b6d4,#7c3aed);width:50%;transition:width .42s cubic-bezier(.2,.9,.25,1);box-shadow:inset 0 -6px 24px #0003}.eval-bar-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--text);text-shadow:0 1px 0 rgba(0,0,0,.5)}.eval-right{padding-left:6px}.right-title{margin:0 0 6px;font-weight:700;color:var(--accent)}.board-area{display:flex;flex-direction:column;gap:12px}.board-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.board-controls{display:flex;gap:6px;align-items:center}.ctrl-btn{padding:6px 10px;border-radius:8px;background:#ffffff05;color:var(--text);border:1px solid var(--border);cursor:pointer;font-weight:700}.ctrl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #00000040}.chessboard-container{width:100%;display:flex;justify-content:center;align-items:center;background:transparent;padding:6px 0}.moves-area{display:flex;flex-direction:column;gap:8px;background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:12px;flex:1;min-height:200px}.moves-head{font-weight:700;margin-bottom:6px;color:var(--accent);font-size:1.1rem;border-bottom:1px solid var(--border);padding-bottom:8px}.moves-empty{color:var(--text);opacity:.6;padding:10px}.moves-list{margin:0;padding:0;overflow-y:auto;display:block;flex:1;max-height:400px}.move-item{margin:2px 0;color:var(--text);font-weight:600;cursor:pointer;padding:8px 10px;border-radius:6px;transition:all .2s ease;display:flex;gap:8px}.move-item:hover{background:#ffffff0f;transform:translate(4px)}.active-move{background:linear-gradient(90deg,#06b6d4,#7c3aed);color:#000;font-weight:900}.right-footer{margin-top:10px;display:flex;flex-direction:column;gap:10px}.details-title{margin:0;font-size:.95rem;color:var(--accent);font-weight:800}.tag-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tag-row{display:flex;align-items:center;justify-content:space-between;background:var(--glass);padding:8px 10px;border-radius:8px;border:1px solid var(--border)}.tag-key{color:var(--text);opacity:.7;font-weight:700;font-size:.85rem}.tag-val{color:var(--text);font-size:.9rem;text-align:right;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:880px){.eval-section.card{flex-direction:column;padding:18px}.eval-right{padding-left:0}.moves-list{max-height:200px}}@media(min-width:992px){.eval-left{flex:1 1 56%}.eval-right{flex:1 1 44%}}.hero-root{font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--bg)}.hero-section{padding:5rem 0 7rem;position:relative;overflow:hidden;background:linear-gradient(180deg,transparent,rgba(0,0,0,.15))}.hero-bgAura{position:absolute;top:-20%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.15;filter:blur(80px);pointer-events:none}.hero-inner{max-width:1280px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;position:relative;z-index:5}.hero-pretitle{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;font-size:14px;margin-bottom:1rem;opacity:.85}.hero-title{margin:0;font-size:2.8rem;font-weight:700;line-height:1.06}.hero-gradientText{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;color:transparent}.hero-description{margin-top:1.2rem;font-size:1.1rem;max-width:60ch;opacity:.85}.hero-ctaWrapper{margin-top:1.7rem;position:relative;display:inline-block}.hero-ctaGlow{position:absolute;inset:-8px;border-radius:60px;background:linear-gradient(90deg,var(--accent),var(--accent-2));filter:blur(14px);opacity:.75;transition:transform .2s ease,opacity .2s ease}.hero-cta{position:relative;padding:.85rem 1.4rem;border-radius:60px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);text-decoration:none;font-weight:600;display:inline-block;transition:transform .2s ease}.hero-cta:hover{transform:translateY(-3px)}.hero-ctaWrapper:hover .hero-ctaGlow{transform:scale(1.05);opacity:1}.hero-stats{margin-top:1.6rem;display:flex;align-items:center;gap:1rem}.hero-statIcon{width:32px;height:32px}.hero-statText{opacity:.9;font-size:.97rem}.hero-right{position:relative;text-align:center}.hero-imageGlow{position:absolute;top:10%;left:50%;width:360px;height:360px;transform:translate(-50%);background:radial-gradient(circle,var(--image-glow),transparent 70%);filter:blur(60px);opacity:.6;align-self:center}.hero-illustration{width:100%;max-width:420px;animation:float 3.5s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-34px)}to{transform:translateY(0)}}@media(min-width:820px){.hero-inner{grid-template-columns:1fr 480px;gap:4rem}.hero-title{font-size:3.6rem}.hero-illustration{max-width:500px}}.live-row-wrapper{max-width:1400px;margin:24px auto;padding:16px;background:transparent;color:var(--text);box-sizing:border-box}.live-row-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.live-row-title{font-weight:700;color:var(--accent);font-size:20px;letter-spacing:-.5px}.live-speed-selector{display:flex;gap:8px}.speed-btn{padding:6px 10px;border-radius:8px;background:var(--bg-soft);color:var(--text);border:1px solid var(--border);font-size:12px;cursor:pointer;transition:.2s ease}.speed-btn:hover{background:var(--glass)}.speed-btn.active{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 6px 18px var(--card-glow)}.live-boards-grid{display:grid;grid-template-columns:repeat(3,minmax(300px,1fr));gap:20px;align-items:start}.live-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;align-items:center;gap:12px;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform}.live-card:hover{box-shadow:0 8px 32px var(--card-glow),0 0 40px #0ff0fc14;transform:translateY(-6px);border-color:#0ff0fc33}.card-top,.card-bottom{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#00000040;border-radius:10px;transition:background .2s ease}.card-top:hover,.card-bottom:hover{background:#00000059}.player-info{display:flex;align-items:center;gap:8px}.player-name{font-weight:700;font-size:15px;color:#fff;letter-spacing:.2px}.player-elo{color:#ffffffa6;font-weight:500;font-size:13px}.player-clock{font-weight:700;font-size:17px;color:var(--accent);font-family:Courier New,monospace;letter-spacing:.5px;min-width:60px;text-align:right;text-shadow:0 0 10px rgba(15,240,252,.3)}.card-board{display:flex;align-items:center;justify-content:center;padding:10px;background:linear-gradient(135deg,#0ff0fc0a,#a855f70a);border-radius:12px;position:relative}.card-board:after{content:"";position:absolute;inset:-1px;border-radius:12px;padding:1px;background:linear-gradient(135deg,#0ff0fc26,#a855f726);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:exclude;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:.6}.card-footer{width:100%;display:flex;justify-content:center;margin-top:4px}.lichess-link{font-size:13px;font-weight:600;color:var(--accent);text-decoration:none;opacity:.85;transition:all .2s ease;padding:4px 8px;border-radius:6px}.lichess-link:hover{opacity:1;background:#0ff0fc1a;text-decoration:none}.error-badge{font-size:11px;color:#ff6b6b;font-weight:600;padding:5px 10px;background:#ff6b6b1f;border-radius:6px;border:1px solid rgba(255,107,107,.3)}@media(max-width:1200px){.live-boards-grid{grid-template-columns:repeat(2,minmax(300px,1fr))}}@media(max-width:768px){.live-boards-grid{grid-template-columns:1fr}.live-row-wrapper{padding:12px}}.rankings-wrapper{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:20px;box-shadow:0 20px 40px -10px #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;height:auto!important;min-height:0!important;max-height:none!important;max-width:900px;margin:20px auto;overflow:visible!important;font-family:Inter,system-ui,sans-serif}.rankings-header{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px;background:var(--bg-soft)}.header-title{display:flex;align-items:center;gap:12px}.rankings-header h2{margin:0;font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.5px}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.rankings-controls{display:flex;gap:12px;flex-wrap:wrap}.segment-group{display:flex;background:var(--glass);padding:4px;border-radius:12px;border:1px solid var(--border)}.segment-btn{background:transparent;border:none;color:var(--text);opacity:.6;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;border-radius:8px;transition:all .2s ease}.segment-btn:hover{opacity:1}.segment-btn.active{background:var(--accent);color:#fff;opacity:1;box-shadow:0 2px 8px var(--card-glow)}.rankings-table-container,.table-body{overflow:visible!important;height:auto!important;max-height:none!important;display:block!important;position:relative}.rankings-row{display:grid;grid-template-columns:60px 1fr 100px 100px;align-items:center;padding:12px 24px;border-bottom:1px solid var(--border)}.rankings-head{position:sticky;top:0;background:var(--bg-soft);z-index:10;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--text);opacity:.6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.player-rankings-row{transition:background .15s ease}.player-rankings-row:hover{background:var(--glass)}.rank-number{font-weight:700;font-size:14px;color:var(--text);opacity:.6;width:24px;text-align:center;display:inline-block}.rank-1{color:#fbbf24;text-shadow:0 0 12px rgba(251,191,36,.4);font-size:16px}.rank-2{color:#94a3b8;font-size:15px}.rank-3{color:#b45309;font-size:15px}.rankings-col-player{display:flex;align-items:center;gap:14px}.player-flag{width:26px;height:19px;border-radius:3px;box-shadow:0 2px 4px #0006;object-fit:cover}.player-info{display:flex;flex-direction:column;align-items:flex-start}.player-name{font-weight:600;font-size:14px;color:var(--text)}.player-meta{font-size:11px;color:var(--text);opacity:.6;text-align:left;width:100%}.rankings-col-rating{font-family:Consolas,Monaco,monospace;font-weight:700;font-size:15px;color:var(--text);letter-spacing:-.5px;display:flex;justify-content:center;align-items:center}.rankings-col-diff{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.diff-tag{font-size:13px;font-weight:600}.diff-tag.up{color:var(--success, #10b981)}.diff-tag.down{color:var(--danger, #ef4444)}.diff-tag.neutral{color:var(--text);opacity:.3}.pos-change{font-size:10px;font-weight:700;margin-top:2px}.pos-change.up{color:var(--success)}.pos-change.down{color:var(--danger)}.skeleton-row{height:48px;margin:0 24px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,var(--glass) 25%,var(--border) 50%,var(--glass) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tournament-tabs{display:flex;gap:12px;justify-content:center;padding:32px 20px 24px;max-width:600px;margin:0 auto}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:var(--bg-soft);border:2px solid var(--border);border-radius:12px;color:var(--text);opacity:.7;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tab-button:hover{background:var(--glass);border-color:var(--accent);opacity:1;transform:translateY(-2px)}.tab-button.active{background:var(--glass);border-color:var(--accent);color:var(--accent);opacity:1;box-shadow:0 4px 20px var(--card-glow)}.tab-label{font-size:.95rem}@media(max-width:768px){.tournament-tabs{padding:24px 16px 20px}.tab-button{flex-direction:column;padding:12px 16px;gap:4px}.tab-icon{font-size:1.4rem}.tab-label{font-size:.85rem}}.fide-tournament-card.compact{background:var(--bg-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;height:100%}.fide-tournament-card.compact:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 40px var(--card-glow)}.fide-tournament-card.compact.ongoing{border-color:#00ff884d}.fide-tournament-card.compact.ongoing:hover{border-color:#00ff8880;box-shadow:0 12px 40px #0f83}.tournament-image-compact{width:100%;height:140px;overflow:hidden;position:relative}.tournament-image-compact img{width:100%;height:100%;object-fit:cover}.tournament-card-content{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}.tournament-header-compact{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.tournament-title-compact{font-size:1.05rem;font-weight:600;color:var(--text);margin:0;line-height:1.3;flex:1;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.status-badge-compact{padding:4px 10px;border-radius:16px;font-size:.75rem;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:5px;flex-shrink:0}.status-badge-compact.status-live{background:#00ff8826;color:#0f8;border:1px solid rgba(0,255,136,.3)}.live-dot{width:5px;height:5px;border-radius:50%;background:#0f8;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.tournament-meta{display:flex;flex-wrap:wrap;gap:12px}.meta-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text);opacity:.7;font-weight:500}.meta-item.live-games{color:#0f8}.meta-icon{font-size:.9rem}.view-details-btn{margin-top:auto;padding:10px;background:var(--glass);border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:600;font-size:.9rem;text-align:center;transition:all .2s ease}.fide-tournament-card.compact:hover .view-details-btn{background:var(--accent);color:#fff}@media(max-width:768px){.tournament-image-compact{height:120px}.tournament-title-compact{font-size:.95rem}.tournament-meta{gap:8px}.meta-item{font-size:.8rem}}.tournament-modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.tournament-modal{background:var(--bg-soft);border:2px solid var(--border);border-radius:16px;max-width:700px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #00000080}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#ff585833;border:1px solid rgba(255,88,88,.4);color:#ff5858;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.modal-close:hover{background:#ff58584d;transform:scale(1.1)}.modal-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-image{width:100%;height:200px;border-radius:12px;overflow:hidden;margin-bottom:16px}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-title{font-size:1.6rem;font-weight:700;color:var(--text);margin:0 0 12px;padding-right:40px;line-height:1.3}.modal-description{font-size:.95rem;color:var(--text);opacity:.7;line-height:1.5;margin:0}.modal-body{padding:24px}.modal-subtitle{font-size:1.1rem;font-weight:600;color:#7b68ee;margin:0 0 16px}.modal-sections,.modal-rounds{display:flex;flex-direction:column;gap:12px}.modal-section-item{border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;background:#ffffff05}.modal-section-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#ffffff08;cursor:pointer;transition:background .2s ease}.modal-section-header:hover{background:#ffffff0f}.modal-section-title{display:flex;align-items:center;gap:10px;flex:1}.modal-section-title span:first-child{font-size:1rem;font-weight:600;color:var(--text)}.section-live-badge{padding:3px 8px;background:#0f83;color:#0f8;font-size:.75rem;font-weight:700;border-radius:4px;border:1px solid rgba(0,255,136,.4)}.section-toggle{color:#7b68ee;font-size:.9rem}.modal-section-rounds{padding:12px;background:#0003;display:flex;flex-direction:column;gap:8px}.modal-round-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.modal-round-info{display:flex;align-items:center;gap:10px;flex:1}.modal-round-name{font-size:.95rem;color:var(--text);font-weight:500}.round-live-badge{padding:3px 8px;background:#0f83;color:#0f8;font-size:.7rem;font-weight:700;border-radius:4px;border:1px solid rgba(0,255,136,.4)}.round-upcoming-badge{padding:3px 8px;background:#ffc80033;color:#ffc800;font-size:.7rem;font-weight:700;border-radius:4px;border:1px solid rgba(255,200,0,.4)}.modal-watch-btn{padding:8px 16px;background:#0ff0fc1a;border:1px solid #0ff0fc;border-radius:6px;color:#0ff0fc;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease}.modal-watch-btn:hover:not(:disabled){background:var(--accent);color:#fff;transform:scale(1.05)}.modal-watch-btn.upcoming{background:#ffc8001a;border-color:#ffc800;color:#ffc800}.modal-watch-btn.upcoming:hover:not(:disabled){background:#ffc80033}.modal-watch-btn:disabled{opacity:.5;cursor:not-allowed}.modal-footer{padding:20px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center}.modal-lichess-link{color:#0ff0fc;font-weight:600;font-size:1rem;text-decoration:none;transition:all .2s ease}.modal-lichess-link:hover{color:#fff;transform:translate(4px)}@media(max-width:768px){.tournament-modal{max-height:90vh;border-radius:12px}.modal-header,.modal-body,.modal-footer{padding:16px}.modal-title{font-size:1.3rem}.modal-round-item{flex-direction:column;align-items:stretch;gap:10px}.modal-watch-btn{width:100%}}.tournament-search{width:100%;max-width:500px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:16px;color:#7b68ee;pointer-events:none}.search-input{width:100%;padding:14px 48px;background:var(--bg-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--border);border-radius:12px;color:var(--text);font-size:1rem;outline:none;transition:all .3s ease}.search-input::placeholder{color:var(--text);opacity:.5}.search-input:focus{border-color:var(--accent);box-shadow:0 4px 20px var(--card-glow)}.search-clear-btn{position:absolute;right:12px;width:28px;height:28px;background:#ff585833;border:1px solid rgba(255,88,88,.4);border-radius:50%;color:#ff5858;font-size:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.search-clear-btn:hover{background:#ff58584d;transform:scale(1.1)}@media(max-width:768px){.search-input{padding:12px 40px 12px 44px;font-size:.95rem}}.tournament-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:60px 20px;gap:40px}.pawn-3d-loader{perspective:1000px;perspective-origin:center center}.chess-pawn{font-size:120px;color:var(--accent-gold);filter:drop-shadow(0 10px 30px rgba(218,165,32,.4));animation:rotate3d 3s linear infinite;transform-style:preserve-3d;display:inline-block}@keyframes rotate3d{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.loader-text{display:flex;align-items:center;gap:4px;font-size:18px;font-weight:500;color:#ffffffe6;letter-spacing:.5px}.loading-text{background:linear-gradient(135deg,var(--accent-gold),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-dots{display:flex;gap:2px}.loading-dots span{animation:dotPulse 1.5s ease-in-out infinite;color:var(--accent-gold)}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.3s}.loading-dots span:nth-child(3){animation-delay:.6s}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@media(max-width:768px){.chess-pawn{font-size:80px}.loader-text{font-size:16px}.tournament-loader-container{min-height:300px;padding:40px 20px}}.round-games-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.round-games-modal{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;padding:30px;max-width:900px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.round-games-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid rgba(218,165,32,.2)}.round-games-header h2{font-size:24px;font-weight:600;color:var(--accent);margin:0}.modal-close-button{background:none;border:none;font-size:32px;color:var(--text);opacity:.6;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close-button:hover{background:var(--glass);opacity:1}.loading-state,.error-state,.empty-state{text-align:center;padding:60px 20px;color:var(--text);opacity:.7}.modal-loading-spinner{width:50px;height:50px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.error-state{color:#ff6b6b}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.game-card{background:var(--bg-soft);border:2px solid var(--border);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;position:relative}.game-card:hover{border-color:var(--accent);box-shadow:0 4px 16px var(--card-glow)}.live-badge{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:6px 12px;border-radius:20px;box-shadow:0 4px 12px #22c55e66;animation:pulse 2s ease-in-out infinite;display:flex;align-items:center;gap:6px}.live-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.modal-player{display:flex;align-items:center;gap:12px;margin-bottom:8px}.modal-player-color{font-size:22px;flex-shrink:0}.modal-player-name{color:var(--text);font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vs-divider{text-align:center;color:var(--text);opacity:.5;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin:12px 0}.game-result{margin-top:16px;padding-top:16px;border-top:2px solid var(--border);text-align:center;color:var(--accent);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px}@media(max-width:768px){.round-games-modal{width:95%;padding:20px}.games-grid{grid-template-columns:1fr}.round-games-header h2{font-size:20px}}.tournaments-page{min-height:100vh;background:var(--bg);position:relative;overflow:hidden}.tournaments-page:before{content:"";position:absolute;top:0;left:0;right:0;height:400px;background:radial-gradient(ellipse at top,rgba(15,240,252,.1) 0%,transparent 70%);pointer-events:none}.tournaments-page-header{text-align:center;padding:60px 20px 20px;position:relative;z-index:1}.page-title{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,#0ff0fc,#7b68ee,#ff6b9d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 16px;letter-spacing:-1px;animation:titleFade .8s ease}.page-subtitle{font-size:1.2rem;color:var(--text);opacity:.7;font-weight:400;margin:0;animation:subtitleFade .8s ease .2s both}.tournaments-controls{display:flex;gap:16px;justify-content:center;align-items:center;padding:0 20px 32px;max-width:1200px;margin:0 auto;flex-wrap:wrap}.category-filter{padding:14px 20px;background:var(--bg-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--border);border-radius:12px;color:var(--text);font-size:1rem;font-weight:500;cursor:pointer;outline:none;transition:all .3s ease;min-width:200px}.category-filter:hover{border-color:var(--accent)}.category-filter:focus{border-color:var(--accent);box-shadow:0 4px 20px var(--card-glow)}.category-filter option{background:var(--bg-soft);color:var(--text)}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:0 20px 60px;max-width:1400px;margin:0 auto;animation:fadeInUp .5s ease}.no-tournaments{text-align:center;padding:80px 20px;display:flex;flex-direction:column;align-items:center;gap:12px}.no-tournaments-icon{font-size:4rem;opacity:.3}.no-tournaments p{font-size:1.3rem;color:var(--text);opacity:.7;margin:0}.no-tournaments-subtitle{font-size:1rem!important;opacity:.7}@keyframes titleFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes subtitleFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.tournaments-page-header{padding:40px 20px 16px}.page-title{font-size:2.5rem}.page-subtitle{font-size:1rem}.tournaments-controls{flex-direction:column;align-items:stretch;padding:0 16px 24px}.category-filter{width:100%}.tournaments-grid{grid-template-columns:1fr;gap:16px;padding:0 16px 40px}}.game-view-page{min-height:100vh;background:var(--bg);padding:12px;color:var(--text)}.game-header{max-width:1400px;margin:0 auto 15px;display:flex;align-items:center;gap:20px}.back-button{background:var(--glass);border:1px solid var(--border);color:var(--text);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease}.back-button:hover{background:var(--bg-soft);border-color:var(--accent)}.game-title{font-size:28px;font-weight:600;color:var(--accent);margin:0}.flip-board-btn{background:var(--glass);border:1px solid var(--border);color:var(--text);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;margin-left:auto}.flip-board-btn:hover{background:var(--bg-soft);border-color:var(--accent);transform:translateY(-2px)}.game-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 360px;gap:20px}.left-section{display:flex;flex-direction:column;gap:10px}.gv-player-info{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:15px;max-width:550px;margin:0 auto}.player-color-box{width:40px;height:40px;border-radius:8px;border:2px solid rgba(255,255,255,.2)}.player-color-box.white{background:#fff}.player-color-box.black{background:#2c2c2c}.gv-player-name{font-size:18px;font-weight:600;color:var(--text)}.gv-player-details{display:flex;flex-direction:column;gap:8px;flex:1}.gv-player-clock{font-weight:700;font-size:16px;color:var(--accent);font-family:Courier New,monospace;letter-spacing:.5px;text-shadow:0 0 10px rgba(15,240,252,.3)}.player-color-box{flex-shrink:0}.chessboard-container{display:flex;align-items:center;justify-content:center;padding:12px;max-width:550px;margin:0 auto;background:linear-gradient(135deg,#0ff0fc0a,#a855f70a);border-radius:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.chessboard-container:after{content:"";position:absolute;inset:-1px;border-radius:16px;padding:1px;background:linear-gradient(135deg,#0ff0fc26,#a855f726);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:exclude;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:.6}.chessboard-container:hover{box-shadow:0 8px 32px var(--card-glow),0 0 40px #0ff0fc14}.game-result-banner{background:var(--accent);color:#fff;text-align:center;padding:15px;border-radius:12px;font-size:18px;font-weight:700;animation:slideIn .5s ease}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.right-section{display:flex;flex-direction:column;gap:15px}.evaluation-section,.moves-section{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:16px}.evaluation-section h3,.moves-section h3{margin:0 0 15px;font-size:18px;color:var(--accent)}.gv-eval-bar-container{display:flex;justify-content:center}.gv-eval-bar{width:60px;height:280px;background:#2c2c2c;border-radius:8px;overflow:hidden;position:relative;display:flex;flex-direction:column-reverse;border:2px solid rgba(255,255,255,.2)}.gv-eval-bar-white{background:linear-gradient(to top,#f0f0f0,#fff);transition:height .5s ease;position:relative}.gv-eval-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;font-size:16px;color:var(--accent);text-shadow:0 0 4px rgba(0,0,0,.8);z-index:10}.moves-list{max-height:350px;overflow-y:auto}.moves-list::-webkit-scrollbar{width:8px}.moves-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.moves-list::-webkit-scrollbar-thumb{background:#daa52080;border-radius:4px}.moves-list::-webkit-scrollbar-thumb:hover{background:#daa520b3}.no-moves{color:var(--text);opacity:.5;text-align:center;padding:20px}.moves-grid{display:flex;flex-direction:column;gap:8px}.move-pair{display:grid;grid-template-columns:40px 1fr 1fr;gap:10px;padding:8px;border-radius:6px;transition:background .2s ease}.move-pair:hover{background:var(--glass)}.move-number{color:var(--text);opacity:.6;font-weight:600}.move{color:var(--text);font-weight:500;font-family:Courier New,monospace}.loading-game,.error-game{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.gv-loading-spinner{width:60px;height:60px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.back-btn{background:var(--accent);border:none;color:#fff;padding:12px 30px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease}.back-btn:hover{transform:translateY(-2px)}@media(max-width:1200px){.game-content{grid-template-columns:1fr}.right-section{flex-direction:row}.gv-eval-bar{height:300px}}@media(max-width:768px){.right-section{flex-direction:column}.gv-player-name{font-size:16px}.game-title{font-size:24px}}.auth-page{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,var(--bg) 0%,var(--bg-soft) 100%);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.03;animation:rotate 30s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-container{position:relative;z-index:1}.auth-card{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;padding:48px 40px;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:36px}.chess-icon{font-size:64px;margin-bottom:16px;display:inline-block;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-title{color:var(--text);margin-bottom:8px;font-weight:700}.auth-subtitle{color:var(--text-muted, rgba(255, 255, 255, .6));font-size:.95rem}.error-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#ff58581a;border:1px solid rgba(255,88,88,.3);border-radius:12px;color:#ff5858;margin-bottom:24px;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.error-icon{font-size:20px}.oauth-button{width:100%;padding:14px 20px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.oauth-button:hover{background:var(--glass);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.oauth-icon{width:20px;height:20px}.divider{display:flex;align-items:center;gap:16px;margin-bottom:24px}.divider-line{flex:1;height:1px;background:var(--border)}.divider-text{color:var(--text-muted, rgba(255, 255, 255, .5));font-size:.85rem;font-weight:600}body[data-theme=light] .divider-text{color:#00000080}.auth-form{margin-bottom:24px}.input-group{width:100%}.input-label{display:block;color:var(--text);font-size:.9rem;font-weight:600;margin-bottom:8px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;font-size:18px;z-index:1;pointer-events:none}.auth-input{width:100%;padding:14px 16px!important;background:var(--bg-soft)!important;border:1px solid var(--border)!important;border-radius:12px!important;color:var(--text)!important;font-size:1rem!important;transition:all .3s ease!important}.auth-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px #0ff0fc1a!important;background:var(--bg)!important}.auth-input::placeholder{color:var(--text-muted, rgba(255, 255, 255, .4))}.password-strength{margin-top:8px;display:flex;align-items:center;gap:12px}.strength-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.strength-fill{height:100%;transition:all .3s ease;border-radius:2px}.strength-label{font-size:.85rem;font-weight:600;min-width:60px}.submit-button{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%)!important;color:var(--bg)!important;font-weight:600!important;font-size:1.05rem!important;padding:24px!important;border-radius:12px!important;border:none!important;transition:all .3s ease!important;position:relative;overflow:hidden}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.submit-button:hover:before{left:100%}.submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0ff0fc66}.submit-button:active{transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;padding-top:24px;border-top:1px solid var(--border)}.footer-text{color:var(--text-muted, rgba(255, 255, 255, .6));font-size:.95rem}.auth-link{color:var(--accent);font-weight:600;text-decoration:none;transition:all .2s ease}.auth-link:hover{text-decoration:underline;color:var(--accent-2)}body[data-theme=light] .auth-subtitle{color:#0009}body[data-theme=light] .auth-input::placeholder{color:#0006}body[data-theme=light] .footer-text{color:#0009}@media(max-width:480px){.auth-card{padding:32px 24px}.chess-icon{font-size:48px}.auth-title{font-size:1.75rem}}.lichess-user-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;padding:24px;font-family:Inter,system-ui,sans-serif;color:var(--text);position:relative;overflow:hidden}.lichess-user-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.lichess-search{display:flex;gap:10px;margin-bottom:20px}.lichess-search input{flex:1;padding:12px 16px;border-radius:10px;background:var(--glass);border:1px solid var(--border);color:var(--text);font-size:14px;outline:none;transition:border-color .2s ease}.lichess-search input:focus{border-color:var(--accent)}.lichess-search input::placeholder{color:var(--text);opacity:.5}.lichess-search-btn{padding:12px 20px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:600;font-size:14px;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.lichess-search-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0ff0fc4d}.lichess-search-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.lichess-user-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.lichess-user-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;text-transform:uppercase}.lichess-user-info h3{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--text)}.lichess-user-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);opacity:.7}.lichess-patron-badge{background:linear-gradient(135deg,#d97706,#fbbf24);color:#1a1a1a;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.lichess-online-badge{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80}.lichess-offline-badge{width:8px;height:8px;border-radius:50%;background:#64748b}.lichess-global-stats{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:20px}.global-chart-section{display:flex;justify-content:center}.global-donut-wrapper{display:flex;align-items:center;gap:24px}.donut-chart.large{width:100px;height:100px}.donut-chart.large:after{width:75px;height:75px}.donut-chart.large .chart-center span{font-size:18px}.global-legend{display:flex;flex-direction:column;gap:6px}.g-item{font-size:12px;display:flex;align-items:center;gap:8px;color:var(--text);opacity:.9}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.win{background:#4ade80}.dot.loss{background:#f87171}.dot.draw{background:#94a3b8}.lichess-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:20px}.lichess-stat-card{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s ease,border-color .2s ease}.lichess-stat-card:hover{transform:translateY(-2px);border-color:var(--accent)}.stat-card-header{width:100%;display:flex;justify-content:center;margin-bottom:8px}.current-rating{font-size:24px;font-weight:800;color:var(--text);margin-bottom:8px}.current-rating.classical{color:#a855f7}.current-rating.puzzle{color:#f472b6}.games-count-bar{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px}.count-label{font-size:10px;opacity:.5}.progress-bg{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--text);border-radius:2px}.progress-fill.bullet{background:#fbbf24}.progress-fill.blitz{background:#38bdf8}.progress-fill.rapid{background:#4ade80}.progress-fill.classical{background:#a855f7}.progress-fill.puzzle{background:#f472b6}.lichess-profile-link{display:block;text-align:center;padding:12px;background:var(--glass);border:1px solid var(--border);border-radius:10px;color:var(--accent);text-decoration:none;font-weight:600;font-size:14px;transition:all .2s ease}.lichess-profile-link:hover{background:#0ff0fc1a;border-color:var(--accent)}.lichess-loading,.lichess-error,.lichess-empty{text-align:center;padding:40px 20px;color:var(--text)}.lichess-loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.lichess-error{color:#f87171}.lichess-empty{opacity:.6}.lichess-recent-games{margin-top:20px;margin-bottom:20px;border-top:1px solid var(--border);padding-top:16px}.lichess-recent-games h4{margin:0 0 12px;font-size:14px;color:var(--text);opacity:.8;text-transform:uppercase;letter-spacing:.5px}.games-list{display:flex;flex-direction:column;gap:8px}.game-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--glass);border:1px solid var(--border);text-decoration:none;transition:all .2s ease}.game-item:hover{transform:translate(4px);border-color:#fff3}.game-result{font-weight:800;font-size:12px;padding:2px 6px;border-radius:4px;min-width:24px;text-align:center}.game-item.win .game-result{background:#4ade8033;color:#4ade80}.game-item.loss .game-result{background:#f8717133;color:#f87171}.game-item.draw .game-result{background:#94a3b833;color:#94a3b8}.game-opponent{flex:1;font-size:13px;color:var(--text);font-weight:500}.game-time{font-size:11px;color:var(--text);opacity:.5;font-family:monospace}@media(max-width:480px){.lichess-user-card{padding:16px}.lichess-stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.lichess-stat-box{padding:12px}.lichess-stat-value{font-size:18px}}.chesscom-user-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;padding:24px;font-family:Inter,system-ui,sans-serif;color:var(--text);position:relative;overflow:hidden}.chesscom-user-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#769656,#81b64c)}.chesscom-search{display:flex;gap:10px;margin-bottom:20px}.chesscom-search input{flex:1;padding:12px 16px;border-radius:10px;background:var(--glass);border:1px solid var(--border);color:var(--text);font-size:14px;outline:none;transition:border-color .2s ease}.chesscom-search input:focus{border-color:#81b64c}.chesscom-search input::placeholder{color:var(--text);opacity:.5}.chesscom-search-btn{padding:12px 20px;border-radius:10px;background:linear-gradient(135deg,#769656,#81b64c);color:#fff;font-weight:600;font-size:14px;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.chesscom-search-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #81b64c4d}.chesscom-search-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.chesscom-user-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.chesscom-user-avatar{width:64px;height:64px;border-radius:50%;border:3px solid #81b64c;object-fit:cover;background:linear-gradient(135deg,#769656,#81b64c)}.chesscom-user-avatar-fallback{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#769656,#81b64c);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;text-transform:uppercase}.chesscom-user-info h3{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--text)}.chesscom-user-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);opacity:.7}.chesscom-status-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.chesscom-status-badge.premium{background:linear-gradient(135deg,#d97706,#fbbf24);color:#1a1a1a}.chesscom-status-badge.basic{background:var(--glass);color:var(--text)}.chesscom-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:20px}.chesscom-stat-card{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s ease,border-color .2s ease}.chesscom-stat-card:hover{transform:translateY(-2px);border-color:#81b64c}.stat-card-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text);opacity:.6;font-weight:700}.stat-best{font-size:9px;color:#81b64c;background:#81b64c1a;padding:2px 4px;border-radius:4px}.rating-display{margin-bottom:12px}.current-rating{font-size:24px;font-weight:800;color:var(--text)}.current-rating.bullet{color:#fbbf24}.current-rating.blitz{color:#38bdf8}.current-rating.rapid{color:#4ade80}.current-rating.daily{color:#a855f7}.current-rating.tactics{color:#f472b6}.current-rating.puzzle-rush{color:#f59e0b}.chart-container{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.donut-chart{width:80px;height:80px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center}.donut-chart:after{content:"";position:absolute;width:60px;height:60px;background:var(--bg-soft);border-radius:50%}.chart-center{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:1}.chart-center span{font-size:14px;font-weight:800;color:var(--text)}.chart-center small{font-size:8px;opacity:.6;text-transform:uppercase}.chart-legend{display:flex;gap:8px;justify-content:center;width:100%}.legend-item{display:flex;align-items:center;gap:4px;font-size:10px;opacity:.8}.legend-item .dot{width:6px;height:6px;border-radius:50%}.legend-item.win .dot{background:#4ade80}.legend-item.loss .dot{background:#f87171}.legend-item.draw .dot{background:#94a3b8}.chesscom-stat-card.simple{padding:20px;justify-content:center}.chesscom-stat-card.simple .rating-display{margin-bottom:0}.chesscom-profile-link{display:block;text-align:center;padding:12px;background:var(--glass);border:1px solid var(--border);border-radius:10px;color:#81b64c;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s ease}.chesscom-profile-link:hover{background:#81b64c1a;border-color:#81b64c}.chesscom-loading,.chesscom-error,.chesscom-empty{text-align:center;padding:40px 20px;color:var(--text)}.chesscom-loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:#81b64c;border-radius:50%;animation:chesscom-spin 1s linear infinite;margin:0 auto 16px}@keyframes chesscom-spin{to{transform:rotate(360deg)}}.chesscom-error{color:#f87171}.chesscom-empty{opacity:.6}.country-flag{font-size:16px;cursor:help}.avatar-section{position:relative;display:flex;align-items:center;justify-content:center}.avatar-section .country-flag{position:absolute;bottom:-4px;right:-4px;background:var(--bg-soft);border-radius:50%;padding:2px;box-shadow:0 2px 4px #0000004d}@media(max-width:480px){.chesscom-user-card{padding:16px}.chesscom-stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.profile-page{min-height:calc(100vh - 64px);background:radial-gradient(circle at top center,rgba(80,50,120,.15),transparent 60%);padding-bottom:40px}.loading-text{text-align:center;color:var(--text);opacity:.7;font-size:1.2rem;margin-top:40px}.profile-header-card{background:var(--glass);border:1px solid var(--border);border-radius:20px;padding:32px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px #0003}.avatar-wrapper{position:relative;width:96px;height:96px}.profile-avatar-lg{width:100%!important;height:100%!important;border:3px solid rgba(255,255,255,.1);box-shadow:0 0 20px #0000004d}.online-indicator{position:absolute;bottom:2px;right:2px;width:16px;height:16px;background:#4ade80;border:3px solid #1a1a1a;border-radius:50%;box-shadow:0 0 10px #4ade8066;z-index:2}.profile-username{background:linear-gradient(to right,#fff,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px}.profile-tabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.1);background:transparent!important}.profile-tabs::-webkit-scrollbar{display:none}[role=tab]{font-weight:600!important;border-radius:8px 8px 0 0!important;border:1px solid transparent!important;transition:all .2s!important;color:#fff9!important;padding:12px 24px!important;border-bottom:none!important;background:transparent!important}[role=tab]:hover{color:#fff!important;background:#ffffff0d!important}[role=tab][data-selected]{color:#fff!important;border-color:#ffffff1a!important;border-bottom-color:transparent!important;background:#ffffff1a!important;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tab-item{background:transparent!important;color:#fff9!important}.tab-item[data-selected]{background:#ffffff1a!important;color:#fff!important;border-color:#ffffff1a!important}.game-stats-grid,.puzzle-stats-grid{animation:fadeIn .4s ease}@media(max-width:768px){.profile-header-card{padding:24px;text-align:center}.avatar-wrapper{margin:0 auto}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.puzzle-board-container{width:100%;margin:0 auto;position:relative}.puzzle-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:12px;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:12px}.turn-indicator{display:flex;align-items:center;gap:10px}.turn-dot{width:16px;height:16px;border-radius:50%;box-shadow:0 2px 8px #0000004d}.turn-dot.white{background:linear-gradient(135deg,#fff,#e0e0e0);border:2px solid #ccc}.turn-dot.black{background:linear-gradient(135deg,#333,#111);border:2px solid #555}.turn-text{font-weight:600;color:var(--text);font-size:.95rem}.progress-indicator{background:#0ff0fc26;border:1px solid rgba(15,240,252,.3);padding:6px 12px;border-radius:20px}.progress-text{font-size:.85rem;font-weight:600;color:var(--accent)}.puzzle-board{width:100%;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000004d;transition:all .3s ease;position:relative}.puzzle-board.solved{box-shadow:0 0 30px #00ff6466}.puzzle-board.failed{box-shadow:0 0 30px #ff646466}.puzzle-board.showing{box-shadow:0 0 30px #6496ff66}.puzzle-board-loading{width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--glass);border-radius:12px;gap:16px}.puzzle-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease;z-index:10}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.puzzle-overlay.turn{background:#000000bf;animation:fadeInOut 1.5s ease forwards}.turn-dot-large{width:60px;height:60px;border-radius:50%;margin-bottom:16px;box-shadow:0 4px 20px #0006}.turn-dot-large.white{background:linear-gradient(135deg,#fff,#e0e0e0);border:4px solid #ccc}.turn-dot-large.black{background:linear-gradient(135deg,#333,#111);border:4px solid #555}.overlay-icon{font-size:4rem;margin-bottom:12px;animation:bounceIn .4s ease}@keyframes bounceIn{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.puzzle-overlay.success .overlay-icon{color:#4ade80;text-shadow:0 0 30px rgba(74,222,128,.5)}.puzzle-overlay.failed .overlay-icon{color:#f87171;text-shadow:0 0 30px rgba(248,113,113,.5)}.puzzle-overlay.showing .overlay-icon{color:#60a5fa;text-shadow:0 0 30px rgba(96,165,250,.5)}.overlay-text{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}.puzzle-controls{display:flex;justify-content:center;gap:12px;margin-top:16px}.puzzle-btn{padding:12px 24px;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.hint-btn{background:#facc1526;border:1px solid rgba(250,204,21,.4);color:#fbbf24}.hint-btn:hover{background:#facc1540;transform:translateY(-2px);box-shadow:0 4px 16px #facc1533}.give-up-btn{background:var(--glass);border:1px solid var(--border);color:var(--text)}.give-up-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.retry-btn{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--bg)}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0ff0fc4d}@media(max-width:600px){.puzzle-board-container{max-width:100%;padding:0}.puzzle-header{padding:10px 12px;margin-bottom:8px}.turn-dot{width:12px;height:12px}.turn-text{font-size:.85rem}.progress-text{font-size:.75rem}.overlay-icon{font-size:3rem}.overlay-text{font-size:1.2rem}.puzzle-btn{padding:10px 16px;font-size:.85rem}}.puzzles-page{min-height:calc(100vh - 80px);padding:24px}.puzzles-header{text-align:center;margin-bottom:40px}.puzzles-header h1{font-size:2.5rem;font-weight:800;margin-bottom:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.puzzles-header p{color:var(--text-muted);font-size:1.1rem}.puzzles-layout{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(380px,550px) 1fr;gap:40px;align-items:start}.puzzle-main{width:100%}.daily-puzzle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.daily-badge{padding:6px 14px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--bg);border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.puzzle-rating{font-size:.85rem;color:var(--text-muted);padding:4px 12px;background:var(--glass);border-radius:6px}.puzzle-container{display:flex;flex-direction:column;gap:16px}.puzzle-actions{display:flex;gap:12px}.puzzle-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;background:var(--glass);border-radius:16px;border:1px solid var(--border)}.puzzle-loading p{margin-top:16px;color:var(--text-muted)}.puzzle-error{text-align:center;padding:60px;background:var(--glass);border-radius:16px;border:1px solid var(--border)}.puzzle-error button{margin-top:16px;padding:12px 24px;background:var(--accent);color:var(--bg);border:none;border-radius:8px;font-weight:600;cursor:pointer}.next-puzzle-btn{flex:1;padding:16px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--bg);border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.next-puzzle-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0ff0fc66}.skip-btn{flex:1;padding:16px;background:var(--glass);color:var(--text-muted);border:1px solid var(--border);border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.skip-btn:hover{border-color:var(--accent);color:var(--accent)}.puzzle-sidebar{display:flex;flex-direction:column;gap:24px}.stats-card,.modes-card,.auth-card{background:var(--glass);border:1px solid var(--border);border-radius:20px;padding:24px;width:100%}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.stats-header h3,.modes-card h3{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0}.streak-fire{font-size:1.2rem;animation:pulse 1s ease infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-box{background:var(--bg-soft);border-radius:16px;padding:20px;text-align:center;transition:all .3s ease}.stat-box.streak{background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0d);border:1px solid rgba(255,107,107,.2)}.stat-box.solved{background:linear-gradient(135deg,#20c9971a,#20c9970d);border:1px solid rgba(32,201,151,.2)}.stat-value{display:block;font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.stat-box.streak .stat-value{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-box.solved .stat-value{background:linear-gradient(135deg,#20c997,#12b886);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:6px}.guest-stats-cta{position:relative;margin-top:16px;padding:20px 16px;background:linear-gradient(145deg,#1e1e2de6,#141423f2);border:1px solid rgba(251,191,36,.2);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.guest-stats-cta:before{content:"";position:absolute;top:-20%;left:-20%;width:60%;height:60%;background:radial-gradient(circle,rgba(251,191,36,.1) 0%,transparent 70%);pointer-events:none}.cta-header{display:flex;flex-direction:column;align-items:center;gap:8px}.cta-header h4{margin:0;font-size:.95rem;font-weight:700;color:#fff;letter-spacing:.5px}.cta-text{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.5}.cta-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;margin-top:6px;padding:8px 24px;background:linear-gradient(135deg,var(--accent) 0%,#6366f1 50%,#8b5cf6 100%);border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d;position:relative;overflow:hidden}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.cta-button:hover:before{left:100%}.cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f173;background:linear-gradient(135deg,#6366f1,#8b5cf6,#a78bfa)}.session-note{margin:16px auto 0;display:inline-flex;align-items:center;gap:10px;font-size:.85rem;color:#fbbf24;padding:10px 16px;background:linear-gradient(135deg,#fbbf241a,#fbbf240d);border-radius:12px;border:1px solid rgba(251,191,36,.2);width:fit-content}.session-note .note-icon{color:#fbbf24;flex-shrink:0}.signin-btn-sm{display:inline-flex;align-items:center;padding:4px 10px;background:linear-gradient(135deg,var(--accent),#2563eb);border:none;border-radius:6px;color:#fff;font-size:.7rem;font-weight:600;text-decoration:none;transition:all .2s ease}.signin-btn-sm:hover{transform:translateY(-1px);box-shadow:0 2px 8px #3b82f666}.modes-card h3{margin-bottom:16px}.modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.mode-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:24px;min-height:140px;background:linear-gradient(180deg,#ffffff05,#fff0);border:1px solid rgba(255,255,255,.05);border-radius:16px;cursor:pointer;overflow:hidden;transition:all .4s cubic-bezier(.2,.8,.2,1);isolation:isolate;margin:0}.mode-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--mode-color),transparent 80%);opacity:0;transform:translateY(100%);transition:all .4s ease;z-index:-1}.mode-card:hover{transform:translateY(-4px);border-color:#ffffff1a;box-shadow:0 10px 30px -10px #00000080;padding-left:24px}.mode-card:hover:before{opacity:.2;transform:translateY(0)}.mode-icon-wrapper{position:absolute;top:16px;right:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--mode-color);background:#ffffff0d;border-radius:10px;opacity:1;transform:none;transition:all .3s ease;box-shadow:inset 0 0 10px #ffffff05}.mode-icon-wrapper svg{width:20px;height:20px}.mode-card:hover .mode-icon-wrapper{background:var(--mode-color);color:#000;transform:rotate(10deg);right:16px;box-shadow:0 4px 12px #0003}.mode-content{flex:1;display:flex;flex-direction:column;gap:4px;z-index:1}.mode-title{display:block;font-size:1.15rem;font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1.1;margin-bottom:2px}.mode-desc{display:block;font-size:.85rem;font-weight:500;color:var(--text-muted);line-height:1.4;opacity:.8;transition:opacity .3s ease}.mode-card:hover .mode-desc{opacity:1;color:var(--text)}.mode-card.locked{opacity:.5;filter:grayscale(1);cursor:default}.mode-card.locked:hover{transform:none;box-shadow:none}.lock-badge{position:absolute;top:12px;right:12px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;background:#0006;color:#ffffffb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);border-radius:6px;z-index:2}.auth-card{text-align:center;background:linear-gradient(135deg,#0ff0fc0d,#a020f00d);border:1px solid rgba(15,240,252,.2)}.auth-icon{font-size:2.5rem;margin-bottom:12px}.auth-card h4{font-size:1.1rem;font-weight:700;margin-bottom:8px;color:var(--text)}.auth-card p{margin-bottom:20px;font-size:.85rem;color:var(--text-muted);line-height:1.5}.signin-btn{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:10px;font-weight:700;text-decoration:none;transition:all .3s ease}.signin-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0ff0fc66}@media(max-width:1000px){.puzzles-layout{display:flex;flex-direction:column;max-width:600px;margin:0 auto}.puzzle-sidebar{display:contents}.puzzle-main{order:1}.modes-card{order:2}.stats-card{order:3}.quick-links-wrapper{order:4}.modes-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.puzzles-page{padding:16px}.puzzles-header h1{font-size:2rem}.stats-grid,.modes-grid{grid-template-columns:1fr}.stat-value{font-size:2rem}}.puzzles-bottom-section{max-width:1200px;margin:40px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}.ai-coach-wrapper,.quick-links-wrapper{display:flex;flex-direction:column}.quick-links-wrapper h3{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.quick-links-grid{display:grid;grid-template-columns:1fr;gap:12px;height:100%}.quick-link{display:flex;align-items:center;gap:16px;padding:20px;background:var(--glass);border:1px solid var(--border);border-radius:16px;color:var(--text);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.quick-link:hover{border-color:var(--accent);background:#0ff0fc0d;transform:translateY(-2px)}.link-text{display:flex;flex-direction:column;gap:2px}.link-text span{font-weight:700;font-size:1rem}.link-text small{font-size:.8rem;color:var(--text-muted)}@media(max-width:1000px){.puzzles-bottom-section{grid-template-columns:1fr;gap:24px;max-width:600px}}@media(max-width:600px){.quick-link{padding:16px}.link-text span{font-size:.9rem}}.puzzle-rush-page{min-height:calc(100vh - 80px);background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;position:relative;overflow:hidden}.rush-bg-aura{position:absolute;top:-15%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.15;filter:blur(80px);pointer-events:none}.rush-bg-aura-2{position:absolute;bottom:-20%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,var(--accent-2) 0%,transparent 70%);opacity:.12;filter:blur(80px);pointer-events:none}.rush-top-nav{max-width:1280px;margin:0 auto;padding:1.5rem 2rem 0;position:relative;z-index:10}.rush-hero{max-width:1280px;margin:0 auto;padding:4rem 2rem 5rem;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;position:relative;z-index:5}@media(min-width:900px){.rush-hero{grid-template-columns:1fr 420px;gap:4rem;padding:5rem 2rem 6rem}}.rush-hero-content{max-width:600px}.rush-pretitle{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;font-weight:600;margin:0 0 1rem;opacity:.9}.rush-title{margin:0;font-size:2.8rem;font-weight:700;line-height:1.1}@media(min-width:900px){.rush-title{font-size:3.6rem}}.rush-gradient-text{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rush-description{margin:1.5rem 0 0;font-size:1.1rem;line-height:1.7;opacity:.8;max-width:55ch}.rush-time-selector{margin-top:2.5rem}.rush-time-selector h3{font-size:.8rem;font-weight:600;color:var(--text);opacity:.6;text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem}.rush-time-options{display:flex;gap:1rem;flex-wrap:wrap}.rush-time-option{flex:1;min-width:120px;padding:1.25rem 1rem;background:var(--glass);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:4px;text-align:left}.rush-time-option:hover{border-color:var(--accent);background:#0ff0fc0d}.rush-time-option.active{border-color:var(--accent);background:var(--bg-soft);box-shadow:0 0 20px var(--card-glow)}.rush-time-value{font-size:1.25rem;font-weight:700;color:var(--text)}.rush-time-option.active .rush-time-value{color:var(--accent)}.rush-time-desc{font-size:.8rem;color:var(--text);opacity:.5}.rush-difficulty-selector{margin-top:2rem}.rush-difficulty-selector h3{font-size:.8rem;font-weight:600;color:var(--text);opacity:.6;text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem}.rush-difficulty-options{display:flex;gap:.75rem;flex-wrap:wrap}.rush-difficulty-option{flex:1;min-width:100px;padding:.85rem .75rem;background:var(--glass);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.rush-difficulty-option:hover{border-color:var(--accent);background:#0ff0fc0d;transform:translateY(-2px)}.rush-difficulty-option.active{border-color:var(--accent);background:var(--bg-soft);box-shadow:0 0 20px var(--card-glow)}.difficulty-icon{font-size:1.5rem}.difficulty-label{font-size:.85rem;font-weight:600;color:var(--text)}.rush-difficulty-option.active .difficulty-label{color:var(--accent)}.difficulty-desc{font-size:.7rem;color:var(--text);opacity:.5}.rush-rules{display:flex;gap:1.5rem;margin-top:2rem}.rush-rule{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--text);opacity:.8}.rush-rule-icon{font-size:.85rem;font-weight:700;padding:6px 10px;border-radius:8px}.rush-rule.correct .rush-rule-icon{background:#4ade8026;color:var(--success)}.rush-rule.wrong .rush-rule-icon{background:#f8717126;color:var(--error)}.rush-cta-wrapper{margin-top:2.5rem;position:relative;display:inline-block}.rush-cta-glow{position:absolute;inset:-8px;border-radius:60px;background:linear-gradient(90deg,var(--accent),var(--accent-2));filter:blur(16px);opacity:.6;transition:all .3s ease}.rush-cta{position:relative;padding:1rem 2.5rem;border-radius:60px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.rush-cta:hover{transform:translateY(-3px)}.rush-cta-wrapper:hover .rush-cta-glow{opacity:1;transform:scale(1.1)}.rush-back-link{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border);border-radius:60px;color:var(--text);opacity:.7;font-size:.9rem;text-decoration:none;transition:all .2s ease}.rush-back-link:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.rush-hero-visual{position:relative;text-align:center;order:-1}@media(min-width:900px){.rush-hero-visual{order:0}}.rush-image-glow{position:absolute;top:10%;left:50%;width:300px;height:300px;transform:translate(-50%);background:radial-gradient(circle,var(--image-glow),transparent 70%);filter:blur(50px);opacity:.7}.rush-illustration{width:100%;max-width:380px;position:relative;animation:float 4s ease-in-out infinite}@media(min-width:900px){.rush-illustration{max-width:420px}}.puzzle-rush-page.playing{padding:2rem;display:flex;justify-content:center;align-items:center}.puzzle-rush-page.playing .rush-bg-aura,.puzzle-rush-page.playing .rush-bg-aura-2{opacity:.08}.rush-game-layout{display:grid;grid-template-columns:minmax(360px,580px) 180px;gap:2rem;align-items:start;position:relative;z-index:5}@media(max-width:760px){.rush-game-layout{grid-template-columns:1fr;max-width:420px}}.rush-board-wrapper{width:100%}.rush-board-container{width:100%;position:relative;border-radius:8px;overflow:hidden;box-shadow:0 10px 40px #0000004d;transition:box-shadow .2s ease}.rush-board-container.correct{box-shadow:0 0 0 3px var(--success),0 10px 40px #0000004d}.rush-board-container.wrong{box-shadow:0 0 0 3px var(--error),0 10px 40px #0000004d;animation:shake .25s ease}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.puzzle-rating-badge{display:inline-flex;align-items:center;gap:4px;padding:.35rem .75rem;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:20px;font-size:.8rem;font-weight:600;color:var(--bg)}.rush-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:760px){.rush-sidebar{flex-direction:row;flex-wrap:wrap}.timer-card,.score-card{flex:1;min-width:120px}.stats-mini,.end-game-btn{width:100%}}.timer-card{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-align:center;transition:all .3s ease}.timer-card.low{border-color:var(--warning);background:#fbbf2414}.timer-card.critical{border-color:var(--error);background:#f871711a;animation:pulse .5s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.timer-value{font-size:2.2rem;font-weight:700;font-variant-numeric:tabular-nums;display:block;color:var(--accent)}.timer-card.low .timer-value{color:var(--warning)}.timer-card.critical .timer-value{color:var(--error)}.timer-label{font-size:.7rem;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.score-card{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:12px;padding:1.25rem;text-align:center}.score-card .score-value{font-size:2.2rem;font-weight:700;display:block;color:var(--bg)}.score-card .score-label{font-size:.7rem;color:var(--bg);opacity:.7;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.stat-num.danger{color:var(--error)}.end-game-btn{width:100%;padding:.75rem;background:var(--glass);border:1px solid var(--border);border-radius:8px;color:var(--text);opacity:.6;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.end-game-btn:hover{opacity:1;border-color:var(--error);color:var(--error)}.puzzle-rush-page.results{display:flex;justify-content:center;align-items:center;padding:2rem}.rush-results{max-width:500px;width:100%;text-align:center;position:relative;z-index:5}.results-timer-icon{font-size:3rem;margin-bottom:1rem;opacity:.3;display:flex;justify-content:center}.final-score{background:var(--glass);border:1px solid var(--border);border-radius:24px;padding:3rem 2rem;margin-bottom:2rem}.final-score .score-value{display:block;font-size:7rem;font-weight:800;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.final-score .score-label{font-size:1rem;color:var(--text);opacity:.6;margin-top:.75rem}.stats-grid{display:flex;justify-content:center;gap:3rem;margin-bottom:2rem;padding:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stat-card{text-align:center}.stat-card .stat-value{display:block;font-size:2rem;font-weight:700;color:var(--text)}.stat-card .stat-label{font-size:.75rem;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.play-again-glow{position:absolute;inset:-6px;border-radius:14px;background:linear-gradient(90deg,var(--accent),var(--accent-2));filter:blur(14px);opacity:.5;transition:all .3s ease}.play-again-btn{position:relative;width:100%;padding:1.1rem;background:linear-gradient(90deg,var(--accent),var(--accent-2));border:none;border-radius:12px;color:var(--bg);font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s ease}.results-back-link:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.ai-feedback-section{width:100%;max-width:400px;background:linear-gradient(135deg,#8b5cf61a,#3b82f60d);border:1px solid rgba(139,92,246,.2);border-radius:12px;padding:1.25rem;margin-top:1rem;text-align:left;margin:auto}.ai-tips-list li:before{content:"→";position:absolute;left:-1.1rem;color:var(--accent)}.puzzle-survival-page{min-height:calc(100vh - 80px);background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;position:relative;overflow:hidden}.survival-bg-aura{position:absolute;top:-15%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--error) 0%,transparent 70%);opacity:.12;filter:blur(80px);pointer-events:none}.survival-bg-aura-2{position:absolute;bottom:-20%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,var(--accent-2) 0%,transparent 70%);opacity:.1;filter:blur(80px);pointer-events:none}.survival-top-nav{max-width:1280px;margin:0 auto;padding:1.5rem 2rem 0;position:relative;z-index:10}.survival-hero{max-width:1280px;margin:0 auto;padding:4rem 2rem 5rem;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;position:relative;z-index:5}@media(min-width:900px){.survival-hero{grid-template-columns:1fr 420px;gap:4rem;padding:5rem 2rem 6rem}}.survival-hero-content{max-width:600px}.survival-pretitle{color:var(--error);letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;font-weight:600;margin:0 0 1rem;opacity:.9}.survival-title{margin:0;font-size:2.8rem;font-weight:700;line-height:1.1}@media(min-width:900px){.survival-title{font-size:3.6rem}}.survival-gradient-text{background:linear-gradient(90deg,var(--error),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.survival-description{margin:1.5rem 0 0;font-size:1.1rem;line-height:1.7;opacity:.8;max-width:55ch}.survival-lives-display{display:flex;gap:1rem;margin-top:2rem}.survival-lives-display .heart{font-size:2.5rem;color:var(--error);filter:drop-shadow(0 0 10px rgba(248,113,113,.5))}.survival-best-streak{margin-top:2rem;display:flex;align-items:baseline;gap:.75rem}.survival-best-value{font-size:3rem;font-weight:700;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.survival-best-label{font-size:.9rem;color:var(--text);opacity:.6}.survival-difficulty-selector{margin-top:2rem}.survival-difficulty-selector h3{font-size:.8rem;font-weight:600;color:var(--text);opacity:.6;text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem}.survival-difficulty-options{display:flex;gap:.6rem;flex-wrap:wrap}.survival-difficulty-option{flex:1;min-width:85px;padding:.75rem .5rem;background:var(--glass);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.survival-difficulty-option:hover{border-color:var(--error);background:#f871710d;transform:translateY(-2px)}.survival-difficulty-option.active{border-color:var(--error);background:var(--bg-soft);box-shadow:0 0 15px #f8717133}.survival-difficulty-option .difficulty-icon{font-size:1.3rem}.survival-difficulty-option .difficulty-label{font-size:.75rem;font-weight:600;color:var(--text)}.survival-difficulty-option.active .difficulty-label{color:var(--error)}.survival-cta-wrapper{margin-top:2.5rem;position:relative;display:inline-block}.survival-cta-glow{position:absolute;inset:-8px;border-radius:60px;background:linear-gradient(90deg,var(--error),var(--accent-2));filter:blur(16px);opacity:.6;transition:all .3s ease}.survival-cta{position:relative;padding:1rem 2.5rem;border-radius:60px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.survival-cta:hover{transform:translateY(-3px)}.survival-cta-wrapper:hover .survival-cta-glow{opacity:1;transform:scale(1.1)}.survival-back-link{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border);border-radius:60px;color:var(--text);opacity:.7;font-size:.9rem;text-decoration:none;transition:all .2s ease}.survival-back-link:hover{opacity:1;border-color:var(--error);color:var(--error)}.survival-hero-visual{position:relative;text-align:center;order:-1}@media(min-width:900px){.survival-hero-visual{order:0}}.survival-image-glow{position:absolute;top:10%;left:50%;width:300px;height:300px;transform:translate(-50%);background:radial-gradient(circle,rgba(248,113,113,.3),transparent 70%);filter:blur(50px);opacity:.7}.survival-illustration{width:100%;max-width:380px;position:relative;animation:float 4s ease-in-out infinite}@media(min-width:900px){.survival-illustration{max-width:420px}}.puzzle-survival-page.playing{padding:2rem;display:flex;justify-content:center;align-items:center}.puzzle-survival-page.playing .survival-bg-aura,.puzzle-survival-page.playing .survival-bg-aura-2{opacity:.06}.survival-game-layout{display:grid;grid-template-columns:minmax(360px,580px) 180px;gap:2rem;align-items:start;position:relative;z-index:5}@media(max-width:760px){.survival-game-layout{grid-template-columns:1fr;max-width:420px}}.survival-board-wrapper{width:100%}.survival-board-container{width:100%;position:relative;border-radius:8px;overflow:hidden;box-shadow:0 10px 40px #0000004d;transition:box-shadow .2s ease}.survival-board-container.correct{box-shadow:0 0 0 3px var(--success),0 10px 40px #0000004d}.survival-board-container.wrong{box-shadow:0 0 0 3px var(--error),0 10px 40px #0000004d;animation:shake .25s ease}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--error);border-radius:50%;animation:spin .7s linear infinite}.puzzle-rating-badge{display:inline-flex;align-items:center;gap:4px;padding:.35rem .75rem;background:linear-gradient(90deg,var(--error),var(--accent-2));border-radius:20px;font-size:.8rem;font-weight:600;color:#fff}.survival-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:760px){.survival-sidebar{flex-direction:row;flex-wrap:wrap}.lives-card,.streak-card{flex:1;min-width:120px}.best-card,.quit-btn{width:100%}}.lives-card{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-align:center}.lives-hearts{display:flex;justify-content:center;gap:.5rem;margin-bottom:.5rem}.lives-hearts .heart{font-size:1.5rem;transition:all .2s ease}.lives-hearts .heart.active{color:var(--error)}.lives-hearts .heart.lost{color:var(--border);opacity:.3}.lives-label{font-size:.7rem;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.5px}.streak-card{background:linear-gradient(135deg,var(--error),var(--accent-2));border-radius:12px;padding:1.25rem;text-align:center}.streak-card .streak-value{font-size:2.2rem;font-weight:700;display:block;color:#fff}.streak-card .streak-label{font-size:.7rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.best-card{background:var(--glass);border:1px solid var(--border);border-radius:10px;padding:1rem;text-align:center}.best-card .best-value{font-size:1.5rem;font-weight:700;display:block;color:var(--accent)}.best-card .best-label{font-size:.65rem;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.quit-btn{width:100%;padding:.75rem;background:var(--glass);border:1px solid var(--border);border-radius:8px;color:var(--text);opacity:.6;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.quit-btn:hover{opacity:1;border-color:var(--error);color:var(--error)}.puzzle-survival-page.results{display:flex;justify-content:center;align-items:center;padding:2rem}.survival-results{max-width:500px;width:100%;text-align:center;position:relative;z-index:5}.results-hearts{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem}.results-hearts .heart{font-size:2.5rem;color:var(--error);opacity:.25;filter:grayscale(.5)}.results-title{font-size:2.5rem;font-weight:700;color:var(--text);margin:0 0 2rem}.final-streak{background:var(--glass);border:1px solid var(--border);border-radius:24px;padding:3rem 2rem;margin-bottom:2rem}.final-streak .streak-value{display:block;font-size:7rem;font-weight:800;background:linear-gradient(90deg,var(--error),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.final-streak .streak-label{font-size:1rem;color:var(--text);opacity:.6;margin-top:.75rem}.new-record{display:inline-block;margin-top:1.25rem;padding:.6rem 1.25rem;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:var(--bg);font-size:.85rem;font-weight:600;border-radius:20px;animation:pulse-glow 2s ease infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--card-glow)}50%{box-shadow:0 0 40px var(--card-glow)}}.stats-row-results{display:flex;justify-content:center;gap:3rem;margin-bottom:2rem;padding:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stat-item{text-align:center}.stat-item .stat-value{display:block;font-size:2rem;font-weight:700;color:var(--text)}.stat-item .stat-label{font-size:.75rem;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.signin-prompt{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.signin-prompt p{margin:0 0 1rem;font-size:.9rem;color:var(--text);opacity:.8}.signin-link{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:var(--bg);border-radius:8px;font-weight:600;font-size:.9rem;text-decoration:none;transition:all .2s ease}.signin-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--card-glow)}.results-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.play-again-wrapper{position:relative;width:100%}.play-again-glow{position:absolute;inset:-6px;border-radius:14px;background:linear-gradient(90deg,var(--error),var(--accent-2));filter:blur(14px);opacity:.5;transition:all .3s ease}.play-again-btn{position:relative;width:100%;padding:1.1rem;background:linear-gradient(90deg,var(--error),var(--accent-2));border:none;border-radius:12px;color:#fff;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s ease}.play-again-wrapper:hover .play-again-glow{opacity:.8;transform:scale(1.02)}.play-again-btn:hover{transform:translateY(-2px)}.results-back-link{display:inline-block;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border);border-radius:60px;color:var(--text);opacity:.7;font-size:.9rem;text-decoration:none;transition:all .2s ease}.results-back-link:hover{opacity:1;border-color:var(--error);color:var(--error)}.ai-feedback-section{width:100%;max-width:400px;background:linear-gradient(135deg,#ef44441a,#3b82f60d);border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:1.25rem;margin-top:1rem;text-align:left}.ai-feedback-title{font-size:.9rem;font-weight:600;color:var(--text);margin:0 0 .75rem}.ai-loading{color:var(--text-muted);font-size:.85rem;font-style:italic;margin:0}.ai-summary{font-size:.85rem;color:var(--text);margin:0 0 .75rem;line-height:1.5}.ai-tips-list{margin:0 0 .75rem;padding-left:1.25rem;list-style:none}.ai-tips-list li{position:relative;font-size:.8rem;color:var(--text);line-height:1.5;margin-bottom:.5rem}.ai-tips-list li:before{content:"→";position:absolute;left:-1.1rem;color:var(--error)}.ai-strength{font-size:.8rem;color:#4ade80;margin:0}.ai-error{color:var(--text-muted);font-size:.8rem;margin:0}.puzzle-rated-page{min-height:calc(100vh - 80px);background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;position:relative;overflow:hidden}.rated-bg-aura{position:absolute;top:-15%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--success) 0%,transparent 70%);opacity:.12;filter:blur(80px);pointer-events:none}.rated-bg-aura-2{position:absolute;bottom:-20%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.1;filter:blur(80px);pointer-events:none}.rated-top-nav{max-width:1280px;margin:0 auto;padding:1.5rem 2rem 0;position:relative;z-index:10}.rated-hero{max-width:1280px;margin:0 auto;padding:4rem 2rem 5rem;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;position:relative;z-index:5}@media(min-width:900px){.rated-hero{grid-template-columns:1fr 420px;gap:4rem;padding:5rem 2rem 6rem}}.rated-hero-content{max-width:600px}.rated-pretitle{color:var(--success);letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;font-weight:600;margin:0 0 1rem;opacity:.9}.rated-title{margin:0;font-size:2.8rem;font-weight:700;line-height:1.1}@media(min-width:900px){.rated-title{font-size:3.6rem}}.rated-gradient-text{background:linear-gradient(90deg,var(--success),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rated-description{margin:1.5rem 0 0;font-size:1.1rem;line-height:1.7;opacity:.8;max-width:55ch}.rated-current-rating{margin-top:2rem;display:flex;align-items:baseline;gap:.75rem}.rated-rating-value{font-size:4rem;font-weight:700;background:linear-gradient(90deg,var(--success),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rated-rating-label{font-size:1rem;color:var(--text);opacity:.6}.rated-rules{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}.rated-rule{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--text);opacity:.8}.rated-rule-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;background:#4ade8026;color:var(--success);border-radius:6px}.rated-rule.negative .rated-rule-icon{background:#f8717126;color:var(--error)}.rated-auth-warning{margin-top:1.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fbbf2414,#fbbf2408);border:1px solid rgba(251,191,36,.25);border-radius:12px;display:flex;align-items:center;gap:1rem}.auth-warning-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fbbf2426;border-radius:10px;color:#fbbf24;flex-shrink:0}.auth-warning-content{flex:1}.auth-warning-title{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.auth-warning-text{margin:.25rem 0 0;font-size:.8rem;color:var(--text);opacity:.6}.rated-signin-btn{display:inline-flex;align-items:center;gap:6px;padding:.6rem 1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:8px;color:#1a1a2e;font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:all .2s ease}.rated-signin-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fbbf244d}.rated-signin-link{color:var(--accent);font-size:.9rem;text-decoration:underline}.rated-signin-link:hover{opacity:.8}.rated-cta-wrapper{margin-top:2.5rem;position:relative;display:inline-block}.rated-cta-glow{position:absolute;inset:-8px;border-radius:60px;background:linear-gradient(90deg,var(--success),var(--accent));filter:blur(16px);opacity:.6;transition:all .3s ease}.rated-cta{position:relative;padding:1rem 2.5rem;border-radius:60px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.rated-cta:hover{transform:translateY(-3px)}.rated-cta-wrapper:hover .rated-cta-glow{opacity:1;transform:scale(1.1)}.rated-back-link{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border);border-radius:60px;color:var(--text);opacity:.7;font-size:.9rem;text-decoration:none;transition:all .2s ease}.rated-back-link:hover{opacity:1;border-color:var(--success);color:var(--success)}.rated-hero-visual{position:relative;text-align:center;order:-1}@media(min-width:900px){.rated-hero-visual{order:0}}.rated-image-glow{position:absolute;top:10%;left:50%;width:300px;height:300px;transform:translate(-50%);background:radial-gradient(circle,rgba(74,222,128,.3),transparent 70%);filter:blur(50px);opacity:.7}.rated-illustration{width:100%;max-width:380px;position:relative;animation:float 4s ease-in-out infinite}@media(min-width:900px){.rated-illustration{max-width:420px}}.puzzle-rated-page.playing{padding:2rem;display:flex;justify-content:center;align-items:center}.puzzle-rated-page.playing .rated-bg-aura,.puzzle-rated-page.playing .rated-bg-aura-2{opacity:.06}.rated-game-layout{display:grid;grid-template-columns:minmax(360px,580px) 180px;gap:2rem;align-items:start;position:relative;z-index:5}@media(max-width:760px){.rated-game-layout{grid-template-columns:1fr;max-width:420px}}.rated-board-wrapper{width:100%}.rated-board-container{width:100%;position:relative;border-radius:8px;overflow:hidden;box-shadow:0 10px 40px #0000004d;transition:box-shadow .2s ease}.rated-board-container.correct{box-shadow:0 0 0 3px var(--success),0 10px 40px #0000004d}.rated-board-container.wrong{box-shadow:0 0 0 3px var(--error),0 10px 40px #0000004d;animation:shake .25s ease}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--success);border-radius:50%;animation:spin .7s linear infinite}.puzzle-info-bar{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.65rem 1rem;background:var(--glass);border:1px solid var(--border);border-radius:10px}.puzzle-rating-badge{display:inline-flex;align-items:center;gap:4px;padding:.35rem .75rem;background:linear-gradient(90deg,var(--success),var(--accent));border-radius:20px;font-size:.8rem;font-weight:600;color:var(--bg)}.move-hint{font-size:.85rem;color:var(--text);opacity:.6}.rated-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:760px){.rated-sidebar{flex-direction:row;flex-wrap:wrap}.rating-card-live,.puzzle-rating-card{flex:1;min-width:120px}.stats-mini,.end-session-btn{width:100%}}.rating-card-live{background:linear-gradient(135deg,var(--success),var(--accent));border-radius:12px;padding:1.25rem;text-align:center}.rating-card-live .rating-value{font-size:2.2rem;font-weight:700;display:block;color:var(--bg)}.rating-change{display:inline-block;font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:10px;margin-top:4px}.rating-change.positive{background:#fff3;color:var(--bg)}.rating-change.negative{background:#f87171cc;color:#fff}.rating-card-live .rating-label{font-size:.7rem;color:var(--bg);opacity:.7;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.puzzle-rating-card{background:var(--glass);border:1px solid var(--border);border-radius:10px;padding:1rem;text-align:center}.puzzle-rating-value{font-size:1.5rem;font-weight:700;display:block;color:var(--text)}.puzzle-rating-label{font-size:.65rem;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.stats-mini{background:var(--glass);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.85rem;color:var(--text);opacity:.7}.stat-row:first-child{border-bottom:1px solid var(--border)}.stat-num{font-weight:600;opacity:1}.stat-num.success{color:var(--success)}.end-session-btn{width:100%;padding:.75rem;background:var(--glass);border:1px solid var(--border);border-radius:8px;color:var(--text);opacity:.6;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.end-session-btn:hover{opacity:1;border-color:var(--error);color:var(--error)}.puzzle-rated-page.results{padding:4rem 2rem;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto}.results-container{width:100%;max-width:800px;background:var(--bg-soft);border:1px solid var(--border);border-radius:24px;padding:3rem;position:relative;z-index:5;box-shadow:0 20px 50px #0006;animation:slideUp .5s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-header{text-align:center;margin-bottom:3rem}.results-title{font-size:2.5rem;font-weight:800;margin:0 0 .5rem;background:linear-gradient(90deg,#fff,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.results-subtitle{font-size:1rem;color:var(--text-muted)}.results-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.result-card{background:var(--glass);border:1px solid var(--border);border-radius:16px;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;position:relative;overflow:hidden}.result-card.rating{border-color:#fbbf244d}.result-card-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:radial-gradient(circle,rgba(251,191,36,.1),transparent 70%);pointer-events:none}.result-value{font-size:2.5rem;font-weight:800;color:var(--text);line-height:1}.result-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.results-ai-section{background:linear-gradient(135deg,#4ade8014,#60a5fa0d);border:1px solid rgba(74,222,128,.2);border-radius:16px;padding:2rem;margin-bottom:3rem}.ai-coach-header{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;color:var(--success)}.ai-coach-header h3{margin:0;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ai-summary-text{font-size:1rem;line-height:1.6;color:var(--text);margin-bottom:1.5rem;opacity:.9}.ai-tips-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}@media(min-width:600px){.ai-tips-grid{grid-template-columns:1fr 1fr}}.ai-tip-item{display:flex;gap:12px;background:#ffffff08;padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.tip-dot{width:6px;height:6px;background:var(--success);border-radius:50%;margin-top:6px;flex-shrink:0}.ai-tip-item p{margin:0;font-size:.9rem;line-height:1.5;color:var(--text);opacity:.85}.ai-strength-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#4ade8026;color:#4ade80;border-radius:20px;font-size:.85rem;font-weight:600}.ai-loading-skeleton{display:flex;flex-direction:column;gap:12px}.skeleton-line{height:14px;background:#ffffff0d;border-radius:4px;width:100%;animation:pulse 1.5s infinite ease-in-out}.skeleton-line.short{width:60%}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.8}}.results-auth-nudge{background:#fbbf240d;border:1px dashed rgba(251,191,36,.3);border-radius:12px;padding:1.5rem;text-align:center;margin-bottom:3rem}.results-auth-nudge p{margin:0 0 1rem;font-size:.95rem;color:var(--text-muted)}.nudge-signin-btn{display:inline-block;padding:8px 20px;background:#fbbf24;color:#1a1a2e;border-radius:8px;text-decoration:none;font-weight:700;font-size:.9rem}.results-actions{display:flex;justify-content:center;gap:1.5rem}.btn-retry{padding:1rem 2.5rem;border-radius:60px;background:linear-gradient(90deg,var(--success),var(--accent));border:none;color:var(--bg);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-retry:hover{transform:translateY(-3px);box-shadow:0 10px 20px #4ade804d}.btn-back{padding:1rem 2.5rem;border-radius:60px;background:transparent;border:1px solid var(--border);color:var(--text);font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s ease;display:flex;align-items:center}.btn-back:hover{background:#ffffff0d;border-color:var(--text-muted)}@media(max-width:600px){.results-container{padding:2rem}.results-title{font-size:2rem}.results-stats-grid{grid-template-columns:1fr}.results-actions{flex-direction:column;align-items:stretch}.btn-back{justify-content:center}}.puzzle-themed-page{min-height:calc(100vh - 80px);background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;position:relative;overflow:hidden}.themed-bg-aura{position:absolute;top:-15%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--warning) 0%,transparent 70%);opacity:.12;filter:blur(80px);pointer-events:none}.themed-bg-aura-2{position:absolute;bottom:-20%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,var(--accent-2) 0%,transparent 70%);opacity:.1;filter:blur(80px);pointer-events:none}.themed-top-nav{max-width:1280px;margin:0 auto;padding:1.5rem 2rem 0;position:relative;z-index:10}.themed-back-link{display:inline-block;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border);border-radius:60px;color:var(--text);opacity:.7;font-size:.9rem;text-decoration:none;transition:all .2s ease}.themed-back-link:hover{opacity:1;border-color:var(--warning);color:var(--warning)}.themed-hero{max-width:1280px;margin:0 auto;padding:3rem 2rem 5rem;position:relative;z-index:5}.themed-hero-header{text-align:center;max-width:600px;margin:0 auto 3rem}.themed-pretitle{color:var(--warning);letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;font-weight:600;margin:0 0 1rem;opacity:.9}.themed-title{margin:0;font-size:2.8rem;font-weight:700;line-height:1.1}@media(min-width:900px){.themed-title{font-size:3.4rem}}.themed-gradient-text{background:linear-gradient(90deg,var(--warning),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.themed-description{margin:1.5rem 0 0;font-size:1.1rem;line-height:1.7;opacity:.8}.themes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;max-width:900px;margin:0 auto}@media(min-width:768px){.themes-grid{grid-template-columns:repeat(4,1fr)}}.theme-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:1.5rem 1rem;background:var(--glass);border:1px solid var(--border);border-radius:16px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.theme-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--theme-color),transparent);opacity:0;transition:opacity .3s ease}.theme-card:hover{border-color:var(--theme-color);transform:translateY(-4px);box-shadow:0 12px 32px #0000004d}.theme-card:hover:before{opacity:.08}.theme-icon{font-size:2rem;color:var(--theme-color);position:relative;z-index:1}.theme-name{font-size:.95rem;font-weight:700;color:var(--text);position:relative;z-index:1}.theme-desc{font-size:.75rem;color:var(--text);opacity:.6;position:relative;z-index:1}.puzzle-themed-page.playing{padding:2rem;display:flex;justify-content:center;align-items:center}.themed-game-layout{display:grid;grid-template-columns:minmax(360px,580px) 180px;gap:2rem;align-items:start;position:relative;z-index:5}@media(max-width:760px){.themed-game-layout{grid-template-columns:1fr;max-width:420px}}.themed-board-wrapper{width:100%}.themed-board-container{width:100%;position:relative;border-radius:8px;overflow:hidden;box-shadow:0 10px 40px #0000004d;transition:box-shadow .2s ease}.themed-board-container.correct{box-shadow:0 0 0 3px var(--success),0 10px 40px #0000004d}.themed-board-container.wrong{box-shadow:0 0 0 3px var(--error),0 10px 40px #0000004d;animation:shake .25s ease}.turn-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#000000d9;animation:fadeInOut .8s ease forwards;z-index:10}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.turn-dot-large{width:44px;height:44px;border-radius:50%}.turn-dot-large.white{background:#fff;box-shadow:0 4px 20px #ffffff4d}.turn-overlay span{font-size:1rem;font-weight:600;color:#fff}.feedback-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4.5rem;font-weight:700;pointer-events:none;animation:popIn .2s ease;z-index:10}@keyframes popIn{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.loading-puzzle{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--glass);border-radius:8px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--warning);border-radius:50%;animation:spin .7s linear infinite}.themed-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:760px){.themed-sidebar{flex-direction:row;flex-wrap:wrap}.theme-badge,.solved-card{flex:1;min-width:120px}.change-theme-btn,.end-link{width:100%}}.theme-badge{background:var(--glass);border:2px solid var(--theme-color, var(--warning));border-radius:12px;padding:1.25rem;text-align:center}.badge-icon{font-size:2rem;display:block;margin-bottom:4px;color:var(--theme-color)}.badge-name{font-size:.9rem;font-weight:700;color:var(--text)}.solved-card{background:linear-gradient(135deg,var(--success),var(--accent-2));border-radius:12px;padding:1.25rem;text-align:center}.solved-value{font-size:2.2rem;font-weight:700;display:block;color:#fff}.solved-label{font-size:.7rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.difficulty-filter{background:var(--glass);border:1px solid var(--border);border-radius:10px;padding:.75rem}.filter-label{display:block;font-size:.7rem;font-weight:600;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;text-align:center}.filter-buttons{display:flex;gap:4px;justify-content:center}.filter-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:var(--warning);transform:translateY(-2px)}.filter-btn.active{border-color:var(--warning);background:#fbbf2426;box-shadow:0 0 10px #fbbf2433}.change-theme-btn{width:100%;padding:.75rem;background:var(--glass);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.change-theme-btn:hover{border-color:var(--warning);color:var(--warning)}.back-to-puzzles-btn{display:block;width:100%;padding:.75rem;background:var(--glass);border:1px solid var(--border);border-radius:8px;color:var(--text);opacity:.7;font-size:.85rem;font-weight:500;text-align:center;text-decoration:none;cursor:pointer;transition:all .2s ease}.back-to-puzzles-btn:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.puzzle-stats-page{min-height:calc(100vh - 80px);padding:24px;max-width:1200px;margin:0 auto}.stats-header{text-align:center;margin-bottom:40px}.stats-nav{margin-bottom:20px}.back-link{color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:color .2s}.back-link:hover{color:var(--accent)}.stats-header h1{font-size:2.5rem;font-weight:800;margin-bottom:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-header p{color:var(--text-muted);font-size:1.1rem}.stats-loading,.stats-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.stats-empty h2{font-size:1.5rem;color:var(--text)}.stats-empty p{color:var(--text-muted)}.start-btn{padding:14px 32px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--bg);border-radius:10px;text-decoration:none;font-weight:700;transition:transform .2s}.start-btn:hover{transform:translateY(-2px)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--glass);border:1px solid var(--border);border-radius:20px;padding:24px}.stat-card h3{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h3{margin:0}.rank-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:700}.rating-display{text-align:center;margin-bottom:16px}.rating-value{display:block;font-size:4rem;font-weight:800;background:linear-gradient(135deg,#4ade80,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.peak-rating{font-size:.9rem;color:var(--text-muted);margin-top:8px;display:block}.rating-chart{margin-top:16px}.accuracy-display{display:flex;align-items:center;gap:20px}.accuracy-chart{flex:1}.accuracy-stats{text-align:center}.accuracy-percent{font-size:2.5rem;font-weight:800;color:var(--text)}.accuracy-counts{display:flex;flex-direction:column;gap:4px;margin-top:8px}.accuracy-counts .solved{color:#4ade80;font-weight:600}.accuracy-counts .failed{color:#f87171;font-weight:600}.streak-display{display:grid;grid-template-columns:1fr 1fr;gap:16px}.streak-item{text-align:center;padding:20px;border-radius:12px;background:var(--bg-soft)}.streak-item.current{background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0d);border:1px solid rgba(255,107,107,.2)}.streak-item.best{background:linear-gradient(135deg,#fbbf241a,#fbbf240d);border:1px solid rgba(251,191,36,.2)}.streak-value{display:block;font-size:2.5rem;font-weight:800;color:var(--text);line-height:1}.streak-item.current .streak-value{color:#ff6b6b}.streak-item.best .streak-value{color:#fbbf24}.streak-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:6px;display:block}.totals-display{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.total-item{text-align:center}.total-value{display:block;font-size:2rem;font-weight:700;color:var(--text)}.total-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.difficulty-card{margin-bottom:24px}.difficulty-chart{margin-top:16px}.stats-actions{display:flex;justify-content:center;gap:16px;margin-top:40px}.action-btn{padding:14px 32px;border-radius:12px;font-weight:600;text-decoration:none;transition:all .2s}.action-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--bg)}.action-btn.secondary{background:var(--glass);border:1px solid var(--border);color:var(--text)}.action-btn:hover{transform:translateY(-2px)}@media(max-width:600px){.puzzle-stats-page{padding:16px}.stats-header h1{font-size:2rem}.rating-value{font-size:3rem}.totals-display{grid-template-columns:1fr}.stats-actions{flex-direction:column}}.leaderboard-page{min-height:calc(100vh - 80px);padding:24px;max-width:900px;margin:0 auto}.leaderboard-header{text-align:center;margin-bottom:32px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:20px;padding:8px 14px;background:var(--glass);border:1px solid var(--border);border-radius:8px;transition:all .2s ease}.back-link:hover{color:var(--accent);border-color:var(--accent);transform:translate(-4px)}.leaderboard-header h1{font-size:2.5rem;font-weight:800;margin:0 0 8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.leaderboard-header p{color:var(--text-muted);font-size:1rem;margin:0}.leaderboard-tabs{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--glass);border:1px solid var(--border);border-radius:12px;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tab:hover{border-color:var(--accent);color:var(--text)}.tab.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:var(--bg)}.tab-icon{font-size:1.2rem}.user-rank-card{position:relative;background:var(--glass);border:1px solid var(--border);border-radius:20px;padding:24px;margin-bottom:32px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-rank-card:hover{border-color:#fbbf2466;transform:translateY(-2px);box-shadow:0 12px 24px #0003}.user-rank-glow{position:absolute;top:-50%;left:-20%;width:140%;height:200%;background:radial-gradient(circle at center,rgba(251,191,36,.08) 0%,transparent 70%);pointer-events:none;z-index:0}.user-rank-main{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:24px}.user-rank-profile{display:flex;align-items:center;gap:20px}.user-rank-avatar{position:relative;width:80px;height:80px}.user-rank-avatar img{width:100%;height:100%;border-radius:50%;border:3px solid #fbbf24;padding:3px;background:var(--bg);object-fit:cover}.user-rank-badge{position:absolute;bottom:-4px;right:-4px;width:28px;height:28px;background:#fbbf24;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid var(--bg);box-shadow:0 2px 4px #0003}.user-rank-details{display:flex;flex-direction:column}.your-rank-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.your-rank-value{font-size:2.2rem;font-weight:900;color:#fbbf24;margin:0;line-height:1}.user-rank-stats{display:flex;gap:40px}.rank-stat{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#ffffff08;border-radius:14px;border:1px solid rgba(255,255,255,.05)}.rank-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.rank-stat-icon.solved{background:#4ade801a;color:#4ade80}.rank-stat-icon.percentile{background:#60a5fa1a;color:#60a5fa}.rank-stat-info{display:flex;flex-direction:column}.stat-val{font-size:1.4rem;font-weight:800;color:var(--text);line-height:1.1}.stat-lbl{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.auth-prompt{text-align:center;padding:20px;background:var(--glass);border:1px solid var(--border);border-radius:12px;margin-bottom:24px}.auth-prompt p{margin:0 0 12px;color:var(--text-muted)}.signin-btn{display:inline-block;padding:10px 24px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--bg);border-radius:8px;text-decoration:none;font-weight:600;transition:transform .2s}.signin-btn:hover{transform:translateY(-2px)}.leaderboard-table{background:var(--glass);border:1px solid var(--border);border-radius:16px;overflow:hidden}.table-header{display:grid;grid-template-columns:80px 1fr 120px 100px;padding:16px 20px;background:var(--bg-soft);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.table-body{max-height:500px;overflow-y:auto}.table-row{display:grid;grid-template-columns:80px 1fr 120px 100px;padding:14px 20px;align-items:center;border-bottom:1px solid var(--border);transition:background .2s}.table-row:last-child{border-bottom:none}.table-row:hover{background:#ffffff05}.table-row.is-user{background:#fbbf241a}.col-rank{font-weight:600}.medal{font-size:1.5rem}.rank-num{color:var(--text-muted);font-size:.95rem}.col-player{display:flex;align-items:center;gap:12px}.player-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--border)}.player-name{font-weight:600;color:var(--text)}.player-country{font-size:.8rem;color:var(--text-muted);margin-left:8px}.col-value{font-weight:700;color:var(--text);font-size:1.1rem}.col-accuracy{color:var(--text-muted)}.table-loading,.table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.table-empty p{color:var(--text-muted)}.leaderboard-footer{text-align:center;margin-top:20px}.leaderboard-footer p{font-size:.8rem;color:var(--text-muted);margin:0}@media(max-width:700px){.leaderboard-page{padding:16px}.leaderboard-header h1{font-size:2rem}.leaderboard-tabs{flex-wrap:wrap}.tab{padding:10px 16px;font-size:.8rem}.tab-label{display:none}.user-rank-card{padding:20px}.user-rank-main{flex-direction:column;gap:24px;text-align:center}.user-rank-profile{flex-direction:column}.user-rank-stats{width:100%;flex-direction:column;gap:12px}.rank-stat{width:100%;justify-content:center}.table-header,.table-row{grid-template-columns:60px 1fr 80px}.col-accuracy{display:none}.col-value{font-size:.95rem}}.puzzle-curated-page{min-height:calc(100vh - 80px);background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;position:relative;overflow:hidden;display:flex;flex-direction:column}.curated-bg-aura{position:absolute;top:-15%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--accent-2) 0%,transparent 70%);opacity:.12;filter:blur(80px);pointer-events:none}.curated-bg-aura-2{position:absolute;bottom:-20%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.1;filter:blur(80px);pointer-events:none}.loading-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:10}.ai-brain-loading{position:relative;width:100px;height:100px;margin-bottom:2rem}.brain-ring{position:absolute;inset:0;border:3px solid transparent;border-radius:50%;animation:spin 2s linear infinite}.ring-1{border-top-color:var(--accent-2);animation-duration:1.5s}.ring-2{border-right-color:var(--warning);animation-duration:2s;inset:10px;border-width:2px}.ring-3{border-bottom-color:var(--accent);animation-duration:2.5s;inset:20px;border-width:1px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.curated-top-nav{max-width:1280px;width:100%;margin:0 auto;padding:1.5rem 2rem 0;position:relative;z-index:10}.curated-back-link{display:inline-block;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border);border-radius:60px;color:var(--text);opacity:.7;font-size:.9rem;text-decoration:none;transition:all .2s ease}.curated-back-link:hover{opacity:1;border-color:var(--accent-2);color:var(--accent-2)}.curated-hero{max-width:1280px;width:100%;margin:0 auto;padding:4rem 2rem;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;position:relative;z-index:5;flex:1}@media(min-width:900px){.curated-hero{grid-template-columns:1fr 420px}}.curated-hero-content{max-width:600px}.curated-pretitle{color:var(--accent-2);letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;font-weight:600;margin-bottom:1rem}.curated-title{margin:0;font-size:3.5rem;font-weight:700;line-height:1.1}.curated-gradient-text{background:linear-gradient(90deg,var(--accent-2),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.curated-description{margin:1.5rem 0 2rem;font-size:1.1rem;line-height:1.7;opacity:.8}.plan-summary-card{background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;margin-bottom:2.5rem}.plan-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.plan-header h3{margin:0;font-size:1.1rem;color:var(--text)}.plan-text{font-size:.95rem;line-height:1.5;opacity:.8;margin-bottom:1.5rem}.themes-list{display:flex;flex-wrap:wrap;gap:.75rem}.theme-item{background:#ffffff0d;border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem;display:flex;flex-direction:column}.theme-name{font-size:.85rem;font-weight:600}.theme-count{font-size:.75rem;opacity:.6}.curated-cta-wrapper{position:relative;display:inline-block}.curated-cta-glow{position:absolute;inset:-8px;border-radius:60px;background:linear-gradient(90deg,var(--accent-2),var(--accent));filter:blur(16px);opacity:.6}.curated-cta{position:relative;padding:1rem 2.5rem;border-radius:60px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.curated-cta:hover{transform:translateY(-3px)}.curated-hero-visual{position:relative;text-align:center}.curated-image-glow{position:absolute;top:10%;left:50%;width:300px;height:300px;transform:translate(-50%);background:radial-gradient(circle,var(--accent-2),transparent 70%);opacity:.3;filter:blur(50px)}.curated-illustration{width:100%;max-width:380px;position:relative;animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.puzzle-curated-page.playing{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem}.curated-game-layout{display:grid;grid-template-columns:minmax(360px,580px) 200px;gap:2rem;z-index:5}.curated-board-wrapper{width:100%}.curated-board-container{width:100%;position:relative;border-radius:8px;overflow:hidden;box-shadow:0 10px 40px #0000004d}.curated-board-container.correct{box-shadow:0 0 0 3px var(--success),0 10px 40px #0000004d}.curated-board-container.wrong{box-shadow:0 0 0 3px var(--error),0 10px 40px #0000004d;animation:shake .25s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.feedback-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4.5rem;font-weight:700;pointer-events:none;z-index:10}.feedback-overlay.correct{color:var(--success);text-shadow:0 0 40px rgba(74,222,128,.6)}.feedback-overlay.wrong{color:var(--error);text-shadow:0 0 40px rgba(248,113,113,.6)}.turn-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000c;z-index:15}.turn-dot-large{width:40px;height:40px;border-radius:50%;margin-bottom:1rem}.turn-dot-large.white{background:#fff;box-shadow:0 0 20px #fff}.turn-dot-large.black{background:#222;border:2px solid #444}.puzzle-info-bar{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;background:var(--glass);border:1px solid var(--border);border-radius:12px}.puzzle-rating-badge{background:linear-gradient(90deg,var(--accent-2),var(--accent));padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;color:#fff}.move-hint{font-size:.85rem;opacity:.6}.curated-sidebar{display:flex;flex-direction:column;gap:1rem}.progress-card-live{background:linear-gradient(135deg,var(--accent-2),var(--accent));border-radius:12px;padding:1.5rem;text-align:center}.progress-value{font-size:2rem;font-weight:700;color:#fff}.progress-slash,.progress-total{font-size:1.2rem;color:#ffffffb3}.progress-label{display:block;font-size:.7rem;text-transform:uppercase;color:#fff;opacity:.8;margin-top:5px}.stats-mini,.active-theme-card{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:1rem}.stat-row{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem}.stat-row:last-child{margin-bottom:0}.success{color:var(--success)}.theme-label{display:block;font-size:.65rem;text-transform:uppercase;opacity:.5;margin-bottom:4px}.theme-value{display:block;font-size:.95rem;font-weight:600;text-transform:capitalize}.end-session-btn{margin-top:auto;padding:.8rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:.2s}.end-session-btn:hover{border-color:var(--error);color:var(--error)}.puzzle-curated-page.results{padding:4rem 2rem;display:flex;justify-content:center;overflow-y:auto}.results-container{width:100%;max-width:600px;background:var(--bg-soft);border:1px solid var(--border);border-radius:24px;padding:3rem;text-align:center;z-index:10;margin:auto}.results-title{font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.results-subtitle{opacity:.6;margin-bottom:3rem}.results-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:3rem}.result-card{background:var(--glass);border:1px solid var(--border);border-radius:16px;padding:2rem}.result-value{display:block;font-size:2.5rem;font-weight:800}.result-label{font-size:.8rem;text-transform:uppercase;opacity:.6;letter-spacing:1px}.results-ai-section{background:#a855f70d;border:1px solid rgba(168,85,247,.2);border-radius:16px;padding:2rem;text-align:left;margin-bottom:3rem}.ai-coach-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.ai-coach-header h3{margin:0;font-size:1.1rem}.ai-feedback-box{display:flex;flex-direction:column;gap:1.5rem}.ai-summary-text{font-size:1rem;line-height:1.6;opacity:.9}.ai-tips-grid{display:flex;flex-direction:column;gap:.75rem}.ai-tip-item{display:flex;gap:.75rem;font-size:.9rem;opacity:.8}.tip-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-2);margin-top:6px;flex-shrink:0}.results-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.btn-retry,.btn-primary{padding:1rem 2rem;border-radius:12px;font-weight:600;cursor:pointer;transition:.2s}.btn-retry{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-primary{background:var(--accent-2);border:none;color:#fff}.btn-retry:hover{background:var(--glass)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #a855f74d}@media(max-width:800px){.curated-game-layout{grid-template-columns:1fr}}.bots-page{min-height:calc(100vh - 80px);background:var(--bg);padding:40px 24px 60px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}.bg-text{position:absolute;bottom:40px;left:50%;transform:translate(-50%);font-size:4rem;font-weight:900;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.25;letter-spacing:10px;white-space:nowrap;pointer-events:none;z-index:0;-webkit-user-select:none;user-select:none;text-transform:uppercase}.bots-header{position:relative;z-index:1;width:100%;max-width:1000px;text-align:center;margin-bottom:32px}.bots-back-link{display:inline-block;padding:.75rem 1.5rem;background:var(--glass);border:1px solid var(--border);border-radius:60px;color:var(--text);opacity:.7;font-size:.85rem;text-decoration:none;margin-bottom:16px;transition:all .2s ease}.bots-back-link:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.page-title{font-size:2rem;font-weight:700;color:var(--text);margin:0}.carousel-section{position:relative;z-index:1;width:100%;max-width:900px;margin-bottom:24px;cursor:pointer;-webkit-user-select:none;user-select:none}.carousel-section:active{cursor:grabbing}.carousel-track{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px 0;transition:opacity .3s ease}.carousel-track.transitioning{opacity:.8}.carousel-track.swipe-left .center-card{animation:swipe-out-left .4s cubic-bezier(.4,0,.2,1) forwards}.carousel-track.swipe-right .center-card{animation:swipe-out-right .4s cubic-bezier(.4,0,.2,1) forwards}.carousel-track.swipe-left .side-card.left{animation:side-slide-in-left .4s cubic-bezier(.4,0,.2,1) forwards}.carousel-track.swipe-right .side-card.right{animation:side-slide-in-right .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes swipe-out-left{0%{transform:translate(0) scale(1) rotate(0);opacity:1}50%{transform:translate(-60px) scale(.9) rotate(-5deg);opacity:.5}to{transform:translate(-120px) scale(.85) rotate(-8deg);opacity:0}}@keyframes swipe-out-right{0%{transform:translate(0) scale(1) rotate(0);opacity:1}50%{transform:translate(60px) scale(.9) rotate(5deg);opacity:.5}to{transform:translate(120px) scale(.85) rotate(8deg);opacity:0}}@keyframes side-slide-in-left{0%{transform:translate(50px) scale(.7) rotate(8deg);opacity:0}to{transform:translate(0) scale(.85) rotate(4deg);opacity:.5}}@keyframes side-slide-in-right{0%{transform:translate(-50px) scale(.7) rotate(-8deg);opacity:0}to{transform:translate(0) scale(.85) rotate(-4deg);opacity:.5}}.carousel-card{position:relative;border-radius:20px;overflow:hidden;background:var(--glass);transition:all .4s cubic-bezier(.4,0,.2,1)}.side-card{width:160px;height:300px;cursor:pointer;opacity:.5;transform:scale(.85);border:1px solid var(--border)}.side-card.left{transform:scale(.85) rotate(-4deg)}.side-card.right{transform:scale(.85) rotate(4deg)}.side-card:hover{opacity:.7;transform:scale(.88)}.side-card .card-image{width:100%;height:100%;object-fit:cover;filter:grayscale(40%)}.center-card{width:400px;padding:32px 28px;min-height:480px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2}.center-card:hover{border-color:var(--accent)}.card-avatar-section{position:relative;margin-bottom:16px}.card-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--border);transition:transform .3s ease}.center-card:hover .card-avatar{transform:scale(1.05)}.elo-badge{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px 12px;background:var(--bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-size:.8rem;font-weight:700;border:2px solid}.beaten-badge{position:absolute;top:-5px;right:-5px;display:flex;align-items:center;gap:4px;padding:4px 10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:16px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #10b98166;animation:badge-pop .3s ease}@keyframes badge-pop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.elo-badge.tier-beginner{color:#4ade80;border-color:#4ade80}.elo-badge.tier-casual{color:#a3e635;border-color:#a3e635}.elo-badge.tier-intermediate{color:#facc15;border-color:#facc15}.elo-badge.tier-advanced{color:#f97316;border-color:#f97316}.elo-badge.tier-expert{color:#ef4444;border-color:#ef4444}.elo-badge.tier-master{color:#dc2626;border-color:#dc2626}.card-content{margin-bottom:16px}.bot-name{font-size:1.4rem;font-weight:700;color:var(--text);margin:0 0 8px}.difficulty-tag{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.difficulty-tag.tier-beginner{background:#4ade8026;color:#4ade80}.difficulty-tag.tier-casual{background:#a3e63526;color:#a3e635}.difficulty-tag.tier-intermediate{background:#facc1526;color:#facc15}.difficulty-tag.tier-advanced{background:#f9731626;color:#f97316}.difficulty-tag.tier-expert{background:#ef444426;color:#ef4444}.difficulty-tag.tier-master{background:#dc262626;color:#dc2626}.bot-bio{font-size:.85rem;color:var(--text);opacity:.7;line-height:1.5;margin:0 0 8px}.bot-quote{font-size:.8rem;color:var(--accent);font-style:italic;margin:0;opacity:.8}.card-color-selector{display:flex;gap:8px;margin-bottom:16px}.color-btn{width:36px;height:36px;padding:0;background:var(--glass);border:2px solid var(--border);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.color-btn:hover{border-color:var(--accent)}.color-btn.active{border-color:var(--accent);background:#a855f733}.color-dot{width:18px;height:18px;border-radius:50%}.color-dot.white{background:#fff}.color-dot.black{background:#1a1a1a;border:1px solid rgba(255,255,255,.3)}.color-dot.random{background:conic-gradient(#fff 0deg 180deg,#1a1a1a 180deg 360deg)}.play-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 24px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.play-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px -8px #a855f780}.play-btn svg{width:18px;height:18px;transition:transform .2s ease}.play-btn:hover svg{transform:translate(4px)}.center-card.tier-beginner{border-color:#4ade804d}.center-card.tier-casual{border-color:#a3e6354d}.center-card.tier-intermediate{border-color:#facc154d}.center-card.tier-advanced{border-color:#f973164d}.center-card.tier-expert{border-color:#ef44444d}.center-card.tier-master{border-color:#dc262666;box-shadow:0 0 30px #dc262626}.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:20px}.dot{width:10px;height:10px;border-radius:50%;background:var(--glass);border:1px solid var(--border);cursor:pointer;transition:all .3s ease}.dot:hover{border-color:var(--accent)}.dot.active{transform:scale(1.3);border-color:currentColor}.dot.tier-beginner.active{background:#4ade80}.dot.tier-casual.active{background:#a3e635}.dot.tier-intermediate.active{background:#facc15}.dot.tier-advanced.active{background:#f97316}.dot.tier-expert.active{background:#ef4444}.dot.tier-master.active{background:#dc2626}.keyboard-hint{display:flex;align-items:center;justify-content:center;gap:8px;color:#ffffff4d;font-size:.8rem}kbd{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-family:inherit;font-size:.8rem;min-width:28px}@media(max-width:768px){.bg-text{font-size:3rem;letter-spacing:8px}.carousel-track{gap:16px}.side-card{width:80px;height:110px}.center-card{width:280px;padding:20px}.card-avatar{width:80px;height:80px}.bot-name{font-size:1.2rem}.page-title{font-size:1.5rem}}@media(max-width:480px){.side-card{width:60px;height:80px}.center-card{width:260px}}.bot-game-page{height:calc(100vh - 80px);background:var(--bg);padding:16px 24px;position:relative;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.bot-game-page:before{content:"";position:fixed;top:0;left:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(168,85,247,.15) 0%,transparent 70%);pointer-events:none;z-index:0}.bot-game-page:after{content:"";position:fixed;bottom:0;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(15,240,252,.1) 0%,transparent 70%);pointer-events:none;z-index:0}.bot-not-found{text-align:center;padding:80px 24px}.bot-not-found h2{font-size:1.5rem;margin-bottom:16px}.bot-not-found a{color:var(--accent);text-decoration:none}.bot-game-layout{position:relative;z-index:1;max-width:1100px;width:100%;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:center}.bot-board-wrapper{width:100%}.bot-board-container{position:relative;width:100%;max-width:min(560px,calc(100vh - 180px));aspect-ratio:1;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px -15px #00000080}.bot-board-container.game-over{opacity:.7}.thinking-overlay{position:absolute;inset:0;background:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10}.thinking-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.thinking-overlay span{color:#fff;font-size:1rem;font-weight:600}.promotion-backdrop{position:absolute;inset:0;background:#0009;z-index:50}.promotion-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-soft);border:2px solid var(--accent);border-radius:16px;padding:20px 24px;z-index:51;box-shadow:0 20px 60px #00000080;animation:dialogPopIn .2s ease-out}@keyframes dialogPopIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.promotion-title{text-align:center;font-size:1rem;font-weight:600;color:var(--text);margin-bottom:16px}.promotion-pieces{display:flex;gap:8px}.promotion-piece-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:var(--glass);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.promotion-piece-btn:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.promotion-piece-icon{font-size:2.5rem;line-height:1}.promotion-piece-name{font-size:.75rem;font-weight:600;color:var(--text);opacity:.8}.game-result-overlay{position:absolute;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:20}.result-content{text-align:center;color:#fff}.result-content h2{font-size:2rem;margin:16px 0 8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.result-content p{font-size:1rem;color:var(--text-muted);margin-bottom:24px}.result-actions{display:flex;gap:12px;justify-content:center}.rematch-btn{padding:12px 24px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:10px;color:#fff;font-weight:700;cursor:pointer;transition:transform .2s}.rematch-btn:hover{transform:scale(1.05)}.back-btn{padding:12px 24px;background:var(--glass);border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none;font-weight:600;transition:border-color .2s}.back-btn:hover{border-color:var(--accent)}.bot-game-sidebar{display:flex;flex-direction:column;gap:16px}.bot-info-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--glass);border:1px solid var(--border);border-radius:16px;position:relative}.sidebar-bot-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.sidebar-bot-details h3{font-size:1.1rem;margin:0 0 4px}.sidebar-elo{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:.85rem;font-weight:600}.speech-bubble{position:absolute;left:-20px;top:100%;margin-top:16px;background:#fff;color:#1a1a2e;padding:14px 18px;border-radius:20px;border:3px solid #333;box-shadow:4px 4px #333;max-width:220px;min-width:100px;z-index:100;opacity:0;transform:scale(.5) translateY(-10px);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.speech-bubble.visible{opacity:1;transform:scale(1) translateY(0)}.speech-bubble.hiding{opacity:0;transform:scale(.8) translateY(10px);transition:all .25s ease-in}.bubble-text{font-size:.95rem;font-weight:600;font-family:Comic Sans MS,Chalkboard,cursive,sans-serif;line-height:1.4;display:block}.bubble-tail{position:absolute;top:-18px;left:30px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:18px solid #fff}.bubble-tail:before{content:"";position:absolute;top:-3px;left:-15px;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:21px solid #333;z-index:-1}.move-history{background:var(--glass);border:1px solid var(--border);border-radius:16px;overflow:hidden}.history-header{padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:.9rem;color:var(--text-muted)}.moves-list{padding:12px 16px;max-height:120px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:6px;font-family:Consolas,monospace;font-size:.85rem}.no-moves{color:var(--text-muted);font-style:italic}.move-item{display:inline-flex;gap:4px}.move-number{color:var(--text-muted)}.game-controls{display:flex;flex-direction:column;gap:8px}.resign-btn{width:100%;padding:12px;background:var(--glass);border:1px solid var(--error);border-radius:10px;color:var(--error);font-weight:600;cursor:pointer;transition:all .2s}.leave-btn{width:100%;padding:12px;background:var(--glass);border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none;text-align:center;font-weight:600;transition:border-color .2s}.leave-btn:hover{border-color:var(--accent)}.result-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.analyze-btn{padding:12px 24px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:10px;color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s}.analyze-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px #a855f766}.rematch-btn{padding:12px 24px;background:var(--glass);border:2px solid var(--accent);border-radius:10px;color:var(--accent);font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s}.rematch-btn:hover{background:var(--accent);color:#fff}.back-btn{padding:10px 20px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text);text-decoration:none;text-align:center;font-weight:500;font-size:.85rem;transition:border-color .2s}.back-btn:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:900px){.bot-game-layout{grid-template-columns:1fr;max-width:500px}.bot-game-sidebar{order:-1}}.game-analysis-page{min-height:calc(100vh - 80px);background:var(--bg);padding:20px 24px;position:relative}.analysis-error{text-align:center;padding:80px 24px}.analysis-error h2{margin-bottom:16px}.analysis-error a{color:var(--accent)}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 24px}.analysis-header h1{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}.analysis-mode-selector{display:flex;align-items:center;gap:12px;background:#0003;padding:4px;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.mode-btn{background:transparent;border:none;color:var(--text);opacity:.7;padding:6px 16px;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease}.mode-btn:hover{opacity:1;background:#ffffff0d}.mode-btn.active{background:var(--accent);color:#fff;opacity:1;font-weight:600;box-shadow:0 2px 8px #64f6b24d}.analysis-badge{background:#10b98133;color:#10b981;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px;border:1px solid rgba(16,185,129,.2);margin-left:12px;white-space:nowrap}.start-analysis-prompt{background:#ffffff0d;border-radius:8px;padding:20px;text-align:center;border:1px dashed rgba(255,255,255,.2);margin:16px 0}.start-analysis-prompt p{color:var(--text);opacity:.8;font-size:.95rem;margin:0}.analysis-content{display:grid;grid-template-columns:auto 360px;gap:24px;max-width:1200px;margin:0 auto;align-items:start}.analysis-board-section{width:100%}.board-with-eval{display:flex;gap:16px;align-items:stretch}.analysis-eval-bar{width:32px;background:#333;border-radius:8px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.analysis-eval-bar .eval-bar-fill{width:100%;background:linear-gradient(to top,#fff,#eee);transition:height .3s ease}.analysis-eval-bar .eval-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:700;color:#888;text-shadow:0 0 4px rgba(0,0,0,.5);writing-mode:vertical-rl;text-orientation:mixed}.analysis-board-container{position:relative;width:500px;aspect-ratio:1;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px #0000004d}.variation-indicator{position:absolute;bottom:0;left:0;right:0;background:#a855f7e6;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:.85rem}.variation-indicator button{padding:4px 12px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:4px;cursor:pointer;font-size:.8rem}.variation-indicator button:hover{background:#fff3}.board-center-column{display:flex;flex-direction:column;gap:16px;align-items:center}.analysis-controls{display:flex;justify-content:center;gap:8px;width:100%}.analysis-controls button{width:48px;height:48px;border:none;background:var(--glass);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1.2rem;cursor:pointer;transition:all .2s}.analysis-controls button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.analysis-panel{display:flex;flex-direction:column;gap:16px}.game-info-card{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:16px}.player-row{display:flex;align-items:center;gap:10px}.player-color{width:20px;height:20px;border-radius:4px;border:1px solid var(--border)}.player-color.white{background:#fff}.player-color.black{background:#333}.player-name{flex:1;font-weight:600;color:var(--text)}.accuracy-badge{padding:4px 8px;background:var(--accent);color:#fff;border-radius:12px;font-size:.75rem;font-weight:700}.vs-text{text-align:center;color:var(--text);opacity:.5;font-size:.8rem;margin:8px 0}.result-text{text-align:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-weight:700;color:var(--accent)}.analysis-status{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--glass);border:1px solid var(--border);border-radius:8px;color:var(--text)}.analysis-status span{font-weight:600;font-size:.9rem}.progress-container{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:4px;transition:width .3s ease}.analyzing-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.moves-panel{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:16px}.moves-panel h3{margin:0 0 12px;font-size:.9rem;color:var(--text);opacity:.7}.moves-list{display:flex;flex-wrap:wrap;gap:4px;max-height:300px;overflow-y:auto}.move-item{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;background:var(--bg);border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--text);transition:all .15s}.move-item:hover{background:var(--border)}.move-item.active{background:var(--accent);color:#fff}.move-number{opacity:.6;font-size:.75rem;margin-right:2px}.move-symbol{font-weight:700;font-size:.9rem}.move-san{font-weight:500}.move-item.blunder{border-left:3px solid #ca3431}.move-item.mistake{border-left:3px solid #e6912c}.move-item.inaccuracy{border-left:3px solid #f7c631}.move-item.best,.move-item.excellent{border-left:3px solid #96bc4b}.variation-panel{background:#a855f71a;border:1px solid var(--accent);border-radius:8px;padding:12px}.variation-panel h4{margin:0 0 8px;font-size:.8rem;color:var(--accent)}.variation-moves{display:flex;flex-wrap:wrap;gap:6px}.variation-move{padding:4px 8px;background:var(--accent);color:#fff;border-radius:4px;font-size:.8rem;font-weight:500}.variation-eval{margin-top:8px;font-size:.85rem;color:var(--text);opacity:.8}.eval-graph-container{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:16px}.eval-graph-container h3{margin:0 0 12px;font-size:.9rem;color:var(--text);opacity:.7}@media(max-width:1024px){.analysis-content{grid-template-columns:1fr}.analysis-board-container{width:100%;max-width:500px}}@media(max-width:600px){.analysis-header{flex-direction:column;gap:12px}.board-with-eval,.analysis-board-section{flex-direction:column}.analysis-eval-bar{width:100%;height:24px;flex-direction:row;border-radius:8px 8px 0 0}.analysis-eval-bar .eval-bar-fill{height:100%;width:0;transition:width .3s ease}.analysis-eval-bar .eval-value{writing-mode:horizontal-tb}.analysis-board-container{width:100%;max-width:100%}}.promotion-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.promotion-dialog{background:var(--glass);border:1px solid var(--border);border-radius:16px;padding:32px;min-width:400px;box-shadow:0 20px 60px #00000080}.promotion-dialog h3{color:var(--text);text-align:center;margin:0 0 24px;font-size:1.3rem}.promotion-pieces{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.promotion-piece-btn{background:#ffffff0d;border:2px solid var(--border);border-radius:12px;padding:20px 12px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px}.promotion-piece-btn:hover{background:var(--accent);border-color:var(--accent);transform:scale(1.05)}.piece-symbol{font-size:48px;line-height:1}.piece-name{color:var(--text);font-size:.85rem;font-weight:600}.promotion-piece-btn:hover .piece-name{color:#fff}@media(max-width:600px){.promotion-dialog{min-width:90%;padding:24px}.promotion-pieces{grid-template-columns:repeat(2,1fr)}}.online-game-page{min-height:calc(100vh - 64px);background:radial-gradient(circle at top right,var(--image-glow),transparent 70%),radial-gradient(circle at bottom left,var(--card-glow),transparent 70%),var(--bg);padding:2rem;display:flex;justify-content:center;align-items:center}.online-game-container{width:100%;max-width:1400px;margin:0 auto}.online-dashboard{display:flex;flex-direction:column;gap:2rem;max-width:900px;margin:0 auto;animation:fadeIn .8s ease-out}.dashboard-header{text-align:center;margin-bottom:1rem}.dashboard-header h2{font-size:3rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text) 30%,var(--accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px}.dashboard-header p{color:var(--text);opacity:.9;font-size:1.2rem;font-weight:400}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:1.5rem}.time-control-card{background:var(--glass);border:1px solid var(--border);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;height:160px}.time-control-card:hover{transform:translateY(-4px);background:var(--glass);border-color:var(--accent);box-shadow:0 10px 30px -10px #0000001a}.time-control-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(800px circle at var(--mouse-x) var(--mouse-y),var(--card-glow),transparent 40%);opacity:0;transition:opacity .5s;pointer-events:none}.time-control-card:hover:before{opacity:1}.card-icon{font-size:2.5rem;margin-bottom:1rem;filter:drop-shadow(0 0 10px var(--card-glow))}.card-content h3{font-size:1.25rem;font-weight:700;margin-bottom:.25rem;color:var(--text)}.time-label{font-family:Geist Mono,Fira Code,monospace;font-size:.9rem;color:var(--text);opacity:.8;display:block;font-weight:500}.selection-indicator{position:absolute;top:1rem;right:1rem;width:12px;height:12px;border-radius:50%;border:2px solid var(--border);transition:all .3s ease}.selection-indicator.active{background:var(--success);border-color:var(--success);box-shadow:0 0 15px var(--success)}.time-control-card:has(.active){border-color:var(--success);background:linear-gradient(135deg,transparent,rgba(74,222,128,.05))}.mini-controls{grid-column:1 / -1;display:flex;gap:1rem;justify-content:center}.mini-control-btn{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:.75rem 1.5rem;color:var(--text);opacity:.9;cursor:pointer;font-weight:500;transition:all .2s}.mini-control-btn:hover{opacity:1;border-color:var(--text)}.mini-control-btn.selected{background:var(--text);color:var(--bg);border-color:var(--text);opacity:1;box-shadow:0 0 15px #80808033}.custom-config-panel{grid-column:1 / -1;display:flex;gap:2rem;justify-content:center;background:var(--glass);padding:1.5rem;border-radius:16px;border:1px solid var(--border);margin-top:-1rem;animation:slideDown .3s ease-out}.time-input-group{display:flex;flex-direction:column;gap:.5rem}.time-input-group label{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--text);opacity:.8;font-weight:600}.time-input-group input{background:var(--glass);border:1px solid var(--border);border-radius:8px;padding:.75rem;color:var(--text);font-size:1.1rem;width:100px;text-align:center;font-family:inherit}.time-input-group input:focus{outline:none;border-color:var(--accent);background:var(--glass)}.action-bar{display:flex;gap:1rem;margin-top:1rem}.primary-action-btn{flex:2;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none;border-radius:16px;padding:1.25rem;font-size:1.2rem;font-weight:700;cursor:pointer;position:relative;overflow:hidden;transition:all .3s}.primary-action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--card-glow)}.secondary-action-btn{flex:1;background:var(--glass);border:1px solid var(--border);color:var(--text);border-radius:16px;font-weight:600;cursor:pointer;transition:all .2s}.secondary-action-btn:hover{background:#6464641a;border-color:var(--text)}.challenges-feed{background:var(--glass);border:1px solid var(--border);border-radius:20px;padding:1.5rem;min-height:200px}.feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.feed-header h3{font-size:1.1rem;font-weight:600;color:var(--text);opacity:.9}.live-dot{width:8px;height:8px;background:var(--error);border-radius:50%;box-shadow:0 0 10px var(--error);animation:blink 2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.empty-feed{text-align:center;padding:2rem;color:var(--text);opacity:.5}.empty-feed .sub-text{display:block;font-size:.9rem;margin-top:.5rem;color:var(--text);opacity:.4}.challenge-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#6464640d;border-radius:12px;margin-bottom:.75rem;transition:all .2s}.challenge-item:hover{background:#6464641a;transform:translate(4px)}.challenge-info{display:flex;gap:1rem;align-items:center;font-family:Geist Mono,monospace}.c-time{color:var(--warning);font-weight:700}.c-player{color:var(--text)}.accept-challenge-btn{background:#4ade801a;color:var(--success);border:1px solid rgba(74,222,128,.2);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.accept-challenge-btn:hover{background:var(--success);color:#fff}.my-challenge-card{background:linear-gradient(135deg,#4ade801a,#22c55e0d);border:1px solid rgba(74,222,128,.2);border-radius:12px;padding:1rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.pulse-ring{width:12px;height:12px;border-radius:50%;background:var(--success);box-shadow:0 0 #4ade80b3;animation:pulse-green 2s infinite}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 #4ade80b3}70%{transform:scale(1);box-shadow:0 0 0 10px #4ade8000}to{transform:scale(.95);box-shadow:0 0 #4ade8000}}.bots-teaser{background:linear-gradient(90deg,rgba(99,102,241,.1),transparent);border-left:4px solid var(--accent);padding:1.5rem;border-radius:0 12px 12px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s}.bots-teaser:hover{background:linear-gradient(90deg,#6366f133,#6366f10d);padding-left:2rem}.bots-teaser h3{margin:0;font-size:1.1rem;color:var(--text)}.bots-teaser p{margin:.25rem 0 0;color:var(--text);opacity:.8;font-size:.9rem}.teaser-arrow{font-size:1.5rem;color:var(--accent)}.searching-container{text-align:center;padding:4rem;background:var(--glass);border-radius:24px;border:1px solid var(--border);max-width:500px;margin:0 auto}.radar-animation{width:120px;height:120px;border-radius:50%;border:2px solid rgba(99,102,241,.3);margin:0 auto 2rem;position:relative;background:radial-gradient(circle,rgba(99,102,241,.1),transparent)}.radar-sweep{position:absolute;top:50%;left:50%;width:50%;height:2px;background:linear-gradient(90deg,transparent,var(--accent));transform-origin:0 0;animation:radar-spin 2s linear infinite}@keyframes radar-spin{to{transform:rotate(360deg)}}.searching-container h2{font-size:1.8rem;margin-bottom:.5rem;color:var(--text)}.searching-container p{color:var(--text);opacity:.7;margin-bottom:2rem}.cancel-search-btn{background:transparent;border:1px solid var(--border);color:var(--text);opacity:.9;padding:.75rem 2rem;border-radius:100px;cursor:pointer;transition:all .2s}.cancel-search-btn:hover{border-color:var(--error);color:var(--error);opacity:1}.game-content{display:grid;grid-template-columns:1fr 380px;gap:24px;margin:0 auto;width:100%}.left-section{display:flex;flex-direction:column;gap:16px}.player-card{background:var(--glass);border:1px solid var(--border);border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:18px;max-width:550px;margin:0 auto;width:100%;box-shadow:0 4px 16px #00000014}.player-card:hover{box-shadow:0 6px 24px #0000001f;transform:translateY(-2px)}.player-avatar{width:48px;height:48px;border-radius:12px;border:2px solid var(--border)}.player-details{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex:1}.player-name{font-size:1.1rem;font-weight:700;color:var(--text)}.player-clock{font-weight:800;font-size:1.25rem;color:var(--accent);font-family:Geist Mono,monospace;letter-spacing:1px}.player-clock.low-time{color:var(--error);animation:blink 1s infinite}.board-container{display:flex;align-items:center;justify-content:center;padding:16px;max-width:550px;width:100%;margin:0 auto;background:var(--glass);border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 40px #0003}.right-section{display:flex;flex-direction:column;gap:20px}.moves-panel,.controls-panel{background:var(--glass);border:1px solid var(--border);border-radius:16px;padding:20px;max-width:550px;width:100%;margin:0 auto}.tabs-header{display:flex;gap:1rem;margin-bottom:1rem}.tab-btn{background:transparent;border:none;color:var(--text);opacity:.6;font-weight:600;padding-bottom:.5rem;cursor:pointer;border-bottom:2px solid transparent}.tab-btn.active{opacity:1;border-bottom-color:var(--accent)}.moves-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.move-pair{display:grid;grid-template-columns:40px 1fr 1fr;padding:6px 12px;border-radius:6px}.move-pair:hover{background:#0000000d}.move-number{color:var(--text);opacity:.6}.move{color:var(--text);font-weight:600;font-family:monospace}.resign-btn{width:100%;background:#ef44441a;color:var(--error);border:1px solid rgba(239,68,68,.2);padding:1rem;border-radius:12px;font-weight:700;cursor:pointer}.resign-btn:hover{background:var(--error);color:#fff}@media(max-width:1200px){.game-content{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}.action-bar{flex-direction:column}}.customize-page{min-height:100vh;background:radial-gradient(circle at top right,var(--image-glow),transparent 70%),radial-gradient(circle at bottom left,var(--card-glow),transparent 70%),var(--bg);color:var(--text);padding:20px;font-family:Inter,system-ui,sans-serif;position:relative;overflow-x:hidden}.customize-page:before{content:"";position:absolute;top:-20%;left:-10%;width:60vw;height:60vw;background:radial-gradient(circle,var(--image-glow) 0%,transparent 70%);filter:blur(80px);z-index:0;animation:pulse-glow 10s ease-in-out infinite alternate}@keyframes pulse-glow{0%{transform:scale(1);opacity:.5}to{transform:scale(1.1);opacity:.8}}.customize-container{max-width:1600px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:380px 1fr;gap:40px;height:calc(100vh - 40px)}.customize-sidebar{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:32px;overflow-y:auto;height:100%}.customize-sidebar::-webkit-scrollbar{width:6px}.customize-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar-header{margin-bottom:8px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text);opacity:.6;text-decoration:none;font-size:.9rem;margin-bottom:24px;transition:color .2s}.back-link:hover{color:var(--text);opacity:1}.sidebar-header h1{font-size:2rem;font-weight:800;background:linear-gradient(90deg,var(--text),#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 8px}.sidebar-subtitle{font-size:.95rem;color:var(--text);opacity:.6;margin:0;line-height:1.5}.control-group h3{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--text);opacity:.5;margin:0 0 16px;font-weight:700}.range-slider-container{margin-top:12px}.color-input-group{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--glass);border:1px solid var(--border);border-radius:12px;transition:border-color .2s;cursor:pointer}.color-input-group:hover{border-color:var(--accent);background:var(--glass)}.color-preview-dot{width:32px;height:32px;border-radius:8px;border:2px solid var(--border);box-shadow:0 2px 8px #0003}.color-label{flex:1;margin-left:12px;font-weight:500;font-size:.95rem;color:var(--text)}.color-hex{font-family:SF Mono,Monaco,monospace;font-size:.85rem;color:var(--text);opacity:.5}.hidden-color-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.presets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.preset-card{background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.preset-card:hover{transform:translateY(-2px);background:var(--glass);border-color:var(--accent)}.preset-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--card-glow),transparent);opacity:0;transition:opacity .2s}.preset-card:hover:before{opacity:1}.preset-swatch{height:40px;width:100%;border-radius:8px;margin-bottom:8px;display:flex;overflow:hidden;box-shadow:0 2px 4px #0003}.preset-swatch div{flex:1}.preset-name{font-size:.85rem;font-weight:600;text-align:center;color:var(--text);opacity:.9}.option-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.option-row:last-child{border-bottom:none}.option-label{font-size:.95rem;font-weight:500;color:var(--text)}.option-toggle{appearance:none;width:44px;height:24px;background:var(--border);border-radius:20px;position:relative;cursor:pointer;transition:background .3s}.option-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1)}.option-toggle:checked{background:var(--accent)}.option-toggle:checked:after{transform:translate(20px)}.customize-preview-area{display:flex;align-items:center;justify-content:center;position:relative;background:var(--glass);border-radius:24px;border:1px solid var(--border);box-shadow:inset 0 0 100px #0003;perspective:1000px;overflow:hidden}.preview-board-wrapper{transform-style:preserve-3d;transform:rotateX(20deg) scale(.95);transition:transform .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 50px 100px -20px #0006,0 30px 60px -30px #0009;border-radius:12px;padding:16px;background:var(--glass);border:1px solid var(--border)}.preview-board-wrapper:hover{transform:rotateX(10deg) scale(1.02)}.floating-badge{position:absolute;bottom:32px;right:32px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px 20px;border-radius:100px;border:1px solid var(--border);display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--text);animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:1024px){.customize-container{grid-template-columns:1fr;height:auto}.customize-preview-area{height:500px;order:-1}}.customize-select{background:#0006;border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:8px;cursor:pointer;outline:none;font-family:inherit;font-size:.9rem;transition:all .2s}.customize-select:hover{border-color:var(--accent);background:#0009}.customize-select option{background:#1a1a1a;color:var(--text);padding:8px}
