@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_7878db25-module__0eKFlW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_7878db25-module__0eKFlW__variable{--font-sans:"Manrope", "Manrope Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_f49874be-module__RUqS_q__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_f49874be-module__RUqS_q__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f3f6f1;--surface:#fbfcf8;--surface-raised:#edf2eb;--surface-strong:#e1e9df;--ink:#17211c;--ink-soft:#526057;--ink-faint:#5f6b63;--line:#cbd5cc;--line-strong:#aab8ac;--accent:#39784a;--accent-strong:#285c38;--accent-soft:#d8e9db;--tile-dark:#203129;--tile-dark-ink:#eef5ef;--danger:#a43c35;--danger-soft:#f5dedb;--shadow:0 24px 60px #233d2b1f;--shadow-small:0 10px 30px #233d2b17;--type-display:clamp(2.75rem, 5vw, 4rem);--type-section:clamp(1.875rem, 3.25vw, 2.75rem);--type-card:clamp(1.5rem, 2.3vw, 2.25rem);--radius-card:24px;--radius-control:12px;--radius-small:8px;--header-height:72px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#111713;--surface:#18211b;--surface-raised:#202c24;--surface-strong:#29382e;--ink:#eaf2eb;--ink-soft:#b3c0b6;--ink-faint:#8e9b91;--line:#33453a;--line-strong:#4b6051;--accent:#76b783;--accent-strong:#99cba3;--accent-soft:#24432e;--tile-dark:#dbe8dd;--tile-dark-ink:#17211c;--danger:#ef8c82;--danger-soft:#492522;--shadow:0 24px 60px #040a0652;--shadow-small:0 10px 30px #040a0640}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#111713;--surface:#18211b;--surface-raised:#202c24;--surface-strong:#29382e;--ink:#eaf2eb;--ink-soft:#b3c0b6;--ink-faint:#8e9b91;--line:#33453a;--line-strong:#4b6051;--accent:#76b783;--accent-strong:#99cba3;--accent-soft:#24432e;--tile-dark:#dbe8dd;--tile-dark-ink:#17211c;--danger:#ef8c82;--danger-soft:#492522;--shadow:0 24px 60px #040a0652;--shadow-small:0 10px 30px #040a0640}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{background:var(--page);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}body:before{z-index:-1;background-image:linear-gradient(to right, color-mix(in srgb, var(--line) 18%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--line) 18%, transparent) 1px, transparent 1px);content:"";pointer-events:none;background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000052,#0000 620px);mask-image:linear-gradient(#00000052,#0000 620px)}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:3px}::selection{background:var(--accent);color:var(--surface)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em;line-height:1.06}h1{font-size:var(--type-display);margin-bottom:20px;font-weight:760}h2{font-size:var(--type-section);font-weight:740}h3{font-size:1.25rem;line-height:1.2}p{color:var(--ink-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-small);background:var(--ink);color:var(--page);padding:10px 14px;transition:transform .16s;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(100% - 40px,1220px);margin-inline:auto}.page-section{padding-block:88px}.game-kicker{color:var(--accent-strong);font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:14px;font-size:.76rem;font-weight:600;line-height:1.3;display:inline-flex}.section-heading{max-width:720px;margin-bottom:40px}.section-heading h2{margin-bottom:14px}.section-heading p{max-width:62ch;margin-bottom:0;font-size:1.05rem}.compact-heading{margin-bottom:28px}.compact-heading h2{font-size:clamp(1.5rem,2.5vw,2.125rem)}.button{border-radius:var(--radius-control);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:11px 17px;font-weight:720;line-height:1.2;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .12s;display:inline-flex}.button svg{width:19px;height:19px}.button:active,.icon-button:active{transform:translateY(1px)scale(.985)}.button-primary{background:var(--accent-strong);color:#f2f7f2}:root[data-theme=dark] .button-primary{color:#132018}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .button-primary{color:#132018}}.button-primary:hover{background:var(--accent)}.button-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.button-secondary:hover{border-color:var(--accent);color:var(--accent-strong)}.button-full{width:100%}.text-link,.section-link{color:var(--accent-strong);align-items:center;gap:7px;font-weight:720;text-decoration:none;display:inline-flex}.text-link svg,.section-link svg{width:18px;height:18px;transition:transform .16s}.text-link:hover svg,.section-link:hover svg{transform:translate(3px)}.icon-button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;place-items:center;width:42px;height:42px;padding:0;transition:border-color .16s,background-color .16s,transform .12s;display:inline-grid}.icon-button:hover{border-color:var(--accent);background:var(--accent-soft)}.icon-button svg{width:19px;height:19px}.site-header{z-index:20;height:var(--header-height);border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent);background:color-mix(in srgb, var(--page) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(130%);position:sticky;top:0}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;height:100%;display:grid}.brand{letter-spacing:-.025em;align-items:center;gap:11px;width:fit-content;font-size:1rem;font-weight:790;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--tile-dark);background:var(--surface);width:34px;height:34px;font-family:var(--font-mono), monospace;text-align:center;border-radius:9px;grid-template-columns:repeat(2,1fr);font-size:.64rem;font-weight:700;line-height:15px;display:grid;overflow:hidden}.brand-mark span:nth-child(2),.brand-mark span:nth-child(3){background:var(--tile-dark);color:var(--tile-dark-ink)}.desktop-navigation{justify-content:center;align-items:center;gap:clamp(14px,2vw,28px);min-width:0;display:flex}.desktop-navigation a{color:var(--ink-soft);white-space:nowrap;font-size:.92rem;font-weight:650;text-decoration:none;transition:color .16s,text-decoration-color .16s}.desktop-navigation a:hover{color:var(--accent-strong)}.desktop-navigation a[aria-current=page]{color:var(--accent-strong);text-underline-offset:7px;font-weight:760;text-decoration:underline;text-decoration-thickness:2px}.header-actions{justify-self:end;align-items:center;gap:9px;display:flex}.mobile-navigation{display:none}.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:72px}.footer-grid{grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(130px,.7fr));gap:48px;padding-block:64px 46px;display:grid}.footer-brand{margin-bottom:12px;font-size:1.22rem;font-weight:790;text-decoration:none;display:inline-block}.footer-grid p{max-width:38ch;margin:0;font-size:.92rem}.footer-grid nav{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.footer-grid nav strong{margin-bottom:4px;font-size:.87rem}.footer-grid nav a{color:var(--ink-soft);font-size:.87rem;text-decoration:none}.footer-grid nav a:hover{color:var(--accent-strong);text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-mono), monospace;justify-content:space-between;gap:24px;padding-block:18px 26px;font-size:.73rem;display:flex}.breadcrumbs{margin-bottom:30px}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{color:var(--ink-faint);align-items:center;gap:4px;font-size:.82rem;display:inline-flex}.breadcrumbs svg{width:13px;height:13px}.breadcrumbs a{color:var(--ink-soft);text-decoration:none}.breadcrumbs a:hover{color:var(--accent-strong)}.daily-section,.game-page-section{padding-top:52px}.game-page-heading{grid-template-columns:minmax(0,900px);justify-content:center;margin-bottom:34px;display:grid}.game-page-heading>div:first-child{text-align:center;width:100%;max-width:900px;margin-inline:auto}.game-page-heading p{margin-inline:auto}.game-page-heading h1{margin-bottom:16px}.game-page-heading p{max-width:65ch;margin-bottom:0;font-size:clamp(1rem,1.35vw,1.125rem)}.game{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:30px;position:relative;overflow:hidden}.print-puzzle-sheet{display:none}.game-topline{border-bottom:1px solid var(--line);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:24px;min-height:78px;padding:16px 22px;display:flex}.game-topline .game-heading{flex-direction:column;display:flex}.game-topline .game-kicker{margin:0 0 2px;font-size:.66rem}.game-topline strong{font-size:1rem}.game-topline--daily{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px;display:grid}.game-topline--daily .game-heading{display:contents}.game-topline--daily .game-kicker{color:var(--accent-strong);letter-spacing:-.02em;text-transform:none;grid-area:1/2;place-self:center;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.15rem,2.25vw,1.5rem);font-style:italic;font-weight:700;line-height:1.1}.game-topline--daily .game-kicker:before,.game-topline--daily .game-kicker:after{background:var(--accent);content:"";vertical-align:middle;width:30px;height:1px;margin:0 11px;display:inline-block}.game-topline--daily .game-heading strong{grid-area:1/1;align-self:center}.game-topline--daily .game-metrics{grid-area:1/3;place-self:center end;align-items:center}.game-metrics{color:var(--ink-soft);font-family:var(--font-mono), monospace;align-items:center;gap:18px;font-size:.75rem;display:flex}.game-metrics span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.game-metrics svg{width:15px;height:15px}.game-layout{grid-template-columns:265px minmax(0,1fr);display:grid}.game-layout.game-layout--centered{grid-template-columns:minmax(0,1fr)}.game-layout--centered .board-column{width:min(100%,760px);margin-inline:auto}.game-options{border-right:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 48%, var(--surface));flex-direction:column;gap:24px;padding:26px 22px;display:flex}.option-group{flex-direction:column;gap:9px;display:flex}.option-label{color:var(--ink-faint);font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:600}.choice-grid{gap:6px;display:grid}.difficulty-choices{grid-template-columns:repeat(2,1fr)}.choice-grid button{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);width:100%;min-height:38px;color:var(--ink-soft);text-align:center;cursor:pointer;justify-content:center;align-items:center;padding:7px 5px;font-family:inherit;font-size:.72rem;font-weight:680;text-decoration:none;transition:border-color .16s,background-color .16s,color .16s;display:flex}.choice-grid button:not(:disabled):hover{border-color:var(--accent);color:var(--accent-strong)}.choice-grid button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.choice-grid button:disabled{cursor:default}.quality-note{border-top:1px solid var(--line);align-items:flex-start;gap:9px;padding-top:18px;display:flex}.quality-note>svg{width:19px;height:19px;color:var(--accent);flex:none}.quality-note span{flex-direction:column;min-width:0;display:flex}.quality-note strong{font-size:.75rem}.board-column{flex-direction:column;align-items:center;min-width:0;padding:28px;display:flex}.board-wrap{width:min(100%,650px)}.puzzle-board,.board-skeleton{aspect-ratio:1;grid-template-columns:repeat(var(--board-size), minmax(0, 1fr));border:2px solid var(--tile-dark);background:var(--line-strong);width:100%;box-shadow:0 14px 32px color-mix(in srgb, var(--tile-dark) 12%, transparent);border-radius:18px;gap:1px;padding:2px;display:grid;position:relative;overflow:hidden}.puzzle-cell{background:var(--surface);min-width:0;min-height:0;color:var(--ink);font-family:var(--font-mono), monospace;font-size:clamp(.66rem, calc(2.05rem - var(--board-size) * .078rem), 1.52rem);cursor:pointer;border:0;border-radius:0;place-items:center;padding:0;font-weight:650;line-height:1;transition:background-color .11s,color .11s,box-shadow .11s,transform 90ms;display:grid;position:relative}.puzzle-cell.is-given{cursor:default;font-weight:700}.puzzle-cell.is-given.value-0{background:var(--surface-strong)}.puzzle-cell.is-given.value-1{background:var(--tile-dark);color:var(--tile-dark-ink)}.puzzle-cell.is-editable.value-0{background:color-mix(in srgb, var(--accent-soft) 56%, var(--surface));color:var(--accent-strong)}.puzzle-cell.is-editable.value-1{background:color-mix(in srgb, var(--accent) 25%, var(--surface));color:var(--accent-strong)}.puzzle-cell.is-editable:hover{background:var(--accent-soft)}.puzzle-cell.is-editable:active{transform:scale(.96)}.puzzle-cell.is-selected{z-index:1;box-shadow:inset 0 0 0 3px var(--accent)}.puzzle-cell.is-hint-related:not(.is-selected){box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 58%, transparent)}.puzzle-board .puzzle-cell.has-conflict{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 2px var(--danger)}.puzzle-board .puzzle-cell.has-conflict.is-given{outline:1px dashed var(--danger);outline-offset:-5px}.puzzle-board .puzzle-cell.has-conflict.is-selected{outline:3px solid var(--ink);outline-offset:-5px}.cell-conflict-mark{width:clamp(6px, calc(24px - var(--board-size) * 1.3px), 16px);aspect-ratio:1;background:var(--danger);color:var(--danger-soft);font:bold clamp(6px, calc(18px - var(--board-size) * .8px), 12px)/1 sans-serif;pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;right:0}.check-panel{width:min(100%,650px);scroll-margin-top:calc(var(--header-height) + 16px);border:1px solid var(--accent);background:var(--surface);color:var(--ink);border-left-width:4px;border-radius:12px;margin-bottom:16px;padding:16px;font-size:.82rem}.check-panel.has-issues{border-color:var(--danger)}.check-heading,.check-heading>div,.check-actions{align-items:center;gap:8px;display:flex}.check-heading{justify-content:space-between;align-items:flex-start}.check-heading>div{color:var(--accent-strong)}.has-issues .check-heading>div{color:var(--danger)}.check-heading svg{flex-shrink:0;width:22px;height:22px}.check-heading>button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;flex-shrink:0;min-height:32px;text-decoration:underline}.check-detail{background:var(--danger-soft);border-radius:6px;margin-top:12px;padding:12px}.check-position{color:var(--danger);font-size:.72rem;font-weight:650}.check-detail h3{color:var(--ink);margin:4px 0 6px;font-size:1rem}.check-panel p{margin:8px 0 0;line-height:1.55}.check-detail p{margin:0}.check-actions{flex-wrap:wrap;margin-top:12px}.check-actions button{border:1px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:.78rem;font-weight:650}.check-actions button:hover:not(:disabled){background:var(--surface-strong)}.check-actions button:disabled{opacity:.45;cursor:default}.check-actions button:last-child{margin-left:auto}.check-legend{color:var(--ink-soft);font-size:.72rem}.check-legend>span{background:var(--danger);color:var(--danger-soft);border-radius:50%;padding:0 5px;font-weight:700;display:inline-block}.check-board-frame{grid-template-rows:20px auto;grid-template-columns:20px minmax(0,1fr);gap:4px;display:grid}.check-column-labels{grid-column:2;grid-template-columns:repeat(var(--board-size), 1fr);padding:0 4px;display:grid}.check-row-labels{grid-area:2/1;grid-template-rows:repeat(var(--board-size), 1fr);padding:4px 0;display:grid}.check-column-labels span,.check-row-labels span{color:var(--ink-soft);font:650 .65rem/1 var(--font-mono), monospace;place-items:center;display:grid}.check-column-labels .is-involved,.check-row-labels .is-involved{color:var(--danger);background:var(--danger-soft);border-radius:3px}.check-board-frame>.puzzle-board,.check-board-frame>.board-skeleton{grid-area:2/2}.check-board-frame .line-completion-layer{display:none}.puzzle-cell:disabled{cursor:default}.line-completion-layer{--line-completion-duration:2s;z-index:3;grid-template-columns:repeat(var(--board-size), minmax(0, 1fr));grid-template-rows:repeat(var(--board-size), minmax(0, 1fr));pointer-events:none;border-radius:14px;gap:1px;display:grid;position:absolute;inset:2px;overflow:hidden}.line-completion-sweep{background:color-mix(in srgb, var(--accent) 22%, transparent);animation:line-completion-pulse var(--line-completion-duration) cubic-bezier(.22, 1, .36, 1) both;position:relative;overflow:hidden}.line-completion-glint{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--tile-dark-ink) 78%, transparent) 46%, color-mix(in srgb, var(--accent-strong) 52%, transparent) 68%, transparent);will-change:transform, opacity;display:block;position:absolute}.line-completion-sweep.is-row .line-completion-glint{inset-block:0;width:42%;animation:line-completion-horizontal var(--line-completion-duration) cubic-bezier(.22, 1, .36, 1) both;left:0}.line-completion-sweep.is-column .line-completion-glint{top:0;background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--tile-dark-ink) 78%, transparent) 46%, color-mix(in srgb, var(--accent-strong) 52%, transparent) 68%, transparent);height:42%;animation:line-completion-vertical var(--line-completion-duration) cubic-bezier(.22, 1, .36, 1) both;inset-inline:0}@keyframes line-completion-pulse{0%,to{opacity:0}18%{opacity:.72}62%{opacity:.46}}@keyframes line-completion-horizontal{0%{opacity:0;transform:translate(-125%)}16%{opacity:1}to{opacity:0;transform:translate(350%)}}@keyframes line-completion-vertical{0%{opacity:0;transform:translateY(-125%)}16%{opacity:1}to{opacity:0;transform:translateY(350%)}}.cell-notes{width:100%;height:100%;color:var(--ink-faint);grid-template-columns:repeat(2,1fr);place-items:center;font-size:max(.48rem,38%);display:grid}.pause-cover{z-index:4;background:color-mix(in srgb, var(--surface) 94%, transparent);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:0;justify-content:center;align-items:center;gap:10px;font-weight:750;display:flex;position:absolute;inset:0}.pause-cover svg{width:24px;height:24px;color:var(--accent)}.board-skeleton span{background:var(--surface-raised);animation:1.1s ease-in-out infinite alternate skeleton-pulse}.board-skeleton span:nth-child(3n){animation-delay:.12s}.board-skeleton span:nth-child(4n){animation-delay:.24s}@keyframes skeleton-pulse{0%{opacity:.55}to{opacity:1}}.number-controls{grid-template-columns:1.25fr 1.25fr .9fr .9fr;gap:8px;width:min(100%,650px);margin-top:16px;display:grid}.number-controls button,.game-toolbar button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:48px;color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:.76rem;font-weight:700;transition:background-color .14s,border-color .14s,color .14s,transform 90ms;display:flex}.number-controls button:first-child,.number-controls button:nth-child(2){border-color:var(--tile-dark);background:var(--tile-dark);color:var(--tile-dark-ink);font-family:var(--font-mono), monospace;font-size:1.25rem}.number-controls button:hover,.game-toolbar button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.number-controls button:active,.game-toolbar button:active{transform:translateY(1px)scale(.98)}.number-controls button:disabled,.game-toolbar button:disabled{opacity:.42;cursor:not-allowed}.number-controls svg,.game-toolbar svg{width:18px;height:18px}.game-toolbar{grid-template-columns:repeat(6,1fr);gap:8px;width:min(100%,650px);margin-top:9px;display:grid}.hint-panel,.game-message{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));border-radius:var(--radius-control);background:var(--accent-soft);align-items:center;gap:14px;width:min(100%,650px);margin-top:14px;padding:15px;display:grid}.hint-panel{grid-template-columns:auto 1fr auto}.hint-icon{border-radius:var(--radius-small);background:var(--accent-strong);color:#f2f7f2;place-items:center;width:38px;height:38px;display:grid}.hint-icon svg{width:20px;height:20px}.hint-panel strong{margin-bottom:2px;font-size:.86rem;display:block}.hint-panel p{margin:0;font-size:.78rem;line-height:1.45}.hint-panel .button{min-height:40px;padding:8px 13px;font-size:.75rem}.game-message{color:var(--accent-strong);grid-template-columns:auto 1fr;font-size:.8rem;font-weight:650}.game-message svg{width:20px;height:20px}.game-message.is-error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger);grid-template-columns:auto 1fr auto}.game-message button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:750;text-decoration:underline}.keyboard-note{width:min(100%,650px);color:var(--ink-faint);font-family:var(--font-mono), monospace;text-align:center;margin-top:12px;font-size:.66rem}.rule-strip{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:repeat(3,1fr) auto;align-items:stretch;margin-top:18px;display:grid;overflow:hidden}.rule-strip-item{border-right:1px solid var(--line);align-items:flex-start;gap:12px;padding:18px;display:flex}.rule-strip-item>svg{width:23px;height:23px;color:var(--accent);flex:none}.rule-strip-item div{flex-direction:column;display:flex}.rule-strip-item strong{font-size:.8rem}.rule-strip-item span{color:var(--ink-faint);font-size:.7rem;line-height:1.45}.rule-strip>a{color:var(--accent-strong);white-space:nowrap;justify-content:center;align-items:center;padding:18px;font-size:.76rem;font-weight:720;text-decoration:none;display:flex}.rule-strip>a:hover{background:var(--accent-soft)}.guide-section{background:color-mix(in srgb, var(--surface-raised) 45%, transparent)}.guide-grid{grid-template-columns:1.18fr .82fr;gap:18px;display:grid}.article-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;box-shadow:var(--shadow-small);overflow:hidden}.article-card:nth-child(3n+2){background:color-mix(in srgb, var(--accent-soft) 44%, var(--surface))}.article-card-featured{grid-row:span 2}.article-card>a{height:100%;color:inherit;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);text-decoration:none;display:grid}.article-card:not(.article-card-featured)>a{grid-template-columns:150px minmax(0,1fr)}.article-card-visual{background:var(--surface-strong);place-items:center;min-height:220px;padding:26px;display:grid}.article-card:nth-child(2n) .article-card-visual{background:var(--tile-dark)}.article-card:not(.article-card-featured) .article-card-visual{min-height:180px;padding:20px}.article-card-copy{flex-direction:column;align-items:flex-start;padding:25px;display:flex}.article-card-meta{width:100%;color:var(--ink-faint);font-family:var(--font-mono), monospace;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;font-size:.65rem;display:flex}.article-card-meta span{align-items:center;gap:5px;display:inline-flex}.article-card-meta svg{width:13px;height:13px}.article-card h2{margin-bottom:10px;font-size:clamp(1.35rem,2.2vw,2rem)}.article-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:22px;font-size:.88rem;display:-webkit-box;overflow:hidden}.article-card .text-link{margin-top:auto;font-size:.8rem}.mini-puzzle{aspect-ratio:1;border:2px solid var(--tile-dark);background:var(--line-strong);width:min(100%,220px);box-shadow:0 18px 40px color-mix(in srgb, var(--tile-dark) 16%, transparent);border-radius:15px;grid-template-columns:repeat(6,1fr);gap:1px;padding:2px;display:grid;overflow:hidden;transform:rotate(-2deg)}.article-card:nth-child(2n) .mini-puzzle{border-color:var(--tile-dark-ink);transform:rotate(2deg)}.mini-puzzle span{background:var(--surface);color:var(--ink);font-family:var(--font-mono), monospace;place-items:center;font-size:clamp(.55rem,1.4vw,.9rem);font-weight:700;display:grid}.mini-puzzle span[data-value="1"]{background:var(--tile-dark);color:var(--tile-dark-ink)}.mini-puzzle span[data-value="0"]{background:var(--surface-raised)}.guide-section .section-link{margin-top:28px}.page-section.daily-section{padding-bottom:28px}.page-section.guide-section{padding-top:28px}.guide-section>.shell>.section-heading{text-align:center;margin-inline:auto}.guide-section>.shell>.section-heading p,.faq-heading p{margin-inline:auto}.faq-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:36px;display:grid}.faq-heading{text-align:center;width:100%;margin:0 auto}.faq-heading a{color:var(--accent-strong);align-items:center;gap:6px;margin-top:14px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.faq-list{border-top:1px solid var(--line-strong);width:min(100%,900px);margin-inline:auto}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:18px 3px;font-size:1rem;font-weight:720;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{width:19px;height:19px;color:var(--accent);flex:none;transition:transform .18s}.faq-list details[open] summary svg{transform:rotate(180deg)}.faq-list details p{max-width:65ch;margin-bottom:22px;padding-right:48px;font-size:.92rem}.blog-intro-layout{text-align:center;grid-template-columns:minmax(0,900px);justify-content:center;gap:20px;display:grid}.blog-intro h1{margin-bottom:0}.blog-intro-layout>p{max-width:65ch;margin:0 auto;font-size:1.05rem}.blog-intro-layout>div:first-child,.blog-intro-layout>p,.article-header-grid>div:first-child,.legal-page header{text-align:center}.article-header p,.legal-page header p{margin-inline:auto}.size-guide-points div{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);flex-direction:column;justify-content:space-between;min-height:112px;padding:19px;display:flex}.size-guide-points strong{color:var(--accent-strong);font-family:var(--font-mono), monospace;font-size:.75rem}.size-guide-points span{color:var(--ink-soft);font-size:.78rem;line-height:1.45}.size-guide{padding-bottom:54px}.size-guide-heading{text-align:center;max-width:820px;margin-inline:auto}.size-guide-heading p{max-width:74ch;margin-inline:auto;line-height:1.7}.size-guide-heading p+p{margin-top:14px}.size-guide-points{grid-template-columns:1.15fr .85fr 1.15fr;gap:12px;max-width:920px;margin:0 auto 58px;display:grid}.size-guide-points b{color:var(--ink);letter-spacing:-.025em;margin-block:12px 9px;font-size:clamp(1rem,1.8vw,1.25rem)}.size-tutorial-body{max-width:760px;margin-inline:auto}.size-tutorial-body>section{border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + 28px);padding-block:34px}.size-tutorial-body h3{letter-spacing:-.025em;margin-bottom:16px;font-size:clamp(1.35rem,2.4vw,1.8rem)}.size-tutorial-body p{color:var(--ink-soft);margin-bottom:16px;font-size:1rem;line-height:1.78}.size-tutorial-body p:last-child{margin-bottom:0}.size-tutorial-body>.size-print-section{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line));border-radius:var(--radius-card);background:var(--accent-soft);margin-top:18px;padding:30px}.size-tutorial-conclusion{border-radius:var(--radius-card);background:var(--tile-dark);margin-top:28px;padding:26px 28px;font-weight:650;color:var(--tile-dark-ink)!important}.size-faq-section{border-top:1px solid var(--line);padding-top:56px}.related-puzzles{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);margin-bottom:80px;padding:36px}.related-link-groups{grid-template-columns:repeat(2,1fr);gap:42px;margin-bottom:28px;display:grid}.related-link-groups.is-single{grid-template-columns:1fr}.related-link-groups>div{grid-template-columns:repeat(2,1fr);gap:8px 16px;display:grid}.related-link-groups strong{color:var(--ink-faint);font-family:var(--font-mono), monospace;text-transform:uppercase;grid-column:1/-1;margin-bottom:4px;font-size:.68rem}.related-link-groups a{border-bottom:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;padding:9px 0;font-size:.8rem;font-weight:660;text-decoration:none;display:flex}.related-link-groups a:hover{color:var(--accent-strong)}.related-link-groups svg{width:15px;height:15px}.blog-intro{padding-top:72px;padding-bottom:46px}.blog-library{padding-top:26px}.blog-archive-layout{grid-template-columns:minmax(0,760px) minmax(220px,280px);justify-content:space-between;gap:64px;display:grid}.blog-archive-heading{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:20px;display:flex}.blog-archive-heading h2,.blog-sidebar h2{margin:0;font-size:1.125rem}.blog-archive-heading>span,.blog-post-meta{color:var(--ink-soft);font-size:.8rem}.blog-post{border-bottom:1px solid var(--line);padding-block:32px}.blog-post-meta,.blog-post-meta>span{align-items:center;gap:6px;display:flex}.blog-post-meta{flex-wrap:wrap;gap:18px;margin-bottom:12px}.blog-post-meta svg{width:14px;height:14px}.blog-post-meta>span:first-child{color:var(--accent-strong);font-weight:600}.blog-post h2{margin-bottom:12px;font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.3}.blog-post h2 a{color:var(--ink);text-decoration:none}.blog-post h2 a:hover{color:var(--accent-strong);text-underline-offset:4px;text-decoration:underline}.blog-post p{max-width:65ch;margin-bottom:18px;font-size:.98rem;line-height:1.75}.blog-post .text-link{font-size:.85rem}.blog-sidebar{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);align-self:start;padding:24px}.blog-sidebar p{margin-block:12px 20px;font-size:.9rem}.blog-sidebar nav{gap:14px;display:grid}.blog-sidebar nav a{color:var(--ink);text-underline-offset:4px;font-size:.88rem}.blog-sidebar nav a:hover{color:var(--accent-strong)}.blog-sidebar-practice{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.blog-sidebar .button{width:100%;font-size:.85rem}.related-reading .blog-post-list{max-width:800px;margin-inline:auto}.article-resource-links{padding-left:22px;line-height:1.8}.article-resource-links a{color:var(--accent-strong);text-underline-offset:3px}@media (max-width:900px){.blog-archive-layout{grid-template-columns:minmax(0,1fr);gap:40px}.blog-post{padding-block:28px}}.article-header{border-bottom:1px solid var(--line);padding-top:52px;padding-bottom:66px}.article-header-grid{grid-template-columns:minmax(0,900px);justify-content:center;align-items:center;gap:36px;display:grid}.article-header-grid>div:first-child{width:100%;max-width:820px;margin-inline:auto}.article-header h1{margin-bottom:20px}.article-header p{max-width:64ch;margin-bottom:20px;font-size:1.08rem}.article-header .mini-puzzle{justify-self:center;width:min(100%,260px)}.article-byline{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;font-size:.8rem;display:flex}.article-byline a{color:inherit;text-underline-offset:3px}.article-reading-time{color:var(--ink-faint);font-family:var(--font-mono), monospace;align-items:center;gap:6px;font-size:.72rem;display:inline-flex}.article-reading-time svg{width:15px;height:15px}.article-layout{grid-template-columns:220px minmax(0,720px);justify-content:center;gap:72px;padding-block:72px;display:grid}.article-toc{top:calc(var(--header-height) + 28px);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);align-self:start;padding:18px;position:sticky}.article-toc>strong{color:var(--ink-faint);font-family:var(--font-mono), monospace;text-transform:uppercase;margin-bottom:11px;font-size:.67rem;display:block}.article-toc nav{flex-direction:column;gap:7px;display:flex}.article-toc a{color:var(--ink-soft);font-size:.72rem;line-height:1.4;text-decoration:none}.article-toc a:hover{color:var(--accent-strong)}.article-body>section{scroll-margin-top:calc(var(--header-height) + 28px);margin-bottom:58px}.article-body h2{margin-bottom:18px;font-size:clamp(1.625rem,2.8vw,2.25rem)}.article-body p{margin-bottom:17px;font-size:1rem;line-height:1.78}.article-points{grid-template-columns:1.2fr .8fr;gap:10px;margin-top:24px;display:grid}.article-points div{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink-soft);padding:16px;font-size:.86rem}.article-points div:first-child{background:var(--accent-soft);color:var(--ink);grid-row:span 2;align-items:center;font-weight:650;display:flex}.logic-example{border-left:4px solid var(--accent);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--surface-raised);margin-top:26px;padding:22px}.logic-example>strong{color:var(--accent-strong);margin-bottom:14px;font-size:.78rem;display:block}.logic-example>div{align-items:center;gap:14px;margin-bottom:12px;display:flex}.logic-example code{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);color:var(--ink);font-family:var(--font-mono), monospace;padding:9px 12px;font-size:.85rem}.logic-example svg{width:18px;height:18px;color:var(--accent)}.logic-example p{margin:0;font-size:.84rem;line-height:1.55}.article-cta{border-radius:var(--radius-card);background:var(--tile-dark);color:var(--tile-dark-ink);justify-content:space-between;align-items:center;gap:24px;margin-top:12px;padding:28px;display:flex}.article-cta h2{margin-bottom:6px;font-size:1.5rem}.article-cta p{color:color-mix(in srgb, var(--tile-dark-ink) 75%, transparent);margin:0;font-size:.8rem}.related-reading{border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 45%, transparent)}.legal-shell{max-width:900px;padding-block:50px 80px}.legal-page header{border-bottom:1px solid var(--line);padding:30px 0 44px}.legal-page header h1{margin-bottom:16px}.legal-page header p{max-width:66ch;margin:0 auto;font-size:1.05rem}.legal-content{max-width:740px;padding-top:52px}.legal-content section{margin-bottom:44px}.legal-content h2{letter-spacing:-.02em;margin-bottom:15px;font-size:1.5rem}.legal-content p,.legal-content li{color:var(--ink-soft);font-size:.93rem;line-height:1.75}.legal-content ul{gap:10px;padding-left:22px;display:grid}.legal-content a,.legal-next a{color:var(--accent-strong)}.legal-next{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);max-width:740px;color:var(--ink-soft);padding:18px;font-size:.84rem}.legal-page header .legal-updated{color:var(--ink-faint);margin-top:16px;font-size:.85rem}.state-page{min-height:calc(100dvh - var(--header-height));padding-block:70px}.loading-placeholder{color:#0000;border-radius:var(--radius-small);background:var(--surface-strong);display:inline-block}.loading-controls>span{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-strong);min-height:48px}.state-page{place-items:center;display:grid}.state-panel{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:center;width:min(100% - 40px,580px);box-shadow:var(--shadow);padding:44px}.state-panel>svg{width:48px;height:48px;color:var(--accent);margin-bottom:18px}.state-panel h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3rem)}.state-panel p{margin-bottom:24px}@media (max-width:1060px){.desktop-navigation{gap:15px}.desktop-navigation a{font-size:.82rem}.game-layout{grid-template-columns:230px minmax(0,1fr)}.game-options{padding-inline:17px}.board-column{padding:24px}.rule-strip{grid-template-columns:repeat(3,1fr)}.rule-strip>a{border-top:1px solid var(--line);grid-column:1/-1}.footer-grid{grid-template-columns:1.4fr repeat(3,.7fr);gap:28px}}@media (max-width:960px){.header-inner{grid-template-columns:1fr auto}.desktop-navigation{display:none}.mobile-navigation{display:block;position:relative}.mobile-navigation nav{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);width:min(280px,100vw - 28px);box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:10px;display:flex;position:absolute;top:50px;right:0}.mobile-navigation nav a{border-radius:var(--radius-small);color:var(--ink-soft);padding:11px 12px;font-weight:680;text-decoration:none}.mobile-navigation nav a[aria-current=page],.mobile-navigation nav a:hover{background:var(--accent-soft);color:var(--accent-strong)}}@media (max-width:900px){.page-section{padding-block:70px}.game-page-heading,.blog-intro-layout{grid-template-columns:1fr;gap:28px}.game-layout{grid-template-columns:1fr}.game-options{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.game-options .button-full,.game-options .quality-note{align-self:center}.game-options .quality-note{grid-column:1/-1}.board-column{padding:26px}.guide-grid{grid-template-columns:1fr}.article-card-featured{grid-row:auto}.article-card>a,.article-card:not(.article-card-featured)>a{grid-template-columns:180px minmax(0,1fr)}.article-card-visual,.article-card:not(.article-card-featured) .article-card-visual{min-height:210px}.article-layout{grid-template-columns:1fr;gap:32px}.article-toc{position:static}.article-toc nav{grid-template-columns:repeat(2,1fr);display:grid}.footer-grid{grid-template-columns:1.4fr repeat(2,.7fr)}.footer-grid nav:last-child{grid-column:2}}@media (max-width:720px){:root{--header-height:64px}.shell{width:min(100% - 28px,1220px)}.page-section{padding-block:54px}h1{font-size:clamp(2.25rem,10vw,3rem)}.daily-section,.game-page-section{padding-top:36px}.game-page-heading{margin-bottom:24px}.game-page-heading p{font-size:.98rem}.game{border-radius:22px;margin-inline:-5px}.game-topline{align-items:flex-start;padding:14px 16px}.game-topline--daily{justify-content:space-between;align-items:center;display:flex;position:relative}.game-topline--daily .game-kicker{white-space:nowrap;font-size:clamp(.8rem,3.4vw,.9rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.game-topline--daily .game-kicker:before,.game-topline--daily .game-kicker:after{display:none}.game-topline--daily .game-heading strong{white-space:nowrap;font-size:clamp(.54rem,2.2vw,.62rem)}.game-topline--daily .game-metrics{grid-column:auto}.game-metrics{flex-direction:column;align-items:flex-end;gap:2px}.game-metrics span:first-child,.game-metrics span:last-child{display:none}.game-options{grid-template-columns:1fr;gap:18px;padding:18px 16px}.game-options .quality-note{display:none}.difficulty-choices{grid-template-columns:repeat(4,1fr)}.choice-grid button{min-height:40px;font-size:.66rem}.board-column{padding:16px 12px 20px}.puzzle-board,.board-skeleton{border-radius:13px}.number-controls{z-index:6;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shadow-small);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;padding:6px;position:sticky;bottom:6px}.number-controls button,.number-controls.loading-controls>span{min-height:50px}.game-toolbar{gap:5px}.game-toolbar button,.game-toolbar.loading-controls>span{flex-direction:column;gap:2px;min-height:46px;padding:5px 2px;font-size:.62rem}.hint-panel{grid-template-columns:auto 1fr}.hint-panel .button{grid-column:1/-1}.keyboard-note{display:none}.rule-strip{grid-template-columns:1fr;margin-top:12px}.rule-strip-item{border-right:0;border-bottom:1px solid var(--line)}.rule-strip>a{border-top:0;grid-column:auto}.article-card>a,.article-card:not(.article-card-featured)>a{grid-template-columns:1fr}.article-card-visual,.article-card:not(.article-card-featured) .article-card-visual{min-height:230px}.article-card-copy{padding:22px}.article-card-meta{margin-bottom:18px}.faq-list details p{padding-right:20px}.size-guide-points,.related-link-groups,.article-points,.size-guide-points{margin-bottom:42px}.size-tutorial-body>section{padding-block:28px}.size-tutorial-body>.size-print-section{padding:24px}.article-points div:first-child{grid-row:auto}.related-puzzles{padding:24px}.related-link-groups>div{grid-template-columns:1fr}.article-header-grid{grid-template-columns:1fr;gap:36px}.article-header .mini-puzzle{justify-self:center;width:min(100%,260px)}.article-layout{padding-block:52px}.article-toc nav{grid-template-columns:1fr}.article-cta,.logic-example>div{flex-direction:column;align-items:flex-start}.logic-example>div svg{transform:rotate(90deg)}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid nav:last-child{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (max-width:460px){.shell{width:min(100% - 22px,1220px)}.brand{gap:8px;font-size:.92rem}.brand-mark{width:31px;height:31px;line-height:13.5px}.game{margin-inline:-3px}.game-topline strong{font-size:.84rem}.choice-grid button{padding-inline:2px;font-size:.61rem}.difficulty-choices button:last-child{font-size:.57rem}.board-column{padding-inline:8px}.number-controls{grid-template-columns:1.3fr 1.3fr .8fr .8fr}.number-controls button span{display:none}.game-toolbar button span{font-size:.57rem}.article-card-meta{flex-direction:column;align-items:flex-start;gap:5px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.state-panel{padding:30px 22px}}@media (max-width:360px){.game-topline--daily .game-kicker{font-size:.72rem}.game-topline--daily .game-heading strong{font-size:.48rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.line-completion-layer{display:none}}@media (prefers-reduced-transparency:reduce){.site-header,.number-controls,.pause-cover{background:var(--surface);-webkit-backdrop-filter:none}}@media print{@page{size:portrait;margin:10mm}html,body{min-height:auto;color:#111!important;background:#fff!important}body{margin:0;font-size:10pt}body:before,.site-header,.site-footer,.skip-link,main>:not(.daily-section):not(.game-page-section),.daily-section>.shell>:not(.game),.game-page-section>.shell>:not(.game),.game>:not(.print-puzzle-sheet){display:none!important}main,main>.daily-section,main>.game-page-section,.daily-section>.shell,.game-page-section>.shell,.game{width:100%!important;max-width:none!important;min-height:0!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}.print-puzzle-sheet{color:#111;width:100%;font-family:var(--font-sans), sans-serif;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-direction:column;display:flex!important}.print-puzzle-header{border-bottom:.45mm solid #111;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12mm;padding-bottom:5mm;display:grid}.print-puzzle-kicker{color:#343a36;font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.5mm;font-size:7.5pt;font-weight:600}.print-puzzle-title{color:#111;letter-spacing:-.045em;margin:0;font-size:23pt;line-height:1}.print-puzzle-intro{color:#4a4f4b;margin:2mm 0 0;font-size:8.5pt}.print-puzzle-badge{text-align:left;border:.3mm solid #111;flex-direction:column;gap:.6mm;min-width:43mm;padding:3mm 3.5mm;display:flex}.print-puzzle-badge strong{font-size:8.5pt}.print-puzzle-badge span{color:#555;font-family:var(--font-mono), monospace;text-transform:uppercase;font-size:6.6pt}.print-player-fields{color:#333;grid-template-columns:auto minmax(22mm,1fr) auto minmax(22mm,1fr) auto minmax(22mm,1fr);align-items:end;gap:2mm;padding-top:5mm;font-size:7.5pt;font-weight:700;display:grid}.print-player-fields i{border-bottom:.25mm solid #777;height:4mm;display:block}.print-puzzle-board{width:var(--print-board-size);height:var(--print-board-size);grid-template-columns:repeat(var(--board-size), minmax(0, 1fr));break-inside:avoid;background:#fff;border:.6mm solid #111;margin:7mm auto 0;display:grid;overflow:hidden}.print-puzzle-cell{min-width:0;min-height:0;font-family:var(--font-mono), monospace;font-size:var(--print-cell-font-size);border-bottom:.2mm solid #666;border-right:.2mm solid #666;place-items:center;font-weight:600;line-height:1;display:grid;color:#111!important;background:#fff!important}.print-puzzle-cell.is-last-column{border-right:0}.print-puzzle-cell.is-last-row{border-bottom:0}.print-puzzle-cell.is-clue{font-weight:700;background:#e8ebe7!important}.print-puzzle-rules{break-inside:avoid;padding-top:6mm}.print-puzzle-rules h2{color:#111;font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 2.5mm;font-size:7.5pt}.print-puzzle-rules ol{counter-reset:print-rule;grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm;margin:0;padding:0;list-style:none;display:grid}.print-puzzle-rules li{counter-increment:print-rule;border-top:.25mm solid #999;grid-template-columns:6mm minmax(0,1fr);align-content:start;gap:0 2mm;padding-top:2.5mm;display:grid}.print-puzzle-rules li:before{color:#111;content:"0" counter(print-rule);font-family:var(--font-mono), monospace;grid-row:span 2;font-size:7pt;font-weight:700}.print-puzzle-rules strong{color:#111;font-size:7.8pt;line-height:1.25}.print-puzzle-rules span{color:#4a4f4b;margin-top:.8mm;font-size:6.8pt;line-height:1.35}.print-puzzle-footer{color:#555;font-family:var(--font-mono), monospace;border-top:.25mm solid #aaa;justify-content:flex-end;align-items:center;gap:8mm;margin-top:5mm;padding-top:4mm;font-size:6.5pt;display:flex}.print-puzzle-footer strong{color:#111;font-size:inherit}}
