/* Shared Premium identity across profile, ranking and live match fragments. */
.op-sidebar .op-premium-promo,.op-mobile-menu-panel .op-premium-promo{display:flex;align-items:center;gap:11px;flex-shrink:0;padding:15px 12px;margin:0 0 21px;border:1px solid #ffe59b;border-radius:10px;background:linear-gradient(110deg,#ff9c28,#ffcc49 70%,#ffe89e);color:#392306;box-shadow:0 5px 24px #ffae1929;text-decoration:none;transition:filter .18s,transform .18s}.op-premium-promo>span{display:grid;gap:3px;flex:1}.op-premium-promo strong{font-size:17px;font-weight:850;letter-spacing:-.4px}.op-premium-promo small{font-size:10px;color:#643b10}.op-premium-promo>b{font-size:19px}.op-premium-promo:hover{filter:brightness(1.08);transform:translateY(-1px)}.op-premium-promo[aria-current]{outline:2px solid #ffca46;outline-offset:3px}.op-sidebar .op-sidebar-play{margin-bottom:12px}.op-mobile-menu-panel .op-premium-promo{margin-top:10px}.premium-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex:0 0 auto;width:25px;height:25px;margin-left:7px;border:1px solid #e8b542;border-radius:7px;background:linear-gradient(135deg,#ffc850,#f39c1b);color:#33210a;box-shadow:0 2px 9px #f4b63224;cursor:help;font-size:12px;line-height:1}.premium-badge:focus-visible{outline:2px solid #fff;outline-offset:3px}.premium-badge-tip{display:none;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);padding:9px 11px;border:1px solid #806832;border-radius:7px;background:#211c12;color:#ffe2a1;font:600 11px/1.4 Archivo,sans-serif;white-space:nowrap;z-index:60;pointer-events:none;letter-spacing:0}.premium-badge:hover>.premium-badge-tip,.premium-badge:focus>.premium-badge-tip{display:block}.player-name h1 .premium-badge{width:32px;height:32px;vertical-align:middle}.room-rosters .roster-player{position:relative;isolation:isolate;min-height:74px;border-color:#ffffff09}.room-rosters .roster-premium-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:-2}.room-rosters .roster-player:has(.roster-premium-banner):after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--navy-950)ec,var(--navy-950)95 65%,var(--navy-950)c7);z-index:-1}.room-rosters .roster-player-name>strong{overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.6}.room-rosters .roster-player-name .premium-badge{width:22px;height:22px;margin-left:5px}.room-rosters .roster-player-name .premium-badge-tip{left:0;transform:none}.lb-page .lb-player strong{overflow:visible;white-space:normal;overflow-wrap:anywhere}.lb-page .premium-badge{width:22px;height:22px}.lb-page .premium-badge-tip{left:0;transform:none}.player-tabs{flex-wrap:wrap}.profile-customize .pm-panel{border-color:#785923}.profile-customize .pm-upload-grid>article{background:#201c16;border:1px solid #493a26;border-radius:12px;padding:20px}.profile-customize .pm-preview.pm-banner{height:180px}.profile-customize .pm-preview.pm-avatar{border:2px solid #f6bb4d;border-radius:16px}.profile-customize .pm-page{padding-bottom:0}@media(prefers-reduced-motion:reduce){.op-sidebar .op-premium-promo,.op-mobile-menu-panel .op-premium-promo{transition:none;transform:none}}
.player-page .player-hero:has(.player-custom-banner){padding-top:0;min-height:0;align-items:stretch}
/* Keep uploaded artwork in its own row so it can never obscure profile controls. */
.player-page .player-hero:has(.player-custom-banner)::before{display:none}
.player-page .player-custom-banner{position:relative;display:block;grid-column:1 / -1;width:100%;height:clamp(180px,22vw,280px);object-fit:cover;object-position:center 55%;border-radius:13px 13px 0 0;pointer-events:none}
.player-page .player-hero:has(.player-custom-banner)>.player-identity{background:var(--pp-panel);min-width:0}
.player-page .player-hero:has(.player-custom-banner)>.player-rank{background:var(--pp-panel)}
.player-page .player-name{min-width:0}
.player-page .player-name h1{overflow-wrap:anywhere}
.player-page .player-actions a{display:inline-flex;align-items:center;justify-content:center}
.player-page .player-tabs{flex-wrap:wrap;overflow:visible}
.player-page .player-tabs a{font-size:12px}
.profile-customize{padding-bottom:0}

/* The whole party receives the same public Premium identity as match rosters. */
.matchmaking-page .mm-seat-filled{isolation:isolate}
.matchmaking-page .mm-seat-premium{border-color:#86652d;background:#242018}
.matchmaking-page .mm-premium-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:-2;pointer-events:none}
.matchmaking-page .mm-seat:has(.mm-premium-banner)::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,var(--navy-900)12 0%,var(--navy-900)65 25%,var(--navy-900)ef 58%,var(--navy-900) 100%);pointer-events:none}
.matchmaking-page .mm-player-name{display:flex;align-items:center;justify-content:center;gap:5px;max-width:100%;min-width:0;margin:18px 0 5px}
.matchmaking-page .mm-player-name>strong{width:auto;min-width:0;margin:0;color:#f5f5f3}
.matchmaking-page .mm-player-name .premium-badge{width:22px;height:22px;margin:0}
.matchmaking-page .mm-player-name .premium-badge-tip{left:auto;right:-10px;transform:none;white-space:normal;width:150px;text-align:center}
.matchmaking-page .mm-seat-premium .mm-player-avatar{border-radius:50%;box-shadow:0 0 0 3px var(--navy-850),0 0 0 4px #edb94c}
.matchmaking-page .mm-seat-premium .mm-seat-position{color:#fff1ce;background:#211c16dd;border-radius:4px;padding:3px 5px;top:8px;left:8px}
.matchmaking-page .mm-premium-label{color:#f2c769;font-size:8px;font-weight:700;letter-spacing:1.3px;margin-top:7px}
.matchmaking-page .mm-seat-premium .mm-seat-status{margin-top:9px}
@media(max-width:700px){.player-page .player-tabs{gap:8px 15px}.player-page .player-tabs a{padding:10px 3px}}
@media(max-width:560px){.player-page .player-custom-banner{height:180px}.matchmaking-page .mm-player-name{margin-top:13px}}
