.entry:has(.effigy-viewport){scroll-snap-type:y proximity}.effigy-wrap{scroll-snap-align:center;margin-bottom:6rem}.effigy-viewport{position:relative;width:100%;aspect-ratio:4 / 5;max-height:80vh;overflow:hidden}.effigy-viewport canvas{display:block;width:100%!important;height:100%!important;cursor:crosshair}.effigy-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--cream-deep);z-index:10;font-size:1.125rem;color:var(--ink-mute);transition:opacity var(--dur-drift) var(--ease-drift)}.effigy-loader.hidden{opacity:0;pointer-events:none}.effigy-loader span{animation:effigy-pulse 1.2s ease-in-out infinite}@keyframes effigy-pulse{0%,to{opacity:.4}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.effigy-loader span{animation:none;opacity:.7}.effigy-shake,.effigy-bigshake{animation:none}}.effigy-toolbar{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem 0 0}.effigy-tool-row{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap}.effigy-toolbar button{position:relative;isolation:isolate;font-family:var(--font-display, "Birdie", system-ui, sans-serif);font-size:var(--fs-small);font-weight:400;letter-spacing:.02em;text-transform:lowercase;padding:6px 14px;min-height:36px;color:var(--ink);background:transparent;border:0;appearance:none;-webkit-appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:transform var(--dur-press, .12s) var(--ease-press, cubic-bezier(.34, 1.56, .64, 1));user-select:none;-webkit-user-select:none}.effigy-toolbar button:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cream);border:var(--border-thin);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-press) var(--ease-press)}@media(hover:hover){.effigy-toolbar button:hover{transform:translate(-2px,-2px)}.effigy-toolbar button:hover:before{box-shadow:var(--shadow-md)}}.effigy-toolbar button:active{transform:translate(6px,6px)}.effigy-toolbar button:active:before{box-shadow:0 0 0 0 transparent}.effigy-toolbar button.active:before{background:var(--lavender)}.effigy-toolbar button.active{color:var(--offwhite)}.effigy-shake{animation:effigy-shake var(--dur-wiggle) var(--ease-out)}@keyframes effigy-shake{0%{transform:translate(0)}20%{transform:translate(-8px,4px)}40%{transform:translate(6px,-6px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-2px)}to{transform:translate(0)}}.effigy-bigshake{animation:effigy-bigshake .35s ease-out}@keyframes effigy-bigshake{0%{transform:translate(0)}10%{transform:translate(-14px,8px)}20%{transform:translate(12px,-10px)}30%{transform:translate(-10px,6px)}40%{transform:translate(8px,-8px)}50%{transform:translate(-6px,4px)}60%{transform:translate(5px,-3px)}70%{transform:translate(-3px,2px)}to{transform:translate(0)}}
