.overlay:has(.promotion-card){position:fixed;inset:82px 12px 12px;z-index:25;padding:0;align-items:center;background:transparent;pointer-events:none}
.promotion-card{pointer-events:auto;display:flex;flex-direction:column;width:min(640px,100%);max-height:100%;padding:0;overflow:hidden;text-align:left;background:#fff9ee;border:1px solid #c6b49d;border-radius:15px;box-shadow:0 18px 90px #30233666;animation:promotion-appear .18s ease-out}
.promotion-scroll{overflow:auto;padding:24px 28px 12px}.promotion-verdict{display:flex;align-items:center;gap:28px;min-height:112px}.promotion-portrait{position:relative;flex:0 0 112px;height:112px;background:#e2d9cd;border:3px solid #d8c6b1;border-radius:12px}.promotion-portrait img{width:100%;height:100%;object-fit:cover;border-radius:9px;filter:saturate(.65)}.promotion-stamp{position:absolute;left:-9px;right:-20px;top:38%;transform:rotate(-11deg);text-align:center;border:3px solid #aa4739;color:#a64034;background:#fff4e6eb;padding:5px 3px;font:800 18px/1.1 'Space Grotesk',sans-serif;letter-spacing:.6px;animation:promotion-stamp .36s cubic-bezier(.2,.8,.2,1) both;animation-delay:.14s}.promotion-card.lost .promotion-stamp{font-size:15px;color:#328877;border-color:#328877}
.promotion-card .eyebrow{font-size:12px;letter-spacing:1.1px}.promotion-card h2{font:700 30px/1.1 'Space Grotesk',sans-serif;margin:8px 0}.promotion-card h2 s{text-decoration-thickness:3px;text-decoration-color:#b44b37}.promotion-card p{font-size:14px;line-height:1.4;margin:8px 0;color:#74646b}
.promotion-ladder{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:0;margin:20px 0}.promotion-ladder li{display:flex;flex-direction:column;gap:5px;color:#9f938b;font-size:11px;line-height:1.25;position:relative}.promotion-ladder b{width:24px;height:24px;border-radius:50%;background:#e9dfd0;display:grid;place-items:center;font-size:12px}.promotion-ladder .beaten b{background:#298575;color:white}.promotion-ladder .beaten span{text-decoration:line-through;text-decoration-thickness:2px;color:#8b7b72}.promotion-ladder .just-beaten span{animation:promotion-cross .65s ease-out .25s both}.promotion-ladder .up-next{color:#9e472e;font-weight:700}.promotion-ladder .up-next b{background:#ce684a;color:#fff}
.promotion-gains{background:#eee9df;padding:13px 15px;border-radius:9px}.promotion-gains-heading{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#3c6258;margin-bottom:12px}.promotion-gains-heading>span{font-size:12px;color:#568573}.promotion-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 17px}.promotion-skill>span{display:block;font-size:12px;color:#776d67}.promotion-skill>strong{font-size:14px;color:#514d48}.promotion-skill.level-up>strong{color:#238777}.promotion-skill-track{margin-top:4px;height:4px;border-radius:3px;background:#d6cdbf;overflow:hidden}.promotion-skill-track i{display:block;height:100%;background:#438f7c;width:var(--to);animation:promotion-fill .65s ease-out .35s both}.promotion-skill.level-up .promotion-skill-track i{background:#c3913f}.promotion-card .promotion-unlock{color:#347763;font-size:12px;font-weight:600;margin:12px 0 0}
.promotion-challenger{margin-top:15px;border-left:3px solid #c96848;padding:3px 0 2px 13px;animation:promotion-reveal .3s ease-out .7s both}.promotion-challenger>span{display:block;font-size:11px;letter-spacing:.8px;color:#a56846}.promotion-challenger>strong{font:600 23px 'Space Grotesk';display:block;margin:3px 0}.promotion-card .promotion-challenger blockquote{font:italic 16px/1.3 Georgia,serif;color:#745e66;margin:5px 0}.promotion-finished{font-weight:700;color:#96723c!important}
.promotion-actions{flex-shrink:0;padding:13px 28px 7px;background:#fff9ee;border-top:1px solid #e4d8c6}.promotion-actions .primary{width:100%;font-size:16px;padding:13px 18px;display:flex;justify-content:space-between;align-items:center}.promotion-actions .primary small{font-size:11px;margin:0;color:inherit;opacity:.8}.promotion-actions .career-result-actions{margin:2px 0 0}
@keyframes promotion-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes promotion-stamp{from{opacity:0;transform:scale(1.4) rotate(-17deg)}to{opacity:1;transform:scale(1) rotate(-11deg)}}@keyframes promotion-cross{from{opacity:.3;text-decoration-color:transparent}to{opacity:1;text-decoration-color:#b44b37}}@keyframes promotion-fill{from{width:var(--from)}to{width:var(--to)}}@keyframes promotion-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:700px){.overlay:has(.promotion-card){inset:70px 10px 10px}.promotion-scroll{padding:17px 18px 11px}.promotion-verdict{gap:22px;min-height:85px}.promotion-portrait{flex-basis:86px;height:86px}.promotion-stamp{font-size:14px;left:-6px;right:-16px;padding:4px 2px}.promotion-card.lost .promotion-stamp{font-size:12px}.promotion-card .eyebrow{font-size:10px}.promotion-card h2{font-size:25px}.promotion-card p{font-size:13px}.promotion-ladder{gap:5px;margin:16px 0}.promotion-ladder li{font-size:9px}.promotion-ladder b{font-size:10px;width:22px;height:22px}.promotion-skills{gap:10px}.promotion-skill>span{font-size:11px}.promotion-skill>strong{font-size:13px}.promotion-gains{padding:11px}.promotion-gains-heading{font-size:13px}.promotion-gains-heading>span{font-size:11px}.promotion-actions{padding:11px 18px 4px}.promotion-actions .primary{font-size:14px}.promotion-challenger>strong{font-size:21px}.promotion-card .promotion-challenger blockquote{font-size:15px}.promotion-card .promotion-unlock{font-size:11px}}
.reduced .promotion-card,.reduced .promotion-card *{animation:none!important}@media(prefers-reduced-motion:reduce){.promotion-card,.promotion-card *{animation:none!important}}
