@import url(https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;600;700;800&display=swap);body{-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root,:root[data-theme=Zen],html[data-theme=Zen]{--primary-color:#4a90e2;--secondary-color:#50c878;--background-color:#f8f9fa;--text-color:#333;--card-bg:#fff;--header-height:60px;--header-bg:#fff;--nav-item-active-bg:#4a90e21a;--mega-menu-bg:#fff;--mega-button-bg:#4a90e214;--mega-button-hover-bg:#4a90e22e;--muted-bg:#f8f9fa;--border-color:#ddd;--input-bg:#fff;--input-text:#333;--tutorial-parchment:#f6f1e7;--tutorial-ink:#1b1b1b;--tutorial-soft-ink:#3b3a37;--tutorial-muted:#6f6a62;--tutorial-vermillion:#c43a2f;--tutorial-vermillion-soft:#d85445;--tutorial-bamboo:#c6b89e;--tutorial-grid:#bbae97;--tutorial-grid-strong:#7f7462;--tutorial-wash:#efe7d9;--tutorial-placed:#d9efe1;--tutorial-focus:#f1e5cf;--tutorial-affect:#eadfcd;--tutorial-cand:#857b6b;--tutorial-cand-strong:#4a463e;--tutorial-key:#c43a2f;--tutorial-divider-glyph:"— ㊀ —";--tutorial-board-bg:#fbf7ef;--play-cell-border:#ccc;--play-grid-bold-border:#333;--play-cell-selected-bg:#e6f7ff;--play-cell-highlight-bg:#fffbe6;--play-cell-clue-bg:#f9f9f9;--play-cell-selected-highlight-bg:#fff1b8;--play-mode-button-bg:#f0f0f0;--play-mode-button-border:#ccc;--play-mode-button-bg-hover:#e0e0e0;--play-mode-button-active-bg:#7ea8be;--play-mode-button-active-text:#fff;--play-mode-button-active-border:#7ea8be;--play-notes-color:#666;--play-note-allow-color:green;--play-note-blocked-color:red;--play-number-button-bg:#f0f0f0;--play-number-button-border:#ccc;--play-number-button-bg-hover:#e0e0e0;--play-number-button-reset-bg:#d1786b;--play-number-button-reset-bg-hover:#dda299;--play-number-button-check-bg:#7ea8be;--play-number-button-check-bg-hover:#a0c0d0;--play-number-button-check-correct-bg:#8caa7f;--play-number-button-check-correct-bg-hover:#a9c19e;--play-number-button-check-incorrect-bg:#d1786b;--play-number-button-check-incorrect-bg-hover:#dda299;--play-number-button-delete-bg:#d4a76a;--play-number-button-delete-bg-hover:#e5c699;--play-purple-note-color:purple;--play-board-classic-bg:#fff;--play-board-modern-bg:#f8f9fa;--play-modern-cell-border:#e0e0e0;--play-modern-cell-shadow:0 1px 2px #0000000d;--play-board-helpful-bg:#f0f7ff;--play-helpful-hover-bg:#f0f0f0}html[data-theme=Light]{--primary-color:#3b82f6;--secondary-color:#34d399;--background-color:#fff;--text-color:#1f2937;--card-bg:#fff;--header-bg:#fff;--nav-item-active-bg:#3b82f61a;--mega-menu-bg:#fff;--mega-button-bg:#3b82f614;--mega-button-hover-bg:#3b82f62e;--muted-bg:#f8f9fa;--border-color:#e5e7eb;--input-bg:#fff;--input-text:#1f2937;--tutorial-parchment:#f6f1e7;--tutorial-ink:#1b1b1b;--tutorial-soft-ink:#3b3a37;--tutorial-muted:#6f6a62;--tutorial-vermillion:#c43a2f;--tutorial-vermillion-soft:#d85445;--tutorial-bamboo:#c6b89e;--tutorial-grid:#bbae97;--tutorial-grid-strong:#7f7462;--tutorial-wash:#efe7d9;--tutorial-placed:#d9efe1;--tutorial-focus:#f1e5cf;--tutorial-affect:#eadfcd;--tutorial-cand:#857b6b;--tutorial-cand-strong:#4a463e;--tutorial-key:#c43a2f;--tutorial-divider-glyph:"— ㊀ —";--tutorial-board-bg:#fbf7ef;--play-cell-border:#e5e7eb;--play-grid-bold-border:#9ca3af;--play-cell-selected-bg:#e6f7ff;--play-cell-highlight-bg:#fffbe6;--play-cell-clue-bg:#f9fafb;--play-cell-selected-highlight-bg:#fff1b8;--play-mode-button-bg:#f3f4f6;--play-mode-button-border:#d1d5db;--play-mode-button-bg-hover:#e5e7eb;--play-mode-button-active-bg:#60a5fa;--play-mode-button-active-text:#fff;--play-mode-button-active-border:#60a5fa;--play-notes-color:#4b5563;--play-note-allow-color:#16a34a;--play-note-blocked-color:#dc2626;--play-number-button-bg:#f3f4f6;--play-number-button-border:#d1d5db;--play-number-button-bg-hover:#e5e7eb;--play-number-button-reset-bg:#ef4444;--play-number-button-reset-bg-hover:#f87171;--play-number-button-check-bg:#60a5fa;--play-number-button-check-bg-hover:#93c5fd;--play-number-button-check-correct-bg:#22c55e;--play-number-button-check-correct-bg-hover:#4ade80;--play-number-button-check-incorrect-bg:#ef4444;--play-number-button-check-incorrect-bg-hover:#f87171;--play-number-button-delete-bg:#f59e0b;--play-number-button-delete-bg-hover:#fbbf24;--play-purple-note-color:#7c3aed;--play-board-classic-bg:#fff;--play-board-modern-bg:#f8fafc;--play-modern-cell-border:#e5e7eb;--play-modern-cell-shadow:0 1px 2px #0000000d;--play-board-helpful-bg:#eff6ff;--play-helpful-hover-bg:#f3f4f6}html[data-theme=Dark]{--primary-color:#60a5fa;--secondary-color:#22c55e;--background-color:#0f172a;--text-color:#e5e7eb;--card-bg:#111827;--header-bg:#0b1220;--nav-item-active-bg:#60a5fa2e;--mega-menu-bg:#0b1220;--mega-button-bg:#60a5fa1f;--mega-button-hover-bg:#60a5fa38;--muted-bg:#1f2937;--border-color:#374151;--input-bg:#111827;--input-text:#e5e7eb;--tutorial-parchment:#1a1a1a;--tutorial-ink:#e5e7eb;--tutorial-soft-ink:#cbd5e1;--tutorial-muted:#9ca3af;--tutorial-vermillion:#ef4444;--tutorial-vermillion-soft:#f87171;--tutorial-bamboo:#6b7280;--tutorial-grid:#4b5563;--tutorial-grid-strong:#9ca3af;--tutorial-wash:#111827;--tutorial-placed:#064e3b;--tutorial-focus:#1f2937;--tutorial-affect:#374151;--tutorial-cand:#9ca3af;--tutorial-cand-strong:#e5e7eb;--tutorial-key:#ef4444;--tutorial-divider-glyph:"— ㊀ —";--tutorial-board-bg:#111827;--play-cell-border:#374151;--play-grid-bold-border:#9ca3af;--play-cell-selected-bg:#3b82f62e;--play-cell-highlight-bg:#facc152e;--play-cell-clue-bg:#0b1220;--play-cell-selected-highlight-bg:#fbbf2440;--play-mode-button-bg:#1f2937;--play-mode-button-border:#374151;--play-mode-button-bg-hover:#374151;--play-mode-button-active-bg:#2563eb;--play-mode-button-active-text:#fff;--play-mode-button-active-border:#2563eb;--play-notes-color:#cbd5e1;--play-note-allow-color:#16a34a;--play-note-blocked-color:#ef4444;--play-number-button-bg:#1f2937;--play-number-button-border:#374151;--play-number-button-bg-hover:#374151;--play-number-button-reset-bg:#991b1b;--play-number-button-reset-bg-hover:#b91c1c;--play-number-button-check-bg:#2563eb;--play-number-button-check-bg-hover:#3b82f6;--play-number-button-check-correct-bg:#15803d;--play-number-button-check-correct-bg-hover:#16a34a;--play-number-button-check-incorrect-bg:#991b1b;--play-number-button-check-incorrect-bg-hover:#b91c1c;--play-number-button-delete-bg:#92400e;--play-number-button-delete-bg-hover:#b45309;--play-purple-note-color:#a78bfa;--play-board-classic-bg:#0f172a;--play-board-modern-bg:#0b1220;--play-modern-cell-border:#374151;--play-modern-cell-shadow:0 1px 2px #0009;--play-board-helpful-bg:#0b1220;--play-helpful-hover-bg:#374151}html[data-theme="High Contrast"]{--primary-color:#00f;--secondary-color:#ffea00;--background-color:#000;--text-color:#fff;--card-bg:#000;--header-bg:#000;--nav-item-active-bg:#ffffff1f;--mega-menu-bg:#000;--mega-button-bg:#ffffff14;--mega-button-hover-bg:#fff3;--muted-bg:#101010;--border-color:#fff;--input-bg:#000;--input-text:#fff;--tutorial-parchment:#000;--tutorial-ink:#fff;--tutorial-soft-ink:#e5e7eb;--tutorial-muted:#d1d5db;--tutorial-vermillion:#ff2b2b;--tutorial-vermillion-soft:#ff6b6b;--tutorial-bamboo:#d1d5db;--tutorial-grid:#9ca3af;--tutorial-grid-strong:#fff;--tutorial-wash:#000;--tutorial-placed:#030;--tutorial-focus:#111;--tutorial-affect:#1a1a1a;--tutorial-cand:#e5e7eb;--tutorial-cand-strong:#fff;--tutorial-key:#ff2b2b;--tutorial-divider-glyph:"— ㊀ —";--tutorial-board-bg:#000;--play-cell-border:#fff;--play-grid-bold-border:#fff;--play-cell-selected-bg:#0000ff4d;--play-cell-highlight-bg:#ffff004d;--play-cell-clue-bg:#000;--play-cell-selected-highlight-bg:#ffff0080;--play-mode-button-bg:#000;--play-mode-button-border:#fff;--play-mode-button-bg-hover:#1a1a1a;--play-mode-button-active-bg:#00f;--play-mode-button-active-text:#fff;--play-mode-button-active-border:#00f;--play-notes-color:#fff;--play-note-allow-color:#0f0;--play-note-blocked-color:#ff2b2b;--play-number-button-bg:#000;--play-number-button-border:#fff;--play-number-button-bg-hover:#1a1a1a;--play-number-button-reset-bg:#ff2b2b;--play-number-button-reset-bg-hover:#ff6b6b;--play-number-button-check-bg:#00f;--play-number-button-check-bg-hover:#4d4dff;--play-number-button-check-correct-bg:#00b300;--play-number-button-check-correct-bg-hover:#0f0;--play-number-button-check-incorrect-bg:#ff2b2b;--play-number-button-check-incorrect-bg-hover:#ff6b6b;--play-number-button-delete-bg:#f90;--play-number-button-delete-bg-hover:#fc6;--play-purple-note-color:#9b59b6;--play-board-classic-bg:#000;--play-board-modern-bg:#000;--play-modern-cell-border:#fff;--play-modern-cell-shadow:none;--play-board-helpful-bg:#000;--play-helpful-hover-bg:#1a1a1a}.App{background-color:initial;color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;text-align:center}.skip-link{background:var(--primary-color);border-radius:6px;color:#fff;font-weight:700;left:8px;padding:10px 14px;position:fixed;text-decoration:none;top:8px;transform:translateY(-140%);transition:transform .2s ease;z-index:2000}.skip-link:focus{transform:translateY(0)}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}.main-content:focus{outline:none}.main-content{flex:1 1;margin-top:var(--header-height);padding:20px}.page-title{margin-bottom:20px}.section{box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px}.footer{background-color:var(--background-color);border-top:1px solid #0000001a;color:var(--text-color);font-size:.9rem;padding:15px;text-align:center}.header{background-color:var(--header-bg);box-shadow:0 2px 4px #0000001a;height:var(--header-height);left:0;position:fixed;top:0;width:100%;z-index:1000}.header-container{height:100%;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px;position:relative}.header-container,.logo{align-items:center;display:flex}.logo a{color:var(--primary-color);text-decoration:none}.logo-image{height:40px;max-width:100%}.nav-menu,.nav-menu ul{align-items:center;display:flex}.nav-menu ul{list-style:none;margin:0;padding:0}.nav-menu li{margin-left:20px}.nav-menu a{border-radius:4px;color:var(--text-color);font-weight:500;padding:8px 12px;text-decoration:none;transition:all .3s ease}.nav-menu a.active,.nav-menu a:hover{background-color:var(--nav-item-active-bg);color:var(--primary-color)}.mobile-nav-toggle{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;display:none;font-size:1.2rem;height:42px;justify-content:center;width:42px}.icon-button{border-radius:50%;color:var(--text-color);height:40px;transition:all .2s ease;width:40px}.icon-button.active,.icon-button:hover{background-color:var(--nav-item-active-bg);color:var(--primary-color)}.settings-button .settings-emoji{font-size:24px;line-height:1}.header-actions{align-items:center;display:flex;margin-left:auto}.has-mega-menu{position:relative}.mega-menu{background:var(--mega-menu-bg);border-radius:8px;box-shadow:0 8px 16px #00000026;display:none;gap:20px;grid-template-columns:repeat(3,1fr);left:0;min-width:600px;padding:16px 20px;position:absolute;top:100%}.has-mega-menu.open .mega-menu{display:grid}.mega-header{color:var(--text-color);font-size:14px;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.mega-button{align-items:center;background:var(--mega-button-bg);border-radius:6px;color:var(--text-color);display:flex;font-weight:500;gap:8px;justify-content:space-between;margin:6px 0;padding:8px 10px;text-decoration:none;transition:background .2s ease,color .2s ease}.mega-button:hover{background:var(--mega-button-hover-bg);color:var(--primary-color)}.mega-button-coming-soon{opacity:.78}.mega-status{background:var(--muted-bg);border-radius:999px;color:var(--text-color);font-size:.68rem;font-weight:700;line-height:1;padding:4px 6px;text-transform:uppercase}@media (max-width:768px){.header-container{flex-direction:row;gap:10px;padding:0 12px}.logo{flex:1 1;min-width:0}.logo-image{height:34px;max-width:min(58vw,230px);object-fit:contain}.mobile-nav-toggle{display:inline-flex;flex:0 0 auto}.header-actions{flex:0 0 auto;margin-left:0}.nav-menu{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 12px 28px #0000002e;display:none;left:12px;max-height:calc(100vh - var(--header-height) - 24px);overflow-y:auto;padding:10px;position:absolute;right:12px;top:calc(100% + 8px);width:auto}.nav-menu.nav-menu-open{display:block}.nav-menu ul{align-items:stretch;flex-direction:column;gap:4px;width:100%}.nav-menu li{margin-left:0}.nav-menu a{display:flex;justify-content:space-between}.mega-menu,.nav-menu a{box-sizing:border-box;width:100%}.mega-menu{border:1px solid var(--border-color);box-shadow:none;grid-template-columns:1fr;margin-top:8px;min-width:0;min-width:auto;padding:10px;position:static}}.sudoku-board{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:500px;transition:filter .3s ease}.sudoku-board-blurred{filter:blur(6px)}.sudoku-row{display:flex}.sudoku-cell{align-items:center;background-color:#fff;background-color:var(--play-cell-editable-bg,#fff);border:1px solid #ccc;border:1px solid var(--play-cell-border,#ccc);cursor:pointer;display:flex;font-size:1.5rem;height:50px;justify-content:center;-webkit-user-select:none;user-select:none;width:50px}.border-bottom{border-bottom:3px solid #333;border-bottom:3px solid var(--play-grid-bold-border,#333)}.border-right{border-right:3px solid #333;border-right:3px solid var(--play-grid-bold-border,#333)}.sudoku-cell.selected{background-color:#e6f7ff;background-color:var(--play-cell-selected-bg,#e6f7ff)}.sudoku-cell.highlighted{background-color:#fffbe6;background-color:var(--play-cell-highlight-bg,#fffbe6)}.sudoku-cell.clue{background-color:#eef2f5;background-color:var(--play-cell-clue-bg,#eef2f5);color:#1f2933;color:var(--play-cell-clue-text,#1f2933);cursor:default;font-weight:700}.sudoku-cell.user-entry{background-color:#f7fbff;background-color:var(--play-user-entry-bg,#f7fbff);color:#1f5f8b;color:var(--play-user-entry-text,#1f5f8b);font-weight:600}.sudoku-cell.clue.selected{background-color:#dce6ed;background-color:var(--play-cell-clue-selected-bg,#dce6ed);outline:2px solid #566b78;outline:2px solid var(--play-cell-clue-selected-border,#566b78);outline-offset:-3px}.sudoku-cell.clue.highlighted{background-color:#fffbe6;background-color:var(--play-cell-highlight-bg,#fffbe6)}.sudoku-cell.selected.highlighted{background-color:#fff1b8;background-color:var(--play-cell-selected-highlight-bg,#fff1b8)}.number-pad{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(5,1fr);margin-top:20px;max-width:450px;width:100%}.board-legend{background:#fbfcfd;background:var(--play-legend-bg,#fbfcfd);border:1px solid #d7dee4;border:1px solid var(--play-legend-border,#d7dee4);border-radius:6px;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;max-width:500px;padding:10px 12px;width:100%}.board-legend-title{font-size:.95rem;margin:0;width:100%}.board-legend-title,.legend-item{color:var(--text-color);line-height:1.2}.legend-item{align-items:center;display:inline-flex;font-size:.85rem;gap:6px}.legend-swatch{border:1px solid #ccc;border:1px solid var(--play-cell-border,#ccc);border-radius:3px;flex:0 0 auto;height:16px;width:16px}.legend-clue{background-color:#eef2f5;background-color:var(--play-cell-clue-bg,#eef2f5)}.legend-entry{background-color:#f7fbff;background-color:var(--play-user-entry-bg,#f7fbff);border-color:#1f5f8b;border-color:var(--play-user-entry-text,#1f5f8b)}.legend-selected{background-color:#e6f7ff;background-color:var(--play-cell-selected-bg,#e6f7ff);border-color:#7ea8be;border-color:var(--play-mode-button-active-bg,#7ea8be)}.legend-hint{background-color:#fffbe6;background-color:var(--play-cell-highlight-bg,#fffbe6);border-color:#d4a76a;border-color:var(--play-number-button-delete-bg,#d4a76a)}.legend-note{background:linear-gradient(135deg,#0000 0 35%,green 35% 65%,#0000 65%);background:linear-gradient(135deg,#0000 0 35%,var(--play-note-allow-color,green) 35% 65%,#0000 65%)}.board-status{color:var(--text-color);font-size:.9rem;line-height:1.35;margin-top:8px;max-width:500px;min-height:1.35em;text-align:left;width:100%}.mode-toggle{display:flex;gap:10px;grid-column:span 5}.mode-helper{font-size:.9rem;margin:0 0 8px}.mode-detail,.mode-helper{color:var(--text-color);grid-column:span 5;line-height:1.35;text-align:left}.mode-detail{background:#f5f9fb;background:var(--play-mode-detail-bg,#f5f9fb);border-left:3px solid #7ea8be;border-left:3px solid var(--play-mode-button-active-bg,#7ea8be);font-size:.86rem;margin:-2px 0 8px;padding:8px 10px}.mode-button{background-color:#f0f0f0;background-color:var(--play-mode-button-bg,#f0f0f0);border:1px solid #ccc;border:1px solid var(--play-mode-button-border,#ccc);border-radius:4px;cursor:pointer;flex:1 1;font-size:1.2rem;padding:10px;transition:background-color .2s,border-color .2s}.mode-button:hover{background-color:#e0e0e0;background-color:var(--play-mode-button-bg-hover,#e0e0e0)}.mode-button.active{background-color:#7ea8be;background-color:var(--play-mode-button-active-bg,#7ea8be);border-color:#7ea8be;border-color:var(--play-mode-button-active-border,#7ea8be);color:#fff;color:var(--play-mode-button-active-text,#fff)}.notes-container{display:grid;font-size:.7rem;grid-template-areas:"note-1 note-2 note-3" "note-4 note-5 note-6" "note-7 note-8 note-9";height:100%;width:100%}.purple-note{color:purple;color:var(--play-purple-note-color,purple);font-weight:700}.note-value{align-items:center;color:#666;color:var(--play-notes-color,#666);display:flex;font-weight:700;justify-content:center}.note-allow{color:green;color:var(--play-note-allow-color,green)}.note-blocked{color:red;color:var(--play-note-blocked-color,red)}.number-button{background-color:#f0f0f0;background-color:var(--play-number-button-bg,#f0f0f0);border:1px solid #ccc;border:1px solid var(--play-number-button-border,#ccc);border-radius:4px;cursor:pointer;font-size:1.2rem;padding:10px;transition:background-color .2s}.number-button:hover{background-color:#e0e0e0;background-color:var(--play-number-button-bg-hover,#e0e0e0)}.number-button.reset{background-color:#d1786b;background-color:var(--play-number-button-reset-bg,#d1786b);color:#fff;grid-column:span 5}.number-button.reset:hover{background-color:#dda299;background-color:var(--play-number-button-reset-bg-hover,#dda299)}.number-button.check{background-color:#7ea8be;background-color:var(--play-number-button-check-bg,#7ea8be);color:#fff;grid-column:span 5}.number-button.check:hover{background-color:#a0c0d0;background-color:var(--play-number-button-check-bg-hover,#a0c0d0)}.number-button.check.correct{background-color:#8caa7f;background-color:var(--play-number-button-check-correct-bg,#8caa7f)}.number-button.check.correct:hover{background-color:#a9c19e;background-color:var(--play-number-button-check-correct-bg-hover,#a9c19e)}.number-button.check.incorrect{background-color:#d1786b;background-color:var(--play-number-button-check-incorrect-bg,#d1786b)}.number-button.check.incorrect:hover{background-color:#dda299;background-color:var(--play-number-button-check-incorrect-bg-hover,#dda299)}.number-button.delete{background-color:#d4a76a;background-color:var(--play-number-button-delete-bg,#d4a76a);color:#fff;font-size:1rem}.number-button.delete:hover{background-color:#e5c699;background-color:var(--play-number-button-delete-bg-hover,#e5c699)}.sudoku-board.classic{background-color:#fff;background-color:var(--play-board-classic-bg,#fff)}.sudoku-board.modern{background-color:#f8f9fa;background-color:var(--play-board-modern-bg,#f8f9fa)}.sudoku-board.modern .sudoku-cell{border:1px solid #e0e0e0;border:1px solid var(--play-modern-cell-border,#e0e0e0);border-radius:4px;box-shadow:0 1px 2px #0000000d;box-shadow:var(--play-modern-cell-shadow,0 1px 2px #0000000d);margin:2px}.sudoku-board.modern .border-bottom,.sudoku-board.modern .border-right{border-width:1px}.sudoku-board.helpful{background-color:#f0f7ff;background-color:var(--play-board-helpful-bg,#f0f7ff)}.sudoku-board.helpful .sudoku-cell{transition:all .2s}.sudoku-board.helpful .sudoku-cell:hover:not(.selected){background-color:#f0f0f0;background-color:var(--play-helpful-hover-bg,#f0f0f0)}@media (max-width:600px){.sudoku-cell{font-size:1.2rem;height:35px;width:35px}.notes-container{font-size:.6rem}.board-legend,.board-status,.number-pad{max-width:350px}.mode-button{font-size:1rem;padding:8px}}@media (max-width:1400px){.floating-suds{left:20px;top:20px;transform:none}.suds-avatar{height:8vh}}.challenge-button.primary,.cta-button.primary,.team-button.primary{color:#fff}.cta-button.secondary{background-color:var(--secondary-color);color:#fff}.challenge-button:hover,.competition-button:hover,.control-button:hover,.cta-button:hover,.difficulty-button:hover,.history-button:hover,.pause-button:hover,.recommendation-button:hover,.room-button:hover,.team-button:hover,.tutorial-button:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.features-grid,.recommendations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.feature-card,.recommendation-card,.technique-card{background-color:var(--muted-bg);border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;transition:all .3s ease}.feature-card:hover,.recommendation-card:hover,.technique-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-5px)}.difficulty-tag{border-radius:4px;color:#fff;display:inline-block;font-weight:500;margin:10px 0;padding:5px 10px}.difficulty-tag.easy{background-color:#4caf50}.difficulty-tag.medium{background-color:#2196f3}.difficulty-tag.hard{background-color:#ff9800}.difficulty-tag.expert{background-color:#f44336}.progress-bar{background-color:#e0e0e0;border-radius:5px;height:10px;margin:10px 0;overflow:hidden}.progress-fill{background-color:var(--primary-color);border-radius:5px;height:100%}.progress-value{color:var(--primary-color);font-size:1.5rem;font-weight:700}.history-content{display:flex;flex-wrap:wrap;gap:30px;margin-top:20px}.history-image,.history-text{flex:1 1;min-width:300px}.history-image{align-items:center;display:flex;flex-direction:column}.history-image img{border-radius:8px;box-shadow:0 4px 8px #0000001a;max-width:100%}.image-caption{color:#666;font-style:italic;margin-top:10px;text-align:center}.centered-image{margin:30px auto;max-width:600px}.fun-facts{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.fact-card{background-color:var(--muted-bg);border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;transition:transform .3s ease}.fact-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-5px)}.fact-card h3{color:var(--primary-color);margin-bottom:10px;margin-top:0}.history-filters{display:flex;gap:15px;margin-bottom:20px}.filter-select{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--input-text);padding:8px 15px}.history-list{display:flex;flex-direction:column;gap:15px}.history-card{align-items:center;background-color:var(--muted-bg);border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:15px}.history-info h3{color:var(--text-color);margin-bottom:10px;margin-top:0}.history-actions{display:flex;flex-direction:column;gap:10px}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.stat-box{background-color:var(--muted-bg);border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;text-align:center}.stat-box h3{color:var(--text-color);margin-bottom:10px;margin-top:0}.stat-value{color:var(--primary-color);font-size:2rem;font-weight:700;margin:0}@media (max-width:768px){.features-grid,.fun-facts,.recommendations-grid{grid-template-columns:1fr}.page-title{font-size:2rem}.section{padding:15px}.history-card,.history-content{flex-direction:column}.history-card{align-items:flex-start}.history-actions{flex-direction:row;margin-top:15px;width:100%}.history-button{flex:1 1}.stats-container{grid-template-columns:1fr 1fr}.timers-container-top-right{margin:8px 0 15px auto;max-width:100%;position:relative;right:0;top:0;width:-webkit-fit-content;width:fit-content}.timer{margin-right:12px}.timer-value{font-size:1rem}}.custom-puzzle-generator{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-top:15px}.custom-puzzle-generator label{color:var(--text-color);font-weight:500}.custom-puzzle-generator input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--input-text);padding:8px 12px;text-align:center;width:80px}@media (max-width:768px){.custom-puzzle-generator{align-items:flex-start;flex-direction:column}.custom-puzzle-generator input{width:100%}}.timers-container{margin-bottom:20px;padding:15px}.timers-container,.timers-container-top-right{align-items:center;background-color:var(--muted-bg);border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between}.timers-container-top-right{font-size:.9rem;max-width:250px;padding:8px 12px;position:absolute;right:20px;top:20px;z-index:100}.timer{align-items:center;display:flex;flex-direction:column;margin-right:15px}.timer-label{color:#666;font-size:.8rem;margin-bottom:3px}.timer-value{color:var(--primary-color);font-family:monospace;font-size:1.1rem;font-weight:700}.pause-button{align-items:center;background-color:var(--primary-color);border-radius:50%;color:#fff;display:flex;font-size:.8rem;height:32px;justify-content:center;padding:0;width:32px}.game-controls{display:flex;flex-wrap:wrap;gap:10px}.sudoku-board-container{margin-top:20px;position:relative}.board-actions{display:flex;justify-content:space-between;left:10px;pointer-events:none;position:absolute;right:15px;top:10px;z-index:10}.board-icon{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;pointer-events:auto;transition:all .3s ease;width:36px}.board-icon:hover{box-shadow:0 4px 8px #0000004d;transform:scale(1.1)}.board-icon-disabled{background-color:#a0a0a0;cursor:not-allowed}.board-icon-disabled:hover{box-shadow:0 2px 4px #0003;transform:none}.board-icon-left{left:auto;top:auto}.board-icon-right{right:auto;top:auto}.difficulty-selector-container,.page-icon-left{left:20px;position:absolute;top:20px;z-index:100}.difficulty-selector-container{align-items:center;display:flex;gap:10px}.difficulty-selector-container.has-puzzle .difficulty-label{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.difficulty-label{color:var(--text-color);font-weight:700}.difficulty-dropdown{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--input-text);cursor:pointer;font-size:.9rem;padding:8px 15px}.start-button{align-items:center;background-color:var(--primary-color);border:none;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;gap:8px;justify-content:center;transition:all .3s ease}.start-button.compact{border-radius:50%;height:36px;width:36px}.start-button.labeled{border-radius:4px;font-weight:700;min-height:36px;padding:0 14px}.start-button:hover{box-shadow:0 4px 8px #0000004d;transform:scale(1.1)}.play-empty-state{margin-top:40px;text-align:left}.play-empty-state p{line-height:1.6}.play-start-steps{line-height:1.8;margin:18px 0 0;padding-left:22px}.game-controls-help{color:var(--text-color);line-height:1.5;margin-top:-8px}.check-feedback{border-radius:6px;color:var(--text-color);line-height:1.45;margin:14px 0 0;padding:10px 12px}.check-feedback-correct{background:#8caa7f29;border:1px solid #8caa7f;border:1px solid var(--play-number-button-check-correct-bg,#8caa7f)}.check-feedback-incorrect{background:#d1786b24;border:1px solid #d1786b;border:1px solid var(--play-number-button-check-incorrect-bg,#d1786b)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 12px #0003;max-width:500px;padding:20px;width:90%}.modal-content h3{color:var(--primary-color);margin-bottom:20px;margin-top:0}.modal-close-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:20px;padding:8px 16px;transition:all .3s ease}.modal-close-button:hover{background-color:var(--secondary-color)}.modal-buttons{display:flex;justify-content:space-between;margin-top:20px}.modal-cancel-button{background-color:#a0a0a0;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .3s ease}.modal-cancel-button:hover{background-color:grey}.animation-speed-container{background-color:#f8f9fa;border-radius:6px;margin:20px 0;padding:10px}.animation-speed-container label{color:var(--text-color);display:block;font-weight:500;margin-bottom:10px}.animation-speed-slider{-webkit-appearance:none;appearance:none;background:#ddd;border-radius:4px;height:8px;margin-bottom:10px;outline:none;width:100%}.animation-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary-color);border-radius:50%;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.animation-speed-slider::-moz-range-thumb{background:var(--primary-color);border-radius:50%;cursor:pointer;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.animation-speed-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.animation-speed-slider::-moz-range-thumb:hover{transform:scale(1.2)}.animation-speed-value{background-color:var(--primary-color);border-radius:4px;color:#fff;display:inline-block;font-weight:700;margin-left:10px;padding:5px 10px;text-align:center}.page-container{background-repeat:repeat;margin:0 auto;max-width:1200px;padding:20px;position:relative}.floating-suds{animation:float 3s ease-in-out infinite;left:-200px;position:absolute;top:50%;transform:translateY(-50%);z-index:10}.suds-avatar{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));height:10vh;width:auto}@keyframes float{0%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(10px)}to{transform:translateY(-50%) translateX(0)}}@media (max-width:1400px){.floating-suds{left:20px;top:20px;transform:none}.suds-avatar{height:8vh}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(10px)}to{transform:translateY(0)}}}.page-title{color:var(--primary-color);font-size:2.5rem;margin-bottom:30px}.section{background-color:var(--card-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:40px;padding:25px}.section h2{color:var(--text-color);font-size:1.8rem;margin-bottom:20px;margin-top:0}.challenge-button,.competition-button,.control-button,.cta-button,.difficulty-button,.history-button,.pause-button,.recommendation-button,.room-button,.team-button,.tutorial-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;margin:5px;padding:10px 20px;transition:all .3s ease}.challenge-button.primary,.cta-button.primary,.team-button.primary{background-color:var(--primary-color)}.settings-layout{display:flex;flex-direction:column;gap:10px}.settings-nav-label{color:#666;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.settings-menu{align-items:flex-end;border-bottom:2px solid #eaeaea;display:flex;flex-wrap:wrap;gap:6px;padding-bottom:4px}.settings-menu button{background:#0000;border:1px solid #0000;border-radius:8px 8px 0 0;color:var(--text-color);cursor:pointer;font-weight:500;padding:10px 14px}.settings-menu button:hover{background:#f6f6f6}.settings-menu button.active{background:#fff;border-color:#ddd #ddd #fff;box-shadow:0 -1px 6px #0000000f;color:var(--primary-color)}.settings-content{min-height:200px}@media (max-width:768px){.settings-layout{flex-direction:column}.settings-menu{gap:4px}}.settings-page .section{background-image:none;border-left:none!important}.settings-page .section:before{content:none!important}.barless-h2,.settings-page h2{background:none!important;border-left:none!important;padding-left:0!important}.settings-field{align-items:center;display:flex;gap:12px;margin-top:10px}.settings-field label{color:var(--text-color);font-weight:500;min-width:80px;text-align:left}.settings-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px}.helper-text{color:#666;font-size:.9rem;margin:6px 0 14px}.theme-manager{padding-top:18px}.theme-manager-header{display:flex;flex-direction:column}.theme-manager-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:900px){.theme-manager-grid{grid-template-columns:1fr}}.theme-list{overflow:auto}.settings-table{background:#fff;border:1px solid #e6e6e6;border-collapse:initial;border-radius:8px;border-spacing:0;overflow:hidden;width:100%}.settings-table thead th{background:#fafafa;border-bottom:1px solid #e6e6e6;color:#555;font-size:.9rem;font-weight:600;padding:10px 12px;text-align:left}.settings-table tbody td{border-bottom:1px solid #f0f0f0;padding:10px 12px;vertical-align:middle}.settings-table tbody tr:hover{background:#fcfcfc}.link-button{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:0}.theme-editor{min-height:200px}.theme-editor-card{background:#fff;border:1px solid #e6e6e6;border-radius:8px;box-shadow:0 1px 4px #0000000a;padding:16px}.theme-editor-header h4{margin:0 0 10px}.settings-field.column{align-items:stretch;flex-direction:column}.variables-list{border:1px dashed #e3e3e3;border-radius:6px;max-height:320px;overflow:auto;padding:8px}.var-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.var-name{color:#555;display:inline-block;min-width:180px;text-align:left}.var-input{flex:1 1}.editor-actions{display:flex;gap:8px;margin-top:12px}.btn-with-icon{align-items:center;display:inline-flex;gap:6px}.btn-icon{display:inline-block;height:16px;width:16px}.settings-input{background:#fff;border:1px solid #d9d9d9;border-radius:6px;color:var(--text-color);outline:none;padding:8px 10px;transition:border-color .2s ease,box-shadow .2s ease}.settings-input:disabled{background:#f7f7f7;color:#888}.settings-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff26}.variables-list{background:#fdfdfd}.var-row code.var-name{background:#f3f3f3;border:1px solid #e5e5e5;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;padding:2px 6px}.var-row:focus-within{background:#fffef7;outline:2px solid #ffc40040;outline-offset:2px}.row-actions{display:inline-flex;gap:6px}.icon-button{align-items:center;background:#fff;border:1px solid #dcdcdc;border-radius:6px;color:#333;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.icon-button:hover:not(:disabled){background:#f6f6f6}.icon-button:focus-visible{outline:2px solid #007bff59;outline-offset:2px}.icon-button:disabled{cursor:not-allowed;opacity:.45}html[data-theme="High Contrast"] .main-content,html[data-theme=Dark] .main-content,html[data-theme=Light] .main-content,html[data-theme=Zen] .main-content,html[data-theme] .main-content{background-attachment:scroll;background-image:var(--page-bg-image);background-position:0 0;background-repeat:repeat;background-size:auto}.breadcrumb{align-items:center;color:var(--text-color);display:flex;flex-wrap:wrap;font-size:.95rem;gap:8px;margin:0 0 18px}.breadcrumb a{color:var(--primary-color);text-decoration:none}.breadcrumb a:focus,.breadcrumb a:hover{text-decoration:underline}.lesson-group{margin-top:28px;text-align:left}.lesson-group h3{color:var(--text-color);margin:0 0 14px}.lesson-card{color:var(--text-color);display:block;text-decoration:none}.lesson-card h4{font-size:1.25rem;margin:10px 0}.lesson-card p{margin-bottom:0}.lesson-card-coming-soon{opacity:.78}.lesson-status{background:var(--muted-bg);border-radius:4px;color:var(--text-color);display:inline-block;font-size:.8rem;font-weight:700;padding:4px 8px;text-transform:uppercase}.lesson-card-available .lesson-status{background:var(--secondary-color);color:#fff}.lesson-card-meta{display:flex;flex-wrap:wrap;gap:8px}.lesson-recommended{background:var(--primary-color);border-radius:4px;color:#fff;display:inline-block;font-size:.8rem;font-weight:700;padding:4px 8px;text-transform:uppercase}.lesson-context,.lesson-next-step{text-align:left}.lesson-context{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) auto}.lesson-context h1{color:var(--primary-color);font-size:2.2rem;margin:4px 0 6px}.lesson-context p{line-height:1.55}.lesson-kicker,.lesson-progress{color:var(--text-color);font-weight:700;margin:0;text-transform:uppercase}.lesson-kicker{font-size:.85rem}.lesson-progress{font-size:.95rem}.lesson-context-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.lesson-next-step .cta-buttons{justify-content:flex-start}.tutorial-shell-overview,.tutorial-support{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);text-align:left}.tutorial-shell-overview ul,.tutorial-support ul{line-height:1.7;margin:0;padding-left:20px}.tutorial-controls-guide{text-align:left}.tutorial-control-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.tutorial-control-item{background:var(--muted-bg);border:1px solid var(--border-color);border-radius:8px;min-height:118px;padding:14px}.tutorial-control-item h3{color:var(--primary-color);margin:0 0 8px}.tutorial-control-item p{line-height:1.45;margin:0}@media (max-width:900px){.lesson-context,.tutorial-shell-overview,.tutorial-support{grid-template-columns:1fr}.lesson-context-actions{justify-content:flex-start}}.home-page{padding-bottom:40px}.home-hero{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) auto;text-align:left}.home-hero h2{margin-bottom:12px}.home-hero p{line-height:1.6;margin:0}.home-primary-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:0}.suds-intro-card{grid-gap:20px;align-items:center;border-left:5px solid var(--primary-color);display:grid;gap:20px;grid-template-columns:auto minmax(0,1fr) auto;text-align:left}.suds-intro-avatar{height:82px;object-fit:contain;width:82px}.suds-intro-copy h2{margin-bottom:8px}.suds-intro-copy p{line-height:1.55;margin:0 0 14px}.suds-intro-actions{justify-content:flex-end}.beginner-path,.suds-intro-actions{display:flex;flex-wrap:wrap;gap:8px}.beginner-path span{background:var(--muted-bg);border:1px solid #0000001f;border-radius:999px;color:var(--text-color);font-size:.9rem;padding:6px 10px}.home-beginner-flow{text-align:left}.journey-steps{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.journey-step{background:var(--muted-bg);border-radius:8px;color:var(--text-color);display:block;min-height:180px;padding:20px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.journey-step:focus,.journey-step:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-3px)}.journey-step-number{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:inline-flex;font-weight:700;height:32px;justify-content:center;width:32px}.journey-step h3{margin:14px 0 8px}.journey-step p{line-height:1.45;margin:0}.feature-card-link{color:var(--text-color);display:block;text-decoration:none}.feature-card-coming-soon{opacity:.82}.placeholder-page .breadcrumb{margin-bottom:12px}.placeholder-section{text-align:left}.placeholder-eyebrow{background:var(--muted-bg);border-radius:4px;color:var(--text-color);display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin:0 0 10px;padding:5px 9px;text-transform:uppercase}.placeholder-section p{line-height:1.6;max-width:760px}.placeholder-plan{background:var(--muted-bg);border:1px solid var(--border-color);border-radius:8px;margin:20px 0;padding:16px}.placeholder-plan h3{margin:0 0 10px}.placeholder-plan ul{line-height:1.7;margin:0;padding-left:20px}@media (max-width:900px){.home-hero,.suds-intro-card{grid-template-columns:1fr}.home-primary-actions,.suds-intro-actions{justify-content:flex-start}.journey-steps{grid-template-columns:1fr}}@media (max-width:768px){.play-page{overflow-x:hidden;padding:14px 10px 24px}.play-page .page-title{font-size:1.8rem;margin-bottom:14px;padding-right:0}.play-page .section{margin-bottom:18px;padding:14px 10px}.play-page .section h2{font-size:1.35rem;margin-bottom:14px}.play-page .difficulty-selector-container,.play-page .timers-container-top-right{box-sizing:border-box;max-width:none;position:static;width:100%}.play-page .timers-container-top-right{gap:8px;justify-content:space-between;margin:0 0 10px;padding:8px}.play-page .timer{flex:1 1;margin-right:0;min-width:0}.play-page .timer-label{font-size:.72rem}.play-page .timer-value{font-size:.95rem}.play-page .difficulty-selector-container{align-items:stretch;gap:8px;margin:0 0 12px}.play-page .difficulty-label{align-self:center}.play-page .difficulty-dropdown{flex:1 1;min-width:0}.play-page .start-button.labeled{min-width:128px;white-space:nowrap}.play-page .sudoku-board-container{align-items:center;display:flex;flex-direction:column;gap:10px;margin-top:8px}.play-page .board-actions{gap:8px;justify-content:flex-end;max-width:350px;pointer-events:auto;position:static;width:100%}.play-page .board-icon{flex:0 0 auto;height:40px;width:40px}.play-page .game-controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.play-page .game-controls .control-button{margin:0;min-height:44px;padding:10px 8px;width:100%}}@media (max-width:420px){.play-page .difficulty-selector-container{flex-wrap:wrap}.play-page .difficulty-label{width:100%}.play-page .start-button.labeled{flex:1 1}}.board-style-selector{align-items:center;background-color:#f8f9fa;border-radius:4px;box-shadow:0 1px 3px #0000001a;display:flex;margin-bottom:20px;padding:10px}.board-style-selector label{color:var(--text-color);font-weight:500;margin-right:10px}.board-style-selector select{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;font-size:1rem;padding:8px 12px;transition:all .3s}.board-style-selector select:hover{border-color:var(--primary-color)}.board-style-selector select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #1890ff33;outline:none}@media (max-width:600px){.board-style-selector{align-items:flex-start;flex-direction:column}.board-style-selector label{margin-bottom:5px}.board-style-selector select{width:100%}}:root{--parchment:var(--tutorial-parchment,#f6f1e7);--ink:var(--tutorial-ink,#1b1b1b);--soft-ink:var(--tutorial-soft-ink,#3b3a37);--muted:var(--tutorial-muted,#6f6a62);--vermillion:var(--tutorial-vermillion,#c43a2f);--vermillion-soft:var(--tutorial-vermillion-soft,#d85445);--bamboo:var(--tutorial-bamboo,#c6b89e);--grid:var(--tutorial-grid,#bbae97);--grid-strong:var(--tutorial-grid-strong,#7f7462);--wash:var(--tutorial-wash,#efe7d9);--placed:var(--tutorial-placed,#d9efe1);--focus:var(--tutorial-focus,#f1e5cf);--affect:var(--tutorial-affect,#eadfcd);--cand:var(--tutorial-cand,#857b6b);--cand-strong:var(--tutorial-cand-strong,#4a463e);--key:var(--tutorial-key,#c43a2f);--divider-glyph:var(--tutorial-divider-glyph,"— ㊀ —");--board-bg:var(--tutorial-board-bg,#fbf7ef);--clue-wash-1:var(--tutorial-clue-wash-1,#0000000d);--clue-wash-2:var(--tutorial-clue-wash-2,#00000008);--solve-wash-1:#2266ad1f;--solve-wash-2:#2266ad0a;--solve-border:#2d5f8a;--notes-wash-1:#eab3082e;--notes-wash-2:#eab30814;--notes-border:#9a7b17;--danger-wash:#c43a2f38;--danger-border:#7f1f17}body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 800px at 60% 10%,#00000014,#0000 55%),radial-gradient(900px 700px at 10% 90%,#0000000f,#0000 60%),#f6f1e7;background:radial-gradient(1200px 800px at 60% 10%,#00000014,#0000 55%),radial-gradient(900px 700px at 10% 90%,#0000000f,#0000 60%),var(--parchment);color:#1b1b1b;color:var(--ink);font:17px/1.65 "Noto Serif JP",Iowan Old Style,Georgia,serif;letter-spacing:.2px;margin:0;text-rendering:optimizeLegibility}.wrap{margin:0 auto;max-width:980px;padding:32px 18px 64px}.wrap.dir-ltr{direction:ltr}.wrap.dir-rtl{direction:rtl}header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}h1{font-size:clamp(26px,4.2vw,44px);font-weight:700;letter-spacing:.5px;line-height:1.12;margin:0}.hanko{align-items:center;background:#c43a2f;background:var(--vermillion);border:2px solid #7f1f17;border-radius:999px;box-shadow:0 2px 0 #7f1f17,inset 0 0 0 1px #ffffff38;color:#fff;display:inline-flex;font:700 13px/1 Noto Sans,system-ui,-apple-system,Segoe UI,Arial;height:36px;justify-content:center;letter-spacing:.08em;min-width:36px;padding:0 12px;text-transform:uppercase}.sub{color:#6f6a62;color:var(--muted);font-size:14px;margin-top:3px}.panel{background:linear-gradient(180deg,#ffffffb3,#ffffff4d),#efe7d9;background:linear-gradient(180deg,#ffffffb3,#ffffff4d),var(--wash);border:1px solid #c6b89e;border:1px solid var(--bamboo);border-radius:14px;box-shadow:inset 0 0 0 1px #00000008,0 10px 22px #0000000d;margin:14px 0;padding:16px 16px 14px}.wrap.exposed-single .panel{background:linear-gradient(180deg,#0000,#0000000d),linear-gradient(180deg,#ffffffb3,#ffffff4d),#efe7d9;background:linear-gradient(180deg,#0000,#0000000d),linear-gradient(180deg,#ffffffb3,#ffffff4d),var(--wash)}.wrap .panel{text-align:left}.wrap.dir-rtl .panel{text-align:right}.wrap.dir-ltr .panel .seal,.wrap.dir-ltr .panel .wisdom,.wrap.dir-ltr .panel>ol,.wrap.dir-ltr .panel>p,.wrap.dir-ltr .panel>ul{text-align:left}.wrap.dir-rtl .panel .seal,.wrap.dir-rtl .panel .wisdom,.wrap.dir-rtl .panel>ol,.wrap.dir-rtl .panel>p,.wrap.dir-rtl .panel>ul{text-align:right}h2{border-left:4px solid #c43a2f;border-left:4px solid var(--vermillion);font-size:21px;font-weight:700;margin:4px 0 10px;padding-left:10px}.wrap.exposed-single h2{position:relative}.wrap.exposed-single h2 .icon-btn{align-items:center;background:#0000;border:none;color:#3b3a37;color:var(--soft-ink);cursor:pointer;display:inline-flex;float:right;font-size:16px;justify-content:center;line-height:1;margin-left:8px}.wrap.exposed-single h2 .icon-btn .icon{display:block;height:36px;width:36px}.wrap.exposed-single h2 .icon-btn:hover{color:#c43a2f;color:var(--vermillion)}h3{font-size:18px;margin:14px 0 8px}.two{grid-gap:18px;display:grid;gap:18px}@media (min-width:880px){.two{grid-template-columns:1.1fr .9fr}}.divider{color:#6f6a62;color:var(--muted);margin:16px 0 10px;text-align:center;-webkit-user-select:none;user-select:none}.divider:before{content:"— ㊀ —";content:var(--divider-glyph)}.seal{background:linear-gradient(180deg,#c43a2f14,#c43a2f05);border-left:4px solid #c43a2f;border-left:4px solid var(--vermillion)}.seal,.wisdom{border-radius:12px;color:#3b3a37;color:var(--soft-ink);margin:10px 0;padding:10px 12px}.wisdom{background:linear-gradient(180deg,#326e4d14,#326e4d05);border-left:4px solid #6a8e6d}.small{color:#6f6a62;color:var(--muted);font-size:13.5px}table.sudoku{background:#fbf7ef;background:var(--board-bg);border-collapse:collapse;box-shadow:inset 0 0 0 1px #0000000a,0 16px 30px #00000014;margin:10px auto 6px;max-width:780px;width:100%}table.sudoku td{border:1px solid #bbae97;border:1px solid var(--grid);height:72px;min-width:72px;position:relative;text-align:center;vertical-align:middle;width:72px}table.sudoku tr:nth-child(3n) td{border-bottom:2px solid #7f7462;border-bottom:2px solid var(--grid-strong)}table.sudoku td:nth-child(3n){border-right:2px solid #7f7462;border-right:2px solid var(--grid-strong)}table.sudoku .value{font-feature-settings:"tnum" 1,"tnum";align-items:center;color:#3b3a37;color:var(--soft-ink);display:flex;font:800 33px/1.1 JetBrains Mono,IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums;justify-content:center}.wrap.exposed-single .example-puzzle table.sudoku .value{font-feature-settings:"tnum" 1,"tnum";font:800 33px/1.1 M PLUS Rounded\ 1c,Noto Sans JP,system-ui,-apple-system,Segoe UI,Arial;font-variant-numeric:tabular-nums}table.sudoku .value.given{color:#24324a;opacity:.95}table.sudoku td.clue{background:linear-gradient(180deg,#0000000d,#00000008),#fbf7ef;background:linear-gradient(180deg,var(--clue-wash-1),var(--clue-wash-2)),var(--board-bg)}table.sudoku td.placed{background:#d9efe1;background:var(--placed);box-shadow:inset 0 0 0 2px #3c825f24}table.sudoku td.focus{background:#f1e5cf;background:var(--focus)}table.sudoku td.affect{background:#eadfcd;background:var(--affect)}table.sudoku td.invalid{background:#c43a2f38;background:var(--danger-wash);box-shadow:none}table.sudoku td.invalid.invalid-active{box-shadow:inset 0 0 0 2px #7f1f17;box-shadow:inset 0 0 0 2px var(--danger-border)}table.sudoku td.play-solve{background:linear-gradient(180deg,#2266ad1f,#2266ad0a);background:linear-gradient(180deg,var(--solve-wash-1),var(--solve-wash-2));box-shadow:none}table.sudoku td.play-notes{background:linear-gradient(180deg,#eab3082e,#eab30814);background:linear-gradient(180deg,var(--notes-wash-1),var(--notes-wash-2));box-shadow:none}@keyframes suds-blink-red{0%,to{background:inherit;box-shadow:none}25%,75%{background:#c43a2f38;background:var(--danger-wash);box-shadow:none}}table.sudoku td.blink-not-playable{animation:suds-blink-red .4s ease-in-out 2}table.sudoku .candidates{grid-gap:1px;box-sizing:border-box;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);height:100%;padding:6px;width:100%}table.sudoku .candidates span{font-feature-settings:"tnum" 1,"tnum";align-self:center;color:#857b6b;color:var(--cand);font:600 16px/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums;justify-self:center;opacity:.34}.wrap.exposed-single .example-puzzle table.sudoku .candidates span{font-family:M PLUS Rounded\ 1c,Noto Sans JP,system-ui,-apple-system,Segoe UI,Arial}table.sudoku .candidates span.on{color:#4a463e;color:var(--cand-strong);opacity:.9}table.sudoku .candidates span.key{color:#c43a2f;color:var(--key);opacity:1}.note{color:#6f6a62;color:var(--muted);font-size:13px}.suds-step-nav{gap:10px;justify-content:space-between;margin:12px 0 18px}.suds-step-left,.suds-step-nav,.suds-step-right{align-items:center;display:flex}.suds-step-center{display:flex;flex:1 1;flex-wrap:wrap;gap:8px;justify-content:center}.suds-btn{-webkit-appearance:none;appearance:none;border:2px solid #7f1f17;border-radius:999px;box-shadow:0 2px 0 #7f1f17,inset 0 0 0 1px #ffffff2e;cursor:pointer;font:600 13px/1 Noto Sans,system-ui,-apple-system,Segoe UI,Arial;letter-spacing:.04em;padding:8px 14px;transition:transform .02s ease}.suds-btn.num-key{font-size:16px;padding:10px 18px}.wrap.exposed-single .suds-step-nav .suds-btn.num-key{font-size:17.6px;padding:11px 19.8px}.suds-btn:active{transform:translateY(1px)}.suds-btn.prev{background:linear-gradient(180deg,#0000000a,#00000005);border-color:#7a6a55;box-shadow:0 2px 0 #7a6a55,inset 0 0 0 1px #ffffff2e;color:#3b3a37;color:var(--soft-ink)}.suds-btn.next{background:#c43a2f;background:var(--vermillion);color:#fff}.suds-btn:disabled{cursor:not-allowed;filter:grayscale(.15);opacity:.45}.suds-step-index{-webkit-appearance:none;appearance:none;background:#0000;border:none;border-bottom:3px solid #0000;color:#3b3a37;color:var(--soft-ink);cursor:pointer;font:700 13px/1 Noto Sans,system-ui,-apple-system,Segoe UI,Arial;padding:6px 8px}.suds-step-index.active,.suds-step-index[aria-pressed=true]{border-bottom-color:#c43a2f;border-bottom-color:var(--vermillion)}.wrap.exposed-single.mode-solve .suds-step-nav .suds-btn.num-key{background:linear-gradient(180deg,#2266ad1f,#2266ad0a);border-color:#2d5f8a;box-shadow:0 2px 0 #2d5f8a,inset 0 0 0 1px #fff3;color:#3b3a37;color:var(--soft-ink)}.wrap.exposed-single.mode-solve .suds-step-nav .suds-btn.num-key:hover{background:linear-gradient(180deg,#2266ad29,#2266ad0f)}.wrap.exposed-single.mode-notes .suds-step-nav .suds-btn.num-key{background:linear-gradient(180deg,#eab3082e,#eab30814);border-color:#9a7b17;box-shadow:0 2px 0 #9a7b17,inset 0 0 0 1px #ffffff38;color:#3b3a37;color:var(--soft-ink)}.wrap.exposed-single.mode-notes .suds-step-nav .suds-btn.num-key:hover{background:linear-gradient(180deg,#eab30838,#eab3081a)}.suds-step-nav .suds-btn.num-key.complete9{background:silver!important;color:#222;filter:none}.wrap.exposed-single .mode-toggle{align-items:center;background:#00000005;border:1px solid #7a6a55;border-radius:999px;display:inline-flex;gap:6px;padding:4px}.wrap.exposed-single .mode-toggle .suds-btn{border-radius:999px;font-size:14px;padding:10px 18px;position:relative}.wrap.exposed-single .mode-toggle .suds-btn[aria-pressed=true]{box-shadow:0 2px 0 #7a6a55,inset 0 0 0 1px #ffffff2e}.wrap.exposed-single .mode-toggle .suds-btn[aria-pressed=false],.wrap.exposed-single .mode-toggle .suds-btn[aria-pressed=true]{background:linear-gradient(180deg,#0000000a,#00000005);border-color:#7a6a55;color:#3b3a37;color:var(--soft-ink)}.wrap.exposed-single.mode-solve .mode-toggle [data-action=set-annotations][data-value=solve][aria-pressed=true]{background:linear-gradient(180deg,#2266ad1f,#2266ad0a);border-color:#2d5f8a;box-shadow:0 2px 0 #2d5f8a,inset 0 0 0 1px #fff3;color:#3b3a37;color:var(--soft-ink)}.wrap.exposed-single.mode-solve .mode-toggle [data-action=set-annotations][data-value=solve][aria-pressed=true]:hover{background:linear-gradient(180deg,#2266ad29,#2266ad0f)}.wrap.exposed-single.mode-notes .mode-toggle [data-action=set-annotations][data-value=notes][aria-pressed=true]{background:linear-gradient(180deg,#eab3082e,#eab30814);border-color:#9a7b17;box-shadow:0 2px 0 #9a7b17,inset 0 0 0 1px #ffffff38;color:#3b3a37;color:var(--soft-ink)}.wrap.exposed-single.mode-notes .mode-toggle [data-action=set-annotations][data-value=notes][aria-pressed=true]:hover{background:linear-gradient(180deg,#eab30838,#eab3081a)}.wrap.exposed-single .mode-toggle .suds-btn[aria-pressed=true]:hover{filter:brightness(1.02)}.wrap.exposed-single .suds-step-nav .suds-btn[data-action=toggle-hints]{font-size:14px;padding:10px 18px}.wrap.exposed-single .hint-toggle{align-items:center;background:linear-gradient(180deg,#0000000a,#00000005);border:2px solid #7a6a55;border-radius:999px;box-shadow:0 2px 0 #7a6a55,inset 0 0 0 1px #ffffff2e;color:#3b3a37;color:var(--soft-ink);display:inline-flex;font:600 14px/1 Noto Sans,system-ui,-apple-system,Segoe UI,Arial;gap:8px;letter-spacing:.04em;padding:10px 18px}.wrap.exposed-single .hint-toggle input[type=checkbox]{accent-color:#c43a2f;accent-color:var(--vermillion);height:16px;width:16px}table.sudoku{cursor:pointer}@keyframes suds-winner-fadein{0%{opacity:0}to{opacity:1}}@keyframes suds-winner-fadeout{0%{opacity:1}to{opacity:0}}@keyframes suds-dissolve{0%{opacity:1}to{opacity:0}}.suds-dissolve{animation:suds-dissolve .25s ease-in-out 1}.suds-winner-overlay{align-items:center;animation:suds-winner-fadein .25s ease-out both;background:#00000073;color:#fff;display:flex;inset:0;justify-content:center;position:fixed;text-align:center;z-index:9999}.suds-winner-overlay .suds-winner-text{font:800 clamp(36px,6vw,72px)/1.1 M PLUS Rounded\ 1c,Noto Sans JP,system-ui,-apple-system,Segoe UI,Arial;letter-spacing:.04em;text-shadow:0 6px 22px #00000073,0 1px 0 #00000059}.suds-winner-overlay.fading{animation:suds-winner-fadeout .6s ease-in forwards}@media (max-width:768px){.wrap{box-sizing:border-box;max-width:100%;padding:18px 8px 42px}.panel{overflow-x:hidden;padding:12px 8px}table.sudoku{max-width:min(100%,360px);table-layout:fixed}table.sudoku td{height:clamp(34px,10vw,40px);min-width:0;width:clamp(34px,10vw,40px)}.wrap.exposed-single .example-puzzle table.sudoku .value,table.sudoku .value{font-size:clamp(18px,5.7vw,23px)}table.sudoku .candidates{padding:2px}table.sudoku .candidates span{font-size:clamp(8px,2.4vw,11px)}.suds-step-nav{align-items:stretch;flex-direction:column}.suds-step-center,.suds-step-left,.suds-step-right{justify-content:center}.wrap.exposed-single .mode-toggle{flex-wrap:wrap;justify-content:center}}.wrap.exposed-single .difficulty-control{align-items:center;background:linear-gradient(180deg,#0000000a,#00000005);border:2px solid #7a6a55;border-radius:999px;box-shadow:0 2px 0 #7a6a55,inset 0 0 0 1px #ffffff2e;color:#3b3a37;color:var(--soft-ink);display:inline-flex;font:600 13px/1 Noto Sans,system-ui,-apple-system,Segoe UI,Arial;gap:10px;letter-spacing:.04em;padding:8px 14px}.wrap.exposed-single .difficulty-control .difficulty-label{color:#6f6a62;color:var(--muted);font-size:12px}.wrap.exposed-single .difficulty-control .difficulty-value{display:none}.wrap.exposed-single .difficulty-control input[type=range]{accent-color:#c43a2f;accent-color:var(--vermillion);width:140px}@keyframes suds-spin{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.wrap.exposed-single h2 .icon-btn.spinning .icon{animation:suds-spin .9s linear infinite}.wrap.exposed-single h2 .icon-btn[disabled]{opacity:.75}.cookie-consent-container{align-items:center;background-color:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -2px 10px #0000001a;display:flex;flex-direction:column;margin-top:40px;padding:15px 20px;position:static}.cookie-consent-content{display:flex;flex-direction:column;gap:15px;margin:0 auto;max-width:1200px;width:100%}.cookie-consent-message{flex:1 1}.cookie-consent-message h3{color:var(--primary-color);font-size:1.2rem;margin-bottom:10px;margin-top:0}.cookie-consent-message p{color:var(--text-color);font-size:.95rem;line-height:1.5;margin:0}.cookie-consent-buttons{display:flex;gap:10px;margin-top:10px}.cookie-consent-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .3s ease}.cookie-consent-button.accept{background-color:var(--primary-color);color:#fff}.cookie-consent-button.decline{background-color:#a0a0a0;color:#fff}.cookie-consent-button:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}@media (min-width:768px){.cookie-consent-content{align-items:center;flex-direction:row}.cookie-consent-buttons{margin-top:0}}@media (max-width:767px){.cookie-consent-container{padding:15px}.cookie-consent-buttons{flex-direction:column;width:100%}.cookie-consent-button{text-align:center;width:100%}}
/*# sourceMappingURL=main.65d7ae84.css.map*/