:root{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #4CAF50;--text-light: #ffffff;--text-dark: #333333;--bg-light: #ecf0f1;--header-h: 60px;--footer-h: 50px;--controls-h: 70px;--sidebar-w: min(300px, 80vw)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#000}body.loading{visibility:hidden}body.loaded{visibility:visible}select{background-color:#2a2a2a;color:#fff}#app-shell{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100dvh;width:100vw;background-color:#1a1a1a}#main-column{width:100%;max-width:600px;height:100dvh;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:0 0 50px #00000080;border-radius:4px}#main-header{height:var(--header-h);background-color:var(--primary-color);color:var(--text-light);display:flex;justify-content:space-between;align-items:center;padding:0 20px;position:relative;z-index:1001;flex-shrink:0}#hamburger-btn{background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:space-around;width:40px;height:32px;padding:4px}#hamburger-btn .bar{width:100%;height:4px;background-color:var(--text-light);border-radius:2px}#pre-game-controls{display:flex;gap:10px;align-items:center}.app-title{font-size:1.2rem;font-weight:600}#main-viewport{flex:1;display:flex;flex-direction:column;position:relative;width:100%;overflow:hidden;background-color:var(--primary-color)}#board-container{flex:1;min-height:0;width:100%;display:flex;justify-content:center;align-items:center;padding:4px;position:relative}#main-board{width:min(100%,100vh - var(--header-h) - var(--footer-h) - var(--controls-h) - 40px);height:min(100%,100vh - var(--header-h) - var(--footer-h) - var(--controls-h) - 40px);max-width:100%;max-height:100%;aspect-ratio:1/1;display:block;margin:0 auto}#horizontal-eval-container{width:100%;height:30px;background:#000;position:relative;display:flex;align-items:center;justify-content:center;border-top:1px solid #1a1a1a;flex-shrink:0}#eval-bar-fill{position:absolute;left:0;top:0;height:100%;background:#fff;width:50%;transition:width .3s ease}#eval-text{position:relative;z-index:10;color:#fff;font-weight:700;font-size:.9rem;mix-blend-mode:difference}#loading-indicator{width:100%;height:30px;background:#000;display:flex;align-items:center;padding:0 10px;flex-shrink:0;margin-top:-30px;z-index:1000;position:relative;overflow:hidden}.progress-bar-fill{width:30%;height:4px;background-color:var(--accent-color);box-shadow:0 0 10px var(--accent-color);position:absolute;left:-30%;animation:loading-slide 1.5s linear infinite;border-radius:2px}@keyframes loading-slide{0%{left:-30%}to{left:100%}}#main-footer{height:var(--footer-h);background-color:var(--primary-color);color:var(--text-light);display:flex;align-items:center;padding:0 20px;position:relative;z-index:1001;flex-shrink:0}#status-message-area{width:100%;display:flex;align-items:center}#status-text{font-size:.95rem;color:var(--text-light)}#board-controls-slot{width:100%;min-height:var(--controls-h);display:flex;justify-content:center;align-items:center;padding:5px;background-color:var(--primary-color);flex-shrink:0}#game-controls-wrapper{display:flex;gap:15px;width:100%;max-width:500px;justify-content:center}.footer-action-btn{flex:1;max-width:160px;padding:12px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;box-shadow:0 2px 5px #0003;transition:transform .1s,background-color .2s;font-size:.9rem;color:#fff;background:#555}.footer-action-btn:hover{transform:translateY(-2px)}.footer-action-btn:active{transform:translateY(0)}#undo-btn{background-color:#555}#undo-btn:hover{background-color:#4a6fa5}#hint-btn{background-color:#555}#hint-btn:hover{background-color:#6b8248}#resign-btn{background-color:#555}#resign-btn:hover{background-color:#a04444}.btn-danger{background-color:#e74c3c}.btn-danger:hover{background-color:#c0392b}.btn-analysis{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;min-width:150px}.btn-analysis:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98)}.nav-group{display:flex;gap:5px;justify-content:center;width:100%}.nav-btn{flex:1;max-width:80px;padding:12px;border:none;border-radius:6px;font-weight:600;cursor:pointer;background:#5dade2;color:#fff;font-size:1rem;box-shadow:0 2px 5px #0003;transition:all .2s}.nav-btn:hover{background:#3498db;transform:translateY(-2px)}.nav-btn:active{transform:translateY(0)}.nav-btn:disabled{background:#95a5a6;cursor:not-allowed;opacity:.5}.btn-primary,#btn-new-game-quick{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;min-width:140px}.btn-primary:hover,#btn-new-game-quick:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px)}.btn-primary:active,#btn-new-game-quick:active{transform:translateY(0)}#main-sidebar{position:absolute;top:0;bottom:0;left:calc(-1 * var(--sidebar-w));width:var(--sidebar-w);background-color:#242424;color:#e0e0e0;z-index:1000;display:flex;flex-direction:column;overflow:hidden;visibility:hidden;box-shadow:5px 0 15px #00000080;transition:transform .3s ease}#main-sidebar.open{transform:translate(var(--sidebar-w));visibility:visible;box-shadow:5px 0 25px #0000004d}#report-center{position:absolute;inset:0;background:#1a1a1a;z-index:500;overflow-y:auto;padding:20px;color:#e0e0e0}#report-center.hidden{display:none}.puzzle-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:3000;animation:fadeIn .2s ease}.puzzle-modal-content{background:#2c3e50;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease}.puzzle-header{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #34495e}.puzzle-header h3{color:#ecf0f1;font-size:1.3rem;margin:0}.puzzle-body{color:#ecf0f1;margin-bottom:24px}.puzzle-description{font-size:1.1rem;margin-bottom:12px;color:#bdc3c7}.puzzle-hint{background:#e74c3c33;padding:12px;border-radius:6px;margin-bottom:12px;border-left:4px solid #e74c3c}.puzzle-hint strong{color:#e74c3c;font-size:1.1rem}.puzzle-challenge{font-size:1.15rem;font-weight:600;color:#3498db;text-align:center;margin-top:16px}.puzzle-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.puzzle-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.95rem;transition:all .2s;flex:1;min-width:100px;color:#fff}.puzzle-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.puzzle-btn:active{transform:translateY(0)}.puzzle-session-header{display:flex;align-items:center;width:100%;gap:8px;padding:4px 0}.puzzle-info-bar{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap;font-size:.82rem;color:#ccc}.puzzle-theme-badge{background:#4caf5026;color:var(--accent-color);padding:2px 8px;border-radius:4px;font-weight:600;font-size:.78rem;white-space:nowrap}.puzzle-counter{font-weight:700;color:#fff}.puzzle-rating{color:#999;font-size:.78rem}.puzzle-remaining{color:#f39c12;font-size:.75rem}.puzzle-stats-bar{display:flex;gap:10px;font-size:.85rem;flex-shrink:0}.stat-solved{color:#4caf50;font-weight:600}.stat-failed{color:#e74c3c;font-weight:600}.puzzle-exit-btn{padding:8px 16px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.85rem;color:#fff;background:#e74c3c;transition:all .2s;flex-shrink:0;margin-left:auto}.puzzle-exit-btn:hover{background:#c0392b;transform:translateY(-1px)}.modal-btn-inline{padding:8px 20px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;color:#fff;background:#555;transition:all .2s;margin-top:12px}.modal-btn-inline:hover{background:#666;transform:translateY(-1px)}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn-hint{background:#f39c12;color:#fff}.btn-hint:hover{background:#e67e22}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}#wizard-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:2000}.wizard-content{background:#262421;padding:2rem;border-radius:8px;text-align:center;color:#fff}.wizard-btn{padding:1rem 2rem;margin:1rem;cursor:pointer;font-size:1.2rem;border:none;border-radius:4px}#select-white{background:#eee;color:#333}#select-black{background:#333;color:#eee;border:1px solid #555}.animate-fade-in{animation:fadeIn .3s ease-in}.cm-chessboard svg g.arrows g.arrow line.arrow-line,.cm-chessboard svg g.arrow-success line.arrow-line,.cm-chessboard svg line[class*=arrow-line],svg.cm-chessboard line.arrow-line{stroke:#4caf50!important;stroke-width:12px!important;stroke-opacity:1!important}.cm-chessboard svg marker use,.cm-chessboard svg marker[id^=arrow-] use,.cm-chessboard svg .arrow-head use,.cm-chessboard svg defs marker use{fill:#4caf50!important;stroke:#4caf50!important}#arrowDefault,svg #arrowDefault,.cm-chessboard svg #arrowDefault{fill:#4caf50!important}.cm-chessboard svg g.arrow-primary line.arrow-line{stroke:#2196f3!important}.cm-chessboard svg marker[id*=primary] use{fill:#2196f3!important;stroke:#2196f3!important}.cm-chessboard svg g.arrow-danger line.arrow-line{stroke:#f44336!important}.cm-chessboard .marker.marker-frame{stroke:#f44!important;stroke-width:8px!important;fill:none!important;opacity:.9!important;pointer-events:none}.cm-chessboard .marker.marker-square{fill:#ffeb3b4d!important;stroke:none!important;opacity:1!important;pointer-events:none}@keyframes pulse-threat{0%,to{opacity:.9}50%{opacity:.6}}.cm-chessboard .marker.marker-frame.pulse{animation:pulse-threat 2s ease-in-out infinite}.hidden{display:none!important}@media(max-width:600px){:root{--header-h: 60px;--footer-h: 50px;--controls-h: 70px}#main-column{justify-content:center}#main-viewport{flex:0 1 auto}#main-header{padding:0 10px}#main-board{width:100%;max-width:100vw}#main-sidebar{height:100%}.puzzle-modal-content{padding:20px;max-width:95%}.puzzle-actions{flex-direction:column}.puzzle-btn{width:100%}}@media(min-width:768px){#main-column{max-width:min(800px,100vh);width:100%}}#sidebar-slot{height:100%;width:100%}.sidebar-wrapper{height:100%;width:100%;overflow:hidden;display:flex;flex-direction:column}.tab-content{flex:1;overflow-y:scroll;padding:15px;scrollbar-width:thin;scrollbar-color:var(--accent-color) #242424;min-height:0;flex-basis:0}.tab-content::-webkit-scrollbar{width:6px}.tab-content::-webkit-scrollbar-track{background:#1a1a1a}.tab-content::-webkit-scrollbar-thumb{background-color:#444;border-radius:10px}.sidebar-tabs{display:flex;border-bottom:1px solid #3d3d3d;background-color:#1a1a1a}.tab-btn{flex:1;padding:12px 5px;cursor:pointer;border:none;background:transparent;color:#888;transition:all .2s;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.tab-btn:hover:not(.active){color:#bbb;background:#2a2a2a}.tab-btn.active{background:#242424;color:var(--accent-color);border-bottom:3px solid var(--accent-color);font-weight:700}.panel{display:none;height:auto;padding:15px}.panel.active{display:block}.panel h3{font-size:1.1rem;margin-bottom:20px;color:var(--accent-color);border-bottom:1px solid #3d3d3d;padding-bottom:10px}.setting-item{margin-bottom:20px;padding-bottom:10px}input[type=range]{accent-color:var(--accent-color);width:100%}.mode-btn{width:100%;padding:12px;margin-bottom:8px;cursor:pointer;text-align:left;border:1px solid #3d3d3d;background:#2a2a2a;color:#e0e0e0;border-radius:4px;transition:background .2s}.mode-btn:hover{background:#383838;border-color:var(--accent-color)}.sidebar-separator{margin:15px 0;border-top:1px solid #3d3d3d}.btn-danger{background-color:#c62828!important;color:#fff!important}.btn-danger:hover{background-color:#e53935!important;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:3000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay.fade-out{animation:fadeOut .2s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.modal-box{background:#2a2a2a;border-radius:12px;box-shadow:0 8px 32px #00000080;max-width:450px;width:90%;overflow:hidden;border:1px solid #3d3d3d}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{background:linear-gradient(135deg,#2c3e50,#34495e);padding:20px 24px;border-bottom:2px solid var(--accent-color)}.modal-header h3{margin:0;color:#fff;font-size:1.3rem;font-weight:600}.modal-body{padding:24px;color:#e0e0e0;line-height:1.6}.modal-body p{margin:0;font-size:1rem}.modal-footer{padding:16px 24px;background:#1a1a1a;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #3d3d3d}.modal-btn{padding:10px 20px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.95rem;transition:all .2s;min-width:100px}.modal-btn-inline{padding:10px 20px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.95rem;transition:all .2s;min-width:100px;display:inline;margin-top:10px}.modal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.modal-btn:active{transform:translateY(0)}.modal-btn.btn-primary{background:var(--accent-color);color:#fff}.modal-btn.btn-primary:hover{background:#45a049}.modal-btn.btn-secondary{background:#555;color:#fff}.modal-btn.btn-secondary:hover{background:#666}.modal-btn.btn-danger{background:#e74c3c;color:#fff}.modal-btn.btn-danger:hover{background:#c0392b}@media(max-width:600px){.modal-box{max-width:95%;margin:20px}.modal-header{padding:16px 20px}.modal-header h3{font-size:1.1rem}.modal-body{padding:20px}.modal-footer{padding:12px 20px;flex-direction:column}.modal-btn{width:100%}}.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}.cm-chessboard .marker.danger{stroke:#f00c;fill:#f003}.cm-chessboard:not(.coordinates) .coordinate{display:none!important}.cm-chessboard .coordinate{font-family:sans-serif;font-weight:700;pointer-events:none}.cm-chessboard.wood .square.white{fill:#f0d9b5!important}.cm-chessboard.wood.border-type-frame .border,.cm-chessboard.wood .square.black,.cm-chessboard.wood.border-type-frame .border-inner{fill:#b58863!important}.cm-chessboard.wood .coordinate,.cm-chessboard.wood .coordinate.black{fill:#f0d9b5!important}.cm-chessboard.green .square.white,.cm-chessboard.green.border-type-frame .border{fill:#e0ddcc!important}.cm-chessboard.green .square.black,.cm-chessboard.green.border-type-frame .border-inner,.cm-chessboard.green .coordinate{fill:#4c946a!important}.cm-chessboard.green .coordinate.black{fill:#e0ddcc!important}.cm-chessboard.blue .square.white,.cm-chessboard.blue.border-type-frame .border{fill:#d8ecfb!important}.cm-chessboard.blue .square.black,.cm-chessboard.blue.border-type-frame .border-inner,.cm-chessboard.blue .coordinate{fill:#86afcf!important}.cm-chessboard.blue .coordinate.black{fill:#d8ecfb!important}.cm-chessboard.chess-club .square.white{fill:#e6d3b1!important}.cm-chessboard.chess-club .square.black,.cm-chessboard.chess-club.border-type-frame .border-inner{fill:#af6b3f!important}.cm-chessboard.chess-club.border-type-frame .border{fill:#692e2b!important}.cm-chessboard.chess-club .coordinate{fill:#af6b3f!important}.cm-chessboard.chess-club .coordinate.black{fill:#e6d3b1!important}.cm-chessboard.black-and-white .square.white,.cm-chessboard.black-and-white.border-type-frame .border{fill:#fff!important}.cm-chessboard.black-and-white .square.black,.cm-chessboard.black-and-white.border-type-frame .border-inner,.cm-chessboard.black-and-white .coordinate{fill:#9c9c9c!important}.cm-chessboard.black-and-white .coordinate.black{fill:#fff!important}.cm-chessboard.default .square.white,.cm-chessboard.default.border-type-frame .border{fill:#ecdab9!important}.cm-chessboard.default .square.black,.cm-chessboard.default.border-type-frame .border-inner,.cm-chessboard.default .coordinate{fill:#c5a076!important}.cm-chessboard.default .coordinate.black,.cm-chessboard.default-contrast .square.white,.cm-chessboard.default-contrast.border-type-frame .border{fill:#ecdab9!important}.cm-chessboard.default-contrast .square.black{fill:#c5a076!important}.cm-chessboard.default-contrast.border-type-frame .border-inner,.cm-chessboard.default-contrast .coordinate{fill:#333!important}.cm-chessboard.default-contrast .coordinate.black{fill:#ecdab9!important}.cm-chessboard.grey .square.white,.cm-chessboard.grey.border-type-frame .border{fill:#e0e0e0!important}.cm-chessboard.grey .square.black,.cm-chessboard.grey.border-type-frame .border-inner,.cm-chessboard.grey .coordinate{fill:#707070!important}.cm-chessboard.grey .coordinate.black{fill:#e0e0e0!important}.cm-chessboard.orange .square.white,.cm-chessboard.orange.border-type-frame .border{fill:#ffce9e!important}.cm-chessboard.orange .square.black,.cm-chessboard.orange.border-type-frame .border-inner,.cm-chessboard.orange .coordinate{fill:#d18b47!important}.cm-chessboard.orange .coordinate.black{fill:#ffce9e!important}.analysis-full-wrapper{max-width:800px;margin:0 auto;color:#e0e0e0}.summary-header{margin-bottom:5px;text-align:center}.summary-header h2{color:#4caf50;font-size:1.8rem;margin-bottom:20px}.metrics{display:flex;gap:20px;justify-content:center}.metric-card{background:#2a2a2a;border-radius:8px;border:1px solid #3d3d3d}.metric-card span{display:inline-block;color:#4caf50;font-size:.85rem;margin-bottom:5px;padding-right:5px}.metric-card strong{display:inline-block;color:red}.move-list-scrollable{max-height:400px;overflow-y:auto;margin-bottom:5px;border:1px solid #3d3d3d;border-radius:8px}.analysis-table{width:100%;border-collapse:collapse;background:#242424}.analysis-table thead{background:#2c3e50;position:sticky;top:0;z-index:10}.analysis-table th{padding:12px;text-align:left;color:#fff;font-weight:600;border-bottom:2px solid #4CAF50}.analysis-table td{padding:10px 12px;border-bottom:1px solid #333;color:#e0e0e0}.analysis-table tbody tr{cursor:pointer;transition:background .2s}.analysis-table tbody tr:hover{background:#2a2a2a}.badge-quality{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:600}.move-quality-excellent{background:#4caf50;color:#fff}.move-quality-good{background:#8bc34a;color:#fff}.move-quality-inaccuracy{background:#ffc107;color:#333}.move-quality-mistake{background:#ff9800;color:#fff}.move-quality-blunder{background:#f44336;color:#fff}.move-quality-book{background:#9c27b0;color:#fff}.move-quality-initial{background:#607d8b;color:#fff}.cta-buttons{display:flex;gap:15px;justify-content:center}.btn-review,.btn-practice-main{padding:12px 30px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:1rem;transition:all .2s}.btn-review{background:#5dade2;color:#fff}.btn-review:hover{background:#3498db;transform:translateY(-2px)}.btn-practice-main{background:#e74c3c;color:#fff}.btn-practice-main:hover{background:#c0392b;transform:translateY(-2px)}.suggested-move-text{color:#4caf50;font-weight:600}.cm-chessboard .markers{pointer-events:none}.cm-chessboard .markers .marker.marker-frame{stroke:#000;stroke-width:1.8px;opacity:.5}.cm-chessboard .markers .marker.marker-frame-primary,.cm-chessboard .markers .marker.marker-frame-info{stroke:#00f;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-danger{stroke:red;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-warning{stroke:orange;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-circle{stroke:#000;stroke-width:3px;opacity:.3}.cm-chessboard .markers .marker.marker-circle-primary,.cm-chessboard .markers .marker.marker-circle-info{stroke:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-info-filled{stroke:#00f;fill:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger{stroke:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger-filled{stroke:red;fill:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning{stroke:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning-filled{stroke:orange;fill:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success{stroke:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success-filled{stroke:green;fill:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-square{fill:#000;opacity:.11}.cm-chessboard .markers .marker.marker-dot,.cm-chessboard .markers .marker.marker-bevel{fill:#000;opacity:.2}.notation-target-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:8em;font-weight:700;color:#e0e0e0;background:#1e1e1ef2;padding:40px 60px;border-radius:20px;box-shadow:0 10px 40px #00000080;border:1px solid #3d3d3d;z-index:1000;pointer-events:none;opacity:0;transition:opacity .3s ease-out}.notation-target-overlay.visible{opacity:1}.notation-target-overlay.fading{opacity:0}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.target-display{font-size:1.5em;font-weight:700;color:#e0e0e0;padding:10px 20px;background:#ffffff14;border-radius:8px;border:1px solid #3d3d3d;min-width:60px;text-align:center;box-shadow:0 2px 8px #0000004d}.training-header-info{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:600px;margin:0 auto}.stats-display{display:flex;gap:15px;font-size:1.1em}.stats-display span{display:flex;align-items:center;gap:5px}.exit-btn{background:#e74c3c;color:#fff;border:2px solid #c0392b;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1.1em;font-weight:700;transition:all .2s;box-shadow:0 2px 8px #0003}.exit-btn:hover{background:#c0392b;transform:scale(1.05);box-shadow:0 4px 12px #0000004d}.notation-feedback{pointer-events:none;transition:opacity .3s ease-out}.notation-border{animation:borderPulse .3s ease-out}@keyframes borderPulse{0%{stroke-width:4;opacity:.5}50%{stroke-width:10;opacity:1}to{stroke-width:8;opacity:1}}.notation-result-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .3s ease-out}.notation-result-modal.visible{opacity:1}.notation-result-content{background:#2a2a2a;padding:40px;border-radius:16px;box-shadow:0 10px 50px #00000080;border:1px solid #3d3d3d;text-align:center;min-width:350px;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.notation-result-content h2{margin:0 0 30px;color:#e0e0e0;font-size:2em}.result-score{font-size:4em;font-weight:700;margin:20px 0;color:#27ae60}.score-big{color:#27ae60}.score-separator{color:#666;margin:0 10px}.score-total{color:#999}.result-stats{margin:30px 0;padding:20px;background:#ffffff0a;border-radius:8px;border:1px solid #3d3d3d}.stat-item{display:flex;justify-content:space-between;margin:10px 0;font-size:1.2em}.stat-label{color:#999}.stat-value{color:#e0e0e0;font-weight:700}.result-ok-btn{background:var(--accent-color);color:#fff;border:none;padding:15px 50px;border-radius:8px;font-size:1.2em;font-weight:700;cursor:pointer;transition:all .2s;margin-top:20px}.result-ok-btn:hover{background:#45a049;transform:scale(1.05)}.notation-config{text-align:left;max-width:500px}.notation-config h2{text-align:center;margin-bottom:30px;color:#e0e0e0}.config-section{margin-bottom:30px}.config-section h3{font-size:1.1em;color:#ddd;margin-bottom:15px;padding-bottom:8px;border-bottom:2px solid #3d3d3d}.radio-option{display:flex;align-items:center;padding:12px;margin:8px 0;border:2px solid #3d3d3d;border-radius:8px;cursor:pointer;transition:all .2s;background:#ffffff0a}.radio-option:hover{border-color:var(--accent-color);background:#4caf5014}.radio-option input[type=radio]{margin-right:12px;width:18px;height:18px;cursor:pointer}.radio-option input[type=radio]:checked+.radio-label{color:#e0e0e0;font-weight:600}.radio-option:has(input:checked){border-color:var(--accent-color);background:#4caf501f}.radio-label{flex:1;color:#bbb;line-height:1.4}.start-training-btn{width:100%;margin-top:20px;padding:15px;font-size:1.1em}.level-btn{width:100%;background:#ffffff0a;border:2px solid #3d3d3d;border-radius:8px;padding:20px;margin:10px 0;cursor:pointer;transition:all .2s;text-align:left}.level-btn:hover{border-color:var(--accent-color);background:#4caf5014;transform:translate(5px)}.level-btn.level-1:hover{border-color:#2ecc71;background:#2ecc7114}.level-btn.level-2:hover{border-color:#e74c3c;background:#e74c3c14}.level-title{font-size:1.3em;font-weight:700;color:#e0e0e0;margin-bottom:5px}.level-desc{color:#999;font-size:.95em}.practice-toast{position:fixed;top:80px;right:20px;min-width:300px;max-width:400px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:16px 20px;z-index:10000;display:flex;flex-direction:column;gap:8px}.practice-toast-success{border-left:4px solid #4caf50}.practice-toast-error{border-left:4px solid #f44336}.toast-title{font-weight:600;font-size:16px;color:#333}.toast-message{font-size:14px;color:#666;line-height:1.4}.toast-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:24px;height:24px;line-height:1}.toast-close:hover{color:#333}.animate-slide-in{animation:slideInRight .3s ease-out}.animate-slide-out{animation:slideOutRight .3s ease-in}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.puzzle-theme-selector{padding:10px 0}.puzzle-theme-selector .puzzle-header{text-align:center;margin-bottom:20px;position:relative}.puzzle-theme-selector .puzzle-header h2{color:#fff;font-size:1.4rem;margin:0 0 4px}.puzzle-theme-selector .puzzle-header p{color:#999;font-size:.9rem;margin:0}.puzzle-exit-btn{position:absolute;top:0;right:0;border:1px solid #555;background:#555;color:#fff;width:80px;height:32px;border-radius:6px;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.puzzle-exit-btn:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.theme-categories{display:flex;flex-direction:column;gap:20px}.category-title{color:var(--accent-color);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #333}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.theme-btn{display:flex;flex-direction:column;align-items:flex-start;padding:12px 14px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.theme-btn:hover{background:#333;border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.theme-btn:active{transform:translateY(0)}.theme-name{color:#fff;font-size:.95rem;font-weight:600;line-height:1.2}.theme-count{color:#888;font-size:.75rem;margin-top:2px}.puzzle-session-header{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;padding:4px 40px}.puzzle-info-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.puzzle-theme-badge{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;padding:3px 10px;border-radius:12px;font-size:.8rem;font-weight:600}.puzzle-counter{color:#ccc;font-size:.85rem;font-weight:600}.puzzle-rating{color:#f39c12;font-size:.85rem;font-weight:600}.puzzle-remaining{color:#888;font-size:.8rem;font-style:italic}.puzzle-stats-bar{display:flex;gap:16px;font-size:.85rem;font-weight:600}.stat-solved{color:var(--accent-color)}.stat-failed{color:#e74c3c}.puzzle-session-header .puzzle-exit-btn{position:absolute;top:4px;right:4px}#btn-show-solution{background:#f39c12;color:#fff;margin-top:6px;padding:8px 16px;font-size:.85rem;border-radius:6px;border:none;font-weight:600;cursor:pointer;transition:all .2s;animation:fadeIn .3s ease}#btn-show-solution:hover{background:#e67e22;transform:translateY(-1px)}.puzzle-limit-reached{text-align:center;padding:40px 20px}.puzzle-limit-reached h2{color:#fff;font-size:1.3rem;margin-bottom:16px}.limit-message{color:#f39c12;font-size:.95rem;margin-bottom:24px;padding:12px 16px;background:#f39c121a;border:1px solid rgba(243,156,18,.3);border-radius:8px}.result-details{display:flex;gap:24px;justify-content:center;margin-bottom:28px;font-size:1.1rem;font-weight:600}.session-actions{display:flex;gap:12px;justify-content:center}.session-actions .mode-btn{min-width:120px}@media(max-width:400px){.theme-grid{grid-template-columns:1fr}.puzzle-info-bar{gap:6px}.puzzle-theme-badge{font-size:.75rem}.puzzle-session-header{padding:4px 36px}}.studio-palette-overlay{position:absolute;top:4px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:4px;background:#1a1a1aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:6px 10px;box-shadow:0 4px 20px #00000080;border:1px solid rgba(255,255,255,.1);animation:fadeIn .2s ease-out}.palette-row{display:flex;gap:2px}.palette-white{border-right:1px solid rgba(255,255,255,.15);padding-right:6px;margin-right:2px}.palette-piece{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:grab;border-radius:4px;transition:all .15s ease;user-select:none;-webkit-user-select:none}.palette-piece:hover{background:#ffffff26;transform:scale(1.15)}.palette-piece:active,.palette-piece.dragging{cursor:grabbing;transform:scale(1.25);background:#4caf504d}.palette-piece.selected{background:#4caf5059;box-shadow:0 0 0 2px var(--accent-color);transform:scale(1.1)}.palette-tools{border-left:1px solid rgba(255,255,255,.15);padding-left:6px;margin-left:2px}.palette-tool-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s;color:#ccc}.palette-tool-btn:hover{background:#ffffff1a}.palette-tool-btn.active{background:#e74c3c4d;border-color:#e74c3c;color:#e74c3c}.studio-controls{display:flex;flex-direction:column;gap:8px;width:100%;max-width:500px;padding:4px}.studio-controls-row{display:flex;gap:8px;justify-content:center;align-items:center}.studio-toggle-group{display:flex;border-radius:6px;overflow:hidden;border:1px solid #3d3d3d}.studio-toggle-btn{padding:8px 14px;background:#2a2a2a;color:#aaa;border:none;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.studio-toggle-btn.active{background:var(--accent-color);color:#fff}.studio-toggle-btn:hover:not(.active){background:#3d3d3d}.studio-side-toggle{display:flex;border-radius:6px;overflow:hidden;border:1px solid #3d3d3d}.studio-side-btn{padding:8px 14px;background:#2a2a2a;border:none;cursor:pointer;font-size:.85rem;font-weight:600;color:#aaa;transition:all .2s;display:flex;align-items:center;gap:4px}.studio-side-btn.active{background:var(--accent-color);opacity:1;color:#fff;box-shadow:inset 0 0 8px #ffffff1a}.studio-side-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.studio-side-white{background:#fff;border:1px solid #999}.studio-side-black{background:#222;border:1px solid #555}.studio-action-btn{padding:10px 14px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.85rem;color:#fff;transition:all .2s;background:#3d5a80;box-shadow:0 2px 5px #0003;flex:1;max-width:120px;text-align:center}.studio-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000004d}.studio-action-btn:active{transform:translateY(0)}.studio-action-btn.btn-primary{background:linear-gradient(135deg,#4caf50,#45a049)}.studio-action-btn.btn-primary:hover{background:linear-gradient(135deg,#45a049,#3d8b40)}.studio-action-btn.btn-secondary{background:#555}.studio-action-btn.btn-secondary:hover{background:#666}.studio-action-btn.btn-danger{background:#e74c3c}.studio-action-btn.btn-danger:hover{background:#c0392b}.studio-multipv-panel{width:100%;background:#1a1a1a;border-top:1px solid #2a2a2a;padding:4px 0;flex-shrink:0;font-family:Segoe UI,monospace;font-size:.82rem}.mpv-line{display:flex;align-items:center;padding:3px 12px;gap:8px;transition:background .15s;border-left:3px solid transparent;min-height:24px}.mpv-line:hover{background:#ffffff08}.mpv-line.mpv-best{border-left-color:var(--accent-color);background:#4caf500d}.mpv-rank{color:#666;font-size:.75rem;width:18px;flex-shrink:0;text-align:center}.mpv-eval{font-weight:700;width:48px;flex-shrink:0;text-align:right;color:#aaa;font-family:Courier New,monospace}.mpv-eval.mpv-positive{color:#fff}.mpv-eval.mpv-negative{color:#888}.mpv-eval.mpv-mate{color:#ff6b6b;font-weight:800}.mpv-moves{color:#bbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-size:.78rem;letter-spacing:.3px}@media(min-width:601px){#board-container.studio-mpv-active{padding-top:4px;padding-bottom:4px}#board-container.studio-mpv-active #main-board{width:min(100%,100vh - var(--header-h) - var(--footer-h) - var(--controls-h) - 180px);height:min(100%,100vh - var(--header-h) - var(--footer-h) - var(--controls-h) - 180px)}}@media(max-width:420px){.studio-palette-overlay{top:2px;padding:4px 6px;gap:2px}.palette-piece{width:28px;height:28px;font-size:1.2rem}.palette-tool-btn{width:28px;height:28px;font-size:.9rem}.studio-action-btn{padding:8px 10px;font-size:.8rem;max-width:100px}.studio-toggle-btn{padding:6px 10px;font-size:.8rem}.mpv-line{padding:2px 8px}.mpv-eval{width:40px;font-size:.78rem}.mpv-moves{font-size:.72rem}}.vision-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vision-mode-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:#ffffff0d;border:1px solid #3d3d3d;border-radius:8px;cursor:pointer;transition:all .2s;color:#e0e0e0;text-align:center}.vision-mode-btn:hover:not([disabled]){background:#4caf5026;border-color:var(--accent-color);transform:translateY(-2px)}.vision-mode-btn:active:not([disabled]){transform:translateY(0)}.vision-mode-btn[disabled]{opacity:.4;cursor:not-allowed}.vision-mode-icon{font-size:1.8rem}.vision-mode-title{font-weight:600;font-size:.9rem}.vision-mode-desc{font-size:.75rem;color:#999}.vision-hud{display:flex;align-items:center;gap:12px;font-size:.85rem}.vision-hud-mode{font-weight:700;color:#fff}.vision-hud-level{background:#4caf5040;color:var(--accent-color);padding:2px 8px;border-radius:10px;font-weight:600;font-size:.8rem}.vision-hud-score{color:#bbb;font-size:.82rem}.vision-hud-streak{color:#f39c12;font-size:.82rem}.vision-countdown-display{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:300px}#vision-countdown-text{color:#fff;font-weight:600;font-size:.95rem}.vision-countdown-bar{width:100%;height:6px;background:#333;border-radius:3px;overflow:hidden}.vision-countdown-fill{height:100%;background:linear-gradient(90deg,var(--accent-color),#81c784);border-radius:3px;transition:width 1s linear}.vision-instruction{color:#bbb;font-size:.9rem;font-style:italic;text-align:center}.vision-piece-selector{display:flex;flex-direction:column;gap:12px}.piece-selector-section{display:flex;flex-direction:column;gap:6px}.piece-selector-section-title{font-size:.8rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:1px}.piece-selector-row{display:flex;align-items:center;gap:8px}.piece-selector-btn{width:50px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:2px solid #555;border-radius:8px;cursor:pointer;transition:all .15s}.piece-selector-symbol{font-size:1.5rem;line-height:1}.piece-selector-name{font-size:.6rem;font-weight:600;line-height:1}.piece-selector-btn.piece-white{background:#3a3a3a;border-color:#666;color:#fff}.piece-selector-btn.piece-white .piece-selector-symbol{color:#fff}.piece-selector-btn.piece-white .piece-selector-name{color:#ccc}.piece-selector-btn.piece-black{background:#d0d0d0;border-color:#999;color:#1a1a1a}.piece-selector-btn.piece-black .piece-selector-symbol{color:#1a1a1a}.piece-selector-btn.piece-black .piece-selector-name{color:#444}.piece-selector-btn:hover{transform:scale(1.1)}.piece-selector-btn.piece-white:hover{background:#4caf504d;border-color:var(--accent-color)}.piece-selector-btn.piece-black:hover{background:#b8e6b8;border-color:var(--accent-color)}.piece-selector-btn:active{transform:scale(1)}.vision-result-score{font-size:1.5rem;font-weight:700;text-align:center;color:var(--accent-color);margin-bottom:12px}.vision-sequence-display{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.vision-sequence-text{color:#fff;font-weight:600;font-size:.95rem}.vision-sequence-dots{display:flex;gap:6px;justify-content:center}.seq-dot{width:10px;height:10px;border-radius:50%;background:#444;transition:background .3s,transform .3s}.seq-dot-done{background:var(--accent-color);transform:scale(1.2)}.seq-result-moves{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}.seq-result-move{font-size:.9rem;padding:4px 8px;border-radius:6px;font-weight:600}.seq-result-move.seq-correct{background:#4caf5033;color:var(--accent-color)}.seq-result-move.seq-wrong{background:#e74c3c33;color:#e74c3c}.blindfold-move-announcer{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.blindfold-side-label{font-size:.85rem;color:#999;font-weight:500}.blindfold-move-san{font-size:1.8rem;font-weight:700;color:#fff;font-family:Courier New,monospace;background:#4caf5026;border:1px solid var(--accent-color);border-radius:8px;padding:4px 16px;min-width:80px;text-align:center}@media(max-width:420px){.vision-mode-grid{grid-template-columns:1fr}.vision-mode-btn{padding:12px 10px}.vision-hud{gap:8px;font-size:.78rem}.piece-selector-btn{width:38px;height:38px;font-size:1.3rem}.blindfold-move-san{font-size:1.4rem;padding:3px 12px}}.dashboard-container{width:100%;max-width:800px;margin:0 auto;padding:16px;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 60px);box-sizing:border-box}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #3d3d3d}.dashboard-header h2{color:#fff;font-size:1.3rem;margin:0}.dashboard-loading{display:flex;align-items:center;justify-content:center;padding:60px 0;color:#999;font-size:1rem}.dashboard-error{text-align:center;padding:30px;color:#e74c3c;font-size:.95rem}.dashboard-empty{text-align:center;color:#777;padding:20px;font-style:italic}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;overflow:hidden}.dashboard-card{background:#ffffff0a;border:1px solid #3d3d3d;border-radius:10px;padding:16px;overflow:hidden;min-width:0}.dashboard-card h3{color:#ddd;font-size:.9rem;margin:0 0 12px;font-weight:600}.dashboard-card-wide{grid-column:1 / -1}.chart-wrapper{position:relative;height:220px}.chart-wrapper-wide{height:250px}.dashboard-recent{display:flex;flex-direction:column;gap:2px}.recent-row{display:grid;grid-template-columns:80px 1fr 60px 50px 80px;align-items:center;padding:8px 4px;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.04)}.recent-row:last-child{border-bottom:none}.recent-date{color:#888;font-size:.78rem}.recent-type{color:#ccc;font-weight:500}.recent-score{color:#aaa;text-align:center}.recent-pct{font-weight:700;text-align:center}.recent-elo{color:#888;text-align:right;font-size:.75rem}@media(max-width:600px){.dashboard-container{padding:10px}.dashboard-grid{grid-template-columns:1fr}.dashboard-card-wide{grid-column:1}.chart-wrapper,.chart-wrapper-wide{height:200px}.recent-row{grid-template-columns:65px 1fr 50px 45px 65px;font-size:.75rem}.dashboard-header h2{font-size:1.1rem}}.finals-list{display:flex;flex-direction:column;gap:8px}.finals-list-item{padding:12px;background:#ffffff0a;border:1px solid #3d3d3d;border-radius:8px;cursor:pointer;transition:all .2s}.finals-list-item:hover:not(.finals-locked){background:#4caf501f;border-color:var(--accent-color)}.finals-list-item:active:not(.finals-locked){transform:scale(.99)}.finals-locked{opacity:.5;cursor:not-allowed}.finals-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.finals-item-title{font-weight:600;color:#e0e0e0;font-size:.9rem}.finals-item-objective{font-size:.75rem;color:#bbb;flex-shrink:0}.finals-item-count{font-size:.75rem;color:#888;flex-shrink:0}.finals-item-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.finals-item-category{font-size:.75rem;color:#888}.finals-item-diff{font-size:.7rem;color:#f39c12;letter-spacing:1px}.finals-item-desc{font-size:.78rem;color:#999;line-height:1.3}@media(max-width:420px){.finals-list-item{padding:10px}.finals-item-title{font-size:.82rem}.finals-item-desc{font-size:.72rem}}
