.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;font-size:7px;cursor:default}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;font-size:7px;cursor:default}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;font-size:7px;cursor:default}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;font-size:7px;cursor:default}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;font-size:7px;cursor:default}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;font-size:7px;cursor:default}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;font-size:7px;cursor:default}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.chessboard-theme-default .board .square.white{fill:var(--board-light, #2b3140)}.chessboard-theme-default .board .square.black{fill:var(--board-dark, #1b1f2b)}.chessboard-theme-default .coordinates{fill:var(--text-muted, rgba(255, 255, 255, .5));font-family:Inter,sans-serif;font-weight:600}.chessboard-theme-tournament .board .square.white{fill:#f0d9b5}.chessboard-theme-tournament .board .square.black{fill:#b58863}.chessboard-theme-tournament .coordinates{fill:#0009;font-family:Inter,sans-serif}.chessboard-theme-ocean .board .square.white{fill:#dee3e6}.chessboard-theme-ocean .board .square.black{fill:#8ca2ad}.chessboard-theme-ocean .coordinates{fill:#00000080;font-family:Inter,sans-serif}.chessboard-theme-purple .board .square.white{fill:#e8d5e8}.chessboard-theme-purple .board .square.black{fill:#8b5cf6}.chessboard-theme-purple .coordinates{fill:#ffffffb3;font-family:Inter,sans-serif}.chessboard-theme-midnight .board .square.white{fill:#3d4f5f}.chessboard-theme-midnight .board .square.black{fill:#1e2a35}.chessboard-theme-midnight .coordinates{fill:#ffffff80;font-family:Inter,sans-serif}.chessboard-theme-graphite .board .square.white{fill:#4a4a4a}.chessboard-theme-graphite .board .square.black{fill:#2a2a2a}.chessboard-theme-graphite .coordinates{fill:#ffffff80;font-family:Inter,sans-serif}.cm-chessboard .move-hint{fill:var(--board-hint, rgba(99, 102, 241, .6));pointer-events:none}.cm-chessboard .last-move{fill:var(--board-last-move, rgba(139, 92, 246, .3))}.cm-chessboard .check{fill:var(--board-check, rgba(239, 68, 68, .5))}.cm-chessboard .selected{fill:var(--board-highlight, rgba(99, 102, 241, .4))}.cm-chessboard .correct-move{fill:#22c55e80;animation:pulse-correct .5s ease-out}.cm-chessboard .incorrect-move{fill:#ef444480;animation:shake .3s ease-out}.cm-chessboard .dragging{cursor:grabbing;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.cm-chessboard .piece{cursor:grab;transition:transform .1s ease}.cm-chessboard .piece:hover{transform:scale(1.05)}.cm-chessboard .promotion-dialog{background:var(--glass-bg, rgba(255, 255, 255, .05));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:var(--radius-md, 12px);box-shadow:0 8px 32px #0000004d}.cm-chessboard .promotion-dialog .piece{cursor:pointer;padding:8px;border-radius:8px;transition:background .2s ease}.cm-chessboard .promotion-dialog .piece:hover{background:#6366f14d}@keyframes pulse-correct{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes move-piece{0%{opacity:.8}to{opacity:1}}.chessboard-container{position:relative;width:100%;max-width:600px;aspect-ratio:1;background:var(--glass-bg, rgba(255, 255, 255, .05));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:var(--radius-lg, 16px);padding:8px;box-shadow:0 8px 32px #0003}.chessboard-container.interactive{cursor:default}.chessboard-container.disabled{pointer-events:none;opacity:.7}.chessboard-container.loading:after{content:"";position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;border-radius:inherit}@media(max-width:768px){.chessboard-container{max-width:100%;padding:4px;border-radius:var(--radius-md, 12px)}.cm-chessboard .piece{touch-action:none}}.puzzle-feedback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.puzzle-feedback.correct .feedback-icon{color:#22c55e;animation:scale-in .3s ease-out}.puzzle-feedback.incorrect .feedback-icon{color:#ef4444;animation:shake .3s ease-out}.puzzle-feedback .feedback-icon{font-size:64px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}@keyframes scale-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a24;--bg-card: rgba(255, 255, 255, .03);--bg-card-hover: rgba(255, 255, 255, .06);--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-tertiary: #a855f7;--accent-cyan: #06b6d4;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--board-light: #2b3140;--board-dark: #1b1f2b;--board-highlight: rgba(99, 102, 241, .4);--board-hint: rgba(99, 102, 241, .6);--board-last-move: rgba(139, 92, 246, .3);--board-check: rgba(239, 68, 68, .5);--board-correct: rgba(34, 197, 94, .5);--board-incorrect: rgba(239, 68, 68, .5);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}img{max-width:100%;height:auto}.container{max-width:1400px;margin:0 auto;padding:0 var(--space-xl)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:all var(--transition-base);cursor:pointer;border:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #6366f166}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #6366f180;color:#fff}.btn-secondary{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:translateY(-3px)}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.card:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 20px 40px #6366f126}.section{padding:var(--space-4xl) 0}.section-header{text-align:center;margin-bottom:var(--space-4xl)}.section-label{display:inline-block;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;margin-bottom:var(--space-sm)}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:var(--space-md);letter-spacing:-.02em}.section-subtitle{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}select{color:var(--text-primary);background-color:var(--bg-tertiary)}select option{background-color:var(--bg-tertiary);color:var(--text-primary)}@supports (-moz-appearance: none){select option{background-color:#1a1a24;color:#fff}}@media screen and (-webkit-min-device-pixel-ratio:0){select{background-color:var(--bg-tertiary)}select option{background-color:#1a1a24;color:#fff}}
