.board-container[data-v-01d6095d]{width:100%;display:flex;justify-content:center;padding:8px}.sudoku-canvas[data-v-01d6095d]{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);cursor:pointer;transition:box-shadow var(--transition-fast)}.sudoku-canvas[data-v-01d6095d]:hover{box-shadow:var(--shadow-xl)}.numpad-wrapper[data-v-dfcf0559]{display:flex;flex-direction:column;gap:12px}.notes-toggle[data-v-dfcf0559]{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.notes-toggle[data-v-dfcf0559]:hover:not(:disabled){border-color:var(--warning);background:var(--bg-tertiary);color:var(--warning)}.notes-toggle[data-v-dfcf0559]:disabled{opacity:.4;cursor:not-allowed}.notes-toggle--active[data-v-dfcf0559]{border-color:var(--warning);background:var(--warning);color:var(--text-inverse)}.notes-toggle--active[data-v-dfcf0559]:hover:not(:disabled){background:var(--warning-hover, #d97706);color:var(--text-inverse)}.numpad[data-v-dfcf0559]{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}@media(max-width:640px){.numpad[data-v-dfcf0559]{grid-template-columns:repeat(5,1fr);gap:6px}}.numpad-btn[data-v-dfcf0559]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:48px;min-height:56px;padding:8px;border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.numpad-btn[data-v-dfcf0559]:hover:not(:disabled){border-color:var(--primary);background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.numpad-btn[data-v-dfcf0559]:active:not(:disabled){transform:translateY(0)}.numpad-btn[data-v-dfcf0559]:disabled{opacity:.4;cursor:not-allowed}.numpad-btn--active[data-v-dfcf0559]{border-color:var(--primary);background:var(--primary);color:var(--text-inverse);box-shadow:var(--shadow-md)}.numpad-btn--active[data-v-dfcf0559]:hover:not(:disabled){background:var(--primary-hover)}.numpad-btn--active .numpad-count[data-v-dfcf0559]{background:#ffffff4d;color:var(--text-inverse)}.numpad-btn--notes[data-v-dfcf0559]:not(.numpad-btn--active):not(:disabled){border-style:dashed;border-color:var(--warning)}.numpad-btn--notes[data-v-dfcf0559]:not(.numpad-btn--active):not(:disabled):hover{border-color:var(--warning);background:#f59e0b1a}.numpad-btn--complete[data-v-dfcf0559]{opacity:.35;border-style:dashed}.numpad-btn--clear[data-v-dfcf0559]{background:var(--bg-tertiary)}.numpad-btn--clear[data-v-dfcf0559]:hover:not(:disabled){background:var(--error);border-color:var(--error);color:var(--text-inverse)}.numpad-btn--clear.numpad-btn--active[data-v-dfcf0559]{background:var(--error);border-color:var(--error);color:var(--text-inverse)}@media(max-width:640px){.numpad-btn[data-v-dfcf0559]{min-width:40px;min-height:48px;padding:6px}}.numpad-value[data-v-dfcf0559]{font-size:20px;line-height:1}@media(max-width:640px){.numpad-value[data-v-dfcf0559]{font-size:18px}}.numpad-count[data-v-dfcf0559]{font-size:10px;font-weight:500;padding:1px 5px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-tertiary)}@media(max-width:640px){.numpad-count[data-v-dfcf0559]{font-size:9px;padding:1px 4px}}.timer[data-v-8432a32d]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.timer-display[data-v-8432a32d]{display:flex;align-items:center;gap:10px}.timer-icon[data-v-8432a32d]{color:var(--primary)}.timer-value[data-v-8432a32d]{font-size:24px;font-weight:700;font-family:JetBrains Mono,Consolas,monospace;color:var(--text-primary);min-width:80px;letter-spacing:1px}.timer-btn[data-v-8432a32d]{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.timer-btn[data-v-8432a32d]:hover:not(:disabled){background:var(--primary);color:var(--text-inverse)}.timer-btn[data-v-8432a32d]:disabled{opacity:.4;cursor:not-allowed}.timer-btn--paused[data-v-8432a32d]:not(:disabled){background:var(--success);color:var(--text-inverse);animation:pulse-8432a32d 2s ease-in-out infinite}.timer-btn--paused[data-v-8432a32d]:not(:disabled):hover{background:#059669}@keyframes pulse-8432a32d{0%,to{opacity:1}50%{opacity:.8}}.control-panel[data-v-7341306b]{display:flex;flex-direction:column;gap:12px}.control-row[data-v-7341306b]{display:flex;gap:8px;flex-wrap:wrap}.btn-group[data-v-7341306b]{display:flex}.btn-group .btn[data-v-7341306b]:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group .btn[data-v-7341306b]:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.btn[data-v-7341306b]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;border-radius:var(--radius-md);border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn svg[data-v-7341306b]{transition:transform var(--transition-fast)}.btn[data-v-7341306b]:disabled{opacity:.5;cursor:not-allowed}.btn--primary[data-v-7341306b]{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.btn--primary[data-v-7341306b]:hover:not(:disabled){background:var(--primary-hover)}.btn--secondary[data-v-7341306b]{background:var(--bg-secondary);color:var(--text-primary)}.btn--secondary[data-v-7341306b]:hover:not(:disabled){background:var(--bg-tertiary)}.btn--ghost[data-v-7341306b]{background:transparent;color:var(--text-secondary);border-color:transparent}.btn--ghost[data-v-7341306b]:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn--accent[data-v-7341306b]{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.btn--accent[data-v-7341306b]:hover:not(:disabled){background:var(--accent-hover)}.btn--icon[data-v-7341306b]{padding:10px;min-width:40px}.btn--full[data-v-7341306b]{width:100%;margin-top:8px}.options-panel[data-v-7341306b]{padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:12px}.options-hint[data-v-7341306b]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--primary);background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--accent-rgb),.1));border-radius:var(--radius-md);font-size:12px;color:var(--text-secondary);line-height:1.5}.options-hint svg[data-v-7341306b]{flex-shrink:0;margin-top:1px;color:var(--primary)}.difficulty-selector[data-v-7341306b]{display:flex;gap:4px;flex-wrap:wrap}.diff-btn[data-v-7341306b]{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.diff-btn[data-v-7341306b]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.diff-btn.active[data-v-7341306b]{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.slider-container[data-v-7341306b]{display:flex;align-items:center;gap:12px;flex:1;max-width:200px}.slider[data-v-7341306b]{flex:1;height:6px;border-radius:3px;background:var(--bg-secondary);appearance:none;cursor:pointer}.slider[data-v-7341306b]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary);cursor:pointer;transition:transform var(--transition-fast)}.slider[data-v-7341306b]::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider[data-v-7341306b]::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--primary);cursor:pointer}.slider-value[data-v-7341306b]{font-size:12px;font-weight:600;color:var(--primary);min-width:40px;text-align:right}.slider-hint[data-v-7341306b]{font-size:11px;color:var(--text-tertiary);margin-top:-4px}.option-row[data-v-7341306b]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.option-row--checkbox[data-v-7341306b]{justify-content:flex-start}.option-label[data-v-7341306b]{font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.select[data-v-7341306b]{flex:1;max-width:160px;padding:8px 32px 8px 12px;font-size:13px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px}.range-input[data-v-7341306b]{display:flex;align-items:center;gap:8px}.range-sep[data-v-7341306b]{color:var(--text-tertiary)}.input[data-v-7341306b]{padding:8px 10px;font-size:13px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-primary)}.input--sm[data-v-7341306b]{width:60px;text-align:center}.checkbox-label[data-v-7341306b]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-primary)}.checkbox-label input[type=checkbox][data-v-7341306b]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.slide-enter-active[data-v-7341306b],.slide-leave-active[data-v-7341306b]{transition:all var(--transition-normal);overflow:hidden}.slide-enter-from[data-v-7341306b],.slide-leave-to[data-v-7341306b]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.slide-enter-to[data-v-7341306b],.slide-leave-from[data-v-7341306b]{max-height:400px}.theme-toggle[data-v-7449d52c]{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.theme-toggle[data-v-7449d52c]:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-medium)}.theme-icon[data-v-7449d52c]{font-size:16px}@media(max-width:480px){.theme-label[data-v-7449d52c]{display:none}}.modal-overlay[data-v-0f175c87]{position:fixed;inset:0;background:#0009;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-0f175c87]{position:relative;background:var(--bg-secondary);border-radius:var(--radius-xl);padding:40px;text-align:center;box-shadow:var(--shadow-xl);max-width:400px;width:100%;overflow:hidden}.confetti[data-v-0f175c87]{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none;overflow:hidden}.confetti-piece[data-v-0f175c87]{position:absolute;top:-20px;left:var(--x);width:10px;height:10px;background:var(--primary);animation:confetti-fall-0f175c87 3s ease-out var(--delay) infinite;transform:rotate(var(--rotation))}.confetti-piece[data-v-0f175c87]:nth-child(odd){background:var(--accent);border-radius:50%}.confetti-piece[data-v-0f175c87]:nth-child(3n){background:var(--success)}@keyframes confetti-fall-0f175c87{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(400px) rotate(720deg);opacity:0}}.victory-icon[data-v-0f175c87]{font-size:72px;margin-bottom:16px;animation:bounce-0f175c87 1s ease infinite}@keyframes bounce-0f175c87{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.victory-title[data-v-0f175c87]{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:24px}.victory-stats[data-v-0f175c87]{display:flex;justify-content:center;gap:24px;margin-bottom:32px}.stat[data-v-0f175c87]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-0f175c87]{font-size:13px;color:var(--text-tertiary)}.stat-value[data-v-0f175c87]{font-size:24px;font-weight:700;font-family:JetBrains Mono,Consolas,monospace;color:var(--primary)}.victory-actions[data-v-0f175c87]{display:flex;gap:12px;justify-content:center}.btn[data-v-0f175c87]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;font-size:14px;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast)}.btn--primary[data-v-0f175c87]{background:var(--primary);color:var(--text-inverse)}.btn--primary[data-v-0f175c87]:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--ghost[data-v-0f175c87]{background:transparent;color:var(--text-secondary)}.btn--ghost[data-v-0f175c87]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-enter-active[data-v-0f175c87],.modal-leave-active[data-v-0f175c87]{transition:all .3s ease}.modal-enter-from[data-v-0f175c87],.modal-leave-to[data-v-0f175c87]{opacity:0}.modal-enter-from .modal-content[data-v-0f175c87],.modal-leave-to .modal-content[data-v-0f175c87]{transform:scale(.9)}.modal-enter-to[data-v-0f175c87],.modal-leave-from[data-v-0f175c87]{opacity:1}.modal-enter-to .modal-content[data-v-0f175c87],.modal-leave-from .modal-content[data-v-0f175c87]{transform:scale(1)}.loading-overlay[data-v-675b24b3]{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-675b24b3 .2s ease}.loading-content[data-v-675b24b3]{display:flex;flex-direction:column;align-items:center;gap:20px}.spinner--sm[data-v-675b24b3]{--cell-size: 12px;--gap: 3px}.spinner--md[data-v-675b24b3]{--cell-size: 18px;--gap: 4px}.spinner--lg[data-v-675b24b3]{--cell-size: 24px;--gap: 5px}.spinner-grid[data-v-675b24b3]{display:grid;grid-template-columns:repeat(3,var(--cell-size, 18px));gap:var(--gap, 4px)}.spinner-cell[data-v-675b24b3]{width:var(--cell-size, 18px);height:var(--cell-size, 18px);background:var(--primary);border-radius:3px;animation:pulse-cell-675b24b3 1.2s ease-in-out infinite}.spinner-cell[data-v-675b24b3]:nth-child(1){animation-delay:0s}.spinner-cell[data-v-675b24b3]:nth-child(2){animation-delay:.1s}.spinner-cell[data-v-675b24b3]:nth-child(3){animation-delay:.2s}.spinner-cell[data-v-675b24b3]:nth-child(4){animation-delay:.3s}.spinner-cell[data-v-675b24b3]:nth-child(5){animation-delay:.4s}.spinner-cell[data-v-675b24b3]:nth-child(6){animation-delay:.5s}.spinner-cell[data-v-675b24b3]:nth-child(7){animation-delay:.6s}.spinner-cell[data-v-675b24b3]:nth-child(8){animation-delay:.7s}.spinner-cell[data-v-675b24b3]:nth-child(9){animation-delay:.8s}@keyframes pulse-cell-675b24b3{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.loading-message[data-v-675b24b3]{color:#fff;font-size:16px;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.3)}@keyframes fadeIn-675b24b3{0%{opacity:0}to{opacity:1}}:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: #a5b4fc;--primary-rgb: 99, 102, 241;--accent: #f59e0b;--accent-hover: #d97706;--accent-rgb: 245, 158, 11;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--bg-primary: #faf9f7;--bg-secondary: #ffffff;--bg-tertiary: #f3f4f6;--bg-elevated: #ffffff;--text-primary: #1f2937;--text-secondary: #4b5563;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--border-light: #e5e7eb;--border-medium: #d1d5db;--border-dark: #1f2937;--board-bg: #fffef9;--board-line: #cbd5e1;--board-line-bold: #334155;--cell-selected: rgba(99, 102, 241, .25);--cell-highlight: rgba(245, 158, 11, .2);--cell-conflict: rgba(239, 68, 68, .2);--cell-given: #1e293b;--cell-user: #6366f1;--cell-error: #dc2626;--cage-1: rgba(254, 202, 202, .5);--cage-2: rgba(191, 219, 254, .5);--cage-3: rgba(187, 247, 208, .5);--cage-4: rgba(254, 240, 138, .5);--cage-5: rgba(221, 214, 254, .5);--cage-6: rgba(165, 243, 252, .5);--cage-7: rgba(252, 211, 229, .5);--cage-8: rgba(217, 249, 157, .5);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}[data-theme=dark]{--primary: #818cf8;--primary-hover: #a5b4fc;--primary-light: #4338ca;--primary-rgb: 129, 140, 248;--accent: #fbbf24;--accent-hover: #fcd34d;--accent-rgb: 251, 191, 36;--bg-primary: #0f0f14;--bg-secondary: #1a1a24;--bg-tertiary: #252532;--bg-elevated: #1e1e2a;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #64748b;--text-inverse: #0f172a;--border-light: #2d2d3a;--border-medium: #3d3d4d;--border-dark: #e2e8f0;--board-bg: #1a1a26;--board-line: #3d3d4d;--board-line-bold: #e2e8f0;--cell-selected: rgba(129, 140, 248, .3);--cell-highlight: rgba(251, 191, 36, .25);--cell-conflict: rgba(239, 68, 68, .25);--cell-given: #f1f5f9;--cell-user: #a5b4fc;--cell-error: #f87171;--cage-1: rgba(220, 38, 38, .25);--cage-2: rgba(37, 99, 235, .25);--cage-3: rgba(22, 163, 74, .25);--cage-4: rgba(234, 179, 8, .25);--cage-5: rgba(147, 51, 234, .25);--cage-6: rgba(6, 182, 212, .25);--cage-7: rgba(219, 39, 119, .25);--cage-8: rgba(132, 204, 22, .25);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .3)}@media(prefers-color-scheme:dark){[data-theme=auto]{--primary: #818cf8;--primary-hover: #a5b4fc;--primary-light: #4338ca;--primary-rgb: 129, 140, 248;--accent: #fbbf24;--accent-hover: #fcd34d;--accent-rgb: 251, 191, 36;--bg-primary: #0f0f14;--bg-secondary: #1a1a24;--bg-tertiary: #252532;--bg-elevated: #1e1e2a;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #64748b;--text-inverse: #0f172a;--border-light: #2d2d3a;--border-medium: #3d3d4d;--border-dark: #e2e8f0;--board-bg: #1a1a26;--board-line: #3d3d4d;--board-line-bold: #e2e8f0;--cell-selected: rgba(129, 140, 248, .3);--cell-highlight: rgba(251, 191, 36, .25);--cell-conflict: rgba(239, 68, 68, .25);--cell-given: #f1f5f9;--cell-user: #a5b4fc;--cell-error: #f87171;--cage-1: rgba(220, 38, 38, .25);--cage-2: rgba(37, 99, 235, .25);--cage-3: rgba(22, 163, 74, .25);--cage-4: rgba(234, 179, 8, .25);--cage-5: rgba(147, 51, 234, .25);--cage-6: rgba(6, 182, 212, .25);--cage-7: rgba(219, 39, 119, .25);--cage-8: rgba(132, 204, 22, .25);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .3)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh;transition:background-color var(--transition-normal),color var(--transition-normal)}#app{min-height:100vh;display:flex;flex-direction:column}.no-select{user-select:none;-webkit-user-select:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);outline:none}.btn:focus-visible{box-shadow:0 0 0 3px var(--primary-light)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary);color:var(--text-inverse)}.btn--primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-light)}.btn--secondary:hover:not(:disabled){background:var(--border-light);border-color:var(--border-medium)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn--accent{background:var(--accent);color:var(--text-inverse)}.btn--accent:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--icon{padding:10px;min-width:40px;min-height:40px}.btn--sm{padding:6px 12px;font-size:13px}.btn--lg{padding:14px 28px;font-size:16px}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast)}.card--elevated{box-shadow:var(--shadow-md)}.card--interactive:hover{box-shadow:var(--shadow-lg)}.input,.select{padding:10px 14px;font-size:14px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-primary);transition:all var(--transition-fast)}.input:hover,.select:hover{border-color:var(--border-medium)}.input:focus,.select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:36px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-slide-up{animation:slideUp var(--transition-normal) ease forwards}.animate-scale-in{animation:scaleIn var(--transition-normal) ease forwards}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.text-sm{font-size:13px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.app[data-v-e2289876]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.header[data-v-e2289876]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}@media(max-width:640px){.header[data-v-e2289876]{padding:12px 16px}}.header-brand[data-v-e2289876]{display:flex;align-items:center;gap:12px}.header-icon[data-v-e2289876]{font-size:28px}.header-title[data-v-e2289876]{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}@media(max-width:640px){.header-title[data-v-e2289876]{font-size:20px}}.header-actions[data-v-e2289876]{display:flex;align-items:center;gap:12px}.github-link[data-v-e2289876]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.github-link[data-v-e2289876]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.github-link svg[data-v-e2289876]{display:block}.main[data-v-e2289876]{flex:1;padding:24px}@media(max-width:640px){.main[data-v-e2289876]{padding:16px}}.game-container[data-v-e2289876]{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(320px,580px) minmax(280px,400px);gap:24px;align-items:start}@media(max-width:960px){.game-container[data-v-e2289876]{grid-template-columns:1fr;max-width:600px}}.board-section[data-v-e2289876]{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-md);padding:16px}@media(max-width:640px){.board-section[data-v-e2289876]{padding:12px}}.control-section[data-v-e2289876]{display:flex;flex-direction:column;gap:16px}.panel[data-v-e2289876]{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light);padding:16px}.panel--actions[data-v-e2289876]{display:flex;gap:12px}.panel-title[data-v-e2289876]{font-size:13px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.action-btn[data-v-e2289876]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.action-btn[data-v-e2289876]:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.action-btn[data-v-e2289876]:disabled{opacity:.4;cursor:not-allowed}.error-msg[data-v-e2289876]{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--error);font-size:13px}
