/* ExamDGT landing: токены и типографика кита (dgt.css 1–153, [data-theme=day]), плитки тарифов, стили посадочной (landing.css, раунд 14). Источник — kit-round13-14; не править руками. */
/* src/tokens/tokens.css */
:root,
[data-theme=night] {
  --bg: #0e141b;
  --surface: #17202a;
  --surface-raised: #212c38;
  --surface-pressed: #2a3644;
  --border: #26313d;
  --border-strong: #5e6d7d;
  --text: #eef3f8;
  --text-secondary: #9eadbd;
  --text-tertiary: #8396aa;
  --accent: #f3b13e;
  --accent-fill: var(--accent);
  --on-accent: #1a1206;
  --accent-subtle: #2e2614;
  --success: #4cd08f;
  --success-subtle: #122a20;
  --danger: #ff7468;
  --danger-subtle: #331b1c;
  --warning: var(--accent);
  --warning-subtle: var(--accent-subtle);
  --streak: var(--accent);
  --on-streak: var(--on-accent);
  --word-active: #ebd3a3;
  --word-active-subtle: #2c2617;
  /* Round 10 п.3: the Russian translation shown in place while the word sheet is open */
  --word-gloss: oklch(0.80 0.10 240);
  /* Round 10 п.10: «Знаю» — between «Учу» (accent) and «Выучил» (success) */
  --known: #80c7f8;
  /* Round 12: level colours, cold → gold (Стажёр … Чемпион) */
  --level-1: #8396aa;
  --level-2: #3cc6c0;
  --level-3: #4aa8ff;
  --level-4: #8b7bff;
  --level-5: #e46fd2;
  --level-6: var(--accent);
  --disabled-bg: #1d2631;
  --disabled-text: #6b7a8a;
  --scrim: rgba(4, 8, 12, 0.6);
  --material: rgba(18, 26, 34, 0.84);
  --shadow-sheet: 0 -10px 40px rgba(0, 0, 0, 0.5);
  --shadow-thumb: 0 2px 6px rgba(0, 0, 0, 0.35);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --radius-xs: 6px;
  --radius-sm: 9px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-full: 999px;
  --size-hit: 44px;
  --size-button: 52px;
  --size-option-min: 56px;
  --size-toggle: 34px;
  --size-tabbar: 56px;
  --size-progress: 4px;
  --duration-press: 90ms; /* @kind other */
  --duration-fast: 160ms; /* @kind other */
  --duration-base: 240ms; /* @kind other */
  --duration-hold: 380ms; /* @kind other */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-rounded: ui-rounded, system-ui, sans-serif;
}
.large-title {
  font-family: var(--font-sans);
  font-size: 32px;
  line-height: 38px;
  font-weight: 700;
  letter-spacing: -0.4px;
}
.title {
  font-family: var(--font-sans);
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  letter-spacing: -0.3px;
}
.headline {
  font-family: var(--font-sans);
  font-size: 20px;
  line-height: 26px;
  font-weight: 600;
  letter-spacing: -0.2px;
}
.question {
  font-family: var(--font-sans);
  font-size: 21px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: -0.3px;
}
.option {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 24px;
  font-weight: 400;
  letter-spacing: 0px;
}
.body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 23px;
  font-weight: 400;
  letter-spacing: 0px;
}
.button {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 22px;
  font-weight: 600;
  letter-spacing: -0.1px;
}
.callout {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0px;
}
.footnote {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 18px;
  font-weight: 400;
  letter-spacing: 0.1px;
}
.caption {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.2px;
}
.numeric {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
  letter-spacing: 0px;
}

/* appended from cfg.cssEntry */
/* DGT kit — every value comes from tokens.css. No raw colours below except transparent. */
html, body { background: var(--bg); color: var(--text); margin: 0; }
body { font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; }
.dgt-pay__tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.dgt-pay__tile{ position:relative; display:flex; flex-direction:column; align-items:center; gap:2px; border:0; border-radius:20px; background:var(--surface); color:var(--text); font-family:var(--font-sans); cursor:pointer; box-shadow:inset 0 0 0 1px var(--border); }
.dgt-pay__tile.is-on{box-shadow:inset 0 0 0 2px var(--accent)}
.dgt-pay__tileper,.dgt-pay__tileunit{color:var(--text-secondary)}
.dgt-pay__tileprice{font:700 30px/36px var(--font-sans);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.dgt-pay__tilebadge{position:absolute;top:-10px;left:50%;transform:translateX(-50%)}
.dgt-pay__tile{padding:var(--space-4) var(--space-2) var(--space-3)}
.dgt-pay__tileprice{font-size:26px;line-height:32px}
.dgt-pay__tiles.is-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}
.dgt-pay__tiles.is-3 .dgt-pay__tile{padding:var(--space-4) 4px var(--space-3);border-radius:18px}
.dgt-pay__tiles.is-3 .dgt-pay__tileprice{font-size:22px;line-height:28px;letter-spacing:-.4px}
.dgt-pay__tiles.is-3{padding-top:6px}
[data-theme=day] {
  --bg: #f4f6f8;
  --surface: #ffffff;
  --surface-raised: #eaeef2;
  --surface-pressed: #dfe5eb;
  --border: #dbe2e9;
  --border-strong: #8494a5;
  --text: #0e141b;
  --text-secondary: #4a5868;
  --text-tertiary: #5d6b7b;
  --accent: #9a5b00;
  --accent-fill: #f3b13e;
  --on-accent: #1a1206;
  --accent-subtle: #fbefd6;
  --success: #18794a;
  --success-subtle: #e3f4ea;
  --danger: #c4322a;
  --danger-subtle: #fbe7e5;
  --warning: var(--accent);
  --warning-subtle: var(--accent-subtle);
  --streak: var(--accent);
  --on-streak: var(--on-accent);
  --word-active: #7a5310;
  --word-active-subtle: #f5ecd8;
  --word-gloss: oklch(0.48 0.12 240);
  --known: #1f6fa8;
  --level-1: #5d6b7b;
  --level-2: #0f7f7a;
  --level-3: #1c6fd1;
  --level-4: #5b4ad6;
  --level-5: #b0369c;
  --level-6: var(--accent);
  --disabled-bg: #e6eaee;
  --disabled-text: #7d8996;
  --scrim: rgba(14, 20, 27, 0.4);
  --material: rgba(255, 255, 255, 0.86);
  --shadow-sheet: 0 -10px 40px rgba(14, 20, 27, 0.12);
  --shadow-thumb: 0 2px 6px rgba(14, 20, 27, 0.15);
}

/* ExamDGT landing (round 14). Role tokens from the kit: night by default, [data-theme=day] for light browsers. Phone screenshots stay night (the mini-app is dark-only in MVP). */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:400 17px/26px var(--font-sans);color:var(--text);background:var(--bg)}
*,*::before,*::after{box-sizing:border-box}
h1,h2,h3,p,ul,ol{margin:0}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--text)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.lp-wrap{width:100%;max-width:1128px;margin:0 auto;padding:0 20px}
.lp-text{max-width:640px}
.lp-skip{position:absolute;left:12px;top:-60px;z-index:20;padding:12px 16px;border-radius:var(--radius-md);background:var(--surface);color:var(--text)}
.lp-skip:focus{top:12px}
/* top */
.lp-top__in{display:flex;align-items:center;min-height:64px;justify-content:space-between;gap:16px}
.lp-lang{display:flex;gap:4px;background:var(--surface);border-radius:var(--radius-full);padding:4px}.lp-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:36px;border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);font:600 14px/20px var(--font-sans);text-decoration:none;cursor:pointer}.lp-lang a[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
.lp-brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--text);text-decoration:none;font:700 17px/22px var(--font-sans);letter-spacing:-.2px}
.lp-brand:hover{color:var(--text)}
.lp-logo{width:32px;height:32px;border-radius:9px;background:var(--accent-fill);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font:800 11px/1 var(--font-sans);letter-spacing:.3px}
/* type */
.lp-h1{font:700 32px/38px var(--font-sans);letter-spacing:-.6px;text-wrap:balance}
.lp-h2{font:700 26px/32px var(--font-sans);letter-spacing:-.4px;text-wrap:balance}
.lp-h3{font:600 18px/24px var(--font-sans);letter-spacing:-.1px}
.lp-lead{font-size:18px;line-height:27px;color:var(--text-secondary);text-wrap:pretty}
.lp-p{color:var(--text-secondary);text-wrap:pretty}
.lp-fine{font:400 14px/20px var(--font-sans);color:var(--text-secondary);text-wrap:pretty}
.lp-p strong,.lp-fine strong{color:var(--text);font-weight:600}
code{font:500 .92em/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:2px 6px;border-radius:6px;background:var(--surface-raised);color:var(--text)}
/* primary action — the kit capsule, as a link */
.lp-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:var(--size-button);padding:0 28px;border-radius:var(--radius-full);background:var(--accent-fill);color:var(--on-accent);font:600 17px/22px var(--font-sans);text-decoration:none;transition:transform var(--duration-base) cubic-bezier(.2,.8,.2,1),filter var(--duration-fast) ease}
.lp-cta:hover{color:var(--on-accent);filter:brightness(.95)}
.lp-cta:active{transform:scale(.97);filter:brightness(.88);transition-duration:var(--duration-press)}
.lp-cta:focus-visible{outline-offset:4px;border-radius:var(--radius-full)}
.lp-actions{display:flex;flex-direction:column;gap:12px}
/* phone with a real kit screen, scaled */
.lp-phone{--s:.66;position:relative;flex:none;width:calc(395px * var(--s));height:calc(800px * var(--s));margin:0 auto}
.lp-phone__in{position:absolute;left:calc(10px * var(--s));top:calc(10px * var(--s));width:375px;height:780px;transform:scale(var(--s));transform-origin:0 0;pointer-events:none;user-select:none}
.lp-phone .dgt-screen--framed{margin:0}
/* hero */
.lp-hero{padding:8px 0 48px}
.lp-hero__in{display:grid;gap:40px}
.lp-hero__text{display:flex;flex-direction:column;gap:16px}
.lp-hero .lp-actions{margin-top:12px}
.lp-hero .lp-phone{--s:.68}
/* sections */
.lp-sec{padding:56px 0}
.lp-sec--band{background:var(--surface)}
[data-theme=day] .lp-sec--band{background:var(--surface-raised)}
.lp-head{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.lp-ico{flex:none;width:44px;height:44px;border-radius:var(--radius-full);background:var(--accent-subtle);color:var(--accent);display:flex;align-items:center;justify-content:center}
/* 2. pains */
.lp-pains{list-style:none;padding:0;display:grid;gap:12px}
.lp-pain{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--radius-lg);background:var(--surface)}
[data-theme=day] .lp-pain{box-shadow:inset 0 0 0 1px var(--border)}
.lp-pain .lp-p{font-size:16px;line-height:24px}
/* 3. features */
.lp-feats{display:flex;flex-direction:column;gap:56px}
.lp-feat{display:grid;gap:28px;align-items:center}
.lp-feat__text{display:flex;flex-direction:column;gap:28px}
.lp-feat__item{display:flex;flex-direction:column;gap:8px}
.lp-feat .lp-h3{font-size:21px;line-height:27px;letter-spacing:-.3px}
.lp-feat .lp-phone{--s:.62}
/* 4. steps */
.lp-steps{list-style:none;padding:0;display:grid;gap:24px;counter-reset:st}
.lp-step{display:flex;gap:16px;align-items:flex-start}
.lp-step__n{flex:none;width:36px;height:36px;border-radius:var(--radius-full);box-shadow:inset 0 0 0 1.5px var(--border-strong);color:var(--text);display:flex;align-items:center;justify-content:center;font:700 16px/1 var(--font-sans);font-variant-numeric:tabular-nums}
.lp-step .lp-p{padding-top:5px}
/* 5. prices — tiles are the paywall tiles (round 11) without selection or pay buttons */
.lp-price{display:flex;flex-direction:column;gap:16px;max-width:640px}
.lp-trial{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:var(--radius-lg);background:var(--accent-subtle)}
.lp-trial .lp-p{color:var(--text)}
.lp-trial .lp-ico{background:var(--accent-fill);color:var(--on-accent);width:36px;height:36px}
.lp-tiles.dgt-pay__tiles.is-3{padding-top:0}
.lp-tiles .dgt-pay__tile{cursor:default;padding:var(--space-4) 6px;gap:4px}
[data-theme=day] .lp-tiles .dgt-pay__tile{box-shadow:inset 0 0 0 1px var(--border)}
.lp-tiles .dgt-pay__tileper{font-weight:600;color:var(--text)}
.lp-tiles .dgt-pay__tileunit{text-align:center;text-wrap:balance;line-height:16px}
.lp-price__notes{display:flex;flex-direction:column;gap:4px}
.lp-link44{display:inline-flex;align-items:center;min-height:44px;align-self:flex-start}
.lp-price .lp-actions{margin-top:8px}
/* 6. invite */
.lp-invite{display:flex;gap:16px;align-items:flex-start;padding:24px 20px;border-radius:var(--radius-lg);background:var(--surface);max-width:640px}
[data-theme=day] .lp-invite{box-shadow:inset 0 0 0 1px var(--border)}
.lp-invite .lp-h2{font-size:22px;line-height:28px}
.lp-invite__body{display:flex;flex-direction:column;gap:6px}
.lp-sec--invite{padding-top:0}
/* 7. faq */
.lp-faq{max-width:760px;border-top:1px solid var(--border)}
.lp-faq details{border-bottom:1px solid var(--border)}
.lp-faq summary{list-style:none;display:flex;align-items:center;gap:16px;min-height:60px;padding:14px 0;cursor:pointer;font:600 17px/24px var(--font-sans);color:var(--text)}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary:hover{color:var(--accent)}
.lp-faq summary span{flex:1}
.lp-faq__chev{flex:none;color:var(--text-secondary);transform:rotate(90deg);transition:transform var(--duration-base) cubic-bezier(.2,.8,.2,1)}
.lp-faq details[open] .lp-faq__chev{transform:rotate(-90deg)}
.lp-faq__a{padding:0 40px 20px 0;display:flex;flex-direction:column;gap:10px}
/* 8. final */
.lp-final{text-align:center}
.lp-final__in{display:flex;flex-direction:column;align-items:center;gap:20px}
.lp-final .lp-actions{width:100%;align-items:center}
.lp-final .lp-fine{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:6px}
/* 9. footer */
.lp-foot{padding:40px 0 48px;border-top:1px solid var(--border)}
.lp-foot__in{display:flex;flex-direction:column;gap:16px}
.lp-foot__row{display:flex;flex-wrap:wrap;column-gap:20px;row-gap:0}
.lp-foot__row a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-secondary);text-decoration:none;font-size:15px}
.lp-foot__row a:hover{color:var(--text)}
.lp-foot .lp-fine{color:var(--text-secondary)}
/* sticky CTA, mobile only, after the hero button leaves the screen */
.lp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:10;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--material);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border-top:1px solid var(--border);transform:translateY(100%);visibility:hidden;transition:transform var(--duration-base) cubic-bezier(.2,.8,.2,1),visibility 0s linear var(--duration-base)}
.lp-sticky.is-on{transform:none;visibility:visible;transition:transform var(--duration-base) cubic-bezier(.2,.8,.2,1),visibility 0s}
[hidden]{display:none!important}
@media (min-width:640px){
  .lp-pains{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
  .lp-wrap{padding:0 32px}
  .lp-h1{font-size:44px;line-height:50px;letter-spacing:-1px}
  .lp-h2{font-size:34px;line-height:40px;letter-spacing:-.6px}
  .lp-sec{padding:80px 0}
  .lp-sec--invite{padding-top:0}
  .lp-cta{width:auto;align-self:flex-start}
  .lp-final .lp-cta{align-self:center}
  .lp-hero{padding:24px 0 72px}
  .lp-hero__in{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px}
  .lp-hero .lp-phone{--s:.64}
  .lp-feat{grid-template-columns:minmax(0,1fr) auto;gap:48px}
  .lp-feat--flip .lp-feat__text{order:2}
  .lp-feat .lp-phone{--s:.6;margin:0}
  .lp-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .lp-step{flex-direction:column}
  .lp-step .lp-p{padding-top:0}
  .lp-invite{padding:28px}
  .lp-foot__in{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:40px}
  .lp-sticky{display:none}
}
@media (min-width:1080px){
  .lp-h1{font-size:54px;line-height:60px;letter-spacing:-1.4px}
  .lp-sec{padding:104px 0}
  .lp-sec--invite{padding-top:0}
  .lp-hero{padding:40px 0 96px}
  .lp-hero__in{gap:64px}
  .lp-hero .lp-phone{--s:.8}
  .lp-pains{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lp-feats{gap:88px}
  .lp-feat{gap:96px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lp-feat .lp-phone{--s:.72;margin:0 auto}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lp-cta,.lp-faq__chev{transition:none}
  .lp-cta:active{transform:none}
  .lp-sticky,.lp-sticky.is-on{transform:none;transition:visibility 0s;opacity:1}
}
