:root{--bg-app: #02040a;--glass-bg: rgba(15, 23, 42, .65);--glass-bg-hover: rgba(15, 23, 42, .8);--glass-border: 1px solid rgba(255, 255, 255, .08);--glass-border-bright: 1px solid rgba(255, 255, 255, .15);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .7);--glass-reflection: linear-gradient(145deg, rgba(255, 255, 255, .05) 0%, transparent 40%);--bg-panel: var(--glass-bg);--bg-board-dark: #1e293b;--bg-board-light: #94a3b8;--cell-accent: rgba(99, 102, 241, .15);--accent-primary: #6366f1;--accent-secondary: #ec4899;--accent-tertiary: #10b981;--accent-hover: #818cf8;--accent-glow: rgba(99, 102, 241, .5);--accent-gradient: linear-gradient(135deg, #6366f1 0%, #ec4899 100%);--accent-gradient-hover: linear-gradient(135deg, #818cf8 0%, #f472b6 100%);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--success: #34d399;--danger: #fb7185;--warning: #fbbf24;--cell-size: min(8vw, 64px);--radius-xl: 24px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .6s cubic-bezier(.2, .8, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--grid-line-color: rgba(255, 255, 255, .1);--z-background: -1;--z-board: 10;--z-ui: 50;--z-overlay: 100;--z-modal: 200;--z-tooltip: 300}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-main);background-color:var(--bg-app);background-image:radial-gradient(circle at 10% 20%,rgba(99,102,241,.15) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(236,72,153,.15) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(16,185,129,.05) 0%,transparent 60%);background-attachment:fixed;color:var(--text-main);height:100vh;margin:0;overflow:hidden;display:flex;flex-direction:column;position:relative}body:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8,<svg opacity="0.04" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><filter id="noiseFilter"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noiseFilter)"/></svg>');pointer-events:none;z-index:var(--z-background)}.hidden{display:none!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}body[data-theme=blue]{--bg-board-dark: #3b5998;--bg-board-light: #8b9dc3;--corridor-bg: rgba(245, 158, 11, .15);--corridor-border: rgba(245, 158, 11, .4);--corridor-bg-hover: rgba(245, 158, 11, .25);--corridor-border-hover: rgba(245, 158, 11, .6);--grid-line-color: #0f172a}body[data-theme=green]{--bg-board-dark: #769656;--bg-board-light: #eeeed2;--corridor-bg: rgba(255, 255, 0, .15);--corridor-border: rgba(255, 255, 0, .4);--corridor-bg-hover: rgba(255, 255, 0, .25);--corridor-border-hover: rgba(255, 255, 0, .6)}body[data-theme=classic]{--bg-board-dark: #475569;--bg-board-light: #e2e4e9;--corridor-bg: rgba(99, 102, 241, .15);--corridor-border: rgba(99, 102, 241, .4);--corridor-bg-hover: rgba(99, 102, 241, .25);--corridor-border-hover: rgba(99, 102, 241, .6)}body[data-theme=wood]{--bg-board-dark: #b58863;--bg-board-light: #f0d9b5;--corridor-bg: rgba(22, 101, 52, .2);--corridor-border: rgba(22, 101, 52, .5);--corridor-bg-hover: rgba(22, 101, 52, .3);--corridor-border-hover: rgba(22, 101, 52, .7);--grid-line-color: #271202}body[data-theme=dark]{--bg-board-dark: #1a1a1a;--bg-board-light: #404040;--corridor-bg: rgba(236, 72, 153, .15);--corridor-border: rgba(236, 72, 153, .4);--corridor-bg-hover: rgba(236, 72, 153, .25);--corridor-border-hover: rgba(236, 72, 153, .6);--grid-line-color: #f472b6}#top-layer{position:fixed;top:0;left:0;width:100%;height:0;z-index:var(--z-tooltip);pointer-events:none}#top-layer>*{pointer-events:auto}#overlay-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-modal);pointer-events:none}#overlay-layer>*:not(.hidden){pointer-events:auto}#panel-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-overlay);pointer-events:none}#panel-layer>*:not(.hidden){pointer-events:auto}#game-layer{position:relative;z-index:var(--z-ui);width:100%;height:100%}#app-container{display:flex;flex-direction:column;height:100vh;max-width:600px;margin:0 auto;padding:0 1rem;position:relative;justify-content:space-between;overflow-y:auto;overflow-x:hidden;padding-bottom:40vh}.minimal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;height:50px;z-index:var(--z-ui)}.logo{font-weight:800;font-size:1.1rem;background:linear-gradient(135deg,#fff,#94a3b8);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.status-pill,.stat-pill{font-size:.75rem;color:var(--text-main);background:#ffffff0d;padding:4px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.1);font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stat-pill{background:var(--accent-glow);border-color:var(--accent-primary);font-weight:600}.icon-btn{background:none;border:none;color:var(--text-main);cursor:pointer;padding:8px;border-radius:50%;transition:all .2s}.icon-btn:hover{background:#ffffff1a;transform:rotate(90deg)}.game-area{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1rem;width:100%}.player-info{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--glass-border);border-radius:var(--radius-lg);height:64px;box-shadow:var(--glass-shadow);transition:all var(--transition-normal);position:relative;overflow:hidden}.player-info:after{content:"";position:absolute;bottom:0;left:0;height:2px;width:0%;background:var(--accent-gradient);transition:width .5s ease}.player-info.active:after{width:100%}.player-info.active{border-color:#6366f14d;box-shadow:0 0 20px #6366f126}.player-avatar{margin-right:1rem;color:var(--text-muted)}.player-info.active .player-avatar{color:var(--accent-primary)}.player-details{flex:1;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.player-name{font-weight:700;font-size:.95rem;margin-bottom:2px}.captured-pieces{height:18px;display:flex;gap:-4px;overflow:hidden;padding-left:4px}.captured-piece-icon{width:18px;height:18px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.clock-display{font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:700;padding:4px 12px;background:#0003;border-radius:8px;color:var(--text-dim);transition:all .3s}.clock-display.active{color:#fff;background:var(--accent-gradient);box-shadow:0 0 15px var(--accent-glow)}.clock-display.low-time{background:var(--danger);animation:pulse-red 1s infinite}.action-bar{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#0f172ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;border:var(--glass-border-bright);margin-bottom:1.5rem;box-shadow:0 10px 40px #00000080;transition:var(--transition-normal);width:fit-content;margin-left:auto;margin-right:auto}.action-icon-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);width:48px;height:48px;border-radius:14px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all var(--transition-bounce);position:relative}.action-icon-btn:hover{background:#ffffff1a;transform:translateY(-6px) scale(1.1);color:#fff;box-shadow:0 4px 12px #0000004d}.action-icon-btn.active{background:var(--accent-gradient);color:#fff;box-shadow:0 0 15px var(--accent-glow);transform:translateY(-4px)}.action-icon-btn svg{width:24px;height:24px;stroke-width:2}.action-icon-btn:after{content:attr(title);position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#000;padding:4px 8px;border-radius:4px;font-size:10px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}.close-icon-btn{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:4px;line-height:1;transition:color .2s}.close-icon-btn:hover{color:var(--text-main);transform:scale(1.1)}.analysis-panel{position:fixed;top:80px;right:20px;width:280px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);z-index:var(--z-modal);display:flex;flex-direction:column;color:var(--text-main);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.analysis-panel.hidden{opacity:0;transform:translate(40px) scale(.95);pointer-events:none}.analysis-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.analysis-header h3{margin:0;font-size:.9rem;font-weight:700;letter-spacing:.5px;color:var(--accent-primary)}.analysis-body{padding:16px;display:flex;flex-direction:column;gap:16px}.eval-bar-container{flex:1;height:8px;background:#333;border-radius:4px;overflow:hidden;position:relative}.eval-bar{height:100%;width:50%;background:var(--accent-primary);transition:width .5s ease}.eval-score{font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.1rem;min-width:60px;text-align:right}.top-moves-section h4{margin:0 0 10px;font-size:.8rem;color:var(--text-muted);text-transform:uppercase}.top-move-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent}.top-move-item:hover{background:#ffffff1a;border-color:var(--accent-primary)}.move-notation{font-weight:600;color:#fff}.move-eval{font-size:.8rem;color:var(--text-muted)}.analysis-controls{margin-top:8px;display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--text-muted)}.close-icon-btn{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:4px}.close-icon-btn:hover{color:#fff}@media(max-width:768px){.analysis-panel{width:calc(100% - 40px);right:20px;bottom:20px;top:auto}}#board-container{width:100%;aspect-ratio:1;display:flex;justify-content:center;align-items:center;position:relative;padding:0 0 30px 30px}.evaluation-bar{position:absolute;left:-32px;top:0;width:12px;height:calc(100% - 30px);background:#222;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 10px #0000004d;z-index:15;transition:opacity .3s ease}.evaluation-bar.hidden{opacity:0;pointer-events:none}#eval-fill{width:100%;height:50%;background:#eee;transition:height .5s cubic-bezier(.4,0,.2,1)}#eval-text{position:absolute;top:4px;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none;z-index:2}#eval-marker{position:absolute;left:0;width:100%;height:1px;background:#ffffff80;top:50%;z-index:1}#battle-chess-3d-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20;pointer-events:none;opacity:0;transition:opacity .3s ease}body.mode-3d #battle-chess-3d-container{opacity:1;pointer-events:all}body.mode-3d #board-container{padding:0}body.mode-3d #board-wrapper{opacity:0;pointer-events:none}#board-wrapper{position:relative;width:100%;height:100%}#board.board-8x8{grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr)}#board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);width:100%;height:100%;border-radius:4px;overflow:hidden;box-shadow:0 10px 30px #00000080;z-index:10}.col-labels{position:absolute;bottom:-24px;left:0;width:100%;display:grid;text-align:center;pointer-events:none}.row-labels{position:absolute;left:-24px;top:0;height:100%;display:grid;align-items:center;text-align:right;pointer-events:none}.coord-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}#board:not(.board-8x8) .cell:nth-child(9n+3),#board:not(.board-8x8) .cell:nth-child(9n+6){border-right:4px solid #000}#board:not(.board-8x8) .cell:nth-child(n+19):nth-child(-n+27),#board:not(.board-8x8) .cell:nth-child(n+46):nth-child(-n+54){border-bottom:4px solid #000}.cell{width:100%;height:100%;display:flex;justify-content:center;align-items:center;position:relative;transition:transform .15s ease,box-shadow .15s ease}.cell.light{background-color:var(--bg-board-light);color:var(--bg-board-dark)}.cell.dark{background-color:var(--bg-board-dark);color:var(--bg-board-light)}.cell.blocked-square{background:repeating-linear-gradient(45deg,#1a1a2e,#1a1a2e 10px,#0f0f1a 10px 20px)!important;opacity:.6;cursor:not-allowed;pointer-events:none}.cell.blocked-square:after{content:"";position:absolute;inset:0;background:#00000080}.cell.border-right{border-right:4px solid var(--grid-line-color)}.cell.border-bottom{border-bottom:4px solid var(--grid-line-color)}.cell.selected{box-shadow:inset 0 0 0 4px var(--accent-primary)}.cell.last-move{background-color:#6366f166!important}.cell.valid-move:after{content:"";width:16px;height:16px;background:#0003;border-radius:50%}.cell.capture-move:after{content:"";width:100%;height:100%;border:4px solid rgba(239,68,68,.5);border-radius:50%;background:none;box-sizing:border-box}.cell.dragging{opacity:.5;transform:scale(.95)}.cell.drag-target{box-shadow:inset 0 0 0 3px #10b98180;background-color:#10b9811a!important}.cell.drag-over{box-shadow:inset 0 0 0 4px var(--success);background-color:#10b98140!important;transform:scale(1.02);transition:all .1s ease}.cell.hover-move{box-shadow:inset 0 0 8px #6366f166}.cell.hover-piece{box-shadow:inset 0 0 0 2px #6366f199}.cell.selectable-corridor{box-shadow:inset 0 0 0 100px var(--corridor-bg),inset 0 0 0 1px var(--corridor-border)!important;cursor:pointer}.cell.selectable-corridor:hover{box-shadow:inset 0 0 0 100px var(--corridor-bg-hover),inset 0 0 0 1px var(--corridor-border-hover)!important}.cell.upgradable-piece{box-shadow:inset 0 0 0 2px #22c55e!important;cursor:pointer;transition:box-shadow .3s ease}.cell.upgradable-piece:hover{box-shadow:inset 0 0 15px 4px #22c55e!important}.piece{width:90%;height:90%;background-size:contain;background-repeat:no-repeat;background-position:center;cursor:grab;z-index:2;transition:transform .2s ease}.piece-svg{width:90%;height:90%;transition:transform .2s ease}.cell.in-check{background:radial-gradient(circle,rgba(239,68,68,.5) 0%,transparent 70%);animation:pulse-red 2s infinite}.cell.checkmate{background:#ef4444cc!important;box-shadow:0 0 20px #ef4444cc}.cell.quality-brilliant:before{content:"!!";background-color:#31c48d}.cell.quality-best:before{content:"★";background-color:#9f5fef}.cell.quality-excellent:before{content:"□";background-color:#93c5fd}.cell.quality-good:before{content:"✔";background-color:#d1d5db}.cell.quality-inaccuracy:before{content:"?!";background-color:#facc15}.cell.quality-mistake:before{content:"?";background-color:#f97316}.cell.quality-blunder:before{content:"??";background-color:#f87171}[class*=quality-]:before{position:absolute;top:-10px;right:-10px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-size:14px;font-weight:700;z-index:10;box-shadow:0 2px 4px #0000004d;animation:pop-in .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes pop-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}#opening-name-container{height:30px;margin-bottom:10px;display:flex;align-items:center;justify-content:center;font-style:italic;font-size:.9rem;color:#ccc;transition:all .3s ease}#opening-name{font-weight:700;color:var(--accent, #4f9cf9);margin-left:8px}.btn-primary{background:var(--accent-gradient);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-fast);box-shadow:0 4px 12px #6366f14d}.btn-primary:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .2s}.btn-primary:hover:not(:disabled){background:var(--accent-gradient-hover);transform:translateY(-2px);box-shadow:0 8px 24px var(--accent-glow)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:hover:before{opacity:1}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1)}.btn-secondary{background:#ffffff0d;color:var(--text-main);border:1px solid rgba(255,255,255,.05);padding:12px 24px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff26;transform:translateY(-1px)}.full-width{width:100%}.mb-2{margin-bottom:1rem}.small-btn{padding:8px 16px;font-size:.85rem}.fullscreen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#02040acc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:var(--z-overlay);display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.fullscreen-overlay:not(.hidden){opacity:1;pointer-events:auto}.menu-content,.info-content{width:90%;max-width:480px;background:var(--glass-bg);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-xl);padding:2.5rem;max-height:85vh;overflow-y:auto;animation:slideUpFade .4s var(--transition-bounce) forwards}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:1rem}.menu-header h2{font-size:1.8rem;font-weight:700;background:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.menu-section{margin-bottom:2.5rem}.menu-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:1rem;font-weight:700}.menu-item{width:100%;text-align:left;padding:1.25rem;background:#ffffff08;border:1px solid transparent;border-radius:var(--radius-lg);color:var(--text-main);margin-bottom:.75rem;cursor:pointer;transition:all .2s;font-size:1.05rem;display:flex;align-items:center;gap:12px}.menu-item:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translate(4px)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:#fb71851a;border-color:#fb718533}.menu-item.warning{color:var(--warning)}.setting-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:4px}.setting-row label{font-weight:500;color:var(--text-main)}.menu-select{appearance:none;background-color:#0003;border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:12px 40px 12px 16px;border-radius:var(--radius-md);font-family:var(--font-main);font-size:.95rem;cursor:pointer;transition:all .2s;min-width:140px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.menu-select:hover{border-color:var(--accent-primary);background-color:#0000004d}.menu-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-glow)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;transition:var(--transition-normal);border-radius:24px;border:var(--glass-border)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:var(--transition-normal);border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.toggle-slider{background:var(--accent-gradient)}input:focus+.toggle-slider{box-shadow:0 0 1px var(--accent-primary)}input:checked+.toggle-slider:before{transform:translate(20px)}.volume-slider{width:100px;height:6px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:10px;outline:none;transition:var(--transition-fast)}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#fff;border-radius:50%;cursor:pointer;border:4px solid var(--accent-primary);box-shadow:0 0 10px var(--accent-glow);transition:var(--transition-bounce)}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{width:14px;height:14px;background:var(--accent-primary);border-radius:50%;cursor:pointer;border:none}#volume-value{font-size:.8rem;color:var(--text-muted);min-width:35px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:300;display:flex;justify-content:center;align-items:center}.modal-overlay.hidden{display:none}.modal-content{background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--glass-border);padding:2rem;border-radius:20px;width:90%;max-width:350px;text-align:center}.modal-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.points-grid{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.stat-card{background:#ffffff0d;padding:1rem;border-radius:12px;text-align:center;border:1px solid rgba(255,255,255,.1)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem}.stat-value{font-size:1.25rem;font-weight:800;color:var(--accent-primary)}.stat-value.positive{color:var(--success)}.stat-value.negative{color:var(--danger)}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--text-muted);font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.1)}.divider span{padding:0 10px}.small-text{font-size:.85rem;color:var(--text-muted)}.global-tooltip{position:fixed;padding:8px 12px;background:#0f172af2;color:#fff;font-size:.85rem;font-weight:500;border-radius:6px;pointer-events:none;z-index:10000;box-shadow:0 4px 12px #00000080;border:1px solid rgba(255,255,255,.1);white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}.global-tooltip.hidden{display:none}.floating-text{position:fixed;pointer-events:none;z-index:10000;font-weight:700;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.5);transition:all 1.5s cubic-bezier(.1,.7,.1,1);transform:translate(-50%);opacity:1}.floating-text.score{color:#fbbf24}.floating-text.message{color:#fff;font-size:1.2rem}.floating-text.animate{transform:translate(-50%,-100px);opacity:0}.particle{position:fixed;border-radius:50%;pointer-events:none;z-index:9999}.confetti{pointer-events:none;z-index:9999}.skin-selector{appearance:none;background-color:var(--bg-panel);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:8px 30px 8px 12px;border-radius:12px;cursor:pointer;font-size:.85rem;font-family:var(--font-main);font-weight:500;transition:all .2s}.skin-selector:hover{border-color:var(--accent-primary);background-color:#6366f11a}.skin-selector:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #6366f133}.skin-selector option{background-color:#0f172a;color:#fff;padding:10px}.info-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab-btn{flex:1;padding:.75rem;background:#ffffff0d;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s}.tab-btn.active{background:var(--accent-primary);color:#fff}.tab-pane{display:none}.tab-pane.active{display:block}.history-list,.log-list{max-height:300px;overflow-y:auto;font-size:.9rem}.history-list>div,.log-list>div{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.action-icon-btn.active{background:#ffffff26;border-color:var(--accent-primary);box-shadow:0 0 8px var(--accent-glow)}.action-icon-btn.active svg{filter:drop-shadow(0 0 2px currentColor)}.shop-panel{position:fixed;bottom:0;width:100%;max-width:600px;left:50%;transform:translate(-50%);background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:var(--glass-border);border-top-left-radius:20px;border-top-right-radius:20px;padding:1.5rem;box-shadow:0 -10px 40px #00000080;z-index:100;transition:transform .3s ease,opacity .3s ease;max-height:35vh;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;opacity:1}.shop-panel.hidden{transform:translate(-50%) translateY(100%);opacity:0;pointer-events:none}.shop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.shop-header h2{font-size:1.1rem}.shop-points{font-weight:700;color:var(--accent-primary)}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}.shop-item{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:.75rem .5rem;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.shop-item:hover{background:#ffffff14;transform:translateY(-4px);box-shadow:0 4px 12px #0003;border-color:#ffffff1a}.shop-item.selected{border-color:var(--accent-primary);background:#6366f126;box-shadow:0 0 0 2px #6366f14d}.shop-icon{font-size:1.5rem;margin-bottom:4px}.shop-cost{font-size:.8rem;color:var(--text-muted)}.shop-status{text-align:center;font-size:.9rem;color:var(--text-muted);margin-bottom:1rem;height:1.2em}.tutor-recommendations-section{margin:1rem 0}#toggle-tutor-recommendations{margin-bottom:.75rem;background:#6366f126;border:1px solid rgba(99,102,241,.3);transition:all .2s}#toggle-tutor-recommendations:hover{background:#6366f140;border-color:#6366f180}.tutor-recommendations-container{display:flex;overflow-x:auto;gap:1rem;padding:.5rem;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent-primary) transparent;margin-bottom:1rem}.tutor-recommendations-container::-webkit-scrollbar{height:6px}.tutor-recommendations-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.tutor-recommendations-container::-webkit-scrollbar-thumb{background-color:var(--accent-primary);border-radius:3px}.setup-template-card{background:#22c55e0d;border:1px solid rgba(34,197,94,.2);border-radius:16px;padding:1rem;margin-bottom:0;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-width:240px;flex-shrink:0;scroll-snap-align:start}.setup-template-card:hover{background:#22c55e26;transform:translateY(-4px);box-shadow:0 12px 24px #0000004d,0 0 0 1px #22c55e4d;border-color:#22c55e66}.setup-template-card.recommended{border:1px solid rgba(245,158,11,.4);background:linear-gradient(135deg,#f59e0b1a,#22c55e0d);position:relative;overflow:hidden}.setup-template-card.recommended:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--warning)}.recommended-badge{position:absolute;top:12px;right:12px;background:var(--warning);color:#000;font-size:.65rem;font-weight:800;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #f59e0b66}.templates-overlay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.template-name{font-weight:700;margin-bottom:.5rem;font-size:1rem;color:var(--text-main)}.template-description{font-size:.85rem;color:#cbd5e1;margin-bottom:.5rem}.template-pieces{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;margin-top:.5rem;font-size:.8rem;color:#94a3b8}.template-piece-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.puzzle-panel{position:fixed;bottom:0;left:0;right:0;background:#0f172af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(99,102,241,.3);z-index:100;padding:1rem 1.5rem;animation:slideUp .3s ease-out}.puzzle-panel.hidden{display:none}.puzzle-content{max-width:800px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.puzzle-info{flex:1;min-width:200px}.puzzle-content h2{font-size:1.1rem;color:var(--accent-primary);margin:0 0 .25rem}.puzzle-content p{color:var(--text-muted);margin:0;font-size:.9rem}.puzzle-status{padding:.5rem 1rem;background:#ffffff0d;border-radius:8px;text-align:center;font-size:.9rem}.puzzle-status.success{background:#22c55e33;color:#4ade80}.puzzle-status.failed{background:#ef444433;color:#f87171}.puzzle-buttons{display:flex;gap:.5rem}@media(max-width:640px){.puzzle-content{flex-direction:column;text-align:center}.puzzle-buttons button{padding:.5rem 1rem;font-size:.9rem}.puzzle-buttons{width:100%;justify-content:center}}#puzzle-menu-overlay{z-index:2000;background:#0f172af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.puzzle-menu-container{max-width:800px;width:90%;max-height:80vh;display:flex!important;flex-direction:column}.puzzle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:1rem 0;overflow-y:auto;max-height:60vh}.puzzle-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}.puzzle-card:hover{background:#ffffff14;transform:translateY(-4px);border-color:var(--accent-primary);box-shadow:0 4px 12px #0000004d}.puzzle-card.solved{border-color:var(--success);background:#22c55e0d}.puzzle-card.solved:hover{background:#22c55e1a}.puzzle-card-header{display:flex;justify-content:space-between;align-items:center}.puzzle-title{font-weight:700;color:var(--text-main);font-size:1.1rem}.puzzle-check{font-size:1.2rem}.puzzle-difficulty{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:4px;background:#ffffff1a;color:var(--text-muted);margin-bottom:.5rem}.puzzle-difficulty.einfach{color:#4ade80;background:#4ade801a}.puzzle-difficulty.mittel{color:#facc15;background:#facc151a}.puzzle-difficulty.schwer{color:#f87171;background:#f871711a}.puzzle-desc{font-size:.9rem;color:var(--text-muted);line-height:1.4;margin:0}@keyframes modalPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%{box-shadow:0 0 10px var(--accent-glow)}50%{box-shadow:0 0 20px #6366f199}to{box-shadow:0 0 10px var(--accent-glow)}}@keyframes pulse-red{0%{box-shadow:inset 0 0 #f000}50%{box-shadow:inset 0 0 20px #f00c}to{box-shadow:inset 0 0 #f000}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spring-pop{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(1)}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-icon-btn:active,.btn-primary:active,.btn-secondary:active,.shop-item:active{animation:spring-pop .3s cubic-bezier(.34,1.56,.64,1);transform:translateY(0)}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.game-area{animation:fadeIn var(--transition-slow)}#board-container{animation:slide-up-fade .8s var(--transition-bounce)}.player-info.opponent{animation:slideInLeft .6s var(--transition-bounce) .1s both}.player-info.self{animation:slideInLeft .6s var(--transition-bounce) .2s both}.action-bar{animation:slide-up-fade .6s var(--transition-bounce) .3s both}@keyframes pulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.8}}.evaluation-bar-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;width:40px;height:504px;margin-right:12px;animation:fadeIn .4s ease-out}.evaluation-bar-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px;width:44px;height:100%;margin-right:16px;animation:slideInLeft .5s var(--transition-bounce)}.evaluation-bar{width:14px;flex:1;background:var(--bg-board-dark);border-radius:20px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0009;border:1px solid rgba(255,255,255,.05);margin-bottom:8px}.eval-bar-fill{position:absolute;bottom:0;left:0;width:100%;height:50%;background:linear-gradient(to bottom,#1e293b,#0f172a);transition:height .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 15px #0000004d}.evaluation-bar:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:#fff3;z-index:1}.eval-bar-labels{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:10px 0;z-index:2}.eval-label{font-size:8px;font-weight:800;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5);color:#fff;mix-blend-mode:difference}.eval-bar-score{font-family:Outfit,sans-serif;font-weight:800;font-size:.8rem;padding:4px 8px;border-radius:8px;background:var(--bg-panel);border:var(--glass-border);min-width:40px;text-align:center}.eval-bar-score.win-white{color:#4ade80;box-shadow:0 0 10px #4ade8033}.eval-bar-score.win-black{color:#f87171;box-shadow:0 0 10px #f8717133}.eval-bar-score.neutral{color:var(--text-muted)}.cell.quality-best{box-shadow:inset 0 0 12px #22c55e!important}.cell.quality-brilliant{box-shadow:inset 0 0 15px #3b82f6,0 0 10px #3b82f680!important;animation:pulse-brilliant 2s infinite}.cell.quality-mistake{box-shadow:inset 0 0 12px #ef4444!important}.cell.quality-blunder{box-shadow:inset 0 0 20px #dc2626!important;animation:shake .5s ease-in-out}@keyframes pulse-brilliant{0%{box-shadow:inset 0 0 15px #3b82f6}50%{box-shadow:inset 0 0 25px #60a5fa,0 0 15px #3b82f6cc}to{box-shadow:inset 0 0 15px #3b82f6}}.post-game-analysis-overlay{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:500px;width:90%}.analysis-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%}.analysis-stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;text-align:center}.analysis-stat-value{font-size:1.5rem;font-weight:800;margin-bottom:4px}.analysis-stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.move-quality-table{width:100%;border-collapse:collapse;margin-top:10px}.move-quality-row{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.05)}.move-quality-row:last-child{border-bottom:none}.quality-badge{display:flex;align-items:center;gap:8px}.quality-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-weight:800;font-size:.7rem}.move-quality-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:.65rem;font-weight:800;margin-left:6px;vertical-align:middle}.accuracy-high{color:#4ade80}.accuracy-mid{color:#facc15}.accuracy-low{color:#f87171}.analysis-progress-container{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin:10px 0}.analysis-progress-fill{height:100%;width:0%;background:var(--accent-primary);transition:width .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(max-width:600px){.evaluation-bar-wrapper{width:10px;height:300px;margin-right:6px}.eval-bar-score{font-size:.7rem;padding:2px 4px}}.debug-panel{position:fixed;right:20px;top:80px;width:400px;max-height:80vh;background:#0f172afa;border:1px solid rgba(99,102,241,.3);border-radius:16px;box-shadow:0 10px 40px #0009;z-index:9000;overflow:hidden;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.debug-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#6366f133,#10b9811a);border-bottom:1px solid rgba(99,102,241,.2)}.debug-header h3{font-size:1rem;margin:0;color:#f1f5f9}.debug-header-actions{display:flex;gap:8px;align-items:center}.debug-close{background:none;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.debug-close:hover{background:#ef444433;color:#fca5a5}.debug-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1)}.debug-tab{flex:1;padding:10px;background:none;border:none;color:#64748b;cursor:pointer;font-size:.85rem;transition:all .2s;border-bottom:2px solid transparent}.debug-tab:hover{color:#94a3b8;background:#ffffff08}.debug-tab.active{color:#6366f1;border-bottom-color:#6366f1;background:#6366f10d}.debug-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.debug-tab-content{display:none;flex:1;overflow-y:auto;padding:12px}.debug-tab-content.active{display:flex;flex-direction:column;gap:12px}.debug-filters{display:flex;flex-direction:column;gap:8px}#debug-search{width:100%;padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f1f5f9;font-size:.85rem}#debug-search::placeholder{color:#64748b}#debug-search:focus{outline:none;border-color:#6366f1}.debug-filter-btns,.debug-context-filters{display:flex;gap:4px;flex-wrap:wrap}.debug-filter{padding:6px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#94a3b8;font-size:.75rem;cursor:pointer;transition:all .2s}.debug-filter.small{padding:4px 8px;font-size:.7rem}.debug-filter:hover{background:#ffffff1a;color:#f1f5f9}.debug-filter.active{background:#6366f133;border-color:#6366f1;color:#a5b4fc}.debug-logs{flex:1;min-height:200px;max-height:350px;overflow-y:auto;background:#0003;border-radius:8px;padding:8px;font-family:Fira Code,Consolas,monospace;font-size:.75rem}.debug-log-entry{display:flex;gap:8px;padding:4px 6px;border-radius:4px;margin-bottom:2px}.debug-log-entry:hover{background:#ffffff0d}.log-time{color:#64748b;min-width:35px}.log-level{min-width:20px}.log-msg{flex:1;word-break:break-all}.debug-log-error{color:#fca5a5;background:#ef44441a}.debug-log-warn{color:#fcd34d;background:#f59e0b1a}.debug-log-info{color:#93c5fd}.debug-log-debug{color:#94a3b8}.debug-stats{display:flex;justify-content:space-between;font-size:.75rem;color:#64748b;padding-top:8px}.debug-section{background:#ffffff08;border-radius:8px;padding:12px}.debug-section h4{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:#94a3b8;margin:0 0 10px}.debug-ai-stats,.debug-state-info{display:flex;flex-direction:column;gap:6px}.debug-stat-row{display:flex;justify-content:space-between;font-size:.85rem}.debug-stat-row span:first-child{color:#94a3b8}.debug-stat-row span:last-child{color:#f1f5f9;font-weight:600}.debug-buttons{display:flex;flex-wrap:wrap;gap:6px}.debug-buttons button,.debug-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#f1f5f9;padding:8px 12px;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s}.debug-buttons button:hover,.debug-btn:hover{background:#6366f133;border-color:#6366f1;transform:translateY(-1px)}.debug-btn.small{padding:4px 8px;font-size:.75rem}.debug-code{background:#0000004d;padding:10px;border-radius:6px;font-family:Fira Code,monospace;font-size:.7rem;color:#94a3b8;overflow-x:auto;white-space:pre;margin:0}.promotion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:20px;perspective:1000px}.promotion-option{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:15px;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.promotion-option:hover{background:#ffffff26;border-color:var(--accent-primary, #6366f1);transform:translateY(-5px) scale(1.05);box-shadow:0 10px 20px #0003,0 0 15px #6366f166}.promotion-option:before{content:"";position:absolute;top:50%;left:50%;width:60px;height:60px;background:radial-gradient(circle,rgba(99,102,241,.6) 0%,transparent 70%);transform:translate(-50%,-50%) scale(0);transition:transform .3s ease;z-index:0}.promotion-option:hover:before{transform:translate(-50%,-50%) scale(1.5)}.promotion-option .piece-svg{width:60px;height:60px;position:relative;z-index:1;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}.promotion-option .piece-name{margin-top:10px;font-family:Outfit,sans-serif;font-weight:600;color:var(--text-main, #fff);font-size:.9rem;position:relative;z-index:1}.promotion-option .piece-cost{font-size:.75rem;color:var(--text-muted, #94a3b8);margin-top:4px}#promotion-overlay .modal-content{background:#0f172af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;max-width:600px;width:90%}#promotion-overlay h2{text-align:center;font-size:1.8rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(255,255,255,.1)}.ghost-piece{position:absolute;pointer-events:none;opacity:.4;transition:opacity .5s ease-out,transform .5s ease-out;z-index:5;filter:sepia(100%) hue-rotate(190deg) saturate(300%) opacity(.5)}.ghost-piece.fade-out{opacity:0;transform:scale(.8)}@keyframes kingFlash{0%{box-shadow:inset 0 0 0 0 transparent}20%{box-shadow:inset 0 0 50px 20px #ef444499;background-color:#ef444433}to{box-shadow:inset 0 0 0 0 transparent}}.cell.king-check-flash{animation:kingFlash .8s ease-out}@keyframes kingMateFlash{0%{box-shadow:inset 0 0 0 0 transparent}50%{box-shadow:inset 0 0 60px 30px #f00c;background-color:#f006}to{box-shadow:inset 0 0 60px 30px #f00c;background-color:#f006}}.cell.king-mate-flash{animation:kingMateFlash 1.5s ease-in-out infinite alternate}.ai-arrow{position:absolute;height:4px;background:linear-gradient(90deg,#6366f1cc,#fff0);transform-origin:left center;pointer-events:none;z-index:15;border-radius:2px;box-shadow:0 0 10px #6366f180}.ai-arrow:after{content:"";position:absolute;right:-8px;top:-6px;border-left:10px solid rgba(99,102,241,.8);border-top:8px solid transparent;border-bottom:8px solid transparent}.cell.piece-veteran .piece-svg{filter:drop-shadow(0 0 5px rgba(16,185,129,.6))}.cell.piece-veteran:after{content:"★";position:absolute;top:2px;right:2px;font-size:.65rem;color:#10b981;text-shadow:0 0 3px rgba(0,0,0,.8);pointer-events:none;z-index:5}.cell.piece-elite .piece-svg{filter:drop-shadow(0 0 8px rgba(139,92,246,.8))}.cell.piece-elite:after{content:"★★";position:absolute;top:2px;right:2px;font-size:.65rem;color:#8b5cf6;text-shadow:0 0 3px rgba(0,0,0,.8);pointer-events:none;z-index:5}.cell.piece-champion .piece-svg{filter:drop-shadow(0 0 12px rgba(245,158,11,.9));animation:championGlow 2s infinite alternate!important}@keyframes championGlow{0%{filter:drop-shadow(0 0 8px rgba(245,158,11,.6))}to{filter:drop-shadow(0 0 15px rgba(245,158,11,1))}}.cell.piece-champion:before{content:"👑";position:absolute;top:-5px;left:50%;transform:translate(-50%);font-size:.8rem;z-index:10;pointer-events:none}#battle-chess-3d-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none;opacity:0;transition:opacity .5s ease-in-out}#battle-chess-3d-container.active{pointer-events:auto;opacity:1;z-index:20}#battle-chess-3d-container canvas{width:100%!important;height:100%!important;border-radius:4px}#board-wrapper{transition:opacity .3s ease}.debug-panel{position:fixed;right:20px;top:80px;width:350px;max-height:80vh;background:var(--bg-panel);border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000080;z-index:500;overflow:hidden;display:flex;flex-direction:column}.debug-panel.hidden{display:none}.debug-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#6366f11a;border-bottom:1px solid rgba(99,102,241,.2)}.debug-header h3{font-size:1rem;margin:0;color:var(--accent-primary)}.debug-close{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.debug-close:hover{background:#ffffff1a;color:var(--text-main)}.debug-content{padding:1rem;overflow-y:auto;flex:1}.debug-section{margin-bottom:1.5rem}.debug-section h4{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.75rem}.debug-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.debug-buttons button{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:8px 12px;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s;flex:1;min-width:fit-content}.debug-buttons button:hover{background:#ffffff1a;border-color:var(--accent-primary);transform:translateY(-1px)}.debug-logs{background:#0000004d;border-radius:8px;padding:.75rem;max-height:200px;overflow-y:auto;font-family:Courier New,monospace;font-size:.75rem}.debug-log-entry{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.debug-log-info{color:var(--text-muted)}.debug-log-success{color:var(--success)}.debug-log-warning{color:var(--warning)}.debug-log-error{color:var(--danger)}.eval-graph-container{width:100%;height:80px;background:#ffffff0d;border-radius:8px;margin:15px 0;padding:10px;box-sizing:border-box;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:all .3s ease;position:relative}.eval-graph-container:hover{background:#ffffff14;border-color:#fff3}.eval-graph-container.hidden{display:none}#eval-graph{width:100%;height:100%;display:block}.eval-line{fill:none;stroke:url(#eval-gradient);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.eval-area{fill:url(#area-gradient);opacity:.2}.eval-zero-line{stroke:#ffffff4d;stroke-width:1;stroke-dasharray:4,4}.eval-point{fill:#fff;stroke:#4f9cf9;stroke-width:2;cursor:pointer;transition:r .2s}.eval-point:hover{r:6;fill:#4f9cf9}.analysis-panel{position:absolute;right:20px;top:80px;width:280px;background:#0f172ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 12px 24px #00000080;z-index:100;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease;animation:slideInRight .4s ease-out}.analysis-header{padding:12px 16px;background:#ffffff0d;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.analysis-header h3{margin:0;font-size:1rem;color:var(--accent-primary);letter-spacing:.05em;text-transform:uppercase}.analysis-body{padding:16px;display:flex;flex-direction:column;gap:20px}.eval-section{display:flex;align-items:center;gap:12px}.eval-bar-container{flex-grow:1;height:12px;background:#334155;border-radius:6px;overflow:hidden;position:relative}.eval-bar{height:100%;width:50%;background:linear-gradient(90deg,#f87171,#4ade80);transition:width .5s cubic-bezier(.4,0,.2,1)}.eval-score{font-family:Outfit,sans-serif;font-weight:800;font-size:1.1rem;min-width:50px;text-align:right}.eval-score.positive{color:#4ade80}.eval-score.negative{color:#f87171}.top-moves-section h4{margin:0 0 10px;font-size:.85rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.top-moves-list{display:flex;flex-direction:column;gap:8px}.top-move-item{display:flex;flex-direction:column;align-items:stretch;padding:8px 12px;background:#ffffff08;border-radius:8px;cursor:pointer;transition:all .2s ease;gap:4px}.top-move-main{display:flex;justify-content:space-between;align-items:center}.top-move-item:hover{background:#ffffff14;transform:translate(4px)}.top-move-item.best{border-left:3px solid #4ade80;background:#4ade800d}.top-move-notation{font-family:Outfit,sans-serif;font-weight:600;color:#f1f5f9}.top-move-score{font-size:.9rem;color:#94a3b8}.top-move-pv{font-size:.75rem;color:#64748b;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid rgba(255,255,255,.05);padding-top:4px}.analysis-controls{margin-top:10px;display:flex;flex-direction:column;gap:12px}.analysis-info{font-size:.75rem;color:#64748b;text-align:center}.cell.analysis-from{box-shadow:inset 0 0 0 4px #4f9cf999!important}.cell.analysis-to{background-color:#4f9cf966!important}#spinner-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f111ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;justify-content:center;align-items:center;z-index:1000}.ai-thinking-panel{background:var(--bg-panel);border:var(--glass-border);border-radius:20px;padding:2rem;text-align:center;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;align-items:center;gap:16px;min-width:280px}.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.ai-status{display:flex;flex-direction:column;gap:8px;font-size:.9rem;color:var(--text-muted)}.progress-bar-container{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}#progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-primary),var(--success));transition:width .3s ease;border-radius:3px}@media(max-width:640px){.debug-panel{right:0;top:0;width:100%;height:100vh;max-height:100vh;border-radius:0}}#toast-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:10px;z-index:var(--z-overlay);pointer-events:none}@media(max-width:640px){#toast-container{bottom:5rem;right:50%;transform:translate(50%);width:90%;align-items:center}}.toast-notification{pointer-events:auto;background:#0f172af2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);padding:12px 16px;border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;align-items:center;gap:12px;min-width:300px;max-width:400px;color:var(--text-main);font-size:.95rem;animation:toastSlideIn .4s cubic-bezier(.16,1,.3,1);transition:all .3s ease;overflow:hidden;position:relative}.toast-notification.hiding{animation:toastFadeOut .3s ease forwards}.toast-notification:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.toast-success:before{background-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error:before{background-color:var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-warning:before{background-color:var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info:before{background-color:var(--accent-primary)}.toast-info .toast-icon{color:var(--accent-primary)}.toast-icon{display:flex;align-items:center;justify-content:center;font-size:1.2rem}.toast-content{flex:1;display:flex;flex-direction:column}.toast-title{font-weight:700;font-size:.9rem;margin-bottom:2px}.toast-message{font-size:.85rem;color:var(--text-muted)}.toast-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;margin-left:8px;opacity:.7;transition:opacity .2s}.toast-close:hover{opacity:1;color:var(--text-main)}.critical-error-content{text-align:center;max-width:500px;border:1px solid var(--danger)!important;box-shadow:0 0 40px #f8717133!important}.error-icon-large{font-size:3rem;color:var(--danger);margin-bottom:1rem}.error-title{font-size:1.5rem;font-weight:800;margin-bottom:.5rem;color:var(--text-main)}.error-description{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.5}.error-details-box{background:#0000004d;padding:1rem;border-radius:8px;text-align:left;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--danger);overflow:auto;max-height:150px;margin-bottom:1.5rem;border:1px solid rgba(248,113,113,.2)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastFadeOut{to{opacity:0;transform:translate(20px);height:0;margin:0;padding:0}}#main-menu{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9000;background:radial-gradient(circle at 50% 50%,#0f172af2,#020617);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;opacity:0;pointer-events:none;transition:opacity .4s ease}#main-menu.active{opacity:1;pointer-events:all}.menu-container{display:flex;width:100%;height:100%;max-width:1200px;margin:0 auto;padding:2rem;gap:2rem}@media(max-width:768px){.menu-container{flex-direction:column;padding:1rem;gap:1rem}}.menu-sidebar{width:250px;display:flex;flex-direction:column;padding:2rem 0;border-right:1px solid rgba(255,255,255,.1)}.menu-logo{font-family:Outfit,sans-serif;font-size:2rem;font-weight:800;margin-bottom:3rem;background:linear-gradient(135deg,#fff,#94a3b8);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:.5rem}.menu-nav{display:flex;flex-direction:column;gap:.5rem}.menu-tab-btn{background:transparent;border:none;text-align:left;padding:1rem 1.5rem;color:var(--text-muted);font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600;cursor:pointer;border-radius:12px;transition:all .2s ease;display:flex;align-items:center;gap:1rem}.menu-tab-btn:hover{color:#fff;background:#ffffff0d;transform:translate(5px)}.menu-tab-btn.active{color:#fff;background:linear-gradient(90deg,rgba(59,130,246,.15),transparent);border-left:3px solid var(--accent-primary)}.menu-content-area{flex:1;padding:2rem;overflow-y:auto;position:relative}.menu-view{display:none;animation:fadeInSlide .4s ease forwards}.menu-view.active{display:block}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gamemode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.gamemode-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2rem;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;text-align:left;display:flex;flex-direction:column;gap:1rem}.gamemode-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top right,rgba(255,255,255,.05),transparent 60%);opacity:0;transition:opacity .3s}.gamemode-card:hover{transform:translateY(-8px);background:#ffffff0f;border-color:#fff3;box-shadow:0 10px 30px #0000004d}.gamemode-card:hover:before{opacity:1}.card-icon{font-size:2.5rem;margin-bottom:.5rem;filter:drop-shadow(0 0 10px rgba(255,255,255,.2))}.card-title{font-size:1.4rem;font-weight:700;color:#fff}.card-desc{font-size:.9rem;color:var(--text-muted);line-height:1.5}.card-tag{align-self:flex-start;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tag-new{background:#22c55e33;color:#4ade80}.tag-hot{background:#f9731633;color:#fb923c}.tag-pro{background:#a855f733;color:#c084fc}.section-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:#fff}.section-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:1.1rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.setting-group{background:#0003;padding:1.5rem;border-radius:16px;border:1px solid rgba(255,255,255,.05)}.setting-group h3{color:var(--accent-primary);margin-bottom:1rem;font-size:1.1rem}#tutorial-overlay:not(.hidden){display:flex}.tutorial-content{width:95%;max-width:600px;max-height:90vh;background:var(--glass-bg);border:var(--glass-border-bright);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);display:flex;flex-direction:column;box-shadow:0 20px 50px #00000080;overflow:hidden;animation:slideUpFade .5s var(--transition-bounce) forwards}.tutorial-body{padding:2.5rem;overflow-y:auto;flex-grow:1}.tutorial-step{display:none}.tutorial-step.active{display:block;animation:fadeIn .4s ease forwards}.tutorial-step h2{font-size:2rem;margin-bottom:1.5rem;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tutorial-step p{color:var(--text-muted);line-height:1.6;margin-bottom:1rem;font-size:1.1rem}.tutorial-step ul,.tutorial-step ol{margin-left:1.5rem;margin-bottom:1rem;color:var(--text-muted)}.tutorial-step li{margin-bottom:.5rem}.piece-demo{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:1.5rem;margin:1.5rem 0;text-align:center}.piece-demo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;width:250px;height:250px;margin:1.5rem auto;border:4px solid var(--bg-board-dark);border-radius:var(--radius-sm);background:var(--bg-board-dark)}.demo-cell{width:100%;padding-top:100%;position:relative;display:flex;align-items:center;justify-content:center}.demo-cell.light{background-color:var(--bg-board-light)}.demo-cell.dark{background-color:var(--bg-board-dark)}.demo-cell>div{position:absolute;top:0;left:0;width:100%;height:100%}.piece-position{z-index:2;filter:drop-shadow(0 0 5px rgba(0,0,0,.5))}.move-indicator{position:absolute;width:60%;height:60%;top:20%;left:20%;border-radius:50%;z-index:1}.move-indicator.knight-move{background-color:#48f9}.move-indicator.bishop-move,.move-indicator.rook-move{background-color:#4ecca399}.tutorial-footer{padding:1.5rem 2.5rem;background:#0000004d;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}.tutorial-controls{display:flex;gap:1rem}.close-icon-btn{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--text-dim);font-size:2rem;cursor:pointer;z-index:10;transition:color .2s ease}.close-icon-btn:hover{color:var(--text-main)}@media(max-width:600px){.tutorial-content{width:100%;height:100%;border-radius:0}.tutorial-step h2{font-size:1.5rem}.piece-demo-grid{width:200px;height:200px}}.skin-infernale .piece-svg{animation:burn 1.5s infinite alternate ease-in-out;filter:drop-shadow(0 0 2px #ff4500)}@keyframes burn{0%{filter:drop-shadow(0 0 2px #ff4500) drop-shadow(0 0 3px #ff8c00);transform:scale(1)}50%{filter:drop-shadow(0 -1px 3px #ff0000) drop-shadow(0 -2px 5px #ffcc00);transform:scale(1.02) translateY(-1px)}to{filter:drop-shadow(0 -2px 4px #ff4500) drop-shadow(0 -3px 6px #ffa500);transform:scale(1.01) translateY(-.5px)}}.skin-frost .piece-svg{animation:freeze 3s infinite alternate ease-in-out;filter:drop-shadow(0 0 3px #00e5ff)}@keyframes freeze{0%{filter:drop-shadow(0 0 2px #00e5ff) brightness(1.1);transform:scale(1)}50%{filter:drop-shadow(0 0 5px #00bcd4) brightness(1.3);transform:scale(1.01) translateY(1px)}to{filter:drop-shadow(0 0 3px #00e5ff) brightness(1.1);transform:scale(1)}}.skin-neon .piece-svg{animation:neon-flicker 4s infinite alternate}.skin-neon .piece-white .piece-svg{filter:drop-shadow(0 0 5px #00ff88) drop-shadow(0 0 10px #00ffff)}.skin-neon .piece-black .piece-svg{filter:drop-shadow(0 0 5px #ff00ff) drop-shadow(0 0 10px #ff0088)}@keyframes neon-flicker{0%,19%,21%,23%,25%,54%,56%,to{opacity:1;filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor)}20%,24%,55%{opacity:.8;filter:none}}
