/* Aura v6 · semantic icons. Load AFTER site.css and gallery CSS. */
:is(.semantic-icon,.aura-icon,.g6-icon){width:32px;height:32px;display:inline-block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;overflow:visible}
/* Preserve existing .glyph layout sizes. Kill v5 whole-glyph drift. */
.glyph.semantic-icon,.glyph.aura-icon,.plan-emblem .glyph.semantic-icon,.plan-emblem .glyph.aura-icon{animation:none!important;transform:none!important;fill:none;stroke-width:1.6}
:is(.semantic-icon,.aura-icon,.g6-icon) .icon-parts{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Opt-in: add icon-animate to an inline SVG. Only an explanatory part moves. */
.icon-animate .icon-hand{transform-box:view-box;transform-origin:16px 16px;animation:aura-hand-turn 7s linear infinite}
.icon-animate .icon-page{transform-box:view-box;transform-origin:16px 15px;animation:aura-page-turn 5.6s ease-in-out infinite}
.icon-animate .icon-coin{animation:aura-coin-enter 4.8s ease-in-out infinite}
.icon-animate .icon-play{transform-box:view-box;transform-origin:16px 16px;animation:aura-play-pulse 3.6s ease-in-out infinite}
.icon-animate .icon-draw{stroke-dasharray:100;stroke-dashoffset:0;animation:aura-stroke-draw 5.5s ease-in-out infinite}
.icon-animate .icon-transfer-forward{animation:aura-transfer-forward 4.6s ease-in-out infinite}
.icon-animate .icon-transfer-back{animation:aura-transfer-back 4.6s ease-in-out infinite}
@keyframes aura-hand-turn{to{transform:rotate(360deg)}}
@keyframes aura-page-turn{0%,58%,100%{transform:scaleY(1);opacity:1}68%{transform:scaleY(.12);opacity:.5}80%{transform:scaleY(1);opacity:1}}
@keyframes aura-coin-enter{0%,60%,100%{transform:translate(0,0);opacity:1}70%{transform:translate(-5px,3px);opacity:0}71%{transform:translate(2px,-1px);opacity:0}88%{transform:translate(0,0);opacity:1}}
@keyframes aura-play-pulse{0%,60%,100%{transform:scale(1)}78%{transform:scale(1.13)}}
@keyframes aura-stroke-draw{0%,55%,100%{stroke-dashoffset:0}65%{stroke-dashoffset:100}87%{stroke-dashoffset:0}}
@keyframes aura-transfer-forward{0%,56%,100%{transform:translateX(0)}75%{transform:translateX(2.5px)}}
@keyframes aura-transfer-back{0%,56%,100%{transform:translateX(0)}75%{transform:translateX(-2.5px)}}
/* Paused/reduced-motion is the complete static drawing, never a missing check. */
.motion-paused :is(.semantic-icon,.aura-icon,.g6-icon) *,
[data-motion="paused"] :is(.semantic-icon,.aura-icon,.g6-icon) *{animation:none!important;transform:none!important;opacity:1!important;stroke-dashoffset:0!important}
@media(prefers-reduced-motion:reduce){:is(.semantic-icon,.aura-icon,.g6-icon) *{animation:none!important;transform:none!important;opacity:1!important;stroke-dashoffset:0!important}}
