:root{--color-bg: #ffffff;--color-page-bg: #fffbe6;--color-text: #2c3e50;--color-primary: #89CFF0;--color-secondary: #7b8a9b;--color-correct: #27ae60;--color-error: #e74c3c;--color-highlight: #f0f4f8;--color-border: #cbd5e0;--color-given: #34495e;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--transition-fast: .15s ease;--transition-medium: .3s ease}*{margin:0;padding:0;box-sizing:border-box}button,select,a,input{touch-action:manipulation}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-page-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;touch-action:auto}#app{max-width:1200px;margin:0 auto;padding:var(--space-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 768px){:root{--font-size-base: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem}}.sudoku-cell[data-v-cb049953]{position:relative;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);-webkit-user-select:none;user-select:none}.sudoku-cell[data-v-cb049953]:hover{background-color:var(--color-highlight)}.cell-value[data-v-cb049953]{font-size:2.2rem;font-weight:500;color:var(--color-text)}.cell-given .cell-value[data-v-cb049953]{color:#000;font-weight:700}.cell-filled .cell-value[data-v-cb049953]{color:#1976d2}.cell-given.cell-filled .cell-value[data-v-cb049953]{color:#000}.cell-error .cell-value[data-v-cb049953]{color:var(--color-error);font-weight:700}.cell-related[data-v-cb049953]{background-color:#e8e8e8}.cell-same-number[data-v-cb049953]{background-color:#4a90e233}.cell-active[data-v-cb049953]{background-color:var(--color-primary)!important;color:#fff;border-color:var(--color-primary)}.cell-active .cell-value[data-v-cb049953]{color:#fff}.cell-active.cell-error .cell-value[data-v-cb049953]{color:var(--color-error)}.cell-notes[data-v-cb049953]{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,minmax(0,1fr));width:100%;height:100%;padding:2px;gap:1px}.note[data-v-cb049953]{display:flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1;min-width:0;min-height:0;color:var(--color-secondary)}.note-active[data-v-cb049953]{font-weight:600;color:var(--color-text)}@media (max-width: 768px){.sudoku-cell[data-v-cb049953]{width:40px;height:40px}.cell-value[data-v-cb049953]{font-size:1.5rem}.cell-notes[data-v-cb049953]{padding:1px;gap:0px}.note[data-v-cb049953]{font-size:.5rem;line-height:1}}@media (min-width: 600px) and (max-width: 900px) and (orientation: portrait){.sudoku-cell[data-v-cb049953]{width:54px;height:54px}.cell-value[data-v-cb049953]{font-size:2rem}.note[data-v-cb049953]{font-size:.7rem}}.sudoku-grid[data-v-d1ae9c7c]{display:inline-block;border:3px solid var(--color-given);background-color:var(--color-border);border-radius:4px;overflow:hidden}.grid-row[data-v-d1ae9c7c]{display:flex}.cell-thick-right[data-v-d1ae9c7c]{border-right:2px solid var(--color-given)!important}.cell-thick-bottom[data-v-d1ae9c7c]{border-bottom:2px solid var(--color-given)!important}.cell-completed[data-v-d1ae9c7c]{animation:cell-flash-d1ae9c7c .5s ease forwards}@keyframes cell-flash-d1ae9c7c{0%,to{background-color:transparent}50%{background-color:#27ae6059}}@media (max-width: 768px){.sudoku-grid[data-v-d1ae9c7c]{max-width:100%}}.number-row[data-v-e7eedad1]{display:flex;gap:var(--space-sm);justify-content:center;margin:var(--space-lg) 0;flex-wrap:nowrap}.number-button[data-v-e7eedad1]{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:600;color:var(--color-text);background-color:#f5f5f5;border:none;border-radius:4px;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);outline:none;-webkit-tap-highlight-color:transparent}.number-button[data-v-e7eedad1]:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 2px 8px #00000026}.number-button[data-v-e7eedad1]:active{transform:translateY(0)}.number-button[data-v-e7eedad1]:focus,.number-button[data-v-e7eedad1]:focus-visible{outline:none!important;box-shadow:none!important;background-color:#f5f5f5!important;color:var(--color-text)!important}@media (max-width: 768px){.number-button[data-v-e7eedad1]{width:38px;height:38px;font-size:1.4rem}.number-row[data-v-e7eedad1]{gap:3px}}@media (min-width: 600px) and (max-width: 900px){.number-row[data-v-e7eedad1]{gap:var(--space-md)}}@media (min-width: 600px) and (max-width: 900px) and (orientation: portrait){.number-button[data-v-e7eedad1]{width:54px;height:54px;font-size:1.85rem}}.modal-overlay[data-v-72af1a22]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal-content[data-v-72af1a22]{background-color:var(--color-bg);padding:var(--space-xl);border-radius:8px;max-width:400px;width:100%;text-align:center;box-shadow:0 8px 32px #0003}.modal-title[data-v-72af1a22]{font-size:var(--font-size-xl);margin-bottom:var(--space-md);color:var(--color-text)}.modal-message[data-v-72af1a22]{font-size:var(--font-size-lg);color:var(--color-secondary);margin-bottom:var(--space-xl)}.modal-button[data-v-72af1a22]{width:100%;padding:var(--space-md);font-size:var(--font-size-base);font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:4px;cursor:pointer;transition:background-color var(--transition-fast);font-family:var(--font-family);margin-bottom:var(--space-sm)}.modal-button[data-v-72af1a22]:hover{background-color:#3a7bc8}.modal-button-secondary[data-v-72af1a22]{background-color:var(--color-secondary)}.modal-button-secondary[data-v-72af1a22]:hover{background-color:#6a7989}.modal-enter-active[data-v-72af1a22],.modal-leave-active[data-v-72af1a22]{transition:opacity var(--transition-medium)}.modal-enter-from[data-v-72af1a22],.modal-leave-to[data-v-72af1a22]{opacity:0}.modal-enter-active .modal-content[data-v-72af1a22],.modal-leave-active .modal-content[data-v-72af1a22]{transition:transform var(--transition-medium)}.modal-enter-from .modal-content[data-v-72af1a22],.modal-leave-to .modal-content[data-v-72af1a22]{transform:scale(.9)}.control-bar[data-v-ca9a7804]{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.control-button[data-v-ca9a7804]{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);font-weight:600;color:var(--color-text);background-color:var(--color-bg);border:2px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);min-width:100px}.control-button[data-v-ca9a7804]:hover:not(:disabled){background-color:var(--color-highlight);border-color:var(--color-primary);transform:translateY(-2px)}.control-button.active[data-v-ca9a7804]{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);opacity:1!important}.control-button[data-v-ca9a7804]:disabled{opacity:.4;cursor:not-allowed}.control-button[data-v-ca9a7804]:active:not(:disabled){transform:translateY(0)}.control-button.active[data-v-ca9a7804]:hover{background-color:var(--color-primary);color:#fff}@media (max-width: 768px){.control-bar[data-v-ca9a7804]{width:100%}.control-button[data-v-ca9a7804]{flex:1;min-width:auto}}.modal-overlay[data-v-e692a89a]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal-content[data-v-e692a89a]{background-color:var(--color-bg);padding:var(--space-xl);border-radius:8px;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 32px #0003}.modal-title[data-v-e692a89a]{font-size:var(--font-size-xl);margin-bottom:var(--space-md);color:var(--color-text)}.modal-message[data-v-e692a89a]{font-size:var(--font-size-lg);color:var(--color-secondary);margin-bottom:var(--space-xl)}.modal-button[data-v-e692a89a]{width:100%;padding:var(--space-md);font-size:var(--font-size-base);font-weight:600;color:#fff;background-color:var(--color-error);border:none;border-radius:4px;cursor:pointer;transition:background-color var(--transition-fast);font-family:var(--font-family);margin-bottom:var(--space-sm)}.modal-button[data-v-e692a89a]:hover{background-color:#d64533}.modal-button-secondary[data-v-e692a89a]{background-color:var(--color-primary)}.modal-button-secondary[data-v-e692a89a]:hover{background-color:#3a7bc8}.modal-enter-active[data-v-e692a89a],.modal-leave-active[data-v-e692a89a]{transition:opacity var(--transition-medium)}.modal-enter-from[data-v-e692a89a],.modal-leave-to[data-v-e692a89a]{opacity:0}.modal-enter-active .modal-content[data-v-e692a89a],.modal-leave-active .modal-content[data-v-e692a89a]{transition:transform var(--transition-medium)}.modal-enter-from .modal-content[data-v-e692a89a],.modal-leave-to .modal-content[data-v-e692a89a]{transform:scale(.9)}.app-header[data-v-79b7021b]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl)}.header-left[data-v-79b7021b]{display:flex;flex-direction:column;gap:var(--space-xs)}.app-title[data-v-79b7021b]{font-size:2.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-xs)}.app-subtitle[data-v-79b7021b]{font-size:var(--font-size-lg);color:var(--color-secondary);font-weight:500}.app-main[data-v-79b7021b]{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.header-controls[data-v-79b7021b]{display:flex;align-items:center;justify-content:flex-end}.difficulty-menu[data-v-79b7021b]{position:relative}.new-game-wrapper[data-v-79b7021b]{display:flex;align-items:center;gap:var(--space-sm)}.new-game-label[data-v-79b7021b]{font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.new-game-select[data-v-79b7021b]{padding:var(--space-sm) var(--space-md);padding-right:calc(var(--space-md) + 20px);font-size:var(--font-size-base);font-family:var(--font-family);font-weight:600;color:#fff;background-color:var(--color-correct);border:2px solid var(--color-correct);border-radius:6px;cursor:pointer;width:200px;transition:background-color var(--transition-fast);text-align:left}.new-game-select[data-v-79b7021b]:hover:not(:disabled){background-color:#229954}.new-game-select[data-v-79b7021b]:focus{outline:none;box-shadow:0 0 0 3px #2196f34d}.new-game-select[data-v-79b7021b]:disabled{opacity:.7;cursor:not-allowed}.new-game-select[data-v-79b7021b]:after{content:"";position:absolute}.difficulty-options[data-v-79b7021b]{position:absolute;top:calc(100% + 6px);left:0;width:100%;list-style:none;margin:0;padding:4px 0;border:1px solid var(--color-border);border-radius:6px;background-color:#fff;box-shadow:0 8px 20px #0000001f;z-index:20}.difficulty-option[data-v-79b7021b]{width:100%;border:0;text-align:left;padding:10px 12px;font:inherit;color:var(--color-text);background-color:#fff;cursor:pointer}.difficulty-option[data-v-79b7021b]:hover,.difficulty-option[data-v-79b7021b]:focus-visible{background-color:var(--color-given);color:#fff;outline:none}.game-area[data-v-79b7021b]{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.grid-wrapper[data-v-79b7021b]{position:relative;display:inline-flex;justify-content:center;max-width:100%}.difficulty-label[data-v-79b7021b]{position:absolute;top:-22px;left:33.33%;font-size:.85rem;font-weight:600;color:var(--color-secondary);letter-spacing:.3px}.strike-label[data-v-79b7021b]{position:absolute;top:-22px;left:66.67%;font-size:.85rem;font-weight:600;color:var(--color-secondary);letter-spacing:.3px;text-align:left}.progress-tooltip[data-v-79b7021b]{position:absolute;top:-12px;left:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid var(--color-border);box-shadow:0 10px 20px #0000001f;font-weight:600;color:var(--color-text);z-index:2;pointer-events:none}.progress-tooltip[data-v-79b7021b]:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-style:solid;border-color:#ffffff transparent transparent transparent;filter:drop-shadow(0 -1px 0 var(--color-border))}.tooltip-emoji[data-v-79b7021b]{font-size:1.1rem;line-height:1}.tooltip-text[data-v-79b7021b]{font-size:.9rem;line-height:1.1}.generating-overlay[data-v-79b7021b]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffb3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:10px}.generating-badge[data-v-79b7021b]{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:999px;background:var(--color-bg);border:2px solid var(--color-border);color:var(--color-text);font-weight:600;box-shadow:0 8px 20px #00000014}.spinner[data-v-79b7021b]{width:16px;height:16px;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--color-primary);animation:spin-79b7021b .8s linear infinite}@keyframes spin-79b7021b{to{transform:rotate(360deg)}}.welcome[data-v-79b7021b]{text-align:center;padding:var(--space-xl);color:var(--color-secondary);font-size:var(--font-size-lg)}@media (max-width: 768px){.app-title[data-v-79b7021b]{font-size:1.75rem}.app-header[data-v-79b7021b]{flex-direction:column;align-items:stretch}.header-controls[data-v-79b7021b]{justify-content:center}.new-game-wrapper[data-v-79b7021b]{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.new-game-label[data-v-79b7021b]{text-align:center}.new-game-select[data-v-79b7021b]{width:100%}}@media (min-width: 600px) and (max-width: 900px){.new-game-select[data-v-79b7021b]{width:auto;min-width:200px;max-width:240px}}@media (max-width: 900px) and (orientation: portrait){.app-title[data-v-79b7021b]{font-size:2rem}.app-header[data-v-79b7021b]{align-items:center}.header-controls[data-v-79b7021b]{align-self:auto;margin-top:0}}.content-section[data-v-79b7021b]{max-width:800px;margin:var(--space-xl) auto;padding:0 var(--space-lg);color:var(--color-text)}.content-section+.content-section[data-v-79b7021b]{margin-top:calc(var(--space-xl) * 1.5)}.section-spacer[data-v-79b7021b]{height:var(--space-lg)}.about-heading[data-v-79b7021b]{margin-top:var(--space-lg)}.content-section h2[data-v-79b7021b]{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-md);color:var(--color-text);letter-spacing:.2px}.content-section h3[data-v-79b7021b]{font-size:var(--font-size-lg);margin-top:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-primary)}.content-section p[data-v-79b7021b]{line-height:1.8;margin-bottom:var(--space-md);color:#3f5364}.content-section ul[data-v-79b7021b]{list-style-position:inside;margin-bottom:var(--space-md);padding-left:var(--space-md)}.content-section li[data-v-79b7021b]{margin-bottom:var(--space-sm);line-height:1.6;color:#3f5364}.app-footer[data-v-79b7021b]{margin-top:var(--space-xl);padding:var(--space-xl) var(--space-lg);text-align:center;border-top:1px solid var(--color-border);color:var(--color-secondary);max-width:800px;margin-left:auto;margin-right:auto}.app-footer p[data-v-79b7021b]{margin-bottom:var(--space-sm)}.footer-nav[data-v-79b7021b]{display:flex;justify-content:center;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.footer-nav a[data-v-79b7021b]{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.footer-nav a[data-v-79b7021b]:hover{color:var(--color-text);text-decoration:underline}.separator[data-v-79b7021b]{color:var(--color-border)}
