/* ── INITIATION WIZARD ──────────────────────────────────────────────────────── */

#init-wizard{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:24px;
  font-family:var(--font-body);color:var(--text)}
#init-wizard[hidden]{display:none}
.iw-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(var(--acc-rgb),0.10),transparent 60%),rgba(4,3,9,0.94);
  backdrop-filter:blur(14px)}

/* progress runes */
.iw-runes{position:relative;display:flex;align-items:center;gap:6px;margin-bottom:26px;z-index:1}
.iw-rune{font-size:13px;color:var(--muted);transition:color .35s,text-shadow .35s}
.iw-rune.active{color:var(--acc);text-shadow:0 0 12px var(--acc-glow)}
.iw-rune.done{color:rgba(var(--acc-rgb),0.55)}
.iw-line{width:26px;height:1px;background:var(--muted);transition:background .35s}
.iw-line.done{background:rgba(var(--acc-rgb),0.5)}

/* panel */
.iw-panel{position:relative;z-index:1;width:min(94vw,460px);
  background:var(--bg-panel);border:1px solid var(--acc-border);border-radius:18px;
  padding:30px 30px 26px;box-shadow:0 0 60px rgba(var(--acc-rgb),0.10),0 24px 60px rgba(0,0,0,0.6)}
.iw-step{display:flex;flex-direction:column;animation:iwIn .4s ease}
.iw-step[hidden]{display:none}
@keyframes iwIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* step 0 intro */
.iw-sigil{width:64px;height:64px;color:var(--acc);align-self:center;filter:drop-shadow(0 0 14px var(--acc-glow));margin-bottom:6px}
.iw-sigil svg{width:100%;height:100%}
.iw-title{font-family:var(--font-display);font-size:26px;letter-spacing:.18em;text-align:center;margin:8px 0 10px;
  background:linear-gradient(180deg,var(--text),var(--acc));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.iw-lore{font-size:13px;line-height:1.7;color:var(--sub);text-align:center;margin-bottom:22px}
.iw-hint{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--sub);text-align:center;margin-top:14px;text-transform:uppercase;opacity:.7}

/* heads */
.iw-head{margin-bottom:6px}
.iw-kicker{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(var(--acc-rgb),0.6)}
.iw-h2{font-family:var(--font-display);font-size:20px;letter-spacing:.04em;margin-top:4px}
.iw-sub{font-size:12.5px;line-height:1.6;color:var(--sub);margin:8px 0 16px}
.iw-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sub);margin:14px 0 7px}
.iw-opt{color:var(--muted);text-transform:none;letter-spacing:0}

/* inputs */
.iw-inrow{display:flex;gap:8px;align-items:stretch}
.iw-input{flex:1;width:100%;background:rgba(4,3,9,0.7);border:1px solid var(--acc-border);border-radius:10px;
  padding:11px 14px;font-family:var(--font-body);font-size:13px;color:var(--text);outline:none;transition:border-color .2s}
.iw-input:focus{border-color:rgba(var(--acc-rgb),0.55)}
.iw-mono{font-family:var(--font-mono);letter-spacing:.12em}
.iw-ta{resize:vertical;min-height:84px;line-height:1.6}
.iw-ta-wrap{position:relative}
.iw-craft{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;gap:5px;
  background:rgba(var(--acc-rgb),0.14);border:1px solid rgba(var(--acc-rgb),0.4);border-radius:8px;
  padding:6px 11px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--acc);cursor:pointer;transition:all .18s}
.iw-craft:hover{background:rgba(var(--acc-rgb),0.22)}
.iw-craft svg{width:13px;height:13px}
.iw-craft:disabled{opacity:.5;cursor:wait}
.iw-toggle{display:flex;align-items:center;justify-content:center;width:42px;background:rgba(4,3,9,0.7);
  border:1px solid var(--acc-border);border-radius:10px;color:var(--sub);cursor:pointer;transition:color .2s}
.iw-toggle:hover{color:var(--acc)}
.iw-toggle svg{width:17px;height:17px}
.iw-err{font-size:11px;color:#ff6b6b;margin-top:7px}
.iw-note{font-size:11px;color:var(--sub);margin-top:8px;min-height:14px;line-height:1.5}
.iw-note--ok{color:#7dcc90}
.iw-link{display:inline-block;margin-top:11px;font-family:var(--font-mono);font-size:11px;color:rgba(var(--acc-rgb),0.75);text-decoration:none}
.iw-link:hover{color:var(--acc)}
.iw-shake{animation:iwShake .4s}
@keyframes iwShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}

/* model grid */
.iw-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.iw-card{display:flex;flex-direction:column;gap:3px;text-align:left;background:rgba(4,3,9,0.6);
  border:1px solid var(--acc-border);border-radius:11px;padding:11px 13px;cursor:pointer;transition:all .18s}
.iw-card:hover{border-color:rgba(var(--acc-rgb),0.4)}
.iw-card.selected{border-color:var(--acc);background:rgba(var(--acc-rgb),0.12);box-shadow:0 0 16px rgba(var(--acc-rgb),0.12)}
.iw-card-name{font-size:13px;color:var(--text);font-weight:500}
.iw-card-note{font-size:10.5px;color:var(--sub);line-height:1.4}

/* tiers */
.iw-tiers{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.iw-tier{display:flex;flex-direction:column;gap:2px;text-align:left;background:rgba(4,3,9,0.6);
  border:1px solid var(--acc-border);border-radius:11px;padding:10px 12px;cursor:pointer;transition:all .18s}
.iw-tier:hover{border-color:rgba(var(--acc-rgb),0.4)}
.iw-tier.active{border-color:var(--acc);background:rgba(var(--acc-rgb),0.12)}
.iw-tier-label{font-size:12.5px;color:var(--text)}
.iw-tier-sub{font-size:10px;color:var(--sub);line-height:1.35}

/* trait picker */
.iw-traits-toggle{align-self:flex-start;margin-top:13px;background:none;border:none;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:rgba(var(--acc-rgb),0.7);cursor:pointer}
.iw-traits{margin-top:12px;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;
  padding:12px;background:rgba(4,3,9,0.5);border:1px solid var(--acc-border);border-radius:11px}
.iw-q-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sub);margin-bottom:6px}
.iw-q-chips{display:flex;flex-wrap:wrap;gap:6px}
.iw-chip{background:rgba(var(--acc-rgb),0.06);border:1px solid var(--acc-border);border-radius:999px;
  padding:5px 11px;font-size:11px;color:var(--sub);cursor:pointer;transition:all .15s}
.iw-chip:hover{color:var(--text);border-color:rgba(var(--acc-rgb),0.4)}
.iw-chip.on{background:rgba(var(--acc-rgb),0.18);border-color:var(--acc);color:var(--text)}
.iw-traits-gen{margin-top:12px}

/* buttons / nav */
.iw-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.iw-btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;border-radius:10px;cursor:pointer;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:11px 18px;transition:all .18s;border:1px solid transparent}
.iw-btn svg{width:14px;height:14px}
.iw-btn--primary{background:rgba(var(--acc-rgb),0.16);border-color:rgba(var(--acc-rgb),0.45);color:var(--acc)}
.iw-btn--primary:hover{background:rgba(var(--acc-rgb),0.26);box-shadow:0 0 18px rgba(var(--acc-rgb),0.18)}
.iw-btn--ghost{background:none;border-color:var(--acc-border);color:var(--sub)}
.iw-btn--ghost:hover{color:var(--text);border-color:rgba(var(--acc-rgb),0.35)}
.iw-btn--gen{background:rgba(var(--acc-rgb),0.1);border-color:rgba(var(--acc-rgb),0.35);color:var(--acc);padding:11px 14px;white-space:nowrap}
.iw-btn--gen:hover{background:rgba(var(--acc-rgb),0.2)}
.iw-btn--primary[data-act="begin"]{align-self:center;margin-top:6px;padding:13px 26px;font-size:12px}
.iw-btn:disabled{opacity:.5;cursor:wait}

@media (max-width:480px){
  .iw-grid,.iw-tiers{grid-template-columns:1fr}
  .iw-panel{padding:24px 20px}
}
