@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/sudoku/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/sudoku/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/sudoku/assets/schibsted-grotesk-latin-ext-wght-italic-DXGbHdV-.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/sudoku/assets/schibsted-grotesk-latin-wght-italic-DtRJvQ1U.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/sudoku/assets/bitter-cyrillic-ext-wght-normal-sLcV1o1_.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/sudoku/assets/bitter-cyrillic-wght-normal-7PAZDwbd.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/sudoku/assets/bitter-vietnamese-wght-normal-Bb7JIhFz.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/sudoku/assets/bitter-latin-ext-wght-normal-BaDBgC7F.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bitter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/sudoku/assets/bitter-latin-wght-normal-C8X_T8j_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.app{--gutter:8px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--header-height:52px;--main-pad-top:4px;--main-pad-bottom:8px;--hint-gap:6px;--hint-font:.8125rem;--hint-line:1.3;--hint-pad:4px;--hint-height:calc(2 * var(--hint-line) * var(--hint-font) + 2 * var(--hint-pad));--play-gap:6px;--row-height:44px;--key-height:46px;--controls-gap:6px;--controls-height:calc(2 * var(--row-height) + 2 * var(--key-height) + 3 * var(--controls-gap));--tally-height:0px;--tally-gap:0px;--chrome:calc(var(--header-height) + var(--main-pad-top) + var(--main-pad-bottom) + var(--hint-gap) + var(--hint-height) + var(--play-gap) + var(--tally-height) + var(--tally-gap) + var(--controls-height));--board-floor:240px;--board-size:min(calc(100vw - 2 * var(--gutter) - var(--safe-left) - var(--safe-right)), 500px, max(calc(100dvh - var(--chrome) - var(--safe-top) - var(--safe-bottom)), var(--board-floor)));--frame:calc(clamp(3px, 3px + (var(--board-size) - 399.98px) * 1000, 4px) + var(--line-boost));--thick:calc(clamp(2px, 2px + (var(--board-size) - 399.98px) * 1000, 3px) + var(--line-boost));--thin:1px;--lines:calc(2 * var(--frame) + 2 * var(--thick) + 6 * var(--thin));--cell:calc((var(--board-size) - var(--lines)) / 9);--board-outer:calc(9 * var(--cell) + var(--lines));--play-width:var(--board-outer);min-height:100dvh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-direction:column;display:flex}.app--tally{--tally-height:18px;--tally-gap:var(--play-gap)}@supports (width:round(down, 10.5px, 1px)){.app{--cell:round(down, calc((var(--board-size) - var(--lines)) / 9), 1px)}}@media (height<=620px) and (width<=849.98px){.app{--header-height:48px;--main-pad-top:2px;--main-pad-bottom:6px;--hint-gap:4px;--play-gap:4px;--row-height:38px;--key-height:40px;--controls-gap:4px}}@media (height<=620px) and (width<=849.98px) and (pointer:coarse){.app{--row-height:44px;--key-height:44px}}@media (width>=850px){.app{--gutter:24px;--header-height:64px;--main-pad-top:24px;--main-pad-bottom:24px;--hint-gap:12px;--hint-font:.875rem;--row-height:52px;--key-height:64px;--controls-width:260px;--play-gap:40px;--board-size:max(320px, min(calc(100dvh - 176px), 600px, calc(100vw - 2 * var(--gutter) - var(--controls-width) - var(--play-gap))));--play-width:calc(var(--board-outer) + var(--play-gap) + var(--controls-width))}}@media (orientation:landscape) and (height<=500px){.app{--gutter:12px;--header-height:44px;--main-pad-top:4px;--main-pad-bottom:4px;--hint-gap:6px;--hint-font:.8125rem;--play-gap:20px;--key-height:44px;--controls-gap:6px;--controls-width:288px;--board-size:max(200px, min(calc(100dvh - var(--header-height) - var(--main-pad-top) - var(--main-pad-bottom) - var(--safe-top) - var(--safe-bottom)), calc(100vw - 2 * var(--gutter) - var(--safe-left) - var(--safe-right) - var(--play-gap) - var(--controls-width)), 500px));--play-width:calc(var(--board-outer) + var(--play-gap) + var(--controls-width))}}.header{flex:none}.header__inner{width:100%;max-width:max(calc(var(--play-width) + 2 * var(--gutter)), min(100%, 440px));min-height:var(--header-height);padding:0 var(--gutter);align-items:center;gap:5px;margin:0 auto;display:flex;container:header/inline-size}@supports (width:round(down, 10.5px, 1px)){.header__inner{margin-left:max(0px, round(down, calc((100% - max(calc(var(--play-width) + 2 * var(--gutter)), min(100%, 440px))) / 2), 1px))}}.header__title{min-width:0;font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;flex:0 1000 auto;margin:0;font-size:1.25rem;font-weight:800;line-height:1;overflow:hidden}.header__difficulty{border:1px solid var(--text);min-width:0;color:var(--text);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:0 0;border-radius:2px;flex:0 auto;margin:0;padding:3px 7px;font-size:.75rem;font-weight:700;line-height:1.3;overflow:hidden}.header__tier-short{display:none}.header__daily{white-space:pre}.header__timer{flex:none;margin-left:auto}.header__actions{flex:none;align-items:center;gap:2px;display:flex}.header__actions .header__wide{display:none}@container header (width<=calc(165px + 12.1em)){.header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(159px + 7.7em)){.header__tier{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header__tier-short{display:inline}}@container header (width<=calc(165px + 15.4em)){.header--daily .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(159px + 11em)){.header--daily .header__daily{display:none}}@container header (width<=calc(165px + 15.6em)){.header--beyond .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(159px + 11.2em)){.header--beyond .header__tier{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header--beyond .header__tier-short{display:inline}}@media (orientation:landscape) and (height<=500px){@container header (width<=calc(173px + 23.6em)){.header--tally .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(173px + 26.9em)){.header--tally.header--daily .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(167px + 19.2em)){.header--tally .header__tier{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header--tally .header__tier-short{display:inline}}@container header (width<=calc(167px + 22.5em)){.header--tally.header--daily .header__daily{display:none}}@container header (width<=calc(173px + 27.1em)){.header--tally.header--beyond .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(167px + 22.7em)){.header--tally.header--beyond .header__tier{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header--tally.header--beyond .header__tier-short{display:inline}}}@media (width>=850px){.header{border-bottom:2px solid var(--text)}.header__inner{max-width:calc(var(--play-width) + 2 * var(--gutter));gap:12px}@supports (width:round(down, 10.5px, 1px)){.header__inner{margin-left:max(0px, round(down, calc((100% - var(--play-width) - 2 * var(--gutter)) / 2), 1px))}}.header__title{font-size:1.625rem}.header__difficulty{padding:3px 9px}.header__actions .header__wide{display:inline-grid}.header__actions .header__narrow{display:none}@container header (width<=calc(420px + 13.5em)){.header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(420px + 17em)){.header--beyond .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(432px + 26em)){.header--tally .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(432px + 29.3em)){.header--tally.header--daily .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width<=calc(432px + 29.5em)){.header--tally.header--beyond .header__title{clip-path:inset(50%);width:1px;height:1px;position:absolute}}@container header (width>=calc(419px + 18.4em)) and (width<=calc(419px + 23.4em)){.header--tally.header--daily .header__daily{display:none}}@container header (width>=calc(419px + 18.4em)) and (width<=calc(419px + 20.1em)){.header--tally:not(.header--beyond) .header__tier{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header--tally:not(.header--beyond) .header__tier-short{display:inline}}@container header (width<=calc(419px + 18.4em)){.header--tally .header__actions .header__wide{display:none}.header--tally .header__actions .header__narrow{display:inline-flex}}@container header (width>=calc(419px + 18.7em)) and (width<=calc(419px + 23.6em)){.header--tally.header--beyond .header__tier{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header--tally.header--beyond .header__tier-short{display:inline}}@container header (width<=calc(419px + 18.7em)){.header--tally.header--beyond .header__actions .header__wide{display:none}.header--tally.header--beyond .header__actions .header__narrow{display:inline-flex}}}@media (orientation:landscape) and (height<=500px){.header{border-bottom:0}.header__inner{max-width:calc(var(--play-width) + 2 * var(--gutter));gap:8px}@supports (width:round(down, 10.5px, 1px)){.header__inner{margin-left:max(0px, round(down, calc((100% - var(--play-width) - 2 * var(--gutter)) / 2), 1px))}}.header__title{font-size:1.25rem}}.main{padding:var(--main-pad-top) var(--gutter) var(--main-pad-bottom);flex:1 0 auto;justify-content:center;display:flex}.play{gap:var(--play-gap);width:var(--play-width);flex-direction:column;flex:none;display:flex}@supports (width:round(down, 10.5px, 1px)){.main{justify-content:flex-start}.play{margin-left:max(0px, round(down, calc((100% - var(--play-width)) / 2), 1px))}}.play__board{width:var(--board-outer);flex:none}@media (width<=599.98px){.play>.controls,.play>.tally--play{margin-top:auto}.app--tally .play>.tally--play+.controls{margin-top:0}}@media (width>=850px){.play{flex-direction:row;align-items:flex-start}.play>.controls{margin-top:0}}@media (orientation:landscape) and (height<=500px){.play{grid-template-columns:var(--board-outer) var(--controls-width);align-items:start;column-gap:var(--play-gap);grid-template-rows:auto 1fr;grid-template-areas:"board controls""board hint";row-gap:0;display:grid}.play__board{display:contents}.play .board-area{grid-area:board}.play .hint-bar{grid-area:hint;min-height:0}.play .controls{grid-area:controls;margin-top:0}}.tally--header{flex-direction:column;flex:none;align-items:flex-end;margin-left:auto;line-height:1.25;display:none}.tally--play{height:var(--tally-height);line-height:var(--tally-height);flex:none;align-items:center;gap:1em;display:flex;overflow:hidden}.tally--play .error-counter{flex:none;margin-left:auto}.app:not(.app--tally) .tally--play{display:none}@media (width>=850px),(orientation:landscape) and (height<=500px){.tally--header{display:flex}.tally--header:empty{display:none}.tally--header:not(:empty)+.header__timer{margin-left:0}.tally--play{display:none}}.error-counter,.help-taken{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:.8125rem;font-weight:600}.error-counter__count,.help-taken__count{color:var(--text);font-weight:700}@media (width>=850px){.error-counter,.help-taken{font-size:.875rem}}.help-taken{flex:0 auto;min-width:0}.help-taken--header{max-width:10.8rem}@media (width>=850px){.help-taken--header{max-width:11.6rem}}.help-taken__face{grid-template-columns:minmax(0,max-content);display:grid;overflow:hidden}.help-taken--header .help-taken__face{justify-items:end}.help-taken__full,.help-taken__counts,.help-taken__total{grid-area:1/1}.help-taken__full,.help-taken__counts{width:max-content}.help-taken__counts,.help-taken__total{visibility:hidden}.help-taken__total{text-overflow:ellipsis;max-width:100%;overflow:hidden}.help-taken__face--counts .help-taken__full,.help-taken__face--total .help-taken__full{visibility:hidden}.help-taken__face--counts .help-taken__counts,.help-taken__face--total .help-taken__total{visibility:visible}@keyframes help-taken-tick{0%,40%{color:var(--accent)}}.help-taken__face--tick{text-decoration:underline}.help-taken__face--tick,.help-taken__face--tick .help-taken__count{animation:1.2s ease-in help-taken-tick}@media (prefers-reduced-motion:reduce){.help-taken__face--tick,.help-taken__face--tick .help-taken__count{color:var(--accent)}}.hint-bar{min-height:var(--hint-height);margin-top:var(--hint-gap);justify-content:center;align-items:center;display:flex;container:hint-bar/inline-size}.hint-bar__message{max-width:100%;padding:var(--hint-pad) 6px var(--hint-pad) 12px;background:var(--surface);color:var(--text);font-size:var(--hint-font);line-height:var(--hint-line);border-radius:10px;align-items:center;gap:8px;margin:0;display:flex}.hint-bar__message--hint{padding-right:12px}.hint-bar__icon{width:18px;height:18px;color:var(--accent);flex:none}.hint-bar__dismiss,.update-toast__dismiss{width:28px;height:28px;color:var(--text-muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.hint-bar__dismiss .icon,.update-toast__dismiss .icon{width:16px;height:16px}@media (pointer:coarse){.hint-bar__dismiss,.update-toast__dismiss{width:44px;height:44px;margin:-8px -6px -8px -4px}}@media (hover:hover){.hint-bar__dismiss:hover,.update-toast__dismiss:hover{background:var(--key-bg);color:var(--text)}}.hint-bar__dismiss:active,.update-toast__dismiss:active{background:var(--key-bg-active);color:var(--text)}.hint-bar__actions{white-space:nowrap}.hint-bar__question{color:color-mix(in srgb, var(--accent) 80%, var(--text));text-underline-offset:2px;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;position:relative}.hint-bar__question:after{content:"";position:absolute;inset:-5px -3px}.hint-bar__question-icon{display:none}@container hint-bar (width<=21em){.hint-bar__question-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hint-bar__question-icon{vertical-align:-3px;width:16px;height:16px;display:inline-block}.hint-bar__question:after{inset:-12px -10px}}.hint-bar__show{color:color-mix(in srgb, var(--accent) 80%, var(--text));font-weight:600;line-height:calc(var(--hint-line) * 1em - 2px);white-space:nowrap;background:0 0;border:1px solid;border-radius:999px;padding:0 7px 0 5px;display:inline-block;position:relative}.hint-bar__show:after{content:"";position:absolute;inset:-5px -3px -5px -1px}.hint-bar__question:has(+.hint-bar__show):after{right:-1px}.hint-bar__show-icon{vertical-align:-.1em;fill:currentColor;width:.85em;height:.85em;margin-right:2px}@media (hover:hover){.hint-bar__show:hover{background:color-mix(in srgb, var(--accent) 10%, var(--surface))}}.hint-bar__show:active{background:color-mix(in srgb, var(--accent) 18%, var(--surface))}@container hint-bar (width<=22.75em){.hint-bar__question:has(+.hint-bar__show) .hint-bar__question-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hint-bar__question:has(+.hint-bar__show) .hint-bar__question-icon{vertical-align:-3px;width:16px;height:16px;display:inline-block}.hint-bar__question:has(+.hint-bar__show):after{inset:-12px -1px -12px -10px}}@container hint-bar (width<=30.5em){.hint-bar__hardest{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@container hint-bar (width<=18.75em){.hint-bar__message:has(.hint-bar__show) .hint-bar__icon{display:none}}@container hint-bar (width<=16.5em){.hint-bar__show{padding:0 6px}.hint-bar__show-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hint-bar__show-icon{margin-right:0}}@media (pointer:coarse){.hint-bar:has(.hint-bar__question,.hint-bar__show){align-items:flex-end}.hint-bar__question:after{inset:-20px -8px -7px}.hint-bar__show:after{inset:-22px -8px -8px -1px}@container hint-bar (width<=21em){.hint-bar__question:after{inset:-21px -14px -7px}}@container hint-bar (width<=22.75em){.hint-bar__question:has(+.hint-bar__show):after{inset:-21px -1px -7px -28px}}@container hint-bar (width<=16.5em){.hint-bar__show:after{inset:-22px -21px -8px -1px}}}@media (hover:hover){.hint-bar__question:hover{text-decoration-thickness:2px}}@media (forced-colors:active){.hint-bar__question{color:linktext}.hint-bar__show{color:buttontext;border-color:buttontext}.hint-bar__dismiss:active,.update-toast__dismiss:active{outline-offset:-2px;background:buttonface;outline:2px solid highlight}}.update-toast{z-index:40;min-height:calc(var(--row-height) + var(--main-pad-bottom) + var(--safe-bottom));padding:2px calc(var(--gutter) + var(--safe-right)) calc(2px + var(--safe-bottom)) calc(var(--gutter) + 4px + var(--safe-left));border:1px solid var(--border);border-radius:calc(var(--radius) * 3) calc(var(--radius) * 3) 0 0;background:var(--surface-raised);box-shadow:var(--shadow);color:var(--text);font-size:var(--hint-font);line-height:var(--hint-line);border-bottom:0;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.update-toast__text{flex:auto;min-width:0;margin:0;font-weight:600}@media (width>=500px){.update-toast{bottom:calc(var(--safe-bottom) + var(--main-pad-bottom));width:var(--play-width);min-height:var(--row-height);border-bottom:1px solid var(--border);border-radius:calc(var(--radius) * 2);margin:0 auto;padding:2px 6px 2px 12px}}@media (width>=850px),(orientation:landscape) and (height<=500px){.update-toast{right:max(calc(var(--gutter) + var(--safe-right)), calc((100% - var(--play-width)) / 2));width:var(--controls-width);left:auto}}@keyframes update-toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:no-preference){.update-toast{animation:.2s ease-out update-toast-in}}.board-area{--box-1:calc(3 * var(--cell) + 2 * var(--thin));--box-2:calc(6 * var(--cell) + 4 * var(--thin) + var(--thick));justify-content:center;display:flex;container:board-column/inline-size}.board{row-gap:var(--thin);width:var(--board-outer);height:var(--board-outer);border:var(--frame) solid var(--grid-thick);background-color:var(--grid-thin);background-image:linear-gradient(var(--grid-thick), var(--grid-thick)), linear-gradient(var(--grid-thick), var(--grid-thick)), linear-gradient(var(--grid-thick), var(--grid-thick)), linear-gradient(var(--grid-thick), var(--grid-thick));background-repeat:no-repeat;background-size:var(--thick) 100%, var(--thick) 100%, 100% var(--thick), 100% var(--thick);background-position:var(--box-1) 0, var(--box-2) 0, 0 var(--box-1), 0 var(--box-2);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;display:flex}.board__row{column-gap:var(--thin);display:flex}.board__row:nth-child(3),.board__row:nth-child(6){margin-bottom:calc(var(--thick) - var(--thin))}.cell{--mark:var(--danger);--mark-halo:var(--cell-bg);width:var(--cell);height:var(--cell);background:var(--cell-bg);color:var(--digit-player);font:inherit;font-family:var(--font);font-size:calc(var(--cell) * .56);font-variant-numeric:tabular-nums;cursor:pointer;border:0;border-radius:0;flex:none;place-items:center;margin:0;padding:0;font-weight:600;line-height:1;display:grid;position:relative}.cell:nth-child(3),.cell:nth-child(6){margin-right:calc(var(--thick) - var(--thin))}.cell--given{background:var(--cell-given-bg);color:var(--digit-given);font-family:var(--font-digits);cursor:default;font-weight:700}.cell--peer{background:var(--hl-peer)}.cell--given.cell--peer{background:var(--hl-peer-given)}.cell--same{background:var(--hl-same);box-shadow:inset 0 0 0 var(--hl-same-ring-width) var(--hl-same-ring)}.cell--given.cell--same{background:var(--hl-same-given)}.cell--step{background:var(--hl-step)}.cell--given.cell--step{background:var(--hl-step-given)}.cell--correct{color:var(--digit-correct)}.cell--revealed{color:var(--digit-revealed);font-style:italic}.cell--selected{--mark:var(--danger-selected);--mark-halo:var(--hl-selected);background:var(--hl-selected);box-shadow:inset 0 0 0 2px var(--hl-ring);color:var(--digit-player-selected)}.cell--selected.cell--given{--mark-halo:var(--hl-selected-given);background:var(--hl-selected-given);color:var(--digit-given-selected)}.cell--selected.cell--correct{color:var(--digit-correct-selected)}.cell--selected.cell--revealed{color:var(--digit-revealed-selected)}.cell:focus-visible{z-index:1;outline:2px solid var(--text);outline-offset:-4px}.cell--selected:focus-visible{outline-color:var(--cell-focus)}.cell__value{pointer-events:none}.cell__tick{width:max(calc(var(--cell) * .17), 6px);height:max(calc(var(--cell) * .09), 3.5px);border-bottom:max(calc(var(--cell) * .035), 1.5px) solid currentColor;border-left:max(calc(var(--cell) * .035), 1.5px) solid currentColor;pointer-events:none;position:absolute;top:12%;left:11%;transform:rotate(-45deg)}.cell--selected .cell__tick{top:max(12%,6px);left:max(11%,6px)}.cell--same .cell__tick{top:max(12%, calc(3 * var(--hl-same-ring-width)));left:max(11%, calc(3 * var(--hl-same-ring-width)))}.cell--current{--current-ring:clamp(2px, calc(var(--cell) * .06), 3px);z-index:1;outline:var(--current-ring) solid var(--accent);outline-offset:calc(-1 * var(--current-ring))}.cell--current .cell__tick{top:max(12%, calc(var(--current-ring) + 1px));left:max(11%, calc(var(--current-ring) + 1px))}.cell--current .cell__candidates{padding:max(calc(var(--cell) * .04), var(--current-ring))}.board--read-only .cell{cursor:default}.cell__candidates,.cell__ghosts{padding:calc(var(--cell) * .04);font-family:var(--font);font-size:max(calc(var(--cell) * .28), clamp(min(9px, calc(var(--cell) * .38)), calc(var(--cell) * .34), 11px));grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;font-style:normal;font-weight:500;line-height:.8;display:grid;position:absolute;inset:0}@container board-column (width<=399.98px){.cell__candidates,.cell__ghosts{font-weight:600}}.cell__candidates{color:var(--candidate);pointer-events:none}.cell--selected .cell__candidates{color:var(--candidate-selected)}.cell__ghost{width:100%;height:100%;color:var(--candidate);opacity:0;place-items:center;display:grid}.cell--selected .cell__ghost{color:var(--candidate-selected)}@media (hover:hover){.cell__ghost:not(.cell__ghost--shown):hover{opacity:.4}}.cell__candidate--same{color:var(--candidate-same)}.cell__conflict{width:max(calc(var(--cell) * .13), 5px);height:max(calc(var(--cell) * .13), 5px);background:var(--mark);box-shadow:0 0 0 1.5px var(--mark-halo);pointer-events:none;border-radius:50%;animation:.26s cubic-bezier(.34,1.56,.64,1) both conflict-pop;position:absolute;bottom:8%;right:8%}.cell--selected .cell__conflict{bottom:max(8%,6px);right:max(8%,6px)}.cell--same .cell__conflict{right:max(8%, calc(2 * var(--hl-same-ring-width)));bottom:max(8%, calc(2 * var(--hl-same-ring-width)))}@keyframes conflict-pop{0%{transform:scale(0)}to{transform:scale(1)}}.cell--wrong:after{content:"";background:linear-gradient(to bottom right, transparent calc(50% - 2px), var(--mark-halo) calc(50% - 2px), var(--mark-halo) calc(50% - 1px), var(--mark) calc(50% - 1px), var(--mark) calc(50% + 1px), var(--mark-halo) calc(50% + 1px), var(--mark-halo) calc(50% + 2px), transparent calc(50% + 2px));pointer-events:none;position:absolute;inset:0}.board--solved .cell:before{content:"";background:var(--accent);opacity:0;animation:.7s ease-out both solve-wave;animation-delay:calc(var(--wave) * 45ms);pointer-events:none;position:absolute;inset:0}.board--solved .cell__value{animation:.7s ease-out both solve-bounce;animation-delay:calc(var(--wave) * 45ms)}@keyframes solve-wave{40%{opacity:.35}to{opacity:0}}@keyframes solve-bounce{40%{transform:scale(1.18)}to{transform:none}}@media (hover:hover){.board:not([aria-readonly=true],.board--read-only) .cell:not(.cell--given,.cell--peer,.cell--same,.cell--step,.cell--selected):hover{background:var(--hl-peer)}}.board-overlay{width:var(--board-outer);height:var(--board-outer);border:var(--frame) solid var(--grid-thick);background-color:var(--surface);background-image:linear-gradient(var(--border), var(--border)), linear-gradient(var(--border), var(--border)), linear-gradient(var(--border), var(--border)), linear-gradient(var(--border), var(--border));background-repeat:no-repeat;background-size:var(--thick) 100%, var(--thick) 100%, 100% var(--thick), 100% var(--thick);background-position:var(--box-1) 0, var(--box-2) 0, 0 var(--box-1), 0 var(--box-2);text-align:center;place-items:center;padding:20px;display:grid}.board-overlay__card{overscroll-behavior:contain;border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--surface-raised);max-width:340px;max-height:100%;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:10px;padding:24px 28px;display:flex;overflow-y:auto}.board-overlay--loading .board-overlay__card{padding:22px 26px}.board-overlay__title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.75rem;font-weight:800;line-height:1.15}.board-overlay__text{color:var(--text);margin:0;font-size:1rem;line-height:1.4}.board-overlay__name{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.board-overlay__note{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.4}.board-overlay__button{margin-top:6px}.board-overlay__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.board-overlay__actions .board-overlay__button{margin-top:0}.board-overlay__button .icon{fill:currentColor;width:16px;height:16px;margin-left:-4px}@container board-column (width<=359.98px){.board-overlay{padding:8px}.board-overlay__card{gap:6px;padding:14px 16px}.board-overlay__actions{row-gap:6px;margin-top:2px}.board-overlay__title{font-size:1.375rem}.board-overlay__text,.board-overlay__name{font-size:.9375rem}.board-overlay__note{font-size:.8125rem}}@container board-column (width<=289.98px){.board-overlay{padding:2px}.board-overlay__card{gap:4px;padding:8px}.board-overlay__title{font-size:1.25rem}.board-overlay__text{font-size:.875rem;line-height:1.35}.board-overlay__name{font-size:.875rem}.board-overlay__note{font-size:.75rem}.board-overlay__button{margin-top:2px}.board-overlay__actions{row-gap:4px;margin-top:0}}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (forced-colors:active){.board,.board-overlay{forced-color-adjust:none}.cell--given{outline-offset:-4px;outline:1px solid graytext}.cell--step{outline-offset:-6px;outline:2px dashed canvastext}.cell--step.cell--selected{outline-color:highlighttext}.cell:focus-visible{outline-offset:-4px;outline:3px solid canvastext}.cell--selected:focus-visible{outline-color:var(--cell-focus)}.board-overlay__card{border-color:canvastext}}.controls{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-areas:"mode mode mode undo redo""d1 d2 d3 d4 d5""d6 d7 d8 d9 erase""switch switch switch switch more";grid-template-rows:var(--row-height) var(--key-height) var(--key-height) minmax(var(--row-height), auto);gap:var(--controls-gap);width:100%;display:grid}@media (width>=850px){.controls{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"mode mode mode"". . .""d1 d2 d3""d4 d5 d6""d7 d8 d9""erase undo redo"". . .""tools tools tools";grid-template-rows:44px 0 repeat(3, var(--key-height)) var(--row-height) 0 minmax(44px, auto);width:var(--controls-width);flex:none;gap:8px}}@media (orientation:landscape) and (height<=500px){.controls{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"mode mode mode mode""d1 d2 d3 erase""d4 d5 d6 undo""d7 d8 d9 redo""switch switch switch more";grid-template-rows:repeat(4, var(--key-height)) minmax(var(--key-height), auto);gap:var(--controls-gap);width:var(--controls-width)}}.numpad__key,.control,.more-button{border:1px solid var(--key-border);border-radius:var(--radius);background:var(--key-bg);min-width:0;color:var(--text);font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;place-items:center;margin:0;padding:0;display:grid;position:relative}.numpad__key:disabled,.control:disabled,.more-button:disabled{opacity:.45;cursor:default}@media (hover:hover){.numpad__key:hover:not(:disabled),.control:hover:not(:disabled),.more-button:hover:not(:disabled){background:var(--key-bg-active)}}.numpad__key:active:not(:disabled),.control:active:not(:disabled),.more-button:active:not(:disabled){background:var(--key-bg-pressed)}.numpad__key--1{grid-area:d1}.numpad__key--2{grid-area:d2}.numpad__key--3{grid-area:d3}.numpad__key--4{grid-area:d4}.numpad__key--5{grid-area:d5}.numpad__key--6{grid-area:d6}.numpad__key--7{grid-area:d7}.numpad__key--8{grid-area:d8}.numpad__key--9{grid-area:d9}.numpad__key{font-family:var(--font);font-size:min(1.5rem, calc(var(--key-height) * .56));font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.numpad__key--candidate{font-size:min(1rem, calc(var(--key-height) * .4));font-weight:400}.numpad__key--done{color:var(--text-muted);font-weight:300}.numpad__key--done:after{content:"";border-bottom:1.5px solid;border-left:1.5px solid;width:7px;height:4px;position:absolute;top:7px;right:7px;transform:rotate(-45deg)}@media (width>=850px){.numpad__key{font-size:min(1.875rem, calc(var(--key-height) * .56))}.numpad__key--done:after{width:9px;height:5px;top:9px;right:9px}}@media (width>=850px),(orientation:landscape) and (height<=500px){.numpad__key--candidate{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:4px 8px;font-size:.75rem;font-weight:500}.numpad__key--candidate .numpad__digit{grid-row:var(--spot-row);grid-column:var(--spot-col)}}@media (width>=850px){.numpad__key--candidate{padding:8px 12px;font-size:.875rem}}.control--erase{grid-area:erase}.control--undo{grid-area:undo}.control--redo{grid-area:redo}.control{grid-auto-flow:row;align-content:center;gap:2px}.control .icon{width:22px;height:22px}.control__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=850px){.control__label{clip-path:none;width:auto;height:auto;font-size:.75rem;font-weight:600;position:static;overflow:visible}.control .icon{width:20px;height:20px}}@media (orientation:landscape) and (height<=500px){.control__label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.mode-toggle{border-radius:var(--radius);background:var(--key-bg);box-shadow:inset 0 0 0 1px var(--key-border);grid-area:mode;display:flex;container-type:inline-size}.mode-toggle__option{border-radius:var(--radius);min-width:0;color:var(--text-muted);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-user-select:none;user-select:none;background:padding-box padding-box;border:3px solid #0000;flex:1;justify-content:center;align-items:center;padding:0 3px;font-size:min(.875rem,9.61539cqi - 2.30769px);font-weight:600;display:flex}.mode-toggle__option[aria-pressed=true]{background-color:var(--text);color:var(--bg)}.mode-toggle__option:disabled{cursor:default}.mode-toggle:has(:disabled){opacity:.55}@media (hover:hover){.mode-toggle__option[aria-pressed=false]:hover:not(:disabled){color:var(--text)}}.mode-toggle__option[aria-pressed=false]:active:not(:disabled){background-color:var(--key-bg-active);color:var(--text)}.switch{min-width:0;max-width:100%;color:var(--text);text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:999px;grid-area:switch;justify-self:start;align-items:center;gap:10px;padding:0 8px 0 0;font-size:.875rem;font-weight:600;display:inline-flex}.switch__track{background:var(--text-muted);border-radius:999px;flex:none;width:40px;height:24px;transition:background-color .15s;position:relative}.switch__thumb{background:var(--bg);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch[aria-checked=true] .switch__track{background:var(--accent)}.switch[aria-checked=true] .switch__thumb{transform:translate(16px)}.switch:disabled{opacity:.45;cursor:default}.switch__label{min-width:0;line-height:1.2}@media (hover:hover) and (forced-colors:none){.switch:hover:not(:disabled) .switch__track{background:color-mix(in srgb, var(--text-muted) 80%, var(--text))}.switch[aria-checked=true]:hover:not(:disabled) .switch__track{background:color-mix(in srgb, var(--accent) 85%, var(--text))}}.switch:active:not(:disabled) .switch__thumb{transform:scale(.9)}.switch[aria-checked=true]:active:not(:disabled) .switch__thumb{transform:translate(16px)scale(.9)}.menu{display:inline-flex;position:relative}.menu--more{grid-area:more;justify-content:flex-end;place-self:center stretch}.more-button{width:56px;max-width:100%;height:min(40px, var(--row-height))}.more-button .icon{width:24px;height:24px}.more-button[aria-expanded=true]{background:var(--key-bg-active)}@media (width>=850px){.controls>.switch,.controls>.menu--more{grid-area:tools}.controls>.switch{max-width:calc(100% - 56px)}.controls>.menu--more{justify-self:end}.more-button{width:48px}}@media (orientation:landscape) and (height<=500px){.controls>.switch{grid-area:switch;max-width:100%}.controls>.menu--more{grid-area:more;justify-self:stretch}.menu--more{align-self:stretch}.more-button{width:100%;height:auto}}.menu__popup{z-index:50;border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--surface-raised);min-width:200px;box-shadow:var(--shadow);flex-direction:column;padding:6px;display:flex;position:absolute}.menu__popup--below{top:calc(100% + 6px);right:0}.menu__popup--above{bottom:calc(100% + 6px);right:0}.menu__popup:focus{outline:none}.menu__heading{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px 4px;font-size:.75rem;font-weight:700}.menu__item{border-radius:var(--radius);min-height:40px;color:var(--text);text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;gap:12px;padding:0 12px 0 10px;font-size:.9375rem;font-weight:500;display:flex}.menu__item:focus{outline:none}.menu__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface)}.menu__item:disabled{opacity:.45;cursor:default}@media (hover:hover){.menu__item:hover:not(:disabled){background:var(--surface)}}.menu__item:active:not(:disabled){background:var(--key-bg)}.menu__icon{color:var(--text-muted);place-items:center;display:inline-grid}.menu__icon .icon,.menu__check{width:18px;height:18px}.menu__label{flex:1}.menu__check{color:var(--accent)}.menu__item:has(.menu__check){font-weight:700}.menu--new-game .menu__popup{min-width:250px;max-height:calc(100dvh - var(--header-height) - 12px);overscroll-behavior:contain;overflow-y:auto}.menu__group{flex-direction:column;display:flex}.menu__group+.menu__group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}@media (height<=500px) and (width>=560px){.menu--new-game .menu__popup{grid-template-columns:repeat(2,minmax(230px,1fr));align-items:start;display:grid}.menu__group+.menu__group{border-top:0;border-left:1px solid var(--border);margin-top:0;padding-top:0;padding-left:6px}}.menu__group .menu__heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.menu__aside{letter-spacing:.02em;text-transform:none;white-space:nowrap;font-weight:600}.menu__detail{color:var(--text-muted);align-items:center;gap:4px;font-size:.8125rem;font-weight:500;display:inline-flex}.menu__icon .daily-mark{width:14px;height:14px;margin:2px}.icon-button{width:40px;height:40px;color:var(--text);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-button .icon{width:22px;height:22px}.icon-button[aria-expanded=true]{background:var(--key-bg)}.icon-button:disabled{opacity:.4;cursor:default}@media (hover:hover){.icon-button:hover:not(:disabled){background:var(--surface)}}.icon-button:active:not(:disabled){background:var(--key-bg-active)}.timer{isolation:isolate;height:36px;color:var(--text);font-family:var(--font);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 4px 0 6px;font-size:1.0625rem;font-weight:600;display:inline-flex;position:relative}.timer:has(>.timer__button):after{content:"";flex:none;width:26px}.timer__time{z-index:1;text-align:end;pointer-events:none;min-width:6.1ch;position:relative}.timer__button{background:0 0;border:0;border-radius:999px;justify-content:flex-end;align-items:center;padding:0 4px;display:flex;position:absolute;inset:0}.timer__colon{font-variant-numeric:normal}.timer__icon{background:var(--key-bg);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:inline-grid}.timer__icon .icon{fill:currentColor;width:14px;height:14px}.timer--stopped .timer__icon{background:var(--accent);color:var(--accent-text)}.timer:has(>.timer__button:disabled){opacity:.5}.timer--solved{color:var(--success);font-variant-numeric:normal;padding:0 8px}@media (hover:hover){.timer__button:hover:not(:disabled){background:var(--surface)}}.timer__button:active:not(:disabled){background:var(--key-bg)}@media (pointer:coarse){.icon-button{width:44px;height:44px}.timer,.more-button{height:44px}.menu__item,.numpad__key,.control,.switch,.mode-toggle__option{min-height:44px}}@media (forced-colors:active){.mode-toggle__option{border-color:buttontext}.numpad__key--done{color:graytext}.mode-toggle__option[aria-pressed=true]{forced-color-adjust:none;color:highlighttext;background-color:highlight;border-color:highlight}.switch__track{forced-color-adjust:none;background:canvas;border:1px solid buttontext}.switch__thumb{background:buttontext;top:2px;left:2px}.switch[aria-checked=true] .switch__track{background:highlight;border-color:highlight}.switch[aria-checked=true] .switch__thumb{background:highlighttext}.menu__item:focus-visible{outline-offset:-2px;outline:2px solid highlight}.timer__icon{border:1px solid buttontext}}@media (forced-colors:active) and (hover:hover){.numpad__key:hover:not(:disabled),.control:hover:not(:disabled),.more-button:hover:not(:disabled){outline-offset:-2px;background:buttonface;outline:2px solid highlight}}@media (forced-colors:active){.numpad__key:active:not(:disabled),.control:active:not(:disabled),.more-button:active:not(:disabled){outline-offset:-3px;background:buttonface;outline:3px solid highlight}.more-button[aria-expanded=true],.icon-button:active:not(:disabled),.mode-toggle__option[aria-pressed=false]:active:not(:disabled){outline-offset:-2px;background:buttonface;outline:2px solid highlight}}.button{border:1px solid var(--key-border);border-radius:var(--radius);background:var(--button-bg);min-height:40px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:.9375rem;font-weight:600;line-height:1.2;display:inline-flex}.button:disabled{opacity:.5;cursor:default}.button .icon{flex:none;width:18px;height:18px;margin-left:-2px}.button--primary{background:var(--accent);color:var(--accent-text);border-color:#0000}.button--danger{background:color-mix(in srgb, var(--danger) 85%, var(--text));color:var(--accent-text);border-color:#0000}.button--ghost{background:0 0;border-color:#0000}.button--small{min-height:32px;padding:0 12px;font-size:.875rem}.button--small .icon{width:16px;height:16px}.button--wraps{max-width:100%;padding-block:6px}.button--wraps .icon{flex-shrink:0}.button__label{white-space:normal;overflow-wrap:anywhere;text-align:center;min-width:0}@media (hover:hover){.button:hover:not(:disabled){background:color-mix(in srgb, var(--button-bg) 90%, var(--text))}.button--primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 90%, var(--text))}.button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 78%, var(--text))}.button--ghost:hover:not(:disabled){background:var(--surface)}}.button:active:not(:disabled){background:color-mix(in srgb, var(--button-bg) 80%, var(--text))}.button--primary:active:not(:disabled){background:color-mix(in srgb, var(--accent) 80%, var(--text))}.button--danger:active:not(:disabled){background:color-mix(in srgb, var(--danger) 70%, var(--text))}.button--ghost:active:not(:disabled){background:var(--key-bg)}.button:focus-visible,.dialog__close:focus-visible,.tabs__tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dialog-overlay{z-index:100;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:var(--font);justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.dialog-frame{pointer-events:none;justify-content:center;width:100%;display:flex}.dialog{border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--surface-raised);width:100%;max-width:440px;max-height:calc(100dvh - 48px);color:var(--text);box-shadow:var(--shadow);pointer-events:auto;flex-direction:column;line-height:1.45;display:flex}.dialog:focus{outline:none}.dialog--wide{max-width:560px}.dialog--confirm{max-width:400px}.dialog__header{align-items:center;gap:8px;padding:14px 12px 6px 20px;display:flex}.dialog__title{min-width:0;font-family:var(--font-display);letter-spacing:-.01em;flex:1;margin:0;font-size:1.25rem;font-weight:800;line-height:1.25}.dialog__close{width:36px;height:36px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dialog__close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}@media (hover:hover){.dialog__close:hover{background:var(--surface);color:var(--text)}}.dialog__close:active{background:var(--key-bg);color:var(--text)}.dialog__body{overscroll-behavior:contain;flex:auto;min-height:0;padding:6px 20px 20px;overflow-y:auto}.dialog__body--scrollable:focus{outline:none}.dialog__body--scrollable:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:4px}.dialog__footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 18px;display:flex}.dialog dl,.dialog dd{margin:0}.dialog kbd{border:1px solid var(--border);background:var(--surface);min-width:1.6em;color:var(--text);font:inherit;text-align:center;white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:.8125em;font-weight:600;line-height:1.5;display:inline-block}@media (width<=499px){.dialog-overlay{padding:calc(48px + env(safe-area-inset-top,0px)) 0 0;align-items:flex-end}.dialog,.dialog--wide,.dialog--confirm{max-width:none;max-height:calc(100vh - 48px - env(safe-area-inset-top,0px));max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px));border-radius:calc(var(--radius) * 3) calc(var(--radius) * 3) 0 0;border-bottom:0}.dialog__footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.dialog__body:last-child{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.dialog__footer .button{flex:1 1 0}}@media (height<=500px) and (width>=500px){.dialog-overlay{padding:12px 16px}.dialog{max-height:calc(100dvh - 24px)}.dialog__header{padding-top:10px}}@keyframes dialog-fade-in{0%{opacity:0}}@keyframes dialog-rise-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes dialog-sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:no-preference){.dialog-overlay{animation:.15s ease-out dialog-fade-in}.dialog-frame{animation:.18s cubic-bezier(.2,.8,.2,1) dialog-rise-in}.button,.tabs__tab,.settings__switch,.settings__switch:before{transition:background-color .12s,color .12s,transform .15s}}@media (prefers-reduced-motion:no-preference) and (width<=499px){.dialog-frame{animation:.22s cubic-bezier(.2,.8,.2,1) dialog-sheet-in}}.field{gap:6px;margin:0 0 16px;display:grid}.field__label{font-size:.875rem;font-weight:600}.field__input{border:1px solid var(--key-border);border-radius:var(--radius);background:var(--bg);width:100%;min-height:44px;color:var(--text);font:inherit;padding:8px 12px;font-size:16px}.field__input:disabled{opacity:.5;cursor:default}.field__input:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:0}.field__hint{color:var(--text-muted);margin:0;font-size:.8125rem}.result{text-align:center;padding:4px 0 18px}.result__difficulty{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8125rem;font-weight:700}.result__time{margin:2px 0 0;font-size:3rem;font-weight:700;line-height:1.1}.result__badge{background:color-mix(in srgb, var(--success) 12%, transparent);color:color-mix(in srgb, var(--success) 80%, var(--text));border:1px solid;border-radius:2px;margin:10px 0 0;padding:3px 10px;font-size:.8125rem;font-weight:700;display:inline-block}.result__mistakes{color:var(--text);margin:8px 0 0;font-size:.9375rem;font-weight:600}.result__assists{color:var(--text-muted);margin:8px 0 0;font-size:.875rem}.result__note{max-width:34ch;color:var(--text-muted);margin:8px auto 0;font-size:.8125rem;line-height:1.4}.result__note--watched{max-width:30ch;color:var(--text);margin-top:6px;font-size:.9375rem;font-weight:600}.result__watch{flex-wrap:wrap;justify-content:center;gap:8px;margin:-6px 0 18px;display:flex}.result__streak{justify-content:center;align-items:center;gap:8px;margin:10px 0 0;font-size:.9375rem;font-weight:700;display:flex}.result__streak .daily-mark{width:12px;height:12px}.result__streak--none{max-width:34ch;color:var(--text-muted);margin:8px auto 0;font-size:.8125rem;font-weight:400;line-height:1.4;display:block}.comparison{border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--surface);margin:0 0 18px;padding:10px 16px 14px}.comparison__table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.875rem;line-height:1.3}.comparison__corner{width:34%}.comparison__table th,.comparison__table td{padding:6px 4px}.comparison__table tbody tr+tr>*{border-top:1px solid var(--border)}.comparison__table .comparison__who{padding-bottom:2px}.comparison__who{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.comparison__who bdi{text-overflow:ellipsis;display:block;overflow:hidden}.comparison__table .comparison__label{padding-left:0}.comparison__label{color:var(--text-muted);text-align:left;font-size:.8125rem;font-weight:400}.comparison__value{text-align:center;overflow-wrap:anywhere;font-weight:600}.comparison__time{font-size:1.25rem;line-height:1.25}@media (width<=359.98px){.comparison__time{font-size:1.125rem}}.comparison__time--winner{color:color-mix(in srgb, var(--success) 80%, var(--text));text-underline-offset:4px;font-weight:800;text-decoration-line:underline;text-decoration-thickness:2px}.comparison__none{color:var(--text-muted);text-align:center;font-size:.8125rem}.comparison__verdict{text-align:center;margin:12px 0 0;font-weight:700}.comparison__watch{flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0 0;display:flex}.stats{margin:0 0 4px}.stats__heading,.stats-table__caption,.games-chart__title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:700}.stats__heading{text-align:center}.stats__list{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;display:grid}.stats__item{border-radius:var(--radius);background:var(--surface);text-align:center;padding:10px 6px}.stats__label{color:var(--text-muted);font-size:.75rem}.stats__value{font-size:1.25rem;font-weight:700}.stats-table{border-collapse:collapse;width:100%;font-size:.875rem}.stats-table__caption{caption-side:top;text-align:left}.stats-table th,.stats-table td{border-bottom:1px solid var(--border);text-align:right;padding:6px 4px}.stats-table th:first-child{text-align:left;padding-left:0}.stats-table td:last-child{padding-right:0}.stats-table thead th{color:var(--text-muted);font-size:.75rem;font-weight:600}.stats-table tbody th{font-weight:600}@media (height<=640px){.result{padding-bottom:12px}.result__time{font-size:2.25rem}.result__badge{margin-top:6px}.result__mistakes,.result__assists,.result__note{margin-top:4px}.comparison{margin-bottom:12px;padding:8px 14px 10px}.comparison__table th,.comparison__table td{padding-block:4px}.comparison__verdict{margin-top:8px}.stats__item{padding:6px}}.share__solve{border-bottom:0;margin:0 0 16px;padding:0}.share__preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 16px;padding:12px 14px}.share__text{white-space:pre-line;overflow-wrap:anywhere;margin:6px 0 0;font-weight:600}.share__url{color:var(--text-muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:.8125rem}.share__fallback{resize:none;min-height:0;line-height:1.4;overflow:hidden}.share__status{min-height:1.45em;margin:0;font-size:.875rem;font-weight:600}.tabs{border-radius:var(--radius);background:var(--surface);scrollbar-width:none;gap:4px;margin:0 0 16px;padding:4px;display:flex;overflow-x:auto}.tabs__tab{min-width:44px;min-height:32px;color:var(--text-muted);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;border-radius:2px;flex:1 0 auto;padding:0 12px;font-size:.875rem;font-weight:600}.tabs__tab[aria-selected=true]{background:var(--text);color:var(--bg)}@media (hover:hover){.tabs__tab[aria-selected=false]:hover{color:var(--text)}}.tabs__tab[aria-selected=false]:active{background:var(--key-bg);color:var(--text)}@media (width<=374px){.tabs__tab{padding:0 7px;font-size:.8125rem}}.history__panel .stats,.history__panel .stats-table{margin-bottom:8px}.history__list{margin:8px 0 0;padding:0;list-style:none}.history-item{flex-direction:column;gap:8px;padding:12px 0;display:flex;position:relative}.history-item:before{content:"";border-top:1px solid var(--border);position:absolute;top:0;left:0;right:0}.history-item__info{min-width:0}.history-item__heading{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;display:flex}.history-item__difficulty{font-weight:700}.history-item__date{color:var(--text-muted);font-size:.875rem}.history-item__daily{border:1px solid var(--text);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:2px;align-self:center;padding:0 6px;font-size:.6875rem;font-weight:700;line-height:1.6}.history-item__current{background:var(--accent);color:var(--accent-text);letter-spacing:.08em;text-transform:uppercase;border-radius:2px;align-self:center;padding:1px 6px;font-size:.6875rem;font-weight:700}.history-item__status{margin:2px 0 0;font-size:.9375rem}.history-item__name{overflow-wrap:anywhere;margin:2px 0 0;font-weight:600}.history-item__chips{flex-wrap:wrap;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.history-item__chip{border:1px solid var(--border);color:var(--text-muted);border-radius:2px;padding:0 6px;font-size:.75rem;line-height:1.6}.history-item__challenge,.history-item__versus{color:var(--text-muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:.875rem}.history-item__challenge-help{font-size:.8125rem;display:block}.history-item__verdict{color:var(--text);font-weight:700}.versus__headline{text-align:center;overflow-wrap:anywhere;margin:0 0 12px;font-weight:700}.dialog--versus .dialog__title{overflow-wrap:anywhere}.history-item__actions{flex-wrap:wrap;gap:6px;display:flex}.history-item__actions--edit .field{flex-basis:100%;margin:0}.history-item__delete{color:color-mix(in srgb, var(--danger) 85%, var(--text))}.history__more{margin:8px auto 0;display:flex}.history__empty{color:var(--text-muted);text-align:center;overflow-wrap:anywhere;margin:12px 0}.games-chart{--games-chart-height:clamp(72px, calc(100dvh - 480px), 120px);margin:8px 0 4px}.games-chart__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.games-chart__title{margin:0;margin-inline-end:auto}.games-chart__summary{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 12px;margin:2px 0 4px;display:flex}.games-chart__total{font-variant-numeric:tabular-nums;margin:0;font-size:.875rem}.games-chart__total strong{font-weight:800}.games-chart__legend{color:var(--text-muted);flex-wrap:wrap;gap:0 10px;margin:0;padding:0;font-size:.75rem;line-height:1.2;list-style:none;display:flex}.games-chart__legend-item{overflow-wrap:anywhere;align-items:center;gap:4px;min-width:0;display:inline-flex}.games-chart__swatch{flex:none;width:10px;height:10px}.games-chart__plot{height:var(--games-chart-height)}.games-chart__svg{width:100%;height:100%;display:block;overflow:visible}.games-chart__grid line{stroke:var(--border);stroke-width:1px}.games-chart__axis{stroke:var(--key-border);stroke-width:1px}.games-chart__ticks text{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.games-chart__segment--easy{fill:var(--level-easy)}.games-chart__segment--medium{fill:var(--level-medium)}.games-chart__segment--hard{fill:var(--level-hard)}.games-chart__segment--expert{fill:var(--level-expert)}.games-chart__segment--beyond{fill:var(--level-beyond)}.games-chart__hit{fill:#0000}.games-chart__table{margin-top:8px}.stats-table .games-chart__levels{text-align:left;overflow-wrap:anywhere;width:50%}.games-chart__table tbody th{white-space:nowrap}.dialog--history .dialog__footer{row-gap:0}.history__status{flex-basis:100%;margin:0;font-size:.875rem;font-weight:600}.history__status:not(:empty){margin-bottom:10px}.history__friends{margin-right:auto}@media (width<=499px){.dialog__footer .history__friends{flex-basis:100%;margin:0 0 8px}}.friends__intro{margin:0}.friends-item__name{overflow-wrap:anywhere;font-weight:700}.friends-item .history-item__status{overflow-wrap:anywhere}.friends-item__devices{gap:6px;margin:0;padding:0;list-style:none;display:grid}.friends-item__device{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.puzzles-item__name{overflow-wrap:anywhere;font-weight:700}@media (width<=499px){.puzzles__new{width:100%}}.settings__group{border:0;min-width:0;margin:0 0 18px;padding:0}.settings__group:last-child{margin-bottom:0}.settings__legend{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;padding:0;font-size:.75rem;font-weight:700}.settings__row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.settings__row:last-child{border-bottom:0}.settings__text{min-width:0}.settings__label{cursor:pointer;font-weight:600}.settings__description{color:var(--text-muted);margin:2px 0 0;font-size:.8125rem}.settings__switch{background:var(--text-muted);cursor:pointer;appearance:none;touch-action:manipulation;border-radius:999px;flex:none;width:44px;height:26px;margin:0;position:relative}.settings__switch:before{content:"";background:var(--surface-raised);border-radius:50%;width:20px;height:20px;position:absolute;top:3px;left:3px}.settings__switch:checked{background:var(--accent)}.settings__switch:checked:before{background:var(--accent-text);transform:translate(18px)}.settings__switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings__theme{border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:8px;padding:4px;display:grid}.settings__theme+.settings__description{margin-top:8px}.settings__theme-option{min-height:36px;color:var(--text-muted);text-align:center;cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;padding:2px 4px;font-size:.875rem;font-weight:600;line-height:1.2;display:flex;position:relative}.settings__theme-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.settings__theme-option:has(input:checked){background:var(--text);color:var(--bg)}.settings__theme-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.help__section+.help__section{margin-top:20px}.help__heading{margin:0 0 6px;font-size:1rem;font-weight:700}.help__list{margin:0;padding-left:1.2em}.help__list li+li{margin-top:4px}.help__text{margin:0}.help__table-wrap{overflow-x:auto}.help__table{border-collapse:collapse;width:100%;font-size:.875rem}.help__table th,.help__table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 6px}.help__table th:first-child{padding-left:0}.help__table thead th{color:var(--text-muted);font-size:.75rem}.help__table tbody th{font-weight:600}.help__combo{white-space:nowrap}.help__note{color:var(--text-muted);margin:8px 0 0;font-size:.8125rem}.challenge{margin:0 0 16px}.challenge__summary,.confirm__message{margin:0}.challenge__assists,.challenge__mistakes{color:var(--text-muted);margin:4px 0 0;font-size:.875rem}.who-sent{gap:16px;display:grid}.who-sent .field{margin:0}.who-sent .field__hint{overflow-wrap:anywhere}.help__guide{margin-top:10px}.daily-mark{width:10px;height:10px;color:var(--text);flex:none}.daily-mark--not-started{color:var(--text-muted)}.dialog--daily{max-width:760px}.daily{gap:18px;display:grid}@media (width>=800px),(width>=640px) and (height<=500px){.daily{grid-template:"streaks streaks""calendar day""key day"1fr/minmax(0,1fr) minmax(0,1fr);gap:12px 32px}.streaks{grid-area:streaks;margin-bottom:6px}.calendar{grid-area:calendar}.daily-key{grid-area:key}.daily-day{background:var(--surface-raised);grid-area:day;align-self:start;position:sticky;top:0}}.streaks__heading{color:var(--text-muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:700}.streaks__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.streaks__item{border-radius:var(--radius);background:var(--surface);text-align:center;justify-items:center;padding:8px 4px 7px;display:grid}.streaks__tier{color:var(--text-muted);font-size:.75rem;font-weight:600}.streaks__current{font-size:.8125rem;line-height:1.2}.streaks__value{font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1.15}.streaks__best{color:var(--text-muted);font-size:.75rem}.streaks__note{color:var(--text-muted);text-align:center;margin:8px 0 0;font-size:.75rem}.calendar__nav{justify-content:space-between;align-items:center;gap:8px;margin:0 0 4px;display:flex}.calendar__month{font-family:var(--font-display);margin:0;font-size:1.0625rem;font-weight:800}.calendar__step{width:40px;height:40px;color:var(--text);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.calendar__step .icon{width:20px;height:20px}.calendar__step[aria-disabled=true]{opacity:.35;cursor:default}@media (hover:hover){.calendar__step:hover:not([aria-disabled=true]){background:var(--surface)}}.calendar__step:active:not([aria-disabled=true]){background:var(--key-bg-active)}.calendar__grid{border-collapse:separate;border-spacing:2px;table-layout:fixed;width:100%}.calendar__weekday{color:var(--text-muted);text-align:center;padding:2px 0 4px;font-size:.75rem;font-weight:600}.calendar__day{border-radius:var(--radius);text-align:center;vertical-align:middle;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;height:50px;padding:0;position:relative}.calendar__day--outside,.calendar__day--unavailable{cursor:default}.calendar__date{font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:600;line-height:1.2;display:block}.calendar__marks{justify-content:center;gap:2px;margin-top:5px;display:flex}.calendar__mark{width:8px;height:8px}.calendar__day--unavailable .calendar__date{color:var(--text-muted);font-weight:400}@media (hover:hover){.calendar__day:not(.calendar__day--outside,.calendar__day--unavailable,.calendar__day--selected):hover{background:var(--surface)}}.calendar__day--today{box-shadow:inset 0 0 0 2px var(--text)}.calendar__day.calendar__day--selected{background:var(--accent);color:var(--accent-text)}.calendar__day--selected .daily-mark{color:var(--accent-text)}.calendar__day--selected.calendar__day--today{box-shadow:inset 0 0 0 2px var(--accent-text)}.calendar__day:focus{outline:none}.calendar__day:focus-visible{z-index:1;outline:2px solid var(--accent);outline-offset:2px}.daily-key{color:var(--text-muted);font-size:.75rem;line-height:1.4}.daily-key__order{align-items:center;gap:10px;margin:0 0 8px;display:flex}.daily-key__day{flex:none;grid-template-columns:repeat(4,8px);justify-items:center;gap:2px;display:grid}.daily-key__letter{width:8px;color:var(--text);justify-content:center;font-size:.5625rem;font-weight:700;line-height:1;display:flex}.daily-key__list{grid-template-columns:repeat(2,minmax(0,max-content));gap:4px 20px;margin:0;padding:0;list-style:none;display:grid}.daily-key__item{align-items:center;gap:6px;display:inline-flex}.daily-day__header{border-bottom:2px solid var(--text);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;padding:0 0 6px;display:flex}.daily-day__heading{font-family:var(--font-display);margin:0;font-size:1.0625rem;font-weight:800}.daily-day__number{color:var(--text-muted);white-space:nowrap;margin:0;font-size:.8125rem;font-weight:600}.daily-day__list{margin:0;padding:0;list-style:none}.daily-day__row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:58px;padding:8px 0;display:flex}.daily-day__mark{width:14px;height:14px}.daily-day__text{flex:1;min-width:0;margin:0;display:grid}.daily-day__tier{font-weight:700}.daily-day__status{color:var(--text-muted);font-size:.8125rem}.daily-day__row .button{flex:none;min-width:104px}@media (width<=499px){.calendar__day{height:46px}.calendar__marks{margin-top:4px}.daily-day__row{min-height:54px;padding:6px 0}.streaks__item{padding:6px 2px 5px}}@media (width<=374px){.calendar{margin:0 -15px}.calendar__nav,.daily-key{padding:0 15px}.calendar__grid{border-spacing:0}}.help__marks{flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;display:flex}.help__mark{align-items:center;gap:6px;font-size:.875rem;display:inline-flex}.dialog--techniques{--guide-scrim:48px;--guide-header-top:14px;--guide-close:36px;max-width:560px}@media (height<=500px) and (width>=500px){.dialog--techniques{--guide-scrim:24px;--guide-header-top:10px}}@media (pointer:coarse){.dialog--techniques{--guide-close:44px}}.guide__nav{display:none}@media (width>=720px){.dialog--techniques{max-width:920px}.guide{grid-template-columns:196px minmax(0,1fr);align-items:start;column-gap:32px;display:grid}.guide__nav{max-height:calc(100dvh - var(--guide-scrim) - 2px - var(--guide-header-top) - var(--guide-close) - 6px - 26px);overscroll-behavior:contain;margin:0 -4px;padding:4px;display:block;position:sticky;top:0;overflow-y:auto}.guide__picker{display:none}}.guide__group+.guide__group{margin-top:14px}.guide__group-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;padding:0 10px;font-size:.75rem;font-weight:700}.guide__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.guide__link{border-radius:var(--radius);width:100%;min-height:34px;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;padding:6px 10px;font-size:.9375rem;line-height:1.3;display:block}.guide__link[aria-current=true]{background:var(--text);color:var(--bg);font-weight:600}@media (hover:hover){.guide__link:not([aria-current=true]):hover{background:var(--surface)}}.guide__link:not([aria-current=true]):active{background:var(--key-bg)}.guide__picker,.friends__picker,.compare__picker{margin:2px 0 16px;position:relative}.friends__picker,.compare__picker{margin:0}.guide__picker:after,.friends__picker:after,.compare__picker:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);pointer-events:none;width:8px;height:8px;margin-top:-6px;position:absolute;top:50%;right:16px;transform:rotate(45deg)}.guide__select,.friends__select,.compare__select{border:1px solid var(--key-border);border-radius:var(--radius);background:var(--bg);width:100%;min-height:44px;color:var(--text);appearance:none;padding:8px 40px 8px 12px;font-size:16px;font-weight:600}.guide__select:focus-visible,.friends__select:focus-visible,.compare__select:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:0}.guide__entry{min-width:0;container:worked-example/inline-size}.guide__header{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.guide__title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:800;line-height:1.2}.guide__title:focus{outline:none}.guide__title:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.guide__tiers{flex-wrap:wrap;gap:6px;margin:0;display:flex}.guide__tier{border:1px solid var(--text);color:var(--text);white-space:nowrap;background:0 0;border-radius:2px;padding:2px 7px;font-size:.8125rem;line-height:1.4}.guide__tier-name{letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.guide__aka{color:var(--text-muted);margin:6px 0 0;font-size:.875rem}.guide__summary{max-width:62ch;margin:12px 0 0;font-size:1.0625rem;line-height:1.45}.guide__examples{gap:24px;margin:20px 0 0;display:grid}.guide__section{margin-top:22px}.guide__heading{margin:0 0 6px;font-size:1rem;font-weight:700}.guide__text{max-width:62ch;margin:0}.guide__text+.guide__text{margin-top:8px}.guide__pager{border-top:1px solid var(--border);gap:12px;margin-top:28px;padding-top:16px;display:flex}.guide__step{border:1px solid var(--key-border);border-radius:var(--radius);min-width:0;max-width:calc(50% - 6px);min-height:44px;color:var(--text);text-align:left;background:0 0;flex-direction:column;flex:0 auto;align-items:flex-start;gap:2px;padding:8px 14px;display:flex}.guide__step--next{text-align:right;align-items:flex-end;margin-left:auto}.guide__step-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.guide__step-title{font-weight:600}@media (hover:hover){.guide__step:hover{background:var(--surface)}}.guide__step:active{background:var(--key-bg)}.technique-diagram{gap:10px;margin:0;display:grid}@container worked-example (width>=600px){.technique-diagram{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:22px}}.technique-diagram__board{width:100%;max-width:360px;height:auto;font-family:var(--font);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;display:block}.technique-diagram__board text{dominant-baseline:central;text-anchor:middle}.technique-diagram__cells rect{fill:var(--cell-bg)}.technique-diagram__shading rect{fill:var(--hl-same)}.technique-diagram__shading rect[data-shade=clear]{fill:var(--hl-peer)}.technique-diagram__outlines{display:none}.technique-diagram__thin line{stroke:var(--grid-thin);stroke-width:1px}.technique-diagram__thick line,.technique-diagram__thick rect{fill:none;stroke:var(--grid-thick);stroke-width:2.5px}.technique-diagram__thick rect{stroke-width:3.5px}.technique-diagram__rings circle{fill:color-mix(in srgb, var(--accent) 22%, var(--cell-bg));stroke:var(--accent);stroke-width:1.4px}.technique-diagram__rings circle[data-ring=forced]{fill:var(--accent)}.technique-diagram__pivot rect{fill:none;stroke:var(--accent);stroke-width:2.5px}.technique-diagram__links line,.technique-diagram__links path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round}.technique-diagram__links [data-link=weak]{stroke-width:1.6px;stroke-dasharray:4 3.5;stroke-linecap:butt}.technique-diagram__links path[data-link=weak]{stroke-dasharray:2.5 2}.technique-diagram__candidate{fill:var(--candidate);font-weight:500}.technique-diagram__candidate--small{font-size:11px}.technique-diagram__candidate--large{font-size:14px}.technique-diagram__candidate[data-mark=pattern]{fill:var(--text);font-weight:700}.technique-diagram__candidate[data-mark=forced]{fill:var(--accent-text);font-weight:700}.technique-diagram__candidate[data-mark=removed]{fill:color-mix(in srgb, var(--danger) 80%, var(--text));font-weight:700}.technique-diagram__strikes line{stroke:var(--danger);stroke-width:1.8px;stroke-linecap:round}.technique-diagram__digits text{fill:var(--digit-given);font-family:var(--font-digits);font-size:23px;font-weight:600}.technique-diagram__digits text[data-mark=copy]{fill:var(--accent);font-weight:800}.technique-diagram__answer rect{fill:color-mix(in srgb, var(--success) 14%, var(--cell-bg));stroke:var(--success);stroke-width:2px}.technique-diagram__answer text{fill:color-mix(in srgb, var(--success) 85%, var(--text));font-size:24px;font-weight:700}.technique-diagram__labels text{fill:var(--text-muted);font-size:10px;font-weight:600}.technique-diagram__candidate[data-mark=ruled-out]{font-weight:400}.technique-diagram__ruled-out line{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:3 1.8}.technique-diagram__ruled-out g[data-by=you] line{stroke-dasharray:none;stroke-linecap:round}.technique-diagram__target path{fill:none;stroke:var(--text);stroke-width:2.4px;stroke-linecap:square}.technique-diagram__labels text[data-mark=target]{fill:var(--text);font-weight:800}.technique-diagram__text{min-width:0}.technique-diagram__caption{margin:0;font-size:.9375rem;line-height:1.5}.technique-diagram__key{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;padding:0;font-size:.8125rem;list-style:none;display:flex}.technique-diagram__key li{align-items:center;gap:6px;display:inline-flex}.technique-diagram__swatch{border:1px solid var(--grid-thin);background:var(--cell-bg);border-radius:2px;flex:none;width:14px;height:14px}.technique-diagram__swatch--look{background:var(--hl-same)}.technique-diagram__swatch--clear{background:var(--hl-peer)}.technique-diagram__swatch--pattern{border:1.5px solid var(--accent);background:color-mix(in srgb, var(--accent) 22%, var(--cell-bg));border-radius:50%}.technique-diagram__swatch--forced{border:1.5px solid var(--accent);background:var(--accent);border-radius:50%}.technique-diagram__swatch--pivot{border:2px solid var(--accent)}.technique-diagram__swatch--strong,.technique-diagram__swatch--weak{background:var(--accent);border:0;border-radius:0;width:16px;height:2px}.technique-diagram__swatch--weak{background:repeating-linear-gradient(to right, var(--accent) 0 4px, transparent 4px 7px)}.technique-diagram__swatch--removed{background:linear-gradient(to bottom right, transparent calc(50% - 1px), var(--danger) calc(50% - 1px), var(--danger) calc(50% + 1px), transparent calc(50% + 1px))}.technique-diagram__target-swatch,.technique-diagram__ruled-out-swatch{flex:none;width:14px;height:14px}.technique-diagram__ruled-out-swatch rect{fill:var(--cell-bg);stroke:var(--grid-thin);stroke-width:1px}.technique-diagram__ruled-out-swatch line{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:2.5 1.5}.technique-diagram__ruled-out-swatch[data-by=you] line{stroke-dasharray:none;stroke-linecap:round}.technique-diagram__swatch--answer{border:2px solid var(--success);background:color-mix(in srgb, var(--success) 14%, var(--cell-bg))}.technique-diagram__target-swatch path{fill:none;stroke:var(--text);stroke-width:1.6px;stroke-linecap:square}.technique-diagram__copy{width:14px;color:var(--accent);font-family:var(--font-digits);text-align:center;flex:none;font-weight:800}.dialog--playback{max-width:460px}.playback__subtitle{color:var(--text-muted);margin:0 0 10px;font-size:.875rem;font-weight:600}.playback{flex-direction:column;gap:10px;display:flex}.playback__board{--board-size:clamp(200px, min(calc(100vw - 74px), calc(100dvh - 420px)), 400px);--frame:calc(clamp(3px, 3px + (var(--board-size) - 399.98px) * 1000, 4px) + var(--line-boost));--thick:calc(clamp(2px, 2px + (var(--board-size) - 399.98px) * 1000, 3px) + var(--line-boost));--thin:1px;--lines:calc(2 * var(--frame) + 2 * var(--thick) + 6 * var(--thin));--cell:calc((var(--board-size) - var(--lines)) / 9);--board-outer:calc(9 * var(--cell) + var(--lines));width:var(--board-outer);align-self:center}@supports (width:round(down, 10.5px, 1px)){.playback__board{--cell:round(down, calc((var(--board-size) - var(--lines)) / 9), 1px)}}.playback__board .cell--player .cell__value,.playback__board .cell__candidate,.compare__board .compare-cell__value,.compare__board .compare-split{transition:opacity .25s ease-out}@starting-style{.playback__board .cell--player .cell__value,.playback__board .cell__candidate,.compare__board .compare-cell__value,.compare__board .compare-split{opacity:0}}.playback__panel{flex-direction:column;gap:8px;min-width:0;display:flex;container:playback-panel/inline-size}.playback__caption{min-height:2.7em;margin:0;font-size:.9375rem;font-weight:600;line-height:1.35}.playback__scrubber{--thumb:20px;height:36px;position:relative}.playback__ticks{pointer-events:none;position:absolute;inset:0}.playback__tick{left:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--at));width:4px;position:absolute;transform:translate(-50%)}.playback__tick--mistake,.playback__tick--slip{height:11px;top:3px}.playback__tick--mistake{background:var(--danger)}.playback__tick--slip{border:1.5px solid var(--danger);background:var(--surface-raised);width:6px}.playback__tick--help{background:var(--accent);width:6px;height:6px;bottom:5px}.playback__range{cursor:pointer;appearance:none;background:0 0;width:100%;height:100%;margin:0;position:relative}.playback__range::-webkit-slider-runnable-track{background:var(--key-border);border-radius:2px;height:4px}.playback__range::-moz-range-track{background:var(--key-border);border-radius:2px;height:4px}.playback__range::-webkit-slider-thumb{width:var(--thumb);height:var(--thumb);margin-top:calc(2px - var(--thumb) / 2);border:2px solid var(--surface-raised);background:var(--accent);appearance:none;border-radius:50%}.playback__range::-moz-range-thumb{box-sizing:border-box;width:var(--thumb);height:var(--thumb);border:2px solid var(--surface-raised);background:var(--accent);border-radius:50%}.playback__range:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.playback__key{color:var(--text-muted);flex-wrap:wrap;gap:2px 14px;margin:-2px 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.playback__key-item{align-items:center;gap:6px;display:inline-flex}.playback__key .playback__tick{position:static;transform:none}.playback__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.playback__time{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:.875rem}.playback__speeds{border-radius:var(--radius);background:var(--surface);border:0;gap:2px;margin:0;padding:3px;display:flex}.playback__speed{min-width:38px;min-height:32px;color:var(--text-muted);font-variant-numeric:tabular-nums;cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:inline-flex;position:relative}.playback__speed input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.playback__speed:has(input:checked){background:var(--text);color:var(--bg)}.playback__speed:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.playback__transport{justify-content:center;gap:6px;display:flex}.playback__button{min-width:44px;padding:0 10px}.playback__button .icon{margin:0}.playback__button[aria-disabled=true],.playback__button[aria-disabled=true]:hover,.playback__button[aria-disabled=true]:active{background:var(--button-bg);opacity:.5;cursor:default}.playback__play{min-width:132px}.playback__play .icon{margin-left:-4px}@container playback-panel (width<=339.98px){.playback__play{flex:auto;min-width:64px}.playback__play .icon{margin:0}.playback__play-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}.playback__refusal{color:var(--text);margin:0}@media (width<=499px){.dialog--playback .dialog__body{padding-left:16px;padding-right:16px}.playback__board{--board-size:clamp(160px, min(calc(100vw - 32px), calc(100dvh - 400px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))), 400px)}.playback,.playback__panel{gap:6px}}@media (width<=499px) and (height<=620px){.playback__subtitle{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.playback__board{--board-size:clamp(160px, min(calc(100vw - 32px), calc(100dvh - 366px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))), 400px)}}@media (height<=500px) and (width>=500px){.dialog--playback{max-width:760px}.dialog--playback .dialog__body{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:16px;padding:6px 16px 12px;display:grid}.playback{display:contents}.playback__subtitle{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.playback__board{--board-size:clamp(160px, calc(100dvh - 104px), 400px)}.playback__panel{gap:6px}.playback__caption{min-height:1.35em}}.dialog--compare{max-width:520px}.compare__rival{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.compare__vs{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;flex:none;font-size:1.25rem;font-weight:800;line-height:1.25}.compare__picker{flex:1;min-width:0}.compare__picker:after{right:12px}.compare__select{text-overflow:ellipsis;white-space:nowrap;min-height:36px;padding:4px 32px 4px 10px;font-weight:700;overflow:hidden}.compare__subtitle{color:var(--text-muted);margin:0;font-size:.875rem;font-weight:600}.compare{--chart-height:clamp(120px, calc(100dvh - 560px), 196px);--stack-rest:326px;flex-direction:column;gap:6px;display:flex}.compare__panel{flex-direction:column;gap:6px;min-width:0;display:flex;container:playback-panel/inline-size}.compare__caption{min-height:2.7em;margin:0;font-size:.875rem;font-weight:600;line-height:1.35}.compare__caption-line{overflow-wrap:anywhere;display:block}.compare__row{justify-content:space-between;align-items:center;gap:8px;display:flex}@container playback-panel (width<=469.98px){.compare-chart__counts{display:none}}.compare__after{flex-direction:column;gap:14px;min-width:0;margin-top:8px;display:flex}.compare-legend,.compare-key{color:var(--text);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.compare-legend__item,.compare-key__item{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;display:inline-flex}.compare-legend__key{flex:none;width:28px;height:12px;overflow:visible}.compare-legend__key--mark{width:14px;height:14px}.compare-legend__mark{fill:var(--text-muted)}.compare-chart__readout{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;overflow:hidden}.compare-chart__readout strong{font-variant-numeric:tabular-nums;font-weight:800}.compare-chart{width:100%;min-width:0}.compare-chart__plot{height:var(--chart-height);border-radius:var(--radius);cursor:col-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;display:block}.compare-chart__plot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.compare-chart__svg{width:100%;height:100%;display:block;overflow:visible}.compare-chart__grid line{stroke:var(--border);stroke-width:1px}.compare-chart__axis{stroke:var(--key-border);stroke-width:1px}.compare-chart__ticks text{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.compare-chart__line{fill:none;stroke-width:calc(2px + var(--line-boost));stroke-linecap:round;stroke-linejoin:round}.compare-chart__line--mine{stroke:var(--series-you)}.compare-chart__line--theirs{stroke:var(--series-friend);stroke-dasharray:6 4;stroke-linecap:butt}.compare-chart__shape--mine{fill:var(--series-you);stroke:var(--surface-raised);stroke-width:4px;paint-order:stroke}.compare-chart__halo{fill:var(--surface-raised);stroke:var(--surface-raised);stroke-width:6px}.compare-chart__shape--theirs{fill:none;stroke:var(--series-friend);stroke-width:2px}.compare-chart__cursor{stroke:var(--text);stroke-width:1.5px}.compare-chart__label text{fill:var(--text);stroke:var(--surface-raised);stroke-width:4px;stroke-linejoin:round;font-variant-numeric:tabular-nums;paint-order:stroke;font-size:12px;font-weight:600}.compare__tables{flex-direction:column;gap:10px;min-width:0;display:flex}.compare__table-toggle{margin:0}.compare-tables{flex-direction:column;gap:10px;display:flex}.compare-tables[hidden]{display:none}.compare-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.8125rem}.compare-table__caption{text-align:left;margin-bottom:4px;font-weight:700}.compare-table th,.compare-table td{border-bottom:1px solid var(--border);text-align:left;padding:3px 6px}.compare-table thead th{color:var(--text-muted);font-weight:600}.compare-tables__none{color:var(--text-muted);margin:0;font-size:.8125rem}.compare__board{--board-size:clamp(200px, min(calc(100vw - 74px), calc(100dvh - var(--chart-height) - var(--stack-rest))), 360px);--frame:calc(clamp(3px, 3px + (var(--board-size) - 399.98px) * 1000, 4px) + var(--line-boost));--thick:calc(clamp(2px, 2px + (var(--board-size) - 399.98px) * 1000, 3px) + var(--line-boost));--thin:1px;--lines:calc(2 * var(--frame) + 2 * var(--thick) + 6 * var(--thin));--cell:calc((var(--board-size) - var(--lines)) / 9);--board-outer:calc(9 * var(--cell) + var(--lines));flex-direction:column;align-items:center;min-width:0;display:flex}@supports (width:round(down, 10.5px, 1px)){.compare__board{--cell:round(down, calc((var(--board-size) - var(--lines)) / 9), 1px)}}.compare__board .board-area{width:var(--board-outer)}.compare-key{justify-content:center;margin-top:6px}.compare-key__cell{--cell:30px;width:var(--cell);height:var(--cell);border:1px solid var(--grid-thin);background:var(--cell-bg);font-family:var(--font);font-size:calc(var(--cell) * .56);flex:none;place-items:center;font-weight:600;line-height:1;display:grid;position:relative}.compare-digit{forced-color-adjust:none;line-height:1;display:inline-block;position:relative}.compare-digit--both{color:var(--ink-both)}.compare-digit--mine{color:var(--ink-you)}.compare-digit--theirs{color:var(--ink-friend);font-style:italic}.compare-digit--mine:after,.compare-digit--theirs:after{content:"";height:max(2px,.09em);position:absolute;bottom:-.18em;left:-.06em;right:-.06em}.compare-digit--mine:after{background:currentColor}.compare-digit--theirs:after{background:repeating-linear-gradient(90deg,currentColor 0 3px,#0000 3px 5px)}.compare-split{padding:max(2px, calc(var(--cell) * .08)) max(2px, calc(var(--cell) * .1)) max(4px, calc(var(--cell) * .14));font-size:max(10px, calc(var(--cell) * .36));grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;font-weight:700;display:grid;position:absolute;inset:0}.compare-split .compare-digit--mine{grid-area:1/1;place-self:start}.compare-split .compare-digit--theirs{grid-area:2/2;place-self:end}.compare__refusal{margin:0}@media (width<=499px){.dialog--compare .dialog__body{padding-left:16px;padding-right:16px}.compare{--chart-height:clamp(96px, calc(100dvh - 555px), 160px)}.compare__board{--board-size:clamp(160px, min(calc(100vw - 32px), calc(100dvh - var(--chart-height) - var(--stack-rest) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))), 400px)}}@media (width<=499px) and (height<=700px){.compare{--stack-rest:300px}.compare__subtitle{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}}@media (height<=500px) and (width>=500px){.dialog--compare{max-width:760px;height:calc(100dvh - 24px)}.dialog--compare .dialog__body{padding:6px 16px 12px;container:compare-body/size}.compare{grid-template:"board panel""key panel"1fr"after after"/auto minmax(0,1fr);align-items:start;gap:8px 16px;display:grid}.compare__subtitle{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.compare__board{--board-size:clamp(150px, calc(100cqh - 56px), 360px);grid-area:board}.compare-key{grid-area:key;grid-template-columns:repeat(2,auto);gap:4px 10px;margin-top:0;font-size:.75rem;display:grid}.compare-key__cell{--cell:22px}.compare__panel{grid-area:panel;gap:4px;height:100cqh}.compare__caption,.compare-chart__readout{font-size:.8125rem}.compare-chart{--chart-height:100%;flex:1 1 0;min-height:40px}.compare__after{grid-area:after;margin-top:4px}.compare-legend{gap:2px 10px;font-size:.75rem}.compare-legend__key{width:22px}}.dialog--enter{max-width:460px}.enter__name{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.enter__name .field__input{flex:1;min-width:0}.enter{--enter-key:min(var(--key-height), 52px);flex-direction:column;gap:6px;display:flex}.enter__board{--board-size:clamp(200px, min(calc(100vw - 32px), calc(100dvh - 234px - 2 * var(--enter-key) - var(--controls-gap) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))), 400px);--frame:calc(clamp(3px, 3px + (var(--board-size) - 399.98px) * 1000, 4px) + var(--line-boost));--thick:calc(clamp(2px, 2px + (var(--board-size) - 399.98px) * 1000, 3px) + var(--line-boost));--thin:1px;--lines:calc(2 * var(--frame) + 2 * var(--thick) + 6 * var(--thin));--cell:calc((var(--board-size) - var(--lines)) / 9);--board-outer:calc(9 * var(--cell) + var(--lines));width:var(--board-outer);align-self:center}@supports (width:round(down, 10.5px, 1px)){.enter__board{--cell:round(down, calc((var(--board-size) - var(--lines)) / 9), 1px)}}.enter__board .cell--given{cursor:pointer}.enter__panel{flex-direction:column;gap:6px;min-width:0;display:flex}.enter__status{min-height:1.45em;margin:0;font-size:.875rem;font-weight:600}.enter__pad{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-areas:"d1 d2 d3 d4 d5""d6 d7 d8 d9 erase";grid-auto-rows:var(--enter-key);gap:var(--controls-gap);display:grid}.enter__pad .numpad__key{font-size:min(1.5rem, calc(var(--enter-key) * .56))}.enter__actions{gap:6px;display:flex}.enter__actions .button{flex:1 1 0;min-width:0;padding-inline:4px}.enter__hint{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.3}.enter__actions .button[aria-disabled=true],.enter__actions .button[aria-disabled=true]:hover,.enter__actions .button[aria-disabled=true]:active{background:var(--button-bg);opacity:.5;cursor:default}.enter__actions .enter__play[aria-disabled=true],.enter__actions .enter__play[aria-disabled=true]:hover,.enter__actions .enter__play[aria-disabled=true]:active{background:var(--accent)}.dialog--enter .dialog__body{padding-bottom:12px}@media (width<=499px){.dialog--enter .dialog__body{padding:6px 16px calc(12px + env(safe-area-inset-bottom))}}@media (height<=500px) and (width>=500px){.dialog--enter{max-width:680px}.dialog--enter .dialog__body{padding:6px 16px 12px}.enter{flex-direction:row;align-items:flex-start;gap:16px}.enter__board{--board-size:clamp(160px, calc(100dvh - 104px), 400px);flex:none}.enter__panel{flex:1}}.dialog--walkthrough{max-width:560px}@media (width>=720px){.dialog--walkthrough{max-width:860px}}.walkthrough__intro{max-width:62ch;color:var(--text-muted);margin:0 0 12px;font-size:.875rem;line-height:1.45}.walkthrough__charge{color:var(--text);font-weight:600}.walkthrough__charge--page{flex-basis:100%;margin:0;font-size:.875rem}.walkthrough__step{min-width:0;container:worked-example/inline-size}.walkthrough__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px 16px;margin-bottom:14px;display:flex}.walkthrough__title{font-family:var(--font-display);letter-spacing:-.01em;flex-direction:column;gap:2px;margin:0;font-size:1.5rem;font-weight:800;line-height:1.2;display:flex}.walkthrough__title:focus{outline:none}.walkthrough__title:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.walkthrough__count{color:var(--text-muted);font-family:var(--font);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.walkthrough__question{min-height:32px;color:var(--accent);text-align:left;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:.9375rem;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.walkthrough__question-icon{flex:none;width:18px;height:18px}@media (hover:hover){.walkthrough__question:hover{text-decoration-thickness:2px}}.walkthrough__question:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.walkthrough__answer{border-left:4px solid var(--success);border-radius:0 var(--radius) var(--radius) 0;background:var(--surface);flex-direction:column;gap:2px;margin:14px 0 0;padding:10px 14px 12px;display:flex}.walkthrough__answer-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.walkthrough__answer-text{font-family:var(--font-display);font-size:1.25rem;font-weight:700;line-height:1.3}.walkthrough__answer strong{color:color-mix(in srgb, var(--success) 85%, var(--text));font-weight:800}.walkthrough__pager{flex:1;align-items:stretch;gap:12px;min-width:0;display:flex}.walkthrough__page{border:1px solid var(--key-border);border-radius:var(--radius);min-width:0;max-width:calc(50% - 6px);min-height:44px;color:var(--text);text-align:left;background:0 0;flex-direction:column;flex:0 auto;justify-content:center;align-items:flex-start;gap:2px;padding:6px 14px;display:flex}.walkthrough__page--next{text-align:right;align-items:flex-end;margin-left:auto}.walkthrough__page:only-child{max-width:100%}.walkthrough__page-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.walkthrough__page-title{text-wrap:balance;font-weight:600;line-height:1.25}@media (hover:hover){.walkthrough__page:hover{background:var(--surface)}}.walkthrough__page:active{background:var(--key-bg)}.walkthrough__page:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.walkthrough__done{margin-left:auto}.struck__advice{line-height:1.45}@media (height<=500px) and (width>=500px){.dialog--walkthrough{height:calc(100dvh - 24px)}.dialog--walkthrough .dialog__body{padding-bottom:12px;container:walkthrough-body/size}.dialog--walkthrough .dialog__footer{padding-top:8px;padding-bottom:8px}.walkthrough{grid-template-rows:auto auto 1fr;grid-template-columns:min(360px,100cqh) minmax(0,1fr);column-gap:20px;display:grid}.walkthrough__intro{grid-area:1/2}.walkthrough__intro[data-read]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.walkthrough__step{grid-area:1/1/-1/-1;grid-template-columns:subgrid;grid-template-rows:subgrid;align-items:start;display:grid;container-type:normal}.walkthrough__step .technique-diagram{display:contents}.walkthrough__step .technique-diagram__board{grid-area:1/1/-1/2;position:sticky;top:0}.walkthrough__header{grid-area:2/2}.walkthrough__step .technique-diagram__text{grid-area:3/2}}@media (pointer:coarse){.button,.button--small,.tabs__tab,.settings__theme-option{min-height:44px}.dialog__close{width:44px;height:44px}.compare__select{min-height:44px}.settings__row{min-height:56px}.walkthrough__question,.guide__link{min-height:44px}.calendar__step{width:44px;height:44px}.playback__scrubber{--thumb:24px;height:44px}.playback__speed{min-height:40px}}@media (forced-colors:active){.dialog{border:1px solid canvastext}.button,.dialog__close,.tabs__tab,.settings__theme-option{border:1px solid buttontext}.button--primary,.button--danger{color:buttontext;background:buttonface;border-width:2px;border-color:buttontext}.button--primary:active:not(:disabled),.button--danger:active:not(:disabled){background:buttonface;border-color:highlight}.history-item__current{color:canvastext;background:canvas}.button:disabled{color:graytext;border-color:graytext}.comparison,.stats__item,.streaks__item,.share__preview,.result__badge,.history-item__current,.history-item__chip,.guide__tier,.guide__step,.walkthrough__page,.walkthrough__answer{border:1px solid canvastext}.walkthrough__answer{border-left-width:4px}.walkthrough__question{color:linktext}.guide__link[aria-current=true]{forced-color-adjust:none;color:highlighttext;background:highlight;border-color:highlight}.technique-diagram__board,.technique-diagram__swatch{forced-color-adjust:none}.technique-diagram__shading{display:none}.technique-diagram__outlines{display:inline}.technique-diagram__outlines rect{fill:none;stroke:canvastext;stroke-width:2px;stroke-dasharray:5 3}.technique-diagram__outlines rect[data-shade=clear]{stroke-dasharray:1.5 3}.technique-diagram__swatch--look{border:1px dashed canvastext}.technique-diagram__swatch--clear{border:1px dotted canvastext}.technique-diagram__target-swatch,.technique-diagram__ruled-out-swatch{forced-color-adjust:none}.tabs__tab[aria-selected=true]{forced-color-adjust:none;color:highlighttext;background:highlight;border-color:highlight}.settings__theme-option:has(input:checked){forced-color-adjust:none;color:highlighttext;background:highlight;border-color:highlight}.calendar__day.calendar__day--selected{forced-color-adjust:none;color:highlighttext;background:highlight}.calendar__day--selected .daily-mark{color:highlighttext}.calendar__day--today{outline-offset:-2px;outline:2px solid canvastext}.calendar__day--selected.calendar__day--today{outline-offset:-4px;outline-color:highlighttext}.settings__switch{forced-color-adjust:none;background:canvas;border:1px solid canvastext}.settings__switch:before{background:canvastext;top:2px;left:2px}.settings__switch:checked{background:highlight;border-color:highlight}.settings__switch:checked:before{background:highlighttext}.button:focus-visible,.dialog__close:focus-visible,.tabs__tab:focus-visible,.field__input:focus-visible,.guide__select:focus-visible,.friends__select:focus-visible,.compare__select:focus-visible,.walkthrough__title:focus-visible,.walkthrough__question:focus-visible,.walkthrough__page:focus-visible,.calendar__day:focus-visible,.settings__switch:focus-visible{outline-color:highlight}.settings__theme-option:has(input:focus-visible){outline-color:highlight}.playback__ticks,.playback__key .playback__tick{forced-color-adjust:none}.playback__tick--mistake,.playback__tick--help{background:canvastext}.playback__tick--slip{background:canvas;border-color:canvastext}.playback__speed{border:1px solid buttontext}.playback__speed:has(input:checked){forced-color-adjust:none;color:highlighttext;background:highlight;border-color:highlight}.playback__range:focus-visible{outline-color:highlight}.playback__speed:has(input:focus-visible){outline-color:highlight}}@media (forced-colors:active) and (hover:hover){.button--primary:hover:not(:disabled),.button--danger:hover:not(:disabled){background:buttonface;border-color:highlight}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4eee2;--surface:#ebe3d3;--surface-raised:#fffcf5;--border:#cbc1ad;--text:#17150f;--text-muted:#5a5348;--accent:#1d3ba8;--accent-text:#fffcf5;--grid-thin:#6a665a;--grid-thick:#17150f;--cell-bg:#fffcf5;--cell-given-bg:#d6d5d1;--hl-peer:#f0deb0;--hl-same:#acb9e8;--hl-selected:#1d3ba8;--hl-peer-given:#cebc86;--hl-same-given:#9a9ec7;--hl-selected-given:#162e86;--hl-step:#aed3bd;--hl-step-given:#afc0b6;--hl-ring:#17150f;--cell-focus:#fffcf5;--hl-same-ring:transparent;--hl-same-ring-width:0px;--line-boost:0px;--digit-given:#17150f;--digit-given-selected:#fffcf5;--digit-player:#1a2566;--digit-player-selected:#fffcf5;--digit-correct:#11532a;--digit-correct-selected:#a6ecbb;--digit-revealed:#781d62;--digit-revealed-selected:#fbc2ea;--candidate:#47423a;--candidate-selected:#f1ece0;--candidate-same:#47423a;--danger:#920e0a;--danger-selected:#ffa294;--success:#11532a;--series-you:#2f5fd0;--series-friend:#c9541a;--ink-you:#1f3fae;--ink-friend:#8a3a0e;--ink-both:#5a5348;--level-easy:#139a6f;--level-medium:#2f5fd0;--level-hard:#c5492e;--level-expert:#82326c;--level-beyond:#b38923;--key-bg:#fffcf5;--key-bg-active:#ebe3d3;--key-bg-pressed:#dcd2bd;--key-border:#858072;--button-bg:#ebe3d3;--shadow:0 1px 2px #17150f1a, 0 12px 32px #17150f29;--radius:3px;--font:"Schibsted Grotesk Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Bitter Variable", Rockwell, Georgia, serif;--font-digits:"Bitter Variable", Rockwell, Georgia, serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1916;--surface:#22201c;--surface-raised:#2b2924;--border:#48443c;--text:#f3eee4;--text-muted:#b6ae9f;--accent:#93a5ff;--accent-text:#13120f;--grid-thin:#8f897d;--grid-thick:#f3eee4;--cell-bg:#131210;--cell-given-bg:#2a2826;--hl-peer:#3d2f12;--hl-same:#34458a;--hl-selected:#93a5ff;--hl-peer-given:#4d3b16;--hl-same-given:#3f4f8e;--hl-selected-given:#a9b8ff;--hl-step:#1b3729;--hl-step-given:#2d4338;--hl-ring:#f3eee4;--cell-focus:#13120f;--hl-same-ring:transparent;--hl-same-ring-width:0px;--line-boost:0px;--digit-given:#fcf6ec;--digit-given-selected:#13120f;--digit-player:#dfe5ff;--digit-player-selected:#13120f;--digit-correct:#7fdb9b;--digit-correct-selected:#0b3d1d;--digit-revealed:#f2a9dd;--digit-revealed-selected:#541043;--candidate:#ddd6c8;--candidate-selected:#26231e;--candidate-same:#ddd6c8;--danger:#ff988a;--danger-selected:#8a1209;--success:#7fdb9b;--series-you:#6585ec;--series-friend:#dd6a2c;--ink-you:#b8c6ff;--ink-friend:#ffb48a;--ink-both:#b6ae9f;--level-easy:#24aa7a;--level-medium:#6d70e5;--level-hard:#c94b1d;--level-expert:#b253a6;--level-beyond:#b68d24;--key-bg:#2b2924;--key-bg-active:#37342e;--key-bg-pressed:#46423a;--key-border:#7f786c;--button-bg:#3a3731;--shadow:0 12px 32px #0009}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1916;--surface:#22201c;--surface-raised:#2b2924;--border:#48443c;--text:#f3eee4;--text-muted:#b6ae9f;--accent:#93a5ff;--accent-text:#13120f;--grid-thin:#8f897d;--grid-thick:#f3eee4;--cell-bg:#131210;--cell-given-bg:#2a2826;--hl-peer:#3d2f12;--hl-same:#34458a;--hl-selected:#93a5ff;--hl-peer-given:#4d3b16;--hl-same-given:#3f4f8e;--hl-selected-given:#a9b8ff;--hl-step:#1b3729;--hl-step-given:#2d4338;--hl-ring:#f3eee4;--cell-focus:#13120f;--hl-same-ring:transparent;--hl-same-ring-width:0px;--line-boost:0px;--digit-given:#fcf6ec;--digit-given-selected:#13120f;--digit-player:#dfe5ff;--digit-player-selected:#13120f;--digit-correct:#7fdb9b;--digit-correct-selected:#0b3d1d;--digit-revealed:#f2a9dd;--digit-revealed-selected:#541043;--candidate:#ddd6c8;--candidate-selected:#26231e;--candidate-same:#ddd6c8;--danger:#ff988a;--danger-selected:#8a1209;--success:#7fdb9b;--series-you:#6585ec;--series-friend:#dd6a2c;--ink-you:#b8c6ff;--ink-friend:#ffb48a;--ink-both:#b6ae9f;--level-easy:#24aa7a;--level-medium:#6d70e5;--level-hard:#c94b1d;--level-expert:#b253a6;--level-beyond:#b68d24;--key-bg:#2b2924;--key-bg-active:#37342e;--key-bg-pressed:#46423a;--key-border:#7f786c;--button-bg:#3a3731;--shadow:0 12px 32px #0009}:root[data-theme=contrast]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#121212;--surface-raised:#1a1a1a;--border:#8c8c8c;--text:#fff;--text-muted:#d4d4d4;--accent:#ffd60a;--accent-text:#000;--grid-thin:#8c8c8c;--grid-thick:#fff;--cell-bg:#000;--cell-given-bg:#1f1f1f;--hl-peer:#282e40;--hl-same:#484400;--hl-selected:#ffd60a;--hl-peer-given:#32384a;--hl-same-given:#524e06;--hl-selected-given:#e6be00;--hl-step:#122e1d;--hl-step-given:#293d31;--hl-ring:#fff;--cell-focus:#000;--hl-same-ring:#ffd60a;--hl-same-ring-width:2px;--line-boost:1px;--digit-given:#fff;--digit-given-selected:#000;--digit-player:#a6e1ff;--digit-player-selected:#000;--digit-correct:#7dff9b;--digit-correct-selected:#0b3d1d;--digit-revealed:#ffcdf1;--digit-revealed-selected:#541043;--candidate:#ebebeb;--candidate-selected:#000;--candidate-same:#ffd60a;--danger:#ffa093;--danger-selected:#8a1209;--success:#7dff9b;--series-you:#6889fc;--series-friend:#e46c26;--ink-you:#b8c8ff;--ink-friend:#ffb98f;--ink-both:#a8a8a8;--level-easy:#24aa7a;--level-medium:#6d70e5;--level-hard:#c94b1d;--level-expert:#b253a6;--level-beyond:#b68d24;--key-bg:#121212;--key-bg-active:#262626;--key-bg-pressed:#3a3a3a;--key-border:#a6a6a6;--button-bg:#262626;--shadow:none}@media (prefers-color-scheme:dark) and (prefers-contrast:more){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#121212;--surface-raised:#1a1a1a;--border:#8c8c8c;--text:#fff;--text-muted:#d4d4d4;--accent:#ffd60a;--accent-text:#000;--grid-thin:#8c8c8c;--grid-thick:#fff;--cell-bg:#000;--cell-given-bg:#1f1f1f;--hl-peer:#282e40;--hl-same:#484400;--hl-selected:#ffd60a;--hl-peer-given:#32384a;--hl-same-given:#524e06;--hl-selected-given:#e6be00;--hl-step:#122e1d;--hl-step-given:#293d31;--hl-ring:#fff;--cell-focus:#000;--hl-same-ring:#ffd60a;--hl-same-ring-width:2px;--line-boost:1px;--digit-given:#fff;--digit-given-selected:#000;--digit-player:#a6e1ff;--digit-player-selected:#000;--digit-correct:#7dff9b;--digit-correct-selected:#0b3d1d;--digit-revealed:#ffcdf1;--digit-revealed-selected:#541043;--candidate:#ebebeb;--candidate-selected:#000;--candidate-same:#ffd60a;--danger:#ffa093;--danger-selected:#8a1209;--success:#7dff9b;--series-you:#6889fc;--series-friend:#e46c26;--ink-you:#b8c8ff;--ink-friend:#ffb98f;--ink-both:#a8a8a8;--level-easy:#24aa7a;--level-medium:#6d70e5;--level-hard:#c94b1d;--level-expert:#b253a6;--level-beyond:#b68d24;--key-bg:#121212;--key-bg-active:#262626;--key-bg-pressed:#3a3a3a;--key-border:#a6a6a6;--button-bg:#262626;--shadow:none}}@media (forced-colors:active){:root:root{--bg:Canvas;--surface:Canvas;--surface-raised:Canvas;--border:CanvasText;--text:CanvasText;--text-muted:CanvasText;--accent:Highlight;--accent-text:HighlightText;--grid-thin:CanvasText;--grid-thick:CanvasText;--cell-bg:Canvas;--cell-given-bg:ButtonFace;--hl-peer:Canvas;--hl-same:Canvas;--hl-selected:Highlight;--hl-peer-given:ButtonFace;--hl-same-given:ButtonFace;--hl-selected-given:Highlight;--hl-step:Canvas;--hl-step-given:ButtonFace;--hl-ring:HighlightText;--cell-focus:HighlightText;--hl-same-ring:transparent;--hl-same-ring-width:0px;--line-boost:0px;--digit-given:CanvasText;--digit-given-selected:HighlightText;--digit-player:LinkText;--digit-player-selected:HighlightText;--digit-correct:CanvasText;--digit-correct-selected:HighlightText;--digit-revealed:CanvasText;--digit-revealed-selected:HighlightText;--candidate:CanvasText;--candidate-selected:HighlightText;--candidate-same:CanvasText;--danger:CanvasText;--danger-selected:HighlightText;--success:CanvasText;--series-you:LinkText;--series-friend:CanvasText;--ink-you:LinkText;--ink-friend:CanvasText;--ink-both:CanvasText;--level-easy:LinkText;--level-medium:LinkText;--level-hard:LinkText;--level-expert:LinkText;--level-beyond:LinkText;--key-bg:ButtonFace;--key-bg-active:Highlight;--key-bg-pressed:Highlight;--key-border:ButtonText;--button-bg:ButtonFace;--shadow:none}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}input,select,textarea{font:inherit}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
