.top{align-items:center;gap:10px;display:flex}.modes{background:var(--card);box-shadow:0 2px 0 var(--line);border-radius:999px;margin-left:auto;padding:3px;display:flex}.modes button{font:700 13px var(--body);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 11px}.modes button[aria-pressed=true]{background:var(--ink);color:var(--card)}@media (width<=400px){.top{gap:6px}.top .brand{font-size:21px}.top .brand img{width:28px;height:28px}.modes button{padding:6px 8px;font-size:12px}}.info{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.info h2{font:800 30px/1 var(--display);text-wrap:balance;margin:0}.info small{font:700 12px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;display:block}.pills{gap:6px;display:flex;position:relative}.pill{background:var(--card);font:800 16px/1 var(--display);font-variant-numeric:tabular-nums;box-shadow:0 2px 0 var(--line);border-radius:999px;align-items:center;gap:5px;padding:5px 11px 5px 7px;display:flex}.pill img{width:22px;height:22px}.pill .ic{text-align:center;width:22px;font-size:15px}.card{background:var(--card);box-shadow:0 4px 0 var(--line),0 18px 40px -18px #46328c40;border-radius:26px;padding:10px}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;display:grid;position:relative}.cell{cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:relative}.tile{background:var(--rc);transition:filter .15s;position:absolute;inset:0}.tile.gt{top:var(--g)}.tile.gb{bottom:var(--g);box-shadow:inset 0 -.16em 0 var(--shade)}.tile.gl{left:var(--g)}.tile.gr{right:var(--g)}.tile.ctl{border-top-left-radius:var(--rad)}.tile.ctr{border-top-right-radius:var(--rad)}.tile.cbl{border-bottom-left-radius:var(--rad)}.tile.cbr{border-bottom-right-radius:var(--rad)}.tile:after{content:"";pointer-events:none;border-radius:inherit;position:absolute;inset:0}.tile.sr:after{border-right:1.5px solid var(--seam)}.tile.sb:after{border-bottom:1.5px solid var(--seam)}.cell:hover .tile{filter:brightness(1.04)}.cell.preview .tile{filter:brightness(.88)}.cell .x,.cell .dot,.cell .cat{pointer-events:none;margin:auto;position:absolute;inset:0}.cell .x{width:38%;height:38%}.cell .x:before,.cell .x:after{content:"";background:var(--xmark);border-radius:99px;width:22%;height:100%;margin-left:-11%;position:absolute;top:0;left:50%}.cell .x:before{transform:rotate(45deg)}.cell .x:after{transform:rotate(-45deg)}.cell .dot{background:var(--xmark);opacity:.6;border-radius:50%;width:16%;height:16%}.cell .cat{width:74%;height:74%;filter:drop-shadow(0 .06em 0 var(--shade))}.cell .cat.in{animation:.32s cubic-bezier(.3,1.6,.5,1) boing}.cell.bad .cat{animation:.5s ease-in-out wobble}.cell.bad .tile{box-shadow:inset 0 0 0 .16em var(--bad)}.cell.hint .tile{box-shadow:inset 0 0 0 .13em var(--hint);filter:brightness(1.08);animation:1s ease-in-out infinite glow}.cell.unit .tile{filter:saturate(1.35)brightness(1.06)}.cell.focus{outline:3px solid var(--accent);outline-offset:-2px;z-index:2;border-radius:8px}.board.won .cat{animation:.5s ease-out both hop}@keyframes boing{0%{transform:scale(.3)}to{transform:scale(1)}}@keyframes wobble{20%{transform:rotate(-10deg)}40%{transform:rotate(9deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}@keyframes glow{50%{box-shadow:inset 0 0 0 .26em var(--hint)}}@keyframes hop{40%{transform:translateY(-22%)scale(1.06)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.say{align-items:flex-start;gap:8px;display:flex}.say img{flex:none;width:44px;height:44px}.bubble{background:var(--card);font:700 14px/1.45 var(--body);color:var(--ink);box-shadow:0 2px 0 var(--line);border-radius:18px;flex:1;min-width:0;min-height:1.45em;padding:10px 14px;position:relative}.bubble:before{content:"";border:7px solid #0000;border-left:0;border-right-color:var(--card);position:absolute;top:16px;left:-7px}.bubble b{color:var(--accent-deep)}.tools{padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(4,1fr);gap:8px;margin-top:auto;display:grid}.tool{background:var(--card);cursor:pointer;font:800 12px var(--body);color:var(--muted);box-shadow:0 3px 0 var(--line);border:0;border-radius:18px;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 8px;transition:transform 80ms;display:flex}.tool:active{box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.tool svg{width:24px;height:24px;stroke:var(--ink);fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.tool.hintbtn{color:var(--accent-deep);box-shadow:0 3px 0 var(--line),inset 0 0 0 2px var(--accent)}.tool.hintbtn svg{stroke:var(--accent-deep)}.tool.confirm{background:var(--accent);color:var(--accent-ink)}.tool.confirm svg{stroke:var(--accent-ink)}.rule{font:700 12.5px/1.4 var(--body);color:var(--muted);margin:-4px 0 0}.rule b{color:var(--ink)}.set{position:static}.set summary{background:var(--card);width:30px;height:30px;box-shadow:0 2px 0 var(--line);cursor:pointer;border-radius:50%;place-items:center;list-style:none;display:grid}.set summary::-webkit-details-marker{display:none}.set summary svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.set .opts{z-index:15;background:var(--card);border-radius:18px;min-width:200px;padding:6px 14px;position:absolute;top:38px;right:0;box-shadow:0 14px 34px -10px #28145066}.set .opts label{font:700 14px var(--body);color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.set .opts label+label{border-top:1px solid var(--line)}.set input{appearance:none;background:var(--line);cursor:pointer;border-radius:99px;flex:none;width:40px;height:24px;margin:0;transition:background .15s;position:relative}.set input:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.set input:checked{background:var(--accent)}.set input:checked:before{transform:translate(16px)}.loupe{z-index:20;pointer-events:none;border:4px solid var(--card);background:var(--card);border-radius:50%;width:150px;height:150px;position:fixed;overflow:hidden;box-shadow:0 10px 30px #28145059}.loupe .inner{display:grid;position:absolute}.win{z-index:30;padding:0 max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:#1b183073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);text-align:center;border-radius:28px;flex-direction:column;align-items:center;gap:10px;width:min(100%,440px);padding:18px 18px 16px;animation:.35s cubic-bezier(.2,1.3,.4,1) rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.sheet>img{filter:drop-shadow(0 6px 10px #28145040);width:96px;height:96px;margin-top:-62px}.sheet h2{font:800 28px/1.05 var(--display);margin:0}.stats{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.stat{background:var(--bg);border-radius:16px;padding:8px 4px}.stat b{font:800 24px/1.1 var(--display);font-variant-numeric:tabular-nums;display:block}.stat span{font:700 11px var(--body);color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.beat{font:700 14px var(--body);color:var(--muted);margin:0}.beat b{color:var(--accent-deep)}.share{box-sizing:border-box;background:var(--bg);white-space:pre-wrap;text-align:left;border-radius:14px;width:100%;margin:0;padding:10px;font:600 13px/1.5 ui-monospace,Menlo,monospace}.row{gap:8px;width:100%;display:flex}.row button{font:800 17px var(--display);cursor:pointer;background:var(--bg);color:var(--ink);border:0;border-radius:16px;flex:1;padding:13px}.row button.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 3px 0 var(--accent-deep)}.about{max-width:480px;font:600 14px/1.6 var(--body);color:var(--muted);margin:28px auto 0}.about h2{font:800 18px/1.2 var(--display);color:var(--ink);margin:0 0 6px}.about p{margin:0 0 10px}.about h2:not(:first-child){margin-top:24px}.about h3{font:800 15px/1.35 var(--display);color:var(--ink);margin:14px 0 2px}.about ul,.about ol{margin:0 0 10px;padding-left:20px}.about li{margin-bottom:5px}.about b{color:var(--ink)}.about .faq p{margin:0 0 6px}.about a{color:var(--accent-deep)}.about .lvnav{justify-content:space-between;gap:10px;font-weight:800;display:flex}.tool{white-space:nowrap}.retry{background:var(--accent);color:var(--accent-ink);font:800 13px var(--body);cursor:pointer;border:0;border-radius:12px;margin-left:6px;padding:4px 10px}.dailylink{background:var(--card);color:var(--ink);box-shadow:0 2px 0 var(--line);border-radius:18px;align-items:center;gap:10px;padding:8px 14px;text-decoration:none;display:flex}.dailylink .di{font-size:20px}.dailylink b{font:800 15px/1.1 var(--display);display:block}.dailylink small{font:700 12px/1.3 var(--body);color:var(--muted);display:block}.dailylink .go{font:800 22px/1 var(--display);color:var(--accent-deep);margin-left:auto}@media (width>=600px){html .tools{margin-top:0}html .app{min-height:0}}.seo h3{font:800 15px/1.35 var(--display);color:var(--ink);margin:12px 0 2px}.seo .faq p{margin:0 0 6px}.seo a{color:var(--accent-deep)}
