.class-insignia{color:var(--accent);width:120px;height:138px;flex:none;overflow:visible}.class-insignia[data-tier=hybrid]{color:var(--tier-hybrid)}.class-insignia[data-tier=elite]{color:var(--tier-elite)}.class-insignia[data-tier=legendary]{color:var(--tier-legendary)}.insignia-fill{fill:currentColor;fill-opacity:.035;stroke:currentColor;stroke-opacity:.5}.insignia-inner{fill:none;stroke:currentColor;stroke-opacity:.15}.insignia-ticks{stroke:currentColor;stroke-opacity:.4}.insignia-glyph,.insignia-rank{stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.class-unlock{width:min(460px,calc(100% - 32px));max-height:90dvh;overflow-y:auto;text-align:center;border:1px solid var(--unlock-line);border-radius:10px;background:var(--unlock-bg);color:var(--unlock-fg);padding:32px;box-shadow:0 24px 100px var(--popup-shadow)}.class-unlock::backdrop{background:var(--unlock-backdrop);backdrop-filter:blur(5px)}.class-unlock .class-insignia{width:142px;height:164px;margin:16px auto 20px;display:block;filter:drop-shadow(0 0 28px var(--unlock-glow))}.class-unlock h2{font-size:34px;line-height:1.1;letter-spacing:-.035em;font-weight:550;margin:12px 0 16px}.unlock-label{font:10px 'IBM Plex Mono',monospace;letter-spacing:.15em;color:var(--unlock-label)}.unlock-description{font-size:15px;line-height:1.6;color:var(--unlock-text);text-wrap:pretty}.unlock-proof{font-size:12px;line-height:1.6;color:var(--unlock-proof);padding:18px 0;border-block:1px solid var(--unlock-rule);margin:24px 0}.class-unlock .primary{width:100%;font-size:13px}.class-unlock .text-button{min-height:44px;margin-top:8px}.class-unlock .error{font-size:13px;line-height:1.5}.class-unlock[open]{animation:class-reveal .25s ease-out}@keyframes class-reveal{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.character-growth{margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--line);text-align:left}.character-growth strong{font:12px 'IBM Plex Mono',monospace;color:var(--accent)}.character-growth p{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0}.character-growth progress{appearance:none;display:block;width:100%;height:3px;border:0;background:var(--line);color:var(--accent);border-radius:0}.character-growth progress::-webkit-progress-bar{background:var(--line)}.character-growth progress::-webkit-progress-value{background:var(--accent)}.character-growth progress::-moz-progress-bar{background:var(--accent)}#character-skills{padding:0;list-style:none;font-size:11px;line-height:1.7;text-align:left;margin:18px 0 0}#character-skills li{display:flex;justify-content:space-between;gap:12px;margin:8px 0}#character-skills li span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}
.character-sheet .profile-insignia{width:106px;height:124px}
@media(max-width:760px){.character-sheet .profile-insignia{width:80px;height:94px}.character-growth,#character-skills{grid-column:1/-1}.character-growth{width:100%;margin-top:18px}.class-unlock{padding:26px 22px}.class-unlock h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.class-unlock[open]{animation:none}}
.character-ladder{margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);text-align:left;display:grid;gap:4px}.character-ladder p{margin:0;font:12px 'IBM Plex Mono',monospace;color:var(--fg)}
.ladder-link{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font:12px 'IBM Plex Mono',monospace;text-decoration:none}.ladder-link:hover{color:var(--fg)}
@media(max-width:760px){.character-ladder{grid-column:1/-1;width:100%}}
