:root{--bg:#f6f6f4;--surface:#fff;--ink:#111;--muted:#4a4a4a;--line:#e2e2de;--board:#bbada0;--tile:#eee4da;--max:64rem;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{min-height:100dvh;color:var(--ink);font-family:var(--sans);background:var(--bg);font-size:1rem;line-height:1.6}a,button{cursor:pointer}button:disabled{cursor:default}.pad button:disabled,.numpad button:disabled,.keys button:disabled,.pad-btn:disabled,.restart:disabled{opacity:.4}a,button{transition:background-color .18s,color .18s,border-color .18s}a{color:inherit}.topbar,.sheet,.site-footer{width:min(var(--max), calc(100% - 2rem));margin-inline:auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.brand{align-items:baseline;gap:.6rem;text-decoration:none;display:flex}.brand strong{font-size:1.05rem;font-weight:600;display:block}.brand small{color:var(--muted);font-size:.9rem}.top-actions{align-items:center;gap:1.25rem;display:flex}.topnav{gap:1rem;display:flex}.locale{align-items:center;gap:.35rem;display:flex}.locale__label{color:var(--muted);font-size:.85rem}.locale a{color:var(--muted);padding:.35rem .15rem;font-size:.95rem;text-decoration:none}.locale a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink);font-weight:600}.topnav a{color:var(--muted);padding:.35rem 0;text-decoration:none}.topnav a:hover{color:var(--ink)}.hero{padding:2.5rem 0 .5rem}.play-head{padding:1.25rem 0 .75rem}.play-head h1{margin:0 0 .25rem;font-size:clamp(1.75rem,3vw,2.25rem)}.play-head .lede{color:var(--muted);margin:0;font-size:1rem;line-height:1.5}.eyebrow{color:var(--muted);margin:0 0 .5rem;font-size:.8rem}h1,h2,h3{letter-spacing:-.02em;font-weight:600}h1{margin:0 0 .75rem;font-size:clamp(2rem,4vw,2.75rem)}.lede{max-width:36rem;color:var(--muted);font-size:1.05rem;line-height:1.6}.ad-slot{background:var(--surface);border:1px solid var(--line);min-height:90px;margin:1.5rem 0}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.75rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.catalog li{min-width:0;display:flex}.catalog a{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--line);flex-direction:column;flex:1;gap:.35rem;padding:1rem 1.1rem;text-decoration:none;display:flex}.catalog a:hover{border-color:var(--ink)}.catalog a:hover .go{background:#333}.catalog .mark{background:#bbada0;width:2.75rem;height:2.75rem;margin-bottom:.35rem}.catalog a[data-game="2048"] .mark{background:linear-gradient(#eee4da,#eee4da) 3px 3px/calc(50% - 4px) calc(50% - 4px) no-repeat,linear-gradient(#f2b179,#f2b179) calc(100% - 3px) 3px/calc(50% - 4px) calc(50% - 4px) no-repeat,linear-gradient(#edcf72,#edcf72) 3px calc(100% - 3px)/calc(50% - 4px) calc(50% - 4px) no-repeat,linear-gradient(#f65e3b,#f65e3b) calc(100% - 3px) calc(100% - 3px)/calc(50% - 4px) calc(50% - 4px) no-repeat,#bbada0}.catalog a[data-game=sudoku] .mark{background:linear-gradient(#111,#111) 33% 0/1px 100% no-repeat,linear-gradient(#111,#111) 66% 0/1px 100% no-repeat,linear-gradient(#111,#111) 0 33%/100% 1px no-repeat,linear-gradient(#111,#111) 0 66%/100% 1px no-repeat,#fff;box-shadow:inset 0 0 0 1px #111}.catalog a[data-game=mines] .mark{background:linear-gradient(#787c7e,#787c7e) 15px 15px/10px 10px no-repeat,linear-gradient(#fff,#fff) 2px 2px/10px 10px no-repeat,linear-gradient(#fff,#fff) 14px 2px/10px 10px no-repeat,linear-gradient(#fff,#fff) 26px 2px/10px 10px no-repeat,linear-gradient(#fff,#fff) 2px 14px/10px 10px no-repeat,linear-gradient(#fff,#fff) 26px 14px/10px 10px no-repeat,linear-gradient(#fff,#fff) 2px 26px/10px 10px no-repeat,linear-gradient(#fff,#fff) 14px 26px/10px 10px no-repeat,linear-gradient(#fff,#fff) 26px 26px/10px 10px no-repeat,#c8c4be}.catalog a[data-game=letters] .mark{box-shadow:inset 0 0 0 1px var(--line);background:linear-gradient(#6aaa64,#6aaa64) 3px/10px 10px no-repeat,linear-gradient(#c9b458,#c9b458) 50%/10px 10px no-repeat,linear-gradient(#787c7e,#787c7e) calc(100% - 3px)/10px 10px no-repeat,#fff}.catalog strong{letter-spacing:-.02em;font-size:1.25rem;font-weight:600}.catalog em{color:var(--muted);font-size:.8rem;font-style:normal}.catalog .blurb{color:var(--muted);flex:1;line-height:1.5}.catalog .go{background:var(--ink);color:#fff;align-self:flex-start;margin-top:.85rem;padding:.4rem .75rem;font-size:.9rem;font-style:normal;font-weight:600}.notes h2{margin-bottom:.25rem}.notes p{max-width:40rem;color:var(--muted);line-height:1.7}.sheet{padding-bottom:2rem}.crumb{color:var(--muted);font-size:.9rem}.crumb a{color:var(--ink)}.table{background:var(--board);width:fit-content;max-width:100%;margin-inline:auto;padding:.5rem}.match{color:var(--ink);justify-items:center;gap:.75rem;display:grid}.status{text-align:center;margin:0;font-size:.95rem;font-weight:600}.board-stage{max-width:100%;position:relative}:is(.board-stage:has(.tiles),.board-stage:has(.mines)){width:min(22rem,100vw - 3rem)}.board-stage:has(.sudoku){width:min(24rem,100vw - 3rem)}.match:has(.letters){width:min(22rem,100vw - 3rem)}.board-stage:has(.letters){width:100%}.match.is-ready .board-stage:before,.match.is-over .board-stage:before{content:"";z-index:2;pointer-events:none;position:absolute;inset:0}.match.is-ready .board-stage:before{background:#1111112e}.match.is-over .board-stage:before{background:#11111173}.start-btn,.result{z-index:3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.start-btn{background:var(--ink);color:#fff;font:inherit;border:0;min-height:2.75rem;padding:.7rem 1.4rem;font-size:1rem;font-weight:600}.start-btn:hover{background:#333}.result{text-align:center;background:var(--surface);width:min(14.5rem,100% - 1.25rem);color:var(--ink);border:1px solid var(--ink);padding:1rem}.result__kicker{color:var(--muted);margin:0;font-size:.8rem}.result__title{letter-spacing:-.02em;margin:.15rem 0 0;font-size:1.35rem;line-height:1.2}.result__detail{color:var(--muted);margin:.4rem 0 .85rem}.result .restart{min-width:8rem}.tiles,.sudoku,.mines{gap:.35rem;width:100%;display:grid}.tiles{touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(4,1fr)}.sudoku,.mines{background:#d6d3ce;grid-template-columns:repeat(9,1fr);gap:0}.tiles span,.sudoku button,.mines button{aspect-ratio:1;font:inherit;color:#776e65;background:var(--tile);border:0;place-items:center;font-weight:700;display:grid}.tiles span{background:#eee4da59;font-size:clamp(1.1rem,4vw,1.8rem)}.tiles .n2{background:#eee4da}.tiles .n4{background:#ede0c8}.tiles .n8{color:#f9f6f2;background:#f2b179}.tiles .n16{color:#f9f6f2;background:#f59563}.tiles .n32{color:#f9f6f2;background:#f67c5f}.tiles .n64{color:#f9f6f2;background:#f65e3b}.tiles .n128,.tiles .n256,.tiles .n512{color:#f9f6f2;background:#edcf72;font-size:clamp(.95rem,3.4vw,1.45rem)}.tiles .n1024,.tiles .n2048{color:#f9f6f2;background:#edc22e;font-size:clamp(.8rem,2.8vw,1.15rem)}.sudoku button,.mines button{color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d6d3ce;font-size:clamp(.8rem,2.4vw,1rem)}.sudoku .is-given{color:var(--muted);background:#f3f3f1;font-weight:600}.sudoku .is-selected{outline:2px solid var(--ink);outline-offset:-2px}.sudoku .is-bad{color:#9f1239;text-decoration:underline}.sudoku .is-edge-r{border-right-width:2px;border-right-color:#111}.sudoku .is-edge-b{border-bottom-width:2px;border-bottom-color:#111}.mines .is-open{background:#f6f6f4}.mines .is-flag{color:#9f1239;background:#fff}.mines .is-open svg{color:var(--ink)}.sudoku button:disabled,.mines button:disabled{cursor:default}.letters{gap:.35rem;display:grid}.letters__row{grid-template-columns:repeat(5,1fr);gap:.35rem;display:grid}.letters span{aspect-ratio:1;color:var(--ink);text-transform:uppercase;background:#fff;border:2px solid #d3d6da;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.letters .is-correct{color:#fff;background:#6aaa64;border-color:#6aaa64}.letters .is-present{color:#fff;background:#c9b458;border-color:#c9b458}.letters .is-absent{color:#fff;background:#787c7e;border-color:#787c7e}.keys-hint{color:var(--muted);text-align:center;margin:0;font-size:.9rem;display:none}@media (hover:hover) and (pointer:fine){.keys-hint{display:block}}.pad,.numpad,.keys{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.numpad{grid-template-columns:repeat(5,1fr);display:grid}.pad button,.numpad button,.keys button,.pad-btn,.restart{border:1px solid var(--ink);background:var(--ink);color:#fff;font:inherit;padding:.45rem .7rem}.pad button:hover,.numpad button:hover,.keys button:hover,.pad-btn:hover,.restart:hover{background:#333}.keys button{text-transform:uppercase;min-width:1.8rem}.copy,.more,.legal{line-height:1.7}.copy h2,.more h2,.legal h1{margin-top:1.75rem}.more ul,.catalog{list-style:none}.more ul{padding:0}.more li{margin:.6rem 0}.more a{margin-right:.5rem;font-weight:600}.more span{color:var(--muted)}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1.5rem 0 2rem;display:flex}.site-footer nav{gap:1rem;display:flex}.site-footer a{color:var(--ink)}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (max-width:720px){.topbar,.sheet,.site-footer{width:min(var(--max), calc(100% - 1.5rem))}.topbar{padding-top:max(.75rem, env(safe-area-inset-top));align-items:center;gap:.6rem}.brand{min-width:0}.brand small{display:none}.top-actions,.topnav{gap:.75rem}.locale__label{display:none}.catalog{grid-template-columns:1fr}.catalog a{min-height:0}.hero{padding-top:1.75rem}.table{width:100%;max-width:28rem;padding:.4rem}:is(.board-stage:has(.tiles),.board-stage:has(.mines),.board-stage:has(.sudoku),.match:has(.letters),.board-stage:has(.letters)){width:100%}.pad{grid-template-columns:repeat(3,minmax(2.75rem,1fr));grid-template-areas:".up.""left.right"".down.";width:min(14rem,100%);display:grid}.pad button[data-dir=up]{grid-area:up}.pad button[data-dir=down]{grid-area:down}.pad button[data-dir=left]{grid-area:left}.pad button[data-dir=right]{grid-area:right}.pad button,.numpad button,.keys button,.pad-btn,.start-btn{min-height:2.75rem}.numpad{gap:.4rem}.keys{gap:.3rem}.keys button{flex:1 0 1.9rem;padding:.55rem .2rem}.keys-hint{display:none}.site-footer{padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition:none}}
