/* GENX icons (2026-10-13) — the drawings are in plugins/genx-studio/icons.php. The outline takes the text's colour, the accented part
   (.a) the site's gold, and each icon has one small movement of its own. */
.gx-i4{display:inline-block;width:1.45em;height:1.45em;margin:0 .45em 0 0;vertical-align:-.34em;flex:none;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gx-i4 .a{stroke:var(--a,#DCC5A2)}.gx-i4 .f{fill:var(--a,#DCC5A2);stroke:none}.gx-i4 .ok{fill:var(--ok,#6ee7b7);stroke:none}
.gx-i4 *{transform-box:fill-box;transform-origin:center}
.gx-i4 .d2{animation-delay:-.4s}.gx-i4 .d3{animation-delay:-.8s}
.gx-i4 .m-pulse{animation:gi-pulse 1.6s ease-in-out infinite}
.gx-i4 .m-beat{animation:gi-beat 1.2s ease-in-out infinite}
.gx-i4 .m-roll{stroke-dasharray:none;animation:gi-roll 1.1s linear infinite}
.gx-i4 .m-nudge{animation:gi-nudge 1.2s cubic-bezier(.32,.02,.12,1) infinite}
.gx-i4 .m-grow{transform-origin:50% 100%;animation:gi-grow 1.8s cubic-bezier(.32,.02,.12,1) infinite}
.gx-i4 .m-draw{stroke-dasharray:1;animation:gi-draw 2.6s cubic-bezier(.32,.02,.12,1) infinite}
.gx-i4 .m-wheel{animation:gi-wheel 1.5s ease-in-out infinite}
.gx-i4 .m-dot{animation:gi-dot 1.2s ease-in-out infinite}
.gx-i4 .m-clap{transform-origin:0 100%;animation:gi-clap 1.8s cubic-bezier(.32,.02,.12,1) infinite}
.gx-i4 .m-twinkle{animation:gi-twinkle 1.9s ease-in-out infinite}
.gx-i4 .m-blink{animation:gi-blink 1.4s steps(2,jump-none) infinite}
.gx-i4 .m-ring{stroke:var(--ok,#6ee7b7);animation:gi-ring 1.8s ease-out infinite}
.gx-i4 .m-flash{animation:gi-flash 1.7s ease-in-out infinite}
.gx-i4 .m-scribble{animation:gi-scribble 2.6s ease-in-out infinite}
.gx-i4 .m-heart{animation:gi-heart 1.5s cubic-bezier(.4,0,.2,1) infinite}
.gx-i4 .m-look{animation:gi-look 2.8s ease-in-out infinite}
.gx-i4 .m-door{transform-origin:0 50%;animation:gi-door 2.6s cubic-bezier(.32,.02,.12,1) infinite}
.gx-i4 .m-spin{animation:gi-spin 7s linear infinite}
.gx-i4 .m-turn{animation:gi-spin 3.2s cubic-bezier(.6,0,.2,1) infinite}
.gx-i4 .m-wave{animation:gi-wave 1.4s ease-in-out infinite}
.gx-i4 .m-scan{animation:gi-scan 2.2s ease-in-out infinite}
.gx-i4 .m-tap{animation:gi-tap 1.5s cubic-bezier(.32,.02,.12,1) infinite}
.gx-i4 .m-seek{animation:gi-seek 2.8s ease-in-out infinite}
@keyframes gi-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}
@keyframes gi-beat{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.5)}}
@keyframes gi-roll{from{transform:translateY(0)}to{transform:translateY(-6px)}}
@keyframes gi-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(2.2px)}}
@keyframes gi-grow{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
@keyframes gi-draw{0%{stroke-dashoffset:1}45%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes gi-wheel{0%{transform:translateY(-1px);opacity:1}70%{transform:translateY(3px);opacity:0}100%{transform:translateY(-1px);opacity:0}}
@keyframes gi-dot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-2.2px)}}
@keyframes gi-clap{0%,100%{transform:rotate(0)}40%{transform:rotate(-16deg)}55%{transform:rotate(0)}}
@keyframes gi-twinkle{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.62) rotate(18deg);opacity:.55}}
@keyframes gi-blink{0%{opacity:1}100%{opacity:.25}}
@keyframes gi-ring{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.5);opacity:0}}
@keyframes gi-flash{0%,100%{transform:scale(1);opacity:1}45%{transform:scale(1.12);opacity:1}55%{opacity:.45}65%{opacity:1}}
@keyframes gi-scribble{0%,100%{transform:translate(0,0)}25%{transform:translate(2.5px,.5px)}50%{transform:translate(5px,0)}75%{transform:translate(2.5px,.5px)}}
@keyframes gi-heart{0%,100%{transform:scale(1)}14%{transform:scale(1.2)}28%{transform:scale(1)}42%{transform:scale(1.14)}60%{transform:scale(1)}}
@keyframes gi-look{0%,100%{transform:translateX(0)}25%{transform:translateX(-2.2px)}75%{transform:translateX(2.2px)}}
@keyframes gi-door{0%,100%{transform:scaleX(1)}45%,60%{transform:scaleX(.35)}}
@keyframes gi-spin{to{transform:rotate(360deg)}}
@keyframes gi-wave{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes gi-scan{0%,100%{transform:translateY(0);opacity:.9}50%{transform:translateY(7px);opacity:.35}}
@keyframes gi-tap{0%,100%{transform:translate(0,0)}40%{transform:translate(-1.6px,-1.6px) scale(.92)}}
@keyframes gi-seek{0%,100%{transform:translate(0,0)}50%{transform:translate(1.6px,1.2px) rotate(-8deg)}}
@media (prefers-reduced-motion:reduce){.gx-i4 *{animation:none!important}.gx-i4 .m-draw{stroke-dasharray:none}}
