.glyph-svg[data-v-0cd9552b]{width:65%;height:65%;pointer-events:none;position:absolute;inset:0;margin:auto}.cell-ghost[data-v-7d84765d]{opacity:0}.cell-ghost.is-active[data-v-7d84765d]{opacity:1}.cell-ghost-path[data-v-7d84765d]{fill:var(--color-foreground);fill-opacity:.06;stroke:var(--color-foreground);stroke-width:5;stroke-opacity:.65;stroke-linecap:round;stroke-linejoin:round}.sudoku-cell[data-v-7d84765d]{overflow:visible;contain:layout style}.sudoku-cell.is-active[data-v-7d84765d]{z-index:10}.hand-drawn-grid[data-v-0a3a00c8]{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}.board-wrapper[data-v-f0046f1e]{position:relative;overflow:visible;contain:layout style}.board-cells[data-v-f0046f1e]{position:absolute;inset:0;z-index:2}.check-draw[data-v-14616fe5]{animation:drawIn-14616fe5 .35s cubic-bezier(.4,0,.2,1) forwards}@keyframes drawIn-14616fe5{0%{stroke-dashoffset:var(--dashoffset, 20)}to{stroke-dashoffset:0}}.star-sparkle[data-v-14616fe5]{transform-origin:5px 5.5px;animation:sparkleGrow-14616fe5 .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes sparkleGrow-14616fe5{0%{transform:scale(.3);opacity:.2}40%{transform:scale(1.6);opacity:1}70%{transform:scale(.9);opacity:.8}to{transform:scale(1.2);opacity:1}}.dice-roll[data-v-5b2ab831]{transform-origin:center;animation:diceRoll-5b2ab831 .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes diceRoll-5b2ab831{0%{transform:rotate(0) scale(1)}30%{transform:rotate(200deg) scale(.85)}60%{transform:rotate(380deg) scale(1.05)}to{transform:rotate(360deg) scale(1)}}.pip-pop[data-v-5b2ab831]{transform-origin:center;transform-box:fill-box;animation:pipPop-5b2ab831 .25s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes pipPop-5b2ab831{0%{transform:scale(0);opacity:0}50%{transform:scale(1.4);opacity:1}to{transform:scale(1);opacity:1}}.ctrl-btn[data-v-d76a8575]{font-family:Fira Code,monospace}.ctrl-btn[data-v-d76a8575]:hover{filter:url(#wobble-heart)}.selected-item[data-v-d76a8575],.hover-item[data-v-d76a8575]{text-decoration:none;background-repeat:no-repeat;background-origin:content-box;background-position:left bottom;padding-bottom:6px}.selected-item[data-v-d76a8575]{background-image:var(--scribble-underline);background-size:var(--scribble-width, 4ch) 8px}.hover-item[data-v-d76a8575]{background-image:none;background-size:var(--ghost-width, 4ch) 8px}.hover-item[data-v-d76a8575]:hover{background-image:var(--ghost-underline)}.options-row[data-v-d76a8575]{display:flex;justify-content:center;gap:.25rem;padding:.25rem 0}.control-panel-wrap[data-v-0de6e2f2]{font-family:Fraunces,serif;font-optical-sizing:auto}.control-panel-filtered[data-v-0de6e2f2]{filter:var(--v2c980170)}.section-heading[data-v-0de6e2f2]{font-size:1.125rem;line-height:1.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-align:center}@media(min-width:768px){.section-heading[data-v-0de6e2f2]{font-size:1.5rem;line-height:1.75rem;text-align:left;padding-left:.75rem}}.crayon-green[data-v-0de6e2f2]{color:var(--color-crayon-green)}.crayon-orange[data-v-0de6e2f2]{color:var(--color-crayon-orange)}.crayon-rose[data-v-0de6e2f2]{color:var(--color-crayon-rose)}.crayon-blue[data-v-0de6e2f2]{color:var(--color-crayon-blue)}.section-heading[data-v-0de6e2f2]:hover{filter:url(#wobble-heart)}.icon-btn[data-v-0de6e2f2]{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.5rem;color:var(--color-muted-foreground);background:transparent;border:none;cursor:pointer;transition:all .15s;filter:url(#grain-static)}.icon-btn[data-v-0de6e2f2]:hover{color:var(--color-foreground);background:var(--color-accent);filter:url(#wobble-celestial)}.icon-btn[data-v-0de6e2f2]:active{transform:scale(.93)}.icon-btn[data-v-0de6e2f2]:disabled{opacity:.4;pointer-events:none}.tooltip[data-v-0de6e2f2]{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.375rem;padding:.25rem .5rem;font-family:Patrick Hand,cursive;font-size:.85rem;font-weight:600;white-space:nowrap;color:var(--color-primary-foreground);background:var(--color-primary);border-radius:.375rem;opacity:0;pointer-events:none;transition:opacity .15s}.group:hover .tooltip[data-v-0de6e2f2]{opacity:1}.sparkle-icon[data-v-0de6e2f2] *{stroke:url(#sparkle-rainbow)!important;fill:url(#sparkle-rainbow)!important}.sparkle-icon[data-v-0de6e2f2]{filter:drop-shadow(0 0 2px rgba(196,181,253,.3));transition:all .2s}.icon-btn:hover .sparkle-icon[data-v-0de6e2f2]{filter:drop-shadow(0 0 5px rgba(196,181,253,.6))}.boil-divider-wrap[data-v-0de6e2f2]{position:relative;height:14px}.boil-divider-wrap svg[data-v-0de6e2f2]{position:absolute;inset:0;width:100%;height:100%}.mobile-control-panel[data-v-0de6e2f2]{font-family:Fraunces,serif;font-optical-sizing:auto}.mobile-heading-row[data-v-0de6e2f2]{display:flex;justify-content:space-evenly}.mobile-heading-btn[data-v-0de6e2f2]{background:none;border:none;cursor:pointer;padding:0}.mobile-heading-btn .section-heading.is-active[data-v-0de6e2f2]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.eraser-scrub[data-v-0de6e2f2]{display:inline-flex;animation:eraserScrub-0de6e2f2 .4s ease}@keyframes eraserScrub-0de6e2f2{0%{transform:translate(0) rotate(0)}15%{transform:translate(-4px) rotate(-8deg)}30%{transform:translate(4px) rotate(6deg)}45%{transform:translate(-3px) rotate(-5deg)}60%{transform:translate(3px) rotate(4deg)}80%{transform:translate(-1px) rotate(-1deg)}to{transform:translate(0) rotate(0)}}.sun-moon-toggle[data-v-1dd7c5bc]{position:relative;width:var(--toggle-size, 5rem);height:var(--toggle-size, 5rem);cursor:pointer;border:0;padding:0;border-radius:50%;background:transparent;transition:transform .2s ease;flex-shrink:0}.sun-moon-toggle[data-v-1dd7c5bc]:hover{outline:none;transform:scale(1.08)}.sun-moon-toggle[data-v-1dd7c5bc]:focus{outline:none}.sun-moon-toggle[data-v-1dd7c5bc]:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.toggle-icon[data-v-1dd7c5bc]{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.toggle-sun[data-v-1dd7c5bc]{opacity:0;transform:translate(-50%) rotate(-270deg) scale(.1);transition:opacity .8s cubic-bezier(.4,0,.2,1) .1s,transform .8s cubic-bezier(.34,1.56,.64,1)}.toggle-sun.is-active[data-v-1dd7c5bc]{opacity:1;transform:translate(0) rotate(0) scale(1);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.34,1.56,.64,1)}.toggle-moon[data-v-1dd7c5bc]{opacity:0;transform:translate(-50%) rotate(-270deg) scale(.1);transition:opacity .8s cubic-bezier(.4,0,.2,1) .1s,transform .8s cubic-bezier(.34,1.56,.64,1)}.toggle-moon.is-active[data-v-1dd7c5bc]{opacity:1;transform:translate(0) rotate(0) scale(1);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.34,1.56,.64,1)}.toggle-sun[data-v-1dd7c5bc]:not(.is-active) *,.toggle-moon[data-v-1dd7c5bc]:not(.is-active) *{animation-play-state:paused!important}.sun-rays[data-v-1dd7c5bc]{transform-origin:100px 100px;animation:spin-rays-1dd7c5bc 240s linear infinite}@keyframes spin-rays-1dd7c5bc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sun-breathe[data-v-1dd7c5bc]{transform-origin:100px 100px;animation:gentle-pulse-1dd7c5bc 6s ease-in-out alternate infinite}@keyframes gentle-pulse-1dd7c5bc{0%{transform:scale(.97)}to{transform:scale(1.03)}}@media(prefers-reduced-motion:reduce){.toggle-sun[data-v-1dd7c5bc],.toggle-moon[data-v-1dd7c5bc]{transition:opacity .2s ease;transform:none!important}.toggle-sun.is-active[data-v-1dd7c5bc],.toggle-moon.is-active[data-v-1dd7c5bc]{transform:none!important}.sun-rays[data-v-1dd7c5bc],.sun-breathe[data-v-1dd7c5bc],.twinkle-star[data-v-1dd7c5bc]{animation:none}}.twinkle-star[data-v-1dd7c5bc]{transform-origin:center;animation:star-twinkle-1dd7c5bc 2s steps(5,end) infinite alternate}.twinkle-star-2[data-v-1dd7c5bc]{animation-delay:-.7s;animation-duration:2.5s}.twinkle-star-3[data-v-1dd7c5bc]{animation-delay:-1.3s;animation-duration:1.8s}@keyframes star-twinkle-1dd7c5bc{0%{transform:scale(.85) rotate(0)}25%{transform:scale(1.1) rotate(8deg)}50%{transform:scale(.9) rotate(-5deg)}75%{transform:scale(1.15) rotate(12deg)}to{transform:scale(.95) rotate(-3deg)}}.handwritten-logo[data-v-36fade43]{height:3.5rem;width:auto;color:var(--color-foreground);display:block;align-self:flex-start;clip-path:inset(0 100% 0 0);transition:clip-path 1.2s cubic-bezier(.22,1,.36,1)}.handwritten-logo.is-drawn[data-v-36fade43]{clip-path:inset(0 0% 0 0)}.logo-text[data-v-36fade43]{font-family:Fraunces,serif;font-weight:900;font-size:52px;font-optical-sizing:auto;fill:currentColor;letter-spacing:.02em}@media(prefers-reduced-motion:reduce){.handwritten-logo[data-v-36fade43]{clip-path:none;transition:none}}@media(min-width:640px){.handwritten-logo[data-v-36fade43]{height:4.5rem}}@media(min-width:1024px){.handwritten-logo[data-v-36fade43]{height:5.5rem}}.crayon-heart[data-v-a909f1db]{pointer-events:none;display:inline-block}.crayon-heart[data-v-a909f1db]:is(.dark *){opacity:.75;filter:saturate(.85)}.corner-left[data-v-7b632136]{position:fixed;top:.5rem;left:.75rem;z-index:40;cursor:pointer}.mobile-attribution[data-v-7b632136]{position:relative;align-self:flex-start;cursor:pointer;z-index:40;margin-bottom:.125rem}.hover-card[data-v-7b632136]{position:absolute;top:100%;left:0;margin-top:0;padding:1rem;background:color-mix(in srgb,var(--color-popover) 80%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid color-mix(in srgb,var(--color-border) 30%,transparent);border-radius:1rem;opacity:0;pointer-events:none;transform:scale(.9) translateY(8px);transition:all .15s cubic-bezier(.4,0,.2,1);z-index:50;min-width:16rem}.hover-card[data-v-7b632136]:before{content:"";position:absolute;top:-1rem;left:0;right:0;height:1rem}.hover-card.is-open[data-v-7b632136]{opacity:1;pointer-events:auto;transform:scale(1) translateY(0);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.outline-container[data-v-734725f4]{position:relative;overflow:visible}.outline-svg[data-v-734725f4]{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);pointer-events:none;z-index:1;overflow:visible}.corner-right[data-v-12ae1278]{position:fixed;top:0;right:0;z-index:60;--toggle-size: 5rem}@media(min-width:768px){.corner-right[data-v-12ae1278]{--toggle-size: 8rem}}@media(min-width:1024px){.corner-right[data-v-12ae1278]{--toggle-size: 13rem}}.app-layout[data-v-12ae1278]{display:flex;align-items:flex-start;gap:2rem}@media(max-width:767px){.corner-right[data-v-12ae1278]{top:-.25rem;right:.25rem}.app-layout[data-v-12ae1278]{flex-direction:column;align-items:center;gap:1.25rem;width:100%}}.board-group[data-v-12ae1278]{display:flex;flex-direction:column;align-items:stretch;overflow:visible}@media(max-width:767px){.board-group[data-v-12ae1278]{align-items:center}}@media(max-width:767px){.main-content[data-v-12ae1278]{justify-content:flex-start;padding-top:.25rem;padding-bottom:.5rem}}.controls-card[data-v-12ae1278]{position:relative;z-index:45}.mobile-board-width[data-v-12ae1278]{width:min(42rem,calc(100vw - 1.5rem))}/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:.625rem;--color-background:#fbfaf9;--color-foreground:#0a0a0a;--color-card:#fdfdfc;--color-card-foreground:#0a0a0a;--color-popover:#fcfbfb;--color-popover-foreground:#0a0a0a;--color-primary:#171717;--color-primary-foreground:#fafafa;--color-secondary:#f6f6f4;--color-secondary-foreground:#171717;--color-muted:#f6f6f4;--color-muted-foreground:#737373;--color-accent:#f6f6f4;--color-accent-foreground:#171717;--color-destructive:#ef4444;--color-destructive-foreground:#fafafa;--color-border:#e6e6e4;--color-input:#e6e6e4;--color-ring:#0a0a0a;--color-easy:#21c45d;--color-medium:#e7b008;--color-hard:#ef4343;--color-user-ink:#2563eb;--color-crayon-green:#2dc653;--color-crayon-orange:#f4a236;--color-crayon-rose:#e8315b;--color-crayon-blue:#4a90d9;--grid-line-color:#262626;--paper-clean-texture:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.18'/%3E%3C/svg%3E")}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{background-image:var(--paper-clean-texture);background-attachment:fixed;font-family:Fraunces,Georgia,Cambria,Times New Roman,serif}*{border-color:var(--color-border);outline-color:#0a0a0a80}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--color-ring) 50%,transparent)}}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.h-5{height:calc(var(--spacing) * 5)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-\[min\(26rem\,calc\(100vw-1\.5rem\)\)\]{width:min(26rem,100vw - 1.5rem)}.w-\[min\(42rem\,calc\(100vw-1\.5rem\)\)\]{width:min(42rem,100vw - 1.5rem)}.w-\[min\(52rem\,calc\(100vw-1\.5rem\)\)\]{width:min(52rem,100vw - 1.5rem)}.w-full{width:100%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-evenly{justify-content:space-evenly}.gap-1{gap:calc(var(--spacing) * 1)}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-visible{overflow:visible}.rounded{border-radius:var(--radius)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border\/50{border-color:#e6e6e480}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--color-border) 50%,transparent)}}.bg-background{background-color:var(--color-background)}.bg-card{background-color:var(--color-card)}.bg-transparent{background-color:#0000}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[1\.375rem\]{font-size:1.375rem}.text-\[1rem\]{font-size:1rem}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:underline:hover{text-decoration-line:underline}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\[min\(26rem\,85vw\)\]{width:min(26rem,85vw)}.md\:w-\[min\(42rem\,85vw\)\]{width:min(42rem,85vw)}.md\:w-\[min\(52rem\,90vw\)\]{width:min(52rem,90vw)}.md\:max-w-\[calc\(100dvh-10rem\)\]{max-width:calc(100dvh - 10rem)}.md\:flex-col{flex-direction:column}.md\:items-start{align-items:flex-start}.md\:items-stretch{align-items:stretch}.md\:px-4{padding-inline:calc(var(--spacing) * 4)}.md\:py-0\.5{padding-block:calc(var(--spacing) * .5)}.md\:py-3{padding-block:calc(var(--spacing) * 3)}.md\:text-left{text-align:left}.md\:text-\[1\.25rem\]{font-size:1.25rem}.md\:text-\[1\.375rem\]{font-size:1.375rem}}.cartoon-shadow-sm{border:2px solid var(--color-border);transform:translateY(-2px);box-shadow:6px 4px #00000024,0 6px #00000024,6px 6px #0000001f}.cartoon-shadow-md{border:2px solid var(--color-border);transform:translateY(-2px);box-shadow:8px 5px #00000024,0 8px #00000024,8px 8px #0000001f}.dark .cartoon-shadow-sm{border:2px solid var(--color-border);box-shadow:6px 4px #ffffff17,0 6px #ffffff17,6px 6px #ffffff0f}.dark .cartoon-shadow-md{border:2px solid var(--color-border);box-shadow:8px 5px #ffffff17,0 8px #ffffff17,8px 8px #ffffff0f}.solve-success .grid-line{transition:stroke .5s;stroke:var(--color-easy)!important}.solve-success{transition:box-shadow .5s;box-shadow:8px 5px #2dc65340,0 8px #2dc65333,8px 8px #2dc65326!important}.solve-failure{animation:.6s linear shake;box-shadow:8px 5px #e8315b40,0 8px #e8315b33,8px 8px #e8315b26!important}.solve-failure .grid-line{stroke:var(--color-hard)!important}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes cell-reveal{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.cell-reveal-animated{animation:.3s cubic-bezier(.68,-.55,.265,1.55) cell-reveal;animation-delay:var(--reveal-delay,0s);animation-fill-mode:both}.sudoku-cell:focus-within{background:#f6f6f480}@supports (color:color-mix(in lab,red,red)){.sudoku-cell:focus-within{background:color-mix(in srgb,var(--color-accent) 50%,transparent)}}.sudoku-cell:focus-within{outline:1px solid #0a0a0a4d}@supports (color:color-mix(in lab,red,red)){.sudoku-cell:focus-within{outline:1px solid color-mix(in srgb,var(--color-ring) 30%,transparent)}}.sudoku-cell:focus-within{outline-offset:-1px;border-radius:2px}.fira-code{font-family:Fira Code,monospace}.handwritten{letter-spacing:.02em;font-family:Patrick Hand,cursive}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}}.dark{--color-background:#110f0e;--color-foreground:#edece9;--color-card:#131211;--color-card-foreground:#edece9;--color-popover:#12100f;--color-popover-foreground:#edece9;--color-primary:#edece9;--color-primary-foreground:#171717;--color-secondary:#282624;--color-secondary-foreground:#edece9;--color-muted:#282624;--color-muted-foreground:#a8a69f;--color-accent:#282624;--color-accent-foreground:#edece9;--color-destructive:#7f1d1d;--color-destructive-foreground:#edece9;--color-border:#2a2827;--color-input:#2a2827;--color-ring:#d7d6d0;--color-easy:#1a9948;--color-medium:#b68a07;--color-hard:#a52727;--color-user-ink:#60a5fa;--color-crayon-green:#3dd968;--color-crayon-orange:#f5b35c;--color-crayon-rose:#ff5c7c;--color-crayon-blue:#6aabeb;--grid-line-color:#d1cfc7;--paper-clean-texture:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E")}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
