:root { color-scheme: dark; --bg:#03120d; --panel:#071f17; --line:#1b5d43; --text:#e9fff5; --muted:#a8c8ba; --green:#2ce27f; }
* { box-sizing: border-box; }
html { background: var(--bg); }
body { width: min(1040px, calc(100% - 32px)); margin: 0 auto; padding: 44px clamp(20px, 5vw, 64px) 70px; color: var(--text); background: radial-gradient(circle at 75% 0, #0b422c 0, transparent 36rem), var(--bg); font: 17px/1.7 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body > header, body > main, body > nav, body > footer { width: min(1040px, calc(100% - 32px)); margin-inline: auto; }
body > header { padding: 34px 0 16px; }
body > header::before { content: "VELOSAFETY · ДОКУМЕНТЫ"; color: var(--green); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
main { margin: 18px auto 60px; padding: clamp(24px, 5vw, 64px); border: 1px solid rgba(44,226,127,.28); border-radius: 24px; background: rgba(7,31,23,.92); box-shadow: 0 30px 90px rgba(0,0,0,.34); }
h1 { margin-top: 0; font-size: clamp(30px, 5vw, 52px); line-height: 1.1; }
h2 { margin-top: 2.2em; color: #8dffc0; font-size: clamp(22px, 3vw, 30px); }
h3 { color: #c8ffe0; }
a { color: var(--green); }
p, li { color: #d7eee3; }
blockquote { margin-inline: 0; padding: 14px 18px; border-left: 3px solid var(--green); background: rgba(44,226,127,.07); }
table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
th, td { padding: 10px 12px; border: 1px solid #20543f; text-align: left; vertical-align: top; }
th { background: #0b3224; }
.legal-nav { position: sticky; top: 0; z-index: 5; padding: 14px 0; background: rgba(3,18,13,.9); backdrop-filter: blur(14px); }
.legal-nav a { margin-right: 18px; font-weight: 700; text-decoration: none; }
.legal-index { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 16px; padding: 0; list-style: none; }
.legal-index a { display: block; min-height: 120px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,#0b3023,#061a13); font-size: 18px; font-weight: 750; text-decoration: none; box-shadow: 0 16px 38px rgba(0,0,0,.22); }
.legal-note { color: var(--muted); }
@media (max-width: 640px) { body { width: min(100% - 18px, 1040px); padding: 24px 10px 50px; font-size: 15px; } main { padding: 22px 18px; border-radius: 18px; } }
