:root{--paper:#f6ecd7;--paper-deep:#eaddc0;--ink:#3a2c1d;--ink-soft:#7a6a52;--bark:#6f5234;--font-body:"Nunito",system-ui,sans-serif;--font-hand:"Caveat","Nunito",cursive}*{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(120% 90% at 50% 42%,#fbf3e2 0,var(--paper) 45%,var(--paper-deep) 100%);-webkit-font-smoothing:antialiased}.stage{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden}.intro{position:absolute;top:clamp(1rem,4vh,3rem);left:0;right:0;text-align:center;z-index:2;pointer-events:none}.intro h1{font-family:var(--font-hand);font-size:clamp(2.6rem,7vw,4.4rem);line-height:1;margin:0;color:var(--ink)}.intro p{margin:.2rem 0 0;font-size:clamp(.9rem,2.2vw,1.1rem);color:var(--ink-soft);font-weight:600}.organism{position:absolute;inset:0;width:100%;height:100%;display:block;animation:breathe 12s ease-in-out infinite;transform-origin:center}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}.root-shape{filter:url(#rough)}.trunk-disc{stroke:#cdb487;stroke-width:2}.ring{fill:none;stroke:#c9ad7d;stroke-width:1.6;opacity:.7;filter:url(#rough)}.divider{stroke:#c9ad7d;stroke-width:1.4;opacity:.55}.seg-text{font-size:22px;fill:var(--bark)}.neu,.seg-text{font-family:var(--font-hand);text-anchor:middle;dominant-baseline:middle}.neu{font-size:30px;fill:var(--ink)}.ins-node{cursor:pointer;outline:none}.ins-pop{opacity:0;transform-box:fill-box;transform-origin:center;animation:berry-in .7s var(--delay,0s) ease forwards;transition:transform .25s ease}@keyframes berry-in{0%{opacity:0}to{opacity:1}}.ins-node:focus-visible .ins-pop,.ins-node:hover .ins-pop{transform:scale(1.12)}.berry-halo{fill:#fff;opacity:.55}.berry-ring{fill:none;stroke:#3a2c1d2e;stroke-width:1.5}.berry-shine{fill:#fff;opacity:.6}.node-title{font-family:var(--font-body);font-weight:700;font-size:17px;fill:var(--ink);text-anchor:middle;dominant-baseline:hanging;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}.ins-node:focus-visible .berry-ring{stroke:var(--ink);stroke-width:2.5}.sheet-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#281e1252;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{width:min(560px,100%);max-height:86vh;overflow-y:auto;background:#fffdf7;border-radius:28px 28px 0 0;padding:.75rem 1.6rem 2.4rem;box-shadow:0 -12px 40px #3a2c1d38}.sheet-grab{display:block;width:46px;height:5px;margin:.4rem auto 1.2rem;border:none;border-radius:99px;background:#d9c9a8;cursor:pointer}.sheet-media{display:flex;justify-content:center;margin-bottom:1.1rem}.sheet-blob{width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0,var(--hue) 60%,var(--hue) 100%);box-shadow:0 8px 20px #3a2c1d2e}.sheet-eyebrow{margin:0;text-align:center;font-weight:700;font-size:.95rem;letter-spacing:.02em}.sheet-title{margin:.1rem 0 .8rem;text-align:center;font-family:var(--font-hand);font-size:2.4rem;line-height:1;color:var(--ink)}.sheet-body{margin:0;text-align:center;font-size:1.05rem;line-height:1.6;color:var(--ink-soft)}.sheet-enter-active,.sheet-leave-active{transition:opacity .3s ease}.sheet-enter-active .sheet,.sheet-leave-active .sheet{transition:transform .34s cubic-bezier(.2,.9,.3,1)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .sheet,.sheet-leave-to .sheet{transform:translateY(100%)}@media(prefers-reduced-motion:reduce){.organism{animation:none}.ins-pop{animation-duration:.01s;animation-delay:0s}.sheet-enter-active,.sheet-enter-active .sheet,.sheet-leave-active,.sheet-leave-active .sheet{transition-duration:.01s}}
