/* Скин «nr-skylog» — «журнал наблюдений» (The Science Beat, 10.11.2026; навык frontend-design). Поверх site.css и newsroom.css.
   Идея: слова — шрифтом научных журналов (STIX Two Text: заголовки, лиды, текст статей), измерения и интерфейс — приборным
   гротеском (Geist: время, числа, меню, подписи). Одно смелое место — ночная полоса «небо сегодня»: тонкая строка в шапке
   каждой страницы (Луна, сияние) и панель на главной. Остальное тихо: белая страница, чернильный текст, индиго для ссылок
   и рубрик. Без капса, без «·», без моноширинного. Главная — parts/front-journal.php, расчёты неба — parts/sky.php. */
@font-face{font-family:'STIX Two Text';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/STIXTwoText-400_700-normal.woff2) format('woff2');}
@font-face{font-family:'STIX Two Text';font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/STIXTwoText-400_700-italic.woff2) format('woff2');}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/Geist-100_900-normal.woff2) format('woff2');}

:root, :root[data-theme="light"] {
  --paper: #FFFFFF; --surface: #F3F4FA; --ink: #10132B; --ink-2: #353852; --muted: #5A5E78; --line: #E1E3EE;
  --link: #3730A3; --kicker: #4338CA; --tint: #EEF0FD; --code: #F0F1F8; --accent-ink: #FFFFFF; --rule: #10132B;
  --display: "STIX Two Text", "Times New Roman", Times, serif;
  --text: "STIX Two Text", "Times New Roman", Times, serif;
  --ui: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --night: #0B1030; --night-line: #232B63; --night-ink: #E6EAFF; --night-muted: #A6AEDD; --night-link: #C7D2FE;
  --moon: #F2EAD3; --moon-dark: #1D2456; --moon-edge: #46509A; --aurora: #6EE7B7; --bar: #7F8BD9;
  --nav-hi: #4338CA; --ft-accent: #C7D2FE;
  --prose: 20px; --hed-w: 700; --r: 4px; --w: 1200px; --measure: 66ch;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0A0C1C; --surface: #12152B; --ink: #E9EAF6; --ink-2: #C6C9DE; --muted: #9A9EBB; --line: #23274A;
    --link: #C7D2FE; --kicker: #A5B4FC; --tint: #151936; --code: #191C33; --accent-ink: #0A0C1C; --rule: #E9EAF6;
    --night: #10153A; --nav-hi: #A5B4FC;
  }
}
:root[data-theme="dark"] {
  --paper: #0A0C1C; --surface: #12152B; --ink: #E9EAF6; --ink-2: #C6C9DE; --muted: #9A9EBB; --line: #23274A;
  --link: #C7D2FE; --kicker: #A5B4FC; --tint: #151936; --code: #191C33; --accent-ink: #0A0C1C; --rule: #E9EAF6;
  --night: #10153A; --nav-hi: #A5B4FC;
}

body.nr { font-variant-numeric: lining-nums; }
.nr time, .nr-meta, .nr-times, .nr .prose td, .sky-line, .sky-when { font-variant-numeric: lining-nums tabular-nums; }

/* ── Шапка: ночная строка, знак, меню ── */
.nr-util { background: var(--night); color: var(--night-muted); border-bottom: 0; font: 500 12.5px/1.2 var(--ui); }
.nr-util-in { min-height: 38px; gap: 8px 22px; }
.nr-util .nr-theme { color: var(--night-ink); min-height: 38px; }
.nr-util .nr-theme:hover { color: #FFFFFF; }
.nr-util :focus-visible, .sky-panel :focus-visible, .nr .site-footer :focus-visible { outline-color: var(--night-link); }
.sky-line { margin: 0 0 0 auto; display: flex; align-items: center; gap: 22px; min-width: 0; }
.sky-i { display: inline-flex; align-items: center; gap: 6px; color: var(--night-ink); text-decoration: none; white-space: nowrap; }
a.sky-i:hover { text-decoration: underline; text-underline-offset: 3px; }
.sky-l { color: var(--night-muted); }
.sky-i.is-storm { color: var(--aurora); }
.sky-disc { flex: none; display: block; }
.sky-dark { fill: var(--moon-dark); stroke: var(--moon-edge); stroke-width: 3; }
.sky-lit { fill: var(--moon); }

.nr-mast { padding-top: 22px; padding-bottom: 16px; }
.nr .logo { font: 700 42px/1 var(--display); letter-spacing: -.02em; }
.nr .logo-b { color: var(--kicker); font-style: italic; margin-left: .2em; }
.nr-tagline { font: 400 14px/1.35 var(--ui); margin-top: 7px; }
.nr .search { border-radius: var(--r); overflow: hidden; }
.nr .search button { letter-spacing: 0; font-weight: 600; }
.nr .nav-toggle { letter-spacing: 0; font-weight: 600; text-transform: none; }
.nr .nr-nav { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.nr .nr-nav a { font: 600 14.5px/1.2 var(--ui); letter-spacing: 0; padding: 13px 0 10px; }

/* ── Общие метки: рубрика над заголовком, подписи блоков ── */
.nr .eyebrow { font: 600 13px/1.2 var(--ui); letter-spacing: 0; text-transform: none; color: var(--kicker); }
.nr-label { font: 700 21px/1.15 var(--display); letter-spacing: -.005em; text-transform: none; }
.nr-more { font-weight: 600; color: var(--link); }
.nr-hed { letter-spacing: -.008em; }
.nr-dek { font-size: 16.5px; line-height: 1.45; }
.nr-meta { font-weight: 500; }

/* ── Панель главной «небо сегодня» ── */
.sky-panel { background: var(--night); color: var(--night-ink); padding: 20px 0 22px; border-top: 1px solid var(--night-line); }
.sky-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sky-cells { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
.sky-cell { min-width: 0; }
.sky-name { font: 600 13px/1.2 var(--ui); color: var(--night-muted); margin: 0 0 5px; letter-spacing: 0; }
.sky-main { font: 600 23px/1.14 var(--display); color: var(--night-ink); margin: 0; letter-spacing: -.008em; text-wrap: balance; }
.sky-sub { font: 400 13.5px/1.45 var(--ui); color: var(--night-muted); margin: 6px 0 0; max-width: 46ch; }
.sky-more { display: inline-block; margin-top: 8px; font: 600 13px/1.3 var(--ui); color: var(--night-link); text-decoration: underline; text-decoration-color: var(--moon-edge); text-underline-offset: 3px; }
.sky-more:hover { text-decoration-color: currentColor; }
.sky-moon { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: center; }
.sky-moon .sky-disc { width: 44px; height: 44px; }
.sky-bars { display: none; }
.sky-next { border-top: 1px solid var(--night-line); padding-top: 12px; }
.sky-next ol { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 9px; }
.sky-next li { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; align-items: baseline; }
.sky-when { font: 600 13px/1.3 var(--ui); color: var(--moon); white-space: nowrap; }
.sky-what { font: 500 16.5px/1.25 var(--display); color: var(--night-ink); }
.sky-what a { color: inherit; text-decoration: none; }
.sky-what a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.sky-in { font: 500 12.5px/1.3 var(--ui); color: var(--night-muted); white-space: nowrap; margin-left: 4px; }
.sky-src { font: 400 12px/1.45 var(--ui); color: var(--night-muted); margin: 18px 0 0; max-width: 96ch; }

/* ── Главная: главный материал и журнал находок ── */
.jr-front { padding-top: 28px; }
.jr-top { display: grid; gap: 32px; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.jr-lead .nr-story-lead .nr-img img { aspect-ratio: 16 / 9; }
.jr-lead .nr-story-lead .nr-hed { font-size: clamp(30px, 3.7vw, 46px); line-height: 1.07; letter-spacing: -.015em; }
.jr-lead .nr-story-lead .nr-dek { font-size: 19px; line-height: 1.45; max-width: 60ch; margin-top: 4px; }
.jr-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--rule); }
.jr-h { font: 700 25px/1.15 var(--display); letter-spacing: -.01em; margin: 0; }
.jr-log ol { list-style: none; margin: 0; padding: 0; }
.jr-log li { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.jr-log li:last-child { border-bottom: 0; padding-bottom: 0; }
.jr-log time { font: 500 12.5px/1.3 var(--ui); color: var(--muted); white-space: nowrap; }
.jr-log-hed { font: 600 18px/1.24 var(--display); color: var(--ink); text-decoration: none; letter-spacing: -.005em; text-wrap: pretty; }
.jr-log-hed:hover, .jr-q-hed:hover, .jr-field li a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* ── Главная: объяснения ── */
.jr-qs { padding: 32px 0 34px; border-bottom: 1px solid var(--line); }
.jr-qs .jr-h { margin-bottom: 20px; }
.jr-q-cards { display: grid; gap: 28px; }
.jr-q .nr-hed { font-size: 22px; line-height: 1.17; }
.jr-q-more { list-style: none; margin: 26px 0 0; padding: 20px 0 0; border-top: 1px solid var(--line); display: grid; gap: 16px 32px; }
.jr-q-more li { min-width: 0; line-height: 1.24; }
.jr-q-more .eyebrow { display: block; margin: 0 0 4px; }
.jr-q-hed { font: 600 17.5px/1.24 var(--display); color: var(--ink); text-decoration: none; text-wrap: pretty; }

/* ── Главная: по областям ── */
.jr-fields { display: grid; gap: 34px 40px; padding: 34px 0 20px; }
.jr-field { min-width: 0; }
.jr-field h2 { font: 700 21px/1.15 var(--display); margin: 0 0 12px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.jr-field h2 a { color: var(--ink); text-decoration: none; }
.jr-field h2 a:hover { color: var(--kicker); }
.jr-field ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.jr-field li { line-height: 1.28; }
.jr-field li a { font: 500 16.5px/1.28 var(--display); color: var(--ink); text-decoration: none; text-wrap: pretty; }

/* ── Ленты на внутренних страницах ── */
.nr-latest .nr-label { border-bottom: 1px solid var(--rule); }
.nr-latest time { font-weight: 500; color: var(--muted); }
.nr-latest .eyebrow { font-size: 12.5px; color: var(--kicker); }
.nr-latest-hed { font: 600 16.5px/1.26 var(--display); }
.nr-sec-head { border-top: 1px solid var(--rule); }
.nr-archive-head { border-bottom: 1px solid var(--rule); }
.nr-archive-head .archive-title { letter-spacing: -.015em; }
.nr-archive-head .archive-dek { font-size: 18px; max-width: 62ch; }
.nr-river-item .nr-hed { font-size: 22px; line-height: 1.17; }

/* ── Статья ── */
/* широкая таблица прокручивается сама, а не растягивает страницу на телефоне */
.nr-article-grid > * { min-width: 0; }
.nr .nr-article { width: 100%; }
.nr .crumbs { font: 500 13px/1.3 var(--ui); }
.nr .article-title { font-size: clamp(32px, 4.5vw, 50px); line-height: 1.06; letter-spacing: -.018em; margin: 12px 0 16px; text-wrap: balance; }
.nr .article-dek { font-size: 21px; line-height: 1.42; }
.nr-by { font-weight: 600; }
.nr .prose { line-height: 1.62; }
.nr .prose .lede { font-size: 1.12em; line-height: 1.5; max-width: calc(var(--measure) / 1.12); }
.nr .prose h2 { font-size: 29px; line-height: 1.15; letter-spacing: -.012em; margin: 1.7em 0 .5em; text-wrap: balance; }
.nr .prose h3 { font-size: 22.5px; line-height: 1.22; }
.nr .prose ol > li::before { font-weight: 700; }
.nr .prose blockquote { border-left-color: var(--kicker); }
.nr .prose th { letter-spacing: 0; text-transform: none; font: 600 13.5px var(--ui); }
.nr .prose h2#faq, .nr .prose h2.faq { border-top: 1px solid var(--rule); }
.nr .prose .nr-box { border-left: 3px solid var(--kicker); border-radius: 0 var(--r) var(--r) 0; }
.nr .prose .nr-box h2 { font: 700 21px/1.2 var(--display); color: var(--ink); letter-spacing: -.005em; }
.nr .prose .nr-bottom { border-left-color: var(--rule); }
.nr .tags a { letter-spacing: 0; font-weight: 500; font-size: 13px; }

/* ── Подвал: та же ночь, что и сверху ── */
.nr .site-footer { background: var(--night); border-top: 0; margin-top: 32px; }
.nr .site-footer .logo { font: 700 30px/1 var(--display); color: var(--night-ink); }
.nr .site-footer .logo-b { color: var(--night-link); }
.nr .site-footer .section-label { font: 600 13.5px/1.2 var(--ui); letter-spacing: 0; text-transform: none; color: var(--night-muted); }
.nr .site-footer a:hover { color: var(--night-link); }

/* ── Ширины ── */
@media (max-width: 719px) {
  .nr .logo { font-size: 31px; }
  .nr-util .nr-date { display: none; }
  .sky-line { margin-left: 0; gap: 16px; }
  .sky-panel { padding: 16px 0 18px; }
  .sky-main { font-size: 21px; }
  .sky-moon .sky-more, .sky-src, .sky-in { display: none; }
  .jr-front { padding-top: 0; }
  .jr-lead .nr-story-lead:not(.has-img) { padding-top: 24px; }
  .nr-util .nr-theme { margin-left: auto; }
  .jr-lead .nr-story-lead .nr-img { margin-left: -16px; margin-right: -16px; }
  .jr-lead .nr-story-lead .nr-img img { border-radius: 0; }
  .nr .article-img img { border-radius: 0; }
  .nr .prose h2 { font-size: 25px; }
}
@media (min-width: 720px) {
  .sky-panel { padding: 24px 0 26px; }
  .sky-cells { grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr) minmax(0, 1.05fr); gap: 0; }
  .sky-cell + .sky-cell { border-left: 1px solid var(--night-line); padding-left: 28px; }
  .sky-cell { padding-right: 28px; }
  .sky-main { font-size: 26px; }
  .sky-moon { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; align-items: start; }
  .sky-moon .sky-disc { width: 56px; height: 56px; margin: 2px 0 0; }
  .sky-next { border-top: 0; padding-top: 0; }
  .sky-next li { grid-template-columns: 1fr; gap: 1px; }
  .sky-next ol { gap: 10px; }
  .jr-q-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jr-q-more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jr-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  .sky-moon { grid-template-columns: 76px minmax(0, 1fr); gap: 18px; }
  .sky-moon .sky-disc { width: 76px; height: 76px; }
  .sky-aur { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 22px; align-items: start; }
  .sky-aur > .sky-name, .sky-aur > .sky-main, .sky-aur > .sky-sub, .sky-aur > .sky-more { grid-column: 1; }
  .sky-bars { grid-column: 2; grid-row: 1 / span 4; display: flex; align-items: flex-end; gap: 7px; height: 96px; padding: 0 2px 18px; position: relative; border-bottom: 1px solid var(--night-line); margin-top: 4px; }
  .sky-bars::before { content: "Kp 5"; position: absolute; left: 0; right: 0; bottom: calc(18px + (96px - 18px) * .5556); border-top: 1px dashed var(--moon-edge); font: 500 10.5px/1 var(--ui); color: var(--night-muted); text-align: right; padding-top: 3px; }
  .sky-bar { position: relative; width: 26px; height: 100%; display: flex; align-items: flex-end; }
  .sky-bar i { display: block; width: 100%; background: var(--bar); border-radius: 2px 2px 0 0; }
  .sky-bar.is-storm i { background: var(--aurora); }
  .sky-bar b { position: absolute; left: 50%; bottom: -17px; transform: translateX(-50%); font: 500 10.5px/1 var(--ui); color: var(--night-muted); white-space: nowrap; }
  .jr-top { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); column-gap: 48px; }
  .jr-q-more { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .jr-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media print { .sky-panel, .sky-line { display: none !important; } }
