@font-face{font-family:Evolventa;src:url("/fonts/Evolventa-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Evolventa;src:url("/fonts/Evolventa-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}

:root{
  --raspberry:#fb0266;      /* фон с фото */
  --raspberry-ink:#d1004f;  /* малиновый текст на фоне страницы (5.5:1) */
  --raspberry-deep:#a8003f; /* наведение на ссылку */
  --press:#a8003f;          /* наведение на малиновую кнопку */
  --white:#fff;             /* текст на малиновом */
  --bg:#fff;                /* фон страницы */
  --text:#34051a;
  --blush:#fff0f5;
  --wine:#34051a;
  --rose:#8c4a62;
  --line:#f6cadb;
  --ok:#0f8a4a;
  --font:Evolventa,"Century Gothic","URW Gothic",system-ui,sans-serif;
  --wrap:1120px;
  color-scheme:light;
}
/* тёмная тема: по системной настройке или по кнопке в шапке (data-theme на <html>) */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --raspberry:#e0005c;--raspberry-ink:#ff5c9a;--raspberry-deep:#ff8ab6;--press:#b8004b;
  --bg:#1c0811;--text:#fbeaf1;--blush:#2b0e1b;--rose:#c995ab;--line:#4a1b2f;--ok:#3ecf7e;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --raspberry:#e0005c;--raspberry-ink:#ff5c9a;--raspberry-deep:#ff8ab6;--press:#b8004b;
  --bg:#1c0811;--text:#fbeaf1;--blush:#2b0e1b;--rose:#c995ab;--line:#4a1b2f;--ok:#3ecf7e;
  color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.55 var(--font);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{max-width:100%}
a{color:var(--raspberry-ink);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--raspberry-deep)}
h1,h2,h3{font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0}
p{margin:0 0 .9em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.pixel{image-rendering:pixelated;image-rendering:crisp-edges}
:focus-visible{outline:3px solid var(--text);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--wine);color:#fff;padding:8px 12px;z-index:50}
.skip:focus{left:8px}
[hidden]{display:none!important}

/* ---------- шапка ---------- */
.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:2px solid var(--raspberry)}
.top .wrap{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:40px;width:auto}
.tabs{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none;align-self:stretch;align-items:stretch}
.tabs::-webkit-scrollbar{display:none}
.tabs a{display:flex;align-items:center;padding:0 14px;color:var(--text);text-decoration:none;font-weight:700;font-size:16px;white-space:nowrap;position:relative}
.tabs a:hover{color:var(--raspberry-ink)}
.tabs a[aria-current="page"]{color:var(--white);background:var(--raspberry)}
.pill{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--rose);white-space:nowrap;text-decoration:none}
.pill b{color:var(--text)}
.dot{width:10px;height:10px;border-radius:2px;background:#c9a7b4;flex:none}
.dot.on{background:var(--ok)}
.dot.wait{background:#e0a100}
.theme{flex:none;display:grid;place-items:center;width:40px;height:40px;padding:0;border:2px solid var(--line);background:none;color:var(--text);cursor:pointer}
.theme:hover{border-color:var(--raspberry);color:var(--raspberry-ink)}
.theme svg{width:20px;height:20px}
.theme .sun{display:none}
:root[data-dark] .theme .sun{display:block}
:root[data-dark] .theme .moon{display:none}
@media (max-width:860px){
  .top .wrap{flex-wrap:wrap;height:auto;padding-top:10px;gap:0 16px}
  .brand img{height:34px}
  .pill{margin-left:auto}
  .tabs{order:3;flex-basis:100%;margin:8px -16px 0;padding:0 8px;height:46px}
  .tabs a{padding:0 12px;font-size:15px}
}

/* ---------- малиновое поле (главная и заголовки страниц) ---------- */
.field{background:var(--raspberry);color:var(--white)}
.field a{color:var(--white)}
.hero{padding:56px 0 64px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:center}
.hero .lead{font-size:22px;line-height:1.35;max-width:30ch;margin:0 0 18px;font-weight:700}
.addr{display:block;font:700 clamp(40px,8.4vw,112px)/.95 var(--font);letter-spacing:-.045em;color:var(--white);background:none;border:0;padding:0;margin:0 0 26px;cursor:pointer;text-align:left}
.addr:hover{text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:10px}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-logo{width:min(34vw,383px);height:auto;filter:drop-shadow(0 10px 0 rgba(52,5,26,.18))}
.copied{font-weight:700;font-size:18px}
@media (max-width:760px){
  .hero{padding:36px 0 44px}
  .hero .wrap{grid-template-columns:1fr}
  .hero-logo{order:-1;width:200px}
  .hero .lead{font-size:19px}
}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 18px/1 var(--font);padding:15px 22px;border-radius:0;border:2px solid var(--raspberry);background:var(--raspberry);color:var(--white);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--press);border-color:var(--press);color:var(--white)}
.btn.light{background:var(--white);border-color:var(--white);color:#d1004f}
.btn.light:hover{background:#fff0f5;border-color:#fff0f5;color:#a8003f}
.btn.line{background:transparent;color:var(--white);border-color:var(--white)}
.btn.line:hover{background:rgba(255,255,255,.14)}
.btn.ghost{background:transparent;color:var(--raspberry-ink)}
.btn.ghost:hover{background:var(--blush);color:var(--raspberry-deep)}

/* живой статус */
.live{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:30px;font-size:18px}
.live > span:not(.dot){flex:1 1 220px;min-width:0}
.live .dot{background:rgba(255,255,255,.55)}
.live .dot.on{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.3)}
.heads{display:flex;flex-wrap:wrap;gap:6px}
.heads img{width:32px;height:32px;display:block;border:2px solid var(--white)}

.page-head{padding:44px 0 40px}
.page-head h1{font-size:clamp(40px,6.4vw,76px);letter-spacing:-.04em}
.page-head p{font-size:20px;line-height:1.4;max-width:46ch;margin:14px 0 0}

/* ---------- контент ---------- */
.section{padding:56px 0}
.section + .section{padding-top:0}
.h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:22px}
.muted{color:var(--rose)}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:40px}}

/* шаги: это и правда последовательность */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:22px}
.steps li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start}
.steps li::before{content:counter(s);font:700 24px/48px var(--font);width:48px;height:48px;text-align:center;background:var(--raspberry);color:var(--white)}
.steps b{display:block;font-size:19px;margin:2px 0 3px}
.steps p{margin:0;color:var(--rose)}
code,.code{font-family:var(--font);font-weight:700;color:var(--text);background:var(--blush);padding:1px 6px;white-space:nowrap}

/* новости */
.news{display:grid;gap:0}
.news article{padding:22px 0;border-top:2px solid var(--line)}
.news article:last-child{border-bottom:2px solid var(--line)}
.news time{display:block;color:var(--rose);font-size:15px;margin-bottom:6px}
.news h3{font-size:24px;margin-bottom:10px;letter-spacing:-.015em}
.news .body p:last-child{margin-bottom:0}
.news.short .body{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-full article{padding:34px 0}
.news-full h3{font-size:clamp(26px,3.2vw,34px)}
.news-full .body{max-width:68ch;font-size:18px}
.by{color:var(--rose);font-size:15px;margin-top:12px}
.empty{color:var(--rose);padding:20px 0}

/* значок ранга: полоска кадров из ресурспака */
.badge{display:block;width:128px;height:35px;background-repeat:no-repeat;background-size:auto 100%;image-rendering:pixelated;flex:none}
.badge.anim{animation:badge var(--dur) steps(var(--n)) infinite}
@keyframes badge{from{background-position:0 0}to{background-position:calc(-128px * var(--n)) 0}}
.badge.x2{width:256px;height:70px}
.badge.x2.anim{animation-name:badge2}
@keyframes badge2{from{background-position:0 0}to{background-position:calc(-256px * var(--n)) 0}}
@media (prefers-reduced-motion:reduce){.badge.anim{animation:none}}

.strip{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ранги */
.ladder{list-style:none;margin:0;padding:0}
.rank{display:grid;grid-template-columns:256px minmax(0,1fr) minmax(0,260px);gap:20px 36px;align-items:center;padding:28px 0;border-top:2px solid var(--line)}
.rank:last-child{border-bottom:2px solid var(--line)}
.rank h2{font-size:28px;margin-bottom:6px}
.rank .gives{margin:0;padding-left:20px}
.rank .gives li{margin:2px 0}
.rank .nick{font-weight:700;padding:3px 10px;background:#3b3b3b;display:inline-block;margin-top:10px;font-size:15px}
.rank .who{display:flex;flex-direction:column;gap:8px}
.rank .who a,.rank .who span.p{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text);text-decoration:none}
.rank .who img{width:28px;height:28px}
.rank .plain{width:256px;font:700 32px/70px var(--font);color:var(--rose);text-align:center;border:3px solid var(--line)}
@media (max-width:860px){
  .rank{grid-template-columns:1fr}
}

/* о сервере */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border-top:2px solid var(--line)}
.facts div{padding:18px 18px 18px 0;border-bottom:2px solid var(--line)}
.facts dt{color:var(--rose);font-size:15px}
.facts dd{margin:4px 0 0;font-weight:700;font-size:22px;letter-spacing:-.01em}
.addrs{display:grid;gap:0}
.addrs > div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:center;padding:18px 0;border-top:2px solid var(--line)}
.addrs > div:last-child{border-bottom:2px solid var(--line)}
.addrs .a{font-weight:700;font-size:clamp(20px,2.6vw,26px);letter-spacing:-.02em;overflow-wrap:anywhere}
.addrs .w{color:var(--rose);grid-column:1}
.addrs button{grid-row:1 / span 2;grid-column:2}
@media (max-width:560px){.addrs > div{grid-template-columns:1fr}.addrs button{grid-row:auto;grid-column:1;justify-self:start}}
.rules{margin:0;padding-left:22px}
.rules li{margin:0 0 10px;padding-left:4px}
.prose{max-width:66ch}

/* карта */
.mapbox{position:relative;height:calc(100vh - 66px);min-height:420px;background:var(--blush)}
.mapbox iframe{border:0;width:100%;height:100%;display:block}
.mapbar{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding:12px 0}
.mapbar p{margin:0}
.mapoff{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center}
.mapoff h2{font-size:clamp(28px,4vw,44px);margin-bottom:12px}
.mapoff p{max-width:44ch;margin:0 auto 18px;color:var(--rose)}
@media (max-width:860px){.mapbox{height:calc(100vh - 120px)}}

/* подвал */
.foot{border-top:2px solid var(--raspberry);padding:26px 0 30px;font-size:15px;color:var(--rose)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;align-items:center}
.foot p{margin:0}
