.campaign-access-panel { background: rgba(255, 198, 92, .07); border: 1px solid rgba(255, 198, 92, .25); display: grid; gap: 12px; margin-top: 18px; padding: 15px; }
.campaign-access-panel h3 { color: #fff3d3; font-size: .82rem; letter-spacing: .1em; margin: 0; }
.campaign-access-panel p { color: rgba(232, 244, 249, .68); font-size: .76rem; line-height: 1.5; margin: 0; }
.campaign-access-status { color: #ffc65c !important; font-family: var(--mono, monospace); font-size: .7rem !important; }
.campaign-recovery-form { border-top: 1px solid rgba(255, 198, 92, .18); display: grid; gap: 10px; padding-top: 12px; }
.campaign-recovery-form label { color: rgba(255, 198, 92, .86); font-family: var(--mono, monospace); font-size: .64rem; letter-spacing: .08em; }
.campaign-recovery-form input { background: rgba(0, 7, 11, .87); border: 1px solid rgba(255, 198, 92, .25); color: #edfaff; font: inherit; min-height: 44px; padding: 10px 12px; width: 100%; }
.campaign-recovery-button { background: transparent; border: 1px solid rgba(255, 198, 92, .55); color: #fff3d3; cursor: pointer; font-family: var(--mono, monospace); font-size: .68rem; font-weight: 700; letter-spacing: .08em; min-height: 42px; }
.player-progression-dock { background: rgba(15, 8, 0, .72); border: 1px solid rgba(255, 198, 92, .26); display: grid; gap: 14px; margin-top: 18px; padding: 16px; }
.player-progression-heading { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.player-progression-heading p { color: #ffc65c; font-family: var(--mono, monospace); font-size: .7rem; letter-spacing: .08em; margin: 0; }
.player-progression-heading span { color: rgba(232, 244, 249, .5); font-family: var(--mono, monospace); font-size: .62rem; }
.player-ending-card { background: rgba(0, 6, 9, .86); border: 1px solid rgba(255, 119, 95, .34); display: grid; gap: 11px; padding: 15px; }
.player-ending-card[data-result="success"] { border-color: rgba(116, 244, 189, .45); }
.player-ending-card[data-result="secret"] { border-color: rgba(185, 117, 255, .5); }
.player-ending-meta { color: #ffad99; font-family: var(--mono, monospace); font-size: .65rem; letter-spacing: .08em; }
.player-ending-card h3 { color: #f9fdff; font-size: 1.02rem; letter-spacing: .08em; margin: 0; }
.player-ending-card p { color: rgba(232, 244, 249, .78); line-height: 1.65; margin: 0; white-space: pre-line; }
.player-ending-next { background: rgba(255, 198, 92, .08); border-left: 3px solid #ffc65c; color: #fff3d3 !important; padding: 10px 12px; }
.player-ending-media { border: 1px solid rgba(101, 231, 255, .2); color: #65e7ff; display: inline-flex; font-family: var(--mono, monospace); font-size: .67rem; padding: 9px 11px; text-decoration: none; width: fit-content; }
.player-claim-button { background: #ffc65c; border: 1px solid #ffc65c; color: #140c00; cursor: pointer; font-family: var(--mono, monospace); font-size: .7rem; font-weight: 800; letter-spacing: .08em; min-height: 44px; }
.player-claim-button:disabled { cursor: not-allowed; opacity: .45; }
.player-dossier-card { background: rgba(4, 20, 24, .82); border: 1px solid rgba(101, 231, 255, .24); display: grid; gap: 9px; padding: 14px; }
.player-dossier-card h3 { color: #eafcff; font-size: .86rem; letter-spacing: .1em; margin: 0; }
.player-dossier-code { color: #65e7ff; font-family: var(--mono, monospace); font-size: 1.05rem; letter-spacing: .1em; margin: 0; overflow-wrap: anywhere; }
.player-recovery-secret { background: rgba(255, 198, 92, .07); border: 1px dashed rgba(255, 198, 92, .4); color: #fff3d3; font-family: var(--mono, monospace); font-size: .78rem; overflow-wrap: anywhere; padding: 10px; }
.player-credential-warning { color: #ffad99 !important; font-size: .7rem !important; }
.player-profile-progress { display: grid; gap: 7px; }
.player-profile-progress article { align-items: center; border-top: 1px solid rgba(101, 231, 255, .12); display: flex; gap: 10px; justify-content: space-between; padding-top: 8px; }
.player-profile-progress strong { color: #eafcff; font-size: .72rem; }
.player-profile-progress span { color: rgba(232, 244, 249, .58); font-family: var(--mono, monospace); font-size: .62rem; }
@media (max-width: 560px) { .player-progression-heading { align-items: flex-start; flex-direction: column; } }
