:root{--zc-background:#f6f5ef;--zc-surface:#fffefa;--zc-ink:#22252c;--zc-muted:#647079;--zc-accent:#355ce4;--zc-accent-ink:#fff;--zc-soft:#e9edf3;--zc-border:#cbd2dc;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--zc-background);color:var(--zc-ink);font:14px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;gap:16px;font:9px/1.5 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--zc-muted)}button,select{font:inherit;min-height:46px;padding:10px 15px;border:1px solid var(--zc-border);border-radius:8px;background:var(--zc-surface);color:var(--zc-ink);cursor:pointer}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid var(--zc-accent);outline-offset:4px}.wide{width:100%;margin:6px 0}.eyebrow{font:9px/1.5 ui-monospace,monospace;letter-spacing:.13em;color:var(--zc-muted)}h1,h2,p{margin:0}h2{font-size:25px;line-height:1.2;letter-spacing:-.04em}.intro p,aside p{font-size:12px;color:var(--zc-muted)}.caption{display:flex;justify-content:space-between;gap:12px;font:10px/1.5 ui-monospace,monospace;color:var(--zc-muted);padding:13px 0}#status{font-size:11px;line-height:1.6;color:var(--zc-muted);margin-top:12px}footer{font-size:9px;color:var(--zc-muted);border-top:1px solid var(--zc-border);padding-top:13px}canvas{display:block;width:100%;touch-action:none}label{font-size:11px}summary{cursor:pointer;min-height:44px;padding-top:12px}input[type=range]{min-height:44px;width:100%;accent-color:var(--zc-accent)}[data-motion=reduced] *,[data-motion=reduced] *::before,[data-motion=reduced] *::after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

:root{--zc-jelly-plum:#512182;--zc-jelly-pink:#f1b5db;--zc-jelly-cream:#fff8f1;--zc-jelly-lilac:#bd90ef}main{max-width:1160px;margin:auto;padding:24px 32px}header{padding-bottom:14px;border-bottom:1px solid var(--zc-border)}.intro{display:flex;align-items:end;justify-content:space-between;position:relative;gap:20px;padding:26px 0 24px}.intro .eyebrow{position:absolute;right:0;top:26px}.intro h1{font-size:clamp(56px,8vw,92px);font-weight:800;letter-spacing:-.075em;line-height:.9;max-width:400px}.intro p{max-width:215px;font-size:12px;line-height:1.8;margin-right:15px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:40px;align-items:center}.stage{position:relative;border:2px solid var(--zc-jelly-plum);border-radius:20px;background:var(--zc-jelly-pink);overflow:hidden;box-shadow:0 7px 0 var(--zc-jelly-plum)}.stage:before{content:'STRETCH\A RELEASE\A REPEAT';white-space:pre;position:absolute;left:22px;top:22px;font:800 14px/.97 system-ui,sans-serif;letter-spacing:-.04em;color:var(--zc-jelly-plum);pointer-events:none}.stage:after{content:'↗';position:absolute;right:23px;top:11px;font:400 55px system-ui,sans-serif;color:var(--zc-jelly-plum);pointer-events:none}canvas{height:410px}.specimen{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:13px 22px;border-top:2px solid var(--zc-jelly-plum);background:var(--zc-jelly-cream);font:700 9px ui-monospace,monospace;letter-spacing:.13em;color:var(--zc-jelly-plum);pointer-events:none}.caption{padding-top:21px}aside>.eyebrow{font-size:8px}aside h2{font-size:44px;font-weight:800;line-height:.99;letter-spacing:-.065em;margin:13px 0 19px}aside p{line-height:1.8}aside label{display:block;font:10px ui-monospace,monospace;margin-top:22px}#shape{border-radius:0;border-width:0 0 2px;font-size:12px;background:transparent}#poke{background:var(--zc-jelly-plum);color:var(--zc-jelly-cream);border:0;border-radius:9px;min-height:58px;font-size:15px;font-weight:700;box-shadow:4px 4px 0 var(--zc-jelly-lilac);transition:transform .12s}#poke:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--zc-jelly-lilac)}#sound{border:0;background:none;font-size:11px}#status{border-top:1px solid var(--zc-border);padding-top:12px}footer{margin-top:19px}
@media(max-width:680px){main{padding:14px 16px}header{font-size:7px;padding-bottom:9px}.intro{padding:19px 0 16px;gap:12px}.intro .eyebrow{display:none}.intro h1{font-size:49px;max-width:180px}.intro p{font-size:10px;line-height:1.55;max-width:133px;margin:0}.layout{grid-template-columns:1fr;gap:6px}canvas{height:292px}.stage{border-radius:12px;box-shadow:0 5px 0 var(--zc-jelly-plum)}.stage:before{font-size:11px;left:15px;top:15px}.stage:after{font-size:39px;right:14px}.specimen{font-size:8px;padding:11px 15px}.caption{font-size:9px;padding:17px 0 7px}aside{display:grid;grid-template-columns:1fr 1fr;gap:7px 13px}aside>.eyebrow,aside h2,aside>p:not(#status){display:none}aside label{grid-column:1/-1;margin:0;font-size:9px}#shape,#poke{margin:0;min-height:47px}#poke{font-size:13px}#sound{grid-column:1/-1;min-height:34px;margin:0}#status{grid-column:1/-1;font-size:10px;margin:0;padding-top:8px}footer{font-size:8px;margin-top:16px}}

/* Jelly canvas stretches into free space; the selector and poke stay on the surface. */
html,body{height:100%;overflow:hidden}
main{height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}
header,.intro,footer{flex:none}
.layout{flex:1 1 0;min-height:0;align-items:stretch}
.layout>section{min-height:0;display:flex;flex-direction:column}
.stage{flex:1 1 0;min-height:0}
canvas{height:100%}
.caption{flex:none;padding-top:8px}
aside{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
aside:focus-visible{outline:2px solid var(--zc-jelly-plum);outline-offset:-2px}
footer{margin-top:5px;padding-top:6px}
@media(max-width:680px){main{padding:7px 10px 5px}.intro{padding:6px 0 7px}.intro h1{font-size:clamp(36px,10vw,47px)}.intro p{line-height:1.3}.layout{display:flex;flex-direction:column;gap:5px}.layout>section{flex:1 1 0}.stage{min-height:0}.caption{padding:5px 0 0}aside{flex:0 1 174px;min-height:105px;display:grid;grid-template-columns:1fr 1fr;gap:4px 9px}aside label{margin:0}#shape,#poke{min-height:40px}#sound{min-height:30px}#status{padding-top:4px}footer{margin-top:2px}}
