:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{margin:0}#root{width:100%}*{box-sizing:border-box;margin:0;padding:0}body{color:#e8e8e8;background:#1a1a1a;min-height:100vh;font-family:Segoe UI,system-ui,sans-serif;font-size:14px}.app-header{scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#111;border-bottom:1px solid #2a2a2a;flex-wrap:nowrap;align-items:center;gap:8px;min-height:48px;padding:8px 12px;display:flex;overflow:auto hidden}.app-header::-webkit-scrollbar{display:none}.logo{color:#98bc49;white-space:nowrap;flex-shrink:0;font-size:18px;font-weight:700}.powered{color:#555;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:11px}.app{outline:none;flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;gap:0;height:calc(100vh - 49px);display:flex;overflow:hidden}.left-panel{background:#1e1e1e;border-right:1px solid #2a2a2a;flex-direction:column;gap:12px;width:320px;min-width:280px;padding:16px;display:flex;overflow-y:auto}.pgn-import h2{margin-bottom:6px;font-size:15px}.hint{color:#888;margin-bottom:8px;font-size:12px;line-height:1.5}textarea{color:#ccc;resize:vertical;background:#111;border:1px solid #333;border-radius:6px;outline:none;width:100%;padding:10px;font-family:monospace;font-size:11px}textarea:focus{border-color:#98bc49}.import-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}button,[role=button]{min-width:44px;min-height:44px}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex}.btn-primary{color:#111;background:#98bc49}.btn-secondary{color:#ccc;background:#2a2a2a;border:1px solid #444}.btn-danger{color:#fff;background:#c93a3a}.btn-primary:disabled,.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-primary:hover:not(:disabled){opacity:.85}.btn-secondary:hover:not(:disabled){background:#333}.btn-danger:hover{opacity:.85}.error-msg{color:#e87474;background:#3a1111;border:1px solid #c93a3a;border-radius:6px;padding:10px 12px;font-size:12px}.progress-wrap{color:#888;flex-direction:column;gap:6px;font-size:12px;display:flex}.progress-bar{background:#98bc49;border-radius:2px;height:4px;transition:width .3s}.tab-bar{border-bottom:1px solid #2a2a2a;display:flex}.tab{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;min-height:44px;padding:10px 8px;font-size:13px;transition:color .15s;display:inline-flex}.tab.active{color:#98bc49;border-bottom-color:#98bc49}.tab:hover:not(.active){color:#aaa}.move-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.move-pair{align-items:center;gap:2px;padding:1px 0;display:flex}.move-num{color:#555;text-align:right;flex-shrink:0;width:28px;font-size:12px}.move-chip{text-align:left;background:var(--chip-bg,transparent);color:#ccc;cursor:pointer;border:none;border-radius:6px;flex:1;align-items:center;min-height:44px;padding:8px 7px;font-size:13px;transition:background .12s;display:inline-flex}.move-chip:hover{background:#333!important}.move-chip.active{color:#fff;font-weight:600}.move-annotation{color:var(--chip-color);margin-left:2px;font-size:11px}.board-section{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:relative}.board-wrap{align-items:center;gap:8px;display:flex}.eval-bar-wrap{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.eval-bar{background:#111;border-radius:3px;flex-direction:column;width:20px;height:480px;display:flex;overflow:hidden}.eval-white{background:#e8e8e8;transition:height .4s}.eval-black{background:#333;transition:height .4s}.eval-label{color:#888;font-size:11px;font-weight:700}.board-controls{gap:8px;display:flex}.board-controls button{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:8px;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:10px 16px;font-size:18px;transition:background .12s;display:inline-flex}.board-controls button:hover{color:#fff;background:#333}.keyboard-hint{color:#444;font-size:11px}.move-detail{background:#1e1e1e;border-radius:6px;flex-direction:column;gap:6px;width:100%;max-width:480px;padding:10px 14px;display:flex}.detail-header{justify-content:space-between;align-items:center;display:flex}.detail-san{font-size:16px;font-weight:700}.detail-badge{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.detail-stats{flex-wrap:wrap;gap:16px;display:flex}.detail-stat{color:#888;font-size:12px}.detail-stat.loss{color:#e58c2a}.detail-stat.best code{color:#1bada6;background:#1bada620;border-radius:3px;padding:1px 6px}.accuracy-panel{flex-direction:column;gap:14px;padding:8px 0;display:flex}.game-header{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.player{text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-weight:600;overflow:hidden}.result-badge{color:#888;background:#2a2a2a;border-radius:10px;flex-shrink:0;padding:2px 10px;font-size:12px}.accuracy-rings{justify-content:center;gap:32px;display:flex}.accuracy-ring-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.accuracy-label{color:#888;font-size:12px}.counts-grid{flex-direction:column;gap:4px;display:flex}.count-row{grid-template-columns:12px 1fr 32px 32px;align-items:center;gap:8px;font-size:12px;display:grid}.count-header{color:#555;font-size:11px}.count-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.count-name{color:#aaa}.count-val{text-align:center;font-weight:600}.count-side{text-align:center;color:#555}.opening-name{color:#c5a35a;background:#c5a35a12;border:1px solid #c5a35a30;border-radius:6px;padding:6px 10px;font-size:12px;line-height:1.4}.eval-graph-wrap{border:1px solid #2a2a2a;border-radius:4px;width:100%;max-width:480px;overflow:hidden}.move-time{color:#555;font-variant-numeric:tabular-nums;margin-left:4px;font-size:10px}.book-dot{margin-right:2px;font-size:10px}.move-chip.critical{outline-offset:1px;outline:2px solid #c93a3a!important}.engine-lines{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:6px;flex-direction:column;gap:6px;width:100%;max-width:480px;padding:10px 14px;display:flex}.engine-lines-title{text-transform:uppercase;letter-spacing:.05em;color:#555;margin-bottom:2px;font-size:11px}.engine-lines-loading,.engine-lines-empty{color:#444;font-size:12px}.engine-line{align-items:baseline;gap:10px;font-size:12px;display:flex}.engine-line-score{color:#98bc49;font-variant-numeric:tabular-nums;min-width:42px;font-weight:700}.engine-line-moves{color:#aaa;font-family:monospace}@media (width<=768px){.app-header{padding:10px 14px}.logo{font-size:17px}.powered{display:none}.app-main{flex-direction:column;height:auto;overflow:visible}.board-section{order:1;align-items:center;gap:6px;width:100%;padding:6px 4px 4px}.left-panel{width:100%;min-width:unset;border-top:1px solid #2a2a2a;border-right:none;order:2;gap:8px;max-height:none;padding:10px 12px;overflow-y:visible}.move-explanation-slot{min-height:132px;max-height:132px;overflow:hidden}.move-explanation{padding:8px 12px}.move-explanation p,.move-explanation div[style]{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;font-size:12px!important;line-height:1.5!important}.eval-bar-wrap{flex-direction:row;order:10;align-items:center;gap:6px;width:100%;max-width:100%;position:static;transform:none}.eval-bar{border-radius:4px;flex-direction:row;width:100%;height:8px}.eval-white,.eval-black{height:100%;transition:width .4s}.eval-label{white-space:nowrap;font-size:10px}.board-wrap{justify-content:center;gap:0;width:100%}.eval-graph-wrap{max-width:100%}.board-controls{flex-wrap:nowrap;gap:6px}.board-controls button{border-radius:8px;flex:1;min-height:44px;padding:10px 4px;font-size:18px}.move-detail{max-width:100%}.detail-san{font-size:15px}.engine-lines{max-width:100%}.keyboard-hint{display:none}.swipe-hint{color:#444;text-align:center;margin-top:-4px;font-size:11px;display:block}textarea{rows:4;font-size:11px}.move-chip{min-height:32px;padding:5px 8px;font-size:13px}.move-time{font-size:9px}.accuracy-rings{gap:16px}.game-header{font-size:12px}.opening-name{padding:5px 8px;font-size:11px}.tab{min-height:44px;padding:10px 8px;font-size:13px}.import-actions{flex-direction:column}.btn-primary,.btn-secondary,.btn-danger{width:100%;min-height:44px;padding:11px;font-size:14px}}.swipe-hint{display:none}@keyframes pieceArrive{0%{transform:translate(var(--dx,0px), var(--dy,0px))}to{transform:none}}.btn-practice{text-align:center;color:#1bada6;cursor:pointer;background:#1bada610;border:1px solid #1bada6;border-radius:6px;width:100%;max-width:480px;padding:9px 16px;font-size:13px;transition:background .15s,color .15s}.btn-practice:hover{color:#1bada6;background:#1bada625}.practice-overlay{z-index:1000;background:#000000b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.practice-modal{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;flex-direction:column;align-items:center;gap:14px;width:fit-content;max-width:calc(100vw - 32px);max-height:90vh;padding:20px;display:flex;overflow-y:auto;box-shadow:0 8px 40px #000000b3}.practice-header{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.practice-title{color:#e8e8e8;font-size:16px;font-weight:700}.practice-close{color:#666;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px;line-height:1;transition:color .15s}.practice-close:hover{color:#ccc}.practice-hint{color:#888;text-align:center;width:100%;font-size:13px}.practice-message{text-align:center;border-radius:6px;width:100%;padding:10px 14px;font-size:13px;font-weight:600}.practice-message--success{color:#7ec850;background:#1a3a1a;border:1px solid #5b8a3c}.practice-message--error{color:#e87474;background:#3a1111;border:1px solid #c93a3a}.practice-board-wrap{justify-content:center;display:flex}.practice-actions{justify-content:center;gap:10px;width:100%;display:flex}.practice-actions .btn-secondary{text-align:center;flex:1;max-width:180px}@media (width<=768px){.practice-overlay{align-items:flex-end;padding:0}.practice-modal{border-radius:12px 12px 0 0;width:100%;max-width:100%;max-height:95vh;padding:16px 12px 24px}.practice-actions{flex-direction:column;align-items:stretch}.practice-actions .btn-secondary{max-width:100%}}.comparison-section{border-top:1px solid #2a2a2a;flex-direction:column;gap:12px;padding-top:14px;display:flex}.comparison-title{text-transform:uppercase;letter-spacing:.06em;color:#555;font-size:11px}.comparison-row{flex-direction:column;gap:5px;display:flex}.comparison-player{align-items:center;gap:6px;font-size:12px;display:flex}.comparison-symbol{font-size:14px}.comparison-name{color:#ccc;font-weight:600}.comparison-elo{color:#555;font-size:11px}.comparison-bar-wrap{flex-direction:column;gap:4px;display:flex}.comparison-bar-bg{background:#2a2a2a;border-radius:4px;height:8px;position:relative;overflow:visible}.comparison-bar-fill{border-radius:4px;height:100%;transition:width .4s}.comparison-avg-marker{background:#555;border-radius:1px;width:2px;height:14px;position:absolute;top:-3px;transform:translate(-50%)}.comparison-labels{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.comparison-accuracy{color:#e8e8e8;flex-shrink:0;font-size:13px;font-weight:700}.comparison-delta{text-align:right;flex:1;font-size:11px}.btn-install{color:#7ec850;cursor:pointer;white-space:nowrap;background:#5b8a3c22;border:1.5px solid #5b8a3c;border-radius:6px;margin-left:auto;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.btn-install:hover{color:#a2e86e;background:#5b8a3c44}.btn-train{text-align:center;cursor:pointer;border-radius:6px;width:100%;padding:9px 16px;font-size:13px}.depth-selector{flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;margin-bottom:2px;display:flex}.depth-label{color:#666;white-space:nowrap;flex-shrink:0;font-size:12px}.depth-btn{color:#888;cursor:pointer;background:#2a2a2a;border:1px solid #333;border-radius:5px;flex-direction:column;align-items:center;min-width:44px;min-height:44px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:background .12s,color .12s,border-color .12s;display:flex}.depth-btn:hover:not(:disabled){color:#ccc;background:#333;border-color:#555}.depth-btn.active{color:#98bc49;background:#98bc4922;border-color:#98bc49}.depth-btn:disabled{opacity:.4;cursor:not-allowed}.depth-time{color:#555;font-size:9px;font-weight:400}.depth-btn.active .depth-time{color:#7a9e3a}.pm-fetch-progress{color:#98bc49;background:#98bc4915;border:1px solid #98bc4940;border-radius:10px;padding:2px 8px;font-size:11px;animation:1.5s ease-in-out infinite pmPulse}@keyframes pmPulse{0%,to{opacity:1}50%{opacity:.5}}.tactic-badge{letter-spacing:.02em;white-space:nowrap;border:1px solid;border-radius:10px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.puzzle-overlay{z-index:1100;background:#000000d1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.puzzle-trainer{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:12px;flex-direction:column;align-items:center;gap:12px;width:fit-content;max-width:calc(100vw - 32px);max-height:92vh;padding:20px;display:flex;overflow-y:auto;box-shadow:0 12px 48px #000c}.puzzle-header{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.puzzle-title{color:#e8e8e8;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.puzzle-class-tag{color:#e87474;background:#c332;border:1px solid #c335;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.puzzle-score{align-items:center;gap:14px;font-size:13px;font-weight:700;display:flex}.puzzle-score-val{color:#c5a35a}.puzzle-streak{color:#e07515;font-size:14px;animation:.3s popIn}@keyframes popIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.puzzle-progress{flex-wrap:wrap;justify-content:center;gap:6px;max-width:400px;display:flex}.puzzle-dot{background:#333;border:1.5px solid #444;border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:background .2s,border-color .2s}.puzzle-dot.current{background:#98bc49;border-color:#98bc49}.puzzle-dot.correct{background:#5b8a3c;border-color:#5b8a3c}.puzzle-dot.wrong{background:#c33;border-color:#c33}@keyframes flashGreen{0%{opacity:1}to{opacity:0}}@keyframes flashRed{0%{opacity:1}to{opacity:0}}.puzzle-summary{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px 0;display:flex}.puzzle-summary-icon{font-size:48px}.puzzle-summary-score{color:#c5a35a;font-size:24px;font-weight:700}.puzzle-summary-result{color:#ccc;font-size:15px}.puzzle-summary-streak{color:#888;font-size:13px}@media (width<=768px){.puzzle-overlay{align-items:flex-end;padding:0}.puzzle-trainer{border-radius:14px 14px 0 0;gap:8px;width:100%;max-width:100%;max-height:96vh;padding:14px 12px 24px}.depth-selector{gap:4px}.depth-btn{min-width:34px;min-height:40px;padding:5px 7px;font-size:12px}.btn-install{padding:5px 10px;font-size:12px}.tactic-badge{font-size:10px}}.btn-puzzles{color:#7ec850;cursor:pointer;white-space:nowrap;background:#5b8a3c22;border:1.5px solid #5b8a3c;border-radius:6px;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.btn-puzzles:hover{color:#a2e86e;background:#5b8a3c44}@media (width<=480px){.logo-text{display:none}.logo{flex-shrink:0;font-size:20px}.btn-puzzles,.btn-history,.btn-study{padding:5px 8px!important;font-size:11px!important}}@media (width<=768px){.btn-puzzles{padding:5px 10px;font-size:12px}}.puzzle-module-overlay{z-index:2000;background:#000000e0;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.puzzle-module{scrollbar-width:thin;scrollbar-color:#333 transparent;background:#161616;border:1px solid #2a2a2a;border-radius:14px;flex-direction:column;gap:10px;width:100%;max-width:540px;max-height:95vh;padding:16px 16px 20px;display:flex;overflow-y:auto;box-shadow:0 16px 64px #000000e6}.pm-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pm-header-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.pm-logo{color:#98bc49;white-space:nowrap;font-size:17px;font-weight:700}.pm-counter{color:#555;white-space:nowrap;font-size:12px}.pm-stats{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.pm-stat{white-space:nowrap;font-size:13px;font-weight:700}.pm-streak{color:#e07515}.pm-correct{color:#5b8a3c}.pm-wrong{color:#c33}.pm-close{color:#555;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:20px;line-height:1;transition:color .15s}.pm-close:hover{color:#ccc}.pm-theme-tabs{scrollbar-width:none;flex-shrink:0;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.pm-theme-tabs::-webkit-scrollbar{display:none}.pm-tab{color:#888;cursor:pointer;white-space:nowrap;background:#1e1e1e;border:1px solid #333;border-radius:20px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.pm-tab:hover:not(.active){color:#ccc;background:#2a2a2a}.pm-tab.active{color:#98bc49;background:#98bc4920;border-color:#98bc49}.pm-difficulty{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pm-diff-label{color:#555;white-space:nowrap;font-size:12px}.pm-diff-btn{color:#888;cursor:pointer;white-space:nowrap;background:#1e1e1e;border:1px solid #333;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.pm-diff-btn:hover:not(.active){color:#ccc;background:#2a2a2a}.pm-diff-btn.active{color:#1bada6;background:#1bada620;border-color:#1bada6}.pm-puzzle-info{flex-wrap:wrap;align-items:center;gap:8px;min-height:26px;display:flex}.pm-rating-badge{color:#c5a35a;background:#c5a35a18;border:1px solid #c5a35a44;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:700}.pm-theme-badge{color:#1bada6;background:#1bada618;border:1px solid #1bada644;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600}.pm-side-to-move{color:#aaa;text-align:center;min-height:20px;font-size:13px}.pm-side-to-move strong{color:#e8e8e8}.pm-board-wrap{flex-shrink:0;justify-content:center;align-items:center;display:flex}.pm-attempts{justify-content:center;align-items:center;gap:4px;min-height:22px;display:flex}.pm-attempt-dot{color:#98bc49;font-size:16px;transition:color .2s}.pm-attempt-dot.used{color:#c33}.pm-feedback{text-align:center;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;animation:.25s feedbackIn}@keyframes feedbackIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.pm-feedback--correct{color:#7ec850;background:#1a3a1a;border:1px solid #5b8a3c}.pm-feedback--wrong{color:#e87474;background:#3a1111;border:1px solid #c33}.pm-feedback--info{color:#1bada6;background:#1a2a3a;border:1px solid #1bada6}.pm-solution{color:#888;text-align:center;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:6px;padding:6px 10px;font-size:12px}.pm-solution-label{color:#555;margin-right:4px}.pm-solution-moves{font-family:monospace}.pm-our-move{color:#98bc49;margin:0 3px}.pm-engine-move{color:#555;margin:0 3px}.pm-actions,.pm-nav{justify-content:center;gap:8px;display:flex}.pm-btn{color:#ccc;cursor:pointer;white-space:nowrap;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.pm-btn:hover:not(:disabled){color:#fff;background:#2a2a2a}.pm-btn:disabled{opacity:.35;cursor:not-allowed}.pm-btn-hint{color:#c5a35a;border-color:#c5a35a44}.pm-btn-hint:hover:not(:disabled){background:#c5a35a18;border-color:#c5a35a}.pm-btn-surrender{color:#e87474;border-color:#c334}.pm-btn-surrender:hover:not(:disabled){background:#cc333318;border-color:#c33}.pm-btn-next{color:#98bc49;border-color:#98bc4944}.pm-btn-next:hover:not(:disabled){background:#98bc4918;border-color:#98bc49}.pm-btn-shuffle{padding:8px 12px}.pm-loading{color:#444;text-align:center;padding:8px;font-size:12px}.pm-empty{text-align:center;color:#666;padding:24px 16px;font-size:14px}@media (width<=768px){.puzzle-module-overlay{align-items:flex-end;padding:0}.puzzle-module{border-radius:16px 16px 0 0;gap:8px;max-width:100%;max-height:97vh;padding:14px 12px 28px}.pm-logo{font-size:15px}.pm-stats{gap:8px}.pm-stat{font-size:12px}.pm-tab{padding:5px 10px;font-size:11px}.pm-diff-btn{padding:4px 10px;font-size:11px}.pm-btn{min-height:44px;padding:10px 14px;font-size:13px}.pm-actions,.pm-nav{flex-wrap:nowrap}.pm-nav .pm-btn{text-align:center;flex:1}}.study-menu-wrap{flex-shrink:0;position:relative}.btn-study{color:#c5a35a;cursor:pointer;white-space:nowrap;background:#c5a35a22;border:1.5px solid #c5a35a;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.btn-study:hover{color:#e2c068;background:#c5a35a44}.study-menu{z-index:500;background:#1e1e1e;border:1px solid #333;border-radius:10px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:fixed;top:54px;right:8px;box-shadow:0 8px 32px #0009}.study-menu button{text-align:left;color:#ccc;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:9px 14px;font-size:14px;transition:background .12s,color .12s}.study-menu button:hover{color:#fff;background:#2a2a2a}@media (width<=768px){.btn-study{padding:5px 10px;font-size:12px}.study-menu{min-width:180px}.study-menu button{min-height:44px;padding:10px 12px;font-size:13px}}.module-overlay{z-index:2000;background:#1a1a1a;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.module-container{scrollbar-width:thin;scrollbar-color:#333 transparent;background:#1a1a1a;border:none;border-radius:0;flex-direction:column;gap:10px;width:100%;max-width:100%;height:100%;max-height:100%;padding:16px 16px 24px;display:flex;overflow-y:auto;box-shadow:0 16px 64px #000000e6}.module-container::-webkit-scrollbar{width:4px}.module-container::-webkit-scrollbar-track{background:0 0}.module-container::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.module-header{flex-shrink:0;align-items:center;gap:10px;display:flex}.module-title{color:#e8e8e8;flex:1;font-size:16px;font-weight:700}.module-close{color:#555;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:20px;line-height:1;transition:color .15s}.module-close:hover{color:#ccc}.module-back{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #333;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:13px;transition:color .12s,border-color .12s}.module-back:hover{color:#ccc;border-color:#555}.module-btn{color:#ccc;cursor:pointer;white-space:nowrap;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.module-btn:hover:not(:disabled){color:#fff;background:#2a2a2a}.module-btn:disabled{opacity:.35;cursor:not-allowed}.module-btn-active{color:#98bc49;background:#98bc4920;border-color:#98bc49}.module-filters{flex-direction:column;gap:6px;display:flex}.filter-row{flex-wrap:wrap;gap:4px;display:flex}.filter-btn{color:#888;cursor:pointer;white-space:nowrap;background:#1e1e1e;border:1px solid #333;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.filter-btn:hover:not(.active){color:#ccc;background:#2a2a2a}.filter-btn.active{color:#98bc49;background:#98bc4920;border-color:#98bc49}.opening-nav{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.opening-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.opening-eco{color:#1bada6;background:#1bada618;border:1px solid #1bada640;border-radius:6px;padding:2px 8px;font-family:monospace;font-size:13px;font-weight:700}.opening-difficulty-badge,.opening-rating-badge{color:#888;background:#2a2a2a;border:1px solid #333;border-radius:8px;padding:2px 8px;font-size:11px}.opening-move-info{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;padding:10px 14px}.opening-move-counter{color:#ccc;margin-bottom:6px;font-size:13px;font-weight:600}.opening-move-san{color:#98bc49}.opening-key-badge{color:#c5a35a;background:#c5a35a22;border:1px solid #c5a35a44;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px}.opening-move-explanation{color:#aaa;font-size:13px;line-height:1.6}.opening-description{color:#aaa;border-top:1px solid #2a2a2a;padding-top:12px;font-size:13px;line-height:1.6}.opening-section{flex-direction:column;gap:8px;display:flex}.opening-section-title{color:#888;text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700}.opening-list{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.opening-list li{color:#ccc;background:#1e1e1e;border-left:3px solid #555;border-radius:6px;padding:6px 10px;font-size:13px;line-height:1.4}.opening-list-green li{border-left-color:#5b8a3c}.opening-list-orange li{border-left-color:#e07515}.opening-tip{color:#c5a35a;background:#c5a35a12;border:1px solid #c5a35a30;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.opening-tip-icon{flex-shrink:0;font-size:18px}.opening-trap{background:#cc333312;border:1px solid #cc333330;border-radius:8px;padding:10px 12px}.opening-trap-name{color:#e87474;margin-bottom:4px;font-size:13px;font-weight:700}.opening-trap-moves{color:#888;margin-bottom:6px;font-family:monospace;font-size:12px}.opening-trap-explanation{color:#aaa;font-size:12px;line-height:1.5}.opening-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.opening-card{cursor:pointer;text-align:left;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;flex-direction:column;gap:4px;padding:12px 10px;transition:background .12s,border-color .12s;display:flex}.opening-card:hover{background:#252525;border-color:#444}.opening-card-eco{color:#1bada6;font-family:monospace;font-size:11px;font-weight:700}.opening-card-name{color:#e8e8e8;font-size:13px;font-weight:600;line-height:1.3}.opening-card-level{color:#555;margin-top:2px;font-size:11px}.opening-card-styles{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.opening-style-tag{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.endgame-description{color:#aaa;font-size:13px;line-height:1.6}.endgame-step-info{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;padding:10px 14px}.endgame-step-counter{color:#555;margin-bottom:4px;font-size:12px}.endgame-step-move{color:#98bc49;margin-bottom:4px;font-size:16px;font-weight:700}.endgame-step-explanation{color:#aaa;font-size:13px;line-height:1.5}.endgame-rule-box{background:#1bada612;border:1px solid #1bada630;border-radius:8px;padding:12px 14px}.endgame-rule-title{color:#1bada6;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.endgame-rule-box p{color:#aaa;font-size:13px;line-height:1.6}.endgame-mistake-box{background:#e0751518;border:1px solid #e0751530;border-radius:8px;padding:12px 14px}.endgame-mistake-title{color:#e07515;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.endgame-mistake-box p{color:#aaa;font-size:13px;line-height:1.6}.endgame-interactive-notice{color:#98bc49;background:#98bc4912;border:1px solid #98bc4930;border-radius:8px;padding:10px 14px;font-size:13px}.endgame-list{flex-direction:column;gap:8px;display:flex}.endgame-card{text-align:left;cursor:pointer;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;padding:12px 14px;transition:background .12s,border-color .12s}.endgame-card:hover{background:#252525;border-color:#444}.endgame-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.endgame-card-name{color:#e8e8e8;font-size:14px;font-weight:600}.endgame-card-description{color:#666;margin-bottom:4px;font-size:12px;line-height:1.4}.endgame-interactive-tag{color:#1bada6;background:#1bada618;border:1px solid #1bada640;border-radius:6px;padding:1px 8px;font-size:11px}.ps-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.ps-card{text-align:left;cursor:pointer;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;padding:10px;transition:background .12s,border-color .12s;overflow:hidden}.ps-card:hover{background:#252525;border-color:#444}.ps-card-name{color:#e8e8e8;margin-bottom:4px;font-size:12px;font-weight:700;line-height:1.3}.ps-card-desc{color:#666;font-size:11px;line-height:1.4}.ps-plan-section{flex-direction:column;gap:10px;display:flex}.ps-plan-title{color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:13px;font-weight:700}.ps-famous-game{color:#ccc;background:#1e1e1e;border-radius:6px;margin-bottom:6px;padding:8px 10px;font-size:13px;line-height:1.4}.ps-exercises-section{flex-direction:column;gap:10px;display:flex}.ps-exercise{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;padding:12px}.ps-exercise-q{color:#ccc;margin-bottom:8px;font-size:13px;line-height:1.5}.ps-exercise-summary{color:#98bc49;cursor:pointer;font-size:12px}.ps-exercise-a{color:#aaa;background:#98bc4910;border-radius:6px;margin-top:6px;padding:8px;font-size:13px;line-height:1.5}.strategy-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.strategy-card{text-align:left;cursor:pointer;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;flex-direction:column;gap:4px;padding:14px 12px;transition:background .12s,border-color .12s;display:flex}.strategy-card:hover{background:#252525;border-color:#444}.strategy-card-icon{font-size:24px}.strategy-card-name{color:#e8e8e8;font-size:13px;font-weight:700;line-height:1.3}.strategy-card-desc{color:#666;font-size:12px;line-height:1.4}.strategy-short-desc{color:#c5a35a;font-size:14px;font-weight:600;line-height:1.4}.strategy-explanation{color:#aaa;font-size:13px;line-height:1.6}.strategy-why-box{background:#1bada612;border:1px solid #1bada630;border-radius:8px;padding:12px 14px}.strategy-how-box{background:#5b8a3c12;border:1px solid #5b8a3c30;border-radius:8px;padding:12px 14px}.strategy-box-title{color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:700}.strategy-why-box p{color:#aaa;font-size:13px;line-height:1.6}.strategy-exercise-box{background:#c5a35a12;border:1px solid #c5a35a30;border-radius:8px;padding:12px 14px}.strategy-exercise-q{color:#ccc;margin-bottom:10px;font-size:13px;line-height:1.5}.strategy-exercise-answer{background:#5b8a3c18;border:1px solid #5b8a3c40;border-radius:6px;margin-top:8px;padding:10px 12px}.strategy-exercise-answer p{color:#aaa;font-size:13px;line-height:1.5}.calc-level-info{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;padding:12px 14px}.calc-level-title{margin-bottom:4px;font-size:14px;font-weight:700}.calc-level-desc{color:#888;margin-bottom:10px;font-size:12px;line-height:1.5}.calc-progress-bar-wrap{align-items:center;gap:10px;display:flex}.calc-progress-bar-bg{background:#2a2a2a;border-radius:3px;flex:1;height:6px;overflow:hidden}.calc-progress-bar-fill{border-radius:3px;height:100%;transition:width .4s}.calc-progress-label{color:#555;white-space:nowrap;font-size:12px}.calc-exercise-list{flex-direction:column;gap:6px;display:flex}.calc-exercise-card{cursor:pointer;text-align:left;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:background .12s,border-color .12s;display:flex}.calc-exercise-card:hover{background:#252525;border-color:#444}.calc-exercise-card.completed{background:#5b8a3c08;border-color:#5b8a3c44}.calc-exercise-num{min-width:24px;font-size:14px;font-weight:700}.calc-exercise-content{flex:1;min-width:0}.calc-exercise-name{color:#e8e8e8;font-size:13px;font-weight:600}.calc-exercise-type{color:#555;margin-top:2px;font-size:11px}.calc-exercise-arrow{color:#444;flex-shrink:0;font-size:12px}.calc-question-box{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;padding:12px 14px}.calc-question-title{color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:700}.calc-question-text{color:#ccc;font-size:14px;font-weight:500;line-height:1.6}.calc-answer-box{background:#5b8a3c18;border:1px solid #5b8a3c40;border-radius:8px;padding:12px 14px}.calc-answer-title{color:#5b8a3c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.calc-answer-text{color:#7ec850;font-size:14px;font-weight:600;line-height:1.5}.calc-explanation-box{background:#1a2a3a;border:1px solid #1bada640;border-radius:8px;padding:12px 14px}.calc-explanation-title{color:#1bada6;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.calc-explanation-text{color:#aaa;font-size:13px;line-height:1.6}.calc-moves-box{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;padding:10px 14px}.calc-moves-line{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.calc-move-chip{color:#98bc49;background:#98bc4918;border:1px solid #98bc4940;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:13px}@media (width<=768px){.module-overlay{align-items:stretch;padding:0}.module-container{border-radius:0;gap:8px;max-width:100%;max-height:97vh;padding:14px 12px 28px}.module-title{font-size:15px}.opening-grid,.ps-grid,.strategy-grid{grid-template-columns:repeat(2,1fr)}.module-btn{min-height:44px;padding:10px 12px;font-size:13px}.filter-btn{min-height:36px;padding:5px 10px;font-size:11px}}.btn-history{color:#1bada6;cursor:pointer;white-space:nowrap;background:#1bada622;border:1.5px solid #1bada6;border-radius:6px;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.btn-history:hover{color:#2dd8d0;background:#1bada644}@media (width<=768px){.btn-history{padding:5px 10px;font-size:12px}}.btn-save{text-align:center;cursor:pointer;color:#c5a35a;background:#c5a35a12;border:1px solid #c5a35a44;border-radius:6px;width:100%;padding:8px 16px;font-size:13px;transition:background .15s,color .15s}.btn-save:hover{background:#c5a35a22}.game-history-overlay{z-index:2500;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.game-history-panel{background:#161616;border:1px solid #2a2a2a;border-radius:14px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 16px 64px #000000e6}.gh-header{border-bottom:1px solid #2a2a2a;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.gh-title{color:#e8e8e8;font-size:15px;font-weight:700}.gh-header-actions{align-items:center;gap:10px;display:flex}.gh-clear-btn{color:#e87474;cursor:pointer;background:0 0;border:1px solid #c334;border-radius:6px;padding:4px 10px;font-size:12px;transition:background .12s}.gh-clear-btn:hover{background:#cc333318}.gh-close-btn{color:#555;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1;transition:color .15s}.gh-close-btn:hover{color:#ccc}.gh-empty{text-align:center;color:#666;padding:32px 20px;font-size:14px}.gh-list{scrollbar-width:thin;scrollbar-color:#333 transparent;flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.game-history-card{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;transition:border-color .12s;display:flex}.game-history-card:hover{border-color:#444}.ghc-players{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ghc-player{color:#e8e8e8;font-size:13px;font-weight:600}.ghc-vs{color:#555;font-size:11px}.ghc-result{color:#888;background:#2a2a2a;border-radius:8px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:12px;font-weight:700}.ghc-opening{color:#c5a35a;font-size:12px}.ghc-meta{color:#666;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.ghc-accuracy{align-items:center;gap:4px;display:flex}.ghc-moves{color:#555}.ghc-time{color:#555;margin-left:auto}.ghc-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;display:flex}.ghc-load-btn{color:#98bc49;cursor:pointer;background:#98bc4912;border:1px solid #98bc4944;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;transition:background .12s}.ghc-load-btn:hover{background:#98bc4925}.ghc-delete-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #c333;border-radius:6px;padding:5px 10px;font-size:14px;transition:color .12s,background .12s}.ghc-delete-btn:hover{color:#e87474;background:#cc333315}@media (width<=768px){.game-history-overlay{align-items:flex-end;padding:0}.game-history-panel{border-radius:16px 16px 0 0;max-width:100%;max-height:92vh}.ghc-player{font-size:12px}.ghc-result{font-size:11px}}.exploration-banner{color:#c5a35a;background:#2a2a1a;border:1px solid #c5a35a44;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;width:100%;max-width:480px;padding:8px 12px;font-size:12px;display:flex}.exploration-icon{flex-shrink:0;font-size:14px}.exploration-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:monospace;overflow:hidden}.exploration-nav{flex-shrink:0;align-items:center;gap:6px;display:flex}.exploration-nav-btn{color:#c5a35a;cursor:pointer;background:#3a3a1a;border:1px solid #c5a35a44;border-radius:4px;padding:2px 8px;font-size:14px;font-weight:700;line-height:1.4;transition:background .12s}.exploration-nav-btn:hover:not(:disabled){background:#4a4a1a}.exploration-nav-btn:disabled{opacity:.35;cursor:not-allowed}.exploration-pos{color:#888;text-align:center;min-width:28px;font-size:11px}.exploration-close{color:#c5a35a;cursor:pointer;white-space:nowrap;background:#c5a35a15;border:1px solid #c5a35a55;border-radius:5px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600;transition:background .12s}.exploration-close:hover{background:#c5a35a28}.engine-line.clickable{cursor:pointer;border-radius:4px;margin:-3px -4px;padding:3px 4px;transition:background .12s}.engine-line.clickable:hover{background:#2a2a2a}.engine-line-explore{opacity:0;flex-shrink:0;margin-left:auto;font-size:11px;transition:opacity .15s}.engine-line.clickable:hover .engine-line-explore{opacity:1}@media (width<=768px){.exploration-banner{max-width:100%;padding:7px 10px;font-size:11px}.exploration-label{font-size:11px}.exploration-close{min-height:36px;padding:5px 8px;font-size:11px}.engine-line-explore{opacity:.6}}.srs-quality-row{background:#1a1a2a;border:1px solid #1bada644;border-radius:8px;flex-direction:column;gap:8px;width:100%;padding:10px 12px;animation:.25s feedbackIn;display:flex}.srs-quality-label{color:#aaa;text-align:center;font-size:13px;font-weight:600}.srs-quality-buttons{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.srs-quality-btn{cursor:pointer;white-space:nowrap;border:1px solid;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:opacity .15s,transform .1s}.srs-quality-btn:hover{opacity:.85;transform:translateY(-1px)}.srs-quality-btn:active{transform:translateY(0)}.srs-quality-btn--red{color:#e87474;background:#cc333318;border-color:#c336}.srs-quality-btn--orange{color:#e07515;background:#e0751518;border-color:#e0751566}.srs-quality-btn--yellow{color:#c5a35a;background:#c5a35a18;border-color:#c5a35a66}.srs-quality-btn--green{color:#7ec850;background:#5b8a3c18;border-color:#5b8a3c66}.srs-quality-btn--bright-green{color:#98bc49;background:#98bc4918;border-color:#98bc4966}.pm-due-badge{color:#1bada6;white-space:nowrap;background:#1bada615;border:1px solid #1bada644;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:11px}.pm-tab-review{color:#1bada6;background:#1bada615;border-color:#1bada644}.pm-tab-review:hover:not(.active){color:#2dd8d0;background:#1bada625}.pm-tab-review.active{color:#1bada6;background:#1bada630;border-color:#1bada6}.pm-review-banner{color:#1bada6;background:#1a2a2a;border:1px solid #1bada644;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.pm-review-exit{color:#1bada6;cursor:pointer;background:0 0;border:1px solid #1bada644;border-radius:5px;flex-shrink:0;padding:3px 10px;font-size:11px;transition:background .12s}.pm-review-exit:hover{background:#1bada618}.offline-badge{color:#e58c2a;white-space:nowrap;background:#e58c2a15;border:1px solid #e58c2a30;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:11px}@media (width<=768px){.srs-quality-buttons{gap:4px}.srs-quality-btn{text-align:center;flex:1;min-height:38px;padding:7px 8px;font-size:11px}.pm-review-banner{padding:7px 10px;font-size:11px}}.blindfold-trainer{background:#1a1a1a;border-radius:12px;flex-direction:column;gap:14px;width:min(420px,100vw - 16px);max-height:95vh;padding:16px;display:flex;overflow-y:auto}.blindfold-header{align-items:center;gap:10px;display:flex}.blindfold-title{color:#98bc49;flex:1;font-size:16px;font-weight:700}.blindfold-stats{color:#888;gap:12px;font-size:13px;display:flex}.blindfold-board-toggle{display:flex}.blindfold-toggle-btn{color:#aaa;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:8px;min-height:44px;padding:8px 14px;font-size:13px}.blindfold-toggle-btn.active{color:#98bc49;border-color:#98bc49}.blindfold-board{border:1px solid #333;border-radius:4px;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.blindfold-question{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;padding:14px 16px}.blindfold-q-type{color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px}.blindfold-q-text{color:#e8e8e8;font-size:18px;font-weight:600;line-height:1.4}.blindfold-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.blindfold-opt{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:8px;min-height:48px;padding:12px;font-size:15px;transition:all .15s}.blindfold-opt:hover:not(:disabled){background:#333;border-color:#666}.blindfold-opt.correct{color:#98bc49;background:#1a3a1a;border-color:#5b8a3c}.blindfold-opt.wrong{color:#e87474;background:#3a1a1a;border-color:#c93a3a}.blindfold-feedback{text-align:center;border-radius:8px;padding:10px;font-size:15px;font-weight:700}.blindfold-feedback.correct{color:#98bc49;background:#98bc4915}.blindfold-feedback.wrong{color:#e87474;background:#c93a3a15}.blindfold-best{text-align:center;color:#555;font-size:12px}.blindfold-next-btn{color:#98bc49;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:8px;min-height:48px;padding:12px;font-size:14px;font-weight:600}.blindfold-next-btn:hover{background:#333}.position-explorer{background:#1a1a1a;border-radius:12px;flex-direction:column;gap:12px;width:min(460px,100vw - 16px);max-height:95vh;padding:16px;display:flex;overflow-y:auto}.pe-header{align-items:center;gap:10px;display:flex}.pe-title{color:#98bc49;flex:1;font-size:15px;font-weight:700}.pe-source-toggle{gap:4px;display:flex}.pe-src-btn{color:#888;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:6px;min-height:32px;padding:6px 10px;font-size:12px}.pe-src-btn.active{color:#98bc49;border-color:#98bc49}.pe-board-wrap{justify-content:center;display:flex}.pe-controls{gap:8px;display:flex}.pe-ctrl-btn{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:8px;flex:1;min-height:44px;padding:8px;font-size:13px}.pe-ctrl-btn:hover{background:#333}.pe-ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.pe-stats-wrap{flex-direction:column;gap:6px;display:flex}.pe-stats-label{color:#555;text-align:center;font-size:11px}.pe-result-bar{border-radius:4px;height:22px;display:flex;overflow:hidden}.pe-bar-white{color:#333;background:#e8e8e8;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.pe-bar-draw{color:#fff;background:#888;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.pe-bar-black{color:#aaa;background:#333;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.pe-section-title{color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px}.pe-moves-table{border-collapse:collapse;width:100%;font-size:13px}.pe-moves-table th{color:#555;text-align:left;border-bottom:1px solid #2a2a2a;padding:4px 8px;font-size:11px}.pe-move-row{cursor:pointer;transition:background .1s}.pe-move-row:hover{background:#2a2a2a}.pe-move-row td{border-bottom:1px solid #1e1e1e;min-height:44px;padding:8px}.pe-move-san{color:#98bc49;font-size:14px;font-weight:700}.pe-move-count{color:#888}.pe-pct{color:#555;font-size:11px}.pe-w{color:#e8e8e8}.pe-d{color:#888}.pe-b{color:#aaa}.pe-game-card{border-bottom:1px solid #2a2a2a;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.pe-game-players{color:#ccc;flex:1}.pe-game-result{color:#98bc49;font-weight:700}.pe-game-year{color:#555;font-size:11px}.pe-error{color:#e87474;background:#3a1111;border-radius:6px;padding:8px;font-size:13px}.pe-empty{color:#555;text-align:center;padding:20px;font-size:13px}.streak-badge{color:#e07515;white-space:nowrap;background:#e0751518;border:1px solid #e0751540;border-radius:10px;flex-shrink:0;padding:2px 10px;font-size:13px;font-weight:700}.btn-progress{color:#98bc49;cursor:pointer;white-space:nowrap;background:#98bc4922;border:1.5px solid #98bc49;border-radius:6px;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.btn-progress:hover{color:#b0d060;background:#98bc4944}@media (width<=768px){.btn-progress{padding:5px 8px;font-size:11px}.streak-badge{padding:2px 8px;font-size:12px}}@media (width<=480px){.btn-progress{padding:5px 8px!important;font-size:11px!important}}.progress-overlay{z-index:3000;background:#000000e0;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.progress-panel{scrollbar-width:thin;scrollbar-color:#333 transparent;background:#161616;border:1px solid #2a2a2a;border-radius:14px;flex-direction:column;gap:0;width:100%;max-width:480px;max-height:95vh;display:flex;overflow-y:auto;box-shadow:0 16px 64px #000000e6}.progress-panel::-webkit-scrollbar{width:4px}.progress-panel::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.pd-header{z-index:1;background:#161616;border-bottom:1px solid #2a2a2a;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.pd-title{color:#e8e8e8;font-size:16px;font-weight:700}.pd-close{color:#555;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1;transition:color .15s}.pd-close:hover{color:#ccc}.pd-section{border-bottom:1px solid #1e1e1e;padding:12px 16px}.pd-section-title{color:#555;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:11px;font-weight:700}.pd-streak-row{align-items:center;gap:12px;margin-bottom:4px;display:flex}.pd-streak-main{color:#e07515;font-size:22px;font-weight:700}.pd-streak-sub{color:#888;font-size:12px}.pd-streak-last{color:#555;margin-bottom:10px;font-size:12px}.streak-calendar{grid-template-columns:repeat(10,1fr);gap:4px;margin-top:8px;display:grid}.streak-cell{aspect-ratio:1;background:#2a2a2a;border:1px solid #333;border-radius:3px;width:100%}.streak-cell.studied{background:#5b8a3c;border-color:#7ec85066}.pd-week-grid{flex-direction:column;gap:6px;display:flex}.pd-week-item{background:#1e1e1e;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;display:flex}.pd-week-label{color:#888}.pd-week-val{color:#e8e8e8;font-weight:600}.progress-chart{background:#111;border:1px solid #2a2a2a;border-radius:6px;padding:8px 8px 4px}.pd-error-list{flex-direction:column;gap:6px;display:flex}.pd-error-row{align-items:center;gap:8px;font-size:12px;display:flex}.pd-error-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.pd-error-label{color:#888;flex-shrink:0;min-width:130px}.pd-error-bar-bg{background:#2a2a2a;border-radius:3px;flex:1;height:6px;overflow:hidden}.pd-error-bar-fill{border-radius:3px;height:100%;transition:width .4s}.pd-error-pct{text-align:right;flex-shrink:0;min-width:36px;font-size:12px;font-weight:700}.pd-puzzle-stats{flex-wrap:wrap;gap:12px;display:flex}.pd-puzzle-stat{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;flex-direction:column;flex:1;gap:2px;min-width:100px;padding:8px 12px;display:flex}.pd-puzzle-stat-label{color:#555;font-size:11px}.pd-puzzle-stat-val{color:#e8e8e8;font-size:15px;font-weight:700}.pd-modules-list{flex-direction:column;gap:4px;display:flex}.pd-module-row{color:#aaa;background:#1e1e1e;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;display:flex}.pd-module-val{color:#98bc49;font-weight:700}.achievements-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.achievement-badge{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;transition:border-color .15s;display:flex;position:relative}.achievement-badge.unlocked{background:#c5a35a0a;border-color:#c5a35a44}.achievement-badge.locked{opacity:.45;filter:grayscale(.8)}.achievement-badge-icon{font-size:22px}.achievement-badge-name{color:#888;text-align:center;font-size:10px;line-height:1.3}.achievement-badge.unlocked .achievement-badge-name{color:#c5a35a}.achievement-badge-check{color:#7ec850;font-size:10px;position:absolute;top:4px;right:6px}@media (width<=768px){.progress-overlay{align-items:flex-end;padding:0}.progress-panel{border-radius:16px 16px 0 0;max-width:100%;max-height:97vh}.achievements-grid{grid-template-columns:repeat(4,1fr)}.streak-calendar{grid-template-columns:repeat(15,1fr)}}.achievement-popup{z-index:9000;cursor:pointer;background:#1e1e1e;border:1.5px solid #c5a35a66;border-radius:12px;align-items:center;gap:12px;max-width:300px;padding:12px 16px;animation:.4s cubic-bezier(.34,1.56,.64,1) achieveSlideIn;display:flex;position:fixed;bottom:24px;right:16px;box-shadow:0 8px 32px #000000b3}@keyframes achieveSlideIn{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.achievement-popup-icon{flex-shrink:0;font-size:28px}.achievement-popup-text{flex-direction:column;gap:2px;display:flex}.achievement-popup-title{color:#c5a35a;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.achievement-popup-name{color:#e8e8e8;font-size:14px;font-weight:700}.achievement-popup-desc{color:#888;font-size:11px}@media (width<=480px){.achievement-popup{max-width:unset;bottom:16px;left:8px;right:8px}}.batch-progress-banner{background:#1a2a1a;border:1px solid #5b8a3c44;border-radius:6px;padding:10px 12px}.batch-progress-text{color:#7ec850;margin-bottom:6px;font-size:12px;font-weight:600}.batch-summary{background:#1a2a1a;border:1px solid #5b8a3c44;border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.batch-summary-title{color:#7ec850;font-size:13px;font-weight:700}.batch-summary-row{color:#aaa;font-size:12px}.batch-summary-row strong{color:#e8e8e8}.opening-practice-btn{color:#98bc49;cursor:pointer;text-align:center;background:#98bc4918;border:1.5px solid #98bc4966;border-radius:8px;width:100%;min-height:44px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s}.opening-practice-btn:hover{background:#98bc4930}.opening-practice-msg{text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.opening-practice-msg--success{color:#7ec850;background:#1a3a1a;border:1px solid #5b8a3c}.opening-practice-msg--error{color:#e87474;background:#3a1111;border:1px solid #c93a3a}.opening-practice-msg--info{color:#1bada6;background:#1a1a2a;border:1px solid #1bada644}.timed-mode-row{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.timed-mode-toggle{color:#888;cursor:pointer;white-space:nowrap;background:#2a2a2a;border:1px solid #444;border-radius:6px;min-height:36px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.timed-mode-toggle.active{color:#e07515;background:#e0751520;border-color:#e07515}.timed-time-options{flex-wrap:wrap;gap:4px;display:flex}.timed-time-btn{color:#888;cursor:pointer;background:#2a2a2a;border:1px solid #333;border-radius:5px;min-height:30px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .12s}.timed-time-btn.active{color:#e07515;background:#e0751520;border-color:#e07515}.timed-header{background:#1a1a18;border:1px solid #e0751530;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.timed-badge{font-variant-numeric:tabular-nums;text-align:center;border:2px solid;border-radius:8px;min-width:56px;padding:4px 10px;font-size:18px;font-weight:700;transition:color .3s,border-color .3s}.timed-score-badge{color:#c5a35a;background:#c5a35a15;border:1px solid #c5a35a44;border-radius:8px;padding:4px 10px;font-size:14px;font-weight:700}.timed-fast-streak{color:#1bada6;background:#1bada615;border:1px solid #1bada644;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;animation:.3s popIn}.timed-feedback{text-align:center;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;animation:.25s feedbackIn}.timed-feedback--correct{color:#7ec850;background:#1a3a1a;border:1px solid #5b8a3c}.timed-feedback--timeout{color:#e07515;background:#3a1a00;border:1px solid #e07515}.timed-session-stats{color:#888;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:6px;flex-wrap:wrap;gap:10px;padding:6px 10px;font-size:12px;display:flex}@media (width<=768px){.timed-badge{font-size:16px}.timed-mode-row{padding:6px 10px}}.repertoire-section-title{color:#555;text-transform:uppercase;letter-spacing:.06em;padding:4px 0;font-size:11px;font-weight:700}.repertoire-lines-list{flex-direction:column;gap:6px;display:flex}.repertoire-line-card{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;transition:border-color .12s;overflow:hidden}.repertoire-line-card:hover{border-color:#444}.repertoire-line-header{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.repertoire-line-name{color:#e8e8e8;margin-bottom:3px;font-size:13px;font-weight:700}.repertoire-line-moves{color:#888;margin-bottom:3px;font-family:monospace;font-size:11px}.repertoire-line-meta{color:#555;font-size:11px}.repertoire-line-expanded{background:#111;border-top:1px solid #2a2a2a;padding:10px 12px}.repertoire-line-full-moves{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.repertoire-moves-recorded{background:#111;border:1px solid #2a2a2a;border-radius:6px;flex-wrap:wrap;gap:4px;min-height:32px;padding:8px 10px;display:flex}.repertoire-input{color:#ccc;background:#111;border:1px solid #333;border-radius:6px;outline:none;width:100%;min-height:40px;padding:10px;font-size:13px}.repertoire-input:focus{border-color:#98bc49}.repertoire-textarea{color:#ccc;resize:vertical;background:#111;border:1px solid #333;border-radius:6px;outline:none;width:100%;padding:10px;font-family:inherit;font-size:12px}.repertoire-textarea:focus{border-color:#98bc49}@media (width<=768px){.repertoire-line-name{font-size:12px}.repertoire-line-moves{font-size:10px}}.gm-games-grid{grid-template-columns:1fr 1fr;gap:10px;padding:4px 0;display:grid}@media (width<=480px){.gm-games-grid{grid-template-columns:1fr}}.gm-game-card{text-align:left;cursor:pointer;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;width:100%;padding:12px;transition:border-color .15s,transform .15s}.gm-game-card:hover{border-color:#98bc49;transform:translateY(-2px)}.gm-annotation{color:#ddd;background:#c5a35a18;border:1px solid #c5a35a44;border-left:3px solid #c5a35a;border-radius:6px;margin-bottom:10px;padding:10px 12px;font-size:12px;line-height:1.5}.gm-why-study{background:#98bc4911;border:1px solid #98bc4933;border-radius:8px;margin-top:8px;padding:10px 12px}.pr-trainer{flex-direction:column;gap:8px;display:flex}.pr-timer{font-variant-numeric:tabular-nums;min-width:40px;transition:color .3s;display:inline-block}.pr-pattern-label{color:#e8e8e8;text-align:center;letter-spacing:.3px;padding:6px 0 4px;font-size:15px;font-weight:700}.pr-stats{border-top:1px solid #2a2a2a;justify-content:center;gap:16px;padding:6px 0;font-size:13px;font-weight:600;display:flex}.eg-tabs{border-bottom:1px solid #2a2a2a;gap:4px;margin-bottom:10px;padding-bottom:6px;display:flex}.eg-tab-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:6px;padding:5px 14px;font-size:13px;transition:all .15s}.eg-tab-btn:hover{color:#ccc;border-color:#444}.eg-tab-btn.active{color:#98bc49;background:#98bc4922;border-color:#98bc49;font-weight:600}.eg-exercise-card{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;margin-bottom:8px;padding:12px}.btn-bot{color:#a78bfa;cursor:pointer;white-space:nowrap;background:#2a1f3d;border:1px solid #7c3aed44;border-radius:8px;flex-shrink:0;min-height:44px;padding:7px 12px;font-size:13px;font-weight:600;transition:background .15s}.btn-bot:hover{background:#3d2f5a}.bot-game{background:#1a1a1a;border-radius:12px;flex-direction:column;gap:12px;width:min(440px,100vw - 16px);max-height:95vh;padding:16px;display:flex;overflow-y:auto}.bot-header{align-items:center;gap:10px;display:flex}.bot-title{color:#a78bfa;flex:1;align-items:center;gap:6px;font-size:16px;font-weight:700;display:flex}.bot-title-icon{font-size:18px}.bot-level-display{background:#2a1f3d;border:1px solid #7c3aed33;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:flex}.bot-level-name{color:#a78bfa;font-weight:600}.bot-level-num{color:#666;font-size:11px}.bot-level-change{text-align:center;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.bot-level-change.up{color:#98bc49;background:#1a3a1a;border:1px solid #98bc4940}.bot-level-change.down{color:#c5a35a;background:#3a2a1a;border:1px solid #c5a35a40}.bot-setup{flex-direction:column;gap:16px;display:flex}.bot-setup-section{flex-direction:column;gap:8px;display:flex}.bot-setup-label{color:#666;text-transform:uppercase;letter-spacing:.05em;font-size:12px}.bot-level-selector{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.bot-level-btn{cursor:pointer;background:#1e1e1e;border:1px solid #333;border-radius:8px;flex-direction:column;align-items:center;gap:3px;min-height:60px;padding:8px 4px;transition:all .15s;display:flex}.bot-level-btn:hover{background:#2a1f3d;border-color:#7c3aed}.bot-level-btn.active{color:#a78bfa;background:#2a1f3d;border-color:#7c3aed}.bot-level-btn-emoji{font-size:18px}.bot-level-btn-name{color:#aaa;font-size:11px}.bot-level-desc{color:#666;text-align:center;font-size:12px;font-style:italic}.bot-color-selector{gap:8px;display:flex}.bot-color-btn{color:#aaa;cursor:pointer;background:#1e1e1e;border:1px solid #333;border-radius:8px;flex:1;min-height:44px;padding:10px;font-size:14px;transition:all .15s}.bot-color-btn:hover{border-color:#7c3aed}.bot-color-btn.active{color:#a78bfa;background:#2a1f3d;border-color:#7c3aed}.bot-stats{background:#1e1e1e;border-radius:8px;padding:10px 12px}.bot-stats-title{color:#555;text-transform:uppercase;margin-bottom:8px;font-size:11px}.bot-stats-row{gap:12px;margin-bottom:6px;font-size:13px;display:flex}.bot-stat-w{color:#98bc49}.bot-stat-d{color:#888}.bot-stat-l{color:#c33}.bot-results-dots{flex-wrap:wrap;gap:4px;display:flex}.bot-dot{border-radius:50%;width:12px;height:12px}.bot-dot.win{background:#98bc49}.bot-dot.loss{background:#c33}.bot-dot.draw{background:#888}.bot-start-btn{width:100%;min-height:52px;padding:14px;font-size:15px}.bot-info-bar{background:#1e1e1e;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.bot-info-bar.thinking{background:#2a1f3d;border:1px solid #7c3aed44}.bot-thinking-dots{color:#a78bfa;font-size:13px}.bot-thinking-dots .dots{animation:1.2s infinite dotPulse}@keyframes dotPulse{0%,to{opacity:.3}50%{opacity:1}}.bot-check-badge{color:#fff;background:#c33;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:12px}.bot-board-wrap{justify-content:center;display:flex;position:relative}.bot-result-banner{text-align:center;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.bot-result-text{font-size:22px;font-weight:700}.bot-result-sub{color:#888;font-size:13px}.bot-level-up-msg{color:#98bc49;font-size:13px}.bot-level-down-msg{color:#c5a35a;font-size:13px}.bot-result-actions{gap:10px;margin-top:4px;display:flex}.bot-history{color:#555;flex-wrap:wrap;gap:2px;max-height:60px;font-size:12px;display:flex;overflow-y:auto}.bot-history-pair{align-items:center;gap:4px;display:flex}.bot-move-num{color:#444}.bot-move{color:#888;border-radius:3px;padding:1px 4px}.bot-move:hover{background:#2a2a2a}.bot-resign-btn{width:100%;min-height:44px}@media (width<=768px){.btn-bot{padding:6px 10px;font-size:12px}.bot-level-selector{grid-template-columns:repeat(4,1fr);gap:4px}.bot-level-btn{min-height:52px;padding:6px 2px}.bot-level-btn-emoji{font-size:16px}}.bot-fullscreen{flex-direction:column;overflow:hidden}.bot-topbar{background:#111;border-bottom:1px solid #2a2a2a;flex-shrink:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.bot-back-btn{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;min-height:40px;padding:6px 10px;font-size:14px}.bot-back-btn:hover{color:#ccc;background:#1e1e1e}.bot-topbar-center{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.bot-topbar-title{color:#a78bfa;font-size:15px;font-weight:700}.bot-level-emoji{font-size:20px}.bot-level-info{flex-direction:column;display:flex}.bot-level-name{color:#a78bfa;font-size:14px;font-weight:700;line-height:1.2}.bot-level-elo{color:#666;font-size:11px}.bot-thinking-anim{color:#a78bfa;font-size:12px;animation:1.2s infinite dotPulse}.bot-check-pill{color:#fff;background:#c33;border-radius:10px;padding:2px 8px;font-size:11px}.bot-level-bar{gap:3px;display:flex}.bot-lvl-pip{cursor:pointer;background:#1e1e1e;border:1px solid #333;border-radius:6px;min-width:32px;min-height:32px;padding:4px 6px;font-size:14px;transition:all .12s}.bot-lvl-pip:hover:not(:disabled),.bot-lvl-pip.active{background:#2a1f3d;border-color:#7c3aed}.bot-lvl-pip:disabled{opacity:.5;cursor:not-allowed}.bot-idle-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding:24px 20px;display:flex;overflow-y:auto}.bot-idle-hero{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:14px;width:100%;max-width:400px;padding:20px}.bot-idle-bot-info{align-items:center;gap:16px;display:flex}.bot-idle-emoji{font-size:48px}.bot-idle-name{color:#a78bfa;font-size:20px;font-weight:700}.bot-idle-elo{color:#888;margin:4px 0;font-size:13px}.bot-idle-elo strong{color:#c5a35a}.bot-idle-desc{color:#666;font-size:12px}.bot-color-row{gap:10px;width:100%;max-width:400px;display:flex}.bot-color-card{cursor:pointer;color:#ccc;background:#1e1e1e;border:1px solid #333;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:6px;min-height:80px;padding:16px 8px;font-size:13px;transition:all .15s;display:flex}.bot-color-card:hover{color:#a78bfa;background:#2a1f3d;border-color:#7c3aed}.bot-color-card.dark:hover{color:#fff;background:#2a2a2a;border-color:#555}.bot-color-card.random:hover{color:#c5a35a;background:#2a1f1a;border-color:#c5a35a}.bot-color-piece{font-size:28px}.bot-history-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.bot-hist-label{color:#555;font-size:12px}.bot-dots-row{gap:4px;display:flex}.bot-adapt-note{color:#555;text-align:center;max-width:360px;font-size:12px;line-height:1.5}.bot-game-main{flex-direction:column;flex:1;align-items:center;gap:10px;padding:10px;display:flex;overflow-y:auto}.bot-board-area{flex-shrink:0}.bot-result-card{text-align:center;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:12px;width:100%;max-width:400px;padding:16px}.bot-result-main{margin-bottom:6px;font-size:24px;font-weight:700}.bot-result-sub{color:#888;margin-bottom:14px;font-size:13px}.bot-result-actions{gap:10px;display:flex}.bot-result-actions button{flex:1;min-height:44px}.bot-move-history{flex-wrap:wrap;gap:2px 8px;width:100%;max-width:400px;max-height:56px;font-size:12px;display:flex;overflow-y:auto}.bot-move-pair{align-items:center;gap:4px;display:flex}.bot-move-n{color:#444}.bot-move-san{color:#888}.bot-resign-btn{width:100%;max-width:400px;min-height:48px}.btn-analyze-bot{color:#1bada6;cursor:pointer;background:#1b3a4a;border:1px solid #1bada680;border-radius:8px;width:100%;min-height:48px;margin-top:8px;padding:12px;font-size:14px;font-weight:600;transition:background .15s}.btn-analyze-bot:hover{background:#1e4a5a}@media (width>=769px){.bot-game-main{flex-direction:row;justify-content:center;align-items:flex-start;gap:20px;padding:20px}.bot-board-area{flex-shrink:0}.bot-side-panel{flex-direction:column;gap:12px;width:260px;padding-top:4px;display:flex}}
