@font-face{font-family:Ketty Stitch;src:url(/_more/KettyStitch-Regular-web.CtUcqmjC.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Ketty Felt;src:url(/_more/KettyFelt-Regular-web.CTacnfCX.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{color-scheme:light dark;--font:ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", Nunito, Quicksand, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-num:ui-rounded, "SF Pro Rounded", Nunito, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg:light-dark(oklch(95.5% .025 80),oklch(21.5% .02 55));--bg-2:light-dark(oklch(91.5% .04 55),oklch(17% .02 55));--surface:light-dark(oklch(98.5% .012 85),oklch(27% .025 55));--surface-2:light-dark(oklch(94% .022 80),oklch(33% .027 55));--line:light-dark(oklch(79% .03 70),oklch(46% .03 55));--line-strong:light-dark(oklch(42% .05 50),oklch(80% .04 70));--ink:light-dark(oklch(30% .04 50),oklch(95% .02 85));--ink-soft:light-dark(oklch(46% .045 50),oklch(79% .03 75));--accent:light-dark(oklch(50% .12 12),oklch(80% .1 12));--accent-hover:light-dark(oklch(44% .12 12),oklch(86% .09 12));--on-accent:light-dark(oklch(99% .01 85),oklch(20% .03 20));--title:light-dark(oklch(38% .06 50),oklch(93% .04 80));--title-stitch:light-dark(oklch(42% .06 50),oklch(66% .07 55));--font-stitch:"Ketty Stitch", var(--font);--font-felt:"Ketty Felt", var(--font);--felt:light-dark(oklch(42% .06 50),oklch(36% .045 50));--on-felt:oklch(96% .02 85);--entered:light-dark(oklch(45% .14 15),oklch(82% .11 15));--peer:light-dark(oklch(93.5% .03 70),oklch(31% .03 55));--same:light-dark(oklch(88% .07 20),oklch(41% .07 20));--sel:light-dark(oklch(82% .09 20),oklch(47% .09 20));--wrong-bg:light-dark(oklch(90% .07 25),oklch(37% .1 25));--wrong-ink:light-dark(oklch(48% .2 27),oklch(84% .14 25));--thread-ink:light-dark(oklch(34% .05 45),oklch(93% .03 80));--good:light-dark(oklch(45% .1 150),oklch(82% .12 150));--focus:light-dark(oklch(45% .16 255),oklch(82% .12 255));--shadow:light-dark(oklch(30% .04 50/.18),oklch(0% 0 0/.5));--radius:1rem;--radius-sm:.6rem;--gutter:max(1rem, env(safe-area-inset-left))}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;font-family:var(--font);color:var(--ink);background:var(--bg);background-image:radial-gradient(120% 80% at 50% 0%, var(--bg) 40%, var(--bg-2));padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overscroll-behavior:none;background-attachment:fixed;margin:0;line-height:1.45}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{inset-inline-start:.5rem;z-index:100;background:var(--surface);border-radius:var(--radius-sm);padding:.6rem 1rem;position:absolute;top:-4rem}.skip-link:focus{top:.5rem}[hidden]{display:none!important}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.5rem;height:1.5rem}.icon-fill{fill:currentColor;stroke:none}noscript .noscript{text-align:center;max-width:30rem;margin:2rem auto;padding:1rem;display:block}.btn{border-radius:var(--radius);background:var(--surface);min-height:3rem;color:var(--ink);box-shadow:0 2px 0 var(--shadow);border:2px solid #0000;justify-content:center;align-items:center;gap:.6rem;padding:.6rem 1.25rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:transform 80ms,background-color .15s;display:inline-flex}.btn:active{box-shadow:none;transform:translateY(2px)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{box-shadow:none;border-color:var(--line);background:0 0}.btn-wide{width:100%}.icon-btn{background:0 0;border:0;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}dialog{border:2px solid var(--line);border-radius:calc(var(--radius) + .25rem);background:var(--surface);width:min(32rem,100vw - 1.5rem);max-height:min(42rem,100dvh - 1.5rem);color:var(--ink);box-shadow:0 1rem 3rem var(--shadow);padding:0}dialog::backdrop{backdrop-filter:blur(3px);background:oklch(20% .03 50/.55)}.dialog-body{max-height:inherit;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.25rem;display:grid;overflow-y:auto}.dialog-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dialog-head h2{font-family:var(--font-felt);font-size:1.4rem;font-weight:400}.dialog-actions{gap:.6rem;display:grid}.stitch{border:0;border-top:3px dashed var(--line);margin:0}.toasts{inset-inline:0;bottom:calc(1rem + env(safe-area-inset-bottom));pointer-events:none;z-index:50;justify-items:center;gap:.5rem;display:grid;position:fixed}.toast{border-radius:var(--radius);background:var(--felt);max-width:min(26rem,100vw - 2rem);color:var(--on-felt);box-shadow:0 .5rem 1.5rem var(--shadow);pointer-events:auto;align-items:center;gap:.75rem;padding:.7rem 1rem;font-weight:600;display:flex}.toast button{color:inherit;background:0 0;border:0;padding:.25rem .5rem;font-weight:800;text-decoration:underline}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduce]) .toast{animation:.25s ease-out pop-in}}@keyframes pop-in{0%{opacity:0;transform:translateY(.75rem)}}.sprite{position:absolute}.splash{z-index:1000;background:var(--bg);background-image:radial-gradient(120% 80% at 50% 0%, var(--bg) 40%, var(--bg-2));pointer-events:none;place-content:center;justify-items:center;gap:1.5rem;transition:opacity .45s,visibility .45s;animation:.45s 4s forwards splash-away;display:grid;position:fixed;inset:0}.splash[data-done]{opacity:0;visibility:hidden}.splash-logo{aspect-ratio:1;width:min(80vw,24rem);height:auto;filter:drop-shadow(0 1rem 1rem var(--shadow))}.splash-bar{border-top:4px dashed var(--line);width:min(56vw,14rem);height:.9rem;display:block;position:relative}.splash-bar i{border-top:4px dashed var(--accent);clip-path:inset(0 100% 0 0);height:4px;position:absolute;inset:-4px 0 auto}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduce]) .splash-logo{animation:.7s cubic-bezier(.2,.9,.3,1.2) both splash-in}html:not([data-motion=reduce]) .splash-bar i{animation:2.3s ease-in-out .2s forwards splash-stitch}}@media (prefers-reduced-motion:reduce){.splash-bar i{clip-path:none}}@keyframes splash-in{0%{opacity:0;transform:translateY(1.5rem)scale(.92)}}@keyframes splash-stitch{to{clip-path:inset(0)}}@keyframes splash-away{to{opacity:0;visibility:hidden}}.app{min-height:100dvh;display:grid}.screen{width:100%;padding:1rem var(--gutter) 1.5rem;margin-inline:auto}body[data-screen=home] #screen-game,body[data-screen=game] #screen-home{display:none}html:has(body[data-screen=game]){overscroll-behavior:none;overflow:hidden}body[data-screen=game]{height:100dvh;overflow:hidden}body[data-screen=game] .app{grid-template-rows:minmax(0,1fr);height:100%;min-height:0}.home{align-content:start;gap:1.25rem;max-width:28rem;display:grid}.home-top{justify-content:space-between;align-items:center;display:flex}.lang-switch{background:var(--surface-2);border-radius:999px;gap:.25rem;padding:.2rem;display:inline-flex}.lang-switch a{color:var(--ink-soft);border-radius:999px;padding:.25rem .7rem;font-size:.9rem;font-weight:700;text-decoration:none}.lang-switch a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:0 1px 0 var(--shadow)}.hero{text-align:center;justify-items:center;gap:.25rem;display:grid}.hero .mascot{width:min(56vw,13rem);height:auto;filter:drop-shadow(0 .6rem .6rem var(--shadow))}.wordmark{font-family:var(--font-stitch);letter-spacing:.01em;color:var(--title-stitch);border-bottom:4px dashed var(--line);padding-bottom:.15em;font-size:clamp(2.5rem,12vw,3.5rem);font-weight:400;line-height:1.1}.tagline{color:var(--ink-soft);font-weight:600}.chips{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.chip{background:var(--surface);border:2px solid var(--line);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem;font-size:.95rem;font-weight:700;display:inline-flex}.chip .icon{width:1.25rem;height:1.25rem}.menu{gap:.7rem;display:grid}.menu-row{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.menu-row .btn{text-align:center;flex-direction:column;gap:.2rem;min-height:5.4rem;padding-inline:.4rem;font-size:.9rem;line-height:1.2}.btn small{opacity:.85;font-size:.8rem;font-weight:600;display:block}.btn-stack{flex-direction:column;gap:0;line-height:1.2}.home-foot{color:var(--ink-soft);text-align:center;justify-items:center;gap:.5rem;margin-top:.5rem;font-size:.85rem;display:grid}.home-foot img{width:7rem;height:auto}.icon.inline{vertical-align:-.2em;width:1.1em;height:1.1em}.home-foot nav{gap:1rem;display:flex}.game{grid-template-rows:auto minmax(0,1fr);gap:.5rem;max-width:62rem;min-height:0;padding-top:.5rem;padding-bottom:.5rem;display:grid;overflow:hidden}.game-head{grid-template-columns:auto 1fr auto auto;align-items:center;gap:.25rem;display:grid}.game-title{align-items:baseline;gap:.5rem;min-width:0;font-size:1.1rem;font-weight:800;display:flex}.badge{background:var(--accent);color:var(--on-accent);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.05rem .5rem;font-size:.75rem;font-weight:800}.timer{font-variant-numeric:tabular-nums;text-align:end;min-width:3.5rem;font-size:1.1rem;font-weight:800}.game-main{flex-direction:column;align-items:center;gap:.75rem;min-height:0;display:flex}.board-wrap{--size:max(8rem, min(100cqw, 100cqh - 3.25rem, 36rem));flex:1 1 0;align-content:center;gap:.5rem;width:100%;min-height:0;display:grid;position:relative;container-type:size}.status{width:var(--size);justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;margin-inline:auto;display:flex}.status .mascot{flex:none;width:2.9rem;height:2.9rem;margin-block:-.2rem}.lives,.hints-left{color:var(--ink-soft);align-items:center;gap:.25rem;font-size:.9rem;font-weight:700;display:inline-flex}.lives .icon{width:1.5rem;height:1.5rem}.lives .icon[data-lost]{opacity:.25;filter:grayscale()}.lives .extra{font-variant-numeric:tabular-nums}.board{--n:6;width:var(--size);aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;grid-template:repeat(var(--n), 1fr) / repeat(var(--n), 1fr);border:3px solid var(--line-strong);background:var(--line-strong);box-shadow:0 .4rem 0 var(--shadow);border-radius:.7rem;gap:0;margin-inline:auto;display:grid;overflow:hidden;container-type:inline-size}.pause-cover{width:var(--size);height:var(--size);border:3px solid var(--line-strong);background:var(--surface);text-align:center;z-index:5;border-radius:.7rem;place-content:center;justify-items:center;gap:.75rem;padding:1rem;display:grid;position:absolute;inset:50% auto auto 50%;translate:-50% calc(1.625rem - 50%)}.pause-cover .mascot{width:7rem;height:auto}.pause-cover h2{font-family:var(--font-felt);font-size:1.5rem;font-weight:400}.pause-cover p{color:var(--ink-soft)}.controls{flex:none;gap:.75rem;width:100%;max-width:36rem;display:grid}.tools{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.tool{border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:3.5rem;color:var(--ink);justify-items:center;gap:.1rem;padding:.35rem .25rem;font-size:.8rem;font-weight:700;display:grid;position:relative}.tool:disabled{opacity:.4;cursor:default}.tool .count{top:.2rem;font-size:.75rem;font-weight:800;position:absolute;inset-inline-end:.4rem}@media (width>=52rem),(orientation:landscape) and (width>=40rem) and (height<=32rem){.game-main{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);align-items:stretch;gap:1.5rem;display:grid}.board-wrap{--size:max(8rem, min(100cqw, 100cqh - 3.25rem, 40rem))}.controls{align-self:center}}.steps{counter-reset:step;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.steps li{grid-template-columns:2rem 1fr;gap:0 .75rem;display:grid}.steps li:before{counter-increment:step;content:counter(step);background:var(--accent);width:2rem;height:2rem;color:var(--on-accent);border-radius:50%;grid-row:span 2;place-items:center;font-weight:800;display:grid}.steps h3{font-size:1.05rem}.steps p{color:var(--ink-soft)}.choice{gap:.6rem;display:grid}.choice .btn{text-align:start;justify-content:space-between;padding-block:.8rem}.choice .btn small{opacity:.85;font-weight:600}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;display:grid}.stat{border-radius:var(--radius-sm);background:var(--surface-2);gap:.1rem;padding:.7rem .9rem;display:grid}.stat b{font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.1}.stat span,.muted{color:var(--ink-soft);font-size:.9rem}.best-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.best-list li{border-bottom:2px dashed var(--line);justify-content:space-between;padding:.35rem 0;font-weight:700;display:flex}.setting{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;min-height:2.75rem;font-weight:700;display:flex}.setting>span:first-child{flex:8rem;min-width:0}.switch{appearance:none;border:2px solid var(--line-strong);background:var(--surface-2);cursor:pointer;border-radius:999px;flex:none;width:3.25rem;height:1.9rem;transition:background-color .15s;position:relative}.switch:after{content:"";top:.15rem;background:var(--line-strong);border-radius:50%;width:1.3rem;height:1.3rem;transition:transform .15s;position:absolute;inset-inline-start:.2rem}.switch:checked{background:var(--accent);border-color:var(--accent)}.switch:checked:after{background:var(--on-accent);transform:translate(1.25rem)}.switch:dir(rtl):checked:after{transform:translate(-1.25rem)}.segmented{background:var(--surface-2);border-radius:999px;padding:.2rem;display:inline-flex}.segmented button{background:0 0;border:0;border-radius:999px;padding:.3rem .8rem;font-size:.9rem;font-weight:700}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.celebrate{text-align:center;justify-items:center;gap:.25rem;display:grid}.celebrate .mascot{width:8rem;height:auto}.celebrate h2{font-family:var(--font-felt);font-size:1.8rem;font-weight:400}.result-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.result-list li{border-bottom:2px dashed var(--line);justify-content:space-between;gap:1rem;padding:.3rem 0;font-weight:700;display:flex}.result-list .new-best{color:var(--good);border:0;justify-content:center}.pager{justify-content:center;gap:.4rem;display:flex}.pager i{background:var(--line);border-radius:50%;width:.6rem;height:.6rem}.pager i[data-on]{background:var(--accent)}.prose{gap:1rem;max-width:40rem;display:grid}.prose h2{font-family:var(--font-felt);font-size:1.2rem;font-weight:400}.prose p{color:var(--ink-soft)}.hub{align-content:start;gap:1rem;max-width:40rem;display:grid}.hub .wordmark{font-size:clamp(1.8rem,8vw,2.6rem)}.hub-card{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);grid-template-columns:6rem 1fr auto;align-items:center;gap:1rem;padding:1rem;text-decoration:none;display:grid}.hub-card h2{font-family:var(--font-felt);font-size:1.4rem;font-weight:400}.hub-card p{color:var(--ink-soft)}.hub-card .mascot{width:6rem;height:auto}.mascot{--fur:oklch(90% .04 80);--fur-shade:oklch(80% .05 70);--pink:oklch(72% .09 15);--pink-soft:oklch(82% .07 15);--thread:oklch(36% .05 45);overflow:visible}.mascot *{transform-box:fill-box}.mascot .m-tongue,.mascot .m-sweat,.mascot .m-zzz,.mascot .m-mouth-sad,.mascot .m-heart,.mascot .m-eye-sleep{display:none}.mascot[data-mood=happy] .m-tongue,.mascot[data-mood=cheer] .m-tongue,.mascot[data-mood=happy] .m-heart,.mascot[data-mood=cheer] .m-heart,.mascot[data-variant=tongue]:not([data-mood=oops]):not([data-mood=sleep]) .m-tongue,.mascot[data-variant=tongue]:not([data-mood=oops]):not([data-mood=sleep]) .m-heart{display:inline}.mascot[data-mood=oops] .m-mouth-smile{display:none}.mascot[data-mood=oops] .m-mouth-sad,.mascot[data-mood=oops] .m-sweat,.mascot[data-mood=sleep] .m-zzz,.mascot[data-mood=sleep] .m-eye-sleep{display:inline}.mascot[data-mood=sleep] .m-eye-x{display:none}.mascot[data-mood=cheer] .m-arm-l{transform-origin:85% 15%;transform:rotate(-150deg)}.mascot[data-mood=cheer] .m-arm-r{transform-origin:15% 15%;transform:rotate(150deg)}.mascot[data-mood=oops] .m-ear-r{transform-origin:20% 90%;transform:rotate(18deg)}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduce]) .m-ear-l{transform-origin:50% 100%;animation:6s ease-in-out infinite ear-wiggle}html:not([data-motion=reduce]) .mascot[data-mood=happy]{animation:.5s ease-out hop}html:not([data-motion=reduce]) .mascot[data-mood=cheer]{animation:.6s ease-out infinite hop}html:not([data-motion=reduce]) .mascot[data-mood=oops]{animation:.45s ease-in-out shake}html:not([data-motion=reduce]) .mascot[data-mood=sleep] .m-zzz{animation:2.4s ease-in-out infinite float-z}}@keyframes ear-wiggle{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-7deg)}95%{transform:rotate(5deg)}}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-14%)}}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes float-z{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-8%)}}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduce]) .cell.pop .bunny,html:not([data-motion=reduce]) .cell.pop .cross{animation:.22s ease-out cell-pop}html:not([data-motion=reduce]) .cell[data-state=blocked].pop{animation:.3s ease-in-out cell-shake}html:not([data-motion=reduce]) .cell.wave{animation:.5s ease-out both cell-wave;animation-delay:calc(var(--d,0) * 35ms)}html:not([data-motion=reduce]) .confetti i{animation:fall var(--t,2.2s) ease-in var(--w,0s) both}}@keyframes cell-pop{0%{transform:scale(1.5)}}@keyframes cell-shake{25%{transform:translate(-4%)}75%{transform:translate(4%)}}@keyframes cell-wave{50%{filter:brightness(1.15)saturate(1.3);z-index:3;transform:scale(1.06)}}.confetti{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.confetti i{top:-1.5rem;background:var(--c,var(--accent));opacity:0;border-radius:.35rem .35rem .2rem .2rem;width:.7rem;height:1.1rem;position:absolute;inset-inline-start:var(--x,50%)}@keyframes fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(26rem) rotate(var(--r,360deg))}}.board .row{display:contents}.board button:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;z-index:2}.scores{gap:.5rem;display:inline-flex}.score{border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);justify-items:center;min-width:3.6rem;padding:.1rem .6rem;line-height:1.15;display:grid}.score small{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-size:.62rem;font-weight:700}.score b{font-variant-numeric:tabular-nums;font-size:1.05rem}.goal-chip{background:var(--accent);color:var(--on-accent);white-space:nowrap;border-radius:999px;padding:.15rem .65rem;font-size:.85rem;font-weight:800}.tools[data-n="2"]{grid-template-columns:repeat(2,1fr)}.tool[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}html:not([data-motion=reduce]) .pop{animation:.28s ease-out pop}.g-molepatch{--soil:light-dark(oklch(66% .08 65),oklch(50% .06 60));--soil-edge:light-dark(oklch(52% .07 60),oklch(38% .05 55));--open:light-dark(oklch(96% .03 85),oklch(36% .03 60))}.g-molepatch .board{gap:2px}.mcell{background:var(--soil);min-width:0;min-height:0;box-shadow:inset 0 .16em 0 oklch(100% 0 0/.24), inset 0 -.2em 0 var(--soil-edge);color:var(--ink);font-family:var(--font-num);font-weight:800;font-size:calc(100cqi / var(--n) * .54);border:0;border-radius:0;place-items:center;padding:0;line-height:1;display:grid;position:relative}.mcell .num,.mcell .mi{pointer-events:none;display:none}.mcell .mi{width:66%;height:66%}.mcell[data-state=open]{background:var(--open);box-shadow:none}.mcell[data-state=open] .num,.mcell[data-state=flag] .mi-flag,.mcell[data-state=mole] .mi-mole{display:block}.mcell[data-state=mole]{background:var(--wrong-bg);box-shadow:none}.mcell[data-n="1"]{color:light-dark(oklch(50% .15 255),oklch(80% .1 255))}.mcell[data-n="2"]{color:light-dark(oklch(50% .13 150),oklch(82% .11 150))}.mcell[data-n="3"]{color:light-dark(oklch(52% .19 27),oklch(80% .13 27))}.mcell[data-n="4"]{color:light-dark(oklch(42% .15 300),oklch(78% .11 300))}.mcell[data-n="5"]{color:light-dark(oklch(46% .12 50),oklch(80% .1 55))}.mcell[data-n="6"]{color:light-dark(oklch(50% .1 200),oklch(80% .09 200))}.mcell[data-n="7"],.mcell[data-n="8"]{color:var(--ink)}.mcell[data-hint]{box-shadow:inset 0 0 0 .2em var(--focus)}.tool[data-action=flag] .icon{transform:rotate(-20deg)}.g-hopmerge{--slot:light-dark(oklch(88% .025 80),oklch(30% .025 55));--tile-board:light-dark(oklch(80% .035 75),oklch(25% .02 50))}.g-hopmerge .board{background:var(--tile-board);--g:.07;display:block;position:relative}.g-hopmerge .slots{grid-template:repeat(var(--n), 1fr) / repeat(var(--n), 1fr);gap:calc(100cqi / var(--n) * var(--g));padding:calc(100cqi / var(--n) * var(--g));display:grid;position:absolute;inset:0}.g-hopmerge .slot{border-radius:calc(100cqi / var(--n) * .12);background:var(--slot)}.tile{--cell:calc((100cqi - 100cqi / var(--n) * var(--g) * (var(--n) + 1)) / var(--n));--gap:calc(100cqi / var(--n) * var(--g));width:var(--cell);height:var(--cell);border-radius:calc(var(--cell) * .14);color:var(--ink);font-family:var(--font-num);font-weight:800;font-size:calc(var(--cell) * .46 * var(--fs,1));transform:translate(calc(var(--c) * (var(--cell) + var(--gap)) + var(--gap)), calc(var(--r) * (var(--cell) + var(--gap)) + var(--gap)));place-items:center;line-height:1;transition:transform .11s ease-out;display:grid;position:absolute;top:0;left:0;box-shadow:inset 0 .1em oklch(100% 0 0/.3),inset 0 -.12em oklch(0% 0 0/.14)}.tile[data-d="3"]{--fs:.84}.tile[data-d="4"]{--fs:.66}.tile[data-d="5"]{--fs:.54}.tile[data-e="1"]{background:light-dark(oklch(94% .03 85),oklch(62% .04 80))}.tile[data-e="2"]{background:light-dark(oklch(90% .06 85),oklch(66% .07 85))}.tile[data-e="3"]{background:light-dark(oklch(84% .1 65),oklch(70% .11 65))}.tile[data-e="4"]{background:light-dark(oklch(80% .13 55),oklch(72% .13 55))}.tile[data-e="5"]{background:light-dark(oklch(76% .15 40),oklch(72% .15 40))}.tile[data-e="6"]{background:light-dark(oklch(72% .17 28),oklch(70% .17 28))}.tile[data-e="7"]{background:light-dark(oklch(86% .13 95),oklch(78% .13 95))}.tile[data-e="8"]{background:light-dark(oklch(84% .14 100),oklch(80% .14 100))}.tile[data-e="9"]{background:light-dark(oklch(82% .15 110),oklch(80% .15 110))}.tile[data-e="10"]{background:oklch(80% .15 125)}.tile[data-e="11"]{background:light-dark(oklch(78% .16 145),oklch(80% .16 145))}.tile[data-e="12"],.tile[data-e="13"],.tile[data-e="14"]{background:light-dark(oklch(74% .15 175),oklch(80% .15 175))}.tile[data-goal]{outline:.18em solid var(--accent);outline-offset:-.18em}@keyframes tile-spawn{0%{transform:translate(calc(var(--c) * (var(--cell) + var(--gap)) + var(--gap)), calc(var(--r) * (var(--cell) + var(--gap)) + var(--gap))) scale(.3)}}@keyframes tile-merge{50%{transform:translate(calc(var(--c) * (var(--cell) + var(--gap)) + var(--gap)), calc(var(--r) * (var(--cell) + var(--gap)) + var(--gap))) scale(1.16)}}html:not([data-motion=reduce]) .tile.spawn{animation:.16s ease-out tile-spawn}html:not([data-motion=reduce]) .tile.merge{animation:.16s ease-out tile-merge}html[data-motion=reduce] .tile{transition:none}.g-hopmerge .board:after{content:"";color:var(--accent);opacity:0;pointer-events:none;place-items:center;font-size:30cqi;font-weight:800;display:grid;position:absolute;inset:0}.g-hopmerge .board[data-hint]:after{animation:1.4s ease-out hint-arrow}.g-hopmerge .board[data-hint=left]:after{content:"←"}.g-hopmerge .board[data-hint=right]:after{content:"→"}.g-hopmerge .board[data-hint=up]:after{content:"↑"}.g-hopmerge .board[data-hint=down]:after{content:"↓"}@keyframes hint-arrow{0%{opacity:0}20%,60%{opacity:.85}to{opacity:0}}.g-hopmerge .status{flex-wrap:nowrap}.g-carrotcabbage .board{gap:2px;position:relative}.vcell{background:var(--surface);min-width:0;min-height:0;color:var(--ink);border:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.vcell .vi-carrot,.mcell .mi-flag{color:light-dark(oklch(70% .17 55),oklch(76% .16 55))}.vcell .vi{pointer-events:none;width:68%;height:68%;display:none}.vcell[data-state=carrot] .vi-carrot,.vcell[data-state=cabbage] .vi-cabbage{display:block}.vcell[data-given]{background:var(--surface-2);box-shadow:inset 0 0 0 .12em light-dark(oklch(85% .03 70),oklch(42% .03 60))}.vcell[data-bad]{background:var(--wrong-bg);box-shadow:inset 0 0 0 .16em var(--wrong-ink)}.vcell[data-hint]{box-shadow:inset 0 0 0 .2em var(--focus)}.sign{left:calc(var(--x) * 100cqi / var(--n));top:calc(var(--y) * 100cqi / var(--n));width:calc(100cqi / var(--n) * .34);height:calc(100cqi / var(--n) * .34);border:.12rem solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--font-num);font-weight:800;font-size:calc(100cqi / var(--n) * .26);pointer-events:none;z-index:1;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;translate:-50% -50%}
