/* Документы игры: правила, согласия, политика. Бренд «Ленина 100»: Days One, Manrope, терракота. */
@font-face { font-family: 'Days One'; src: url('fonts/days-one-400-cyrillic.woff2') format('woff2'); unicode-range: U+0400-04FF; }
@font-face { font-family: 'Days One'; src: url('fonts/days-one-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F; }
@font-face { font-family: 'Manrope'; font-weight: 500; src: url('fonts/manrope-500-cyrillic.woff2') format('woff2'); unicode-range: U+0400-04FF; }
@font-face { font-family: 'Manrope'; font-weight: 500; src: url('fonts/manrope-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F; }
@font-face { font-family: 'Manrope'; font-weight: 700; src: url('fonts/manrope-700-cyrillic.woff2') format('woff2'); unicode-range: U+0400-04FF; }
@font-face { font-family: 'Manrope'; font-weight: 700; src: url('fonts/manrope-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F; }
:root { --paper: #FCFBF8; --ink: #191919; --grey: #5C5C57; --line: #E4E2DB; --terra: #A4472E; --terra-soft: #F3E3DC;
  --display: 'Days One', 'Arial Black', sans-serif; --text: 'Manrope', 'Helvetica Neue', Arial, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 500 16px/1.6 var(--text); }
main { max-width: 62ch; margin: 0 auto; padding: 32px 20px 64px; }   /* ~78 знаков в строке */
.back { display: inline-block; font-weight: 700; color: var(--terra); text-decoration: underline; text-underline-offset: 3px; padding: 8px 0; }
h1 { font: 400 clamp(34px, 8vw, 44px)/1.12 var(--display); margin: 16px 0 10px; }
.sub { color: var(--grey); margin: 0 0 28px; }
h2 { font: 700 19px/1.3 var(--text); margin: 32px 0 8px; }
p, li { margin: 0 0 10px; overflow-wrap: anywhere; }
ol, ul { padding-left: 22px; margin: 0 0 12px; }
a { color: var(--terra); text-underline-offset: 3px; }
table { width: 100%; border-collapse: collapse; margin: 8px 0 16px; table-layout: fixed; }
th, td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 560px) { table { font-size: 14px; } th, td { padding: 8px 4px; } }   /* три колонки на 320 px */
th { font-weight: 700; }
.todo { background: var(--terra-soft); color: var(--terra); font-weight: 700; padding: 0 4px; border-radius: 4px; }
.note { background: var(--terra-soft); border-radius: 12px; padding: 14px 16px; margin: 16px 0; }
footer { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--grey); font-size: 14px; }
a:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
