/* party2play.ru. Токены перенесены из макета Claude Design («Ginger Cat Landing») один в один. */

@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oswald";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/oswald-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Oswald";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/oswald-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink-900:#04070F;--ink-850:#070B18;--ink-800:#0A0F20;--ink-700:#111831;--ink-600:#1A2340;--ink-500:#2A355A;--ink-400:#4A5578;
  --cream-050:#FFFDF6;--cream-100:#F3EFE3;--mist-300:#B9C2D8;--mist-500:#7C88A6;
  --ginger-300:#FFD07A;--ginger-400:#FDA92D;--ginger-500:#F58A0E;--ginger-600:#EC6F07;--ginger-700:#B94F02;
  --dota-blue:#2E8BFF;--dota-blue-deep:#0B4FA8;--dota-red:#E0402B;--dota-red-bright:#FD5C28;
  --deadlock-green:#C6F03A;--deadlock-green-deep:#4F7A18;--deadlock-brass:#B98C3C;--deadlock-pale:#E2E39B;
  --cs-orange:#F2913A;--cs-orange-deep:#B95C10;--cs-steel:#8C97A6;--cs-steel-deep:#39424F;
  --telegram:#229ED9;--telegram-light:#4FB8E8;

  --bg-page:var(--ink-900);--border-hairline:var(--ink-600);--border-strong:var(--ink-500);
  --text-heading:var(--cream-050);--text-body:var(--mist-300);--text-muted:var(--mist-500);--text-on-accent:#1A0E00;
  --accent:var(--ginger-400);--accent-hover:var(--ginger-300);--focus-ring:var(--ginger-300);--discord:#5865F2;

  --game-glow:var(--ginger-400);--game-accent:var(--ginger-400);--game-accent-2:var(--ginger-600);

  --font-display:"Oswald","Arial Narrow",sans-serif;
  --font-body:"Manrope","Helvetica Neue",Arial,sans-serif;
  --fs-h1:clamp(28px,5vw,44px);--fs-h3:20px;--fs-body-lg:18px;--fs-body:16px;--fs-body-sm:14px;--fs-caption:12px;--fs-eyebrow:13px;--fs-stat:clamp(30px,5vw,46px);
  --lh-heading:1.06;--lh-body:1.6;--ls-eyebrow:.34em;--ls-button:.06em;

  --sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;
  --section-y:clamp(56px,9vw,120px);--gutter:clamp(16px,4vw,40px);--container:1200px;--container-narrow:840px;

  --radius-xs:8px;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-xl:40px;--radius-pill:999px;
  --shadow-sm:0 2px 8px rgba(0,0,0,.45);--shadow-card:0 18px 40px -12px rgba(0,0,0,.72);--shadow-lift:0 28px 60px -16px rgba(0,0,0,.8);
  --glow-sm:0 0 18px -2px color-mix(in srgb,var(--game-glow) 55%,transparent);
  --glow-md:0 0 42px -6px color-mix(in srgb,var(--game-glow) 65%,transparent);
  --glow-text:0 0 24px color-mix(in srgb,var(--game-glow) 45%,transparent);
  --wash-radial:radial-gradient(60% 60% at 50% 40%,color-mix(in srgb,var(--game-glow) 22%,transparent) 0%,transparent 70%);
  --wash-card:linear-gradient(160deg,color-mix(in srgb,var(--game-glow) 12%,var(--ink-800)) 0%,var(--ink-900) 72%);

  --ease-out:cubic-bezier(.22,.9,.28,1);--dur-fast:120ms;--dur-base:220ms;--dur-slow:420ms;--dur-reveal:640ms;
}
[data-game="dota2"]{--game-glow:var(--dota-blue);--game-accent:var(--dota-blue);--game-accent-2:var(--dota-red)}
[data-game="deadlock"]{--game-glow:var(--deadlock-green);--game-accent:var(--deadlock-green);--game-accent-2:var(--deadlock-brass)}
[data-game="cs2"]{--game-glow:var(--cs-orange);--game-accent:var(--cs-orange);--game-accent-2:var(--cs-steel)}

/* ---------- База ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);text-transform:uppercase;font-weight:700;line-height:var(--lh-heading);letter-spacing:.01em;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
a:not(.btn):not(.card):hover{color:var(--accent-hover)}
img{max-width:100%;height:auto;display:block}
ul{margin:0}
::selection{background:var(--ginger-400);color:var(--text-on-accent)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-xs)}
section[id]{scroll-margin-top:80px}
.i{flex:0 0 auto;display:inline-block}
.skip{position:absolute;left:-9999px;top:12px;z-index:100;padding:8px 14px;border-radius:var(--radius-xs);background:var(--accent);color:var(--text-on-accent)}
.skip:focus{left:16px}
.accent{color:var(--ginger-400);text-shadow:0 0 34px rgba(253,169,45,.45)}
body[data-game] .accent{color:var(--game-accent);text-shadow:0 0 34px color-mix(in srgb,var(--game-glow) 45%,transparent)}

/* ---------- Раскладка ---------- */
.wrap{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.section--alt{background:var(--ink-850);border-block:1px solid var(--border-hairline)}
.grid{display:grid;gap:var(--sp-5);grid-template-columns:minmax(0,1fr)}
.mt-10{margin-top:var(--sp-10)}
.mt-12{margin-top:var(--sp-12)}
@media(min-width:720px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- Появление ---------- */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.rise{animation:rise var(--dur-reveal) var(--ease-out) both;animation-delay:var(--d,0ms)}
.float{animation:float 7s ease-in-out infinite}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity var(--dur-reveal) var(--ease-out) var(--d,0ms),transform var(--dur-reveal) var(--ease-out) var(--d,0ms)}
.js .reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rise,.float,.badge__dot{animation:none}
  .js .reveal{opacity:1;transform:none;transition:none}
}

/* ---------- Шапка ---------- */
.nav{position:sticky;top:0;z-index:40;border-bottom:1px solid transparent;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.nav.is-solid{background:color-mix(in srgb,var(--ink-900) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--border-hairline)}
.nav__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);height:74px}
.brand{display:flex;align-items:center;gap:12px;color:var(--text-heading)}
.brand:hover{color:var(--text-heading)!important}
.brand img{width:42px;height:42px;border-radius:12px;border:2px solid var(--ink-700)}
.brand span{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.nav__links{display:none}
.nav__links a{color:var(--text-body);font-family:var(--font-display);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.1em}
.nav__links a[aria-current="page"]{color:var(--game-accent)}
@media(min-width:1000px){.nav__links{display:flex;gap:var(--sp-6)}}

/* ---------- Кнопки ---------- */
.btn{--btn-glow:0 12px 34px -10px rgba(253,169,45,.7);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-button);line-height:1;padding:14px 26px;font-size:15px;min-height:48px;border-radius:var(--radius-pill);border:2px solid transparent;background:var(--accent);color:var(--text-on-accent);cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--btn-glow);filter:brightness(1.08);color:var(--text-on-accent)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn--sm{padding:10px 18px;font-size:13px;min-height:40px}
.btn--lg{padding:18px 36px;font-size:18px;min-height:60px}
.btn--block{display:flex;width:100%}
.btn--discord,.btn--discord:hover{background:var(--discord);color:#fff;--btn-glow:0 10px 30px -8px rgba(88,101,242,.75)}
.btn--telegram,.btn--telegram:hover{background:var(--telegram);color:#fff;--btn-glow:0 10px 30px -8px rgba(34,158,217,.7)}
.btn--game{background:var(--game-accent);--btn-glow:var(--glow-md)}
.btn--secondary,.btn--secondary:hover{background:transparent;color:var(--text-heading);border-color:var(--border-strong);--btn-glow:none}
.btn--secondary:hover{border-color:var(--accent)}
.btn small{font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.04em;opacity:.75}
@media(max-width:480px){.btn--lg{padding:16px 26px;font-size:16px;min-height:54px}}

/* ---------- Бейджи, подписи ---------- */
.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:var(--radius-pill);background:rgba(255,255,255,.06);color:var(--text-body);border:1px solid var(--border-hairline);font-size:var(--fs-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1;white-space:nowrap}
.badge--live{background:rgba(198,240,58,.14);color:var(--deadlock-green);border-color:rgba(198,240,58,.4)}
.badge--game{background:color-mix(in srgb,var(--game-accent) 16%,var(--ink-900));color:var(--game-accent);border-color:color-mix(in srgb,var(--game-accent) 40%,transparent)}
.badge__dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;animation:pulse 2.4s ease-in-out infinite}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--game-accent);font-family:var(--font-display);font-weight:500;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;line-height:1.3}
.eyebrow::before,.eyebrow::after{content:"";width:22px;height:2px;background:currentColor;opacity:.8;border-radius:2px;flex:0 0 auto}
.eyebrow--ginger{color:var(--ginger-400)}
.eyebrow--tg{color:var(--telegram-light)}

/* ---------- Заголовок секции ---------- */
.heading{display:flex;flex-direction:column;gap:var(--sp-4);align-items:center;text-align:center;max-width:760px;margin:0 auto}
.heading--left{align-items:flex-start;text-align:left;margin:0}
.heading h2{font-size:var(--fs-h1)}
.heading p{font-size:var(--fs-body-lg);max-width:620px}

/* ---------- Первый экран ---------- */
.hero{position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 60% at 20% 10%,rgba(46,139,255,.16) 0%,transparent 60%),radial-gradient(70% 60% at 85% 20%,rgba(253,169,45,.14) 0%,transparent 62%)}
.hero--game::before{background:radial-gradient(80% 60% at 20% 10%,color-mix(in srgb,var(--game-glow) 16%,transparent) 0%,transparent 60%),radial-gradient(70% 60% at 85% 20%,rgba(253,169,45,.10) 0%,transparent 62%)}
.hero__grid{position:relative;display:grid;gap:var(--sp-8);grid-template-columns:minmax(0,1fr);align-items:center;padding-block:clamp(24px,5vw,72px) var(--section-y)}
.hero__art{position:relative;width:100%;max-width:min(380px,64vw);justify-self:center}
.hero__art::before{content:"";position:absolute;inset:-18%;background:var(--wash-radial);filter:blur(10px);pointer-events:none}
.hero__art::after{content:"";position:absolute;left:50%;top:54%;width:78%;height:70%;transform:translate(-50%,-50%);border-radius:50%;background:color-mix(in srgb,var(--ginger-400) 34%,transparent);filter:blur(70px);pointer-events:none}
.hero__art img{position:relative;z-index:1;width:100%;border-radius:var(--radius-xl);border:3px solid var(--ink-900);box-shadow:var(--shadow-lift),0 0 90px -20px rgba(46,139,255,.55)}
.hero__art--game{max-width:min(440px,70vw)}
.hero__art--game::after{background:color-mix(in srgb,var(--game-glow) 28%,transparent)}
.hero__art--game img{border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 22px 34px rgba(0,0,0,.65))}
.hero__text{display:flex;flex-direction:column;gap:var(--sp-6);align-items:flex-start}
.hero h1{font-size:clamp(38px,7vw,72px);line-height:1.02;max-width:620px}
.hero--game h1{font-size:clamp(34px,5.4vw,60px)}
.hero__lede{font-size:var(--fs-body-lg);max-width:540px}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center}
.crumbs{display:flex;gap:8px;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--text-muted)}
.crumbs a{color:var(--text-muted)}
.stats{display:flex;flex-wrap:wrap;gap:var(--sp-8) var(--sp-10);margin-top:var(--sp-4);padding-top:var(--sp-6);border-top:1px solid var(--border-hairline);width:100%}
.stat{display:flex;flex-direction:column;gap:2px}
.stat__n{font-family:var(--font-display);font-weight:700;font-size:var(--fs-stat);line-height:1;color:var(--text-heading);font-variant-numeric:tabular-nums}
.stat__l{font-size:var(--fs-caption);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-weight:600}
@media(max-width:999px){.hero__art{order:-1}}
@media(min-width:1000px){.hero__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:var(--sp-12)}}

/* ---------- Приглашение в стиле Discord (первый экран страницы игры) ---------- */
.invite{width:100%;max-width:560px;padding:16px;border-radius:var(--radius-sm);background:#2B2D31;box-shadow:var(--shadow-card)}
.invite__label{display:block;margin-bottom:12px;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#B5BAC1}
.invite__row{display:flex;align-items:center;gap:16px}
.invite__icon{width:56px;height:56px;flex:0 0 auto;border-radius:16px}
.invite__info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.invite__name{color:#F2F3F5;font-size:16px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invite__presence{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;line-height:1.3;color:#B5BAC1}
.presence{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.presence i{width:8px;height:8px;border-radius:50%;background:#80848E}
.presence--online i{background:#23A55A}
.presence--new i{background:var(--game-accent)}
.btn--join,.btn--join:hover{background:#248046;color:#fff;--btn-glow:0 10px 30px -8px rgba(36,128,70,.75);font-family:var(--font-body);font-weight:600;font-size:14px;text-transform:none;letter-spacing:0;min-height:40px;padding:10px 20px;border-radius:var(--radius-xs);flex:0 0 auto}
@media(max-width:520px){.invite__row{flex-wrap:wrap}.btn--join{width:100%}}

/* ---------- Карточки ---------- */
.card{position:relative;border-radius:var(--radius-lg);background:var(--wash-card);border:1px solid var(--border-hairline);box-shadow:var(--shadow-card),var(--glow-sm);overflow:hidden;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-slow) var(--ease-out),border-color var(--dur-base) var(--ease-out),opacity var(--dur-reveal) var(--ease-out)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift),var(--glow-md);border-color:color-mix(in srgb,var(--game-glow) 45%,transparent)}
.server{display:flex;flex-direction:column}
.server__art{position:relative;aspect-ratio:16/11;overflow:hidden;border-bottom:1px solid var(--border-hairline)}
.server__art::before{content:"";position:absolute;inset:0;background:var(--wash-radial)}
.server__art::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--ink-900) 2%,transparent 55%)}
.server__art img{position:relative;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.server__badge{position:absolute;top:14px;left:14px;z-index:1}
.server__badge .badge{background:rgba(4,7,15,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.server__body{padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);flex:1}
.server__title{display:flex;flex-direction:column;gap:6px}
.server__title h3{font-size:30px;text-shadow:var(--glow-text)}
.server__body p{font-size:var(--fs-body-sm);flex:1}
.server__more{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:center;font-family:var(--font-display);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--game-accent)}
.server__more:hover{color:var(--text-heading)!important}

.step{position:relative;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);border-radius:var(--radius-lg);background:var(--ink-850);border:1px solid var(--border-hairline);box-shadow:var(--shadow-card)}
.step__n{position:absolute;top:10px;right:20px;font-family:var(--font-display);font-weight:700;font-size:64px;line-height:1;color:var(--ink-700)}
.step__icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);color:var(--accent);position:relative}
body[data-game] .step__icon{background:color-mix(in srgb,var(--game-accent) 14%,transparent);border-color:color-mix(in srgb,var(--game-accent) 34%,transparent);color:var(--game-accent)}
.step h3{font-size:var(--fs-h3);position:relative}
.step p{font-size:var(--fs-body-sm)}

.tile{--tile-accent:var(--accent);display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-6);border-radius:var(--radius-lg);background:var(--ink-800);border:1px solid var(--border-hairline);box-shadow:var(--shadow-sm);transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),opacity var(--dur-reveal) var(--ease-out)}
body[data-game] .tile{--tile-accent:var(--game-accent)}
.tile:hover{background:var(--ink-700);border-color:color-mix(in srgb,var(--tile-accent) 40%,transparent);box-shadow:var(--shadow-lift);transform:translateY(-4px)}
.tile>.i{color:var(--tile-accent)}
.tile h3{font-size:17px}
.tile p{font-size:var(--fs-body-sm)}
.tile__tag{align-self:flex-start;margin-top:auto}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:var(--sp-3);max-width:var(--container-narrow);margin-inline:auto}
.faq details{border-radius:var(--radius-md);background:var(--ink-850);border:1px solid var(--border-hairline);transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.section--alt .faq details{background:var(--ink-900)}
.faq details[open]{background:var(--ink-800);border-color:color-mix(in srgb,var(--accent) 34%,transparent)}
body[data-game] .faq details[open]{border-color:color-mix(in srgb,var(--game-accent) 34%,transparent)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:18px 20px;cursor:pointer;color:var(--text-heading);font-family:var(--font-display);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{color:var(--text-muted);transition:transform var(--dur-base) var(--ease-out)}
.faq details[open] summary .i{transform:rotate(180deg);color:var(--accent)}
body[data-game] .faq details[open] summary .i{color:var(--game-accent)}
.faq details p{padding:0 20px 20px;font-size:var(--fs-body-sm)}

/* ---------- Принцип и союзник ---------- */
.principle{display:grid;gap:var(--sp-6);grid-template-columns:minmax(0,1fr);align-items:stretch}
.principle__text{display:flex;flex-direction:column;gap:var(--sp-5);align-items:flex-start}
.principle__text h2{font-size:var(--fs-h1)}
.principle__text p{font-size:var(--fs-body-lg);max-width:640px}
.ally{display:flex;flex-direction:column;gap:var(--sp-3);justify-content:center;padding:var(--sp-8);border-radius:var(--radius-lg);background:var(--wash-card);border:1px solid color-mix(in srgb,var(--ginger-400) 30%,transparent);box-shadow:var(--shadow-card),0 0 42px -12px rgba(253,169,45,.45)}
.ally__icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--ginger-400) 14%,transparent);color:var(--ginger-400)}
.ally h3{font-size:22px}
.ally p{font-size:var(--fs-body-sm)}
@media(min-width:900px){.principle{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--sp-12)}}

/* ---------- Telegram ---------- */
.tg{display:grid;gap:var(--sp-8);align-items:center;grid-template-columns:minmax(0,1fr);padding:clamp(24px,4vw,48px);border-radius:var(--radius-xl);background:linear-gradient(160deg,color-mix(in srgb,var(--telegram) 16%,var(--ink-800)) 0%,var(--ink-900) 75%);border:1px solid var(--border-hairline);box-shadow:var(--shadow-card),0 0 60px -20px rgba(34,158,217,.5)}
.tg__text{display:flex;flex-direction:column;gap:var(--sp-5);align-items:flex-start}
.tg__text h2{font-size:var(--fs-h1)}
.tg__text p{font-size:var(--fs-body-lg)}
.tg .accent{color:var(--telegram-light);text-shadow:0 0 34px rgba(34,158,217,.45)}
.tg__list{list-style:none;padding:0;display:grid;gap:var(--sp-3)}
.tg__list li{display:flex;gap:var(--sp-3);align-items:flex-start;padding:14px 16px;border-radius:var(--radius-md);background:rgba(255,255,255,.03);border:1px solid var(--border-hairline);font-size:var(--fs-body-sm);color:var(--text-body)}
.tg__list .i{color:var(--telegram-light);margin-top:1px}
@media(min-width:900px){.tg{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---------- Витрина (картинка бота) ---------- */
.showcase{margin:var(--sp-10) 0 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-hairline);background:var(--ink-850);box-shadow:var(--shadow-card),var(--glow-sm)}
.showcase img{width:100%}
.showcase figcaption{padding:14px 20px;font-size:var(--fs-body-sm);color:var(--text-muted);border-top:1px solid var(--border-hairline)}

/* ---------- Другие сервера ---------- */
.mini{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--radius-lg);color:var(--text-heading)}
.mini__art{width:72px;height:72px;flex:0 0 auto;object-fit:cover;object-position:center 35%;border-radius:var(--radius-sm)}
.mini__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.mini strong{font-family:var(--font-display);font-size:22px;text-transform:uppercase;letter-spacing:.02em;line-height:1.1}
.mini small{font-size:var(--fs-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.mini>.i{color:var(--game-accent)}
.mini--tg{--game-glow:var(--telegram);--game-accent:var(--telegram-light)}
.mini__tgicon{display:grid;place-items:center;background:color-mix(in srgb,var(--telegram) 22%,transparent);color:var(--telegram-light)}

/* ---------- Финал ---------- */
.closing{position:relative;overflow:hidden;text-align:center}
.closing::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 30%,rgba(253,169,45,.18) 0%,transparent 65%);pointer-events:none}
body[data-game] .closing::before{background:radial-gradient(60% 55% at 50% 30%,color-mix(in srgb,var(--game-glow) 16%,transparent) 0%,transparent 65%)}
.closing__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--sp-6)}
.closing h2{font-size:clamp(34px,5.5vw,56px);line-height:1.04;max-width:760px}
.closing p{font-size:var(--fs-body-lg);max-width:520px}
.closing__cta{display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:center}
.closing__art{width:min(320px,64vw);filter:drop-shadow(0 22px 34px rgba(0,0,0,.65)) drop-shadow(0 0 50px color-mix(in srgb,var(--game-glow) 30%,transparent))}
.fan{display:flex;justify-content:center;align-items:flex-end;padding-top:var(--sp-4)}
.fan img{width:min(230px,30vw);filter:drop-shadow(0 22px 30px rgba(0,0,0,.7))}
.fan img:nth-child(1){transform:rotate(-9deg) translate(22%,8%)}
.fan img:nth-child(2){position:relative;z-index:1;transform:translateY(-4%)}
.fan img:nth-child(3){transform:rotate(9deg) translate(-22%,8%)}

/* ---------- Окно выбора сервера ---------- */
.modal{padding:0;border:1px solid var(--border-hairline);border-radius:var(--radius-lg);background:var(--ink-800);color:var(--text-body);box-shadow:var(--shadow-lift);width:min(440px,calc(100% - 32px));max-height:calc(100% - 32px)}
.modal::backdrop{background:rgba(4,7,15,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.modal__box{display:flex;flex-direction:column;align-items:center;gap:var(--sp-5);padding:var(--sp-8);text-align:center}
.modal__cat{width:84px;height:84px;border-radius:var(--radius-md);border:3px solid var(--ink-900)}
.modal h3{font-size:26px}
.modal p{font-size:var(--fs-body-sm)}
.modal__list{display:flex;flex-direction:column;gap:var(--sp-3);width:100%}
.modal__list .btn{justify-content:space-between}
.modal__later{background:none;border:0;color:var(--text-muted);cursor:pointer;font:inherit;font-size:13px}

/* ---------- Подвал ---------- */
.footer{border-top:1px solid var(--border-hairline);background:var(--ink-850)}
.footer__grid{display:grid;gap:var(--sp-8);grid-template-columns:minmax(0,1fr);padding-block:var(--sp-12)}
.footer__brand{display:flex;flex-direction:column;gap:var(--sp-4);max-width:360px}
.footer__brand img{width:130px}
.footer__brand p{font-size:var(--fs-body-sm);color:var(--text-muted)}
.footer h4{font-size:14px;letter-spacing:.14em;color:var(--text-muted);margin-bottom:var(--sp-4)}
.footer ul{list-style:none;padding:0;display:grid;gap:10px}
.footer ul a{color:var(--text-body);font-size:var(--fs-body-sm)}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3) var(--sp-8);padding-block:var(--sp-5);border-top:1px solid var(--border-hairline);font-size:var(--fs-caption);color:var(--text-muted)}
@media(min-width:720px){.footer__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}}

/* ---------- 404 ---------- */
.notfound{display:flex;flex-direction:column;align-items:center;gap:var(--sp-6);text-align:center;min-height:60vh;justify-content:center}
.notfound__cat{width:120px;height:120px;border-radius:var(--radius-lg);border:3px solid var(--ink-700)}
.notfound h1{font-size:clamp(34px,6vw,60px)}
