/* общий вид трёх сайтов Marg: чёрный фон, SF, плоско, как приложение */
:root { --ink: #fff; --ink2: rgba(255, 255, 255, .62); --fill: rgba(255, 255, 255, .07); --fill2: rgba(255, 255, 255, .12); --line: rgba(255, 255, 255, .1); }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #000; color: var(--ink); font: 17px/1.5 -apple-system, BlinkMacSystemFont, 'SF Pro Text', system-ui, 'Segoe UI', Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
main { max-width: 680px; margin: 0 auto; padding: 56px 20px 40px; }
h1 { font: 700 clamp(34px, 8vw, 52px)/1.05 -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif; letter-spacing: -.025em; margin: 0 0 14px; }
h2 { font: 700 24px/1.2 -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif; letter-spacing: -.015em; margin: 48px 0 14px; }
p { margin: 0 0 14px; } .lead { font-size: 19px; }
a { color: inherit; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 24px; border-radius: 999px; background: #fff; color: #000; font-weight: 600; font-size: 17px; text-decoration: none; border: 0; cursor: pointer; }
.btn.ghost { background: var(--fill2); color: #fff; }
.btn.wide { width: 100%; }
.row { display: flex; gap: 10px; flex-wrap: wrap; }
.card { background: var(--fill); border-radius: 22px; padding: 18px; }
.muted { color: var(--ink2); }
.mark { display: inline-block; width: .9em; height: .8em; background: currentColor; -webkit-mask: url('/assets/icons/marg-mark.svg') center / contain no-repeat; mask: url('/assets/icons/marg-mark.svg') center / contain no-repeat; vertical-align: -.05em; }
header.top { display: flex; align-items: center; justify-content: space-between; max-width: 680px; margin: 0 auto; padding: 16px 20px 0; }
header.top a.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; text-decoration: none; font-size: 26px; letter-spacing: -.02em; }
header.top nav { display: flex; gap: 16px; font-size: 15px; } header.top nav a { text-decoration: none; color: var(--ink2); } header.top nav a[aria-current] { color: #fff; }
footer { max-width: 680px; margin: 0 auto; padding: 24px 20px 40px; color: var(--ink2); font-size: 14px; display: flex; flex-wrap: wrap; gap: 8px 18px; }
footer .na { flex-basis: 100%; text-align: center; margin-top: 16px; }
footer a { text-decoration: none; color: var(--ink2); } footer a:hover { color: #fff; }
.num { font-variant-numeric: tabular-nums; }
/* без полосы прокрутки; LED-панели по бокам — фон за контентом */
html { scrollbar-width: none; } html::-webkit-scrollbar, body::-webkit-scrollbar { display: none; }
.led-side { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: -1; pointer-events: none; }
footer .langs { flex-basis: 100%; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 14px; margin-top: 16px; font-size: 14px; letter-spacing: .02em; }
footer .langs a[aria-current] { color: #fff; }
header.top { gap: 16px; } header.top nav a { white-space: nowrap; }
@media (max-width: 480px) { header.top a.brand { font-size: 22px; } header.top nav { gap: 12px; font-size: 14px; } }
@media (max-width: 400px) { header.top { flex-wrap: wrap; row-gap: 10px; } }
footer { justify-content: center; text-align: center; }
footer .langs a { font-size: 22px; line-height: 1; text-decoration: none; opacity: .55; transition: opacity .15s; } footer .langs a:hover, footer .langs a[aria-current] { opacity: 1; }
footer .marg-flag { display: inline-block; width: 1.35em; height: 1.35em; vertical-align: -.3em; margin-left: .2em; } footer .marg-flag svg { display: block; width: 100%; height: 100%; }
header.top a.brand .mark { width: 1.2em; height: 1.1em; vertical-align: middle; }
/* переносы: абзацы без висячих слов, заголовки — ровными строками */
p, li, td, summary, .lead { text-wrap: pretty; } h1, h2, h3 { text-wrap: balance; }
/* футер одинаковый на всех сайтах: строка ссылок, строка языков, служебная подпись — всё по центру; текущий сайт подсвечен */
footer { flex-direction: column; align-items: center; gap: 0; }
footer .flinks { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; }
footer .flinks a[aria-current] { color: #fff; }
