/* Общий стиль страниц-документов (соглашение, политика).
   Тёмный фон + центральный блок 1280px + буквы-глифы по бокам (glyphs.js). */
:root{
  /* Палитра согласована с кабинетом (cabinet/src/styles/tokens.css):
     --gold* = --accent*, линии = accent-line. Имена исторические («gold»). */
  --gold:#92B7FF;
  --gold-bright:#BFD4FF;
  --gold-dim:#3B5688;
  --gold-line:rgba(113,163,255,0.55);
  --gold-line-soft:rgba(113,163,255,0.25);
  --text:#DDE0E8;
  --text-soft:#AEB4C2;
  --bg:#000000;
  --font-head:'Onest';
  --font-body:'Onest';
  --content-w:1160px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body),system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* фоновый слой букв (fixed — не скроллится вместе с текстом) */
#symbols{
  position:fixed;inset:0;width:100%;height:100%;
  z-index:0;pointer-events:none;
}
/* мягкое затемнение к вертикальным краям — буквы плавно гаснут */
.vignette{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(130% 85% at 50% 50%, rgba(0,0,0,0) 52%, rgba(0,0,0,0.6) 100%);
}

/* центрирующая колонка */
.wrap{
  position:relative;z-index:2;
  width:min(var(--content-w), 100% - 40px);
  margin:0 auto;
  padding-bottom:90px;
}

/* верхняя панель: слева — назад, справа — кабинет */
.topbar{
  position:sticky;top:0;z-index:5;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 0 16px;
  background:linear-gradient(180deg, rgba(0,0,0,0.9) 55%, rgba(0,0,0,0));
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
}
.btn-back,.account{
  pointer-events:auto;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:11px;
  padding:11px 20px;
  color:var(--text);font-size:15px;letter-spacing:.2px;white-space:nowrap;
  background:linear-gradient(180deg,rgba(23,31,56,0.30),rgba(10,14,26,0.18));
  border:1px solid var(--gold-line-soft);
  border-radius:999px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:.25s ease;
}
.btn-back:hover,.account:hover{border-color:var(--gold-bright);color:#fff;}
.btn-back svg{width:18px;height:18px;color:var(--gold);transition:transform .25s ease;}
.btn-back:hover svg{transform:translateX(-4px);}
.account .ico{width:18px;height:18px;color:var(--gold);}
.account .chev{width:13px;height:13px;color:var(--gold);}

/* раскладка: колонка текста (слева, читаемая мера строки) + оглавление (справа) */
.layout{position:relative;margin-top:clamp(34px,5vw,64px);}
/* центральный блок с текстом (без подложки — прямо на фоне), строго по центру */
.doc{max-width:720px;margin:0 auto;padding:0;}
.doc-h1{
  max-width:720px;margin:0 auto;
  font-family:var(--font-head),system-ui,sans-serif;
  font-weight:700;font-size:clamp(30px,3.6vw,48px);
  line-height:1.08;letter-spacing:-.015em;text-wrap:balance;
  background:linear-gradient(118deg,#FFFFFF 0%,#D8E3FB 45%,#9DBDFF 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.doc .updated{margin-top:12px;color:var(--gold-dim);font-size:14px;letter-spacing:.02em;}
.doc .placeholder{
  margin-top:22px;display:inline-block;
  color:var(--gold-dim);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  border:1px dashed var(--gold-line-soft);border-radius:6px;padding:5px 11px;
}
.doc .lead{margin-top:26px;color:#E3E7EC;font-size:clamp(16px,1.25vw,18px);line-height:1.66;}
.doc h2{
  margin-top:clamp(40px,4vw,58px);
  font-family:var(--font-head),system-ui,sans-serif;font-weight:700;
  color:var(--gold);font-size:clamp(19px,1.75vw,23px);letter-spacing:-.005em;
  scroll-margin-top:100px;
}
.doc p{margin-top:16px;color:#C9CED6;font-size:clamp(15px,1.05vw,16.5px);line-height:1.75;}
.doc b{color:#fff;font-weight:600;}
.doc ul{list-style:none;margin:18px 0 0;padding:0;}
.doc li{
  position:relative;padding-left:26px;margin-top:13px;color:#C9CED6;
  font-size:clamp(15px,1.05vw,16.5px);line-height:1.7;
}
.doc li::before{
  content:"";position:absolute;left:0;top:.75em;
  width:14px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold),rgba(113,163,255,.12));
}
.doc .doc-note{margin-top:38px;color:var(--gold-dim);font-size:13px;line-height:1.6;}
.doc a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-line-soft);}
.doc a:hover{border-color:var(--gold);}

/* оглавление (правая колонка) */
.toc{
  position:fixed;top:112px;
  right:max(28px, calc((100vw - 1320px)/2));   /* в правом поле, с зазором от колонки */
  width:200px;z-index:4;
}
.toc-title{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-dim);font-weight:600;margin-bottom:12px;
}
.toc a{
  display:block;text-decoration:none;color:var(--text-soft);
  font-size:13px;line-height:1.35;
  padding:7px 0 7px 14px;border-left:2px solid rgba(113,163,255,.14);
  transition:color .2s ease,border-color .2s ease;
}
.toc a:hover{color:var(--gold);}
.toc a.active{color:#EFF2F9;border-left-color:var(--gold);}

/* планшет/телефон: оглавление не плавает справа, а идёт блоком под заголовком */
@media (max-width:1200px){
  .toc{
    position:static;width:auto;max-width:720px;
    margin:22px auto 4px;padding:14px 18px;
    border:1px solid var(--gold-line-soft);border-radius:14px;
    background:rgba(20,26,44,.30);
  }
  .toc a{border-left-color:transparent;}
  .toc a.active{border-left-color:var(--gold);}
}

@media (max-width:640px){
  .wrap{width:min(var(--content-w), 100% - 24px);}
  .btn-back,.account{padding:10px 15px;font-size:14px;gap:8px;}
  .account .lbl{display:none;}   /* на телефоне «Личный кабинет» — только иконка */
}
