/* Тема Rust и нейтральная тема первого входа (06.10.2026, Марко: «весь
   ValoBase меняется на дизайн Rust, абсолютно всё», «меню регистрации
   не в дизайне Valorant»). Файл состоит из правил под html[data-alt]
   и html[data-game="neutral"] плюс стилей новых компонентов (.gamegate,
   .gameswitch, .rstats, .rweapon*, .rbg, .rchar). Тема Valorant - это
   отсутствие data-game, и её styles.css не трогает.

   Язык Rust другой, не перекраска Valorant: у Valorant скос 7x5, красные
   ромбы у подписей, засечки по углам карточки, косые полосы и
   инверсия в кремовый у выбранного. У Rust - прямоугольные панели со
   скруглением 4px и тонкой кромкой, оранжевая полоса-маркер, выбранное
   обведено оранжевым, главные кнопки залиты кирпичным, фон - кадр из
   игры под тёплым затемнением, шрифт заголовков Oswald. Анимаций здесь
   нет: тема только красит, движение остаётся в styles.css. */

/* ====================================================== Rust: токены */

html[data-game="rust"]{
  --deep:#0B0907;
  --ground:#15120E;
  --surface:#1F1A15;
  --raise:#2A241D;
  --nav-bg:#120F0C;
  --ink:#EFE6D6;
  --muted:#A99B87;
  --dim:#776B5C;
  --on-accent:#FFFFFF;
  --accent:#CE422B;
  --accent-rgb:206,66,43;
  --accent-deep:#A6321F;
  --accent-soft:rgba(206,66,43,.16);
  --accent-grad:linear-gradient(180deg,#DC5038 0%,#CE422B 55%,#AD3521 100%);
  --live:#9BD16A;
  --live-wash:rgba(155,209,106,.12);
  --warn:#E0A33A;
  --edge:rgba(239,230,214,.18);
  --edge-soft:rgba(239,230,214,.09);
  --edge-fill:#3B3229;
  --scrim:rgba(12,9,7,.965);
  --lift:0 10px 28px rgba(0,0,0,.5);
  --display:"Oswald","Roboto Condensed","Arial Narrow",sans-serif;
  --notch:none;
  --map-fallback:url(/rust/bg/base.webp);
  --veil-rgb:21,18,14;
  --r:4px;
}

/* CS2: графит с синевой, оранжевый CS2 как акцент, синий спецназа и
   жёлтый террористов - только в кромках персонажей. */
html[data-game="cs2"]{
  --deep:#090C11;
  --ground:#0F1216;
  --surface:#171C23;
  --raise:#222933;
  --nav-bg:#0C0F13;
  --ink:#EEF1F5;
  --muted:#9AA5B4;
  --dim:#6B7685;
  --on-accent:#15110A;
  --accent:#E8A33D;
  --accent-rgb:232,163,61;
  --accent-deep:#C7862A;
  --accent-soft:rgba(232,163,61,.16);
  --accent-grad:linear-gradient(180deg,#F2B14E 0%,#E8A33D 55%,#C7862A 100%);
  --live:#8BD17A;
  --live-wash:rgba(139,209,122,.12);
  --warn:#F0C75E;
  --edge:rgba(238,241,245,.16);
  --edge-soft:rgba(238,241,245,.09);
  --edge-fill:#2E3744;
  --scrim:rgba(10,12,16,.965);
  --lift:0 10px 28px rgba(0,0,0,.5);
  --display:"Oswald","Roboto Condensed","Arial Narrow",sans-serif;
  --notch:none;
  --map-fallback:url(/cs2/bg/dust2.webp);
  --veil-rgb:15,18,22;
  --r:4px;
}
/* Dota 2 (08.10.2026): угольный фон с багровым Dire как акцент, зелёный
   Radiant - для «в сети». */
html[data-game="dota"]{
  --deep:#070606;
  --ground:#100C0C;
  --surface:#1A1414;
  --raise:#261C1C;
  --nav-bg:#0C0909;
  --ink:#F1E9E4;
  --muted:#A99A94;
  --dim:#75675F;
  --on-accent:#FFFFFF;
  --accent:#C23C2B;
  --accent-rgb:194,60,43;
  --accent-deep:#9A2E21;
  --accent-soft:rgba(194,60,43,.16);
  --accent-grad:linear-gradient(180deg,#D44A37 0%,#C23C2B 55%,#9A2E21 100%);
  --live:#7FBF5A;
  --live-wash:rgba(127,191,90,.12);
  --warn:#E3B04B;
  --edge:rgba(241,233,228,.16);
  --edge-soft:rgba(241,233,228,.09);
  --edge-fill:#3A2C2C;
  --scrim:rgba(10,7,7,.965);
  --lift:0 10px 28px rgba(0,0,0,.5);
  --display:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --notch:none;
  --map-fallback:url(/dota/bg/radiant.webp);
  --veil-rgb:16,12,12;
  --r:4px;
}
/* Deadlock (08.10.2026): тёмная зелень ночного города, латунный акцент. */
html[data-game="deadlock"]{
  --deep:#070B0D;
  --ground:#0C1215;
  --surface:#15201F;
  --raise:#1F2D2B;
  --nav-bg:#0A1012;
  --ink:#EEF0EA;
  --muted:#9CAAA3;
  --dim:#6C7A74;
  --on-accent:#15110A;
  --accent:#D7A54C;
  --accent-rgb:215,165,76;
  --accent-deep:#B58739;
  --accent-soft:rgba(215,165,76,.16);
  --accent-grad:linear-gradient(180deg,#E6B65C 0%,#D7A54C 55%,#B58739 100%);
  --live:#5FB7A5;
  --live-wash:rgba(95,183,165,.12);
  --warn:#E3B04B;
  --edge:rgba(238,240,234,.16);
  --edge-soft:rgba(238,240,234,.09);
  --edge-fill:#2E3F3C;
  --scrim:rgba(8,12,13,.965);
  --lift:0 10px 28px rgba(0,0,0,.5);
  --display:"Playfair Display","Times New Roman",Georgia,serif;
  --notch:none;
  --map-fallback:url(/deadlock/bg/street.webp);
  --veil-rgb:12,18,21;
  --r:0px;
}
html[data-game="deadlock"] .btn.primary,html[data-game="deadlock"] .act.like,html[data-game="deadlock"] .livebar .nbtn.primary,
html[data-game="deadlock"] .btn.warn,html[data-game="deadlock"] .gameswitch button.on,html[data-game="deadlock"] .stamp.nope{color:#15110A}
html[data-game="deadlock"] .nav .badge{color:#15110A}
/* Герой без значка (Deadlock): плитка только с названием. */
.wv.wlong{font-size:.78em;letter-spacing:0;line-height:1.1}
.rweapon.noico{min-height:44px;justify-content:center}
/* На оранжевом читается тёмный текст, как на кнопках самой игры. */
html[data-game="cs2"] .btn.primary,html[data-game="cs2"] .act.like,html[data-game="cs2"] .livebar .nbtn.primary,
html[data-game="cs2"] .btn.warn,html[data-game="cs2"] .gameswitch button.on,html[data-game="cs2"] .stamp.nope{color:#15110A}
html[data-game="cs2"] .nav .badge{color:#15110A}
.chip.faceit{color:#FF5500;box-shadow:inset 0 0 0 1px rgba(255,85,0,.55);font-weight:600}
.rline.faceit{color:#FF7A33;font-weight:600}

/* ------------------------------------ фирменные знаки Valorant - долой */
html[data-alt] .btn.primary,html[data-alt] .btn.warn,html[data-alt] .btn.support,
html[data-alt] .opt.on,html[data-alt] .pfseg button.on,html[data-alt] .stamp,
html[data-alt] .langpick.on,html[data-alt] .act,html[data-alt] .act.super,
html[data-alt] .nav button.on svg,html[data-alt] .rankchip:not(.plain),
html[data-alt] .obbar span,html[data-alt] .appbar h2::before,html[data-alt] .title{clip-path:none}
html[data-alt] .slabel::before,html[data-alt] .sect + .sect::before,
html[data-alt] .topstripe,html[data-alt] .pcard::before,html[data-alt] .pcard::after,
html[data-alt] .pfhead::after,html[data-alt] .boot .brand::after,
html[data-alt] .overlay .kicker::before,html[data-alt] .overlay .kicker::after{display:none}
html[data-alt] .app{background-image:
  linear-gradient(180deg,rgba(var(--veil-rgb),.58) 0,rgba(var(--veil-rgb),.9) 38%,var(--ground) 68%),
  var(--map-art,var(--map-fallback));
  background-size:auto,cover;background-position:center top,center 28%;background-repeat:no-repeat}
html[data-alt] .screen[data-screen="onb"],html[data-alt] .board,html[data-alt] .empty{
  background:linear-gradient(180deg,rgba(var(--veil-rgb),.62) 0,rgba(var(--veil-rgb),.93) 42%,var(--ground) 72%),
  var(--map-art,var(--map-fallback)) center top / cover no-repeat}
html[data-alt] .boot{background:
  linear-gradient(180deg,rgba(var(--veil-rgb),.55) 0,rgba(var(--veil-rgb),.9) 55%,var(--ground) 90%),
  var(--map-art,var(--map-fallback)) center / cover no-repeat,var(--ground)}
html[data-alt] .boot .brand{padding-bottom:0}
.boot .brand img{height:64px;width:auto;display:block}
html[data-alt] .boot p{color:var(--muted)}

/* ------------------------------------------------- формы и кнопки Rust */
html[data-alt] .btn,html[data-alt] .act,html[data-alt] .opt,html[data-alt] .pfseg button,
html[data-alt] .langpick,html[data-alt] .field,html[data-alt] .switch,html[data-alt] .iconbtn,
html[data-alt] .lobby,html[data-alt] .chip,html[data-alt] .pfact,html[data-alt] .pftile,
html[data-alt] .rankchip,html[data-alt] .livebar,html[data-alt] .livemini,html[data-alt] .livenow,
html[data-alt] .livebar .nbtn,html[data-alt] .mact,html[data-alt] .shopbtn,html[data-alt] .shopcard,
html[data-alt] .mcard,html[data-alt] .why,html[data-alt] .fillbox,html[data-alt] .contact,
html[data-alt] .avatar,html[data-alt] .pfico,html[data-alt] .track,html[data-alt] .plusbtn,
html[data-alt] .warnstrip,html[data-alt] .incard,html[data-alt] .livepill,html[data-alt] .stamp,
html[data-alt] .title,html[data-alt] .sqtag,html[data-alt] .plusbadge,html[data-alt] .newtag,
html[data-alt] .nav .badge,html[data-alt] .callbtn,html[data-alt] .reportbtn,html[data-alt] .lcell{
  border-radius:var(--r)}
html[data-alt] .track i{border-radius:3px}
html[data-alt] .btn.primary,html[data-alt] .act.like,html[data-alt] .livebar .nbtn.primary,
html[data-alt] .btn.warn{
  background:var(--accent-grad);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 0 rgba(0,0,0,.55),0 6px 18px rgba(206,66,43,.22)}
html[data-alt] .btn.ghost,html[data-alt] .act.skip,html[data-alt] .iconbtn,html[data-alt] .mact{
  background:#2E2821;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 0 rgba(0,0,0,.5)}
html[data-alt] .act.super{background:#C9A227;color:#1A1409}
html[data-alt] .opt,html[data-alt] .pfseg button,html[data-alt] .langpick{
  background:rgba(0,0,0,.32);color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge-soft)}
html[data-alt] .opt.on,html[data-alt] .pfseg button.on,html[data-alt] .langpick.on,
html[data-alt] .opt.tier.on{
  background:rgba(206,66,43,.2);color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1px var(--accent)}
html[data-alt] .field,html[data-alt] .switch{background:rgba(0,0,0,.34);box-shadow:inset 0 0 0 1px var(--edge-soft)}
html[data-alt] .field:focus-within{box-shadow:inset 0 0 0 1px var(--accent)}
html[data-alt] .field input{font-family:var(--body);font-size:15px}
html[data-alt] .riotid,html[data-alt] .lobby .v,html[data-alt] .overlay .who{font-family:var(--body)}
html[data-alt] .lobby .v{letter-spacing:.02em;font-weight:600}
html[data-alt] .stamp.like{background:var(--live);color:#13200A}
html[data-alt] .stamp.nope{background:var(--accent-grad);color:#fff}
html[data-alt] .obbar span{height:5px;border-radius:2px}
html[data-alt] .track{background:#3B3229}

/* -------------------------------------------- подписи, заголовки, меню */
html[data-alt] .slabel{padding-left:9px;box-shadow:inset 3px 0 0 var(--accent);color:var(--muted);letter-spacing:.14em}
html[data-alt] .slabel::after{background:rgba(239,230,214,.08)}
html[data-alt] .appbar h2::before{width:3px;height:20px}
html[data-alt] h1,html[data-alt] h2,html[data-alt] h3{letter-spacing:.03em}
html[data-alt] .ob h3{font-size:30px}
html[data-alt] .wordmark{border-right:0;padding-right:4px}
.wordmark .wmlogo{height:22px;width:auto;display:block}
html[data-alt] .nav{box-shadow:0 -1px 0 var(--edge-soft)}
html[data-alt] .nav::before{display:block;height:2px;clip-path:none;background:var(--accent)}
html[data-alt] .nav button.on{color:var(--accent)}
html[data-alt] .nav button.on svg{background:none;color:var(--accent)}
html[data-alt] .nav .badge{color:#fff}
html[data-alt] .sect + .sect{border-top:1px solid var(--edge-soft)}
html[data-alt] .overlay .kicker{color:var(--accent)}

/* --------------------------------------------------- карточка в ленте */
html[data-alt] .pcard{--tier:var(--accent);background:var(--surface);border-radius:6px;
  box-shadow:0 0 0 1px var(--edge-soft),var(--lift)}
html[data-alt] .pcard .idrow,html[data-alt] .pcard.hasagent .idrow{
  background:linear-gradient(180deg,rgba(var(--veil-rgb),.1) 0,rgba(var(--veil-rgb),.55) 70%,var(--surface) 100%);
  min-height:188px;align-items:flex-end;border-bottom:1px solid var(--edge-soft)}
.rbg{position:absolute;inset:0;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center;
  opacity:.62;z-index:0;pointer-events:none;transform:none}
html[data-alt] .pfhead .rbg{opacity:.4}
html[data-alt] .pcard .rchar,html[data-alt] .pfhead .rchar{
  max-width:56%;object-position:right bottom;opacity:1;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0,#000 28%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0,#000 28%)}
html[data-alt] .pfhead .rchar{opacity:.85}
html[data-alt] .pcard .avatar,html[data-alt] .pfhead .avatar{
  box-shadow:0 0 0 2px var(--ground),0 0 0 3px var(--tier),0 10px 24px rgba(0,0,0,.5)}
html[data-alt] .avatar.agentface img.rustface,html[data-alt] .faceicon.rustface{object-position:50% 12%}
html[data-alt] .pcard .nick{font-size:34px;text-transform:uppercase;letter-spacing:.02em;
  text-shadow:0 2px 8px rgba(0,0,0,.7)}
html[data-alt] .livepill{background:rgba(0,0,0,.45)}
html[data-alt] .rankrow{display:none}
/* Ячейки «часы, оружие, умения»: не три жёстких колонки (Марко 08.10.2026:
   «на телефоне слова рвутся и растягиваются - фигня во всех играх, кроме
   Valorant»), а ряд по содержимому: ячейка не уже своего самого длинного
   слова, длинные уходят на следующую строку, слова не ломаются. */
.rstats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rstat{display:flex;flex-direction:column;gap:4px;padding:10px 12px;min-width:0;background:rgba(0,0,0,.3);
  border-radius:4px;box-shadow:inset 0 0 0 1px var(--edge-soft),inset 0 -2px 0 var(--accent)}
/* Нечётная последняя ячейка (умения, позиция) - во всю ширину. */
.rstat:last-child:nth-child(odd){grid-column:1 / -1}
.rstat .k{font-family:var(--body);font-weight:600;font-size:10px;line-height:1;color:var(--dim);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.rstat .v{font-family:var(--display);font-size:16px;line-height:1.15;color:var(--ink);overflow-wrap:normal;hyphens:none;text-transform:uppercase}
.rstat small{font-size:10.5px;color:var(--accent);letter-spacing:.02em}
.rstat .wv{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rstat .wico,.rline .wico{height:24px;width:auto;flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}
.chip.srv{color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}
html[data-alt] .why{background:rgba(0,0,0,.28);box-shadow:inset 3px 0 0 var(--accent)}
html[data-alt] .dlist dt{color:var(--dim)}

/* --------------------------------------------- своя анкета и переключатель */
html[data-alt] .pfhead,html[data-alt] .pfhead.hasagent{
  background:var(--surface);border-radius:6px;min-height:150px;
  box-shadow:0 0 0 1px var(--edge-soft),var(--lift)}
.rline{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;color:var(--muted)}
.rline.wline{color:var(--ink)}
.rswap{margin-top:8px;padding:6px 10px;font-size:11.5px;color:var(--muted);background:rgba(0,0,0,.35);
  border-radius:4px;box-shadow:inset 0 0 0 1px var(--edge-soft)}
/* Пять игр (08.10.2026): кнопки переносятся на вторую строку, 3 + 2. */
.gameswitch{display:flex;flex-wrap:wrap;gap:3px;margin:12px 16px 0;padding:3px;background:rgba(0,0,0,.4);border-radius:6px;
  box-shadow:inset 0 0 0 1px var(--edge-soft)}
html:not([data-game]) .gameswitch{background:var(--surface)}
.gameswitch button{flex:1 1 30%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 6px;white-space:nowrap;
  font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:.05em;color:var(--muted);border-radius:4px}
.gameswitch button.on{background:var(--accent);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.5)}
/* Игра без анкеты нажата один раз: переключит второе нажатие (12.10.2026). */
.gameswitch button.armed{color:var(--ink);box-shadow:inset 0 0 0 2px var(--accent)}
html:not([data-game]) .gameswitch button.on{color:var(--ink);clip-path:var(--notch)}
html[data-alt] .pfact.clans .pfico{color:var(--accent);background:rgba(206,66,43,.14)}
html[data-alt] .pfact,html[data-alt] .pftile{background:rgba(0,0,0,.3);box-shadow:inset 0 0 0 1px var(--edge-soft)}
html[data-alt] .pfact.plus.buy{box-shadow:inset 0 0 0 1px #C9A227}
.pftiles .pftile:only-child{grid-column:1/-1}
html[data-alt] .rustform .sect:first-child{padding-top:4px}
.rband{display:block;margin-top:4px;color:var(--accent);font-size:11.5px}

/* ----------------------------------------------- оружие: слоты как в игре */
.rweapons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rweapon{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 7px;
  background:rgba(0,0,0,.34);border-radius:4px;box-shadow:inset 0 0 0 1px var(--edge-soft);
  color:var(--muted);font-size:10.5px;line-height:1.2;text-align:center;min-width:0}
.rweapon .wico{height:34px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}
.rweapon span{overflow-wrap:anywhere}
.rweapon.on{background:rgba(206,66,43,.2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}

/* ========================================= нейтральная тема регистрации */
/* Выбор языка и игры: ни карты Valorant, ни скоса, ни красного, но и не
   голый серый экран (Марко 07.10.2026: «слишком нейтрально, дёшево»).
   Глубокий градиент с подсветкой сверху, стеклянные кнопки, заголовки
   Oswald как в лаунчере, плитки игр на их же кадрах с логотипами. */
html[data-game="neutral"]{
  --display:"Oswald","Arial Narrow",sans-serif;
  --accent:#9AA4B0;
  --accent-rgb:154,164,176;
  --accent-deep:#6E7884;
  --accent-soft:rgba(154,164,176,.14);
  --accent-grad:linear-gradient(135deg,#9AA4B0 0%,#8A94A0 50%,#6E7884 100%);
  --ground:#0D1116;
  --deep:#080A0D;
  --surface:#171D25;
  --raise:#212932;
  --notch:none;
  --map-fallback:none;
}
html[data-game="neutral"] .app{background:
  radial-gradient(120% 60% at 50% -12%,rgba(96,118,150,.30),rgba(0,0,0,0) 62%),
  radial-gradient(rgba(243,239,231,.045) 1px,rgba(0,0,0,0) 1px) 0 0/28px 28px,
  linear-gradient(180deg,#121820 0,var(--ground) 60%,var(--deep) 100%)}
html[data-game="neutral"] .boot{background:var(--ground)}
html[data-game="neutral"] .screen[data-screen="onb"]{background:none}
html[data-game="neutral"] .ob{padding-top:30px;gap:12px}
html[data-game="neutral"] .ob::before{content:"VALOBASE";font-family:var(--display);font-size:13px;font-weight:600;
  letter-spacing:.44em;color:var(--dim);margin-bottom:6px}
html[data-game="neutral"] .ob h3{font-size:36px;font-weight:700;letter-spacing:.04em;line-height:1}
html[data-game="neutral"] .ob .hint{font-size:14px;color:var(--muted);max-width:36ch}
html[data-game="neutral"] .langgate{gap:12px;margin-top:22px}
html[data-game="neutral"] .langpick{font-family:var(--body);font-size:18px;font-weight:600;letter-spacing:0;padding:24px 10px;
  border-radius:14px;color:var(--ink);
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.025));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 1px 0 rgba(255,255,255,.12),0 14px 34px rgba(0,0,0,.4)}
html[data-game="neutral"] .langpick.on{clip-path:none;background:var(--ink);color:var(--ground);
  box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.3)}
html[data-game="neutral"] .wordmark b{color:var(--ink)}
html[data-game="neutral"] .boot .brand{letter-spacing:.3em;font-size:28px}
html[data-game="neutral"] .boot .brand::after{display:none}

/* ------------------------------------------------- экран выбора игры */
/* Плитка игры - кадр из неё под затемнением, логотип, подпись, кромка
   цвета игры. Кадры официальные: карта Valorant из web/maps, скриншот
   Rust из web/rust/bg. */
.gamegate{display:grid;gap:14px;margin-top:22px}
.gamepick{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  min-height:150px;padding:22px 14px 20px;color:#fff;border-radius:16px;overflow:hidden;isolation:isolate;
  background:var(--surface) center/cover no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 18px 44px rgba(0,0,0,.5)}
.gamepick::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(8,10,14,.18) 0,rgba(8,10,14,.6) 55%,rgba(8,10,14,.86) 100%)}
.gamepick.rust{background-image:url(/rust/bg/base.webp);
  box-shadow:inset 0 0 0 1px rgba(206,66,43,.6),0 18px 44px rgba(0,0,0,.5),0 0 0 4px rgba(206,66,43,.08)}
.gamepick.cs2{background-image:url(/cs2/bg/dust2.webp);
  box-shadow:inset 0 0 0 1px rgba(232,163,61,.6),0 18px 44px rgba(0,0,0,.5),0 0 0 4px rgba(232,163,61,.08)}
.gamepick.dota{background-image:url(/dota/bg/radiant.webp);
  box-shadow:inset 0 0 0 1px rgba(194,60,43,.6),0 18px 44px rgba(0,0,0,.5),0 0 0 4px rgba(194,60,43,.08)}
.gamepick.deadlock{background-image:url(/deadlock/bg/street.webp);
  box-shadow:inset 0 0 0 1px rgba(215,165,76,.6),0 18px 44px rgba(0,0,0,.5),0 0 0 4px rgba(215,165,76,.08)}
.gamepick.valorant{background-image:url(/maps/ascent.webp);
  box-shadow:inset 0 0 0 1px rgba(255,70,85,.55),0 18px 44px rgba(0,0,0,.5),0 0 0 4px rgba(255,70,85,.08)}
.gamepick .gplogo{height:58px;width:auto;filter:drop-shadow(0 6px 16px rgba(0,0,0,.7))}
.gamepick .gpname{font-family:"Oswald","Arial Narrow",sans-serif;font-size:28px;font-weight:700;letter-spacing:.1em;line-height:1;
  text-shadow:0 3px 12px rgba(0,0,0,.8)}
.gamepick.rust .gpname{display:none}
.gamepick.valorant .gpname{font-family:"Sofia Sans Extra Condensed","Oswald","Arial Narrow",sans-serif;font-size:44px;font-weight:800;
  letter-spacing:.06em}
.gamepick.valorant .gpname b{color:#FF4655;font-weight:800}
.gamepick .gpsub{font-size:12.5px;letter-spacing:.04em;color:rgba(255,255,255,.78);text-shadow:0 2px 8px rgba(0,0,0,.8)}
.gamepick .gpbusy{font-size:12px;color:rgba(255,255,255,.7)}
.gamepick:disabled{opacity:.7}

/* ---------------------------------------- поиск профиля на FACEIT (CS2) */
.faceitbox .clrow{margin-top:8px}
.faceitbox .btn{flex:0 0 auto;padding:10px 14px;font-size:13.5px}
.faceitbox .faceitst{margin-top:8px}
.fcrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;color:var(--ink);
  background:rgba(0,0,0,.3);border-radius:6px;box-shadow:inset 0 0 0 1px var(--edge-soft)}
.fcrow:disabled{opacity:.6}
.fcav{width:40px;height:40px;border-radius:6px;overflow:hidden;background:var(--raise);display:grid;place-items:center;
  font-family:var(--display);font-weight:700;font-size:18px;flex:none}
.fcav img{width:100%;height:100%;object-fit:cover;display:block}
.fcinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fcinfo b{font-family:var(--display);font-size:16px;line-height:1.1;overflow-wrap:anywhere}
.fcinfo span{font-size:11.5px;color:var(--muted)}
.fcpick{flex:none;padding:6px 10px;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--on-accent);background:var(--accent);border-radius:4px}

/* ------------------------------------------ значок уровня FACEIT (CS2) */
/* Официальные значки уровней 1-10 с их CDN лежат в web/cs2/faceit. */
.fcbadge{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;
  background:linear-gradient(90deg,rgba(255,85,0,.2),rgba(0,0,0,.28) 70%);box-shadow:inset 0 0 0 1px rgba(255,85,0,.5)}
.fclvl{width:46px;height:46px;flex:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.fctxt{display:flex;flex-direction:column;gap:2px;line-height:1.05;min-width:0}
.fck{font-family:var(--body);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#FF5500}
.fctxt b{font-family:var(--display);font-size:22px;font-weight:700;color:var(--ink)}
.fcelo{font-size:12.5px;color:var(--muted)}
.fcbadge.small{padding:6px 0 0;background:none;box-shadow:none;gap:8px}
.fcbadge.small .fclvl{width:30px;height:30px}
.fcbadge.small .fctxt b{font-size:16px}
.fcbadge.small .fck{display:none}

/* ------------------------------------------------ Dota 2: своя форма (08.10.2026)
   Марко: «дизайн такой же, как у Rust и CS2». Dota 2 - старый серифный
   шрифт, золотые волосяные линии, багровый с чёрным, медаль ранга вместо
   часов. */
html[data-game="dota"] h1,html[data-game="dota"] h2,html[data-game="dota"] h3,html[data-game="dota"] .nick,
html[data-game="dota"] .rstat .v,html[data-game="dota"] .abnick,html[data-game="dota"] .gameswitch button,
html[data-game="dota"] .btn.primary,html[data-game="dota"] .act{letter-spacing:.08em;font-weight:700}
html[data-game="dota"] .pcard .nick{font-size:36px;letter-spacing:.06em}
html[data-game="dota"] .pcard{border-radius:3px;box-shadow:0 0 0 1px rgba(201,166,75,.38),var(--lift)}
html[data-game="dota"] .pcard .idrow,html[data-game="dota"] .pcard.hasagent .idrow{min-height:200px;
  border-bottom:1px solid rgba(201,166,75,.5)}
html[data-game="dota"] .rstat{background:linear-gradient(180deg,rgba(44,20,16,.72),rgba(10,6,6,.86));border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(201,166,75,.4),inset 0 -2px 0 var(--accent)}
html[data-game="dota"] .rstat .k{color:#C9A64B;letter-spacing:.22em}
html[data-game="dota"] .rstat small{color:#C9A64B}
html[data-game="dota"] .rstat .v{letter-spacing:.04em}
html[data-game="dota"] .rkv > span:last-child,html[data-game="deadlock"] .rkv > span:last-child{font-size:14px}
html[data-game="dota"] .chip{border-radius:2px;box-shadow:inset 0 0 0 1px rgba(201,166,75,.35);letter-spacing:.04em}
html[data-game="dota"] .chip.hrs{color:#C9A64B}
html[data-game="dota"] .nav button.on{color:#E8C45A}
html[data-game="dota"] .btn.primary{border-radius:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(201,166,75,.5)}
html[data-game="dota"] .stkslot{border-radius:2px}
html[data-game="dota"] .stknum{color:#E8C45A}

/* ------------------------------------------------ Deadlock: своя форма (08.10.2026)
   Нуар тридцатых: Playfair Display курсивом в имени, двойная латунная рамка
   ар-деко, прямые углы, ранг шестигранником. Портретов нет - имя и есть
   картинка. */
html[data-game="deadlock"] .pcard{border-radius:0;
  box-shadow:0 0 0 1px rgba(215,165,76,.55),0 0 0 5px var(--ground),0 0 0 6px rgba(215,165,76,.22),var(--lift)}
html[data-game="deadlock"] .pcard .idrow,html[data-game="deadlock"] .pcard.hasagent .idrow{min-height:160px;
  background:linear-gradient(180deg,rgba(12,18,21,.25) 0,rgba(12,18,21,.8) 60%,var(--surface) 100%);
  border-bottom:1px solid rgba(215,165,76,.5)}
html[data-game="deadlock"] .pcard .nick{font-family:var(--display);font-style:italic;font-weight:800;font-size:38px;
  letter-spacing:0;text-transform:none}
html[data-game="deadlock"] h1,html[data-game="deadlock"] h2,html[data-game="deadlock"] h3{letter-spacing:.04em}
html[data-game="deadlock"] .rstat{border-radius:0;background:rgba(0,0,0,.36);
  box-shadow:inset 0 0 0 1px rgba(215,165,76,.6),inset 0 0 0 4px var(--surface),inset 0 0 0 5px rgba(215,165,76,.28)}
html[data-game="deadlock"] .rstat .k{color:#D7A54C;letter-spacing:.24em}
html[data-game="deadlock"] .rstat .v{letter-spacing:0;text-transform:none;font-weight:700}
html[data-game="deadlock"] .rkv > span:last-child{font-size:14px}
html[data-game="deadlock"] .chip{border-radius:0;letter-spacing:.1em;text-transform:uppercase;font-size:10.5px}
html[data-game="deadlock"] .btn,html[data-game="deadlock"] .opt,html[data-game="deadlock"] .rweapon,
html[data-game="deadlock"] .field,html[data-game="deadlock"] .clmine,html[data-game="deadlock"] .clcard,
html[data-game="deadlock"] .gameswitch,html[data-game="deadlock"] .gameswitch button{border-radius:0}
html[data-game="deadlock"] .btn.primary{letter-spacing:.16em;box-shadow:0 0 0 1px rgba(215,165,76,.7),0 0 0 3px var(--ground),0 0 0 4px rgba(215,165,76,.3)}
html[data-game="deadlock"] .clmine,html[data-game="deadlock"] .clcard{
  box-shadow:inset 0 0 0 1px rgba(215,165,76,.5),inset 0 0 0 4px var(--surface),inset 0 0 0 5px rgba(215,165,76,.2)}
html[data-game="deadlock"] .pcard .avatar{border-radius:0;box-shadow:0 0 0 2px var(--ground),0 0 0 3px #D7A54C}
html[data-game="deadlock"] .nav button.on{color:#E6B65C}

/* Значок ранга (Dota 2 и Deadlock). */
.rkbadge{display:flex;align-items:center;gap:8px;margin-top:6px}
.rkbadge .rkico svg,.rkv .rkico svg{width:34px;height:37px;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.rkbadge.small .rkico svg{width:26px;height:28px}
.rktxt{display:flex;flex-direction:column;line-height:1.1}
.rkn{font-family:var(--display);font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.rkmmr{font-family:var(--mono);font-size:11px;color:var(--muted)}
.rkv{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rkv > span:last-child{font-size:15px}
.rkv .rkico svg{width:26px;height:28px}
.rkstars{margin-top:6px}
.rkstars .opt{min-width:40px;text-align:center}
.rkfield{margin-bottom:6px}

/* Кнопки «Скип / Супер / Лайк» в играх движка (Марко 08.10.2026: «шрифты
   лайк-скип выглядят ужасно и слишком близко к границе кнопки во всех играх,
   кроме Valorant»). У Valorant узкий Sofia Sans, и 21px влезает; Oswald и
   серифы шире - здесь мельче, с воздухом и в Oswald у всех игр движка. */
html[data-alt] .actions{gap:12px;padding:14px 16px 16px}
html[data-alt] .act{padding:15px 6px;font-size:17px;letter-spacing:.05em;gap:8px;
  font-family:"Oswald","Roboto Condensed","Arial Narrow",sans-serif;font-weight:600}
html[data-alt] .act.super{font-size:14px}
html[data-game="dota"] .act{letter-spacing:.05em;font-weight:600}
/* Кнопки и выборы у Dota 2 и Deadlock - Oswald: серифы остаются заголовкам,
   нику, рангу и ячейкам. */
html[data-game="dota"] .btn,html[data-game="deadlock"] .btn,html[data-game="dota"] .opt,html[data-game="deadlock"] .opt,
html[data-game="dota"] .gameswitch button,html[data-game="deadlock"] .gameswitch button,
html[data-game="dota"] .btab,html[data-game="deadlock"] .btab,html[data-game="dota"] .mact,html[data-game="deadlock"] .mact,
html[data-game="dota"] .callbtn,html[data-game="deadlock"] .callbtn,html[data-game="dota"] .pfseg button,html[data-game="deadlock"] .pfseg button{
  font-family:"Oswald","Roboto Condensed","Arial Narrow",sans-serif}
html[data-game="dota"] .btn.primary{letter-spacing:.06em;font-weight:600}
html[data-game="deadlock"] .btn.primary{letter-spacing:.1em}

/* Обход 11.10.2026: у Dota 2 и Deadlock шрифты шире, и длинные надписи на
   кнопках переносились на две строки. */
html[data-game="dota"] .plusbtn b,html[data-game="deadlock"] .plusbtn b{font-size:16px;letter-spacing:.02em}
html[data-game="dota"] .pfact b,html[data-game="deadlock"] .pfact b,
html[data-game="dota"] .pftile b,html[data-game="deadlock"] .pftile b{font-size:15px;letter-spacing:0}
