/* One brand presentation, with an explicit visitor choice on every route. */
.theme-controls {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  flex-shrink: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: .25rem;
  padding: .25rem;
  border: 1px solid var(--rule-strong);
  border-radius: 999px;
  background: var(--canvas);
}
.theme-controls[hidden] { display: none !important; }
.theme-controls .theme-option,
#haltseal-site .theme-controls .theme-option {
  display: inline-flex;
  min-width: 4.5rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: .5rem .875rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--ink-muted);
  font: 500 .875rem/1.4 var(--font-sans);
  letter-spacing: 0;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.theme-controls .theme-option[aria-pressed="true"],
#haltseal-site .theme-controls .theme-option[aria-pressed="true"] {
  background: var(--surface-raised);
  color: var(--ink-strong);
  box-shadow: inset 0 -2px 0 currentColor;
}
.theme-controls .theme-option:hover,
#haltseal-site .theme-controls .theme-option:hover { color: var(--ink-strong); }
.theme-controls .theme-option:focus-visible,
#haltseal-site .theme-controls .theme-option:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.footer-meta { flex-wrap: wrap; }
.site-footer .footer-title { font-size: .8125rem; line-height: 1.6; }
.site-footer .footer-links a { font-size: .9375rem; line-height: 1.7; overflow-wrap: anywhere; }
.site-footer .footer-meta { font-size: .8125rem; line-height: 1.6; }

/* The homepage's deliberately compact records still need readable captions. */
#haltseal-site :is(.window-chrome,.demo-tag,.motion-toggle,.small-label,
  .code-foot,.signal-badge,.trace-panel p,.chart-ceiling,.chart-footer,
  .console-live,.log-window-heading>span,.log-row small,.light-badge,
  .log-footer,.evidence-rule span,.seal-caption,.decision-checks span) {
  font-size: .75rem;
  line-height: 1.6;
}
#haltseal-site .window-chrome { flex-wrap: wrap; letter-spacing: .06em; }
#haltseal-site .console-metrics span { font-size: .75rem; line-height: 1.6; letter-spacing: .04em; }
#haltseal-site .console-metrics small { font-size: .8125rem; line-height: 1.5; }
#haltseal-site .console-alert,
#haltseal-site .console-alert #alert-label { font-size: .875rem; line-height: 1.5; }
#haltseal-site .home-publication,
#haltseal-site .frontier-disclosure { font-size: .8125rem; line-height: 1.7; }
#haltseal-site .home-publication a { display: inline-flex; align-items: center; min-height: 2.75rem; }
#haltseal-site .footer-links h3 { color: var(--ink-strong); font-size: .8125rem; line-height: 1.6; }
#haltseal-site .footer-links a {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--ink-muted);
  font-size: .875rem;
  line-height: 1.65;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
#haltseal-site .footer-brand p { color: var(--ink-muted); }
#haltseal-site .footer-bottom {
  align-items: center;
  flex-wrap: wrap;
  color: var(--ink-subtle);
  font-size: .75rem;
  line-height: 1.7;
  letter-spacing: .025em;
}
:root[data-theme="light"] #haltseal-site .site-footer {
  background: var(--canvas-secondary);
  color: var(--ink);
}
:root[data-theme="light"] #haltseal-site .footer-brand {
  --jade: #22654b;
  --brand-light: #08704a;
  --brand-focus: #22654b;
}
:root[data-theme="light"] #haltseal-site .site-footer :is(.footer-brand,.footer-links>div,.footer-bottom) {
  border-color: var(--rule-soft);
}
:root[data-theme="light"] #haltseal-site .footer-links a { border-color: var(--rule-strong); }
:root[data-theme="light"] #haltseal-site .footer-links a:hover { color: var(--link); }
@media (max-width: 43.75rem) {
  #haltseal-site .hero-stage { height: auto; min-height: 0; padding-bottom: 1.5rem; }
  #haltseal-site .footer-bottom { align-items: flex-start; }
  #haltseal-site .console-alert { align-items: flex-start; }
  #haltseal-site .console-alert #alert-label { flex-shrink: 0; }
}
@media (forced-colors: active) {
  .theme-controls { border-color: CanvasText; background: Canvas; }
  .theme-controls .theme-option,
  #haltseal-site .theme-controls .theme-option { color: ButtonText; }
  .theme-controls .theme-option[aria-pressed="true"],
  #haltseal-site .theme-controls .theme-option[aria-pressed="true"] {
    border-color: Highlight;
    background: Highlight;
    color: HighlightText;
    box-shadow: none;
  }
  .theme-controls .theme-option:focus-visible,
  #haltseal-site .theme-controls .theme-option:focus-visible { outline-color: Highlight; }
}

/* Paper is always light; printing never changes the saved screen preference. */
@page { margin: 14mm 12mm; }
@media print {
  :root,
  :root[data-theme="dark"],
  :root[data-theme="light"] {
    color-scheme: light;
    --canvas: #fff;
    --canvas-secondary: #fff;
    --surface: #fff;
    --surface-raised: #fff;
    --surface-quiet: #fff;
    --ink: #111;
    --ink-strong: #111;
    --ink-muted: #333;
    --ink-subtle: #333;
    --rule-strong: #777;
    --rule-soft: #aaa;
    --institutional: #155b3f;
    --link: #155b3f;
    --signal: #155b3f;
  }
  html, body, #haltseal-site {
    background: #fff !important;
    color: #111 !important;
    animation: none !important;
    transition: none !important;
  }
  body * {
    background: transparent !important;
    color: #111 !important;
    border-color: #aaa !important;
    box-shadow: none !important;
    text-shadow: none !important;
    animation: none !important;
    transition: none !important;
  }
  body { font-size: 11pt; line-height: 1.5; }
  main { overflow: visible !important; }
  .site-header, .mobile-menu, .site-footer, .skip-link, .theme-controls,
  #haltseal-site .announcement, #haltseal-site .hero-material,
  #haltseal-site .hero-dot-field, #haltseal-site .hero-code,
  #haltseal-site .trace-panel, #haltseal-site .scan-ring,
  button, [role="dialog"] { display: none !important; }
  .shell, .content-shell, #haltseal-site .shell {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    border-inline: 0 !important;
  }
  #haltseal-site .hero { display: block; min-height: 0; }
  #haltseal-site .hero-copy { padding: 0 0 1.25rem; }
  #haltseal-site .hero-stage { height: auto; min-height: 0; padding: 0; overflow: visible; }
  #haltseal-site .hero-console { break-inside: avoid; }
  #haltseal-site .manifesto { min-height: 0; padding: 2rem 0; background-image: none; }
  #haltseal-site .selected-word { -webkit-text-stroke: 0; }
  #haltseal-site .selected-word::before,
  #haltseal-site .selected-word::after { display: none; }
  h1, #haltseal-site h1 { font-size: 30pt !important; }
  h2, #haltseal-site h2 { font-size: 19pt !important; }
  h3, #haltseal-site h3 { font-size: 14pt !important; }
  h1, h2, h3, summary, .eyebrow, .overline, .readout-kicker { break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  a { text-decoration: underline !important; }
  pre, code { white-space: pre-wrap; overflow-wrap: anywhere; }
  table { width: 100%; }
  thead { display: table-header-group; }
}
