.character-builder-steps{display:flex;gap:8px;margin:18px 0;list-style:none;padding:0}
.character-builder-steps button{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--cream);color:var(--ink);font-weight:800}
.character-builder-steps button[aria-current="step"]{border-color:var(--gold);background:var(--gold);color:var(--navy)}
.character-builder-steps span{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border:1px solid currentColor;border-radius:50%}
.character-builder-step[hidden]{display:none}
.character-builder-step h4{margin:0 0 14px;font-size:20px;color:var(--navy)}
.character-builder-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.character-builder-nav button{min-height:46px;padding:10px 18px;border:1px solid var(--line);border-radius:6px;color:var(--navy);background:var(--cream);font-weight:900}
.character-builder-nav .builder-next{background:var(--gold);border-color:var(--gold)}
.character-builder-nav button:disabled{opacity:.45;cursor:default}
.character-builder-badge{animation:character-badge-reveal .45s ease-out}
.curriculum-download{display:inline-flex;align-items:center;min-height:48px;margin-top:14px;border-radius:6px}
@keyframes character-badge-reveal{from{transform:translateY(12px) scale(.85);opacity:.35}to{transform:translateY(0) scale(1);opacity:1}}
@media(max-width:700px){.character-builder-steps{gap:4px}.character-builder-steps button{font-size:12px;padding:7px 5px}.character-builder-steps span{width:20px;height:20px}.bundle-detail-panel{padding:20px}.bundle-detail-art.character{min-height:240px}}
@media(prefers-reduced-motion:reduce){.character-builder-badge{animation:none}}