/* Общие стили сайта Red1rect.
 *
 * Подключается ПЕРЕД блоком <style> страницы, поэтому страница может
 * перекрыть любое правило отсюда своим. Так и сделано там, где вёрстка
 * отличается осознанно: узкие документные страницы, центровка на success.
 *
 * Сгенерирован из совпадающих правил семи страниц. Правишь здесь — меняется
 * везде; правишь на странице — только на ней.
 */

.icon { height: 1em; width: auto; fill: currentColor; display: inline-block; vertical-align: -0.125em; flex-shrink: 0 }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0 }
:root { --accent: #D21E1E; --accent-light: rgba(210,30,30,0.08); --accent-soft: rgba(210,30,30,0.6); --bg: #0b0b0f; --card: rgba(255,255,255,0.03); --border: rgba(255,255,255,0.08); --muted: rgba(255,255,255,0.45); --text: #ffffff; }
[data-theme="light"] { --accent: #D14A3D; --bg: #eeeef1; --card: rgba(0,0,0,0.045); --border: rgba(0,0,0,0.14); --muted: rgba(0,0,0,0.6); --text: #262629; }
body { background: radial-gradient(ellipse at top left, rgba(210,30,30,0.07), transparent 40%), #0b0b0f; color: #e8e8e8; font-family: 'Onest', sans-serif }
[data-theme="light"] body { background: radial-gradient(ellipse at top left, rgba(210,30,30,0.05), transparent 40%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E") repeat, var(--bg); color: #262629 }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 100px; background: rgba(255,255,255,0.05); color: var(--text); border: 1px solid var(--border); cursor: pointer; transition: all 0.2s; font-size: 0.8rem; flex-shrink: 0 }
.theme-toggle:hover { background: rgba(255,255,255,0.09) }
nav { position: sticky; top: 0; z-index: 100; backdrop-filter: blur(24px); border-bottom: 1px solid var(--border); background: rgba(11,11,15,0.8) }
[data-theme="light"] nav { background: rgba(224,224,228,0.82) }
.nav-inner { max-width: 960px; margin: 0 auto; padding: 0 1.25rem; height: 56px; display: flex; align-items: center; justify-content: space-between }
.nav-actions { display: flex; align-items: center; gap: 8px }
.logo-img-wrap { text-decoration: none; display: flex; align-items: center; gap: 10px }
.logo-img-box { width: 36px; height: 36px; border-radius: 9px; overflow: hidden; flex-shrink: 0; box-shadow: 0 0 16px rgba(210,30,30,0.4) }
.logo-img-box img { width: 100%; height: 100%; object-fit: cover; display: block }
.logo-full-img { height: 28px; width: auto; display: block }
.logo-full-img-light { display: none }
[data-theme="light"] .logo-full-img-dark { display: none }
[data-theme="light"] .logo-full-img-light { display: block }
.logo-text { font-family: 'Unbounded', sans-serif; font-weight: 900; font-size: 1rem; color: var(--text) }
.logo-text em { color: var(--accent); font-style: italic }
.logo-text .gap { letter-spacing: 0.06em }
[data-theme="light"] .theme-toggle { background: rgba(0,0,0,0.04) }
[data-theme="light"] .theme-toggle:hover { background: rgba(0,0,0,0.08) }
.logo-corner-glow { position: fixed; top: 0; left: 0; width: 280px; height: 280px; background: radial-gradient(ellipse at top left, rgba(210,30,30,0.18) 0%, transparent 65%); pointer-events: none; z-index: 0 }
.blob { position: fixed; border-radius: 50%; pointer-events: none; z-index: 0; filter: blur(40px) }
.blob-1 { width: 500px; height: 500px; top: -150px; right: -100px; background: radial-gradient(circle, rgba(210,30,30,0.1) 0%, transparent 70%) }
footer { border-top: 1px solid var(--border); margin-top: 2rem }
.footer-inner { max-width: 960px; margin: 0 auto; padding: 1.25rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem }
.footer-links { display: flex; gap: 1.25rem; flex-wrap: wrap }
.footer-links a { font-size: 0.78rem; color: var(--muted); text-decoration: none; transition: color 0.2s }
.footer-links a:hover { color: var(--accent) }
.footer-copy { font-size: 0.75rem; color: rgba(255,255,255,0.2) }
.nav-back { color: var(--muted); font-size: 0.82rem; text-decoration: none; display: flex; align-items: center; gap: 6px; transition: color 0.2s }
.nav-back:hover { color: var(--text) }
.page-title { font-family: 'Unbounded', sans-serif; font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 900; color: var(--text); margin-bottom: 0.5rem; line-height: 1.2 }
.logo { font-family: 'Unbounded', sans-serif; font-weight: 900; font-size: 1rem; color: var(--text); text-decoration: none }
.logo em { color: var(--accent); font-style: italic }
.logo .gap { letter-spacing: 0.06em }
.page-label { font-size: 0.7rem; font-weight: 600; color: var(--accent); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 0.5rem; opacity: 0.85 }
.blob-2 { width: 400px; height: 400px; bottom: -100px; left: -100px; background: radial-gradient(circle, rgba(210,30,30,0.07) 0%, transparent 70%) }
.btn-cabinet { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.05); color: var(--text); font-weight: 600; font-size: 0.82rem; padding: 8px 14px; border-radius: 100px; text-decoration: none; border: 1px solid var(--border); transition: all 0.2s; white-space: nowrap }
.btn-cabinet:hover { background: rgba(255,255,255,0.09); border-color: rgba(255,255,255,0.15) }
.btn-cabinet svg { font-size: 0.75rem; color: var(--muted) }
.section-title { font-family: 'Unbounded', sans-serif; font-size: clamp(1.3rem, 4vw, 2rem); font-weight: 900; color: var(--text); margin-bottom: 0.5rem }
.spinner { width: 15px; height: 15px; border: 2px solid rgba(255,255,255,0.3); border-top-color: white; border-radius: 50%; animation: spin 0.7s linear infinite; display: none }
.page { max-width: 960px; margin: 0 auto; padding: 1.75rem 1.25rem; position: relative; z-index: 1 }
.page-sub { font-size: 0.82rem; color: var(--muted); margin-bottom: 1.75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
[data-theme="light"] .doc-body p, [data-theme="light"] .doc-body ul li { color: rgba(0,0,0,0.68) }
.content { max-width: 760px; margin: 0 auto; padding: 3rem 1.25rem 4rem; position: relative; z-index: 1 }
.page-date { font-size: 0.8rem; color: var(--muted); margin-bottom: 1.5rem }
.doc-body h2 { font-size: 0.95rem; font-weight: 700; color: var(--text); margin: 2rem 0 0.6rem }
.doc-body p { font-size: 0.875rem; color: rgba(255,255,255,0.62); line-height: 1.8; margin-bottom: 0.6rem }
.doc-body ul { padding-left: 1.25rem; margin-bottom: 0.75rem }
.doc-body ul li { font-size: 0.875rem; color: rgba(255,255,255,0.62); line-height: 1.8; margin-bottom: 0.25rem }
.doc-divider { border: none; border-top: 1px solid var(--border); margin: 1.75rem 0 }
.doc-link { color: var(--accent); text-decoration: none }
.doc-link:hover { text-decoration: underline }
