/* Danger Zone ranks (the 15 CS:GO Danger Zone ranks): badge, profile card, match room line. See assets/js/dz-ranks.js */
.dzr{--dzr:#9AA3B5;display:inline-flex;align-items:center;gap:12px;min-width:0}
.dzr[data-f="rat"]{--dzr:#9AA3B5}
.dzr[data-f="hare"]{--dzr:#7DD17A}
.dzr[data-f="scout"]{--dzr:#4FB8E0}
.dzr[data-f="fox"]{--dzr:#F2913F}
.dzr[data-f="timber"]{--dzr:#D2A86E}
.dzr[data-f="ember"]{--dzr:#FF7A45}
.dzr[data-f="wildfire"]{--dzr:#FF4D4D}
.dzr[data-f="alpha"]{--dzr:var(--gold)}
.dzr[data-f="none"]{--dzr:var(--dim)}
.dzr-badge{flex:none;display:block;width:96px;aspect-ratio:32/13}
.dzr-badge img{display:block;width:100%;height:100%}
.dzr-txt{display:grid;gap:3px;min-width:0}
.dzr-name{font:800 18px/1.05 var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--dzr)}
.dzr-sub{font-size:13px;color:var(--muted)}
.dzr-sm{gap:8px}
.dzr-sm .dzr-badge{width:52px}
.dzr-sm .dzr-name{font-size:14px}

/* profile card */
.pf-dz-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.pf-dz-bar{height:4px;margin-top:12px;border-radius:2px;background:var(--line);overflow:hidden}
.pf-dz-bar i{display:block;height:100%;background:var(--dzr,var(--blue))}
.pf-dz .snap{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}
.pf-dz .snap dd{font-size:24px}
.pf-dz-list{display:grid;gap:6px;margin-top:16px}
.pf-dz-m{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding-right:10px;border:1px solid var(--line);border-left:3px solid var(--line-hi);border-radius:var(--r-sm);background:var(--black);overflow:hidden}
.pf-dz-m.top{border-left-color:#3DD68C}
.pf-dz-m.win{border-left-color:var(--gold)}
.pf-dz-m-map{align-self:stretch;min-height:44px;background:center/cover}
.pf-dz-m b{font:800 15px/1 var(--display);text-transform:uppercase}
.pf-dz-m small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.pf-dz-m em{font-style:normal;font-weight:700;font-size:13px;text-align:right}
.pf-dz-m em.pos{color:#3DD68C}.pf-dz-m em.neg{color:#FF8A8D}
.pf-dz-of{font:500 12px/1 var(--body);text-transform:none;color:var(--muted)}
.pf-dz-m small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* match room result + Play panel */
.dz-result{display:flex;justify-content:center;margin:14px 0 4px}
.dz-result .dzr-sub b.pos{color:#3DD68C}.dz-result .dzr-sub b.neg{color:#FF8A8D}
.dz-me{margin-top:10px}
@media (max-width:560px){.pf-dz .snap{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pf-dz-m > span:nth-child(2){min-width:0}

/* match room board: every squad in one grid (Danger Zone has 2 to 18 squads, not team A vs team B) */
.rm-grid.is-dz{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.rm-grid.is-dz .rm-center{order:-1}
.rm-grid.is-dz .rm-team{border-top-color:var(--line-hi)}
.dz-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;padding:0 16px 16px}
.dz-board.solo{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.dz-sq{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--black);overflow:hidden}
.dz-sq.me{border-color:color-mix(in srgb,var(--blue) 60%,var(--line))}
.dz-sq.win{border-color:color-mix(in srgb,var(--gold) 70%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 30%,transparent) inset}
.dz-sq header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.dz-board.solo .dz-sq header{border-bottom:0;padding-bottom:0}
.dz-you{font-style:normal;color:var(--ice);font-weight:700}
.dz-pl{margin-left:auto;font:800 14px/1 var(--display);letter-spacing:.04em;color:var(--text)}
.dz-pl.w{color:var(--gold)}
.dz-sq ul{list-style:none}
.dz-pr{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px}
.dz-pr + .dz-pr{border-top:1px solid var(--line)}
.dz-pr .rm-av{width:32px;height:32px;font-size:13px}
.dz-pn{display:grid;gap:3px;min-width:0}
.dz-pn > a{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dz-pn .dzr-sm{gap:6px}.dz-pn .dzr-sm .dzr-badge{width:40px}.dz-pn .dzr-sm .dzr-name{font-size:12px}
.dz-pr.me .dz-pn > a{color:var(--ice)}
@media (max-width:1080px){.rm-grid.is-dz{grid-template-columns:1fr}}
.dz-pr .rm-av{grid-row:auto}

/* profile hero: rating tile + Danger Zone tile side by side */
.pf-tiers{display:flex;gap:12px;align-items:stretch}
.pf-tier-dz{min-width:250px}
.pf-dzt{display:flex;align-items:center;gap:12px;min-height:44px}
.pf-dzt .dzr-badge{width:84px}
.pf-dzt > b{font:900 30px/1 var(--display);text-transform:uppercase;color:#fff;letter-spacing:.01em}
@media (max-width:760px){.pf-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pf-tier-dz{min-width:0}.pf-dzt > b{font-size:22px}}
@media (max-width:420px){.pf-tiers{grid-template-columns:1fr}}
/* match room rows: just the icon (the rank name is its tooltip); the cards are too narrow for long names */
.dz-pn .dzr-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dz-pn .dzr-sm .dzr-badge{width:50px}

/* rankings: Danger Zone board */
.rk-boards{margin-bottom:16px}
.rk-dz{display:inline-flex;align-items:center;gap:10px;font:800 13px/1 var(--display);text-transform:uppercase;letter-spacing:.04em;color:#C9D3E6;white-space:nowrap}
.rk-dz img{width:58px;aspect-ratio:32/13}
.rk-boards{display:flex;gap:4px;border-bottom:1px solid var(--line)}
.rk-boards [role=tab]{padding:12px 14px;font-weight:600;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.rk-boards [role=tab]:hover{color:var(--text)}
.rk-boards [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:#FF7A45}
.rk-boards [data-board=comp][aria-selected=true]{border-bottom-color:var(--blue)}
