:root{--bg: #fff8f0;--card: #ffffff;--ink: #4a3b35;--ink-soft: #9a8a82;--accent: #ff9f6b;--accent-dark: #f0804a;--line: rgba(74, 59, 53, .12);--edge: #5a4840;--shadow: 0 8px 24px rgba(120, 80, 50, .12)}@media(prefers-color-scheme:dark){:root{--bg: #26201d;--card: #342c28;--ink: #f6ebe3;--ink-soft: #b5a59b;--line: rgba(0, 0, 0, .15);--edge: #1c1714;--shadow: 0 8px 24px rgba(0, 0, 0, .35)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;height:100%;touch-action:manipulation;overscroll-behavior:none}body{background:var(--bg);color:var(--ink);font-family:Jua,system-ui,sans-serif;display:flex;justify-content:center;user-select:none;-webkit-user-select:none}.app{width:100%;max-width:480px;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;min-height:100%}button{font-family:inherit;color:inherit;cursor:pointer;border:none}.hidden{display:none!important}.home{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.home .logo{width:150px;height:150px;animation:bob 2.4s ease-in-out infinite}.home h1{font-size:52px;margin:0;font-weight:400;letter-spacing:2px}.home h1 span{color:var(--accent)}.home p{margin:0 0 18px;color:var(--ink-soft);font-size:17px}.big-btn{width:260px;padding:16px;border-radius:20px;font-size:21px;background:var(--accent);color:#fff;box-shadow:0 5px 0 var(--accent-dark);transition:transform .08s}.big-btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--accent-dark)}.big-btn.alt{background:var(--card);color:var(--ink);box-shadow:0 5px 0 var(--line),var(--shadow)}.big-btn small{display:block;font-size:14px;opacity:.8;margin-top:2px}.text-btn{background:none;color:var(--ink-soft);font-size:16px;padding:8px}@keyframes bob{50%{transform:translateY(-8px) rotate(-3deg)}}.game{flex:1;display:flex;flex-direction:column;gap:14px}.topbar{display:flex;align-items:center;justify-content:space-between}.icon-btn{width:44px;height:44px;border-radius:14px;background:var(--card);box-shadow:var(--shadow);font-size:20px;display:grid;place-items:center}.title{text-align:center}.title .name{font-size:22px}.title .sub{font-size:14px;color:var(--ink-soft)}.status{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.lives{display:flex;gap:6px}.lives svg{width:34px;height:22px;transition:filter .3s,opacity .3s,transform .3s}.lives svg.lost{filter:grayscale(1);opacity:.3;transform:scale(.8)}.timer{font-size:20px;font-variant-numeric:tabular-nums;color:var(--ink-soft)}.board-wrap{background:var(--card);border-radius:22px;padding:10px;box-shadow:var(--shadow)}.board{display:grid;aspect-ratio:1;width:100%;border:3px solid var(--edge);border-radius:12px;overflow:hidden;touch-action:none}.cell{position:relative;border:0 solid var(--edge);box-shadow:inset 0 0 0 .5px var(--line);min-width:0;min-height:0;overflow:hidden;transition:filter .15s}.cell svg{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none}.cell.bt{border-top-width:2px}.cell.bb{border-bottom-width:2px}.cell.bl{border-left-width:2px}.cell.br{border-right-width:2px}.cell .x{width:34%;height:34%;opacity:.55}.cell .cat{width:84%;height:84%;animation:pop .35s cubic-bezier(.3,1.6,.5,1)}.cell.hint .cat{filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 4px #ffd84d)}.cell.wrong{animation:shake .4s}.cell.wrong:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ff505073;animation:fade .6s forwards}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes fade{to{opacity:0}}.board.won .cat{animation:dance .6s ease-in-out infinite alternate}@keyframes dance{0%{transform:rotate(-8deg)}to{transform:rotate(8deg) translateY(-6%)}}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tool{background:var(--card);border-radius:16px;padding:10px 4px;box-shadow:var(--shadow);font-size:14px;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.tool .ico{font-size:22px}.tool.on{background:var(--accent);color:#fff}.tool .badge{position:absolute;top:-6px;right:-4px;background:var(--accent);color:#fff;border-radius:10px;font-size:12px;padding:1px 7px}.tool:disabled{opacity:.4}button:disabled{pointer-events:none}.tip{text-align:center;color:var(--ink-soft);font-size:14px;line-height:1.6}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#28191473;display:grid;place-items:center;padding:16px;z-index:10;animation:fadein .2s}.modal{background:var(--card);border-radius:26px;padding:26px 22px;width:100%;max-width:360px;text-align:center;box-shadow:var(--shadow);animation:pop .3s cubic-bezier(.3,1.4,.5,1)}.modal h2{margin:6px 0 8px;font-weight:400;font-size:28px}.modal p{color:var(--ink-soft);margin:0 0 18px;line-height:1.5}.modal .art{width:110px;height:110px}.modal .big-btn{width:100%;margin-top:8px}.rules{text-align:left;padding:0;margin:0 0 16px;list-style:none}.rules li{display:flex;gap:10px;align-items:flex-start;margin:10px 0;line-height:1.4}.rules li b{font-weight:400;background:var(--accent);color:#fff;border-radius:50%;min-width:24px;height:24px;display:grid;place-items:center;font-size:14px}@keyframes fadein{0%{opacity:0}}.paw{position:fixed;top:-40px;font-size:26px;pointer-events:none;z-index:20;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(360deg)}}.home-links{display:flex;gap:8px}.nick{width:100%;padding:14px 16px;border-radius:16px;border:2px solid var(--line);background:var(--bg);color:var(--ink);font-family:inherit;font-size:18px;text-align:center;margin-bottom:8px;outline:none}.nick:focus{border-color:var(--accent)}.modal p b{color:var(--accent);font-weight:400}.board-list{list-style:none;padding:0;margin:0 0 12px;max-height:46vh;overflow-y:auto;text-align:left}.board-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px}.board-list li:nth-child(odd){background:var(--bg)}.board-list li.me{background:var(--accent);color:#fff}.board-list .rk{min-width:28px;text-align:center;font-size:18px}.board-list .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-list .tm{font-variant-numeric:tabular-nums}.board-list .tm i{font-style:normal;font-size:13px;opacity:.75;margin-right:6px}.stats{font-size:15px;color:var(--ink-soft)}.streak{background:var(--card);box-shadow:var(--shadow);border-radius:999px;padding:6px 14px;font-size:15px;margin-bottom:-4px}.settings{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.setting{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--bg);font-size:17px;text-align:left}.setting .ico{font-size:20px}.setting .lbl{flex:1;display:flex;flex-direction:column}.setting .lbl small{font-size:13px;color:var(--ink-soft)}.setting .chev{font-size:22px;color:var(--ink-soft)}.sw{width:46px;height:28px;border-radius:14px;background:var(--line);position:relative;transition:background .2s;flex-shrink:0}.sw:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.sw.on{background:var(--accent)}.sw.on:after{transform:translate(18px)}.patterns .cell{--p: rgba(60, 40, 30, .16);background-size:10px 10px}.patterns .cell[data-g="0"]{background-image:repeating-linear-gradient(45deg,var(--p) 0 2px,transparent 2px 7px);background-size:auto}.patterns .cell[data-g="1"]{background-image:radial-gradient(var(--p) 1.6px,transparent 1.8px);background-size:8px 8px}.patterns .cell[data-g="2"]{background-image:repeating-linear-gradient(0deg,var(--p) 0 2px,transparent 2px 7px);background-size:auto}.patterns .cell[data-g="3"]{background-image:repeating-linear-gradient(90deg,var(--p) 0 2px,transparent 2px 7px);background-size:auto}.patterns .cell[data-g="4"]{background-image:repeating-linear-gradient(45deg,var(--p) 0 1.5px,transparent 1.5px 8px),repeating-linear-gradient(-45deg,var(--p) 0 1.5px,transparent 1.5px 8px);background-size:auto}.patterns .cell[data-g="5"]{background-image:linear-gradient(var(--p) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--p) 1.5px,transparent 1.5px)}.patterns .cell[data-g="6"]{background-image:repeating-linear-gradient(-45deg,var(--p) 0 2px,transparent 2px 7px);background-size:auto}.patterns .cell[data-g="7"]{background-image:radial-gradient(var(--p) 3.2px,transparent 3.5px);background-size:13px 13px}.patterns .cell[data-g="8"]{background-image:conic-gradient(var(--p) 25%,transparent 0 50%,var(--p) 0 75%,transparent 0)}.done-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border-radius:18px;padding:10px 10px 10px 18px;box-shadow:var(--shadow);font-size:18px;animation:pop .3s cubic-bezier(.3,1.4,.5,1)}.done-bar .big-btn{width:auto;padding:12px 20px;font-size:18px}.onboard .dots{display:flex;justify-content:center;gap:6px}.onboard .dots i{width:7px;height:7px;border-radius:4px;background:var(--line);transition:width .2s,background .2s}.onboard .dots i.on{width:20px;background:var(--accent)}.onboard h2{margin-top:12px}.onboard p{min-height:3em;margin:14px 0 10px}.onboard p small{font-size:14px}.onboard .text-btn{margin-top:4px;min-height:36px}.onboard .big-btn:disabled{opacity:.4}.mini{display:grid;width:min(220px,70%);aspect-ratio:1;margin:0 auto;border:3px solid var(--edge);border-radius:10px;overflow:hidden}.mini-cell{position:relative;box-shadow:inset 0 0 0 .5px #4a3b3526}.mini-cell svg{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none}.mini-cell .cat{width:86%;height:86%;animation:pop .35s cubic-bezier(.3,1.6,.5,1)}.mini-cell .x{width:36%;height:36%;opacity:.6}.mini-cell.blocked{box-shadow:inset 0 0 0 999px #ff5a5a33;animation:fadein .4s both}.mini-cell.target{cursor:pointer}.mini-cell.pulse:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:10px;border:3px solid var(--accent);animation:ring 1.1s ease-in-out infinite}@keyframes ring{50%{transform:scale(.85);opacity:.5}}.patterns .cell[data-g="9"]{background-image:repeating-radial-gradient(circle at 50% 50%,var(--p) 0 1.5px,transparent 1.5px 6px);background-size:auto}.home-links{flex-wrap:wrap;justify-content:center}.stars{color:#f5b301;font-size:26px;letter-spacing:4px}.lv-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-height:50vh;overflow-y:auto;padding:4px;margin-bottom:12px}.lv{aspect-ratio:1;border-radius:14px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.lv b{font-weight:400;font-size:20px}.lv small{font-size:10px;color:#f5b301;letter-spacing:1px;min-height:12px}.lv.cur{background:var(--accent);color:#fff}.lv.cur small{color:#fff}.lv.locked{opacity:.45}body.has-banner .app{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.mock-banner{position:fixed;left:0;right:0;bottom:0;height:50px;background:#3a3a3a;color:#fff;display:grid;place-items:center;font-size:14px;z-index:30}.mock-ad{position:fixed;top:0;right:0;bottom:0;left:0;background:#222;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:22px;z-index:40}.mock-ad small{font-size:14px;opacity:.7}.legal{color:var(--ink-soft);font-size:13px;opacity:.8;margin-top:4px}a.setting{color:inherit;text-decoration:none}.home .logo{cursor:pointer}.char-btn{background:var(--card);box-shadow:var(--shadow);border-radius:999px;padding:8px 16px;font-size:16px;margin:-6px 0 6px}.char-btn small{color:var(--accent);font-size:13px;margin-left:4px}.chars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.char{background:var(--bg);border-radius:18px;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:15px;border:3px solid transparent;transition:transform .1s}.char svg{width:64px;height:64px}.char.on{border-color:var(--accent);background:var(--card);transform:scale(1.04)}
