/* ============================================================
   pyd.css — новое оформление публичных страниц pydelmen:
   лендинг (/), план обучения (/map) и светлая тема входа (/login).
   Тёмная тема по умолчанию (стиль «IDE»), светлая — когда на <html>
   стоит data-theme="light" (стиль «Цифры и лицо»).
   Подключается только на этих страницах, кабинет не затрагивает.
   ============================================================ */
@font-face{ font-family:"PD Onest"; font-weight:100 900; font-style:normal; font-display:swap; src:url("/fonts/onest-var.woff") format("woff"); }
@font-face{ font-family:"PD Oswald"; font-weight:200 700; font-style:normal; font-display:swap; src:url("/fonts/oswald-var.woff") format("woff"); }
@font-face{ font-family:"PD Mono"; font-weight:400; font-style:normal; font-display:swap; src:url("/fonts/jbmono-400.woff") format("woff"); }
@font-face{ font-family:"PD Mono"; font-weight:500; font-style:normal; font-display:swap; src:url("/fonts/jbmono-500.woff") format("woff"); }

/* ---------- Токены: тёмная ---------- */
body.is-pyd, body.is-login{
  --pd-bg:#0b0f14; --pd-text:#e6edf3; --pd-mut:#9fb0c1; --pd-card:#131a22; --pd-card2:#0e141c;
  --pd-line:#232d38; --pd-line2:#3a4756;
  --pd-acc:#3ddc4a; --pd-acc-h:#6af074; --pd-acc-ink:#0b0f14;
  --pd-yellow:#ffd43b;
  --pd-bd:0; --pd-tsh:inset 0 0 0 1px #232d38; --pd-tsh-h:inset 0 0 0 1px #3a4756; --pd-rad:20px; --pd-brad:12px;
  --pd-bsh:none; --pd-bbd:0; --pd-obd:1.5px solid #3a4756;
  --pd-hf:"PD Onest",system-ui,sans-serif; --pd-bf:"PD Onest",system-ui,-apple-system,"Segoe UI",sans-serif; --pd-mf:"PD Mono",ui-monospace,Menlo,monospace;
  --pd-focus:#ffd43b;
  --pd-band:#131a22; --pd-apply:transparent;
  background:var(--pd-bg); color:var(--pd-text); font-family:var(--pd-bf);
}
:root[data-theme="light"] body.is-pyd, :root[data-theme="light"] body.is-login{
  --pd-bg:#ffffff; --pd-text:#111111; --pd-mut:#4a525d; --pd-card:#ffffff; --pd-card2:#fff4c4;
  --pd-line:#111111; --pd-line2:#111111;
  --pd-acc:#34c53a; --pd-acc-h:#4ad550; --pd-acc-ink:#111111;
  --pd-bd:3px solid #111; --pd-tsh:6px 6px 0 #111; --pd-tsh-h:8px 8px 0 #111; --pd-rad:24px; --pd-brad:999px;
  --pd-bsh:4px 4px 0 #111; --pd-bbd:3px solid #111; --pd-obd:3px solid #111;
  --pd-focus:#111111;
  --pd-band:#34c53a; --pd-apply:#14181f;
  --pd-hf:"PD Oswald","Arial Narrow",sans-serif;
}
body.is-pyd{ min-height:100vh; }
body.is-pyd .main, body.is-pyd .main--wide, body.is-pyd .main--home{ max-width:none; padding:0; }
body.is-pyd .skip{ color:var(--pd-text); }
:root:not([data-theme="light"]) .only-light{ display:none !important; }
:root[data-theme="light"] .only-dark{ display:none !important; }

.pd *, .pd *::before, .pd *::after{ box-sizing:border-box; }
.pd{ color:var(--pd-text); font-family:var(--pd-bf); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:clip; }
.pd h1,.pd h2,.pd h3,.pd p,.pd ol,.pd ul,.pd dl,.pd dd,.pd figure,.pd blockquote{ margin:0; }
.pd ol,.pd ul{ padding:0; list-style:none; }
.pd a{ color:inherit; }
.pd-wrap{ width:100%; max-width:1180px; margin:0 auto; padding:0 24px; }
.pd h1,.pd h2{ font-family:var(--pd-hf); font-weight:600; letter-spacing:-.025em; text-wrap:balance; }
.pd h1{ font-size:clamp(34px,5vw,62px); line-height:1.08; }
/* светлая тема: заголовки Oswald капсом, как в эскизе */
:root[data-theme="light"] .pd h1,:root[data-theme="light"] .pd h2{ font-weight:700; text-transform:uppercase; letter-spacing:-.005em; }
:root[data-theme="light"] .pd h1{ font-size:clamp(38px,4.6vw,62px); line-height:1; }
:root[data-theme="light"] .pd .pd-maphead h1{ font-size:clamp(40px,5.8vw,76px); }
:root[data-theme="light"] .pd h2{ font-size:clamp(34px,4.6vw,60px); line-height:1; }
:root[data-theme="light"] .pd-feat h3,:root[data-theme="light"] .pd-aud h3{ font-family:var(--pd-hf); text-transform:uppercase; font-weight:700; font-size:26px; line-height:1.08; letter-spacing:-.005em; }

.pd h2{ font-size:clamp(28px,3.6vw,46px); line-height:1.1; }
.pd h3{ font-family:var(--pd-bf); font-size:20px; line-height:1.3; font-weight:600; letter-spacing:-.01em; }
.pd-lead{ font-size:18px; color:var(--pd-mut); max-width:54ch; text-wrap:pretty; }
:root[data-theme="light"] .pd-lead{ color:#2c3138; font-size:19px; }
.pd :focus-visible, .top-pyd :focus-visible{ outline:3px solid var(--pd-focus); outline-offset:3px; }

/* ---------- Кнопки ---------- */
.pd-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 24px; border-radius:var(--pd-brad); border:var(--pd-bbd); box-shadow:var(--pd-bsh); background:var(--pd-acc); color:var(--pd-acc-ink); font:600 16px/1 var(--pd-bf); text-decoration:none; cursor:pointer; transition:transform .12s, box-shadow .12s, background-color .2s; white-space:nowrap; }
.pd-btn:hover{ background:var(--pd-acc-h); transform:translateY(-2px); }
:root[data-theme="light"] .pd-btn:hover, :root[data-theme="light"] .top-pyd .pd-btn:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 #111; }
:root[data-theme="light"] .pd-btn:active{ transform:translate(3px,3px); box-shadow:0 0 0 #111; }
.pd-btn--lg{ min-height:52px; padding:0 28px; font-size:17px; }
.pd-btn--line{ background:transparent; color:var(--pd-text); border:var(--pd-obd); }
:root:not([data-theme="light"]) .pd-btn--line{ border:0; box-shadow:inset 0 0 0 1.5px #3a4756; }
:root:not([data-theme="light"]) .pd-btn--line:hover{ background:transparent; box-shadow:inset 0 0 0 1.5px #9fb0c1; }
:root[data-theme="light"] .pd-btn--line{ background:#fff; }
:root[data-theme="light"] .pd-btn--line:hover{ background:#fff; }
.pd-btn--yellow{ background:var(--pd-yellow); color:#111; }
.pd-btn--yellow:hover{ background:#ffe07a; }
.pd-btn--ghost{ background:transparent; color:#fff; border:2px solid #fff; box-shadow:none; }
.pd-btn--ghost:hover{ background:rgba(255,255,255,.12); }

/* ---------- Шапка ---------- */
.top-pyd{ position:sticky; top:0; z-index:50; background:var(--pd-bg); color:var(--pd-text); border-bottom:1px solid var(--pd-line); font-family:var(--pd-bf); }
.top-pyd *{ box-sizing:border-box; }
:root[data-theme="light"] .top-pyd{ border-bottom:3px solid #111; }
.pd-bar{ display:flex; align-items:center; gap:24px; padding-top:10px; padding-bottom:10px; }
.pd-brand{ display:inline-flex; flex:none; border-radius:12px; }
.pd-brand img{ display:block; height:44px; width:auto; }
:root:not([data-theme="light"]) .pd-brand{ background:none; padding:0; }
:root:not([data-theme="light"]) .pd-brand img{ height:44px; }
.pd-nav{ display:flex; gap:22px; margin-right:auto; }
.pd-nav a{ font-size:15px; font-weight:500; text-decoration:none; color:var(--pd-mut); padding:8px 0; }
.pd-nav a:hover{ color:var(--pd-text); }
:root[data-theme="light"] .pd-nav a{ color:var(--pd-text); font-weight:600; }
.pd-bar__r{ display:flex; align-items:center; gap:10px; margin-left:auto; }
.pd-nav + .pd-bar__r{ margin-left:0; }
.pd-bar__r .pd-btn{ min-height:42px; padding:0 18px; font-size:15px; }
.pd-bar__r .pub-theme{ margin:0; border-color:var(--pd-line2); color:var(--pd-text); }
:root[data-theme="light"] .pd-bar__r .pub-theme{ border:3px solid #111; border-radius:12px; background:#fff; }
.pd-link{ color:var(--pd-text); text-decoration:none; font-weight:600; font-size:15px; padding:8px 10px; }
.pd-link:hover{ text-decoration:underline; text-underline-offset:4px; }
@media (max-width:1040px){ .pd-nav{ display:none; } .pd-bar__r{ margin-left:auto; } }
@media (max-width:520px){ .pd-bar{ gap:10px; } .pd-bar__r .pd-btn--line{ display:none; } .pd-brand img{ height:28px; } }

/* ---------- Секции ---------- */
.pd-sec{ padding:88px 0; }
.pd-sec--tight{ padding:24px 0; }
.pd-head{ display:flex; flex-direction:column; gap:14px; margin-bottom:40px; max-width:760px; }
.pd-head p{ font-size:18px; color:var(--pd-mut); max-width:54ch; }
.pd-head a{ color:var(--pd-acc); }
:root[data-theme="light"] .pd-head a{ color:#111; text-underline-offset:3px; }
.pd-sec[id], .pd-stage-sec[id], .pd-apply[id]{ scroll-margin-top:84px; }

/* ---------- Плитки ---------- */
.pd-tile{ position:relative; background:var(--pd-card); border:var(--pd-bd); border-radius:var(--pd-rad); box-shadow:var(--pd-tsh); padding:26px; display:flex; flex-direction:column; gap:10px; overflow:hidden; transition:transform .12s, box-shadow .12s; }
.pd-tile h3{ font-size:21px; }
.pd-tile > p{ font-size:15px; color:var(--pd-mut); }
:root[data-theme="light"] .pd-tile:hover{ transform:translate(-2px,-2px); box-shadow:var(--pd-tsh-h); }
:root:not([data-theme="light"]) .pd-tile:hover{ box-shadow:var(--pd-tsh-h); }
:root[data-theme="light"] .pd-tile--yellow{ background:#ffd43b; } :root[data-theme="light"] .pd-tile--pink{ background:#ffb3d1; }
:root[data-theme="light"] .pd-tile--sky{ background:#8ecbff; }
:root[data-theme="light"] .pd-tile--dark{ background:#14181f; color:#fff; }
:root[data-theme="light"] .pd-tile--yellow > p,:root[data-theme="light"] .pd-tile--pink > p,:root[data-theme="light"] .pd-tile--sky > p{ color:#1d2430; }
:root[data-theme="light"] .pd-tile--dark > p{ color:#d4dae2; }
.pd-il{ display:block; height:auto; pointer-events:none; }
.pd-tile > .pd-il{ position:absolute; right:8px; bottom:6px; width:46%; max-width:170px; }
:root:not([data-theme="light"]) .pd-tile > .pd-il, :root:not([data-theme="light"]) .pd-stage-il{ display:none; }

/* ---------- Герой ---------- */
.pd-hero{ padding:48px 0 40px; }
.pd-hero__in{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr)); gap:56px; align-items:center; }
.pd-hero__copy{ display:flex; flex-direction:column; gap:26px; }
.pd-cta{ display:flex; flex-wrap:wrap; gap:14px; padding:0 6px 6px 0; }
.pd-hero__vis{ position:relative; }

/* IDE (тёмная тема) */
.pd-ide{ background:#101620; border-radius:18px; box-shadow:inset 0 0 0 1px #232d38; overflow:hidden; }
.pd-ide__bar{ display:flex; align-items:center; gap:8px; padding:12px 16px; background:#131a22; border-bottom:1px solid #232d38; font:400 13px var(--pd-mf); color:#9fb0c1; }
.pd-ide__bar i{ width:10px; height:10px; border-radius:50%; background:#3a4756; display:block; }
.pd-ide__bar span{ margin-left:10px; }
.pd-ide__code{ padding:20px 18px 8px; font:400 14px/1.75 var(--pd-mf); min-height:215px; }
.pd-cl{ display:block; white-space:pre; overflow:hidden; width:0; animation:pd-type 1s steps(var(--n),end) var(--d) both; }
.pd-ide .k{ color:#3ddc4a; } .pd-ide .s{ color:#ffd43b; } .pd-ide .f{ color:#7cc4ff; } .pd-ide .c{ color:#6b7c8f; } .pd-ide .ok{ color:#3ddc4a; font-weight:500; background:transparent; }
.pd-ide__out{ padding:16px 18px 22px; margin-top:6px; border-top:1px dashed #232d38; font:400 14px/1.75 var(--pd-mf); }
.pd-ide__out p{ opacity:0; animation:pd-fadeup .4s ease var(--d) both; }
.pd-ide__mas{ position:absolute; right:-10px; bottom:-34px; width:140px; height:auto; animation:pd-rise .8s cubic-bezier(.2,1.4,.4,1) 4.9s both; }
@keyframes pd-type{ from{ width:0; } to{ width:calc(var(--n) * 1ch); } }
@keyframes pd-fadeup{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@keyframes pd-rise{ from{ opacity:0; transform:translateY(40px); } to{ opacity:1; transform:none; } }

/* Сцена с технологиями (светлая тема) */
.pd-hero__vis.only-light{ display:flex; justify-content:center; }
.pd-stage{ position:relative; width:520px; height:450px; flex:none; }
.pd-stage__bg{ position:absolute; left:120px; top:104px; width:280px; height:290px; background:#ffd43b; border:3px solid #111; border-radius:52% 48% 44% 56% / 38% 46% 54% 62%; box-shadow:8px 8px 0 #111; }
.pd-say{ position:absolute; left:260px; top:40px; transform:translateX(-50%); width:max-content; max-width:210px; text-align:center; padding:8px 14px; border-radius:16px; background:#fff; border:3px solid #111; box-shadow:4px 4px 0 #111; font-weight:600; font-size:15px; line-height:1.3; z-index:3; animation:pd-slot .5s cubic-bezier(.2,1.5,.4,1) 1.4s both; }
.pd-stage__mas{ position:absolute; left:165px; top:120px; width:190px; padding:0; border:0; background:none; cursor:pointer; z-index:2; animation:pd-mascot .9s cubic-bezier(.2,1.6,.4,1) .15s both; }
.pd-stage__mas img{ display:block; width:100%; height:auto; transition:transform .12s; }
.pd-stage__mas:active img{ transform:scale(.93); }
.pd-stage.is-wow .pd-stage__mas img{ animation:pd-hop .7s cubic-bezier(.2,1.4,.4,1); }
.pd-tc{ position:absolute; z-index:1; animation:pd-chip .9s cubic-bezier(.2,1.4,.4,1) both; animation-delay:var(--d); }
.pd-tc__fl{ display:inline-flex; align-items:center; gap:10px; padding:6px 14px 6px 6px; border-radius:16px; background:#fff; border:3px solid #111; box-shadow:4px 4px 0 #111; font-weight:600; font-size:16px; color:#111; animation:pd-float 4.6s ease-in-out infinite; animation-delay:var(--fd); }
.pd-stage.is-wow .pd-tc__fl{ animation:pd-wow .8s ease 0s both; }
.pd-ic{ width:32px; height:32px; border-radius:10px; border:2px solid #111; display:grid; place-items:center; font-style:normal; font-size:13px; font-weight:600; color:#111; flex:none; }
.pd-ic--sun{ background:#ffd43b; } .pd-ic--mint{ background:#34c53a; } .pd-ic--sky{ background:#8ecbff; } .pd-ic--pink{ background:#ffb3d1; } .pd-ic--org{ background:#ffa45c; } .pd-ic--ink{ background:#14181f; color:#fff; }
.pd-c0{ left:14px; top:56px; --fx:-150px; --fy:-170px; --fr:-28deg; --d:.25s; --fd:0s; }
.pd-c1{ left:352px; top:22px; --fx:160px; --fy:-190px; --fr:24deg; --d:.4s; --fd:-1.2s; }
.pd-c2{ left:350px; top:150px; --fx:200px; --fy:-60px; --fr:18deg; --d:.55s; --fd:-2.4s; }
.pd-c3{ left:0; top:190px; --fx:-200px; --fy:20px; --fr:-20deg; --d:.7s; --fd:-.6s; }
.pd-c4{ left:380px; top:268px; --fx:190px; --fy:120px; --fr:26deg; --d:.85s; --fd:-3s; }
.pd-c5{ left:10px; top:300px; --fx:-190px; --fy:150px; --fr:-24deg; --d:1s; --fd:-1.8s; }
.pd-c6{ left:110px; top:388px; --fx:-80px; --fy:200px; --fr:-16deg; --d:1.15s; --fd:-3.6s; }
.pd-c7{ left:330px; top:380px; --fx:120px; --fy:200px; --fr:20deg; --d:1.3s; --fd:-.3s; }
@keyframes pd-chip{ from{ opacity:0; transform:translate(var(--fx),var(--fy)) rotate(var(--fr)) scale(.4); } to{ opacity:1; transform:none; } }
@keyframes pd-mascot{ from{ opacity:0; transform:translateY(40px) scale(.5) rotate(-10deg); } to{ opacity:1; transform:none; } }
@keyframes pd-slot{ from{ opacity:0; transform:translateX(-50%) translateY(14px) scale(.7); } to{ opacity:1; transform:translateX(-50%); } }
@keyframes pd-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
@keyframes pd-wow{ 0%{ transform:none; } 30%{ transform:rotate(-9deg) scale(1.14); } 60%{ transform:rotate(7deg) scale(1.06); } 100%{ transform:none; } }
@keyframes pd-hop{ 0%{ transform:translateY(0); } 30%{ transform:translateY(-26px) rotate(-4deg); } 55%{ transform:translateY(0); } 75%{ transform:translateY(-9px); } 100%{ transform:translateY(0); } }

/* ---------- Чем пользуемся ---------- */
.pd-strip{ background:var(--pd-card); border:var(--pd-bd); border-radius:var(--pd-rad); box-shadow:var(--pd-tsh); padding:28px 32px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
:root[data-theme="light"] .pd-strip{ background:#8ecbff; }
.pd-strip__t{ flex:1 1 380px; min-width:0; }
.pd-strip h2{ font-size:clamp(22px,2.4vw,30px); margin-bottom:14px; }
.pd-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.pd-tag{ display:inline-block; padding:5px 12px; border-radius:8px; background:#0e141c; box-shadow:inset 0 0 0 1px #232d38; font:400 13px var(--pd-mf); color:#c2cfdc; }
:root[data-theme="light"] .pd-tag{ border:2px solid #111; border-radius:999px; background:#fff; color:#111; font:600 14px var(--pd-bf); padding:4px 12px; box-shadow:none; }
.pd-strip__il{ display:flex; gap:10px; }
.pd-strip__il span{ background:#fff; border-radius:16px; padding:8px; display:flex; }
:root[data-theme="light"] .pd-strip__il span{ background:transparent; padding:0; margin-left:-22px; }
.pd-strip__il .pd-il{ width:92px; }
:root[data-theme="light"] .pd-strip__il .pd-il{ width:116px; }
.pd-stack{ display:flex; flex-direction:column; border-top:1px solid var(--pd-line); margin-top:8px; }
.pd-stack__row{ display:grid; grid-template-columns:minmax(120px,180px) minmax(0,1fr); gap:10px 24px; padding:14px 0; border-bottom:1px solid var(--pd-line); align-items:baseline; }
.pd-stack__row dt{ color:var(--pd-mut); font-size:15px; }
:root[data-theme="light"] .pd-stack__row dt{ color:#111; font-weight:600; }
.pd-stack__row dd{ display:flex; flex-wrap:wrap; gap:8px; }

/* ---------- Цифры ---------- */
.pd-band{ padding:40px 0; }
.pd-band__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr); gap:20px; }
@media (max-width:900px){ .pd-band__in{ grid-template-columns:minmax(0,1fr); } }
.pd-stat{ background:var(--pd-card); border-radius:var(--pd-rad); box-shadow:var(--pd-tsh); padding:32px; display:flex; flex-direction:column; gap:10px; }
.pd-stat__n{ font:700 clamp(40px,5.4vw,68px)/1 var(--pd-hf); letter-spacing:-.04em; white-space:nowrap; color:var(--pd-acc); font-variant-numeric:tabular-nums; }
.pd-stat__l{ color:var(--pd-mut); font-size:16px; max-width:26ch; }
:root[data-theme="light"] .pd-band{ background:#34c53a; border-top:3px solid #111; border-bottom:3px solid #111; padding:56px 0; margin:24px 0; }
:root[data-theme="light"] .pd-stat{ background:transparent; box-shadow:none; padding:0; }
:root[data-theme="light"] .pd-stat__n{ color:#111; font-size:clamp(48px,6.6vw,88px); }
:root[data-theme="light"] .pd-stat__l{ color:#111; font-weight:600; font-size:18px; }

/* ---------- Кому подходит ---------- */
.pd-for{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:20px; }
:root[data-theme="light"] .pd-for{ gap:24px; }
.pd-aud{ min-height:230px; padding-right:26px; }
:root[data-theme="light"] .pd-aud, :root[data-theme="light"] .pd-feat:not(.pd-feat--w){ padding-bottom:112px; }
:root[data-theme="light"] .pd-tile > .pd-il{ width:42%; max-width:150px; }
.pd-aud > p{ max-width:26ch; }
:root:not([data-theme="light"]) .pd-aud:hover{ box-shadow:inset 0 0 0 1px #3ddc4a; }
.pd-note{ margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; padding:0 6px 6px 0; }
.pd-note p{ font-size:18px; max-width:46ch; color:var(--pd-mut); }
:root[data-theme="light"] .pd-note p{ color:#111; font-weight:600; }

/* ---------- Кто ведёт ---------- */
.pd-pair{ display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:24px; }
.pd-men{ flex-direction:row; align-items:center; gap:28px; padding:32px; }
.pd-men img{ width:160px; height:auto; flex:none; display:block; }
.pd-men__t{ display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.pd-men__t h2{ font-size:clamp(26px,3vw,34px); }
.pd-men__t p{ font-size:16px; color:var(--pd-mut); }
.pd-men__t p:first-of-type{ color:var(--pd-text); font-size:17px; }
.pd-diff{ justify-content:center; gap:14px; }
.pd-diff dl{ display:flex; flex-direction:column; gap:12px; }
.pd-diff dt{ font-weight:600; font-size:16px; }
.pd-diff dd{ font-size:14.5px; color:var(--pd-mut); }
:root[data-theme="light"] .pd-diff dd{ color:#d4dae2; }
:root:not([data-theme="light"]) .pd-tile--dark{ background:#0e141c; }

/* ---------- Как устроено ---------- */
.pd-feats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:20px; }
.pd-feat{ min-height:0; gap:10px; }
.pd-feat > p{ max-width:34ch; }
:root[data-theme="light"] .pd-feats{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
:root[data-theme="light"] .pd-feat{ min-height:250px; }
:root[data-theme="light"] .pd-feat > p{ max-width:24ch; }
:root[data-theme="light"] .pd-feat--w{ grid-column:span 2; }
:root[data-theme="light"] .pd-feat--w > p{ max-width:32ch; }

/* ---------- Программа ---------- */
.pd-xp{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:0 4px 14px; border-bottom:1px solid var(--pd-line); margin-bottom:8px; flex-wrap:wrap; }
.pd-xp b{ font:500 30px var(--pd-mf); }
.pd-xp > span{ color:var(--pd-mut); font-size:15px; }
.pd-mods{ display:grid; grid-template-columns:minmax(0,1fr); gap:6px; }
.pd-mod{ display:grid; grid-template-columns:40px minmax(0,1fr) minmax(70px,150px) auto; gap:16px; align-items:center; padding:10px 8px; border-radius:12px; transition:background-color .2s; }
.pd-mod:hover{ background:#17202a; }
.pd-mod__n{ width:40px; height:40px; border-radius:12px; background:#232d38; display:grid; place-items:center; font:700 14px var(--pd-mf); color:#c2cfdc; transition:background-color .3s,color .3s; }
.pd-mod.is-done .pd-mod__n{ background:#3ddc4a; color:#04210a; }
.pd-mod__t h3{ font-size:16px; font-weight:500; }
.pd-mod__t p{ font-size:13.5px; color:var(--pd-mut); margin-top:2px; }
.pd-mod__bar{ height:8px; border-radius:5px; background:#232d38; overflow:hidden; }
.pd-mod__bar i{ display:block; height:100%; width:0; border-radius:5px; background:#3ddc4a; transition:width .7s cubic-bezier(.3,1,.4,1); }
.pd-mod.is-done .pd-mod__bar i{ width:100%; }
.pd-tick{ min-width:84px; min-height:44px; padding:0 12px; border:0; border-radius:10px; background:transparent; color:var(--pd-mut); font:400 13px var(--pd-mf); text-align:right; cursor:pointer; }
.pd-tick:hover{ color:var(--pd-text); }
.pd-mod.is-done .pd-tick{ color:#3ddc4a; }
/* светлая: цветные карточки модулей */
:root[data-theme="light"] .pd-mods{ grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:22px; }
:root[data-theme="light"] .pd-mod{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-height:190px; padding:22px; border:3px solid #111; border-radius:22px; box-shadow:5px 5px 0 #111; transition:transform .12s, box-shadow .12s; }
:root[data-theme="light"] .pd-mod:hover{ transform:translate(-3px,-3px); box-shadow:8px 8px 0 #111; background:var(--mc); }
:root[data-theme="light"] .pd-mod--0{ --mc:#ffd43b; background:#ffd43b; } :root[data-theme="light"] .pd-mod--1{ --mc:#34c53a; background:#34c53a; } :root[data-theme="light"] .pd-mod--2{ --mc:#8ecbff; background:#8ecbff; } :root[data-theme="light"] .pd-mod--3{ --mc:#ffb3d1; background:#ffb3d1; }
:root[data-theme="light"] .pd-mod__n{ width:auto; height:auto; background:transparent !important; color:#111 !important; font:600 44px/1 var(--pd-hf); }
:root[data-theme="light"] .pd-mod__t h3{ font-size:21px; font-weight:600; }
:root[data-theme="light"] .pd-mod__t p{ color:#1d2430; font-size:14px; margin-top:6px; }
:root[data-theme="light"] .pd-mod__bar, :root[data-theme="light"] .pd-tick{ display:none; }

.pd-extra{ margin-top:56px; }
.pd-extra h3{ font-size:clamp(22px,2.4vw,28px); margin-bottom:6px; }
.pd-extra::before{ content:none; }
.pd .pd-xcs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:12px; margin:20px 0 28px; }
.pd-xc{ display:flex; align-items:center; gap:14px; background:var(--pd-card); border:var(--pd-bd); border-radius:14px; box-shadow:inset 0 0 0 1px #232d38; padding:14px 16px; font-size:15px; }
.pd-xc__n{ flex:none; width:40px; height:40px; border-radius:12px; background:#232d38; display:grid; place-items:center; font:700 14px var(--pd-mf); color:#c2cfdc; }
:root[data-theme="light"] .pd-xc{ border-radius:18px; box-shadow:4px 4px 0 #111; font-weight:600; padding:16px 18px; }
:root[data-theme="light"] .pd-xc__n{ background:#ffd43b; border:2px solid #111; color:#111; }

/* ---------- Тарифы ---------- */
.pd-tars{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:16px; }
:root[data-theme="light"] .pd-tars{ gap:22px; }
.pd-tar{ text-align:left; font:inherit; color:inherit; background:var(--pd-card); border:var(--pd-bd); border-radius:var(--pd-rad); box-shadow:var(--pd-tsh); padding:24px; cursor:pointer; display:flex; flex-direction:column; gap:12px; transition:transform .12s, box-shadow .12s, background-color .2s; }
.pd-tar:hover{ box-shadow:var(--pd-tsh-h); }
:root[data-theme="light"] .pd-tar:hover{ transform:translate(-2px,-2px); }
.pd-tar b{ font-size:20px; font-weight:600; }
.pd-tar__d{ font-size:14px; color:var(--pd-mut); flex:1; }
.pd-tar__p{ font:700 30px/1.1 var(--pd-hf); letter-spacing:-.02em; }
.pd-tar__n{ font:400 13px var(--pd-mf); color:var(--pd-mut); }
:root:not([data-theme="light"]) .pd-tar.is-on{ box-shadow:inset 0 0 0 2px #3ddc4a; background:#14211a; }
:root[data-theme="light"] .pd-tar.is-on{ background:#111; color:#fff; }
:root[data-theme="light"] .pd-tar.is-on .pd-tar__d, :root[data-theme="light"] .pd-tar.is-on .pd-tar__n{ color:#d4dae2; }
:root[data-theme="light"] .pd-tar.is-on .pd-tar__p{ color:#34c53a; }
.pd-pick{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:28px; padding:0 6px 6px 0; }
.pd-pick p{ font-weight:600; }
.pd-pick b{ margin-left:.25em; }

/* ---------- Отзывы ---------- */
.pd-quotes{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:16px; align-items:stretch; }
:root[data-theme="light"] .pd-quotes{ gap:24px; }
.pd .pd-quotes > blockquote, .pd .pd-quotes > details{ background:var(--pd-card); border:var(--pd-bd); border-radius:var(--pd-rad); box-shadow:var(--pd-tsh); padding:26px; margin:0; display:flex; flex-direction:column; gap:18px; color:var(--pd-text); }
.pd-quotes .quote__mark{ display:none; }
.pd-quotes p{ font-size:17px; line-height:1.55; text-wrap:pretty; color:var(--pd-text); margin:0; }
:root[data-theme="light"] .pd-quotes p{ font-size:18px; font-weight:500; }
.pd-quotes summary{ list-style:none; cursor:pointer; display:flex; flex-direction:column; gap:10px; }
.pd-quotes summary::-webkit-details-marker{ display:none; }
.pd-quotes .quote__more{ color:var(--pd-acc); font-size:14px; font-weight:600; }
:root[data-theme="light"] .pd-quotes .quote__more{ color:#111; text-decoration:underline; text-underline-offset:3px; }
.pd-quotes details[open] .quote__more{ display:none; }
.pd-quotes footer{ margin-top:auto; font:400 13px var(--pd-mf); color:var(--pd-acc); }
.pd-quotes footer a{ color:inherit; }
:root[data-theme="light"] .pd-quotes footer{ color:#111; font:600 14px var(--pd-bf); }

/* ---------- Заявка ---------- */
.pd-apply{ padding:88px 0; }
:root[data-theme="light"] .pd-apply{ background:#14181f; color:#fff; border-top:3px solid #111; }
.pd-apply__in{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr)); gap:56px; align-items:start; }
:root:not([data-theme="light"]) .pd-apply__in{ background:var(--pd-card); border-radius:28px; box-shadow:inset 0 0 0 1px #232d38; padding:48px; max-width:1132px; }
.pd-apply__body > p{ margin-top:14px; color:var(--pd-mut); max-width:46ch; font-size:17px; }
:root[data-theme="light"] .pd-apply__body > p{ color:#d4dae2; }
.pd-apply__body a{ color:var(--pd-acc); }
.pd-apply__q{ margin-top:18px !important; display:flex; flex-direction:column; gap:10px; counter-reset:q; font-size:14.5px; color:var(--pd-mut); }
:root[data-theme="light"] .pd-apply__q{ color:#d4dae2; }
.pd-apply__q li{ counter-increment:q; display:flex; gap:12px; }
.pd-apply__q li::before{ content:counter(q); flex:none; min-width:24px; height:24px; display:grid; place-items:center; font:500 13px var(--pd-mf); color:var(--pd-acc); }
:root[data-theme="light"] .pd-apply__q li::before{ border-radius:50%; background:#ffd43b; color:#111; font-weight:600; }
.pd-form{ display:flex; flex-direction:column; gap:16px; }
:root[data-theme="light"] .pd-form{ background:#fff; color:#111; border:3px solid #111; border-radius:28px; padding:28px; box-shadow:8px 8px 0 #34c53a; }
.pd-form label{ display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:500; color:var(--pd-mut); }
:root[data-theme="light"] .pd-form label{ color:#111; font-weight:600; }
.pd-form input:not([type=checkbox]), .pd-form textarea{ font:400 16px var(--pd-bf); color:var(--pd-text); background:#0b0f14; border:0; border-radius:12px; padding:13px 14px; box-shadow:inset 0 0 0 1px #2d3a48; resize:vertical; width:100%; min-height:48px; }
.pd-form input:not([type=checkbox]):focus, .pd-form textarea:focus{ outline:none; box-shadow:inset 0 0 0 2px #3ddc4a; }
:root[data-theme="light"] .pd-form input:not([type=checkbox]), :root[data-theme="light"] .pd-form textarea{ background:#fff; color:#111; border:2px solid #111; box-shadow:none; border-radius:14px; }
:root[data-theme="light"] .pd-form input:not([type=checkbox]):focus, :root[data-theme="light"] .pd-form textarea:focus{ box-shadow:0 0 0 4px #ffd43b; }
.pd-check{ flex-direction:row !important; align-items:flex-start; gap:10px !important; font-weight:400 !important; font-size:13.5px !important; }
.pd-check input{ width:20px; height:20px; margin:2px 0 0; accent-color:var(--pd-acc); flex:none; }
.pd-check a{ color:var(--pd-acc); }
:root[data-theme="light"] .pd-check a{ color:#111; }
.pd-form .pd-btn{ align-self:flex-start; }
:root[data-theme="light"] .pd-form .pd-btn{ background:#ffd43b; }
.pd-err{ color:#ff8a80; font-weight:600; }
:root[data-theme="light"] .pd-err{ color:#b3261e; }
.pd-ok{ font-size:20px; line-height:1.4; color:var(--pd-text); }
:root[data-theme="light"] .pd-ok{ background:#fff; color:#111; border:3px solid #111; border-radius:22px; padding:24px; font-weight:600; box-shadow:8px 8px 0 #34c53a; }

/* ---------- /map ---------- */
.pd-maphead{ padding-top:36px; padding-bottom:28px; }
.pd-back a{ display:inline-flex; align-items:center; min-height:44px; font-weight:500; font-size:15px; text-decoration:none; color:var(--pd-mut); }
.pd-back a:hover{ color:var(--pd-text); }
.pd-maphead__row{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:28px; margin-top:6px; }
.pd-maphead h1{ font-size:clamp(38px,5.4vw,70px); line-height:1.02; }
.pd-maphead .pd-lead{ margin-top:18px; }
.pd-maphead__mas{ width:190px; height:auto; display:block; }

.pd-rail{ position:sticky; top:62px; z-index:20; background:var(--pd-bg); border-bottom:1px solid var(--pd-line); }
:root[data-theme="light"] .pd-rail{ border-bottom:3px solid #111; top:66px; }
.pd-rail__in{ display:flex; gap:8px; overflow-x:auto; padding-top:10px; padding-bottom:10px; scrollbar-width:none; }
.pd-rail__in::-webkit-scrollbar{ display:none; }
.pd-chip{ flex:none; display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 16px 0 8px; border-radius:999px; border:2px solid var(--pd-line); color:var(--pd-text); text-decoration:none; font-weight:500; font-size:14px; transition:background-color .15s; }
:root:not([data-theme="light"]) .pd-chip{ border-color:#2d3a48; }
.pd-chip:hover{ background:var(--pd-card); }
.pd-chip i{ font-style:normal; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font:600 13px var(--pd-bf); background:var(--c); color:#111; }
.pd-chip.is-on{ background:var(--pd-text); color:var(--pd-bg); border-color:var(--pd-text); }
:root[data-theme="light"] .pd-chip{ font-weight:600; }
:root[data-theme="light"] .pd-chip.is-on i{ border:2px solid #111; }

.pd-s1{ --c:#ffd43b; } .pd-s2{ --c:#34c53a; } .pd-s3{ --c:#8ecbff; } .pd-s4{ --c:#ffb3d1; } .pd-s5{ --c:#ffa45c; }
:root:not([data-theme="light"]) .pd-s1,:root:not([data-theme="light"]) .pd-s2,:root:not([data-theme="light"]) .pd-s3,:root:not([data-theme="light"]) .pd-s4,:root:not([data-theme="light"]) .pd-s5{ --c:#3ddc4a; }

.pd-stage-sec{ padding:72px 0 0; }
.pd-stage-g{ display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:56px; align-items:start; }
.pd-stage-h{ position:sticky; top:150px; display:flex; flex-direction:column; gap:14px; }
.pd-eyebrow{ font:600 14px var(--pd-bf); color:var(--pd-mut); }
:root:not([data-theme="light"]) .pd-eyebrow{ font-family:var(--pd-mf); font-weight:400; }
.pd-stage-h h2{ font-size:clamp(26px,3vw,40px); }
.pd-num{ display:grid; place-items:center; width:108px; height:108px; font:700 64px/1 var(--pd-hf); color:#111; background:var(--c); border:3px solid #111; border-radius:26px; box-shadow:6px 6px 0 #111; }
:root:not([data-theme="light"]) .pd-num{ width:auto; height:auto; place-items:start; background:transparent; border:0; box-shadow:none; color:var(--c); font:300 72px/1 var(--pd-mf); }
.pd-stage-il{ width:120px; margin-top:6px; }
.pd-stage-b{ display:flex; flex-direction:column; gap:14px; min-width:0; }
.pd-sl{ font-size:19px; max-width:52ch; }
.pd-ss{ font-weight:600; color:var(--pd-mut); }
.pd-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:20px; }
.pd-cards--two{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pd-card{ background:var(--pd-card); border:var(--pd-bd); border-radius:var(--pd-rad); box-shadow:var(--pd-tsh); padding:22px 24px; display:flex; flex-direction:column; gap:10px; transition:transform .12s, box-shadow .12s; min-width:0; }
.pd-card:hover{ box-shadow:var(--pd-tsh-h); }
:root[data-theme="light"] .pd-card:hover{ transform:translate(-2px,-2px); }
.pd-card small{ align-self:flex-start; font:600 13px var(--pd-bf); color:var(--pd-mut); }
:root:not([data-theme="light"]) .pd-card small{ font-family:var(--pd-mf); font-weight:400; color:var(--c); }
:root[data-theme="light"] .pd-card small{ padding:3px 10px; border-radius:999px; background:var(--c); color:#111; border:2px solid #111; }
.pd-card h3{ font-size:19px; }
.pd-card p{ font-size:15px; color:var(--pd-mut); }
.pd-card p strong, .pd-card li strong{ color:var(--pd-text); font-weight:600; }
.pd-card ul, .pd-card ol{ display:flex; flex-direction:column; gap:6px; font-size:15px; color:var(--pd-mut); }
.pd-card ul{ list-style:none; }
.pd-card ul li{ position:relative; padding-left:16px; }
.pd-card ul li::before{ content:""; position:absolute; left:0; top:.7em; width:6px; height:6px; border-radius:2px; background:var(--c); }
.pd-card ol{ list-style:decimal; padding-left:22px; }
.pd-card ol li::marker{ color:var(--c); font-weight:600; }
.pd-card ol > li > ul{ margin-top:4px; }
.pd-card--wide{ grid-column:1 / -1; }
.pd-cards--plain{ grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); }
.pd-card--plain{ min-height:140px; }
.pd-card--plain p{ font-size:16px; font-weight:500; color:var(--pd-text); }

.pd-ctaband{ margin-top:88px; padding:48px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px; background:#14181f; color:#fff; border-radius:32px; border:var(--pd-bd); box-shadow:var(--pd-tsh); }
:root:not([data-theme="light"]) .pd-ctaband{ background:#131a22; border-radius:24px; }
.pd-ctaband h2{ color:#fff; max-width:18ch; }
.pd-ctaband p{ color:#d4dae2; margin-top:10px; }
.pd-ctaband__r{ display:flex; flex-wrap:wrap; gap:12px; margin:0 !important; }
.pd-tg{ margin:32px 0 0; }
.pd-tg a{ display:inline-flex; align-items:center; gap:12px; min-height:44px; text-decoration:none; font-weight:600; }
.pd-tg a:hover span{ text-decoration:underline; text-underline-offset:4px; }

/* ---------- Адаптив ---------- */
@media (max-width:960px){
  .pd-pair{ grid-template-columns:minmax(0,1fr); }
  :root[data-theme="light"] .pd-feats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pd-stage-g{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .pd-stage-h{ position:static; flex-direction:row; align-items:center; flex-wrap:wrap; gap:16px; }
  .pd-num{ width:76px; height:76px; font-size:44px; }
  :root:not([data-theme="light"]) .pd-num{ width:auto; height:auto; font-size:48px; }
  .pd-stage-il{ display:none; }
  .pd-cards--two{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:720px){
  .pd-wrap{ padding:0 18px; }
  .pd-sec{ padding:60px 0; }
  .pd-hero{ padding-top:32px; }
  .pd-hero__in{ gap:36px; }
  .pd-ide__mas{ width:100px; right:-4px; }
  .pd-men{ flex-direction:column; align-items:flex-start; padding:26px; }
  .pd-stack__row{ grid-template-columns:minmax(0,1fr); gap:10px; }
  .pd-mod{ grid-template-columns:40px minmax(0,1fr) auto; }
  .pd-mod__bar{ display:none; }
  :root:not([data-theme="light"]) .pd-apply__in{ padding:28px; }
  .pd-ctaband{ padding:30px 24px; margin-top:64px; }
  .pd-maphead__mas{ width:130px; }
  .pd-strip{ padding:24px; }
  .pd-strip__il .pd-il{ width:70px; }
  :root[data-theme="light"] .pd-strip__il .pd-il{ width:84px; }
}
@media (max-width:620px){
  .pd-hero__vis.only-light{ overflow:hidden; height:262px; }
  .pd-stage{ transform:scale(.58); transform-origin:50% 0; }
}
@media (max-width:560px){
  :root[data-theme="light"] .pd-feats{ grid-template-columns:minmax(0,1fr); }
  :root[data-theme="light"] .pd-feat--w{ grid-column:auto; }
  .pd-tile > .pd-il{ width:38%; }
  :root[data-theme="light"] .pd-feat, .pd-aud{ min-height:0; padding-bottom:110px; }
  .pd-quotes{ grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce){
  .pd *, .pd *::before, .pd *::after{ animation-duration:.01ms !important; animation-delay:0s !important; transition-duration:.01ms !important; }
}

/* ============================================================
   Вход: тёмная тема остаётся прежней (терминал в окне),
   светлая получает новое оформление и общую шапку.
   ============================================================ */
body.is-login header.top{ display:none; }
:root[data-theme="light"] body.is-login{
  --bg:#ffffff; --surface:#ffffff; --surface-2:#fff4c4; --line:#111111; --line-2:#111111;
  --text:#111111; --text-2:#2c3138; --muted:#4a525d; --accent:#34c53a; --accent-text:#111111;
  --btn-bg:#34c53a; --btn-text:#111111; --btn-bg-h:#4ad550; --field:#ffffff; --field-line:#111111;
  --r:28px; --pd-text:#111; --pd-mut:#4a525d; --pd-line:#111;
  background:#fff; color:#111;
}
:root[data-theme="light"] body.is-login .lp h1, :root[data-theme="light"] body.is-login .lg-win h2{ font-family:var(--pd-hf); font-weight:700; text-transform:uppercase; letter-spacing:-.005em; }
body.is-login .lp h1{ font-size:clamp(36px,4.6vw,56px); line-height:1.04; }
body.is-login .lg__grid{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); grid-template-areas:"side vis" "main vis"; column-gap:56px; row-gap:24px; align-items:center; }
body.is-login .lg__side{ grid-area:side; align-self:end; }
body.is-login .lg__main{ grid-area:main; align-self:start; }
body.is-login .lg__feat, body.is-login .lg-route, body.is-login .lg-win__bar{ display:none; }
body.is-login .lp .lg__lead{ margin-bottom:0; color:#2c3138; }
body.is-login .lg__foot{ display:none; }
:root[data-theme="light"] body.is-login .lg-win{ background:#fff; border:3px solid #111; border-radius:28px; box-shadow:8px 8px 0 #34c53a, 8px 8px 0 3px #111; }
:root[data-theme="light"] body.is-login .lg-win__body{ padding:28px 28px 22px; }
:root[data-theme="light"] body.is-login .lg-row{ font-family:"PD Onest",system-ui,sans-serif; border:2px solid #111; border-radius:14px; }
:root[data-theme="light"] body.is-login .lg-row b{ color:#111; font-weight:600; }
:root[data-theme="light"] body.is-login .lg-row:focus-within{ box-shadow:0 0 0 4px #ffd43b; border-color:#111; }
:root[data-theme="light"] body.is-login .lg-go{ border:3px solid #111; border-radius:999px; box-shadow:4px 4px 0 #111; font-family:"PD Onest",system-ui,sans-serif; font-weight:600; transition:transform .12s, box-shadow .12s, background-color .2s; }
:root[data-theme="light"] body.is-login .lg-go:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 #111; }
:root[data-theme="light"] body.is-login .lg-go em{ font-family:"PD Mono",monospace; }
:root[data-theme="light"] body.is-login .lg-note a{ color:#111; font-weight:600; }
:root[data-theme="light"] body.is-login .lg-error{ border:2px solid #111; border-radius:14px; }
body.is-login .pg::before, body.is-login .pg::after{ display:none; }

.lg-vis{ display:none; }
body.is-login .lg-vis{ display:flex; grid-area:vis; justify-content:center; }
.lg-vis__st{ position:relative; width:100%; max-width:540px; aspect-ratio:1 / .95; }
.lg-vis__bg{ position:absolute; left:10%; right:10%; top:16%; bottom:2%; background:#ffd43b; border:3px solid #111; border-radius:52% 48% 44% 56% / 38% 46% 54% 62%; box-shadow:8px 8px 0 #111; }
.lg-vis__mas{ position:absolute; left:50%; bottom:2%; width:50%; height:auto; transform:translateX(-50%); animation:lgv-bob 4s ease-in-out infinite; }
.lg-vis__q{ position:absolute; left:50%; top:2%; transform:translateX(-50%); width:max-content; max-width:80%; margin:0; padding:10px 16px; background:#fff; border:3px solid #111; border-radius:16px; box-shadow:4px 4px 0 #111; font:600 15px/1.3 "PD Onest",system-ui,sans-serif; color:#111; text-align:center; }
.lg-vis__t{ position:absolute; padding:6px 14px; background:#fff; border:3px solid #111; border-radius:14px; box-shadow:3px 3px 0 #111; font:600 15px "PD Onest",system-ui,sans-serif; color:#111; animation:lgv-float 5s ease-in-out infinite; }
.lg-vis__t.t1{ left:2%; top:20%; } .lg-vis__t.t2{ right:0; top:30%; animation-delay:-1.5s; } .lg-vis__t.t3{ left:0; top:56%; animation-delay:-3s; } .lg-vis__t.t4{ right:4%; top:62%; animation-delay:-2.2s; }
@keyframes lgv-bob{ 0%,100%{ transform:translateX(-50%) translateY(0); } 50%{ transform:translateX(-50%) translateY(-8px); } }
@keyframes lgv-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
@media (max-width:900px){
  body.is-login .lg__grid{ grid-template-columns:minmax(0,1fr); grid-template-areas:"vis" "side" "main"; }
  body.is-login .lg-vis__st{ max-width:320px; }
  .lg-vis__t{ font-size:13px; padding:4px 10px; }
  .lg-vis__q{ display:none; }
}
@media (prefers-reduced-motion:reduce){ .lg-vis__mas, .lg-vis__t{ animation:none; } }


/* ================= Обновление 45 ================= */
/* кнопки-ссылки: .pd a{color:inherit} перебивал цвет, в тёмной теме текст был белым */
.pd a.pd-btn{ color:var(--pd-acc-ink); }
.pd a.pd-btn--line{ color:var(--pd-text); }
.pd a.pd-btn--yellow{ color:#111; }
.pd a.pd-btn--ghost{ color:#fff; }
.pd-btn--sm{ min-height:44px; padding:0 20px; font-size:15px; }

/* длинные слова не вылезают за карточку */
/* переносов внутри слов нет: слово либо помещается, либо переходит на новую строку целиком */
.pd, .pd *{ hyphens:none; -webkit-hyphens:none; overflow-wrap:normal; word-break:normal; }

/* шрифты как в эскизе светлой темы: Onest 500 в тексте, 700 в заголовках, Oswald 28px в плитках */
:root[data-theme="light"] .pd{ font-weight:500; }
:root[data-theme="light"] .pd h3{ font-weight:700; }
:root[data-theme="light"] .pd-btn, :root[data-theme="light"] .top-pyd .pd-btn{ font-weight:700; }
:root[data-theme="light"] .pd-feat h3,:root[data-theme="light"] .pd-aud h3{ font-size:28px; line-height:1.05; }
:root[data-theme="light"] .pd-mod__t h3{ font-weight:700; }
:root[data-theme="light"] .pd-tile--green{ background:#34c53a; }
:root[data-theme="light"] .pd-tile--green > p{ color:#10241a; }

/* «Весь стек по категориям» — кнопка и раскрытие */
.pd-more{ margin-top:18px; }
.pd-more > .pd-btn svg{ transition:transform .35s cubic-bezier(.3,1,.4,1); }
.pd-more.is-open > .pd-btn svg{ transform:rotate(180deg); }
.pd-more__p{ display:grid; grid-template-rows:0fr; opacity:0; visibility:hidden; transition:grid-template-rows .5s cubic-bezier(.3,1,.4,1), opacity .35s ease, visibility 0s linear .5s; }
.pd-more.is-open .pd-more__p{ grid-template-rows:1fr; opacity:1; visibility:visible; transition:grid-template-rows .5s cubic-bezier(.3,1,.4,1), opacity .35s ease, visibility 0s; }
.pd-more__in{ overflow:hidden; min-height:0; }
.pd-more .pd-stack{ margin-top:14px; }
.pd-more.is-open .pd-stack__row{ animation:pdRow .5s cubic-bezier(.3,1,.4,1) both; animation-delay:calc(var(--i,0) * 70ms + 80ms); }
@keyframes pdRow{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

/* модули: нажимается вся карточка, прогресс виден на каждом блоке в обеих темах */
.pd-mod{ cursor:pointer; }
.pd-xp{ display:flex; }
:root[data-theme="light"] .pd-xp{ border-bottom:3px solid #111; padding-bottom:16px; margin-bottom:22px; }
:root[data-theme="light"] .pd-xp b{ font:700 34px/1 var(--pd-hf); text-transform:uppercase; }
:root[data-theme="light"] .pd-xp > span{ color:#111; font-weight:600; }
:root[data-theme="light"] .pd-mod{ position:relative; }
:root[data-theme="light"] .pd-mod__t{ flex:1 1 auto; }
:root[data-theme="light"] .pd-mod__bar{ display:block; width:100%; height:12px; margin-top:auto; border:2px solid #111; border-radius:99px; background:rgba(255,255,255,.7); }
:root[data-theme="light"] .pd-mod__bar i{ background:#111; border-radius:99px; }
:root[data-theme="light"] .pd-tick{ display:inline-flex; align-items:center; justify-content:center; min-width:0; min-height:36px; padding:0 14px; border:2px solid #111; border-radius:99px; background:#fff; color:#111; font:700 13px var(--pd-bf); text-align:center; transition:background-color .2s,color .2s; }
:root[data-theme="light"] .pd-mod.is-done .pd-tick{ background:#111; color:#fff; }
:root[data-theme="light"] .pd-mod.is-done .pd-tick span::before{ content:"✓ "; }
:root[data-theme="light"] .pd-mod .pd-mod__n{ transition:transform .2s; }
:root[data-theme="light"] .pd-mod.is-done .pd-mod__n{ transform:scale(1.04); }
:root:not([data-theme="light"]) .pd-mod .pd-tick{ border:1px solid #2d3a48; }
:root:not([data-theme="light"]) .pd-mod.is-done .pd-tick{ border-color:#3ddc4a; }

/* дополнительные модули */
.pd-extra__h{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin-bottom:6px; }
.pd-extra__h h3{ margin:0; }
.pd-extra__h p{ color:var(--pd-mut); max-width:54ch; font-size:17px; }
:root[data-theme="light"] .pd-extra__h h3{ font:700 clamp(28px,3vw,34px)/1.05 var(--pd-hf); text-transform:uppercase; }
:root[data-theme="light"] .pd-extra__h p{ color:#2c3138; font-size:19px; }
.pd .pd-xcs{ grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:20px; margin:22px 0 30px; }
.pd-xc{ flex-direction:column; align-items:flex-start; justify-content:space-between; gap:14px; min-height:130px; padding:20px; border-radius:18px; }
.pd-xc > div{ display:flex; flex-direction:column; gap:4px; }
.pd-xc h4{ font:600 18px/1.25 var(--pd-bf); margin:0; }
.pd-xc__n{ width:auto; height:auto; background:transparent; display:block; font:600 32px/1 var(--pd-mf); color:#c2cfdc; }
.pd-xc__lab{ font-size:12px; font-weight:600; padding:2px 10px; border-radius:99px; box-shadow:inset 0 0 0 1px #3a4756; color:var(--pd-mut); }
:root[data-theme="light"] .pd-xc{ background:#fff; border:3px solid #111; border-radius:22px; box-shadow:5px 5px 0 #111; padding:22px; transition:transform .12s, box-shadow .12s; }
:root[data-theme="light"] .pd-xc:hover{ transform:translate(-3px,-3px); box-shadow:8px 8px 0 #111; }
:root[data-theme="light"] .pd-xc__lab{ font-weight:800; border:2px solid #111; background:#ffd43b; color:#111; box-shadow:none; }
:root[data-theme="light"] .pd-xc__n{ background:transparent; border:0; color:#111; font:700 36px/1 var(--pd-hf); }
:root[data-theme="light"] .pd-xc h4{ font-size:19px; font-weight:700; }

/* /map: Telegram под кнопками внутри плашки */
.pd-ctaband__r{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin:0 !important; }
.pd-ctaband__b{ display:flex; flex-wrap:wrap; gap:12px; margin:0 !important; }
.pd-ctaband .pd-tg{ margin:0 !important; }
.pd-ctaband .pd-tg a{ color:#fff; min-height:40px; }

/* вход, светлая тема: «Забыли пароль?» и подсказка про доступ как в эскизе */
.lg-forgot{ margin:-4px 0 12px; font-size:15px; }
.lg-forgot a{ font-weight:700; color:#111; text-underline-offset:3px; }
.lg-help{ margin-top:18px; padding-top:16px; border-top:2px solid #111; font-size:15px; color:#2c3138; }
.lg-help a{ font-weight:700; color:#111; text-underline-offset:3px; }

:root[data-theme="light"] .pd .pd-stage-h h2{ font-size:clamp(24px,2.45vw,33px); line-height:1.08; }

/* ================= Обновление 46 ================= */
/* подтемы модулей списком меток */
.pd-topics{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.pd-topics li{ display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px 6px; padding:4px 10px; border-radius:99px; font-size:13px; line-height:1.3; font-weight:500; background:#1b2530; color:#c9d5e1; box-shadow:inset 0 0 0 1px #2d3a48; }
.pd-topics__sub{ display:inline-flex; flex-wrap:wrap; gap:4px; }
.pd-topics__sub i{ font:400 12px var(--pd-mf); font-style:normal; padding:1px 7px; border-radius:99px; background:#0f161d; color:#7fe08a; }
:root[data-theme="light"] .pd-topics{ gap:7px; margin-top:10px; }
:root[data-theme="light"] .pd-topics li{ background:#fff; color:#111; font-weight:600; font-size:13.5px; box-shadow:none; border:2px solid #111; }
:root[data-theme="light"] .pd-topics__sub i{ background:#ffd43b; color:#111; border:1.5px solid #111; font-weight:500; }
.pd-mod__t h3{ margin-bottom:0; }

/* тёмная тема: вместо слов «сдан/впереди» круглая отметка */
:root:not([data-theme="light"]) .pd-tick{ min-width:44px; width:44px; padding:0; display:grid; place-items:center; border:0; background:transparent; }
:root:not([data-theme="light"]) .pd-tick span{ display:none; }
:root:not([data-theme="light"]) .pd-tick::before{ content:"✓"; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; box-shadow:inset 0 0 0 2px #3a4756; color:transparent; font:700 15px/1 var(--pd-bf); transition:background-color .25s, box-shadow .25s, color .25s; }
:root:not([data-theme="light"]) .pd-mod:hover .pd-tick::before{ box-shadow:inset 0 0 0 2px #7d8fa3; }
:root:not([data-theme="light"]) .pd-mod.is-done .pd-tick::before{ background:#3ddc4a; box-shadow:none; color:#04210a; }
:root:not([data-theme="light"]) .pd-mod{ align-items:start; padding:12px 8px; }
:root:not([data-theme="light"]) .pd-mod__n, :root:not([data-theme="light"]) .pd-tick{ margin-top:0; }
:root:not([data-theme="light"]) .pd-mod__bar{ margin-top:16px; }
:root:not([data-theme="light"]) .pd-mod .pd-tick{ margin-top:-2px; }

/* отзывы: жёлтая планка */
.pd-badge{ align-self:flex-start; display:inline-flex; align-items:center; padding:5px 14px; border-radius:99px; background:#ffd43b; color:#111; font:700 14px/1.2 var(--pd-bf); letter-spacing:0; }
:root[data-theme="light"] .pd-badge{ border:2px solid #111; box-shadow:2px 2px 0 #111; }
.pd-quotes summary .pd-badge{ margin-bottom:2px; }
.pd .pd-quotes blockquote, .pd .pd-quotes details{ gap:14px; }

/* меню на телефоне */
.pd-burger{ display:none; position:relative; flex:none; width:44px; height:44px; padding:0; border:1.5px solid var(--pd-line2); border-radius:12px; background:var(--pd-bg); color:var(--pd-text); cursor:pointer; }
:root[data-theme="light"] .pd-burger{ border:3px solid #111; background:#fff; }
.pd-burger span, .pd-burger span::before, .pd-burger span::after{ position:absolute; left:50%; width:20px; height:2.5px; margin-left:-10px; border-radius:2px; background:currentColor; content:""; transition:transform .25s, opacity .2s, top .25s; }
.pd-burger span{ top:50%; margin-top:-1.25px; }
.pd-burger span::before{ top:-7px; left:0; margin-left:0; }
.pd-burger span::after{ top:7px; left:0; margin-left:0; }
.top-pyd.is-menu .pd-burger span{ background:transparent; }
.top-pyd.is-menu .pd-burger span::before{ top:0; transform:rotate(45deg); }
.top-pyd.is-menu .pd-burger span::after{ top:0; transform:rotate(-45deg); }
.pd-burger:focus-visible{ outline:3px solid var(--pd-focus); outline-offset:3px; }
@media (max-width:1040px){
  .pd-burger{ display:inline-block; }
  .pd-bar{ position:relative; }
  .top-pyd .pd-nav{ display:flex; flex-direction:column; gap:0; position:absolute; left:0; right:0; top:100%; margin:0; padding:6px 24px 14px; background:var(--pd-bg); border-bottom:1px solid var(--pd-line); box-shadow:0 18px 30px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s, transform .25s, visibility 0s linear .25s; }
  :root[data-theme="light"] .top-pyd .pd-nav{ border-bottom:3px solid #111; box-shadow:none; }
  .top-pyd.is-menu .pd-nav{ opacity:1; visibility:visible; transform:none; transition:opacity .2s, transform .25s, visibility 0s; }
  .top-pyd .pd-nav a{ font-size:18px; padding:14px 0; border-bottom:1px solid var(--pd-line); }
  :root[data-theme="light"] .top-pyd .pd-nav a{ border-bottom:2px solid #111; }
  .top-pyd .pd-nav a:last-child{ border-bottom:0; }
}
@media (max-width:420px){
  .pd-bar{ gap:8px; }
  .pd-bar__r{ gap:6px; }
  .pd-brand img{ height:24px; }
  .pd-bar__r .pd-btn{ padding:0 12px; font-size:14px; }
  .pd-bar__r .pub-theme, .pd-burger{ width:40px; height:40px; }
}

.pd-nav .pd-nav__m{ display:none; }
@media (max-width:1040px){
  .top-pyd .pd-nav .pd-nav__m{ display:block; }
  .top-pyd .pd-nav .pd-nav__cta{ margin-top:14px; border:var(--pd-bbd); border-radius:var(--pd-brad); padding:14px 20px; text-align:center; background:var(--pd-acc); color:var(--pd-acc-ink); font-weight:700; box-shadow:var(--pd-bsh); }
  .top-pyd .pd-nav .pd-nav__cta:last-child{ border-bottom:var(--pd-bbd); }
}
@media (max-width:420px){ .pd-bar__r > .pd-btn:not(.pd-btn--line){ display:none; } }
/* заголовки: помещаются без переносов внутри слов */
.pd .pd-stage-h h2{ font-size:clamp(22px,2.1vw,29px); line-height:1.1; }
:root[data-theme="light"] .pd .pd-stage-h h2{ font-size:clamp(24px,2.45vw,33px); line-height:1.08; }
:root[data-theme="light"] .pd-feat h3,:root[data-theme="light"] .pd-aud h3{ font-size:clamp(20px,2.1vw,28px); }
.pd-quotes .quote__body, .pd-quotes p{ white-space:pre-line; }
.pd-bar__r .pub-theme{ order:1; } .pd-bar__r > .pd-btn, .pd-bar__r > .pd-link{ order:2; } .pd-burger{ order:3; }

/* ================= Обновление 47 ================= */
/* цифры: как в эскизе, текст всегда слева */
.pd-band, .pd-band__in, .pd-stat{ text-align:left; }
.pd-stat{ align-items:flex-start; }
:root[data-theme="light"] .pd-stat{ gap:6px; }
:root[data-theme="light"] .pd-stat__n{ font-size:clamp(56px,8vw,112px); line-height:.95; letter-spacing:-.01em; }
:root[data-theme="light"] .pd-stat__l{ font-weight:700; max-width:24ch; }

/* прогресс модулей в процентах */
.pd-xp b{ font:600 34px/1 var(--pd-mf); color:var(--pd-acc); }
:root[data-theme="light"] .pd-xp b{ color:#111; font:700 40px/1 var(--pd-hf); text-transform:none; }
.pd-xp > span:not(.pd-xp__bar){ flex:1 1 280px; text-align:right; }
.pd-xp__bar{ flex:1 1 100%; display:block; height:10px; border-radius:99px; background:#232d38; overflow:hidden; margin-top:2px; }
.pd-xp__bar i{ display:block; height:100%; border-radius:99px; background:#3ddc4a; transition:width .6s cubic-bezier(.3,1,.4,1); }
:root[data-theme="light"] .pd-xp__bar{ height:16px; background:#fff; border:3px solid #111; }
:root[data-theme="light"] .pd-xp__bar i{ background:#34c53a; border-right:3px solid #111; box-sizing:content-box; }
@media (max-width:620px){ .pd-xp > span:not(.pd-xp__bar){ text-align:left; flex-basis:100%; } }

/* доп. модули: подпись под заголовком, мельче */
.pd-extra__h{ flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:6px; }
.pd-extra__h p, :root[data-theme="light"] .pd-extra__h p{ font-size:15px; line-height:1.5; max-width:60ch; }

/* /privacy и /offer */
.pd-legal{ padding-top:20px; padding-bottom:72px; max-width:900px; }
.pd-doc{ background:var(--pd-card); border:var(--pd-bd); border-radius:var(--pd-rad); box-shadow:var(--pd-tsh); padding:44px 48px; color:var(--pd-text); }
:root:not([data-theme="light"]) .pd-doc{ box-shadow:inset 0 0 0 1px #232d38; }
.pd-doc .legal{ max-width:none; }
.pd-doc h1{ font-size:clamp(26px,3.2vw,38px); line-height:1.12; margin:0 0 18px; }
.pd-doc h2{ font-family:var(--pd-bf); font-size:clamp(19px,2vw,23px); line-height:1.25; font-weight:700; letter-spacing:-.01em; margin:34px 0 12px; text-transform:none; }
:root[data-theme="light"] .pd-doc h2{ padding-top:14px; border-top:3px solid #111; }
:root:not([data-theme="light"]) .pd-doc h2{ padding-top:14px; border-top:1px solid #232d38; }
.pd-doc h1 + p, .pd-doc p{ font-size:16px; line-height:1.7; margin:0 0 12px; color:var(--pd-text); max-width:none; }
:root:not([data-theme="light"]) .pd-doc p, :root:not([data-theme="light"]) .pd-doc li{ color:#c9d5e1; }
.pd-doc ul, .pd-doc ol{ margin:0 0 14px; padding-left:1.3em; list-style:revert; }
.pd-doc li{ font-size:16px; line-height:1.65; margin:0 0 6px; }
.pd-doc a{ color:var(--pd-text); text-underline-offset:3px; font-weight:600; }
:root:not([data-theme="light"]) .pd-doc a{ color:var(--pd-acc); }
.pd-doc .legal-scan{ margin:22px 0 0; }
.pd-doc .legal-scan img{ border:var(--pd-bd); border-radius:16px; box-shadow:var(--pd-bsh); margin-bottom:22px; }
:root:not([data-theme="light"]) .pd-doc .legal-scan img{ border:1px solid #2d3a48; box-shadow:none; }
@media (max-width:620px){ .pd-doc{ padding:26px 20px; border-radius:20px; } }
:root[data-theme="light"] .pd .pd-doc h1, .pd .pd-doc h1{ font-size:clamp(26px,3vw,36px); line-height:1.1; margin:0 0 20px; }
:root[data-theme="light"] .pd .pd-doc h2, .pd .pd-doc h2{ font-family:var(--pd-bf); font-size:clamp(19px,2vw,22px); line-height:1.25; font-weight:700; text-transform:none; letter-spacing:-.01em; margin:32px 0 12px; }

/* ================= Обновление 48 ================= */
/* цифры как в эскизе: крупно, сетка auto-fit, «160–350к» переносится после тире */
:root[data-theme="light"] .pd-band__in{ grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:40px; }
:root[data-theme="light"] .pd-stat__n{ font-size:clamp(64px,9vw,120px); line-height:.95; letter-spacing:-.005em; white-space:normal; }
.pd-stat__n{ white-space:normal; }
/* на телефоне блок с цифрами по центру */
@media (max-width:900px){
  .pd-band__in{ grid-template-columns:minmax(0,1fr); }
  .pd-band, .pd-band__in, .pd-stat{ text-align:center; }
  .pd-stat{ align-items:center; }
  .pd-stat__l{ margin-left:auto; margin-right:auto; }
}


/* ================= Обновление 49: тёмный вход в новом стиле ================= */
:root:not([data-theme="light"]) body.is-login{
  --bg:#0b0f14; --surface:#131a22; --surface-2:#0e141c; --line:#232d38; --line-2:#3a4756;
  --text:#e6edf3; --text-2:#a9b8c8; --muted:#9fb0c1; --accent:#3ddc4a; --accent-text:#04210a;
  --btn-bg:#3ddc4a; --btn-text:#0b0f14; --btn-bg-h:#6af074; --field:#0b0f14; --field-line:#2d3a48; --r:20px;
  background:#0b0f14; color:#e6edf3;
}
:root:not([data-theme="light"]) body.is-login .lp h1, :root:not([data-theme="light"]) body.is-login .lg-win h2{ font-family:var(--pd-hf); font-weight:600; letter-spacing:-.02em; color:#e6edf3; }
:root:not([data-theme="light"]) body.is-login .lp .lg__lead{ color:#a9b8c8; }
:root:not([data-theme="light"]) body.is-login .lg-win{ background:#131a22; border:0; border-radius:20px; box-shadow:inset 0 0 0 1px #232d38; }
:root:not([data-theme="light"]) body.is-login .lg-win__body{ padding:28px 28px 22px; }
:root:not([data-theme="light"]) body.is-login .lg-win__sub{ color:#9fb0c1; }
:root:not([data-theme="light"]) body.is-login .lg-row{ font-family:var(--pd-bf); background:#0b0f14; border:0; border-radius:12px; box-shadow:inset 0 0 0 1px #2d3a48; }
:root:not([data-theme="light"]) body.is-login .lg-row b{ color:#9fb0c1; font-weight:500; }
:root:not([data-theme="light"]) body.is-login .lg-row input{ color:#e6edf3; }
:root:not([data-theme="light"]) body.is-login .lg-row:focus-within{ box-shadow:inset 0 0 0 2px #3ddc4a; }
:root:not([data-theme="light"]) body.is-login .lg-go{ background:#3ddc4a; color:#0b0f14; border:0; border-radius:12px; box-shadow:none; font-family:var(--pd-bf); font-weight:600; transition:transform .12s, background-color .2s; }
:root:not([data-theme="light"]) body.is-login .lg-go:hover{ background:#6af074; transform:translateY(-2px); }
:root:not([data-theme="light"]) body.is-login .lg-go em{ font-family:var(--pd-mf); color:#0b0f14; opacity:.7; }
:root:not([data-theme="light"]) body.is-login .lg-note, :root:not([data-theme="light"]) body.is-login .lg-or span{ color:#9fb0c1; }
:root:not([data-theme="light"]) body.is-login .lg-or::before, :root:not([data-theme="light"]) body.is-login .lg-or::after{ background:#232d38; }
:root:not([data-theme="light"]) body.is-login .lg-note a, :root:not([data-theme="light"]) body.is-login .lg-forgot a, :root:not([data-theme="light"]) body.is-login .lg-help a{ color:#3ddc4a; }
:root:not([data-theme="light"]) body.is-login .lg-error{ border:0; border-radius:12px; box-shadow:inset 0 0 0 1px #ff6b6b; }
:root:not([data-theme="light"]) .lg-forgot a{ font-weight:600; }
:root:not([data-theme="light"]) .lg-help{ border-top:1px solid #232d38; color:#9fb0c1; }
/* картинка справа в тёмной теме */
:root:not([data-theme="light"]) .lg-vis__bg{ background:#131a22; border:0; border-radius:28px; box-shadow:inset 0 0 0 1px #232d38; left:6%; right:6%; top:14%; bottom:0; }
:root:not([data-theme="light"]) .lg-vis__mas{ background:#fff; border-radius:24px 24px 0 0; padding:8px 8px 0; width:46%; bottom:0; }
:root:not([data-theme="light"]) .lg-vis__q{ background:#131a22; color:#e6edf3; border:0; border-radius:14px; box-shadow:inset 0 0 0 1px #3ddc4a; }
:root:not([data-theme="light"]) .lg-vis__t{ background:#131a22; color:#c9d5e1; border:0; border-radius:12px; box-shadow:inset 0 0 0 1px #3a4756; font:500 13px var(--pd-mf); }

/* ===== Обновление 50: тёмный вход — код вместо картинки, технологии вокруг ===== */
.lg-ide, .lg-chip{ display:none; }
:root:not([data-theme="light"]) body.is-login .lg-vis__bg,
:root:not([data-theme="light"]) body.is-login .lg-vis__mas,
:root:not([data-theme="light"]) body.is-login .lg-vis__q,
:root:not([data-theme="light"]) body.is-login .lg-vis__t{ display:none; }
:root:not([data-theme="light"]) body.is-login .lg-vis__st{ max-width:560px; aspect-ratio:1 / .96; }
:root:not([data-theme="light"]) body.is-login .lg-ide{ display:block; position:absolute; left:7%; right:7%; top:19%; background:#101620; border-radius:18px; box-shadow:inset 0 0 0 1px #232d38; }
:root:not([data-theme="light"]) body.is-login .lg-ide .pd-ide__code{ font-size:13px; min-height:0; padding:18px 16px 6px; }
:root:not([data-theme="light"]) body.is-login .lg-ide .pd-ide__out{ font-size:13px; padding:12px 16px 16px; }
:root:not([data-theme="light"]) body.is-login .lg-chip{
  display:inline-flex; align-items:center; gap:8px; position:absolute; padding:7px 13px; border-radius:12px;
  background:#131a22; box-shadow:inset 0 0 0 1px #2d3a48; color:#c9d5e1; font:500 13px/1 var(--pd-mf);
  animation:lgv-float 6s ease-in-out infinite; will-change:transform;
}
:root:not([data-theme="light"]) body.is-login .lg-chip::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--dot,#3ddc4a); flex:none; }
.lg-chip.k1{ left:1%; top:5%; animation-delay:-.4s; }
.lg-chip.k2{ left:52%; top:1%; animation-delay:-2.1s; }
.lg-chip.k3{ right:0; top:10%; animation-delay:-3.3s; }
.lg-chip.k4{ left:-2%; top:44%; animation-delay:-1.2s; }
.lg-chip.k5{ right:-3%; top:52%; animation-delay:-4.4s; }
.lg-chip.k6{ left:6%; bottom:6%; animation-delay:-2.7s; }
.lg-chip.k7{ left:46%; bottom:0; animation-delay:-5s; }
.lg-chip.k8{ right:4%; bottom:9%; animation-delay:-3.8s; }
@media (max-width:900px){
  :root:not([data-theme="light"]) body.is-login .lg-vis__st{ max-width:360px; aspect-ratio:1 / .98; }
  :root:not([data-theme="light"]) body.is-login .lg-ide{ left:0; right:0; top:20%; }
  :root:not([data-theme="light"]) body.is-login .lg-ide .pd-ide__code{ font-size:10.5px; padding:14px 12px 4px; }
  :root:not([data-theme="light"]) body.is-login .lg-ide .pd-ide__out{ font-size:10.5px; padding:10px 12px 12px; }
  :root:not([data-theme="light"]) body.is-login .lg-chip{ font-size:11px; padding:5px 9px; border-radius:10px; gap:6px; }
  .lg-chip.k4{ display:none !important; } .lg-chip.k5{ right:2%; top:auto; bottom:22%; }
}
@media (prefers-reduced-motion:reduce){ .lg-chip{ animation:none !important; } }

/* ===== Обновление 51: фото ментора в блоке «Кто ведёт программу», логотип без белой подложки ===== */
.pd-men{ gap:34px; padding:30px 34px 30px 30px; }
.pd-men .pd-men__ph{ position:relative; flex:none; width:256px; margin:0; }
.pd-men .pd-men__ph img{ display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; object-position:50% 10%; border-radius:22px; background:#0b0f14; }
.pd-men__ph figcaption{ position:absolute; left:-12px; bottom:16px; display:flex; flex-direction:column; gap:2px; padding:8px 14px 9px; line-height:1.15; }
.pd-men__ph figcaption b{ font-weight:700; }
.pd-men__ph figcaption span{ font-size:12px; }
:root[data-theme="light"] .pd-men .pd-men__ph img{ border:3px solid #111; box-shadow:8px 8px 0 #ffd43b, 8px 8px 0 3px #111; }
:root[data-theme="light"] .pd-men__ph figcaption{ background:#34c53a; color:#111; border:3px solid #111; border-radius:14px; box-shadow:4px 4px 0 #111; transform:rotate(-3deg); font-family:var(--pd-hf); text-transform:uppercase; letter-spacing:.02em; }
:root[data-theme="light"] .pd-men__ph figcaption b{ font-size:17px; }
:root[data-theme="light"] .pd-men__ph figcaption span{ font-family:var(--pd-bf); text-transform:none; font-weight:600; letter-spacing:0; }
:root:not([data-theme="light"]) .pd-men .pd-men__ph img{ border-radius:18px; box-shadow:0 0 0 1px #2d3a48; }
:root:not([data-theme="light"]) .pd-men__ph figcaption{ left:12px; right:12px; bottom:12px; background:rgba(11,15,20,.88); border-radius:12px; box-shadow:inset 0 0 0 1px #3a4756; font-family:var(--pd-bf); color:#e6edf3; }
:root:not([data-theme="light"]) .pd-men__ph figcaption b{ font-size:15px; font-weight:600; }
:root:not([data-theme="light"]) .pd-men__ph figcaption span{ font-family:var(--pd-mf); color:#3ddc4a; }
@media (max-width:1040px){ .pd-men .pd-men__ph{ width:200px; } }
@media (max-width:720px){
  .pd-men{ gap:26px; padding:24px; }
  .pd-men .pd-men__ph{ width:min(100%,260px); margin-left:8px; }
}
