/* Security dossier over the shared VHS archive. */
.doc-page--sec { --sec-red: #ff727b; --sec-line: rgba(255, 114, 123, .2); }
.doc-page--sec .reader-tools :is(button, a) { color: var(--sec-red); }
.doc-page--sec .nav__brand { border-top: 2px solid var(--sec-red); }
.doc-page--sec .nav__item.is-active { box-shadow: inset 3px 0 var(--sec-red); }
.doc-page--sec .security-dossier-head { padding: 0; border: 1px solid var(--sec-line); border-radius: 4px; background: linear-gradient(110deg, rgba(160, 30, 43, .13), transparent 65%), rgba(0, 0, 0, .3); }
.doc-page--sec .security-dossier-head::before, .doc-page--sec .security-dossier-head::after { display: none; }
.security-dossier-kicker, .security-dossier-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; padding: 12px 20px; color: var(--muted); font: 10px/1.7 var(--mono); letter-spacing: .09em; }
.security-dossier-kicker { border-bottom: 1px solid var(--sec-line); color: var(--sec-red); }
.security-record-dot { display: inline-block; width: 6px; height: 6px; margin-right: 9px; background: var(--sec-red); box-shadow: 0 0 12px rgba(255, 80, 90, .45); }
.security-dossier-title { display: grid; grid-template-columns: minmax(0, 1fr) 64px; align-items: center; gap: 28px; padding: 26px; }
.doc-page--sec .security-dossier-title .paper__title { margin: 10px 0 0; color: #ffd7d7; font-size: clamp(23px, 2.5vw, 33px); line-height: 1.3; letter-spacing: .025em; }
.security-seal { width: 64px; height: 72px; color: var(--sec-red); opacity: .75; }
.security-dossier-foot { border-top: 1px solid var(--sec-line); padding-block: 9px; font-size: 9px; }
.security-dossier-foot > :last-child { color: var(--sec-red); letter-spacing: .18em; }
.security-outline { margin-top: 16px; border: 1px solid var(--line); border-radius: 3px; background: rgba(0, 0, 0, .2); }
.security-outline > summary { display: flex; justify-content: space-between; gap: 16px; padding: 13px 16px; color: var(--muted); list-style: none; cursor: pointer; font: 11px/1.6 var(--mono); letter-spacing: .05em; }
.security-outline > summary::-webkit-details-marker { display: none; }
.security-outline-count { color: var(--sec-red); white-space: nowrap; }
.security-outline[open] > summary { border-bottom: 1px solid var(--line); color: var(--text); }
.security-outline[open] .security-outline-toggle { font-size: 0; }
.security-outline[open] .security-outline-toggle::after { content: "−"; font-size: 11px; }
.security-outline nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; padding: 8px 16px; }
.security-outline a { display: flex; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, .04); color: var(--text); text-decoration: none; font: 14px/1.6 var(--sans); }
.security-outline a > span { color: var(--sec-red); font: 10px var(--mono); opacity: .7; }
.doc-page--sec .security-body { margin-top: 20px; padding: 24px; border: 0; border-radius: 0; background: transparent; }
.doc-page--sec .security-body > p { color: #c5d0ca; max-width: 76ch; }
.doc-page--sec .security-section-title { display: flex; align-items: center; gap: 12px; margin: 32px 0 18px; padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--sec-line); color: var(--sec-red); font: 600 15px/1.6 var(--mono); letter-spacing: .05em; }
.security-section-title::before { content: "//"; opacity: .45; }
.doc-page--sec .security-body [id] { scroll-margin-top: 20px; }
.doc-page--sec .security-body > .security-chain { max-width: none; padding: 18px; border: 1px solid var(--sec-line); border-left: 3px solid var(--sec-red); background: rgba(170, 32, 43, .035); color: #ffd7d7; font: 14px/1.9 var(--mono); }
.doc-page--sec .security-authority-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
.doc-page--sec .security-authority-grid > li { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 14px; padding: 18px; margin: 0; border: 1px solid var(--line); border-radius: 3px; background: rgba(0, 0, 0, .18); }
.security-rank { color: var(--sec-red); font: 12px/1.8 var(--mono); opacity: .65; }
.doc-page--sec .security-authority-grid p { margin: 0; font-size: calc(var(--reading-size) - 1px); }
.security-rule, .security-measure { --rule-accent: var(--sec-red); min-width: 0; margin: 16px 0; padding: 0; border: 1px solid var(--line); border-radius: 4px; background: rgba(0, 0, 0, .2); scroll-margin-top: 16px; }
.security-rule-head { display: block; position: relative; padding: 16px 20px; border-bottom: 1px solid var(--line); border-left: 2px solid var(--rule-accent); background: linear-gradient(90deg, rgba(255, 100, 110, .035), transparent); }
.security-unit-code { display: block; margin-bottom: 8px; color: var(--rule-accent); opacity: .7; font: 10px/1.6 var(--mono); letter-spacing: .09em; }
.doc-page--sec .security-rule-head :is(h3, h4) { margin: 0; padding: 0; border: 0; color: var(--rule-accent); font: 600 17px/1.5 var(--mono); letter-spacing: .025em; text-transform: uppercase; }
.security-rule-body { padding: 20px 24px; }
.doc-page--sec .security-rule-body :is(p, li) { max-width: 76ch; }
.doc-page--sec .security-rule-body p:last-child { margin-bottom: 0; }
.doc-page--sec .security-rule-body :is(ul, ol) { margin: 12px 0; padding-left: 22px; }
.doc-page--sec .security-rule-body :is(ul, ol):last-child { margin-bottom: 0; }
.security-rule li::marker, .security-measure li::marker { color: var(--rule-accent); }
.security-rule--ooc { --rule-accent: var(--warn); }
.security-rule--escalation, .security-rule--alert { border-top: 2px solid var(--rule-accent); }
.security-rule--escalation .security-unit-code { font-size: 12px; opacity: 1; }
.tone-green { --rule-accent: #93cbb6; }
.tone-blue { --rule-accent: #8cb7ef; }
.tone-technical { --rule-accent: #c4a2e5; }
.tone-amber { --rule-accent: #ebbf72; }
.tone-red { --rule-accent: #ff8a83; }
.tone-delta { --rule-accent: #ff5b73; }
.security-rule--alert .security-rule-head { background: rgba(255, 255, 255, .015); }
.security-disclosure-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 20px; padding: 0 4px; color: var(--muted); font: 10px/1.7 var(--mono); letter-spacing: .05em; }
.security-disclosure-tools button { padding: 9px 12px; border: 1px solid var(--sec-line); border-radius: 3px; color: var(--sec-red); background: rgba(0, 0, 0, .25); font: 12px/1.6 var(--mono); cursor: pointer; }
details.security-rule > summary { cursor: pointer; list-style: none; padding-right: 52px; }
details.security-rule > summary::-webkit-details-marker { display: none; }
.security-disclosure { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--rule-accent); font: 20px var(--mono); }
details.security-rule:not([open]) .security-rule-head { border-bottom: 0; }
details.security-rule[open] .security-disclosure { font-size: 0; }
details.security-rule[open] .security-disclosure::after { content: "−"; font-size: 20px; }
.security-measures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; align-items: start; }
.security-measure { margin: 0; border-top: 2px solid var(--rule-accent); }
.doc-page--sec .security-measure :is(p, li) { font-size: calc(var(--reading-size) - 1px); }
.doc-page--sec .security-armory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.doc-page--sec .security-armory li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; margin: 0; padding: 18px; border: 1px solid var(--line); background: rgba(0, 0, 0, .2); border-radius: 3px; font-size: calc(var(--reading-size) - 1px); }
.security-armory-mark { color: var(--sec-red); opacity: .65; }
.doc-page--sec :is(.security-outline, .security-rule, .security-disclosure-tools) :is(a, button, summary):focus-visible { outline-color: var(--sec-red); }
@media (max-width: 1100px) { .doc-page--sec .security-authority-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .security-dossier-title { grid-template-columns: minmax(0, 1fr); padding: 20px; }
  .security-seal { display: none; }
  .security-dossier-kicker, .security-dossier-foot { padding-inline: 16px; }
  .security-dossier-foot > :last-child { display: none; }
  .security-outline nav, .security-measures, .doc-page--sec .security-armory { grid-template-columns: minmax(0, 1fr); }
  .doc-page--sec .security-body { padding: 0; }
  .security-rule-head { padding: 16px; }
  .security-rule-body { padding: 18px; }
  .doc-page--sec .security-rule-head :is(h3, h4) { font-size: 16px; }
  .security-disclosure-tools { padding: 0; }
}
@media print {
  .security-outline, .security-disclosure-tools, .security-seal { display: none; }
  .security-rule, .security-measure, .security-dossier-head { background: white; }
  .security-measures, .doc-page--sec .security-authority-grid, .doc-page--sec .security-armory { display: block; }
  .security-rule-body { break-inside: avoid; }
}
