:root {
  --ink: #111b25;
  --navy: #102f4d;
  --blue: #003e79;
  --link: #003c91;
  --paper: #f4f3ed;
  --line: #8a9baa;
}

* { box-sizing: border-box; }

html {
  background: #7d8790;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
}

body {
  margin: 0;
  min-width: 280px;
  background:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px) 0 0 / 4px 4px,
    #7d8790;
}

a { color: var(--link); text-decoration: underline; }
a:visited { color: #4f2c75; }
a:focus-visible { outline: 2px solid #c22c45; outline-offset: 2px; }

.skip-link {
  position: fixed;
  z-index: 50;
  left: 8px;
  top: -60px;
  padding: 7px 10px;
  border: 2px solid #fff;
  color: #fff;
  background: #003e79;
  font: bold 13px Arial, sans-serif;
}
.skip-link:focus { top: 8px; }

.site-shell {
  width: min(760px, 100%);
  margin: 12px auto 28px;
  border: 1px solid #101820;
  background: var(--paper);
  box-shadow: 3px 3px 0 rgba(0,0,0,.32);
}

.utility-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2px 12px;
  padding: 4px 8px 3px;
  border-bottom: 1px solid #435766;
  background: #d3d8da;
  color: #384754;
  font: 10px/1.4 "Courier New", Courier, monospace;
  letter-spacing: .04em;
}
.utility-line nav { text-align: right; }

.masthead {
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 18px;
  border-bottom: 4px solid #6c899e;
  color: #fff;
  background:
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(151,194,211,.06) 40px),
    linear-gradient(180deg, #173f60, #0b2944);
}

.brand-block { flex: 1 1 auto; min-width: 0; }
.brand-link {
  width: min(100%, 470px);
  display: block;
  text-decoration: none;
}
.brand-link:focus-visible { outline-color: #fff; }
.brand-logo { width: 100%; height: auto; display: block; }
.brand-mark {
  width: 62px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 2px solid #a6c4d2;
  color: #d9eef2;
  font: bold 24px/1 Georgia, "Times New Roman", serif;
  letter-spacing: -.1em;
  transform: skewX(-8deg);
}

.masthead h1,
.brand-name {
  margin: 0;
  font: bold 29px/1 Georgia, "Times New Roman", serif;
  letter-spacing: .035em;
}

.masthead p {
  margin: 4px 0 0 113px;
  color: #bad2df;
  font: bold 10px/1.2 Arial, sans-serif;
  letter-spacing: .12em;
}

.office-block {
  padding-left: 13px;
  border-left: 1px solid #6d8da3;
  color: #bcd0dc;
  text-align: right;
  font: 10px/1.6 "Courier New", monospace;
}

.primary-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #000;
  background: #bfc8cd;
}

.primary-nav a {
  flex: 1 0 auto;
  min-width: 70px;
  padding: 7px 8px 6px;
  border-right: 1px solid #7c8b94;
  border-left: 1px solid #eaf0f2;
  color: #10283d;
  text-align: center;
  text-decoration: none;
  font: bold 11px/1 Arial, sans-serif;
}

.primary-nav a:hover,
.primary-nav a.active { color: #fff; background: var(--blue); }

.secondary-nav {
  padding: 5px 8px;
  border-bottom: 1px solid #9aa7af;
  background: #e4e7e7;
  text-align: center;
  font: 11px/1.3 Arial, sans-serif;
}

.nav-separator { margin: 0 8px; color: #788790; }
.page-location {
  padding: 5px 10px;
  border-bottom: 1px solid #a1a9ad;
  color: #58666f;
  background: #f7f6f1;
  font: 10px/1.4 "Courier New", monospace;
}
.page-location span { color: #9e273e; }

.content-table { display: grid; grid-template-columns: 164px 1fr; align-items: start; }
.sidebar {
  min-height: 720px;
  padding: 10px;
  border-right: 1px solid #8594a0;
  background: #d8dfe2;
}

.side-section { margin-bottom: 12px; border: 1px solid #788995; background: #eef1f1; }
.side-section h2 {
  margin: 0;
  padding: 5px 6px 4px;
  color: #fff;
  background: #294e68;
  font: bold 10px/1.2 Arial, sans-serif;
  letter-spacing: .05em;
}
.side-section dl, .side-section p { margin: 0; padding: 7px; }
.side-section dl div { padding-bottom: 7px; }
.side-section dl div:last-child { padding-bottom: 0; }
.side-section dt { color: #5b6972; font: bold 9px/1.2 Arial, sans-serif; }
.side-section dd { margin: 1px 0 0; font: 12px/1.2 "Times New Roman", serif; }
.quick-access a {
  display: block;
  padding: 5px 7px;
  border-bottom: 1px dotted #9aa4aa;
  font: 11px/1.25 Arial, sans-serif;
}
.quick-access a:last-child { border-bottom: 0; }
.server-status p { font: bold 9px/1.4 "Courier New", monospace; }
.server-status .small-copy { padding-top: 0; color: #64747e; font-weight: normal; }
.status-light {
  width: 7px;
  height: 7px;
  display: inline-block;
  margin-right: 5px;
  border: 1px solid #164314;
  background: #45a33b;
  vertical-align: -1px;
}

.main-column { min-width: 0; padding: 13px 14px 18px; }
.welcome-section {
  display: grid;
  grid-template-columns: minmax(0,1fr) 174px;
  gap: 16px;
  padding-bottom: 13px;
  border-bottom: 1px solid #94a1a9;
}
.eyebrow {
  margin: 0 0 5px;
  color: #6b7880;
  font: bold 10px/1.2 Arial, sans-serif;
  letter-spacing: .05em;
}
.welcome-copy h2 {
  margin: 0 0 9px;
  color: #173c5a;
  font: bold 21px/1.08 Georgia, "Times New Roman", serif;
}
.welcome-copy p:not(.eyebrow) { margin: 0 0 8px; font: 14px/1.42 "Times New Roman", serif; }

.technical-thumbnail { align-self: start; border: 1px solid #263c4c; background: #061c25; }
.technical-thumbnail p {
  margin: 0;
  padding: 4px 3px;
  border-top: 1px solid #4b6a73;
  color: #b9cbd0;
  text-align: center;
  font: 8px/1.2 "Courier New", monospace;
}
.scope-grid {
  position: relative;
  height: 116px;
  overflow: hidden;
  background:
    linear-gradient(rgba(70,137,137,.2) 1px, transparent 1px) 0 0 / 12px 12px,
    linear-gradient(90deg, rgba(70,137,137,.2) 1px, transparent 1px) 0 0 / 12px 12px,
    radial-gradient(circle at 50% 54%, #0e4852, #061b25 62%);
}
.scope-grid::before, .scope-grid::after, .scope-trace {
  content: "";
  position: absolute;
  height: 1px;
  background: #65b9a9;
  transform-origin: left center;
}
.scope-grid::before { width: 138px; left: 15px; top: 79px; transform: rotate(-24deg); }
.scope-grid::after { width: 96px; left: 64px; top: 47px; transform: rotate(32deg); }
.trace-one { width: 98px; left: 26px; top: 32px; transform: rotate(15deg); }
.trace-two { width: 69px; left: 38px; top: 91px; transform: rotate(-52deg); }
.scope-node { position: absolute; width: 6px; height: 6px; border: 1px solid #a2d6c7; background: #1e6e68; }
.node-one { left: 28px; top: 53px; }
.node-two { left: 92px; top: 34px; }
.node-three { left: 129px; top: 76px; }

.section-title {
  margin: 0;
  padding: 5px 7px;
  border-left: 7px solid #3b6a7a;
  color: #fff;
  background: #31526b;
  font: bold 11px/1 Arial, sans-serif;
  letter-spacing: .05em;
}
.division-section, .news-section, .archive-callout { margin-top: 14px; }
.division-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-right: 1px solid #93a1aa;
  border-bottom: 1px solid #93a1aa;
}
.division-grid a {
  min-height: 65px;
  padding: 10px;
  border: 1px solid #93a1aa;
  border-top-color: #fff;
  color: var(--link);
  background: #e6e9e8;
  text-decoration: none;
}
.division-grid a:hover { background: #d3e0e6; }
.division-grid strong, .division-grid span { display: block; }
.division-grid strong { margin-bottom: 5px; text-decoration: underline; font: bold 12px/1 Arial, sans-serif; }
.division-grid span { color: #44545e; font: 12px/1.25 "Times New Roman", serif; }

.news-section table { width: 100%; border-collapse: collapse; border: 1px solid #96a0a6; font: 12px/1.3 Arial, sans-serif; }
.news-section th, .news-section td {
  padding: 6px 8px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #aab2b6;
  background: #e9eae7;
  vertical-align: top;
}
.news-section th { width: 72px; border-right: 1px solid #b6bdc0; color: #5d6b72; font: normal 10px/1.3 "Courier New", monospace; }

.archive-callout {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 12px;
  padding: 10px;
  border: 2px ridge #9ba8ad;
  background: #d9e2e3;
}
.archive-badge {
  display: grid;
  place-content: center;
  border: 1px solid #35586d;
  color: #d7e8ea;
  background: #27485d;
  text-align: center;
  font: bold 13px/1.2 "Courier New", monospace;
}
.archive-callout h2 { margin: 0 0 4px; color: #183d54; font: bold 14px/1.2 Arial, sans-serif; }
.archive-callout p { margin: 0 0 6px; font: 12px/1.35 "Times New Roman", serif; }
.archive-callout a { font: bold 11px/1.2 "Courier New", monospace; }

.corporate-footer {
  padding: 9px 12px 10px;
  border-top: 4px solid #2e5069;
  color: #4b5b64;
  background: #d2d8da;
  text-align: center;
  font: 10px/1.5 Arial, sans-serif;
}
.corporate-footer p { margin: 4px 0; }
.footer-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; font-family: "Courier New", monospace; }
.counter {
  display: inline-block;
  padding: 1px 3px;
  border: 1px inset #bfc5c7;
  color: #8fe084;
  background: #101b18;
  letter-spacing: .08em;
}

.interior-main {
  min-height: 560px;
  padding: 14px 16px 24px;
}

.interior-heading {
  margin: 0 0 6px;
  color: #173c5a;
  font: bold 24px/1.1 Georgia, "Times New Roman", serif;
}

.interior-lead {
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #95a1a8;
  font: 14px/1.45 "Times New Roman", Times, serif;
}

.archive-layout {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);
  gap: 14px;
}

.archive-index {
  align-self: start;
  border: 1px solid #788995;
  background: #e2e6e6;
}

.archive-index h2 {
  margin: 0;
  padding: 6px 7px;
  color: #fff;
  background: #294e68;
  font: bold 10px/1.2 Arial, sans-serif;
}

.archive-index a,
.archive-index span {
  display: block;
  padding: 7px 8px;
  border-bottom: 1px dotted #9aa4aa;
  font: 11px/1.25 Arial, sans-serif;
}

.archive-index .current {
  color: #fff;
  background: #516d7c;
  font-weight: bold;
}

.year-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #8f999f;
  border-left: 1px solid #8f999f;
}

.year-grid a {
  min-height: 52px;
  display: grid;
  place-items: center;
  border-right: 1px solid #8f999f;
  border-bottom: 1px solid #8f999f;
  background: #e5e7e4;
  font: bold 14px "Courier New", monospace;
}

.year-grid a:hover,
.year-grid a:focus-visible { background: #fff3b8; }

.notice-box {
  margin: 14px 0;
  padding: 8px 10px;
  border: 1px solid #a69b65;
  background: #fff3b8;
  font: 11px/1.4 "Courier New", monospace;
}

.table-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #707e87;
  background: #f7f6ef;
}

.product-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font: 11px/1.35 Arial, sans-serif;
}

.product-table caption {
  padding: 6px 8px;
  color: #fff;
  background: #294e68;
  text-align: left;
  font-weight: bold;
  letter-spacing: .06em;
}

.product-table th,
.product-table td {
  padding: 7px 8px;
  border-right: 1px solid #adb5b9;
  border-bottom: 1px solid #adb5b9;
  text-align: left;
  vertical-align: top;
}

.product-table thead th {
  color: #243542;
  background: #c9d0d3;
  font-size: 10px;
}

.product-table tbody tr:nth-child(even) { background: #e7e9e6; }
.product-table tbody tr:hover { background: #fff3b8; }
.product-code { white-space: nowrap; font-family: "Courier New", monospace; font-weight: bold; }

.record-grid {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 16px;
  margin-top: 14px;
}

.missing-image {
  min-height: 158px;
  display: grid;
  place-content: center;
  border: 1px solid #65747d;
  color: #7b8589;
  background:
    linear-gradient(45deg, transparent 49%, #b6bcbf 50%, transparent 51%),
    linear-gradient(-45deg, transparent 49%, #b6bcbf 50%, transparent 51%),
    #d9dcda;
  text-align: center;
  font: 10px/1.5 "Courier New", monospace;
}

.record-data { margin: 0; border: 1px solid #929da3; }
.record-data div { display: grid; grid-template-columns: 135px 1fr; border-bottom: 1px solid #b3babe; }
.record-data div:last-child { border-bottom: 0; }
.record-data dt, .record-data dd { margin: 0; padding: 6px 8px; }
.record-data dt { color: #384953; background: #d3d9db; font: bold 10px Arial, sans-serif; }
.record-data dd { background: #efefea; font: 12px "Courier New", monospace; }

.operator-link {
  margin-top: 16px;
  padding: 10px;
  border: 1px solid #7c858b;
  background: #dfe3e3;
  font: 11px/1.45 Arial, sans-serif;
}
.operator-link strong { display: block; margin-bottom: 4px; color: #273f50; }

.model-code { font-family: "Courier New", Courier, monospace; font-weight: bold; }
.archive-status { color: #263f50; font-family: Arial, Helvetica, sans-serif; font-size: .92em; letter-spacing: .025em; }
.secondary-note { color: #4e5d65; }
.archive-update {
  margin: 0 0 14px;
  padding: 7px 9px;
  border-top: 1px dotted #657984;
  border-bottom: 1px dotted #657984;
  color: #314c5c;
  background: #edf0ed;
  font: 11px/1.5 "Courier New", Courier, monospace;
}
.archive-update strong { color: #173f60; }
.manual-library { clear: both; margin-top: 18px; }
.manual-table caption.sr-only,
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.manual-table td:first-child { white-space: nowrap; }
.manual-table a { font-weight: bold; }
.compact-manual-table { min-width: 500px; }

.terminal-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 18px;
  color: #9de3cc;
  background:
    repeating-linear-gradient(0deg, rgba(110, 230, 194, .018) 0 1px, transparent 1px 4px),
    #020707;
  font-family: "Courier New", Courier, monospace;
}

.terminal-shell {
  width: min(780px, 100%);
  min-height: min(620px, calc(100vh - 36px));
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  border: 1px solid #367d73;
  background: rgba(5, 13, 13, .98);
  box-shadow: 0 0 24px rgba(28, 231, 255, .05);
}

.terminal-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  border-bottom: 1px solid #367d73;
  color: #bce9dc;
  font-size: 12px;
}

.terminal-content {
  min-height: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: 22px;
}
.terminal-intro[hidden],
.terminal-status[hidden],
.terminal-notice[hidden],
.terminal-form[hidden] { display: none; }
.terminal-content h1 { margin: 0 0 6px; color: #d8fff4; font: bold 18px/1.2 "Courier New", monospace; }
.terminal-content > p { margin: 0 0 18px; font-size: 12px; line-height: 1.55; }
.terminal-status {
  margin-bottom: 18px;
  padding: 8px 10px;
  border: 1px solid #1d4a45;
  color: #6ba99a;
  background: #030909;
  font-size: 11px;
  line-height: 1.6;
}
.terminal-status > span:first-child { color: #bce9dc; }
.terminal-ready { color: #d8fff4; }

.terminal-form { display: grid; grid-template-columns: 130px minmax(0, 260px); gap: 10px 12px; align-items: center; }
.terminal-form label { font-size: 12px; }
.terminal-form input {
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid #367d73;
  border-radius: 0;
  color: #d8fff4;
  background: #010404;
  font: 16px "Courier New", monospace;
}

.terminal-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.terminal-button {
  min-height: 38px;
  padding: 7px 12px;
  border: 2px outset #4d7e75;
  border-radius: 0;
  color: #d8fff4;
  background: #173d39;
  text-decoration: none;
  font: bold 12px "Courier New", monospace;
  cursor: pointer;
}
.terminal-button:active { border-style: inset; transform: translateY(1px); }
.terminal-button.secondary { color: #91b9ae; background: #102522; }
.terminal-button:visited,
.terminal-button.secondary:visited,
.launch-link:visited { color: #d8fff4; }
.terminal-button:hover { color: #fff; background: #245d56; }
.terminal-button:focus-visible { outline: 2px solid #1ce7ff; outline-offset: 2px; }
.terminal-button:disabled { color: #6c9187; background: #102522; cursor: wait; }

.terminal-notice {
  margin: 18px 0 0 !important;
  color: #577e73;
  font-size: 10px !important;
  letter-spacing: .04em;
}

.access-response {
  min-height: 0;
  margin-top: 20px;
  padding: 10px;
  border: 1px solid #1d4a45;
  background: #010505;
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.access-response.access-query,
.access-response.error { min-height: 68px; }
.access-response.error { color: #e37468; }
.access-response.success { color: #c9f6e8; }
.access-response[hidden] { display: none; }
.terminal-line { min-height: 1.55em; white-space: pre-wrap; }
.terminal-line.dim { color: #5e9788; }
.terminal-line.ok { color: #bfe9dd; }
.terminal-line.warning { margin-top: 4px; color: #e5d687; }
.terminal-line.prompt { margin-top: 5px; color: #d8fff4; }
.terminal-cursor {
  width: .65em;
  height: 1em;
  display: inline-block;
  margin-left: .25em;
  background: #bff8e8;
  vertical-align: -.15em;
  animation: terminal-blink .72s steps(1, end) infinite;
}
.launch-link { display: inline-block; margin-top: 8px; color: #d8fff4; }
.terminal-authenticated .terminal-shell { height: min(760px, calc(100vh - 36px)); }
.terminal-authenticated .terminal-content { justify-content: stretch; padding: 0; }
.terminal-authenticated .access-response {
  flex: 1;
  margin: 0;
  padding: 24px 26px 28px;
  border: 0;
  overflow-y: auto;
  scrollbar-color: #367d73 #020707;
}
.terminal-screen-heading {
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #1d4a45;
}
.terminal-screen-heading h1 {
  margin: 0;
  color: #d8fff4;
  font: bold 16px/1.25 "Courier New", Courier, monospace;
  letter-spacing: .03em;
}
.terminal-screen-heading p {
  margin: 5px 0 0;
  color: #6ba99a;
  font: 11px/1.4 "Courier New", Courier, monospace;
}
.terminal-screen-output { margin-bottom: 18px; }
.terminal-options {
  margin: 16px 0 20px;
  padding-left: 3.2em;
  color: #5e9788;
  list-style: decimal-leading-zero;
}
.terminal-options li { margin: 3px 0; padding-left: 2px; }
.terminal-option {
  min-height: 34px;
  padding: 5px 7px;
  border: 0;
  color: #bfe9dd;
  background: transparent;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.terminal-option::before { content: "["; color: #5e9788; }
.terminal-option::after { content: "]"; color: #5e9788; }
.terminal-option:hover,
.terminal-option:focus-visible { color: #fff; background: #14362f; outline: 1px solid #1ce7ff; outline-offset: 1px; }
.terminal-option.anomaly { color: #e5d687; }
.terminal-alert {
  min-height: 28px;
  margin: 10px 0;
  padding: 6px 8px;
  border-left: 2px solid #e5d687;
  color: #e5d687;
  background: #151408;
}
.terminal-alert[hidden] { visibility: hidden; }
.terminal-result,
.terminal-command-message {
  margin: 14px 0;
  padding: 9px 11px;
  border: 1px solid #725f26;
  color: #e5d687;
  background: #111006;
}
.terminal-command-message { border-color: #1d4a45; color: #9de3cc; background: #020909; }
.terminal-prompt-area {
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr);
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid #1d4a45;
}
.terminal-prompt-area label { color: #d8fff4; white-space: nowrap; }
.terminal-prompt-area input {
  width: 100%;
  min-height: 36px;
  padding: 5px 7px;
  border: 1px solid #367d73;
  border-radius: 0;
  color: #d8fff4;
  background: #010404;
  font: 16px "Courier New", Courier, monospace;
  text-transform: uppercase;
}
.terminal-prompt-area input:focus { outline: 2px solid #1ce7ff; outline-offset: 1px; }
.terminal-line.anomaly { color: #e5d687; }
.launch-sequence {
  min-height: 0;
  margin: auto 0;
  padding: 28px;
  border: 0;
}
@keyframes terminal-blink { 0%, 46% { opacity: 1; } 47%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .terminal-cursor { animation: none; opacity: 1; } }

.generic-list { margin: 14px 0; padding-left: 20px; font: 14px/1.6 "Times New Roman", serif; }
.generic-list li { margin-bottom: 4px; }

.interior-content > h2 {
  clear: both;
  margin: 18px 0 7px;
  padding: 5px 7px;
  border-left: 7px solid #3b6a7a;
  color: #fff;
  background: #31526b;
  font: bold 11px/1.2 Arial, sans-serif;
  letter-spacing: .04em;
}

.interior-content > h3 {
  margin: 14px 0 5px;
  color: #24495f;
  font: bold 13px/1.25 Arial, sans-serif;
}

.interior-content > p,
.interior-content li {
  font: 13px/1.46 "Times New Roman", Times, serif;
}

.interior-content > p { margin: 0 0 9px; }
.content-list { margin: 7px 0 13px; padding-left: 22px; }
.content-list li { margin: 0 0 4px; }
.note-box {
  margin: 12px 0;
  padding: 8px 10px;
  border: 1px solid #a69b65;
  background: #fff3b8;
}
.note-box p { margin: 0; font: 11px/1.4 "Courier New", monospace; }
.interior-content pre {
  max-width: 100%;
  overflow-x: auto;
  padding: 10px;
  border: 1px solid #596b70;
  color: #b8e1d4;
  background: #071110;
  white-space: pre-wrap;
  font: 11px/1.45 "Courier New", monospace;
}

.data-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font: 11px/1.35 Arial, sans-serif;
}
.data-table th,
.data-table td {
  padding: 6px 7px;
  border-right: 1px solid #adb5b9;
  border-bottom: 1px solid #adb5b9;
  text-align: left;
  vertical-align: top;
}
.data-table th { color: #243542; background: #c9d0d3; font-size: 10px; }
.data-table tbody tr:nth-child(even) { background: #e7e9e6; }
.data-table tbody tr:hover { background: #fff3b8; }

.period-photo {
  width: min(44%, 200px);
  float: right;
  margin: 0 0 12px 15px;
  padding: 4px;
  border: 1px solid #586a73;
  background: #d2d7d7;
}
.period-photo img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #273941;
  image-rendering: auto;
  filter: saturate(.88) contrast(.98);
}
.period-photo figcaption {
  padding: 5px 2px 1px;
  color: #485860;
  font: 9px/1.35 "Courier New", monospace;
}
.return-home { clear: both; padding-top: 13px; border-top: 1px dotted #85939a; }
.record-path {
  margin: 0 0 13px;
  padding: 7px 9px;
  border: 1px solid #738590;
  background: #e1e6e6;
  font: 11px/1.35 "Courier New", monospace;
}
.record-path strong { display: block; margin-bottom: 5px; color: #344f60; letter-spacing: .04em; }
.record-path ul { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; padding: 0; list-style: none; }
.record-path a { display: inline-block; padding: 3px 0; }
.unavailable-box { margin: 14px 0; padding: 12px; border: 2px ridge #9ba8ad; background: #e2e5e3; }
.unavailable-box h2 { margin-top: 0; color: #173c5a; font: bold 15px Arial, sans-serif; }
.not-found {
  width: min(680px, calc(100% - 24px));
  margin: 10vh auto;
  padding: 28px;
  border: 1px solid #101820;
  color: #d8fff4;
  background: #071110;
  box-shadow: 3px 3px 0 rgba(0,0,0,.32);
  font-family: "Courier New", Courier, monospace;
}
.not-found img { width: min(100%, 560px); height: auto; display: block; margin-bottom: 28px; }
.not-found h1 { margin: 8px 0 16px; font-size: clamp(22px, 6vw, 34px); }
.not-found p { line-height: 1.6; }
.not-found-code { color: #e5d687; letter-spacing: .05em; }
.not-found a, .not-found a:visited { color: #1ce7ff; }
.not-found small { display: block; margin-top: 30px; color: #6ba99a; }

@media (max-width: 620px) {
  html { font-size: 16px; }
  body { background: var(--paper); }
  .site-shell { margin: 0; border: 0; box-shadow: none; }
  .utility-line { min-height: 28px; align-items: center; }
  .utility-line nav { margin-left: auto; }
  .masthead { min-height: 92px; padding: 12px 10px; }
  .brand-mark { width: 46px; height: 42px; font-size: 19px; }
  .brand-link { width: min(100%, 430px); }
  .brand-logo { max-height: 76px; object-fit: contain; object-position: left center; }
  .masthead h1, .brand-name { font-size: clamp(20px, 6.1vw, 27px); }
  .masthead p { margin-left: clamp(70px, 20vw, 108px); font-size: 8px; }
  .office-block { display: none; }
  .primary-nav { justify-content: flex-start; }
  .primary-nav a { min-width: 33.333%; min-height: 44px; display: grid; place-items: center; padding: 8px 4px; font-size: 11px; }
  .secondary-nav { display: flex; flex-wrap: wrap; justify-content: center; padding: 2px 4px; line-height: 1.4; }
  .secondary-nav a { min-height: 44px; display: inline-grid; place-items: center; padding: 6px; }
  .secondary-nav .nav-separator { display: grid; place-items: center; }
  .nav-separator { margin: 0 5px; }
  .content-table { display: flex; flex-direction: column; }
  .sidebar {
    width: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 8px;
    border-right: 0;
    border-bottom: 1px solid #8594a0;
  }
  .side-section { margin: 0; }
  .server-status { grid-column: 1 / -1; }
  .main-column { width: 100%; padding: 12px 10px 16px; }
  .welcome-section { grid-template-columns: 1fr; }
  .technical-thumbnail { width: min(100%, 280px); }
  .scope-grid { height: 130px; }
  .division-grid { grid-template-columns: 1fr; }
  .division-grid a { min-height: 58px; }
  .archive-callout { grid-template-columns: 58px 1fr; }
  .interior-main { padding: 12px 10px 20px; }
  .archive-layout { grid-template-columns: 1fr; }
  .archive-index { display: grid; grid-template-columns: repeat(2, 1fr); }
  .archive-index h2 { grid-column: 1 / -1; }
  .year-grid { grid-template-columns: repeat(3, 1fr); }
  .record-grid { grid-template-columns: 1fr; }
  .missing-image { min-height: 120px; }
  .terminal-body { padding: 0; }
  .terminal-shell { min-height: 100vh; border-top: 0; border-bottom: 0; }
  .terminal-content { padding: 18px 14px; }
  .terminal-form { grid-template-columns: 1fr; }
  .terminal-actions { grid-column: 1; }
  .terminal-button { min-height: 44px; }
  .terminal-authenticated .terminal-shell { height: 100vh; height: 100dvh; }
  .terminal-authenticated .terminal-content { padding: 0; }
  .terminal-authenticated .access-response { padding: 18px 14px 24px; }
  .terminal-option { min-height: 44px; padding-top: 9px; padding-bottom: 9px; }
  .terminal-prompt-area { grid-template-columns: 1fr; }
  .terminal-prompt-area input { min-height: 44px; }
  .period-photo { width: min(48%, 190px); }
  .data-table { min-width: 480px; }
  .record-path a { min-height: 44px; display: inline-grid; align-items: center; }
  .utility-line a, .quick-access a, .corporate-footer a { min-height: 44px; display: inline-grid; align-items: center; }
}

@media (pointer: coarse) {
  .primary-nav a, .secondary-nav a, .record-path a,
  .utility-line a, .quick-access a, .corporate-footer a {
    min-height: 44px;
    display: inline-grid;
    align-items: center;
  }
}

@media (max-width: 360px) {
  .utility-line > span:first-child, .page-location { display: none; }
  .utility-line { justify-content: flex-end; }
  .masthead { min-height: 84px; }
  .brand-block { gap: 8px; }
  .brand-mark { width: 40px; height: 38px; }
  .brand-logo { max-height: 66px; }
  .masthead h1, .brand-name { font-size: 19px; }
  .masthead p { letter-spacing: .06em; }
  .sidebar { grid-template-columns: 1fr; }
  .archive-callout { grid-template-columns: 1fr; }
  .archive-badge { min-height: 38px; }
  .period-photo { width: 100%; float: none; margin: 0 0 12px; }
}

@media (min-width: 361px) and (max-width: 440px) {
  .period-photo { width: 100%; max-width: 240px; float: none; margin: 0 auto 12px; }
}
