.recipe{--recipe-grid:color-mix(in srgb, var(--muted) 28%, transparent)}.recipe sup{font-size:max(12px,.75em)}.recipe__intro{margin:0 0 .8rem;font-size:.95rem}.recipe__toggle{border:1px solid var(--border);border-radius:9px;margin-bottom:.75rem;display:inline-flex;overflow:hidden}.recipe__toggle button{font:inherit;background:var(--bg);color:var(--muted);cursor:pointer;border:0;padding:.5em 1.1em;font-size:.92rem}.recipe__toggle button+button{border-left:1px solid var(--border)}.recipe__toggle button.is-active{background:var(--accent);color:var(--accent-text);font-weight:600}.recipe__takeaway{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 9px 9px 0;margin:0 0 .9rem;padding:.55rem .85rem;font-weight:650;line-height:1.45}.recipe__whole{border:1px solid var(--border);border-radius:10px;height:3.6rem;margin:0 2px;display:flex;overflow:hidden}.recipe__water{min-width:0;font:inherit;color:var(--text);text-align:left;cursor:pointer;background-color:color-mix(in srgb, #38bdf8 32%, var(--surface));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='50' viewBox='0 0 64 50'%3E%3Cg opacity='0.42' stroke='%2364748b' stroke-width='0.6'%3E%3Ccircle cx='7.5' cy='17' r='3.4' fill='%23fff'/%3E%3Ccircle cx='18.5' cy='17' r='3.4' fill='%23fff'/%3E%3Ccircle cx='13' cy='12.5' r='5.4' fill='%23ef4444'/%3E%3Ccircle cx='41' cy='36' r='3.4' fill='%23fff'/%3E%3Ccircle cx='45' cy='46' r='3.4' fill='%23fff'/%3E%3Ccircle cx='47' cy='38.5' r='5.4' fill='%23ef4444'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(#ffffff40,#fff0);border:0;flex:70 1 0;align-items:center;gap:.55rem;padding:0 .9rem;display:flex}.recipe__water:hover{background-color:color-mix(in srgb, #38bdf8 42%, var(--surface))}.recipe__water.is-selected{outline:3px solid var(--text);outline-offset:-3px;border-radius:10px 0 0 10px}.recipe__water-icon{flex:none;width:2.1rem;height:2.1rem}.recipe__water-name{font-weight:650}.recipe__water-pct{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.recipe__dry{border-left:2px solid var(--surface);flex:30 1 0;justify-content:center;align-items:center;min-width:0;display:flex}.recipe__dry-label{background:var(--surface);color:var(--text);white-space:nowrap;border-radius:999px;padding:.1em .65em;font-size:.82rem;font-weight:700;box-shadow:0 1px 4px #00000040}.recipe__zoom{height:2.1rem;margin:0 2px;position:relative}.recipe__zoom svg{width:100%;height:100%;display:block}.recipe__funnel{fill:color-mix(in srgb, var(--muted) 14%, transparent)}.recipe__funnel-edge{fill:none;stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.recipe__zoom-label{color:var(--muted);font-size:.78rem;line-height:1.3;position:absolute;top:0;left:.2rem}.recipe__map{aspect-ratio:2;flex-direction:row;width:100%;display:flex}.recipe__split,.recipe__tile{flex-shrink:1;flex-basis:0;min-width:0;min-height:0;display:flex}.recipe__split--a{flex-direction:column}.recipe__split--b,.recipe__split--row{flex-direction:row}.recipe__split--quad{flex-direction:column}.recipe__tile{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;position:relative}.recipe__tile-box{border:1px solid color-mix(in srgb, var(--c) 55%, transparent);background:radial-gradient(circle at 18% 12%, #ffffff52, transparent 55%), linear-gradient(150deg, color-mix(in srgb, var(--c) 40%, var(--surface)), color-mix(in srgb, var(--c) 20%, var(--surface)));border-radius:8px;transition:background-color .15s;position:absolute;inset:2px;overflow:hidden;container-type:size}.recipe__tile:hover .recipe__tile-box{background:radial-gradient(circle at 18% 12%, #ffffff52, transparent 55%), linear-gradient(150deg, color-mix(in srgb, var(--c) 52%, var(--surface)), color-mix(in srgb, var(--c) 30%, var(--surface)))}.recipe__tile.is-selected .recipe__tile-box{outline:3px solid var(--text);outline-offset:-3px}.recipe__tile:focus-visible{outline:none}.recipe__tile:focus-visible .recipe__tile-box,.recipe__water:focus-visible,.recipe__row:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.recipe__tile-text{z-index:1;flex-direction:column;padding:.3rem .5rem;display:flex;position:relative}.recipe__tile-name{font-size:.82rem;font-weight:650;line-height:1.2}.recipe__tile-name--short{display:none}.recipe__tile-pct{font-variant-numeric:tabular-nums;font-size:clamp(.8rem,13cqmin,2.3rem);font-weight:800;line-height:1.15}.recipe__tile-art{filter:drop-shadow(0 2px 3px #0000002e);width:min(50cqmin,9.5rem);height:min(50cqmin,9.5rem);display:none;position:absolute;bottom:6%;right:5%}@container ((width>=100px) and (height>=150px)) or ((width>=140px) and (height>=110px)){.recipe__tile-art{display:block}}@container (width<=150px){.recipe__tile-name--long{display:none}.recipe__tile-name--short{display:inline}}@container (width<=72px){.recipe__tile-text{padding:.25rem .3rem}.recipe__tile-name{font-size:12px}}@container (width<=44px) or (height<=30px){.recipe__tile-name--short,.recipe__tile-name--long{display:none}}.recipe__axis,.recipe__row{grid-template-columns:2.25rem minmax(7rem,11rem) minmax(0,1fr) 6.4rem;grid-template-areas:"icon name track value";column-gap:.65rem;padding:0 .55rem;display:grid}.recipe__axis{padding:0 calc(.55rem + 1px)}.recipe__axis-track{grid-area:track;height:1.35rem;position:relative}.recipe__axis-track>span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.75rem;line-height:1;position:absolute;bottom:0;transform:translate(-50%)}.recipe__axis-track sup{font-size:12px}.recipe__rows{margin:.2rem 0 0;padding:0;list-style:none}.recipe__rows li+li{margin-top:.1rem}.recipe__row{width:100%;min-height:2.9rem;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;padding-top:.25rem;padding-bottom:.25rem}.recipe__row:hover{background:var(--surface-2)}.recipe__row.is-selected{background:color-mix(in srgb, var(--c) 15%, var(--surface));border-color:color-mix(in srgb, var(--c) 65%, transparent)}.recipe__row-icon,.recipe__info-icon{background:color-mix(in srgb, var(--c) 24%, var(--surface));border:1px solid color-mix(in srgb, var(--c) 50%, transparent);border-radius:50%;grid-area:icon;place-items:center;width:2.25rem;height:2.25rem;display:grid}.recipe__row-icon svg,.recipe__info-icon svg{width:82%;height:82%}.recipe__row-name{grid-area:name;font-size:.9rem;font-weight:600;line-height:1.25}.recipe__row-value{text-align:right;font-variant-numeric:tabular-nums;grid-area:value;line-height:1.2}.recipe__row-value strong{white-space:nowrap;font-size:.95rem;display:block}.recipe__row-words{color:var(--muted);white-space:nowrap;font-size:.75rem;display:block}.recipe__track{background-image:linear-gradient(to right, var(--recipe-grid) 1px, transparent 1px);border-right:1px solid var(--recipe-grid);background-size:9.09091% 100%;grid-area:track;height:1.2rem;position:relative}.recipe__bar{background:linear-gradient(90deg, color-mix(in srgb, var(--c) 25%, transparent), var(--c));border-radius:999px;height:.7rem;position:absolute;top:50%;left:0;transform:translateY(-50%)}.recipe__dot{background:var(--c);border:2px solid var(--surface);width:.95rem;height:.95rem;box-shadow:0 0 0 1px var(--c);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.recipe__axis-note{margin:.35rem 0 0;font-size:.8rem}.recipe__info{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.8rem;scroll-margin-bottom:1rem}.recipe__info p{margin:0 0 .45rem}.recipe__info-title{align-items:center;gap:.55rem;font-size:1.05rem;display:flex}.recipe__badges{flex-wrap:wrap;gap:.4rem;display:flex}.recipe__badges .badge{font-size:.78rem}.recipe__sub,.recipe__steps{margin:.2rem 0 .5rem;padding-left:1.3rem;font-size:.95rem}.recipe__steps{font-variant-numeric:tabular-nums}.recipe__source{margin:.8rem 0 0;font-size:.8rem;line-height:1.5}@media (width<=640px){.recipe__whole{height:3.2rem}.recipe__water{gap:.4rem;padding:0 .6rem}.recipe__water-icon{width:1.8rem;height:1.8rem}.recipe__water-pct{font-size:1.3rem}.recipe__zoom{height:2.7rem}.recipe__map{aspect-ratio:2/3;flex-direction:column}.recipe__tile-name{line-height:1.15}.recipe__split--a{flex-direction:row}.recipe__split--b{flex-direction:column}.recipe__axis,.recipe__row{grid-template-columns:2rem minmax(0,1fr) auto;grid-template-areas:"icon name value""track track track";column-gap:.5rem;padding-left:.45rem;padding-right:.45rem}.recipe__axis{grid-template-columns:minmax(0,1fr);grid-template-areas:"track";padding:0 calc(.45rem + 1px)}.recipe__axis-track>span:nth-child(2n){display:none}.recipe__row{row-gap:.2rem;padding-top:.35rem;padding-bottom:.35rem}.recipe__row-icon{width:2rem;height:2rem}.recipe__row-value{flex-direction:column;align-items:flex-end;display:flex}}@media (pointer:coarse){.recipe__toggle button,.recipe__row{min-height:44px}}.wf[data-astro-cid-caw7bd76]{--wf-card-top:#f8fafc;--wf-card-bottom:#eef2f7;--wf-liquid-top:#e0f2fe;--wf-liquid-bottom:#bae6fd;--wf-card-edge:#cbd5e1;--wf-hbond:#1e3a5f;--wf-axis:#111827;--wf-neg:#be123c;--wf-pos:#1d4ed8;--wf-cage:#0ea5e933;--wf-focus:#ffffff8c;flex-wrap:wrap;justify-content:center;gap:1rem;margin:.4rem 0 1.2rem;display:flex}@media (prefers-color-scheme:dark){.wf[data-astro-cid-caw7bd76]{--wf-card-top:#1b2427;--wf-card-bottom:#151c1f;--wf-liquid-top:#0c2a3d;--wf-liquid-bottom:#082032;--wf-card-edge:#2a3438;--wf-hbond:#bae6fd;--wf-axis:#0b1220;--wf-neg:#fb7185;--wf-pos:#60a5fa;--wf-cage:#38bdf829;--wf-focus:#bae6fd1f}}.wf__fig[data-astro-cid-caw7bd76]{flex:14rem;max-width:22rem;margin:0}svg[data-astro-cid-caw7bd76]{width:100%;height:auto;display:block}figcaption[data-astro-cid-caw7bd76]{margin-top:.4rem;font-size:.88rem;line-height:1.5}.wf__card-top[data-astro-cid-caw7bd76]{stop-color:var(--wf-card-top)}.wf__card-bottom[data-astro-cid-caw7bd76]{stop-color:var(--wf-card-bottom)}.wf__liquid-top[data-astro-cid-caw7bd76]{stop-color:var(--wf-liquid-top)}.wf__liquid-bottom[data-astro-cid-caw7bd76]{stop-color:var(--wf-liquid-bottom)}.wf__card[data-astro-cid-caw7bd76]{stroke:var(--wf-card-edge);stroke-width:1.5px}.wf__o[data-astro-cid-caw7bd76]{stroke:#7f1d1d;stroke-width:1px}.wf__h[data-astro-cid-caw7bd76]{stroke:#64748b;stroke-width:1px}.wf__axis[data-astro-cid-caw7bd76] line[data-astro-cid-caw7bd76],.wf__axis[data-astro-cid-caw7bd76] path[data-astro-cid-caw7bd76]{fill:none;stroke:var(--wf-axis);stroke-opacity:.6;stroke-width:2px;stroke-dasharray:5 4}.wf__electron[data-astro-cid-caw7bd76]{fill:#fde047;stroke:#713f12;stroke-width:1.2px}.wf__atom[data-astro-cid-caw7bd76]{font-size:30px;font-weight:800}.wf__atom--o[data-astro-cid-caw7bd76]{fill:#fff}.wf__atom--h[data-astro-cid-caw7bd76]{fill:#334155;font-size:24px}.wf__charge[data-astro-cid-caw7bd76]{font-size:28px;font-weight:800}.wf__charge--neg[data-astro-cid-caw7bd76]{fill:var(--wf-neg)}.wf__charge--pos[data-astro-cid-caw7bd76]{fill:var(--wf-pos)}.wf__label[data-astro-cid-caw7bd76]{fill:var(--text);font-size:18px}.wf__label--muted[data-astro-cid-caw7bd76]{fill:var(--muted)}.wf__label--oil[data-astro-cid-caw7bd76]{fill:#431407;paint-order:stroke;stroke:#fffbeb;stroke-width:4px;stroke-linejoin:round;font-size:20px;font-weight:800}.wf__leader[data-astro-cid-caw7bd76]{fill:none;stroke:var(--muted);stroke-width:1.4px}.wf__hbond[data-astro-cid-caw7bd76] line[data-astro-cid-caw7bd76]{stroke:var(--wf-hbond);stroke-width:2.2px;stroke-dasharray:4 3.5;stroke-linecap:round}.wf__focus[data-astro-cid-caw7bd76]{fill:var(--wf-focus)}.wf__cage-band[data-astro-cid-caw7bd76]{fill:none;stroke:var(--wf-cage);stroke-width:44px}.wf__spin[data-astro-cid-caw7bd76] path[data-astro-cid-caw7bd76]{fill:none;stroke:var(--muted);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.wf__oil-glow[data-astro-cid-caw7bd76]{fill:#f59e0b2e}.wf__chain[data-astro-cid-caw7bd76]{fill:none;stroke:#9a3412;stroke-width:3.4px;stroke-linejoin:round;stroke-linecap:round}.wf__bead[data-astro-cid-caw7bd76]{stroke:#9a3412;stroke-width:.8px}.mf__defs[data-astro-cid-zxhsspon]{width:0;height:0;position:absolute;overflow:hidden}.mf[data-astro-cid-zxhsspon]{--mf-line:#334155;--mf-water-a:#bae6fd;--mf-water-b:#e0f2fe;--mf-oily:#f59e0b38;--mf-sugar:#e0e7ff;--mf-glucose:#ffe4e6;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1rem;margin:.4rem 0 1.2rem;display:grid}@media (prefers-color-scheme:dark){.mf[data-astro-cid-zxhsspon]{--mf-line:#cbd5e1;--mf-water-a:#0c4a6e;--mf-water-b:#0b2b40;--mf-oily:#f59e0b33;--mf-sugar:#c7d2fe;--mf-glucose:#fecdd3}}.mf__card[data-astro-cid-zxhsspon]{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--mf-accent);border-radius:var(--radius);margin:0;padding:.7rem .8rem .8rem}.mf__name[data-astro-cid-zxhsspon]{letter-spacing:.08em;text-transform:uppercase;color:var(--mf-accent);margin:0 0 .2rem;font-size:.8rem;font-weight:700}svg[data-astro-cid-zxhsspon]:not(.mf__defs){width:100%;height:auto;display:block}figcaption[data-astro-cid-zxhsspon]{margin-top:.35rem;font-size:.88rem;line-height:1.5}.mf__label[data-astro-cid-zxhsspon]{fill:var(--text);font-size:16px}.mf__label--muted[data-astro-cid-zxhsspon]{fill:var(--muted)}.mf__label--water[data-astro-cid-zxhsspon]{fill:var(--text);font-weight:600}.mf__letter[data-astro-cid-zxhsspon]{fill:#fff;font-size:16px;font-weight:800}.mf__edge[data-astro-cid-zxhsspon]{stroke:#0f172a59;stroke-width:1px}.mf__bond[data-astro-cid-zxhsspon]{stroke:var(--mf-line);stroke-width:3px;stroke-linecap:round}.mf__bond--thin[data-astro-cid-zxhsspon]{stroke-width:2.2px}.mf__backbone[data-astro-cid-zxhsspon],.mf__chain[data-astro-cid-zxhsspon]{fill:none;stroke:var(--mf-line);stroke-width:3.5px;stroke-linejoin:round;stroke-linecap:round}.mf__chain[data-astro-cid-zxhsspon]{stroke-width:2px}.mf__sugar[data-astro-cid-zxhsspon]{fill:var(--mf-sugar);stroke:#4f46e5;stroke-width:2.2px;stroke-linejoin:round}.mf__arrow[data-astro-cid-zxhsspon]{stroke:var(--muted);stroke-width:3px}.mf__arrowhead[data-astro-cid-zxhsspon]{fill:var(--muted)}.mf__shadow[data-astro-cid-zxhsspon]{fill:#10b98129}.mf__glucose[data-astro-cid-zxhsspon]{fill:var(--mf-glucose);stroke:#e11d48;stroke-width:2px;stroke-linejoin:round}.mf__glucose--big[data-astro-cid-zxhsspon]{stroke-width:3.5px}.mf__link[data-astro-cid-zxhsspon]{stroke:#9f1239;stroke-width:2.5px}.mf__oxygen[data-astro-cid-zxhsspon]{fill:#ef4444;stroke:#7f1d1d;stroke-width:1px}.mf__carbon[data-astro-cid-zxhsspon]{fill:#3f4a57}.mf__water-a[data-astro-cid-zxhsspon]{stop-color:var(--mf-water-a)}.mf__water-b[data-astro-cid-zxhsspon]{stop-color:var(--mf-water-b)}.mf__oily-band[data-astro-cid-zxhsspon]{fill:var(--mf-oily)}.mf__tail[data-astro-cid-zxhsspon],.mf__tail-edge[data-astro-cid-zxhsspon]{fill:none;stroke-linejoin:round;stroke-linecap:round}.mf__tail[data-astro-cid-zxhsspon]{stroke:#fbbf24;stroke-width:3.6px}.mf__tail-edge[data-astro-cid-zxhsspon]{stroke:#b45309;stroke-width:6px}.mf__tail--thin[data-astro-cid-zxhsspon]{stroke-width:2.2px}.mf__tail-edge--thin[data-astro-cid-zxhsspon]{stroke-width:3.8px}.zoo__stage{background:radial-gradient(circle at 50% 45%,#1e293b 0%,#111a2c 45%,#0b1220 80%)}.zoo__molecules{margin-top:-.2rem}.zoo__intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.8rem;display:flex}.zoo__intro .game__intro{flex:18rem;margin:0}.zoo__dot{vertical-align:-.05em;border:1px solid #94a3b8b3;border-radius:50%;flex:none;width:.8em;height:.8em;margin-right:.35em;display:inline-block}.zoo__reset{font:inherit;color:#f8fafc;cursor:pointer;text-shadow:none;white-space:nowrap;align-self:flex-start;font-size:.82rem}.zoo__reset:hover{border-color:#fbbf24}.zoo__hint{color:#cbd5e1;font-size:.82rem}.zoo__atom-chip{border-color:#fbbf24;max-width:26rem}.zoo__atom-detail{color:#cbd5e1;margin-top:.15rem;font-size:.8rem}.zoo__panel{background:var(--surface-2);border-radius:10px;margin-top:.8rem;padding:.8rem .95rem .6rem}.zoo__panel p{margin:0 0 .55rem}.zoo__panel-head{flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem;margin-bottom:.2rem;display:flex}.zoo__name{margin:0;font-size:1.25rem}.zoo__group{color:var(--muted);font-size:.8rem;font-weight:600}.zoo__line{flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem;display:flex}.zoo__formula{letter-spacing:.02em;font-size:1.35rem;font-weight:700}.zoo__formula sub{font-size:.68em}.zoo__muted{color:var(--muted);font-size:.9rem}.zoo__counts{flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;display:flex}.zoo__count-chip{border:1px solid var(--border);background:var(--bg);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:.2em .65em;font-size:.85rem;display:inline-flex}.zoo__mass{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.95rem}.zoo__term{white-space:nowrap}.zoo__role{font-size:.95rem}.zoo__source{color:var(--muted);font-size:.8rem}.zoo__legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem .9rem;margin-top:.7rem;font-size:.82rem;display:flex}.zoo__legend-title{font-weight:600}.zoo__legend-item{white-space:nowrap;align-items:center;gap:.2em;display:inline-flex}.zoo__legend-item strong{color:var(--text)}.zoo__count{margin-top:.8rem}.zoo__tip{color:var(--muted);margin:0 0 .6rem;font-size:.92rem}.zoo__steppers{grid-template-columns:repeat(auto-fill,minmax(9.2rem,1fr));gap:.5rem;margin-bottom:.7rem;display:grid}.zoo__stepper{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:.3rem;padding:.45rem .55rem .55rem;display:flex}.zoo__stepper-label{align-items:center;font-size:.85rem;font-weight:600;display:inline-flex}.zoo__stepper-controls{align-items:center;gap:.3rem;display:flex}.zoo__stepper-controls button{width:44px;height:44px;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:9px;flex:none;font-size:1.35rem;line-height:1}.zoo__stepper-controls button:hover:not(:disabled){border-color:var(--accent)}.zoo__stepper-controls button:disabled{opacity:.4;cursor:not-allowed}.zoo__stepper-controls input{width:100%;min-width:2.6rem;height:44px;font:inherit;font-variant-numeric:tabular-nums;text-align:center;border:1px solid var(--border);background:var(--surface);color:var(--text);-moz-appearance:textfield;appearance:textfield;border-radius:9px;padding:0;font-size:1.1rem;font-weight:700}.zoo__stepper-controls input::-webkit-outer-spin-button,.zoo__stepper-controls input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.zoo__results{margin:0 auto .9rem;padding:0;font-size:.92rem;line-height:1.7;list-style:none}.zoo__results sub{font-size:.7em}.zoo__results .zoo__formula{font-size:1em;font-weight:600}.zoo__ok,.zoo__miss{font-variant-numeric:tabular-nums;border-radius:6px;min-width:2.6em;margin-left:.3em;padding:0 .4em;font-weight:700;display:inline-block}.zoo__ok{background:#16a34ad9}.zoo__miss{background:#dc2626bf}@media (width<=640px){.zoo__atom-chip{max-width:100%}.zoo__hint,.zoo__reset{font-size:.75rem}.zoo__formula{font-size:1.2rem}}@media (pointer:coarse){.zoo__reset{min-height:2.5rem}}.zip .zip__stage{height:clamp(300px,44vw,400px)}.zip .game__toast{top:22%}.zip__mistakes{color:#fca5a5}.zip__timer.is-low strong{color:#f87171}.zip__dirs{font-variant-numeric:tabular-nums;flex-direction:column;gap:.15rem;display:flex}.zip__swatch{vertical-align:-.05em;border-radius:3px;width:.8em;height:.8em;margin-right:.2em;display:inline-block}.zip__intro h4{margin-bottom:.6rem}.zip__intro p{font-size:.95rem}.zip__diagram{grid-template-columns:auto auto minmax(5rem,12rem) auto;justify-content:center;align-items:center;gap:.35rem .55rem;margin:.2rem auto .9rem;font-weight:700;display:grid}.zip__diagram-name{text-align:right;color:#cbd5e1;font-weight:600}.zip__diagram-end{color:#fbbf24;min-width:1.6em}.zip__arrow{background:#e2e8f0;border-radius:2px;height:3px;position:relative}.zip__arrow--right:after,.zip__arrow--left:after{content:"";border:7px solid #0000;position:absolute;top:50%;transform:translateY(-50%)}.zip__arrow--right:after{border-left:10px solid #e2e8f0;border-right-width:0;right:-10px}.zip__arrow--left:after{border-left-width:0;border-right:10px solid #e2e8f0;left:-10px}.zip__choices{justify-content:center;margin-bottom:.8rem}.zip__answer{border-radius:8px;padding:.5rem .7rem}.zip__answer.is-good{background:#16a34a4d}.zip__answer.is-bad{background:#dc26264d}.zip__strands{background:var(--surface-2);border-radius:10px;margin-top:.7rem;padding:.5rem .6rem .55rem}.zip__strand-name{color:var(--muted);margin:0 0 .2rem;font-size:.8rem;font-weight:600}.zip__strand-name+.zip__row{margin-bottom:.25rem}.zip__row+.zip__strand-name{margin:.25rem 0 0}.zip__build{font-weight:400}.zip__row{align-items:center;gap:2px;display:grid}.zip__end{color:var(--muted);padding:0 .2rem;font-size:.78rem;font-weight:700}.zip__cell{min-width:0;height:1.7rem;font-family:var(--font-mono);color:#fff;text-shadow:0 1px 2px #00000073;background:var(--border);border-radius:4px;place-items:center;font-size:clamp(.75rem,3.3vw,1rem);font-weight:700;display:grid}.zip__cell--new{border:1.5px dashed var(--border);background:0 0}.zip__cell--new.is-filled{border-color:#0000;animation:.3s ease-out zip-snap}.zip__cell.is-next{outline-offset:1px;outline:2.5px solid #f59e0b}@keyframes zip-snap{0%{opacity:.3;transform:translateY(8px)scale(.8)}}.zip__pad{grid-template-columns:repeat(auto-fit,minmax(3.6rem,1fr));gap:.5rem;margin-top:.75rem;display:grid}.zip__key{--base:#64748b;border:2px solid var(--base);background:color-mix(in srgb, var(--base) 18%, var(--surface));min-height:3.9rem;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:.35rem .2rem;transition:transform 80ms ease-out,background .15s;display:flex}.zip__key:hover:not(:disabled){background:color-mix(in srgb, var(--base) 30%, var(--surface))}.zip__key:active:not(:disabled){transform:scale(.94)}.zip__key:disabled{opacity:.5;cursor:default}.zip__key:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.zip__key-letter{color:var(--base);filter:brightness(.85);font-size:1.6rem;font-weight:800;line-height:1}.zip__key-name{color:var(--muted);font-size:.75rem}.zip__key.is-shake{border-color:#dc2626;animation:.4s ease-in-out zip-shake}@keyframes zip-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.zip__hint,.zip__after{margin-top:.6rem}.zip__readout code{word-break:break-all;font-size:.95em}.zip__scale{margin:.7rem 0 0;font-size:.8rem}@media (prefers-color-scheme:dark){.zip__key-letter{filter:none}}@media (prefers-reduced-motion:reduce){.zip__key.is-shake,.zip__cell--new.is-filled{animation:none}}@media (width<=640px){.zip .zip__stage{height:clamp(280px,78vw,340px)}.zip__diagram{grid-template-columns:auto auto minmax(3.5rem,1fr) auto}.zip__cell{height:1.55rem}}.melt .melt__stage{height:clamp(280px,36vw,380px)}@media (width<=640px){.melt .melt__stage{height:clamp(250px,68vw,290px)}}.melt__chip-at strong{color:#4ade80}.melt__chip-gc strong{color:#facc15}.melt__strip{background:var(--surface-2);border-radius:10px;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.7rem;padding:.55rem .65rem .45rem;display:flex}.melt__half{flex:16rem;min-width:0}.melt__half-label{color:var(--muted);margin-bottom:.25rem;font-size:.8rem;font-weight:600}.melt__half-pct{font-variant-numeric:tabular-nums;font-weight:400}.melt__cells{grid-template-columns:repeat(20,minmax(0,1fr));align-items:center;gap:2px;height:3.3rem;display:grid}.melt__pair{flex-direction:column;gap:1px;min-width:0;transition:gap .25s ease-out;display:flex}.melt__pair.is-open{gap:.6rem}.melt__base{height:1.2rem;font-family:var(--font-mono);color:#fff;text-shadow:0 1px 2px #00000080;border-radius:3px;place-items:center;font-size:.75rem;font-weight:700;transition:opacity .25s;display:grid}.melt__pair.is-open .melt__base{opacity:.7}.melt__strip-note{color:var(--muted);flex-basis:100%;margin:0;font-size:.75rem}.melt__controls{flex-wrap:wrap;align-items:flex-end;gap:.6rem 1.2rem;margin-top:.9rem;display:flex}.melt__slider{flex-direction:column;flex:16rem;gap:.2rem;min-width:0;font-size:.95rem;display:flex}.melt__slider-label strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.1rem}.melt__slider input{width:100%;min-height:2.2rem;accent-color:var(--accent)}.melt__ticks{height:1.1rem;color:var(--muted);font-size:.75rem;position:relative}.melt__ticks span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.melt__ticks span:first-child{transform:none}.melt__ticks span:last-child{transform:translate(-100%)}.melt__rough{color:var(--muted);flex-basis:100%;margin:0;font-size:.8rem}.melt__panels{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem;margin-top:.9rem;display:grid}.melt__panel{background:var(--surface-2);border-radius:10px;min-width:0;padding:.6rem .8rem .65rem}.melt__panel-title{color:var(--muted);margin:0 0 .4rem;font-size:.85rem;font-weight:600}.melt__chart{border-left:1px solid var(--muted);border-bottom:1px solid var(--muted);height:110px;margin-left:2.4rem;position:relative}.melt__chart svg{width:100%;height:100%;display:block;overflow:visible}.melt__grid{stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.melt__line{fill:none;stroke-width:2.25px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.melt__line--at{stroke:#16a34a}.melt__line--gc{stroke:#ca8a04}.melt__line--all{stroke:#0d9488}.melt__line--temp{stroke:var(--muted);stroke-dasharray:4 3;stroke-width:1.5px}.melt__axis{color:var(--muted);font-size:.75rem;line-height:1;position:absolute;right:calc(100% + .3rem)}.melt__axis--top{top:-.3rem}.melt__axis--bottom{bottom:-.3rem}.melt__legend{color:var(--muted);flex-wrap:wrap;gap:.2rem .9rem;margin-top:.45rem;font-size:.78rem;display:flex}.melt__key{vertical-align:middle;border-radius:2px;width:1.3em;height:3px;margin-right:.2em;display:inline-block}.melt__key--at{background:#16a34a}.melt__key--gc{background:#ca8a04}.melt__key--all{background:#0d9488}.melt__key--temp{background:repeating-linear-gradient(90deg, var(--muted) 0 4px, transparent 4px 7px)}.melt__bar-row{margin-bottom:.55rem}.melt__bar-name{font-variant-numeric:tabular-nums;margin-bottom:.2rem;font-size:.85rem;display:block}.melt__bar{background:var(--border);border-radius:7px;height:14px;display:block;position:relative}.melt__bar-fill{border-radius:7px;transition:width .2s,background .2s;position:absolute;top:0;bottom:0;left:0}.melt__bar-fill.is-at{background:#16a34a}.melt__bar-fill.is-gc{background:#ca8a04}.melt__bar-fill.is-design{background:#0d9488}.melt__bar-fill.is-losing{background:#dc2626}.melt__bar-mark{background:#fff;border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:-4px;bottom:-4px;box-shadow:0 0 0 1.5px #0f172a}.melt__note{margin:.4rem 0 0;font-size:.82rem}.melt__next{margin-top:.5rem}.melt__details{margin-top:.9rem;font-size:.9rem}.melt__details summary{cursor:pointer;min-height:2rem;font-weight:600}.melt__details p{margin:.4rem 0 0}@media (prefers-reduced-motion:reduce){.melt__pair,.melt__base,.melt__bar-fill{transition:none}}@media (pointer:coarse){.melt__details summary{padding:.6rem 0}.melt__slider input{min-height:2.75rem}}.fold{--fold-cell:48px;--fold-water:#e4f3fa;--fold-grid:#0e749029;--fold-tint:#38bdf84d;--fold-edge:#0284c7;--fold-bond:#475569;--fold-contact:#f59e0b;--fold-glow:#fbbf24;--fold-plus:#b45309;--fold-plus-outline:#fff}@media (prefers-color-scheme:dark){.fold{--fold-water:#0b2230;--fold-grid:#7dd3fc1f;--fold-tint:#38bdf833;--fold-edge:#38bdf8;--fold-bond:#94a3b8;--fold-contact:#fbbf24;--fold-plus:#fcd34d;--fold-plus-outline:#0b2230}}.fold__word-h{color:#b45309}@media (prefers-color-scheme:dark){.fold__word-h{color:#fbbf24}}.fold__story{margin:-.3rem 0 .8rem;font-size:.92rem}.fold__play{container-type:inline-size}.fold__layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"strip""stats""board""controls";gap:.6rem;display:grid}@container (width>=600px){.fold__layout{grid-template-columns:calc(var(--cols) * var(--fold-cell)) minmax(0, 1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"strip strip""board stats""board controls";column-gap:1.1rem}.fold__stats{flex-direction:column;align-items:flex-start}}.fold__strip{flex-wrap:wrap;grid-area:strip;align-items:center;gap:.3rem .22rem;min-height:2.2rem;display:flex}.fold__strip-label{margin-right:.3rem;font-size:.85rem;font-weight:700}.fold__chip{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.fold__chip--h{color:#7c2d12;background:radial-gradient(circle at 36% 30%,#fff7d6,#fcd34d 30%,#f59e0b 68%,#b45309)}.fold__chip--p{color:#fff;background:radial-gradient(circle at 36% 30%,#e0f2fe,#60a5fa 38%,#1e40af)}.fold__chip.is-next{outline:3px solid var(--accent);outline-offset:2px;width:32px;height:32px;margin-right:.35rem;font-size:15px}.fold__stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-area:stats;align-items:baseline;gap:.3rem 1.1rem;font-size:.9rem;display:flex}.fold__stat strong{color:var(--accent);font-size:1.3rem}.fold__stat--water strong{color:var(--fold-edge)}.fold__board{width:100%;max-width:calc(var(--cols) * var(--fold-cell));aspect-ratio:var(--cols) / var(--rows);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;border-radius:10px;grid-area:board;margin:0 auto;position:relative;overflow:hidden}.fold__board:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.fold__board>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.fold__bg{fill:var(--fold-water)}.fold__gridline{stroke:var(--fold-grid);stroke-width:2px}.fold__tint{fill:var(--fold-tint)}.fold__water-o{fill:#ef4444;opacity:.55}.fold__water-h{fill:#fff;stroke:#94a3b8;stroke-width:2px;opacity:.75}.fold__edge{stroke:var(--fold-edge);stroke-width:9px;stroke-linecap:round}.fold__bond{stroke:var(--fold-bond);stroke-width:20px;stroke-linecap:round}.fold__contact-glow{stroke:var(--fold-glow);stroke-width:38px;stroke-linecap:round;opacity:.65;animation:.9s ease-out fold-glow-in}.fold__contact{stroke:var(--fold-contact);stroke-width:11px;stroke-linecap:round;stroke-dasharray:14 10;animation:1.4s linear infinite fold-dash}.fold__contact--still{animation:none}.fold__bead{transform-box:fill-box;transform-origin:50%;animation:.28s cubic-bezier(.34,1.56,.64,1) fold-bead-in}.fold__bead--h .fold__bead-body{stroke:#92400e;stroke-width:3px}.fold__bead--p .fold__bead-body{stroke:#1e3a8a;stroke-width:3px}.fold__shine{fill:#fff;opacity:.85}.fold__shine--small{opacity:.55}.fold__shine--soft{opacity:.35}.fold__letter{pointer-events:none;font-size:36px;font-weight:800}.fold__bead--h .fold__letter{fill:#7c2d12}.fold__bead--p .fold__letter{fill:#fff}.fold__start{fill:none;stroke:var(--muted);stroke-width:3px;stroke-dasharray:3 7;opacity:.8}.fold__end{fill:none;stroke:var(--accent);stroke-width:5px;stroke-dasharray:11 8;transform-box:fill-box;transform-origin:50%;animation:8s linear infinite fold-spin}.fold__end.is-trapped{stroke:#dc2626;stroke-dasharray:none;animation:.9s ease-in-out infinite fold-blink}.fold__ring{fill:none;stroke:var(--fold-glow);stroke-width:6px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:.8s ease-out fold-ring}.fold__plus{fill:var(--fold-plus);stroke:var(--fold-plus-outline);stroke-width:8px;paint-order:stroke;opacity:0;font-size:40px;font-weight:800;animation:1.1s ease-out fold-plus}.fold__target{cursor:pointer;touch-action:none;color:#d97706;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.fold__target--p{color:#2563eb}.fold__target:before{content:"";background:color-mix(in srgb, currentColor 10%, transparent);border:2px dashed;border-radius:9px;position:absolute;inset:7%}.fold__ghost{opacity:.5;border-radius:50%;width:62%;height:62%;animation:1.6s ease-in-out infinite fold-ghost}.fold__target--h .fold__ghost{background:radial-gradient(circle at 36% 30%,#fff7d6,#fcd34d 30%,#f59e0b 68%,#b45309)}.fold__target--p .fold__ghost{background:radial-gradient(circle at 36% 30%,#e0f2fe,#60a5fa 38%,#1e40af)}.fold__target:hover .fold__ghost,.fold__target:focus-visible .fold__ghost{opacity:.9}.fold__target:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;border-radius:9px}.fold__handle{touch-action:none;cursor:grab;position:absolute}.fold__toast{background:#b45309eb}.fold__controls{grid-area:controls}.fold__toggle.is-on{border-color:var(--accent);background:var(--accent-soft)}.fold__tip{margin:.5rem 0 0;font-size:.82rem}.fold__tip--touch{display:none}@media (hover:none){.fold__tip--mouse{display:none}.fold__tip--touch{display:inline}}.fold__deadend{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.fold__deadend p{flex:16rem;margin:0}.fold__answer{flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;margin:.4rem 0 .8rem;display:flex}.fold__answer p{flex:15rem;margin:0}.fold__figure{text-align:center;margin:0}.fold__figure figcaption{font-size:.78rem}.fold__picture{max-width:100%;height:auto;margin:0 auto;display:block}.fold__why{border-top:1px solid var(--border);margin:.9rem 0 0;padding-top:.7rem}@keyframes fold-dash{to{stroke-dashoffset:-48px}}@keyframes fold-glow-in{0%{stroke-width:90px;opacity:1}to{stroke-width:38px;opacity:.65}}@keyframes fold-bead-in{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes fold-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.9)}}@keyframes fold-plus{0%{opacity:0;transform:translateY(10px)}20%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(-34px)}}@keyframes fold-spin{to{transform:rotate(360deg)}}@keyframes fold-blink{50%{opacity:.35}}@keyframes fold-ghost{50%{transform:scale(.86)}}@media (prefers-reduced-motion:reduce){.fold__contact,.fold__contact-glow,.fold__bead,.fold__end,.fold__ghost{animation:none}.fold__pulse{display:none}}@media (pointer:coarse){.fold .game__level,.fold .game__sound{min-height:2.75rem}}.sa__stage{aspect-ratio:8/5;-webkit-user-select:none;user-select:none;background:linear-gradient(#0f3554,#0a1f35)}.sa__stage canvas{cursor:crosshair;touch-action:auto;width:100%;height:100%;display:block}.sa__stage.is-stirring canvas{touch-action:none}.sa__stage canvas:active{cursor:grabbing}.sa__stage .game__chip{pointer-events:none;font-size:.82rem}.sa__stage .game__chip.sa__metric,.sa__stage .game__chip.sa__groups{align-items:center;gap:.5rem;padding:.3rem .6rem;display:flex}.sa__metric strong{font-variant-numeric:tabular-nums;min-width:2.6em;font-size:1.1rem}.sa__groups{white-space:nowrap}.sa__groups strong{font-variant-numeric:tabular-nums}.sa__spark{width:80px;height:22px;display:block;overflow:visible}.sa__spark polyline{fill:none;stroke:#fbbf24;stroke-width:1.6px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sa__spark .sa__goal{stroke:#e2e8f0;stroke-opacity:.55;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.sa__spark .sa__axis{stroke:#94a3b866;stroke-width:1px;vector-effect:non-scaling-stroke}.sa__legend{color:var(--muted);flex-wrap:wrap;gap:.3rem 1rem;margin:.55rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.sa__legend li{align-items:center;gap:.4em;display:inline-flex}.sa__dot{border-radius:50%;flex:none;width:.85em;height:.85em;display:inline-block}.sa__dot--head{background:radial-gradient(circle at 35% 35%,#dbeafe,#3b82f6 55%,#1e3a8a)}.sa__dot--tail{background:radial-gradient(circle at 35% 35%,#fef3c7,#f59e0b 55%,#c2410c)}.sa__dot--wet{background:radial-gradient(circle at 35% 35%,#fef3c7,#f59e0b 55%,#c2410c);box-shadow:0 0 0 3px #f8717199}.sa__note{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.sa__progress{margin:.7rem 0 0;font-size:.95rem}.sa__controls{flex-wrap:wrap;align-items:flex-end;gap:.8rem 1.1rem;margin-top:.9rem;display:flex}.sa__group{flex-direction:column;gap:.25rem;display:flex}.sa__label{color:var(--muted);font-size:.8rem;font-weight:600}.sa__seg{border:1px solid var(--border);border-radius:9px;display:inline-flex;overflow:hidden}.sa__seg button{font:inherit;background:var(--bg);color:var(--muted);cursor:pointer;border:0;align-items:center;gap:.4em;padding:.45em .85em;font-size:.9rem;display:inline-flex}.sa__seg button+button{border-left:1px solid var(--border)}.sa__seg button.is-active{background:var(--accent);color:var(--accent-text);font-weight:600}.sa__seg svg{flex:none}.sa__slider{flex-direction:column;flex:15rem;gap:.15rem;font-size:.95rem;display:flex}.sa__slider input{width:100%;height:1.8rem;accent-color:var(--accent);margin:0}.sa__ticks{color:var(--muted);justify-content:space-between;font-size:.78rem;display:flex}.sa__buttons{flex-wrap:wrap;gap:.5rem;display:flex}.sa__toggle[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.sa__hint--touch{display:none}@media (pointer:coarse){.sa__hint--mouse{display:none}.sa__hint--touch{display:inline}.sa__seg button,.sa__buttons .button,.sa .game__level,.sa .game__sound,.sa .game__feedback .button{min-height:44px}.sa__slider input{height:2.75rem}}@media (width<=639px){.sa__stage{aspect-ratio:16/15}.sa__stage .game__chip{font-size:.76rem}.sa__metric strong{font-size:1rem}.sa__spark{width:64px;height:20px}.sa__stage .game__chip.sa__groups{display:none}.sa__controls{gap:.7rem}.sa__group,.sa__seg{width:100%}.sa__seg button,.sa__buttons .button{flex:1 1 0;justify-content:center}.sa__buttons{width:100%}}
