/* ============================================================
   КАТЯ РЕПЕТ — страницы предметов и документы в оформлении
   новой главной (landing.css). Слой поверх styles.css: берёт
   его тёмную тему (страница ставит data-theme="dark" сама)
   и перекрашивает в синий мир слайдов — сияющий фон, Unbounded
   в заголовках, салатовые метки, белые и салатовые карточки.
   Таблицы, расписания и графики программ остаются на тёмных
   панелях: для них тёмная тема уже продумана.
   ============================================================ */

@font-face{font-family:"Unbounded";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/unbounded-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/unbounded-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}

/* ---------- ТОКЕНЫ (перекрывают тёмную тему styles.css) ---------- */
:root[data-theme]{
  color-scheme:dark;
  --navy-1:#061c4d;
  --navy-2:#0a2f7d;
  --blue:#1160e0;
  --lime:#b6e654;
  --lime-hi:#c8f06c;
  --ink-dark:#0d1b33;
  --display:"Unbounded","Arial Black","Helvetica Neue",Arial,sans-serif;

  --bg:#07215a;
  --bg-soft:#0a2a6b;
  --surface:rgba(6,20,58,.78);
  --surface-2:rgba(255,255,255,.05);
  --ink:#ffffff;
  --ink-2:#d3def6;
  --ink-3:#a9bbe0;
  --line:rgba(255,255,255,.14);
  --line-soft:rgba(255,255,255,.08);
  --brand:#2b7bf5;
  --brand-ink:#b6e654;
  --on-brand-ink:#0d1b33;
  --chip:rgba(255,255,255,.08);
  --glass-line:rgba(255,255,255,.14);
  --shadow:0 18px 40px -12px rgba(2,11,36,.55);
  --shadow-lg:0 30px 60px -16px rgba(2,11,36,.6);
  --radius:24px;
  --radius-lg:32px;
  --deep-1:#0a2f7d;
  --deep-2:#061c4d;
  --on-deep-2:#c6d8ff;
}

/* Белые карточки: внутри свои «чернила», как на главной */
.review,.plan:not(.plan--featured),.card:not(.card--lime):not(.card--accent),.faq details,
.enroll,.cookie,.prog-facts li,.legal{
  --ink:#0d1b33;
  --ink-2:#3d4c68;
  --ink-3:#5d6c88;
  --line:#e0e7f6;
  --line-soft:#eef2fb;
  --surface:#ffffff;
  --surface-2:#f5f8ff;
  --brand-ink:#1160e0;
  --on-brand-ink:#ffffff;
  --chip:#eef4ff;
  --glass-line:rgba(11,73,184,.1);
  color:var(--ink);
}

/* ---------- ФОН ---------- */
body{background:#04153a;color:var(--ink)}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(111deg,#04153a 12%,#082566 46%,#0c4bbb 100%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(130% 90% at 85% 0%,#000 0%,rgba(0,0,0,.45) 45%,transparent 78%);mask-image:radial-gradient(130% 90% at 85% 0%,#000 0%,rgba(0,0,0,.45) 45%,transparent 78%)}
main{overflow-x:clip}
.section--tint,.section--dark,.hero,.hero--math{background:transparent}
.section--dark{overflow:visible}
.hero::before,.hero::after{content:"";position:absolute;z-index:0;pointer-events:none;border-radius:50%}
.hero::before{width:1200px;aspect-ratio:1;right:-520px;top:-700px;background:radial-gradient(closest-side,rgba(55,213,255,.3),transparent)}
.hero::after{width:1100px;aspect-ratio:1;left:-560px;bottom:-640px;background:radial-gradient(closest-side,rgba(123,92,255,.34),transparent)}
.decor .spark,.decor .orb,.fig--art,.pick::after{display:none}

/* ---------- ТИПОГРАФИКА ---------- */
h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;text-wrap:balance;text-shadow:0 6px 24px rgba(0,0,0,.25)}
h1{font-size:clamp(30px,4.6vw,60px);line-height:1.06}
h2{font-size:clamp(26px,3.4vw,48px);line-height:1.1}
.review h2,.plan h2,.card h2,.legal h2{text-shadow:none}
.hl,.hl--blue{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--lime)}
.eyebrow,.hero .eyebrow,.lead__text .eyebrow{background:var(--lime);color:var(--ink-dark);border-color:transparent;letter-spacing:.12em}
.section__lead{color:var(--ink-2)}
.subhead{font-family:var(--display);font-weight:700;letter-spacing:-.02em}

/* ---------- КНОПКИ ---------- */
.btn--accent{background:var(--lime);color:var(--ink-dark);box-shadow:0 14px 34px rgba(182,230,84,.28)}
.btn--accent:hover{background:var(--lime-hi)}
.btn--outline:hover{color:var(--on-brand-ink)}
.btn--ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.34)}

/* ---------- ШАПКА ---------- */
.header{background:rgba(5,21,58,.72);border-bottom-color:rgba(255,255,255,.08)}
.logo__mark{width:46px;height:46px;border:2px solid #fff;border-radius:50%;background:url(/img/v20/logo-katya.webp) 50% 14%/cover no-repeat;color:transparent;font-size:0;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.logo__text b{display:flex;flex-direction:column;font:900 18px/.92 var(--display);letter-spacing:-.01em;text-transform:uppercase;color:#fff;transform:skewX(-8deg)}
.logo__text b span,.logo--footer .logo__text b span{color:var(--lime);font-style:normal}
.logo__text small{display:none}
.switch{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}
.switch a{color:rgba(255,255,255,.86)}
.switch a:hover{color:#fff}
.switch a.is-active,.switch a.is-active.is-math{background:var(--lime);color:var(--ink-dark);box-shadow:none}
.nav a{color:rgba(255,255,255,.86)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--lime)}
.themetog{display:none}
.burger span{background:#fff}
@media (max-width:1120px){.nav.is-open{background:#06205a;border-bottom-color:rgba(255,255,255,.1)}}

/* ---------- ПЕРВЫЙ ЭКРАН ---------- */
.hero__lead{color:#e3ecff}
.hero__badges li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.stats{background:rgba(255,255,255,.12)}
.stats li{background:rgba(6,25,66,.6)}
.stats b{font-family:var(--display);font-weight:700;letter-spacing:-.02em}

/* ---------- КАРТОЧКИ ---------- */
/* В тёмных разделах styles.css красит h3 и p в белый — внутри белых карточек возвращаем чернила */
.section--dark :is(.enroll,.review,.plan:not(.plan--featured),.card:not(.card--lime):not(.card--accent),.faq details) :is(h2,h3){color:var(--ink)}
.section--dark :is(.enroll,.review,.plan:not(.plan--featured),.card:not(.card--lime):not(.card--accent),.faq details) p{color:var(--ink-2)}
.card{border-radius:28px;background-color:var(--surface);box-shadow:var(--shadow)}
.card:hover{border-color:var(--brand)}
.card__icon{background:var(--blue);box-shadow:none}
:root[data-theme] .card--lime{background:var(--lime);border-color:transparent;box-shadow:var(--shadow)}
.card--lime:hover{border-color:transparent}
.card--accent{background:#0d1b33;border:1px solid rgba(255,255,255,.12)}
.teacher{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);box-shadow:none}
.review{box-shadow:var(--shadow)}
.review__top img{border-color:var(--lime)}
.faq details{background-color:#fff}
.contact{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.contact:hover{background:rgba(255,255,255,.12);border-color:var(--lime)}

/* ---------- ТАРИФЫ: главный — салатовый, как «Сотка в кармане» ---------- */
.plan{border-radius:32px}
.plan--featured{background:var(--lime);color:var(--ink-dark);border-color:transparent}
.plan--featured h3,.plan--featured .plan__price b,.plan--featured .ticks b,.plan--featured .ticks li{color:var(--ink-dark)}
.plan--featured .plan__caption,.plan--featured .plan__price span,.plan--featured .plan__note{color:#2d3b17}
.plan--featured .plan__note{border-color:rgba(13,27,51,.25)}
.plan--featured .ticks li::before{background:var(--ink-dark)}
.plan--featured .ticks li::after{border-color:var(--lime)}
.plan--featured .btn--accent{background:var(--ink-dark);color:var(--lime);box-shadow:none}
.plan--featured .btn--accent:hover{background:#1b2c4f}
.plan__label{background:var(--ink-dark);color:var(--lime)}
.plan__price b{font-family:var(--display);letter-spacing:-.03em}

/* ---------- СТРАНИЦЫ ПРОГРАММ ---------- */
body .prog-facts b{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--blue);font-family:var(--display);font-weight:800}
body .prog-toc a:hover{color:#fff}

/* ---------- ДОКУМЕНТЫ: лист на синем фоне ---------- */
.legal{max-width:960px;padding:clamp(24px,4vw,56px);border-radius:32px;background:#fff;box-shadow:var(--shadow-lg)}
.legal h2{font-family:var(--display);color:var(--ink)}
.legal .req{background:#f5f8ff}
.legal a{color:var(--brand-ink)}

/* ---------- ПОДВАЛ, КНОПКА TELEGRAM, COOKIE ---------- */
.footer{background:rgba(3,12,36,.55);border-top:1px solid rgba(255,255,255,.08)}
.fab{background:var(--lime);color:var(--ink-dark);border-color:transparent;box-shadow:0 16px 36px rgba(2,11,36,.45)}
.fab:hover{box-shadow:0 20px 44px rgba(2,11,36,.55)}
.cookie{background:#fff;border-color:transparent;border-radius:24px}

@media print{
  body::before,body::after{display:none}
  body{background:#fff;color:#000}
}

/* ---------- ЖИВОЙ ФОН (bg.js) ---------- */
.livebg{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.aurora{position:fixed;z-index:-1;width:70vmax;aspect-ratio:1;border-radius:50%;pointer-events:none;will-change:transform}
.aurora--a{left:-26vmax;top:-22vmax;background:radial-gradient(closest-side,rgba(55,213,255,.2),transparent);animation:aurora-a 26s ease-in-out infinite alternate}
.aurora--b{right:-30vmax;bottom:-32vmax;background:radial-gradient(closest-side,rgba(123,92,255,.26),transparent);animation:aurora-b 34s ease-in-out infinite alternate}
@keyframes aurora-a{to{transform:translate(36vw,34vh) scale(1.2)}}
@keyframes aurora-b{to{transform:translate(-40vw,-38vh) scale(.85)}}
@media (prefers-reduced-motion:reduce){.aurora{animation:none}}
@media print{.livebg,.aurora{display:none}}
