@font-face{font-family:Big Shoulders;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9a6f6f031c1a24aa.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/f71ad4daf0453cd2.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c8f52f6293c9b631.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.__className_cd2992{font-family:Big Shoulders;font-weight:800;font-style:normal}.__variable_cd2992{--font-display:"Big Shoulders"}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_6f3782{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_6f3782{--font-body:"Public Sans","Public Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,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(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,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(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,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(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:134.59%}.__className_aa62b7{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_aa62b7{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#eef3ee;--sheet:#f8fbf7;--rule:#cfdccf;--ink:#1d2b24;--muted:#5b6e63;--dr:#1d2b24;--dr-fg:#f8fbf7;--cr:#f6d9d6;--cr-fg:#8f1d16;--red:#b3261e;--good:#1f7a4d;--cell:#ffffff;--sel:#e9b949;--heat-0:#e3ebe3;--frame:#8aa293;--wo:#e4e9e4;--wofg:#7d8c83;--display:var(--font-display),"Arial Narrow",sans-serif;--body:var(--font-body),system-ui,sans-serif;--mono:var(--font-mono),ui-monospace,monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121915;--sheet:#18211c;--rule:#2c3b33;--ink:#e3ece6;--muted:#93a69b;--dr:#d8e6dd;--dr-fg:#121915;--cr:#4a1f1c;--cr-fg:#ffb4ab;--red:#ff8a80;--good:#6fd3a0;--cell:#1e2923;--heat-0:#223029;--frame:#5d7568;--wo:#151c18;--wofg:#5f7166;color-scheme:dark}}:root[data-theme=dark]{--bg:#121915;--sheet:#18211c;--rule:#2c3b33;--ink:#e3ece6;--muted:#93a69b;--dr:#d8e6dd;--dr-fg:#121915;--cr:#4a1f1c;--cr-fg:#ffb4ab;--red:#ff8a80;--good:#6fd3a0;--cell:#1e2923;--heat-0:#223029;--frame:#5d7568;--wo:#151c18;--wofg:#5f7166;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:12px 40px}main{max-width:720px;margin:0 auto;display:grid;grid-gap:24px;gap:24px}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}.sr-only{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip,.sr-only{position:absolute}.skip{left:-9999px}.skip:focus{left:16px;top:8px;background:var(--sheet);padding:6px 10px;z-index:10}.mono,.num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wordmark{display:inline-flex;align-items:center;font:800 28px/1 var(--display);letter-spacing:.01em;color:var(--ink)}.wordmark.small{font-size:22px}.mascot{display:block;height:auto;max-width:100%}.mascot.enter{animation:enter .35s ease-out both;animation-delay:var(--after,0s)}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}button.nudge{display:inline-flex;align-items:center;gap:6px;padding-block:4px;border-color:var(--sel)}.msg-row .mascot{flex:none}.site-head{max-width:720px;margin:0 auto 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px}.head-row{display:contents}.site-head .theme{order:2}@media (max-width:520px){.head-row{display:flex;width:100%;align-items:center;justify-content:space-between}.site-head .theme{order:0}}.lockup{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.site-head nav{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px;font-size:14px}.site-head nav a{text-decoration:none;color:var(--muted)}.site-head nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.site-head form{display:inline}.theme{border:1px solid var(--rule);background:transparent;width:32px;height:32px;padding:0;border-radius:50%;font-size:15px}.site-foot{max-width:720px;margin:48px auto 0;padding-top:24px;border-top:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:20px;gap:20px;font-size:14px}.site-foot p{margin:6px 0 0}.site-foot nav{display:grid;align-content:start;grid-gap:4px;gap:4px}.site-foot h2{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin:0 0 4px}.site-foot nav a{color:var(--muted);text-decoration:none}.site-foot nav a:hover{color:var(--ink)}.site-foot .copyright{grid-column:1/-1;font-size:12px}@media (max-width:600px){.site-foot{grid-template-columns:1fr 1fr 1fr}.foot-brand{grid-column:1/-1}}.display,h1{font-size:clamp(40px,10vw,72px);line-height:.92;margin:0}.display,h1,h2{font-family:var(--display);font-weight:800;text-transform:uppercase}h2{font-size:32px;line-height:1;margin:4px 0 0}h3{font-size:16px;margin:0}.lede{margin:10px 0 0;max-width:58ch;font-size:17px}.sheet{background:var(--sheet);border:1px solid var(--rule);border-radius:4px;padding:24px max(16px,3vw);display:grid;grid-gap:16px;gap:16px}.sheet,.sheet>*{min-width:0}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0}.muted{color:var(--muted)}.small{font-size:13px}.prose p{max-width:62ch;margin:0 0 12px}.prose p:last-child{margin-bottom:0}.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--muted)}.chip,.legend{align-items:center}.chip{display:inline-flex;justify-content:center;width:34px;height:24px;border-radius:2px;font:600 11px var(--mono);margin-right:6px;vertical-align:middle}.chip.dr{background:var(--dr);color:var(--dr-fg)}.chip.cr{background:var(--cr);color:var(--cr-fg)}.pill{display:inline-block;font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid}.pill.easy{color:var(--good)}.pill.medium{color:#8a5a00}.pill.expert,.pill.hard{color:var(--red)}:root[data-theme=dark] .pill.medium{color:var(--sel)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pill.medium{color:var(--sel)}}a.button,button{display:inline-block;font:500 14px var(--body);color:var(--ink);background:var(--cell);border:1px solid var(--ink);border-radius:3px;padding:7px 14px;cursor:pointer;text-decoration:none}a.button.primary,button.primary{background:var(--ink);color:var(--sheet)}button:disabled{opacity:.45;cursor:default}button.link{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:3px;color:inherit}.btns{display:flex;flex-wrap:wrap;gap:8px}.game-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:12px;gap:12px}.game-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;font:500 12px var(--mono);color:var(--muted)}.game-head h1,.game-head h2{font-size:clamp(30px,8vw,44px);line-height:.95;margin-top:4px}.timer{font:600 18px var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0;min-width:4.5ch;text-align:right}.new-here{margin:0;font-size:13px;color:var(--muted)}.board-wrap{overflow-x:auto}.board{--gap:3px;--marg:54px;--pad:max(16px,3vw);--avail:calc(100vw - 32px - 2 * var(--pad) - 2px);--cell:clamp(30px,calc((var(--avail) - var(--marg) - var(--n) * var(--gap)) / var(--n)),58px);position:relative;grid-gap:var(--gap);width:max-content;max-width:100%;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board,.board-row{display:grid;gap:var(--gap)}.board-row{grid-template-columns:repeat(var(--n),var(--cell)) var(--marg);grid-gap:var(--gap)}.board-row:not(.cols){grid-auto-rows:var(--cell)}.c{width:var(--cell);height:var(--cell);padding:0;background:var(--cell);border:1px solid var(--rule);border-radius:2px;position:relative;display:flex;align-items:center;justify-content:center;font:600 calc(var(--cell) * .4) var(--mono);color:var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .12s}.c .t{position:absolute;top:1px;left:3px;font:600 clamp(7px,calc(var(--cell) * .17),9px) var(--mono);letter-spacing:.04em;opacity:.85}.c.dr{background:var(--dr);color:var(--dr-fg);border-color:var(--dr)}.c.cr{background:var(--cr);color:var(--cr-fg);border-color:var(--cr)}.c.given{cursor:default}.c.given:after{content:"";position:absolute;inset:3px;border:1.5px solid;border-radius:1px;opacity:.6}.c:focus-visible{outline:3px solid var(--sel);outline-offset:1px;z-index:1}.c.hl{box-shadow:0 0 0 3px var(--sel);z-index:1}.bal{font:500 10.5px/1.3 var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);display:flex;flex-direction:column;justify-content:center;padding:0 2px 0 5px;white-space:nowrap;overflow:hidden;border-radius:2px}.bal.col{align-items:center;text-align:center;padding:3px 0 0}.bal i{font-style:normal;opacity:.75}.bal b{font-weight:600;color:var(--ink)}.bal.ok,.bal.ok b{color:var(--good)}.bal.over,.bal.over b{color:var(--red)}.bal .tgt:after{content:" ✓";visibility:hidden}.bal.ok .tgt:after{visibility:visible}.bal.over .tgt:after{content:" ✗";visibility:visible}@media (max-width:520px){.sheet{padding:16px 10px}.hero .mascot,.solved-top .mascot{width:96px}.board{--gap:2px;--marg:40px;--pad:10px}.bal{font-size:9px;line-height:1.1}.bal.col i{display:none}.site-head{margin-bottom:10px}.site-head nav{width:100%;justify-content:space-between;gap:2px 8px}.game.sheet{gap:10px;padding-top:12px}.game-meta{gap:3px 6px;font-size:11px}.game-meta .eyebrow{letter-spacing:.04em;font-size:11px}.game-meta .pill{padding:3px 6px;font-size:10px;letter-spacing:.05em}.game-meta .pill.variant .long{display:none}.game-meta .pill.variant .short{display:inline}.game-head h1,.game-head h2{font-size:clamp(24px,7vw,30px)}}.board.solved .bal{animation:tie .35s ease both;animation-delay:calc(var(--i) * 40ms)}@keyframes tie{50%{background:color-mix(in srgb,var(--good) 28%,transparent)}}@media (prefers-reduced-motion:reduce){.c{transition:none}.board.solved .bal,.mascot.enter,.solved-panel{animation:none!important}}.msg-row{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;min-height:1.4em}.msg{font-family:var(--mono);font-size:13px;margin:0}.msg.ok{color:var(--good);font-weight:600}.msg.no{color:var(--red)}.hint{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;border-left:3px solid var(--sel);padding:4px 0 4px 12px}.hint p{margin:0;max-width:62ch}.hint p+p{margin-top:4px}.keys{font-size:12px;color:var(--muted);margin:0}kbd{font:500 11px var(--mono);border:1px solid var(--rule);border-radius:3px;padding:0 4px}.solved-panel{display:grid;grid-gap:16px;gap:16px;border-top:2px solid var(--ink);padding-top:16px;animation:rise .4s ease both;animation-delay:var(--after,.8s)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.solved-top{display:grid;grid-template-columns:auto 1fr;grid-gap:16px;gap:16px;align-items:center}.solved-top .display{font-size:clamp(28px,7vw,42px)}.solved-top p{margin:6px 0 0}.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:12px;gap:12px;margin:0}.figures div{border-top:2px solid var(--ink);padding-top:6px}.figures dt{font-size:12px;color:var(--muted)}.figures dd{margin:0;font:600 26px var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.post{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.share-text{font:13px var(--mono);background:var(--cell);border:1px solid var(--rule);padding:10px;white-space:pre-wrap;margin:0}.countdown{border:1px dashed var(--rule);padding:12px 14px;display:grid;grid-gap:2px;gap:2px}.countdown p{margin:0}.countdown .num{font-size:22px;font-weight:600}dialog.welcome{border:1px solid var(--rule);border-radius:6px;background:var(--sheet);color:var(--ink);padding:24px;max-width:min(420px,calc(100vw - 32px))}dialog.welcome::-webkit-backdrop{background:rgb(18 25 21/.55)}dialog.welcome::backdrop{background:rgb(18 25 21/.55)}dialog.welcome ol{padding-left:20px;margin:12px 0 18px}dialog.welcome li+li{margin-top:6px}.welcome-head{display:flex;align-items:center;gap:12px}.welcome-head h2{font-size:28px}.steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:14px;gap:14px;counter-reset:step}.steps li{display:grid;grid-template-columns:40px 1fr;grid-gap:12px;gap:12px;counter-increment:step}.steps li:before{content:counter(step);font:800 34px/1 var(--display);color:var(--red)}.steps p{margin:2px 0 0}.tutorial-intro{display:flex;align-items:center;gap:12px}.tutorial-intro p{margin:0}.techniques{display:grid;grid-gap:20px;gap:20px}.technique{display:grid;grid-gap:8px;gap:8px}.technique p{margin:0;max-width:62ch}.mini{gap:3px;font:600 14px var(--mono)}.mini,.mini span{display:flex;align-items:center}.mini span{width:34px;height:34px;justify-content:center;background:var(--cell);border:1px solid var(--rule);border-radius:2px}.mini .dr{background:var(--dr);color:var(--dr-fg);border-color:var(--dr)}.mini .cr{background:var(--cr);color:var(--cr-fg);border-color:var(--cr)}.mini .sum{width:auto;border:0;background:none;padding-left:8px;font-size:12px;color:var(--muted)}.field{display:grid;grid-gap:6px;gap:6px;max-width:420px}input[type=email],input[type=text],select{font:15px var(--body);padding:8px 10px;border:1px solid var(--ink);border-radius:3px;background:var(--cell);color:var(--ink)}.form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.form-row input[type=email]{flex:1 1 200px}.ticks{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.ticks li{padding-left:26px;position:relative}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:700}.ledger{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.ledger li{display:grid;grid-template-columns:3.5em 1fr auto;grid-gap:12px;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--rule);font-size:14px}.ledger.labelled li{grid-template-columns:8.5em 1fr auto}.ledger.labelled .pill{justify-self:start}.ledger .num{font-weight:600;font-size:13px}.ledger .tag{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:right}.ledger .tag.done{color:var(--good)}.bars{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.bars li{display:grid;grid-template-columns:6.5em 1fr 3.5em;grid-gap:10px;gap:10px;align-items:center;font-size:13px}.bars .bar{height:14px;background:var(--dr);border-radius:1px;min-width:2px}.bars .n{font:600 13px var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,16px);grid-auto-columns:16px;grid-gap:3px;gap:3px;max-width:100%;overflow-x:auto}.heatmap span{border-radius:2px;background:var(--heat-0)}.heatmap .day{background:var(--good)}.heatmap .late{background:color-mix(in srgb,var(--good) 45%,var(--heat-0))}.heatmap .pad{background:transparent}.heat-key{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}.heat-key span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;background:var(--heat-0)}.heat-key .day:before{background:var(--good)}.heat-key .late:before{background:color-mix(in srgb,var(--good) 45%,var(--heat-0))}.hero{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;align-items:end}.legal h2{font-size:20px}.legal .draft{font:600 12px var(--mono);color:var(--red);text-transform:uppercase;letter-spacing:.1em}.notfound{justify-items:center;text-align:center}.result h2{font-size:clamp(36px,9vw,56px)}.pill.variant .short{display:none}.pill.variant{color:var(--ink);border-color:var(--frame);background:color-mix(in srgb,var(--frame) 18%,transparent)}.board.variant-journal{--gap:7px}.board-wrap:has(.variant-journal){padding:3px}.dom{position:absolute;left:calc(var(--c) * (var(--cell) + var(--gap)) - 3px);top:calc(var(--r) * (var(--cell) + var(--gap)) - 3px);width:calc(var(--w) * var(--cell) + (var(--w) - 1) * var(--gap) + 6px);height:calc(var(--h) * var(--cell) + (var(--h) - 1) * var(--gap) + 6px);border:2px solid var(--frame);border-radius:8px;pointer-events:none;z-index:2;transition:border-color .12s}.dom.ok{border-color:var(--good)}.dom.bad{border-color:var(--red);box-shadow:inset 0 0 0 1.5px var(--red)}.play-area{display:grid;grid-gap:12px;gap:12px;min-width:0}.rules-card{border:1px solid var(--rule);border-left:3px solid var(--frame);border-radius:4px;background:var(--cell);padding:8px 10px;font-size:13px;line-height:1.4;display:grid;grid-gap:4px;gap:4px;align-content:start}.rules-card p{margin:0}.rules-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.rules-heading{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.rules-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px}.rules-list li{display:flex;align-items:center;gap:8px}.rules-detail{color:var(--muted);display:grid;grid-gap:2px;gap:2px}.rules-card .more{font-size:12px}.rules-card{grid-template-columns:1fr auto;grid-template-areas:"list more" "detail detail";align-items:center}.rules-top{display:contents}.rules-heading,.rules-top .pill{display:none}.rules-card .more{grid-area:more}.rules-card .rules-list{grid-area:list}.rules-card .rules-detail{grid-area:detail}.rules-card:not(.expanded) .rules-detail{display:none}.rule-diagram{flex:none}.rules-episode{font-style:italic}.rules-card:not(.opened) .rules-episode,.story-toggle{display:none}.rules-card .story-toggle{justify-self:start;font-size:12px}.mini-domino{display:inline-flex;gap:3px;padding:2px;border:2px solid var(--frame);border-radius:6px}.mini-domino.ok{border-color:var(--good)}.mini-domino span{width:24px;height:20px;display:inline-flex;align-items:center;justify-content:center;font:600 9px var(--mono);border-radius:2px}.mini-domino .dr{background:var(--dr);color:var(--dr-fg)}.mini-domino .cr{background:var(--cr);color:var(--cr-fg)}@media (max-width:520px){.board.variant-journal{--gap:5px}.rules-card{font-size:11.5px;line-height:1.3;padding:6px 8px;gap:3px}.rules-list{gap:2px}.game-meta time .wd,.rules-link{display:none}}@media (min-width:768px){body:has(.play-area.with-rules) :is(main,.site-head,.site-foot){max-width:960px}.play-area.with-rules{grid-template-columns:minmax(0,max-content) 260px;grid-template-areas:"board rules";justify-content:start;gap:28px;align-items:start}.play-area.with-rules .rules-card{grid-area:rules;padding:12px 14px;font-size:14px;gap:8px;grid-template-columns:1fr;grid-template-areas:none}.rules-top{display:flex}.rules-top .pill{display:inline-block}.play-area.with-rules .rules-card>*{grid-area:auto}.play-area.with-rules .board-wrap{grid-area:board}.play-area.with-rules .board{--avail:calc(min(100vw - 32px, 960px) - 2 * var(--pad) - 2px - 280px)}.rules-card .more{display:none}.rules-card .rules-detail,.rules-card .rules-heading{display:grid}.play-area.with-rules .rules-card .story-toggle{display:inline}}label.toggle{display:flex;align-items:center;gap:10px;font-weight:600}label.toggle input{width:18px;height:18px;accent-color:var(--good)}.c.w{background:var(--wo);color:var(--wofg);border:1px dashed var(--wofg)}.c.w .n{text-decoration:line-through;text-decoration-thickness:2px}.c.w.clash{box-shadow:inset 0 0 0 2px var(--red)}.bal.note-multi .tgt,.bal.note-odd .tgt{color:var(--red);font-weight:600}.bal[class*=note-] .tgt:after{content:""}.mini-row{display:inline-flex;gap:2px}.mini-row span{width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;font:600 10px var(--mono);border-radius:2px}.mini-row .dr{background:var(--dr);color:var(--dr-fg)}.mini-row .cr{background:var(--cr);color:var(--cr-fg)}.mini-row .w{background:var(--wo);color:var(--wofg);border:1px dashed var(--wofg);text-decoration:line-through}.story{display:grid;grid-template-columns:auto 1fr;grid-gap:16px;gap:16px;align-items:start;margin:8px 0 12px}.story h2,.story h3{margin:0}.story p{margin:6px 0 0}.story-subtitle{font-weight:600}.story-setting,.story-subtitle{color:var(--muted)}@media (max-width:520px){.story{grid-template-columns:1fr;gap:8px}.story-mascot{width:72px;height:72px}}details.tips>summary{cursor:pointer;font-weight:600;color:var(--red);width:max-content}details.tips[open]>summary{margin-bottom:12px}.tips-body{display:grid;grid-gap:12px;gap:12px}.tips-body h3,.tips-body p{margin:0}