.dossier-page .dossier-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}


.dossier-page {
  --pv2-bg: #080a09;
  --pv2-panel: rgba(10, 12, 11, .93);
  --pv2-panel-soft: rgba(13, 15, 14, .86);
  --pv2-line: rgba(184, 139, 54, .26);
  --pv2-gold: #c99a3e;
  --pv2-gold-bright: #e0b354;
  --pv2-cream: #ddd9ce;
  --pv2-muted: #a29c91;
  --pv2-green: #5ab85d;
  background: #080a09 url("/assets/profile-battlefield-v1.png") center top / cover fixed no-repeat;
  color: var(--pv2-cream);
}

.profile-v2-shell {
  min-height: 100vh;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(4, 5, 5, .72), transparent 28%, transparent 72%, rgba(4, 5, 5, .72)),
    rgba(7, 9, 8, .3);
}

.profile-v2-hero {
  position: relative;
  min-height: 302px;
  overflow: hidden;
  border-bottom: 1px solid rgba(200, 151, 58, .42);
  background:
    linear-gradient(90deg, rgba(7, 9, 8, .97) 0%, rgba(7, 9, 8, .7) 29%, rgba(7, 9, 8, .08) 60%, rgba(7, 9, 8, .68) 100%),
    linear-gradient(0deg, rgba(5, 7, 6, .85), transparent 45%),
    url("/assets/profile-v2/soldier-hero-v1.webp") center 38% / cover no-repeat;
}

.profile-v2-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.018) 3px 4px);
  mix-blend-mode: soft-light;
}

.profile-v2-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 120px #050606, inset 0 -80px 90px rgba(4,5,5,.8);
}

.profile-v2-dogtag {
  position: absolute;
  z-index: 2;
  left: max(4.2vw, 48px);
  top: -11px;
  width: 151px;
  height: 251px;
  object-fit: contain;
  filter: drop-shadow(0 14px 17px rgba(0,0,0,.7)) contrast(1.08);
}

.profile-v2-dogtag-star {
  position: absolute;
  z-index: 3;
  left: calc(max(4.2vw, 48px) + 67px);
  top: 62px;
  color: #c49539;
  font-size: 14px;
  line-height: 1;
  text-shadow: 0 1px 2px #000;
  transform: rotate(-2deg);
}

.profile-v2-identity {
  position: relative;
  z-index: 3;
  width: min(580px, 45vw);
  padding: 45px 0 28px max(17.6vw, 224px);
  font-family: "Barlow Condensed", sans-serif;
  box-sizing: content-box;
}

.profile-v2-kicker,
.profile-v2-panel-title h2,
.profile-v2-panel-title a,
.profile-v2-identity dt,
.profile-v2-tabs a,
.profile-v2-deploy button {
  text-transform: uppercase;
  letter-spacing: .14em;
}

.profile-v2-kicker {
  margin: 0 0 8px;
  color: var(--pv2-gold-bright);
  font: 600 14px/1 "Oswald", sans-serif;
}

.profile-v2-identity h1 {
  margin: 0;
  color: #f1eee7;
  font: 700 clamp(47px, 4.5vw, 72px)/.98 "Oswald", sans-serif;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-shadow: 0 3px 0 #171817, 0 10px 25px #000;
}

.profile-v2-identity blockquote {
  margin: 11px 0 18px;
  color: #a29d93;
  font: italic 18px/1.25 Georgia, serif;
}

.profile-v2-identity blockquote cite {
  margin-left: 9px;
  color: var(--pv2-gold);
  font: 500 12px/1 "Oswald", sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.profile-v2-identity dl {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(22px, 3vw, 55px);
  margin: 0;
}

.profile-v2-identity dl div { min-width: 90px; max-width: 100%; }
.profile-v2-identity dt { color: var(--pv2-muted); font: 500 12px/1 "Oswald", sans-serif; }
.profile-v2-identity dd { margin: 6px 0 0; color: #c8c4ba; font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.profile-v2-identity dd i { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background:#8a7138; box-shadow:0 0 7px rgba(180,138,61,.45); }
.profile-v2-identity dd i.verified { background:var(--pv2-green); box-shadow:0 0 8px rgba(90,184,93,.8); }
.profile-v2-identity dd i.pending { background:#8a7138; }

.profile-v2-quote {
  position: absolute;
  z-index: 3;
  right: max(5vw, 55px);
  bottom: 43px;
  margin: 0;
  color: rgba(211,207,197,.7);
  font: 600 22px/1.2 "Caveat", "Segoe Print", cursive;
  text-align: right;
  text-shadow: 0 2px 10px #000;
  text-transform: uppercase;
}

.profile-v2-quote strong { color: #ece8df; font-weight: 400; }
.profile-v2-quote span { display: block; margin-top: 10px; color: var(--pv2-gold); font: 500 12px "Oswald", sans-serif; letter-spacing: .14em; text-transform: uppercase; }

.profile-v2-tabs {
  position: relative;
  z-index: 6;
  display: flex;
  align-items: stretch;
  justify-content: center;
  min-height: 53px;
  border-bottom: 1px solid rgba(183,138,53,.25);
  background: rgba(8,10,9,.96);
  box-shadow: 0 8px 25px rgba(0,0,0,.35);
}

.profile-v2-tabs a {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 115px;
  padding: 0 16px;
  color: var(--pv2-muted);
  font: 500 12px/1 "Oswald", sans-serif;
  text-decoration: none;
  transition: color .2s ease, background .2s ease;
}

.profile-v2-tabs a:hover,
.profile-v2-tabs a.active { color: #ddd8ce; background: rgba(255,255,255,.016); }
.profile-v2-tabs a.active::after { content: ""; position: absolute; left: 21%; right: 21%; bottom: -1px; height: 2px; background: var(--pv2-gold-bright); box-shadow: 0 -3px 12px rgba(205,157,65,.25); }

.profile-v2-dashboard {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  width: min(1410px, calc(100% - 72px));
  margin: 26px auto 56px;
}

.profile-v2-panel {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(154,125,68,.25);
  background:
    linear-gradient(135deg, rgba(255,255,255,.018), transparent 40%),
    var(--pv2-panel);
  box-shadow: inset 0 1px rgba(255,255,255,.018), 0 12px 28px rgba(0,0,0,.18);
}

.profile-v2-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .06;
  background-image: repeating-linear-gradient(135deg, transparent 0 8px, #cfa54d 8px 9px);
  mask-image: linear-gradient(90deg, transparent 70%, #000);
}

.profile-v2-panel > * { position: relative; z-index: 1; }
.profile-v2-panel-title { display: flex; align-items: center; justify-content: space-between; min-height: 46px; gap: 10px; flex-wrap: wrap; padding: 10px 18px; border-bottom: 1px solid var(--pv2-line); background: rgba(0,0,0,.13); }
.profile-v2-panel-title h2 { margin: 0; color: var(--pv2-gold); font: 600 13px/1 "Oswald", sans-serif; }
.profile-v2-panel-title a { color: var(--pv2-muted); font: 500 11px/1 "Oswald", sans-serif; text-decoration: none; }
.profile-v2-panel-title a:hover { color: var(--pv2-gold-bright); }
.profile-v2-panel-title b { margin-left: 8px; color: var(--pv2-gold); font-size: 13px; }

.rank-progress-panel { grid-column: span 6; min-height: 202px; }
.competitive-panel { grid-column: span 6; min-height: 202px; }
.quick-stats-panel { grid-column: span 7; min-height: 149px; }
.play-style-panel { grid-column: span 3; min-height: 149px; }
.time-played-panel { grid-column: span 2; min-height: 149px; }

.rank-progress-body { display: grid; grid-template-columns: 110px minmax(0,1fr) 130px; align-items: center; gap: 16px; padding: 20px 22px; }
.rank-progress-icon { width: 104px; height: 104px; object-fit: contain; filter: drop-shadow(0 5px 8px rgba(0,0,0,.65)); }
.rank-progress-copy > span { color: var(--pv2-gold); font: 500 13px "Oswald", sans-serif; text-transform: uppercase; letter-spacing: .12em; }
.rank-progress-copy h2 { margin: 3px 0 12px; color: #f0ede5; font: 600 26px/1 "Oswald", sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.profile-v2-track { height: 6px; overflow: hidden; border: 1px solid rgba(180,139,60,.25); background: #1a1c1a; box-shadow: inset 0 1px 3px #000; }
.profile-v2-track i { display: block; height: 100%; background: linear-gradient(90deg, #936b26, #deb151); box-shadow: 0 0 8px rgba(215,168,74,.25); }
.rank-progress-copy p { display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: space-between; margin: 8px 0 0; color: var(--pv2-muted); font: 400 12px "Barlow Condensed", sans-serif; }
.rank-progress-copy p strong { color: #a7a198; font-weight: 500; }
.rank-progress-copy p em { color: var(--pv2-gold); font-style: normal; }
.next-rank { display: grid; gap: 4px; min-width: 0; justify-items: center; align-content: center; min-height: 106px; padding-left: 15px; border-left: 1px solid rgba(166,130,60,.2); text-align: center; }
.next-rank > span { color: var(--pv2-muted); font: 500 11px "Oswald", sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.next-rank img { width: 47px; height: 47px; margin: 3px 0; object-fit: contain; filter: saturate(.8); }
.next-rank strong { color: #c9c4ba; font: 500 13px "Oswald", sans-serif; text-transform: uppercase; letter-spacing: .12em; }
.next-rank small { margin-top: 3px; color: var(--pv2-muted); font: 400 12px/1.25 "Barlow Condensed", sans-serif; }
.panel-corner-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 34px; margin-top: 8px; padding: 7px 8px; border: 1px solid rgba(173,134,58,.38); color: #c5bfb4; background: rgba(10,11,10,.78); font: 500 11px/1.2 "Oswald",sans-serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.panel-corner-link b { color: var(--pv2-gold); }
.panel-corner-link:hover { color: var(--pv2-gold-bright); border-color: var(--pv2-gold); }
.panel-corner-link:focus-visible { outline: 2px solid var(--pv2-gold-bright); outline-offset: 3px; }

.competitive-inactive::after {
  opacity: .26;
  background-image: repeating-linear-gradient(135deg, transparent 0 10px, #cfa54d 10px 12px);
  mask-image: linear-gradient(90deg, rgba(0,0,0,.3), #000);
}
.competitive-season-status { display:flex; align-items:center; gap:11px; padding:13px 18px; border-bottom:1px solid rgba(207,165,77,.3); background:rgba(36,30,17,.94); color:#e4bd69; }
.competitive-season-status > svg { flex:0 0 22px; width:22px; height:22px; }
.competitive-season-status > div { min-width:0; }
.competitive-season-status strong { display:block; font:500 14px/1.4 "Oswald",sans-serif; letter-spacing:.035em; }
.competitive-season-status span { display:block; margin-top:3px; color:#c5bfb1; font:400 13px/1.4 "Barlow Condensed",sans-serif; }
.competitive-season-status[data-season-state="active"] { color:#b4ce94; background:rgba(24,33,22,.94); border-color:rgba(151,179,119,.25); }
.competitive-season-status:has(.season-refresh:not([hidden])) { flex-wrap:wrap; }
.season-refresh { color:#efd292; font:500 13px/1.4 "Barlow Condensed",sans-serif; text-underline-offset:3px; }
.season-refresh:focus-visible { outline:2px solid #efd292; outline-offset:3px; }
.competitive-inactive { display:grid; grid-template-rows:auto 1fr; }
.competitive-inactive > .profile-v2-panel-title { grid-area:1 / 1; }
.competitive-inactive .competitive-body { grid-area:2 / 1; min-height:190px; filter:blur(3px); opacity:.4; pointer-events:none; user-select:none; }
.competitive-inactive .competitive-season-status {
  grid-area:2 / 1; align-self:center; justify-self:center; z-index:3;
  flex-direction:column; justify-content:center; gap:10px; width:calc(100% - 40px); max-width:400px;
  margin:20px; padding:20px 22px; text-align:center;
  border:1px solid rgba(207,165,77,.45); background:rgba(19,20,15,.95);
  box-shadow:0 8px 28px rgba(0,0,0,.45);
}
.competitive-inactive .competitive-season-status > svg { flex-basis:28px; width:28px; height:28px; }
.competitive-inactive .competitive-season-status strong { color:#eed18c; font-size:18px; }
.competitive-inactive .competitive-season-status span { margin-top:5px; color:#d4cfc3; font-size:14px; }

.competitive-inactive .competitive-copy > p { color:#c5bfb1; font-size:13px; line-height:1.45; }
.competitive-inactive .competitive-body > img { filter:saturate(.65); }

.competitive-body { display: grid; grid-template-columns: 86px minmax(0,1fr) 105px; align-items: center; gap: 13px; padding: 18px 20px; }
.competitive-body > img { width: 82px; height: 82px; object-fit: contain; }
.competitive-copy h2 { margin: 0 0 3px; color: #e8e4da; font: 600 22px "Oswald", sans-serif; text-transform: uppercase; }
.competitive-copy > strong { color: var(--pv2-gold); font: 500 12px "Oswald", sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.competitive-copy > p { margin: 5px 0; color: var(--pv2-muted); font: 400 12px "Barlow Condensed", sans-serif; }
.competitive-copy blockquote { margin: 7px 0 0; color: var(--pv2-muted); font: italic 12px/1.3 Georgia, serif; }
.competitive-rating { padding-left: 13px; border-left: 1px solid rgba(163,126,54,.2); text-align: center; }
.competitive-rating strong { display: block; color: #d9a847; font: 600 20px "Oswald", sans-serif; }
.competitive-rating span,.competitive-rating small { display:block; color: var(--pv2-muted); font:500 11px "Oswald",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.competitive-rating small { margin-top: 15px; color: var(--pv2-muted); }

.quick-stats-grid { display: grid; grid-template-columns: repeat(5,1fr); min-height: 105px; }
.quick-stats-grid article { display: grid; grid-template-columns: 28px minmax(0,1fr); column-gap: 8px; grid-template-rows: 1fr 1fr; align-content: center; padding: 22px 12px; border-right: 1px solid rgba(162,127,61,.16); }
.quick-stats-grid article:last-child { border: 0; }
.quick-stats-grid article span { grid-row: 1/3; align-self: center; color: var(--pv2-gold); }
.quick-stats-grid svg { width: 25px; height: 25px; }
.quick-stats-grid strong { color: #e3ded4; font: 600 23px/1 "Oswald",sans-serif; }
.quick-stats-grid small { color: var(--pv2-muted); font: 500 12px "Oswald",sans-serif; letter-spacing:.11em; text-transform:uppercase; }

.play-style-body { display:grid; grid-template-columns:88px minmax(0,1fr); gap:8px; align-items:center; min-height:105px; padding:10px 14px; }
.play-style-ring { position:relative; display:grid; place-items:center; width:78px; height:78px; margin:auto; border-radius:50%; background:conic-gradient(var(--pv2-gold) 0 52%, #776a4c 52% 80%, #555149 80% 92%, #383834 92%); }
.play-style-ring::after { content:""; position:absolute; inset:7px; border-radius:50%; background:#101211; }
.play-style-ring span { position:relative; z-index:1; color: var(--pv2-muted); font:500 11px "Oswald",sans-serif; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.play-style-ring strong { display:block; margin-top:2px; color:#e0dcd2; font-size:17px; }
.play-style-body ul { margin:0; padding:0; list-style:none; }
.play-style-body li { display:grid; grid-template-columns:10px 1fr auto; gap:5px; color: var(--pv2-muted); font:500 11px/1.65 "Oswald",sans-serif; text-transform:uppercase; }
.play-style-body li i { align-self:center; width:5px; height:5px; background:var(--c); }
.play-style-body li b { color:#b4afa5; font-weight:500; }

.time-played-body { display:flex; flex-wrap:wrap; gap:10px; align-items:center; min-height:105px; padding:10px 17px; }
.time-played-body > span { display:grid; place-items:center; width:49px; height:49px; flex:0 0 49px; margin-right:0; border:1px solid rgba(190,143,54,.4); border-radius:50%; color:var(--pv2-gold); }
.time-played-body svg { width:25px; height:25px; }
.time-played-body p { margin:0; color: var(--pv2-muted); font:500 11px "Oswald",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.time-played-body p > strong { display:block; color:#e4dfd5; font:600 23px/1.1 "Oswald",sans-serif; letter-spacing:0; }
.time-played-body em { display:block; margin-top:10px; color:#c2bdb4; font:500 13px "Oswald",sans-serif; font-style:normal; letter-spacing:0; text-transform:none; }
.time-played-body em small { display:block; color: var(--pv2-muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }

.recent-matches-panel { container-type:inline-size; grid-column:span 7; min-height:330px; }
.profile-v2-side-stack { grid-column:span 5; display:grid; gap:12px; }
.profile-v2-match-list { padding: 0 15px; }
.profile-v2-match { display:grid; grid-template-columns:54px minmax(100px,1fr) 72px 58px 58px 62px 100px; column-gap:6px; align-items:center; width:100%; min-height:64px; margin:0; padding:5px 0; border:0; border-bottom:1px solid rgba(159,127,66,.14); background:none; color:inherit; font-family:"Barlow Condensed",sans-serif; text-align:left; }
button.profile-v2-match { cursor:pointer; }
button.profile-v2-match:hover { background:rgba(201,154,62,.035); }
.profile-match-thumb { width:53px; height:36px; object-fit:cover; filter:saturate(.65) contrast(1.08); }
.profile-match-map strong,.profile-match-map small { display:block; }
.profile-match-map strong { color:#d0cbc1; font:500 14px "Oswald",sans-serif; text-transform:uppercase; }
.profile-match-map small { color: var(--pv2-muted); font-size:12px; }
.profile-match-result { color:#b55a51; font:600 12px "Oswald",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.profile-v2-match.win .profile-match-result { color:#5db464; }
.profile-v2-match.draw .profile-match-result { color:#aaa45d; }
.profile-match-score strong,.profile-match-score small { display:block; }
.profile-match-score strong { color:#bcb7ae; font:500 13px "Oswald",sans-serif; }
.profile-match-score small { color:#5f5d57; font:500 11px "Oswald",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.profile-match-xp { color:var(--pv2-gold); font:500 12px "Oswald",sans-serif; }
.profile-v2-match time { color: var(--pv2-muted); font-size:12px; text-align:right; }

.favorite-weapons-panel { min-height:190px; }
.favorite-weapon-list { margin:0; padding:0 16px; list-style:none; }
.favorite-weapon-list li { display:grid; grid-template-columns:26px minmax(70px,.8fr) minmax(100px,1.5fr) 52px; align-items:center; min-height:47px; border-bottom:1px solid rgba(157,125,64,.13); }
.favorite-weapon-list li:last-child { border:0; }
.favorite-weapon-list li > b { color:var(--pv2-gold); font:600 13px "Oswald",sans-serif; }
.favorite-weapon-list span strong,.favorite-weapon-list span small,.favorite-weapon-list em small { display:block; }
.favorite-weapon-list span strong { color:#c8c3b9; font:500 13px "Oswald",sans-serif; text-transform:uppercase; }
.favorite-weapon-list span small { color: var(--pv2-muted); font:500 11px "Oswald",sans-serif; text-transform:uppercase; }
.favorite-weapon-list img { width:100%; height:38px; object-fit:contain; filter:sepia(.3) saturate(.7) brightness(.88); }
.favorite-weapon-list em { color:#bbb6ac; font:500 13px "Oswald",sans-serif; font-style:normal; text-align:right; }
.favorite-weapon-list em small { color:#5f5c57; font-size:11px; text-transform:uppercase; }

.favorite-maps-panel { min-height:128px; }
.favorite-map-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:11px 15px; }
.favorite-map-grid article { position:relative; height:78px; overflow:hidden; border:1px solid rgba(176,136,59,.2); }
.favorite-map-grid article::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,5,5,.95),transparent 75%); }
.favorite-map-grid img { width:100%; height:100%; object-fit:cover; filter:saturate(.7) brightness(.7); }
.favorite-map-grid strong,.favorite-map-grid span { position:absolute; z-index:1; left:7px; bottom:5px; color:#d5d0c6; font:500 12px "Oswald",sans-serif; text-transform:uppercase; }
.favorite-map-grid strong { bottom:24px; right:7px; line-height:1.2; }
.favorite-map-grid span { color:#8c877e; font-size:11px; text-transform:none; }

.medals-panel { grid-column:span 7; min-height:188px; }
.active-missions-panel { grid-column:span 5; min-height:188px; }
.medal-grid { display:grid; grid-template-columns:repeat(5,1fr); min-height:144px; padding:13px 12px 8px; }
.medal-grid article { display:grid; justify-items:center; align-content:start; border-right:1px solid rgba(156,123,61,.13); }
.medal-grid article:last-child { border:0; }
.medal-grid img { width:68px; height:68px; object-fit:contain; filter:drop-shadow(0 5px 7px #000); }
.medal-grid strong { color:#bcb7ae; font:500 12px "Oswald",sans-serif; text-align:center; text-transform:uppercase; }
.medal-grid span { color:var(--pv2-gold); font:500 12px "Oswald",sans-serif; }
.medal-grid article.locked strong { color:var(--pv2-muted); }
.medal-grid article.locked img { filter:grayscale(1) brightness(.62) drop-shadow(0 5px 7px #000); }
.medal-grid article.locked span { color:#8a857c; }
.medal-grid article.unlocked img { filter:drop-shadow(0 0 9px rgba(208,160,67,.22)) drop-shadow(0 5px 7px #000); }

.profile-v2-missions { padding:7px 16px; }
.profile-v2-missions article { display:grid; grid-template-columns:minmax(0,1fr) 80px; column-gap:10px; align-items:center; min-height:43px; border-bottom:1px solid rgba(158,126,64,.13); }
.profile-v2-missions article:last-child { border:0; }
.profile-v2-missions p { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; grid-column:1; margin:0 0 5px; }
.profile-v2-missions p strong { color:#c8c3ba; font:500 12px "Oswald",sans-serif; text-transform:uppercase; line-height:1.4; }
.profile-v2-missions p span { color: var(--pv2-muted); font:500 11px "Oswald",sans-serif; }
.profile-v2-missions .profile-v2-track { grid-column:1; height:3px; }
.profile-v2-missions article > b { grid-column:2; grid-row:1/3; color:var(--pv2-gold); font:600 13px "Oswald",sans-serif; text-align:right; }

.profile-v2-empty { display:flex; align-items:center; justify-content:center; gap:10px; min-height:105px; padding:15px; box-sizing:border-box; color: var(--pv2-muted); text-align:center; }
.profile-v2-empty span { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border:1px solid rgba(186,143,60,.26); border-radius:50%; color:#8e7139; }
.profile-v2-empty svg { width:16px; height:16px; }
.profile-v2-empty p { margin:0; font:500 12px/1.35 "Oswald",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.profile-v2-match-list > .profile-v2-empty { min-height:285px; }
.favorite-weapons-panel > .profile-v2-empty { min-height:147px; }
.favorite-maps-panel > .profile-v2-empty { min-height:85px; }
.profile-v2-missions > .profile-v2-empty { min-height:130px; }
.play-style-panel > .profile-v2-empty { min-height:105px; }

.profile-v2-rank-roadmap { display:none; grid-column:1/-1; grid-template-columns:repeat(9,1fr); padding:20px; border:1px solid var(--pv2-line); background:var(--pv2-panel); scroll-margin-top:20px; }
.profile-v2-rank-roadmap:target { display:grid; }
.profile-v2-rank-roadmap div { display:grid; justify-items:center; position:relative; opacity:.38; }
.profile-v2-rank-roadmap div:not(:last-child)::after { content:""; position:absolute; top:44px; left:70%; width:60%; height:1px; background:rgba(190,145,56,.3); }
.profile-v2-rank-roadmap div.unlocked { opacity:1; }
.profile-v2-rank-roadmap img { width:82px; height:82px; object-fit:contain; }
.profile-v2-rank-roadmap span { color:#9f9a90; font:500 12px "Oswald",sans-serif; letter-spacing:.1em; text-transform:uppercase; }

.profile-v2-deploy { grid-column:1/-1; display:grid; grid-template-columns:minmax(210px,1fr) 190px; align-items:center; min-height:103px; gap:20px; padding:18px 24px 18px 42%; overflow:hidden; border:1px solid rgba(177,133,50,.35); background:linear-gradient(90deg,rgba(5,7,6,.16),rgba(5,7,6,.7) 46%,rgba(5,7,6,.97) 100%),url("/assets/profile-v2/deploy-banner-v1.webp") center/cover no-repeat; }
.profile-v2-deploy > div p { margin:0; color:#817d75; font:italic 14px Georgia,serif; }
.profile-v2-deploy > div strong { color:#e1ddd4; font:700 29px "Oswald",sans-serif; letter-spacing:.05em; text-transform:uppercase; }
.profile-v2-deploy > div strong span { color:var(--pv2-gold); }
.deployment-status { display:none; }
.deployment-status i { display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:#7a302d; }
.deployment-status i.online { background:var(--pv2-green); box-shadow:0 0 8px rgba(90,184,93,.6); }
.profile-v2-deploy button { height:46px; border:1px solid #dfb256; background:linear-gradient(#d8ad53,#a97828); color:#12120f; font:700 13px "Oswald",sans-serif; cursor:pointer; box-shadow:inset 0 1px rgba(255,255,255,.22); }
.profile-v2-deploy button:hover { filter:brightness(1.12); }
.profile-v2-deploy button b { margin-left:20px; font-size:18px; }

/* Preserve readable columns before the single-column mobile layout. */
@media (min-width: 901px) and (max-width: 1180px) {
  .quick-stats-panel { grid-column:span 12; }
  .play-style-panel,.time-played-panel { grid-column:span 6; }
  .rank-progress-body { grid-template-columns:80px minmax(0,1fr) 116px; gap:12px; padding:18px 16px; }
  .rank-progress-icon { width:76px; height:76px; }
  .competitive-body { grid-template-columns:65px minmax(0,1fr) 95px; gap:10px; padding:18px 16px; }
  .competitive-body > img { width:62px; height:62px; }
  .profile-v2-deploy { padding-left:30%; }
}

@media (max-width: 900px) {
  .profile-v2-quote { display:none; }
  .profile-v2-tabs { justify-content:flex-start; overflow-x:auto; }
  .profile-v2-tabs a { min-width:105px; }
  .profile-v2-dashboard { grid-template-columns:1fr; width:calc(100% - 34px); }
  .rank-progress-panel,.competitive-panel,.quick-stats-panel,.play-style-panel,.time-played-panel,.recent-matches-panel,.profile-v2-side-stack,.medals-panel,.active-missions-panel { grid-column:1; }
  .profile-v2-deploy { padding-left:24%; }
}

@media (max-width: 820px) {
  .profile-v2-hero { min-height:290px; }
  .profile-v2-dogtag-star { left:70px; top:62px; }
  .profile-v2-dogtag { left:16px; width:115px; height:205px; }
  .profile-v2-identity { width:auto; padding:48px 24px 25px 145px; box-sizing:border-box; }
  .profile-v2-identity dl { flex-wrap:wrap; gap:12px 22px; }
  .profile-v2-dashboard { grid-template-columns:1fr; width:calc(100% - 24px); }
  .rank-progress-panel,.competitive-panel,.quick-stats-panel,.play-style-panel,.time-played-panel,.recent-matches-panel,.profile-v2-side-stack,.medals-panel,.active-missions-panel { grid-column:1; }
  .profile-v2-rank-roadmap { grid-template-columns:repeat(3,1fr); gap:18px; }
  .profile-v2-deploy { grid-template-columns:1fr 180px; }
  .deployment-status { grid-column:1; grid-row:2; margin:0 0 15px; }
  .profile-v2-deploy button { grid-column:2; grid-row:1/3; }
}

@media (max-width: 590px) {
  .dossier-page .site-header { gap:12px; padding-inline:12px; }
  .dossier-page .site-header .brand { flex:1; min-width:0; max-width:165px; }
  .dossier-page .site-header .nav-toggle,.dossier-page .site-header .header-actions { flex-shrink:0; }
  .profile-v2-hero { min-height:330px; background-position:62% center; }
  .profile-v2-dogtag { opacity:.42; left:-20px; }
  .profile-v2-identity { padding:42px 18px 22px 88px; }
  .profile-v2-identity h1 { font-size:42px; overflow-wrap:anywhere; }
  .profile-v2-identity dl { display:grid; gap:8px; }
  .profile-v2-tabs a { min-width:95px; }
  .rank-progress-body { grid-template-columns:75px 1fr; padding:16px; }
  .rank-progress-icon { width:72px; height:72px; }
  .next-rank { grid-column:1/-1; grid-template-columns:48px minmax(0,1fr) auto; justify-items:start; align-items:center; gap:4px 12px; width:100%; min-height:auto; padding:14px 0 0; border-left:0; border-top:1px solid rgba(166,130,60,.2); text-align:left; }
  .next-rank > span { grid-column:2; grid-row:1; }
  .next-rank img { grid-column:1; grid-row:1/4; margin:0; }
  .next-rank strong { grid-column:2; grid-row:2; }
  .next-rank small { grid-column:2; grid-row:3; margin:0; }
  .next-rank .panel-corner-link { grid-column:3; grid-row:1/4; width:auto; margin:0; }
  .competitive-body { grid-template-columns:70px 1fr; }
  .competitive-body > img { width:65px; height:65px; }
  .competitive-rating { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; padding:9px 0 0; border-left:0; border-top:1px solid rgba(163,126,54,.2); }
  .competitive-rating small { margin:0; }
  .quick-stats-grid { grid-template-columns:repeat(2,1fr); }
  .quick-stats-grid article { border-bottom:1px solid rgba(162,127,61,.16); }

  .favorite-weapon-list li { grid-template-columns:23px 80px 1fr 42px; }
  .medal-grid { grid-template-columns:repeat(3,1fr); row-gap:12px; }
  .medal-grid article:nth-child(3) { border-right:0; }
  .profile-v2-deploy { grid-template-columns:1fr; padding:19px; background-position:35% center; }
  .deployment-status { grid-column:1; grid-row:auto; margin:8px 0 15px; }
  .profile-v2-deploy button { grid-column:1; grid-row:auto; }
}

/* Match rows respond to their panel, including the narrower desktop column. */
@container (max-width: 650px) {
  .profile-v2-match { grid-template-columns:48px minmax(90px,1fr) 64px 52px 52px 60px; }
  .profile-match-thumb { width:44px; }
  .profile-v2-match time { display:none; }
}
@container (max-width: 460px) {
  .profile-v2-match { grid-template-columns:44px minmax(70px,1fr) 62px 52px; }
  .profile-match-thumb { width:40px; height:30px; }
  .profile-match-score:nth-of-type(3),.profile-match-xp { display:none; }
}
@media (max-width: 380px) {
  .next-rank { grid-template-columns:48px minmax(0,1fr); }
  .next-rank .panel-corner-link { grid-column:1/-1; grid-row:4; width:100%; margin-top:8px; }
}
