/* Внутрисайтовые игры по каталогу: турнир на выбывание и «собери топ вслепую».
   Палитра сайта: фон #0b1120/#111827, бирюза #0bcbc9, красный #fe0c12. */

/* 🩸 «Контейнер едет влево» — настоящая причина (найдена по скриншоту DevTools 04.08).
   `.ast-container` у темы — это FLEX-контейнер, а наш <main> внутри него flex-элемент.
   Flex-элемент по умолчанию ужимается по содержимому (flex-grow:0, basis:auto), поэтому
   main схлопывался до ширины самого широкого блока — кнопки со строкой описания, — а
   `.ns-container` со своим `margin:0 auto` центрировался уже внутри этой узкой полосы.
   Снаружи это выглядело как «страница прижата к левому краю».
   Первая попытка чинить не сработала, потому что я убирал ширину у ВНУТРЕННЕГО блока,
   а сжимался внешний. Лечится растягиванием flex-элемента; правило нарочно привязано
   к двум нашим страницам, чтобы не задеть остальной сайт.
   `min-width:0` обязателен: без него длинное название игры в сетке не даст колонке
   сжаться и вернёт горизонтальную прокрутку. */
.ns-page.ns-turnir-page,
.ns-page.ns-top-page{flex:1 1 100%;width:100%;min-width:0}
.ns-g{--teal:#0bcbc9;--red:#fe0c12;--card:#141d31;--line:rgba(255,255,255,.10);
  --ink:#e8eef9;--dim:#9fb0c8;width:100%}
.ns-g__head h1{margin:0}

/* ---------- общее ---------- */
.ns-g__panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}
.ns-g__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ns-g__btn{appearance:none;cursor:pointer;font:inherit;font-weight:600;color:var(--ink);
  background:#1b2942;border:1px solid var(--line);border-radius:11px;padding:11px 18px;
  transition:border-color .18s ease,background .18s ease,transform .12s ease}
.ns-g__btn:hover{border-color:rgba(11,203,201,.55);background:#20304d}
.ns-g__btn:active{transform:translateY(1px)}
.ns-g__btn--go{background:linear-gradient(135deg,#0bcbc9,#12a5b8);color:#04222b;border-color:transparent}
.ns-g__btn--go:hover{filter:brightness(1.08);background:linear-gradient(135deg,#0bcbc9,#12a5b8)}
.ns-g__btn[disabled]{opacity:.45;cursor:default}
.ns-g__btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.ns-g__hint{color:var(--dim);font-size:14.5px;margin:8px 0 0}
.ns-g__err{color:#ffb3b5;background:rgba(254,12,18,.12);border:1px solid rgba(254,12,18,.35);
  border-radius:10px;padding:10px 13px;margin:12px 0;font-size:14.5px}
.ns-g__meta{color:var(--dim);font-size:14px;font-variant-numeric:tabular-nums}
.ns-g[hidden],.ns-g *[hidden]{display:none!important}

/* ---------- стартовый экран: кнопка и одна строка сути ---------- */
.ns-g__hero{display:flex;flex-direction:column;align-items:center;gap:18px;
  padding:46px 20px 40px;text-align:center}
.ns-g__play{appearance:none;cursor:pointer;font:inherit;font-weight:700;font-size:21px;
  color:#04222b;border:none;border-radius:999px;padding:20px 58px;position:relative;
  background:linear-gradient(135deg,#0bcbc9,#12a5b8);
  box-shadow:0 10px 34px rgba(11,203,201,.30);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.ns-g__play::after{content:'';position:absolute;inset:-4px;border-radius:999px;
  border:2px solid rgba(11,203,201,.55);animation:nsPulse 2.4s ease-out infinite}
.ns-g__play:hover{transform:translateY(-3px) scale(1.02);filter:brightness(1.07);
  box-shadow:0 16px 44px rgba(11,203,201,.42)}
.ns-g__play:active{transform:translateY(0) scale(.99)}
.ns-g__play:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
.ns-g__play-t{position:relative;z-index:1}
@keyframes nsPulse{0%{transform:scale(1);opacity:.75}70%{transform:scale(1.13);opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .ns-g__play::after{animation:none}
  .ns-g__play{transition:none}
}
.ns-g__tag{margin:0;color:var(--dim);font-size:16.5px;max-width:46ch;text-wrap:balance}

/* ---------- текст для поиска: свёрнут, игроку не мешает ---------- */
.ns-g__seo{margin:34px 0 0;border-top:1px solid var(--line);padding-top:14px}
.ns-g__seo>summary{cursor:pointer;list-style:none;color:#9fb0c8;font-size:15px;
  padding:8px 0;display:flex;align-items:center;gap:9px}
.ns-g__seo>summary::-webkit-details-marker{display:none}
.ns-g__seo>summary::before{content:'+';color:#0bcbc9;font-weight:700;font-size:18px;line-height:1}
.ns-g__seo[open]>summary::before{content:'–'}
.ns-g__seo>summary:hover{color:#e8eef9}
.ns-g__seo-in{padding:6px 0 10px;max-width:76ch}
.ns-g__seo-in h2{font-size:19px;margin:22px 0 7px;color:#e8eef9}
.ns-g__seo-in p{margin:0 0 11px;color:#c3cfe2;font-size:15.5px;line-height:1.65}

/* ---------- ТУРНИР ---------- */
.ns-t__head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.ns-t__round{font-size:20px;font-weight:700;color:var(--ink)}
.ns-t__pair{display:grid;grid-template-columns:1fr 64px 1fr;gap:14px;align-items:stretch}
.ns-t__vs{display:grid;place-items:center;color:var(--dim);font-weight:700;font-size:19px}
.ns-t__card{position:relative;display:block;width:100%;text-align:left;cursor:pointer;
  background:var(--card);border:1px solid #334155;border-radius:12px;overflow:hidden;padding:0;
  color:inherit;font:inherit;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ns-t__card:hover{transform:translateY(-4px);border-color:transparent;
  box-shadow:-8px 8px 24px rgba(254,12,18,.25),8px -4px 24px rgba(11,203,201,.30),0 0 0 1px rgba(11,203,201,.50)}
.ns-t__card:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.ns-t__card.is-win{border-color:var(--teal);box-shadow:0 0 0 2px rgba(11,203,201,.6)}
.ns-t__card.is-out{opacity:.35;filter:grayscale(.6)}
.ns-t__img{aspect-ratio:16/9;background-color:#0d1524;background-position:center;
  background-size:cover;background-repeat:no-repeat;display:block}
.ns-t__body{padding:13px 15px 15px;display:block}
.ns-t__body h3{margin:0;font-size:17.5px;line-height:1.3;color:var(--ink);text-wrap:balance}
.ns-t__ru{margin:5px 0 0;color:var(--dim);font-size:14px}
.ns-t__key{position:absolute;top:9px;left:9px;background:rgba(4,12,24,.78);color:var(--dim);
  border:1px solid var(--line);border-radius:7px;padding:2px 8px;font-size:12.5px;font-weight:600}

.ns-t__champ{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:20px;align-items:center}
.ns-t__champ .ns-t__img{border-radius:12px;border:1px solid rgba(11,203,201,.5)}
.ns-t__crown{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);
  font-weight:700;margin:0 0 6px}
.ns-t__champ h2{margin:0 0 6px;font-size:27px;line-height:1.2;text-wrap:balance}

/* ---------- СОБЕРИ ТОП: десять мест личного рейтинга ---------- */
.ns-p__wrap{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:22px;align-items:start}
.ns-p__now{position:sticky;top:16px}
.ns-p__now .ns-t__img{border-radius:11px;margin-bottom:11px}
.ns-p__now h3{margin:0 0 4px;font-size:19px;line-height:1.28;text-wrap:balance}
.ns-p__ask{color:var(--teal);font-weight:600;font-size:15px;margin:10px 0 12px}
.ns-g__btn--skip{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;
  font-size:14.5px;padding:9px 14px}
.ns-g__btn--skip b{background:rgba(11,203,201,.18);color:var(--teal);border-radius:6px;
  padding:1px 8px;font-size:13px}

.ns-p__list,.ns-p__slots{display:flex;flex-direction:column;gap:7px}
.ns-p__slot{display:grid;grid-template-columns:34px 76px 1fr;gap:12px;align-items:center;
  width:100%;text-align:left;font:inherit;min-height:60px;padding:8px 13px 8px 9px;
  border-radius:11px;border:1px dashed rgba(255,255,255,.14);background:#101a2c;color:var(--dim)}
.ns-p__slot--empty{cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}
.ns-p__slot--empty:hover{border-color:var(--teal);background:#152340;color:var(--ink)}
.ns-p__slot--empty:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.ns-p__slot.is-full{border-style:solid;border-color:var(--line);background:var(--card);color:var(--ink)}
.ns-p__rank{font-size:19px;font-weight:700;color:var(--dim);text-align:center;
  font-variant-numeric:tabular-nums}
.ns-p__slot.is-full .ns-p__rank{color:var(--teal)}
.ns-p__thumb{aspect-ratio:16/9;border-radius:7px;background-color:#0d1524;background-position:center;
  background-size:cover;background-repeat:no-repeat;display:block}
.ns-p__slot--empty .ns-p__thumb,.ns-p__slot:not(.is-full) .ns-p__thumb{display:none}
.ns-p__slot--empty,.ns-p__slot:not(.is-full){grid-template-columns:34px 1fr}
.ns-p__put{font-size:14.5px}
.ns-p__name{font-size:15.5px;line-height:1.3;color:var(--ink);min-width:0}
a.ns-p__name{text-decoration:none;border-bottom:1px dashed rgba(11,203,201,.45)}
a.ns-p__name:hover{color:var(--teal)}

.ns-g__score{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 16px}
.ns-g__score b{display:block;font-size:25px;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.15}
.ns-g__score span{color:var(--dim);font-size:13.5px}

/* ---------- итог и повод завести аккаунт ---------- */
.ns-g__after{margin-top:18px}
.ns-g__save{background:linear-gradient(135deg,rgba(11,203,201,.13),rgba(11,203,201,.04));
  border:1px solid rgba(11,203,201,.34);border-radius:12px;padding:15px 17px;margin-top:14px}
.ns-g__save b{color:var(--ink);display:block;margin-bottom:4px;font-size:16px}
.ns-g__save p{margin:0 0 11px;color:var(--dim);font-size:14.5px}
#p-result h2{margin:0 0 6px;font-size:24px;line-height:1.22;text-wrap:balance}

.ns-g__board{margin-top:18px}
.ns-g__board h3{font-size:17px;margin:0 0 8px}
.ns-g__board table{width:100%;border-collapse:collapse;font-size:15px}
.ns-g__board th,.ns-g__board td{text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--line)}
.ns-g__board th{color:var(--dim);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.ns-g__board td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--teal)}

/* ---------- адаптив ---------- */
@media(max-width:860px){
  .ns-p__wrap{grid-template-columns:1fr}
  .ns-p__now{position:static}
  .ns-p__now .ns-t__img{max-width:300px}
  .ns-t__champ{grid-template-columns:1fr}
}
@media(max-width:620px){
  .ns-g__hero{padding:34px 12px 30px}
  .ns-g__play{font-size:19px;padding:17px 44px}
  .ns-g__tag{font-size:15.5px}
  .ns-t__pair{grid-template-columns:1fr;gap:10px}
  .ns-t__body{padding:11px 13px 13px}
  .ns-t__body h3{font-size:16px}
  .ns-p__card{grid-template-columns:60px 1fr auto;gap:10px;padding:8px 11px 8px 8px}
  .ns-p__name{font-size:14.5px}
  .ns-p__val{font-size:15.5px}
}
