/* SPARKD Man AI — isolated homepage assistant */

.sparkd-man-stage {
  width: min(1120px, 96vw);
  display: grid;
  grid-template-columns: minmax(250px, 320px) minmax(0, 760px);
  gap: 24px;
  align-items: start;
  justify-content: center;
  margin: 8px auto 0;
}

.sparkd-man-stage .meme-of-week { width: 100%; margin: 0; }
.sparkd-man-ai { position: relative; min-height: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; isolation: isolate; }
.sparkd-man-ai::before { content:""; position:absolute; inset:18% 2% 7%; border-radius:50%; background:radial-gradient(circle,rgba(0,255,130,.18),rgba(255,157,0,.08) 44%,transparent 72%); filter:blur(10px); opacity:.55; transition:opacity .25s ease,transform .25s ease; z-index:-1; }
.sparkd-man-ai.is-awake::before,.sparkd-man-ai.is-speaking::before { opacity:1; transform:scale(1.08); }
.sparkd-man-figure { width:min(340px,100%); height:430px; object-fit:contain; object-position:center bottom; display:block; background:transparent; filter:drop-shadow(0 14px 20px rgba(0,0,0,.7)); transform-origin:center bottom; transition:filter .25s ease,transform .25s ease; }
.sparkd-man-ai.is-awake .sparkd-man-figure { filter:drop-shadow(0 0 14px rgba(0,255,120,.6)) drop-shadow(0 18px 22px rgba(0,0,0,.72)); transform:translateY(-3px) scale(1.015); }
.sparkd-man-ai.is-speaking .sparkd-man-figure { animation:sparkdManSpeak .7s ease-in-out infinite alternate; }
@keyframes sparkdManSpeak { from{transform:translateY(-3px) scale(1.015)} to{transform:translateY(-7px) scale(1.028)} }
.sparkd-man-bubble { width:min(315px,96%); margin-top:-22px; padding:13px 14px; border-radius:16px; border:1px solid rgba(0,255,120,.48); background:rgba(5,12,12,.94); color:#fff; box-shadow:0 12px 35px rgba(0,0,0,.4),0 0 24px rgba(0,255,120,.10); text-align:left; line-height:1.4; z-index:3; }
.sparkd-man-name { color:#29f58b; font-weight:950; letter-spacing:.06em; font-size:13px; }
.sparkd-man-status { color:#cbd5d1; font-size:13px; margin-top:4px; min-height:36px; }
.sparkd-man-controls { width:min(315px,96%); display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:9px; }
.sparkd-man-control { border:1px solid rgba(0,255,120,.48); background:rgba(7,18,15,.92); color:#fff; min-height:42px; border-radius:999px; font-weight:900; cursor:pointer; transition:transform .16s ease,background .16s ease,border-color .16s ease; }
.sparkd-man-control:hover,.sparkd-man-control:focus-visible { transform:translateY(-1px); background:rgba(0,255,120,.12); border-color:#29f58b; outline:none; }
.sparkd-man-control.is-live { background:rgba(0,255,120,.16); box-shadow:0 0 18px rgba(0,255,120,.18); }
.sparkd-man-text-row { width:min(315px,96%); display:flex; gap:7px; margin-top:8px; }
.sparkd-man-text { flex:1; min-width:0; min-height:40px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(0,0,0,.72); color:#fff; padding:0 13px; }
.sparkd-man-send { width:44px; min-width:44px; height:40px; border-radius:50%; border:1px solid rgba(255,157,0,.55); background:rgba(255,122,0,.16); color:#fff; font-weight:950; cursor:pointer; }
.sparkd-man-note { width:min(315px,96%); color:#9aa8a2; font-size:11px; line-height:1.35; margin:7px 0 0; }
.token-lock-card { width:min(300px,100%); padding:22px 18px; border-radius:20px; border:1px solid rgba(0,255,120,.55); background:linear-gradient(145deg,rgba(7,18,15,.96),rgba(16,10,4,.94)); box-shadow:0 12px 36px rgba(0,0,0,.42),0 0 28px rgba(0,255,120,.12); text-align:center; }
.token-lock-icon { font-size:34px; line-height:1; margin-bottom:10px; }
.token-lock-title { color:#fff; font-size:21px; font-weight:950; line-height:1.05; letter-spacing:.02em; text-shadow:0 0 16px rgba(0,255,120,.28); }
.token-lock-meta { margin-top:8px; color:#29f58b; font-size:12px; font-weight:900; letter-spacing:.055em; line-height:1.35; }
.token-lock-link { display:inline-block; margin-top:14px; padding:10px 16px; border-radius:999px; border:1px solid rgba(255,157,0,.62); background:rgba(255,122,0,.15); color:#fff; text-decoration:none; font-size:12px; font-weight:950; letter-spacing:.06em; transition:transform .16s ease,background .16s ease,border-color .16s ease; }
.token-lock-link:hover,.token-lock-link:focus-visible { transform:translateY(-1px); background:rgba(255,122,0,.25); border-color:#ff9d00; outline:none; }

@media (min-width:981px) {
  .sparkd-man-stage { width:min(1280px,96vw); grid-template-columns:300px minmax(0,680px) 300px; column-gap:18px; justify-content:center; }
  .sparkd-man-stage .sparkd-man-ai { grid-column:1; grid-row:1 / span 2; width:300px; justify-self:end; align-self:start; justify-content:flex-start; overflow:visible; }
  .sparkd-man-stage .meme-of-week { grid-column:2; grid-row:1 / span 2; width:680px; max-width:100%; justify-self:center; }
  /* Right rail: proof is immediately above the 55M lock card. */
  .sparkd-man-stage .contest-proof-card { grid-column:3; grid-row:1; width:280px; max-width:280px; justify-self:start; align-self:end; margin:0 0 12px !important; }
  .sparkd-man-stage .token-lock-card { grid-column:3; grid-row:2; width:280px; justify-self:start; align-self:start; margin:0; }
  .sparkd-man-figure { width:280px; height:auto; max-width:280px; max-height:none; object-position:center top; margin:0 auto 8px; filter:drop-shadow(0 0 8px rgba(0,255,120,.42)) drop-shadow(0 0 18px rgba(0,255,120,.24)) drop-shadow(0 0 24px rgba(255,157,0,.14)) drop-shadow(0 14px 20px rgba(0,0,0,.55)); }
  .sparkd-man-bubble,.sparkd-man-controls,.sparkd-man-text-row,.sparkd-man-note { width:280px; max-width:280px; }
  .sparkd-man-bubble { margin-top:0; }
}

@media (max-width:980px) {
  .sparkd-man-stage { grid-template-columns:minmax(0,760px); gap:10px; }
  .sparkd-man-ai { min-height:0; width:min(540px,94vw); margin:0 auto; }
  .sparkd-man-figure { height:300px; width:min(260px,72vw); }
  .sparkd-man-stage .contest-proof-card { width:min(540px,94vw); margin:10px auto 0; }
  .token-lock-card { width:min(540px,94vw); margin:0 auto; }
}
@media (max-width:700px) {
  .sparkd-man-stage { width:94vw; }
  .sparkd-man-figure { height:255px; }
  .sparkd-man-bubble,.sparkd-man-controls,.sparkd-man-text-row,.sparkd-man-note { width:100%; }
  .sparkd-man-stage .contest-proof-card,.token-lock-card { width:100%; }
  .token-lock-card { padding:18px 15px; }
}
@media (prefers-reduced-motion:reduce) { .sparkd-man-ai.is-speaking .sparkd-man-figure { animation:none; } }
.sparkd-man-stage { margin-bottom:0; }
.hero > .sparkd-man-stage + h2 { margin-top:-10px; }
@media (max-width:980px) { .hero > .sparkd-man-stage + h2 { margin-top:0; } }
@media (min-width:981px) {
  .sparkd-man-stage { align-items:start; }
  .hero > .sparkd-man-stage + h2 { margin-top:-300px; }
}
