:root{--bg:#fff;--surface:#fff;--text:#16171a;--muted:#6b6f7a;--line:#e6e7eb;--line-strong:#1c1d21;--accent:#4263eb;--accent-hover:#3451d1;--accent-soft:#edf1fe;--accent-text:#fff;--peer:#f3f4f7;--same:#d9e1fd;--err:#e03131;--err-soft:#fdecec;--ok:#2b8a3e;--ok-soft:#ebf8ee;--shadow:0 8px 32px #00000014;--header-h:60px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Noto Sans Thai", "Noto Sans Arabic", "Hiragino Sans", "PingFang SC", "Microsoft YaHei", "Malgun Gothic", sans-serif;color-scheme:light}*,:before,:after{box-sizing:border-box}*{scrollbar-width:none}::-webkit-scrollbar{display:none}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--font);-webkit-tap-highlight-color:transparent;flex-direction:column;min-height:100dvh;margin:0;display:flex}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}h1,h2,h3{letter-spacing:-.01em;line-height:1.2}h1{margin:0 0 .4em;font-size:clamp(1.7rem,4vw,2.3rem)}h2{margin:2em 0 .6em;font-size:1.3rem}button{font:inherit;color:inherit;border-radius:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{width:100%;max-width:960px;margin-inline:auto;padding-inline:16px}main.wrap{flex:1;padding-block:20px 48px}.skip{position:absolute;inset-inline-start:-9999px}.skip:focus{inset-inline-start:16px;z-index:100;background:var(--surface);padding:8px 12px;top:8px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.lead{color:var(--muted);max-width:60ch;margin:0;font-size:1.05rem}.btn{border:1px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.btn:hover{background:var(--peer)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{background:0 0;border-color:#0000}.linklike{color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.site-header{background:var(--bg);z-index:20;position:sticky;top:0}.bar{height:var(--header-h);align-items:center;gap:16px;display:flex}.brand{color:var(--text);align-items:center;gap:8px;font-size:1.05rem;font-weight:750;text-decoration:none;display:flex}.games-menu{position:relative}.games-btn{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 10px;font-weight:600;display:flex}.games-btn .chev{color:var(--muted);transition:transform .15s}.games-menu:hover .chev,.games-menu.open .chev{transform:rotate(180deg)}.games-menu:hover .games-btn,.games-menu.open .games-btn{background:var(--accent-soft)}.games-panel{inset-inline-start:0;z-index:30;opacity:0;visibility:hidden;padding-top:6px;transition:opacity .12s,transform .12s,visibility 0s linear .12s;position:absolute;top:100%;transform:translateY(-4px)}.games-menu:hover .games-panel,.games-menu.open .games-panel{opacity:1;visibility:visible;transition:opacity .12s,transform .12s;transform:none}.games-panel ul{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);grid-template-columns:repeat(2,minmax(190px,1fr));gap:2px;margin:0;padding:8px;list-style:none;display:grid}.games-panel a{color:var(--text);white-space:nowrap;align-items:center;gap:10px;padding:8px 10px;font-weight:500;text-decoration:none;display:flex}.games-panel a:hover,.games-panel a:focus-visible,.games-panel a[aria-current]{background:var(--accent-soft)}.bar-end{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.chip{background:var(--accent-soft);color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:4px 10px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.chip .sep{color:var(--muted)}.chip-part{align-items:center;gap:4px;display:inline-flex}.chip-part[hidden]{display:none}@media (width<=400px){.chip:has(.chip-rank:not([hidden])) .chip-streak{display:none}.bar{gap:8px}.bar-end{gap:4px}.chip{padding-inline:8px}.lang summary{padding-inline:6px}}.lang{position:relative}.lang summary{cursor:pointer;color:var(--muted);align-items:center;gap:4px;padding:6px 8px;font-size:.85rem;font-weight:600;list-style:none;display:flex}.lang summary::-webkit-details-marker{display:none}.lang ul{inset-inline-end:0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);z-index:30;min-width:150px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px)}.lang a{color:var(--text);padding:8px 10px;text-decoration:none;display:block}.lang a:hover,.lang a[aria-current]{background:var(--accent-soft)}@media (width<=960px){.games-menu{display:none}}@media (width<=640px){.brand span{display:none}}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:24px;font-size:.875rem}.site-footer nav{flex-wrap:wrap;gap:8px 18px;display:flex}.site-footer nav a,.site-footer .linklike{color:var(--muted);font-size:inherit}.lang-hint{inset-inline:0;top:var(--header-h);z-index:15;box-shadow:var(--shadow);background:var(--surface);border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-size:.9rem;display:flex;position:fixed}.lang-hint[hidden]{display:none}.lang-hint button{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:1.2rem;line-height:1}.hero{margin-bottom:24px}.kpis{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.kpis>div{border:1px solid var(--line);flex-direction:column;flex:100px;padding:12px 16px;display:flex}.kpis strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.kpis>div>span{color:var(--muted);font-size:.85rem}.kpi-rank{color:var(--text);font-variant-numeric:tabular-nums;margin-top:6px;font-size:.85rem}.kpi-rank b{font-weight:750}.kpi-rank span{color:var(--muted)}.kpi-rank[hidden]{display:none}.card{background:var(--surface);border:1px solid var(--line);color:var(--text);padding:18px;text-decoration:none;transition:border-color .15s,box-shadow .15s}a.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.card-title{font-size:1.25rem;font-weight:700;display:block}.card-kicker,.card-date{min-height:1.5em;color:var(--muted);font-size:.85rem;display:block}.daily{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:12px;margin-inline:-16px;padding:4px 16px 12px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.daily>.card{scroll-snap-align:start;flex:none}.daily>.card[hidden]{display:none}.daily{min-height:calc(1.33333*clamp(150px,42vw,190px) + 16px)}.daily-card{position:relative}.card-no{top:10px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700;position:absolute;inset-inline-end:12px}.daily-card{aspect-ratio:3/4;border-top:4px solid var(--lvl);flex-direction:column;gap:2px;width:clamp(150px,42vw,190px);display:flex}.daily-card img{margin-bottom:auto}.daily-card .card-title{font-size:1.6rem}.lvl-easy{--lvl:#12b886}.lvl-medium{--lvl:#f59f00}.lvl-hard{--lvl:#e03131}.card-cta{color:var(--accent);margin-top:12px;font-weight:600}.daily-card .done-label,.daily-card.done .todo{display:none}.daily-card.done .done-label{color:var(--ok);display:inline}.daily-card.done{background:var(--ok-soft)}.games{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.game-card{align-items:center;gap:14px;display:flex}.game-card .muted{font-size:.9rem;display:block}.soon{border-style:dashed}.soon-icon{border:1px dashed var(--line);width:56px;height:56px;color:var(--muted);flex:none;place-items:center;font-size:1.5rem;display:grid}.prose{max-width:70ch}.prose li{margin-bottom:6px}.center{text-align:center;margin-inline:auto}.seo{color:var(--muted);margin:56px auto 0}.seo h2,.seo h3{color:var(--text)}.links{columns:2;padding-inline-start:18px}.faq{border-bottom:1px solid var(--line);padding:10px 0}.faq summary{cursor:pointer;font-weight:600}.rules-figure{margin:24px 0}.table-wrap{margin:16px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:start;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.launch{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:560px;margin:8px auto 0;display:flex}.launch h1{margin:0;font-size:clamp(2rem,6vw,2.8rem)}.launch .lead{margin-inline:auto}.segmented{border:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.segmented button{border:0;border-inline-start:1px solid var(--line-strong);background:var(--surface);cursor:pointer;padding:12px 8px;font-weight:600}.segmented button:first-child{border-inline-start:0}.segmented button[aria-pressed=true]{background:var(--line-strong);color:#fff}.level-desc{min-height:3.2em;color:var(--muted);margin:0}.play-btn{letter-spacing:.02em;width:100%;min-height:64px;font-size:1.3rem}body.bare{height:100dvh;overflow:hidden}body.bare main.wrap{flex:1;min-height:0;padding-block:4px 12px;display:flex}.game{flex:1;grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:"stats""notices""board""tools""pad";row-gap:8px;width:100%;max-width:560px;min-height:0;margin-inline:auto;display:grid}.stats{grid-area:stats}.notices{grid-area:notices}.board-area{grid-area:board}.tools{grid-area:tools}.pad{grid-area:pad}.stats{font-variant-numeric:tabular-nums;text-align:center;grid-template-columns:repeat(4,1fr);display:grid}.stats div{flex-direction:column;min-width:0;display:flex}.stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.stats strong{white-space:nowrap;font-size:1.05rem}.notices:not(:has(.notice:not([hidden]))){display:none}.notice{background:var(--peer);margin:0;padding:6px 10px;font-size:.8rem;line-height:1.4}.notice[hidden]{display:none}.notice.ok{background:var(--ok-soft)}.board-area{place-items:center;min-height:0;display:grid;container-type:size}.grid{border:2px solid var(--line-strong);background:var(--surface);user-select:none;touch-action:manipulation;grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);width:min(100cqw,100cqh);height:min(100cqw,100cqh);display:grid}.cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);color:var(--accent);cursor:pointer;place-items:center;min-width:0;min-height:0;padding:0;font-size:calc(min(100cqw,100cqh)/17.2414);font-weight:500;transition:background 80ms;display:grid;position:relative}.cell:nth-child(9n+3),.cell:nth-child(9n+6){border-right:2px solid var(--line-strong)}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+19):nth-child(-n+27),.cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--line-strong)}.cell:nth-child(n+73){border-bottom:0}.cell.given{color:var(--text);font-weight:650}.cell.peer{background:var(--peer)}.cell.same{background:var(--same)}.cell.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.cell.err{color:var(--err);background:var(--err-soft)}.cell:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.notes{grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:2px;display:grid}.notes i{color:var(--muted);place-items:center;font-size:calc(min(100cqw,100cqh)/41.6667);font-style:normal;line-height:1;display:grid}.cell.hasnote .notes i{color:var(--text)}.finished .cell{cursor:default}.finished .grid{border-color:var(--ok)}.tools{justify-content:space-around;display:flex}.tools button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:4px 10px;font-size:.75rem;display:flex}.tools svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tools small{font-size:.62rem;font-weight:700}.tools [aria-pressed=true]{color:var(--accent-hover);background:var(--accent-soft)}.pad{grid-template-columns:repeat(9,1fr);gap:4px;display:grid}.pad button{border:1px solid var(--line);background:var(--surface);height:clamp(44px,7.5dvh,60px);color:var(--accent);cursor:pointer;touch-action:manipulation;flex-direction:column;justify-content:center;align-items:center;padding:0;font-size:clamp(1.2rem,5vw,1.6rem);font-weight:600;line-height:1.1;display:flex}.pad button:hover{border-color:var(--line-strong)}.pad button:active{background:var(--accent-soft)}.pad button small{color:var(--muted);font-size:.58rem;font-weight:500}.pad button:disabled{opacity:.25;cursor:default}@media (height<=700px){:root{--header-h:52px}.game{row-gap:6px}.stats strong{font-size:.95rem}.tools svg{width:20px;height:20px}}.modal{border:1px solid var(--line);background:var(--surface);width:min(440px,100vw - 32px);color:var(--text);box-shadow:var(--shadow);padding:24px}.modal::backdrop{background:#00000059}.modal h2{margin-top:0}.result{text-align:center}.record{color:#7c5800;background:#fff3bf;margin:0 0 12px;padding:4px 12px;font-weight:700;display:inline-block}.record[hidden]{display:none}.res{grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 16px;display:grid}.res div{background:var(--peer);padding:10px}.res dt{color:var(--muted);font-size:.75rem}.res dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.25rem;font-weight:700}.res small{color:var(--ok);font-size:.7rem;font-weight:600}.result .notice{margin-bottom:12px}.res-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.res-actions [hidden]{display:none}.result [data-r=vs]{margin-bottom:12px}.notice.challenge{background:#fff3bf}@media (width<=640px){.res-actions{flex-direction:column;align-items:stretch}.res-actions .btn{width:100%}}.cc{inset-inline:16px;z-index:50;background:var(--surface);border:1px solid var(--line-strong);max-width:720px;box-shadow:var(--shadow);margin-inline:auto;padding:16px 18px;font-size:.9rem;position:fixed;bottom:16px}.cc[hidden]{display:none}.cc p{margin:0 0 12px}.cc-title{margin-bottom:2px;display:block}.cc-actions{flex-wrap:wrap;gap:8px;display:flex}.cc-actions .btn{flex:140px}.cc-list{margin:0 0 12px;padding:0;list-style:none}.cc-list li{border-bottom:1px solid var(--line);padding:12px 0}.cc-list label{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.cc-list input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:2px}.cc-list small{color:var(--muted);display:block}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.ngrid{--u:20px;grid-template-columns:calc(var(--R) * var(--u)) calc(var(--n) * var(--u));grid-template-rows:calc(var(--C) * var(--u)) calc(var(--n) * var(--u));user-select:none;touch-action:none;display:grid}.ncol-clues{grid-template-columns:repeat(var(--n), var(--u));display:grid}.ncol-clues>div{flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:2px;display:flex}.nrow-clues{grid-template-rows:repeat(var(--n), var(--u));display:grid}.nrow-clues>div{justify-content:flex-end;align-items:center;padding-inline-end:3px;display:flex}.ncol-clues>div:nth-child(odd),.nrow-clues>div:nth-child(odd){background:#fafafb}.ncol-clues>.hl,.nrow-clues>.hl{background:var(--accent-soft)}.clue{width:var(--u);height:var(--u);font-size:calc(var(--u) * .56);font-variant-numeric:tabular-nums;place-items:center;font-weight:650;line-height:1;display:grid}.multi .clue{background:var(--c);color:#fff;box-shadow:inset 0 0 0 1px #fff}.done>.clue{opacity:.3}.ncells{grid-template-columns:repeat(var(--n), var(--u));grid-template-rows:repeat(var(--n), var(--u));outline:2px solid var(--line-strong);background:var(--surface);display:grid}.ncell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);cursor:pointer;min-width:0;min-height:0;padding:0;position:relative}.ncell.b5r{border-right:1px solid var(--line-strong)}.ncell.b5b{border-bottom:1px solid var(--line-strong)}.ncell.on{background:var(--c);border-color:color-mix(in srgb, var(--c) 70%, #fff)}.ncell.x:after{content:"";background:linear-gradient(45deg, transparent 44%, var(--muted) 44% 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, var(--muted) 44% 56%, transparent 56%);position:absolute;inset:28%}.ncell.cur{box-shadow:inset 0 0 0 2px var(--accent)}.ncell:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.ncell.err{animation:.6s nerr}.ncell.err.x:after{background:linear-gradient(45deg, transparent 40%, var(--err) 40% 60%, transparent 60%), linear-gradient(-45deg, transparent 40%, var(--err) 40% 60%, transparent 60%)}@keyframes nerr{0%,60%{box-shadow:inset 0 0 0 3px var(--err)}}.finished .ncell{border-color:#0000}.finished .ncell.x:after{display:none}.palette{grid-area:pad;gap:6px;display:flex}.palette button{border:1px solid var(--line);background:var(--surface);cursor:pointer;font-variant-numeric:tabular-nums;flex:1;justify-content:center;align-items:center;gap:8px;height:clamp(44px,7.5dvh,60px);display:flex}.palette .sw{background:var(--c);width:22px;height:22px}.palette b{font-size:1.05rem}.palette [aria-pressed=true]{border:2px solid var(--line-strong)}.palette .empty{opacity:.45}.scroll-nav{justify-content:flex-end;gap:6px;margin-bottom:8px;display:none}.scroll-nav .btn{min-height:36px;padding:0 12px}@media (hover:hover) and (pointer:fine){.scroll-nav{display:flex}}.tboard{touch-action:none;user-select:none;outline:none;width:100%;height:100%}.tgiven{fill:#e7eefb}.tlines line{stroke:var(--line);stroke-width:2px}.tframe{fill:none;stroke:var(--line-strong);stroke-width:5px}.tclue{font:700 44px var(--font);text-anchor:middle;fill:var(--muted)}.tclue.done{fill:var(--ok)}.tmarks path{stroke:var(--muted);stroke-width:6px;stroke-linecap:round}.tcursor{fill:none;stroke:var(--accent);stroke-width:6px}.terr{fill:#e0313159;animation:.65s forwards tfade}@keyframes tfade{to{opacity:0}}.tstatus{border:1px solid var(--line);font-variant-numeric:tabular-nums;grid-area:pad;align-items:center;gap:10px;height:clamp(44px,7.5dvh,60px);padding-inline:12px;font-weight:600;display:flex}.tbar{background:var(--peer);flex:1;height:8px}.tbar span{background:var(--ok);width:0;height:100%;transition:width .2s;display:block}.aboard{touch-action:none;user-select:none;outline:none;width:100%;height:100%}.alines line{stroke:var(--line);stroke-width:2px}.anums text{font:700 46px var(--font);text-anchor:middle;fill:var(--text);pointer-events:none}.arect{stroke-width:4px;transform-box:fill-box;transform-origin:50%}.finished .arect{animation:apop .45s var(--d,0s) both}@keyframes apop{40%{transform:scale(1.06)}}.apreview rect{fill:#1c1d210f;stroke:var(--muted);stroke-width:4px;stroke-dasharray:14 10}.apreview.ok rect{fill:#2b8a3e1f;stroke:var(--ok)}.apreview text{font-family:var(--font);text-anchor:middle;fill:var(--text);paint-order:stroke;stroke:#fff;stroke-width:6px;pointer-events:none;font-weight:700}.ainvalid{fill:#6b6f7a2e;animation:.65s forwards tfade}.pboard{--pipe-edge:#1f2a44;--pipe-body:#fff;--water:#339af0;--water-soft:#a5d8ff;touch-action:manipulation;user-select:none;outline:none;width:100%;height:100%}.pbg{fill:#f8f9fb}.ptile{transform-box:view-box;cursor:pointer;transition:transform .17s ease-out}.parm{stroke:var(--water);stroke-width:13px;stroke-dasharray:51 51;stroke-dashoffset:51px;fill:none}.pcore{fill:var(--water);opacity:0;transition:opacity 80ms linear}.pcore.wet{opacity:1}.finished .pboard{--pipe-edge:#1864ab}.finished .ptile{animation:1.2s ease-in-out pglow}@keyframes pglow{50%{filter:drop-shadow(0 0 6px #339af099)}}.pbar span{background:#339af0}@media (prefers-reduced-motion:reduce){.parm{transition:none!important}}.icon-btn{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;place-items:center;padding:0;display:grid}.icon-btn:hover{border-color:var(--line-strong)}.icon-btn[hidden]{display:none}.lvl-daily{--lvl:var(--accent)}.bwrap{width:min(100cqw,100cqh);height:min(100cqw,100cqh);position:relative}.bgrid{border:2px solid var(--line-strong);touch-action:none;background:#e9ecf2;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);gap:3px;width:100%;height:100%;padding:3px;display:grid}.bcell{background:#f8f9fb;border-radius:3px}.bcell.on,.bpiece i{background:var(--c);box-shadow:inset 0 -4px #0000002e,inset 0 3px #ffffff40}.bcell.ghost{background:color-mix(in srgb, var(--c) 35%, transparent)}.bcell.willclear{outline-offset:-2px;filter:brightness(1.15);outline:2px solid #fff}.bcell.clearing{animation:.38s ease-in forwards bclear}@keyframes bclear{40%{filter:brightness(1.6);transform:scale(1.12)}to{opacity:0;transform:scale(.2)}}.bfx{pointer-events:none;position:absolute;inset:0}.bfloat{font:800 1.1rem var(--font);color:var(--text);text-shadow:0 1px #fff,0 0 6px #fff;white-space:nowrap;animation:1.1s ease-out forwards bfloat;position:absolute;transform:translate(-50%)}.bfloat.big{color:var(--accent);font-size:1.6rem}.bfloat.combo{color:#f76707}.bfloat.lvlup{color:var(--ok);font-size:1.8rem}@keyframes bfloat{to{opacity:0;transform:translate(-50%,-48px)}}.tray{touch-action:none;grid-area:pad;grid-template-columns:repeat(3,1fr);gap:8px;height:clamp(72px,15dvh,130px);display:grid}.tslot{border:1px solid var(--line);cursor:grab;place-items:center;min-width:0;display:grid}.tslot.dragging .bpiece{visibility:hidden}.bpiece{pointer-events:none;gap:2px;display:grid}.bpiece i{width:var(--u);height:var(--u);border-radius:3px}.bpiece.nofit{opacity:.3}.bdrag{z-index:60;filter:drop-shadow(0 8px 14px #00000040);gap:3px;position:fixed;top:0;left:0}.finished .bgrid{filter:grayscale(.4)}.howto-menu{flex:none;margin-inline-start:auto}.howto-menu+.bar-end{margin-inline-start:0}.howto-menu ul{min-width:220px}.howto-menu a{white-space:nowrap;align-items:center;gap:8px;display:flex}@media (width<=640px){.menu-label{display:none}.howto-menu{position:static}.howto-menu ul{top:100%;inset-inline-end:16px}}.random-btn{width:100%;min-height:52px;margin-top:12px;font-size:1.05rem}.howto-link{font-size:.95rem}.about-games{padding:0;list-style:none}.about-games li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.about-games img{flex:none}.stats .pid{letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums;grid-column:1/-1;margin:2px 0 0;font-size:.68rem}.sboard{touch-action:manipulation;user-select:none;cursor:pointer;outline:none;width:100%;height:100%}.sbg{fill:url(#swood);stroke:#b9874f;stroke-width:4px}.shole{fill:#5b3a1a;stroke:#a87a45;stroke-width:3px}.splank{transform-box:view-box;transform-origin:0 0;filter:drop-shadow(0 4px 3px #3c1e0047);transition:transform .65s cubic-bezier(.34,1.45,.64,1)}.splank .sbody{filter:brightness(calc(1 - var(--depth,0) * .06))}.splank.falling{opacity:0;transition:transform .8s cubic-bezier(.55,0,.9,.5),opacity .8s ease-in}.sbody{fill-opacity:.88;stroke:#00000047;stroke-width:3px}.sphole{fill:#5b3a1a;stroke:#00000040;stroke-width:2px}.starget{fill:none;stroke:#0000;stroke-width:5px;pointer-events:none}.starget.on{stroke:#12b886;animation:1s ease-in-out infinite spulse}@keyframes spulse{50%{stroke-opacity:.35}}.sscrew{transform-box:view-box;transform-origin:0 0;transition:transform .26s ease-in-out}.sin{transform-box:view-box;transform-origin:0 0;transition:transform .15s}.sscrew.sel .sin{filter:drop-shadow(0 6px 4px #00000059);transform:translateY(-6px)scale(1.25)}.shead{fill:url(#smetal);stroke:#5c6370;stroke-width:2.5px}.sslot{stroke:#4a505c;stroke-width:4.5px;stroke-linecap:round}.scursor{fill:none;stroke:var(--line-strong);stroke-width:3px;stroke-dasharray:8 6;pointer-events:none}.sscrew.locked .shead{fill:#b9bec7}.sscrew.deny .sin{animation:.35s sdeny}@keyframes sdeny{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.sscrew.hooked .shead{animation:.7s ease-out shook}@keyframes shook{30%{fill:#ffd43b;stroke:#f08c00;stroke-width:6px}}.slock circle{fill:#fff;stroke:#868e96;stroke-width:2px}.slock path{fill:none;stroke:#495057;stroke-width:2.5px}.slock rect{fill:#495057}.slocks{pointer-events:none}.tstatus .stuck{color:var(--err)}.finished .sbg{stroke:#2f9e44}@media (prefers-reduced-motion:reduce){.splank,.sscrew,.sin{transition:none}}.mzone{touch-action:none;user-select:none;cursor:pointer}.mboard{aspect-ratio:400/540;width:min(100cqw,74.0741cqh);display:block}.mnext{color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.mnext canvas{width:44px;height:44px}.mstatus{padding-inline:8px}.mchain{width:100%;min-width:0;height:100%}.aeboard{touch-action:manipulation;user-select:none;cursor:pointer;outline:none;width:100%;height:100%}.aebg{fill:#f6f7fb}.aedots circle{fill:#d7dbe5}.aeline{fill:none;stroke:#2b2f3a;stroke-width:16px;stroke-linecap:round;stroke-linejoin:round}.aehead{fill:#2b2f3a;stroke:#2b2f3a;stroke-width:6px;stroke-linejoin:round}.aearrow.leaving .aeline,.aearrow.leaving .aehead{stroke:var(--accent)}.aearrow.leaving .aehead{fill:var(--accent)}.aearrow.blocked .aeline,.aearrow.blocked .aehead{stroke:var(--err)}.aearrow.blocked .aehead{fill:var(--err)}.aecursor{fill:none;stroke:var(--accent);stroke-width:4px;stroke-dasharray:10 8;pointer-events:none}.finished .aebg{fill:var(--ok-soft)}.t48{--g:clamp(6px, 2cqmin, 12px);aspect-ratio:1;width:min(100cqw,100cqh);padding:var(--g);touch-action:none;user-select:none;background:#bbada0;border-radius:10px;position:relative;container-type:size}.t48grid,.t48tiles{inset:var(--g);position:absolute}.t48grid{gap:var(--g);grid-template:repeat(4,1fr)/repeat(4,1fr);display:grid}.t48cell{background:#eee4da59;border-radius:6px}.t48tile{width:calc((100% - 3 * var(--g)) / 4);height:calc((100% - 3 * var(--g)) / 4);transform:translate(calc(var(--x) * (100% + var(--g))), calc(var(--y) * (100% + var(--g))));transition:transform .11s ease-in-out;position:absolute}.t48face{font-variant-numeric:tabular-nums;color:#f9f6f2;border-radius:6px;place-items:center;width:100%;height:100%;font-size:13cqmin;font-weight:800;display:grid}.t48face.d3{font-size:10.5cqmin}.t48face.d4{font-size:8.5cqmin}.t48face.d5,.t48face.d6{font-size:7cqmin}.t48face.new{animation:.16s ease-out t48new}.t48face.pop{animation:.16s ease-out t48pop}@keyframes t48new{0%{opacity:0;transform:scale(.2)}}@keyframes t48pop{50%{transform:scale(1.15)}}.v2{color:#776e65;background:#eee4da}.v4{color:#776e65;background:#ede0c8}.v8{background:#f2b179}.v16{background:#f59563}.v32{background:#f67c5f}.v64{background:#f65e3b}.v128{background:#edcf72}.v256{background:#edcc61}.v512{background:#edc850}.v1024{background:#edc53f}.v2048{background:#edc22e;box-shadow:0 0 24px 6px #f3d7748c}.vbig{background:#3c3a32}.t48toast{text-align:center;color:#fff;z-index:2;background:#edc22ef2;border-radius:8px;margin:0;padding:12px 16px;font-size:1.1rem;font-weight:800;position:absolute;inset:auto 10% 42%}.t48toast[hidden]{display:none}.t48help{color:var(--muted);justify-content:center;font-size:.85rem;font-weight:500}.finished .t48{filter:saturate(.6)}@media (prefers-reduced-motion:reduce){.t48tile{transition:none}.t48face{animation:none!important}}
