:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0a0d26;display:flex;align-items:center;justify-content:center;--black-color:#314089;--white-color:#899ff7;--move-color:#FFD700;--selected-color:#FFA500;--check-color:#FF6B6B;--board-bg-color:#1a1d3a;--bg-primary: #1a1d3a;--bg-secondary: #1a1d3a;--bg-tertiary: #2a2d4a;--text-primary: #ffffff;--text-secondary: #b8bcc8;--text-muted: #8a8d9a;--border-color: #3a3d5a;--accent-color: #40fbdc;--accent-hover: #2dd4bf;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--shadow: 0 4px 12px rgba(0, 0, 0, .3);--bg-color: #0a0d26;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{background-color:#0a0d26;color:#ffffffde;margin:0;padding:0;min-height:100vh;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#app{background-color:#0a0d26;min-height:100vh;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}*{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;outline:none}input,textarea{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.theme-toggle-btn{position:fixed;top:20px;right:20px;width:50px;height:50px;border:none;border-radius:50%;background:var(--bg-primary);border:2px solid var(--border-color);cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;z-index:1000;box-shadow:var(--shadow);transition:all .3s ease}.theme-toggle-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003}.container{display:flex;gap:40px;justify-content:center;align-items:flex-start;margin-top:40px;background:var(--bg-color);min-height:100vh;padding:20px}.right-column{display:flex;flex-direction:column;gap:20px}@media (max-width: 1200px){.container{flex-direction:column;align-items:center;gap:30px;padding:20px 10px}.right-column{width:100%;max-width:605px}}@media (max-width: 768px){.container{margin-top:20px;gap:20px;padding:15px 10px}.theme-toggle-btn{top:10px;right:10px;width:45px;height:45px;font-size:20px}.right-column{gap:15px}}@media (max-width: 480px){.container{margin-top:10px;gap:15px;padding:10px 5px}.theme-toggle-btn{width:40px;height:40px;font-size:18px}}.teacher-container[data-v-baa08bca]{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--bg-primary)}.teacher-avatar[data-v-baa08bca]{flex-shrink:0}.speech-bubble[data-v-baa08bca]{flex:1;background:var(--bg-secondary);border-radius:10px;padding:14px 16px;border:1px solid var(--border-color);font-size:14px;line-height:1.5}.speech-bubble.good[data-v-baa08bca]{background:var(--success-color);background:linear-gradient(135deg,#10b9811a,#10b98133);border-color:var(--success-color)}.speech-bubble.bad[data-v-baa08bca]{background:var(--warning-color);background:linear-gradient(135deg,#f59e0b1a,#f59e0b33);border-color:var(--warning-color)}.lesson-message[data-v-baa08bca]{margin:0;font-weight:500;color:var(--text-primary)}.hint-box[data-v-baa08bca]{margin-top:10px;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;display:flex;align-items:center;gap:8px}.hint-label[data-v-baa08bca]{font-size:13px;font-weight:500;color:var(--text-secondary)}.hint-move[data-v-baa08bca]{font-size:14px;font-weight:600;color:var(--text-primary);font-family:Courier New,monospace}@media (max-width: 768px){.teacher-container[data-v-baa08bca]{padding:15px;gap:12px}.speech-bubble[data-v-baa08bca]{padding:12px 14px;font-size:13px}.lesson-message[data-v-baa08bca]{font-size:13px}.hint-box[data-v-baa08bca]{padding:8px 10px}.hint-label[data-v-baa08bca]{font-size:12px}.hint-move[data-v-baa08bca]{font-size:13px}}@media (max-width: 480px){.teacher-container[data-v-baa08bca]{padding:12px;gap:10px}.speech-bubble[data-v-baa08bca]{padding:10px 12px;font-size:12px}.lesson-message[data-v-baa08bca]{font-size:12px}.hint-box[data-v-baa08bca]{padding:6px 8px}.hint-label[data-v-baa08bca]{font-size:11px}.hint-move[data-v-baa08bca]{font-size:12px}}.lesson-box[data-v-cc924d75]{width:605px;background:var(--bg-primary);border-radius:15px;overflow:hidden;box-shadow:var(--shadow);border:3px solid var(--border-color);display:flex;flex-direction:column}.lesson-box h2[data-v-cc924d75]{margin:0;padding:18px 20px;background:var(--bg-secondary);color:var(--text-primary);font-size:16px;font-weight:600;border-bottom:2px solid var(--border-color)}.button-group[data-v-cc924d75]{display:flex;gap:8px;justify-content:flex-end;padding:14px 16px;background:var(--bg-secondary);border-top:2px solid var(--border-color)}.demo-btn[data-v-cc924d75],.hint-btn[data-v-cc924d75],.stop-btn[data-v-cc924d75],.reset-btn[data-v-cc924d75]{padding:10px 18px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid #ddd;cursor:pointer;transition:all .15s}.demo-btn[data-v-cc924d75]:hover,.hint-btn[data-v-cc924d75]:hover{background:#2dd4bf;transform:translateY(-1px);box-shadow:0 4px 12px #40fbdc4d}.demo-btn[data-v-cc924d75]{background:#40fbdc;color:#000;border-color:#40fbdc;font-weight:700}.stop-btn[data-v-cc924d75]{background:#ffebee;color:#c62828;border-color:#ef9a9a}.hint-btn[data-v-cc924d75]{background:#40fbdc;color:#000;border-color:#40fbdc;font-weight:700}@media (max-width: 1200px){.lesson-box[data-v-cc924d75]{width:100%;max-width:605px}}@media (max-width: 768px){.lesson-box[data-v-cc924d75]{width:100%}.lesson-box h2[data-v-cc924d75]{font-size:15px;padding:15px 18px}.button-group[data-v-cc924d75]{padding:12px 14px}.demo-btn[data-v-cc924d75],.hint-btn[data-v-cc924d75],.stop-btn[data-v-cc924d75],.reset-btn[data-v-cc924d75]{padding:8px 16px;font-size:12px}}@media (max-width: 480px){.lesson-box h2[data-v-cc924d75]{font-size:14px;padding:12px 15px}.button-group[data-v-cc924d75]{padding:10px 12px;gap:6px}.demo-btn[data-v-cc924d75],.hint-btn[data-v-cc924d75],.stop-btn[data-v-cc924d75],.reset-btn[data-v-cc924d75]{padding:6px 12px;font-size:11px}}h2[data-v-cc924d75]{display:flex;align-items:center;gap:12px}.turn-dot[data-v-cc924d75]{width:12px;height:12px;border-radius:50%;background:#ccc;transition:all .3s ease;flex-shrink:0}.turn-dot.active[data-v-cc924d75]{background:#fff;box-shadow:0 0 8px #fffc}.chess-piece[data-v-79cd6616]{width:100%;height:100%}.chess-board-container[data-v-044f2f9b]{width:605px;height:605px;background-color:#f0d9b5;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA4IDgiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyI+CjxnIGlkPSJhIj4KICA8ZyBpZD0iYiI+CiAgICA8ZyBpZD0iYyI+CiAgICAgIDxnIGlkPSJkIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZSIgb3BhY2l0eT0iMCIvPgogICAgICAgIDx1c2UgeD0iMSIgeT0iMSIgaHJlZj0iI2UiIHg6aHJlZj0iI2UiLz4KICAgICAgICA8cmVjdCB5PSIxIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBpZD0iZiIgb3BhY2l0eT0iMC4yIi8+CiAgICAgICAgPHVzZSB4PSIxIiB5PSItMSIgaHJlZj0iI2YiIHg6aHJlZj0iI2YiLz4KICAgICAgPC9nPgogICAgICA8dXNlIHg9IjIiIGhyZWY9IiNkIiB4OmhyZWY9IiNkIi8+CiAgICA8L2c+CiAgICA8dXNlIHg9IjQiIGhyZWY9IiNjIiB4OmhyZWY9IiNjIi8+CiAgPC9nPgogIDx1c2UgeT0iMiIgaHJlZj0iI2IiIHg6aHJlZj0iI2IiLz4KPC9nPgo8dXNlIHk9IjQiIGhyZWY9IiNhIiB4OmhyZWY9IiNhIi8+Cjwvc3ZnPg==);display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--white-color);border-radius:15px;padding-top:20px;padding-right:20px;box-shadow:0 8px 24px #00000026;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.board-with-rows[data-v-044f2f9b]{display:flex;align-items:center}.row-labels[data-v-044f2f9b]{display:grid;grid-template-rows:repeat(8,69px);color:var(--black-color);font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;margin-right:12px;margin-top:23px}.row-label[data-v-044f2f9b]{display:flex;align-items:center;justify-content:center}.chess-board[data-v-044f2f9b]{display:grid;grid-template-columns:repeat(8,69px);grid-template-rows:repeat(8,69px);border:3px solid var(--black-color);box-shadow:0 4px 12px #0003;border-radius:2px;overflow:hidden;animation:board-appear-044f2f9b .3s ease-out}@keyframes board-appear-044f2f9b{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.square[data-v-044f2f9b]{width:69px;height:69px;display:flex;align-items:center;justify-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;outline:none}.white[data-v-044f2f9b]{background-color:var(--white-color)}.black[data-v-044f2f9b]{background-color:var(--black-color)}.piece[data-v-044f2f9b]{width:100%;height:100%;cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;outline:none;display:flex;align-items:center;justify-content:center}.piece[data-v-044f2f9b]:active{cursor:grabbing}.empty-square[data-v-044f2f9b]{width:100%;height:100%}.column-labels[data-v-044f2f9b]{display:grid;grid-template-columns:repeat(8,69px);padding:10px;margin:-10px}.column-label[data-v-044f2f9b]{display:flex;justify-content:center;align-items:center;color:var(--black-color);font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:600}.selected[data-v-044f2f9b]{background-color:var(--selected-color)!important;animation:pulse-select-044f2f9b .3s ease-out}@keyframes pulse-select-044f2f9b{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.possible-move[data-v-044f2f9b]{position:relative}.possible-move[data-v-044f2f9b]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(0,0,0,.1) 0%,transparent 70%);pointer-events:none}.move-point[data-v-044f2f9b]{width:20px;height:20px;background-color:#00000040;border-radius:50%;position:absolute;pointer-events:none;animation:fade-in-044f2f9b .2s ease-out}@keyframes fade-in-044f2f9b{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.king-check[data-v-044f2f9b]{background-color:var(--check-color)!important;animation:check-pulse-044f2f9b 1s ease-in-out infinite;box-shadow:inset 0 0 20px #ff00004d}@keyframes check-pulse-044f2f9b{0%,to{filter:brightness(1)}50%{filter:brightness(.85)}}.last-move[data-v-044f2f9b]{background-color:var(--move-color)!important;position:relative;animation:highlight-move-044f2f9b .4s ease-out}.premove[data-v-044f2f9b]{background-color:#00ff004d!important;border:2px solid #00ff00;position:relative}@keyframes highlight-move-044f2f9b{0%{box-shadow:inset 0 0 0 3px #ff0c}to{box-shadow:inset 0 0 #ff00}}.last-move[data-v-044f2f9b]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,100,.15) 0%,transparent 70%);pointer-events:none}.square.dragging .piece[data-v-044f2f9b]{opacity:.5}.lesson-module[data-v-8b2e878c]{display:flex;flex-direction:column;align-items:center;gap:20px}.mobile-message{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--bg-primary);z-index:9999;justify-content:center;align-items:center}.mobile-content{text-align:center;padding:20px;max-width:400px}.mobile-logo{width:150px;height:50px;object-fit:contain;margin-bottom:20px}.mobile-content h1{font-size:24px;color:var(--text-color);margin-bottom:15px}.mobile-content p{font-size:16px;color:var(--text-secondary);line-height:1.5}.mobile-features{margin-top:25px;padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.mobile-features p{margin:8px 0;font-size:14px;color:var(--text-color);display:flex;align-items:center;gap:8px}.header-logo{position:fixed;top:20px;left:0;display:flex;align-items:center;gap:0px;z-index:1000}.logo{width:120px;height:40px;object-fit:contain}.app-name{font-family:Montserrat,sans-serif;font-size:24px;font-weight:700;font-style:normal;color:var(--text-color);letter-spacing:1px;opacity:.9;margin-left:-35px}@media (max-width: 768px){.mobile-message{display:flex}.container{display:none}}.packages-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.package-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:12px}.package-card:hover{background:var(--bg-tertiary);border-color:var(--package-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.package-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--package-color);border-radius:8px;color:#fff}.package-content{flex:1}.package-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.package-description{font-size:13px;color:var(--text-secondary);margin:0 0 8px}.package-stats{display:flex;align-items:center;gap:8px}.lesson-count{font-size:12px;color:var(--text-muted);background:var(--bg-primary);padding:2px 8px;border-radius:12px}.package-lessons{margin-top:12px}.package-lessons-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.back-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:6px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.back-btn:hover{background:var(--border-color);color:var(--text-primary)}.package-lessons-header h4{margin:0;color:var(--text-primary);font-size:16px}.lessons-list{list-style:none;padding:0;margin:0}.lessons-list li{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s;margin-bottom:8px;box-shadow:var(--shadow);color:var(--text-primary)}.lessons-list li:hover{background:var(--bg-tertiary);transform:translate(2px);box-shadow:0 4px 8px #0003}.lesson-content{flex:1;cursor:pointer}.lesson-actions{display:flex;align-items:center;gap:8px}.lessons-list li.active{border-color:var(--accent-color);background:var(--accent-color);color:#000;box-shadow:0 4px 12px #40fbdc4d;font-weight:700}.lesson-info{display:flex;flex-direction:column;gap:4px;flex:1}.lesson-title{font-size:14px;font-weight:500;color:inherit}.lesson-difficulty{font-size:11px;padding:2px 6px;border-radius:10px;font-weight:500}.lesson-difficulty.débutant{background:#10b98133;color:var(--success-color)}.lesson-difficulty.intermédiaire{background:#f59e0b33;color:var(--warning-color)}.lesson-difficulty.avancé{background:#ef444433;color:var(--danger-color)}.sr-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--text-secondary);transition:color .2s ease}.sr-checkbox:hover{color:var(--text-primary)}.sr-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-color)}.sr-checkbox input[type=checkbox]:checked{accent-color:var(--success-color)}.sr-label{font-size:11px;font-weight:500;-webkit-user-select:none;user-select:none}@media (max-width: 1200px){.module-selector,.spaced-repetition{width:100%;max-width:605px}}@media (max-width: 768px){.module-selector{padding:12px}.module-selector li{padding:10px 12px;font-size:13px}.lesson-title{font-size:13px!important}.spaced-repetition{padding:12px}.spaced-repetition h3{font-size:16px}.stat-item{padding:8px}.stat-item .number{font-size:18px}.stat-item .label{font-size:11px}.review-item{padding:8px 10px;font-size:13px}}@media (max-width: 480px){.module-selector{padding:10px}.module-selector li{padding:8px 10px;font-size:12px}.lesson-title{font-size:12px!important}.spaced-repetition{padding:10px}.spaced-repetition h3{font-size:14px}.stat-item{padding:6px}.stat-item .number{font-size:16px}.stat-item .label{font-size:10px}.review-item{padding:6px 8px;font-size:12px}}.spaced-repetition-container{display:flex;flex-direction:column;align-items:center;gap:10px}.module-selector{width:250px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.module-icon .avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-color)}.module-selector ul{list-style:none;padding:0;margin:12px 0 0}.module-selector li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:8px;box-shadow:var(--shadow);color:var(--text-primary)}.module-selector li:hover{background:var(--bg-tertiary);transform:translate(2px);box-shadow:0 4px 8px #0003}.module-selector li.active{border-color:var(--accent-color);background:var(--accent-color);color:#000;box-shadow:0 4px 12px #40fbdc4d;font-weight:700}.module-selector li.recommended{border-color:var(--success-color);background:var(--bg-secondary);position:relative;box-shadow:var(--shadow)}.module-selector li.recommended:hover{background:var(--bg-tertiary);box-shadow:0 4px 8px #0003}.module-selector li.overdue{border-color:var(--warning-color);background:var(--bg-secondary);box-shadow:var(--shadow)}.module-selector li.error{border-color:var(--danger-color);background:var(--bg-secondary);box-shadow:var(--shadow)}.module-selector .lesson-title{font-size:14px;font-weight:500;color:var(--text-primary)}.recommended-badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:16px}.spaced-repetition-icon .avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;overflow:hidden}.spaced-repetition-icon .avatar img{width:100%;height:100%;object-fit:cover}.spaced-repetition{width:250px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.bubble-header .titles h3{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.bubble-header .titles .subtitle{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.spaced-repetition h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.stats{display:flex;justify-content:space-between;margin-bottom:16px}.stat-item{text-align:center;flex:1}.stat-item .number{display:block;font-size:20px;font-weight:700;color:var(--accent-color)}.stat-item .label{font-size:12px;color:var(--text-secondary)}.lessons-to-review h4{margin:0 0 12px;font-size:14px;color:var(--text-primary)}.review-list{display:flex;flex-direction:column;gap:8px}.review-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;min-height:48px;box-sizing:border-box}.review-item:hover{background:var(--bg-secondary);transform:translate(2px)}.review-item.overdue{border-color:#dc3545;background:#fff5f5}.review-item.error{border-color:#ff6b35;background:#fff3e0}.review-item.to-review{border-color:red;background:linear-gradient(135deg,#f003,#ff00001a);border-left:5px solid #ff0000;box-shadow:0 4px 12px #ff00004d;transform:scale(1.02)}.review-item .lesson-title{font-size:14px;font-weight:500;color:var(--text-primary);flex:1;margin-right:8px}.overdue-badge{background:#dc3545;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;flex-shrink:0}.due-badge{background:#ffc107;color:#333;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;flex-shrink:0}.error-badge{background:#ff6b35;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;flex-shrink:0}.no-reviews{text-align:center;padding:20px 0}.celebration{font-size:32px;margin-bottom:8px}.no-reviews p{margin:0;color:var(--text-secondary);font-size:14px}.theme-toggle-btn,.language-toggle-btn,.piece-selector-btn{position:fixed;top:20px;width:40px;height:40px;border-radius:50%;border:2px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);z-index:1000}.theme-toggle-btn{right:20px}.language-toggle-btn{right:70px}.piece-selector-btn{right:120px}.theme-toggle-btn:hover,.language-toggle-btn:hover,.piece-selector-btn:hover{background:var(--bg-secondary);border-color:var(--accent-color);transform:scale(1.1)}.piece-icon{width:20px;height:20px;object-fit:contain}.piece-selector-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.piece-selector-modal{background:var(--bg-primary);border-radius:16px;padding:24px;max-width:800px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;border:1px solid var(--border-color)}.piece-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.piece-selector-header h3{margin:0;color:var(--text-primary);font-size:20px}.close-btn{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.piece-sets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.piece-set-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;text-align:center}.piece-set-card:hover{background:var(--bg-tertiary);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.piece-set-card.active{border-color:var(--accent-color);background:linear-gradient(135deg,#40fbdc1a,#40fbdc0d);box-shadow:0 4px 12px #40fbdc4d}.piece-set-preview{margin-bottom:12px}.piece-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-width:120px;margin:0 auto}.piece-preview{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-color)}.piece-preview img{width:24px;height:24px;object-fit:contain}.piece-set-info h4{margin:0 0 4px;color:var(--text-primary);font-size:14px;font-weight:600}.piece-set-info p{margin:0;color:var(--text-secondary);font-size:12px}
