:root{--ink:#19130f;--paper:#e8dfca;--cream:#f3ecd9;--rust:#a33b27;--gold:#b99a58;--night:#100d0b;--muted:#a99e8b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--cream);font-family:Manrope,Arial,sans-serif}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{height:86px;border-bottom:1px solid #ffffff24;display:flex;align-items:center;padding:0 4vw;position:absolute;z-index:5;width:100%;gap:30px}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-weight:700;font-size:12px;line-height:1.05;letter-spacing:.06em}.brand i{width:9px;height:9px;border-radius:50%;background:var(--rust);box-shadow:0 0 16px var(--rust)}.division{font-size:10px;letter-spacing:.2em;color:#c7bda7;border-left:1px solid #ffffff35;padding-left:30px}.back{margin-left:auto;color:#d9ceb7;font-size:12px;text-decoration:none}.hero{min-height:780px;height:100vh;height:100svh;display:grid;grid-template-columns:46% 54%;position:relative;overflow:hidden;border-bottom:1px solid #ffffff20}.hero-art{position:relative;overflow:hidden;background:#16100d}.hero-art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,transparent 10%,#100d0b33 48%,#100d0bd9 90%),linear-gradient(90deg,transparent 70%,var(--night))}.hero-art img{width:100%;height:100%;object-fit:cover;filter:sepia(.7) saturate(.65) brightness(.52);transform:scale(1.13)}.hero-art b{position:absolute;z-index:2;left:50%;top:48%;font-size:50px;color:#c64e34;transform:translate(-50%,-50%)}.orbit{position:absolute;z-index:2;left:50%;top:48%;width:340px;aspect-ratio:1;border:1px solid #d6b97970;border-radius:50%;transform:translate(-50%,-50%)}.orbit.two{width:510px;transform:translate(-50%,-50%) rotate(24deg)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:120px 7vw 70px 5vw;position:relative;z-index:2}.kicker,.index,.print-stamp{display:none}
.result-label{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#b7a98d}.kicker span{display:inline-block;width:28px;height:1px;background:var(--rust);vertical-align:middle;margin-right:9px}.hero h1,.section-heading h2,.dossier h2,.origins h2{font-size:clamp(49px,6vw,94px);line-height:.87;letter-spacing:-.055em;margin:28px 0;font-weight:700}.hero h1 em,.section-heading h2 em,.dossier h2 em,.origins h2 em{font-family:"PT Serif",serif;font-weight:400;color:#c8af77}.intro{font-family:"PT Serif",serif;font-size:20px;line-height:1.6;color:#c7bdab;max-width:580px}.start{display:flex;justify-content:space-between;width:250px;margin-top:30px;border-bottom:1px solid var(--rust);padding:13px 2px;color:inherit;text-transform:uppercase;font-size:11px;letter-spacing:.13em;text-decoration:none}.case-mark{position:absolute;right:4vw;bottom:4vw;font-size:10px;letter-spacing:.18em;color:#8f8574}.steps{position:sticky;top:0;z-index:10;display:flex;justify-content:center;background:#100d0bf2;border-bottom:1px solid #ffffff20}.steps a{padding:18px 3vw;color:#9e9483;text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:.13em}.steps b{color:var(--rust);margin-right:8px}.notice{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:28px 6vw;background:#211a15;border-bottom:1px solid #ffffff1b}.notice span{color:#d95a3f;text-transform:uppercase;font-size:10px;letter-spacing:.18em}.notice p{margin:0;max-width:980px;color:var(--muted);font-size:12px;line-height:1.6}.profile-section,.oracle-section,.result-section{padding:105px 7vw;border-bottom:1px solid #ffffff20;scroll-margin-top:55px}.section-heading{display:grid;grid-template-columns:160px minmax(400px,760px) minmax(250px,420px);gap:35px;align-items:start}.section-heading .index{padding-top:14px}.section-heading h2{font-size:clamp(44px,5vw,76px);margin:0}.section-heading>p:last-child{font-family:"PT Serif",serif;color:var(--muted);font-size:17px;line-height:1.65;margin:8px 0}.profile-form,.oracle-form{margin:70px auto 0;max-width:820px;border-top:1px solid #ffffff2b;padding-top:38px}.profile-form label,.oracle-form label{display:block;font-family:"PT Serif",serif;font-size:22px;margin-bottom:18px}.input-row{display:flex;gap:14px}.input-row input,.oracle-form textarea{width:100%;border:1px solid #ffffff30;background:#17120f;color:var(--cream);padding:20px;font:inherit;color-scheme:dark;}.input-row input:focus,.oracle-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b99a5820}button{font:inherit;cursor:pointer}.input-row button,.oracle-form button,.daily-card,.buy{border:0;background:var(--rust);color:#fff;padding:0 28px;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.privacy-note,.form-error{font-size:11px;color:#817768}.form-error{color:#d86a50;min-height:1.3em}.result-section{background:#17120f}.result-section[hidden],.daily-result[hidden],.oracle-result[hidden],.oracle-locked[hidden]{display:none}.dossier-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.case-no{font-family:"PT Serif",serif;font-size:28px}.case-no strong{color:var(--gold)}.change-date,.restart,.print,.profile-actions button{border:1px solid #ffffff32;background:transparent;color:var(--cream);padding:13px 18px;text-transform:uppercase;font-size:9px;letter-spacing:.1em}.profile-lead{background:var(--paper);color:var(--ink);padding:55px;display:grid;grid-template-columns:220px 1fr;gap:60px;position:relative}.profile-lead:before,.archive-route:before{content:"";position:absolute;inset:11px;border:1px solid #8d7e6338;pointer-events:none}.number-seal{width:210px;aspect-ratio:1;border:1px solid #9e8b67;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.number-seal span{font-size:9px;letter-spacing:.25em}.number-seal strong{font:400 92px/1 "PT Serif",serif}.number-seal i{width:18px;height:1px;background:var(--rust)}.profile-lead h2{font:400 clamp(36px,4vw,58px) "PT Serif",serif;margin:4px 0 20px}.lead-combination,.lead-tension{font:17px/1.65 "PT Serif",serif}.profile-lead blockquote{margin:25px 0 0;padding:18px 24px;border-left:2px solid var(--rust);font:italic 17px/1.55 "PT Serif",serif;color:#5e5042}.facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ffffff1f;border-top:0}.facts article{padding:28px;border-right:1px solid #ffffff1f}.facts article:last-child{border:0}.facts small{display:block;color:#887e6e;text-transform:uppercase;font-size:9px;letter-spacing:.14em}.facts strong{display:block;margin:12px 0;font:400 22px "PT Serif",serif;color:#d9c69e}.facts p{font-size:11px;line-height:1.55;color:#958a79}.archive-route,.oracle-result{max-width:1050px;margin:55px auto 0;background:var(--paper);color:var(--ink);padding:45px;display:grid;grid-template-columns:40% 1fr;gap:45px;position:relative}.archive-route img{width:100%;height:330px;object-fit:cover;filter:sepia(.45) saturate(.75)}.archive-route h3,.oracle-result h3,.daily-result h3{font:400 38px "PT Serif",serif;margin:8px 0 18px}.archive-route p{font:17px/1.65 "PT Serif",serif}.source-link{color:var(--rust);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.calculation{max-width:1050px;margin:40px auto;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}.calculation summary{display:flex;justify-content:space-between;padding:22px 0;cursor:pointer;text-transform:uppercase;font-size:10px;letter-spacing:.14em}.calculation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ffffff1c;margin-bottom:25px}.calculation-grid div{background:#17120f;padding:22px}.calculation-grid strong{color:#c8af77;font:400 17px "PT Serif",serif}.calculation-grid p{color:#988d7b;font-size:11px;line-height:1.6}.profile-actions{max-width:1050px;margin:25px auto;display:flex;gap:12px}.profile-actions .daily-card{background:var(--rust);border:0}.daily-result{max-width:1050px;margin:25px auto;padding:28px;border-left:2px solid var(--gold);background:#201914}.daily-result h3{margin:7px 0 10px}.daily-result p:last-child{font:16px/1.6 "PT Serif",serif;color:#bcb09c}.oracle-section{background:#100d0b}.oracle-form textarea{resize:vertical;min-height:110px}.question-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.question-foot span{font-size:10px;color:#807769}.question-foot button{height:52px}.artifact{min-height:470px;position:relative;overflow:hidden;background:#241c16}.artifact img{width:100%;height:100%;object-fit:cover;filter:sepia(.45) saturate(.75)}.artifact span{position:absolute;inset:14px;border:1px solid #e7d4a766}.reading{padding:10px}.reading dl{margin:0}.reading dt{margin-top:17px;text-transform:uppercase;font-size:9px;letter-spacing:.13em;color:#8e735d}.reading dd{margin:5px 0;font:15px/1.55 "PT Serif",serif}.oracle-locked{text-align:center;margin:55px auto}.oracle-locked p{font:18px "PT Serif",serif;color:var(--muted)}.oracle-locked button{color:#d3c7ad;background:transparent;border:1px solid #ffffff2a;padding:13px 19px}.dossier{min-height:720px;padding:110px 8vw;display:grid;grid-template-columns:48% 52%;align-items:center;background:#241b15}.paper-stack{height:520px;position:relative}.paper{position:absolute;width:min(390px,80%);height:500px;left:45%;top:50%;background:#d8cbb0;transform:translate(-50%,-50%) rotate(-5deg);box-shadow:0 30px 80px #0009}.back-paper{transform:translate(-42%,-48%) rotate(7deg);background:#9d8465}.front-paper{color:#201713;padding:60px 42px;border:1px solid #6d5c46;outline:1px solid #7a674b;outline-offset:-13px}.front-paper p{font-size:12px;letter-spacing:.25em}.front-paper strong{display:block;font:400 54px "PT Serif",serif;margin:95px 0 85px}.front-paper i,.front-paper small{display:block}.dossier-copy{max-width:610px}.dossier h2{font-size:clamp(48px,5vw,76px)}.dossier-copy>p:not(.index){font:18px/1.6 "PT Serif",serif;color:#b9ad99}.dossier ul{list-style:none;padding:0;color:#c2b7a4;font-size:12px;line-height:2}.dossier li:before{content:"×";color:var(--rust);margin-right:12px}.dossier-sample{margin:28px 0;padding:20px;border-left:2px solid var(--gold);background:#ffffff08}.dossier-sample span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.dossier-sample p{font:15px/1.5 "PT Serif",serif}.buy{height:56px;width:100%}.buy:disabled{cursor:not-allowed;filter:saturate(.2);opacity:.65}.origins{padding:95px 8vw;display:grid;grid-template-columns:25% 75%;border-bottom:1px solid #ffffff20}.origins h2{font-size:clamp(45px,5vw,72px);margin:0}.origins>div{display:grid;grid-template-columns:1fr 1fr;gap:60px}.origins>div p{font:17px/1.65 "PT Serif",serif;color:var(--muted)}footer{padding:45px 5vw;display:flex;align-items:center;gap:70px;color:#8c8375;font-size:10px}footer>a:last-child{margin-left:auto;color:#8c8375}.toast{position:fixed;right:20px;bottom:20px;background:var(--cream);color:var(--ink);padding:14px 18px;font-size:12px;transform:translateY(80px);opacity:0;transition:.25s;z-index:30}.toast.show{transform:none;opacity:1}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{position:absolute;inset:0;opacity:.45}.hero-copy{padding:130px 7vw 70px}.division{display:none}.section-heading{grid-template-columns:1fr}.section-heading .index{padding:0}.profile-section,.oracle-section,.result-section{padding:75px 5vw}.profile-lead{grid-template-columns:1fr;padding:38px;gap:30px}.facts{grid-template-columns:1fr 1fr}.facts article:nth-child(2){border-right:0}.archive-route,.oracle-result{grid-template-columns:1fr}.dossier{grid-template-columns:1fr}.origins{grid-template-columns:1fr;gap:30px}.origins>div{grid-template-columns:1fr}footer{flex-wrap:wrap;gap:25px}}
@media(max-width:560px){.topbar{height:72px}.back{font-size:0}.back:after{content:"Архив ↗";font-size:11px}.hero{min-height:700px}.hero h1{font-size:46px}.intro{font-size:17px}.steps a{padding:15px 10px}.steps a{font-size:0}.steps b{font-size:10px;margin:0}.notice{grid-template-columns:1fr;gap:8px}.section-heading h2{font-size:42px}.input-row{flex-direction:column}.input-row button{height:52px}.dossier-head{align-items:flex-start;gap:15px}.case-no{font-size:20px}.profile-lead,.archive-route,.oracle-result{padding:30px 24px}.number-seal{width:160px}.facts{grid-template-columns:1fr}.facts article{border-right:0;border-bottom:1px solid #ffffff1f}.calculation-grid{grid-template-columns:1fr}.profile-actions{flex-direction:column}.profile-actions button{width:100%}.artifact{min-height:330px}.question-foot{align-items:flex-end;gap:12px}.question-foot button{padding:0 14px}.paper-stack{height:430px}.paper{height:400px}.front-paper{padding:45px 32px}.front-paper strong{margin:65px 0}.origins{padding:70px 7vw}footer{display:block}footer>*{margin:18px 0!important;display:flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{
 /* Личное дело печатается на один лист А4: поля страницы, мелкий кегль,
    крупные экранные украшения (печать-круг, обложечная картинка) ужимаются. */
 @page{size:A4 portrait;margin:11mm}
 .grain,.topbar,.hero,.steps,.notice,.profile-section,.oracle-section,.dossier,.origins,footer,.profile-actions,.change-date,.daily-result,.toast{display:none!important}
 html,body{background:#fff;color:#18120e;font-size:12px}
 /* Экранная тёмная тема на бумаге даёт залитые чёрным полосы и съедает тонер. */
 .result-section,.result-section *{background:#fff!important;box-shadow:none!important;text-shadow:none!important}
 .result-section{padding:0;border:0}
 .dossier-head{margin:0 0 9px;padding-bottom:5px;border-bottom:1px solid #b9ab90}
 .dossier-head .index{margin:0;font-size:8px;color:#6b5e49}
 .case-no{font-size:19px;margin:2px 0 0;color:#18120e}
 .profile-lead{background:#fff;color:#18120e;padding:0;gap:16px;grid-template-columns:92px 1fr;box-shadow:none;break-inside:avoid}
 .number-seal{width:92px;border-color:#b9ab90}
 .number-seal strong{font-size:34px}
 .number-seal span{font-size:7px}
 .number-seal i{width:26px}
 .profile-lead h2{font-size:26px;margin:1px 0 8px}
 .lead-combination,.lead-tension{font-size:12.5px;line-height:1.5;margin:0 0 6px}
 .profile-lead blockquote{margin:8px 0 0;padding:6px 12px;font-size:12.5px;line-height:1.45;color:#4a4034;border-left:2px solid #9c4a2c}
 .result-label{font-size:8px;color:#6b5e49}
 .facts{margin-top:11px;border:1px solid #b9ab90;break-inside:avoid}
 .facts article{padding:8px 10px;border-right:1px solid #d2c7ae}
 .facts small{font-size:8.5px;color:#6b5e49}
 .facts strong{margin:4px 0 2px;font-size:15px;color:#5a4025}
 .facts p{font-size:9px;color:#6b5e49}
 .archive-route{display:block;margin-top:11px;padding:0;break-inside:avoid}
 .archive-route img{display:none}
 .archive-route h3{font-size:19px;margin:2px 0 5px}
 .archive-route p{font-size:12px;line-height:1.5;margin:0}
 .archive-route .source-link{font-size:8px;color:#7a3d24}
 /* «Как это вычислено» на экране свёрнуто, а на бумаге это и есть доказательная часть. */
 .calculation{margin:11px 0 0;border-color:#b9ab90;color:#18120e;break-inside:avoid}
 .calculation summary{padding:5px 0;font-size:8px;list-style:none}
 .calculation summary span{display:none}
 .calculation:not([open]) .calculation-grid{display:grid}
 .calculation-grid{gap:1px;background:#d2c7ae!important;margin:0 0 7px}
 .calculation-grid div{background:#fff;padding:5px 7px}
 .calculation-grid strong{font-size:9.5px;color:#7a3d24}
 /* Пунктов расчёта семь, колонок две: последний растягиваем, иначе на листе
    остаётся пустая залитая клетка. */
 .calculation-grid div:last-child{grid-column:1/-1}
 .calculation-grid p{font-size:9.5px;line-height:1.4;margin:2px 0 0}
 .print-stamp{display:block;margin-top:10px;font-size:8px;letter-spacing:.06em;color:#6b5e49}
}

/* Служебные подписи .index скрыты глобально, а .section-heading — сетка из трёх
   колонок по порядку детей: без первого ребёнка заголовок уезжал в узкую колонку
   160px и налезал на абзац справа. Ставим колонки явно. */
.section-heading h2{grid-column:2}.section-heading>p:last-child{grid-column:3}
@media(max-width:900px){.section-heading h2,.section-heading>p:last-child{grid-column:auto}}

/* Длинное русское слово в крупном заголовке шире экрана 320 px: «МАСТЕРСКОЙ»
   при clamp-кегле занимает 336 px и уезжает за край — прокрутки нет, буквы
   просто пропадают. Разрешаем переносить по слогам, а если словарь переносов
   не подхватился — рвать слово принудительно.

   Только на узких экранах. На десктопе крупный заголовок намеренно выходит
   за текстовую колонку в пустое поле справа — это часть оформления, и
   переносить его там незачем: получается лишняя строка и рваный вид. */
@media(max-width:520px){h1,h2,h3,h4{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}}

/* --- контраст: приведено к WCAG AA ----------------------------------
   Значения посчитаны: тот же тон и насыщенность, другая светлота —
   минимальная, при которой пара «текст/фон» проходит норму. Область
   действия — секция, которая задаёт фон: один и тот же .index на тёмной
   и на светлой полосе требует разных цветов. */
/* 4.38→4.64 при норме 4.5 на #100d0b ×1 — «0 / 240» */
#archive-oracle .question-foot span{color:#847b6d}
/* 4.48→4.66 при норме 4.5 на #211a15 ×1 — «Редакционная модель» */
.notice span{color:#da5f44}
/* 2.96→4.63 при норме 4.5 на #100d0b ×2 — «03» */
.steps b{color:#d0543d}
/* 4.4→4.65 при норме 4.5 на #100d0b ×1 — «Диапазон 1950–сегодня. Дата остаёт» */
body .privacy-note, body .form-error{color:#857b6b}

/* --- тач-цели: минимум 24 px (WCAG 2.5.8) ------------------------------
   Ссылки и кнопки в шапке, подвале и на первом экране были высотой 11-22 px.
   Растим область нажатия симметричным вертикальным отступом: содержимое
   остаётся по центру коробки и не переносится, поэтому вёрстка не меняется.
   Менять display на flex здесь нельзя — у «● ИНТЕРЕСНОЕ ТУТ» точка и текст
   стали бы отдельными флекс-элементами и разъехались на две строки. */
.topbar a,.topbar button,.bar a,.legal-top a,footer a,.links a,.map-actions a,
.controls a,.controls button,.hero-copy a,.hero-text a,.hero>a,.hero .down,
.sound-toggle,.about-open,.fullscreen,.compact-prev,.compact-next,
.translation-toggle,.pin,.hotspot,nav a,.meta a,.sources a{min-height:24px;padding-block:7px}
/* Ползунки: полоса была 16 px, пальцем не поймать. Высоту поднимаем у самого
   поля - область нажатия растёт, родная отрисовка бегунка не ломается. */
input[type=range]{height:26px}
/* Флажки и переключатели: 13-17 px до пальца не дотягивают. */
input[type=checkbox],input[type=radio]{width:24px;height:24px}
/* Ссылки-«источники» и вспомогательная навигация: у строчных растим область
   нажатия отступом (высота строки не меняется), у блочных — задаём высоту. */


/* Единый клавиатурный фокус: акцент раздела и контрастный внешний контур. */
:focus-visible{outline:3px solid var(--cream);outline-offset:3px;box-shadow:0 0 0 6px #000}
