/* Единая светлая/тёмная система поверх исходного дизайна */
:root{
  --u-radius-xl:30px;
  --u-radius-lg:24px;
  --u-radius-md:16px;
  --u-accent:#c7653f;
  --u-accent-dark:#a94b2c;
  --u-ease:cubic-bezier(.2,.8,.2,1);
}

html[data-theme="dark"]{
  --u-bg:#0a0c0d;
  --u-surface:#111516;
  --u-surface-2:#171b1c;
  --u-card:#15191a;
  --u-text:#f5f1e9;
  --u-muted:#b8b9b4;
  --u-soft:#939691;
  --u-line:rgba(255,255,255,.13);
  --u-shadow:0 26px 80px rgba(0,0,0,.38);
}

html[data-theme="light"]{
  --u-bg:#f4f0e8;
  --u-surface:#fbf8f2;
  --u-surface-2:#eee7dc;
  --u-card:#fffdf8;
  --u-text:#24211d;
  --u-muted:#625b52;
  --u-soft:#81786d;
  --u-line:#d9d0c2;
  --u-shadow:0 24px 70px rgba(60,45,30,.13);
}

html,body{background:var(--u-bg)!important;color:var(--u-text)!important}
body{transition:background-color .35s ease,color .35s ease}
.lab-root,.sc-host>div,body>main,body>.page,body>.lab-page{color:var(--u-text)!important}

/* Переключатель темы */
.theme-toggle{
  flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:40px;padding:8px 13px;border:1px solid var(--u-line);border-radius:14px;
  background:var(--u-card);background:color-mix(in srgb,var(--u-card) 82%,transparent);color:var(--u-text);
  font:500 12px/1 'IBM Plex Sans',Arial,sans-serif;cursor:pointer;
  box-shadow:0 8px 26px rgba(0,0,0,.08);backdrop-filter:blur(16px);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.theme-toggle:hover{transform:translateY(-1px);border-color:var(--u-accent)}
.theme-toggle__icon{font-size:18px;line-height:1}
.theme-toggle__text{white-space:nowrap}
body .theme-toggle{background:var(--u-card)!important;color:var(--u-text)!important;border:1px solid var(--u-line)!important}
.sc-host>div>header>div:has(>.theme-toggle),.lab-root>header>div:has(>.theme-toggle),body>div>header>div:has(>.theme-toggle){background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}

/* Общая геометрия */
.lab-root section img,.sc-host img,body main img{border-radius:var(--u-radius-lg)!important}
.lab-root figure,.sc-host figure,body main figure{border-radius:var(--u-radius-lg)!important;overflow:hidden}
.lab-root details,.sc-host details,body main details{border-radius:var(--u-radius-md)!important}
.lab-root input,.lab-root textarea,.lab-root select,.lab-root button,
.sc-host input,.sc-host textarea,.sc-host select,.sc-host button{border-radius:14px!important}
.lab-root a[style*="background:#bf5d38"],.lab-root button[style*="background:#bf5d38"],
.sc-host a[style*="background:#bf5d38"]{border-radius:14px!important}
.lab-root .lab-action-cta{
  background:var(--u-accent-dark)!important;color:#fff!important;
  border-color:var(--u-accent-dark)!important;border-radius:14px!important;
  box-shadow:0 12px 34px rgba(169,75,44,.24);
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease!important
}
.lab-root .lab-action-cta:hover{
  background:#8f3d25!important;color:#fff!important;border-color:#8f3d25!important;
  transform:translateY(-2px);box-shadow:0 18px 42px rgba(169,75,44,.32)
}

/* Контраст и поверхности тёмной темы */
html[data-theme="dark"] body{
  background:radial-gradient(circle at 12% 8%,rgba(199,101,63,.14),transparent 25rem),radial-gradient(circle at 88% 34%,rgba(143,194,179,.07),transparent 28rem),var(--u-bg)!important;
}
html[data-theme="dark"] .lab-root,html[data-theme="dark"] .sc-host>div{background:transparent!important;color:var(--u-text)!important}
html[data-theme="dark"] .lab-root>header,html[data-theme="dark"] body header,
html[data-theme="dark"] .sc-host>div>header{background:rgba(10,12,13,.86)!important;border-color:var(--u-line)!important}
html[data-theme="dark"] .lab-root>section,html[data-theme="dark"] .sc-host>div>section,
html[data-theme="dark"] body main section{background:transparent!important;color:var(--u-text)!important;border-color:var(--u-line)!important}
html[data-theme="dark"] .lab-root h1,html[data-theme="dark"] .lab-root h2,html[data-theme="dark"] .lab-root h3,
html[data-theme="dark"] .sc-host h1,html[data-theme="dark"] .sc-host h2,html[data-theme="dark"] .sc-host h3{color:var(--u-text)!important}
html[data-theme="dark"] .lab-root p,html[data-theme="dark"] .lab-root li,
html[data-theme="dark"] .sc-host p,html[data-theme="dark"] .sc-host li{color:var(--u-muted)!important}
html[data-theme="dark"] #sroki>div>div[style*="display:grid"]>div,
html[data-theme="dark"] #sroki>div>div[style*="border-left"],
html[data-theme="dark"] .lab-root [style*="background:#fbf9f3"],
html[data-theme="dark"] .lab-root [style*="background:#ebe5d9"],
html[data-theme="dark"] .lab-root [style*="background:#fff"],
html[data-theme="dark"] .sc-host [style*="background: rgb(251, 249, 243)"],
html[data-theme="dark"] .sc-host [style*="background: rgb(243, 239, 231)"],
html[data-theme="dark"] .sc-host [style*="background: rgb(235, 229, 217)"],
html[data-theme="dark"] .sc-host [style*="background: rgb(255, 255, 255)"]{
  background:var(--u-card)!important;color:var(--u-text)!important;border-color:var(--u-line)!important
}
html[data-theme="dark"] #sroki>div>div[style*="display:grid"]>div,
html[data-theme="dark"] #sroki>div>div[style*="border-left"]{box-shadow:inset 0 0 0 1px var(--u-line)}
html[data-theme="dark"] #sroki h3,html[data-theme="dark"] #sroki p,
html[data-theme="dark"] #garantiya h2,html[data-theme="dark"] #garantiya p,
html[data-theme="dark"] #garantiya span{color:var(--u-text)!important}
html[data-theme="dark"] #sroki p,html[data-theme="dark"] #garantiya p{color:var(--u-muted)!important}
html[data-theme="dark"] #garantiya{background:linear-gradient(135deg,#141819,#0c0f10)!important}
html[data-theme="dark"] #garantiya>div{background:rgba(255,255,255,.035);border:1px solid var(--u-line);border-radius:var(--u-radius-xl);padding-left:clamp(24px,5vw,56px)!important;padding-right:clamp(24px,5vw,56px)!important}
html[data-theme="dark"] #garantiya>div>div:first-child>span:first-child{color:#e27d52!important}
html[data-theme="dark"] #garantiya>div>div:first-child>span:last-child{color:#f5f1e9!important}

/* Светлая тема отменяет тёмные переопределения технологичного варианта */
html[data-theme="light"] body{
  background:radial-gradient(circle at 8% 6%,rgba(199,101,63,.08),transparent 25rem),radial-gradient(circle at 90% 28%,rgba(138,176,165,.1),transparent 30rem),var(--u-bg)!important;
}
html[data-theme="light"] .lab-root,html[data-theme="light"] .sc-host>div{background:transparent!important;color:var(--u-text)!important}
html[data-theme="light"] .lab-root>header,html[data-theme="light"] body header,
html[data-theme="light"] .sc-host>div>header{background:rgba(244,240,232,.88)!important;border-color:var(--u-line)!important}
html[data-theme="light"] .lab-root>header a,html[data-theme="light"] body header a,
html[data-theme="light"] .sc-host>div>header a{color:var(--u-text)!important}
html[data-theme="light"] .lab-root>header nav a{color:var(--u-muted)!important}
html[data-theme="light"] .lab-root>header a[data-event="click_phone"]:hover,
html[data-theme="light"] .sc-host>div>header a[data-event="click_phone"]:hover{color:#fff!important;background:#211e1a!important;border-color:#211e1a!important}
html[data-theme="light"] .lab-hero-grid a[href*="t.me"]{color:var(--u-text)!important;background:rgba(255,255,255,.52)!important;border-color:rgba(40,34,28,.34)!important}
html[data-theme="light"] .lab-root>section,html[data-theme="light"] .sc-host>div>section,
html[data-theme="light"] body main section{background:transparent!important;color:var(--u-text)!important;border-color:var(--u-line)!important}
html[data-theme="light"] .lab-root>section[style*="background:#ebe5d9"],
html[data-theme="light"] .lab-root>section[style*="background:#f3efe7"]{background:rgba(238,231,220,.72)!important;color:var(--u-text)!important}
html[data-theme="light"] .lab-root h1,html[data-theme="light"] .lab-root h2,html[data-theme="light"] .lab-root h3,
html[data-theme="light"] .sc-host h1,html[data-theme="light"] .sc-host h2,html[data-theme="light"] .sc-host h3,
html[data-theme="light"] body main h1,html[data-theme="light"] body main h2,html[data-theme="light"] body main h3{color:var(--u-text)!important}
html[data-theme="light"] .lab-root p,html[data-theme="light"] .lab-root li,
html[data-theme="light"] .sc-host p,html[data-theme="light"] .sc-host li,
html[data-theme="light"] body main p,html[data-theme="light"] body main li{color:var(--u-muted)!important}
html[data-theme="light"] .lab-root [style*="color:#574f45"],html[data-theme="light"] .lab-root [style*="color:#6c6256"],
html[data-theme="light"] .lab-root [style*="color:#8a8175"]{color:var(--u-muted)!important}
html[data-theme="light"] .lab-root [style*="background:#fbf9f3"],
html[data-theme="light"] .lab-root [style*="background:#f3efe7"],
html[data-theme="light"] .lab-root [style*="background:#ebe5d9"],
html[data-theme="light"] .lab-root [style*="background:#fff"],
html[data-theme="light"] .sc-host [style*="background: rgb(251, 249, 243)"],
html[data-theme="light"] .sc-host [style*="background: rgb(243, 239, 231)"],
html[data-theme="light"] .sc-host [style*="background: rgb(235, 229, 217)"],
html[data-theme="light"] .sc-host [style*="background: rgb(255, 255, 255)"]{
  background:var(--u-card)!important;color:var(--u-text)!important;border-color:var(--u-line)!important
}
html[data-theme="light"] .tech-proof,html[data-theme="light"] .tech-stats,
html[data-theme="light"] .tech-stats>div,html[data-theme="light"] .tech-tags span,
html[data-theme="light"] .tech-bento>div,html[data-theme="light"] .tech-card{
  background:rgba(255,253,248,.82)!important;color:var(--u-text)!important;border-color:var(--u-line)!important
}
html[data-theme="light"] .lab-hero-grid>.tech-visual{border-color:var(--u-line);box-shadow:var(--u-shadow)}
html[data-theme="light"] #kalkulyator{background:linear-gradient(135deg,#eee6da,#f8f4ed)!important}
html[data-theme="light"] #kalkulyator>div>div[style*="display:grid"],html[data-theme="light"] .tech-calc-grid,
html[data-theme="light"] .tech-calc-result{background:rgba(255,253,248,.9)!important;color:var(--u-text)!important;border-color:var(--u-line)!important;box-shadow:var(--u-shadow)}
html[data-theme="light"] #kalkulyator input,html[data-theme="light"] #kalkulyator select,
html[data-theme="light"] #kalkulyator textarea,html[data-theme="light"] #kontakty input,
html[data-theme="light"] #kontakty textarea,html[data-theme="light"] #kontakty select{background:#fffdf8!important;color:var(--u-text)!important;border-color:var(--u-line)!important}
html[data-theme="light"] .tech-calc-controls button{background:#fffdf8!important;color:var(--u-text)!important;border-color:var(--u-line)!important}
.calc-range-shell{position:relative;padding-top:54px}
.calc-area-range{
  display:block;width:100%;height:8px;margin:0;cursor:pointer;appearance:none;
  border:0!important;border-radius:999px!important;outline:none;
  background:linear-gradient(90deg,var(--u-accent) 0%,var(--u-accent) var(--range-progress,0%),var(--u-line) var(--range-progress,0%),var(--u-line) 100%)!important
}
.calc-area-range::-webkit-slider-thumb{
  appearance:none;width:26px;height:26px;border-radius:50%;border:4px solid var(--u-card);
  background:var(--u-accent);box-shadow:0 5px 18px rgba(0,0,0,.28);cursor:grab
}
.calc-area-range:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.08)}
.calc-area-range::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;border:4px solid var(--u-card);
  background:var(--u-accent);box-shadow:0 5px 18px rgba(0,0,0,.28);cursor:grab
}
.calc-range-bubble{
  position:absolute;top:0;transform:translateX(-50%);min-width:72px;padding:9px 12px;
  border:1px solid color-mix(in srgb,var(--u-accent) 55%,var(--u-line));border-radius:14px;
  background:color-mix(in srgb,var(--u-card) 92%,transparent);color:var(--u-text);
  box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(14px);
  font:500 15px/1 'IBM Plex Mono',monospace;text-align:center;white-space:nowrap;
  transition:left .12s var(--u-ease),transform .12s var(--u-ease)
}
.calc-range-bubble:after{
  content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;
  transform:translateX(-50%) rotate(45deg);background:inherit;border-right:1px solid color-mix(in srgb,var(--u-accent) 55%,var(--u-line));border-bottom:1px solid color-mix(in srgb,var(--u-accent) 55%,var(--u-line))
}
.calc-range-shell:focus-within .calc-range-bubble{transform:translateX(-50%) translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.24)}
html[data-theme="light"] #elka span{color:var(--u-muted)!important;background:#fffdf8!important;border-color:var(--u-line)!important}
html[data-theme="light"] #kontakty{background:radial-gradient(circle at 16% 30%,rgba(199,101,63,.12),transparent 30rem),#eee7dc!important}
html[data-theme="light"] #kontakty>div>div{background:rgba(255,253,248,.78)!important;border-color:var(--u-line)!important}
html[data-theme="light"] #kontakty label,html[data-theme="light"] #kontakty span,
html[data-theme="light"] #kontakty a{color:var(--u-text)!important}
html[data-theme="light"] .lab-root details,html[data-theme="light"] .sc-host details{background:rgba(255,253,248,.72)!important;border-color:var(--u-line)!important}
html[data-theme="light"] .lab-root details[open],html[data-theme="light"] .sc-host details[open]{background:#fffdf8!important;border-color:rgba(199,101,63,.38)!important}
html[data-theme="light"] .lab-root details summary,html[data-theme="light"] .sc-host details summary{color:var(--u-text)!important}
html[data-theme="light"] #garantiya{background:linear-gradient(135deg,#e7dfd2,#f4eee5)!important}
html[data-theme="light"] #garantiya>div{background:rgba(255,253,248,.55);border:1px solid var(--u-line);border-radius:var(--u-radius-xl);padding-left:clamp(24px,5vw,56px)!important;padding-right:clamp(24px,5vw,56px)!important}
html[data-theme="light"] #garantiya h2,html[data-theme="light"] #garantiya span{color:var(--u-text)!important}
html[data-theme="light"] #garantiya>div>div:first-child>span:first-child{color:var(--u-accent)!important}
html[data-theme="light"] .lab-root>footer{background:#24211d!important;color:#b9b0a5!important}
html[data-theme="light"] .lab-root>footer a{color:#eee8df!important}

/* Скруглённые карточки без светлых швов */
#sroki>div>div[style*="display:grid"],#dopusk>div>div[style*="display:grid"],
.sc-host div[style*="display: grid"][style*="gap: 1px"]{gap:12px!important;background:transparent!important;border:0!important;overflow:visible!important}
#sroki>div>div[style*="display:grid"]>div,#dopusk>div>div[style*="display:grid"]>div,
.sc-host div[style*="display: grid"][style*="gap: 1px"]>div{border:1px solid var(--u-line)!important;border-radius:var(--u-radius-lg)!important}

@media(max-width:900px){
  .theme-toggle{padding:8px 10px;min-width:40px}
  .theme-toggle__text{display:none}
  .lab-hero-grid>.tech-visual{transform:none!important}
  .lab-root section img,.sc-host img,body main img{border-radius:18px!important}
  .lab-root .lab-action-cta{width:100%;justify-content:center;text-align:center;line-height:1.35}
  #garantiya>div{border-radius:22px!important}
}

@media(prefers-reduced-motion:reduce){body,.theme-toggle{transition:none!important}}

/* Непрерывное звёздное поле: фон секций пропускает общий canvas. */
html[data-theme="dark"] .lab-root>section,
html[data-theme="dark"] .lab-root>section:is(#top,#pochemu,#elka,#dopusk,#sroki,#kalkulyator,#primery,#garantiya,#faq,#kontakty){
  background-color:rgba(15,18,19,.3)!important;
  background-image:none!important;
}
html[data-theme="light"] .lab-root>section,
html[data-theme="light"] .lab-root>section:is(#top,#pochemu,#elka,#dopusk,#sroki,#kalkulyator,#primery,#garantiya,#faq,#kontakty){
  background-color:rgba(248,245,238,.5)!important;
  background-image:none!important;
}

/* Страница технической проверки: полный контраст всех inline-элементов. */
.proverka-page{position:relative;z-index:1;background:transparent!important;color:var(--u-text)!important}
.proverka-page>header{background:color-mix(in srgb,var(--u-bg) 88%,transparent)!important;border-color:var(--u-line)!important}
.proverka-page>header a{color:var(--u-text)!important}
.proverka-page>section{background:transparent!important;color:var(--u-text)!important;border-color:var(--u-line)!important}
.proverka-page h1,.proverka-page h2,.proverka-page h3{color:var(--u-text)!important}
.proverka-page [style*="color:#211e1a"],
.proverka-page [style*="color: rgb(33, 30, 26)"]{color:var(--u-text)!important}
.proverka-page [style*="color:#574f45"],
.proverka-page [style*="color: rgb(87, 79, 69)"],
.proverka-page [style*="color:#8a8175"],
.proverka-page [style*="color: rgb(138, 129, 117)"]{color:var(--u-muted)!important}
.proverka-page [style*="color:#a8452a"],
.proverka-page [style*="color: rgb(168, 69, 42)"],
.proverka-page [style*="color:#a44c2c"],
.proverka-page [style*="color: rgb(164, 76, 44)"],
.proverka-page [style*="color:#bf5d38"],
.proverka-page [style*="color: rgb(191, 93, 56)"]{color:var(--u-accent)!important}

html[data-theme="dark"] .proverka-page [style*="background:#fbf9f3"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(251, 249, 243)"],
html[data-theme="dark"] .proverka-page [style*="background:#fff"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(255, 255, 255)"],
html[data-theme="dark"] .proverka-page [style*="background:#f1ece2"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(241, 236, 226)"],
html[data-theme="dark"] .proverka-page [style*="background:#ebe5d9"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(235, 229, 217)"],
html[data-theme="dark"] .proverka-page [style*="background:#f3efe7"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(243, 239, 231)"]{
  background:var(--u-card)!important;color:var(--u-text)!important;border-color:var(--u-line)!important
}
html[data-theme="dark"] .proverka-page [style*="background:#f7e9e2"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(247, 233, 226)"]{
  background:rgba(199,101,63,.14)!important;border-color:rgba(226,125,82,.42)!important
}
html[data-theme="dark"] .proverka-page [style*="background:#e7eee4"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(231, 238, 228)"]{
  background:rgba(116,160,124,.18)!important;color:#b9dfbf!important
}
html[data-theme="dark"] .proverka-page [style*="background:#efe9d3"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(239, 233, 211)"]{
  background:rgba(181,157,75,.18)!important;color:#ddd09b!important
}
html[data-theme="dark"] .proverka-page [style*="background:#e7e0d2"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(231, 224, 210)"]{background:var(--u-surface-2)!important}
html[data-theme="dark"] .proverka-page [style*="background:#ddd5c6"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(221, 213, 198)"]{background:var(--u-line)!important}
html[data-theme="dark"] .proverka-page [style*="border:1px solid #ddd5c6"],
html[data-theme="dark"] .proverka-page [style*="border-top:1px solid #ddd5c6"],
html[data-theme="dark"] .proverka-page [style*="border-bottom:1px solid #ddd5c6"]{border-color:var(--u-line)!important}
html[data-theme="dark"] .proverka-page a[style*="background:#bf5d38"]{color:#fff!important}

/* Оранжевые подписи и плашки на этой странице проходят контраст AA. */
html[data-theme="light"] .proverka-page [style*="color:#a8452a"],
html[data-theme="light"] .proverka-page [style*="color: rgb(168, 69, 42)"],
html[data-theme="light"] .proverka-page [style*="color:#a44c2c"],
html[data-theme="light"] .proverka-page [style*="color: rgb(164, 76, 44)"],
html[data-theme="light"] .proverka-page [style*="color:#bf5d38"],
html[data-theme="light"] .proverka-page [style*="color: rgb(191, 93, 56)"]{color:var(--u-accent-dark)!important}
html[data-theme="light"] .proverka-page [style*="background:#bf5d38"],
html[data-theme="dark"] .proverka-page [style*="background:#bf5d38"],
html[data-theme="light"] .proverka-page [style*="background: rgb(191, 93, 56)"],
html[data-theme="dark"] .proverka-page [style*="background: rgb(191, 93, 56)"]{
  background:var(--u-accent-dark)!important;color:#fff!important
}

html[data-theme="light"] .proverka-page{background:transparent!important}
html[data-theme="light"] .proverka-page>section[style*="background:#ebe5d9"]{background:rgba(238,231,220,.72)!important}
html[data-theme="light"] .proverka-page [style*="background:#fbf9f3"],
html[data-theme="light"] .proverka-page [style*="background:#fff"],
html[data-theme="light"] .proverka-page [style*="background:#f1ece2"]{color:var(--u-text)!important;border-color:var(--u-line)!important}
html[data-theme="light"] .proverka-page [style*="background:#efe9d3"],
html[data-theme="light"] .proverka-page [style*="background: rgb(239, 233, 211)"]{color:#5c5118!important}

/* Фильтры примеров: светлая панель в светлой теме, тёмная — в тёмной. */
html[data-theme="light"] .sc-host .examples-filters{
  background:rgba(244,240,232,.92)!important;
  color:var(--u-text)!important;
  border-color:var(--u-line)!important;
}
html[data-theme="dark"] .sc-host .examples-filters{
  background:rgba(8,10,11,.88)!important;
  color:var(--u-text)!important;
  border-color:var(--u-line)!important;
}
