:root{--bg:#fff4e2;--felt:#f6e3bf;--felt-dark:#ecd3a4;--panel:#fffaf1;--ink:#3a2a1f;--muted:#8a7563;--line:#e6d2b0;--citrus:#f29f05;--orchard:#d64545;--accent:#ff8a3d;--power:#e4572e;--health:#e0457b;--good:#2e9d57;--glow:#ffcf4a;--target:#ff5f7e;--shadow:0 4px 14px #5a37142e;--radius:14px;--unit-h:clamp(84px, calc(var(--vh,1vh) * 15.5), 160px);--unit-w:calc(var(--unit-h) * .76);--card-h:clamp(80px, calc(var(--vh,1vh) * 14), 160px);--card-w:calc(var(--card-h) * .714);--hero-h:clamp(52px, calc(var(--vh,1vh) * 9), 96px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:clip}#app{height:auto;position:fixed;inset:0}body{background:radial-gradient(circle at 20% 10%, #fff9ef 0, transparent 40%), radial-gradient(circle at 80% 90%, #ffe9c9 0, transparent 45%), var(--bg);color:var(--ink);font-family:Nunito,Segoe UI,system-ui,sans-serif;font-size:15px}button{font:inherit;cursor:pointer;border:2px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:6px 16px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s}button:hover:not(:disabled){box-shadow:var(--shadow);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:#e06d20}h1,h2,.round,.deck-name,.hero-name,.uname{font-family:Fredoka,Nunito,sans-serif}.menu{max-width:1100px;height:100%;padding:calc(var(--vh,1vh) * 1.5) 16px;text-align:center;justify-content:space-evenly;align-items:center;gap:calc(var(--vh,1vh) * .8);flex-direction:column;margin:0 auto;display:flex}.hero-parade{height:calc(var(--vh,1vh) * 23);flex:none;justify-content:center;align-items:flex-end;display:flex}.parade-cat{--h:calc(var(--vh,1vh) * 21);height:var(--h);width:calc(var(--h) * 1.15);max-width:20vw;box-shadow:var(--shadow);margin:0 calc(var(--vh,1vh) * -2.2);background-position:50% 30%;background-size:cover;border:4px solid #fff;border-radius:50% 50% 18px 18px;animation:4s ease-in-out infinite bob;position:relative}.parade-cat.c0,.parade-cat.c4{--h:calc(var(--vh,1vh) * 14);z-index:1;animation-delay:-1s}.parade-cat.c1,.parade-cat.c3{--h:calc(var(--vh,1vh) * 17);z-index:2;animation-delay:-2s}.parade-cat.c2{--h:calc(var(--vh,1vh) * 22);z-index:3}@keyframes bob{50%{transform:translateY(calc(var(--vh,1vh) * -.8))}}.title h1{font-size:clamp(34px, calc(var(--vh,1vh) * 8), 76px);background:linear-gradient(90deg,#f29f05,#ff6b3d,#d64545,#3fa66b);color:#0000;filter:drop-shadow(0 3px #783c0a2e);-webkit-background-clip:text;background-clip:text;margin:0;line-height:1}.title p{color:var(--muted);font-size:clamp(12px, calc(var(--vh,1vh) * 2), 18px);margin:calc(var(--vh,1vh) * .4) 0 0;font-style:italic}.picker{align-items:center;gap:calc(var(--vh,1vh) * 1);flex-direction:column;min-height:0;display:flex}.picker h2{font-size:clamp(14px, calc(var(--vh,1vh) * 2.4), 22px);margin:0}.deck-choices{justify-content:center;gap:min(calc(var(--vh,1vh) * 2.5), 2vw);max-width:100%;display:flex}.deck-choice{width:min(calc(calc(var(--vh,1vh) * 34) * .714 + 20px), calc((100vw - 64px) / 3));padding:calc(var(--vh,1vh) * 1) min(10px, 1.5vw);gap:calc(var(--vh,1vh) * .5);background:var(--panel);box-shadow:var(--shadow);border:3px solid #0000;border-radius:20px;flex-direction:column;align-items:center;display:flex}.deck-choice img{width:100%;max-height:calc(var(--vh,1vh) * 34);object-fit:contain;border-radius:12px}.deck-name{font-size:clamp(14px, calc(var(--vh,1vh) * 2.4), 22px);font-weight:700}.deck-blurb{font-size:clamp(10px, calc(var(--vh,1vh) * 1.5), 13px);color:var(--muted);font-weight:600;line-height:1.3}.start-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.difficulty{align-items:center;gap:6px;display:flex}.difficulty span{color:var(--muted);margin-right:4px;font-size:14px;font-weight:700}.difficulty .chosen{border-color:var(--accent);background:#fff0e3}.play-button{font-size:clamp(16px, calc(var(--vh,1vh) * 2.8), 24px);padding:calc(var(--vh,1vh) * .8) 56px;background:var(--accent);color:#fff;border-color:#e06d20}.coming{color:var(--muted);font-size:clamp(10px, calc(var(--vh,1vh) * 1.4), 13px);margin:0}.game{grid-template-columns:minmax(0,1fr) clamp(220px,22vw,300px);gap:12px;height:100%;padding:10px;display:grid;overflow:clip}.board{gap:calc(var(--vh,1vh) * .8);background:linear-gradient(var(--felt), var(--felt-dark));padding:calc(var(--vh,1vh) * 1) 14px;box-shadow:inset 0 0 0 3px #ffffff80, var(--shadow);border-radius:22px;grid-template-rows:auto minmax(0,1fr) auto minmax(0,1fr) auto auto;min-width:0;min-height:0;display:grid;overflow:clip}.player{padding:calc(var(--vh,1vh) * .6) 10px;border-radius:var(--radius);background:#fffaf1b8;align-items:center;gap:12px;min-width:0;display:flex}.hero{height:var(--hero-h);width:calc(var(--hero-h) * 1.4);box-shadow:var(--shadow);cursor:pointer;border:3px solid #fff;border-radius:12px;flex:none;transition:transform .15s,filter .2s;position:relative;overflow:hidden}.hero.grown{border-color:#ffd257}.hero .art{background-position:50%;background-size:cover;position:absolute;inset:0}.hero-name{color:#fff;background:linear-gradient(#0000,#000000a6);padding:1px 6px;font-size:11px;font-weight:600;line-height:1.2;position:absolute;bottom:0;left:0;right:0}.hero.exhausted{filter:grayscale(.55)brightness(.9);transform:rotate(-4deg)}.stats{gap:calc(var(--vh,1vh) * .3);flex-direction:column;flex:1;min-width:0;display:flex}.who{white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.who .deck{color:var(--muted);font-size:13px;font-weight:600}.yarn{border:2px solid var(--glow);background:#fff;border-radius:999px;padding:0 8px;font-size:12px}.stat-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.lives{align-items:center;gap:3px;display:flex}.lives i{background:#e7d3b3;border-radius:50%;width:12px;height:12px;display:inline-block}.lives i.on{background:radial-gradient(circle at 35% 30%, #ff9ab3, var(--health));box-shadow:0 1px #0003}.lives b{margin-left:5px;font-size:14px}.counters{color:var(--muted);gap:12px;font-size:13px;font-weight:700;display:flex}.ability{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.pantry{flex-direction:column;flex:none;align-items:flex-start;gap:3px;max-width:34%;display:flex}.pantry-label{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.treats{flex-wrap:wrap;gap:4px;display:flex}.treat{width:clamp(18px, calc(var(--vh,1vh) * 2.4), 26px);aspect-ratio:.72;background:radial-gradient(circle at 50% 42%,#fff4d6 0 22%,#0000 23%),repeating-linear-gradient(45deg,#e9a34d 0 4px,#d38b3c 4px 8px);border:2px solid #fff;border-radius:4px;transition:transform .25s,filter .25s;box-shadow:0 2px 4px #00000040}.treat.mine{cursor:help}@keyframes planted{0%{opacity:0;transform:translateY(-24px)scale(1.8)}}.no-treats{color:var(--muted);font-size:12px;font-style:italic}.notice{color:var(--good);margin-bottom:2px;font-size:13px;font-weight:700}.hero-actions{flex:none;gap:8px;display:flex}.hero-actions button{border-color:var(--accent);background:#fff0e3;padding:3px 12px;font-size:13px}.foe-hand{flex:none;padding-left:14px;display:flex}.card-back{background:repeating-linear-gradient(45deg,#f29f05 0 6px,#ffb840 6px 12px);border:2px solid #fff;border-radius:5px;width:26px;height:38px;margin-left:-12px;box-shadow:0 2px 4px #0003}.yard{justify-content:center;align-items:center;gap:calc(var(--vh,1vh) * 1);min-width:0;min-height:0;padding:2px;display:flex}.empty-yard{color:var(--muted);opacity:.7;font-size:14px;font-style:italic}.unit{height:min(var(--unit-h), 100%);aspect-ratio:.76;background:var(--panel);min-width:0;box-shadow:var(--shadow);cursor:default;border:3px solid #fff;border-radius:12px;flex:0 auto;transition:transform .15s,filter .2s,box-shadow .15s;position:relative;overflow:hidden;container-type:size}.unit .art{background-position:50%;background-size:cover;height:67%;position:absolute;top:0;left:0;right:0}.uname{text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:1px 4px;font-size:clamp(10px,9cqw,13px);font-weight:600;position:absolute;top:67%;left:0;right:0;overflow:hidden}.chips{flex-wrap:wrap;gap:2px;display:flex;position:absolute;top:4px;left:4px;right:4px}.chips span{color:var(--ink);background:#ffffffeb;border-radius:999px;padding:0 5px;font-size:clamp(8px,7.5cqw,10px);font-weight:800;box-shadow:0 1px 2px #00000026}.pow,.hp{color:#fff;border:2px solid #00000026;place-items:center;width:24cqw;min-width:20px;height:24cqw;min-height:20px;font-family:Fredoka,sans-serif;font-size:clamp(12px,14cqw,17px);font-weight:700;display:grid;position:absolute;bottom:4%}.pow{background:var(--power);border-radius:50%;left:5%}.hp{background:var(--health);border-radius:50%/40% 40% 60% 60%;right:5%}.hero .pow{width:24px;height:24px;font-size:14px;top:3px;bottom:auto;left:3px}.zzz{color:#fff;text-shadow:0 1px 3px #0009;font-family:Fredoka,sans-serif;font-size:clamp(10px,11cqw,14px);font-weight:700;position:absolute;top:46%;right:8%}.unit.exhausted{filter:grayscale(.5)brightness(.92);transform:rotate(-5deg)translateY(3px)}.unit.can-act{cursor:pointer;box-shadow:0 0 0 3px var(--glow), var(--shadow)}.unit.can-act:hover{transform:translateY(-4px)}.unit.selected{box-shadow:0 0 0 4px var(--accent), var(--shadow);transform:translateY(-5px)}.targetable,.unit.targetable{cursor:crosshair;outline:4px solid var(--target);outline-offset:2px;animation:.9s ease-in-out infinite pulse;box-shadow:0 0 22px 4px #ff5f7ebf}.targetable:after{content:"🎯 target";z-index:3;background:var(--target);color:#fff;white-space:nowrap;pointer-events:none;border-radius:999px;padding:2px 8px;font:700 12px Fredoka,sans-serif;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0000004d}@keyframes pulse{50%{outline-color:#ffb3c1;box-shadow:0 0 8px 1px #ff5f7e66}}.board.targeting .unit:not(.targetable),.board.targeting .hero:not(.targetable){filter:brightness(.7)saturate(.5)}.midbar{padding:calc(var(--vh,1vh) * .6) 12px;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);align-items:center;gap:12px;min-height:44px;display:flex}.round{color:var(--accent);white-space:nowrap;font-size:17px;font-weight:700}.prompt{flex:1;min-width:0;font-size:14px;line-height:1.3}.flash{color:#b3261e;font-size:13px;font-weight:700}.recap{color:#9c2f2f;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:2px;font-size:13px;animation:.35s ease-out recap-in;display:-webkit-box;overflow:hidden}@keyframes recap-in{0%{opacity:0;transform:translateY(-4px)}}.unit.arriving{animation:.5s ease-out arrive}@keyframes arrive{0%{opacity:0;transform:translateY(-40px)scale(.6)}}.passes{color:var(--muted);white-space:nowrap;font-size:13px;font-style:italic}.buttons{flex:none;gap:8px;display:flex}.dots:after{content:"…";animation:1.2s steps(3,end) infinite dots}@keyframes dots{0%{content:"."}33%{content:".."}66%{content:"..."}}.hand{height:var(--card-h);justify-content:center;align-items:flex-end;min-width:0;padding:0 24px;display:flex}.hand-card{flex:0 1 var(--card-w);filter:brightness(.8)saturate(.7);background:0 0;border:none;border-radius:9px;align-self:flex-start;min-width:0;margin:0 -6px;padding:0;transition:transform .15s,filter .15s;position:relative}.hand-card img{width:100%;box-shadow:var(--shadow);border-radius:8px;display:block}.hand-card.playable{filter:none}.hand-card:not(.picked):not(.selected):hover{z-index:5;filter:none;transform:translateY(-8%)}.hand-card.picked,.hand-card.selected,.hand-card.picked:hover,.hand-card.selected:hover{z-index:6;filter:none;transition:none;transform:translateY(-22%)}.hand-card.picked img,.hand-card.selected img{box-shadow:0 0 0 5px var(--accent), 0 8px 18px #5a280059}.hand-card.picked:after,.hand-card.selected:after{content:"✓";background:var(--accent);color:#fff;pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font:800 15px Nunito,sans-serif;display:grid;position:absolute;top:-8px;right:-6px;box-shadow:0 2px 5px #0000004d}.hand-card.lucky img{box-shadow:0 0 0 4px var(--good), 0 0 20px #2e9d57b3}.hand-card,.unit{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.hand-card img{-webkit-user-drag:none;pointer-events:none}.drag-ghost{z-index:100;pointer-events:none;opacity:.95;margin:0;transition:none;position:fixed;box-shadow:0 18px 40px #3c1e0a59;filter:none!important}.drag-ghost img{width:100%}body.dragging,body.dragging *{cursor:grabbing!important}body.dragging .hand-card:hover{transform:none}.side{flex-direction:column;gap:10px;min-height:0;display:flex}.inspector{flex:none}.inspector img{width:100%;max-height:calc(var(--vh,1vh) * 52);object-fit:contain;box-shadow:var(--shadow);border-radius:14px;display:block}.side-buttons{flex:none;gap:8px;display:flex}.side-buttons button{flex:1}.log{background:var(--panel);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow);flex-direction:column-reverse;flex:1;margin:0;padding:8px 12px;font-size:12px;line-height:1.35;list-style:none;display:flex;overflow-y:auto}.log li{margin:1px 0}.log li.sys{color:var(--muted);text-align:center;margin:4px 0;font-weight:800}.overlay{z-index:50;background:#3c230f73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.game-over,.rules{background:var(--panel);padding:calc(var(--vh,1vh) * 2.4) 32px;text-align:center;box-shadow:var(--shadow);max-width:560px;max-height:calc(var(--vh,1vh) * 94);border-radius:24px;animation:.25s ease-out pop;overflow-y:auto}.game-over img{width:360px;max-width:100%;max-height:calc(var(--vh,1vh) * 45);object-fit:cover;border-radius:18px}.game-over h2{font-size:clamp(28px, calc(var(--vh,1vh) * 6), 44px);margin:calc(var(--vh,1vh) * 1) 0 calc(var(--vh,1vh) * .4)}.game-over.won h2{color:var(--good)}.game-over.lost h2{color:var(--orchard)}.game-over .buttons{margin-top:calc(var(--vh,1vh) * 1.2);justify-content:center}.rules{text-align:left;line-height:1.45}.rules h2{margin-top:0}@keyframes pop{0%{opacity:0;transform:scale(.9)}}@media (width<=1000px){.game{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:8px;padding:8px}.side{height:calc(var(--vh,1vh) * 12);flex-direction:row;min-height:64px}.inspector{display:none}.side-buttons{flex-direction:column;justify-content:center}.log{flex:1}}@media (width<=640px){.deck-blurb,.difficulty span,.ability,.foe-hand,.counters span:nth-child(n+3),.who .deck{display:none}.board{padding:6px}.hand{padding:0 8px}}.tutorial-button{font-size:clamp(13px, calc(var(--vh,1vh) * 2), 16px);padding:calc(var(--vh,1vh) * .6) 18px;border-color:var(--good);color:var(--good);background:#f0fbf2}#tutorial{z-index:40;pointer-events:none;position:fixed;inset:0}.tut-spot{pointer-events:none;box-shadow:0 0 0 4px var(--glow), 0 0 0 9999px #2d190a73;border-radius:14px;transition:all .25s;animation:1.4s ease-in-out infinite tut-glow;position:fixed}@keyframes tut-glow{50%{box-shadow:0 0 0 7px var(--glow), 0 0 0 9999px #2d190a73}}.tut-dim{pointer-events:none;background:#2d190a73;position:fixed;inset:0}.tut-balloon{pointer-events:auto;width:min(360px,100vw - 16px);color:var(--ink);border:3px solid var(--glow);background:#fffdf7;border-radius:18px;padding:12px 14px 10px;font-size:14px;line-height:1.4;animation:.25s ease-out pop;position:fixed;box-shadow:0 12px 32px #3c1e0559}.tut-balloon.centered{width:min(440px,100vw - 16px);top:50%;left:50%;transform:translate(-50%,-50%)}.tut-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.tut-head b{color:#c2560c;font-family:Fredoka,Nunito,sans-serif;font-size:17px}.tut-progress{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.tut-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.tut-actions button{padding:4px 16px}.tut-skip{color:var(--muted);background:0 0;border:none;font-size:12px;text-decoration:underline;padding:4px 0!important}.tut-wait{color:var(--good);font-size:13px;font-weight:800}.tut-arrow{border:3px solid var(--glow);background:#fffdf7;border-top-color:#0000;border-left-color:#0000;width:18px;height:18px;position:absolute;transform:translate(-50%)rotate(45deg)}.tut-balloon.above .tut-arrow{bottom:-11px}.tut-balloon.below .tut-arrow{border:3px solid var(--glow);border-bottom-color:#0000;border-right-color:#0000;top:-11px}.tut-balloon.centered .tut-arrow{display:none}.tut-shade{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.tut-shade path{fill:#2d190a73}.tut-rings i{pointer-events:none;box-shadow:0 0 0 4px var(--glow);border-radius:14px;animation:1.4s ease-in-out infinite tut-ring;position:fixed}@keyframes tut-ring{50%{box-shadow:0 0 0 7px var(--glow)}}.tut-balloon.floating .tut-arrow{display:none}@media (width<=640px){.tut-balloon{padding:10px 12px 8px;font-size:13px}.tut-head b{font-size:15px}}.tut-balloon.centered{animation-name:pop-centered}@keyframes pop-centered{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{transform:translate(-50%,-50%)}}:root{--wood-dark:#5b3417;--wood:#8a5427;--gold:#e7b24a;--gold-light:#ffe6a3;--parchment:#fffaf0;--parchment-2:#f5e3bb;--parchment-edge:#dcb66e;--ink:#3b2513;--muted:#86694b;--heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 21.3 1.9 11.5a6.1 6.1 0 0 1 10.1-7 6.1 6.1 0 0 1 10.1 7z'/%3E%3C/svg%3E");--panel-shadow:inset 0 1px 0 #ffffffe6, 0 0 0 1px #7846141f, 0 6px 16px #32190547}body.menu-screen{background:linear-gradient(#ffecc81f, #50280a2e), var(--img-menu-bg) center / cover no-repeat, #f3c27a}body.game-screen{background:linear-gradient(#23120573, #23120599), var(--img-menu-bg) center / cover no-repeat, #4a2a12}button:where(:not(.hand-card,.deck-choice)){letter-spacing:.2px;color:#5a3413;background:linear-gradient(#fffaf0,#f1d9a6);border:none;border-radius:14px;padding:7px 18px;font-family:Fredoka,Nunito,sans-serif;font-weight:600;transition:transform 80ms,box-shadow 80ms,filter .12s;box-shadow:0 3px #c08f4a,0 5px 10px #3c1e0540,inset 0 1px #fff}button:where(:not(.hand-card,.deck-choice)):where(:hover:not(:disabled)){filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 4px #c08f4a,0 7px 12px #3c1e0547,inset 0 1px #fff}button:where(:not(.hand-card,.deck-choice)):where(:active:not(:disabled)){transform:translateY(2px);box-shadow:0 1px #c08f4a,0 2px 4px #3c1e0540,inset 0 1px #fff}button.primary,.play-button{color:#fff;text-shadow:0 1px #782d008c;background:linear-gradient(#ffb95c,#f2761b);box-shadow:0 3px #ad4d0b,0 6px 12px #78320059,inset 0 1px #ffffff8c}button.primary:hover:not(:disabled),.play-button:hover{box-shadow:0 4px #ad4d0b,0 8px 14px #78320066,inset 0 1px #ffffff8c}button.primary:active:not(:disabled),.play-button:active{box-shadow:0 1px #ad4d0b,0 2px 4px #78320059,inset 0 1px #ffffff8c}.tutorial-button{color:#fff;text-shadow:0 1px #00461480;background:linear-gradient(#8fd997,#3d9d52);border:none;box-shadow:0 3px #276c37,0 6px 12px #14461e59,inset 0 1px #ffffff80}button:disabled{filter:grayscale(.6);opacity:.55}.title h1{background:0 0;-webkit-background-clip:initial;background-clip:initial;filter:none;color:#fff7df;letter-spacing:1px;text-shadow:0 2px #f29f05,0 4px #d9641d,0 7px #8e3b12,0 12px 20px #3c140073}.title p{margin-top:calc(var(--vh,1vh) * 1);color:#6b4520;background:#fff8e6e0;border-radius:999px;padding:3px 16px;display:inline-block;box-shadow:0 2px 8px #3c1e0533}.picker h2{color:#fff;text-shadow:0 2px #8e3b12,0 3px 10px #3c140080}.parade-cat{box-shadow:0 0 0 3px var(--gold), 0 10px 22px #3c190566;border-color:#fff6dc}.deck-choice{background:linear-gradient(var(--parchment), var(--parchment-2));border:3px solid var(--parchment-edge);box-shadow:var(--panel-shadow);transition:transform .15s,box-shadow .15s}.deck-choice:hover{transform:translateY(-3px)}.deck-choice.chosen{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-light), 0 0 26px 6px #ffc850bf, var(--panel-shadow)}.deck-name{color:var(--ink)}.deck-blurb{color:var(--muted)}.difficulty{background:#fff8e6e0;border-radius:16px;padding:5px 8px;box-shadow:0 2px 8px #3c1e0533}.difficulty button{padding:5px 12px;font-size:14px}.difficulty .chosen{box-shadow:0 3px 0 #c8942c, 0 0 0 2px var(--gold), inset 0 1px 0 #fff;background:linear-gradient(#fff2c9,#ffd97a)}.coming{color:#fff4dc;text-shadow:0 1px 3px #280f00d9}.board{background:var(--img-playmat) center / cover, #e7c68c;box-shadow:inset 0 0 0 2px #ffecb4b3, inset 0 0 60px #5a2d0559, 0 0 0 6px var(--wood), 0 0 0 8px var(--gold), 0 0 0 11px var(--wood-dark), 0 20px 40px #00000080;border-radius:26px}.game{padding:16px}.player,.midbar,.log-panel{background:linear-gradient(var(--parchment), var(--parchment-2));border:2px solid var(--parchment-edge);box-shadow:var(--panel-shadow);border-radius:16px}.player{background:linear-gradient(#fffaf0f2,#f5e3bbf2)}.player.thinking{box-shadow:0 0 0 3px var(--gold), 0 0 18px 4px #ffc8508c, var(--panel-shadow)}.who{color:var(--ink);font-family:Fredoka,Nunito,sans-serif;font-size:16px;font-weight:600}.counters span{background:#fff9;border-radius:999px;padding:0 8px;box-shadow:inset 0 0 0 1px #a06e3240}.yarn{border-color:var(--gold);background:#fffdf5}.lives{gap:2px}.lives i{width:15px;height:14px;box-shadow:none;-webkit-mask:var(--heart) center / contain no-repeat;-webkit-mask:var(--heart) center / contain no-repeat;mask:var(--heart) center / contain no-repeat;background:#d8c2a0;border-radius:0}.lives i.on{background:linear-gradient(#ff9dba,#e0457b 60%,#b92f5f)}.lives b{color:#b92f5f;font-family:Fredoka,Nunito,sans-serif;font-size:16px}.hero{border:3px solid var(--gold);box-shadow:0 0 0 2px #fff6dc,0 5px 12px #32190559}.hero.grown{border-color:#ffd257;box-shadow:0 0 0 2px #fff6dc,0 0 16px 4px #ffd25acc}.hero-name{font-family:Fredoka,Nunito,sans-serif}.hero-actions button{background:linear-gradient(#fff4d6,#ffd98a);padding:4px 12px;font-size:13px}.card-back,.treat{background:var(--img-cardback) center / cover, #f08c2b;border:1.5px solid #fff3d0;border-radius:4px}.card-back{width:28px;height:42px;box-shadow:0 2px 5px #28140566}.pantry-label b{color:#2f8a46}.fam-citrus{--fam:#f29f05;--fam-dark:#a86400}.fam-orchard{--fam:#d64545;--fam-dark:#8e2a2a}.fam-garden{--fam:#5fa84d;--fam-dark:#3b7430}.fam-tropical{--fam:#f2780c;--fam-dark:#a24e05}.fam-berry{--fam:#d6336c;--fam-dark:#8f1d46}.fam-melon{--fam:#3fa66b;--fam-dark:#25714a}.unit{border:3px solid var(--fam,#fff);background:var(--parchment);box-shadow:0 0 0 1.5px var(--fam-dark,#999), 0 6px 12px #28140566}.uname{background:linear-gradient(var(--fam), var(--fam-dark));color:#fff;text-shadow:0 1px #00000059;font-weight:600}.pow{background:radial-gradient(circle at 35% 30%,#ff8a5c,#d4431b);border:2px solid #fff;box-shadow:0 2px 4px #00000059}.pow.buffed{background:radial-gradient(circle at 35% 30%,#7fd68a,#2e9d57)}.hp{filter:drop-shadow(0 2px 2px #00000059);-webkit-mask:var(--heart) center / contain no-repeat;-webkit-mask:var(--heart) center / contain no-repeat;mask:var(--heart) center / contain no-repeat;background:linear-gradient(#ff8fb0,#d63b70);border:none;border-radius:0;padding-top:2px}.hp.hurt{background:linear-gradient(#c2456b,#7d1233)}.chips span{color:var(--ink);background:#fffaebf2;box-shadow:0 1px 3px #00000040}.unit.can-act{box-shadow:0 0 0 3px var(--gold-light), 0 0 16px 4px #ffc846d9, 0 6px 12px #28140566}.unit.fresh{box-shadow:0 0 0 3px #ffb08a,0 0 14px 3px #ff825099,0 6px 12px #28140566}.empty-yard{color:#5a320f8c;border:2px dashed #8c5a284d;border-radius:14px;padding:8px 18px;font-family:Fredoka,Nunito,sans-serif;font-size:15px;font-style:normal}.midbar{padding:calc(var(--vh,1vh) * .6) 14px calc(var(--vh,1vh) * .6) 10px;gap:14px}.round{color:#6b3a0c;background:radial-gradient(circle at 35% 30%,#fff1c4,#f1b945 70%,#c98a1d);border-radius:50%;flex:none;align-content:center;place-items:center;width:54px;height:54px;line-height:1;display:grid;box-shadow:0 0 0 3px #fff6dc,0 0 0 5px #c98a1d,0 4px 10px #50280059}.round small{letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800}.round b{font-size:22px}.prompt{color:var(--ink)}.inspector img{box-shadow:0 0 0 3px var(--gold), 0 10px 24px #00000073;border-radius:16px}.log-panel{flex-direction:column;flex:1;min-height:0;padding:6px 4px 4px;display:flex}.log-panel h3{color:#8e4a12;text-align:center;border-bottom:1px dashed var(--parchment-edge);margin:0 8px 4px;padding-bottom:4px;font:600 14px Fredoka,Nunito,sans-serif}.log{box-shadow:none;background:0 0;border-radius:0;padding:2px 10px}.log li.me{color:#1f5d85}.log li.foe{color:#a02f2f}.log li.sys{color:#9a6a2c}.game-over,.rules{background:linear-gradient(var(--parchment), var(--parchment-2));border:3px solid var(--gold);box-shadow:0 0 0 4px #fff6dc,0 20px 50px #00000080}.game-over h2{text-shadow:0 2px #ffffffb3;font-family:Fredoka,Nunito,sans-serif}.game-over img{box-shadow:0 0 0 3px var(--gold), 0 8px 18px #0000004d}.tut-balloon{background:linear-gradient(var(--parchment), #fbeccb);border-color:var(--gold)}.tut-arrow{border-color:var(--gold);background:#fbeccb}.tut-balloon.above .tut-arrow{border-top-color:#0000;border-left-color:#0000}.tut-balloon.below .tut-arrow{background:var(--parchment);border:3px solid var(--gold);border-bottom-color:#0000;border-right-color:#0000}.tut-skip,.tut-skip:hover,.tut-skip:active{box-shadow:none!important;background:0 0!important}@media (width<=1000px){.game{padding:12px}.log-panel h3{display:none}}#zoom-overlay{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:zoom-out;background:#1e0f05b8;align-content:center;place-items:center;gap:12px;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}#zoom-overlay img{max-height:calc(var(--vh,1vh) * 84);max-width:92vw;box-shadow:0 0 0 4px var(--gold), 0 24px 60px #0009;border-radius:22px;animation:.2s ease-out pop}#zoom-overlay span{color:#fff4dc;text-shadow:0 1px 3px #000c;font:600 14px Fredoka,Nunito,sans-serif}@keyframes fade-in{0%{opacity:0}}[data-zoom]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}:root{--tray-w:clamp(96px, 15vw, 176px);--treat-w:clamp(20px, calc(var(--vh,1vh) * 3.4), 36px)}.yard{padding-left:calc(var(--tray-w) + 16px);padding-right:calc(var(--tray-w) + 16px);position:relative}.pantry{width:var(--tray-w);background:linear-gradient(#c88a4c,#8e5626);border-radius:16px;flex-direction:column;align-items:center;gap:5px;max-width:none;padding:6px 6px 8px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%);box-shadow:inset 0 2px #ffe6b48c,inset 0 -3px 6px #3c190573,0 0 0 2px #6d3f18,0 6px 14px #28140573}.pantry-label{color:#5a3413;white-space:nowrap;background:linear-gradient(var(--parchment), var(--parchment-2));border-radius:999px;padding:1px 10px;font:600 12px Fredoka,Nunito,sans-serif;box-shadow:0 1px 3px #28140559}.pantry-label b{color:#2f8a46;font-size:16px}.treats{min-height:calc(var(--treat-w) * 1.4);flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.treat{width:var(--treat-w);aspect-ratio:.7;border:1.5px solid #fff3d0;border-radius:4px;transition:none;box-shadow:0 2px 4px #1e0f0580}.treat.spent{filter:grayscale(.8)brightness(.85);opacity:.75;transform:rotate(90deg)scale(.82)}.treat.new{animation:.7s cubic-bezier(.2,.9,.3,1.2) treat-in}.treat.spending{animation:.5s ease-out treat-spend}.treat.readying{animation:.6s ease-out treat-ready}@keyframes treat-in{0%{opacity:0;transform:translateY(-70px)scale(1.8)rotate(-12deg)}60%{opacity:1;box-shadow:0 0 0 3px var(--gold-light), 0 0 18px 6px #ffd25ae6}}@keyframes treat-spend{0%{filter:none;opacity:1;transform:none;box-shadow:0 0 0 3px #ffb08a,0 0 14px 4px #ff8c3ce6}}@keyframes treat-ready{0%{filter:grayscale(.8);transform:rotate(90deg)scale(.82)}60%{box-shadow:0 0 0 3px var(--gold-light), 0 0 16px 5px #78dc78cc}}.no-treats{color:#ffe9c2;font:600 12px Fredoka,Nunito,sans-serif}.tray-float{pointer-events:none;white-space:nowrap;color:#fff;border-radius:999px;padding:1px 10px;font:700 16px Fredoka,Nunito,sans-serif;animation:1.6s ease-out forwards tray-float;position:absolute;top:-6px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #00000059}.tray-float.plus{background:#2f9d57}.tray-float.minus{background:#d4541b}.tray-float.ready{background:#e0a21c}@keyframes tray-float{0%{opacity:0;transform:translate(-50%,10px)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-34px)}}@media (width<=640px){:root{--tray-w:74px;--treat-w:16px}.pantry-label span{display:none}.yard{padding-left:8px}}@media (height<=500px){:root{--unit-h:clamp(44px, calc(var(--vh,1vh) * 17), 120px);--card-h:clamp(40px, calc(var(--vh,1vh) * 15), 120px);--hero-h:clamp(30px, calc(var(--vh,1vh) * 11), 70px);--treat-w:13px}.hero-parade,.picker h2,.coming,.deck-blurb,.title p{display:none}.title h1{font-size:calc(var(--vh,1vh) * 11)}.deck-choice img{max-height:calc(var(--vh,1vh) * 42)}.deck-name{font-size:13px}.play-button{padding:4px 34px}.game{gap:6px;padding:6px}.board{gap:3px;padding:4px 8px}.player{gap:8px;padding:2px 8px}.ability,.foe-hand,.counters,.who .deck,.pantry-label span,.log-panel h3{display:none}.midbar{min-height:0;padding:2px 8px}.round{width:34px;height:34px}.round small{display:none}.round b{font-size:16px}.prompt{font-size:12px;line-height:1.2}.recap,.notice{-webkit-line-clamp:1}.buttons button{padding:3px 10px;font-size:13px}.side{height:44px;min-height:0}.side-buttons{flex-direction:row}.side-buttons button{padding:3px 10px;font-size:12px}.log{font-size:11px}.pantry{gap:2px;padding:3px 4px 4px}.pantry-label{padding:0 6px;font-size:10px}.pantry-label b{font-size:12px}}.deck-class{color:#fff;background:linear-gradient(var(--fam), var(--fam-dark));text-shadow:0 1px #0000004d;border-radius:999px;padding:1px 10px;font:600 12px Fredoka,Nunito,sans-serif}.hp.buffed{background:linear-gradient(#8fe0a0,#2e9d57)}.hand-card.zest-on:before{content:"🍋 Zest!";z-index:7;color:#fff;white-space:nowrap;pointer-events:none;background:linear-gradient(#ffd23f,#f29f05);border-radius:999px;padding:1px 8px;font:700 11px Fredoka,Nunito,sans-serif;animation:.9s ease-in-out infinite alternate zest-pop;position:absolute;top:-10px;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #00000059}@keyframes zest-pop{to{transform:translate(-50%)scale(1.08)}}.lush-badge{color:#fff;background:linear-gradient(#7ed08a,#2e8b4a);border-radius:999px;padding:0 8px;font:700 11px Fredoka,Nunito,sans-serif;box-shadow:0 1px 3px #00000059}.notice,.recap{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.midbar{flex-wrap:wrap}.prompt{flex:220px}@media (width<=640px){.midbar{gap:6px 10px}.buttons{flex:100%;justify-content:flex-end}.buttons button{padding:4px 14px}.notice,.recap{-webkit-line-clamp:1}}.pantry{max-height:calc(100% - 4px)}.treats{min-height:calc(var(--treat-w) * 1.45);flex-wrap:nowrap;align-items:center;gap:0}.treat+.treat{margin-left:min(4px, calc((var(--tray-w) - 16px - var(--n) * var(--treat-w)) / (var(--n) - 1)))}.sound-toggle{flex:none!important;padding-left:12px!important;padding-right:12px!important}.menu-sound{z-index:5;position:fixed;top:12px;right:12px}.hand-card{aspect-ratio:.714;background:var(--img-cardback) center / cover, #f08c2b}.hand-card img{object-fit:cover;height:100%}.yarn-ico{vertical-align:-.35em;filter:drop-shadow(0 1px 1px #50280a59);width:auto;height:1.4em}.hero-slot{flex:none;position:relative}.yarn{z-index:3;box-shadow:none;pointer-events:auto;background:0 0;border:none;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute;top:-12px;right:-3px}.yarn .yarn-ico{height:34px;margin:0;animation:3s ease-in-out infinite yarn-wobble}.yarn small{color:#fff;background:#d9533b;border-radius:999px;margin-top:-4px;padding:0 5px;font:800 10px/1.4 Fredoka,Nunito,sans-serif;box-shadow:0 0 0 1.5px #fff}[data-click=btn\:yarn] .yarn-ico{height:22px;margin:-4px 0 -4px 2px}.tut-balloon .yarn-ico{height:22px}@keyframes yarn-wobble{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@media (prefers-reduced-motion:reduce){.yarn .yarn-ico{animation:none}}.unit.can-act{animation:1.3s ease-in-out infinite can-act-pulse}@keyframes can-act-pulse{0%,to{box-shadow:0 0 0 3px #fff3b0,0 0 12px 4px #ffb91ee6,0 6px 12px #28140566}50%{box-shadow:0 0 0 5px #fffbe6,0 0 28px 10px #ffa000,0 6px 12px #28140566}}.unit.can-act:before{content:"Ready!";z-index:3;white-space:nowrap;pointer-events:none;letter-spacing:.02em;color:#fff;background:linear-gradient(#ffb627,#f07c12);border-radius:999px;padding:1px 7px;font:800 10px/1.4 Fredoka,Nunito,sans-serif;position:absolute;top:40%;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #fff,0 2px 4px #3c1e0566}.hand-card.playable img{box-shadow:0 0 0 3px #fff3b0, 0 0 14px 5px #ffb414f2, var(--shadow)}@media (prefers-reduced-motion:reduce){.unit.can-act{animation:none}}
