/* Pitlane legal / info pages — app theme: #1a1a1a, #696969, графит + приглушённый акцент (v133) */
/* v133: палитра без неона — графит + приглушённый мятный акцент. Ярко-зелёный (кислотный и т.п.), green glow/neon запрещены (test/v133). */
:root {
  --acc-rgb: 201, 198, 191; --c-acc: rgb(var(--acc-rgb));
  --c-fill: #e8e9ea; --c-on-fill: #0b0c0c;
  --c-good: #7fae8f; --c-bad: #d49a9a;
}
@font-face { font-family: "PL Sans"; src: url("./fonts/pl-sans.woff2") format("woff2"); font-weight: 300 700; font-display: swap; } /* v159: Inter (OFL), как в приложении */
:root { color-scheme: dark; }
* { box-sizing: border-box; }
html, body { margin: 0; background: #1a1a1a; color: #e8e8e8; }
body { font: 400 15px/1.6 "PL Sans", system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-text-size-adjust: 100%; }
.legal { max-width: 720px; margin: 0 auto; padding: calc(env(safe-area-inset-top, 0px) + 24px) 18px 72px; }
.legal .back { display: inline-block; margin-bottom: 18px; color: var(--c-acc); text-decoration: none; font: 700 12px/1 "PL Sans", sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.legal .back:hover { text-decoration: underline; }
.legal h1 { font: 800 30px/1.1 "PL Sans", system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 6px; color: var(--c-acc); text-shadow: none; }
.legal .meta { margin: 0 0 22px; color: #8a8a8a; font-size: 12px; }
.legal h2 { font: 700 18px/1.25 "PL Sans", system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; margin: 30px 0 10px; color: #f0f0f0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.07); }
.legal h3 { font: 700 15px/1.3 "PL Sans", sans-serif; margin: 18px 0 6px; color: #e0e0e0; }
.legal p, .legal li { color: #c8c8c8; margin: 0 0 10px; }
.legal ul, .legal ol { padding-left: 1.25em; margin: 0 0 12px; }
.legal a { color: var(--c-acc); }
.legal strong { color: #f0f0f0; }
.legal .note { border-left: 2px solid var(--c-acc); padding: 8px 12px; background: rgba(255,255,255,0.02); border-radius: 0 10px 10px 0; }
.legal .warn { border-left: 2px solid var(--c-bad); padding: 8px 12px; background: rgba(212,154,154,0.06); border-radius: 0 10px 10px 0; }
.legal table { width: 100%; border-collapse: collapse; margin: 8px 0 14px; font-size: 13px; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 8px 8px; border-bottom: 1px solid rgba(255,255,255,.08); color: #c8c8c8; }
.legal th { color: #f0f0f0; font-weight: 700; }
.legal .toc { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 8px; font-size: 13px; }
.legal footer { margin-top: 36px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.07); color: #8a8a8a; font-size: 12px; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.legal footer a { color: #a8a8a8; }
/* Placeholders the operator must fill — deliberately loud */
mark.ph { background: rgba(255, 196, 0, .16); color: #ffcf40; border: 1px dashed rgba(255, 196, 0, .7); border-radius: 6px; padding: 0 4px; font-weight: 700; white-space: nowrap; }
.card { background: linear-gradient(165deg, #242424 0%, #1a1a1a 60%); border: 1px solid rgba(var(--acc-rgb), 0.28); border-radius: 16px; padding: 16px; margin: 14px 0; }
.btn { appearance: none; display: block; width: 100%; min-height: 48px; border-radius: 14px; border: 1px solid var(--c-acc); background: #696969; color: var(--c-acc); font: 800 14px/1 "PL Sans", sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.btn-danger { border-color: rgba(212,154,154,0.45); background: rgba(212,154,154,0.1); color: var(--c-bad); }
.btn:disabled { opacity: .4; cursor: default; }
.field { display: block; margin: 12px 0; font-size: 13px; color: #d0d0d0; }
.field input { display: block; width: 100%; margin-top: 6px; min-height: 46px; border-radius: 10px; border: 1px solid #696969; background: #121212; color: #f0f0f0; padding: 0 12px; font: 700 16px/1 "PL Sans", sans-serif; letter-spacing: .12em; }
.muted { color: #8a8a8a; font-size: 13px; }
.hidden { display: none !important; }

/* Inside the Telegram Mini App: no purchase-related links/blocks (Telegram ToS: digital goods only via Stars) */
.tma-only { display: none; }
html.tma .tma-only { display: block; }
html.tma .tma-hide, html.tma a[href$="offer.html"] { display: none !important; }
html.tma .offer-doc > :not(.back):not(h1):not(.tma-only):not(footer) { display: none !important; }
html.tma .legal { padding-top: calc(env(safe-area-inset-top, 0px) + 64px); }

/* v87: стиль v86 — #0c0c0c, тихие заголовки, пилюли, неон точечно */
html, body { background: #0c0c0c; color: #ededed; }
.legal .back { color: #a3a3a3; font-weight: 600; letter-spacing: .16em; font-size: 10.5px; }
.legal .back:hover { color: #f0f0f0; text-decoration: none; }
.legal h1 { font: 700 30px/1.15 "PL Sans", system-ui, sans-serif; letter-spacing: -.01em; text-transform: none; color: #f5f5f5; text-shadow: none; }
.legal .meta { color: #696969; letter-spacing: .04em; }
.legal h2 { font: 700 17px/1.3 "PL Sans", system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #f0f0f0; border-top-color: rgba(255,255,255,.06); }
.legal p, .legal li, .legal th, .legal td { color: #b9b9b9; }
.legal a { color: #e8e8e8; text-decoration-color: rgba(var(--acc-rgb), 0.5); text-underline-offset: 3px; }
.legal .note { border-left-color: rgba(var(--acc-rgb), 0.5); background: rgba(255,255,255,.03); }
.card { background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)), #121212; border: 1px solid rgba(255,255,255,.07); border-radius: 22px; }
.btn { border-radius: 999px; border: 1px solid rgba(255,255,255,.1); background: var(--c-fill); color: #0c0c0c; font: 700 14px/1 "PL Sans", sans-serif; letter-spacing: 0; text-transform: none; }
.btn-danger { border-color: rgba(212,154,154,0.35); background: rgba(212,154,154,0.08); color: var(--c-bad); }
.field input { border-radius: 14px; border: 1px solid rgba(255,255,255,.1); background: #151515; }
.field input:focus { outline: none; border-color: rgba(var(--acc-rgb), 0.5); }
.legal th, .legal td { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 380px) { .legal table { font-size: 12px; table-layout: fixed; } .legal td mark.ph { white-space: normal; } .legal th, .legal td { padding: 7px 5px; } }
.legal h1 { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 360px) { .legal h1 { font-size: 26px; } }
/* v154: зоны нажатия ≥ 44 px (назад и ссылки в подвале) */
.legal .back { padding: 16px 0; margin-bottom: 4px; }
.legal footer a, .legal nav a { display: inline-block; padding: 12px 0; }

/* v159: та же система, что в приложении — чистый чёрный, волоски, радиусы 4–8, подписи трекинг-капсом */
html, body { background: #000; color: #f5f5f5; }
.legal h1 { font: 500 28px/32px "PL Sans", system-ui, sans-serif; letter-spacing: -.01em; color: #f5f5f5; }
.legal h2 { font: 500 11px/16px "PL Sans", system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #8a8a8a; border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px; margin-top: 32px; }
.legal .back { color: #8a8a8a; font: 500 11px/16px "PL Sans", system-ui, sans-serif; letter-spacing: .08em; }
.btn { border-radius: 4px; background: #f2f2f2; color: #000; border: 1px solid #f2f2f2; font: 600 15px/1 "PL Sans", system-ui, sans-serif; }
.field input { border-radius: 4px; background: transparent; border: 1px solid rgba(255,255,255,.16); }

/* v187: заголовки разделов 13px, чуть светлее серый */
.legal h2 { font-size: 13px !important; line-height: 18px !important; color: #a0a0a0 !important; }
.legal .meta, .legal footer, .muted { color: #9a9a9a !important; }
.legal .back { font-size: 13px !important; }
/* docs.html (Robokassa): карточка товара, красный акцент */
.docs-page h1 { color: #f0f0f0; }
.docs-page h1::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 10px; background: #d23c3c; border-radius: 2px; }
.docs-page .toc a { color: #e8e8e8; text-decoration: none; border: 1px solid rgba(255,255,255,.12); padding: 4px 10px; border-radius: 999px; }
.docs-page .doc-card { background: #222; border: 1px solid rgba(255,255,255,.08); border-left: 3px solid #d23c3c; border-radius: 12px; padding: 14px; margin: 8px 0 14px; }
.docs-page .doc-card-t { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.docs-page .doc-price { color: #fff; font-weight: 800; font-size: 18px; }
.docs-page .doc-tag { color: #d23c3c; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin: 0; }
.docs-page th { width: 34%; }
