/* Eddie Signal / finite reveal. Static geometry is always present. */
.eddie-emblem{--eddie-logo-size:clamp(112px,16vw,220px);display:inline-grid;place-items:center;width:var(--eddie-logo-size);aspect-ratio:128/120;position:relative;isolation:isolate;flex:none;vertical-align:middle}
.eddie-emblem__svg{display:block;width:100%;height:auto;overflow:visible;position:relative;z-index:1}
.eddie-emblem__trace{opacity:0;stroke-dasharray:22 78;stroke-dashoffset:100;pointer-events:none}
.eddie-emblem__light{position:absolute;width:70%;height:50%;inset:32% 15% 18%;border-radius:50%;background:#34ed9b;filter:blur(35px);opacity:.12;pointer-events:none;z-index:0}
/* Add is-revealing once, or on explicit replay. No infinite motion. */
@media(prefers-reduced-motion:no-preference){
.eddie-emblem.is-revealing .eddie-face{animation:eddie-face-settle 1400ms cubic-bezier(.16,1,.3,1) both}
.eddie-emblem.is-revealing .eddie-depth{animation:eddie-depth-settle 1400ms cubic-bezier(.16,1,.3,1) both}
.eddie-emblem.is-revealing .eddie-emblem__trace{animation:eddie-trace 1800ms 100ms cubic-bezier(.22,.68,.2,1) both}
.eddie-emblem.is-revealing .eddie-emblem__light{animation:eddie-light 1800ms ease-out both}
}
@keyframes eddie-face-settle{from{transform:translate(-3px,-4px)}to{transform:none}}
@keyframes eddie-depth-settle{from{transform:translate(10px,13px)}to{transform:translate(5px,7px)}}
@keyframes eddie-trace{0%{opacity:0;stroke-dashoffset:100}15%{opacity:.95}78%{opacity:.75}100%{opacity:0;stroke-dashoffset:0}}
@keyframes eddie-light{0%{opacity:.10;transform:scale(.88)}45%{opacity:.24}100%{opacity:.12;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.eddie-emblem,.eddie-emblem *{animation:none!important;transition:none!important}.eddie-emblem__trace{display:none}}
@media(forced-colors:active){.eddie-emblem__light,.eddie-emblem__trace,.eddie-depth{display:none}.eddie-face{fill:CanvasText}}
