/* Asmbly 0.9.28 — Hype + Loyalty */
.asmbly-hype-module{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid rgba(255,122,69,.22);border-radius:20px;background:linear-gradient(135deg,rgba(255,111,61,.10),rgba(207,83,255,.08));overflow:hidden}
.asmbly-hype-module-copy{display:grid;gap:2px;min-width:0}.asmbly-hype-module-copy b{font-size:15px}.asmbly-hype-module-copy span,.asmbly-hype-module-copy small{font-size:12px;color:var(--asmbly-muted,#6f7180)}
.asmbly-hype-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:linear-gradient(135deg,#ff713f,#ef4ca8 60%,#9d5cff);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 26px rgba(239,76,168,.18)}
.asmbly-hype-button:hover{transform:translateY(-1px)}.asmbly-hype-button:disabled{cursor:default;opacity:.78}.asmbly-hype-button.is-hyped{background:linear-gradient(135deg,#ef4ca8,#9d5cff)}.asmbly-hype-button.is-loading{animation:asmbly-hype-button-pulse .8s ease-in-out infinite alternate}
.asmbly-hype-fire{font-size:18px;line-height:1}.asmbly-hype-burst{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:visible}.asmbly-hype-burst i{position:absolute;left:70%;bottom:18%;font-style:normal;font-size:18px;color:#ff4f92;opacity:0;animation:asmbly-hype-float 1.25s ease-out forwards;animation-delay:calc(var(--i)*35ms);transform:translateX(calc((var(--i) - 2.5)*12px))}
@keyframes asmbly-hype-float{0%{opacity:0;transform:translate(0,10px) scale(.6)}18%{opacity:1}100%{opacity:0;transform:translate(calc((var(--i) - 2.5)*18px),-78px) scale(1.35) rotate(calc((var(--i) - 2.5)*8deg))}}
@keyframes asmbly-hype-button-pulse{to{filter:brightness(1.18);transform:scale(1.02)}}
.asmbly-hype-toast{position:fixed;z-index:100000;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,20px);max-width:min(92vw,460px);padding:12px 16px;border-radius:999px;background:#17151c;color:#fff;font-weight:800;box-shadow:0 18px 50px rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:.22s ease}.asmbly-hype-toast.show{opacity:1;transform:translate(-50%,0)}.asmbly-hype-toast[data-type="error"]{background:#761f35}

/* Event momentum fields */
.hype-level-spark .asmbly-hype-module{box-shadow:0 0 0 1px rgba(255,113,63,.08),0 10px 34px rgba(255,113,63,.08)}
.hype-level-glow .asmbly-hype-module{box-shadow:0 0 28px rgba(239,76,168,.18)}
.hype-level-pulse .asmbly-hype-module,.hype-level-surge .asmbly-hype-module,.hype-level-citywide .asmbly-hype-module{animation:asmbly-hype-module-breathe 3.6s ease-in-out infinite}
@keyframes asmbly-hype-module-breathe{0%,100%{box-shadow:0 0 0 rgba(239,76,168,0)}50%{box-shadow:0 0 34px rgba(239,76,168,.24)}}
.hype-level-surge .asmbly-hype-module{background:linear-gradient(135deg,rgba(255,97,54,.16),rgba(222,54,170,.13),rgba(143,84,255,.13))}.hype-level-citywide .asmbly-hype-module{border-color:rgba(255,178,62,.55);box-shadow:0 0 38px rgba(255,178,62,.24)}

/* Map/card visual levels. No effect obscures the marker or route controls. */
.asmbly-event-pin.hype-level-spark,.asmbly-marker-card.hype-level-spark,.asmbly-place-pin.hype-level-spark,.asmbly-place-marker-card.hype-level-spark{filter:drop-shadow(0 0 6px rgba(255,113,63,.45))}
.asmbly-event-pin.hype-level-glow,.asmbly-marker-card.hype-level-glow,.asmbly-place-pin.hype-level-glow,.asmbly-place-marker-card.hype-level-glow{filter:drop-shadow(0 0 10px rgba(239,76,168,.58))}
.asmbly-event-pin.hype-level-pulse,.asmbly-marker-card.hype-level-pulse,.asmbly-place-pin.hype-level-pulse,.asmbly-place-marker-card.hype-level-pulse,.asmbly-event-pin.hype-level-surge,.asmbly-marker-card.hype-level-surge,.asmbly-place-pin.hype-level-surge,.asmbly-place-marker-card.hype-level-surge,.asmbly-event-pin.hype-level-citywide,.asmbly-marker-card.hype-level-citywide,.asmbly-place-pin.hype-level-citywide,.asmbly-place-marker-card.hype-level-citywide{animation:asmbly-map-hype-pulse 2.8s ease-in-out infinite;transform-origin:center bottom}
@keyframes asmbly-map-hype-pulse{0%,100%{filter:drop-shadow(0 0 6px rgba(239,76,168,.32));transform:scale(1)}50%{filter:drop-shadow(0 0 18px rgba(239,76,168,.74));transform:scale(1.035)}}
.asmbly-feed-card.hype-level-glow,.asmbly-discover-card.hype-level-glow,.near-card.hype-level-glow,.asmbly-ecard.hype-level-glow,.asmbly-eitem.hype-level-glow{box-shadow:0 0 0 1px rgba(239,76,168,.12),0 14px 34px rgba(239,76,168,.10)}
.state-pill.hype{background:linear-gradient(135deg,#ff713f,#ef4ca8);color:#fff}

/* Viewer wallet + recap */
.my-asmbly-hype-wallet,.asmbly-recap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.my-asmbly-hype-wallet article,.asmbly-recap-grid article{display:grid;gap:4px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.05)}.my-asmbly-hype-wallet span,.asmbly-recap-grid span{font-size:12px;color:rgba(255,255,255,.66)}.my-asmbly-hype-wallet b,.asmbly-recap-grid b{font-size:26px}.my-asmbly-hype-wallet small{color:rgba(255,255,255,.58)}
.asmbly-recap-hero{padding:22px;border-radius:24px;background:radial-gradient(circle at 90% 0,rgba(239,76,168,.28),transparent 40%),linear-gradient(135deg,rgba(255,113,63,.15),rgba(130,86,255,.16));margin-bottom:12px}.asmbly-recap-hero span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#ffb23e}.asmbly-recap-hero h3{margin:6px 0;font-size:24px}.asmbly-recap-hero p{margin:0;color:rgba(255,255,255,.6)}
#myAsmblyHypeActivity article,#myAsmblyGiveaways article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}#myAsmblyHypeActivity article div,#myAsmblyGiveaways article div{display:grid;gap:3px}#myAsmblyHypeActivity span,#myAsmblyGiveaways span{font-size:12px;color:rgba(255,255,255,.56)}#myAsmblyHypeActivity strong{color:#ffb23e}#myAsmblyGiveaways button{min-height:42px;border:0;border-radius:999px;padding:0 14px;background:#ffb23e;color:#18100a;font-weight:900}

/* Host + Console */
.rca-hype-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rca-hype-metrics article{display:grid;gap:5px;padding:18px;border:1px solid var(--rca-line,rgba(0,0,0,.1));border-radius:20px;background:var(--rca-card,#fff)}.rca-hype-metrics span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--rca-muted,#6f7180)}.rca-hype-metrics b{font-size:30px}.rca-hype-history,.rca-hype-admin-list{display:grid;gap:0}.rca-hype-history div,.rca-hype-admin-list div,.rca-hype-campaigns article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--rca-line,rgba(0,0,0,.08))}.rca-hype-history em,.rca-hype-admin-list em{font-style:normal;color:var(--rca-muted,#6f7180)}
.rca-hype-rules-grid,.rca-hype-campaign-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rca-hype-rules-grid label,.rca-hype-campaign-form label{display:grid;gap:5px;font-weight:800}.rca-hype-rules-grid input,.rca-hype-campaign-form input,.rca-hype-campaign-form select,.rca-hype-campaign-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--rca-line,rgba(0,0,0,.12));border-radius:12px;background:var(--rca-card,#fff);color:inherit}.rca-hype-rules-grid .full,.rca-hype-campaign-form .full{grid-column:1/-1}.rca-hype-toggle{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.rca-hype-toggle input{width:auto;min-height:0}.rca-hype-campaigns article div{display:grid;gap:3px}.rca-hype-campaigns article span{font-size:12px;color:var(--rca-muted,#6f7180)}

@media(max-width:900px){.asmbly-hype-module{margin:0 16px 14px}.asmbly-hype-module-copy b{font-size:14px}.asmbly-hype-button{padding:0 13px}.my-asmbly-hype-wallet,.asmbly-recap-grid,.rca-hype-metrics{grid-template-columns:1fr}.rca-hype-rules-grid,.rca-hype-campaign-form{grid-template-columns:1fr}.rca-hype-rules-grid .full,.rca-hype-campaign-form .full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.asmbly-hype-button,.asmbly-hype-module,.asmbly-event-pin,.asmbly-marker-card,.asmbly-place-pin,.asmbly-place-marker-card{animation:none!important;transition:none!important}.asmbly-hype-burst{display:none!important}}
