/* Homepage hero: deck slide 1 animated diagram (copied from earn-deck.css). */
:root{--q-green:var(--accent);--q-yellow:var(--gold)}
.hero-map{width:100%;height:auto;display:block;max-height:58vh}
.hero-map text{font-family:var(--font-mono,monospace);fill:var(--ink);font-size:var(--text-lead)}
.hero-map .hm-head{fill:var(--ink-3);font-size:var(--text-small);letter-spacing:var(--tracking-label);text-transform:uppercase}
.hero-map .hm-usd{fill:var(--ink);font-size:var(--text-lead)}
.hm-chip rect,.hm-strat rect{fill:var(--bg-2);stroke:var(--rule-strong)}
.hm-strat text{fill:var(--q-green)}
.hm-soon rect{fill:none;stroke:var(--rule-strong);stroke-dasharray:5 5}
.hm-soon text{fill:var(--ink-3);font-size:var(--text-body)}
.hm-core rect{fill:var(--accent-soft);stroke:var(--q-green)}
.hm-core .hm-brand{font-size:var(--text-h2);fill:var(--ink)}
.hm-flow path,.fm-flow{fill:none;stroke:var(--q-green);stroke-width:1.6;stroke-dasharray:6 8;animation:q-flow 1.4s linear infinite}
.deck-cta{display:inline-block;margin-top:10px;padding:10px 18px;border-radius:var(--radius-sm);background:var(--q-green);color:var(--accent-ink);text-decoration:none;font-size:var(--text-body)}
@media(prefers-reduced-motion:reduce){.hm-flow path,.fm-flow,.hm-strike,.hm-live{animation:none}}
.pay-in{fill:var(--q-green)}
.pay-line{fill:none;stroke:var(--q-green)}
.hm-strat rect{transition:none;animation:strat-on 9s linear infinite both}
.waffle-row{display:flex;gap:22px;align-items:center;margin:16px 0}
.pay-in{opacity:.32!important}
.pay-line{stroke-width:2.6!important}
.hero-map .scene{opacity:0;animation:scene 12s linear infinite both}
.hero-map .sc-b{animation-delay:4s}
.hero-map .sc-c{animation-delay:8s}
.hero-map .sc-t{fill:var(--ink-3);font-size:var(--text-ui)}
.conv{animation:conv 12s ease-in-out infinite both}
.conv text{font-size:var(--text-ui);fill:var(--ink-2)}
.conv-one{opacity:0;animation:conv-one 12s ease-in-out infinite both}
.mini rect{fill:var(--accent-soft);stroke:var(--accent-line)}
.mini .mini-l{fill:var(--q-green);font-size:var(--text-small)}
.mini-ax{stroke:var(--rule-strong)}
.mini-today{stroke:var(--muted);stroke-dasharray:3 3}
.coin circle{fill:var(--q-yellow)}
.coin text{fill:var(--accent-ink);font-size:var(--text-lead);font-weight:600}
.coin{animation:coin 12s ease-in infinite both}
.coin.c1{animation-delay:.5s}
.coin.c2{animation-delay:1s}
.hm-flow.f-in path,.hm-flow.f-out path,.hm-flow.f-pay path{animation:q-flow 1.4s linear infinite,flow-phase 12s linear infinite both}
.hm-flow.f-out path{animation-delay:0s,4s}
.hm-flow.f-pay path{stroke:var(--q-yellow);animation-delay:0s,8s}
.hm-flow.f-pay path{stroke-opacity:0}
.hero-map .hm-strat rect{animation:strat-on 12s linear 4s infinite both}
@media(prefers-reduced-motion:reduce){.hero-map .scene,.conv,.conv-one,.coin,.hm-flow path{animation:none}.hero-map .sc-b{opacity:1}}
.hm-flow.f-pay path{animation:q-flow-rev 1.4s linear infinite,flow-pay 12s linear 8s infinite both}
@keyframes coin{0%,68%{transform:translate(0,0);opacity:0}70%{opacity:1}85%{transform:translate(-170px,0);opacity:1}88%,100%{transform:translate(-190px,0);opacity:0}}
@keyframes conv{0%,6%{transform:translate(0,0);opacity:1}20%{transform:translate(var(--dx),var(--dy));opacity:0}100%{transform:translate(var(--dx),var(--dy));opacity:0}}
@keyframes conv-one{0%,17%{opacity:0}22%,30%{opacity:1}33%,100%{opacity:0}}
@keyframes flow-pay{0%{stroke-opacity:0}3%,30%{stroke-opacity:1}33%,100%{stroke-opacity:0}}
@keyframes flow-phase{0%{stroke-opacity:.15}3%,30%{stroke-opacity:1}33%,100%{stroke-opacity:.15}}
@keyframes q-flow{to{stroke-dashoffset:-28}}
@keyframes q-flow-rev{to{stroke-dashoffset:-28}}
@keyframes scene{0%{opacity:0}3%{opacity:1}30%{opacity:1}33%{opacity:0}100%{opacity:0}}
@keyframes strat-on{0%{stroke:var(--rule-strong);fill:var(--bg-2)}4%,30%{stroke:var(--q-green);fill:var(--accent-soft)}34%,100%{stroke:var(--rule-strong);fill:var(--bg-2)}}
.hero-map .hm-rule{stroke:var(--accent-line)}
.hero-map .hm-row{fill:var(--ink-3);font-size:var(--text-small);letter-spacing:var(--tracking-label);text-transform:uppercase}
.hero-map .ly rect{fill:var(--bg-2);stroke:var(--rule-strong);animation:ly-on 12s linear infinite both}
.hero-map .ly text{fill:var(--ink-2);font-size:var(--text-ui)}
.hero-map .ly-b rect{animation-delay:4s}
.hero-map .ly-c rect{animation-delay:8s}
.hero-map .hm-next rect{fill:none;stroke:var(--accent);stroke-dasharray:5 5}
.hero-map .hm-next text{fill:var(--accent)}
.hero-map .hm-soon-h{fill:var(--accent)}
@keyframes ly-on{0%{stroke:var(--rule-strong);fill:var(--bg-2)}3%,30%{stroke:var(--accent);fill:var(--accent-soft)}33%,100%{stroke:var(--rule-strong);fill:var(--bg-2)}}
@media(prefers-reduced-motion:reduce){.hero-map .ly rect{animation:none}}
.home-hero .hero-map{max-height:none;margin:26px 0 8px}
