:root{--sp-0:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--gutter:max(var(--sp-4), var(--safe-l), var(--safe-r));--r-pill:999px;--fs-floor-label:.75rem;--fs-floor-small:.875rem;--fs-floor-body:1rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-io:cubic-bezier(.65, 0, .35, 1);--ease-back:cubic-bezier(.34, 1.56, .64, 1);--spring:var(--ease-back);--dur-press:50ms;--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.48s;--dur-hero:.9s;--stagger:45ms;--font-display:serif;--font-ui:system-ui, sans-serif;--font-num:var(--font-ui);--font-voice:var(--font-display);--focus:#1f5f99;--focus-halo:transparent;--focus-w:3px;font-synthesis:none}@supports (transition-timing-function:linear(0, 1)){:root{--spring:linear(0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121 24%, 1.149 26.8%, 1.159, 1.154 31.7%, 1.106 37.6%, 1.031 46.5%, 1.003 51.3%, .986 56.8%, .991 69.4%, 1 100%)}}.num,[data-num]{font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1}:where(a,button,[role=tab],[tabindex],input,select,summary):focus-visible{outline:var(--focus-w) solid var(--focus);outline-offset:3px;box-shadow:0 0 0 calc(var(--focus-w) + 4px) var(--focus-halo)}:where(button,a):focus:not(:focus-visible){outline:none}@keyframes ui-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes ui-tick{0%{transform:translateY(0)}40%{transform:translateY(-2px)scale(1.06)}to{transform:none}}@keyframes ui-burst{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--ang,0deg)) translateX(0) scale(1)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--ang,0deg)) translateX(var(--dist,40px)) scale(.4)}}.stagger>*{animation:ui-rise var(--dur-3) var(--ease-out) both;animation-delay:calc(min(var(--i,0), 10) * var(--stagger) + 60ms)}.ui-tick{animation:ui-tick var(--dur-2) var(--spring)}.ui-burst{pointer-events:none;position:absolute;inset:0}.ui-burst>i{background:var(--burst,currentColor);width:6px;height:6px;animation:ui-burst var(--dur-4) var(--ease-out) forwards;border-radius:50%;position:absolute;top:50%;left:50%}.ui-burst.ring>i{border:2px solid var(--burst,currentColor);background:0 0}@media (prefers-reduced-motion:reduce){.stagger>*{animation:ui-fade var(--dur-2) linear both;animation-delay:0s}.ui-tick,.ui-burst{animation:none;display:none}}:root.reduce-motion .stagger>*{animation:ui-fade var(--dur-2) linear both;animation-delay:0s}:root.reduce-motion .ui-tick{animation:none}:root.reduce-motion .ui-burst{display:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:root{--paper:#f4ede1;--paper-2:#eae0cf;--surface:#fbf8f1;--rule:#c9bcac;--ink:#2b2320;--ink-muted:#6e625a;--pasture:#5b7f3a;--pasture-deep:#466a2b;--soil:#6b4a2b;--wheat:#d9b45a;--sea:#3e6e7e;--clay:#b5523b;--clay-deep:#9e4430;--p-mara:#8c2f39;--p-tomas:#c9962b;--p-ines:#4e6a8c;--p-sol:#6b4e7a;--hollowell:#ff7a1a;--hollowell-highlight:#ffb36b;--candor:#3fc1d9;--candor-highlight:#bff1fa;--ink-on-fixed-fill:#2b2320;--paper-on-fixed-fill:#f4ede1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1e1a17;--paper-2:#2a2420;--surface:#332c27;--rule:#8a7d72;--ink:#f1e9dc;--ink-muted:#b8ac9f;--pasture:#7fa35a;--soil:#d9b98a;--sea:#6fa3b3;--clay:#d0705a}}:root[data-theme=dark]{--paper:#1e1a17;--paper-2:#2a2420;--surface:#332c27;--rule:#8a7d72;--ink:#f1e9dc;--ink-muted:#b8ac9f;--pasture:#7fa35a;--soil:#d9b98a;--sea:#6fa3b3;--clay:#d0705a}@font-face{font-family:Runnel Display;src:url(/runnel/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Runnel UI;src:url(/runnel/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Runnel UI;src:url(/runnel/assets/atkinson-hyperlegible-next-latin-wght-italic-DC5MiAaX.woff2)format("woff2");font-weight:200 800;font-style:italic;font-display:swap}@font-face{font-family:Runnel Figures;src:url(/runnel/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Runnel Digits;src:url(/runnel/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+30-39}@font-face{font-family:Runnel Display Fallback;src:local(Times New Roman),local(Liberation Serif),local(Georgia);size-adjust:93.3%;ascent-override:105%;descent-override:27.9%}@font-face{font-family:Runnel UI Fallback;src:local(Arial),local(Liberation Sans),local(Helvetica);size-adjust:98.8%;ascent-override:99.1%;descent-override:32.4%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--dry:#ecd7a9;--dry-edge:#c9a56d;--wet:#c4dc9c;--wet-edge:#8fae62;--groove:#a57c4c;--groove-wet:#7f5c35;--water:#3b8db0;--water-hi:#bfeaf4;--tuft-dry:#c2a170;--tuft:#5f9a3a;--blossom-0:#f6f1e4;--blossom-1:#f2a7b8;--blossom-2:#b9a3e6;--sky-morning:#fff1c9;--sky-golden:#ffb25c;--sky-dusk:#6b4f9a;--cloud:#2b2320;--gold:#d9951c;--grain:#6b4a2b24;--stone:#b9ada0;--stone-2:#cfc4b7;--plinth:#6b4a2b29;--on-fill:#fbf8f1;--help-ink:#3b3426;--help-ink-2:#2f2a1f;--help-ink-3:#4a3f2e;--focus:#2b2320;--backdrop:#2b232061;--dur-2:.24s;--dur-3:.42s;--dur-4:.64s;--font-display:"Runnel Display", "Runnel Display Fallback", Georgia, serif;--font-ui:"Runnel Digits", "Runnel UI", "Runnel UI Fallback", system-ui, sans-serif;--font-voice:"Runnel UI", "Runnel UI Fallback", system-ui, sans-serif;--font-num:"Runnel Figures", "Runnel UI Fallback", system-ui, sans-serif;--fs-wordmark:clamp(1.875rem, 1.65rem + .9vw, 2.5rem);--fs-head:clamp(1.5rem, 1.4rem + .4vw, 1.75rem);--fs-hud-num:clamp(1.375rem, 1.3rem + .3vw, 1.625rem);--fs-stat-num:clamp(1.75rem, 1.65rem + .4vw, 2rem);--fs-voice:clamp(1rem, .97rem + .15vw, 1.125rem);--fs-body:clamp(1rem, .98rem + .1vw, 1.0625rem);--fs-button:1rem;--fs-small:clamp(.875rem, .86rem + .08vw, .9375rem);--fs-label:.8125rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#1c1714;--paper-2:#2a221d;--surface:#332a24;--ink:#f3e9d8;--ink-muted:#b9aa98;--soil:#d6b58c;--wheat:#e2bf68;--pasture:#86b15c;--pasture-deep:#5e8a3c;--clay:#e0775d;--sea:#7fb8c8;--dry:#5e4a35;--dry-edge:#7a6045;--wet:#3f5b2f;--wet-edge:#5f8445;--groove:#3a2c20;--groove-wet:#2a2018;--water:#4fb3d9;--water-hi:#d4f5ff;--tuft-dry:#7d6448;--tuft:#79b34f;--blossom-0:#efe6d2;--blossom-1:#e693a6;--blossom-2:#a995dc;--cloud:#000;--grain:#0003;--stone:#6f655b;--stone-2:#857a6e;--plinth:#00000059;--help-ink:#f3e9d8;--help-ink-2:#f3e9d8;--help-ink-3:#b9aa98;--focus:#f3e9d8;--backdrop:#0000008c}}@media (prefers-color-scheme:light){:root[data-season=spring]{--wet:#c9e6a6;--wet-edge:#7fb867}:root[data-season=autumn]{--tuft:#8f9a3c;--blossom-1:#e9a35a;--dry:#ead0a0;--dry-edge:#c28f55;--wet:#cfd68f;--wet-edge:#a09a4a}:root[data-season=winter]{--tuft:#6f9a6a;--blossom-1:#dfe9f2;--blossom-2:#c8d6e6;--dry:#e6e3d6;--dry-edge:#b9b8ae;--wet:#cfe0c4;--wet-edge:#86a581;--water:#4a86a8}}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--font-ui);-webkit-text-size-adjust:100%;margin:0}body{overscroll-behavior:none}button{font:inherit;color:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:760px;height:100dvh;padding:max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));grid-template-rows:auto auto auto 1fr auto;gap:10px;margin:0 auto;display:grid}.top{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.back{color:var(--ink-muted);font-size:var(--fs-small);justify-self:start;align-items:center;gap:2px;min-height:44px;text-decoration:none;display:inline-flex}.back svg,.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.wordmark{font-family:var(--font-display);font-weight:560;font-size:var(--fs-wordmark);letter-spacing:-.015em;color:var(--soil);margin:0;line-height:1}.top-actions{justify-self:end;gap:4px;display:flex}.icon-btn{cursor:pointer;width:44px;height:44px;color:var(--ink-muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.mute-slash{display:none}#btn-sound[aria-pressed=false] .mute-slash{display:inline}.icon-btn:hover{background:var(--paper-2)}.modes{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.segmented,.sizes{background:var(--paper-2);border-radius:999px;padding:3px;display:inline-flex}.segmented button,.sizes button{cursor:pointer;min-height:38px;font-weight:700;font-size:var(--fs-small);color:var(--ink-muted);background:0 0;border:0;border-radius:999px;padding:8px 16px;transition:background .16s,color .16s}.sizes button{padding:8px 12px;font-weight:400}.segmented button[aria-selected=true],.sizes button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f}.levels{scrollbar-width:none;gap:6px;width:min(28rem,100vw - 32px);padding:3px;display:flex;overflow-x:auto}.levels button{background:var(--paper-2);min-width:40px;min-height:40px;color:var(--ink);font-weight:700;font-size:var(--fs-small);font-variant-numeric:tabular-nums;cursor:pointer;border:0;border-radius:999px;flex:none}.levels button:disabled{opacity:.45;cursor:default}.levels button[aria-current=true]{background:var(--surface);box-shadow:0 0 0 2px var(--gold)}.levels button.done{background:color-mix(in srgb, var(--gold) 28%, var(--paper-2))}.codebar{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.codebar input{border:1px solid var(--ink-muted);background:var(--surface);min-height:38px;color:var(--ink);font-size:var(--fs-small);border-radius:999px;width:11em;padding:0 12px}.codebar button{background:var(--paper-2);min-height:38px;color:var(--ink);font-weight:700;font-size:var(--fs-small);cursor:pointer;border:0;border-radius:999px;padding:0 14px}.picks{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.pick{background:var(--paper-2);border-radius:999px;display:inline-flex;overflow:hidden}.pick button{min-height:34px;color:var(--ink);font-size:var(--fs-small);cursor:pointer;background:0 0;border:0;padding:0 10px;font-weight:700}.pick-x{color:var(--ink-muted)}.levels[hidden],.codebar[hidden],.picks[hidden],.sizes[hidden]{display:none}.hud{flex-direction:column;align-items:center;gap:2px;display:flex}.hud-title{font-size:var(--fs-small);font-variant-numeric:tabular-nums;color:var(--ink-muted)}.hud-stats{font-size:var(--fs-small);color:var(--ink-muted);align-items:baseline;gap:18px;display:flex}.hud-stats b{font-family:var(--font-num);font-size:var(--fs-hud-num);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;margin-right:3px;font-weight:500;line-height:1}.stage{grid-template-rows:1fr auto;gap:10px;min-height:0;display:grid;position:relative}.board{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;min-height:0;overflow:visible}.progress{background:var(--paper-2);border-radius:99px;width:min(320px,70%);height:8px;margin:0 auto;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--water);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--progress,0));transition:transform .4s,background .4s}.progress-fill.done{background:var(--pasture)}.foot{flex-direction:column;align-items:center;gap:8px;min-height:44px;display:flex}.hint{font-size:var(--fs-small);color:var(--ink-muted);text-align:center;margin:0;transition:color .2s}.hint.flash{color:var(--clay)}.btn{min-height:46px;font-weight:700;font-size:var(--fs-button);letter-spacing:.005em;background:var(--pasture-deep);color:var(--on-fill);cursor:pointer;border:0;border-radius:999px;padding:12px 22px;transition:transform .12s,filter .12s}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.97)}.btn-quiet{background:var(--paper-2);color:var(--ink)}.plinth polygon{fill:var(--plinth)}.cell{cursor:pointer;outline:none}.cell.stone{cursor:default}.tile{fill:var(--dry);stroke:var(--dry-edge);stroke-width:2px;stroke-linejoin:round;transition:fill .38s ease var(--delay,0s), stroke .38s ease var(--delay,0s)}.tile-grain{fill:url(#soil-grain);pointer-events:none}.grain{fill:var(--grain)}.wet .tile{fill:var(--wet);stroke:var(--wet-edge)}.stone .tile{fill:var(--paper-2);stroke:var(--dry-edge)}.rock{fill:var(--stone);stroke:var(--wet-edge);stroke-opacity:.5;stroke-width:1.5px}.rock-2{fill:var(--stone-2)}.rock-3{fill:var(--stone)}.cell:not(.stone):hover .tile{stroke:var(--soil)}.keyboard .cell:focus .tile{stroke:var(--focus);stroke-width:4px}.piece{transform-box:fill-box;transform-origin:50%;transition:transform .15s cubic-bezier(.34,1.45,.64,1)}.bbox{fill:none;stroke:none}.groove{stroke:var(--groove);stroke-width:19px;transition:stroke .38s ease var(--delay,0s)}.hub-groove{fill:var(--groove);transition:fill .38s ease var(--delay,0s)}.wet .groove{stroke:var(--groove-wet)}.wet .hub-groove{fill:var(--groove-wet)}.water{stroke:var(--water);stroke-width:10px;stroke-dasharray:1 1;stroke-dashoffset:1px}.water.in{stroke-dashoffset:-1px}.wet .water{stroke-dashoffset:0;transition:stroke-dashoffset 70ms linear calc(var(--delay,0s) + 55ms)}.wet .water.in{transition-delay:var(--delay,0s)}.hub-water{fill:var(--water);opacity:0}.wet .hub-water{opacity:1;transition:opacity 90ms linear calc(var(--delay,0s) + 40ms)}.shimmer{stroke:var(--water-hi);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:.08 .34;opacity:0}.wet .shimmer{opacity:.75;transition:opacity .3s linear calc(var(--delay,0s) + .22s);animation:1.3s linear infinite flow}.wet .shimmer.in{animation-direction:reverse}@keyframes flow{to{stroke-dashoffset:-.42px}}.instant .tile,.instant .groove,.instant .hub-groove,.instant .water,.instant .hub-water,.instant .crop,.instant .blades,.instant .blossom{transition:none!important}.soak,.banks{pointer-events:none}.soak{fill:none;stroke:var(--water-hi);stroke-width:3px;opacity:0;transform-box:fill-box;transform-origin:50%}.wet:not(.instant) .soak{animation:soak .62s cubic-bezier(.2, .7, .3, 1) both calc(var(--delay,0s) + 60ms)}@keyframes soak{0%{opacity:.85;transform:scale(.2)}to{opacity:0;transform:scale(1)}}.blade{fill:none;stroke:var(--tuft-dry);stroke-width:2px;stroke-linecap:round;transition:stroke .38s ease calc(var(--delay,0s) + 80ms)}.blades{transform-box:fill-box;transform-origin:50% 100%;transition:transform .16s ease-in;transform:scale(.55,.4)}.wet .blade{stroke:var(--tuft)}.wet .blades{transition:transform .52s cubic-bezier(.34, 1.6, .64, 1) calc(var(--delay,0s) + 90ms + var(--k,0) * 70ms);transform:scale(1)}.blossom{transform-box:fill-box;transform-origin:50%;transition:transform .14s ease-in;transform:scale(0)}.wet .blossom{transition:transform .46s cubic-bezier(.34, 1.8, .64, 1) calc(var(--delay,0s) + .52s + var(--k,0) * 90ms);transform:scale(1)}.blossom-petal{fill:var(--blossom-0)}.hue-1 .blossom-petal{fill:var(--blossom-1)}.hue-2 .blossom-petal{fill:var(--blossom-2)}.blossom-eye{fill:var(--gold)}.won .wet .blossom{animation:blossom-burst .7s cubic-bezier(.34, 1.6, .64, 1) both calc(var(--ring) * .11s + .3s)}@keyframes blossom-burst{50%{transform:scale(1.6)rotate(36deg)}to{transform:scale(1.25)rotate(72deg)}}.well-ring{fill:var(--stone-2);stroke:var(--wet-edge);stroke-opacity:.55;stroke-width:2px}.well-water{fill:var(--water)}.well-ripple{fill:none;stroke:var(--water-hi);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:2.6s ease-out infinite ripple}.well-ripple-2{animation-delay:1.3s}@keyframes ripple{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.1)}}.mound{fill:var(--groove);opacity:.55;transition:fill .38s ease var(--delay,0s)}.wet .mound{fill:var(--groove-wet)}.furrow{stroke:var(--wet-edge);stroke-opacity:.25;stroke-width:2px;stroke-linecap:round}.crop{transform-box:fill-box;transform-origin:50% 100%;--grown:1.25;transition:transform .15s ease-in;transform:scale(0)}.wet .crop{transform:scale(var(--grown));transition:transform .48s cubic-bezier(.34, 1.7, .64, 1) calc(var(--delay,0s) + .16s)}.spark{pointer-events:none}.spark-drop{fill:#bfeaff;stroke:#fff;stroke-width:.8px;opacity:0;transform-box:fill-box;transform-origin:50%}.wet:not(.instant) .spark-drop{animation:spark .7s cubic-bezier(.2, .7, .3, 1) both calc(var(--delay,0s) + .22s)}@keyframes spark{0%{opacity:0;transform:translate(0)scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(var(--sx), var(--sy)) scale(.6)}}.sway{transform-box:fill-box;transform-origin:50% 100%}.wet .sway{animation:sway 3.2s ease-in-out infinite var(--sway-delay,0s)}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.stalk{stroke:#6f8a35;stroke-width:2.4px;stroke-linecap:round}.ear{fill:var(--wheat);stroke:#9a7a2c;stroke-width:1.2px}.pumpkin,.pumpkin-side{fill:#e8892b;stroke:#9a4d12;stroke-width:1.4px}.pumpkin-side{fill:#d9761c}.leaf-outer{fill:#7ea84a;stroke:#3e5a22;stroke-width:1.6px}.leaf-inner{fill:#b8d77d;stroke:#3e5a22;stroke-width:1.2px}.vein{fill:none;stroke:#3e5a22;stroke-width:1.2px}.root{fill:#e0782f;stroke:#9a4a16;stroke-width:1px}.frond{fill:none;stroke:#5b8a2e;stroke-width:2.2px;stroke-linecap:round}.frond-fill{fill:#6f9a3a}.petal{fill:#f2c230;stroke:#a07a10;stroke-width:.8px}.seedhead{fill:#6b4a2b}.pin{fill:var(--clay);stroke:var(--wet-edge);stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .15s,transform .2s cubic-bezier(.34,1.6,.64,1);transform:scale(.3)}.locked .pin{opacity:1;transform:scale(1)}.locked .tile{stroke:var(--soil);stroke-width:3px}.puddle{pointer-events:none;transform-box:fill-box}.puddle-water{fill:var(--water);opacity:.55;transform-box:fill-box;transform-origin:50%;animation:puddle .5s ease-out both var(--delay,0s)}.puddle-shine{fill:var(--water-hi);opacity:.6}@keyframes puddle{0%{opacity:0;transform:scale(.2)}}.won .tile{transform-box:fill-box;transform-origin:50%;animation:bloom .9s cubic-bezier(.34, 1.4, .64, 1) both calc(var(--ring) * .11s)}.won .cell{cursor:default}@keyframes bloom{0%{transform:scale(1)}35%{filter:brightness(1.12);transform:scale(1.07)}to{transform:scale(1)}}.sheet{background:var(--surface);width:min(440px,100vw - 24px);color:var(--ink);border:0;border-radius:24px;padding:0;box-shadow:0 30px 80px #0000004d}.sheet::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet[open]{animation:.32s cubic-bezier(.2,.9,.3,1.1) sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)scale(.98)}}.sheet form{flex-direction:column;gap:14px;padding:26px 24px 22px;display:flex;position:relative}.sheet h2{font-family:var(--font-display);font-weight:600;font-size:var(--fs-head);letter-spacing:-.01em;text-wrap:balance;color:var(--soil);margin:0;line-height:1.1}.rules{flex-direction:column;gap:8px;margin:0;padding-left:20px;line-height:1.4;display:flex}kbd{font:inherit;background:var(--paper-2);border-radius:6px;padding:1px 6px;font-size:.85em}.muted{color:var(--ink-muted);font-size:var(--fs-small);margin:0;line-height:1.4}.help-demo{place-items:center;display:grid}.help-demo svg{width:110px;height:110px}.demo-tile{transform-box:fill-box;transform-origin:50%;animation:3s cubic-bezier(.34,1.45,.64,1) infinite demo-turn}.demo-tile polygon{fill:var(--wet);stroke:var(--wet-edge);stroke-width:2px}.demo-groove{stroke:var(--groove-wet);stroke-width:19px}.demo-water{stroke:var(--water);stroke-width:10px}@keyframes demo-turn{0%,30%{transform:rotate(0)}40%,70%{transform:rotate(60deg)}80%,to{transform:rotate(120deg)}}.stat-grid,.win-card{border:6px solid var(--paper,white);border-radius:6px;width:auto;max-width:62%;height:auto;max-height:30vh;margin:12px auto 0;display:block;rotate:-2deg}.win-card[hidden]{display:none}.win-numbers{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat-grid div,.win-numbers div{background:var(--paper);text-align:center;border-radius:14px;flex-direction:column;align-items:center;padding:12px 6px;display:flex}.stat-grid b,.win-numbers b{font-family:var(--font-num);font-size:var(--fs-stat-num);font-variant-numeric:tabular-nums lining-nums;font-weight:400;line-height:1.05}.stat-grid span,.win-numbers span{font-size:var(--fs-label);color:var(--ink-muted)}.eyebrow{font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--pasture-deep);margin:0;font-weight:700}.win-note{color:var(--ink-muted);margin:0;line-height:1.45}.win-actions{flex-wrap:wrap;gap:10px;display:flex}.win-actions .btn{flex:160px}.toast{min-height:1.2em;font-size:var(--fs-small);color:var(--pasture-deep);margin:0}.close-x{cursor:pointer;width:44px;height:44px;color:var(--ink-muted);background:0 0;border:0;border-radius:50%;font-size:1.75rem;line-height:1;position:absolute;top:10px;right:10px}@media (width<=520px){.sheet{border-radius:24px 24px 0 0;width:100vw;max-width:100vw;margin:auto auto 0}.sheet form{padding-bottom:max(22px, env(safe-area-inset-bottom))}@keyframes sheet-in{0%{transform:translateY(100%)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.app{grid-template-rows:auto auto auto auto 1fr auto}.host{align-items:center;gap:10px;width:100%;max-width:520px;margin:0 auto;display:flex}.host-face{background:var(--wheat);width:52px;height:62px;box-shadow:0 2px 0 var(--dry-edge);border-radius:16px;flex:none;overflow:hidden}.host-face svg{width:100%;height:100%;display:block}.host-line{background:var(--surface);box-shadow:0 1px 0 var(--paper-2);font-family:var(--font-voice);font-style:italic;font-weight:500;font-size:var(--fs-voice);text-wrap:pretty;color:var(--ink);border-radius:14px;margin:0;padding:9px 13px;line-height:1.32;animation:.36s cubic-bezier(.2,.9,.3,1.2) host-in;position:relative}.host-line:before{content:"";background:var(--surface);border-radius:2px;width:12px;height:12px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)rotate(45deg)}@keyframes host-in{0%{transform:translateY(4px)}}.win-cath,.help-cath{background:var(--wheat);border:4px solid var(--surface);border-radius:50%;width:110px;height:132px;margin:-64px auto 0;overflow:hidden;box-shadow:0 10px 24px #0000002e}.help-cath{width:96px;height:96px}.win-cath svg,.help-cath svg{width:100%;height:100%;display:block}.sheet{overflow:visible}.sheet form{padding-top:18px}.cal-title{font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin:14px 0 6px;font-weight:700}.streak-cal{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.streak-cal i{aspect-ratio:1;background:var(--paper);border:1px dashed var(--dry-edge);border-radius:8px}.streak-cal i.on{background:var(--water);border:1px solid var(--water);box-shadow:inset 0 -4px 0 var(--water-hi)}.streak-cal button.missed{aspect-ratio:1;background:var(--paper);border:1px dashed var(--ink);cursor:pointer;border-radius:8px;padding:0}.streak-cal button.missed:hover,.streak-cal button.missed:focus-visible{background:var(--water-hi)}.streak-cal i.today{outline:2px solid var(--ink);outline-offset:1px}.fixed .tile{stroke:var(--wet-edge);stroke-width:4px;stroke-dasharray:5 3}.reservoir .tile{stroke:var(--water-hi);stroke-width:3px}.pond-rim{fill:var(--ink);opacity:.25}.pond-water{fill:var(--water-hi)}.pond-shine{fill:#fff;opacity:.55}.bridge-deck{pointer-events:none}.deck-plank{fill:#c9a06a;stroke:var(--wet-edge);stroke-width:2px}.deck-seam{stroke:var(--wet-edge);stroke-width:1px;opacity:.45}@media (hover:none),(pointer:coarse){.mouse-only{display:none}}.well-glow{fill:var(--water-hi);fill-opacity:.28;stroke:var(--water-hi);stroke-opacity:.7;stroke-width:2px;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:3s ease-out infinite well-glow}.well-glow-2{animation-delay:1.5s}@keyframes well-glow{0%{opacity:.9;transform:scale(.85)}to{opacity:0;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.well-glow{opacity:.5;animation:none}}@media (width>=700px){.host{gap:14px;max-width:600px}.host-face{width:64px;height:76px}.host-line{font-size:1.0625rem}}.host-face.perk{animation:.48s cubic-bezier(.2,.9,.3,1.4) cath-perk}@keyframes cath-perk{30%{transform:translateY(-5px)rotate(-3deg)}}body{background-color:var(--paper);background-image:radial-gradient(ellipse at 50% 45%, transparent 45%, color-mix(in srgb, var(--paper-2) 85%, transparent) 100%), repeating-linear-gradient(168deg, transparent 0 34px, color-mix(in srgb, var(--paper-2) 55%, transparent) 34px 37px);background-attachment:fixed}.won .crop{transform-box:fill-box;transform-origin:50% 100%;animation:crop-hop .7s cubic-bezier(.3, 1.5, .5, 1) both calc(var(--ring,0) * .11s + .25s)}@keyframes crop-hop{40%{transform:translateY(-7px)scale(1.18)}}.won .wet .water,.won .wet .hub-water{animation:surge .65s ease-out both calc(var(--ring,0) * .11s)}@keyframes surge{40%{filter:brightness(1.5) saturate(1.3) drop-shadow(0 0 3px var(--water))}}@media (prefers-reduced-motion:reduce){.won .wet .water,.won .wet .hub-water,.won .crop{animation:none}}.cell.tip .tile{animation:.9s ease-in-out 3 tip-pulse}@keyframes tip-pulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 7px #f2b64a)brightness(1.18)}}@media (prefers-reduced-motion:reduce){.cell.tip .tile{filter:drop-shadow(0 0 7px #f2b64a);animation:none}}.help-steps{justify-content:center;gap:8px;margin:8px 0;display:flex}.help-steps figure{text-align:center;flex:1 1 0;max-width:96px;margin:0}.help-steps svg{width:100%;height:auto;display:block}.help-steps polygon{fill:#efe6c8;stroke:#6b4a2b;stroke-width:3px}.help-steps .demo-groove{stroke:#b99a6b;stroke-width:10px;stroke-linecap:round}.help-steps .demo-water{stroke:#2f8fd0;stroke-width:10px;stroke-linecap:round}.help-steps .step-spring{fill:#2f8fd0;stroke:#fff;stroke-width:2px}.help-steps .step-arrow{fill:none;stroke:#c2410c;stroke-width:5px;stroke-linecap:round}.help-steps .step-sprout{fill:none;stroke:#3d7a2a;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.help-steps figcaption{font-size:var(--fs-small);color:var(--help-ink);margin-top:2px;font-weight:700}.rules{font-size:var(--fs-body);color:var(--help-ink-2)}#dlg-help .muted{font-size:var(--fs-small);color:var(--help-ink-3)}#stats-line{font-size:var(--fs-small);color:var(--ink-muted);margin:2px 0 12px}.type-credit{font-size:var(--fs-small)}.type-credit a{color:inherit;text-underline-offset:3px}@media (width<=520px){.stage{margin-inline:-14px}}@media (orientation:landscape) and (height<=520px){.app{grid-template:"top top""modes stage""hud stage""host stage"".stage"1fr"foot stage"/minmax(280px,40%) 1fr;gap:8px 20px;max-width:none}.top{grid-area:top}.modes{grid-area:modes}.hud{grid-area:hud}.host{grid-area:host;max-width:none;margin:0}.host-face{width:48px;height:58px}.stage{grid-area:stage;margin-inline:0}.foot{grid-area:foot}.top{grid-template-columns:auto 1fr auto;gap:16px}.wordmark{justify-self:center}.sheet.win{width:min(680px,100vw - 32px);max-height:calc(100dvh - 16px);overflow:auto}.sheet.win form{grid-template-columns:120px 1fr;align-items:start;gap:8px 22px;padding:16px 22px;display:grid}.sheet.win .win-cath{grid-area:1/1/span 5;align-self:center;width:104px;height:124px;margin:0}.sheet.win form>:not(.win-cath){grid-column:2}}.bea{background:var(--surface);box-shadow:0 0 0 1px var(--dry-edge);border-radius:10px;margin:4px 0 10px;padding:8px 10px 6px;transform:rotate(-1.2deg)}.bea svg{width:100%;height:auto;display:block}.bea figcaption{text-align:right;opacity:.6;font-size:.72rem}.bea-row{fill:none;stroke:var(--wet-edge);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:1;animation:bea-draw .7s ease-out both calc(.3s + var(--i,0) * .16s)}.bea-bloom{transform-box:fill-box;transform-origin:50%;animation:bea-pop .42s cubic-bezier(.34, 1.7, .64, 1) both calc(.7s + var(--i,0) * .16s)}@keyframes bea-draw{0%{stroke-dashoffset:1px}}@keyframes bea-pop{0%{transform:scale(0)}}@media (prefers-reduced-motion:reduce){.bea-row,.bea-bloom{animation:none}}.bea .d1{--i:1}.bea .d2{--i:2}.bea .d3{--i:3}.bea .d5{--i:5}.garden{background:var(--paper);border:1px solid var(--dry-edge);border-radius:12px;grid-template-columns:repeat(7,1fr);gap:6px;padding:8px;display:grid}.garden .plot{aspect-ratio:1;cursor:pointer;transform-origin:50% 100%;background:0 0;border:0;border-radius:8px;font-size:1.35rem;line-height:1;transition:transform .15s;position:relative}.garden .plot:hover,.garden .plot:focus-visible{transform:scale(1.18)}.garden .plot.sprout{font-size:1rem}.garden .plot.gold:after{content:"★";color:var(--gold);text-shadow:0 0 1px var(--paper);font-size:.85rem;position:absolute;top:-2px;right:0}.garden-note{min-height:2.6em}@media (prefers-reduced-motion:reduce){.garden .plot{transition:none}}.workshop{background:var(--paper);width:min(92vw,30rem);color:var(--ink);border:0;border-radius:20px;padding:18px}.workshop::backdrop{background:color-mix(in srgb, var(--ink) 55%, transparent)}.workshop h2{margin:0 0 4px}.ws-help,.ws-status{font-size:var(--fs-small);color:var(--ink-muted);margin:4px 0}.ws-status.ok{color:var(--ink);font-weight:700}.ws-sizes,.ws-actions{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0;display:flex}.ws-sizes button,.ws-actions button{background:var(--paper-2);min-height:40px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:0 14px;font-weight:700}.ws-sizes button[aria-pressed=true]{outline:2px solid var(--ink)}.ws-actions button:disabled{opacity:.45}.ws-board{touch-action:manipulation;width:100%;max-height:55vh;display:block}.ws-hex{fill:var(--paper-2);stroke:var(--ink-muted);stroke-width:1px;cursor:pointer}.ws-hex.live{fill:var(--surface)}.ws-hex.sel{stroke:var(--ink);stroke-width:3px}.ws-pipe{stroke:var(--ink);stroke-width:7px;stroke-linecap:round;pointer-events:none}.ws-spring{fill:var(--gold);pointer-events:none}.season-event .event-title{text-align:center;font-size:var(--fs-small);color:var(--ink-muted);flex-basis:100%;font-weight:700}.season-event .pick.done{background:var(--gold)}.garden .plot.exclusive{box-shadow:0 0 0 2px var(--gold)}.sky,.rainbow{pointer-events:none}.sky-light{fill:#0000;mix-blend-mode:soft-light;transition:opacity 1.2s}[data-time=morning] .sky-light{fill:var(--sky-morning);opacity:.55}[data-time=golden] .sky-light{fill:var(--sky-golden);opacity:.26}[data-time=dusk] .sky-light{fill:var(--sky-dusk);opacity:.22;mix-blend-mode:multiply}.cloud{fill:var(--cloud);opacity:.12;animation:cloud-drift 46s linear infinite var(--drift-delay,0s)}@keyframes cloud-drift{0%{transform:translate(-60%)}to{transform:translate(60%)}}.drop{stroke:var(--water-hi);stroke-width:1.4px;stroke-linecap:round;opacity:.55;animation:drop-fall 1.1s linear infinite var(--fall-delay,0s)}@keyframes drop-fall{0%{opacity:0;transform:translate(10px,-40px)}20%{opacity:.55}to{opacity:0;transform:translate(-10px,40px)}}.won .rain,.won .cloud{opacity:0;transition:opacity 1.4s}.bow-band{fill:none;stroke-width:7px;opacity:0}.won .bow-band{animation:1.8s ease-out .9s both bow-in}@keyframes bow-in{0%{opacity:0;stroke-dasharray:0 2000}to{opacity:.32;stroke-dasharray:2000 0}}[data-weather=breeze] .wet .sway{animation-duration:1.7s}@media (prefers-color-scheme:dark){.sky-light{opacity:.2!important}.cloud{opacity:.18}}@media (prefers-reduced-motion:reduce){.rain{display:none}}.cath-animate .cath-lids{animation:6.2s 1.4s infinite cath-blink}.cath-animate .cath-hair-front{transform-box:view-box;transform-origin:200px 90px;animation:7s ease-in-out infinite cath-sway}.cath-animate .cath-body{transform-box:view-box;transform-origin:200px 500px;animation:5s ease-in-out infinite cath-breathe}.cath-animate .cath-head{transform-box:view-box;transform-origin:200px 230px;animation:9s ease-in-out infinite cath-tilt}@keyframes cath-blink{0%,95.5%,to{opacity:0}96.5%,98%{opacity:1}}@keyframes cath-sway{0%,to{transform:rotate(0)}50%{transform:rotate(.8deg)}}@keyframes cath-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.006,1.012)}}@keyframes cath-tilt{0%,to{transform:rotate(0)}40%{transform:rotate(-1.6deg)}70%{transform:rotate(.6deg)}}@media (prefers-reduced-motion:reduce){.cath-animate .cath-lids,.cath-animate .cath-hair-front,.cath-animate .cath-body,.cath-animate .cath-head{animation:none}}.cath-scene{transform-origin:50% 100%}.cath-move-hop{animation:.9s cubic-bezier(.3,1.4,.5,1) cath-hop}.cath-move-slump{animation:1.1s ease-out both cath-slump}.cath-move-lean{animation:.8s ease-out both cath-lean}.cath-move-sway{animation:6s ease-in-out infinite cath-scene-sway}.cath-move-ponder{animation:3.2s ease-in-out infinite cath-ponder}.cath-move-start{animation:.45s ease-out cath-start}@keyframes cath-hop{0%{transform:translateY(0)scale(1)}25%{transform:translateY(2%)scale(1.04,.95)}55%{transform:translateY(-7%)scale(.98,1.03)}to{transform:translateY(0)scale(1)}}@keyframes cath-slump{0%{transform:translateY(0)rotate(0)}to{transform:translateY(3%)rotate(-2deg)scale(.98)}}@keyframes cath-lean{0%{transform:translate(-6%)rotate(-2deg)}to{transform:none}}@keyframes cath-scene-sway{0%,to{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}@keyframes cath-ponder{0%,to{transform:rotate(0)}50%{transform:rotate(1.6deg)translate(1%)}}@keyframes cath-start{0%{transform:translateY(0)}40%{transform:translateY(-4%)scale(1.03)}to{transform:none}}@media (prefers-reduced-motion:reduce){.cath-scene{animation:none!important}}.week-chip{margin:var(--space-2,8px) 0;font-size:var(--fs-floor-label);color:inherit;opacity:.85;border:1px solid;border-radius:999px;padding:4px 12px;line-height:1.4;text-decoration:none;display:inline-block}.week-chip[data-done=true]{opacity:1}
