/* HumanAssist™ page: hero with the induction card, role grid, ladder, roster wall. Tokens from styles.css. */

/* The crown of operations stays where the swarm already draws it (69% / 34%).
   That center bubble is green and pulses. The Emperor is the approved player
   card, stationary inside it, with a purple edge. Other swarm nodes are unchanged. */
.neural-core{width:52px;height:52px;border-color:rgba(57,255,20,.9);background:radial-gradient(circle,rgba(57,255,20,.42),rgba(57,255,20,.08) 62%,transparent 70%);box-shadow:0 0 10px rgba(57,255,20,.7),0 0 22px rgba(57,255,20,.28)}
.neural-core i,.neural-core i:nth-child(2){width:16px;height:16px;border-color:rgba(57,255,20,.55)}
.neural-core b{background:#d8ffc8;box-shadow:0 0 6px 2px #39ff14}
.castle-sovereign{position:absolute;z-index:5;left:69%;top:34%;display:block;width:28px;height:28px;padding:0;border-radius:50%;transform:translate(-50%,-50%);animation:none;pointer-events:auto}
.castle-sovereign img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 22%;border:2px solid rgba(214,107,255,.95);box-shadow:0 0 5px 1px rgba(214,107,255,.7)}
@media(max-width:760px){.neural-core{width:44px;height:44px}.castle-sovereign{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.castle-sovereign img{box-shadow:0 0 6px 2px rgba(214,107,255,.7)}}
.agent-dialog-grid.is-sovereign>img{object-fit:contain;object-position:center;background:#07060f}
.ha-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:40px; align-items:start; }
.ha-hero .section-lede strong { color:var(--gold-bright); }
.ha-meter { grid-template-columns:repeat(4,1fr); margin-top:30px; }
.ha-meter strong { font-size:17px; }
.ha-card { margin:0; }
.ha-card img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }
.ha-card figcaption { margin-top:12px; color:var(--muted); font-size:12px; letter-spacing:.06em; text-align:center; }
.ha-role-grid { grid-template-columns:repeat(4,1fr); }
.ha-role-grid article>span { font-size:clamp(20px,2vw,28px); }
.ha-role-grid article p { margin-top:18px; color:var(--muted); line-height:1.6; }
.ha-note { max-width:780px; margin:30px auto 0; color:var(--muted); line-height:1.7; text-align:center; font-family:Georgia,serif; font-size:16px; }
.ha-ladder .tier-list b { color:var(--parchment); }
.ha-ladder .tier-note { margin-top:18px; color:var(--gold-bright); font-weight:900; letter-spacing:.14em; text-transform:uppercase; font-size:11px; }
.ha-doors { grid-template-columns:repeat(2,1fr); }
.ha-doors h3 { margin-top:44px; }
.ha-roster { list-style:none; margin:34px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.ha-member { display:grid; grid-template-columns:112px minmax(0,1fr); gap:20px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.ha-member img, .ha-member-empty { width:112px; height:140px; border-radius:14px; object-fit:cover; border:1px solid var(--line); }
.ha-member-empty { display:grid; place-items:center; color:var(--muted); font-size:44px; font-weight:900; background:radial-gradient(circle at 50% 30%, rgba(139,108,255,.18), transparent 70%), var(--bg); }
.ha-member-no { color:var(--gold-bright); font-size:10px; font-weight:900; letter-spacing:.14em; }
.ha-member h3 { margin:8px 0 6px; font-size:24px; }
.ha-member-role { color:var(--parchment); font-weight:700; }
.ha-member-meta { margin-top:6px; color:var(--muted); font-size:13px; }
.ha-member-contribution { margin-top:12px; color:var(--parchment); font-size:14px; line-height:1.55; }
.ha-member-next { border-style:dashed; }
.ha-home-intro { max-width:880px; margin:-8px 0 28px; color:var(--muted); font-size:18px; line-height:1.65; }
.ha-home-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ha-home-card { display:grid; grid-template-columns:minmax(120px,180px) minmax(0,1fr); gap:22px; align-items:center; padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.ha-home-card-art { display:block; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.ha-home-card-art img { display:block; width:100%; height:auto; }
.ha-home-card-kicker { color:var(--gold-bright); font-size:11px; font-weight:900; letter-spacing:.12em; }
.ha-home-card h3 { margin:10px 0 8px; font-size:21px; }
.ha-home-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.6; }
.ha-home-foot { margin:24px 0 0; text-align:right; }
@media (max-width: 900px) {
  .ha-hero-grid, .ha-role-grid, .ha-doors, .ha-roster, .ha-home-cards { grid-template-columns:1fr; }
  .ha-meter { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 560px) {
  .ha-home-card { grid-template-columns:104px minmax(0,1fr); gap:14px; padding:14px; }
  .ha-home-card-kicker { font-size:10px; letter-spacing:.08em; }
  .ha-home-card h3 { font-size:18px; }
  .ha-home-card p { font-size:14px; }
}
