:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f3f5ff;--surface:#fff;--ink:#16183a;--muted:#565a84;--line:#d9ddf4;--cobalt:#3246f0;--cobalt-ink:#fff;--sun:#ffc83d;--sun-ink:#2b2100;--mint:#138a5a;--radius-tile:14px;--radius-ui:10px;--font:"Bricolage Grotesque", var(--font-script,ui-sans-serif), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#101129;--surface:#1a1c3d;--ink:#eef0ff;--muted:#a6aad0;--line:#2d305c;--cobalt:#8a96ff;--cobalt-ink:#0c0e2a;--sun:#ffd45c;--sun-ink:#2b2100;--mint:#4fd69c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#101129;--surface:#1a1c3d;--ink:#eef0ff;--muted:#a6aad0;--line:#2d305c;--cobalt:#8a96ff;--cobalt-ink:#0c0e2a;--sun:#ffd45c;--sun-ink:#2b2100;--mint:#4fd69c}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-optical-sizing:auto;margin:0;font-size:1.0625rem;line-height:1.55}h1,h2{letter-spacing:-.02em;margin:0;line-height:1.1}h1{font-size:clamp(2rem,6vw,3.25rem);font-weight:800}h2{font-size:1.375rem;font-weight:700}p{margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header,.site-main{width:min(100% - 2.5rem,46rem);margin-inline:auto}.site-header{justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;display:flex}.wordmark{letter-spacing:-.04em;color:var(--cobalt);font-size:1.75rem;font-weight:800;text-decoration:none}.lang{position:relative}.lang summary{border-radius:var(--radius-ui);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.9375rem;list-style:none;display:flex}.lang summary::-webkit-details-marker{display:none}.lang summary:after{content:"";border:.28rem solid #0000;border-top-color:var(--muted);border-bottom-width:0}.lang summary:hover,.lang[open] summary{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.lang-menu{top:calc(100% + .35rem);z-index:20;overscroll-behavior:contain;background:var(--surface);border-radius:var(--radius-ui);min-width:11rem;max-height:min(70vh,30rem);box-shadow:inset 0 0 0 1px var(--line), 0 .75rem 2rem #10112924;margin:0;padding:.3rem;list-style:none;display:grid;position:absolute;inset-inline-end:0;overflow-y:auto}.lang-menu a{border-radius:calc(var(--radius-ui) - 3px);color:var(--ink);padding:.45rem .65rem;font-size:.9375rem;text-decoration:none;display:block}.lang-menu a:hover{background:var(--paper)}.lang-menu a[aria-current=true]{color:var(--cobalt);font-weight:600}.theme-toggle{border-radius:var(--radius-ui);width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.theme-toggle:hover{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.theme-toggle:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}.theme-icon{width:1.25rem;height:1.25rem}.theme-moon{fill:currentColor}.theme-sun{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;display:none}.theme-sun circle{fill:currentColor;stroke:none}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .theme-sun{display:block}:where(:root:not([data-theme=light])) .theme-moon{display:none}}:where(:root[data-theme=dark]) .theme-sun{display:block}:where(:root[data-theme=dark]) .theme-moon{display:none}.header-end{align-items:center;gap:.75rem;display:flex}.account{align-items:center;gap:.5rem;min-width:0;display:flex}.account-profile{min-width:0;color:var(--ink);align-items:center;gap:.5rem;text-decoration:none;display:flex}.account-profile:hover .account-name{text-decoration:underline}.account-avatar{background:var(--cobalt);width:2.1rem;height:2.1rem;color:var(--cobalt-ink);border-radius:50%;flex:none;place-items:center;font-size:.95rem;font-weight:800;line-height:1;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.9375rem;font-weight:700;overflow:hidden}.account-link{border-radius:var(--radius-ui);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:.25rem .7rem;font-size:.9375rem;font-weight:600;text-decoration:none}.account-link:hover{background:var(--surface)}.account-link:disabled{opacity:.5;cursor:default}.lang-code{display:none}@media (max-width:30rem){.header-end{gap:.4rem}.account-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.account-signout{display:none}.lang summary{padding-inline:.5rem}.lang-full{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lang-code{display:inline}}.signin{gap:1.25rem;max-width:26rem;padding-block:2.5rem 4rem;display:grid}.signin-intro{color:var(--muted)}.signin-buttons{gap:.75rem;margin-top:.5rem;display:grid}.signin-button{background:var(--surface);min-height:3.25rem;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);gap:.65rem}.signin-button:hover{background:color-mix(in srgb, var(--surface) 92%, var(--ink))}.signin-button.is-apple{background:var(--ink);color:var(--paper);box-shadow:none}.signin-button.is-apple:hover{background:color-mix(in srgb, var(--ink) 88%, var(--paper))}.signin-button:disabled{opacity:.6;cursor:progress}.signin-error{color:#c2361f;font-weight:600}.site-main{padding-bottom:4rem}.hero{grid-template-columns:auto 1fr;align-items:center;gap:1.5rem;padding-block:2rem 2.5rem;display:grid}.date-tile{aspect-ratio:1;background:var(--sun);width:7rem;color:var(--sun-ink);border-radius:var(--radius-tile);box-shadow:0 6px 0 color-mix(in srgb, var(--sun) 55%, #000);align-content:center;place-items:center;display:grid;transform:rotate(-3deg)}.date-day{letter-spacing:-.04em;font-size:3.25rem;font-weight:800;line-height:1}.date-month{font-size:.9375rem;font-weight:600}.hero-sub{color:var(--muted);max-width:34rem;margin-top:.6rem}.game-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.game-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding-block:1.25rem;display:grid}.game-mark{aspect-ratio:1;border-radius:var(--radius-tile);background:var(--cobalt);width:3.25rem;color:var(--cobalt-ink);place-items:center;font-size:1.5rem;font-weight:800;display:grid}.game-thumb{flex:none;width:4rem;height:4rem;overflow:visible}.thumb-frame{fill:none;stroke-width:3px}.queens-thumb .thumb-frame,.queens-thumb .thumb-edges{stroke:var(--region-edge)}.queens-thumb .thumb-edges{fill:none;stroke-width:1.6px}.queens-thumb .thumb-queen{fill:var(--region-ink)}.frostfire-thumb .thumb-frame{stroke:var(--ff-edge)}.frostfire-thumb .thumb-cells{fill:var(--ff-cell)}.frostfire-thumb .thumb-grid{stroke:color-mix(in srgb, var(--ink) 18%, transparent)}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .game-thumb .thumb-frame{stroke:color-mix(in srgb, var(--ink) 35%, transparent)}}:where(:root[data-theme=dark]) .game-thumb .thumb-frame{stroke:color-mix(in srgb, var(--ink) 35%, transparent)}.frostfire-thumb .thumb-link circle{fill:var(--surface);stroke:var(--ink);stroke-width:1px}.frostfire-thumb .thumb-link path{stroke:var(--ink);stroke-width:1px}.threadline-thumb .thumb-frame{stroke:var(--tl-edge)}.threadline-thumb .thumb-cells{fill:var(--tl-cell)}.threadline-thumb .thumb-grid{stroke:color-mix(in srgb, var(--ink) 18%, transparent)}.threadline-thumb .thumb-wall{stroke:var(--tl-wall);stroke-width:2.4px;stroke-linecap:round}.threadline-thumb .thumb-line{fill:none;stroke:var(--tl-line);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.threadline-thumb .thumb-checkpoint circle{fill:var(--tl-dot)}.threadline-thumb .thumb-checkpoint text{fill:var(--tl-dot-ink);font-family:var(--font);text-anchor:middle;font-size:6px;font-weight:800}.sudoku-thumb .thumb-frame{stroke:var(--sd-edge)}.sudoku-thumb .thumb-cells{fill:var(--sd-cell)}.sudoku-thumb .thumb-selected{fill:var(--sd-selected)}.sudoku-thumb .thumb-grid{stroke:var(--sd-line)}.sudoku-thumb .thumb-boxes{stroke:var(--sd-box);stroke-width:2px}.sudoku-thumb text{font-family:var(--font);text-anchor:middle;font-size:9px}.sudoku-thumb .thumb-given{fill:var(--ink);font-weight:800}.sudoku-thumb .thumb-digit{fill:var(--sd-entry);font-weight:700}.game-text h2 a{text-decoration:none}.game-text h2 a:hover{text-underline-offset:.15em;text-decoration:underline}.game-text p{color:var(--muted);margin-top:.15rem;font-size:.9375rem}@media (max-width:560px){.hero{grid-template-columns:1fr}.date-tile{width:5.5rem}.date-day{font-size:2.5rem}.game-row{grid-template-columns:auto 1fr}.game-row .button{grid-column:1/-1;justify-self:start}}.button{border-radius:var(--radius-ui);background:var(--cobalt);min-height:2.75rem;color:var(--cobalt-ink);font:inherit;cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;padding:.5rem 1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:color-mix(in srgb, var(--cobalt) 88%, var(--ink))}.button:active{transform:translateY(1px)}.button-big{min-height:3.5rem;padding-inline:2.25rem;font-size:1.25rem}.status{color:var(--muted);padding-block:2rem}.status .button{margin-top:1rem}.note{color:var(--muted);font-size:.9375rem}.game-header{padding-block:2rem 1.5rem}.game-header p{color:var(--muted);max-width:36rem;margin-top:.5rem}.ready{justify-items:start;gap:1rem;padding-block:1rem;display:grid}.ready.has-preview{background:var(--surface);border-radius:var(--radius-tile);box-shadow:inset 0 0 0 1px var(--line);place-items:center;padding:1.5rem;position:relative;overflow:hidden}.ready-preview,.ready-overlay{grid-area:1/1}.ready-preview{aspect-ratio:1;opacity:.32;width:min(100%,24rem);-webkit-mask-image:radial-gradient(circle,#0000 0 24%,#000 68%);mask-image:radial-gradient(circle,#0000 0 24%,#000 68%)}.ready-preview .game-thumb{width:100%;height:100%}.ready-preview .thumb-frame{stroke:none}.ready-preview .thumb-grid,.ready-preview .thumb-edges{stroke-width:.4px}.ready-preview .thumb-boxes,.ready-preview .thumb-wall{stroke-width:.9px}.ready-overlay{z-index:1;text-align:center;justify-items:center;gap:.75rem;max-width:18rem;display:grid}.ready-overlay .note{margin:0}.playing{background:var(--surface);border-radius:var(--radius-tile);box-shadow:inset 0 0 0 1px var(--line);gap:1.5rem;padding:1.5rem;display:grid}.stopwatch{z-index:3;background:var(--ink);color:var(--paper);font-variant-numeric:tabular-nums;border-radius:999px;justify-self:center;align-items:baseline;gap:.05rem;margin:0;padding:.3rem 1.1rem .35rem .9rem;line-height:1.1;transition:background .25s ease-out,color .25s ease-out;display:inline-flex;position:sticky;top:.75rem;box-shadow:0 10px 24px -14px #0000008c}.stopwatch:before{content:"";background:var(--stopwatch-dot,var(--sun));border-radius:50%;align-self:center;width:.5rem;height:.5rem;margin-inline-end:.55rem;animation:1s ease-in-out infinite stopwatch-pulse}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .stopwatch{--stopwatch-dot:#d99400}}:where(:root[data-theme=dark]) .stopwatch{--stopwatch-dot:#d99400}.stopwatch-main{letter-spacing:-.02em;font-size:1.6rem;font-weight:800}.stopwatch-fraction{opacity:.6;font-size:1.05rem;font-weight:700}.stopwatch.is-stopped{background:var(--sun);color:var(--sun-ink);animation:.45s cubic-bezier(.3,1.6,.5,1) stopwatch-stop}.stopwatch.is-stopped:before{background:currentColor;animation:none}.stopwatch.is-stopped .stopwatch-fraction{opacity:.75}@keyframes stopwatch-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@keyframes stopwatch-stop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.stopwatch:before,.stopwatch.is-stopped{animation:none}}.playing.is-finished{pointer-events:none}.qs{gap:2rem;display:grid}.qs-progress{gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.qs-progress li{background:var(--line);border-radius:999px;flex:1;height:.5rem}.qs-progress li.is-done{background:var(--cobalt)}.qs-progress li.is-current{background:var(--sun)}.qs-problem{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;font-size:clamp(2rem,9vw,3.5rem);font-weight:800;display:flex}.tile{text-align:center;background:var(--sun);min-width:2.2em;color:var(--sun-ink);border-radius:var(--radius-tile);box-shadow:0 5px 0 color-mix(in srgb, var(--sun) 55%, #000);padding:.2em .35em}.qs-op{color:var(--muted)}.qs-answer{justify-content:center;gap:.75rem;display:flex}.qs-input{border:2px solid var(--line);border-radius:var(--radius-ui);background:var(--paper);width:9rem;min-height:3.5rem;color:var(--ink);font:inherit;text-align:center;font-variant-numeric:tabular-nums;padding:.25rem .75rem;font-size:1.75rem;font-weight:700}.qs-input:focus-visible{border-color:var(--cobalt);outline:none}.qs-answer .button{min-height:3.5rem}.queens,.queens-thumb{--region-0:#f6a97f;--region-1:#b4dc9c;--region-2:#9cbff7;--region-3:#e7ef8d;--region-4:#bfa8e4;--region-5:#f58f80;--region-6:#dcdbe3;--region-7:#85e3df;--region-8:#f3a6df;--region-9:#d8bd93;--region-ink:#1b1d3a;--region-edge:#1b1d3a}.queens{justify-items:center;gap:1.25rem;display:grid}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .queens,:where(:root:not([data-theme=light])) .queens-thumb{--region-0:#d28a63;--region-1:#93bb7d;--region-2:#7d9fd6;--region-3:#c3cb6d;--region-4:#9f89c4;--region-5:#d47263;--region-6:#b6b5c2;--region-7:#66c2be;--region-8:#d087bd;--region-9:#b79d74;--region-edge:#070816}}:where(:root[data-theme=dark]) .queens,:where(:root[data-theme=dark]) .queens-thumb{--region-0:#d28a63;--region-1:#93bb7d;--region-2:#7d9fd6;--region-3:#c3cb6d;--region-4:#9f89c4;--region-5:#d47263;--region-6:#b6b5c2;--region-7:#66c2be;--region-8:#d087bd;--region-9:#b79d74;--region-edge:#070816}.queens-rules{justify-self:start;max-width:32rem;margin:0}.queens-rules.is-solved{color:var(--ink);font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.queens-grid{aspect-ratio:1;border:3px solid var(--region-edge);width:min(100%,30rem);box-shadow:0 6px 0 color-mix(in srgb, var(--region-edge) 28%, transparent);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;transition:box-shadow .4s ease-out;display:grid;overflow:hidden}.queens-cell{border:0;border-right:1px solid color-mix(in srgb, var(--region-edge) 22%, transparent);border-bottom:1px solid color-mix(in srgb, var(--region-edge) 22%, transparent);min-width:0;color:var(--region-ink);font:inherit;cursor:inherit;-webkit-tap-highlight-color:transparent;place-items:center;padding:0;transition:filter .12s ease-out,box-shadow .12s ease-out;display:grid;position:relative}.queens-cell>*{transition:transform .11s ease-out}.queens-cell.edge-r{border-right:2.5px solid var(--region-edge)}.queens-cell.edge-b{border-bottom:2.5px solid var(--region-edge)}@media (hover:hover){.queens-cell:hover{filter:brightness(1.08)saturate(1.08);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--region-edge) 30%, transparent)}.queens-cell:hover>*{transform:scale(1.08)}}.queens-cell.is-pressed{filter:brightness(.9);box-shadow:inset 0 3px 8px color-mix(in srgb, var(--region-edge) 40%, transparent);transition-duration:40ms}.queens-cell.is-pressed>*{transition-duration:40ms;transform:scale(.82)}.queens-cell:focus-visible{outline:3px solid var(--cobalt);outline-offset:-3px}.queens-cell.is-conflict{background-image:repeating-linear-gradient(-45deg,#d8243b4d 0 4px,#0000 4px 8px)!important}.queens-mark{aspect-ratio:1;fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;opacity:.5;width:32%;height:auto;animation:.14s ease-out backwards queens-mark-in}.queens-piece{place-items:center;width:100%;height:100%;display:grid}.queens-queen{aspect-ratio:1;fill:currentColor;width:62%;height:auto;filter:drop-shadow(0 1.5px 0 color-mix(in srgb, var(--region-edge) 35%, transparent));animation:.28s cubic-bezier(.3,1.6,.5,1) backwards queens-pop}.queens-cell.is-conflict .queens-piece{animation:.36s ease-in-out queens-shake}.queens-cell.is-conflict .queens-queen{fill:#c01a30}.queens-grid.is-solved{cursor:default;box-shadow:0 6px 0 color-mix(in srgb, var(--region-edge) 28%, transparent), 0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}.queens-grid.is-solved .queens-cell{animation:queens-glow .65s ease-out calc((var(--row) + var(--col)) * 35ms) backwards}.queens-grid.is-solved .queens-piece{animation:queens-jump .52s cubic-bezier(.3, 1.4, .5, 1) calc(var(--row) * 70ms + .15s) backwards}@keyframes queens-pop{0%{opacity:0;transform:scale(.2)rotate(-14deg)}60%{opacity:1;transform:scale(1.18)rotate(4deg)}to{transform:scale(1)rotate(0)}}@keyframes queens-mark-in{0%{opacity:0;transform:scale(.3)}}@keyframes queens-shake{0%,to{transform:translate(0)}20%{transform:translate(-12%)rotate(-8deg)}40%{transform:translate(10%)rotate(7deg)}60%{transform:translate(-6%)rotate(-4deg)}80%{transform:translate(4%)rotate(2deg)}}@keyframes queens-glow{0%,to{filter:brightness()}35%{filter:brightness(1.3)saturate(1.2)}}@keyframes queens-jump{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-22%)scale(1.22)}}@media (prefers-reduced-motion:reduce){.queens *,.queens :before{transition:none!important;animation:none!important}}.queens-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.queens-actions .note{flex-basis:100%;margin:0}.frostfire,.frostfire-thumb{--ff-cell:var(--surface);--ff-given:color-mix(in srgb, var(--line) 70%, var(--surface));--ff-edge:var(--ink);--ff-fire:#ffc83d;--ff-fire-line:#c98a00;--ff-fire-core:#ff8a1f;--ff-ice:#3246f0;--ff-bad:#d8243b}.frostfire{justify-items:center;gap:1.25rem;display:grid}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .frostfire,:where(:root:not([data-theme=light])) .frostfire-thumb{--ff-edge:#070816;--ff-ice:#8a96ff;--ff-bad:#ff5a6e}}:where(:root[data-theme=dark]) .frostfire,:where(:root[data-theme=dark]) .frostfire-thumb{--ff-edge:#070816;--ff-ice:#8a96ff;--ff-bad:#ff5a6e}.frostfire-rules{justify-self:start;max-width:32rem;margin:0}.frostfire-rules.is-solved{font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.frostfire-board{aspect-ratio:1;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:min(100%,30rem);position:relative}.frostfire-grid{border:3px solid var(--ff-edge);background:var(--ff-cell);width:100%;height:100%;box-shadow:0 6px 0 color-mix(in srgb, var(--ff-edge) 28%, transparent);border-radius:8px;transition:box-shadow .4s ease-out;display:grid;overflow:hidden}.frostfire-cell{border:0;border-right:1px solid color-mix(in srgb, var(--ink) 18%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--ff-cell);min-width:0;color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;place-items:center;padding:0;transition:background-color .12s ease-out,box-shadow .12s ease-out;display:grid}.frostfire-cell>*{transition:transform .11s ease-out}.frostfire-cell.is-given{background:var(--ff-given);cursor:default}@media (hover:hover){.frostfire-cell:not(.is-given):hover{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--ff-edge) 25%, transparent)}}.frostfire-cell.is-pressed{box-shadow:inset 0 3px 8px color-mix(in srgb, var(--ff-edge) 30%, transparent);transition-duration:40ms}.frostfire-cell.is-pressed>*{transition-duration:40ms;transform:scale(.82)}.frostfire-cell:focus-visible{outline:3px solid var(--cobalt);outline-offset:-3px}.frostfire-cell.is-conflict{background-image:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--ff-bad) 28%, transparent) 0 4px, transparent 4px 8px)}.frostfire-cell.is-conflict .frostfire-piece{animation:.36s ease-in-out queens-shake}.frostfire-cell.is-hinted{box-shadow:inset 0 0 0 3px var(--cobalt);animation:1.2s ease-in-out infinite frostfire-hint}.frostfire-piece{place-items:center;width:100%;height:100%;display:grid}.frostfire-piece svg{aspect-ratio:1;width:64%;height:auto;animation:.26s cubic-bezier(.3,1.6,.5,1) backwards queens-pop}.frostfire-fire .flame{fill:var(--ff-fire);stroke:var(--ff-fire-line);stroke-width:1px;stroke-linejoin:round}.frostfire-fire .core{fill:var(--ff-fire-core)}.frostfire-ice{fill:none;stroke:var(--ff-ice);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.frostfire-ice path{stroke-width:1.6px}.frostfire-link{width:calc(100% / var(--size) * .28);aspect-ratio:1;background:var(--surface);max-width:1.2rem;box-shadow:0 0 0 1.5px var(--ff-edge);color:var(--ff-edge);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.frostfire-link svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:70%;height:70%}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .frostfire-link{color:var(--ink);box-shadow:0 0 0 1.5px var(--ink)}}:where(:root[data-theme=dark]) .frostfire-link{color:var(--ink);box-shadow:0 0 0 1.5px var(--ink)}.frostfire-link.is-broken{background:var(--ff-bad);color:#fff;box-shadow:0 0 0 1.5px var(--ff-bad)}.frostfire-hint{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--cobalt) 12%, transparent);width:min(100%,30rem);margin:0;padding:.75rem 1rem;animation:.16s ease-out backwards queens-mark-in}.frostfire-board.is-solved .frostfire-grid{box-shadow:0 6px 0 color-mix(in srgb, var(--ff-edge) 28%, transparent), 0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}.frostfire-board.is-solved .frostfire-cell{cursor:default}.frostfire-board.is-solved .frostfire-piece{animation:queens-jump .52s cubic-bezier(.3, 1.4, .5, 1) calc((var(--row) + var(--col)) * 45ms) backwards}@keyframes frostfire-hint{50%{box-shadow:inset 0 0 0 5px color-mix(in srgb, var(--cobalt) 55%, transparent)}}@media (prefers-reduced-motion:reduce){.frostfire *,.frostfire :before{transition:none!important;animation:none!important}}.frostfire-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.frostfire-actions .note{flex-basis:100%;margin:0}.threadline,.threadline-thumb{--tl-cell:var(--surface);--tl-edge:var(--ink);--tl-wall:var(--ink);--tl-line:var(--cobalt);--tl-trail:color-mix(in srgb, var(--cobalt) 14%, var(--surface));--tl-dot:var(--ink);--tl-dot-ink:var(--surface)}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .threadline,:where(:root:not([data-theme=light])) .threadline-thumb{--tl-edge:#070816;--tl-trail:color-mix(in srgb, var(--cobalt) 22%, var(--surface))}}:where(:root[data-theme=dark]) .threadline,:where(:root[data-theme=dark]) .threadline-thumb{--tl-edge:#070816;--tl-trail:color-mix(in srgb, var(--cobalt) 22%, var(--surface))}.threadline{justify-items:center;gap:1.25rem;display:grid}.threadline-rules{justify-self:start;max-width:32rem;margin:0}.threadline-rules.is-solved{font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.threadline-board{aspect-ratio:1;border:3px solid var(--tl-edge);background:var(--tl-cell);width:min(100%,30rem);box-shadow:0 6px 0 color-mix(in srgb, var(--tl-edge) 28%, transparent);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:8px;transition:box-shadow .4s ease-out;position:relative;overflow:hidden}.threadline-board:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.threadline-grid{width:100%;height:100%;display:grid}.threadline-cell{border-right:1px solid color-mix(in srgb, var(--ink) 16%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ink) 16%, transparent);transition:background-color .12s ease-out}.threadline-cell.is-path{background:var(--tl-trail)}.threadline-cell.is-hinted{box-shadow:inset 0 0 0 3px var(--cobalt);animation:1.2s ease-in-out infinite frostfire-hint}.threadline-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.threadline-wall{stroke:var(--tl-wall);stroke-width:.11px;stroke-linecap:round}.threadline-line{fill:none;stroke:var(--tl-line);stroke-width:.36px;stroke-linecap:round;stroke-linejoin:round}.threadline-dot{fill:var(--tl-line)}.threadline-checkpoint circle{fill:var(--tl-dot);transition:fill .15s ease-out}.threadline-checkpoint text{fill:var(--tl-dot-ink);font-family:var(--font);text-anchor:middle;font-size:.32px;font-weight:800}.threadline-checkpoint.is-reached circle{fill:var(--tl-line)}.threadline-hint{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--cobalt) 12%, transparent);width:min(100%,30rem);margin:0;padding:.75rem 1rem}.threadline-board.is-solved{cursor:default;box-shadow:0 6px 0 color-mix(in srgb, var(--tl-edge) 28%, transparent), 0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}.threadline-board.is-solved .threadline-cell{animation:queens-glow .65s ease-out calc(var(--step) * 18ms) backwards}.threadline-board.is-solved .threadline-line{animation:.7s ease-out threadline-pulse}@keyframes threadline-pulse{40%{stroke-width:.5px}}@media (prefers-reduced-motion:reduce){.threadline *,.threadline :before{transition:none!important;animation:none!important}}.threadline-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.threadline-actions .note{flex-basis:100%;margin:0}.isleway,.isleway-thumb{--iw-water:color-mix(in srgb, var(--cobalt) 9%, var(--surface));--iw-edge:var(--ink);--iw-island:var(--surface);--iw-island-line:var(--ink);--iw-island-ink:var(--ink);--iw-done:var(--sun);--iw-done-ink:var(--sun-ink);--iw-bridge:var(--cobalt);--iw-over:#d8243b}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .isleway,:where(:root:not([data-theme=light])) .isleway-thumb{--iw-edge:#070816;--iw-water:color-mix(in srgb, var(--cobalt) 16%, var(--surface));--iw-over:#ff5c70}}:where(:root[data-theme=dark]) .isleway,:where(:root[data-theme=dark]) .isleway-thumb{--iw-edge:#070816;--iw-water:color-mix(in srgb, var(--cobalt) 16%, var(--surface));--iw-over:#ff5c70}.isleway-thumb .thumb-frame{stroke:var(--iw-edge)}.isleway-thumb .thumb-cells{fill:var(--iw-water)}.isleway-thumb .thumb-bridge{fill:none;stroke:var(--iw-bridge);stroke-width:2px;stroke-linecap:round}.isleway-thumb .thumb-island circle{fill:var(--iw-island);stroke:var(--iw-island-line);stroke-width:1.2px;transition:fill .2s ease-out}.isleway-thumb .thumb-island text{fill:var(--iw-island-ink);font-family:var(--font);text-anchor:middle;font-weight:800}.isleway-thumb .thumb-island.is-done circle{fill:var(--iw-done)}.isleway-thumb .thumb-island.is-done text{fill:var(--iw-done-ink)}.isleway{justify-items:center;gap:1.25rem;display:grid}.isleway-rules{justify-self:start;max-width:32rem;margin:0}.isleway-rules.is-solved{font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.isleway-board{aspect-ratio:1;border:3px solid var(--iw-edge);background:var(--iw-water);width:min(100%,30rem);box-shadow:0 6px 0 color-mix(in srgb, var(--iw-edge) 28%, transparent);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:8px;transition:box-shadow .4s ease-out;position:relative;overflow:hidden}.isleway-board:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.isleway-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.isleway-dot{fill:color-mix(in srgb, var(--ink) 22%, transparent)}.isleway-bridge path{fill:none;stroke:var(--iw-bridge);stroke-width:.075px;stroke-linecap:round;animation:.16s ease-out backwards isleway-build}.isleway-bridge.is-blocked path{animation:.7s ease-in-out isleway-blocked}.isleway-preview{fill:none;stroke:var(--iw-bridge);stroke-width:.075px;stroke-dasharray:.12 .12;opacity:.6}.isleway-hint-line{fill:none;stroke:var(--cobalt);stroke-width:.3px;stroke-linecap:round;opacity:.25;animation:1.2s ease-in-out infinite isleway-hint}.isleway-island circle{fill:var(--iw-island);stroke:var(--iw-island-line);stroke-width:.06px;transition:fill .15s ease-out,stroke .15s ease-out}.isleway-island text{fill:var(--iw-island-ink);font-family:var(--font);text-anchor:middle;font-size:.42px;font-weight:800}.isleway-island.is-done circle{fill:var(--iw-done)}.isleway-island.is-done text{fill:var(--iw-done-ink)}.isleway-island.is-over circle{stroke:var(--iw-over);stroke-width:.1px}.isleway-island.is-over text{fill:var(--iw-over)}.isleway-island.is-target circle{stroke:var(--cobalt);stroke-width:.09px}.isleway-island.is-selected circle{stroke:var(--cobalt);stroke-width:.14px}.isleway-island.is-hinted circle{stroke:var(--cobalt);stroke-width:.12px;animation:1.2s ease-in-out infinite isleway-hint}.isleway-hint{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--cobalt) 12%, transparent);width:min(100%,30rem);margin:0;padding:.75rem 1rem}@keyframes isleway-build{0%{opacity:0}}@keyframes isleway-blocked{25%,75%{stroke:var(--iw-over);stroke-width:.14px}}@keyframes isleway-hint{50%{opacity:.55}}.isleway-board.is-solved{cursor:default;box-shadow:0 6px 0 color-mix(in srgb, var(--iw-edge) 28%, transparent), 0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}.isleway-board.is-solved .isleway-island{transform-box:fill-box;transform-origin:50%;animation:isleway-hop .52s cubic-bezier(.3, 1.6, .5, 1) calc(var(--order) * 45ms) backwards}@keyframes isleway-hop{40%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.isleway *,.isleway :before{transition:none!important;animation:none!important}}.isleway-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.isleway-actions .note{flex-basis:100%;margin:0}.unjam,.unjam-thumb{--uj-edge:var(--ink);--uj-floor:color-mix(in srgb, var(--cobalt) 8%, var(--surface));--uj-line:color-mix(in srgb, var(--ink) 9%, transparent);--uj-h:#7d89f7;--uj-h-ink:#3240c9;--uj-v:#2c316f;--uj-v-ink:#8c93d8;--uj-key:var(--sun);--uj-key-ink:var(--sun-ink)}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .unjam,:where(:root:not([data-theme=light])) .unjam-thumb{--uj-edge:#070816;--uj-floor:color-mix(in srgb, var(--cobalt) 14%, var(--surface));--uj-h:#6c79ee;--uj-h-ink:#2a35a8;--uj-v:#464c9c;--uj-v-ink:#9aa1e6}}:where(:root[data-theme=dark]) .unjam,:where(:root[data-theme=dark]) .unjam-thumb{--uj-edge:#070816;--uj-floor:color-mix(in srgb, var(--cobalt) 14%, var(--surface));--uj-h:#6c79ee;--uj-h-ink:#2a35a8;--uj-v:#464c9c;--uj-v-ink:#9aa1e6}.unjam-thumb .thumb-frame{fill:var(--uj-edge)}.unjam-thumb .thumb-floor{fill:var(--uj-floor)}.unjam-thumb .thumb-h{fill:var(--uj-h)}.unjam-thumb .thumb-v{fill:var(--uj-v)}.unjam-thumb .thumb-key{fill:var(--uj-key)}.unjam-thumb .thumb-gate{fill:var(--uj-floor)}.unjam-thumb .thumb-move{transition:transform .45s cubic-bezier(.3,1.2,.5,1)}.unjam{justify-items:center;gap:1.25rem;display:grid}.unjam-rules{justify-self:start;max-width:32rem;margin:0}.unjam-rules.is-solved{font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.unjam-board{--frame:4px;aspect-ratio:1;width:min(100%,30rem);padding:var(--frame);background:var(--uj-edge);box-shadow:0 6px 0 color-mix(in srgb, var(--uj-edge) 28%, transparent);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:10px;transition:box-shadow .4s ease-out;position:relative}.unjam-gate{inset-inline-end:0;top:calc(var(--frame) + var(--y) * (100% - 2 * var(--frame)) / var(--size));width:var(--frame);height:calc((100% - 2 * var(--frame)) / var(--size));background:var(--uj-floor);position:absolute}.unjam-floor{background-color:var(--uj-floor);background-image:linear-gradient(var(--uj-line) 1px, transparent 1px), linear-gradient(90deg, var(--uj-line) 1px, transparent 1px);background-size:calc(100% / var(--size)) calc(100% / var(--size));border-radius:6px;width:100%;height:100%;position:relative;overflow:hidden}.unjam-exit{inset-inline-end:0;top:calc(var(--y) * 100% / var(--size));width:calc(100% / var(--size));height:calc(100% / var(--size));background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--uj-key) 45%, transparent));position:absolute}.unjam-block,.unjam-ghost{left:calc(var(--x) * 100% / var(--size));top:calc(var(--y) * 100% / var(--size));width:calc(var(--w) * 100% / var(--size));height:calc(var(--h) * 100% / var(--size));padding:calc(100% / var(--size) * .06);position:absolute}.unjam-block{color:inherit;font:inherit;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;transition:left .15s ease-out,top .15s ease-out;display:block}.unjam-block.is-dragging{z-index:2;cursor:grabbing;transition:none}.unjam-block:focus-visible{outline:none}.unjam-slab{background:var(--uj-h);width:100%;height:100%;box-shadow:inset 0 0 0 2px #ffffff24, 0 3px 0 color-mix(in srgb, var(--uj-h-ink) 70%, transparent);color:var(--uj-h-ink);border-radius:clamp(6px,1.8vw,11px);transition:transform .15s ease-out;display:block;position:relative}.unjam-slab:after{content:"";opacity:.7;background:repeating-linear-gradient(90deg,currentColor 0 2px,#0000 2px 5px);width:22%;max-width:1.1rem;height:34%;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.is-vertical .unjam-slab{background:var(--uj-v);color:var(--uj-v-ink);box-shadow:inset 0 0 0 2px #ffffff1a,0 3px #00000059}.is-vertical .unjam-slab:after{background:repeating-linear-gradient(0deg,currentColor 0 2px,#0000 2px 5px);width:34%;max-width:none;height:22%;max-height:1.1rem}.is-target .unjam-slab{background:var(--uj-key);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--uj-key-ink) 30%, transparent), 0 3px 0 color-mix(in srgb, var(--uj-key-ink) 45%, transparent);color:var(--uj-key-ink)}.unjam-block.is-dragging .unjam-slab{transform:scale(1.03)}.unjam-block.is-selected .unjam-slab,.unjam-block:focus-visible .unjam-slab{outline:3px solid var(--cobalt);outline-offset:-3px}.is-target.is-selected .unjam-slab,.is-target:focus-visible .unjam-slab{outline-color:var(--ink)}.unjam-block.is-hinted .unjam-slab{animation:1s ease-in-out infinite unjam-hint}.unjam-ghost{pointer-events:none}.unjam-ghost:before{content:"";border:2px dashed var(--cobalt);background:color-mix(in srgb, var(--cobalt) 10%, transparent);border-radius:clamp(6px,1.8vw,11px);width:100%;height:100%;display:block}@keyframes unjam-hint{50%{transform:scale(.94)}}.unjam-moves{font-variant-numeric:tabular-nums;color:var(--muted);margin:0;font-weight:600}.unjam-hint{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--cobalt) 12%, transparent);width:min(100%,30rem);margin:0;padding:.75rem 1rem}.unjam-block.is-out{cursor:default;transition:left .65s cubic-bezier(.55,0,.75,.2) .12s;left:100%}.unjam-block:disabled{cursor:default}.unjam-board.is-solved{box-shadow:0 6px 0 color-mix(in srgb, var(--uj-edge) 28%, transparent), 0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}@media (prefers-reduced-motion:reduce){.unjam *,.unjam :before,.unjam-thumb *{transition:none!important;animation:none!important}}.unjam-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.unjam-actions .note{flex-basis:100%;margin:0}.shadegrid,.shadegrid-thumb{--sg-cell:var(--surface);--sg-edge:var(--ink);--sg-line:color-mix(in srgb, var(--ink) 16%, transparent);--sg-group:color-mix(in srgb, var(--ink) 55%, transparent);--sg-fill:#2c316f;--sg-cross:var(--muted);--sg-active:color-mix(in srgb, var(--cobalt) 9%, transparent);--sg-done:color-mix(in srgb, var(--ink) 32%, transparent)}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .shadegrid,:where(:root:not([data-theme=light])) .shadegrid-thumb{--sg-edge:#070816;--sg-fill:#8a96ff;--sg-group:color-mix(in srgb, var(--ink) 45%, transparent)}}:where(:root[data-theme=dark]) .shadegrid,:where(:root[data-theme=dark]) .shadegrid-thumb{--sg-edge:#070816;--sg-fill:#8a96ff;--sg-group:color-mix(in srgb, var(--ink) 45%, transparent)}.shadegrid-thumb .thumb-frame{stroke:var(--sg-edge)}.shadegrid-thumb .thumb-cells{fill:var(--sg-cell)}.shadegrid-thumb .thumb-grid{stroke:var(--sg-line);stroke-width:.6px}.shadegrid-thumb .thumb-fill{fill:var(--sg-fill)}.shadegrid-thumb .thumb-cross{stroke:var(--sg-cross);stroke-width:1.4px;stroke-linecap:round}.shadegrid-thumb .thumb-clue{fill:var(--ink);font-family:var(--font);font-size:6.5px;font-weight:700;transition:fill .3s ease-out}.shadegrid-thumb .thumb-clue.is-done{fill:var(--sg-done)}.shadegrid-thumb .thumb-clue.is-focus{fill:var(--cobalt)}.shadegrid-thumb .thumb-focus{fill:var(--sg-active)}.shadegrid-thumb.is-solved .thumb-fill{fill:var(--sun);animation:.52s ease-out backwards shadegrid-reveal}.shadegrid{justify-items:center;gap:1.25rem;display:grid}.shadegrid-rules{justify-self:start;max-width:32rem;margin:0}.shadegrid-rules.is-solved{font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.shadegrid-board{--clue-size:clamp(.62rem, calc(100cqi / (var(--size) + 3.5) * .48), 1.05rem);width:min(100%,32rem);font-size:var(--clue-size);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);display:grid;container-type:inline-size}.shadegrid-cols{grid-area:1/2;grid-template-columns:repeat(var(--size), minmax(0, 1fr));padding-inline:3px;display:grid}.shadegrid-rows{grid-area:2/1;grid-template-rows:repeat(var(--size), minmax(0, 1fr));padding-block:3px;display:grid}.shadegrid-clue{color:var(--ink);border-radius:6px;gap:.35em;font-weight:700;line-height:1.1;transition:color .2s ease-out,background-color .12s ease-out;display:flex}.shadegrid-cols .shadegrid-clue{flex-direction:column;justify-content:flex-end;align-items:center;gap:.2em;padding-block:.3em .45em}.shadegrid-rows .shadegrid-clue{justify-content:flex-end;align-items:center;padding-inline:.4em .55em}.shadegrid-clue.is-active{background:var(--sg-active)}.shadegrid-clue.is-done{color:var(--sg-done)}.shadegrid-clue.is-hinted{color:var(--cobalt);background:color-mix(in srgb, var(--cobalt) 14%, transparent)}.shadegrid-cells{aspect-ratio:1;border:3px solid var(--sg-edge);background:var(--sg-cell);box-shadow:0 6px 0 color-mix(in srgb, var(--sg-edge) 28%, transparent);touch-action:none;border-radius:8px;grid-area:2/2;transition:box-shadow .4s ease-out;display:grid;overflow:hidden}.shadegrid-cell{border:0;border-right:1px solid var(--sg-line);border-bottom:1px solid var(--sg-line);background:var(--sg-cell);min-width:0;color:var(--sg-cross);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;place-items:center;padding:0;transition:background-color 90ms ease-out;display:grid;position:relative}.shadegrid-cell.is-group-col{border-right:2px solid var(--sg-group)}.shadegrid-cell.is-group-row{border-bottom:2px solid var(--sg-group)}.shadegrid-cell.is-active{background:color-mix(in srgb, var(--cobalt) 7%, var(--sg-cell))}.shadegrid-cell.is-hint-line{background:color-mix(in srgb, var(--cobalt) 14%, var(--sg-cell))}.shadegrid-cell.is-filled{background:var(--sg-fill);animation:.14s ease-out shadegrid-press}.shadegrid-cell:focus-visible{outline:3px solid var(--cobalt);outline-offset:-3px;z-index:1}.shadegrid-cell.is-filled:focus-visible{outline-color:var(--sun)}.shadegrid-cell.is-hinted{box-shadow:inset 0 0 0 3px var(--cobalt);animation:1.2s ease-in-out infinite frostfire-hint}.shadegrid-cross{aspect-ratio:1;fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;width:52%;height:auto;animation:.2s cubic-bezier(.3,1.6,.5,1) backwards queens-pop}.shadegrid-hint{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--cobalt) 12%, transparent);width:min(100%,30rem);margin:0;padding:.75rem 1rem;animation:.16s ease-out backwards queens-mark-in}.shadegrid-board.is-solved .shadegrid-cells{box-shadow:0 6px 0 color-mix(in srgb, var(--sg-edge) 28%, transparent), 0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}.shadegrid-board.is-solved .shadegrid-cell{cursor:default;border-color:#0000;transition:border-color .5s ease-out}.shadegrid-board.is-solved .shadegrid-cell.is-filled{background:var(--sun);animation:shadegrid-reveal .52s ease-out calc((var(--row) + var(--col)) * 35ms) backwards}.shadegrid-board.is-solved .shadegrid-cross{opacity:0;transition:opacity .3s ease-out}.shadegrid-board.is-solved .shadegrid-clue{color:var(--sg-done)}@keyframes shadegrid-press{0%{box-shadow:inset 0 0 0 40px color-mix(in srgb, var(--sg-fill) 60%, var(--sg-cell))}}@keyframes shadegrid-reveal{0%{background:var(--sg-fill);fill:var(--sg-fill)}45%{transform:scale(.82)}}@media (prefers-reduced-motion:reduce){.shadegrid *,.shadegrid-thumb *{transition:none!important;animation:none!important}}.shadegrid-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.shadegrid-actions .note{flex-basis:100%;margin:0}.shadegrid-tools{gap:.35rem;display:flex}.shadegrid-tools .button{align-items:center;gap:.45rem;display:inline-flex}.shadegrid-tool-fill{background:currentColor;border-radius:2px;width:.85em;height:.85em}.shadegrid-tools .shadegrid-cross{stroke-width:1.6px;width:.95em;animation:none}.tidetube,.tidetube-thumb{--tt-edge:var(--ink);--tt-glass:color-mix(in srgb, var(--cobalt) 6%, var(--surface))}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .tidetube,:where(:root:not([data-theme=light])) .tidetube-thumb{--tt-edge:color-mix(in srgb, var(--ink) 55%, transparent);--tt-glass:color-mix(in srgb, var(--cobalt) 10%, var(--surface))}}:where(:root[data-theme=dark]) .tidetube,:where(:root[data-theme=dark]) .tidetube-thumb{--tt-edge:color-mix(in srgb, var(--ink) 55%, transparent);--tt-glass:color-mix(in srgb, var(--cobalt) 10%, var(--surface))}:is(.tidetube,.tidetube-thumb) .tt-c0{--c:#3246f0;--sym:#ffffffbf}:is(.tidetube,.tidetube-thumb) .tt-c1{--c:#ffc83d;--sym:#2b21008c}:is(.tidetube,.tidetube-thumb) .tt-c2{--c:#ef5a4f;--sym:#fffc}:is(.tidetube,.tidetube-thumb) .tt-c3{--c:#1fa971;--sym:#fffc}:is(.tidetube,.tidetube-thumb) .tt-c4{--c:#9a55e0;--sym:#fffc}:is(.tidetube,.tidetube-thumb) .tt-c5{--c:#3bb8e8;--sym:#08283c99}:is(.tidetube,.tidetube-thumb) .tt-c6{--c:#ff8a1f;--sym:#3c190099}:is(.tidetube,.tidetube-thumb) .tt-c7{--c:#ff7eb8;--sym:#460a2899}:is(.tidetube,.tidetube-thumb) .tt-c8{--c:#8a5a3c;--sym:#ffffffbf}:is(.tidetube,.tidetube-thumb) .tt-c9{--c:#a6d63a;--sym:#192d0099}:is(.tidetube,.tidetube-thumb) .tt-c10{--c:#2c316f;--sym:#ffffffbf}:is(.tidetube,.tidetube-thumb) .tt-c11{--c:#c9ccd9;--sym:#16183a99}.tidetube-thumb .thumb-frame{fill:none;stroke:var(--tt-edge);stroke-width:2px}.tidetube-thumb .thumb-glass{fill:var(--tt-glass)}.tidetube-thumb .thumb-liquid{fill:var(--c)}.tidetube-thumb .tt-sym{fill:var(--sym)}.tidetube-thumb .thumb-lid{fill:var(--tt-edge)}.tidetube-thumb .thumb-tube{transition:transform .3s cubic-bezier(.3,1.4,.5,1)}.tidetube-thumb.is-solved .thumb-tube{animation:.52s cubic-bezier(.3,1.4,.5,1) backwards tidetube-hop}.tidetube{justify-items:center;gap:1.25rem;display:grid}.tidetube-rules{justify-self:start;max-width:32rem;margin:0}.tidetube-rules.is-solved{font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.tidetube-board{grid-template-columns:repeat(var(--per-row), minmax(0, 3.6rem));border-radius:var(--radius-ui);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:center;gap:1.6rem clamp(.35rem,2vw,.9rem);width:min(100%,36rem);padding:1rem .25rem .5rem;transition:box-shadow .4s ease-out;display:grid}.tidetube-tube{min-width:0;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transform-origin:50% 85%;background:0 0;border:0;padding:0;transition:transform .14s ease-out;display:block}.tidetube-tube:disabled{cursor:default}.tidetube-glass{--fill-height:84%;aspect-ratio:10/34;border:3px solid var(--tt-edge);background:var(--tt-glass);border-top-width:0;border-radius:0 0 999px 999px;display:block;position:relative;overflow:hidden}.tidetube-glass:before{content:"";background:var(--tt-edge);border-radius:3px;height:3px;position:absolute;inset:0 -3px auto}.tidetube-layer{inset-inline:0;bottom:calc(var(--fill-height) / var(--capacity) * var(--k));height:calc(var(--fill-height) / var(--capacity));background:var(--c);place-items:center;display:grid;position:absolute}.tidetube-layer.is-new{transform-origin:50% 100%;animation:.24s ease-out tidetube-fill}.tt-symbol{aspect-ratio:1;width:46%;height:auto;fill:var(--sym)}@media (hover:hover){.tidetube-tube:not(:disabled):hover .tidetube-glass{box-shadow:0 0 0 3px color-mix(in srgb, var(--cobalt) 25%, transparent)}}.tidetube-tube:focus-visible{outline:none}.tidetube-tube:focus-visible .tidetube-glass{outline:3px solid var(--cobalt);outline-offset:3px}.tidetube-tube.is-selected{transform:translateY(-.9rem)}.tidetube-tube.is-selected .tidetube-glass{box-shadow:0 10px 18px color-mix(in srgb, var(--tt-edge) 22%, transparent)}.tidetube-tube.is-done .tidetube-glass:before{border-radius:4px;height:7px;animation:.32s cubic-bezier(.3,1.6,.5,1) backwards queens-pop;inset:-2px -5px auto}.tidetube-tube.is-extra .tidetube-glass{border-style:dashed}.tidetube-tube.is-hint-from .tidetube-glass{box-shadow:0 0 0 4px var(--cobalt);animation:1.2s ease-in-out infinite tidetube-hint}.tidetube-tube.is-hint-to .tidetube-glass{outline:3px dashed var(--cobalt);outline-offset:4px}.tidetube-moves{color:var(--muted);font-variant-numeric:tabular-nums;margin:0}.tidetube-hint{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--cobalt) 12%, transparent);width:min(100%,30rem);margin:0;padding:.75rem 1rem;animation:.16s ease-out backwards queens-mark-in}.tidetube-board.is-solved{box-shadow:0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}.tidetube-board.is-solved .tidetube-tube{animation:tidetube-hop .52s cubic-bezier(.3, 1.4, .5, 1) calc(var(--i) * 60ms) backwards}@keyframes tidetube-fill{0%{transform:scaleY(0)}}@keyframes tidetube-hop{40%{transform:translateY(-14%)}}@keyframes tidetube-hint{50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--cobalt) 45%, transparent)}}@media (prefers-reduced-motion:reduce){.tidetube *,.tidetube-thumb *{transition:none!important;animation:none!important}}.tidetube-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.tidetube-actions .note{flex-basis:100%;margin:0}.sudoku,.sudoku-thumb{--sd-cell:var(--surface);--sd-edge:var(--ink);--sd-box:var(--ink);--sd-line:color-mix(in srgb, var(--ink) 16%, transparent);--sd-peer:color-mix(in srgb, var(--cobalt) 8%, var(--surface));--sd-same:color-mix(in srgb, var(--cobalt) 22%, var(--surface));--sd-selected:color-mix(in srgb, var(--sun) 55%, var(--surface));--sd-entry:var(--cobalt);--sd-bad:#d8243b}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .sudoku,:where(:root:not([data-theme=light])) .sudoku-thumb{--sd-edge:#070816;--sd-selected:color-mix(in srgb, var(--cobalt) 38%, var(--surface));--sd-bad:#ff5a6e}}:where(:root[data-theme=dark]) .sudoku,:where(:root[data-theme=dark]) .sudoku-thumb{--sd-edge:#070816;--sd-selected:color-mix(in srgb, var(--cobalt) 38%, var(--surface));--sd-bad:#ff5a6e}.sudoku{justify-items:center;gap:1.1rem;display:grid}.sudoku-rules{justify-self:start;max-width:32rem;margin:0}.sudoku-rules.is-solved{font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.sudoku-grid{aspect-ratio:1;border:3px solid var(--sd-edge);background:var(--sd-cell);width:min(100%,30rem);box-shadow:0 6px 0 color-mix(in srgb, var(--sd-edge) 28%, transparent);border-radius:8px;transition:box-shadow .4s ease-out;display:grid;overflow:hidden;container-type:inline-size}.sudoku-cell{border:0;border-right:1px solid var(--sd-line);border-bottom:1px solid var(--sd-line);background:var(--sd-cell);min-width:0;min-height:0;color:var(--sd-entry);font:inherit;font-size:calc(100cqi / var(--size) * .56);cursor:pointer;-webkit-tap-highlight-color:transparent;place-items:center;padding:0;font-weight:700;line-height:1;transition:background-color .1s ease-out;display:grid;position:relative}.sudoku-cell.edge-r{border-right:2.5px solid var(--sd-box)}.sudoku-cell.edge-b{border-bottom:2.5px solid var(--sd-box)}.sudoku-cell.is-peer{background:var(--sd-peer)}.sudoku-cell.is-same{background:var(--sd-same)}.sudoku-cell.is-selected{background:var(--sd-selected)}.sudoku-cell.is-given{color:var(--ink);font-weight:800}.sudoku-cell.is-conflict{color:var(--sd-bad);background-image:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--sd-bad) 22%, transparent) 0 4px, transparent 4px 8px)}.sudoku-cell.is-hinted{box-shadow:inset 0 0 0 3px var(--cobalt);animation:1.2s ease-in-out infinite frostfire-hint}.sudoku-cell:focus-visible{outline:3px solid var(--cobalt);outline-offset:-3px}.sudoku-value{animation:.14s ease-out backwards queens-mark-in}.sudoku-notes{width:100%;height:100%;color:var(--muted);font-size:calc(100cqi / var(--size) * .27);padding:4%;font-weight:600;display:grid}.sudoku-notes>span{place-items:center;display:grid}.sudoku-hint{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--cobalt) 12%, transparent);width:min(100%,30rem);margin:0;padding:.75rem 1rem}.sudoku-pad{grid-template-columns:repeat(var(--count), minmax(0, 1fr));gap:.35rem;width:min(100%,30rem);display:grid}.sudoku-key{border-radius:var(--radius-ui);background:var(--surface);min-height:3rem;box-shadow:inset 0 0 0 1.5px var(--line), 0 3px 0 var(--line);color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;padding:0;font-size:1.35rem;font-weight:800}.sudoku-key:active{box-shadow:inset 0 0 0 1.5px var(--line);transform:translateY(2px)}.sudoku-key.is-done{color:var(--muted);opacity:.45}.sudoku-key:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}.sudoku-grid.is-solved{box-shadow:0 6px 0 color-mix(in srgb, var(--sd-edge) 28%, transparent), 0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}.sudoku-grid.is-solved .sudoku-cell{cursor:default;animation:queens-glow .65s ease-out calc((var(--row) + var(--col)) * 30ms) backwards}@media (prefers-reduced-motion:reduce){.sudoku *,.sudoku :before{transition:none!important;animation:none!important}}.sudoku-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.sudoku-actions .note{flex-basis:100%;margin:0}.inkspill,.inkspill-thumb{--is-edge:var(--ink)}:is(.inkspill,.inkspill-thumb) .ink-0{--fill:#3246f0;--sym:#ffffffb8}:is(.inkspill,.inkspill-thumb) .ink-1{--fill:#ffc83d;--sym:#2b21008c}:is(.inkspill,.inkspill-thumb) .ink-2{--fill:#ef5a4f;--sym:#ffffffc7}:is(.inkspill,.inkspill-thumb) .ink-3{--fill:#1fa971;--sym:#ffffffc7}:is(.inkspill,.inkspill-thumb) .ink-4{--fill:#9a55e0;--sym:#ffffffc7}:is(.inkspill,.inkspill-thumb) .ink-5{--fill:#3bb8e8;--sym:#08283c8c}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .inkspill,:where(:root:not([data-theme=light])) .inkspill-thumb{--is-edge:#070816}}:where(:root[data-theme=dark]) .inkspill,:where(:root[data-theme=dark]) .inkspill-thumb{--is-edge:#070816}.inkspill-thumb .thumb-frame{stroke:var(--is-edge)}.inkspill-thumb rect[class^=ink-]{fill:var(--fill)}.inkspill{justify-items:center;gap:1.25rem;display:grid}.inkspill-rules{justify-self:start;max-width:32rem;margin:0}.inkspill-rules.is-solved{font-weight:700;animation:.42s cubic-bezier(.3,1.5,.5,1) backwards queens-pop}.inkspill-board{aspect-ratio:1;border:3px solid var(--is-edge);width:min(100%,30rem);box-shadow:0 6px 0 color-mix(in srgb, var(--is-edge) 28%, transparent);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:8px;transition:box-shadow .4s ease-out;display:grid;overflow:hidden}.inkspill-board:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.inkspill-cell{background:var(--fill);min-width:0;min-height:0;transition:background-color .22s ease-out calc(var(--d,0) * 16ms);place-items:center;display:grid}.ink-sym{width:46%;height:46%;fill:var(--sym)}.inkspill-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.inkspill-moves{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.inkspill-moves.is-out{border-radius:var(--radius-ui);background:var(--sun);color:var(--sun-ink);padding:.15rem .6rem}.inkspill-palette{flex:18rem;justify-content:flex-end;gap:.5rem;display:flex}.inkspill-key{aspect-ratio:1;border-radius:var(--radius-ui);background:var(--fill);min-width:2.5rem;box-shadow:0 3px 0 color-mix(in srgb, var(--fill) 55%, #000);cursor:pointer;border:0;flex:0 3rem;place-items:center;padding:0;transition:transform 80ms ease-out,opacity .15s ease-out;display:grid}.inkspill-key .ink-sym{width:52%;height:52%}.inkspill-key:active:not(:disabled){box-shadow:0 1px 0 color-mix(in srgb, var(--fill) 55%, #000);transform:translateY(2px)}.inkspill-key:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.inkspill-key:disabled{opacity:.3;box-shadow:none;cursor:default}.inkspill-key.is-current:disabled{opacity:.75;box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--ink)}.inkspill-key.is-hinted{outline:3px solid var(--cobalt);outline-offset:3px;animation:.9s ease-in-out infinite queens-jump}.inkspill-hint{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--cobalt) 12%, transparent);width:min(100%,30rem);margin:0;padding:.75rem 1rem}.inkspill-board.is-solved{cursor:default;box-shadow:0 6px 0 color-mix(in srgb, var(--is-edge) 28%, transparent), 0 0 0 5px var(--sun), 0 12px 40px color-mix(in srgb, var(--sun) 50%, transparent)}.inkspill-board.is-solved .inkspill-cell{animation:queens-glow .65s ease-out calc(var(--d,0) * 20ms) backwards}@media (prefers-reduced-motion:reduce){.inkspill *,.inkspill :before{transition:none!important;animation:none!important}}.inkspill-actions{flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100%,30rem);display:flex}.inkspill-actions .note{flex-basis:100%;margin:0}.button-quiet{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.button-quiet:hover{background:color-mix(in srgb, var(--line) 50%, transparent)}.button-quiet:disabled{opacity:.45;cursor:default}.finished{gap:2.5rem;display:grid}.result{background:var(--surface);border-radius:var(--radius-tile);box-shadow:inset 0 0 0 1px var(--line);gap:1rem;padding:1.5rem;display:grid}.result h2{color:var(--muted);font-size:1.0625rem;font-weight:600}.result-rank{letter-spacing:-.03em;font-size:clamp(2.25rem,8vw,3.5rem);font-weight:800;line-height:1}.result-stats{gap:2rem;margin:0;display:flex}.result-stats dt{color:var(--muted);font-size:.9375rem}.result-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:700}.result-actions{align-items:center;gap:1rem;display:flex}.board h2{margin-bottom:1rem;font-size:clamp(1.6rem,5vw,2rem);font-weight:800}.board-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.board-list li{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--surface) 70%, transparent);box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums;grid-template-columns:2.25rem 1fr auto 5rem;align-items:center;gap:.85rem;padding:.55rem .9rem .55rem .6rem;font-size:1.0625rem;display:grid}.board-list.is-time-only li{grid-template-columns:2.25rem 1fr 5rem}.board-list li[data-rank]{padding-block:.8rem;font-size:1.15rem}.board-list li[data-rank="1"]{background:color-mix(in srgb, var(--sun) 16%, var(--surface));box-shadow:inset 0 0 0 2px var(--sun)}.board-list li.is-you{background:color-mix(in srgb, var(--cobalt) 14%, var(--surface));box-shadow:inset 0 0 0 2px var(--cobalt)}.board-list li.is-detached{margin-top:1rem}.board-rank{width:2.25rem;height:2.25rem;color:var(--muted);border-radius:50%;place-items:center;font-weight:800;display:grid}.board-list li[data-rank] .board-rank{color:#16183a;font-size:1.1rem}.board-list li[data-rank="1"] .board-rank{background:var(--sun);color:var(--sun-ink)}.board-list li[data-rank="2"] .board-rank{background:#d6dbee}.board-list li[data-rank="3"] .board-rank{background:#eab98f}.board-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.board-list li[data-rank] .board-name{font-weight:700}.board-you{color:var(--muted);font-weight:500}.board-list li.is-you .board-you{color:var(--cobalt);font-weight:700}.board-list li.is-detached .board-you{text-transform:capitalize}.board-score{font-weight:700}.board-time{text-align:end;font-weight:700}.embed-page{align-content:start;gap:1.25rem;max-width:34rem;min-height:40rem;margin:0 auto;padding:1rem;display:grid}.embed-bar{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;display:flex}.embed-bar .wordmark{font-size:1.5rem}.embed-title{flex:1;font-weight:700}.embed-foot{border-top:1px solid var(--line);text-align:center;padding-top:.75rem;font-size:.9375rem}.embed-foot a{color:var(--cobalt);font-weight:600}.claim-failed{justify-items:start;gap:1rem;display:grid}.claim-failed h1{margin:0}.embed-code-page{gap:1.5rem;display:grid}.embed-builder{gap:1rem;display:grid}.embed-builder h2{margin:.5rem 0 0;font-size:1.25rem}.embed-options{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.embed-options label,.embed-code{gap:.35rem;font-weight:600;display:grid}.embed-options select{border:1px solid var(--line);border-radius:var(--radius-ui);background:var(--surface);color:var(--ink);font:inherit;padding:.55rem .7rem;font-weight:500}.embed-code textarea{border:1px solid var(--line);border-radius:var(--radius-ui);background:var(--surface);width:100%;color:var(--ink);resize:vertical;padding:.75rem;font:.8125rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.embed-preview{border:1px dashed var(--line);border-radius:var(--radius-ui);background:var(--paper);width:100%;max-width:520px;margin:0 auto;display:block}.embed-notes h2{font-size:1.25rem}.embed-notes ul{gap:.4rem;margin:0;padding-inline-start:1.25rem;display:grid}.howto-dialog h2{margin:0;padding-inline-end:2.5rem;font-size:1.25rem}.howto-dialog .howto-close{background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink);top:.85rem}.howto-dialog .howto-close:hover{background:color-mix(in srgb, var(--ink) 16%, transparent)}.howto-stage{place-items:center;min-height:15.5rem;display:grid}.howto-stage .demo-board{cursor:default;width:min(100%,15rem)}.demo-board .queens-mark{opacity:.75;width:40%}.howto-stage .demo-svg{width:min(100%,15rem);height:auto;overflow:visible}.demo-svg .thumb-frame{stroke-width:1.4px;transition:stroke .3s ease-out}.demo-svg .thumb-grid{stroke-width:.4px}.demo-svg .thumb-boxes{stroke-width:1px}.demo-svg .thumb-wall{stroke-width:1.8px}.demo-svg.is-solved .thumb-frame{stroke:var(--sun);stroke-width:2.6px}.demo-svg.is-solved{filter:drop-shadow(0 6px 14px color-mix(in srgb, var(--sun) 45%, transparent))}.demo-dim{fill:var(--surface);opacity:.7}.demo-bad{fill:#d8243b38;stroke:#d8243b;stroke-width:1.2px}.demo-pulse{animation:1s ease-in-out infinite demo-pulse}@keyframes demo-pulse{50%{stroke:#d8243b;stroke-width:3px}}.threadline-thumb .demo-trail{fill:var(--tl-trail)}.threadline-thumb .thumb-checkpoint.is-reached circle{fill:var(--tl-line)}.demo-draw{stroke-dasharray:1;animation:.9s ease-out backwards demo-draw}@keyframes demo-draw{0%{stroke-dashoffset:1px}}.sudoku-thumb .demo-note{fill:var(--muted);font-size:4.5px;font-weight:600}.demo-pop{transform-box:fill-box;transform-origin:50%;animation:.28s cubic-bezier(.3,1.6,.5,1) backwards queens-pop}.howto-stage .inkspill{gap:1rem}.demo-palette{flex:none;justify-content:center}.demo-ring{animation:1.2s ease-in-out infinite demo-ring}@keyframes demo-ring{50%{box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--surface) 85%, transparent)}}@media (prefers-reduced-motion:reduce){.howto-stage *,.howto-stage :before{transition:none!important;animation:none!important}}.demo-board .is-dim{opacity:.3}.demo-board>*{transition:opacity .3s ease-out}.howto-caption{text-align:center;text-wrap:balance;min-height:3lh;margin:0;font-weight:600}.howto-nav{align-items:center;gap:.5rem;display:flex}.howto-dots{flex:1;gap:.35rem;display:flex}.howto-dots span{background:var(--line);border-radius:999px;width:.5rem;height:.5rem;transition:width .2s ease-out,background-color .2s ease-out}.howto-dots .is-on{background:var(--cobalt);width:1.25rem}.howto-open{justify-self:start;margin-top:.25rem}.text-button{color:var(--cobalt);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.result-card-open{justify-self:start}.share-card{border-radius:var(--radius-tile);color:#fff;background:#3246f0;gap:.15rem;padding:1.25rem 1.35rem 1rem;display:grid}.share-card p{margin:0}.share-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.share-card-game{letter-spacing:-.02em;font-size:1.5rem;font-weight:800;line-height:1.1}.share-card-day{color:#ffc83d}.share-card-tiles{flex:none;grid-template-columns:repeat(3,.85rem);gap:.2rem;display:grid}.share-card-tiles span{aspect-ratio:1;background:#ffffff2e;border-radius:3px}.share-card-tiles .is-on{background:#ffc83d}.share-card-date,.share-card-meta{color:#dfe3ff;font-size:.9375rem}.share-card-time{color:#ffc83d;letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,14vw,4.25rem);font-weight:800;line-height:1;margin-top:.9rem!important}.share-card-score{font-weight:600}.share-card-rank{font-weight:600;margin-top:.35rem!important}.share-card-top-percent{color:#ffc83d}.share-card-foot{justify-content:space-between;gap:1rem;margin-top:1rem;display:flex}.share-card-brand{font-size:.9375rem;font-weight:800}.result-dialog{border-radius:calc(var(--radius-tile) + 4px);background:var(--surface);width:min(26rem,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);border:0;padding:0;box-shadow:0 1.5rem 4rem #0a0c2859}.result-dialog::backdrop{background:#0a0c288c}.result-dialog[open]{animation:.22s cubic-bezier(.2,.9,.3,1.2) dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}.result-dialog-body{gap:1rem;padding:1rem;display:grid;position:relative}.result-dialog-close{top:1.35rem;z-index:1;color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:2rem;height:2rem;padding:0;display:grid;position:absolute;inset-inline-end:1.35rem}.result-dialog-close:hover{background:#ffffff47}.result-dialog-close svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;width:1rem;height:1rem}.result-dialog .share-card-tiles{margin-inline-end:2.5rem}.share-actions .button{flex:1}.share-actions .note:empty{display:none}.share-actions{flex-wrap:wrap;gap:.6rem}.today-games h2{margin-bottom:.5rem;font-size:1.0625rem}.today-games .note{margin:0 0 .5rem}.today-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.today-list li{border-bottom:1px solid var(--line)}.today-link{color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.55rem .25rem;text-decoration:none;display:grid}.today-link:hover .today-title{text-decoration:underline}.today-link .game-thumb,.today-link .game-mark{width:2.5rem;height:2.5rem}.today-link .game-mark{font-size:1rem}.today-title{font-weight:700}.today-status{color:var(--cobalt);font-size:.9375rem;font-weight:700}.today-list .is-done .today-status{color:var(--mint);font-variant-numeric:tabular-nums;font-weight:600}.today-list .is-done .today-title{color:var(--muted)}.result-dialog-foot{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin:0;font-size:.9375rem;display:flex}.install-nudge{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;font-size:.9375rem;display:flex}.install-nudge p{flex:12rem;margin:0}.install-nudge-actions{align-items:center;gap:1rem;display:flex}.install-steps{gap:.6rem;margin:0;padding-inline-start:1.25rem;line-height:1.5;display:grid}p.install-steps{padding-inline-start:0}.install-share{vertical-align:-.2em;fill:none;width:1.15em;height:1.15em;stroke:var(--cobalt);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;margin-inline-end:.35em}.share-page{gap:1.25rem;max-width:28rem;margin-inline:auto;padding-block:1rem 2rem;display:grid}.share-page-lead{color:var(--muted);margin:0}.game-text .game-status{color:var(--mint);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:.9375rem;font-weight:600}.game-text .game-status.is-started{color:var(--muted)}@media (prefers-reduced-motion:reduce){.result-dialog[open]{animation:none}.button:active{transform:none}}.crumb{color:var(--muted);margin:0 0 .5rem;font-size:.9375rem}.crumb a{color:inherit}.level-size{color:var(--muted);font-weight:600}.levels{gap:1rem;display:grid}.levels .note{margin:0}.level-grid{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));gap:.75rem;margin:0;padding:0 0 .5rem;list-style:none;display:grid}.level-tile{aspect-ratio:1;border-radius:var(--radius-tile);background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line), 0 4px 0 var(--line);align-content:center;justify-items:center;gap:.15rem;text-decoration:none;transition:transform .12s ease-out,box-shadow .12s ease-out;display:grid}.level-no{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;line-height:1}.level-meta{min-height:1.1rem;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}a.level-tile:hover{box-shadow:inset 0 0 0 1.5px var(--cobalt), 0 6px 0 var(--line);transform:translateY(-2px)}a.level-tile:active{box-shadow:inset 0 0 0 1.5px var(--cobalt), 0 1px 0 var(--line);transition-duration:40ms;transform:translateY(3px)}a.level-tile:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}.level-tile.is-done{background:var(--cobalt);color:var(--cobalt-ink);box-shadow:0 4px 0 color-mix(in srgb, var(--cobalt) 55%, #000)}.level-tile.is-done .level-meta{color:color-mix(in srgb, var(--cobalt-ink) 80%, transparent)}a.level-tile.is-done:hover{box-shadow:0 6px 0 color-mix(in srgb, var(--cobalt) 55%, #000)}.level-tile.is-current{background:var(--sun);color:var(--sun-ink);box-shadow:0 5px 0 color-mix(in srgb, var(--sun) 55%, #000)}.level-tile.is-current .level-meta{color:color-mix(in srgb, var(--sun-ink) 70%, transparent)}a.level-tile.is-current:hover{box-shadow:0 7px 0 color-mix(in srgb, var(--sun) 55%, #000)}.level-tile.is-locked{color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line);opacity:.6;background:0 0}.level-lock{fill:currentColor;stroke:currentColor;width:.9rem;height:.9rem}.levels-cta{border-top:1px solid var(--line);justify-items:start;gap:.75rem;margin-top:3rem;padding-top:2rem;display:grid}.levels-cta p{color:var(--muted);max-width:36rem;margin:0}.game-guide{border-top:1px solid var(--line);max-width:40rem;margin-top:3rem;padding-top:2rem}.game-guide h3{color:var(--ink);margin:2rem 0 .75rem;font-size:1.125rem;font-weight:700}.game-guide p,.game-guide li,.game-faq dd{color:var(--muted);line-height:1.55}.game-guide p{margin:.75rem 0 0}.game-guide ul{gap:.5rem;margin:0;padding-inline-start:1.25rem;display:grid}.game-faq{gap:1.25rem;margin:0;display:grid}.game-faq dt{color:var(--ink);font-weight:700}.game-faq dd{margin:.25rem 0 0}.level-result h2{color:var(--ink);letter-spacing:-.02em;font-size:clamp(1.6rem,6vw,2.25rem);font-weight:800}.level-result .result-actions{flex-wrap:wrap}.level-badge{background:var(--sun);color:var(--sun-ink);border-radius:999px;justify-self:start;margin:0;padding:.3rem .75rem;font-size:.9375rem;font-weight:700}@media (prefers-reduced-motion:reduce){.level-tile{transition:none}a.level-tile:hover,a.level-tile:active{transform:none}}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .signin-error{color:#ff8f78}}:where(:root[data-theme=dark]) .signin-error{color:#ff8f78}.site-footer{border-top:1px solid var(--line);width:min(100% - 2.5rem,46rem);color:var(--muted);flex-wrap:wrap;gap:.5rem 1.25rem;margin-inline:auto;padding-block:1.5rem 2.5rem;font-size:.875rem;display:flex}.site-footer a{color:inherit}.site-footer a:hover{color:var(--ink)}.footer-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.footer-link:hover{color:var(--ink)}.consent{z-index:10;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -6px 20px color-mix(in srgb, var(--ink) 8%, transparent);position:sticky;bottom:0}.consent-inner{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;width:min(100% - 2.5rem,46rem);margin-inline:auto;padding-block:.9rem;display:flex}.consent p{flex:22rem;margin:0;font-size:.9375rem}.consent-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.consent-choices{flex-basis:100%;gap:.6rem;display:grid}.consent-choices label{cursor:pointer;align-items:start;gap:.6rem;font-size:.9375rem;display:flex}.consent-choices input{width:1.15rem;height:1.15rem;accent-color:var(--cobalt);flex:none;margin:.15rem 0 0}.consent-choices span{color:var(--muted)}.consent-choices strong{color:var(--ink)}@media (max-width:30rem){.consent-actions{width:100%}.consent-actions .button{flex:1}}.legal{gap:.9rem;max-width:40rem;padding-block:2.5rem 1rem;display:grid}.legal h2{margin-top:1.25rem}.legal h3{margin:.5rem 0 0;font-size:1.0625rem}.legal ul{gap:.4rem;margin:0;padding-inline-start:1.25rem;display:grid}.legal code{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;padding:.05em .35em;font-size:.9em}.legal a{color:var(--cobalt)}.profile{gap:2.5rem;padding-block:2rem 1rem;display:grid}.profile-header{gap:.4rem;display:grid}.profile-header h1{overflow-wrap:anywhere}.profile-signout{display:none}@media (max-width:30rem){.profile-signout{display:inline-flex}}.profile-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.profile-stats,.profile-settings{gap:2.25rem;display:grid}.profile-stats section,.profile-settings section{gap:.9rem;display:grid}.profile-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;display:grid}.profile-numbers div{gap:.15rem;display:grid}.profile-numbers dt{color:var(--muted);font-size:.9375rem}.profile-numbers dd{letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,5vw,2rem);font-weight:800;line-height:1.1}.profile-days{grid-template-columns:repeat(7,minmax(0,2.25rem));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.profile-days li{aspect-ratio:1;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px}.profile-days li.is-played{background:var(--sun);box-shadow:none}.profile-days li:last-child{outline:2px solid var(--cobalt);outline-offset:2px}.profile-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.profile-table th,.profile-table td{border-bottom:1px solid var(--line);text-align:start;padding:.6rem .5rem}.profile-table th:first-child,.profile-table td:first-child{padding-inline-start:0}.profile-table thead th{color:var(--muted);font-size:.875rem;font-weight:600}.profile-table tbody th{font-weight:700}.profile-table a,.profile-row a:not(.button){color:inherit}.profile-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.profile-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding-block:.6rem;display:flex}.profile-progress{align-items:center;gap:.75rem;display:flex}.profile-progress progress{appearance:none;background:var(--line);border:0;border-radius:99px;width:8rem;height:.5rem;overflow:hidden}.profile-progress progress::-webkit-progress-bar{background:var(--line)}.profile-progress progress::-webkit-progress-value{background:var(--cobalt);border-radius:99px}.profile-progress progress::-moz-progress-bar{background:var(--cobalt);border-radius:99px}.profile-name{gap:.5rem;display:grid}.profile-name label{font-weight:600}.profile-name-row{gap:.5rem;display:flex}.text-input{border-radius:var(--radius-ui);background:var(--surface);min-width:0;min-height:2.75rem;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink);font:inherit;border:0;flex:1;padding:.5rem .8rem}.text-input:focus-visible{box-shadow:inset 0 0 0 2px var(--cobalt);outline:none}.text-input[aria-invalid=true]{box-shadow:inset 0 0 0 2px #c2361f}.button:disabled{opacity:.45;cursor:default}.form-error{color:#c2361f;font-size:.9375rem;font-weight:600}.button-danger{color:#fff;background:#c2361f}.button-danger:hover{background:#a42c18}.button-danger-quiet{color:#c2361f;background:0 0;justify-self:start;box-shadow:inset 0 0 0 1.5px #c2361f73}.button-danger-quiet:hover{background:#c2361f14}.profile-delete{border-radius:var(--radius-ui);gap:.75rem;padding:1rem;display:grid;box-shadow:inset 0 0 0 1.5px #c2361f73}.checkbox{align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.checkbox input{accent-color:#c2361f;width:1.1rem;height:1.1rem}.profile-actions{flex-wrap:wrap;gap:.5rem;display:flex}.link-button{color:var(--cobalt);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.account-name{color:inherit;text-decoration:none}.account-name:hover{text-decoration:underline}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .form-error,:where(:root:not([data-theme=light])) .button-danger-quiet{color:#ff8f78}:where(:root:not([data-theme=light])) .text-input[aria-invalid=true]{box-shadow:inset 0 0 0 2px #ff8f78}}:where(:root[data-theme=dark]) .form-error,:where(:root[data-theme=dark]) .button-danger-quiet{color:#ff8f78}:where(:root[data-theme=dark]) .text-input[aria-invalid=true]{box-shadow:inset 0 0 0 2px #ff8f78}@media (max-width:30rem){.profile-table th:nth-child(4),.profile-table td:nth-child(4){display:none}}.notice{border-radius:var(--radius-ui);background:color-mix(in srgb, var(--sun) 35%, var(--surface));color:var(--ink);justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:.5rem;padding:.85rem 1rem;display:flex}.notice-close{width:1.75rem;height:1.75rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:99px;flex:none;font-size:1.25rem;line-height:1}.notice-close:hover{background:color-mix(in srgb, var(--ink) 10%, transparent)}.signin-prompt{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-top:1.25rem;padding-top:1rem;display:flex}.stars{gap:.1rem;display:inline-flex}.stars svg{fill:var(--line)}.stars svg.is-on{fill:var(--sun)}.stars-small svg{width:.8rem;height:.8rem}.stars-big{gap:.35rem}.stars-big svg{width:2.5rem;height:2.5rem}.stars-big svg.is-on{animation:.42s cubic-bezier(.34,1.56,.64,1) both star-pop}.stars-big svg.is-on:nth-child(2){animation-delay:.14s}.stars-big svg.is-on:nth-child(3){animation-delay:.28s}@keyframes star-pop{0%{opacity:0;transform:scale(.3)rotate(-25deg)}}@media (prefers-reduced-motion:reduce){.stars-big svg.is-on{animation:none}}.unlimited-pick{justify-items:start;gap:1.5rem;display:grid}.variant-picker{border:0;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem;width:100%;margin:0;padding:0;display:grid}.variant-picker legend{margin-bottom:.6rem;padding:0;font-weight:700}.variant-option{border-radius:var(--radius-tile);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;gap:.1rem;padding:.7rem .8rem;display:grid;position:relative}.variant-option:hover{box-shadow:inset 0 0 0 1.5px var(--cobalt)}.variant-option.is-selected{background:var(--sun);color:var(--sun-ink);box-shadow:none}.variant-option input{opacity:0;pointer-events:none;position:absolute}.variant-option:has(input:focus-visible){outline:3px solid var(--cobalt);outline-offset:2px}.variant-label{font-size:1.25rem;font-weight:800}.variant-meta{font-variant-numeric:tabular-nums;opacity:.75;font-size:.8125rem}.unlimited-playing{gap:1rem;display:grid}.levels-unlimited{margin-top:1.5rem}.level-tile.is-done .stars svg{fill:color-mix(in srgb, var(--cobalt-ink) 30%, transparent)}.level-tile.is-done .stars svg.is-on{fill:var(--sun)}
