/* Россия Онлайн / carbon, ivory and signal red. Original adaptation. */
:root {
  --ink:#050607; --ink-soft:#090b0e; --ink-panel:#0e1115; --ink-raised:#14181d;
  --cream:#f2f4f5; --white:#f9fafb; --muted:#969fa8;
  --gold:#d81f2a; --gold-light:#f04750; --red:#d81f2a;
  --line:rgba(235,241,247,.09); --line-strong:rgba(235,241,247,.2);
  --font:'Inter Tight','Segoe UI',Arial,sans-serif;
  --mono:'JetBrains Mono',Consolas,monospace;
  --header-height:84px; --container:1376px;
  --ref-ease:cubic-bezier(.22,.68,.24,1);
}
html { scroll-padding-top:104px; }
body { font-family:var(--font); font-size:17px; font-weight:400; line-height:1.6; letter-spacing:-.012em; background:var(--ink); color:var(--cream); }
body.is-booting { overflow:hidden; }
::selection { background:#d81f2a; color:#fff; }
:focus-visible { outline-color:#ff4551; outline-offset:4px; }
button,input,select,textarea { font-family:inherit; }
main { position:relative; overflow:clip; }
.container { width:min(var(--container),100% - 112px); }
.site-header { height:var(--header-height); position:sticky; top:0; z-index:70; background:rgba(5,6,7,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.header-inner { width:min(1480px,100% - 112px); gap:26px; }
.brand { gap:12px; }
.brand-mark { width:30px; height:38px; filter:none; }
.brand-name { font-size:21px; font-weight:750; letter-spacing:.01em; }
.brand-sub { font-family:var(--mono); color:#7b858f; font-size:8px; letter-spacing:.17em; font-weight:400; }
.brand-text { gap:5px; }
.main-nav { gap:24px; }
.nav-link { font-size:13px; color:#929aa3; font-weight:500; }
.nav-link::after { height:1px; bottom:18px; background:var(--red); }
.nav-link.active,.nav-link:hover { color:#fff; }
.header-search { color:#b8c0c8; padding:11px; border-color:var(--line-strong); background:transparent; }
.header-search:hover,.menu-toggle:hover { border-color:#7a858e; background:#ffffff05; }
.header-search kbd { font-family:var(--mono); font-size:8px; color:#77808a; }
.menu-toggle { color:var(--cream); border-color:var(--line-strong); background:transparent; }
.mobile-menu { background:#080a0d; border-color:var(--line-strong); box-shadow:0 24px 50px #000b; }
.mobile-menu a { display:flex; justify-content:space-between; align-items:center; color:#ccd1d6; font-size:17px; padding-block:16px; }
.mobile-menu a svg { color:var(--red); }
.button { border-radius:0; min-height:52px; font-size:14px; padding:16px 25px; font-weight:600; letter-spacing:-.005em; transition:background .25s,border-color .25s,color .25s,transform .25s; }
.button.primary { color:#080a0c; background:#f2f4f5; border-color:#f2f4f5; }
.button.primary:hover { background:#dfe3e7; border-color:#dfe3e7; color:#050607; transform:translateY(-2px); }
.button.secondary { color:var(--cream); background:transparent; border-color:var(--line-strong); }
.button.secondary:hover { background:#ffffff08; border-color:#68727d; }
.button.small { min-height:39px; padding:9px 14px; font-size:12px; }
.button svg { width:18px; height:18px; }
.text-link,.source-link { color:#c4cbd2; }
.text-link:hover,.source-link:hover { color:#fff; }
.text-link svg,.source-link svg { color:var(--red); }
.section-kicker,.eyebrow { color:#8c969e; font-family:var(--mono); font-size:10px; font-weight:400; letter-spacing:.14em; }
.section-kicker::before,.eyebrow::before { background:#d81f2a; }
.section-title { color:var(--cream); letter-spacing:-.04em; font-weight:550; }
.badge { color:#bcc4cc; border-color:#4c565f; background:transparent; font-family:var(--mono); font-size:9px; }
.page-heading { padding-top:34px; padding-bottom:54px; margin-bottom:42px; }
.page-title { font-size:clamp(38px,5vw,72px); font-weight:550; line-height:1.03; letter-spacing:-.045em; }
.page-description,.section-intro,.panel p,.info-text { font-size:16px; line-height:1.75; color:#99a2ab; }
.page-description { max-width:770px; }
.breadcrumb { color:#6e7881; font-family:var(--mono); font-size:9px; }
.breadcrumb span:last-child { color:#9ba4ad; }
.breadcrumb a:hover { color:#fff; }
.page-meta { color:#89939c; font-family:var(--mono); font-size:10px; }
.panel,.info-card,.uniform-card,.schedule-item,.document-card,.quick-card,.feature-panel { background:#0a0d10; border-color:var(--line); }
.panel { padding:30px; }
.panel h3,.info-title { font-size:22px; letter-spacing:-.025em; }
.panel p,.info-text { margin-top:13px; }
.notice,.document-notice { background:#d81f2a07; border-color:#d81f2a38; color:#a8afb6; font-size:13px; line-height:1.8; }
.notice a { color:#e0e4e8; }
.info-card .source-link { margin-top:20px; font-size:12px; }
.sidebar-link { color:#9ba4ad; font-size:14px; }
.sidebar-link.active { color:#fff; background:#ffffff04; border-color:var(--red); }
.sidebar-link:hover { background:#ffffff04; color:#fff; }
.sidebar-link small,.sidebar-note { color:#707b85; }
.document-card:hover,.dept-card:hover { border-color:#ffffff30; background:#0c1014; }
.doc-number,.doc-footer { color:#8e98a2; font-family:var(--mono); font-size:10px; }
.doc-title { font-size:28px; }
.doc-description { font-size:14px; }
.document-card>svg { color:#d81f2a; }
.document-toolbar { color:#8b959f; }
.document-toolbar .button.secondary { background:#090b0e; }
.document-article { background:#e9ebed; color:#20252b; box-shadow:none; }
.document-block { color:#333a41; }
.document-article .document-block.doc-subheading { color:#171d23; }
.document-article .document-notice { color:#5e646b; background:#20252b07; border-color:#20252b1c; }
.document-article .notice { background:#d81f2a06; border-color:#d81f2a22; color:#7c4146; }
.document-article .notice strong,.document-article .notice a { color:#7a3038; }
.chapter-heading h2 { color:#1a2026; }
.chapter-heading .section-kicker { color:#8c3941; }
.chapter-heading>.icon-button { color:#4b535b; border-color:#26313d29; }
.chapter-heading>.icon-button:hover { color:#ae1825; border-color:#ae1825; }
.anchor-highlight { background:#d81f2a15; outline:5px solid #d81f2a15; }
.toc-link { color:#85909a; font-size:12px; }
.toc-link.active,.toc-link:hover { color:#fff; border-color:#d81f2a; }
.rank-table th,.rank-table .rank-group th { color:#c3cbd3; background:#0e1216; }
.rank-table .rank-group { background:#fff03; }
.task-list li p,.check-list li { color:#abb4bd; font-size:15px; }
.task-list li>span,.check-list li::before { color:#d81f2a; }
.wardrobe-path { color:#b8c0c8; background:#d81f2a07; border-color:#d81f2a; }
.uniform-reference>span { background:#050607e8; border-color:#ffffff30; }
.uniform-reference:hover>span { background:#f2f4f5; color:#050607; }
.department-banner { background:#080a0d; }
.department-banner::after { background:linear-gradient(0deg,#050607a8,transparent 65%); }
.dept-cover::after { background:linear-gradient(0deg,#050607d0,transparent); }
.dept-cover,.dept-card { background:#090c0f; }
.dept-code { color:#8c969f; font-family:var(--mono); font-weight:400; }
.dept-description { font-size:14px; line-height:1.7; }
.dept-footer { color:#adb5bd; font-size:12px; }
.dept-footer svg { color:#d81f2a; }
.search-field { background:#0a0c0f; border-color:#3c444b; }
.search-input { font-size:16px; color:#f2f4f5; }
.search-input::placeholder { color:#64717d; }
.filter-chip { font-family:var(--mono); font-size:10px; }
.filter-chip.active { background:#d81f2a13; color:#f2f4f5; border-color:#d81f2a; }
.search-highlight,mark { color:#fff; background:#d81f2a4a; }
.document-article mark { color:#221014; background:#d81f2a26; }
.search-result:hover h3 { color:#fff; }
.search-result h3 { font-size:21px; }
.search-result p { font-size:14px; line-height:1.7; }
.search-dialog-panel { background:#090c0f; border-color:#3c444b; }
dialog.search-dialog[open],dialog.lightbox[open] { background:#020305ee; }
dialog.search-dialog::backdrop,dialog.lightbox::backdrop { background:#020305cc; }
.map-room.active { color:#fff; background:#d81f2a12; border-color:#d81f2a; }
.map-marker { background:#c11c29; }
.map-marker:hover,.map-marker.active { background:#050607; box-shadow:0 0 0 5px #d81f2a50,0 2px 8px #0006; }
.map-toolbar { background:#090b0e; }
.map-selected { color:#d5dbe1; background:#090b0e; }
.amendment-grid>div { background:#0a0c0f; }
.toast { color:#050607; background:#f2f4f5; }
.site-footer { background:#050607; border-color:var(--line); margin-top:0; }
.footer-inner { padding-block:65px; }
.footer-brand>p,.footer-nav a { color:#8b949d; font-size:13px; }
.footer-bottom { color:#626d77; font-family:var(--mono); font-size:9px; padding-block:22px; }
.footer-bottom a { color:#919aa3; }
.footer-bottom a:hover { color:#fff; }
.faq details { padding-block:24px; }
.faq summary { font-size:20px; font-weight:500; }
.faq details p { font-size:16px; line-height:1.75; }
.faq details[open] summary { color:#fff; }
.faq summary::after { color:#d81f2a; }

/* First screen: the emblem is a living visual, the copy remains legible. */
.ref-hero { position:relative; min-height:760px; min-height:max(760px,calc(100svh - var(--header-height))); overflow:hidden; isolation:isolate; background:#050607; border-bottom:1px solid var(--line); }
.ref-scene { position:absolute; z-index:0; top:-3%; right:-3%; width:72%; height:103%; overflow:hidden; pointer-events:auto; }
.ref-scene canvas { display:block; width:100%; height:100%; max-width:none; outline:0; }
.scene-fallback { position:absolute; inset:0; display:flex; justify-content:center; align-items:center; pointer-events:none; }
.scene-fallback img { width:30%; max-height:72%; filter:drop-shadow(0 0 45px #d81f2a20); opacity:.6; }
.ref-hero-vignette { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,#050607 0%,#050607f5 18%,#050607d0 33%,#05060718 58%,transparent 75%),linear-gradient(0deg,#050607 0%,transparent 24%); pointer-events:none; }
.ref-hero-content { position:relative; z-index:2; padding-top:clamp(52px,6vw,92px); padding-bottom:164px; pointer-events:none; }
.ref-hero-content a,.ref-hero-content button { pointer-events:auto; }
.ref-kicker { display:flex; gap:13px; align-items:center; color:#9aa3ab; font-family:var(--mono); font-size:10px; line-height:1.6; font-weight:400; text-transform:uppercase; letter-spacing:.16em; margin-bottom:25px; }
.ref-kicker::before { content:''; flex-shrink:0; width:7px; height:7px; background:#d81f2a; box-shadow:0 0 15px #d81f2a45; }
.ref-word { display:flex; align-items:baseline; margin:0 0 26px -8px; max-width:640px; font-size:clamp(120px,14.7vw,216px); line-height:.88; letter-spacing:-.075em; font-weight:750; color:#f2f4f5; }
.ref-letter { display:inline-block; transform-origin:50% 100%; }
.ref-subtitle { margin:0; max-width:560px; font-size:clamp(34px,3.15vw,46px); line-height:1.02; letter-spacing:-.045em; font-weight:550; }
.ref-lead { margin-top:26px; color:#929ca6; font-size:16px; line-height:1.65; max-width:510px; }
.ref-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:34px; }
.ref-actions .button { min-height:56px; padding:17px 26px; gap:24px; }
.ref-note { margin-top:21px; color:#66717c; font-family:var(--mono); font-size:9px; line-height:1.8; letter-spacing:.05em; max-width:535px; }
.ref-hero-bottom { position:absolute; z-index:3; left:0; right:0; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--line); padding-block:21px; }
.ref-status { display:flex; align-items:center; flex-wrap:wrap; gap:7px 11px; color:#68737e; font-family:var(--mono); font-size:9px; line-height:1.6; letter-spacing:.08em; text-transform:uppercase; }
.ref-status strong,.ref-status b { color:#bbc3cb; font-weight:500; }
.ref-status::before { content:''; width:5px; height:5px; background:#d81f2a; margin-right:3px; }
.ref-status .red-dot { width:5px; height:5px; background:#d81f2a; }
.ref-scroll { color:#7f8a95; font-family:var(--mono); font-size:9px; letter-spacing:.13em; display:inline-flex; align-items:center; gap:18px; }
.ref-scroll svg { width:13px; height:24px; color:#a0a9b2; }

/* Content rhythm follows numbered editorial sections. */
.ref-section { position:relative; padding-block:clamp(82px,8.5vw,138px); border-bottom:1px solid var(--line); }
.ref-section-label { display:flex; align-items:center; gap:24px; color:#808a94; font-family:var(--mono); font-size:10px; font-weight:400; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; margin-bottom:36px; }
.ref-section-label::after { content:''; width:70px; height:1px; background:linear-gradient(90deg,#d81f2a,#d81f2a22); }
.ref-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:48px; }
.ref-section-head h2,.ref-section-title { font-size:clamp(40px,5vw,72px); line-height:1.01; letter-spacing:-.045em; font-weight:550; color:#f2f4f5; }
.ref-section-head>p { color:#87929c; font-size:16px; line-height:1.7; max-width:420px; }
.ref-section-head .text-link { font-size:13px; }
.ref-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; border:1px solid var(--line); background:#080a0d; }
.ref-stat { min-width:0; padding:31px 30px; border-right:1px solid var(--line); }
.ref-stat:last-child { border-right:0; }
.ref-stat-value { display:block; color:#f2f4f5; font-size:clamp(43px,4.5vw,65px); line-height:1; letter-spacing:-.06em; font-weight:500; margin-bottom:12px; }
.ref-stat-label,.ref-stat>p,.ref-stat>span:not(.ref-stat-value) { color:#8b959f; font-size:14px; line-height:1.45; }
.ref-stat-meta { display:block; font-family:var(--mono); font-size:8px; color:#58646f; text-transform:uppercase; letter-spacing:.14em; margin-top:20px; }
.ref-about { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); align-items:start; gap:80px; }
.ref-about-visual { position:relative; display:flex; align-items:center; justify-content:center; min-height:410px; margin-top:30px; border:1px solid var(--line); background:radial-gradient(ellipse at 50% 50%,#19222b77,transparent 65%); overflow:hidden; }
.ref-about-visual::before,.ref-about-visual::after { content:''; position:absolute; border:1px solid #ffffff08; border-radius:50%; width:290px; height:290px; }
.ref-about-visual::after { width:370px; height:370px; }
.ref-about-visual>svg,.ref-about-visual>img { position:relative; z-index:1; width:135px; height:190px; filter:drop-shadow(0 15px 20px #000); }
.ref-about-visual .mono,.ref-about-visual small { position:absolute; bottom:22px; left:24px; color:#6d7985; font-family:var(--mono); font-size:9px; letter-spacing:.12em; }
.ref-about-copy { padding-top:8px; }
.ref-about-copy>p { font-size:18px; line-height:1.8; color:#a3acb5; margin-bottom:24px; }
.ref-values { list-style:none; padding:0; margin-top:34px; border-top:1px solid var(--line); }
.ref-values>li,.ref-value { padding:22px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:36px 110px minmax(0,1fr); gap:15px; align-items:start; }
.ref-values .ref-value-number,.ref-values>li>span:first-child { color:#d81f2a; font-family:var(--mono); font-size:10px; padding-top:5px; }
.ref-values h3,.ref-values strong { font-size:17px; color:#e6e9ec; font-weight:500; }
.ref-values p { color:#7e8a95; font-size:14px; line-height:1.65; }
.ref-tasks-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.ref-task { position:relative; padding:33px 30px 35px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-height:258px; transition:background .3s; }
.ref-task:hover { background:#ffffff03; }
.ref-task-index { display:block; color:#66727e; font-family:var(--mono); font-size:10px; margin-bottom:34px; }
.ref-task>svg,.ref-task .ref-task-icon { position:absolute; top:30px; right:30px; color:#d81f2a; width:25px; height:25px; }
.ref-task h3 { font-size:25px; line-height:1.15; letter-spacing:-.025em; font-weight:550; margin-bottom:15px; max-width:300px; }
.ref-task p { color:#85919d; font-size:15px; line-height:1.7; }
.ref-structure-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ref-structure-card { background:#090c0f; border:1px solid var(--line); padding:34px; position:relative; overflow:hidden; transition:border-color .3s,background .3s; }
.ref-structure-card:hover { background:#0c1014; border-color:#ffffff25; }
.ref-structure-card::before { content:''; position:absolute; width:2px; height:42px; top:33px; left:0; background:#d81f2a; }
.ref-dept-code { color:#d83c47; font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:17px; }
.ref-dept-name { font-size:32px; line-height:1.08; font-weight:550; letter-spacing:-.035em; margin-bottom:17px; }
.ref-dept-description { color:#8c98a4; font-size:15px; line-height:1.7; }
.ref-dept-tasks { padding:0; margin-top:23px; list-style:none; border-top:1px solid var(--line); }
.ref-dept-tasks li { color:#8995a1; padding:11px 0 11px 17px; position:relative; font-size:13px; line-height:1.65; border-bottom:1px solid #ffffff05; }
.ref-dept-tasks li::before { content:''; position:absolute; top:20px; left:0; width:4px; height:4px; background:#7d2930; }
.ref-dept-link { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:23px; color:#c5cdd5; font-size:13px; }
.ref-dept-link svg { color:#d81f2a; width:18px; height:18px; }
.ref-docs-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:85px; }
.ref-docs-copy>p { color:#8b97a3; font-size:17px; line-height:1.75; margin-bottom:28px; }
.ref-docs-copy h2 { font-size:clamp(42px,4.6vw,68px); line-height:1.02; letter-spacing:-.045em; font-weight:550; margin-bottom:27px; }
.ref-access-visual { min-height:440px; position:relative; display:flex; align-items:center; justify-content:center; perspective:1100px; background:radial-gradient(ellipse at 50% 50%,#25303b45,transparent 67%); }
.ref-access-visual::before { content:''; position:absolute; width:350px; height:350px; border:1px solid #d81f2a17; border-radius:50%; }
.ref-access-card { position:relative; width:min(390px,90%); min-height:245px; padding:28px 30px; background:linear-gradient(130deg,#19212a,#080c10 68%); border:1px solid #83909d36; box-shadow:0 30px 70px #0008,inset 0 1px 0 #ffffff15; transform:rotate(-7deg) rotateY(-12deg); overflow:hidden; }
.ref-access-card::after { content:''; position:absolute; width:200px; height:200px; border:1px solid #ffffff05; border-radius:50%; right:-80px; bottom:-80px; }
.ref-access-mark { width:36px; height:48px; filter:none; margin-bottom:22px; }
.ref-access-mark img,.ref-access-mark svg { width:100%; height:100%; }
.ref-access-card h3 { font-size:24px; color:#cbd4dd; letter-spacing:.02em; }
.ref-access-card p,.ref-access-card small { color:#6c7b8b; font-family:var(--mono); font-size:8px; text-transform:uppercase; letter-spacing:.1em; margin-top:7px; }
.ref-access-chip { position:absolute; top:31px; right:29px; width:39px; height:29px; border:1px solid #9a7e465e; border-radius:3px; background:repeating-linear-gradient(90deg,#947c4a45 0 12px,#9f8a575e 12px 13px); }
.ref-access-lines { margin-top:26px; display:grid; gap:7px; }
.ref-access-lines>i,.ref-access-lines>span { display:block; width:78%; height:3px; background:#6978872c; }
.ref-access-lines>i:nth-child(2),.ref-access-lines>span:nth-child(2) { width:54%; }
.ref-doc-list { display:grid; border-top:1px solid var(--line); margin-bottom:27px; }
.ref-doc-list a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; border-bottom:1px solid var(--line); color:#d6dce2; font-size:17px; }
.ref-doc-list small { display:block; color:#6d7b87; font-size:12px; margin-top:5px; }
.ref-doc-list svg { width:19px; height:19px; color:#d81f2a; }
.ref-rank-group { padding-top:26px; border-top:1px solid var(--line); margin-top:40px; }
.ref-rank-group>h3 { font-family:var(--mono); color:#8995a1; font-size:11px; font-weight:400; letter-spacing:.13em; text-transform:uppercase; margin-bottom:28px; }
.ref-rank-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ref-rank-card { display:grid; grid-template-columns:62px minmax(0,1fr); gap:19px; padding:24px 19px; border:1px solid var(--line); background:#090c0f; min-height:192px; align-items:center; }
.ref-rank-insignia { width:62px; height:142px; }
.ref-rank-insignia>svg { width:100%; height:100%; filter:drop-shadow(0 7px 7px #0006); }
.ref-rank-name { color:#e5e9ed; font-size:18px; font-weight:550; line-height:1.2; letter-spacing:-.02em; }
.ref-rank-role { color:#7b8996; font-size:12px; line-height:1.65; margin-top:10px; }
.ref-rank-category { display:block; color:#9b535b; font-family:var(--mono); font-size:7px; text-transform:uppercase; letter-spacing:.1em; margin-top:17px; }
.ref-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ref-gallery-item { padding:0; border:1px solid var(--line); background:#090c0f; text-align:left; min-width:0; overflow:hidden; }
.ref-gallery-image { display:block; width:100%; height:280px; object-fit:cover; filter:saturate(.65) brightness(.78); transition:filter .5s,transform .7s; }
.ref-gallery-item:hover .ref-gallery-image { filter:saturate(.95) brightness(.95); transform:scale(1.025); }
.ref-gallery-caption { position:relative; display:block; padding:21px 23px; background:#090c0f; border-top:1px solid var(--line); }
.ref-gallery-caption h3,.ref-gallery-caption strong { display:block; color:#d4dbe2; font-size:18px; font-weight:500; }
.ref-gallery-caption p,.ref-gallery-caption span { color:#6d7b88; font-size:12px; margin-top:5px; }
.ref-gallery-caption small { display:block; font-family:var(--mono); font-size:8px; color:#9b3b44; margin-top:12px; text-transform:uppercase; letter-spacing:.08em; }
.ref-join-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:95px; }
.ref-steps { list-style:none; padding:0; border-top:1px solid var(--line); }
.ref-step { display:grid; grid-template-columns:42px minmax(0,1fr); gap:20px; padding:25px 0; border-bottom:1px solid var(--line); }
.ref-step>span,.ref-step-number { font-family:var(--mono); color:#b43440; font-size:10px; padding-top:5px; }
.ref-step h3 { font-size:24px; color:#dfe5eb; font-weight:500; letter-spacing:-.02em; }
.ref-step p { color:#81909d; font-size:15px; line-height:1.7; margin-top:12px; }
.ref-join-copy p,.ref-join-aside p { color:#8e9ca8; font-size:16px; line-height:1.75; }
.ref-join-copy h3,.ref-join-aside h3 { font-size:24px; font-weight:500; margin-block:0 20px; }
.ref-join-aside ul { color:#8e9ca8; font-size:15px; line-height:1.9; padding-left:19px; margin-block:20px 27px; }
.ref-join-aside .button { margin-top:24px; }
.ref-faq { max-width:1040px; }
.ref-faq .faq { margin:0; }
.ref-cta { padding-block:clamp(90px,11vw,170px); text-align:center; position:relative; overflow:hidden; background:radial-gradient(ellipse at 50% 80%,#54141b20,transparent 62%); }
.ref-cta h2 { font-size:clamp(45px,6.5vw,92px); line-height:1.01; font-weight:550; letter-spacing:-.045em; max-width:990px; margin-inline:auto; }
.ref-cta p { font-size:17px; line-height:1.7; color:#7c8a97; margin:27px auto 32px; max-width:580px; }
.ref-cta .ref-actions { justify-content:center; }
.ref-header-inner .brand-text { flex-direction:row; align-items:center; gap:14px; }
.ref-header-inner .brand-name { font-size:24px; font-weight:700; }
.ref-header-inner .brand-sub { border-left:1px solid #ffffff2a; padding-left:14px; white-space:nowrap; font-size:8px; }
.ref-header-actions { display:flex; align-items:center; gap:13px; flex-shrink:0; }
.ref-header-actions .header-search { margin-left:0; min-height:43px; min-width:43px; }
.ref-header-actions .ref-staff-link { min-height:43px; padding:11px 17px; gap:18px; font-size:12px; }
.ref-nav { margin-left:auto; }
.ref-section-head h2 em { color:#828e98; font-style:normal; }
.ref-about-visual>span { position:absolute; bottom:23px; left:24px; right:24px; color:#6d7985; font-family:var(--mono); font-size:8px; letter-spacing:.13em; }
.ref-values>div { padding:22px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:36px 110px minmax(0,1fr); gap:15px; align-items:start; }
.ref-values>div>span { color:#d81f2a; font-family:var(--mono); font-size:10px; padding-top:5px; }
.ref-task-top { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:35px; color:#66727e; font-family:var(--mono); font-size:10px; }
.ref-task-top>svg { color:#d81f2a; width:26px; height:26px; }
.ref-task-arrow { display:flex; justify-content:flex-end; color:#8e3039; padding-top:22px; opacity:0; transform:translate(-8px,8px); transition:opacity .3s,transform .3s; }
.ref-task:hover .ref-task-arrow { opacity:1; transform:translate(0,0); }
.ref-dept-name small { display:block; margin-top:7px; color:#687683; font-family:var(--mono); font-size:11px; font-weight:400; letter-spacing:.13em; text-transform:uppercase; }
.ref-access-top { display:flex; align-items:center; justify-content:space-between; gap:15px; color:#8a98a5; font-family:var(--mono); font-size:7px; letter-spacing:.12em; margin-bottom:23px; }
.ref-access-top i { width:5px; height:5px; background:#bd2b36; box-shadow:0 0 12px #d81f2a55; }
.ref-access-title { display:block; color:#c3ced8; font-size:21px; line-height:1.13; letter-spacing:.025em; font-weight:550; }
.ref-access-bottom { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:22px; padding-top:14px; border-top:1px solid #ffffff12; color:#657584; font-family:var(--mono); font-size:6px; letter-spacing:.09em; }
.ref-access-bottom b { font-weight:400; font-size:13px; color:#9aabb9; }
.ref-access-caption { position:absolute; bottom:13px; left:0; right:0; font-family:var(--mono); font-size:7px; text-align:center; color:#556471; letter-spacing:.07em; }
.ref-access-lines { display:flex; gap:3px; align-items:stretch; }
.ref-access-lines>i { width:20px; height:19px; background:repeating-linear-gradient(90deg,#8c9ca744 0 1px,transparent 1px 3px); }
.ref-access-lines>i:nth-child(2) { width:15px; }
.ref-access-lines>i:nth-child(3) { width:24px; }
.ref-gallery-image { position:relative; overflow:hidden; filter:none; }
.ref-gallery-image>img { width:100%; height:100%; object-fit:cover; filter:saturate(.65) brightness(.78); transition:filter .5s,transform .7s; }
.ref-gallery-item:hover .ref-gallery-image { transform:none; filter:none; }
.ref-gallery-item:hover .ref-gallery-image>img { filter:saturate(.95) brightness(.95); transform:scale(1.035); }
.ref-gallery-image>span { position:absolute; top:20px; left:20px; color:#c0c8d0; font-family:var(--mono); font-size:10px; }
.ref-gallery-image>i { position:absolute; right:18px; bottom:18px; display:flex; align-items:center; justify-content:center; width:40px; height:40px; color:#ccd3d9; background:#05060799; border:1px solid #ffffff20; opacity:0; transition:opacity .3s; }
.ref-gallery-item:hover .ref-gallery-image>i { opacity:1; }
.ref-gallery-caption>b { display:block; color:#d4dbe2; font-size:18px; font-weight:500; }
.ref-gallery-caption>small { color:#6d7b88; font-family:var(--font); font-size:12px; line-height:1.7; letter-spacing:0; text-transform:none; margin-top:6px; }
.ref-material-links { display:flex; justify-content:flex-end; gap:32px; flex-wrap:wrap; padding-top:30px; }
.ref-candidate-panel { padding:34px; background:#090c0f; border:1px solid var(--line); border-top:2px solid #d81f2a; }
.ref-candidate-panel h3 { font-size:43px; line-height:1.04; letter-spacing:-.04em; font-weight:550; margin-block:25px; }
.ref-candidate-panel>p { color:#8e9ca8; font-size:16px; line-height:1.75; margin-block:20px 28px; }
.ref-candidate-panel .ref-note { font-family:var(--mono); font-size:9px; color:#596976; line-height:1.8; margin-top:24px; }
.ref-faq-layout { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:90px; }
.ref-faq-layout>h2 { font-size:clamp(42px,5vw,72px); line-height:1.01; letter-spacing:-.045em; font-weight:550; }
.ref-faq-layout .faq { margin-top:0; }
.ref-cta>img { margin:0 auto 35px; width:40px; height:49px; filter:none; opacity:1; }

/* Startup sequence. The application clears is-booting even on errors. */
.boot-screen { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:#050607; color:#edf0f3; opacity:1; visibility:visible; transition:opacity .7s var(--ref-ease),visibility .7s; }
.boot-screen.is-complete { opacity:0; visibility:hidden; pointer-events:none; }
.boot-inner { width:min(440px,calc(100vw - 58px)); }
.boot-emblem { width:45px; height:57px; margin-bottom:33px; color:#e6ebef; animation:boot-pulse 2.2s ease-in-out infinite; }
.boot-emblem>svg,.boot-emblem>img { width:100%; height:100%; filter:none; }
.boot-word { font-size:54px; line-height:1; letter-spacing:-.055em; font-weight:650; margin-bottom:12px; }
.boot-label { font-family:var(--mono); color:#64727e; font-size:9px; line-height:1.7; letter-spacing:.15em; text-transform:uppercase; margin-bottom:40px; }
.boot-progress-track { height:2px; width:100%; background:#ffffff12; position:relative; overflow:hidden; }
.boot-progress-bar { position:absolute; left:0; top:0; bottom:0; width:0; background:#d81f2a; box-shadow:0 0 15px #d81f2a55; transition:width .15s linear; }
.boot-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:15px; }
.boot-bottom span,.boot-log { font-family:var(--mono); font-size:9px; color:#6d7b88; letter-spacing:.05em; }
#boot-percent { color:#c7ced5; min-width:37px; text-align:right; }
.boot-log { min-height:18px; }
.boot-skip { display:inline-flex; margin-top:35px; border:0; background:none; color:#525f6b; padding:7px 0; font-family:var(--mono); font-size:8px; letter-spacing:.12em; text-transform:uppercase; transition:color .2s; }
.boot-skip:hover { color:#c2cbd3; }
body.is-intro .ref-letter,body.is-intro .ref-subtitle,body.is-intro .ref-lead,body.is-intro .ref-actions>*,body.is-intro .ref-note { opacity:0; }
body.motion-enabled .ref-reveal:not(.is-revealed) { opacity:0; transform:translateY(28px); }
.ref-reveal { transition:opacity .75s var(--ref-ease),transform .75s var(--ref-ease); }
.ref-reveal.is-revealed { opacity:1; transform:translateY(0); }
@keyframes boot-pulse { 0%,100%{opacity:.4} 50%{opacity:1} }

@media (min-width:1600px) { .ref-hero-content { padding-top:100px; } .ref-hero { min-height:860px; } .ref-word { font-size:230px; } }
@media (max-width:1250px) {
  .main-nav { gap:17px; }
  .header-inner { gap:20px; }
  .nav-link { font-size:12px; }
  .brand-sub { font-size:7px; }
  .ref-rank-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ref-about,.ref-docs-layout,.ref-join-layout { gap:55px; }
  .ref-values>li,.ref-value { grid-template-columns:25px 90px minmax(0,1fr); gap:12px; }
  .ref-values>div { grid-template-columns:25px 90px minmax(0,1fr); gap:12px; }
  .ref-header-inner .brand-sub { font-size:7px; }
  .ref-header-actions { gap:10px; }
  .ref-header-actions .ref-staff-link { padding-inline:13px; font-size:11px; gap:13px; }
}
@media (max-width:1100px) {
  .container,.header-inner { width:calc(100% - 72px); }
  .main-nav { display:none; }
  .menu-toggle { display:inline-flex; }
  .header-search { margin-left:auto; }
  .ref-header-actions { margin-left:auto; }
  .ref-hero { min-height:760px; }
  .ref-word { font-size:170px; }
  .ref-scene { width:74%; right:-15%; }
  .ref-hero-vignette { background:linear-gradient(90deg,#050607 0%,#050607e8 28%,#05060755 58%,transparent 90%),linear-gradient(0deg,#050607,transparent 25%); }
  .ref-subtitle { font-size:40px; max-width:480px; }
  .ref-lead { max-width:430px; }
  .ref-status { font-size:8px; max-width:180px; }
  .ref-section-head { gap:35px; }
  .ref-section-head h2,.ref-section-title { font-size:54px; }
  .ref-section-head>p { max-width:330px; font-size:15px; }
  .ref-task { padding:28px 24px; }
  .ref-task>svg,.ref-task .ref-task-icon { top:26px; right:24px; }
  .ref-task h3 { font-size:23px; }
  .ref-about,.ref-docs-layout,.ref-join-layout { gap:40px; }
  .ref-values>li,.ref-value { grid-template-columns:25px minmax(0,1fr); }
  .ref-values>div { grid-template-columns:25px minmax(0,1fr); }
  .ref-values p { grid-column:2; }
  .ref-about-copy>p { font-size:16px; }
  .ref-dept-name { font-size:28px; }
  .ref-structure-card { padding:29px; }
  .ref-gallery-image { height:235px; }
}
@media (max-width:800px) {
  :root { --header-height:76px; }
  .ref-hero { min-height:850px; }
  .ref-hero-content { padding-top:55px; padding-bottom:170px; }
  .ref-word { font-size:157px; }
  .ref-scene { width:88%; right:-28%; opacity:.72; }
  .ref-hero-vignette { background:linear-gradient(90deg,#050607 0%,#050607d0 40%,#05060740 80%),linear-gradient(0deg,#050607,transparent 40%); }
  .ref-subtitle { max-width:480px; font-size:39px; }
  .ref-lead { font-size:16px; }
  .ref-hero-bottom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:14px; }
  .ref-scroll { display:none; }
  .ref-status { max-width:none; }
  .ref-tasks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ref-about,.ref-docs-layout,.ref-join-layout { grid-template-columns:1fr; }
  .ref-about-visual { min-height:330px; margin-top:0; }
  .ref-about-copy { padding:0; }
  .ref-about-copy>p { font-size:18px; }
  .ref-values>li,.ref-value { grid-template-columns:35px 110px minmax(0,1fr); }
  .ref-values>div { grid-template-columns:35px 110px minmax(0,1fr); }
  .ref-values p { grid-column:auto; }
  .ref-section-head { display:block; }
  .ref-section-head>p,.ref-section-head>.text-link { margin-top:22px; max-width:540px; }
  .ref-rank-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ref-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ref-gallery-item:last-child { grid-column:1/-1; }
  .ref-gallery-item:last-child .ref-gallery-image { height:320px; }
  .ref-docs-layout { gap:25px; }
  .ref-access-visual { min-height:360px; }
  .ref-access-card { width:360px; }
  .ref-stat { padding:26px 21px; }
  .ref-stat-value { font-size:48px; }
  .ref-stat-label { font-size:12px; }
  .ref-structure-grid { gap:18px; }
  .ref-structure-card { padding:26px; }
  .ref-dept-name { font-size:27px; }
  .ref-faq-layout { grid-template-columns:1fr; gap:35px; }
  .ref-faq-layout>h2 { font-size:54px; }
  .page-heading { padding-bottom:36px; }
}
@media (max-width:600px) {
  .container,.header-inner { width:calc(100% - 40px); }
  .header-inner { gap:10px; }
  .brand { gap:9px; }
  .brand-mark { width:25px; height:33px; }
  .brand-name { font-size:18px; }
  .brand-sub { font-size:6px; letter-spacing:.12em; }
  .header-search,.menu-toggle { padding:9px; min-height:37px; min-width:37px; }
  .header-search kbd { display:none; }
  .ref-header-inner .brand-name { font-size:22px; }
  .ref-header-inner .brand-sub { padding-left:9px; font-size:6px; }
  .ref-header-inner .brand-text { gap:9px; }
  .ref-header-actions { gap:9px; }
  .ref-header-actions .ref-staff-link { display:none; }
  .ref-header-actions .header-search { min-width:37px; min-height:37px; }
  .ref-hero { min-height:830px; }
  .ref-scene { width:100%; right:-20%; top:25px; height:580px; opacity:.67; }
  .ref-hero-vignette { background:linear-gradient(90deg,#050607bb 0%,#05060766 45%,#05060722 100%),linear-gradient(0deg,#050607 0%,#050607cc 20%,transparent 63%); }
  .ref-hero-content { padding-top:49px; padding-bottom:160px; }
  .ref-kicker { font-size:8px; line-height:1.8; letter-spacing:.12em; gap:9px; max-width:340px; margin-bottom:34px; }
  .ref-kicker::before { width:5px; height:5px; }
  .ref-word { font-size:clamp(125px,31vw,175px); letter-spacing:-.08em; margin-left:-6px; margin-bottom:23px; }
  .ref-subtitle { font-size:35px; line-height:1.02; max-width:390px; text-shadow:0 2px 18px #0009; }
  .ref-lead { font-size:15px; max-width:350px; line-height:1.7; margin-top:25px; color:#a3adb7; text-shadow:0 2px 10px #000; }
  .ref-actions { gap:12px; margin-top:29px; }
  .ref-actions .button { font-size:12px; padding:15px 19px; min-height:50px; gap:20px; }
  .ref-note { font-size:8px; max-width:340px; color:#788591; margin-top:17px; line-height:1.85; }
  .ref-hero-bottom { padding-block:20px; gap:12px 15px; }
  .ref-status { font-size:7px; letter-spacing:.05em; gap:4px 8px; }
  .ref-status::before { width:4px; height:4px; }
  .ref-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ref-stat { padding:25px 22px; border-bottom:1px solid var(--line); }
  .ref-stat:nth-child(2) { border-right:0; }
  .ref-stat:nth-last-child(-n+2) { border-bottom:0; }
  .ref-stat-value { font-size:54px; }
  .ref-stat-label,.ref-stat>p,.ref-stat>span:not(.ref-stat-value) { font-size:13px; }
  .ref-stat-meta { font-size:7px; margin-top:14px; }
  .ref-section { padding-block:76px; }
  .ref-section-label { font-size:8px; margin-bottom:28px; gap:17px; }
  .ref-section-label::after { width:45px; }
  .ref-section-head { margin-bottom:32px; }
  .ref-section-head h2,.ref-section-title,.ref-docs-copy h2 { font-size:42px; }
  .ref-section-head>p { font-size:15px; }
  .ref-about { gap:28px; }
  .ref-about-visual { min-height:290px; }
  .ref-about-visual>svg,.ref-about-visual>img { width:110px; height:160px; }
  .ref-about-visual::before { width:220px; height:220px; }
  .ref-about-visual::after { width:300px; height:300px; }
  .ref-about-copy>p { font-size:17px; line-height:1.7; }
  .ref-values>li,.ref-value { grid-template-columns:25px 85px minmax(0,1fr); gap:10px; padding-block:19px; }
  .ref-values>div { grid-template-columns:25px 85px minmax(0,1fr); gap:10px; padding-block:19px; }
  .ref-values h3,.ref-values strong { font-size:16px; }
  .ref-values p { font-size:13px; }
  .ref-tasks-grid { grid-template-columns:1fr; }
  .ref-task { min-height:210px; padding:25px; }
  .ref-task-index { margin-bottom:28px; }
  .ref-task h3 { font-size:26px; max-width:270px; }
  .ref-task p { font-size:15px; }
  .ref-task-top { margin-bottom:25px; }
  .ref-task-arrow { opacity:1; transform:none; padding-top:18px; }
  .ref-structure-grid { grid-template-columns:1fr; }
  .ref-structure-card { padding:27px; }
  .ref-dept-name { font-size:30px; }
  .ref-dept-tasks li { font-size:13px; }
  .ref-rank-grid { gap:11px; }
  .ref-rank-card { display:flex; flex-direction:column; align-items:center; text-align:center; gap:17px; padding:22px 12px; min-height:270px; }
  .ref-rank-insignia { width:54px; height:123px; }
  .ref-rank-name { font-size:17px; }
  .ref-rank-role { font-size:11px; }
  .ref-rank-category { font-size:6px; margin-top:12px; }
  .ref-rank-group { margin-top:31px; }
  .ref-rank-group>h3 { font-size:9px; line-height:1.6; }
  .ref-gallery-grid { grid-template-columns:1fr; gap:18px; }
  .ref-gallery-image,.ref-gallery-item:last-child .ref-gallery-image { height:255px; }
  .ref-gallery-caption { padding:19px 21px; }
  .ref-gallery-image>i { opacity:1; width:33px; height:33px; }
  .ref-gallery-image>i svg { width:19px; height:19px; }
  .ref-docs-layout { gap:20px; }
  .ref-access-visual { min-height:310px; }
  .ref-access-card { min-height:215px; padding:23px 25px; width:310px; }
  .ref-access-visual::before { width:280px; height:280px; }
  .ref-access-card h3 { font-size:21px; }
  .ref-access-mark { width:30px; height:39px; margin-bottom:17px; }
  .ref-docs-copy>p { font-size:16px; }
  .ref-doc-list a { font-size:16px; padding-block:18px; }
  .ref-join-layout { gap:30px; }
  .ref-step { gap:15px; grid-template-columns:30px minmax(0,1fr); }
  .ref-step h3 { font-size:23px; }
  .ref-step p { font-size:15px; }
  .ref-candidate-panel { padding:27px; }
  .ref-candidate-panel h3 { font-size:39px; }
  .ref-material-links { justify-content:flex-start; gap:13px 26px; padding-top:23px; }
  .ref-faq-layout>h2 { font-size:42px; }
  .ref-cta { padding-block:90px; }
  .ref-cta h2 { font-size:48px; }
  .ref-cta p { font-size:16px; }
  .ref-cta .ref-actions { flex-direction:column; }
  .faq summary { font-size:18px; line-height:1.35; padding-right:34px; }
  .faq details p { font-size:15px; }
  .panel { padding:24px; }
  .page-description,.section-intro,.panel p,.info-text { font-size:15px; }
  .footer-inner { padding-block:44px; }
  .footer-bottom { width:calc(100% - 40px); }
  .boot-inner { width:calc(100vw - 58px); max-width:380px; }
  .boot-word { font-size:46px; }
  .boot-label { font-size:8px; }
}
@media (max-width:380px) {
  .brand-sub { font-size:5px; }
  .ref-subtitle { font-size:31px; }
  .ref-hero { min-height:860px; }
  .ref-hero .ref-actions { flex-direction:column; align-items:flex-start; gap:10px; }
  .ref-hero .ref-actions .button { min-width:200px; justify-content:space-between; }
  .ref-values>li,.ref-value { grid-template-columns:22px minmax(0,1fr); }
  .ref-values>div { grid-template-columns:22px minmax(0,1fr); }
  .ref-values p { grid-column:2; }
  .ref-section-head h2,.ref-section-title,.ref-docs-copy h2 { font-size:38px; }
}
@media (prefers-reduced-motion:reduce) {
  .ref-reveal,.ref-reveal.is-revealed,body.motion-enabled .ref-reveal:not(.is-revealed),body.is-intro .ref-letter,body.is-intro .ref-subtitle,body.is-intro .ref-lead,body.is-intro .ref-actions>*,body.is-intro .ref-note { opacity:1!important; transform:none!important; transition:none!important; }
  .boot-emblem { animation:none; }
  .ref-access-card { transform:rotate(-5deg); }
}
@media print {
  .ref-hero,.ref-section,.ref-cta,.boot-screen,.ref-stats { display:none!important; }
  .document-article { background:#fff!important; color:#111!important; }
}

/* Keep the FSB shield and sword in their original proportions. */
.brand-mark,.boot-emblem,.ref-about-visual>img,.ref-access-mark>img,.ref-cta>img,.scene-fallback>img { object-fit:contain; object-position:center; }
.ref-about-visual>img { width:175px; height:240px; }
@media (max-width:760px) { .ref-about-visual>img { width:135px; height:190px; } }

/* Neutral document fills keep selection and navigation visible without red panels. */
@media screen {
  :where(.reader-page,.documents-page,#documents)::selection,:where(.reader-page,.documents-page,#documents) *::selection { background:#434b55; color:#f5f7fa; }
  :where(.reader-page,.documents-page,#documents) :is(.notice,.document-notice,.amendment-note) { color:#bfc6ce; background:#171b20; border-color:#39424c; }
  :where(.reader-page,.documents-page,#documents) :is(.notice,.document-notice,.amendment-note) :is(strong,a) { color:#f2f4f5; }
  :where(.reader-page,.documents-page,#documents) .filter-chip.active { background:#252b32; }
  :where(.reader-page,.documents-page,#documents) :is(mark,.search-highlight) { color:#f5f7fa; background:#434b55; }
  .reader-page .document-article :is(.notice,.document-notice,.amendment-note) { color:#3b434c; background:#dfe3e7; border-color:#b8c1ca; }
  .reader-page .document-article :is(.notice,.document-notice,.amendment-note) :is(strong,a) { color:#252d35; }
  .reader-page .document-article :is(.anchor-highlight,.document-block:target) { background:#d8dde2; outline:5px solid #d8dde2; box-shadow:none; }
  .reader-page .document-article :is(mark,.search-highlight) { color:#20252b; background:#c3cbd3; }
  /* The charter retains its dark surface; print keeps its light stylesheet. */
  .reader-page[data-document="charter"] .document-article { background:#10161d; color:#dbe2e8; color-scheme:dark; border:1px solid #2b3540; border-top:3px solid var(--red); }
  .reader-page[data-document="charter"] .document-article .document-block,.reader-page[data-document="charter"] .document-article>p { color:#dbe2e8; }
  .reader-page[data-document="charter"] .document-article :is(h1,h2,h3,strong) { color:#f5f7fb; border-color:#2b3540; }
  .reader-page[data-document="charter"] .document-article .document-meta,.reader-page[data-document="charter"] .document-article .document-end { color:#a9b7c6; border-color:#2b3540; }
  .reader-page[data-document="charter"] .chapter-heading .section-kicker { color:#ff8994; }
  .reader-page[data-document="charter"] .document-article :is(.document-notice,.notice,.amendment-note) { color:#c8d2de; background:#1c2228; border-color:#3b444d; border-left-color:#ee6876; }
  .reader-page[data-document="charter"] .document-article :is(.document-notice,.notice) strong { color:#f5f7fb; }
  .reader-page[data-document="charter"] .document-article a { color:#ff9ca6; text-decoration-color:#ff9ca680; }
  .reader-page[data-document="charter"] .document-article a:hover { color:#ffd3d8; }
  .reader-page[data-document="charter"] .chapter-heading>.icon-button { color:#bcc8d5; background:#151c24; border-color:#354350; }
  .reader-page[data-document="charter"] .chapter-heading>.icon-button:hover { color:#ffb1ba; background:#28303d; border-color:#ee6876; }
  .reader-page[data-document="charter"] .document-article :is(.anchor-highlight,.document-block:target) { background:#2c333b; outline:5px solid #2c333b; box-shadow:none; }
  .reader-page[data-document="charter"] .document-article :is(mark,.search-highlight) { color:#f5f7fa; background:#434b55; }
}
