/* LOWTIER · общие стили разделов Match / Teams / Table / Players / Watch Live / Account.
   Шапка и цвета берутся из стилей страницы (как на Play), здесь только содержимое. */
[hidden]{display:none!important}
.hpage{padding-top:22px;padding-bottom:64px;display:flex;flex-direction:column;gap:var(--gap)}
.hhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.hsearchbox{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.hcount{font-family:var(--fm);font-size:11px;letter-spacing:.08em;color:var(--dim)}
.hcount:empty{display:none}
.htitle{font-family:var(--fd);font-weight:800;font-size:clamp(38px,4.6vw,68px);line-height:.95;letter-spacing:.01em;text-transform:uppercase;margin:6px 0 8px}
.htitle em{font-style:normal;color:var(--violet-l)}
.hsub{color:var(--dim);font-size:15px;max-width:66ch;margin:0}
.hcard{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.hcard-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-2);font-weight:700;font-size:15px;letter-spacing:-.28px}
.hcard-h .s{font-family:var(--fm);font-size:11px;color:var(--faint);font-weight:500;letter-spacing:.04em}
.hempty{padding:40px 18px;text-align:center;color:var(--faint);font-size:14px}
.hbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:12px;font-weight:800;font-size:15px;letter-spacing:-.2px;color:#fff;
  background:linear-gradient(100deg,#5023A0,#6C2BC7 60%,#B183F0);box-shadow:0 6px 22px rgba(155,93,229,.4),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .15s,box-shadow .2s}
.hbtn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(155,93,229,.55)}
.hbtn.tonal{background:var(--tonal);box-shadow:none;border:1px solid var(--line)}
.hbtn.tonal:hover{border-color:var(--violet)}
.hbtn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.hpill{font-family:var(--fm);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:12px;background:var(--tonal);border:1px solid var(--line);color:var(--dim)}
.hpill.live{color:#fff;background:var(--pink);border-color:transparent}
.hpill.soon{color:var(--violet-l);border-color:rgba(155,93,229,.4)}

/* ===== Match: выбор режима ===== */
/* ===== Match: онлайн-матч сверху (главное), лобби с друзьями ниже ===== */
.mm-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:center;
  padding:clamp(24px,3vw,44px);border-radius:18px;border:1px solid rgba(155,93,229,.5);overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 140% at 100% 0%,rgba(108,43,199,.45),transparent 55%),linear-gradient(150deg,rgba(80,35,160,.5),rgba(16,24,34,1) 62%);
  box-shadow:0 20px 60px rgba(80,35,160,.25)}
.mm-hero::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;padding:1px;
  background:conic-gradient(from var(--mm-a,0deg),transparent 0 70%,rgba(177,131,240,.9) 85%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:mmBorder 6s linear infinite}
@property --mm-a{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes mmBorder{to{--mm-a:360deg}}
.mm-copy{display:flex;flex-direction:column;gap:18px;min-width:0}
.mm-tags{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mm-live{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#c9f7d6;
  padding:5px 12px;border-radius:14px;background:rgba(60,200,120,.12);border:1px solid rgba(60,200,120,.4)}
.mm-live i{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.7);animation:mmPulse 1.6s infinite}
@keyframes mmPulse{70%{box-shadow:0 0 0 9px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.mm-title{margin:0;font-family:var(--fd);font-weight:800;font-size:clamp(44px,5.6vw,84px);line-height:.9;text-transform:uppercase;letter-spacing:.01em}
.mm-title em{font-style:normal;background:linear-gradient(90deg,#B183F0,#fff,#B183F0);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mmShine 5s linear infinite}
@keyframes mmShine{to{background-position:-200% 0}}
.mm-lead{margin:0;color:var(--dim);font-size:16px;line-height:1.55;max-width:58ch}
.mm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mm-steps li{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);
  opacity:0;transform:translateY(8px);animation:mmIn .5s ease forwards}
.mm-steps li:nth-child(2){animation-delay:.12s}.mm-steps li:nth-child(3){animation-delay:.24s}.mm-steps li:nth-child(4){animation-delay:.36s}
@keyframes mmIn{to{opacity:1;transform:none}}
.mm-steps b{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-family:var(--fm);font-size:12px;color:#fff;background:linear-gradient(135deg,#6C2BC7,#B183F0)}
.mm-steps span{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--faint);line-height:1.3;min-width:0}
.mm-steps strong{font-size:14px;color:#fff;font-weight:700}
.mm-facts{display:flex;flex-wrap:wrap;gap:8px}
.mm-facts span{font-size:13px;color:var(--white);padding:6px 12px;border-radius:10px;background:rgba(155,93,229,.14);border:1px solid rgba(155,93,229,.35)}
.mm-acts{display:flex;gap:12px;flex-wrap:wrap}
.mm-cta{position:relative;overflow:hidden;padding:17px 34px;font-size:17px}
.mm-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.mm-cta::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:mmSheen 3.2s ease-in-out infinite}
@keyframes mmSheen{0%,60%{left:-60%}100%{left:130%}}
.mm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-radius:12px;overflow:hidden;background:var(--line);border:1px solid var(--line);max-width:520px}
.mm-stats div{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:rgba(10,14,22,.75)}
.mm-stats b{font-family:var(--fd);font-size:28px;line-height:1;color:#fff}
.mm-stats span{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.mm-visual{display:flex;flex-direction:column;align-items:center;gap:22px;min-width:0}
.mm-radar{position:relative;width:min(100%,380px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(155,93,229,.18),rgba(12,16,26,.6) 70%);border:1px solid rgba(155,93,229,.45)}
.mm-radar .ring{position:absolute;border-radius:50%;border:1px dashed rgba(177,131,240,.28)}
.mm-radar .r1{inset:16%}.mm-radar .r2{inset:32%}.mm-radar .r3{inset:0;border-style:solid;border-color:transparent;box-shadow:inset 0 0 40px rgba(108,43,199,.35)}
.mm-radar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(177,131,240,.55),rgba(177,131,240,0) 25%,transparent);animation:mmSpin 3.2s linear infinite}
@keyframes mmSpin{to{transform:rotate(360deg)}}
.mm-radar .blip{position:absolute;left:var(--x);top:var(--y);width:10px;height:10px;margin:-5px;border-radius:50%;background:#e6d6ff;box-shadow:0 0 14px #B183F0;opacity:0;animation:mmBlip 3.2s ease-out infinite;animation-delay:var(--d)}
@keyframes mmBlip{0%{opacity:0;transform:scale(.4)}10%{opacity:1;transform:scale(1.2)}60%{opacity:.5;transform:scale(1)}100%{opacity:0}}
.mm-core{position:absolute;inset:34%;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:8px;
  background:radial-gradient(circle,#2a1452,#130b25);border:1px solid rgba(177,131,240,.6);box-shadow:0 0 40px rgba(108,43,199,.6);font-family:var(--fd);font-weight:800}
.mm-core span{font-size:clamp(24px,3vw,38px);color:#fff}
.mm-core em{font-style:normal;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-l)}
.mm-teams{display:flex;gap:28px}
.mm-team{display:flex;gap:6px}
.mm-team i{width:26px;height:26px;border-radius:8px;border:1px solid rgba(177,131,240,.45);background:rgba(155,93,229,.1);animation:mmFill 5s ease-in-out infinite}
.mm-team i:nth-child(2){animation-delay:.4s}.mm-team i:nth-child(3){animation-delay:.8s}.mm-team i:nth-child(4){animation-delay:1.2s}.mm-team i:nth-child(5){animation-delay:1.6s}
.mm-team.b i:nth-child(1){animation-delay:.2s}.mm-team.b i:nth-child(2){animation-delay:.6s}.mm-team.b i:nth-child(3){animation-delay:1s}.mm-team.b i:nth-child(4){animation-delay:1.4s}.mm-team.b i:nth-child(5){animation-delay:1.8s}
@keyframes mmFill{0%,15%{background:rgba(155,93,229,.1);box-shadow:none}35%,80%{background:linear-gradient(135deg,#6C2BC7,#B183F0);box-shadow:0 0 12px rgba(155,93,229,.6)}100%{background:rgba(155,93,229,.1)}}
@media (prefers-reduced-motion:reduce){.mm-hero *,.mm-hero::before{animation:none!important;opacity:1!important;transform:none!important}}
.mode-ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:rgba(155,93,229,.18);border:1px solid rgba(155,93,229,.4);color:var(--violet-l)}
.mode-ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mode-friends{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px 26px;align-items:center;padding:clamp(18px,2vw,26px);border-radius:16px;border:1px solid var(--line);
  background:linear-gradient(150deg,rgba(155,93,229,.1),rgba(16,24,34,1) 55%)}
.mf-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.mode-friends h2{margin:0;font-family:var(--fd);font-weight:800;font-size:clamp(22px,2vw,30px);text-transform:uppercase;letter-spacing:.02em;line-height:1}
.mode-friends p{margin:0;color:var(--dim);font-size:14px}
.mode-friends ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px}
.mode-friends li{font-size:13px;color:var(--dim);padding-left:14px;position:relative}
.mode-friends li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:2px;background:var(--violet)}
.mode-friends .acts{display:flex;gap:10px;flex-wrap:wrap}

/* ===== Table / Statistics ===== */
.hscroll{overflow-x:auto}
.htable{width:100%;border-collapse:collapse;min-width:760px;font-variant-numeric:tabular-nums}
.htable th{font-family:var(--fm);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);text-align:right;padding:12px 14px;background:var(--tonal);white-space:nowrap}
.htable td{padding:11px 14px;border-top:1px solid var(--line-2);text-align:right;font-size:14px;white-space:nowrap}
.htable th:first-child,.htable td:first-child,.htable th:nth-child(2),.htable td:nth-child(2){text-align:left}
.htable tr:hover td{background:rgba(155,93,229,.06)}
.htable .rk{font-family:var(--fm);color:var(--faint);width:44px}
.htable .rk.top{color:var(--violet-l);font-weight:600}
.htable .elo{font-family:var(--fm);font-weight:600;color:#fff}
.who{display:flex;align-items:center;gap:10px;min-width:0}
.who .av{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,#3A1478,#160119);color:var(--violet-l);font-family:var(--fd);font-weight:800;font-size:15px}
.who .av img{width:100%;height:100%;object-fit:cover}
.who a{font-weight:700;overflow:hidden;text-overflow:ellipsis}
.who a:hover{color:var(--violet-l)}
.good{color:var(--win)} .bad{color:var(--pink)}

/* ===== Players ===== */
.hsearch{width:min(420px,100%);background:var(--tonal);border:1px solid var(--line);border-radius:10px;color:#fff;font:inherit;font-size:14px;padding:11px 14px;outline:none}
.hsearch:focus{border-color:var(--violet)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--gap)}
.pcard{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);text-align:center;transition:border-color .15s,transform .15s}
.pcard:hover{border-color:var(--violet);transform:translateY(-2px)}
.pcard .av{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,#3A1478,#160119);color:var(--violet-l);font-family:var(--fd);font-weight:800;font-size:34px;border:2px solid rgba(155,93,229,.5)}
.pcard .av img{width:100%;height:100%;object-fit:cover}
.pcard .nm{font-weight:800;font-size:16px;letter-spacing:-.3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcard .eloline{font-family:var(--fm);font-size:13px;color:var(--violet-l)}
.pcard .kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin-top:4px}
.pcard .kv span{display:flex;flex-direction:column;font-family:var(--fm);font-size:13px;color:#fff}
.pcard .kv small{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}

/* ===== Watch Live ===== */
.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:var(--gap)}
.wcard{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.wcard .wtop{position:relative;min-height:150px;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;background:#0B111A center/cover no-repeat}
.wcard .wtop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,9,.35),rgba(5,7,9,.9))}
.wcard .wtop>*{position:relative;z-index:1}
.wcard .wrow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.wcard .wmap{font-family:var(--fd);font-weight:800;font-size:26px;text-transform:uppercase;letter-spacing:.03em}
.wcard .wscore{font-family:var(--fd);font-weight:800;font-size:54px;line-height:1;text-align:center;font-variant-numeric:tabular-nums}
.wcard .wscore i{font-style:normal;color:var(--faint);margin:0 12px}
.wteams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-2)}
.wteam{background:var(--card);padding:12px 16px;display:flex;flex-direction:column;gap:5px}
.wteam b{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.wteam span{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wacts{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-top:1px solid var(--line-2);flex-wrap:wrap}
.wacts code{font-family:var(--fm);font-size:12px;color:var(--dim)}

/* ===== Teams ===== */
.tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.tcard{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.tcard h3{margin:0;font-size:20px;letter-spacing:-.3px}
.tcard p{margin:0;color:var(--dim);font-size:14px}

/* ===== Account ===== */
.acc{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,2fr);gap:var(--gap);align-items:start}
.acc-side{display:flex;flex-direction:column;gap:var(--gap)}
.acc-main{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.prof{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 20px;text-align:center}
.prof .av{width:118px;height:118px;border-radius:50%;overflow:hidden;background:linear-gradient(150deg,#3A1478,#160119);border:3px solid rgba(155,93,229,.6);box-shadow:0 10px 30px rgba(155,93,229,.25)}
.prof .av img{width:100%;height:100%;object-fit:cover}
.prof .nm{font-family:var(--fd);font-weight:800;font-size:32px;line-height:1;text-transform:none;letter-spacing:.01em;word-break:break-all}
.prof .steam{font-family:var(--fm);font-size:11px;color:var(--faint)}
.nickform{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:6px}
.nickform label{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);text-align:left}
.nickrow{display:flex;gap:8px}
.nickrow input{flex:1;min-width:0;background:var(--tonal);border:1px solid var(--line);border-radius:10px;color:#fff;font:inherit;font-weight:700;font-size:15px;padding:10px 12px;outline:none}
.nickrow input:focus{border-color:var(--violet)}
.nickrow button{padding:10px 14px;border-radius:10px;background:var(--violet-d);font-weight:800;font-size:13px}
.nickrow button:disabled{opacity:.5}
.nickmsg{font-size:12.5px;min-height:1.2em;text-align:left;color:var(--faint)}
.nickmsg.bad{color:var(--pink)} .nickmsg.ok{color:var(--win)}
.balance{padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.balance b{font-family:var(--fm);font-size:36px;font-weight:600;font-variant-numeric:tabular-nums}
.balance span{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.balance p{margin:6px 0 0;color:var(--faint);font-size:12.5px}
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tile{background:var(--card);padding:16px 14px;display:flex;flex-direction:column;gap:4px}
.tile b{font-family:var(--fm);font-size:clamp(20px,2vw,28px);font-weight:600;font-variant-numeric:tabular-nums}
.tile span{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.acc-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.alink{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:12px;background:var(--card);border:1px solid var(--line);transition:border-color .15s}
.alink:hover{border-color:var(--violet)}
.alink b{font-size:15px}
.alink span{font-size:12.5px;color:var(--faint)}
.res{font-family:var(--fm);font-weight:600}
.res.w{color:var(--win)} .res.l{color:var(--pink)} .res.d{color:var(--faint)}
.hgate{display:flex;flex-direction:column;align-items:center;gap:14px;padding:56px 18px;text-align:center}
.hgate p{margin:0;color:var(--dim)}

@media(max-width:1100px){
  .acc{grid-template-columns:1fr}
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .tgrid,.acc-links{grid-template-columns:1fr}
  .mm-hero{grid-template-columns:1fr}.mm-visual{order:-1}.mm-radar{width:min(70%,260px)}
  .mm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mode-friends{grid-template-columns:1fr}
}
@media(max-width:520px){
  .mm-teams{gap:14px}.mm-team{gap:4px}.mm-team i{width:20px;height:20px;border-radius:6px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wteams{grid-template-columns:1fr}
}

/* ===== Профиль игрока (аккаунт и публичная страница) ===== */
.muted{color:var(--faint)}
.phero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--gap);align-items:stretch;
  padding:clamp(20px,2.4vw,34px);border-radius:18px;border:1px solid rgba(155,93,229,.35);
  background:radial-gradient(120% 140% at 0% 0%,rgba(155,93,229,.32),transparent 55%),linear-gradient(150deg,#1A1030,#0D141C 60%,#101822)}
.ph-who{display:flex;align-items:center;gap:clamp(16px,2vw,28px);min-width:0}
.ph-av{flex:none;width:clamp(96px,10vw,140px);aspect-ratio:1;border-radius:22px;overflow:hidden;background:linear-gradient(150deg,#3A1478,#160119);border:3px solid rgba(155,93,229,.7);box-shadow:0 16px 40px rgba(155,93,229,.3)}
.ph-av img{width:100%;height:100%;object-fit:cover}
.ph-name{display:flex;flex-direction:column;gap:6px;min-width:0}
.ph-name h1{margin:0;font-family:var(--fd);font-weight:800;font-size:clamp(36px,4.4vw,64px);line-height:.95;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-meta{font-family:var(--fm);font-size:12px;color:var(--dim)}
.ph-elo{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:14px 18px;align-items:center;
  padding:18px;border-radius:14px;background:rgba(5,7,9,.45);border:1px solid var(--line)}
.ph-elonum{display:flex;flex-direction:column;gap:2px}
.ph-elonum b{font-family:var(--fm);font-weight:600;font-size:clamp(34px,3.4vw,50px);line-height:1;font-variant-numeric:tabular-nums}
.ph-elonum span{font-family:var(--fm);font-size:10px;letter-spacing:.16em;color:var(--faint)}
.ph-elonum i{font-style:normal;font-size:12.5px;color:var(--dim)}
.ph-wl{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.6fr);gap:1px;background:var(--line);border-radius:10px;overflow:hidden}
.ph-wl>div{background:var(--card);padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.ph-wl b{font-family:var(--fm);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.ph-wl span{font-family:var(--fm);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.ph-form>div{display:flex;gap:5px;flex-wrap:wrap}
.fd{font-style:normal;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-family:var(--fm);font-size:11px;font-weight:700}
.fd.w{background:rgba(127,212,255,.18);color:var(--win)} .fd.l{background:rgba(255,45,128,.14);color:#FF7FB0} .fd.d{background:var(--tonal);color:var(--dim)}

/* уровень 1–10 */
.lvl{position:relative;display:inline-grid;place-items:center;flex:none;width:38px;height:38px}
.lvl.big{width:84px;height:84px}
.lvl svg{position:absolute;inset:0;width:100%;height:100%}
.lvl .lvl-bg{fill:rgba(5,7,9,.6);stroke:rgba(255,255,255,.12);stroke-width:5}
.lvl .lvl-fg{fill:none;stroke-width:5;stroke-linecap:round;stroke:#8A6E95}
.lvl b{position:relative;font-family:var(--fd);font-weight:800;font-size:18px;color:#fff}
.lvl.big b{font-size:34px}
/* Уровни 0–10: ноль серый, середина фиолетовая, верх светлый, десятка белая
   со свечением — она должна быть заметно особенной. */
.lvl3 .lvl-fg,.lvl4 .lvl-fg,.lvl5 .lvl-fg,.lvl6 .lvl-fg{stroke:#9B5DE5}
.lvl7 .lvl-fg,.lvl8 .lvl-fg,.lvl9 .lvl-fg{stroke:#CDB4F7}
.lvl10 .lvl-fg{stroke:#fff}
.lvl10 b{text-shadow:0 0 14px rgba(205,180,247,.9)}

.ptiles{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ptile{background:var(--card);padding:16px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ptile span{font-family:var(--fm);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptile b{font-family:var(--fm);font-size:clamp(22px,2vw,30px);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.ptile i{font-style:normal;font-size:11.5px;line-height:1.35;color:var(--dim)}
.ptile.good b{color:var(--win)} .ptile.bad b{color:#FF7FB0}

.pgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.pgrid2.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.pgrid2>.hcard{display:flex;flex-direction:column}
.pchart{padding:10px 14px 14px;flex:1;display:flex;align-items:center}
.chart{width:100%;height:auto;display:block}
.ch-grid{stroke:rgba(255,255,255,.08);stroke-width:1}
.ch-lbl{fill:#8A6E95;font-family:"IBM Plex Mono",Menlo,monospace;font-size:13px}
.ch-line{fill:none;stroke:#CDB4F7;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.ch-dot{fill:#fff;stroke:#9B5DE5;stroke-width:3}
.pcombat{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;padding:16px 18px;flex:1}
.pkv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-2);border-radius:10px;overflow:hidden;align-content:start}
.pkv>div{background:var(--tonal);padding:10px 12px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.pkv span{font-size:12.5px;color:var(--dim)}
.pkv b{font-family:var(--fm);font-weight:600;font-variant-numeric:tabular-nums}
.pbars{display:flex;flex-direction:column;gap:10px}
.pbars .lbl{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.pbar{display:grid;grid-template-columns:40px minmax(0,1fr) 34px;align-items:center;gap:10px}
.pbar span{font-family:var(--fm);font-size:12px;color:var(--dim)}
.pbar .track{height:10px;border-radius:6px;background:var(--tonal);overflow:hidden}
.pbar .track i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#6C2BC7,#B183F0)}
.pbar b{font-family:var(--fm);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.mapcell{display:inline-flex;align-items:center;gap:10px;text-transform:capitalize;font-weight:700}
.mapcell i{width:46px;height:28px;border-radius:5px;background:#0B111A center/cover no-repeat;flex:none}
.wr{display:inline-block;width:60px;height:6px;border-radius:4px;background:var(--tonal);overflow:hidden;margin-right:8px;vertical-align:middle}
.wr i{display:block;height:100%;background:var(--win)}
.precords{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-2);flex:1}
.precords>div{background:var(--card);padding:18px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.precords b{font-family:var(--fm);font-size:clamp(22px,2vw,30px);font-weight:600;font-variant-numeric:tabular-nums}
.precords span{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}

/* блоки аккаунта под шапкой профиля */
.accbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.accbar>.hcard{display:flex;flex-direction:column}
.accbar .nickform{padding:16px 18px;margin:0}
.accbar .balance{flex:1;justify-content:center}
.accbar .teambox2{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 18px}
.accbar .teambox2 p{margin:0;color:var(--dim);font-size:14px}
.ph-edit{align-self:flex-start;margin-top:4px;font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-l);padding:6px 10px;border:1px solid rgba(155,93,229,.4);border-radius:8px}
.ph-edit:hover{background:rgba(155,93,229,.15)}

@media(max-width:1300px){ .ptiles{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media(max-width:1000px){
  .phero,.pgrid2,.pgrid2.wide-left,.accbar{grid-template-columns:1fr}
  .pcombat{grid-template-columns:1fr}
}
@media(max-width:560px){
  .ptiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ph-who{flex-direction:column;align-items:flex-start}
  .ph-wl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ph-form{grid-column:1 / -1}
  .ph-elo{grid-template-columns:1fr}
}

/* ник в шапке профиля: карандаш и поле правки */
.ph-title{display:flex;align-items:center;gap:10px;min-width:0}
.ph-title h1{min-width:0}
.ph-pen{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:rgba(255,255,255,.55);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:color .15s,background .15s,border-color .15s}
.ph-pen:hover,.ph-pen:focus-visible{color:#fff;background:rgba(155,93,229,.25);border-color:rgba(155,93,229,.55);outline:none}
.ph-pen svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ph-nickedit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.ph-nickedit input{width:min(260px,100%);background:rgba(5,7,9,.55);border:1px solid rgba(155,93,229,.5);border-radius:10px;color:#fff;font:inherit;font-weight:700;font-size:15px;padding:9px 12px;outline:none}
.ph-nickedit input:focus{border-color:var(--violet-l)}
.ph-nickedit button{padding:9px 14px;border-radius:10px;background:var(--violet-d);font-weight:800;font-size:13px}
.ph-nickedit button.ghost{background:none;color:var(--dim);border:1px solid var(--line)}
.ph-nickedit button:disabled{opacity:.5}
.ph-nickedit .nickmsg{flex-basis:100%;font-size:12px}
/* подпись к строке «Бой»: что именно считается */
.pkv span i{display:block;font-style:normal;font-size:11px;color:var(--faint);margin-top:1px}
.pkv.one{grid-template-columns:1fr}
.pkv .na,.precords .na{color:var(--faint)}
.pgrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.pgrid3>.hcard{display:flex;flex-direction:column}
.pblock{display:flex;flex-direction:column;gap:16px;padding:16px 18px;flex:1}
.pclutch{display:grid;grid-template-columns:34px minmax(0,1fr) 52px;align-items:center;gap:10px}
.pclutch span{font-family:var(--fm);font-size:12px;color:var(--dim)}
.pclutch .track,.pw .track{height:10px;border-radius:6px;background:var(--tonal);overflow:hidden}
.pclutch .track i,.pw .track i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#6C2BC7,#B183F0)}
.pclutch b{font-family:var(--fm);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.pclutch b em{font-style:normal;color:var(--faint);font-weight:500}
.pweapons{display:flex;flex-direction:column;gap:12px;padding:16px 18px;flex:1}
.pw{display:grid;grid-template-columns:110px minmax(0,1fr) 38px;grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:center}
.pw span{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pw b{font-family:var(--fm);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.pw em{grid-column:2/4;font-style:normal;font-size:11px;color:var(--faint)}
@media(max-width:1100px){.pgrid3{grid-template-columns:1fr}}
@media(max-width:600px){.precords{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pkv>div{align-items:center}

/* ===== Профиль v3: ровные ряды, живая шапка, аватар, команда ===== */
.prow{display:grid;gap:var(--gap);align-items:stretch}
.prow>.hcard{display:flex;flex-direction:column;min-width:0}
.prow.r21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.prow.r4,.prow.r2{grid-template-columns:repeat(2,minmax(0,1fr))}
.prow .pblock{padding:14px 16px}
.prow .pkv{flex:1;grid-auto-rows:1fr}
.pchart{flex:1;display:flex;align-items:center}
.pbars.even{flex:1;justify-content:space-around;padding:16px 18px}
.pkv b em{font-style:normal;color:var(--faint);font-weight:500}
.prow .pweapons{gap:0;justify-content:space-between}
.prow .pweapons .pw{padding:5px 0}
.prow .precords{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr}
@media(max-width:1100px){.prow.r21,.prow.r4,.prow.r2{grid-template-columns:1fr}}
@media(max-width:600px){.prow .precords{grid-template-columns:repeat(2,minmax(0,1fr))}.prow .pkv{grid-template-columns:1fr}}

.phero{position:relative;overflow:hidden;isolation:isolate}
.ph-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(40px);opacity:.55;pointer-events:none}
.ph-orb.o1{width:260px;height:260px;left:-60px;top:-90px;background:#6C2BC7;animation:phFloat 14s ease-in-out infinite}
.ph-orb.o2{width:200px;height:200px;left:38%;bottom:-120px;background:#9B5DE5;opacity:.35;animation:phFloat 18s ease-in-out -6s infinite reverse}
.ph-orb.o3{width:160px;height:160px;right:-40px;top:-40px;background:#B183F0;opacity:.25;animation:phFloat 16s ease-in-out -3s infinite}
@keyframes phFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,24px) scale(1.12)}66%{transform:translate(-24px,36px) scale(.92)}}
.ph-av{position:relative;animation:phGlow 4s ease-in-out infinite}
@keyframes phGlow{0%,100%{box-shadow:0 16px 40px rgba(155,93,229,.3)}50%{box-shadow:0 16px 60px rgba(177,131,240,.6)}}
.lvl.big .lvl-fg{animation:lvlDraw 1.2s ease-out both}
@keyframes lvlDraw{from{stroke-dasharray:0 999}}
.ptile{animation:ptIn .5s ease both}
.ptile:nth-child(2){animation-delay:.04s}.ptile:nth-child(3){animation-delay:.08s}.ptile:nth-child(4){animation-delay:.12s}
.ptile:nth-child(5){animation-delay:.16s}.ptile:nth-child(6){animation-delay:.2s}.ptile:nth-child(7){animation-delay:.24s}.ptile:nth-child(8){animation-delay:.28s}
@keyframes ptIn{from{opacity:0;transform:translateY(10px)}}
.pbar .track i,.pw .track i{animation:barGrow .9s ease-out both}
@keyframes barGrow{from{width:0}}

.ph-avcam{position:absolute;inset:0;display:grid;place-items:center;gap:4px;align-content:center;border-radius:inherit;background:rgba(10,6,20,.62);color:#fff;
  opacity:0;transition:opacity .18s;cursor:pointer;font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.ph-avcam svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ph-av:hover .ph-avcam,.ph-avcam:focus-visible,.ph-av.busy .ph-avcam{opacity:1;outline:none}
.ph-av.busy .ph-avcam svg{animation:mmSpin 1s linear infinite}
.ph-avreset{position:absolute;right:6px;top:6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.7);color:#fff;font-size:14px;line-height:1;opacity:0;transition:opacity .18s;z-index:2}
.ph-av:hover .ph-avreset{opacity:1}
.ph-avmsg{font-size:12px;color:#FF7FB0}

.ph-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.ph-chip{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 8px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(155,93,229,.35);
  color:#fff;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}
.ph-chip i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#6C2BC7,#B183F0);box-shadow:0 4px 14px rgba(155,93,229,.45)}
.ph-chip i svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ph-chip small{display:block;font-family:var(--fm);font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.ph-chip b{font-family:var(--fm);font-weight:600;font-size:15px}
a.ph-chip:hover{background:rgba(155,93,229,.2);border-color:var(--violet);transform:translateY(-1px)}

.pteam{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px 32px;padding:clamp(20px,2.4vw,32px);border-radius:16px;overflow:hidden;isolation:isolate;
  border:1px solid rgba(155,93,229,.4);background:linear-gradient(110deg,rgba(80,35,160,.35),rgba(16,24,34,1) 55%,rgba(108,43,199,.25))}
.pteam::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 30%,rgba(177,131,240,.12) 50%,transparent 70%);background-size:250% 100%;animation:teamSheen 7s linear infinite}
@keyframes teamSheen{from{background-position:150% 0}to{background-position:-100% 0}}
.pteam-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.pteam-copy .eyebrow{color:var(--violet-l)}
.pteam h2{margin:0;font-family:var(--fd);font-weight:800;font-size:clamp(28px,3vw,44px);line-height:1;text-transform:uppercase}
.pteam p{margin:0;color:var(--dim);font-size:14.5px;max-width:60ch}
.pteam-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;align-items:center}
.pteam-slots{display:flex;gap:12px}
.pteam-slot{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;border:2px dashed rgba(177,131,240,.45);color:rgba(177,131,240,.7);background:rgba(155,93,229,.08);
  animation:slotFloat 3.6s ease-in-out infinite}
.pteam-slot svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.pteam-slot:nth-child(2){animation-delay:.3s}.pteam-slot:nth-child(3){animation-delay:.6s;border-style:solid;border-color:rgba(177,131,240,.8);color:#fff;background:linear-gradient(135deg,#6C2BC7,#B183F0);box-shadow:0 10px 30px rgba(155,93,229,.5)}
.pteam-slot:nth-child(4){animation-delay:.9s}.pteam-slot:nth-child(5){animation-delay:1.2s}
@keyframes slotFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:900px){.pteam{grid-template-columns:1fr}.pteam-slots{order:-1}.pteam-slot{width:48px;height:48px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){.ph-orb,.ph-av,.pteam::after,.pteam-slot,.ptile,.lvl.big .lvl-fg,.pbar .track i,.pw .track i{animation:none!important}}

/* график эло во всю ширину; пустой — ровная линия и подпись поверх */
.pchart{position:relative;padding:8px 14px 4px}
.pchart .chart{width:100%;height:auto;display:block}
.ch-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:14px;pointer-events:none}
.ch-empty span{padding:8px 16px;border-radius:10px;background:rgba(11,17,26,.85);border:1px solid var(--line)}
.prow>.hcard>.hempty{flex:1;display:grid;place-items:center}
.pv-note{padding:10px 16px;border-radius:10px;background:rgba(255,196,0,.08);border:1px solid rgba(255,196,0,.4);color:#FFD66B;font-size:13px;font-weight:600}

/* Команда — холодный сине-бирюзовый, чтобы не всё было фиолетовым */
.pteam{border-color:rgba(127,212,255,.3);background:linear-gradient(110deg,rgba(18,74,96,.45),rgba(14,22,32,1) 55%,rgba(24,92,110,.3))}
.pteam::after{background:linear-gradient(100deg,transparent 30%,rgba(127,212,255,.1) 50%,transparent 70%);background-size:250% 100%}
.pteam-copy .eyebrow{color:#7FD4FF}
.pteam-slot{border-color:rgba(127,212,255,.4);color:rgba(127,212,255,.75);background:rgba(127,212,255,.06)}
.pteam-slot:nth-child(3){border-color:rgba(127,212,255,.85);color:#06131c;background:linear-gradient(135deg,#3FB6E0,#9BE3FF);box-shadow:0 10px 30px rgba(63,182,224,.45)}
.pteam .hpill.soon{color:#7FD4FF;border-color:rgba(127,212,255,.4)}

/* Шапка профиля — плавное медленное движение света */
.phero::before{content:"";position:absolute;inset:-40%;z-index:-2;pointer-events:none;
  background:conic-gradient(from 0deg at 50% 50%,rgba(108,43,199,.0),rgba(108,43,199,.28),rgba(63,182,224,.12),rgba(155,93,229,.25),rgba(108,43,199,.0));
  filter:blur(60px);animation:phSpin 40s linear infinite}
@keyframes phSpin{to{transform:rotate(360deg)}}
.ph-orb.o1{animation:phFloat 22s cubic-bezier(.45,0,.55,1) infinite}
.ph-orb.o2{animation:phFloat 28s cubic-bezier(.45,0,.55,1) -9s infinite reverse}
.ph-orb.o3{animation:phFloat 25s cubic-bezier(.45,0,.55,1) -5s infinite}
.ph-name h1{background:linear-gradient(90deg,#fff 0%,#fff 40%,#E6D6FF 50%,#fff 60%,#fff 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:phName 9s ease-in-out infinite}
@keyframes phName{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.ph-elo{animation:phLift 7s ease-in-out infinite}
@keyframes phLift{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.phero::before,.ph-name h1,.ph-elo{animation:none!important}}

/* Шапка: цвета фона медленно переливаются */
.phero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(120deg,rgba(108,43,199,.38),rgba(40,70,140,.22),rgba(155,93,229,.3),rgba(30,110,140,.2),rgba(108,43,199,.38));
  background-size:400% 400%;animation:phHue 24s ease-in-out infinite;mix-blend-mode:screen;opacity:.8}
@keyframes phHue{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

@media(prefers-reduced-motion:reduce){.phero::after{animation:none!important}}

/* карандаш появляется, только когда мышь над ником (на телефонах виден всегда) */
@media(hover:hover){
  .ph-title .ph-pen{opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s,color .15s,background .15s,border-color .15s}
  .ph-title:hover .ph-pen,.ph-title .ph-pen:focus-visible,.ph-title .ph-pen[aria-expanded="true"]{opacity:1;transform:none}
}
.ph-chip.bal{min-width:190px}
.ph-chip b em{font-style:normal;font-size:11px;letter-spacing:.08em;color:#7FD4FF;margin-left:2px}
.ph-chip i.rifle svg{width:20px;height:20px;fill:#fff;stroke:#fff;stroke-width:.6}

/* Команда v2: логотип с «?» и текст слева, карточка игрока справа — по сетке шапки */
.pteam.v2{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--gap);align-items:center}
.pteam-left{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.pteam.v2 .pteam-copy{gap:4px}
.pteam.v2 h2{font-size:clamp(20px,1.8vw,26px)}
.pteam.v2 p{font-size:13px;max-width:52ch}
.pteam-logo{width:84px;height:84px;border-radius:20px;display:grid;place-items:center;flex:none;position:relative;
  background:linear-gradient(145deg,rgba(127,212,255,.14),rgba(10,24,34,.9));border:2px dashed rgba(127,212,255,.5);
  font-family:var(--fd);font-weight:800;font-size:44px;color:#7FD4FF;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.pteam-logo span{animation:tqPulse 2.4s ease-in-out infinite;display:inline-block}
.pteam-logo::after{content:"";position:absolute;inset:-8px;border-radius:26px;border:1px solid rgba(127,212,255,.35);animation:tqRing 2.4s ease-out infinite}
@keyframes tqPulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes tqRing{0%{opacity:.8;transform:scale(.92)}100%{opacity:0;transform:scale(1.18)}}
.pteam-logo.has{border-style:solid;color:#fff}
.pteam-logo.mini{width:26px;height:26px;border-radius:7px;font-size:15px;border-width:1px;box-shadow:none;font-style:normal}
.pteam-logo.mini::after{display:none}
.plcard{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;padding:18px;border-radius:14px;overflow:hidden;
  background:linear-gradient(135deg,rgba(20,44,58,.95),rgba(9,16,24,.95));border:1px solid rgba(127,212,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.plcard::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(127,212,255,.1) 50%,transparent 65%);background-size:250% 100%;animation:teamSheen 6s linear infinite;pointer-events:none}
.plcard-photo{width:112px;height:130px;border-radius:12px;overflow:hidden;display:grid;place-items:end center;background:radial-gradient(circle at 50% 30%,#1b2a38,#070c12);border:1px solid rgba(127,212,255,.2)}
.plcard-photo svg{width:96px;height:112px}
.plcard-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.plcard-tag{font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7FD4FF}
.plcard-info b{font-family:var(--fd);font-weight:800;font-size:clamp(26px,2.4vw,38px);line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plcard-team{display:flex;align-items:center;gap:10px;color:var(--dim);font-size:13px}
.plcard-soon{position:absolute;top:14px;right:14px;font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7FD4FF;padding:4px 10px;border-radius:10px;border:1px solid rgba(127,212,255,.4)}
@media(max-width:900px){.pteam.v2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pteam-logo span,.pteam-logo::after,.plcard::before{animation:none!important}}
.plcard-info{align-items:flex-start;text-align:left}
.plcard-info b{max-width:100%}

/* заголовок страницы и подпись в один ряд — меньше высоты до блоков */
.hhead.hrow{align-items:flex-end;flex-wrap:nowrap;gap:32px}
.hhead.hrow .htitle{margin-bottom:0}
.hhead.hrow .hsub{max-width:60ch;text-align:right;padding-bottom:6px}
@media(max-width:760px){.hhead.hrow{flex-wrap:wrap;gap:8px}.hhead.hrow .hsub{text-align:left;padding-bottom:0}}

/* Шапка: ник вровень с верхом аватара, значки — с низом, строка посередине */
.ph-name{align-self:center;height:clamp(96px,10vw,140px);justify-content:space-between;gap:0}
.ph-name h1{line-height:.85}
.ph-name .ph-chips{margin-top:0}
.ph-name .ph-meta{font-size:12.5px;color:var(--dim)}
.ph-name .ph-nickedit:not([hidden])~.ph-meta{display:none}
@media(max-width:700px){.ph-name{height:auto;gap:10px}}
.ph-av{width:clamp(110px,11.5vw,168px)}
.ph-name{height:clamp(110px,11.5vw,168px);padding:2px 0}
@media(max-width:700px){.ph-name{height:auto}}
.ph-chip i.rifle svg{width:26px;height:11px;fill:#fff;stroke:none}
/* шапка выше и чуть ярче по фиолетовому */
.phero{padding:clamp(28px,3.4vw,52px) clamp(20px,2.4vw,34px);border-color:rgba(155,93,229,.5);
  background:radial-gradient(120% 140% at 0% 0%,rgba(155,93,229,.48),transparent 58%),radial-gradient(80% 120% at 60% 110%,rgba(124,58,237,.22),transparent 60%),linear-gradient(150deg,#241244,#131028 60%,#141a2a)}
.phero::after{opacity:1}
.ph-orb.o1{opacity:.7}.ph-orb.o2{opacity:.45}

/* маленькая надпись теперь под большим заголовком */
.htitle{margin:0 0 8px}
.htitle+.eyebrow{display:block;margin:0 0 10px}

/* Игроки: список */
.plist tbody tr{cursor:pointer}
.plist tbody tr:hover td{background:rgba(155,93,229,.06)}
.plist .who{display:flex;align-items:center;gap:12px}
.plist .who .lvl{width:32px;height:32px}
.plist .who .lvl b{font-size:15px}
.plist .who .av{width:34px;height:34px}
.plist .elo{font-family:var(--fm);font-weight:600;color:#fff}
.plist .dim{color:var(--faint);font-family:var(--fm);font-size:12px}
.plist-more{display:flex;justify-content:center;padding:14px;border-top:1px solid var(--line-2)}
.plist .tm{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;white-space:nowrap}
.plist .tm.none{color:var(--faint);font-weight:500}
.plist .tm.none i{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-style:normal;font-size:13px;line-height:1;border:1px solid var(--line);color:var(--faint)}

/* ===== Лиги ===== */
.lg-root{display:flex;flex-direction:column;gap:var(--gap)}
.lg-top{position:relative;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);gap:clamp(20px,3vw,44px);align-items:center;
  padding:clamp(24px,3vw,44px);border-radius:18px;overflow:hidden;isolation:isolate;border:1px solid rgba(255,196,80,.35);
  background:radial-gradient(90% 140% at 0% 0%,rgba(255,196,80,.16),transparent 55%),radial-gradient(100% 120% at 100% 100%,rgba(155,93,229,.35),transparent 60%),linear-gradient(150deg,#221338,#101624)}
.lg-top::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 35%,rgba(255,214,120,.08) 50%,transparent 65%);background-size:250% 100%;animation:teamSheen 8s linear infinite}
.lg-top-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.lg-crown{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#FFC850,#FF9F3C);box-shadow:0 12px 34px rgba(255,180,60,.35)}
.lg-crown svg{width:34px;height:34px;fill:#2a1600}
.lg-top-copy .eyebrow{color:#FFD27A}
.lg-top h2{margin:0;font-family:var(--fd);font-weight:800;font-size:clamp(40px,4.6vw,72px);line-height:.9;text-transform:uppercase}
.lg-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--dim);font-family:var(--fm);font-size:13px}
.lg-meta b{color:#fff;font-size:18px}
.lg-top-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lg-col,.lg-table{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:rgba(8,12,20,.55);border:1px solid var(--line)}
.lg-row{display:grid;grid-template-columns:28px 30px minmax(0,1fr) 36px 40px;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid var(--line-2);position:relative}
.lg-row:first-child{border-top:none}
.lg-headrow{padding:8px 14px;font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);background:rgba(255,255,255,.02)}
.lg-pos{font-family:var(--fm);font-size:13px;color:var(--dim)}
.lg-logo{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-family:var(--fd);font-weight:800;font-size:15px;color:var(--faint);border:1px dashed var(--line)}
.lg-logo.has{border-style:solid;color:#fff;background:rgba(155,93,229,.2)}
.lg-team{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-team.free{color:var(--faint);font-weight:500}
.lg-num{font-family:var(--fm);font-size:13px;text-align:right;color:var(--dim)}
.lg-num.pts{color:#fff}
.lg-row.champ::before,.lg-row.up::before,.lg-row.down::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px}
.lg-row.champ::before{background:#FFC850}.lg-row.champ .lg-pos{color:#FFD27A}
.lg-row.up::before{background:#3ddc84}.lg-row.up .lg-pos{color:#8ff0b5}
.lg-row.down::before{background:#FF5C8A}.lg-row.down .lg-pos{color:#FF9DB8}
.lg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.lg-card{display:flex;flex-direction:column}
.lg-card-h{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-2)}
.lg-card-h h3{margin:0;font-family:var(--fd);font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:.01em;flex:1}
.lg-tier{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-family:var(--fd);font-weight:800;font-size:19px;color:#fff;background:linear-gradient(135deg,#6C2BC7,#B183F0)}
.lg-count{font-family:var(--fm);font-size:12px;color:var(--faint)}
.lg-count b{color:#fff;font-size:15px}
.lg-card .lg-table{margin:14px;flex:1}
.lg-legend{display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--dim)}
.lg-legend span{display:inline-flex;align-items:center;gap:8px}
.lg-legend i{width:12px;height:12px;border-radius:3px}
.lg-legend i.champ{background:#FFC850}.lg-legend i.up{background:#3ddc84}.lg-legend i.down{background:#FF5C8A}
@media(max-width:1100px){.lg-top{grid-template-columns:1fr}}
@media(max-width:820px){.lg-grid,.lg-top-table{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lg-top::after{animation:none}}

/* ===== Команды: баннеры ===== */
.tbanner{position:relative;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:clamp(20px,3vw,44px);align-items:center;
  padding:clamp(22px,2.6vw,38px);border-radius:18px;overflow:hidden;isolation:isolate;border:1px solid rgba(155,93,229,.4);
  background:radial-gradient(90% 140% at 0% 0%,rgba(155,93,229,.28),transparent 55%),radial-gradient(100% 120% at 100% 100%,rgba(63,182,224,.14),transparent 60%),linear-gradient(150deg,#1d1433,#0f1622)}
.tbanner.top{border-color:rgba(255,196,80,.4);background:radial-gradient(90% 140% at 0% 0%,rgba(255,196,80,.16),transparent 55%),radial-gradient(100% 120% at 100% 100%,rgba(155,93,229,.35),transparent 60%),linear-gradient(150deg,#221338,#101624)}
.tbanner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.05) 50%,transparent 65%);background-size:250% 100%;animation:teamSheen 9s linear infinite}
.tb-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.tb-logo{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;font-family:var(--fd);font-weight:800;font-size:30px;color:#fff;
  background:linear-gradient(135deg,#6C2BC7,#B183F0);box-shadow:0 12px 34px rgba(155,93,229,.4)}
.tbanner.top .tb-logo{background:linear-gradient(135deg,#FFC850,#FF9F3C);color:#2a1600;box-shadow:0 12px 34px rgba(255,180,60,.35)}
.tb-logo:not(.has){background:rgba(155,93,229,.1);border:2px dashed rgba(177,131,240,.5);color:var(--violet-l);box-shadow:none}
.tb-logo:not(.has) span{animation:tqPulse 2.4s ease-in-out infinite}
.tb-copy h2{margin:0;font-family:var(--fd);font-weight:800;font-size:clamp(34px,3.8vw,58px);line-height:.92;text-transform:uppercase;max-width:100%;overflow-wrap:anywhere}
.tb-league{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--dim)}
.tb-league i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-family:var(--fd);font-weight:800;font-size:16px;color:#fff;background:linear-gradient(135deg,#6C2BC7,#B183F0)}
.tb-league.top i{background:linear-gradient(135deg,#FFC850,#FF9F3C)}
.tb-league.top i svg{width:17px;height:17px;fill:#2a1600}
.tb-league.top{color:#FFD27A}
.tb-league.none i{background:none;border:1px dashed var(--line);color:var(--faint)}
.tb-roster{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.tb-player{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 10px 14px;border-radius:14px;background:rgba(8,12,20,.55);border:1px solid var(--line);min-width:0;transition:transform .18s,border-color .18s}
a.tb-player[href]:hover{transform:translateY(-3px);border-color:var(--violet)}
.tb-photo{width:100%;aspect-ratio:4/5;border-radius:10px;overflow:hidden;display:grid;place-items:end center;background:radial-gradient(circle at 50% 30%,#1b2a38,#070c12)}
.tb-photo img{width:100%;height:100%;object-fit:cover}
.tb-photo svg{width:80%;height:auto;fill:#243242}
.tb-player b{font-size:14px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-player span{font-family:var(--fm);font-size:12px;color:var(--violet-l)}
.tb-player.empty b{color:var(--faint);font-weight:500}
.tb-player.empty span{color:var(--faint)}
.tb-player.empty{border-style:dashed}
@media(max-width:1100px){.tbanner{grid-template-columns:1fr}}
@media(max-width:620px){.tb-roster{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.tbanner::after,.tb-logo span{animation:none}}

/* заголовок страницы и поиск в одну линию: поле по центру большого заголовка, счётчик слева от поля */
.hhead.withsearch{align-items:flex-start}
/* счётчик — под полем поиска, справа */
.hhead.withsearch .hsearchbox{flex-direction:column;align-items:flex-end;gap:8px;margin-top:calc((clamp(38px,4.6vw,68px) * .95 - 46px) / 2 + 6px)}
.hhead.withsearch .hsearch{height:46px;box-sizing:border-box}
@media(max-width:700px){.hhead.withsearch .hsearchbox{margin-top:0;width:100%}.hhead.withsearch .hsearch{flex:1}}
.hhead.withsearch .hsearch{width:300px}
@media(max-width:700px){.hhead.withsearch .hsearch{width:auto}}

/* ===== Статистика лиги ===== */
.ls-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ls-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 10px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--dim);font-weight:700;font-size:14px;transition:all .15s}
.ls-tab:hover{color:#fff;border-color:rgba(155,93,229,.5)}
.ls-tab.on{color:#fff;border-color:var(--violet);background:rgba(155,93,229,.16)}
.ls-tab i{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-family:var(--fd);font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,#6C2BC7,#B183F0)}
.ls-tab i.top{background:linear-gradient(135deg,#FFC850,#FF9F3C)}
.ls-tab i.top svg{width:15px;height:15px;fill:#2a1600}
.ls-tab:not(:has(i)){padding-left:14px}
.lstats th.sortable{cursor:pointer;user-select:none}
.lstats th.sortable:hover,.lstats th.on{color:#fff}
.lstats td.on{color:#fff;font-weight:700}
.lstats .dim{color:var(--faint)}
.lstats .rk.top{color:var(--violet-l);font-weight:700}

/* ===== Расписание ===== */
.sch-day{display:flex;flex-direction:column}
.sch-day .hcard-h span:first-child::first-letter{text-transform:uppercase}
.sch-row{display:grid;grid-template-columns:70px minmax(0,1fr) 110px minmax(0,1fr) 140px;align-items:center;gap:16px;padding:14px 18px;border-top:1px solid var(--line-2)}
.sch-row:first-of-type{border-top:none}
.sch-row.is-live{background:linear-gradient(90deg,rgba(255,45,128,.08),transparent 60%)}
.sch-time{font-family:var(--fm);font-size:15px;font-weight:600;color:#fff}
.sch-team{display:flex;align-items:center;gap:12px;min-width:0}
.sch-team.a{justify-content:flex-end;text-align:right}
.sch-team b{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dim)}
.sch-team.win b{color:#fff}
.sch-logo{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-family:var(--fd);font-weight:800;font-size:15px;color:#fff;background:linear-gradient(135deg,#6C2BC7,#B183F0)}
.sch-st{justify-self:center;display:inline-flex;align-items:center;gap:6px;font-family:var(--fd);font-weight:800;font-size:22px;color:#fff}
.sch-st i{font-style:normal;color:var(--faint)}
.sch-st.soon{font-family:var(--fm);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-l);padding:5px 10px;border-radius:10px;border:1px solid rgba(155,93,229,.4)}
.sch-st.live em{font-style:normal;font-family:var(--fm);font-size:10px;letter-spacing:.12em;color:#fff;background:var(--pink);padding:3px 7px;border-radius:8px;margin-right:4px}
.sch-map{display:flex;align-items:center;gap:8px;justify-content:flex-end;font-size:13px;color:var(--dim);text-transform:capitalize}
.sch-map i{width:26px;height:26px;border-radius:7px;background-size:cover;background-position:center}
@media(max-width:760px){.sch-row{grid-template-columns:52px minmax(0,1fr) 80px minmax(0,1fr);gap:10px}.sch-map{display:none}.sch-logo{width:28px;height:28px;font-size:12px}}

/* ===== Игроки в командах: карточки ===== */
.tp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--gap)}
.tp-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:12px 12px 16px;border-radius:16px;overflow:hidden;
  background:linear-gradient(160deg,rgba(155,93,229,.18),rgba(12,18,28,1) 55%);border:1px solid rgba(155,93,229,.35);transition:transform .18s,border-color .18s,box-shadow .18s}
.tp-card:hover{transform:translateY(-4px);border-color:var(--violet);box-shadow:0 14px 34px rgba(80,35,160,.35)}
.tp-card.top{background:linear-gradient(160deg,rgba(255,196,80,.16),rgba(12,18,28,1) 55%);border-color:rgba(255,196,80,.4)}
.tp-card.top:hover{border-color:#FFC850;box-shadow:0 14px 34px rgba(255,170,60,.25)}
.tp-photo{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;display:grid;place-items:end center;background:radial-gradient(circle at 50% 30%,#1b2a38,#070c12)}
.tp-photo img{width:100%;height:100%;object-fit:cover}
.tp-photo svg{width:80%;height:auto;fill:#243242}
.tp-elo{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;align-items:center;padding:6px 9px;border-radius:10px;background:rgba(5,8,14,.75);backdrop-filter:blur(4px);font-family:var(--fd);font-weight:800;font-size:20px;line-height:1;color:#fff}
.tp-elo small{font-family:var(--fm);font-weight:500;font-size:8.5px;letter-spacing:.14em;color:var(--violet-l);margin-top:3px}
.tp-card.top .tp-elo small{color:#FFD27A}
.tp-name{font-family:var(--fd);font-weight:800;font-size:24px;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-team{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#fff;min-width:0}
.tp-team i{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-family:var(--fd);font-weight:800;font-size:11px;background:rgba(255,255,255,.08);border:1px solid var(--line)}
.tp-team span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-league{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--dim)}
.tp-league i{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-style:normal;font-family:var(--fd);font-weight:800;font-size:12px;color:#fff;background:linear-gradient(135deg,#6C2BC7,#B183F0)}
.tp-league.top{color:#FFD27A}.tp-league.top i{background:linear-gradient(135deg,#FFC850,#FF9F3C)}.tp-league.top i svg{width:13px;height:13px;fill:#2a1600}

/* ===== Мои матчи и табло матча лобби ===== */
.mym-list{display:flex;flex-direction:column;gap:10px}
.mym-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto 110px 150px 80px 70px;align-items:center;gap:18px;padding:12px 18px 12px 12px;border-radius:14px;
  background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);transition:border-color .15s,transform .15s}
.mym-row:hover{transform:translateY(-2px);border-color:rgba(155,93,229,.5)}
.mym-row.w{border-left-color:#3ddc84}.mym-row.l{border-left-color:#FF5C8A}.mym-row.d{border-left-color:var(--faint)}
.mym-map{width:54px;height:54px;border-radius:12px;background-size:cover;background-position:center}
.mym-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.mym-main b{font-family:var(--fd);font-weight:800;font-size:22px;text-transform:uppercase;line-height:1}
.mym-main span{font-family:var(--fm);font-size:11.5px;color:var(--faint)}
.mm-tag{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:9px;border:1px solid var(--line);color:var(--dim);white-space:nowrap}
.mm-tag.rated{color:var(--violet-l);border-color:rgba(155,93,229,.45)}
.mym-score{display:flex;flex-direction:column;align-items:center;font-family:var(--fd);font-weight:800;font-size:24px;line-height:1}
.mym-score small{font-family:var(--fm);font-weight:500;font-size:10px;letter-spacing:.12em;margin-top:4px;color:var(--faint)}
.mym-score.w{color:#8ff0b5}.mym-score.l{color:#FF9DB8}
.mym-kda{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.mym-kda b{font-family:var(--fm);font-weight:600;font-size:15px}
.mym-kda span{font-family:var(--fm);font-size:9.5px;letter-spacing:.12em;color:var(--faint)}
@media(max-width:900px){.mym-row{grid-template-columns:44px minmax(0,1fr) 90px 120px}.mym-row .mm-tag,.mym-row .mym-kda:nth-last-child(-n+2){display:none}.mym-map{width:44px;height:44px}}
.lm-note{display:flex;align-items:center;gap:12px;color:var(--dim);font-size:13px}
.lm-map{display:flex;flex-direction:column}








.lm-side-h{padding:10px 18px;font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-l);border-top:1px solid var(--line-2);background:rgba(255,255,255,.02)}
.lm-table .who{display:flex;align-items:center;gap:10px}
.lm-table .who .av{width:30px;height:30px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(150deg,#3A1478,#160119);font-family:var(--fd);font-weight:800;font-size:13px;color:var(--violet-l)}
.lm-table .who .av img{width:100%;height:100%;object-fit:cover}
.hgate a{color:#fff}
.lm-table{table-layout:fixed;min-width:900px}
.lm-table th:first-child,.lm-table td:first-child{width:26%}
.mym-maps{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.mym-mini{font-family:var(--fm);font-size:10.5px;padding:2px 7px;border-radius:7px;border:1px solid var(--line);color:var(--dim)}
.mym-mini b{color:#fff;font-weight:600}
.mym-mini.w{border-color:rgba(61,220,132,.45)}.mym-mini.l{border-color:rgba(255,92,138,.45)}
.lm-map .ls-tabs{padding:0}
.lm-side+.lm-side{margin-top:0}
.lm-table th{white-space:nowrap;padding-left:8px}

/* баннер матча: логотип карты целиком слева, счёт по центру */







@media(max-width:760px){}

/* ===== Баннер матча: карта сверху, команды и счёт по центру ===== */
.lm-head{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 24px 24px;
  background:radial-gradient(120% 160% at 50% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 62%),linear-gradient(180deg,#101825,#0b1018);
  border-bottom:1px solid var(--line-2)}
.lm-head::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.lm-mapbar{display:flex;align-items:center;gap:12px;padding:8px 16px 8px 10px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))}
.lm-logo{width:40px;height:40px;object-fit:contain;flex:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55))}
.lm-mapname{font-family:var(--fd);font-weight:800;font-size:20px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent)}
.lm-mapbar i{font-style:normal;font-family:var(--fm);font-size:11px;letter-spacing:.08em;color:var(--faint)}
.lm-vs{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(14px,4vw,60px)}
.lm-team{display:flex;justify-content:flex-end}
.lm-vs .lm-team:last-child{justify-content:flex-start}
.lm-team span{font-family:var(--fd);font-weight:800;font-size:clamp(22px,2.6vw,34px);text-transform:uppercase;color:var(--dim);letter-spacing:.02em}
.lm-team.win span{color:#fff}
.lm-score{display:flex;align-items:baseline;gap:10px;font-family:var(--fd);font-weight:800;font-size:clamp(38px,4.4vw,58px);line-height:1}
.lm-score b{color:var(--dim)}
.lm-score b.win{color:#fff}
.lm-score i{font-style:normal;color:var(--faint)}
@media(max-width:700px){.lm-vs{gap:10px}.lm-team span{font-size:18px}.lm-score{font-size:32px}.lm-logo{width:32px;height:32px}}

/* в таблицах статистики всё по центру колонки, первый столбец (игрок/карта) — слева */
.htable th,.htable td{text-align:center}
.htable th:first-child,.htable td:first-child{text-align:left}
.lm-table th:first-child,.lm-table td:first-child,.plist th:nth-child(2),.plist td:nth-child(2){text-align:left}
.plist .who,.lm-table .who{justify-content:flex-start}

/* ===== Трансферы ===== */
.tr-list{display:flex;flex-direction:column}
.tr-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 140px 70px;align-items:center;gap:18px;padding:14px 18px;border-top:1px solid var(--line-2)}
.tr-row:first-child{border-top:none}
.tr-player{display:flex;align-items:center;gap:12px;min-width:0}
.tr-player .av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(150deg,#3A1478,#160119);color:var(--violet-l);font-family:var(--fd);font-weight:800;font-size:14px}
.tr-player b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-move{display:flex;align-items:center;gap:12px;min-width:0}
.tr-move em{font-style:normal;color:var(--faint)}
.tr-team{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;white-space:nowrap}
.tr-team i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-family:var(--fd);font-weight:800;font-size:11px;color:#fff;background:linear-gradient(135deg,#6C2BC7,#B183F0)}
.tr-team.none{color:var(--faint);font-weight:500}
.tr-team.none i{background:none;border:1px dashed var(--line);color:var(--faint)}
.tr-kind{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:10px;border:1px solid var(--line);color:var(--dim);text-align:center}
.tr-row.join .tr-kind{color:#8ff0b5;border-color:rgba(61,220,132,.4)}
.tr-row.leave .tr-kind{color:#FF9DB8;border-color:rgba(255,92,138,.4)}
.tr-row.move .tr-kind{color:var(--violet-l);border-color:rgba(155,93,229,.45)}
.tr-date{font-family:var(--fm);font-size:12px;color:var(--faint);text-align:right}
.tr-agents{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:16px 18px}
.tr-agent{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line);transition:transform .15s,border-color .15s}
.tr-agent:hover{transform:translateY(-3px);border-color:var(--violet)}
.tr-agent .av{width:56px;height:56px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(150deg,#3A1478,#160119);color:var(--violet-l);font-family:var(--fd);font-weight:800;font-size:20px}
.tr-agent .av img{width:100%;height:100%;object-fit:cover}
.tr-agent b{font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-elo{font-family:var(--fm);font-size:12.5px;color:var(--violet-l)}
.tr-meta{font-family:var(--fm);font-size:10.5px;color:var(--faint)}
@media(max-width:760px){.tr-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.tr-move{grid-column:1/-1}.tr-date{display:none}}

/* ===== Свободные агенты: список баннеров ===== */
.fa-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fa-sort{display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.fa-sortbtn{padding:7px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--dim);font-size:13px;font-weight:600;transition:all .15s}
.fa-sortbtn:hover{color:#fff;border-color:rgba(155,93,229,.5)}
.fa-sortbtn.on{color:#fff;border-color:var(--violet);background:rgba(155,93,229,.16)}
.fa-list{display:flex;flex-direction:column;gap:10px}
.fa-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:clamp(14px,3vw,40px);padding:14px 18px;border-radius:14px;
  background:linear-gradient(100deg,rgba(155,93,229,.1),rgba(16,22,34,1) 45%);border:1px solid var(--line);border-left:4px solid rgba(155,93,229,.6);
  transition:transform .15s,border-color .15s,box-shadow .15s}
.fa-row:hover{transform:translateY(-2px);border-color:rgba(155,93,229,.55);box-shadow:0 12px 28px rgba(80,35,160,.22)}
.fa-who{display:flex;align-items:center;gap:14px;min-width:0}
.fa-who .av{width:48px;height:48px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;background:linear-gradient(150deg,#3A1478,#160119);color:var(--violet-l);font-family:var(--fd);font-weight:800;font-size:18px}
.fa-who .av img{width:100%;height:100%;object-fit:cover}
.fa-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.fa-name b{font-size:17px;font-weight:800;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-name span{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.fa-stats{display:flex;align-items:center;gap:clamp(12px,2.4vw,34px)}
.fa-cell{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:44px}
.fa-cell b{font-family:var(--fm);font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}
.fa-cell span{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.fa-elo{display:flex;align-items:center;gap:12px;padding-left:clamp(10px,2vw,24px);border-left:1px solid var(--line-2)}
.fa-elo .lvl{width:38px;height:38px}
.fa-elonum{display:flex;flex-direction:column;align-items:flex-end}
.fa-elonum b{font-family:var(--fd);font-weight:800;font-size:24px;line-height:1}
.fa-elonum span{font-family:var(--fm);font-size:9px;letter-spacing:.16em;color:var(--faint)}
@media(max-width:900px){.fa-row{grid-template-columns:minmax(0,1fr) auto}.fa-stats{grid-column:1/-1;justify-content:space-between}}

/* ЕДИНОЕ ПРАВИЛО: в блоках статистики подпись и цифра под ней — по центру (на всём сайте) */
.ptile{align-items:center;text-align:center}
.ptile i{text-align:center}
.precords>div{align-items:center;text-align:center}
.ph-wl>div{align-items:center;text-align:center}
.ph-form>div{justify-content:center}
.mm-stats div{align-items:center;text-align:center}
.kpi div{text-align:center}
.pcard .kv span{align-items:center;text-align:center}
.lm-side-h,.plist-more{text-align:center}
.hhead.withsearch .hcount{order:2}
/* блоки «Бой», «Гранаты», «Стороны и экономика»: подпись сверху, цифра под ней по центру */
.pkv>div{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;padding:12px 10px}
.pkv span{order:1;font-size:12px}
.pkv span i{margin-top:2px}
.pkv b{order:2;font-size:20px;line-height:1.1}
.pkv b em{font-size:14px}

/* голосовой сервер на странице «Матч» */
.hm-voice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 22px;border-radius:14px;
  background:linear-gradient(120deg,rgba(61,220,132,.08),rgba(16,24,34,1) 55%);border:1px solid rgba(61,220,132,.3)}
.hm-voice-ic{font-size:26px}
.hm-voice-copy b{display:block;font-size:16px;margin-bottom:3px}
.hm-voice-copy p{margin:0;color:var(--dim);font-size:13.5px;line-height:1.5}
@media(max-width:760px){.hm-voice{grid-template-columns:1fr;text-align:center;justify-items:center}}

/* ===== управление в строке заголовка (11.10.2026) =====
   Сначала заголовки прятали ради места, но владелец решил иначе: название
   оставляем, а вкладки, фильтры и поиск ставим НАПРОТИВ него, в ту же строку.
   Так и место экономится, и понятно, где находишься. Поиск на страницах
   команд и игроков так стоял и раньше — теперь то же правило для всего. */
.hhead .hctl{display:flex;align-items:flex-end;gap:0;flex:none;margin-bottom:6px}
@media(max-width:760px){
  .hhead .hctl{width:100%;margin-bottom:0;overflow-x:auto}
}

/* ===== режимы игры: узкие баннеры (11.10.2026, вторая правка) =====
   Сначала это были крупные буквы в строку рядом со словом «Матч». Владелец
   посмотрел вживую: «очень все плохо выглядит». Строка из четырёх слов во всю
   ширину забирала весь первый экран и спорила с видео под ней.
   Теперь три узких баннера в ряд, и слова «Матч» перед ними больше нет — оно
   было лишним, раздел и так называется в меню сверху. Баннеры низкие: их дело
   показать, где ты находишься, а не быть заголовком страницы. */
.mbanners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
          gap:clamp(6px,.8vw,12px);width:100%;margin:0}
.mb{position:relative;display:flex;align-items:center;justify-content:center;
    height:clamp(40px,4vw,52px);padding:0 10px;border-radius:10px;overflow:hidden;
    background:var(--tonal);border:1px solid var(--line);text-decoration:none;
    font-family:var(--fd);font-weight:800;text-transform:uppercase;
    font-size:clamp(14px,1.45vw,19px);letter-spacing:.07em;line-height:1;
    color:var(--faint);white-space:nowrap;
    transition:color .18s,border-color .18s,background .18s}
.mb:hover{color:var(--dim);border-color:#3a2b46}
.mb.on{color:#fff;border-color:var(--violet);
       background:linear-gradient(180deg,rgba(155,93,229,.26),rgba(155,93,229,.08))}
/* тонкая полоса слева — чтобы ряд читался баннерами, а не кнопками */
.mb::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.mb.on::before{background:var(--violet)}
@media(max-width:560px){
  .mb{font-size:12.5px;letter-spacing:.04em;height:38px;padding:0 6px}
}

/* ===== ролик на страницах режимов (12.10.2026) =====
   Один и тот же блок на «Матчмейкинге» и «Своей игре», поэтому правила
   лежат здесь, а не в стилях страницы: иначе при любой правке пришлось
   бы помнить про две копии. Имена классов остались от матчмейкинга
   (mm-), менять их по всем страницам ради красоты смысла нет.
   Оба ролика 1920×800 — если поставите другой по размеру, правится одно
   число: aspect-ratio. */
/* ===== видео (11.10.2026, пятая правка) =====
   Владелец пересобрал ролик под широкий экран: 1920×800 вместо 1920×1080.
   Поэтому размытая копия позади больше не нужна и убрана — кадр сам занимает
   всю ширину, полей по бокам не остаётся.
   Высоту блок берёт прямо из пропорции ролика, ничем её не ограничиваем:
   любой потолок сделал бы коробку шире кадра, и вернулись бы либо поля, либо
   обрезка. Пропорция блока в точности равна пропорции ролика, поэтому cover
   ничего не срезает — виден весь кадр.
   Если поменяете ролик на другой по размеру, здесь надо поправить одно
   число: aspect-ratio. */
.mm-stage{position:relative}
.mm-film{position:relative;margin:0 -16px;overflow:hidden;
         aspect-ratio:1920/800;min-height:150px}
.mm-film-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
/* Верх и низ ролика растворяются в фоне страницы. Без этого на обоих краях
   была видна прямая линия: сверху — зазор между баннерами и кадром, снизу —
   стык кадра с чёрной страницей. Владелец: «должно быть одно сплошное».
   Полоски узкие (12% сверху, 16% снизу): по краям кадра идёт тёмная скала и
   лучи, а люди стоят выше нижнего края, поэтому растворение их не съедает.
   Снизу чуть сильнее — на этой темноте стоят кнопки, так они читаются. */
.mm-film-fade{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,#050709 0%,rgba(5,7,9,.6) 4%,rgba(5,7,9,0) 12%,
                             rgba(5,7,9,0) 78%,rgba(5,7,9,.55) 92%,#050709 100%)}
/* Кнопки лежат на видео слева снизу: там на всех моментах ролика тёмная
   скала, людям и щиту они не мешают. Держит их общая обёртка, а не сам блок
   видео, — внутри их срезало бы overflow. */
/* Низ ролика на обычном мониторе оказывается чуть ниже сгиба: при ширине
   1920 кадр высотой 800, а над ним ещё 202 пикселя шапки и баннеров. Если
   просто прижать кнопки к низу кадра, они уедут за экран — проверено на
   1920×950 и 1440×702. Поэтому отступ снизу берётся как БОЛЬШЕЕ из обычного
   и «сколько кадра не поместилось»: кнопки всегда остаются в видимой части,
   по-прежнему слева снизу. Когда ролик помещается целиком, работает обычный
   отступ, и ничего не меняется. */
.mm-film-acts{position:absolute;z-index:3;left:clamp(16px,3vw,52px);
              bottom:max(clamp(14px,2.8vw,40px),calc(100% - 100vh + 234px));
              display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:719px){
  .mm-film-acts{position:static;justify-content:center;padding:16px 0 8px}
  .mm-film-acts .hbtn{flex:1 1 220px}
}

/* ===== шапка аккаунта: баннер и круглый аватар по центру (13.10.2026) =====
   Решение владельца: вместо строки «аватар слева, текст справа» — баннер во
   всю ширину, круглый аватар по центру поверх него, под ним имя и значки.
   Включается классом phero-cover и стоит ТОЛЬКО на своей странице аккаунта:
   чужие профили (/player) остаются прежними, их никто менять не просил.
   Баннер нарисован стилями, картинки нет: отдельный файл пришлось бы грузить
   на каждой загрузке страницы, а здесь те же фирменные фиолетовые переливы,
   что и на всём сайте. Если будет готовая картинка — она встанет первым слоем
   в background у .phero-cover::before, остальное трогать не придётся. */
.phero.phero-cover{display:block;padding:0;
  background:linear-gradient(180deg,#151B26,#0D1119)}
/* Вращающаяся подсветка и размытые пятна в этом варианте выключены: шапка
   стала вдвое выше, и они заливали всю карточку сиреневым туманом — текст и
   цифры тонули. Цвет теперь даёт баннер, а тело карточки остаётся тёмным. */
.phero.phero-cover::before,.phero.phero-cover::after,.phero.phero-cover .ph-orb{display:none}
/* Баннер — ОТДЕЛЬНЫЙ элемент, а не ::before: у .phero псевдоэлементы уже
   заняты под вращающуюся подсветку, они абсолютные и из потока выпадают.
   Если нарисовать баннер на ::before, аватар уезжает под верхний край и
   обрезается — проверено. */
.ph-cover{display:none}
.phero.phero-cover .ph-cover{display:block;
  height:clamp(170px,21vw,280px);
  background:
    /* низ баннера уходит в цвет карточки, чтобы стыка не было прямой чертой */
    linear-gradient(180deg,transparent 68%,#151B26 100%),
    repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0 2px,transparent 2px 10px),
    linear-gradient(105deg,transparent 30%,rgba(255,255,255,.10) 46%,transparent 62%),
    radial-gradient(85% 150% at 14% 0%,rgba(155,93,229,.60),transparent 62%),
    radial-gradient(70% 130% at 88% 8%,rgba(108,43,199,.55),transparent 62%),
    linear-gradient(120deg,#2A1050,#1A1030 48%,#101822)}
/* аватар и имя — колонкой по центру, аватар наезжает на баннер */
.phero.phero-cover .ph-who{flex-direction:column;align-items:center;text-align:center;
  gap:12px;padding:0 clamp(16px,2.4vw,34px);
  margin-top:clamp(-78px,-6.6vw,-58px)}
.phero.phero-cover .ph-av{width:clamp(120px,12vw,160px);border-radius:50%;
  border:4px solid #101722;
  box-shadow:0 18px 50px rgba(0,0,0,.6),0 0 0 2px rgba(155,93,229,.65)}
/* кнопка возврата к аватару Steam: у круга углов нет, двигаем её на край круга */
.phero.phero-cover .ph-avreset{right:12%;top:12%}
/* В прежней раскладке блоку с именем задавали фиксированную высоту под рост
   аватара и растягивали содержимое по краям. В колонке по центру от этого
   между именем и строкой «игрок с…» зияла дыра почти в сто пикселей. */
.phero.phero-cover .ph-name{align-items:center;text-align:center;
  height:auto;padding:0;gap:10px;justify-content:flex-start}
/* Имя должно стоять ровно по центру фотографии при любой длине. Карандашик
   рядом с ним — обычный элемент строки, и он утягивал имя влево на свою
   ширину. Поэтому карандаш вынут из потока и висит справа от имени: центр
   считается только по самому имени. */
.phero.phero-cover .ph-title{justify-content:center;position:relative}
/* Только карандаш ИМЕНИ, иначе это правило ловит и карандаш строки о себе и
   уносит его за правый край карточки — поймал на себе 13.10.2026. */
.phero.phero-cover .ph-title .ph-pen{position:absolute;left:100%;top:50%;
  transform:translateY(-50%);margin-left:10px}
.phero.phero-cover .ph-chips{justify-content:center}
.phero.phero-cover .ph-nickedit{justify-content:center}
/* карточка эло встаёт под именем во всю ширину */
/* Блок с эло из шапки аккаунта убран: владелец отдал это место хайлайтам.
   Сами цифры не потерялись — эло и уровень теперь стоят на карточке игрока.
   На чужих профилях блок остаётся, там карточки с цифрами нет. */
.phero.phero-cover .ph-elo{display:none}
/* Хайлайты стоят ВНУТРИ карточки шапки, на месте блока с эло, — отдельной
   полосой владельцу не понравилось. Поэтому им нужны поля по бокам и снизу:
   у самой карточки отступов нет, их съел баннер во всю ширину. */
.phero.phero-cover .hlts{padding:clamp(18px,2.2vw,26px) clamp(16px,2.4vw,34px) clamp(20px,2.4vw,32px)}
@media(max-width:620px){
  .phero.phero-cover .ph-elo{grid-template-columns:1fr;justify-items:center;text-align:center}
}

/* ===== аккаунт: баланс и скины плитками под шапкой (13.10.2026) ===== */
.acctiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap)}
.acctile{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  gap:2px 14px;align-items:center;padding:18px 20px;border-radius:14px;text-decoration:none;
  background:linear-gradient(140deg,rgba(155,93,229,.10),rgba(5,7,9,.45));
  border:1px solid rgba(155,93,229,.30);transition:border-color .16s,transform .16s,box-shadow .16s}
a.acctile:hover{border-color:rgba(155,93,229,.65);transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(155,93,229,.22)}
.acctile i{grid-row:1/3;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,#6C2BC7,#B183F0);box-shadow:0 6px 18px rgba(155,93,229,.45)}
.acctile i svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.acctile i.rifle svg{fill:#fff;stroke:none}
.acct-k{font-family:var(--fm);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.acctile b{font-family:var(--fd);font-weight:800;font-size:clamp(20px,2vw,26px);line-height:1;
  letter-spacing:.01em;color:#fff}
.acctile b em{font-style:normal;font-size:.62em;color:var(--violet-l);margin-left:4px}

/* ===== карточка игрока по образцу футбольных (13.10.2026) =====
   Слева крупное эло и уровень, справа фотография, под ними имя, команда и
   строка цифр. Класс fifa появляется только когда цифры переданы: на чужом
   профиле карточка остаётся прежней заглушкой, её менять не просили. */
/* Карточка стоит в правой половине блока команды и та широкая. Без потолка
   по ширине фотография растягивалась в ленту и от лица оставался кусок —
   держим карточку вертикальной, как настоящие футбольные. */
.plcard.fifa{display:block;padding:16px;max-width:360px;margin-left:auto}
.plcard.fifa .plcard-head{display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:14px;align-items:center}
.plcard-rate{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none;padding-right:14px;
  border-right:1px solid rgba(127,212,255,.22)}
.plcard-rate b{font-family:var(--fm);font-weight:600;font-size:clamp(26px,2.6vw,38px);line-height:1;
  font-variant-numeric:tabular-nums;color:#fff}
.plcard-rate span{font-family:var(--fm);font-size:9px;letter-spacing:.18em;color:#7FD4FF}
.plcard-lvl{margin-top:6px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  font-style:normal;font-family:var(--fd);font-weight:800;font-size:15px;color:#fff;
  background:linear-gradient(140deg,#6C2BC7,#B183F0);box-shadow:0 5px 16px rgba(155,93,229,.5)}
.plcard.fifa .plcard-photo{width:100%;height:auto;aspect-ratio:3/4;border-radius:12px;overflow:hidden;
  display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#1b2b3b,#0c131b)}
.plcard.fifa .plcard-photo img{width:100%;height:100%;object-fit:cover}
.plcard-id{margin-top:12px;padding-top:12px;border-top:1px solid rgba(127,212,255,.18);
  display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:0}
.plcard-id b{font-family:var(--fd);font-weight:800;font-size:clamp(26px,2.4vw,36px);line-height:1;
  text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.plcard-stats{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  border-radius:10px;overflow:hidden;background:rgba(127,212,255,.16)}
.plcard-stats div{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;
  background:rgba(5,7,9,.72)}
.plcard-stats b{font-family:var(--fm);font-weight:600;font-size:17px;color:#fff;font-variant-numeric:tabular-nums}
.plcard-stats span{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
/* «скоро» уводим из угла фотографии на поле карточки */
.plcard.fifa .plcard-soon{top:26px;right:26px;bottom:auto;
  background:rgba(5,7,9,.8);padding:3px 9px;border-radius:999px}

/* ===== хайлайты на странице аккаунта (13.10.2026) =====
   Лента лучших моментов во всю ширину. Самих роликов пока нет — показываем
   пустые карточки с пометкой «скоро», чтобы было видно, как блок будет
   выглядеть заполненным, и чтобы не ломать раскладку, когда они появятся. */
.hlts{display:flex;flex-direction:column;gap:14px}
.hlts-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hlts-h h2{margin:0;font-family:var(--fd);font-weight:800;font-size:clamp(22px,2.2vw,30px);
  line-height:1;text-transform:uppercase;letter-spacing:.01em}
.hlts-h span{font-family:var(--fm);font-size:11px;letter-spacing:.06em;color:var(--faint)}
/* Рейтинг справа в заголовке хайлайтов: кружок уровня, число и подпись. */
/* Ширина — ровно как у одной карточки хайлайтов: тот же расчёт, что у сетки
   ниже (четыре колонки с промежутками var(--gap)). Привязано формулой, а не
   числом, чтобы при смене числа карточек или промежутка плашка ехала следом. */
.hlts-rate{display:flex;flex:none;width:calc((100% - 3 * var(--gap)) / 4);min-width:250px;
  align-items:center;justify-content:center;gap:10px;padding:8px 12px 8px 8px;
  border-radius:999px;background:rgba(155,93,229,.10);border:1px solid rgba(155,93,229,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.hlts-rate .lvl{width:32px;height:32px}
.hlts-rate .lvl b{font-size:15px}
.hlts-rate .lvl{flex:none}
/* Очки идут последними и тонкой строкой: число важно, но читается после
   места. Подпись намеренно строчными и приглушённой.
   Выравнивание по центру, а не по базовой линии: у подписи и числа разный
   размер, и по базовой линии число заметно проваливалось вниз. */
.hlts-pts{display:inline-flex;align-items:center;gap:6px;padding-left:10px;
  border-left:1px solid rgba(155,93,229,.28);line-height:1;
  font-family:var(--fm);font-size:10px;color:var(--faint);white-space:nowrap}
.hlts-pts b{font-family:var(--fm);font-weight:600;font-size:15px;color:#fff;
  line-height:1;font-variant-numeric:tabular-nums}
/* место среди всех игроков — стрелка, номер и «из скольких» */
.hlts-place{font-style:normal;display:inline-flex;align-items:center;gap:6px;
  line-height:1;white-space:nowrap}
.hlts-place svg{width:13px;height:13px;fill:none;stroke:var(--violet-l);stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round}
.hlts-place b{font-family:var(--fm);font-weight:600;font-size:17px;color:#fff;
  line-height:1;font-variant-numeric:tabular-nums}
.hlts-place em{font-style:normal;font-family:var(--fm);font-size:10px;color:var(--faint);line-height:1}
/* В строке прогресса набранные очки пишутся так же, как и порог: это одно
   выражение «0 / 40», и выделять в нём половину жирным незачем.
   В строке с местом крупным остаётся сам номер места. */
.hlts-place.prog b{font-family:var(--fm);font-weight:500;font-size:10px;color:var(--faint)}
.hlts-place.prog{gap:4px}
.hlts-place.none{font-family:var(--fm);font-size:10.5px;color:var(--faint)}
@media(max-width:620px){
  .hlts-pts{display:none}
  .hlts-rate{padding:6px 14px 6px 8px;gap:10px}
}
.hlt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--gap)}
.hlt{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;
  background:rgba(5,7,9,.45);border:1px solid var(--line);text-decoration:none;
  transition:border-color .16s,transform .16s}
.hlt:hover{border-color:rgba(155,93,229,.55);transform:translateY(-2px)}
.hlt-thumb{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;
  display:grid;place-items:center;
  background:radial-gradient(70% 110% at 50% 0%,rgba(155,93,229,.22),transparent 60%),
             linear-gradient(150deg,#161C27,#0C1119)}
.hlt-thumb::after{content:"";width:40px;height:40px;border-radius:50%;
  background:rgba(155,93,229,.18);border:1px solid rgba(155,93,229,.45)}
.hlt-play{position:absolute;width:0;height:0;border-left:13px solid rgba(255,255,255,.75);
  border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px;z-index:1}
.hlt b{font-family:var(--fd);font-weight:800;font-size:17px;letter-spacing:.01em;color:var(--dim)}
.hlt span{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}

/* ===== правка баннера аккаунта (13.10.2026) =====
   Своя картинка ставится фоном из скрипта, поэтому здесь только раскладка.
   Ручка проявляется при наведении — как камера на аватаре. */
.phero.phero-cover .ph-cover{position:relative}
.ph-cover.has{background-size:cover;background-position:center;
  background-repeat:no-repeat;background-color:#151B26}
/* Поверх своей картинки — лёгкое затемнение к низу, иначе круглый аватар и
   имя тонут на светлом снимке. */
.ph-cover.has::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,7,9,.18) 0%,rgba(5,7,9,0) 35%,rgba(5,7,9,.55) 100%)}
.ph-covcam{position:absolute;right:14px;top:14px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;
  background:rgba(5,7,9,.62);border:1px solid rgba(255,255,255,.18);color:#fff;
  font-family:var(--fm);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;opacity:0;transform:translateY(-4px);transition:opacity .18s,transform .18s,background .18s}
.ph-covcam svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.phero.phero-cover .ph-cover:hover .ph-covcam,
.ph-covcam:focus-visible{opacity:1;transform:translateY(0);outline:none}
.ph-covcam:hover{background:rgba(155,93,229,.55)}
.ph-covreset{position:absolute;right:14px;top:56px;z-index:2;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;background:rgba(5,7,9,.7);color:#ff8ba7;
  border:1px solid rgba(255,255,255,.18);cursor:pointer;font-size:15px;line-height:1;
  opacity:0;transition:opacity .18s}
.phero.phero-cover .ph-cover:hover .ph-covreset{opacity:1}
.ph-cover.busy{opacity:.6}
/* На телефоне наведения нет — показываем ручку всегда. */
@media(hover:none){.ph-covcam,.ph-covreset{opacity:1;transform:none}}

/* ===== строка о себе под именем (13.10.2026) =====
   Заменила служебную строку «игрок с… · матчей…». Правится по ручке рядом или
   по клику на сам текст — так привычнее. */
.ph-bio{cursor:pointer}
.ph-bio.empty{color:var(--faint);font-style:italic}
.ph-bio:hover{color:#fff}
.ph-pen.sm{width:26px;height:26px;border-radius:8px;vertical-align:middle;margin-left:8px;
  display:inline-grid;place-items:center}
.ph-pen.sm svg{width:13px;height:13px}
.phero.phero-cover .ph-bioedit{max-width:520px;width:100%}
.ph-bioedit input{flex:1 1 220px;min-width:0}
