:root{--bg: #f7f1ed;--card: #ffffff;--ink: #8a5a52;--ink-strong: #7a4a44;--region-edge: #3a2d28;--pattern-ink: rgba(58, 45, 40, .2);--chip: #faf1ea;--shadow: 0 6px 18px rgba(138, 90, 82, .13);--logo-shadow: rgba(138, 90, 82, .25);--scrim: rgba(90, 60, 55, .4);--mini: #dfc2ac;--mini-x: #b9744f;--mini-dog: #e9d3c0;--muted: #b9aaa4;--done: #dff5e6;--region-mix: 100%;--dog-rim: none;--x: #ffffff;--red: #e5383b;--green: #12b755;--tier-easy: #2c8f52;--tier-medium: #3aa8c4;--tier-hard: #c2453f;--tier-expert: #7a5cc4;--tier-best: #d4a900;--confetti-1: #f5a3e6;--confetti-2: #fad987;--confetti-3: #3aa8c4;--confetti-4: #8cd67f;--confetti-5: #8c7cdb;--confetti-6: #f08a4b;color-scheme:light;font-family:Avenir Next,Nunito,Segoe UI,system-ui,-apple-system,Roboto,sans-serif}:root[data-theme=dark]{--bg: #1f1715;--card: #2b211e;--ink: #d9bfb5;--ink-strong: #f5e4dc;--region-edge: #e8ddd6;--pattern-ink: rgba(232, 221, 214, .24);--chip: #382b27;--shadow: 0 6px 18px rgba(0, 0, 0, .38);--logo-shadow: rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .55);--mini: #5e4a42;--mini-x: #a0654a;--mini-dog: #7d6258;--muted: #6e5f59;--done: #1d3a28;--region-mix: 85%;--dog-rim: drop-shadow(0 0 1px rgba(255, 236, 224, .7)) drop-shadow(0 0 3px rgba(255, 236, 224, .18));--tier-easy: #43c575;--tier-medium: #75c2d6;--tier-hard: #d47d79;--tier-expert: #a894d8;--tier-best: #ffd222;--confetti-1: #ffb3ec;--confetti-2: #ffe28f;--confetti-3: #5cc6e0;--confetti-4: #9fe08d;--confetti-5: #a998e6;--confetti-6: #ff9d5c;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1f1715;--card: #2b211e;--ink: #d9bfb5;--ink-strong: #f5e4dc;--region-edge: #e8ddd6;--pattern-ink: rgba(232, 221, 214, .24);--chip: #382b27;--shadow: 0 6px 18px rgba(0, 0, 0, .38);--logo-shadow: rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .55);--mini: #5e4a42;--mini-x: #a0654a;--mini-dog: #7d6258;--muted: #6e5f59;--done: #1d3a28;--region-mix: 85%;--dog-rim: drop-shadow(0 0 1px rgba(255, 236, 224, .7)) drop-shadow(0 0 3px rgba(255, 236, 224, .18));--tier-easy: #43c575;--tier-medium: #75c2d6;--tier-hard: #d47d79;--tier-expert: #a894d8;--tier-best: #ffd222;--confetti-1: #ffb3ec;--confetti-2: #ffe28f;--confetti-3: #5cc6e0;--confetti-4: #9fe08d;--confetti-5: #a998e6;--confetti-6: #ff9d5c;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);overscroll-behavior:none}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}svg{display:block;width:100%;height:100%}.art{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.silhouette{-webkit-mask-image:var(--dog);mask-image:var(--dog);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background:currentColor;display:block;width:100%;height:100%}[hidden]{display:none!important}#app{height:100%;display:flex;justify-content:center}.screen{width:100%;max-width:480px;height:100dvh;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.card{background:var(--card);border-radius:22px;box-shadow:var(--shadow)}.pill{background:var(--card);border-radius:999px;box-shadow:var(--shadow);display:flex;align-items:center}.round{width:52px;height:52px;border-radius:50%;background:var(--card);box-shadow:var(--shadow);display:grid;place-items:center;color:var(--ink);flex:none}.round svg{width:26px;height:26px}.round.ghost{visibility:hidden}.round:active,.power:active,.primary:active,.secondary:active,.tile:active{transform:scale(.95)}.primary,.secondary{border-radius:999px;padding:14px 26px;font-weight:800;font-size:1.05rem;box-shadow:var(--shadow);transition:transform .08s}.primary{background:var(--green);color:#fff}.secondary{background:var(--card);color:var(--ink-strong)}.big{width:100%;max-width:320px;font-size:1.2rem;padding:17px 26px}.link{color:var(--ink);font-weight:700;text-decoration:underline;padding:8px}.topbar{display:flex;align-items:center;justify-content:space-between}.score{text-align:center;line-height:1.05}.score-level{font-size:1.05rem;font-weight:800;color:var(--ink-strong);margin-bottom:2px}.score-label{font-size:1.1rem;color:var(--ink)}.score-value{font-size:1.7rem;font-weight:800;color:var(--ink-strong);font-variant-numeric:tabular-nums}.status{display:flex;gap:12px;align-items:stretch}.tracker{flex:1;min-width:0;padding:7px 12px;gap:2px;justify-content:space-between}.slot{flex:1 1 0;max-width:34px;aspect-ratio:1}.slot.filled.new{animation:pop .35s}.slot.filled .art,.power .art,.result-art .art,.parade-dog .art{filter:var(--dog-rim)}.bone-pill{padding:6px 14px;gap:4px;flex:none}.bone{width:34px;height:22px;transition:opacity .3s,filter .3s,transform .3s}.bone.gone{opacity:.22;filter:grayscale(1);transform:scale(.85)}.topbar,.status,.bottom{flex:none}.board-area{flex:1 1 0;min-height:0;container-type:size;display:flex;justify-content:center;align-items:flex-start}.board-card{padding:4px;width:min(100cqw,100cqh);aspect-ratio:1}.board{display:grid;gap:5px;touch-action:none}:root.outlined .board{gap:1px}.cell{aspect-ratio:1;display:grid;place-items:center;color:var(--x);background:color-mix(in srgb,var(--region) var(--region-mix),var(--bg));position:relative;transition:opacity .2s,filter .2s;cursor:pointer}.cell svg{pointer-events:none}.cell[data-mark=x] svg,.cell[data-mark=redx] svg{width:62%;height:62%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}.cell[data-mark=redx]{color:var(--red)}.cell[data-mark=redx] svg{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 1px #fff)}.cell[data-mark=dog] .art{width:88%;height:88%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.22))}.cell.pop svg,.cell.pop .art{animation:pop .35s}.cell.shake,.pill.shake{animation:shake .4s}.board.won .cell[data-mark=dog] .art{animation:bounce .9s ease-in-out 2;filter:drop-shadow(0 0 7px #ffe27a)}.cell.hint-dim{opacity:.32;filter:saturate(.6)}.cell.hint-context{opacity:1}.cell.hint-open:after{content:"";position:absolute;inset:7%;border-radius:12%;border:3px dashed #fff;box-shadow:0 0 0 1.5px #7a4a448c}.cell.hint-source:after{content:"";position:absolute;inset:-3px;border-radius:16%;border:3px dashed var(--ink-strong)}.cell.hint-ghost:before{content:"";position:absolute;inset:22%;opacity:.75;background:linear-gradient(45deg,transparent 44%,#fff 44%,#fff 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,#fff 44%,#fff 56%,transparent 56%);border-radius:4px}.cell.hint-target{opacity:1;z-index:1;animation:pulse 1.1s ease-in-out infinite}.cell.hint-target:after{content:"";position:absolute;inset:-3px;border-radius:16%;border:3px solid #fff;box-shadow:0 0 0 2px var(--ink-strong),0 0 12px 2px #ffe27ae6}.bottom{position:relative;display:flex;flex-direction:column;gap:8px}.bottom.hinting .powers,.bottom.hinting .level-tag{display:none}.hint-bubble{min-height:118px;display:flex;flex-direction:column;justify-content:center;background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:10px 14px 4px;font-size:.9rem;line-height:1.32;color:var(--ink-strong);text-align:center}.hint-bubble{position:relative}.hint-bubble p{margin:0}.hint-actions{display:flex;justify-content:center;gap:18px}.powers{display:flex;justify-content:center;gap:22%;padding-top:10px}.power{width:82px;height:82px;border-radius:50%;background:var(--card);box-shadow:var(--shadow);padding:15px;position:relative;transition:transform .08s}.power.empty svg,.power.empty .art{opacity:.35;filter:grayscale(1)}.badge{position:absolute;top:-6px;right:-12px;min-width:38px;height:26px;padding:0 8px;border-radius:999px;background:var(--green);color:#fff;font-weight:800;font-size:.95rem;display:grid;place-items:center}.power.empty .badge{background:var(--muted)}.cost-float{position:absolute;top:-6px;right:-12px;min-width:38px;text-align:center;font-weight:800;font-size:1rem;color:var(--ink-strong);pointer-events:none;text-shadow:0 1px 0 var(--card),0 0 6px var(--card);animation:cost-float .9s ease-out forwards}.cost-float.in-bubble{top:8px;right:12px}@keyframes cost-float{0%{opacity:0;transform:translateY(2px) scale(.7)}22%{opacity:1;transform:translateY(-9px) scale(1.15)}to{opacity:0;transform:translateY(-38px) scale(1)}}.level-tag{text-align:center;font-size:.8125rem;opacity:.7}.dots{display:inline-flex;gap:3px;vertical-align:middle;margin-left:6px}.dot{width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;opacity:.55}.dot.on{background:currentColor;opacity:1}.rosette{position:relative;width:132px;height:132px;margin:0 auto;animation:pop .4s}.rosette svg{width:100%;height:100%}.tails{animation:rise .6s .1s ease-out}.rosette-dog{position:absolute;inset:27% 27% 33%}.rosette-dog .art{width:100%;height:100%;object-fit:contain}.screen.graduation{align-items:center;justify-content:center;text-align:center;overflow-y:auto}.screen.graduation h1{margin:0;font-size:1.5rem;color:var(--ink-strong)}.graduation-art{padding-top:4px}.graduation-body{margin:0;line-height:1.4;max-width:340px}.graduation-score{margin:0;font-weight:700}.graduation-topup{margin:0;color:var(--green);font-weight:800}.parade{display:flex;gap:10px;width:100%;overflow-x:auto;padding:4px 4px 10px;-webkit-overflow-scrolling:touch}.parade-dog{flex:none;width:60px;height:60px;animation:parade-in .4s both;animation-delay:calc(var(--i) * 60ms)}.home{align-items:center;justify-content:flex-start;text-align:center;gap:12px;overflow-y:auto}.home-bar{flex:none;width:100%}.home-art{margin-top:auto}.home-actions{margin-bottom:auto}.home-art,.home-actions{display:flex;flex-direction:column;align-items:center;width:100%}.home-art{gap:4px}.home-actions{gap:12px}.logo{width:150px;height:150px;filter:drop-shadow(0 8px 12px var(--logo-shadow))}.home h1{margin:6px 0 0;font-size:2.6rem;color:var(--ink-strong);letter-spacing:.5px}.tagline{margin:0 0 18px;font-size:1.1rem}.home-stats{margin-top:18px;display:flex;align-items:center;gap:6px;font-weight:700}.home-stats span:first-child{margin-right:12px}.stat-icon{width:24px;height:24px;margin-left:8px}.stage-card{display:grid;grid-template-columns:1fr auto;gap:4px 8px;width:100%;max-width:320px;background:var(--card);border-radius:14px;padding:10px 14px}.stage-name{font-weight:700}.stage-count{font-size:.85rem;opacity:.75}.stage-bar{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--chip);overflow:hidden}.stage-bar i{display:block;height:100%;background:var(--ribbon);border-radius:3px}.level-list{display:flex;flex-direction:column;gap:18px;padding:4px 4px 20px;margin:0 -4px;flex:1 1 0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.stage-group{display:flex;flex-direction:column;gap:8px}.stage-head{display:flex;align-items:baseline;gap:8px;margin:0;font-size:1rem;border-left:4px solid var(--ribbon);padding-left:8px}.stage-head small{font-size:.85rem;opacity:.7}.level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-content:start}.tile{aspect-ratio:1;border-radius:16px;background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.tile b{font-size:1.15rem;color:var(--ink-strong)}.tile small{font-size:.8125rem;opacity:.7}.tile.done{background:var(--done)}.tile.open{outline:3px solid var(--green)}.tile.locked{opacity:.4;box-shadow:none}.custom-body{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-bottom:8px}.field-label{font-weight:800;color:var(--ink-strong);margin-top:8px}.field-help{margin:0;font-size:.85rem;opacity:.75}.custom-message{margin:4px 0 0;color:var(--ink-strong);font-weight:700;min-height:1.2em}.unlock{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 20px;text-align:center}.unlock h2{margin:0;font-size:1.2rem;color:var(--ink-strong)}.unlock p{margin:0;line-height:1.4}.unlock-note{min-height:1.2em;font-size:.85rem;color:var(--ink-strong)}.unlock button:disabled{opacity:.55}.chips{display:flex;flex-wrap:wrap;gap:8px}.choice{flex:1 1 auto;min-width:72px;padding:12px 10px;border-radius:14px;background:var(--card);box-shadow:var(--shadow);font-weight:800;color:var(--ink-strong);transition:transform .08s}.choice:active{transform:scale(.95)}.choice.on{background:var(--green);color:#fff}.choice.off{opacity:.4}.code-input{font:inherit;font-weight:800;letter-spacing:.22em;text-align:center;text-transform:uppercase;color:var(--ink-strong);background:var(--card);border:0;border-radius:14px;padding:14px;box-shadow:var(--shadow);width:100%}.primary.working{opacity:.7}.draw .custom-body>*{flex-shrink:0}.palette{display:flex;gap:6px;justify-content:center;align-items:center}.swatch{flex:1 1 0;min-width:0;max-width:40px;aspect-ratio:1;border-radius:12px;box-shadow:var(--shadow);border:3px solid transparent;background:color-mix(in srgb,var(--swatch) var(--region-mix),var(--bg));transition:transform .08s}.swatch.on{border-color:var(--ink-strong);transform:scale(1.1)}.swatch.eraser{background:var(--card);color:var(--ink);padding:0;display:grid;place-items:center}.swatch.eraser svg{width:55%;height:55%}.draw-card{padding:9px;width:100%;max-width:440px;align-self:center;flex:none}.draw-board{display:grid;gap:5px;touch-action:none}:root.outlined .draw-board{gap:2px}.draw-cell{aspect-ratio:1;background:color-mix(in srgb,var(--region) var(--region-mix),var(--bg))}.cell,.draw-cell{border-radius:12%}:root.outlined .cell[data-edge~=t],:root.outlined .draw-cell[data-edge~=t]{--edge-t: inset 0 2px 0 0 var(--region-edge)}:root.outlined .cell[data-edge~=r],:root.outlined .draw-cell[data-edge~=r]{--edge-r: inset -2px 0 0 0 var(--region-edge)}:root.outlined .cell[data-edge~=b],:root.outlined .draw-cell[data-edge~=b]{--edge-b: inset 0 -2px 0 0 var(--region-edge)}:root.outlined .cell[data-edge~=l],:root.outlined .draw-cell[data-edge~=l]{--edge-l: inset 2px 0 0 0 var(--region-edge)}.cell,.draw-cell{box-shadow:var(--edge-t, 0 0),var(--edge-r, 0 0),var(--edge-b, 0 0),var(--edge-l, 0 0)}:root.outlined .cell,:root.outlined .draw-cell{border-radius:0}:root.outlined .cell[data-edge~=t][data-edge~=l],:root.outlined .draw-cell[data-edge~=t][data-edge~=l]{border-top-left-radius:26%}:root.outlined .cell[data-edge~=t][data-edge~=r],:root.outlined .draw-cell[data-edge~=t][data-edge~=r]{border-top-right-radius:26%}:root.outlined .cell[data-edge~=b][data-edge~=r],:root.outlined .draw-cell[data-edge~=b][data-edge~=r]{border-bottom-right-radius:26%}:root.outlined .cell[data-edge~=b][data-edge~=l],:root.outlined .draw-cell[data-edge~=b][data-edge~=l]{border-bottom-left-radius:26%}:root.patterns .cell[data-pattern=dots],:root.patterns .draw-cell[data-pattern=dots],:root.patterns .swatch[data-pattern=dots]{background-image:radial-gradient(var(--pattern-ink) 1.75px,transparent 2.05px);background-size:8px 8px}:root.patterns .cell[data-pattern=stripes],:root.patterns .draw-cell[data-pattern=stripes],:root.patterns .swatch[data-pattern=stripes]{background-image:repeating-linear-gradient(45deg,var(--pattern-ink) 0 1.4px,transparent 1.4px 8px)}:root.patterns .cell[data-pattern=checks],:root.patterns .draw-cell[data-pattern=checks],:root.patterns .swatch[data-pattern=checks]{background-image:conic-gradient(color-mix(in srgb,var(--pattern-ink) 45%,transparent) 90deg,transparent 90deg 180deg,color-mix(in srgb,var(--pattern-ink) 45%,transparent) 180deg 270deg,transparent 270deg);background-size:8px 8px}:root.patterns .cell[data-pattern=zigzag],:root.patterns .draw-cell[data-pattern=zigzag],:root.patterns .swatch[data-pattern=zigzag]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--pattern-ink) 45%,transparent) 25%,transparent 25%),linear-gradient(225deg,color-mix(in srgb,var(--pattern-ink) 45%,transparent) 25%,transparent 25%),linear-gradient(315deg,color-mix(in srgb,var(--pattern-ink) 45%,transparent) 25%,transparent 25%),linear-gradient(45deg,color-mix(in srgb,var(--pattern-ink) 45%,transparent) 25%,transparent 25%);background-size:8px 8px;background-position:0 0,0 0,4px 0,4px 0}:root.patterns .cell[data-pattern=rings],:root.patterns .draw-cell[data-pattern=rings],:root.patterns .swatch[data-pattern=rings]{background-image:radial-gradient(circle,transparent 1.5px,var(--pattern-ink) 1.5px 2.5px,transparent 2.5px);background-size:9px 9px}:root.patterns .cell[data-pattern=cross],:root.patterns .draw-cell[data-pattern=cross],:root.patterns .swatch[data-pattern=cross]{background-image:linear-gradient(var(--pattern-ink) .8px,transparent .8px),linear-gradient(90deg,var(--pattern-ink) .8px,transparent .8px);background-size:10px 10px}:root.patterns .cell[data-pattern=waves],:root.patterns .draw-cell[data-pattern=waves],:root.patterns .swatch[data-pattern=waves]{background-image:radial-gradient(circle at 6.5px 0,transparent 4px,var(--pattern-ink) 4px 5px,transparent 5px),radial-gradient(circle at 0 6.5px,transparent 4px,var(--pattern-ink) 4px 5px,transparent 5px);background-size:13px 13px}.draw-cell.blank{background:var(--chip);border:2px dashed var(--mini);box-shadow:none}.draw-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}.custom-message.bad{color:var(--red)}.coming-soon{text-align:center;background:var(--muted);color:var(--ink-strong);box-shadow:none;cursor:default}.landing{align-items:center;justify-content:flex-start;text-align:center;gap:22px;overflow-y:auto;padding-bottom:24px}.landing .app-icon{width:132px;height:132px;border-radius:23%;box-shadow:var(--shadow)}.landing h1{margin:0;font-size:2.6rem;color:var(--ink-strong);letter-spacing:.5px}.landing .tagline{margin:0;font-size:1.1rem}.landing .draw-card{margin-top:4px}.hero-board .cell{cursor:default}.features{display:flex;flex-direction:column;gap:12px;width:100%;max-width:440px}.feature{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:16px 20px;text-align:left}.feature h2{margin:0 0 4px;font-size:1.05rem;color:var(--ink-strong)}.feature p{margin:0;font-size:.95rem;line-height:1.4}.share{width:100%;max-width:440px}.share h2{margin:0 0 4px;font-size:1.05rem;color:var(--ink-strong)}.share p{margin:0;font-size:.95rem;line-height:1.4}.message-bubble{position:relative;margin:12px auto 0;padding:10px 16px;max-width:320px;text-align:left;background:var(--card);border-radius:18px;box-shadow:var(--shadow)}.message-bubble:after{content:"";position:absolute;left:18px;bottom:-7px;width:0;height:0;border:8px solid transparent;border-top:9px solid var(--card);border-bottom:0}.message-line{font-weight:800;color:var(--ink-strong)}.message-link{display:block;margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;color:var(--ink)}.share .example-invite{margin-top:14px;font-size:.85rem;opacity:.8}.landing .shots{flex:none;width:100%;max-width:440px;overflow-x:auto;-webkit-overflow-scrolling:touch}.landing .shots-track{display:flex;align-items:flex-start;gap:12px;width:max-content;scroll-snap-type:x mandatory;padding-bottom:2px}.landing .shot{flex:none;width:82vw;max-width:340px;aspect-ratio:375 / 667;border-radius:15px;box-shadow:var(--shadow);overflow:hidden;scroll-snap-align:start}.landing .shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.board-page .logo{width:104px;height:104px}.board-page h1{font-size:1.9rem}.board-page .tagline{margin-bottom:6px}.site-footer{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.9rem;opacity:.8;margin-top:8px}.site-footer-links{display:flex;gap:18px}.site-footer a{color:var(--ink);text-decoration:underline}.site-footer-note{margin:0;max-width:340px}.overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;z-index:10;animation:fade .2s}.sheet{width:100%;max-width:480px;background:var(--bg);border-radius:26px 26px 0 0;padding:22px calc(20px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));animation:rise .28s ease-out;max-height:88dvh;overflow-y:auto}.sheet h2{margin:0 0 12px;color:var(--ink-strong);text-align:center}.result{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.result p{margin:0}.result .primary{margin-top:12px;min-width:220px}.result-art{width:110px;height:110px}.result-art.sad{height:66px;filter:grayscale(1);opacity:.6}.refill{color:var(--green);font-weight:800}.settings .row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:var(--card);border-radius:14px;padding:15px 16px;margin-top:9px;font-weight:700}.settings .danger{color:var(--red)}.settings input{width:22px;height:22px;accent-color:var(--green)}.settings .row.sub{margin-top:5px;margin-left:16px;padding:11px 14px;background:var(--chip);font-weight:600}.settings .row.muted{opacity:.42}.settings .row-value{margin-left:auto;margin-right:10px;font-variant-numeric:tabular-nums;opacity:.65}.settings input[type=range]{width:45%;flex:none}.settings .chip-row{padding:9px 9px 9px 16px;gap:10px}.settings .chip-row .chips{flex-wrap:nowrap;gap:6px}.settings .chip-row .choice{min-width:0;padding:9px 11px;border-radius:11px;background:var(--chip);box-shadow:none}.settings .chip-row .choice.on{background:var(--green);color:#fff}.settings .row-note{margin:4px 6px 0;font-size:.8125rem;opacity:.6;text-align:left}.vision-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:9px}.vision-choice{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border-radius:16px;background:var(--card);box-shadow:var(--shadow);border:3px solid transparent;font-weight:700;font-size:.82rem;color:var(--ink-strong);text-align:center;transition:transform .08s}.vision-choice:active{transform:scale(.97)}.vision-choice.on{border-color:var(--green)}.vision-board{display:grid;gap:2px;width:100%;max-width:120px;aspect-ratio:1;touch-action:none}.howto .rules{display:grid;gap:8px;margin:2px 0 16px}.howto .chip{background:var(--chip);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:12px;font-size:.95rem;line-height:1.3}.howto .mini{display:grid;grid-template-columns:repeat(3,14px);gap:2px;flex:none}.howto .mini i{width:14px;height:14px;border-radius:3px;background:var(--mini);display:block;color:#fff}.howto .mini .m-x{background:var(--mini-x);padding:2px}.howto .mini .m-c{background:var(--mini-dog);color:var(--ink-strong)}.howto ol{margin:0;padding-left:22px;display:grid;gap:9px;line-height:1.4;color:var(--ink-strong)}.toast{position:fixed;left:50%;bottom:calc(130px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--ink-strong);color:var(--bg);padding:11px 16px;border-radius:14px;width:max-content;max-width:86vw;text-align:center;font-size:.92rem;z-index:20;animation:fade .2s}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:30}.confetti i{position:absolute;top:-14px;width:9px;height:15px;border-radius:2px;animation:fall linear forwards}@keyframes pop{0%{transform:scale(.3)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-14%)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes fall{to{transform:translateY(105vh) rotate(540deg)}}@keyframes parade-in{0%{opacity:0;transform:translateY(6px) scale(.85)}}@media(max-height:740px){.screen{gap:9px}.power{width:66px;height:66px;padding:12px}.score-level{font-size:.95rem}.score-label{font-size:1.05rem}.score-value{font-size:1.4rem}}@media(min-width:600px){.screen{max-width:none;gap:18px}.screen.game{display:grid;grid-template-columns:minmax(0,1fr) clamp(200px,31%,280px);grid-template-rows:auto 1fr auto auto 1fr;column-gap:22px}.screen.game .topbar{grid-column:1 / -1;grid-row:1}.screen.game .board-area{grid-column:1;grid-row:2 / -1;align-items:center}.screen.game .status{grid-column:2;grid-row:3}.screen.game .bottom{grid-column:2;grid-row:4}.screen.game .status{flex-direction:column;gap:10px}.screen.game .tracker{width:100%;padding:9px 14px}.screen.game .slot{max-width:40px}.screen.game .bone-pill{align-self:center}.screen.game .powers{gap:12%;padding-top:4px}.screen.game .hint-bubble{min-height:0}.level-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.screen.home{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:40px}.screen.home .home-bar{grid-column:1 / -1;grid-row:1}.screen.home .home-art{grid-column:1;grid-row:2;align-self:center;margin:0}.screen.home .home-actions{grid-column:2;grid-row:2;align-self:center;margin:0}.home h1{font-size:3.1rem}.logo{width:190px;height:190px}.features{max-width:900px;flex-direction:row}.feature{flex:1 1 0}.landing .shots{max-width:900px;overflow-x:visible}.landing .shots-track{display:grid;grid-template-columns:repeat(5,1fr);width:100%;scroll-snap-type:none}.landing .shot{width:100%;max-width:none}.message-bubble{max-width:380px}}@media(prefers-reduced-motion:reduce){.rosette,.tails,.parade-dog,.confetti i{animation:fade .2s ease both}.slot.filled.new,.cell.pop svg,.cell.pop .art,.cost-float,.overlay,.sheet,.toast{animation:fade .2s}.cell.shake,.pill.shake,.board.won .cell[data-mark=dog] .art,.cell.hint-target{animation:none}}
