@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-primary:#0a0e1a;--bg-secondary:#0f1525;--bg-card:#0f1525d9;--bg-card-hover:#141c32f2;--text-primary:#e8eaf0;--text-secondary:#8b92a8;--text-muted:#4a5068;--gold:#c9a227;--gold-light:#f0d060;--gold-glow:#c9a2274d;--accent:#4f8cff;--accent-hover:#3a6fd4;--accent-glow:#4f8cff40;--purple:#9b6dff;--purple-glow:#9b6dff40;--success:#34d399;--success-glow:#34d39933;--danger:#f87171;--danger-glow:#f8717133;--warning:#fbbf24;--warning-glow:#fbbf2433;--border:#ffffff0f;--border-hover:#ffffff1f;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 32px #0006;--shadow-lg:0 20px 60px #00000080;--shadow-glow:0 0 40px #4f8cff14;--font-body:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 0,#4f8cff0f 0%,#0000 60%),radial-gradient(at 80% 100%,#9b6dff0d 0%,#0000 60%),radial-gradient(#c9a22705 0%,#0000 70%);position:fixed;inset:0}#root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md), var(--shadow-glow);padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-panel:hover{border-color:var(--border-hover)}h1,h2,h3,h4{color:#fff;font-weight:700;line-height:1.25}h1{background:linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 40%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,4vw,3rem);font-weight:800}h2{background:linear-gradient(135deg,#fff 0%,#b0b8d0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.4rem,3vw,1.8rem)}h3{font-size:1.15rem}p{color:var(--text-secondary)}.btn{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;font-family:var(--font-body);cursor:pointer;text-align:center;letter-spacing:.02em;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 22px;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff26,#0000);transition:opacity .2s;position:absolute;inset:0}.btn:hover:before{opacity:1}.btn:hover{box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary{border:1px solid var(--border);color:var(--text-primary);background:0 0}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 16px var(--accent-glow);background:#ffffff0a}.btn-secondary:before{display:none}.btn-gold{background:linear-gradient(135deg, var(--gold), #b8860b);color:#0a0e1a;font-weight:700}.btn-gold:hover{box-shadow:0 8px 24px var(--gold-glow)}.btn-danger{background:linear-gradient(135deg, var(--danger), #dc2626)}.btn-danger:hover{box-shadow:0 8px 24px var(--danger-glow)}.btn-success{background:linear-gradient(135deg, var(--success), #059669)}.btn-sm{border-radius:var(--radius-sm);padding:7px 14px;font-size:.85rem}.btn-lg{padding:14px 32px;font-size:1.1rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.form-control{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:1rem;font-family:var(--font-body);background:#0a0e1acc;padding:12px 14px;transition:border-color .3s,box-shadow .3s}.form-control:hover{border-color:var(--border-hover)}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-control::placeholder{color:var(--text-muted)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b92a8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.navbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(24px);z-index:1000;background:#0a0e1ae6;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.navbar-brand{color:#fff;letter-spacing:.06em;align-items:center;gap:10px;font-size:1.25rem;font-weight:800;text-decoration:none;display:flex}.navbar-brand img{border-radius:6px;width:32px;height:32px}.navbar-brand span{background:linear-gradient(135deg, var(--gold-light), var(--gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.nav-links{align-items:center;gap:4px;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);padding:6px 14px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{color:#fff;background:#ffffff0d}.nav-link.active{color:var(--gold);background:#c9a2271a}.user-greeting{color:var(--gold);background:#c9a22714;border:1px solid #c9a22740;border-radius:99px;padding:5px 14px;font-size:.85rem;font-weight:600}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.5rem;display:none}.game-container{grid-template-columns:minmax(0,2fr) 340px;align-items:start;gap:1.5rem;margin-top:1.5rem;display:grid}@media (width<=960px){.game-container{grid-template-columns:1fr}}.board-wrapper{aspect-ratio:1;border-radius:var(--radius-md);width:100%;max-width:min(580px,100vw - 40px);margin:0 auto;position:relative;overflow:hidden}.controls-panel{flex-direction:column;gap:1rem;display:flex;position:sticky;top:72px}.status-bar{border-radius:var(--radius-sm);border:1px solid var(--border);text-align:center;background:#0f1525f2;padding:.65rem 1rem;font-size:.95rem;font-weight:600;transition:all .3s}.status-bar.thinking{border-color:var(--warning);color:var(--warning);animation:1.2s ease-in-out infinite pulse-border}.status-bar.check{border-color:var(--danger);color:var(--danger)}.status-bar.success{border-color:var(--success);color:var(--success)}@keyframes pulse-border{0%,to{box-shadow:0 0 0 0 var(--warning-glow)}50%{box-shadow:0 0 0 4px var(--warning-glow)}}.stat-card{border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;background:#0f152599;padding:1rem 1.25rem;transition:all .25s}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-3px)}.stat-card .stat-value{color:#fff;margin-bottom:4px;font-size:1.8rem;font-weight:800;line-height:1}.stat-card .stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.badge{border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.badge-win{background:var(--success-glow);color:var(--success);border:1px solid #34d39940}.badge-loss{background:var(--danger-glow);color:var(--danger);border:1px solid #f8717140}.badge-draw{color:var(--text-secondary);background:#8b949e1f;border:1px solid #8b949e33}.progress-bar-track{background:#ffffff0a;border-radius:99px;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent), var(--purple));border-radius:99px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.tab-list{border-radius:var(--radius-md);background:#0000004d;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.tab-btn{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.88rem;font-weight:500;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:8px 16px;transition:all .2s}.tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.tab-btn.active{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff}.feature-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:12px;padding:2rem 1.5rem;text-decoration:none;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.feature-card:hover{border-color:#c9a2274d;transform:translateY(-8px);box-shadow:0 24px 48px #00000080}.feature-card .card-icon{filter:drop-shadow(0 4px 12px #00000080);font-size:2.8rem;line-height:1;transition:transform .3s}.feature-card:hover .card-icon{transform:scale(1.2)rotate(-5deg)}.feature-card .card-title{color:#fff;font-size:1.15rem;font-weight:700}.feature-card .card-desc{color:var(--text-secondary);font-size:.82rem;line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #fff3;border-top-color:var(--gold);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.fade-in{animation:.5s forwards fadeIn}.slide-in{animation:.35s forwards slideIn}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}.text-gold{color:var(--gold)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.move-history{flex:1;padding-right:4px;overflow-y:auto}.move-history table{border-collapse:collapse;width:100%}.move-history tr:hover td{background:#ffffff08}.chess-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.chess-bg .piece{opacity:.025;color:var(--gold);font-size:2.5rem;animation:linear infinite float-piece;position:absolute}@keyframes float-piece{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:.025}90%{opacity:.025}to{opacity:0;transform:translateY(-10vh)rotate(360deg)}}@media (width<=768px){.navbar{padding:.6rem 1rem}.nav-links.desktop-only{display:none}.mobile-menu-btn{display:block}.glass-panel{border-radius:var(--radius-md);padding:16px}.game-container{grid-template-columns:1fr;gap:1rem}.controls-panel{position:static}h1{font-size:1.8rem}.feature-card{padding:1.5rem 1rem}}@media (width<=480px){.navbar-brand{font-size:1rem}.container{padding:0 12px}.stat-card .stat-value{font-size:1.4rem}}.mobile-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2000;background:#0a0e1afa;flex-direction:column;justify-content:center;align-items:center;gap:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.mobile-nav .nav-link{padding:12px 24px;font-size:1.3rem}.mobile-nav-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2rem;position:absolute;top:1rem;right:1rem}.arena-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;padding:1.5rem;transition:all .3s}.arena-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 12px 32px #0006}
