@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/solitaire/assets/fraunces-700-latin-ext-CanUGppC.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/solitaire/assets/fraunces-700-latin-CEOla-zY.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:600 800;font-display:swap;src:url(/solitaire/assets/nunito-600-800-latin-ext-CXYtwYOx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600 800;font-display:swap;src:url(/solitaire/assets/nunito-600-800-latin-BzFMHfZw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.dl-nav{border-top:1px solid color-mix(in srgb, currentColor 16%, transparent);gap:10px;margin-top:16px;padding-top:14px;display:grid}.dl-nav-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.dl-nav-title{letter-spacing:.14em;text-transform:uppercase;opacity:.62;font-size:.74rem;font-weight:800}.dl-steps{gap:6px;display:flex}.dl-step,.dl-game,.dl-home{border:1px solid color-mix(in srgb, currentColor 22%, transparent);min-height:38px;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border-radius:19px;justify-content:center;align-items:center;padding:6px 12px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.dl-step:hover,.dl-game:hover,.dl-home:hover,.dl-step:focus-visible,.dl-game:focus-visible,.dl-home:focus-visible{border-color:color-mix(in srgb, currentColor 48%, transparent);background:color-mix(in srgb, currentColor 8%, transparent)}.dl-groups{gap:6px;display:grid}.dl-group-title{letter-spacing:.12em;text-transform:uppercase;opacity:.62;margin-top:6px;font-size:.7rem;font-weight:800}.dl-games{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;display:grid}.dl-game{padding:8px 10px}.dl-game.current{border-width:2px;border-color:color-mix(in srgb, currentColor 72%, transparent);cursor:default;font-weight:800}.dl-home{border-style:dashed;font-size:.82rem;font-weight:800}.dl-ads{flex-wrap:wrap;justify-content:center;gap:8px 16px;font-size:.85rem;font-weight:800;display:flex}.dl-ads a{color:inherit;text-underline-offset:2px;text-decoration:underline}.dl-legal{justify-content:center;gap:16px;font-size:.8rem;font-weight:700;display:flex}.dl-legal a{color:inherit;text-underline-offset:2px;text-decoration:underline}@media (prefers-reduced-motion:no-preference){.dl-step,.dl-game,.dl-home{transition:border-color .15s,background-color .15s}}.dl-board{text-align:left;gap:12px;display:grid}.dl-board-rule{opacity:.78;text-align:center;text-wrap:balance;margin:0;font-size:.92rem;line-height:1.4}.dl-tabs{justify-content:center;gap:6px;display:flex}.dl-tab{border:1px solid color-mix(in srgb, currentColor 22%, transparent);min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:22px;padding:6px 18px;font-size:.95rem;font-weight:800}.dl-tab[aria-selected=true]{border-width:2px;border-color:color-mix(in srgb, currentColor 72%, transparent);background:color-mix(in srgb, currentColor 8%, transparent)}.dl-tab:focus-visible{outline-offset:2px;outline:3px solid}.dl-post{border:1px solid color-mix(in srgb, currentColor 16%, transparent);background:color-mix(in srgb, currentColor 5%, transparent);border-radius:16px;gap:10px;margin:0;padding:14px;display:grid}.dl-post-score{text-align:center;margin:0;font-size:1rem}.dl-post-score b{font-size:1.25rem}.dl-field{letter-spacing:.06em;text-transform:uppercase;opacity:.85;gap:6px;font-size:.85rem;font-weight:800;display:grid}.dl-board-name{border:2px solid color-mix(in srgb, currentColor 30%, transparent);background:color-mix(in srgb, currentColor 4%, transparent);width:100%;min-height:48px;color:inherit;font:inherit;letter-spacing:0;text-transform:none;border-radius:12px;padding:0 14px;font-size:max(1rem,16px);font-weight:700}.dl-board-name:focus-visible{outline-offset:1px;outline:3px solid}.dl-post .dl-post-button{align-self:stretch;width:100%}.dl-board-note{opacity:.72;margin:0;font-size:.85rem;line-height:1.4}.dl-board-status{text-align:center;min-height:1.4em;margin:0;font-size:.95rem;font-weight:700}.dl-board-status:empty{display:none}.dl-board-retry{justify-self:center}.dl-board-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.dl-board-row{border-radius:12px;grid-template-columns:2.4em minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:6px 12px;font-size:1rem;display:grid}.dl-board-row:nth-child(2n){background:color-mix(in srgb, currentColor 5%, transparent)}.dl-board-row.you{border:2px solid color-mix(in srgb, currentColor 72%, transparent);background:color-mix(in srgb, currentColor 8%, transparent);font-weight:800}.dl-rank{font-variant-numeric:tabular-nums;text-align:center;opacity:.8;font-weight:800}.dl-rank.medal{opacity:1;font-size:1.35rem}.dl-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.dl-score{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.dl-board-gap{text-align:center;letter-spacing:.3em;opacity:.5}.dl-board-empty,.dl-board-foot{text-align:center;opacity:.75;margin:0;font-size:.92rem}@media (prefers-reduced-motion:no-preference){.dl-tab{transition:border-color .15s,background-color .15s}}.dk{vertical-align:bottom;display:inline-block}.dk .dk-ol{fill:var(--dk-outline,#3b2a20);stroke:var(--dk-outline,#3b2a20)}.dk path.dk-fxi{stroke:var(--dk-fx-ink,#3b2a20)}.dk circle.dk-fxi{fill:var(--dk-fx-ink,#3b2a20)}.dk .dk-all,.dk .dk-b,.dk .dk-h,.dk .dk-eye,.dk .dk-wn,.dk .dk-wf,.dk .dk-fx>g>g{transform-box:fill-box}.dk .dk-all,.dk .dk-b{transform-origin:50% 100%}.dk .dk-h{transform-origin:45% 95%}.dk .dk-eye{transform-origin:50% 55%;transition:transform 70ms ease-out}.dk .dk-wn{transform-origin:88% 92%}.dk .dk-wf{transform-origin:80% 100%}.dk .dk-fx>g>g{transform-origin:50%}.dk-blinking .dk-eye{transform:scaleY(.1)}.dk-live .dk-b{animation:3.6s ease-in-out infinite dk-breathe;animation-delay:var(--dk-phase,0s)}.dk-live .dk-h{animation:3.6s ease-in-out infinite dk-bob;animation-delay:var(--dk-phase,0s)}.dk-live.dk-m-sleepy .dk-b,.dk-live.dk-m-sleepy .dk-h{animation-duration:5.2s}.dk-live.dk-swim .dk-all{animation:3.2s ease-in-out infinite dk-float;animation-delay:var(--dk-phase,0s)}.dk-live.dk-waddle .dk-all{animation:.9s ease-in-out infinite dk-waddle}.dk-live.dk-fly .dk-all{animation:1.4s ease-in-out infinite dk-hover}.dk-live.dk-fly .dk-wn{animation:.5s ease-in-out infinite alternate dk-flap}.dk-live.dk-fly .dk-wf{animation:.5s ease-in-out infinite alternate dk-flap-far}.dk-live.dk-peek .dk-all{animation:.7s cubic-bezier(.2,1.4,.4,1) both dk-peek}.dk-live .dk-fx>g>g{animation:2.4s ease-in-out infinite dk-drift}.dk-live.dk-m-cheer .dk-fx>g>g{animation:1.2s ease-in-out infinite dk-twinkle}.dk-r-cheer .dk-all{animation:.9s cubic-bezier(.3,.7,.4,1) both dk-hop}.dk-r-oops .dk-all{animation:.8s ease-in-out both dk-wobble}.dk-r-nod .dk-h{animation:.7s ease-in-out both dk-nod}@keyframes dk-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.03)}}@keyframes dk-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(1.2px)rotate(1.5deg)}}@keyframes dk-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(2px)rotate(-1deg)}}@keyframes dk-waddle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)translateY(-2px)}}@keyframes dk-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes dk-flap{0%{transform:rotate(-14deg)}to{transform:rotate(26deg)scaleY(.8)}}@keyframes dk-flap-far{0%{transform:rotate(10deg)}to{transform:rotate(-18deg)scaleY(.85)}}@keyframes dk-peek{0%{transform:translateY(60%)}to{transform:translateY(0)}}@keyframes dk-drift{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.75;transform:translateY(-3px)}}@keyframes dk-twinkle{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(.6)rotate(45deg)}}@keyframes dk-hop{0%{transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(1.08,.88)}45%{transform:translateY(-16%)scale(.95,1.06)}70%{transform:translateY(0)scale(1.06,.92)}85%{transform:translateY(-3%)scale(1)}to{transform:translateY(0)scale(1)}}@keyframes dk-wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-7deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(1.5deg)}}@keyframes dk-nod{0%,to{transform:rotate(0)}30%{transform:rotate(12deg)translateY(2px)}55%{transform:rotate(-3deg)}75%{transform:rotate(8deg)translateY(1px)}}@media (prefers-reduced-motion:reduce){.dk,.dk *{transition:none!important;animation:none!important}.dk-blinking .dk-eye{transform:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--display:Fraunces, Georgia, "Times New Roman", serif;--text:Nunito, "Segoe UI", Roboto, system-ui, sans-serif;--paper:#f7f2e6;--paper-deep:#efe5cf;--ink:#1e1a15;--muted:#6f665a;--line:#e2d9c8;--tile:#fffdf8;--tile-edge:#ddd1ba;--tile-shadow:#c6b99f;--green:#2f7a4f;--green-deep:#1f5636;--green-ink:#fff;--gold:#ffefc2;--gold-edge:#d9ad48;--gold-deep:#c99c3b;--gold-ink:#4a3300;--bill:#f28b2b;--pond:#1f5f66;--brand-pond:#1f5f66;--error:#b4351f;--scrim:#1e1a156b;--card-face:#fffcf4;--card-face-lo:#f7f0e1;--card-edge:#d6c9ae;--card-black:#1e1a15;--card-red:#c4372a;--frame-red:#f9e3d9;--frame-black:#e2ece4;--card-w:48px;--card-h:68px;--wood-hi:#d9a873;--wood:#b98250;--wood-lo:#8a5a31;--cloth-hi:#66a877;--cloth:#4f9363;--cloth-lo:#3b7a4f;--cloth-line:#ffffff73;--cloth-ink:#ffffffb8;--weave:#ffffff0d;--bank-h:132px;--pond-h:40px;--safe-b:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#1d1a15;--paper-deep:#26221b;--ink:#f3ede2;--muted:#b8ad99;--line:#3a3329;--tile:#2a251d;--tile-edge:#463e31;--tile-shadow:#0c0a07;--green:#56b382;--green-deep:#2d7a52;--green-ink:#0b1a11;--gold:#3a2f14;--gold-edge:#d4a93e;--gold-deep:#8a6a1e;--gold-ink:#ffe9a8;--error:#f39a82;--scrim:#00000094;--brand-pond:#27717a;--card-face:#f3ede0;--card-face-lo:#e7dfcd;--card-edge:#a59a83;--card-red:#b8352a;--frame-red:#efd6ca;--frame-black:#d5e0d7;--wood-hi:#9a6c43;--wood:#7a5232;--wood-lo:#573820;--cloth-hi:#3d7550;--cloth:#2f6040;--cloth-lo:#234a31;--cloth-line:#ffffff4d;--cloth-ink:#ffffff8c}}body[data-table=pond]{--cloth-hi:#3b8a92;--cloth:#26717a;--cloth-lo:#1b5960}body[data-table=paper]{--cloth-hi:#f3ead6;--cloth:#e7dcc3;--cloth-lo:#d6c8a9;--cloth-line:#3c2d1947;--cloth-ink:#3c2d1973;--weave:#503c1e0f}@media (prefers-color-scheme:dark){body[data-table=pond]{--cloth-hi:#23626a;--cloth:#1a4d54;--cloth-lo:#133b40}body[data-table=paper]{--cloth-hi:#4a4233;--cloth:#3d3629;--cloth-lo:#2f291f;--cloth-line:#ffffff38;--cloth-ink:#ffffff73;--weave:#ffffff08}}:root,:root[data-time=day]{--sky-1:#79c0e8;--sky-2:#a9d9f0;--sky-3:#def2f8;--cloud:#fff;--sun:#fff1a8;--sun-glow:#fff7cf;--head-ink:#1e1a15;--head-sub:#3f4a4d;--head-glow:#ffffff8c;--stars:0;--shade:transparent}:root[data-time=dawn]{--sky-1:#9fb7e0;--sky-2:#f4b9a8;--sky-3:#fde3c4;--cloud:#fff1ea;--sun:#ffd28a;--sun-glow:#ffe2b8;--head-ink:#2a1d1a;--head-sub:#5a4440;--head-glow:#fff0e699;--stars:.15;--shade:#ffaa8c14}:root[data-time=dusk]{--sky-1:#3e4583;--sky-2:#c47791;--sky-3:#f6b480;--cloud:#f7c6b3;--sun:#ffb36b;--sun-glow:#ffcf9e;--head-ink:#fff8ec;--head-sub:#f6e3d6;--head-glow:#28143273;--stars:.35;--shade:#46285a2e}:root[data-time=night]{--sky-1:#0c1630;--sky-2:#182a4c;--sky-3:#2a3e5f;--cloud:#3a4c6c;--sun:#f2ead0;--sun-glow:#93a6c9;--head-ink:#f6f0e2;--head-sub:#c9d2e0;--head-glow:#050a1999;--stars:1;--shade:#0812306b}@media (prefers-color-scheme:dark){:root,:root[data-time]{--head-ink:#f6f0e2;--head-sub:#d6dbe0;--head-glow:#00000080}}:root,:root[data-season=summer]{--grass-1:#8cc56e;--grass-2:#5d9e4c;--grass-3:#4a8a3e;--hill-far:#a8d3a0;--hill-near:#86bf7c;--tree-a:#4f9a4a;--tree-b:#3f8740;--tree-c:#2f6f3a;--trunk:#7a5838;--blossom:transparent;--snow:transparent;--water-1:#6cc1d4;--water-2:#2f8aa3;--ripple:#ffffffa6;--pad:#5ea64c;--pad-vein:#3f8237;--lily-flower:#fbd3e0;--reed:#5b8f3c;--cattail:#7a4b2a;--drift:#fff;--box-flower:#f45d7a}:root[data-season=spring]{--grass-1:#a5d67f;--grass-2:#74b25a;--grass-3:#5f9e4a;--hill-far:#bfe0ae;--hill-near:#9acd86;--tree-a:#78b860;--tree-b:#62a650;--tree-c:#4f9446;--blossom:#f7b6cf;--pad:#6bb357;--lily-flower:#ffe1ec;--drift:#f9c4d6;--box-flower:#f7a1c0}:root[data-season=autumn]{--grass-1:#b4bb68;--grass-2:#8d9a4a;--grass-3:#78853e;--hill-far:#d4c08a;--hill-near:#bba569;--tree-a:#e08a3a;--tree-b:#c8582f;--tree-c:#a78a2e;--blossom:#f2c14e;--pad:#8aa04a;--pad-vein:#6b7d33;--lily-flower:#ffe7c7;--reed:#a08a4a;--drift:#e07a33;--box-flower:#f2a03b}:root[data-season=winter]{--grass-1:#eef3f4;--grass-2:#d3dfe3;--grass-3:#b9c9ce;--hill-far:#e7eef2;--hill-near:#d4e1e7;--tree-a:#8a9a8e;--tree-b:#6f8273;--tree-c:#4f6b5a;--trunk:#6b5442;--snow:#fff;--water-1:#9fd2e1;--water-2:#5d9ab4;--pad:#7d9a7a;--pad-vein:#5f7d5c;--lily-flower:transparent;--reed:#9a8d6e;--drift:#fff;--box-flower:#c43b3b}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--sky-3);color:var(--ink);font:600 17px/1.4 var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;overflow:hidden auto}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:focus-visible,a:focus-visible{outline:3px solid var(--bill);outline-offset:2px}img{-webkit-user-select:none;user-select:none}.scene{z-index:0;pointer-events:none;--px:0;--py:0;position:fixed;inset:0;overflow:hidden}.scene>*{position:absolute}.sky{background:linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 22%, var(--sky-3) 42%);inset:0}.stars{height:46vh;opacity:var(--stars);transition:opacity 1s;inset:0 0 auto}.star{fill:#fffbe8}.star.s1{animation:3.2s ease-in-out infinite twinkle}.star.s2{animation:4.6s ease-in-out -1.7s infinite twinkle}.stars-svg{width:100%;height:100%}.celestial{width:72px;top:calc(env(safe-area-inset-top) - 30px);transform:translate(calc(var(--px) * -4px), calc(var(--py) * -3px));right:37%}:root[data-time=dawn] .celestial,:root[data-time=dusk] .celestial{top:calc(env(safe-area-inset-top) - 14px)}.sun-glow{fill:var(--sun-glow);opacity:.55}.sun-disc{fill:var(--sun)}.moon-glow{fill:var(--sun-glow);opacity:.22}.moon-disc{fill:var(--sun)}.clouds{height:160px;inset:0 0 auto}.cloud-track{animation:190s linear infinite cloud-drift;left:0}.cloud-track.t0{top:calc(env(safe-area-inset-top) + 10px);animation-delay:-60s}.cloud-track.t1{top:calc(env(safe-area-inset-top) + 36px);animation-duration:240s;animation-delay:-170s}.cloud-track.t2{top:calc(env(safe-area-inset-top) + 2px);animation-duration:280s;animation-delay:-20s}.cloud{fill:var(--cloud);opacity:.85;display:block}.cloud.c0{width:110px}.cloud.c1{opacity:.7;width:76px}.cloud.c2{opacity:.6;width:140px}.far{width:106%;left:-3%;top:calc(env(safe-area-inset-top) + 40px);height:110px;transform:translateX(calc(var(--px) * -10px))}.hills{width:100%;height:100%}.hill-far{fill:var(--hill-far)}.hill-near{fill:var(--hill-near)}.treeline{width:106%;left:-3%;top:calc(env(safe-area-inset-top) + 74px);height:110px;transform:translateX(calc(var(--px) * -18px))}.trunk{fill:var(--trunk)}.crown-a{fill:var(--tree-a)}.crown-b{fill:var(--tree-b)}.crown-c{fill:var(--tree-c)}.blossom{fill:var(--blossom)}.snowcap{fill:var(--snow)}.fence-row{left:0;right:0;top:calc(env(safe-area-inset-top) + 150px);height:56px;transform:translateX(calc(var(--px) * -24px))}.picket,.rail{fill:#f8f4ea;stroke:#5a463240;stroke-width:1px}.picket-snow{fill:var(--snow)}:root[data-time=night] .picket,:root[data-time=night] .rail{fill:#c9cdd6}.lawn{left:0;right:0;top:calc(env(safe-area-inset-top) + 196px);background:radial-gradient(ellipse 60% 30% at 20% 30%, #ffffff1f, transparent 70%), linear-gradient(180deg, var(--grass-1), var(--grass-2) 70%, var(--grass-3));bottom:0}.particles{inset:0;overflow:hidden}.shade{background:var(--shade);inset:0}@media (prefers-color-scheme:dark){.shade{background:linear-gradient(var(--shade), var(--shade)), #060a105c}}.pond{height:calc(var(--pond-h) + var(--safe-b));bottom:0;left:0;right:0}.water{background:repeating-linear-gradient(180deg, transparent 0 9px, #ffffff1a 9px 10px), linear-gradient(180deg, var(--water-1), var(--water-2));position:absolute;inset:0}.bank-edge{height:14px;position:absolute;top:-1px;left:0;right:0}.bank-edge svg{width:100%;height:100%;fill:var(--grass-3);display:block}.pad-spot{width:44px;position:absolute}.pad-spot.p0{left:14%;bottom:calc(var(--safe-b) + 4px)}.pad-spot.p1{left:44%;bottom:calc(var(--safe-b) + 14px);width:34px}.pad-spot.p2{right:26%;bottom:calc(var(--safe-b) + 2px);width:38px}.pad-spot.p3{right:10%;bottom:calc(var(--safe-b) + 12px)}.lily{width:100%;display:block}.pad{fill:var(--pad)}.pad-vein{fill:none;stroke:var(--pad-vein);stroke-width:1.2px}.water-lily path{fill:var(--lily-flower)}.lily-heart{fill:#ffd84d}:root[data-season=winter] .lily-heart{fill:#0000}.reeds-spot{bottom:calc(var(--safe-b) - 4px);width:54px;position:absolute}.reeds-spot.left{left:-10px}.reeds-spot.right{right:-10px;transform:scaleX(-1)}.reeds svg,.reeds{width:100%;display:block}.reed{fill:none;stroke:var(--reed);stroke-width:3px;stroke-linecap:round}.cattail{fill:var(--cattail,#7a4b2a)}.rings{position:absolute;inset:0}.ring{pointer-events:none;width:80px;animation:1.8s ease-out forwards ring-grow;position:absolute}.ring svg,.ripple-svg{fill:none;width:100%;stroke:var(--ripple);stroke-width:2px;display:block}.pond-ring.r0{top:30%;left:28%}.pond-ring.r1{top:40%;left:62%}.pond-ring.r2{top:46%;left:8%}.pond-ring.r3{top:24%;left:80%}.rusty-track{left:0;bottom:calc(var(--safe-b) + 6px);animation:56s linear infinite alternate swim-x;position:absolute}.rusty-face{width:58px;animation:112s linear infinite swim-face;position:relative}.rusty svg{width:100%;height:auto;display:block}.rusty.bob-up{animation:.7s ease-out rusty-splash}.wake{opacity:.45;position:absolute;bottom:-5px;left:-6px;right:-6px}.splash-ring{bottom:-8px;left:-4px}.spray{position:absolute;bottom:30%;left:46%}.spray i{background:#ffffffe6;border-radius:50%;width:5px;height:5px;animation:.8s ease-out forwards spray;position:absolute}.spray i:first-child{--dx:-22px;--dy:-18px}.spray i:nth-child(2){--dx:-10px;--dy:-26px}.spray i:nth-child(3){--dx:4px;--dy:-30px}.spray i:nth-child(4){--dx:16px;--dy:-22px}.spray i:nth-child(5){--dx:26px;--dy:-12px}.drift{left:var(--x);opacity:.85;width:13px;animation:fall var(--dur) linear var(--delay) infinite;position:absolute;top:-24px}.drift svg{width:100%;fill:var(--drift);display:block}.drift.v1{width:10px}.drift.v2{width:16px}.drift.leaf.v1 svg{fill:#c8582f}.drift.leaf.v2 svg{fill:#e8b33c}.leaf-vein{fill:none;stroke:#0003;stroke-width:1px}.drift.snow{width:7px}.drift.snow.v2{width:10px}.drift.seed{opacity:.6}.drift.firefly{top:var(--y);width:16px;animation:firefly var(--dur) ease-in-out var(--delay) infinite}.firefly-svg circle{fill:#f6f19b}.firefly-svg .glow{fill:#f6f19b40}#app{z-index:1;height:calc(100dvh - var(--dl-bar,0px));max-width:480px;padding:env(safe-area-inset-top) 6px 0;grid-template-rows:auto 1fr auto;margin:0 auto;display:grid;position:relative}.top{justify-content:space-between;align-items:center;gap:10px;padding:10px 4px 8px;display:flex}h1{font-family:var(--display);letter-spacing:-.01em;color:var(--head-ink);text-shadow:0 1px 2px var(--head-glow);white-space:nowrap;margin:0;font-size:1.42rem;font-weight:700;line-height:1.1}.sub{color:var(--head-sub);text-shadow:0 1px 2px var(--head-glow);white-space:nowrap;margin:2px 0 0;font-size:.86rem;font-weight:700}.tools{align-items:center;gap:6px;display:flex}.icon,.pill{border:2px solid var(--tile-edge);background:var(--tile);width:42px;height:42px;box-shadow:0 2px 0 var(--tile-shadow);color:var(--ink);border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon:active,.pill:active,.action:active,.menu-item:active{box-shadow:none;transform:translateY(1px)}.icon.small{width:40px;height:40px}.icon:disabled{opacity:.35;cursor:default}.icon-svg{width:22px;height:22px}.pill{font-variant-numeric:tabular-nums;border-radius:21px;gap:3px;width:auto;min-width:42px;padding:0 10px;font-size:1.02rem;font-weight:800;display:inline-flex}.pill.has-streak{border-color:var(--gold-edge);background:var(--gold);box-shadow:0 2px 0 var(--gold-deep);color:var(--gold-ink)}.pill-icon{display:grid}.pill-icon svg{width:22px;height:22px}.flame-out{fill:var(--bill)}.flame-in{fill:#ffd84d}.table{touch-action:pinch-zoom;background:repeating-linear-gradient(0deg, var(--weave) 0 1px, transparent 1px 4px) padding-box, repeating-linear-gradient(90deg, var(--weave) 0 1px, transparent 1px 4px) padding-box, radial-gradient(ellipse 80% 60% at 50% 35%, var(--cloth-hi), var(--cloth) 60%, var(--cloth-lo)) padding-box, linear-gradient(160deg, var(--wood-hi), var(--wood) 40%, var(--wood-lo)) border-box;border:6px solid #0000;border-radius:20px;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000024,inset 0 6px 14px #0000001f,0 10px 22px #141e0a47}#cards{touch-action:none;pointer-events:none;position:absolute;inset:0}#cards .card{pointer-events:auto}#cards .card.offstage{opacity:0;pointer-events:none}.table-fx{pointer-events:none;z-index:700;position:absolute;inset:0}.slot{width:var(--card-w);height:var(--card-h);border:2px dashed var(--cloth-line);border-radius:calc(var(--card-w) * .12);color:var(--cloth-ink);font-size:calc(var(--card-w) * .5);background:#ffffff0d;place-items:center;padding:0;font-weight:800;display:grid;position:absolute;top:0;left:0}.slot-suit{width:46%;fill:var(--cloth-ink)}.stock-slot:after{content:"↻";font-size:calc(var(--card-w) * .55)}.stock-slot.spent:after{content:""}.column-slot{background:0 0;border-color:#0000}.column-slot.hint,.foundation-slot.hint,.stock-slot.hint,.stock-slot.teach{border-style:solid;border-color:var(--bill);box-shadow:0 0 0 3px #f28b2b73}.card{width:var(--card-w);height:var(--card-h);border-radius:calc(var(--card-w) * .12);transition:transform .26s cubic-bezier(.2, .8, .2, 1) var(--delay,0s), opacity .2s;will-change:transform;color:var(--card-black);text-align:left;background:0 0;border:0;padding:0;position:absolute;top:0;left:0;box-shadow:0 1px 1.5px #1e140a47,0 3px 7px #1e140a1f}.card.red,.hero-card.k1,.hero-card.k2{color:var(--card-red)}.no-anim .card,.no-anim .flip{transition:none}.squash,.flip{border-radius:inherit;position:absolute;inset:0}.flip{transform-style:preserve-3d;transition:transform .34s cubic-bezier(.3, .7, .3, 1) calc(var(--delay,0s) + 60ms)}.card.down .flip{transform:perspective(500px)rotateY(180deg)}.face,.back{border-radius:inherit;backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.face{border:1.5px solid var(--card-edge);background:linear-gradient(180deg, var(--card-face) 55%, var(--card-face-lo))}.back{border:1.5px solid #0003;transform:rotateY(180deg)}.card.down{cursor:default}.idx{left:calc(var(--card-w) * .07);right:calc(var(--card-w) * .06);top:calc(var(--card-w) * .02);height:calc(var(--card-h) * .31);justify-content:space-between;align-items:center;gap:1px;display:flex;position:absolute}.idx b{font-family:var(--text);font-size:calc(var(--card-w) * .46);letter-spacing:-.03em;font-weight:800;line-height:1}.idx.ten b{font-size:calc(var(--card-w) * .41);letter-spacing:-.1em}.idx-suit{width:calc(var(--card-w) * .3);height:calc(var(--card-w) * .3);fill:currentColor;flex:none}.pip{left:50%;bottom:calc(var(--card-h) * .09);width:calc(var(--card-w) * .58);height:calc(var(--card-w) * .58);fill:currentColor;position:absolute;transform:translate(-50%)}.ace .pip{width:calc(var(--card-w) * .5);height:calc(var(--card-w) * .5);bottom:calc(var(--card-h) * .13)}.wreath{left:50%;bottom:calc(var(--card-h) * .035);width:calc(var(--card-w) * .84);height:calc(var(--card-w) * .84);position:absolute;transform:translate(-50%)}.wreath path{fill:none;stroke:#6aa85a;stroke-width:1.6px;stroke-linecap:round}.wreath g{fill:#6aa85a}.court{left:calc(var(--card-w) * .1);right:calc(var(--card-w) * .1);top:calc(var(--card-h) * .31);bottom:calc(var(--card-h) * .06);position:absolute}.frame{inset:calc(var(--card-w) * .13) 0 0;border-radius:999px 999px calc(var(--card-w) * .07) calc(var(--card-w) * .07);background:radial-gradient(circle at 50% 30%, #fffaf0, var(--frame-black));border:1.5px solid;position:absolute;overflow:hidden}.card.red .frame,.hero-card.k1 .frame,.hero-card.k2 .frame{background:radial-gradient(circle at 50% 30%, #fffaf0, var(--frame-red))}.portrait{object-fit:cover;object-position:50% 30%;width:100%;height:100%;position:absolute;inset:0}.stand-in{fill:#fffaf0;stroke:currentColor;stroke-width:1px;width:80%;display:none;position:absolute;bottom:8%;left:10%}.no-photo .portrait{display:none}.no-photo .stand-in{display:block}.stand-in .eye{fill:currentColor;stroke:none}.crown{left:50%;top:calc(var(--card-w) * -.06);width:calc(var(--card-w) * .56);position:absolute;overflow:visible;transform:translate(-50%)}.gold{fill:#f2c14e;stroke:#a77a16;stroke-width:1.1px;stroke-linejoin:round}.gold-line{fill:none;stroke:#a77a16;stroke-width:1.1px}.jewel{fill:#d94a3a}.card.black .jewel,.hero-card.k0 .jewel,.hero-card.k3 .jewel{fill:#2f7fd0}.vine{fill:none;stroke:#4f8f45;stroke-width:1.8px}.bloom{fill:#f7a6bd;stroke:#c45c7b;stroke-width:.8px}.card.black .bloom{fill:#fdfbf3;stroke:#8b8070}.bloom-heart{fill:#ffcf3f}.crown .leaf{fill:#5ea472}.cap{fill:currentColor;stroke:#00000059;stroke-width:.8px}.cap-band{stroke:#f2c14e;stroke-width:2.2px}.plume{fill:#fdfaf2;stroke:#8b8070;stroke-width:.8px}.plume-line{stroke:#8b8070;stroke-width:.7px}.court-pip{display:none}.back:after{content:"";inset:calc(var(--card-w) * .06);border-radius:calc(var(--card-w) * .07);border:1.5px solid #ffffffb3;position:absolute}.medallion{width:calc(var(--card-w) * .56);height:calc(var(--card-w) * .56);background:#fffdf5eb;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff6}.emblem{width:74%;fill:var(--back-1,#2f7a4f)}.emblem .eye{fill:#fffaf0}.back-portrait{object-fit:cover;object-position:50% 25%;width:100%;height:100%;display:none}body[data-back=leaf]{--back-1:#2f7a4f;--back-2:#3f9463}body[data-back=petal]{--back-1:#c9607a;--back-2:#e08aa0}body[data-back=check]{--back-1:#1f5f66;--back-2:#2f8791}body[data-back=tiny]{--back-1:#e7d8b8;--back-2:#f4ead3}.back,.mini-back,.swatch{background-color:var(--back-1)}body[data-back=leaf] .back,body[data-back=leaf] .mini-back,[data-back=leaf]>.swatch{background:radial-gradient(30% 14% at 25% 30%,#ffffff24 60%,#0000 62%) 0 0/14px 14px,radial-gradient(30% 14% at 75% 75%,#ffffff1a 60%,#0000 62%) 0 0/14px 14px,repeating-linear-gradient(45deg,#2f7a4f 0 5px,#3a8a5a 5px 10px)}body[data-back=petal] .back,body[data-back=petal] .mini-back,[data-back=petal]>.swatch{background:radial-gradient(circle,#fff1f3 0 1.5px,#0000 2.1px) 0 0/9px 9px,radial-gradient(circle,#fff1f380 0 1px,#0000 1.6px) 4.5px 4.5px/9px 9px,#cf6a83}body[data-back=check] .back,body[data-back=check] .mini-back,[data-back=check]>.swatch{background:repeating-linear-gradient(0deg,#ffffff29 0 5px,#0000 5px 10px),repeating-linear-gradient(90deg,#ffffff29 0 5px,#0000 5px 10px),#1f5f66}body[data-back=tiny] .back,body[data-back=tiny] .mini-back,[data-back=tiny]>.swatch{background:radial-gradient(circle,#fffaf0 0 30%,#0000 31%),repeating-radial-gradient(circle,#efe3c6 0 3px,#e5d3ae 3px 6px)}body[data-back=tiny] .back:after{border-color:#1f5f668c}body[data-back=tiny] .back-portrait{display:block}body[data-back=tiny] .emblem{display:none}body[data-back=tiny] .no-photo .emblem{fill:#1f5f66;display:block}body[data-back=tiny] .no-photo .back-portrait{display:none}body[data-back=tiny] .medallion{width:calc(var(--card-w) * .7);height:calc(var(--card-w) * .7);border:2px solid #1f5f66}.card.dragging{transition:none;box-shadow:0 14px 26px #00000057}.card.dragging .squash{transform:scale(1.05)rotate(-1.5deg)}.card.hint,.card.teach{box-shadow:0 0 0 3px var(--bill), 0 0 0 6px #f28b2b59;animation:.6s ease-in-out 2 nudge}.card.teach{animation:1s ease-in-out infinite nudge}.stock-slot.teach{animation:1s ease-in-out infinite glow}.card.shake{animation:.3s shake}.sparkle{width:0;height:0;position:absolute}.sparkle i{background:#ffd84d;border-radius:50% 0;width:8px;height:8px;animation:.7s ease-out forwards sparkle;position:absolute;top:-4px;left:-4px}.sparkle i:nth-child(2n){background:#f7a6bd}.sparkle i:first-child{--a:0deg}.sparkle i:nth-child(2){--a:60deg}.sparkle i:nth-child(3){--a:120deg}.sparkle i:nth-child(4){--a:180deg}.sparkle i:nth-child(5){--a:240deg}.sparkle i:nth-child(6){--a:300deg}.lesson{z-index:650;border:2px solid var(--tile-edge);background:var(--paper);text-align:center;border-radius:18px;width:min(92%,380px);padding:12px 16px 14px;animation:.4s cubic-bezier(.2,.8,.2,1) rise;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #00000038}.lesson-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.lesson-say{text-wrap:balance;margin:6px 0 8px;font-size:1.08rem;font-weight:800;line-height:1.35}.lesson-dots{justify-content:center;gap:6px;margin-bottom:10px;display:flex}.lesson-dots i{background:var(--line);border-radius:50%;width:9px;height:9px}.lesson-dots i.now{background:var(--bill);transform:scale(1.25)}.lesson-dots i.done{background:var(--green)}.lesson-buttons{justify-content:center;gap:8px;display:flex}.action.small{min-width:96px;min-height:44px;font-size:.95rem}.action.quiet{box-shadow:none;background:0 0}.guide{z-index:680;pointer-events:none;position:absolute;top:0;left:0}.guide-inner{width:calc(var(--card-w) * 1.3);margin-left:calc(var(--card-w) * -1.22);margin-top:calc(var(--card-w) * -.5);transform-origin:90% 45%;filter:drop-shadow(0 3px 3px #0000004d)}.guide-inner svg{width:100%;height:auto;display:block}.guide-inner.waddling svg{animation:.32s ease-in-out infinite waddle}.controls{height:calc(var(--bank-h) + var(--safe-b));padding:10px 0 0;position:relative}.message{z-index:800;border:2px solid var(--tile-edge);background:var(--paper);pointer-events:none;opacity:0;transform-origin:0 100%;border-radius:16px 16px 16px 4px;max-width:min(300px,100% - 70px);margin:0;padding:8px 14px;font-size:.95rem;font-weight:800;line-height:1.3;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 2px);left:58px;transform:translateY(6px)scale(.96);box-shadow:0 4px 12px #0000002e}.message.show{opacity:1;transform:none}.message.error{color:var(--error)}.message:empty{visibility:hidden}.actions{z-index:2;justify-content:center;gap:8px;display:flex;position:relative}.action{border:2px solid var(--tile-edge);background:var(--tile);min-width:104px;min-height:50px;box-shadow:0 3px 0 var(--tile-shadow);color:var(--ink);border-radius:25px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:800;display:inline-flex}.action:disabled{opacity:.5;cursor:default}.action.finish{background:var(--gold);border-color:var(--gold-edge);color:var(--gold-ink);box-shadow:0 3px 0 var(--gold-deep)}.btn-icon{display:inline-grid}.btn-icon:empty{display:none}.btn-icon svg{width:20px;height:20px}.readout{z-index:2;color:#4e463b;font-variant-numeric:tabular-nums;background:#fffdf5d1;border-radius:12px;width:fit-content;margin:8px auto 0;padding:2px 12px;font-size:.86rem;font-weight:800;position:relative}@media (prefers-color-scheme:dark){.readout{color:var(--muted);background:#1e1b16cc}}.about-game{z-index:1;padding:22px 14px calc(28px + var(--safe-b));background:repeating-linear-gradient(180deg, transparent 0 9px, #ffffff1a 9px 10px) 0 0 / 100% 120px no-repeat, linear-gradient(var(--water-1), var(--water-2) 120px);position:relative}.about-card{border:2px solid var(--tile-edge);background:var(--paper);width:min(100%,40rem);box-shadow:0 4px 0 var(--tile-shadow);color:var(--ink);border-radius:20px;margin:0 auto;padding:16px 20px 4px;font-size:1rem;font-weight:600;line-height:1.55}.about-card p{text-wrap:pretty;max-width:62ch;margin:0 auto .9em}.about-card a{color:inherit;text-underline-offset:3px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.tiny{left:0;bottom:calc(var(--pond-h) + var(--safe-b) - 6px);z-index:3;background:0 0;border:0;width:70px;padding:0;position:absolute}.tiny-pose{transform-origin:55% 100%;animation:3.6s ease-in-out infinite breathe;display:block}.tiny-duck,.tiny-duck svg,.path-tiny svg,.hero-tiny svg,.hero-duckling svg,.parade-duckling svg{width:100%;height:auto;display:block}.tiny-shadow{background:#14280a40;border-radius:50%;height:7px;position:absolute;bottom:-3px;left:18%;right:12%}.tiny-pose.look{animation:.8s ease-in-out look}.house{right:-4px;bottom:calc(var(--pond-h) + var(--safe-b) - 8px);z-index:1;width:86px;position:absolute}.duck-house{width:100%;display:block;overflow:visible}.house-wall{fill:#c96a4b}.house-board{fill:none;stroke:#0000001f;stroke-width:1.2px}.roof{fill:#6b574a}.roof-edge{fill:none;stroke:#4c3c31;stroke-width:3px;stroke-linecap:round}.roof-snow{fill:var(--snow)}.door{fill:#3a2a22}.ramp{fill:#c99a62;stroke:#8f6638;stroke-width:1px}.ramp-step,.post{fill:none;stroke:#8f6638;stroke-width:2px;stroke-linecap:round}.house-shadow{fill:#14280a38}.flowerbox{fill:#8f6638}.box-flowers{fill:var(--box-flower)}.house-frame{aspect-ratio:1;background:#f8f1de;border:2px solid #f8f1de;border-radius:2px;width:14%;position:absolute;top:44%;left:36.5%;overflow:hidden;transform:rotate(-4deg);box-shadow:0 1px 2px #00000059}.house-frame img{object-fit:cover;width:100%;height:100%;display:block}.parade{left:0;right:0;bottom:calc(var(--pond-h) + var(--safe-b) - 4px);z-index:2;pointer-events:none;height:26px;position:absolute}.parade-duckling{width:30px;animation:parade 7s linear calc(var(--i) * .38s) forwards;position:absolute;bottom:0;left:-40px}.fx-layer{z-index:9;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti{left:var(--x);width:16px;animation:confetti var(--dur) cubic-bezier(.4, .1, .6, 1) var(--delay) forwards;position:absolute;top:-48px}.confetti svg{width:100%;display:block}.confetti.petal{width:13px}.vane{fill:#fffaf0;stroke:#d9cdb4;stroke-width:1px}.rachis{stroke:#cbbd9e;stroke-width:1px}.confetti.v1 .vane{fill:#fdf3d6}.confetti.v2 .vane{fill:#e8f2f3}.petal-svg path{fill:var(--drift)}.confetti .petal-svg path{fill:#f7a6bd}.confetti.v1 .petal-svg path{fill:#ffd84d}.scrim{z-index:10;background:var(--scrim);justify-content:center;align-items:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.drawer{width:100%;max-width:480px;max-height:92dvh;padding:12px 22px calc(22px + env(safe-area-inset-bottom));background:radial-gradient(ellipse 120% 40% at 50% 0%, #ffffff80, transparent 70%), var(--paper);text-align:center;border-radius:24px 24px 0 0;flex-direction:column;gap:14px;animation:.34s cubic-bezier(.2,.8,.2,1) slide-up;display:flex;position:relative;overflow-y:auto;box-shadow:0 -8px 40px #0003}@media (prefers-color-scheme:dark){.drawer{background:radial-gradient(ellipse 120% 40% at 50% 0%, #ffffff0a, transparent 70%), var(--paper)}}.drawer:before{content:"";background:var(--line);border-radius:3px;flex:none;width:40px;height:5px;margin:0 auto 2px}.drawer h2{font-family:var(--display);text-wrap:balance;margin:0;font-size:1.7rem;font-weight:700;line-height:1.15}.help-sheet #help-mascot{margin-top:-2px}.steps{text-align:left;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.steps li{background:var(--paper-deep);border-radius:16px;grid-template-columns:96px 1fr;align-items:center;gap:14px;padding:8px 10px;display:grid}.step-art{background:radial-gradient(ellipse at 50% 40%, var(--cloth-hi), var(--cloth));border-radius:12px;justify-content:center;align-items:center;height:66px;display:flex;position:relative}.step-text{font-size:.98rem;line-height:1.35}.mini-card{border:1.5px solid var(--card-edge);background:var(--card-face);width:34px;height:48px;color:var(--card-black);text-align:left;border-radius:5px;padding:2px 4px;font-size:.95rem;font-weight:800;line-height:1;display:block;position:relative;box-shadow:0 1px 2px #00000040}.mini-card.red{color:var(--card-red)}.mini-card b{display:block}.mini-suit{fill:currentColor;width:10px;height:10px;position:absolute;top:3px;right:3px}.mini-pip{fill:currentColor;width:18px;height:18px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.pile{width:34px;height:48px;position:relative}.pile .mini-card{position:absolute;left:0}.pile .p0{top:6px}.pile .p1{top:3px}.pile .p2{top:0}.arrow{color:#fff;margin-left:4px;display:grid}.arrow svg{width:22px;height:22px}.cascade{width:34px;height:60px;position:relative}.cascade .mini-card{position:absolute;top:0;left:0}.cascade .c1{top:12px}.cascade .c2{top:24px}.cascade .mini-card{height:36px}.cascade .mini-card .mini-pip{display:none}.tapping{position:relative}.finger{color:#fff;filter:drop-shadow(0 1px 1px #0006);animation:1.4s ease-in-out infinite tap-finger;display:grid;position:absolute;bottom:-14px;right:-18px}.finger svg{width:26px;height:26px}.deck-demo{gap:8px;display:flex}.mini-back{border:1.5px solid #ffffffb3;border-radius:5px;width:30px;height:44px;display:block;box-shadow:0 1px 2px #00000040}.mini-empty{border:2px dashed var(--cloth-line);border-radius:6px;place-items:center;width:38px;height:52px;display:grid}.mini-empty .mini-card{width:30px;height:44px}.undo-demo{background:var(--tile);width:46px;height:46px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.undo-demo svg{width:24px;height:24px}.result-sheet{overflow-x:hidden}.result-sheet:before{z-index:2;background:#fff9;margin:0;position:absolute;top:8px;left:50%;transform:translate(-50%)}.hero{background:linear-gradient(180deg, var(--sky-1), var(--sky-2) 50%, var(--sky-3));border-radius:24px 24px 0 0;flex:none;height:150px;margin:-12px -22px 0;position:relative;overflow:hidden}.hero-sun{background:var(--sun);width:34px;height:34px;box-shadow:0 0 0 10px color-mix(in srgb, var(--sun-glow) 40%, transparent);border-radius:50%;position:absolute;top:16px;right:34px}.hero-hill{background:linear-gradient(var(--grass-1), var(--grass-2));border-radius:50% 50% 0 0;height:74px;position:absolute;bottom:-30px;left:-10%;right:-10%}.hero-kings{display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-36%)}.hero-card{--card-w:52px;--card-h:74px;width:52px;height:74px;color:var(--card-black);transform-origin:50% 120%;border-radius:6px;margin-left:-16px;animation:.6s cubic-bezier(.2,.8,.2,1) backwards fan-in;display:block;position:relative;box-shadow:0 4px 10px #00000040}.hero-card .back{display:none}.hero-card.k0{transform:rotate(-14deg)}.hero-card.k1{animation-delay:80ms;transform:rotate(-5deg)}.hero-card.k2{animation-delay:.16s;transform:rotate(5deg)}.hero-card.k3{animation-delay:.24s;transform:rotate(14deg)}.hero-tiny{width:92px;position:absolute;bottom:6px;left:10px}.hero-ducklings{gap:2px;display:flex;position:absolute;bottom:6px;left:104px}.hero-duckling{width:26px;animation:1.4s ease-in-out infinite bob}.hero-duckling.d1{animation-delay:-.3s}.hero-duckling.d2{animation-delay:-.6s}.hero-duckling.d3{animation-delay:-.9s}.hero-duckling.d4,.hero-duckling.d5,.hero-duckling.d6{display:none}.summary{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:-4px 0 0;font-size:.86rem;font-weight:800}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--paper-deep);border-radius:16px;padding:10px 4px 8px}.stat b{font-family:var(--text);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1.1;display:block}.stat span{color:var(--muted);font-size:.86rem}.best,.milestone{color:var(--muted);margin:0;font-size:.95rem}.milestone{color:var(--gold-ink);background:var(--gold);border:1px solid var(--gold-edge);border-radius:12px;padding:6px 10px;font-weight:800}.best:empty{display:none}.primary{background:var(--green);min-height:56px;color:var(--green-ink);box-shadow:0 3px 0 var(--green-deep);border:0;border-radius:28px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:1.15rem;font-weight:800;display:inline-flex}.primary:active{box-shadow:0 1px 0 var(--green-deep);transform:translateY(1px)}.primary .btn-icon svg{width:22px;height:22px}.next{color:var(--muted);margin:0}.drawer .action{align-self:center}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.row .primary{flex:1;max-width:220px}.journey-lede{color:var(--muted);margin:-6px 0 0;font-size:.95rem}.month-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.month-bar b{font-family:var(--display);font-size:1.2rem}.path-box{background:radial-gradient(ellipse 50% 30% at 20% 20%, #ffffff2e, transparent 70%), linear-gradient(180deg, var(--grass-1), var(--grass-2));border-radius:20px;width:100%;position:relative;box-shadow:inset 0 0 0 1px #00000014}.path-svg{width:100%;height:auto;display:block}.gravel-edge,.gravel,.gravel-dots{fill:none;stroke-linecap:round;stroke-linejoin:round}.gravel-edge{stroke:#b39c73;stroke-width:20px}.gravel{stroke:#e3d4b1;stroke-width:15px}.gravel-dots{stroke:#c4af86;stroke-width:2.4px;stroke-dasharray:.1 8}.stone-shadow{fill:#281e0a33}.stone-top{fill:#ece4d3;stroke:#b8ab92;stroke-width:1.4px}.stone.future .stone-top{fill:#ece4d380;stroke-dasharray:3 3}.stone.future .stone-shadow{display:none}.stone-date{fill:#5d5446;font-family:var(--text);text-anchor:middle;font-size:12.5px;font-weight:800}.stone.future .stone-date{fill:#5d54468c}.today-ring{fill:none;stroke:var(--bill);stroke-width:3px;stroke-dasharray:5 3}.bloom-spot{pointer-events:none;width:24px;margin-top:-26px;margin-left:4px;position:absolute}.bloom-spot.fresh{animation:.8s cubic-bezier(.3,1.6,.5,1) .4s backwards bloom}.flower{filter:drop-shadow(0 1px 1px #00000040);width:100%;display:block}.flower.f0 .petals{fill:#f7a6bd}.flower.f1 .petals{fill:#ffd84d}.flower.f2 .petals{fill:#b9a4e8}.flower.f3 .petals{fill:#fffaf0}.flower-heart{fill:#f28b2b}.path-tiny{pointer-events:none;filter:drop-shadow(0 2px 2px #00000040);width:44px;margin-top:-38px;margin-left:-24px;position:absolute}.path-tiny.walking{animation:.26s ease-in-out infinite waddle}.path-tiny.arrived{animation:1s ease-in-out happy}.menu-list{flex-direction:column;gap:10px;display:flex}.menu-item{border:2px solid var(--tile-edge);background:var(--tile);min-height:52px;box-shadow:0 2px 0 var(--tile-shadow);color:var(--ink);text-align:center;cursor:pointer;border-radius:14px;padding:12px 18px;font-size:1.05rem;font-weight:700;text-decoration:none;display:block}.menu-item.armed{border-color:var(--error);color:var(--error)}.settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:12px 0 2px;display:flex}.setting{align-items:center;gap:10px;display:flex}.setting-label{text-align:left;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex:0 0 74px;font-size:.8rem;font-weight:800}.segmented{flex:1;gap:5px;display:flex}.segmented button{border:2px solid var(--tile-edge);background:var(--tile);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:0 4px;font-size:.9rem;font-weight:700;display:inline-flex}.segmented button[aria-checked=true]{border-color:var(--green);background:var(--green);color:var(--green-ink)}.swatch{border:1px solid #0003;border-radius:3px;flex:none;width:11px;height:16px;display:block}.toggle{text-align:left;cursor:pointer;align-items:center;gap:12px;min-height:44px;padding-top:2px;font-weight:700;display:flex}.toggle input{width:26px;height:26px;accent-color:var(--green);margin:0}.about{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.credit-row{justify-content:center;margin:4px 0 0;display:flex}.credit{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:.72rem;font-weight:800;display:inline-flex}.mark{background:var(--brand-pond);border-radius:24%;place-items:center;display:inline-grid}.mark svg{width:auto;height:80%}.mascot-photo{width:auto;margin:0 auto;display:block}@media (width>=700px) and (height>=620px){:root{--bank-h:150px;--pond-h:56px}#app{max-width:min(100%,880px);padding:env(safe-area-inset-top) 24px 0}h1{font-size:1.9rem}.sub{font-size:.98rem}.top{padding:14px 4px 12px}.table{border-width:9px;border-radius:26px}.far{height:22vh;top:7vh}.treeline{height:130px;top:18vh}.fence-row{top:calc(18vh + 84px)}.lawn{top:calc(18vh + 120px)}.celestial{width:130px;top:4vh}.tiny{width:104px;left:-10px}.house{width:128px}.rusty-face{width:76px}.pad-spot{width:64px}.reeds-spot{width:80px}.message{left:96px}.action{min-width:128px}}@media (width>=900px) and (height>=560px){:root{--pond-h:clamp(52px, 6vh, 88px);--head-h:clamp(70px, 9vh, 132px);--side:clamp(150px, 17vh, 250px);--tiny-w:clamp(104px, 12.5vh, 180px);--house-w:clamp(124px, 14.5vh, 210px)}#app{--gutter:24px;--room:calc(100dvh - var(--dl-bar,0px) - var(--head-h) - var(--pond-h) - 14px);max-width:min(calc(100vw - 32px), max(820px, calc(var(--room) * 1.3 + 2 * var(--side) + 2 * var(--gutter) + 40px)));padding:env(safe-area-inset-top) var(--gutter) calc(var(--pond-h) + var(--safe-b) + 14px);grid-template-columns:var(--side) minmax(0, 1fr) var(--side);grid-template-rows:var(--head-h) minmax(0, 1fr);column-gap:clamp(10px,1.4vh,20px)}.top{height:var(--head-h);grid-column:2;padding:0 6px}.table{grid-area:2/2}.controls{height:auto;padding:0 0 calc(var(--house-w) * .87 - var(--pond-h) * .25);flex-direction:column;grid-area:2/3;justify-content:flex-end;align-items:stretch;display:flex;position:static}.actions{flex-direction:column;align-items:stretch}.action{width:100%}.tiny{left:calc(var(--gutter) + (var(--side) - var(--tiny-w)) / 2);width:var(--tiny-w)}.house{right:calc(var(--gutter) + (var(--side) - var(--house-w)) / 2);width:var(--house-w)}.message{left:calc(var(--gutter) + 8px);bottom:calc(var(--pond-h) + var(--safe-b) + var(--tiny-w) * .95);max-width:min(clamp(260px, 30vh, 440px), calc(var(--side) + 160px))}h1{font-size:clamp(1.9rem,4.3vh,3.5rem)}.sub{margin-top:clamp(2px,.4vh,6px);font-size:clamp(.98rem,1.8vh,1.5rem)}.tools{gap:clamp(6px,.9vh,12px)}.icon,.pill{width:clamp(42px,5.2vh,70px);height:clamp(42px,5.2vh,70px)}.pill{border-radius:999px;width:auto;min-width:clamp(42px,5.2vh,70px);padding:0 clamp(10px,1.3vh,18px);font-size:clamp(1.02rem,2vh,1.6rem)}.icon-svg,.pill-icon svg{width:clamp(22px,2.6vh,36px);height:clamp(22px,2.6vh,36px)}.table{border-width:clamp(9px,1vh,14px);border-radius:clamp(26px,2.6vh,38px)}.actions{gap:clamp(8px,1.2vh,16px)}.action{border-radius:999px;gap:clamp(6px,.8vh,12px);min-width:0;min-height:clamp(50px,5.8vh,82px);padding:0 clamp(16px,2vh,30px);font-size:clamp(1rem,2vh,1.55rem)}.btn-icon svg{width:clamp(20px,2.4vh,32px);height:clamp(20px,2.4vh,32px)}.readout{border-radius:999px;margin-top:clamp(8px,1vh,14px);padding:2px clamp(12px,1.4vh,20px);font-size:clamp(.86rem,1.6vh,1.3rem)}.message{padding:clamp(8px,1vh,14px) clamp(14px,1.7vh,22px);font-size:clamp(.95rem,1.8vh,1.4rem)}.lesson{border-radius:clamp(18px,2vh,28px);width:min(92%,clamp(380px,44vh,620px));padding:clamp(12px,1.5vh,22px) clamp(16px,2vh,28px);bottom:clamp(14px,2vh,28px)}.lesson-kicker{font-size:clamp(.78rem,1.3vh,1.05rem)}.lesson-say{font-size:clamp(1.08rem,2vh,1.6rem)}.action.small{min-width:clamp(96px,11vh,150px);min-height:clamp(44px,5vh,66px);font-size:clamp(.95rem,1.7vh,1.3rem)}}@media (hover:hover) and (pointer:fine){.icon,.pill,.action{cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s,transform 80ms}.icon:not(:disabled):hover,.pill:hover,.action:not(:disabled):hover{border-color:var(--bill);background:color-mix(in srgb, var(--tile) 88%, var(--bill))}.action.finish:hover{background:color-mix(in srgb, var(--gold) 85%, #fff)}#cards .card:not(.down){cursor:grab}#cards .card:not(.down):hover .face{border-color:var(--bill);box-shadow:inset 0 0 0 1px var(--bill)}.stock-slot{cursor:pointer}.stock-slot:hover{border-color:var(--bill)}}@keyframes nudge{50%{transform:var(--base-transform) translateY(-6px)}}@keyframes glow{50%{box-shadow:0 0 0 6px #f28b2b40}}@keyframes shake{25%{transform:var(--base-transform) translateX(-6px)}50%{transform:var(--base-transform) translateX(6px)}75%{transform:var(--base-transform) translateX(-3px)}}@keyframes sparkle{0%{transform:rotate(var(--a)) translateX(4px) scale(1);opacity:1}to{transform:rotate(var(--a)) translateX(30px) scale(.3);opacity:0}}@keyframes breathe{50%{transform:scale(1.012,.985)}}@keyframes happy{15%{transform:rotate(-9deg)translateY(-6px)}32%{transform:rotate(8deg)translateY(-9px)}50%{transform:rotate(-7deg)translateY(-4px)}68%{transform:rotate(5deg)translateY(-6px)}85%{transform:rotate(-2deg)}}@keyframes look{40%,70%{transform:rotate(5deg)translate(3px)}}@keyframes waddle{25%{transform:rotate(-6deg)translateY(-1px)}75%{transform:rotate(6deg)translateY(-1px)}}@keyframes parade{0%{transform:translate(0)}to{transform:translate(calc(100vw + 80px))}}@keyframes bob{50%{transform:translateY(-2px)}}@keyframes rusty-splash{30%{transform:translateY(-6px)rotate(-6deg)}60%{transform:translateY(2px)}}@keyframes swim-x{0%{transform:translate(6vw)}to{transform:translate(calc(100vw - 110px))}}@keyframes swim-face{0%,49.99%{transform:scaleX(1)}50%,to{transform:scaleX(-1)}}@keyframes ring-grow{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.7)}}@keyframes spray{0%{opacity:1;transform:translate(0)}to{transform:translate(var(--dx), var(--dy));opacity:0}}@keyframes cloud-drift{0%{transform:translate(-160px)}to{transform:translate(calc(100vw + 40px))}}@keyframes twinkle{50%{opacity:.3}}@keyframes fall{0%{transform:translateY(-5vh)rotate(0)}50%{transform:translate(var(--sway), 50vh) rotate(160deg)}to{transform:translateY(105vh)rotate(320deg)}}@keyframes firefly{0%,to{opacity:.2;transform:translate(0)}30%{opacity:1}50%{transform:translate(var(--sway), -30px);opacity:.9}70%{opacity:.3}}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}80%{opacity:1}to{transform:translate(var(--sway), 105vh) rotate(var(--spin));opacity:0}}@keyframes tap-finger{0%,to{transform:translate(0)}40%{transform:translate(-4px,-6px)scale(.94)}}@keyframes fan-in{0%{opacity:0;transform:rotate(0)translateY(40px)}}@keyframes bloom{0%{transform:scale(0)rotate(-90deg)}}@keyframes rise{0%{opacity:0;transform:translate(-50%,20px)}}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.particles,.fx-layer,.parade,.clouds .cloud-track:not(.t0){display:none}.cloud-track.t0{transform:translate(20vw)}.rusty-track{transform:translate(60vw)}}
