:root{--app-font-family: "Inter var", system-ui, -apple-system, "Segoe UI", sans-serif;--background-color: #f4f4f5;--text-color: #1b1b1e;--link-text-color: #4752e0;--link-bg-color: transparent;--link-hover-text-color: #5865f2;--link-hover-bg-color: #e8e8ea;--status-bar-text-color: #1b1b1e;--status-bar-bg: #f4f4f5;--status-bar-border-color: #e0e0e3;--status-bar-button-hover-color: #e8e8ea;--menu-border-color: #e0e0e3;--menu-text-color: #3f3f46;--menu-bg-color: #ffffff;--menu-box-shadow: 0 4px 14px rgba(0, 0, 0, .12);--menu-hover-text-color: #ffffff;--menu-hover-bg-color: #5865f2;--menu-disabled-text-color: #c4c4c8;--modal-text-color: #3f3f46;--modal-bg-color: #ffffff;--modal-box-shadow: 0 8px 24px rgba(0, 0, 0, .16);--modal-backdrop-color: #00000055;--modal-heading-underline-color: #e8e8ea;--modal-button-text-color: #1b1b1e;--modal-button-bg-color: #e8e8ea;--modal-button-primary-text-color: #ffffff;--modal-button-primary-bg-color: #5865f2;--modal-button-danger-text-color: #ffffff;--modal-button-danger-bg-color: #f23f43;--modal-icon-ok-fill-color: #23a55a;--modal-icon-warning-fill-color: #f0b232;--modal-icon-error-fill-color: #f23f43;--button-hover-shadow: 0 0 0 1px #5865f2;--input-toggle-bg-color: #e4e4e7;--input-toggle-inset-color: #ffffffd0;--input-toggle-off-color: #a1a1aa;--input-toggle-on-color: #23a55a;--input-multi-text-color: #6e6e74;--input-multi-bg-color: transparent;--input-multi-selected-text-color: #ffffff;--input-multi-selected-bg-color: #5865f2;--badge-text-color: #ffffff;--badge-bg-color: #f23f43;--solved-text-color: #178a48;--grid-line-color: #f4f4f5;--grid-line-color-bold: #dcdce0;--mini-grid-line-color: #a1a1aa;--mini-grid-bar-color: #5865f2;--mini-grid-bar-text-color: #ffffff;--given-digit-color: #6e6e74;--visited-digit-color: #b6b6bc;--paused-digit-color: #c9c9ce;--digit-color: #4752e0;--pencil-mark-color: #4752e0;--error-fill-color: #f23f4326;--error-text-color: #d1292d;--selection-outline-color: #5865f2;--selected-fill-color: #5865f24d;--matched-fill-color: #5865f221;--selected-matched-fill-color: #5865f27a;--cell-bg-1-fill-color: #ffffff;--given-cell-fill-color: #ececee;--cell-bg-2-fill-color: #ffb8bc;--cell-bg-3-fill-color: #ffd085;--cell-bg-4-fill-color: #ffffb6;--cell-bg-5-fill-color: #caf9ca;--cell-bg-6-fill-color: #f1dbff;--cell-bg-7-fill-color: #c8f7ff;--cell-bg-8-fill-color: #ffa8d8;--cell-bg-9-fill-color: #d7d7d7;--solved-digit-color: #4752e0;--solved-given-digit-color: #6e6e74;--solved-fill-color: #b9f0cd;--error-selected-fill-color: #f8a0a2;--hint-hot-spot-bg-color: #eeeef0;--hint-hot-spot-hover-bg-color: #5865f233;--hint-hot-spot-highlight-color: #f23f43;--hint-footer-bg-color: #f0f0f2;--hint-target-fill-color: #caf9ca;--hint-highlight-fill-color: #ffffd3;--hint-new-digit-fill-color: #ffffff;--hint-new-digit-bg-color: #23a55a;--hint-eliminations-fill-color: #fbc4c7;--hint-elimination-bg-color: #f23f43;--hint-elimination-fill-color: #ffffff;--difficulty-indicator-bg-color: transparent;--difficulty-indicator-border-color: #dcdce0;--difficulty-indicator-text-color: #6e6e74;--difficulty-indicator-label-color: #8a8a90;--button-bg-color: #5865f2;--button-text-color: #ffffff;--grid-line-width: 2;--grid-line-width-bold: 5;--hint-hot-spot-highlight-line-width: 7;--vkbd-bg-fill-color: #ffffff;--vkbd-button-fill-color: #f0f0f2;--vkbd-button-text-color: #1b1b1e;--vkbd-completed-button-text-color: #23a55a;--vkbd-mode-panel-fill-color: #e8e8ea;--vkbd-mode-text-color: #6e6e74;--vkbd-active-mode-fill-color: #5865f2;--vkbd-mode-icon-fill-color: #55565c;--vkbd-active-mode-icon-fill-color: #ffffff}:root .dark{--background-color: #1b1b1e;--text-color: #e6e6e6;--link-text-color: #7983f5;--link-bg-color: transparent;--link-hover-text-color: #a3aaf8;--link-hover-bg-color: #2f2f2f;--status-bar-text-color: #e6e6e6;--status-bar-bg: #1b1b1e;--status-bar-border-color: #343438;--status-bar-button-hover-color: #2f2f2f;--menu-border-color: #343438;--menu-text-color: #cfcfcf;--menu-bg-color: #242424;--menu-box-shadow: 0 4px 14px rgba(0, 0, 0, .5);--menu-hover-text-color: #ffffff;--menu-hover-bg-color: #5865f2;--menu-disabled-text-color: #55565c;--modal-text-color: #cfcfcf;--modal-bg-color: #242424;--modal-box-shadow: 0 8px 24px rgba(0, 0, 0, .55);--modal-backdrop-color: #000000a8;--modal-heading-underline-color: #343438;--modal-button-text-color: #e6e6e6;--modal-button-bg-color: #2f2f2f;--modal-button-primary-text-color: #ffffff;--modal-button-primary-bg-color: #5865f2;--modal-button-danger-text-color: #ffffff;--modal-button-danger-bg-color: #f23f43;--button-hover-shadow: 0 0 0 1px #5865f2;--input-toggle-bg-color: #2f2f2f;--input-toggle-inset-color: #1b1b1ed0;--input-toggle-off-color: #55565c;--input-toggle-on-color: #23a55a;--input-multi-text-color: #8a8a8a;--input-multi-bg-color: transparent;--input-multi-selected-text-color: #ffffff;--input-multi-selected-bg-color: #5865f2;--badge-text-color: #ffffff;--badge-bg-color: #f23f43;--solved-text-color: #23a55a;--grid-line-color: #1b1b1e;--grid-line-color-bold: #121214;--mini-grid-line-color: #666666;--mini-grid-bar-color: #5865f2;--mini-grid-bar-text-color: #ffffff;--given-digit-color: #8a8a8a;--visited-digit-color: #55565c;--paused-digit-color: #666666;--digit-color: #7983f5;--pencil-mark-color: #7983f5;--error-fill-color: #f23f4338;--error-text-color: #f23f43;--selected-fill-color: #5865f27a;--matched-fill-color: #5865f236;--selected-matched-fill-color: #5865f2a8;--cell-bg-1-fill-color: #242424;--given-cell-fill-color: #2c2c2f;--cell-bg-2-fill-color: #973838;--cell-bg-3-fill-color: #793900;--cell-bg-4-fill-color: #777036;--cell-bg-5-fill-color: #2f6a2f;--cell-bg-6-fill-color: #25267d;--cell-bg-7-fill-color: #8c6447;--cell-bg-8-fill-color: #7e3158;--cell-bg-9-fill-color: #515151;--solved-digit-color: #7983f5;--solved-given-digit-color: #666666;--solved-fill-color: #23a55a;--error-selected-fill-color: #f23f4380;--hint-hot-spot-bg-color: #2f2f2f;--hint-hot-spot-hover-bg-color: #5865f2;--hint-hot-spot-highlight-color: #f23f43;--hint-footer-bg-color: #242424;--hint-target-fill-color: #796827;--hint-highlight-fill-color: #796c03;--hint-new-digit-fill-color: #23a55a;--hint-new-digit-bg-color: #1b1b1e;--hint-eliminations-fill-color: #973838;--hint-elimination-bg-color: #fbb6b6;--hint-elimination-fill-color: #f23f43;--difficulty-indicator-bg-color: transparent;--difficulty-indicator-border-color: #343438;--difficulty-indicator-text-color: #8a8a8a;--difficulty-indicator-label-color: #8a8a8a;--button-bg-color: #5865f2;--button-text-color: #ffffff;--grid-line-width: 2;--grid-line-width-bold: 5;--vkbd-bg-fill-color: #242424;--vkbd-button-fill-color: #2f2f2f;--vkbd-button-text-color: #e6e6e6;--vkbd-completed-button-text-color: #23a55a;--vkbd-mode-panel-fill-color: #1f1f21;--vkbd-mode-text-color: #8a8a8a;--vkbd-active-mode-fill-color: #5865f2;--vkbd-mode-icon-fill-color: #8a8a8a;--vkbd-active-mode-icon-fill-color: #ffffff}html{margin:0;width:100%;height:100%}body{margin:0;padding:0;width:100%;height:100%;font-family:var(--app-font-family);font-size:1.2rem}#root{box-sizing:border-box;padding-top:calc(var(--header-height, 7.5vh) + var(--dev-banner-h, 0rem) + var(--discord-top-inset, 0rem));height:100%;width:100%;color:var(--text-color);background-color:var(--background-color)}a{color:var(--link-text-color);background-color:var(--link-bg-color);text-decoration:none;padding:0 .1em}a:hover{color:var(--link-hover-text-color);background-color:var(--link-hover-bg-color);border-bottom:1px solid var(--link-hover-text-color)}.sudoku-app{width:100%;height:100%;-webkit-user-select:none;user-select:none}.ui-elements{width:100%;height:100%;display:flex;flex-flow:row nowrap;justify-content:space-evenly;align-items:center}.portrait .ui-elements{flex-flow:column nowrap}.buttons{text-align:center}.buttons a{display:inline-block;text-decoration:none;font-size:1.8rem;font-weight:700;padding:.4em .8em;margin:.3em;color:var(--button-text-color);background-color:var(--button-bg-color);border-radius:.1em;border:none}button:hover,a.btn:hover{box-shadow:var(--button-hover-shadow)}.portrait .buttons a{font-size:1rem;margin:.2em}@font-face{font-family:Inter var;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/Inter-var-latin-Dx4kXJAl.woff2) format("woff2")}@font-face{font-family:Spline Sans Mono var;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/SplineSansMono-var-latin-DlaB5ohX.woff2) format("woff2")}:root{--su-night: #1b1b1e;--su-panel: #242424;--su-cell: #2f2f2f;--su-given: #666666;--su-line: #343438;--su-ink: #e6e6e6;--su-dim: #8a8a8a;--su-blurple: #5865f2;--su-medium: #23a55a;--su-expert: #f0b232;--su-hell: #f23f43;--su-mono: "Spline Sans Mono var", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;--su-body: "Inter var", system-ui, -apple-system, "Segoe UI", sans-serif;--header-height: 5rem;--dev-banner-h: 0rem;--discord-top-inset: 0rem}:root.dev{--dev-banner-h: 1.6rem}:root.discord-mobile{--discord-top-inset: calc(env(safe-area-inset-top, 0px) + 3.1rem - var(--dev-banner-h, 0))}@media(max-width:52rem){:root{--header-height: 7.4rem}}.dev-banner{position:fixed;top:0;left:0;width:100%;height:var(--dev-banner-h);z-index:50;display:flex;align-items:center;justify-content:center;background:var(--su-expert);color:#1b1b1e;font-family:var(--su-mono);font-weight:700;font-size:.72rem;letter-spacing:.08em}:root.light{--su-night: #f4f4f5;--su-panel: #ffffff;--su-cell: #e8e8ea;--su-given: #b0b0b6;--su-line: #e0e0e3;--su-ink: #1b1b1e;--su-dim: #6e6e74}.site-page{box-sizing:border-box;min-height:100dvh;margin-top:calc(-1 * var(--header-height));background:var(--su-night);color:var(--su-ink);font-family:var(--su-body);font-weight:400;line-height:1.55}.site-page *,.site-page *:before,.site-page *:after{box-sizing:inherit}.su-display{font-family:var(--su-mono);font-weight:700;letter-spacing:-.02em;color:var(--su-ink)}.site-page a{color:var(--su-ink);text-decoration-color:var(--su-dim);text-underline-offset:3px}.site-page a:hover{text-decoration-color:var(--su-blurple)}.site-page :focus-visible{outline:2px solid var(--su-blurple);outline-offset:2px;border-radius:4px}.web-play-message{max-width:30rem;margin:4rem auto;padding:1.5rem;text-align:center;color:var(--su-dim);font-family:var(--su-body)}.web-play-message strong{color:var(--su-ink)}.completion-screen{padding:3rem 1.5rem 4rem}.completion-screen .completion-card{max-width:34rem;margin:0 auto}.completion-eyebrow{font-family:var(--su-mono);font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--su-medium);margin:0 0 .75rem}.completion-title{font-family:var(--su-mono);font-weight:700;font-size:clamp(1.6rem,5vw,2.2rem);letter-spacing:-.02em;margin:0}.completion-time{color:var(--su-blurple)}.completion-next{margin:2.25rem 0 .75rem;font-size:.95rem;color:var(--su-dim)}.picker-screen{padding:3rem 1.5rem 4rem}.picker-masthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem}.picker-screen-inner{max-width:34rem;margin:0 auto}.picker-screen h1{font-size:clamp(1.6rem,5vw,2.2rem);margin:0 0 1.5rem}.theme-select{box-sizing:border-box;min-width:3.8rem;font-family:var(--su-mono);font-weight:500;font-size:.72rem;letter-spacing:.04em;padding:.3rem .6rem;border:1px solid var(--su-line);border-radius:8px;background:var(--su-panel);color:var(--su-dim);cursor:pointer}.theme-select:hover{color:var(--su-ink);border-color:var(--su-blurple)}@media(prefers-reduced-motion:reduce){.site-page *{transition:none!important;animation-duration:.01ms!important}}.day-countdown{font-family:var(--su-mono);font-weight:600;font-variant-numeric:tabular-nums;color:var(--su-ink)}.bot-prompt{margin:0 0 1.5rem;padding:1rem 1.25rem;background:var(--su-panel);border:1px solid var(--su-line);border-left:3px solid var(--su-blurple);border-radius:14px}.bot-prompt-text{margin:0 0 .85rem;font-size:.95rem;color:var(--su-dim)}.bot-prompt-text strong{color:var(--su-ink)}.bot-prompt-actions{display:flex;gap:.6rem}.bot-prompt-actions button{font-family:var(--su-mono);font-weight:500;font-size:.85rem;padding:.45rem .9rem;border-radius:8px;border:1px solid transparent;cursor:pointer}.bot-prompt-add{background:var(--su-blurple);color:#fff}.bot-prompt-add:hover{opacity:.9}.bot-prompt-dismiss{background:transparent;border-color:var(--su-line);color:var(--su-dim)}.bot-prompt-dismiss:hover{color:var(--su-ink)}.delete-data{margin-top:2.5rem;font-size:.85rem;color:var(--su-dim)}.delete-data button{font-family:var(--su-mono);font-weight:500;font-size:.8rem;padding:.3rem .7rem;border:1px solid var(--su-line);border-radius:8px;background:var(--su-panel);color:var(--su-dim);cursor:pointer}.delete-data button:hover{color:var(--su-ink);border-color:var(--su-hell)}.delete-data button.delete-data-confirm{color:#fff;background:var(--su-hell);border-color:var(--su-hell)}.delete-data.done{color:var(--su-medium)}.delete-data.error{color:var(--su-hell)}.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;min-height:100dvh}.loading-tiles{display:grid;grid-template-columns:repeat(3,1.1rem);gap:.25rem}.loading-tiles span{width:1.1rem;height:1.1rem;border-radius:.28rem;animation:loading-tile-pulse 1.1s infinite ease-in-out}@keyframes loading-tile-pulse{0%,60%,to{transform:scale(1);opacity:1}30%{transform:scale(.55);opacity:.55}}.loading-label{margin:0;font-family:var(--su-mono);font-weight:500;font-size:.85rem;letter-spacing:.08em;color:var(--su-dim)}@media(prefers-reduced-motion:reduce){.loading-tiles span{animation:none}}.difficulty-picker{display:flex;flex-direction:column;gap:.9rem;margin:0}.difficulty-row{--row-accent: var(--su-blurple);display:flex;align-items:center;justify-content:space-between;gap:1.25rem;width:100%;padding:1.1rem 1.25rem;border:1px solid var(--su-line);border-radius:14px;background:var(--su-panel);color:var(--su-ink);cursor:pointer;text-align:left;font-family:var(--su-body);transition:border-color .18s ease,transform .18s ease}.difficulty-medium{--row-accent: var(--su-medium)}.difficulty-expert{--row-accent: var(--su-expert)}.difficulty-hell{--row-accent: var(--su-hell)}.difficulty-row:hover,.difficulty-row:focus-visible{border-color:var(--row-accent);transform:translateY(-2px)}.difficulty-row.is-completed{opacity:.55}.difficulty-row.is-completed:hover,.difficulty-row.is-completed:focus-visible{opacity:.85}.difficulty-row.is-completed .difficulty-done-hint{color:var(--su-medium);font-weight:600}.difficulty-info{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0}.difficulty-pips{display:flex;gap:.3rem}.difficulty-pip{width:.55rem;height:.55rem;fill:var(--row-accent)}.difficulty-name{font-family:var(--su-mono);font-weight:700;font-size:1.25rem;letter-spacing:-.01em;line-height:1.2}.difficulty-name-accent{color:var(--row-accent)}.difficulty-description{font-size:.85rem;color:var(--su-dim)}.mini-grid{display:grid;grid-template-columns:repeat(3,auto);gap:3px;flex-shrink:0}.mini-block{display:grid;grid-template-columns:repeat(3,9px);grid-auto-rows:9px;gap:2px}.mini-cell{border-radius:2px;background:var(--su-cell);transition:background-color .25s ease}.mini-cell.is-given{background:var(--su-given)}.difficulty-row:hover .mini-cell:not(.is-given),.difficulty-row:focus-visible .mini-cell:not(.is-given){background:var(--row-accent)}.difficulty-row.is-completed .mini-cell:not(.is-given){background:var(--row-accent)}@media(max-width:26rem){.mini-grid{display:none}}#svg-sprites{display:none}#svg-sprites .fill{fill:inherit}#timer{display:flex;align-items:center}.elapsed-time,.hints-used{display:inline-block;line-height:1}.hints-used:before{content:"/";margin-right:.2em}#timer .elapsed-time{font-family:var(--su-mono, monospace)}.status-bar{box-sizing:border-box;position:fixed;top:var(--dev-banner-h, 0rem);left:0;width:100%;height:calc(var(--header-height) + var(--discord-top-inset, 0rem));display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:var(--discord-top-inset, 0rem) 1.25rem 0;font-family:var(--su-mono, monospace),serif;color:var(--su-ink);background:var(--su-night);border-bottom:1px solid var(--su-line)}.status-bar .site-name{display:inline-flex;align-items:center;font-weight:700;font-size:1.5rem;letter-spacing:-.01em;white-space:nowrap}.site-name-pips{display:inline-flex;gap:.22em;margin-right:.5em}.site-name-pips svg{width:.5em;height:.5em;fill:currentColor}.site-name .site-name-number{margin-left:.45em;font-weight:500;font-size:.75em;color:var(--su-dim)}.site-name.difficulty-medium .site-name-accent,.site-name.difficulty-medium .site-name-pips{color:var(--su-medium)}.site-name.difficulty-expert .site-name-accent,.site-name.difficulty-expert .site-name-pips{color:var(--su-expert)}.site-name.difficulty-hell .site-name-accent,.site-name.difficulty-hell .site-name-pips{color:var(--su-hell)}.status-bar-controls{display:flex;align-items:center;gap:.5rem}.status-bar #timer{box-sizing:border-box;display:flex;align-items:center;gap:.15rem;height:2.9rem;padding:0 1rem;background:var(--su-panel);border:1px solid var(--su-line);border-radius:8px}.status-bar .elapsed-time{min-width:3em;text-align:right;font-weight:500;font-size:1.2rem;line-height:1;color:var(--su-ink);font-variant-numeric:tabular-nums}.status-bar .hints-used{font-size:1.2rem;color:var(--su-dim)}.solved .status-bar .elapsed-time{color:var(--su-medium);font-weight:700}.status-bar #pause-btn{width:2.3rem;height:2.3rem;padding:.3rem;border:none;border-radius:6px;background:transparent;color:var(--su-dim);cursor:pointer}.status-bar #pause-btn:hover,.status-bar #pause-btn:focus-visible{background:var(--su-cell);color:var(--su-ink)}.status-bar-controls>button,.status-bar .theme-menu>button{box-sizing:border-box;width:2.9rem;height:2.9rem;display:inline-flex;align-items:center;justify-content:center;padding:.4rem;margin:0;background:var(--su-panel);border:1px solid var(--su-line);border-radius:8px;color:var(--su-dim);cursor:pointer}.status-bar-controls>button:hover,.status-bar .theme-menu>button:hover,.status-bar-controls>button:focus-visible,.status-bar .theme-menu>button:focus-visible{color:var(--su-ink);border-color:var(--su-blurple)}.status-bar :focus-visible{outline:2px solid var(--su-blurple);outline-offset:1px}.status-bar .button-icon use{fill:currentColor}.status-bar .help-qmark{font-family:var(--su-mono, monospace);font-weight:700;font-size:1.4rem;line-height:1;color:currentColor}.status-bar .theme-select{width:auto;min-width:4.6rem;height:2.9rem;font-size:.95rem;padding:0 .8rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:52rem){.status-bar{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto auto;align-content:center;align-items:center;row-gap:.5rem;column-gap:.4rem;padding:calc(.5rem + var(--discord-top-inset, 0rem)) 1rem .5rem}.status-bar-controls{display:contents}.status-bar .site-name{grid-row:1;grid-column:1;font-size:1.2rem;min-width:0;overflow:hidden}.status-bar .theme-select{grid-row:1;grid-column:3 / span 2;justify-self:end;min-width:4.1rem;font-size:.85rem;padding:0 .55rem}.status-bar #timer{grid-row:2;grid-column:1;justify-self:start}.status-bar #exit-btn{grid-row:2;grid-column:3;justify-self:end}.status-bar .help-btn{grid-row:2;grid-column:4;justify-self:end}.status-bar-controls>button.dev-solve{grid-row:2;grid-column:2;justify-self:end}}.status-bar-controls>button.dev-solve{width:auto;padding:0 .9rem;font-family:var(--su-mono, monospace);font-weight:700;font-size:.85rem;letter-spacing:.06em;color:#1b1b1e;background:var(--su-expert);border-color:var(--su-expert)}.status-bar-controls>button.dev-solve:hover,.status-bar-controls>button.dev-solve:focus-visible{color:#1b1b1e;border-color:#1b1b1e}.sudoku-grid{text-align:center}.sudoku-grid.mini{display:inline-block}.sudoku-grid .line{stroke:var(--grid-line-color);stroke-width:var(--grid-line-width)}.sudoku-grid.mini .line{stroke:var(--mini-grid-line-color);stroke-width:var(--grid-line-width)}.sudoku-grid .line-bold{stroke:var(--grid-line-color-bold);stroke-width:var(--grid-line-width-bold);stroke-linejoin:round}.grid-bg{fill:var(--background-color)}path.selection-outline{fill:none;stroke:var(--selection-outline-color);stroke-width:10}.cell-select-match-overlay{fill:transparent}.cell-bg .color-code-1{fill:var(--cell-bg-1-fill-color)}.cell-bg.given .color-code-1{fill:var(--given-cell-fill-color)}.cell-bg .color-code-2{fill:var(--cell-bg-2-fill-color)}.cell-bg .color-code-3{fill:var(--cell-bg-3-fill-color)}.cell-bg .color-code-4{fill:var(--cell-bg-4-fill-color)}.cell-bg .color-code-5{fill:var(--cell-bg-5-fill-color)}.cell-bg .color-code-6{fill:var(--cell-bg-6-fill-color)}.cell-bg .color-code-7{fill:var(--cell-bg-7-fill-color)}.cell-bg .color-code-8{fill:var(--cell-bg-8-fill-color)}.cell-bg .color-code-9{fill:var(--cell-bg-9-fill-color)}.selection-style-solid .selected .cell-select-match-overlay{fill:var(--selected-fill-color)}.matched .cell-select-match-overlay{fill:var(--matched-fill-color)}.selected.matched .cell-select-match-overlay{fill:var(--selected-matched-fill-color)}.selection-style-solid .error.selected .cell-select-match-overlay{fill:var(--error-selected-fill-color)}.error .cell-select-match-overlay{fill:var(--error-fill-color)}text.digit.error{fill:var(--error-text-color)}.solved .cell-select-match-overlay{fill:var(--solved-fill-color)}text.digit{fill:var(--digit-color);font-family:var(--su-mono, monospace)}.solved text.digit{fill:var(--solved-digit-color)}text.digit.given,.mini text.digit{fill:var(--given-digit-color)}a:visited .mini text.digit{fill:var(--visited-digit-color)}a:visited:hover .mini text.digit,.saved-puzzle a .mini text.digit{fill:var(--given-digit-color)}.saved-puzzle .mini text.user-digit,.saved-puzzle a .mini text.user-digit{fill:var(--digit-color)}.difficulty-bar{fill:var(--mini-grid-bar-color)}.difficulty-rating{fill:var(--mini-grid-bar-text-color)}.solved text.digit.given{fill:var(--solved-given-digit-color)}.paused text.digit{fill:var(--paused-digit-color)}text.inner-pencil,.outer-pencil text,.simple-pencil text{fill:var(--pencil-mark-color);font-family:var(--su-mono, monospace)}.sudoku-grid.hint .cell-bg{fill:transparent}.sudoku-grid.hint .cell-bg.hint-target{fill:var(--hint-target-fill-color)}.sudoku-grid.hint .cell-bg.hint-highlight{fill:var(--hint-highlight-fill-color)}.sudoku-grid.hint .cell-bg.hint-eliminations{fill:var(--hint-eliminations-fill-color)}.sudoku-grid.hint .hot-spot-highlight{fill:transparent;stroke:var(--hint-hot-spot-highlight-color);stroke-width:var(--hint-hot-spot-highlight-line-width)}.sudoku-grid.hint text{fill:var(--given-digit-color)}.sudoku-grid.hint text.new-digit-bg{fill:var(--hint-new-digit-bg-color)}.sudoku-grid.hint text.new-digit{fill:var(--hint-new-digit-fill-color)}.sudoku-grid.hint text.elimination-bg{fill:var(--hint-elimination-bg-color)}.sudoku-grid.hint text.elimination{fill:var(--hint-elimination-fill-color)}.animate .solved .cell-bg[data-ring="5"] .cell-select-match-overlay{animation:1.6s linear 0ms 1 running rainbow}.animate .solved .cell-bg[data-ring="4"] .cell-select-match-overlay{animation:1.6s linear .1s 1 running rainbow}.animate .solved .cell-bg[data-ring="3"] .cell-select-match-overlay{animation:1.6s linear .2s 1 running rainbow}.animate .solved .cell-bg[data-ring="2"] .cell-select-match-overlay{animation:1.6s linear .3s 1 running rainbow}.animate .solved .cell-bg[data-ring="1"] .cell-select-match-overlay{animation:1.6s linear .4s 1 running rainbow}@keyframes rainbow{0%{fill:#8bb3ff}20%{fill:#f1dbff}40%{fill:#ffb5da}60%{fill:#ff9b5b}70%{fill:#ffff9a}to{fill:var(--solved-fill-color)}}.sudoku-grid{touch-action:none}.cell-cover,.cell-drag-cover{cursor:pointer}.cell-bg-paused{fill:var(--cell-bg-1-fill-color)}.grid-layer-entering{animation:grid-layer-in .28s ease both}.grid-layer-exiting{animation:grid-layer-out .28s ease both;pointer-events:none}@keyframes grid-layer-in{0%{opacity:0}to{opacity:1}}@keyframes grid-layer-out{0%{opacity:1}to{opacity:0}}.grid-layer-entering .pause-overlay{animation:pause-overlay-rise .28s ease both}@keyframes pause-overlay-rise{0%{transform:translateY(12px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.grid-layer-entering,.grid-layer-exiting,.grid-layer-entering .pause-overlay{animation-duration:.01ms}}.paused-label{fill:var(--given-digit-color);font-family:var(--su-mono, monospace);font-weight:700}.paused-continue{cursor:pointer}.paused-continue rect{fill:var(--button-bg-color)}.paused-continue:hover rect{opacity:.88}.paused-continue text{fill:var(--button-text-color);font-family:var(--su-mono, monospace);font-weight:700}.vkbd-background{fill:var(--vkbd-bg-fill-color)}.vkbd-button-bg{fill:var(--vkbd-button-fill-color)}.vkbd text,.vkbd path{fill:var(--vkbd-button-text-color)}.vkbd .completed text{fill:var(--vkbd-completed-button-text-color)}.vkbd-button-swatch.color-code-1{fill:var(--cell-bg-1-fill-color)}.vkbd-button-swatch.color-code-2{fill:var(--cell-bg-2-fill-color)}.vkbd-button-swatch.color-code-3{fill:var(--cell-bg-3-fill-color)}.vkbd-button-swatch.color-code-4{fill:var(--cell-bg-4-fill-color)}.vkbd-button-swatch.color-code-5{fill:var(--cell-bg-5-fill-color)}.vkbd-button-swatch.color-code-6{fill:var(--cell-bg-6-fill-color)}.vkbd-button-swatch.color-code-7{fill:var(--cell-bg-7-fill-color)}.vkbd-button-swatch.color-code-8{fill:var(--cell-bg-8-fill-color)}.vkbd-button-swatch.color-code-9{fill:var(--cell-bg-9-fill-color)}.vkbd-mode-panel .background{fill:var(--vkbd-mode-panel-fill-color)}.vkbd-mode-panel text{fill:var(--vkbd-mode-text-color)}.vkbd-mode-panel .button-bg{fill:var(--vkbd-button-fill-color)}.vkbd-mode-panel .active-mode-bg{fill:var(--vkbd-active-mode-fill-color);transition:all .12s ease-in-out}.vkbd .mode-button-icon{fill:var(--vkbd-mode-icon-fill-color);transition:all 50ms ease-in-out}.vkbd .mode-button-icon.active{fill:var(--vkbd-active-mode-icon-fill-color)}.vkbd .input-mode-color rect{opacity:.7}.vkbd .input-mode-color.active rect{opacity:1}.vkbd svg text{font-family:var(--su-mono, monospace)}.vkbd [data-key-value]{cursor:pointer}.vkbd{touch-action:manipulation}.vkbd{transition:opacity .28s ease}.paused .vkbd{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.vkbd{transition:none}}.solved-puzzle-options{background-color:var(--modal-bg-color);border:1px solid var(--menu-border-color);border-radius:14px;padding:.9em}.landscape .solved-puzzle-options{font-size:min(3.2vw,3.2vh)}.portrait .solved-puzzle-options{font-size:max(2.4vw,2.6vh)}.solved-puzzle-options>*+*{margin:.65em 0 0}.solved-puzzle-options p{text-align:center;margin:0}.solved-puzzle-options>button,.solved-puzzle-options>a.btn{display:block;box-sizing:border-box;width:11em;text-decoration:none;text-align:center;font-family:inherit;font-size:inherit;font-weight:600;padding:.4em 0;color:var(--button-text-color);background-color:var(--button-bg-color);border-radius:8px;border:none}.solved-puzzle-options .difficulty-picker{font-size:1rem}.solved-puzzle-options .solved-time{font-family:var(--su-mono, monospace);font-weight:700}.solved-puzzle-options .solved-next{margin-top:1em;font-size:.8em;color:var(--su-dim, #8a8a8a)}.solved-puzzle-options .difficulty-picker{margin-top:.5em;text-align:left}.help-page{position:fixed;inset:0;background-color:var(--background-color);padding:2em;overflow-y:auto}.help-page .close-button{position:fixed;right:1em;top:1em;font-size:1.8em;font-weight:700;border:none;width:1.3em;height:1.3em;color:var(--status-bar-button-text-color);cursor:pointer;background-color:var(--status-bar-button-hover-color);border-radius:.1em}.help-page .close-button:hover{background-color:var(--status-bar-button-hover-color)}.help-page .content{max-width:800px;margin:0 auto;line-height:1.4;padding-bottom:5em}.help-page h1{font-size:2rem}.help-page ul{padding-left:1.4em}.help-page li{margin-bottom:.3em}.help-page dt{font-weight:600}.help-page dd{margin:0 0 .8em 1.6em}@media screen and (max-width:500px){.help-page{padding:1.2em}.help-page .close-button{right:.4em;top:.4em}}.modal-backdrop{position:fixed;inset:0;background-color:var(--modal-backdrop-color)}.modal-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.modal{position:relative;box-sizing:border-box;max-width:50%;max-height:90%;overflow-y:auto;padding:1.25em 1.25em 0;color:var(--modal-text-color);background-color:var(--modal-bg-color);border:1px solid var(--menu-border-color);border-radius:14px;line-height:145%;box-shadow:var(--modal-box-shadow)}.modal h1{margin-top:.2em;line-height:1.3;font-family:var(--su-mono, monospace);font-weight:700;letter-spacing:-.01em;font-size:135%;padding-bottom:.3em;border-bottom:1px solid var(--modal-heading-underline-color)}.modal .buttons{margin-top:1em;text-align:right;padding-bottom:1em}.modal button{border:none;color:var(--modal-button-text-color);background-color:var(--modal-button-bg-color);margin-left:1em;min-width:5em;padding:.45em .9em;font-size:100%;font-weight:600;border-radius:8px;cursor:pointer}.modal button:disabled{color:#9998;cursor:not-allowed}.modal button:disabled:hover{box-shadow:none}.modal button.danger{color:var(--modal-button-danger-text-color);background-color:var(--modal-button-danger-bg-color)}.modal button.primary,.modal a.btn.primary{color:var(--modal-button-primary-text-color);background-color:var(--modal-button-primary-bg-color)}.modal .buttons a.btn,.modal .buttons button,.modal.saved-puzzles a.btn,.modal.saved-puzzles button{display:inline-block;box-sizing:border-box;text-align:center;font-family:var(--app-font-family);font-size:1.3rem;font-weight:700;line-height:1.3;margin:.3em .5em;border:none;border-radius:8px;padding:.4em .8em}.portrait .modal .buttons a.btn,.portrait .modal .buttons button{margin:0 0 .5em .5em;min-width:4em;padding:.4em .6em}.modal.welcome{max-width:30em}.count-badge{display:inline-grid;place-items:center;margin-left:.1em;color:var(--badge-text-color);background-color:var(--badge-bg-color);font-size:.8rem;min-width:1.2em;height:1.2em;border-radius:50%}.modal.welcome .loading-failed{color:var(--error-text-color);font-style:italic;opacity:.8;margin:1.5em 1.5em 2em}.modal.welcome .spinner{margin:4.3em auto}.recently-shared .section{margin:.5em 0}.recently-shared h2{font-size:1.5rem;margin:.9em 0 0}.recently-shared h2:before{content:"▾";display:inline-block;padding-right:.3em;vertical-align:top;line-height:.9}.recently-shared .collapsed h2:before{content:"▸";line-height:.8}.recently-shared ul{max-height:700px;overflow:hidden;margin:.2em 0 0;padding:0 0 0 .7em;opacity:1;transition:all .6s}.recently-shared .collapsed ul{margin-top:0;max-height:0;opacity:0}.recently-shared li,.recently-shared li a,.recently-shared li svg,.recently-shared li div{display:inline-block;padding:0;margin:0;list-style:none}.recently-shared svg{border-radius:4px}.recently-shared a,.saved-puzzle a.puzzle-selector{border:2px solid transparent;border-radius:4px;text-decoration:none;line-height:0}.recently-shared a:hover,.saved-puzzle a.puzzle-selector:hover{border:2px solid var(--link-hover-text-color);background-color:transparent}#welcome-footer{margin-top:2em;border-top:1px solid var(--modal-text-color);font-size:.9rem;opacity:.8}#welcome-footer p{margin:.3em 0 0;padding-bottom:1.5em}.modal.welcome .primary-buttons{text-align:center;margin-right:2em}.modal.welcome .primary-buttons>span{display:inline-flex;flex-direction:column;margin:0 auto}.modal.welcome .primary-buttons button{margin-top:.5em}.modal.resume-restart{width:26em;max-width:95vw}.modal.saved-puzzles{width:32em;max-width:95vw}.modal.resume-restart .saved-puzzle,.modal.saved-puzzles .saved-puzzle{display:flex;align-items:center}.modal.saved-puzzles .puzzle-selector{display:block;margin:.4em .4em 0 0}.modal .saved-puzzle .sudoku-grid.mini{margin-right:.4em}.modal .puzzle-metadata{flex:0 0 18em;font-size:80%;line-height:1.2;height:1em}.modal .puzzle-metadata th,.modal .puzzle-metadata td{text-align:left;vertical-align:top;padding:.1em .4em .1em 0}.modal.saved-puzzles .puzzle-buttons{flex:0 0 min-content}.modal.saved-puzzles a.btn,.modal.saved-puzzles button{min-width:5.5em}.modal.paste textarea,.modal.invalid-initial-digits textarea{width:100%;height:7.5em;padding:.6em;box-sizing:border-box;white-space:pre-wrap;word-break:break-all;resize:none}.settings-list{list-style:none;margin-left:0;padding-left:0}.settings-list li{margin:.6em 0}.settings-list li label{display:block;position:relative;padding-right:3.5em}input.toggle{display:none}input.toggle+.indicator{display:inline-block;position:absolute;right:0;top:0;vertical-align:top;height:16px;width:32px;background-color:var(--input-toggle-bg-color);border:1px inset var(--input-toggle-inset-color);margin:0 0 0 1.8em;padding:2px;border-radius:11px}input.toggle+.indicator:before{display:inline-block;position:absolute;content:"";width:16px;height:16px;border-radius:8px;background-color:var(--input-toggle-off-color);margin:0;padding:0;left:3px;top:2px;transition:all .25s}input.toggle:checked+.indicator:before{left:17px;background-color:var(--input-toggle-on-color)}.modal-container .modal.features{max-width:min(26em,94vw)}.feature-list{margin:0 1em 0 .6em}.feature-list th{text-align:left;border-bottom:1px solid var(--modal-heading-underline-color)}.feature-list td{vertical-align:top}.feature-list .checkbox-wrapper{display:block;position:relative;width:2em;margin-top:.25em;padding:0}.feature-list .description{padding:.2em .4em}.feature-list .issue{text-align:right;padding-right:.6em}.modal.about p{max-width:23em}.modal.share p{max-width:18em}.modal.qr svg{display:block;margin-left:auto;margin-right:auto;max-width:80vw;max-height:80vh}.difficulty-selector p{margin-bottom:.1em}.difficulty-options input{display:none}.difficulty-options{display:flex;margin:.2em 0 .8em;width:100%;font-size:1.1rem}.difficulty-options label{flex:1 0 auto;margin-right:.5em}.difficulty-options label:last-child{margin-right:0}.difficulty-options span{display:block;text-align:center;width:100%;padding:.2em 0;color:var(--input-multi-text-color);border:1px solid var(--input-multi-text-color);background-color:var(--input-multi-bg-color);border-radius:.3em}.difficulty-options input:checked+span{color:var(--input-multi-selected-text-color);border:1px solid var(--input-multi-selected-text-color);background-color:var(--input-multi-selected-bg-color);border-color:var(--input-multi-selected-text-color)}.share-time{position:relative}.share-time.no-share{text-decoration:line-through;text-decoration-color:#999}.share-buttons{text-align:center}.share-buttons ul{display:inline-block;padding:0;margin:.5em 0 0}.share-buttons li{list-style:none;margin-bottom:.6em}.share-buttons a,.share-buttons button{display:block;text-align:left;white-space:nowrap;background-color:#777;color:#fff;padding:.4em 1em .5em .5em;border-radius:.3em;font-family:var(--app-font-family);font-weight:700}.share-buttons a,.share-buttons a:hover{border:none}.share-buttons a.btn-facebook{background-color:#3b5998}.share-buttons a.btn-twitter{background-color:#55acee}.share-buttons a.btn-twitter:before{background-position:0px -25px}.share-buttons a.btn-email:before{background-position:0px -50px}.share-buttons button.btn-qr:before{background-position:0px -75px}.share-buttons button.btn-qr{margin-left:0;width:100%}.solver input[type=checkbox]{margin-right:.6em;vertical-align:text-bottom}.modal.hint{height:100%;max-width:85vw;max-height:90vh;padding:0;overflow-y:hidden}.modal.hint.loading,.modal.hint.loading-failed{max-height:20rem}.hint-layout{height:100%;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1.8rem}.hint-body{overflow-y:auto;padding:0 1rem}.modal.hint .rc-hot-spot{padding:0 .15em;background-color:var(--hint-hot-spot-bg-color);border-radius:.15em}.modal.hint .rc-hot-spot:hover{background-color:var(--hint-hot-spot-hover-bg-color)}.modal .hint-footer{background-color:var(--hint-footer-bg-color);width:100%;text-align:center}.hint-footer span{font-size:1rem;display:inline-block;padding:.2em}.portrait .modal.hint{max-width:96%;max-height:90%}.landscape .hint-body-layout{display:flex}.landscape .sudoku-grid.hint svg{width:60vh;max-width:40vw;margin-right:1.2em}.portrait .sudoku-grid.hint svg{height:50vh;max-height:88vw;margin-bottom:1.2em}.hint-text-wrapper{max-width:45em}.hint-text p{margin:0 0 1.2em}.difficulty-indicator{float:right;margin:0 0 .3em .8em;border-radius:.25em;background-color:var(--difficulty-indicator-bg-color);border:1px solid var(--difficulty-indicator-border-color);display:grid;grid-template-areas:"title title" "value1 value2" "label1 label2"}.difficulty-indicator>*{line-height:1;text-align:center;color:var(--difficulty-indicator-label-color)}.difficulty-indicator .title{grid-area:title;font-size:75%;padding:.25em}.difficulty-indicator .rating-value{font-size:95%;font-weight:600;color:var(--difficulty-indicator-text-color)}.difficulty-indicator .rating-value.for-step{grid-area:value1;padding:.06em .25em 0 .4em}.difficulty-indicator .rating-value.for-puzzle{grid-area:value2;padding:.06em .3em 0 .25em}.difficulty-indicator .rating-label{font-size:62%}.difficulty-indicator .rating-label.for-step{grid-area:label1;padding:.15em .25em .3em .5em}.difficulty-indicator .rating-label.for-puzzle{grid-area:label2;padding:.15em .5em .3em .25em}.modal.features .no-features{font-style:italic}@media screen and (max-width:500px){.modal{max-width:94vw;padding:.6em .6em 0}.difficulty-options{font-size:4.5vw}}@media screen and (max-width:600px){.modal.resume-restart .saved-puzzle,.modal.saved-puzzles .saved-puzzle{flex-wrap:wrap;margin-bottom:.8em}.modal.saved-puzzles a.btn,.modal.saved-puzzles button{font-size:1rem;margin-right:1.8em}.modal.saved-puzzles saved-puzzle:not(.last) .puzzle-metadata{order:3;padding-bottom:.8em;border-bottom:1px solid var(--hint-footer-bg-color)}}.landing{display:flex;justify-content:center;padding:3rem 1.5rem 2.5rem}.landing-column{width:100%;max-width:34rem}.landing-masthead{display:flex;align-items:center;gap:.6rem;margin-bottom:2.75rem}.landing-masthead .theme-select{margin-left:auto}.landing-glyph{display:flex;gap:.25rem}.landing-glyph svg{width:.6rem;height:.6rem}.landing-glyph svg:nth-child(1){fill:var(--su-medium)}.landing-glyph svg:nth-child(2){fill:var(--su-expert)}.landing-glyph svg:nth-child(3){fill:var(--su-hell)}.landing-domain{font-family:var(--su-mono);font-weight:500;font-size:.85rem;letter-spacing:.02em;color:var(--su-dim)}.landing-title{font-size:clamp(1.9rem,6vw,2.7rem);line-height:1.15;margin:0 0 2rem}.landing-meta{margin:1.5rem 0 0;font-size:.85rem;color:var(--su-dim)}.landing-note{margin:1.25rem 0 0;padding:1rem 1.25rem;border:1px solid var(--su-line);border-left:3px solid var(--su-blurple);border-radius:10px;background:var(--su-panel);font-size:.9rem;color:var(--su-dim)}.landing-note strong{color:var(--su-ink)}.landing-footer{margin-top:3rem;display:flex;gap:1.5rem;font-family:var(--su-mono);font-weight:500;font-size:.8rem}.landing-footer a{color:var(--su-dim);text-decoration:none}.landing-footer a:hover{color:var(--su-ink)}.landing-alldone{margin:0;margin-bottom:.9rem;padding:1.25rem;border:1px solid var(--su-line);border-left:3px solid var(--su-medium);border-radius:10px;background:var(--su-panel);color:var(--su-ink)}.legal-page{display:flex;justify-content:center;padding:2.5rem 1.5rem 4rem}.legal-column{width:100%;max-width:34rem}.legal-column h1{font-size:clamp(1.6rem,5vw,2.1rem);margin:1.75rem 0 1.25rem}.legal-column p{margin:0 0 1rem;color:var(--su-dim)}.legal-column p strong{color:var(--su-ink)}.legal-back-link{display:inline-block;font-family:var(--su-mono);font-weight:500;font-size:.85rem;color:var(--su-dim);text-decoration:none}.legal-back-link:hover{color:var(--su-ink)}.legal-column .legal-todo{padding:.75rem 1rem;border:1px solid var(--su-line);border-left:3px solid var(--su-expert);border-radius:10px;background:var(--su-panel);color:var(--su-expert);font-weight:600}.legal-column h2{font-family:var(--su-mono);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--su-ink);margin:1.75rem 0 .5rem}.legal-column ul{margin:0 0 1rem;padding-left:1.25rem;color:var(--su-dim)}.legal-column li{margin-bottom:.35rem}.legal-column li strong,.legal-column p strong,.legal-column a{color:var(--su-ink)}
