/* ---------------------------------------------------------------------------
   Матрёшка — общий облик сайта (06.10.2026).

   Продолжение Кузницы: почти чёрный тёплый фон, свет факела сверху, тонкие
   рамки с фаской. Два проекта — два цвета:
     PVP   — багровый (кровь, открытый мир);
     Arena — золото (арена, Кузница).
   Заголовки — Cormorant Garamond (кириллица; Cinzel из Кузницы её не знает),
   знак MATRYOSHKA — Cinzel, текст — Manrope, моноширинный — JetBrains Mono.
--------------------------------------------------------------------------- */
:root{
  --ground:#0a0708; --ground2:#060405;
  --surface:#130e10; --surface2:#1a1316; --raised:#241a1d;
  --line:#3b2a2c; --line-soft:#241a1c;
  --text:#ebe2d9; --muted:#a79a90; --dim:#74665e;
  --gold:#c9a227; --gold-lit:#e3bd45; --gold-dim:#8a6f22;
  --blood:#a8202a; --blood-lit:#d8323c;
  --hue:var(--gold); --hue-lit:var(--gold-lit);
  --r:3px;
  --wrap:1120px;
}
body.pvp{ --hue:var(--blood); --hue-lit:var(--blood-lit); }
body.arena{ --hue:var(--gold); --hue-lit:var(--gold-lit); }

*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:76px}
body{
  margin:0; background:var(--ground); color:var(--text);
  font-family:Manrope,"Segoe UI",system-ui,sans-serif; font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(120% 60% at 50% -14%, color-mix(in srgb, var(--hue) 26%, transparent), transparent 62%),
    radial-gradient(90% 55% at 50% 120%, rgba(201,162,39,.06), transparent 60%),
    radial-gradient(140% 100% at 50% 50%, transparent 45%, rgba(0,0,0,.6));
}
a{color:var(--hue-lit); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px; position:relative; z-index:1}
main{position:relative; z-index:1}

/* --- шапка --- */
.top{
  position:sticky; top:0; z-index:20;
  background:linear-gradient(to bottom, rgba(10,7,8,.96), rgba(10,7,8,.86));
  backdrop-filter:blur(6px); border-bottom:1px solid var(--line-soft);
}
.top .wrap{display:flex; align-items:center; gap:18px; height:64px}
.brand{display:flex; align-items:center; gap:10px; color:var(--text); text-decoration:none!important}
.brand-mark{width:30px; height:30px; flex:none; --doll-drop:var(--gold)}
.big-mark{--doll-drop:transparent}
.brand-name{font-family:Cinzel,Georgia,serif; font-weight:700; letter-spacing:.16em; font-size:17px}
.brand-sub{font-size:13px; letter-spacing:.24em; color:var(--hue-lit); text-transform:uppercase; margin-left:2px}
.nav{display:flex; gap:4px; margin-left:auto; flex-wrap:wrap}
.nav a{
  color:var(--muted); padding:8px 12px; border-radius:var(--r); font-size:15px; font-weight:600;
  text-decoration:none; transition:color .15s, background .15s;
}
.nav a:hover{color:var(--text); background:var(--surface2)}
.nav a.on{color:var(--text); background:var(--raised); box-shadow:inset 0 -2px 0 var(--hue)}
.nav a.pvp-link.on{box-shadow:inset 0 -2px 0 var(--blood-lit)}
.nav a.arena-link.on{box-shadow:inset 0 -2px 0 var(--gold)}
.burger{display:none; margin-left:auto; background:none; border:1px solid var(--line); color:var(--text);
  border-radius:var(--r); padding:6px 10px; font:inherit; cursor:pointer}

/* --- заголовки и текст --- */
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif; font-weight:700; line-height:1.15; margin:0}
h1{font-size:clamp(40px, 6vw, 68px); letter-spacing:.01em}
h2{font-size:clamp(28px, 3.4vw, 38px); margin-bottom:6px}
h3{font-size:22px; margin-bottom:4px}
.kicker{font-size:13.5px; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--hue-lit)}
.lead{font-size:18px; color:var(--muted); max-width:720px}
.muted{color:var(--muted)} .dim{color:var(--dim)}
.mono{font-family:"JetBrains Mono",monospace}
p{margin:.6em 0}

section{padding:56px 0; border-top:1px solid var(--line-soft)}
section:first-of-type{border-top:0}
.sec-head{margin-bottom:26px}
.sec-head p{margin:6px 0 0; color:var(--muted); max-width:760px}

/* --- главный экран --- */
.hero{padding:70px 0 40px; text-align:left}
.hero h1 .accent{color:var(--hue-lit)}
.hero .lead{margin-top:14px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px}

/* --- кнопки --- */
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border-radius:var(--r);
  border:1px solid var(--line); background:var(--surface2); color:var(--text); font-weight:700; font-size:15px;
  cursor:pointer; text-decoration:none!important; transition:border-color .15s, background .15s, transform .1s;
  font-family:inherit;
}
.btn:hover{border-color:var(--hue); background:var(--raised)}
.btn:active{transform:translateY(1px)}
.btn.main{background:linear-gradient(180deg, var(--hue-lit), var(--hue)); border-color:var(--hue-lit); color:#160c0d}
.btn.main:hover{filter:brightness(1.08)}
.btn svg{width:18px; height:18px}

/* --- карточки --- */
.card{
  position:relative; background:linear-gradient(180deg, var(--surface2), var(--surface));
  border:1px solid var(--line); border-radius:var(--r); padding:22px;
}
.card::before, .card::after{ /* уголки, как у ячеек в игре */
  content:""; position:absolute; width:10px; height:10px; border:1px solid var(--hue); opacity:.7;
}
.card::before{top:-1px; left:-1px; border-right:0; border-bottom:0}
.card::after{bottom:-1px; right:-1px; border-left:0; border-top:0}
.grid{display:grid; gap:16px}
.g2{grid-template-columns:repeat(2, minmax(0,1fr))}
.g3{grid-template-columns:repeat(3, minmax(0,1fr))}
.g4{grid-template-columns:repeat(4, minmax(0,1fr))}
.card h3{display:flex; align-items:center; gap:10px}
.card .ico{width:34px; height:34px; flex:none; color:var(--hue-lit)}
.card p{color:var(--muted); margin:.4em 0 0}
.card ul{margin:.5em 0 0; padding-left:1.1em; color:var(--muted)}
.card li{margin:.25em 0}
.card b, .card strong{color:var(--text)}

/* --- два проекта на главной --- */
.projects{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.project{
  position:relative; overflow:hidden; display:flex; flex-direction:column; gap:12px;
  padding:32px; min-height:420px; border-radius:var(--r); border:1px solid var(--line);
  background:linear-gradient(180deg, var(--surface2), var(--ground2)); color:var(--text);
  text-decoration:none!important; transition:border-color .2s, transform .2s;
}
.project:hover{transform:translateY(-3px)}
.project.p-pvp{--hue:var(--blood); --hue-lit:var(--blood-lit)}
.project.p-arena{--hue:var(--gold); --hue-lit:var(--gold-lit)}
.project:hover{border-color:var(--hue)}
.project::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(90% 70% at 85% 0%, color-mix(in srgb, var(--hue) 30%, transparent), transparent 65%);
}
.project > *{position:relative}
.project .tag{font-size:13.5px; font-weight:800; letter-spacing:.24em; text-transform:uppercase; color:var(--hue-lit)}
.project h2{font-size:clamp(34px, 4vw, 48px)}
.project p{color:var(--muted); margin:0}
.project ul{margin:4px 0 0; padding:0; list-style:none; display:grid; gap:6px}
.project li{display:flex; gap:10px; color:var(--text)}
.project li::before{content:"◆"; color:var(--hue-lit); font-size:12px; margin-top:6px}
.project .go{margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
.project .go span.more{font-weight:800; color:var(--hue-lit)}
.big-mark{position:absolute; right:-30px; bottom:-30px; width:240px; height:240px; opacity:.07; color:var(--hue-lit)}

/* --- адрес сервера --- */
.addr{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:var(--ground2); border:1px solid var(--line); border-radius:var(--r); padding:10px 12px;
}
.addr .label{font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--dim)}
.addr .ip{font-family:"JetBrains Mono",monospace; font-size:17px; color:var(--text)}
.copy{
  margin-left:auto; background:var(--raised); border:1px solid var(--line); color:var(--text);
  border-radius:var(--r); padding:6px 10px; font:600 14.5px Manrope,sans-serif; cursor:pointer;
}
.copy:hover{border-color:var(--hue)}
.copy.done{border-color:#4caf50; color:#9be29f}

/* --- факты (цифры сервера) --- */
.facts{display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:12px}
.fact{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r); padding:14px 16px}
.fact .v{font-family:"Cormorant Garamond",Georgia,serif; font-size:32px; font-weight:700; color:var(--hue-lit); line-height:1}
.fact .k{font-size:14.5px; color:var(--muted); margin-top:6px}

/* --- шаги --- */
.steps{counter-reset:s; display:grid; gap:12px}
.step{counter-increment:s; display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start}
.step::before{
  content:counter(s); width:44px; height:44px; display:grid; place-items:center;
  font-family:"Cormorant Garamond",serif; font-size:24px; font-weight:700; color:var(--hue-lit);
  border:1px solid var(--hue); border-radius:var(--r); background:var(--surface);
}
.step b{display:block; font-size:17px}
.step span{color:var(--muted)}

/* --- расписание --- */
.sched{width:100%; border-collapse:collapse}
.sched th, .sched td{text-align:left; padding:12px 14px; border-bottom:1px solid var(--line-soft); vertical-align:top}
.sched th{font-size:13.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); font-weight:700}
.sched td.t{font-family:"JetBrains Mono",monospace; white-space:nowrap; color:var(--text)}
.sched .ev{font-weight:700}
.sched .sub{color:var(--muted); font-size:15px}
.chip{display:inline-block; font-family:"JetBrains Mono",monospace; font-size:14.5px; padding:2px 8px; margin:2px 4px 2px 0;
  border:1px solid var(--line); border-radius:var(--r); background:var(--ground2); color:var(--text)}
.chip.next{border-color:var(--hue-lit); color:var(--hue-lit); box-shadow:0 0 0 1px color-mix(in srgb, var(--hue) 40%, transparent)}
.next-box{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:16px}
.next-box .when{font-family:"JetBrains Mono",monospace; color:var(--hue-lit)}

/* --- команды --- */
.cmd-tools{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:14px}
.search{
  flex:1 1 260px; background:var(--ground2); border:1px solid var(--line); border-radius:var(--r);
  color:var(--text); padding:11px 14px; font:inherit;
}
.search:focus{outline:none; border-color:var(--hue)}
.filter{background:var(--surface2); border:1px solid var(--line); color:var(--muted); border-radius:var(--r);
  padding:8px 12px; font:600 14.5px Manrope,sans-serif; cursor:pointer}
.filter.on, .filter:hover{color:var(--text); border-color:var(--hue)}
.cmds{display:grid; gap:10px}
.cmd-group h3{margin:18px 0 10px; font-size:20px; color:var(--text)}
.cmd{
  display:grid; grid-template-columns:minmax(170px, 260px) 1fr; gap:16px; align-items:start;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r); padding:12px 14px;
}
.cmd code{font-family:"JetBrains Mono",monospace; font-size:15px; color:var(--hue-lit); word-break:break-word}
.cmd code .arg{color:var(--muted)}
.cmd .al{display:block; font-size:13.5px; color:var(--dim); margin-top:3px}
.cmd .d{color:var(--muted)}
.cmd .d b{color:var(--text)}
.cmd-empty{color:var(--dim); padding:16px 0; display:none}

/* --- заметки --- */
.note{border-left:3px solid var(--hue); background:var(--surface); padding:12px 16px; border-radius:0 var(--r) var(--r) 0; color:var(--muted)}
.note b{color:var(--text)}
.badge{display:inline-block; font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  padding:3px 8px; border-radius:var(--r); border:1px solid var(--hue); color:var(--hue-lit); vertical-align:middle}
.badge.soon{border-color:var(--line); color:var(--dim)}

/* --- подвал --- */
.foot{border-top:1px solid var(--line-soft); padding:34px 0 50px; color:var(--dim); font-size:15px; position:relative; z-index:1}
.foot .wrap{display:flex; gap:18px; flex-wrap:wrap; align-items:center; justify-content:space-between}
.foot a{color:var(--muted)}

/* --- шапка: меню в «бургер», когда пункты с переключателем языка не влезают в строку (06.10) --- */
@media (max-width: 1080px){
  .burger{display:block}
  .nav{display:none; position:absolute; top:64px; left:0; right:0; flex-direction:column; gap:0;
    background:rgba(10,7,8,.98); border-bottom:1px solid var(--line); padding:8px 16px 14px}
  .nav.open{display:flex}
  .nav a{padding:12px 8px}
}

/* --- телефоны --- */
@media (max-width: 900px){
  .projects, .g3, .g4{grid-template-columns:1fr}
  .g2{grid-template-columns:1fr}
  .cmd{grid-template-columns:1fr; gap:6px}
}
@media (max-width: 760px){
  .wrap{padding:0 16px}
  .project{padding:24px; min-height:0}
  section{padding:42px 0}
  .hero{padding:48px 0 28px}
  .sched th:nth-child(3), .sched td:nth-child(3){display:none}
}

/* Язык (06.10): переключатель в шапке и крупный выбор на главной. */
.lang-sw{display:inline-flex; flex:none; border:1px solid var(--line); border-radius:999px; overflow:hidden; background:var(--surface)}
.lang-sw a{padding:6px 11px; font:800 13.5px/1 Manrope,sans-serif; letter-spacing:.1em; color:var(--muted); text-decoration:none!important}
.lang-sw a:hover{color:var(--text)}
.lang-sw a.on{background:var(--blood); color:#fff}
.lang-big{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px}
.lang-big a{display:flex; align-items:center; gap:12px; min-width:190px; padding:14px 22px; border:1px solid var(--line); border-radius:14px;
  background:var(--surface); color:var(--text); text-decoration:none!important; transition:border-color .15s, transform .15s}
.lang-big a:hover{border-color:var(--blood-lit); transform:translateY(-2px)}
.lang-big a.on{border-color:var(--blood-lit); background:linear-gradient(110deg,rgba(168,32,42,.35),var(--surface) 70%)}
.lang-big b{font:800 26px/1 Manrope,sans-serif; letter-spacing:.06em; color:#fff}
.lang-big span{font-size:15px; color:var(--muted)}
.lang-big a.on span{color:#ffc9cc}
@media (max-width: 760px){
  .top .wrap{gap:10px}
  .lang-sw a{padding:6px 9px}
}
@media (max-width: 420px){
  .brand-sub{display:none}
  .brand-name{font-size:15px; letter-spacing:.12em}
}

/* ===========================================================================
   Облик v2 (06.10.2026, Алексей: «крутым, современным, не перегруженным»).
   Скругления вместо фасок, стеклянные карточки без уголков, больше воздуха между
   разделами, крупный арт босса на первом экране, кнопки-«таблетки» со свечением.
   Классы прежние — страницы правятся мало.
=========================================================================== */
:root{ --r:14px; --glass:rgba(255,255,255,.035); --glass2:rgba(255,255,255,.06); --edge:rgba(255,255,255,.08); }

section{padding:68px 0; border-top:0}
.sec-head{margin-bottom:32px}
.sec-head h2{letter-spacing:.005em}
.kicker{display:inline-flex; align-items:center; gap:10px}
.kicker::before{content:""; width:22px; height:2px; border-radius:2px; background:var(--hue-lit); box-shadow:0 0 10px var(--hue-lit)}

/* шапка */
.top{background:rgba(8,6,7,.72); backdrop-filter:blur(14px) saturate(1.2); border-bottom:1px solid var(--edge)}
.nav a{border-radius:999px; padding:8px 14px}
.nav a.on{background:var(--glass2); box-shadow:none; color:#fff}
.nav a.rules-link{color:var(--text); border:1px solid var(--edge)}
.nav a.rules-link:hover{border-color:var(--hue)}

/* кнопки */
.btn{border-radius:999px; padding:13px 22px; border-color:var(--edge); background:var(--glass)}
.btn:hover{background:var(--glass2); border-color:var(--hue)}
.btn.main{color:#fff; background:linear-gradient(135deg, var(--hue-lit), var(--hue)); border-color:transparent;
  box-shadow:0 8px 28px color-mix(in srgb, var(--hue) 45%, transparent)}
.btn.main:hover{filter:brightness(1.1); box-shadow:0 10px 36px color-mix(in srgb, var(--hue) 60%, transparent)}
body.arena .btn.main, .p-arena .btn.main{color:#1a1206}

/* карточки: стекло, без уголков */
.card{background:linear-gradient(180deg, var(--glass2), var(--glass)); border:1px solid var(--edge); border-radius:var(--r);
  transition:border-color .2s, transform .2s, box-shadow .2s}
.card::before, .card::after{display:none}
.card:hover{border-color:color-mix(in srgb, var(--hue) 55%, transparent); box-shadow:0 14px 40px rgba(0,0,0,.35)}
.grid{gap:18px}

/* адрес, цифры, чипы, заметки */
.addr{border-radius:14px; background:rgba(0,0,0,.35); border-color:var(--edge); padding:10px 10px 10px 16px}
.copy{border-radius:999px; padding:7px 14px; background:var(--glass2); border-color:var(--edge)}
.fact{border-radius:var(--r); background:var(--glass); border-color:var(--edge)}
.chip{border-radius:8px; background:rgba(0,0,0,.3); border-color:var(--edge)}
.note{border-radius:0 12px 12px 0; background:var(--glass)}
.badge{border-radius:999px}
.step::before{border-radius:12px; background:var(--glass)}

/* главный экран с артом босса */
.hero, .hero2{position:relative; overflow-x:clip}
.hero-art{position:absolute; z-index:0; pointer-events:none; right:-2%; top:-30px; width:min(46%, 560px); opacity:.6;
  -webkit-mask-image:radial-gradient(60% 62% at 50% 40%, #000 40%, transparent 78%);
          mask-image:radial-gradient(60% 62% at 50% 40%, #000 40%, transparent 78%);
  filter:saturate(1.05) contrast(1.05)}
.hero > *:not(.hero-art), .hero2 > *:not(.hero-art){position:relative; z-index:1}
.hero h1{text-shadow:0 4px 30px rgba(0,0,0,.6)}

/* PVP: Дракула фоном в карточке вайпа */
.wipe{overflow:hidden}
.wipe-art{position:absolute; right:-40px; top:-30px; height:150%; opacity:.42; pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 45%); mask-image:linear-gradient(90deg, transparent, #000 45%)}
.wipe > *:not(.wipe-art){position:relative}

/* проекты на главной: арт в карточке */
.project{border-radius:22px; border-color:var(--edge); background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01))}
.project:hover{box-shadow:0 20px 60px color-mix(in srgb, var(--hue) 25%, transparent)}
.project .p-art{position:absolute; right:-10px; top:-20px; width:46%; opacity:.4; pointer-events:none; transition:opacity .3s, transform .3s;
  -webkit-mask-image:radial-gradient(60% 60% at 50% 40%, #000 35%, transparent 78%);
          mask-image:radial-gradient(60% 60% at 50% 40%, #000 35%, transparent 78%)}
.project:hover .p-art{opacity:.6; transform:scale(1.03)}
.big-mark{display:none}

/* команды: две колонки на широком экране, тише */
.cmds{grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px 18px; align-items:start}
.cmd-group{display:grid; gap:8px; align-content:start}
.cmd-group h3{margin:6px 0 4px}
.cmd{grid-template-columns:1fr; gap:4px; border-radius:12px; background:var(--glass); border-color:var(--edge)}
.cmd-empty{grid-column:1 / -1}
.search{border-radius:999px; background:rgba(0,0,0,.35); border-color:var(--edge); padding:12px 18px}
.filter{border-radius:999px; background:var(--glass); border-color:var(--edge)}

/* подвал */
.foot{border-top:1px solid var(--edge)}

/* «Все правила →» и прочие ссылки-стрелки */
.more-link{display:inline-flex; align-items:center; gap:8px; font-weight:800; color:var(--hue-lit)}
.more-link:hover{gap:12px; text-decoration:none}

/* страница правил */
.rules-tabs{display:flex; gap:8px; flex-wrap:wrap; margin:6px 0 28px}
.rules-tabs a{padding:9px 16px; border-radius:999px; border:1px solid var(--edge); background:var(--glass); color:var(--muted); font-weight:700; font-size:15px}
.rules-tabs a:hover{color:#fff; border-color:var(--hue); text-decoration:none}
.yn{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.yn .card h3{font-family:Manrope,sans-serif; font-size:15px; font-weight:800; letter-spacing:.14em; text-transform:uppercase}
.yn .yes h3{color:#7ee08a} .yn .no h3{color:#ff6b72}
.yn .yes{border-color:rgba(126,224,138,.25)} .yn .no{border-color:rgba(255,107,114,.25)}
.yn ul{list-style:none; padding:0; margin:10px 0 0; display:grid; gap:10px}
.yn li{display:grid; grid-template-columns:22px 1fr; gap:8px; color:var(--text)}
.yn .yes li::before{content:"✓"; color:#7ee08a; font-weight:800}
.yn .no li::before{content:"✕"; color:#ff6b72; font-weight:800}
.yn li small{display:block; color:var(--muted); font-size:15px}
.draft{display:inline-block; font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; padding:4px 10px;
  border-radius:999px; border:1px dashed var(--line); color:var(--dim)}
.rule-list{counter-reset:r; display:grid; gap:12px}
.rule-list .card{display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; counter-increment:r}
.rule-list .card::before{display:grid; content:counter(r); position:static; width:44px; height:44px; place-items:center; border:1px solid var(--edge);
  border-radius:12px; font:800 18px Manrope,sans-serif; color:var(--hue-lit); background:rgba(0,0,0,.3); opacity:1}
.rule-list .card h3{font-size:20px}

@media (max-width: 900px){
  .cmds{grid-template-columns:1fr}
  .yn{grid-template-columns:1fr}
  .hero-art{width:70%; right:0; top:-10px; opacity:.3}
  .project .p-art{width:60%; opacity:.25}
}
@media (max-width: 760px){
  section{padding:56px 0}
}

/* команды плотнее (06.10): меньше отступы, псевдоним в строку с командой, логистика — строками */
.cmd{padding:10px 14px}
.cmd .al{display:inline; margin-left:8px}
.cmd .d{font-size:15.5px; line-height:1.45}
.cmd-group.wide{grid-column:1 / -1}
.cmd-mini{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px 14px}
.cmd.row{display:flex; gap:12px; align-items:baseline; padding:8px 14px}
.cmd.row code{flex:none; min-width:112px}
.cmd.row .d{font-size:15px}
@media (max-width: 900px){ .cmd-mini{grid-template-columns:1fr} .cmd.row{flex-wrap:wrap} }

/* Значок события на карте игры (06.10) */
.mapic{display:inline-flex; align-self:flex-start; align-items:center; gap:6px; font-size:14px; color:var(--muted); background:rgba(0,0,0,.3); border:1px solid var(--edge); border-radius:999px; padding:3px 11px}
.mapic b{color:var(--text)}
/* Правила (06.10): пункты в две колонки на широком экране */
@media (min-width: 901px){ .rule-list{grid-template-columns:repeat(2, minmax(0,1fr))} }

/* ===========================================================================
   Облик v3 (07.10.2026, Алексей: «дорого, эффектно, стильно — но не перегружено»).
   Спокойнее иерархия, одинаковые карточки, тонкие линии вместо громких цветов,
   мягкая глубина (зерно, верхний блик карточек), числа — прописными цифрами.
   Движение — только при prefers-reduced-motion: no-preference; без JS всё видно сразу.
=========================================================================== */
:root{
  --hair:linear-gradient(90deg, transparent, rgba(255,255,255,.09) 18%, color-mix(in srgb, var(--hue-lit) 45%, transparent) 50%, rgba(255,255,255,.09) 82%, transparent);
  --ease:cubic-bezier(.2,.7,.2,1);
}
::selection{background:color-mix(in srgb, var(--hue) 70%, transparent); color:#fff}

/* зерно поверх фона: одна плитка SVG, без размытия и смешивания слоёв */
body::after{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* числа: прописные цифры вместо «старинных» — ровнее в отсчётах и столбцах */
h1, h2, h3, .fact .v, .step::before, .stop .t, .er .v, .wipe .date, .spend .when .t, .art-deal .n{font-variant-numeric:lining-nums}
.chip, .ip, #countdown, .next-hot .cd, .sched td.t{font-variant-numeric:tabular-nums}

/* --- шапка: шире содержимого, в одну строку, тонкая светящаяся черта снизу --- */
.top{border-bottom:0; transition:background .3s}
.top::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--hair); opacity:.7; pointer-events:none}
.top.scrolled{background:rgba(8,6,7,.9)}
.top .wrap{max-width:1320px}
.nav{flex-wrap:nowrap; gap:2px}
.nav a{white-space:nowrap}
@media (min-width: 1081px) and (max-width: 1320px){
  .nav a{padding:8px 10px; font-size:15px}
}
.brand-name{background:linear-gradient(180deg, #fff 10%, #d6c4ad 95%); -webkit-background-clip:text; background-clip:text; color:transparent}
.burger{border-color:var(--edge); border-radius:999px; padding:6px 13px; background:var(--glass)}
/* пункты не влезли в строку (класс ставит site.js) — то же меню, что на узком экране */
.top.compact .burger{display:block}
.top.compact .nav{display:none; position:absolute; top:64px; left:0; right:0; flex-direction:column; gap:0;
  background:rgba(10,7,8,.98); border-bottom:1px solid var(--line); padding:8px 16px 14px}
.top.compact .nav.open{display:flex}
.top.compact .nav a{padding:12px 8px; font-size:15px}
.top.compact .nav.open, .nav.open{background:linear-gradient(180deg, #0e0a0b, #080607); box-shadow:0 24px 50px rgba(0,0,0,.55)}

/* --- разделы: тонкая линия-разделитель, спокойные заголовки --- */
main section{position:relative}
main section + section::before{content:""; position:absolute; top:0; left:8%; right:8%; height:1px; background:var(--hair); opacity:.5; pointer-events:none}
main section.hero2::before{display:none}
.sec-head h2{margin-top:10px; text-wrap:balance}
.sec-head p{line-height:1.65}
.kicker{letter-spacing:.3em; font-size:13px}
.kicker::before{width:28px; height:1px; box-shadow:0 0 8px var(--hue-lit)}
.lead{text-wrap:pretty}

h1 .accent, h2 .accent{color:var(--hue-lit); text-shadow:0 0 28px color-mix(in srgb, var(--hue) 55%, transparent)}

/* --- карточки: верхний блик, мягкий подъём при наведении --- */
.card, .fact, .cmd{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.card{transition:border-color .25s, transform .3s var(--ease), box-shadow .25s}
@media (hover:hover){
  .card:hover{transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 16px 40px rgba(0,0,0,.4)}
  .cmd{transition:border-color .2s}
  .cmd:hover{border-color:color-mix(in srgb, var(--hue) 40%, transparent)}
}

/* --- кнопки: внутренний блик, тень тише --- */
.btn{transition:border-color .2s, background .2s, transform .2s var(--ease), box-shadow .2s, filter .2s}
.btn.main{box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 8px 26px color-mix(in srgb, var(--hue) 38%, transparent)}
.btn.main:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.32), 0 12px 34px color-mix(in srgb, var(--hue) 55%, transparent)}
@media (hover:hover){ .btn:hover{transform:translateY(-1px)} }
.copy{transition:border-color .2s, background .2s}
.addr{box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}

/* --- подвал --- */
.foot{border-top:0}
.foot::before{content:""; position:absolute; top:0; left:0; right:0; height:1px; background:var(--hair); opacity:.6}

/* --- проекты на главной: светящаяся кромка сверху --- */
.project{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.project::after{content:""; position:absolute; top:0; left:12%; right:12%; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent, var(--hue-lit), transparent); opacity:.5; transition:opacity .3s}
.project:hover::after{opacity:1}

/* ---------------------------------------------------------------------------
   PVP. Селекторы через body.pvp / #map — сильнее встроенных стилей страницы,
   поэтому правки одни на обе версии языка и переживают пересборку карты.
--------------------------------------------------------------------------- */
/* полосы «вся карта / путевые точки» — стекло с золотой кромкой */
body.pvp .open-start div{background:linear-gradient(90deg, rgba(255,200,61,.09), rgba(255,255,255,.02) 70%);
  border-color:rgba(255,200,61,.28); box-shadow:inset 0 1px 0 rgba(255,236,180,.07); padding:14px 16px}
body.pvp .open-start svg{filter:drop-shadow(0 0 8px rgba(255,200,61,.35))}

/* карта — в той же рамке, что карточки */
#map .mp-box{border-radius:var(--r); border-color:var(--edge); box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 24px 60px rgba(0,0,0,.45)}
#map .mp-layer{background:var(--glass); border-color:var(--edge); transition:border-color .2s, color .2s}
#map .mp-layer.on{border-color:color-mix(in srgb, var(--hue-lit) 60%, transparent)}
#map .mp-list summary:hover{color:var(--text)}

/* карточка вайпа: дышащая кромка и «живая» точка у отсчёта */
body.pvp .wipe{border-color:rgba(216,50,60,.32); padding:26px 28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 20px 60px rgba(120,10,20,.22)}
body.pvp .wipe .date{font-size:50px}
body.pvp .wipe .date em{text-shadow:0 0 24px rgba(216,50,60,.55)}
body.pvp .wipe #countdown{display:flex; align-items:center; gap:10px}
body.pvp .wipe #countdown::before{content:""; flex:none; width:8px; height:8px; border-radius:50%; background:#ff4b55; box-shadow:0 0 8px rgba(255,75,85,.8)}
body.pvp .wipe .next{border-top:1px solid var(--edge); padding-top:12px; margin-top:14px}

/* дорога открытия: остановки — стеклянные, как карточки */
body.pvp .road{gap:10px}
body.pvp .road:before{width:1px; left:7.5px; opacity:.85}
body.pvp .stop{background:linear-gradient(180deg, var(--glass2), var(--glass)); border-color:var(--edge); padding:16px 20px; box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
body.pvp .stop:before{box-shadow:0 0 0 4px var(--ground)}
body.pvp .stop.key{border-color:rgba(255,200,61,.3); background:linear-gradient(90deg, rgba(255,200,61,.09), rgba(255,255,255,.02) 55%)}
body.pvp .stop.key:before{box-shadow:0 0 0 4px var(--ground), 0 0 12px #ffc83d}
body.pvp .stop.kit{border-color:rgba(95,211,138,.26); background:linear-gradient(90deg, rgba(80,200,120,.08), rgba(255,255,255,.02) 55%)}
body.pvp .boss img{transition:transform .25s var(--ease)}
@media (hover:hover){ body.pvp .boss:hover img{transform:translateY(-2px) scale(1.04)} }

/* экономика и механики: те же кромки, без лишней яркости */
body.pvp .er{border-top-color:var(--edge)}
body.pvp .spend{border-color:rgba(255,200,61,.26)}
body.pvp .art-deal{border-color:rgba(255,200,61,.3); background:linear-gradient(90deg, rgba(255,200,61,.08), rgba(255,200,61,.02))}
body.pvp .goods span, body.pvp .flow span{background:var(--glass); border-color:var(--edge)}
body.pvp .tag{background:rgba(0,0,0,.25)}
body.pvp .ev2 .loot{border-top-color:var(--edge)}
body.pvp .feat .wide{border-color:rgba(216,50,60,.3); background:radial-gradient(90% 120% at 0 0, rgba(200,30,45,.16), transparent 60%), linear-gradient(180deg, var(--glass2), var(--glass))}
body.pvp .feat .card h3, body.pvp .pv .card h3, body.pvp .ev2 h3, body.pvp .econ h3{font-size:22px}
body.pvp .feat .ico{border-color:rgba(216,50,60,.55); box-shadow:0 6px 18px rgba(0,0,0,.45)}

/* ближайший ивент: глубже и спокойнее, светящаяся кромка сверху */
body.pvp .next-hot{position:relative; overflow:hidden; padding:26px 30px; border-color:rgba(216,50,60,.45);
  background:radial-gradient(80% 140% at 0% 0%, rgba(168,32,42,.42), transparent 60%), linear-gradient(110deg, #2a0b10, #170c0f 60%, #120d0f);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 18px 50px rgba(120,10,20,.26)}
body.pvp .next-hot::after{content:""; position:absolute; top:0; left:10%; right:10%; height:1px; background:linear-gradient(90deg, transparent, #ff6b72, transparent); opacity:.75}
body.pvp .next-hot .cd{text-shadow:0 0 22px rgba(255,90,100,.55)}

/* мягкое движение — только тем, кто его не отключал */
@media (prefers-reduced-motion: no-preference){
  body.pvp .wipe #countdown::before{animation:live 2.4s ease-out infinite}
  body.pvp .wipe{animation:glow 6s ease-in-out infinite}
  body.pvp .next-hot .cd span{animation:breathe 4.5s ease-in-out infinite}
}
@keyframes live{ 0%{box-shadow:0 0 0 0 rgba(255,75,85,.6)} 70%,100%{box-shadow:0 0 0 9px rgba(255,75,85,0)} }
@keyframes glow{ 0%,100%{border-color:rgba(216,50,60,.28)} 50%{border-color:rgba(216,50,60,.6)} }
@keyframes breathe{ 0%,100%{opacity:1} 50%{opacity:.8} }

/* --- появление при прокрутке: прячем, только если site.js поставил html.rv
   (translate, а не transform — не мешает подъёму карточек при наведении) --- */
@media (prefers-reduced-motion: no-preference){
  html.rv .rv-i{opacity:0; translate:0 18px; transition:opacity .7s var(--ease), translate .7s var(--ease); transition-delay:calc(var(--i, 0) * 70ms)}
  html.rv .rv-i.in{opacity:1; translate:none}
}
@media print{ html.rv .rv-i{opacity:1; translate:none} body::after{display:none} }

@media (max-width: 760px){
  main section + section::before{left:0; right:0}
  body.pvp .wipe{padding:22px}
  body.pvp .wipe .date{font-size:40px}
  body.pvp .wipe #countdown{font-size:17px}
  body.pvp .next-hot{padding:22px}
  .kicker{letter-spacing:.2em}
}

/* ===========================================================================
   Облик v4 «брутальнее» (07.10.2026, Алексей: «простовато»).
   Кованое железо вместо стекла: срезанные углы с красной/золотой кромкой на срезе,
   двойная рамка (светлая снаружи, чёрная внутри), прописные заголовки, римские
   номера разделов, разделитель-клинок с косым надрезом, угловатые кнопки и метки.
   Срез угла — clip-path; линия на срезе — ::after с двумя диагональными градиентами
   (7,07px = срез 10px / √2 — от размера блока не зависит).
=========================================================================== */
:root{
  --ground:#070506; --ground2:#040303; --surface:#100b0d;
  --edge:rgba(255,255,255,.1);
  --iron:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018) 38%, rgba(0,0,0,.22));
  --frame:inset 0 0 0 1px rgba(0,0,0,.6), inset 0 1px 0 1px rgba(255,255,255,.04);
}
body{--cut-c:var(--hue-lit); --cut-d:color-mix(in srgb, var(--hue) 55%, #000);
  --blade:linear-gradient(90deg, transparent, var(--cut-d) 14%, var(--cut-c) 50%, var(--cut-d) 86%, transparent);
}
body.home{--cut-c:var(--blood-lit); --cut-d:rgba(90,14,20,.95)}
body{background:var(--ground)}
body::before{
  background:
    radial-gradient(110% 55% at 50% -12%, color-mix(in srgb, var(--hue) 30%, transparent), transparent 60%),
    radial-gradient(90% 55% at 50% 120%, rgba(120,14,22,.12), transparent 60%),
    radial-gradient(130% 95% at 50% 45%, transparent 40%, rgba(0,0,0,.78));
}
body::after{opacity:.075}

/* --- срезанные углы --- */
.card, .fact, .project, .btn, .lang-big a, body.pvp .next-hot, body.pvp .open-start div{
  --cut:12px; border-radius:0;
  clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
}
.btn, .lang-big a{--cut:9px}
.project, body.pvp .next-hot{--cut:18px}
.fact, .btn, .lang-big a, body.pvp .open-start div{position:relative}
.card::after, .fact::after, .project::after, .btn::after, .lang-big a::after, body.pvp .next-hot::after, body.pvp .open-start div::after{
  content:""; display:block; position:absolute; inset:-1px; width:auto; height:auto; border:0; opacity:1; pointer-events:none; z-index:2;
  --cc:color-mix(in srgb, var(--hue-lit) 75%, transparent); --k:calc(var(--cut) * .7071);
  background:
    linear-gradient(135deg, transparent calc(var(--k) - 1.2px), var(--cc) calc(var(--k) - 1.2px), var(--cc) calc(var(--k) + .4px), transparent calc(var(--k) + .4px)),
    linear-gradient(-45deg, transparent calc(var(--k) - 1.2px), var(--cc) calc(var(--k) - 1.2px), var(--cc) calc(var(--k) + .4px), transparent calc(var(--k) + .4px));
  transition:none;
}
.btn.main::after{--cc:rgba(255,255,255,.35)}
body.pvp .open-start div::after{--cc:rgba(255,200,61,.7)}

/* --- кованая карточка: тёмный металл, двойная рамка; наведение — вспышка кромки, без подъёма --- */
.card{background:var(--iron); border-color:var(--edge); box-shadow:var(--frame)}
.fact{background:var(--iron); border-color:var(--edge); box-shadow:var(--frame)}
@media (hover:hover){
  .card:hover{transform:none; border-color:color-mix(in srgb, var(--hue-lit) 65%, transparent);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.6), inset 0 2px 0 0 color-mix(in srgb, var(--hue-lit) 80%, transparent), inset 0 0 30px color-mix(in srgb, var(--hue) 12%, transparent)}
  .card:hover::after, .project:hover::after{--cc:var(--hue-lit)}
}

/* --- заголовки: прописные, крупнее, плотнее; латиница — Cinzel, кириллица — Cormorant --- */
h1, h2{font-family:Cinzel, "Cormorant Garamond", Georgia, serif; text-transform:uppercase; letter-spacing:.015em; line-height:1.02}
h1{font-size:clamp(40px, 6.6vw, 84px)}
h2{font-size:clamp(30px, 4vw, 50px)}
h3{text-transform:uppercase; letter-spacing:.04em}
.card h3, .cmd-group h3{font-size:19px}
body.pvp .feat .card h3, body.pvp .pv .card h3, body.pvp .ev2 h3, body.pvp .econ h3{font-size:20px}
.rule-list .card h3{font-size:18px}
h1 .accent, h2 .accent{color:var(--blood-lit); text-shadow:0 0 1px rgba(0,0,0,.8), 0 0 26px rgba(216,50,60,.35)}
body.arena h1 .accent, body.arena h2 .accent, .hero h1 .accent{color:var(--hue-lit)}
.hero h1{text-shadow:0 6px 40px rgba(0,0,0,.85)}

/* метка над заголовком — гравировка с косой красной насечкой */
.kicker{color:#d8c9ba; font-weight:800; letter-spacing:.32em}
.kicker::before{width:12px; height:14px; border-radius:0; background:var(--hue-lit); box-shadow:0 0 12px color-mix(in srgb, var(--hue-lit) 60%, transparent);
  clip-path:polygon(55% 0, 100% 0, 45% 100%, 0 100%)}
/* под заголовком раздела — клинок */
.sec-head h2::after{content:""; display:block; width:64px; height:4px; margin-top:16px; background:var(--hue-lit);
  clip-path:polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%)}
/* римский номер раздела — крупный контур за заголовком */
main{counter-reset:sec}
.sec-head{counter-increment:sec; position:relative; z-index:0}
.sec-head::after{content:counter(sec, upper-roman); position:absolute; right:0; top:50%; transform:translateY(-50%); z-index:-1; pointer-events:none;
  font:700 clamp(84px, 13vw, 190px)/1 Cinzel, Georgia, serif; letter-spacing:.02em; color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.075); text-stroke:1px rgba(255,255,255,.075)}

/* --- разделитель разделов: клинок с косым надрезом --- */
section{padding:84px 0}
main section + section::before{left:0; right:0; top:-1px; height:3px; opacity:1; background:var(--blade);
  clip-path:polygon(0 50%, 50% 0, 100% 50%, 50% 100%)}
main section + section::after{content:""; position:absolute; top:-11px; left:50%; width:5px; height:22px; margin-left:-2px; pointer-events:none;
  background:var(--cut-c); transform:skewX(-32deg); box-shadow:0 0 14px color-mix(in srgb, var(--cut-c) 70%, transparent)}
main section.hero2::after, main section.hero2::before{display:none}
.foot::before{height:2px; background:var(--blade); opacity:.8}
.top{background:rgba(5,3,4,.86)}
.top.scrolled{background:rgba(5,3,4,.95)}
.top::after{background:var(--blade); opacity:.55}

/* --- шапка: угловатые пункты --- */
.nav a{border-radius:0}
.nav a.on{background:none; box-shadow:inset 0 -2px 0 var(--hue-lit)}
.nav a.rules-link{border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.03)}
.nav a.rules-link:hover{border-color:var(--hue-lit)}
.burger, .lang-sw{border-radius:0}
.lang-sw a.on{background:var(--blood); box-shadow:inset 0 -2px 0 var(--blood-lit)}

/* --- кнопки: угловатые, прописные; наведение — красная кромка, не подъём --- */
.btn{text-transform:uppercase; letter-spacing:.14em; font-size:14px; font-weight:800; padding:14px 24px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border-color:rgba(255,255,255,.14); box-shadow:inset 0 0 0 1px rgba(0,0,0,.55)}
.btn.main{background:linear-gradient(180deg, var(--hue-lit), var(--hue) 70%, color-mix(in srgb, var(--hue) 70%, #000));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3), inset 0 -2px 0 rgba(0,0,0,.35)}
@media (hover:hover){
  .btn:hover{transform:none; border-color:var(--hue-lit); box-shadow:inset 0 0 0 1px var(--hue-lit), inset 0 0 22px color-mix(in srgb, var(--hue) 40%, transparent)}
  .btn.main:hover{filter:brightness(1.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.35), inset 0 0 0 1px rgba(255,255,255,.25)}
  .btn:hover::after{--cc:var(--hue-lit)}
}
.btn:active{transform:translateY(1px)}

/* --- метки, чипы, поля: прямые углы --- */
.chip, .tag, .badge, .draft, .mapic, .copy, .filter, .search, .rules-tabs a, .addr,
body.pvp .mini span, body.pvp .goods span, body.pvp .flow span, #map .mp-layer, #map .mp-box, .cmd, .note, .step::before, .rule-list .card::before{border-radius:0}
body.pvp .tag{border-radius:0; letter-spacing:.16em; background:rgba(0,0,0,.45)}
.copy, .filter{text-transform:uppercase; letter-spacing:.1em; font-size:13px; font-weight:800}
.copy{padding:8px 14px}
.addr{background:rgba(0,0,0,.5); border-color:var(--edge); border-left:2px solid var(--hue-lit); box-shadow:var(--frame)}
.search{background:rgba(0,0,0,.5)}
.search:focus{border-color:var(--hue-lit); box-shadow:inset 0 0 0 1px var(--hue-lit)}
.filter.on{background:color-mix(in srgb, var(--hue) 22%, transparent); border-color:var(--hue-lit); color:#fff}
.cmd{background:var(--iron); border-color:var(--edge); border-left:2px solid color-mix(in srgb, var(--hue-lit) 35%, transparent); box-shadow:var(--frame)}
@media (hover:hover){ .cmd:hover{border-color:var(--edge); border-left-color:var(--hue-lit)} }
.chip.next{background:color-mix(in srgb, var(--hue) 25%, transparent)}
.step::before{background:rgba(0,0,0,.4); box-shadow:var(--frame)}

/* --- главная: проекты и выбор языка --- */
.project{background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.25)); border-color:var(--edge); box-shadow:var(--frame)}
.project .p-art{width:54%; opacity:.5}
.project:hover .p-art{opacity:.7}
.lang-big a{background:rgba(0,0,0,.45)}
.lang-big a.on{background:linear-gradient(110deg, rgba(168,32,42,.45), rgba(0,0,0,.45) 70%)}
.hero-art{width:min(56%, 700px); right:-5%; top:-56px; opacity:.72;
  -webkit-mask-image:radial-gradient(62% 64% at 52% 42%, #000 38%, transparent 80%); mask-image:radial-gradient(62% 64% at 52% 42%, #000 38%, transparent 80%)}

/* ---------------------------------------------------------------------------
   PVP, v4.
--------------------------------------------------------------------------- */
body.pvp .hero2{padding-top:40px; gap:28px}
body.pvp .hero2 h1{margin:10px 0 14px}
body.pvp .open-start div{background:linear-gradient(90deg, rgba(255,200,61,.1), rgba(0,0,0,.3) 70%); box-shadow:var(--frame)}

/* карта: рамка с золотыми скобами по углам */
#map .mp-box{position:relative; box-shadow:var(--frame), 0 24px 60px rgba(0,0,0,.55)}
#map .mp-box::after{content:""; position:absolute; inset:0; pointer-events:none; z-index:1; --sc:rgba(216,50,60,.9);
  background:
    linear-gradient(var(--sc), var(--sc)) 0 0 / 22px 2px no-repeat, linear-gradient(var(--sc), var(--sc)) 0 0 / 2px 22px no-repeat,
    linear-gradient(var(--sc), var(--sc)) 100% 0 / 22px 2px no-repeat, linear-gradient(var(--sc), var(--sc)) 100% 0 / 2px 22px no-repeat,
    linear-gradient(var(--sc), var(--sc)) 0 100% / 22px 2px no-repeat, linear-gradient(var(--sc), var(--sc)) 0 100% / 2px 22px no-repeat,
    linear-gradient(var(--sc), var(--sc)) 100% 100% / 22px 2px no-repeat, linear-gradient(var(--sc), var(--sc)) 100% 100% / 2px 22px no-repeat}
#map .mp-layer{background:rgba(0,0,0,.4)}

/* карточка вайпа: арт крупнее и уходит за край, цифры отсчёта — монументом */
body.pvp .wipe{--cut:18px; padding:30px 30px 26px; background:radial-gradient(120% 140% at 100% 0, rgba(200,30,45,.3), transparent 60%), linear-gradient(180deg, #160c0e, #0a0607)}
body.pvp .wipe-art{height:185%; top:-70px; right:-110px; opacity:.5}
body.pvp .wipe .date{font-size:54px; letter-spacing:.005em; text-shadow:0 4px 24px rgba(0,0,0,.9)}
body.pvp .wipe .day{color:#cbbdb2; text-shadow:0 1px 10px rgba(0,0,0,.9)}
body.pvp .wipe #countdown{flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:16px}
body.pvp .wipe #countdown .cd-l{font:800 13px/1 Manrope, sans-serif; letter-spacing:.22em; text-transform:uppercase; color:#ff8a90}
body.pvp .wipe #countdown .cd-t{flex-basis:100%; font:500 46px/1 "JetBrains Mono", monospace; color:#fff; letter-spacing:-.01em;
  -webkit-text-stroke:1px #fff; text-shadow:0 0 22px rgba(255,50,62,.6); font-variant-numeric:tabular-nums}

/* дорога: ромбы вместо точек, прямые углы, скобы на углах остановки */
body.pvp .road:before{width:2px; left:7px}
body.pvp .stop{border-radius:0; background:var(--iron); box-shadow:var(--frame)}
body.pvp .stop:before{border-radius:0; transform:rotate(45deg)}
body.pvp .stop::after{content:""; position:absolute; inset:-1px; pointer-events:none; --sc:rgba(216,50,60,.85);
  background:
    linear-gradient(var(--sc), var(--sc)) 0 0 / 16px 2px no-repeat, linear-gradient(var(--sc), var(--sc)) 0 0 / 2px 16px no-repeat,
    linear-gradient(var(--sc), var(--sc)) 100% 100% / 16px 2px no-repeat, linear-gradient(var(--sc), var(--sc)) 100% 100% / 2px 16px no-repeat}
body.pvp .stop.key{background:linear-gradient(90deg, rgba(255,200,61,.1), rgba(0,0,0,.2) 55%)}
body.pvp .stop.key::after{--sc:#ffc83d}
body.pvp .stop.kit{background:linear-gradient(90deg, rgba(80,200,120,.09), rgba(0,0,0,.2) 55%)}
body.pvp .stop.kit::after{--sc:#5fd38a}
body.pvp .stop .t{font-size:44px}

/* боссы — трофеи в квадратной рамке */
body.pvp .bosses{gap:16px}
body.pvp .boss{width:90px; font-weight:700; letter-spacing:.02em}
body.pvp .boss img{width:80px; height:80px; border-radius:0; padding:3px; border:1px solid #a3242e; background:#0b0708;
  outline:1px solid rgba(216,50,60,.3); outline-offset:3px; margin-bottom:9px; box-shadow:0 8px 20px rgba(0,0,0,.6)}
body.pvp .boss.fin img{border-color:#ffc83d; outline-color:rgba(255,200,61,.4); box-shadow:0 0 18px rgba(255,200,61,.22)}
body.pvp .feat .ico{border-radius:0; padding:2px; outline:1px solid rgba(216,50,60,.3); outline-offset:3px; margin:3px 3px 8px 14px}

/* экономика, ивенты */
body.pvp .spend{background:radial-gradient(90% 110% at 100% 0, rgba(255,200,61,.12), transparent 60%), var(--iron)}
body.pvp .spend::after, body.pvp .art-deal{--cc:#ffc83d}
body.pvp .art-deal{border-radius:0; border-left:2px solid #ffc83d}
body.pvp .er .v{font-size:32px}
body.pvp .er .v.sm{font-size:21px}
body.pvp .next-hot{background:radial-gradient(80% 140% at 0% 0%, rgba(168,32,42,.5), transparent 60%), linear-gradient(110deg, #22080c, #0f0809 60%, #0a0708);
  box-shadow:var(--frame)}
body.pvp .next-hot::after{left:-1px; right:-1px; height:auto; opacity:1; --cc:#ff4b55}
body.pvp .next-hot .n{text-transform:uppercase; font-family:Cinzel, "Cormorant Garamond", serif; letter-spacing:.01em}
body.pvp .next-hot .cd{-webkit-text-stroke:1px #fff}
body.pvp .feat .wide{background:radial-gradient(90% 120% at 0 0, rgba(200,30,45,.2), transparent 60%), var(--iron)}

@media (max-width: 760px){
  section{padding:60px 0}
  .sec-head::after{font-size:84px; top:0; transform:none; -webkit-text-stroke-color:rgba(255,255,255,.06)}
  body.pvp .wipe{padding:24px 22px}
  body.pvp .wipe .date{font-size:42px}
  body.pvp .wipe #countdown{font-size:inherit}
  body.pvp .wipe #countdown .cd-t{font-size:34px}
  body.pvp .stop .t{font-size:36px}
  .btn{padding:13px 18px; letter-spacing:.1em}
}
