:root{--bg-gradient:linear-gradient(135deg, #f0f4f8 0%, #d9e2ec 100%);--panel-bg:#ffffffd9;--panel-border:#fff6;--panel-shadow:0 8px 32px 0 #1f268714;--text-primary:#102a43;--text-secondary:#486581;--text-muted:#627d98;--board-bg:#fff;--board-border:#102a43;--box-border-color:#102a43;--cell-border-color:#bcccdc;--cell-bg-clue:#f0f4f8;--cell-text-clue:#102a43;--cell-bg-user:#fff;--cell-text-user:#1976d2;--hl-row-col:#1976d20a;--hl-match:#1976d21f;--hl-selected:#ffeb3b73;--hl-selected-border:#e65100;--hl-error-bg:#d32f2f26;--hl-error-text:#d32f2f;--btn-primary-bg:linear-gradient(135deg, #1976d2 0%, #1565c0 100%);--btn-primary-text:#fff;--btn-secondary-bg:#ffffffe6;--btn-secondary-text:#1976d2;--btn-secondary-border:#1976d2;--btn-danger-bg:linear-gradient(135deg, #e53935 0%, #c62828 100%);--sans-font:"Sarabun", "Outfit", system-ui, -apple-system, sans-serif;--mono-font:"Outfit", Consolas, monospace}.theme-dark{--bg-gradient:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--panel-bg:#1e293bbf;--panel-border:#ffffff14;--panel-shadow:0 8px 32px 0 #0000004d;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--board-bg:#0f172a;--board-border:#f8fafc;--box-border-color:#f8fafc;--cell-border-color:#334155;--cell-bg-clue:#1e293b;--cell-text-clue:#f8fafc;--cell-bg-user:#0f172a;--cell-text-user:#38bdf8;--hl-row-col:#38bdf80f;--hl-match:#38bdf829;--hl-selected:#eab30859;--hl-selected-border:#facc15;--hl-error-bg:#ef444440;--hl-error-text:#fca5a5;--btn-primary-bg:linear-gradient(135deg, #0284c7 0%, #0369a1 100%);--btn-primary-text:#fff;--btn-secondary-bg:#1e293be6;--btn-secondary-text:#38bdf8;--btn-secondary-border:#38bdf8}.theme-contrast{--bg-gradient:none;--panel-bg:#000;--panel-border:#fff;--panel-shadow:none;--text-primary:#fff;--text-secondary:#fff;--text-muted:#ff0;--board-bg:#000;--board-border:#fff;--box-border-color:#fff;--cell-border-color:#fff;--cell-bg-clue:#000;--cell-text-clue:#fff;--cell-bg-user:#000;--cell-text-user:#0ff;--hl-row-col:#111;--hl-match:#222;--hl-selected:#ff0;--hl-selected-border:#f0f;--hl-error-bg:red;--hl-error-text:#fff;--btn-primary-bg:none;--btn-primary-text:#000;--btn-secondary-bg:#000;--btn-secondary-text:#ff0;--btn-secondary-border:#ff0;background-color:#fff!important}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--sans-font);background:var(--bg-gradient);min-height:100vh;color:var(--text-primary);justify-content:center;align-items:center;padding:10px;transition:background .3s,color .3s;display:flex;overflow-x:hidden}#app{flex-direction:column;align-items:center;width:100%;max-width:500px;margin:0 auto;display:flex}@keyframes solved-pulse{0%{transform:scale(1);box-shadow:0 0 #4ade80b3}70%{transform:scale(1.02);box-shadow:0 0 0 15px #4ade8000}to{transform:scale(1);box-shadow:0 0 #4ade8000}}@keyframes error-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes modal-pop{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.app-container[data-v-dd4bf42b]{flex-direction:column;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.game-header[data-v-dd4bf42b]{justify-content:space-between;align-items:center;width:100%;padding:4px 6px;display:flex}.main-title[data-v-dd4bf42b]{color:var(--text-primary);letter-spacing:-.5px;font-size:26px;font-weight:800;line-height:1.2}.header-sub[data-v-dd4bf42b]{align-items:center;gap:8px;margin-top:2px;display:flex}.difficulty-tag[data-v-dd4bf42b]{text-transform:capitalize;border-radius:99px;padding:2px 8px;font-size:13px;font-weight:700}.difficulty-tag.easy[data-v-dd4bf42b]{color:#16a34a;background-color:#4ade8026}.difficulty-tag.medium[data-v-dd4bf42b]{color:#ca8a04;background-color:#facc1526}.difficulty-tag.hard[data-v-dd4bf42b]{color:#dc2626;background-color:#ef444426}.win-badge[data-v-dd4bf42b]{color:var(--text-muted);font-size:13px;font-weight:700}.icon-btn-plain[data-v-dd4bf42b]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background-color .2s,color .2s;display:flex}.icon-btn-plain[data-v-dd4bf42b]:hover{color:var(--text-primary);background-color:#0000000d}.theme-dark .icon-btn-plain[data-v-dd4bf42b]:hover{background-color:#ffffff14}.glass-panel[data-v-dd4bf42b]{background:var(--panel-bg);border:1px solid var(--panel-border);width:100%;box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(12px);border-radius:16px;flex-direction:column;padding:12px;display:flex}.stats-panel[data-v-dd4bf42b]{flex-direction:row;justify-content:space-between;align-items:center;padding:10px 14px}.stat-item[data-v-dd4bf42b]{align-items:center;gap:6px;display:flex}.timer-box[data-v-dd4bf42b]{color:var(--text-primary);font-size:18px;font-weight:700}.font-mono[data-v-dd4bf42b]{font-family:var(--mono-font)}.stat-label[data-v-dd4bf42b]{color:var(--text-secondary);font-size:14px;font-weight:600}.stat-value[data-v-dd4bf42b]{font-size:17px;font-weight:700}.error-text[data-v-dd4bf42b]{color:#ef4444}.is-paused-blink[data-v-dd4bf42b]{animation:1.5s infinite pause-blink-dd4bf42b}@keyframes pause-blink-dd4bf42b{0%,to{opacity:1}50%{opacity:.4}}.icon-pulse[data-v-dd4bf42b]{animation:3s linear infinite pulse-slow-dd4bf42b}@keyframes pulse-slow-dd4bf42b{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.board-container[data-v-dd4bf42b]{aspect-ratio:1;border-radius:12px;width:100%;position:relative;overflow:hidden}.board-overlay[data-v-dd4bf42b]{z-index:10;-webkit-backdrop-filter:blur(8px);box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex;position:absolute;top:0;left:0}.paused-overlay[data-v-dd4bf42b]{color:#fff;cursor:pointer;background-color:#102a43d9}.theme-dark .paused-overlay[data-v-dd4bf42b]{background-color:#0f172ae6}.win-overlay[data-v-dd4bf42b]{color:#fff;background-color:#16a34aeb}.overlay-content[data-v-dd4bf42b]{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.pause-icon-wrapper[data-v-dd4bf42b]{background-color:#fff3;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:8px;transition:transform .3s;display:flex}.paused-overlay:hover .pause-icon-wrapper[data-v-dd4bf42b]{transform:scale(1.1)}.trophy-emoji[data-v-dd4bf42b]{font-size:64px;line-height:1;animation:1s infinite alternate bounce-dd4bf42b}@keyframes bounce-dd4bf42b{0%{transform:translateY(0)}to{transform:translateY(-15px)}}.sudoku-board[data-v-dd4bf42b]{border:3px solid var(--board-border);background-color:var(--board-bg);border-radius:8px;grid-template-columns:repeat(9,1fr);width:100%;height:100%;display:grid}.sudoku-cell[data-v-dd4bf42b]{aspect-ratio:1;border-right:1px solid var(--cell-border-color);border-bottom:1px solid var(--cell-border-color);background-color:var(--cell-bg-user);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--sans-font);justify-content:center;align-items:center;font-weight:700;transition:background-color .15s,color .15s;display:flex;position:relative}.text-normal[data-v-dd4bf42b]{--cell-font-size:28px;--btn-font-size:22px}.text-large[data-v-dd4bf42b]{--cell-font-size:34px;--btn-font-size:26px}.text-huge[data-v-dd4bf42b]{--cell-font-size:40px;--btn-font-size:32px}.cell-val[data-v-dd4bf42b]{font-size:var(--cell-font-size);color:var(--cell-text-user);font-weight:800;line-height:1}.sudoku-cell.is-clue[data-v-dd4bf42b]{background-color:var(--cell-bg-clue)}.sudoku-cell.is-clue .cell-val[data-v-dd4bf42b]{color:var(--cell-text-clue);font-weight:700}.sudoku-cell.border-right-thick[data-v-dd4bf42b]{border-right:3px solid var(--box-border-color)}.sudoku-cell.border-bottom-thick[data-v-dd4bf42b]{border-bottom:3px solid var(--box-border-color)}.sudoku-cell.is-hl-region[data-v-dd4bf42b]{background-color:var(--hl-row-col)}.sudoku-cell.is-same-num[data-v-dd4bf42b]{background-color:var(--hl-match)}.sudoku-cell.is-selected[data-v-dd4bf42b]{box-shadow:inset 0 0 0 3px var(--hl-selected-border);z-index:2;background-color:var(--hl-selected)!important}.sudoku-cell.is-invalid[data-v-dd4bf42b]{background-color:var(--hl-error-bg)}.sudoku-cell.is-invalid .cell-val[data-v-dd4bf42b]{color:var(--hl-error-text);animation:.3s error-shake}.notes-grid[data-v-dd4bf42b]{box-sizing:border-box;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:3px;display:grid}.note-num[data-v-dd4bf42b]{font-size:calc(var(--cell-font-size) * .35);font-family:var(--mono-font);color:var(--text-muted);justify-content:center;align-items:center;font-weight:600;line-height:1;display:flex}.controls-panel[data-v-dd4bf42b]{padding:8px 12px}.actions-row[data-v-dd4bf42b]{justify-content:space-between;gap:8px;width:100%;display:flex}.control-action-btn[data-v-dd4bf42b]{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;transition:background-color .2s,transform .1s;display:flex}.control-action-btn[data-v-dd4bf42b]:hover:not(:disabled){background-color:#1976d214}.theme-dark .control-action-btn[data-v-dd4bf42b]:hover:not(:disabled){background-color:#ffffff14}.control-action-btn[data-v-dd4bf42b]:disabled{opacity:.3;cursor:not-allowed}.action-icon[data-v-dd4bf42b]{background-color:var(--cell-bg-clue);border:1px solid var(--cell-border-color);width:44px;height:44px;color:var(--text-primary);border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.control-action-btn:hover:not(:disabled) .action-icon[data-v-dd4bf42b]{border-color:var(--text-secondary);transform:translateY(-2px)}.control-action-btn:active:not(:disabled) .action-icon[data-v-dd4bf42b]{transform:translateY(0)}.note-toggle-btn.is-active .action-icon[data-v-dd4bf42b]{background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:0 0 8px var(--hl-selected-border);border-color:#0000}.note-status-dot[data-v-dd4bf42b]{background-color:#ef4444;border:1px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.action-label[data-v-dd4bf42b]{color:var(--text-secondary);font-size:13px;font-weight:700}.note-toggle-btn.is-active .action-label[data-v-dd4bf42b]{color:var(--text-primary)}.numpad-panel[data-v-dd4bf42b]{padding:10px}.numpad-grid[data-v-dd4bf42b]{grid-template-columns:repeat(9,1fr);gap:5px;width:100%;display:grid}.numpad-btn[data-v-dd4bf42b]{aspect-ratio:1/1.15;border:2px solid var(--cell-border-color);background-color:var(--board-bg);width:100%;color:var(--text-primary);font-size:var(--btn-font-size);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-weight:800;transition:all .15s;display:flex;box-shadow:0 2px 4px #0000000d}.numpad-btn[data-v-dd4bf42b]:hover:not(:disabled){border-color:var(--text-secondary);background-color:var(--cell-bg-clue);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.numpad-btn[data-v-dd4bf42b]:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d}.numpad-btn[data-v-dd4bf42b]:disabled{opacity:.35;cursor:not-allowed;background-color:var(--cell-bg-clue)}.settings-toolbar[data-v-dd4bf42b]{gap:12px}.flow-buttons[data-v-dd4bf42b]{gap:10px;width:100%;display:flex}.btn-grow[data-v-dd4bf42b]{flex-grow:1}.settings-divider[data-v-dd4bf42b]{background-color:var(--cell-border-color);opacity:.6;width:100%;height:1px}.toggle-options[data-v-dd4bf42b]{flex-wrap:wrap;gap:8px;width:100%;display:flex}.toggle-pill[data-v-dd4bf42b]{border:1px solid var(--cell-border-color);background-color:var(--cell-bg-clue);min-width:180px;color:var(--text-secondary);cursor:pointer;border-radius:99px;flex:1;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.toggle-pill .indicator-dot[data-v-dd4bf42b]{background-color:#cbd5e1;border-radius:50%;width:8px;height:8px;transition:background-color .2s}.toggle-pill.is-active[data-v-dd4bf42b]{border-color:var(--btn-secondary-border);color:var(--text-primary);background-color:var(--panel-bg)}.toggle-pill.is-active .indicator-dot[data-v-dd4bf42b]{background-color:#22c55e;box-shadow:0 0 6px #22c55e}.customizer-rows[data-v-dd4bf42b]{flex-direction:column;gap:10px;width:100%;display:flex}.customizer-group[data-v-dd4bf42b]{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.group-label[data-v-dd4bf42b]{color:var(--text-secondary);font-size:15px;font-weight:700}.pill-selectors[data-v-dd4bf42b]{border:1px solid var(--cell-border-color);background-color:var(--cell-bg-clue);border-radius:8px;display:flex;overflow:hidden}.pill-btn[data-v-dd4bf42b]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:14px;font-weight:700;transition:all .2s}.pill-btn[data-v-dd4bf42b]:not(:last-child){border-right:1px solid var(--cell-border-color)}.pill-btn.active[data-v-dd4bf42b]{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn[data-v-dd4bf42b]{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:17px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 5px #0000001a}.btn[data-v-dd4bf42b]:active{transform:translateY(1px);box-shadow:0 1px 2px #0000000d}.btn-primary[data-v-dd4bf42b]{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary[data-v-dd4bf42b]:hover{filter:brightness(1.08)}.btn-secondary[data-v-dd4bf42b]{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:2px solid var(--btn-secondary-border)}.btn-secondary[data-v-dd4bf42b]:hover{background-color:#1976d20d}.theme-dark .btn-secondary[data-v-dd4bf42b]:hover{background-color:#38bdf814}.btn-danger[data-v-dd4bf42b]{background:var(--btn-danger-bg);color:#fff}.btn-danger[data-v-dd4bf42b]:hover{filter:brightness(1.08)}.btn-small[data-v-dd4bf42b]{border-radius:8px;padding:6px 12px;font-size:14px}.btn-icon[data-v-dd4bf42b]{align-items:center;display:flex}.w-full[data-v-dd4bf42b]{width:100%}.app-footer[data-v-dd4bf42b]{text-align:center;width:100%;padding:8px}.app-footer p[data-v-dd4bf42b]{color:var(--text-muted);font-size:13px;font-weight:600}.modal-backdrop[data-v-dd4bf42b]{-webkit-backdrop-filter:blur(4px);z-index:100;background-color:#0000008c;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;display:flex;position:fixed;top:0;left:0}.modal-card[data-v-dd4bf42b]{background:var(--board-bg);border:1px solid var(--cell-border-color);border-radius:16px;flex-direction:column;width:100%;max-width:400px;display:flex;overflow:hidden;box-shadow:0 10px 25px -5px #0000004d}.help-card[data-v-dd4bf42b]{max-width:450px}.modal-header[data-v-dd4bf42b]{border-bottom:1px solid var(--cell-border-color);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-header h2[data-v-dd4bf42b]{color:var(--text-primary);margin:0;font-size:20px;font-weight:800}.close-btn[data-v-dd4bf42b]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:28px;font-weight:400;line-height:1}.modal-body[data-v-dd4bf42b]{color:var(--text-primary);padding:18px}.modal-body.scrollable[data-v-dd4bf42b]{max-height:60vh;overflow-y:auto}.modal-desc[data-v-dd4bf42b]{color:var(--text-secondary);margin-bottom:16px;font-size:15px;line-height:1.5}.difficulty-options[data-v-dd4bf42b]{flex-direction:column;gap:12px;display:flex}.diff-option-btn[data-v-dd4bf42b]{cursor:pointer;border:2px solid var(--cell-border-color);background:var(--panel-bg);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;width:100%;padding:12px 16px;transition:all .2s;display:flex}.diff-option-btn[data-v-dd4bf42b]:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}.diff-option-btn.easy[data-v-dd4bf42b]{border-color:#22c55e}.diff-option-btn.easy[data-v-dd4bf42b]:hover{background-color:#22c55e0d}.diff-option-btn.medium[data-v-dd4bf42b]{border-color:#eab308}.diff-option-btn.medium[data-v-dd4bf42b]:hover{background-color:#eab3080d}.diff-option-btn.hard[data-v-dd4bf42b]{border-color:#ef4444}.diff-option-btn.hard[data-v-dd4bf42b]:hover{background-color:#ef44440d}.diff-title[data-v-dd4bf42b]{color:var(--text-primary);font-size:17px;font-weight:800}.diff-desc[data-v-dd4bf42b]{color:var(--text-secondary);margin-top:4px;font-size:13px;line-height:1.4}.split-buttons[data-v-dd4bf42b]{gap:10px;display:flex}.split-buttons button[data-v-dd4bf42b]{flex:1}.help-section h3[data-v-dd4bf42b]{color:var(--text-primary);border-left:4px solid var(--btn-secondary-border);margin-bottom:8px;padding-left:8px;font-size:16px;font-weight:800}.help-list[data-v-dd4bf42b]{padding-left:20px;font-size:14px;line-height:1.6}.help-list li[data-v-dd4bf42b]{margin-bottom:8px}.text-highlight[data-v-dd4bf42b]{color:var(--text-secondary)}.text-highlight strong[data-v-dd4bf42b]{color:var(--text-primary)}.mt-4[data-v-dd4bf42b]{margin-top:16px}.modal-footer[data-v-dd4bf42b]{border-top:1px solid var(--cell-border-color);padding:12px 18px}.animate-pop[data-v-dd4bf42b]{animation:.3s cubic-bezier(.34,1.56,.64,1) modal-pop-dd4bf42b}@keyframes modal-pop-dd4bf42b{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (width<=360px){.numpad-grid[data-v-dd4bf42b]{gap:3px}.control-action-btn .action-icon[data-v-dd4bf42b]{width:38px;height:38px}.action-label[data-v-dd4bf42b]{font-size:11px}}
