@font-face{font-family:'Geologica';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/geologica-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Geologica';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/geologica-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Geologica';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/geologica-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* =====================================================================
   Tux v4 — строгий тёмный стиль (2026-10-25).
   Последний слой поверх style.css. Действует в тёмной теме (по умолчанию);
   светлая тема остаётся прежней. Откат: убрать <link> на v4.css.
   ===================================================================== */
:root[data-theme="dark"],
:root[data-theme="dark"] body,
:root[data-theme="dark"] body.home-aurora,
:root[data-theme="dark"] body.site-glass {
  --bg:#0a0a0a; --bg-2:#0e0e0e; --surface:#111111; --surface-2:#161616; --surface-3:#1d1d1d;
  --border:#222222; --border-2:#2e2e2e;
  --text:#f2f2f2; --text-2:#8a8a8a; --text-3:#5c5c5c;
  --accent:#c6ff3d; --accent-dark:#d8ff6a; --accent-soft:#12180a; --accent-line:#3d4a12; --accent-text:#0a0a0a;
  --ok:#c6ff3d; --ok-bg:#12180a; --ok-line:#2f3a10;
  --warn:#ffb547; --warn-bg:#1f1608; --warn-line:#3d2c10;
  --bad:#ff6b6b; --bad-bg:#1f0c0c; --bad-line:#3d1818;
  --code-bg:#0d0d0d; --code-text:#d0d0d0; --code-k:#9aa88a; --code-s:#c6ff3d; --code-c:#5c5c5c;
  --pix:#c6ff3d; --pix-2:#c6ff3d;
  --sans:"Onest", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --disp:"Geologica", "Onest", system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  --r-sm:3px; --r-md:4px; --r-lg:4px; --r-xl:6px; --r-pill:999px;
  --shadow:none; --shadow-xs:none; --shadow-sm:none; --shadow-md:none; --shadow-lg:none;
  --ring:0 0 0 2px #c6ff3d66;
  color-scheme:dark;
}
html[data-theme="dark"] body,
html[data-theme="dark"] body.site-glass,
html[data-theme="dark"] body.home-aurora { background:#0a0a0a !important; background-image:none !important; color:var(--text); font-family:var(--sans) }
html[data-theme="dark"] body ::selection { background:#c6ff3d; color:#0a0a0a }

/* типографика */
html[data-theme="dark"] body :is(h1,h2,h3,h4,.h1,.h2) { font-family:var(--disp); color:var(--text); background:none; -webkit-text-fill-color:currentColor }
html[data-theme="dark"] body h1 { font-weight:800; letter-spacing:-.05em; line-height:1 }
html[data-theme="dark"] body h2 { font-weight:700; letter-spacing:-.04em; line-height:1.1 }
html[data-theme="dark"] body h3 { font-weight:650; letter-spacing:-.03em }
html[data-theme="dark"] body :is(.grad,.gradient-text,.text-grad,h1 span,h2 span) { background:none !important; -webkit-text-fill-color:currentColor !important }
html[data-theme="dark"] body :is(.lead,.muted,.sub,.page-lead) { color:var(--text-2) }
html[data-theme="dark"] body :is(code,kbd,pre,.mono,.num,.mc-prices b,.kpi b,.price,td.num,.tabular) { font-family:var(--mono) }
html[data-theme="dark"] body code:not(.code code) { background:#141414; border-color:var(--border); border-radius:3px; color:#d8d8d8 }
html[data-theme="dark"] body a:hover { color:var(--accent) }

/* подписи разделов — моно, лайм, без точек-градиентов */
html[data-theme="dark"] body :is(.eyebrow,.crumbs,.crumb,.hero-kicker) { font-family:var(--mono) !important; font-size:12px; font-weight:400; letter-spacing:.02em; text-transform:none; color:var(--accent) !important; background:none; border:0; box-shadow:none; padding-left:0 }
html[data-theme="dark"] body :is(.eyebrow,.hero-kicker)::before { display:none !important }
html[data-theme="dark"] body :is(.crumbs,.crumb) a { color:var(--text-3) }

/* шапка — плоская, на всю ширину, хайрлайн снизу */
html[data-theme="dark"] body header.nav,
html[data-theme="dark"] body.site-glass header.nav,
html[data-theme="dark"] body.home-aurora header.nav { background:rgba(10,10,10,.92) !important; border:0 !important; border-bottom:1px solid var(--border) !important; border-radius:0 !important; box-shadow:none !important; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); margin:0 !important; max-width:none !important; width:100% !important; top:0 !important }
html[data-theme="dark"] body header.nav .nav-in { border:0 !important; background:transparent !important; box-shadow:none !important; border-radius:0 !important }
html[data-theme="dark"] body header.nav .logo-name { font-family:var(--disp); font-weight:700; letter-spacing:-.03em }
html[data-theme="dark"] body header.nav .links .link,
html[data-theme="dark"] body header.nav .nav-dd summary { color:var(--text-2); font-size:13px; font-weight:500; background:none !important; border-radius:0 }
html[data-theme="dark"] body header.nav .links .link:hover,
html[data-theme="dark"] body header.nav .links .link.active,
html[data-theme="dark"] body header.nav .links .link[aria-current="page"] { color:var(--text); background:none !important }
html[data-theme="dark"] body header.nav .links .link[aria-current="page"] { box-shadow:inset 0 -1px 0 var(--accent) !important }
html[data-theme="dark"] body :is(.theme-btn,.nav-toggle) { border-radius:4px !important; border:1px solid var(--border-2) !important; background:transparent !important; box-shadow:none !important; color:var(--text-2) }
html[data-theme="dark"] body :is(.theme-btn,.nav-toggle):hover { color:var(--text); border-color:#555 !important }
html[data-theme="dark"] body :is(.nav-dd-menu,.nav-search-dd,.search-panel,.mobile-menu,dialog.mdl) { background:#0f0f0f !important; border:1px solid var(--border) !important; border-radius:4px !important; box-shadow:0 18px 40px -18px #000 !important; backdrop-filter:none !important }
html[data-theme="dark"] body .mobile-menu { border-width:0 0 1px !important; border-radius:0 !important }

/* кнопки — маленькие, плоские: основная лайм, вторичная белая рамка */
html[data-theme="dark"] body .btn,
html[data-theme="dark"] body.site-glass .btn,
html[data-theme="dark"] body.home-aurora .btn { border-radius:4px !important; box-shadow:none !important; font-weight:600; letter-spacing:0; transform:none }
html[data-theme="dark"] body .btn.primary,
html[data-theme="dark"] body.site-glass .btn.primary,
html[data-theme="dark"] body.home-aurora .btn.primary { background:#c6ff3d !important; border-color:#c6ff3d !important; color:#0a0a0a !important; box-shadow:none !important }
html[data-theme="dark"] body .btn.primary:hover,
html[data-theme="dark"] body.site-glass .btn.primary:hover,
html[data-theme="dark"] body.home-aurora .btn.primary:hover { background:#d8ff6a !important; border-color:#d8ff6a !important; color:#0a0a0a !important; transform:translateY(-1px) }
html[data-theme="dark"] body .btn:not(.primary):not(.danger),
html[data-theme="dark"] body.site-glass .btn:not(.primary):not(.danger),
html[data-theme="dark"] body.home-aurora .btn:not(.primary):not(.danger) { background:transparent !important; border:1px solid var(--border-2) !important; color:var(--text) !important }
html[data-theme="dark"] body .btn:not(.primary):not(.danger):hover { border-color:#666 !important; color:#fff !important; transform:translateY(-1px) }
html[data-theme="dark"] body header.nav .btn.nav-account,
html[data-theme="dark"] body header.nav .btn:not(.primary):not(.danger) { background:#f2f2f2 !important; border-color:#f2f2f2 !important; color:#0a0a0a !important }
html[data-theme="dark"] body header.nav .btn.nav-account:hover { background:#fff !important; color:#0a0a0a !important }
html[data-theme="dark"] body .btn.danger { border-radius:4px !important; box-shadow:none !important }

/* поверхности — плоские панели с хайрлайнами */
html[data-theme="dark"] body :is(.card,.model-card,.kpi,.tile,.bento-card,.feature-list>div,.faq details,.steps-line>li,.table-wrap,.auth-card,.dash-card,.workspace-card,.ring-card,.ov-card,.code-card,.code-card-plain,.cell,.step-card,.review,.client-card,.cost-calc,.ucalc,.funpay-card,.tg-card,.price-card,.plan,.box,.panel),
html[data-theme="dark"] body.site-glass :is(.card,.model-card,.kpi,.tile,.feature-list>div,.faq details,.steps-line>li,.table-wrap,.auth-card,.dash-card,.workspace-card) {
  background:#111111 !important; background-image:none !important; border:1px solid var(--border) !important; border-radius:4px !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important }
html[data-theme="dark"] body :is(.card,.model-card,.tile,.ring-card,.ov-card,.bento-card):hover { border-color:#3a3a3a !important; box-shadow:none !important; transform:translateY(-2px) }
html[data-theme="dark"] body :is(.card.flush) { padding:0 }
html[data-theme="dark"] body .model-card { --pc:#2e2e2e !important }
html[data-theme="dark"] body .model-card::before,
html[data-theme="dark"] body .model-card::after { display:none !important }
html[data-theme="dark"] body .model-card .mc-name b { font-family:var(--mono); font-weight:500; letter-spacing:0 }
html[data-theme="dark"] body .model-card:hover .mc-name b { color:var(--accent) }
html[data-theme="dark"] body .model-card .mc-prices b { color:var(--text) }
html[data-theme="dark"] body .model-card .mc-prices span { font-family:var(--mono); font-size:11px; color:var(--text-3) }
html[data-theme="dark"] body .model-card:hover .mc-prices b { color:var(--accent) }

/* секции */
html[data-theme="dark"] body .sec { border-color:var(--border) }
html[data-theme="dark"] body .sec.alt,
html[data-theme="dark"] body.site-glass .sec.alt,
html[data-theme="dark"] body.home-aurora .sec.alt { background:#0a0a0a !important; border-top:1px solid var(--border) !important; border-bottom:1px solid var(--border) !important; backdrop-filter:none !important }
html[data-theme="dark"] body :is(.page-head,.page-hero,.hero) { background:transparent !important; background-image:none !important }
html[data-theme="dark"] body :is(.page-head,.page-hero) { border-bottom:1px solid var(--border) }
html[data-theme="dark"] body .invert,
html[data-theme="dark"] body .cta-box { background:#111 !important; background-image:none !important; color:var(--text) !important; border:1px solid var(--border) !important; border-radius:4px !important; box-shadow:none !important }

/* бейджи, чипы, вкладки — квадратнее */
html[data-theme="dark"] body :is(.chip,.tab,.dash-tabs button,.seg button,.pill,.tag,.tag-new,.badge) { border-radius:3px !important; box-shadow:none !important; background-image:none !important }
html[data-theme="dark"] body :is(.chip,.dash-tabs button,.seg button) { background:transparent !important; border:1px solid var(--border-2) !important; color:var(--text-2) !important; font-weight:500 }
html[data-theme="dark"] body :is(.chip,.dash-tabs button,.seg button):hover { color:var(--text) !important; border-color:#555 !important }
html[data-theme="dark"] body :is(.chip.on,.chip[aria-pressed="true"],.chip.active,.dash-tabs button.on,.seg button.on,.seg button[aria-pressed="true"]) { background:#c6ff3d !important; border-color:#c6ff3d !important; color:#0a0a0a !important }
html[data-theme="dark"] body .badge.ok { background:transparent !important; border:1px solid #2f3a10 !important; color:#c6ff3d !important; font-family:var(--mono); font-size:11px }
html[data-theme="dark"] body .badge.ok .d { background:#c6ff3d !important; border-radius:0 !important; box-shadow:none !important }
html[data-theme="dark"] body .tag-new { background:#c6ff3d !important; color:#0a0a0a !important }

/* формы */
html[data-theme="dark"] body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.input,.field input) { background:#0d0d0d !important; border:1px solid var(--border-2) !important; border-radius:4px !important; color:var(--text) !important; box-shadow:none !important }
html[data-theme="dark"] body :is(input,select,textarea):focus { border-color:#c6ff3d !important; outline:none !important; box-shadow:0 0 0 2px #c6ff3d33 !important }
html[data-theme="dark"] body :is(input[type=checkbox],input[type=radio],input[type=range]) { accent-color:#c6ff3d }
html[data-theme="dark"] body label { color:var(--text-2) }

/* таблицы */
html[data-theme="dark"] body table { border-color:var(--border) }
html[data-theme="dark"] body :is(th,thead td) { font-family:var(--mono); font-size:11px; font-weight:400; color:var(--text-3) !important; background:transparent !important; border-bottom:1px solid var(--border-2) !important }
html[data-theme="dark"] body td { border-color:var(--border) !important }
html[data-theme="dark"] body tbody tr:hover td { background:#12180a !important }

/* код */
html[data-theme="dark"] body :is(.code,pre,.code-card,.demo-snippet) { background:#0d0d0d !important; border:1px solid var(--border) !important; border-radius:4px !important; box-shadow:none !important }

/* иконки провайдеров и кружки — спокойнее */
html[data-theme="dark"] body .ava { border-radius:4px !important; box-shadow:none !important }
html[data-theme="dark"] body .cell-ico { border-radius:4px !important; background:#161616 !important; color:var(--accent) !important; box-shadow:none !important }

/* подвал */
html[data-theme="dark"] body footer { background:#0a0a0a !important; border-top:1px solid var(--border) !important; background-image:none !important }
html[data-theme="dark"] body footer :is(h4,.fcol h4,.fcol b) { font-family:var(--mono); font-size:11px; font-weight:400; color:var(--text-3); letter-spacing:0; text-transform:none }
html[data-theme="dark"] body footer :is(.fcol a,.foot-links a) { color:var(--text-2) }
html[data-theme="dark"] body footer :is(.fcol a,.foot-links a):hover { color:var(--accent) }
html[data-theme="dark"] body .foot-bottom { border-top:1px solid var(--border) !important; color:var(--text-3) }

/* тост */
html[data-theme="dark"] body #toast { background:#f2f2f2 !important; color:#0a0a0a !important; border-radius:4px !important; box-shadow:none !important }

/* убрать декоративные свечения/ауры, если остались */
html[data-theme="dark"] body :is(.glow,.aurora,.hero-glow,.bg-glow,.orb,.blob) { display:none !important }

/* логотип — пиксельный Tux */
html[data-theme="dark"] body :is(header.nav,footer) .logo img.mark { content:url(/static/brand/tux-user.png); image-rendering:pixelated; width:24px; height:24px; object-fit:contain }

/* мелкие контролы карточек и аватары провайдеров */
html[data-theme="dark"] body :is(.cap,.fav-btn,label.cmp,.view-btn,.vt button,.icon-btn) { background:transparent !important; border:1px solid var(--border-2) !important; border-radius:3px !important; color:var(--text-2) !important; box-shadow:none !important }
html[data-theme="dark"] body .cap { border-color:var(--border) !important }
html[data-theme="dark"] body :is(.fav-btn,label.cmp,.view-btn,.vt button,.icon-btn):hover { border-color:#666 !important; color:var(--text) !important }
html[data-theme="dark"] body :is(.fav-btn.on,.fav-btn[aria-pressed="true"],label.cmp:has(input:checked),.view-btn.on,.vt button.on,.vt button[aria-pressed="true"]) { background:#c6ff3d !important; border-color:#c6ff3d !important; color:#0a0a0a !important }
html[data-theme="dark"] body .ava { background:#161616 !important; border:1px solid var(--border-2) !important; color:var(--text-2) !important }
html[data-theme="dark"] body .ava .ava-ic { background-color:var(--text-2) !important }
html[data-theme="dark"] body .skip-link { background:#c6ff3d !important; color:#0a0a0a !important }
html[data-theme="dark"] body :is(.pass-toggle,.link-u) { color:var(--accent) !important }
html[data-theme="dark"] body :is(.ico.ok,.ok .ico,svg.ok) { color:var(--accent) !important }
html[data-theme="dark"] body :is(.mc-sub,.mc-desc,.sub,p.sub,.sec-head .sub) { color:var(--text-2) !important }
html[data-theme="dark"] body :is(.mc-foot,.mc-caps) { color:var(--text-3) !important }
html[data-theme="dark"] body header.nav .nav-in, html[data-theme="dark"] body header.nav .links, html[data-theme="dark"] body .nav-dd-menu { color:var(--text) !important }
html[data-theme="dark"] body :is(.funpay-steps,.auth-steps) li::before { background:transparent !important; border:1px solid var(--border-2) !important; border-radius:3px !important; color:var(--accent) !important; font:600 12px/1 var(--mono) !important }
html[data-theme="dark"] body .nav-dd-menu { box-shadow:none !important; background:#111 !important; border:1px solid var(--border) !important; border-radius:4px !important }
html[data-theme="dark"] body details summary { color:var(--text) !important }
html[data-theme="dark"] body main p { color:var(--text-2) }
html[data-theme="dark"] body .auth-card > h1 { margin:0 0 18px !important }

/* cards-fix: scroll-reveal (.rv) never hides content; cards always visible, short lift only */
@keyframes v4-lift { from { transform:translateY(8px) } to { transform:none } }
html.motion .rv, html.motion .rv.is-in { opacity:1 !important; animation:none }
html.motion .rv:not(:hover) { transform:none }
html.motion .rv.is-in { animation:v4-lift .35s cubic-bezier(.2,.8,.2,1) }
@media (prefers-reduced-motion: reduce) { html.motion .rv, html.motion .rv.is-in { animation:none !important; transform:none !important } }
