:root{--bg:#0b0d12;--card:#141821;--line:#262c3a;--text:#e9ebf1;--muted:#99a1b3;--dota:#e23b2e;--dota2:#7a1410;--cs:#f6a21a;--cs2:#1f4f8f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.65 'Segoe UI',system-ui,-apple-system,Roboto,sans-serif}
a{color:#8fc0ff}
img{max-width:100%}
.wrap{max-width:1040px;margin:0 auto;padding:0 18px}

/* верхняя полоса */
.top{position:sticky;top:0;z-index:20;background:rgba(11,13,18,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{max-width:1040px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;gap:12px}
.logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(115deg,var(--dota) 0 50%,var(--cs) 50% 100%);display:grid;place-items:center;font:800 13px/1 system-ui;color:#fff;text-shadow:0 1px 2px #000}
.brand{font-weight:800;letter-spacing:.04em}
.tag{font-size:12px;color:var(--muted)}
.nav{margin-left:auto;display:flex;gap:8px}
.nav a{font:600 13px/1 system-ui;text-decoration:none;padding:9px 13px;border-radius:999px;border:1px solid var(--line);color:var(--text)}
.nav a.d:hover{border-color:var(--dota);color:#ff8a80}
.nav a.c:hover{border-color:var(--cs);color:#ffd08a}

/* шапка: половина Dota 2, половина CS2 */
.hero{position:relative;overflow:hidden;min-height:440px;display:grid;place-items:center;text-align:center;border-bottom:1px solid var(--line)}
.half{position:absolute;top:0;bottom:0;width:60%}
.half.dota{left:0;clip-path:polygon(0 0,100% 0,72% 100%,0 100%);
  background:radial-gradient(circle at 28% 40%,rgba(255,90,60,.55),transparent 46%),radial-gradient(circle at 70% 90%,rgba(140,20,10,.9),transparent 55%),linear-gradient(160deg,#3a0705,#120303 70%)}
.half.cs{right:0;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);
  background:radial-gradient(circle at 72% 38%,rgba(246,162,26,.5),transparent 44%),radial-gradient(circle at 30% 95%,rgba(31,79,143,.9),transparent 55%),linear-gradient(200deg,#10233f,#070b14 70%)}
.half svg{position:absolute;opacity:.34}
.half.dota svg{left:6%;top:50%;transform:translateY(-50%);width:min(44vw,380px)}
.half.cs svg{right:6%;top:50%;transform:translateY(-50%);width:min(44vw,380px)}
.half b{position:absolute;bottom:22px;font:900 clamp(26px,5vw,56px)/1 system-ui;letter-spacing:.06em;opacity:.9}
.half.dota b{left:5%;color:#ff6b5c;text-shadow:0 0 30px rgba(226,59,46,.8)}
.half.cs b{right:5%;color:#ffc04d;text-shadow:0 0 30px rgba(246,162,26,.7)}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(8,9,13,.78) 0,rgba(8,9,13,.35) 55%,transparent 80%)}
.hero-txt{position:relative;z-index:2;padding:46px 18px 90px;max-width:820px}
.kicker{display:inline-block;font:700 12px/1 system-ui;letter-spacing:.24em;text-transform:uppercase;color:#d9dce6;border:1px solid rgba(255,255,255,.25);padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.35)}
h1{font:800 clamp(28px,5vw,50px)/1.12 system-ui;margin:18px 0 12px;text-shadow:0 3px 24px #000}
h1 .d{color:#ff6b5c}h1 .c{color:#ffc04d}
.meta{color:#c5cad6;font-size:14px}
.vs{position:absolute;z-index:2;left:50%;bottom:20px;transform:translateX(-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font:900 16px/1 system-ui;background:#0b0d12;border:2px solid #fff;box-shadow:0 0 0 6px rgba(255,255,255,.08)}

/* текст */
main{padding:6px 0 10px}
.lead{font-size:19px;color:#d5d9e3;margin:26px 0}
h2{font:800 clamp(24px,3.6vw,34px)/1.2 system-ui;margin:0 0 6px}
h3{font:700 19px/1.3 system-ui;margin:26px 0 8px}
p{margin:12px 0}
.note{font-size:14px;color:var(--muted)}

/* разделы игр */
.game{position:relative;margin:34px 0 0;padding:44px 0 46px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.game.dota{background:radial-gradient(circle at 0 0,rgba(226,59,46,.22),transparent 42%),radial-gradient(circle at 100% 100%,rgba(122,20,16,.35),transparent 46%),linear-gradient(180deg,#170707,#0d0707)}
.game.cs{background:radial-gradient(circle at 100% 0,rgba(246,162,26,.2),transparent 42%),radial-gradient(circle at 0 100%,rgba(31,79,143,.4),transparent 48%),linear-gradient(180deg,#0a1220,#090c14)}
.game .deco{position:absolute;width:520px;opacity:.07;pointer-events:none}
.game.dota .deco{right:-140px;top:-120px}
.game.cs .deco{left:-150px;top:-110px}
.g-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.g-badge{font:900 13px/1 system-ui;letter-spacing:.14em;padding:9px 12px;border-radius:8px;color:#fff}
.dota .g-badge{background:linear-gradient(135deg,#ff5a45,#8c1710)}
.cs .g-badge{background:linear-gradient(135deg,#f6a21a,#c2600c)}
.dota h2{color:#ffd9d4}.cs h2{color:#ffe7bd}

.champ{margin:22px 0;padding:18px 20px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);display:flex;gap:16px;align-items:center}
.champ .cup{font-size:40px;line-height:1}
.champ b{display:block;font-size:19px}
.champ span{color:#c9cedb;font-size:15px}

.teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:20px 0 6px}
.team{position:relative;background:rgba(15,18,26,.82);border:1px solid var(--line);border-radius:16px;padding:16px 16px 14px;overflow:hidden}
.team::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px}
.dota .team::before{background:linear-gradient(var(--dota),var(--dota2))}
.cs .team::before{background:linear-gradient(var(--cs),var(--cs2))}
.t-top{display:flex;align-items:center;gap:12px}
.mono{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font:900 15px/1 system-ui;color:#fff;letter-spacing:.02em}
.dota .mono{background:linear-gradient(135deg,#e23b2e,#5d0f0b)}
.cs .mono{background:linear-gradient(135deg,#f6a21a,#1f4f8f)}
.t-name{font:800 18px/1.2 system-ui}
.t-reg{font-size:13px;color:var(--muted)}
.rank{margin-left:auto;font:900 22px/1 system-ui;color:rgba(255,255,255,.22)}
.roster{list-style:none;margin:12px 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.roster li{font:600 14px/1 system-ui;padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}
.roster li small{font-weight:500;color:var(--muted);margin-left:5px}
.roster li.star{border-color:rgba(255,210,120,.55);background:rgba(255,200,90,.1)}
.t-why{font-size:14.5px;color:#c6cbd8;margin:0}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.box h3{margin-top:0}
.box ul{margin:8px 0 0;padding-left:20px}
.box li{margin:5px 0}
.box.d{border-top:3px solid var(--dota)}.box.c{border-top:3px solid var(--cs)}
table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15.5px;background:var(--card);border-radius:14px;overflow:hidden}
th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font:700 12px/1.2 system-ui;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#10141c}
tr:last-child td{border-bottom:0}
.sec{padding:38px 0 8px}

/* реклама VK: рамка появляется только вместе с объявлением */
.ad{margin:30px auto;text-align:center;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:8px 0 10px;max-height:400px;transition:max-height .4s,opacity .4s,margin .4s,padding .4s}
.ad.empty{max-height:0;opacity:0;margin:0 auto;padding:0;border-width:0}
.ad-label{display:block;font:11px 'Segoe UI',system-ui,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ad ins{max-width:100%;vertical-align:top}
.ad-wide{max-width:960px}

footer{border-top:1px solid var(--line);margin-top:40px;background:#090b10}
.foot-in{max-width:1040px;margin:0 auto;padding:24px 18px 34px;font-size:14px;color:var(--muted)}
.cookie{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:50;width:min(94vw,720px);display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:14px;background:#171c27;border:1px solid var(--line);box-shadow:0 10px 40px rgba(0,0,0,.5);font-size:13.5px;color:#cfd4e0}
.cookie[hidden]{display:none}
.cookie button{flex:none;border:0;border-radius:10px;padding:10px 16px;font:700 13px system-ui;background:#fff;color:#111;cursor:pointer}
.doc{max-width:760px;margin:0 auto;padding:26px 18px 40px}
.doc h1{font-size:30px;text-shadow:none}.doc h2{font-size:21px;margin-top:26px}

@media (max-width:720px){
  body{font-size:16px}
  .nav a{padding:8px 10px;font-size:12px}.tag{display:none}
  .hero{min-height:400px}.half svg{opacity:.2}
  .cols{grid-template-columns:1fr}
  .champ{flex-direction:column;align-items:flex-start}
  table{font-size:14px}th,td{padding:9px 8px}
}
