:root { --text-small: 1rem; --page: #ebe8e2; --ink: #111; --muted: #6b6760; --line: #e24a4f; }
@media (prefers-color-scheme: dark) { :root { --page: #121110; --ink: #f2f0ec; --muted: #9a958d; --line: #f25c5c; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--page); color: var(--ink); font: 18px/1.75 -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif; }
main { max-width: 640px; margin: 0 auto; padding: 56px 28px 80px; position: relative; }
main::before { content: ""; position: absolute; top: 0; bottom: 0; right: 28px; width: 1.5px; background: var(--line); }
h1 { font-size: clamp(2.5rem, 9vw, 4rem); line-height: 1; letter-spacing: -0.04em; font-weight: 500; margin: 0 0 8px; }
h2 { font-size: 24px; letter-spacing: -0.02em; font-weight: 500; margin: 40px 0 8px; }
p, li { max-width: 34em; }
.muted { color: var(--muted); }
a { color: inherit; text-decoration-color: var(--line); text-underline-offset: 3px; }
nav { margin-top: 48px; display: flex; gap: 20px; }
.site-language { position: relative; margin-bottom: 32px; z-index: 1; font-size: 1rem; }
.site-language summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; cursor: pointer; list-style: none; }
.site-language summary::-webkit-details-marker { display: none; }
.site-language-menu { position: absolute; left: 0; right: 0; top: 100%; display: flex; flex-direction: column; gap: 0; margin: 0; padding: 8px; max-height: 60vh; overflow-y: auto; background: var(--page); border: 1px solid var(--muted); border-radius: 8px; }
.site-language-menu a { display: flex; justify-content: space-between; gap: 12px; min-height: 44px; padding: 8px 12px; }
.site-language-menu a[aria-current] { font-weight: 600; }
h1, h2, p { overflow-wrap: anywhere; }
:lang(ru) h1 { font-size: clamp(1.75rem, 7vw, 3.75rem); }
:lang(ar) :is(h1, h2, p) { unicode-bidi: plaintext; }
:lang(ar) :is(h1, h2), :lang(hi) :is(h1, h2), :lang(th) :is(h1, h2) { letter-spacing: normal; line-height: 1.3; }
