:root {
  --scarlet: #b32025;
  --scarlet-dark: #641216;
  --gold: #d6aa3f;
  --gold-soft: #f0cf77;
  --dress-blue: #071225;
  --dress-blue-2: #0b1d33;
  --olive: #56613b;
  --khaki: #c7b99a;
  --sand: #e4d3a2;
  --panel: rgba(6, 14, 24, 0.02);
  --panel-strong: rgba(6, 14, 24, 0.02);
  --panel-dark: rgba(0, 0, 0, 0.02);
  --line: rgba(214, 170, 63, 0.42);
  --line-soft: rgba(255, 255, 255, 0.14);
  --text: rgba(255, 255, 255, 0.96);
  --muted: rgba(232, 224, 204, 0.80);
  --shadow: 0 26px 80px rgba(0, 0, 0, 0.42);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  color: var(--text);
  background:
    linear-gradient(135deg, rgba(7,18,37,.76), rgba(0,0,0,.44) 42%, rgba(100,18,22,.28)),
    url("assets/background.jpg") center / cover no-repeat fixed;
  line-height: 1.65;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    linear-gradient(rgba(214,170,63,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,170,63,.045) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at center, rgba(0,0,0,.92), transparent 78%);
}

a { color: inherit; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 15px clamp(18px, 4vw, 58px);
  background: linear-gradient(90deg, rgba(7,18,37,.82), rgba(7,18,37,.35), rgba(100,18,22,.52));
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 35px rgba(0,0,0,.35);
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.brand-mark {
  position: relative;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 2px solid var(--gold);
  border-radius: 50%;
  background: radial-gradient(circle, var(--scarlet) 0 42%, var(--dress-blue) 43% 100%);
  box-shadow: 0 0 0 4px rgba(214,170,63,.12), 0 0 26px rgba(214,170,63,.42);
  color: #fff;
  font-size: 13px;
}


.unit-logo {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 12px;
  border: 1px solid rgba(214,170,63,.55);
  background: rgba(0,0,0,.18);
  box-shadow: 0 0 0 4px rgba(214,170,63,.08), 0 0 28px rgba(214,170,63,.34);
}

.brand span:last-child { text-shadow: 0 2px 12px rgba(0,0,0,.75); }

.nav {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.nav a {
  position: relative;
  text-decoration: none;
  padding: 9px 13px;
  border-radius: 999px;
  color: var(--muted);
  border: 1px solid transparent;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.nav a:hover,
.nav a.active {
  color: #fff;
  background: rgba(214,170,63,.12);
  border-color: rgba(214,170,63,.38);
  transform: translateY(-1px);
}

main { padding: 58px clamp(18px, 5vw, 76px); }
.hero {
  min-height: calc(100vh - 82px);
  display: grid;
  align-items: center;
}

.panel,
.card,
.stat,
.timeline-item {
  background: var(--panel);
  border: 1px solid var(--line-soft);
  backdrop-filter: blur(14px) saturate(125%);
  box-shadow: var(--shadow);
}

.panel {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  padding: clamp(26px, 5vw, 60px);
}

.panel::before,
.card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(214,170,63,.22), transparent 25%, transparent 72%, rgba(179,32,37,.18));
  opacity: .72;
}

.hero .panel { max-width: 1050px; }
.eyebrow {
  color: var(--gold-soft);
  letter-spacing: 4px;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 12px;
  text-shadow: 0 2px 12px rgba(0,0,0,.8);
}
.eyebrow::before { content: "◆ "; color: var(--scarlet); }

h1, h2, h3 { position: relative; z-index: 1; }
h1 {
  font-size: clamp(58px, 12vw, 132px);
  line-height: .86;
  letter-spacing: 7px;
  text-transform: uppercase;
  margin-bottom: 20px;
  color: #fff;
  text-shadow: 0 5px 0 rgba(100,18,22,.75), 0 0 32px rgba(214,170,63,.28), 0 18px 48px rgba(0,0,0,.72);
}
h2 {
  font-size: clamp(34px, 5vw, 62px);
  line-height: .96;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 18px;
  text-shadow: 0 3px 18px rgba(0,0,0,.7);
}
h3 {
  font-size: 24px;
  text-transform: uppercase;
  letter-spacing: 1.7px;
  margin-bottom: 10px;
  color: #fff;
}
p { color: var(--muted); font-size: 18px; position: relative; z-index: 1; }

.hero-callout {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--sand);
  background: rgba(7,18,37,.02);
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; position: relative; z-index: 1; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 12px;
  border: 1px solid var(--line);
  text-decoration: none;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  background: rgba(7,18,37,.02);
  box-shadow: 0 12px 32px rgba(0,0,0,.25);
}
.btn.primary { background: linear-gradient(135deg, rgba(179,32,37,.88), rgba(100,18,22,.88)); color: white; }
.btn.gold { background: linear-gradient(135deg, rgba(214,170,63,.82), rgba(108,82,31,.84)); color: #071225; }
.btn:hover { filter: brightness(1.14); transform: translateY(-1px); }

.grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 22px; margin-top: 28px; }
.card {
  position: relative;
  overflow: hidden;
  grid-column: span 4;
  border-radius: 20px;
  padding: 25px;
}
.card.wide { grid-column: span 6; }
.card.full { grid-column: 1 / -1; }
.card > * { position: relative; z-index: 1; }
.card.accent { border-color: var(--line); background: rgba(100,18,22,.02); }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 28px; }
.stat { border-radius: 18px; padding: 22px; text-align: center; }
.stat strong { display: block; font-size: 34px; color: var(--gold-soft); line-height: 1; }
.stat span { color: var(--muted); text-transform: uppercase; letter-spacing: 1px; font-weight: 800; font-size: 13px; }

.list { display: grid; gap: 12px; margin-top: 12px; color: var(--muted); position: relative; z-index: 1; }
.list li { margin-left: 18px; }

.select-box,
.input-box {
  width: 100%;
  margin-top: 12px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(7, 18, 37, .02);
  color: white;
  outline: none;
}

.rank-table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 14px; margin-top: 16px; position: relative; z-index: 1; }
.rank-table th, .rank-table td { padding: 14px 12px; border-bottom: 1px solid rgba(255,255,255,.12); text-align: left; }
.rank-table th { color: var(--gold-soft); text-transform: uppercase; letter-spacing: 1px; background: rgba(7,18,37,.02); }
.rank-table tr:hover td { background: rgba(214,170,63,.08); }

.ribbon {
  display: flex;
  gap: 6px;
  margin: 20px 0 4px;
}
.ribbon span { width: 42px; height: 10px; border-radius: 2px; display: block; }
.ribbon .red { background: var(--scarlet); }
.ribbon .gold { background: var(--gold); }
.ribbon .blue { background: var(--dress-blue-2); border: 1px solid rgba(255,255,255,.16); }
.ribbon .olive { background: var(--olive); }

.timeline { display: grid; gap: 16px; margin-top: 20px; }
.timeline-item { border-left: 4px solid var(--gold); border-radius: 14px; padding: 18px; background: rgba(7,18,37,.02); }
.timeline-item b { color: var(--gold-soft); text-transform: uppercase; letter-spacing: 1px; }

.footer { padding: 30px clamp(18px, 5vw, 72px); color: rgba(255,255,255,.70); text-align: center; background: rgba(7,18,37,.02); border-top: 1px solid var(--line); backdrop-filter: blur(12px); }

@media (max-width: 900px) {
  .site-header { align-items: flex-start; flex-direction: column; }
  .nav { justify-content: flex-start; }
  .card, .card.wide { grid-column: 1 / -1; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  body { background-attachment: scroll; }
}
@media (max-width: 560px) { .stats { grid-template-columns: 1fr; } }


/* Chain of Command navigation */
.nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.nav-dropdown .drop-toggle::after {
  content: " ▾";
  color: var(--gold);
  font-size: .85em;
}

.nav-dropdown.active .drop-toggle {
  color: var(--gold-soft);
  border-color: var(--gold);
  background: rgba(179, 32, 37, .18);
}

.drop-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 310px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(6, 14, 24, .88);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transition: .2s ease;
}

.nav-dropdown:hover .drop-menu,
.nav-dropdown:focus-within .drop-menu {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.drop-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--muted);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.drop-menu a:hover {
  background: linear-gradient(90deg, rgba(179,32,37,.30), rgba(214,170,63,.16));
  color: #fff;
}

.command-feature {
  margin-top: 34px;
}

.command-hero {
  position: relative;
  overflow: hidden;
}

.command-hero::after {
  content: "3/5";
  position: absolute;
  right: 28px;
  bottom: -38px;
  font-size: clamp(96px, 18vw, 220px);
  font-weight: 900;
  letter-spacing: .04em;
  color: rgba(214, 170, 63, .07);
  pointer-events: none;
}

.command-category-grid {
  width: min(1180px, 92%);
  margin: 30px auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.category-tile {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(179,32,37,.15), rgba(6,14,24,.02));
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}

.category-tile:hover {
  border-color: var(--gold-soft);
  transform: translateY(-2px);
}

.profile-section {
  width: min(1180px, 92%);
  margin: 34px auto;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(6, 14, 24, .02);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
  scroll-margin-top: 110px;
}

.section-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.section-heading span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  min-height: 42px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(179, 32, 37, .28);
  border: 1px solid var(--gold);
  color: var(--gold-soft);
  font-weight: 900;
  text-transform: uppercase;
}

.section-heading h3 {
  font-size: clamp(24px, 4vw, 38px);
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.profile-card {
  padding: 22px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(0,0,0,.02), rgba(179,32,37,.10));
}

.profile-card h4 {
  color: #fff;
  font-size: 20px;
  margin-bottom: 8px;
}

.profile-card p {
  color: var(--muted);
}

.profile-card a {
  display: inline-block;
  margin-top: 16px;
  color: var(--gold-soft);
  text-decoration: none;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

@media (max-width: 860px) {
  .site-header { align-items: flex-start; }
  .nav { gap: 8px; }
  .nav-dropdown { width: 100%; }
  .nav-dropdown .drop-toggle { width: 100%; text-align: center; }
  .drop-menu {
    position: static;
    transform: none;
    opacity: 1;
    pointer-events: auto;
    width: 100%;
    min-width: 0;
    margin-top: 8px;
    display: none;
  }
  .nav-dropdown:hover .drop-menu, .nav-dropdown:focus-within .drop-menu { display: block; transform: none; }
}


.rank-hero h2 { font-size: clamp(42px, 8vw, 86px); }
.rank-breakdown { margin-top: 28px; }
.rank-note {
  position: relative;
  z-index: 1;
  margin-top: 18px;
  padding: 18px 20px;
  border-left: 4px solid var(--gold);
  background: rgba(214, 170, 63, 0.05);
  border-radius: 14px;
  color: var(--muted);
}
.category-nav-panel { margin-top: 34px; }
.mini-link-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.mini-link {
  display: block;
  text-decoration: none;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(214, 170, 63, 0.34);
  background: rgba(0, 0, 0, 0.02);
  color: var(--sand);
  font-weight: 900;
  letter-spacing: .4px;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.mini-link:hover {
  transform: translateY(-2px);
  border-color: rgba(214, 170, 63, 0.72);
  background: rgba(214, 170, 63, 0.08);
}


/* Individual chain of command pages */
.command-profile-page main { padding-top: 38px; }
.profile-hero-card {
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  gap: clamp(22px, 4vw, 46px);
  align-items: center;
}
.profile-crest {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: 320px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: radial-gradient(circle at center, rgba(214,170,63,.16), rgba(179,32,37,.08) 42%, rgba(0,0,0,.02));
  overflow: hidden;
}
.profile-crest::after {
  content: "DARKHORSE";
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 12px;
  letter-spacing: .35em;
  color: rgba(240,207,119,.62);
  font-weight: 900;
}
.profile-crest img {
  width: min(250px, 82%);
  max-height: 260px;
  object-fit: contain;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.65));
}
.profile-title .rank-kicker {
  position: relative;
  z-index: 1;
  display: inline-flex;
  padding: 8px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  border: 1px solid var(--gold);
  background: rgba(179,32,37,.18);
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 900;
  font-size: 13px;
}
.profile-title h1 {
  font-size: clamp(46px, 8vw, 92px);
  letter-spacing: .04em;
  margin-bottom: 12px;
}
.callsign {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: clamp(22px, 3vw, 38px);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  margin-bottom: 10px;
}
.callsign span { color: var(--gold-soft); }
.profile-subline {
  position: relative;
  z-index: 1;
  color: var(--sand);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}
.record-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
  margin-top: 30px;
}
.record-card {
  grid-column: span 4;
  padding: 20px;
  border-radius: 18px;
  border: 1px solid rgba(214,170,63,.32);
  background: linear-gradient(160deg, rgba(7,18,37,.02), rgba(179,32,37,.08));
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
}
.record-card.wide { grid-column: span 6; }
.record-card.full { grid-column: 1 / -1; }
.record-card h4 {
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 14px;
  margin-bottom: 8px;
}
.record-card p, .record-card li { color: var(--muted); font-size: 16px; }
.record-card ul { margin-left: 18px; display: grid; gap: 6px; }
.medal-wall {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  align-items: stretch;
  margin-top: 22px;
}
.medal-tile {
  min-height: 172px;
  display: grid;
  place-items: center;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.02);
}
.medal-tile.wide { grid-column: span 2; }
.medal-tile.certificate { grid-column: span 2; }
.medal-tile img {
  max-width: 100%;
  max-height: 230px;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(0,0,0,.65));
}
.citation-card {
  margin-top: 30px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(228,211,162,.055), rgba(6,14,24,.02));
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.citation-header {
  padding: 20px 24px;
  border-bottom: 1px solid rgba(214,170,63,.32);
  background: linear-gradient(90deg, rgba(179,32,37,.25), rgba(214,170,63,.10));
}
.citation-header .eyebrow { margin-bottom: 4px; }
.citation-header h3 { color: #fff; margin-bottom: 0; }
.citation-body { padding: clamp(22px, 4vw, 36px); }
.citation-body p { margin-bottom: 18px; color: rgba(255,255,255,.88); }
.signature-block {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.14);
  color: var(--sand);
  font-weight: 800;
  letter-spacing: .04em;
}
.awards-list {
  columns: 2;
  column-gap: 28px;
  margin-left: 18px;
}
.awards-list li { break-inside: avoid; margin-bottom: 8px; }
.profile-card.featured-officer {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  align-items: center;
  border-color: rgba(214,170,63,.55);
  background: linear-gradient(135deg, rgba(179,32,37,.14), rgba(214,170,63,.06), rgba(0,0,0,.02));
}
.featured-officer img {
  width: 96px;
  height: 96px;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid rgba(214,170,63,.45);
  background: rgba(0,0,0,.12);
}
@media (max-width: 980px) {
  .profile-hero-card { grid-template-columns: 1fr; }
  .record-card, .record-card.wide { grid-column: 1 / -1; }
  .medal-wall { grid-template-columns: repeat(2, 1fr); }
  .medal-tile.wide, .medal-tile.certificate { grid-column: span 2; }
}
@media (max-width: 560px) {
  .medal-wall { grid-template-columns: 1fr; }
  .medal-tile.wide, .medal-tile.certificate { grid-column: 1; }
  .awards-list { columns: 1; }
  .profile-card.featured-officer { grid-template-columns: 1fr; }
}


/* Home boot sequence */
body.booting {
  overflow: hidden;
}

.boot-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top, rgba(6, 38, 20, 0.92), rgba(2, 8, 5, 0.98) 60%),
    linear-gradient(135deg, rgba(0, 0, 0, 0.82), rgba(5, 25, 15, 0.96));
  overflow: hidden;
}
.boot-overlay::before,
.boot-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.boot-overlay::before {
  background:
    linear-gradient(rgba(95, 255, 169, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(95, 255, 169, 0.05) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: .55;
}
.boot-overlay::after {
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.045) 0px,
    rgba(255,255,255,.045) 1px,
    transparent 2px,
    transparent 4px
  );
  mix-blend-mode: screen;
  opacity: .20;
}
.boot-noise {
  position: absolute;
  inset: -20%;
  background: radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1.5px);
  background-size: 12px 12px;
  opacity: .08;
  animation: bootNoise 6s linear infinite;
}
.boot-frame {
  position: relative;
  width: min(1220px, 100%);
  border: 1px solid rgba(95, 255, 169, 0.32);
  border-radius: 22px;
  overflow: hidden;
  background: rgba(0, 8, 5, 0.72);
  box-shadow: 0 0 0 1px rgba(214,170,63,.12), 0 20px 70px rgba(0,0,0,.68), 0 0 60px rgba(95,255,169,.12);
}
.boot-topbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(95,255,169,.22);
  background: linear-gradient(90deg, rgba(95,255,169,.16), rgba(214,170,63,.08), rgba(179,32,37,.14));
  color: rgba(225,255,236,.92);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.boot-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) 320px;
  gap: 24px;
  padding: clamp(24px, 4vw, 42px);
}
.boot-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: #f0cf77;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 13px;
}
.boot-kicker::before {
  content: "[]";
  color: #76ffbe;
}
.boot-overlay h1 {
  margin: 0 0 12px;
  font-size: clamp(40px, 7vw, 90px);
  line-height: .92;
  color: #dcffe7;
  text-shadow: 0 0 18px rgba(118,255,190,.18), 0 0 34px rgba(118,255,190,.08);
}
.boot-subtitle {
  max-width: 760px;
  color: rgba(220,255,231,.78);
  font-size: 17px;
}
.boot-terminal {
  margin-top: 26px;
  padding: 18px;
  min-height: 226px;
  border: 1px solid rgba(95,255,169,.22);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(0,0,0,.38), rgba(5,18,11,.72));
  box-shadow: inset 0 0 24px rgba(95,255,169,.06);
}
.boot-line {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease;
  color: #95ffca;
  font-family: Consolas, Monaco, monospace;
  font-size: 15px;
  letter-spacing: .03em;
  margin-bottom: 10px;
}
.boot-line.visible {
  opacity: 1;
  transform: translateY(0);
}
.boot-progress-wrap {
  margin-top: 22px;
}
.boot-progress-label {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
  color: #f0cf77;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.boot-progress {
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(95,255,169,.28);
  background: rgba(255,255,255,.05);
}
.boot-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #76ffbe, #f0cf77 78%, #b32025);
  box-shadow: 0 0 16px rgba(118,255,190,.32);
  transition: width .16s linear;
}
.boot-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 24px;
}
.boot-skip {
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid rgba(95,255,169,.34);
  background: rgba(5, 20, 12, 0.78);
  color: #dcffe7;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  cursor: pointer;
}
.boot-skip:hover {
  background: rgba(95,255,169,.14);
}
.boot-hint {
  color: rgba(220,255,231,.7);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.boot-right {
  display: grid;
  gap: 14px;
  align-content: start;
}
.status-card {
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(95,255,169,.18);
  background: linear-gradient(180deg, rgba(7,18,37,.34), rgba(1,10,6,.58));
  box-shadow: inset 0 0 18px rgba(95,255,169,.06);
}
.status-card strong {
  display: block;
  margin: 6px 0 4px;
  color: #dcffe7;
  font-size: 22px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.status-card small,
.status-label {
  display: block;
  color: rgba(220,255,231,.72);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.status-label {
  color: #f0cf77;
  font-size: 12px;
  font-weight: 900;
}
.boot-stamp {
  margin-top: 10px;
  padding: 18px;
  text-align: center;
  border: 1px dashed rgba(179,32,37,.6);
  color: rgba(255,110,110,.92);
  font-weight: 900;
  font-size: 14px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.boot-overlay.is-closing {
  animation: bootFadeOut .8s ease forwards;
}

@keyframes bootFadeOut {
  to { opacity: 0; visibility: hidden; }
}
@keyframes bootNoise {
  from { transform: translate3d(-2%, -1%, 0); }
  50% { transform: translate3d(2%, 1%, 0); }
  to { transform: translate3d(-2%, -1%, 0); }
}

@media (max-width: 920px) {
  .boot-grid { grid-template-columns: 1fr; }
  .boot-actions { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .boot-topbar { flex-direction: column; align-items: flex-start; }
  .boot-overlay { padding: 12px; }
  .boot-terminal { min-height: 250px; }
}


/* Boot screen visibility upgrade */
.boot-overlay {
  z-index: 2147483647 !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(25, 79, 43, 0.98), rgba(0, 5, 3, 0.99) 58%),
    linear-gradient(135deg, rgba(0,0,0,.96), rgba(4,32,17,.98)) !important;
}
.boot-frame {
  animation: bootFramePulse 1.8s ease-in-out infinite alternate;
}
.boot-overlay h1::after {
  content: "_";
  animation: bootCursor 0.7s steps(1) infinite;
  color: #76ffbe;
}
.boot-terminal {
  outline: 1px solid rgba(118,255,190,.22);
}
.boot-line.visible:last-child::after {
  content: " █";
  color: #76ffbe;
  animation: bootCursor 0.7s steps(1) infinite;
}
@keyframes bootCursor {
  50% { opacity: 0; }
}
@keyframes bootFramePulse {
  from { box-shadow: 0 0 0 1px rgba(214,170,63,.12), 0 20px 70px rgba(0,0,0,.68), 0 0 38px rgba(95,255,169,.12); }
  to { box-shadow: 0 0 0 1px rgba(214,170,63,.18), 0 20px 78px rgba(0,0,0,.74), 0 0 78px rgba(95,255,169,.22); }
}


/* SOTF MISFIT hacker breach boot screen */
.boot-overlay.hacker-boot {
  z-index: 2147483647 !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(0, 255, 122, 0.20), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(179, 32, 37, 0.22), transparent 34%),
    linear-gradient(135deg, #020403 0%, #03140b 44%, #000000 100%) !important;
  color: #b8ffd7;
  font-family: Consolas, Monaco, "Courier New", monospace;
}

.boot-overlay.hacker-boot::before {
  background:
    linear-gradient(rgba(0, 255, 122, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 255, 122, 0.06) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: .72;
}

.boot-overlay.hacker-boot::after {
  background: repeating-linear-gradient(
    to bottom,
    rgba(0,255,122,.10) 0px,
    rgba(0,255,122,.10) 1px,
    transparent 2px,
    transparent 5px
  );
  opacity: .18;
}

.matrix-rain {
  position: absolute;
  inset: -10%;
  pointer-events: none;
  opacity: .20;
  background-image:
    linear-gradient(180deg, transparent 0%, rgba(0,255,122,.18) 45%, transparent 100%),
    repeating-linear-gradient(
      90deg,
      transparent 0 42px,
      rgba(0,255,122,.20) 43px,
      transparent 46px
    );
  animation: matrixDrift 4.5s linear infinite;
  filter: blur(.2px);
}

.hacker-shell {
  position: relative;
  width: min(1260px, 100%);
  border: 1px solid rgba(0,255,122,.46);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(0, 8, 4, .82);
  box-shadow:
    0 0 0 1px rgba(0,255,122,.13),
    0 0 60px rgba(0,255,122,.18),
    0 28px 90px rgba(0,0,0,.78);
  animation: hackerPulse 1.6s ease-in-out infinite alternate;
}

.hacker-titlebar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(0,255,122,.34);
  background:
    linear-gradient(90deg, rgba(0,255,122,.16), rgba(0,0,0,.45), rgba(179,32,37,.20));
  color: #76ffbe;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hacker-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) 330px;
  gap: 24px;
  padding: clamp(24px, 4vw, 44px);
}

.breach-label {
  display: inline-flex;
  padding: 8px 12px;
  margin-bottom: 16px;
  border: 1px solid rgba(179,32,37,.72);
  border-radius: 999px;
  background: rgba(179,32,37,.18);
  color: #ff6969;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-shadow: 0 0 12px rgba(255,0,0,.25);
}

.boot-overlay.hacker-boot h1 {
  margin: 0 0 14px;
  font-size: clamp(42px, 8vw, 104px);
  line-height: .85;
  color: #75ffb8;
  letter-spacing: .035em;
  text-shadow:
    2px 0 rgba(255,0,0,.45),
    -2px 0 rgba(0,145,255,.32),
    0 0 28px rgba(0,255,122,.35);
  animation: glitchText 2.2s infinite;
}

.boot-overlay.hacker-boot h1::after {
  content: "_";
  color: #76ffbe;
  animation: bootCursor .55s steps(1) infinite;
}

.hacker-subtitle {
  max-width: 790px;
  color: rgba(204,255,223,.80);
  font-size: 16px;
  text-shadow: 0 0 10px rgba(0,255,122,.12);
}

.hack-terminal {
  margin-top: 26px;
  min-height: 296px;
  padding: 18px;
  border: 1px solid rgba(0,255,122,.38);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.65), rgba(0,21,9,.72)),
    radial-gradient(circle at top left, rgba(0,255,122,.08), transparent 44%);
  box-shadow:
    inset 0 0 28px rgba(0,255,122,.08),
    0 0 22px rgba(0,255,122,.08);
  outline: none;
}

.hacker-boot .boot-line {
  opacity: 0;
  transform: translateX(-8px);
  color: #93ffc4;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 9px;
  text-shadow: 0 0 9px rgba(0,255,122,.20);
  transition: opacity .16s ease, transform .16s ease;
}

.hacker-boot .boot-line.visible {
  opacity: 1;
  transform: translateX(0);
}

.hacker-boot .boot-line.visible:last-child::after {
  content: " █";
  color: #76ffbe;
  animation: bootCursor .55s steps(1) infinite;
}

.hack-progress-wrap {
  margin-top: 22px;
}

.hack-progress-label {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
  color: #76ffbe;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hack-progress {
  height: 14px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(0,255,122,.42);
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 8px, transparent 8px 16px),
    rgba(0,0,0,.48);
}

.hack-progress span {
  display: block;
  width: 0;
  height: 100%;
  background:
    linear-gradient(90deg, #0cff76, #76ffbe 72%, #ff3434);
  box-shadow: 0 0 22px rgba(0,255,122,.42);
  transition: width .16s linear;
}

.hack-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 24px;
}

.hacker-boot .boot-skip {
  border-color: rgba(0,255,122,.48);
  background: rgba(0, 20, 8, .82);
  color: #93ffc4;
  box-shadow: 0 0 18px rgba(0,255,122,.10);
}

.hacker-boot .boot-skip:hover {
  background: rgba(0,255,122,.16);
}

.hacker-side {
  display: grid;
  gap: 14px;
  align-content: start;
}

.signal-card {
  padding: 18px;
  border-radius: 12px;
  border: 1px solid rgba(0,255,122,.26);
  background: linear-gradient(180deg, rgba(0,40,16,.36), rgba(0,0,0,.62));
  box-shadow: inset 0 0 20px rgba(0,255,122,.06);
}

.signal-card span {
  display: block;
  color: #76ffbe;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.signal-card strong {
  display: block;
  margin: 6px 0 4px;
  color: #d7ffe5;
  font-size: 22px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.signal-card small {
  color: rgba(204,255,223,.66);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.signal-card.danger {
  border-color: rgba(255,60,60,.45);
  background: linear-gradient(180deg, rgba(179,32,37,.24), rgba(0,0,0,.62));
}

.hack-stamp {
  margin-top: 8px;
  padding: 18px;
  text-align: center;
  border: 1px dashed rgba(255,60,60,.72);
  color: #ff6969;
  font-weight: 900;
  letter-spacing: .20em;
  text-transform: uppercase;
  text-shadow: 0 0 14px rgba(255,0,0,.30);
}

@keyframes matrixDrift {
  from { transform: translateY(-4%); }
  to { transform: translateY(8%); }
}

@keyframes hackerPulse {
  from { filter: brightness(1); }
  to { filter: brightness(1.12); }
}

@keyframes glitchText {
  0%, 88%, 100% { transform: translate(0); }
  90% { transform: translate(-2px, 1px); }
  92% { transform: translate(2px, -1px); }
  94% { transform: translate(-1px, -1px); }
  96% { transform: translate(1px, 1px); }
}

@media (max-width: 940px) {
  .hacker-layout { grid-template-columns: 1fr; }
  .hack-actions { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .hacker-titlebar { flex-direction: column; }
  .hack-terminal { min-height: 330px; }
}


/* Semi-futuristic SOTF logo integration */
.hacker-logo-row {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
}

.hacker-logo-core {
  position: relative;
  width: clamp(120px, 16vw, 190px);
  height: clamp(120px, 16vw, 190px);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, rgba(0,255,122,.18), rgba(0,0,0,.55) 58%, transparent 62%),
    conic-gradient(from 90deg, rgba(0,255,122,.0), rgba(0,255,122,.36), rgba(179,32,37,.28), rgba(0,255,122,.0));
  box-shadow:
    0 0 36px rgba(0,255,122,.20),
    inset 0 0 30px rgba(0,255,122,.10);
  overflow: visible;
}

.hacker-logo-core::before,
.hacker-logo-core::after {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  border: 1px solid rgba(0,255,122,.22);
  pointer-events: none;
}

.hacker-logo-core::after {
  inset: 10px;
  border-style: dashed;
  border-color: rgba(240,207,119,.30);
  animation: holoSpin 18s linear infinite reverse;
}

.hacker-logo-core img {
  position: relative;
  z-index: 3;
  width: 92%;
  height: 92%;
  object-fit: contain;
  border-radius: 50%;
  filter:
    drop-shadow(0 0 10px rgba(255,255,255,.18))
    drop-shadow(0 0 18px rgba(0,255,122,.25));
  mix-blend-mode: screen;
}

.orbit-ring {
  position: absolute;
  inset: -18px;
  border-radius: 50%;
  border: 1px solid transparent;
  border-top-color: rgba(0,255,122,.85);
  border-right-color: rgba(0,255,122,.20);
  animation: holoSpin 8s linear infinite;
}

.ring-two {
  inset: -30px;
  border-top-color: rgba(255,60,60,.62);
  border-left-color: rgba(0,255,122,.26);
  animation-duration: 13s;
  animation-direction: reverse;
}

.hacker-id-block {
  padding: 14px 16px;
  border-left: 3px solid rgba(0,255,122,.55);
  background:
    linear-gradient(90deg, rgba(0,255,122,.08), rgba(0,0,0,.0));
}

.hacker-id-block span,
.hacker-id-block small {
  display: block;
  color: rgba(204,255,223,.70);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
}

.hacker-id-block strong {
  display: block;
  color: #d7ffe5;
  font-size: clamp(22px, 3vw, 38px);
  letter-spacing: .09em;
  text-transform: uppercase;
  text-shadow:
    0 0 16px rgba(0,255,122,.24),
    2px 0 rgba(255,0,0,.32);
}

.hacker-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 28%, rgba(0,255,122,.08) 31%, transparent 34% 100%),
    radial-gradient(circle at 82% 18%, rgba(0,255,122,.10), transparent 24%);
  animation: holoSweep 5.8s linear infinite;
  z-index: 1;
}

.hacker-shell > * {
  position: relative;
  z-index: 2;
}

.hack-terminal {
  border-radius: 18px !important;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}

.signal-card {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}

@keyframes holoSpin {
  to { transform: rotate(360deg); }
}

@keyframes holoSweep {
  0% { transform: translateX(-32%); opacity: .25; }
  45% { opacity: .75; }
  100% { transform: translateX(34%); opacity: .25; }
}

@media (max-width: 680px) {
  .hacker-logo-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .hacker-logo-core {
    width: 150px;
    height: 150px;
  }
}


/* Black future hacker boot refinement */
.boot-overlay.hacker-boot {
  background:
    radial-gradient(circle at 50% 14%, rgba(0, 255, 122, 0.13), transparent 30%),
    radial-gradient(circle at 84% 12%, rgba(120, 0, 255, 0.12), transparent 32%),
    radial-gradient(circle at 18% 80%, rgba(179, 32, 37, 0.16), transparent 32%),
    linear-gradient(135deg, #000000 0%, #020805 44%, #000000 100%) !important;
}

.hacker-shell {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .92), rgba(0, 10, 5, .88)),
    radial-gradient(circle at center, rgba(0,255,122,.08), transparent 55%) !important;
  border-color: rgba(0,255,122,.58) !important;
}

.hacker-layout {
  grid-template-columns: minmax(0, 1.2fr) 330px;
}

.hacker-logo-row {
  align-items: center;
  margin-bottom: 28px;
}

.hacker-logo-core.logo-dominant {
  width: clamp(230px, 30vw, 390px);
  height: clamp(230px, 30vw, 390px);
  flex: 0 0 auto;
  background:
    radial-gradient(circle at center, rgba(0,255,122,.24), rgba(0,0,0,.72) 58%, rgba(0,255,122,.10) 64%, transparent 68%),
    conic-gradient(from 0deg, rgba(0,255,122,.0), rgba(0,255,122,.55), rgba(120,0,255,.30), rgba(179,32,37,.42), rgba(0,255,122,.0));
  box-shadow:
    0 0 42px rgba(0,255,122,.34),
    0 0 110px rgba(0,255,122,.15),
    inset 0 0 44px rgba(0,255,122,.16);
}

.hacker-logo-core.logo-dominant img {
  width: 108%;
  height: 108%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  opacity: 1;
  mix-blend-mode: normal;
  filter:
    contrast(1.22)
    brightness(1.18)
    drop-shadow(0 0 12px rgba(255,255,255,.32))
    drop-shadow(0 0 28px rgba(0,255,122,.45))
    drop-shadow(0 0 64px rgba(0,255,122,.20));
}

.hacker-logo-core.logo-dominant::before {
  inset: -18px;
  border-color: rgba(0,255,122,.42);
  box-shadow: 0 0 24px rgba(0,255,122,.16);
}

.hacker-logo-core.logo-dominant::after {
  inset: 22px;
  border-color: rgba(255,255,255,.22);
}

.ring-three {
  inset: -44px;
  border-top-color: rgba(255,255,255,.50);
  border-bottom-color: rgba(0,255,122,.20);
  animation-duration: 19s;
}

.hacker-id-block {
  border-left-color: rgba(0,255,122,.85);
  background:
    linear-gradient(90deg, rgba(0,255,122,.13), rgba(0,0,0,.0)),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.0));
  padding: 18px 20px;
}

.hacker-id-block strong {
  font-size: clamp(34px, 5vw, 66px);
  color: #ffffff;
  text-shadow:
    0 0 18px rgba(0,255,122,.45),
    0 0 52px rgba(0,255,122,.22),
    3px 0 rgba(255,0,0,.34),
    -3px 0 rgba(0,145,255,.28);
}

.boot-overlay.hacker-boot h1 {
  color: #ffffff;
  text-shadow:
    0 0 18px rgba(0,255,122,.45),
    0 0 60px rgba(0,255,122,.20),
    2px 0 rgba(255,0,0,.42),
    -2px 0 rgba(0,145,255,.35);
}

.breach-label {
  background: rgba(0,0,0,.56);
  border-color: rgba(0,255,122,.62);
  color: #76ffbe;
}

.hack-terminal {
  background:
    linear-gradient(180deg, rgba(0,0,0,.88), rgba(0,10,5,.82)),
    radial-gradient(circle at top left, rgba(0,255,122,.12), transparent 44%) !important;
  border-color: rgba(0,255,122,.52) !important;
}

.signal-card {
  background:
    linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,14,7,.70)) !important;
  border-color: rgba(0,255,122,.36) !important;
}

@media (max-width: 940px) {
  .hacker-logo-core.logo-dominant {
    width: clamp(190px, 46vw, 320px);
    height: clamp(190px, 46vw, 320px);
  }
}

@media (max-width: 680px) {
  .hacker-logo-row {
    align-items: center;
    text-align: center;
  }
  .hacker-id-block {
    border-left: 0;
    border-top: 3px solid rgba(0,255,122,.65);
  }
  .hacker-logo-core.logo-dominant {
    width: 240px;
    height: 240px;
  }
}


/* Glitch ghost-logo boot upgrade */
.sotf-ghost-logo {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: min(1180px, 126vw);
  max-width: none;
  transform: translate(-50%, -50%) rotate(-3deg);
  opacity: .115;
  filter:
    grayscale(1)
    contrast(1.45)
    brightness(1.35)
    drop-shadow(0 0 38px rgba(0,255,122,.45))
    drop-shadow(0 0 95px rgba(255,255,255,.16));
  pointer-events: none;
  animation: ghostLogoGlitch 3.2s infinite steps(1), ghostFloat 8s ease-in-out infinite;
}

.sotf-ghost-logo::selection {
  background: transparent;
}

.glitch-bars {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: .36;
  background:
    linear-gradient(180deg, transparent 0 9%, rgba(0,255,122,.18) 9.2% 9.8%, transparent 10.2% 21%),
    linear-gradient(180deg, transparent 0 47%, rgba(255,255,255,.08) 47.2% 48.5%, transparent 49% 74%),
    linear-gradient(180deg, transparent 0 78%, rgba(255,0,80,.14) 78.2% 79.4%, transparent 80%);
  animation: glitchBars 1.25s infinite steps(1);
  mix-blend-mode: screen;
}

.boot-overlay.hacker-boot {
  animation: screenGlitch 4.7s infinite steps(1);
}

.hacker-shell {
  z-index: 5;
  backdrop-filter: blur(1px) saturate(135%);
  animation: hackerPulse 1.6s ease-in-out infinite alternate, shellJitter 5.1s infinite steps(1) !important;
}

.hacker-shell::after {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 4;
  pointer-events: none;
  opacity: .26;
  background:
    linear-gradient(90deg, rgba(255,0,80,.0), rgba(255,0,80,.18), rgba(255,0,80,.0)),
    linear-gradient(270deg, rgba(0,145,255,.0), rgba(0,145,255,.16), rgba(0,145,255,.0));
  clip-path: polygon(0 11%, 100% 9%, 100% 17%, 0 19%, 0 46%, 100% 44%, 100% 51%, 0 54%, 0 76%, 100% 73%, 100% 80%, 0 82%);
  animation: rgbTear 2.05s infinite steps(1);
}

.hacker-logo-core.logo-dominant {
  opacity: .88;
  animation: logoJitter 3.4s infinite steps(1), holoSpinSubtle 18s linear infinite;
}

.hacker-logo-core.logo-dominant img {
  opacity: .78 !important;
  filter:
    grayscale(1)
    contrast(1.5)
    brightness(1.15)
    drop-shadow(8px 0 0 rgba(255,0,80,.22))
    drop-shadow(-8px 0 0 rgba(0,145,255,.20))
    drop-shadow(0 0 34px rgba(0,255,122,.42)) !important;
  animation: logoScanTear 2.6s infinite steps(1);
}

.boot-overlay.hacker-boot h1,
.hacker-id-block strong {
  animation: glitchText 1.45s infinite steps(1), textChromatic 2.8s infinite steps(1);
}

.hack-terminal {
  position: relative;
  overflow: hidden;
}

.hack-terminal::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(0,255,122,.0) 0 10px,
      rgba(0,255,122,.16) 11px,
      rgba(0,255,122,.0) 13px
    );
  animation: terminalScan 2.8s linear infinite;
}

.hack-terminal::after {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  top: 36%;
  height: 26px;
  pointer-events: none;
  background: rgba(255,255,255,.12);
  filter: blur(3px);
  opacity: 0;
  animation: whiteNoiseFlash 3.9s infinite steps(1);
}

.hacker-boot .boot-line.visible {
  animation: lineGlitch 3.8s infinite steps(1);
}

@keyframes ghostFloat {
  0%, 100% { transform: translate(-50%, -50%) rotate(-3deg) scale(1); }
  50% { transform: translate(-50%, -52%) rotate(-2deg) scale(1.035); }
}

@keyframes ghostLogoGlitch {
  0%, 78%, 100% { opacity: .115; clip-path: inset(0 0 0 0); }
  79% { opacity: .19; transform: translate(-51%, -50%) rotate(-3deg) scale(1.02); clip-path: inset(8% 0 64% 0); }
  80% { opacity: .09; transform: translate(-49%, -50%) rotate(-3deg) scale(1.01); clip-path: inset(54% 0 24% 0); }
  81% { opacity: .15; transform: translate(-50%, -50%) rotate(-3deg) scale(1); clip-path: inset(0 0 0 0); }
  92% { opacity: .22; transform: translate(-52%, -49%) rotate(-4deg) scale(1.04); }
  93% { opacity: .105; transform: translate(-50%, -50%) rotate(-3deg) scale(1); }
}

@keyframes glitchBars {
  0%, 65%, 100% { transform: translateY(0); opacity: .25; }
  66% { transform: translateY(-18px); opacity: .55; }
  68% { transform: translateY(12px); opacity: .18; }
  72% { transform: translateY(-4px); opacity: .40; }
}

@keyframes screenGlitch {
  0%, 86%, 100% { transform: translate(0); filter: none; }
  87% { transform: translate(-2px, 1px); filter: hue-rotate(8deg) contrast(1.15); }
  88% { transform: translate(3px, -1px); filter: hue-rotate(-10deg) contrast(1.24); }
  89% { transform: translate(0); filter: none; }
}

@keyframes shellJitter {
  0%, 83%, 100% { transform: translate(0); }
  84% { transform: translate(2px, -1px); }
  85% { transform: translate(-3px, 1px); }
  86% { transform: translate(1px, 0); }
}

@keyframes rgbTear {
  0%, 74%, 100% { transform: translateX(0); opacity: .18; }
  75% { transform: translateX(-28px); opacity: .48; }
  76% { transform: translateX(34px); opacity: .30; }
  77% { transform: translateX(-8px); opacity: .55; }
}

@keyframes logoJitter {
  0%, 70%, 100% { transform: translate(0); }
  71% { transform: translate(4px, -2px); }
  72% { transform: translate(-5px, 2px); }
  73% { transform: translate(1px, 0); }
}

@keyframes holoSpinSubtle {
  to { rotate: 360deg; }
}

@keyframes logoScanTear {
  0%, 76%, 100% { clip-path: inset(0 0 0 0); }
  77% { clip-path: inset(0 0 62% 0); transform: translateX(6px); }
  78% { clip-path: inset(42% 0 29% 0); transform: translateX(-7px); }
  79% { clip-path: inset(0 0 0 0); transform: translateX(0); }
}

@keyframes textChromatic {
  0%, 80%, 100% { text-shadow: 0 0 18px rgba(0,255,122,.45), 0 0 60px rgba(0,255,122,.20), 2px 0 rgba(255,0,0,.42), -2px 0 rgba(0,145,255,.35); }
  81% { text-shadow: 10px 0 rgba(255,0,80,.55), -8px 0 rgba(0,145,255,.45), 0 0 26px rgba(0,255,122,.55); }
  82% { text-shadow: -12px 0 rgba(255,0,80,.35), 9px 0 rgba(0,145,255,.55), 0 0 26px rgba(0,255,122,.55); }
}

@keyframes terminalScan {
  from { transform: translateY(-24px); }
  to { transform: translateY(24px); }
}

@keyframes whiteNoiseFlash {
  0%, 82%, 100% { opacity: 0; transform: translateY(0); }
  83% { opacity: .28; transform: translateY(-48px); }
  84% { opacity: .12; transform: translateY(52px); }
}

@keyframes lineGlitch {
  0%, 90%, 100% { transform: translateX(0); }
  91% { transform: translateX(3px); }
  92% { transform: translateX(-2px); }
}

@media (max-width: 680px) {
  .sotf-ghost-logo {
    width: 150vw;
    opacity: .10;
  }
}


/* SOTF 2026 clean cyber overlay: no distorted logo, 98% transparent hover */
.boot-overlay.hacker-boot {
  background:
    radial-gradient(circle at 18% 12%, rgba(0, 255, 178, 0.16), transparent 30%),
    radial-gradient(circle at 84% 8%, rgba(74, 144, 255, 0.12), transparent 34%),
    radial-gradient(circle at 50% 92%, rgba(179, 32, 37, 0.12), transparent 38%),
    linear-gradient(135deg, #000 0%, #030607 45%, #000 100%) !important;
  animation: none !important;
}

.matrix-rain {
  opacity: .10 !important;
  background-image:
    linear-gradient(180deg, transparent 0%, rgba(0,255,178,.12) 45%, transparent 100%),
    repeating-linear-gradient(90deg, transparent 0 68px, rgba(0,255,178,.10) 69px, transparent 72px) !important;
}

/* The SOTF logo now hovers OVER the boot screen, clean and see-through */
.sotf-ghost-logo {
  position: absolute !important;
  z-index: 30 !important;
  top: 50% !important;
  left: 50% !important;
  width: min(980px, 112vw) !important;
  max-width: none !important;
  transform: translate(-50%, -50%) scale(1.04) !important;
  opacity: .02 !important; /* 98% transparent */
  filter:
    grayscale(1)
    contrast(1.25)
    brightness(1.55)
    drop-shadow(0 0 28px rgba(0,255,178,.22)) !important;
  mix-blend-mode: screen !important;
  pointer-events: none !important;
  animation: sotfHover2026 7s ease-in-out infinite !important;
  clip-path: none !important;
}

/* Remove the old destructive glitch effects from the logo */
.hacker-logo-core.logo-dominant,
.hacker-logo-core.logo-dominant img,
.boot-overlay.hacker-boot h1,
.hacker-id-block strong,
.hacker-boot .boot-line.visible {
  animation: none !important;
}

.hacker-logo-core.logo-dominant {
  width: clamp(250px, 30vw, 410px) !important;
  height: clamp(250px, 30vw, 410px) !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle at center, rgba(0,255,178,.18), rgba(0,0,0,.84) 58%, rgba(0,255,178,.08) 64%, transparent 70%),
    conic-gradient(from 0deg, rgba(0,255,178,.0), rgba(0,255,178,.42), rgba(74,144,255,.26), rgba(179,32,37,.28), rgba(0,255,178,.0)) !important;
  box-shadow:
    0 0 44px rgba(0,255,178,.30),
    0 0 120px rgba(0,255,178,.12),
    inset 0 0 48px rgba(0,255,178,.14) !important;
}

.hacker-logo-core.logo-dominant img {
  opacity: .92 !important;
  width: 104% !important;
  height: 104% !important;
  mix-blend-mode: normal !important;
  clip-path: none !important;
  transform: none !important;
  filter:
    grayscale(1)
    contrast(1.22)
    brightness(1.12)
    drop-shadow(0 0 18px rgba(255,255,255,.22))
    drop-shadow(0 0 40px rgba(0,255,178,.28)) !important;
}

.glitch-bars {
  opacity: .11 !important;
  background:
    linear-gradient(180deg, transparent 0 21%, rgba(0,255,178,.10) 21.3% 21.7%, transparent 22% 63%),
    linear-gradient(180deg, transparent 0 72%, rgba(74,144,255,.10) 72.2% 72.6%, transparent 73%) !important;
  animation: futureScanBars 5.5s linear infinite !important;
}

/* Modern 2026 glass/HUD treatment */
.hacker-shell {
  z-index: 12 !important;
  border: 1px solid rgba(0,255,178,.42) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.72), rgba(0,12,10,.58)),
    radial-gradient(circle at 28% 0%, rgba(0,255,178,.08), transparent 35%),
    radial-gradient(circle at 82% 20%, rgba(74,144,255,.08), transparent 32%) !important;
  backdrop-filter: blur(18px) saturate(155%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035),
    0 24px 90px rgba(0,0,0,.82),
    0 0 80px rgba(0,255,178,.10) !important;
  animation: none !important;
}

.hacker-shell::after {
  display: none !important;
}

.hacker-titlebar {
  background:
    linear-gradient(90deg, rgba(0,255,178,.12), rgba(0,0,0,.50), rgba(74,144,255,.09)) !important;
  color: rgba(221,255,243,.92) !important;
  border-bottom: 1px solid rgba(0,255,178,.24) !important;
}

.breach-label {
  border-color: rgba(0,255,178,.55) !important;
  background: rgba(0,255,178,.08) !important;
  color: #9dffdc !important;
  box-shadow: 0 0 26px rgba(0,255,178,.08);
}

.boot-overlay.hacker-boot h1 {
  color: #f4fffb !important;
  text-shadow:
    0 0 16px rgba(0,255,178,.38),
    0 0 52px rgba(0,255,178,.16) !important;
}

.hacker-id-block {
  background:
    linear-gradient(90deg, rgba(0,255,178,.10), rgba(74,144,255,.035), rgba(0,0,0,.0)) !important;
  border-left-color: rgba(0,255,178,.70) !important;
}

.hacker-id-block strong {
  color: #f6fffb !important;
  text-shadow:
    0 0 20px rgba(0,255,178,.34),
    0 0 58px rgba(0,255,178,.14) !important;
}

.hack-terminal {
  border-radius: 22px !important;
  clip-path: none !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.74), rgba(0,13,10,.64)),
    radial-gradient(circle at top left, rgba(0,255,178,.09), transparent 46%) !important;
  border-color: rgba(0,255,178,.34) !important;
  box-shadow:
    inset 0 0 36px rgba(0,255,178,.06),
    0 0 24px rgba(0,255,178,.06) !important;
}

.hack-terminal::after {
  display: none !important;
}

.hacker-boot .boot-line {
  color: rgba(182,255,223,.92) !important;
  text-shadow: 0 0 10px rgba(0,255,178,.14) !important;
}

.hack-progress {
  border-radius: 999px !important;
  border-color: rgba(0,255,178,.38) !important;
  background: rgba(255,255,255,.045) !important;
}

.hack-progress span {
  background: linear-gradient(90deg, #00ffb2, #8affdf 55%, #4a90ff 100%) !important;
  box-shadow: 0 0 24px rgba(0,255,178,.34) !important;
}

.signal-card {
  border-radius: 20px !important;
  clip-path: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.50)),
    radial-gradient(circle at top right, rgba(0,255,178,.07), transparent 42%) !important;
  border-color: rgba(0,255,178,.24) !important;
}

.hack-stamp {
  border-color: rgba(0,255,178,.46) !important;
  color: #9dffdc !important;
  text-shadow: 0 0 18px rgba(0,255,178,.28) !important;
}

/* Subtle future shimmer, not 2003 glitch */
@keyframes sotfHover2026 {
  0%, 100% { transform: translate(-50%, -50%) scale(1.04); opacity: .02; }
  50% { transform: translate(-50%, -52%) scale(1.07); opacity: .026; }
}

@keyframes futureScanBars {
  from { transform: translateY(-12%); }
  to { transform: translateY(12%); }
}

@media (max-width: 680px) {
  .sotf-ghost-logo {
    width: 155vw !important;
    opacity: .024 !important;
  }
  .hacker-logo-core.logo-dominant {
    width: 260px !important;
    height: 260px !important;
  }
}



/* HMLA-269 team-member profile wallpaper */
body.hmla-269-profile {
  background:
    linear-gradient(135deg, rgba(7,18,37,.82), rgba(0,0,0,.62) 42%, rgba(100,18,22,.36)),
    url("assets/HMLA-269.png") center center / min(82vw, 980px) no-repeat fixed,
    url("assets/background.jpg") center / cover no-repeat fixed;
}

body.hmla-269-profile::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at center, rgba(0,0,0,.10), rgba(0,0,0,.58) 68%),
    linear-gradient(135deg, rgba(179,32,37,.16), transparent 44%, rgba(214,170,63,.08));
}

body.hmla-269-profile .profile-crest img {
  border-radius: 18px;
}

body.hmla-269-profile .profile-hero-card::before {
  opacity: .55;
}

@media (max-width: 900px) {
  body.hmla-269-profile {
    background:
      linear-gradient(135deg, rgba(7,18,37,.86), rgba(0,0,0,.68) 42%, rgba(100,18,22,.38)),
      url("assets/HMLA-269.png") center 18vh / 120vw no-repeat scroll,
      url("assets/background.jpg") center / cover no-repeat scroll;
  }
}


/*
HOW TO APPLY HMLA-269 WALLPAPER TO FUTURE TEAM MEMBERS:
Add this class to that member's profile body tag:

<body class="command-profile-page hmla-269-profile">

Example:
<body class="command-profile-page hmla-269-profile john-smith-profile">

Any profile with hmla-269-profile will use assets/HMLA-269.png as its background.
*/


/* Boot v10: remove front logo, strengthen clean 98% transparent rear SOTF watermark */
.hacker-logo-row {
  display: none !important;
}

.sotf-ghost-logo {
  z-index: 4 !important;
  width: min(1320px, 138vw) !important;
  top: 50% !important;
  left: 50% !important;
  opacity: .02 !important; /* 98% transparent */
  transform: translate(-50%, -50%) scale(1.16) !important;
  clip-path: none !important;
  mix-blend-mode: screen !important;
  filter:
    grayscale(1)
    contrast(1.5)
    brightness(2.2)
    drop-shadow(0 0 38px rgba(0,255,178,.36))
    drop-shadow(0 0 120px rgba(0,255,178,.16)) !important;
  animation: sotfRearHoverV10 7s ease-in-out infinite !important;
}

.hacker-shell {
  z-index: 10 !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.66), rgba(0,12,10,.50)),
    radial-gradient(circle at 28% 0%, rgba(0,255,178,.08), transparent 35%),
    radial-gradient(circle at 82% 20%, rgba(74,144,255,.08), transparent 32%) !important;
}

.hacker-layout {
  grid-template-columns: minmax(0, 1.35fr) 330px !important;
}

.breach-label {
  margin-top: 0 !important;
}

.access-granted-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  padding: 24px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  background:
    radial-gradient(circle at center, rgba(0,255,178,.10), transparent 38%),
    rgba(0,0,0,.30);
  transition: opacity .32s ease, visibility .32s ease;
}

.access-granted-overlay.show {
  opacity: 1;
  visibility: visible;
}

.access-card {
  width: min(820px, 94vw);
  padding: clamp(26px, 5vw, 54px);
  border: 1px solid rgba(0,255,178,.48);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.76), rgba(0,18,12,.66)),
    radial-gradient(circle at 50% 0%, rgba(0,255,178,.12), transparent 45%);
  backdrop-filter: blur(16px) saturate(160%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04),
    0 24px 90px rgba(0,0,0,.80),
    0 0 80px rgba(0,255,178,.16);
  text-align: center;
  transform: translateY(16px) scale(.98);
  animation: accessCardIn .45s ease forwards;
}

.access-kicker {
  color: rgba(157,255,220,.82);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.access-title {
  color: #f4fffb;
  font-size: clamp(42px, 8vw, 92px);
  line-height: .9;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-shadow:
    0 0 18px rgba(0,255,178,.40),
    0 0 70px rgba(0,255,178,.18);
}

.access-welcome {
  margin-top: 18px;
  color: #9dffdc;
  font-size: clamp(20px, 3vw, 34px);
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.access-welcome span {
  color: #fff;
}

.access-mail {
  margin-top: 14px;
  color: rgba(255,255,255,.78);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

@keyframes accessCardIn {
  to { transform: translateY(0) scale(1); }
}

@keyframes sotfRearHoverV10 {
  0%, 100% { transform: translate(-50%, -50%) scale(1.16); opacity: .02; }
  50% { transform: translate(-50%, -52%) scale(1.20); opacity: .028; }
}

@media (max-width: 680px) {
  .sotf-ghost-logo {
    width: 178vw !important;
    opacity: .026 !important;
  }

  .access-title {
    letter-spacing: .03em;
  }
}


/* Kane biography polish */
.bio-panel p + p {
  margin-top: 16px;
}

.bio-panel {
  border-color: rgba(214, 170, 63, 0.34);
}


/* HMLA-269 unit background system */
body.hmla-269-profile {
  background:
    linear-gradient(135deg, rgba(7,18,37,.74), rgba(0,0,0,.48) 42%, rgba(100,18,22,.24)),
    url("assets/HMLA-269.png") center center / min(86vw, 1040px) no-repeat fixed,
    url("assets/background.jpg") center / cover no-repeat fixed !important;
}

body.hmla-269-profile::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at center, rgba(0,0,0,.04), rgba(0,0,0,.46) 70%),
    linear-gradient(135deg, rgba(179,32,37,.12), transparent 44%, rgba(214,170,63,.08));
}

body.hmla-269-profile .panel,
body.hmla-269-profile .record-card,
body.hmla-269-profile .citation-card {
  background-color: rgba(6, 14, 24, 0.035);
}

@media (max-width: 900px) {
  body.hmla-269-profile {
    background:
      linear-gradient(135deg, rgba(7,18,37,.80), rgba(0,0,0,.54) 42%, rgba(100,18,22,.28)),
      url("assets/HMLA-269.png") center 18vh / 122vw no-repeat scroll,
      url("assets/background.jpg") center / cover no-repeat scroll !important;
  }
}


/* Audio login refinement */
.access-mail {
  color: rgba(157,255,220,.70) !important;
  border-top: 1px solid rgba(0,255,178,.20);
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding-top: 12px;
}


/* Reliable audio-arm gate */
.audio-arm-gate {
  position: absolute;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  gap: 12px;
  align-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at center, rgba(0,255,178,.13), transparent 36%),
    rgba(0,0,0,.58);
  backdrop-filter: blur(10px) saturate(140%);
  transition: opacity .3s ease, visibility .3s ease;
}

.audio-arm-gate.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.audio-arm-button {
  border: 1px solid rgba(0,255,178,.62);
  border-radius: 18px;
  padding: 18px 24px;
  background:
    linear-gradient(135deg, rgba(0,255,178,.18), rgba(0,0,0,.72)),
    radial-gradient(circle at top, rgba(255,255,255,.10), transparent 46%);
  color: #f4fffb;
  box-shadow:
    0 0 40px rgba(0,255,178,.22),
    inset 0 0 24px rgba(0,255,178,.08);
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
}

.audio-arm-button:hover {
  transform: translateY(-1px);
  box-shadow:
    0 0 58px rgba(0,255,178,.32),
    inset 0 0 28px rgba(0,255,178,.12);
}

.audio-arm-note {
  color: rgba(221,255,243,.75);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
}

body.audio-locked .hacker-shell {
  filter: blur(1.2px) brightness(.72);
}

.access-granted-overlay.show {
  pointer-events: none;
}


/* Kane West profile image */
.profile-crest img[src*="kane-west-picture"] {
  width: min(300px, 88%);
  max-height: 300px;
  object-fit: contain;
  border-radius: 18px;
  background: rgba(0,0,0,.42);
  border: 1px solid rgba(214,170,63,.45);
  filter:
    drop-shadow(0 18px 30px rgba(0,0,0,.78))
    drop-shadow(0 0 24px rgba(255,255,255,.16));
}


/* Faint Marine hymn audio label */
.access-mail {
  color: rgba(240,207,119,.76) !important;
  border-top-color: rgba(214,170,63,.28) !important;
}


/* Company Grade Officers Kane West card image */
.featured-officer img[src*="kane-west-picture"] {
  object-fit: contain;
  background: rgba(0,0,0,.48);
  border-color: rgba(214,170,63,.58);
  filter:
    drop-shadow(0 12px 22px rgba(0,0,0,.72))
    drop-shadow(0 0 18px rgba(255,255,255,.14));
}


/* Marine Hymn v15 audio indicator */
.access-mail {
  color: rgba(240,207,119,.82) !important;
  border-top-color: rgba(214,170,63,.34) !important;
}


/* Uploaded Marine Band hymn background audio indicator */
.access-mail {
  color: rgba(240,207,119,.84) !important;
  border-top-color: rgba(214,170,63,.36) !important;
}


/* Marine Hymn audio fix v17 */
.access-mail {
  color: rgba(240,207,119,.88) !important;
  border-top-color: rgba(214,170,63,.38) !important;
}


/* Company Grade Officers Kane West card image fix */
.featured-officer img[src*="kane-west-picture"] {
  object-fit: contain;
  background: rgba(0,0,0,.48);
  border-color: rgba(214,170,63,.58);
  filter:
    drop-shadow(0 12px 22px rgba(0,0,0,.72))
    drop-shadow(0 0 18px rgba(255,255,255,.14));
}


/* Full hymn playthrough shell v20 */
body.shell-page {
  overflow: hidden;
  min-height: 100vh;
}

.site-frame {
  position: fixed;
  inset: 0;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  border: 0;
  opacity: 0;
  filter: blur(10px) brightness(.55);
  transition: opacity .7s ease, filter .7s ease;
  background: #000;
}

.site-frame.is-live,
body:not(.booting) .site-frame {
  opacity: 1;
  filter: none;
}

.music-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9000;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(214,170,63,.48);
  background:
    linear-gradient(135deg, rgba(0,0,0,.72), rgba(7,18,37,.62)),
    radial-gradient(circle at top, rgba(214,170,63,.18), transparent 45%);
  color: rgba(240,207,119,.95);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 12px 34px rgba(0,0,0,.45), 0 0 22px rgba(214,170,63,.12);
  backdrop-filter: blur(12px);
}

.music-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(240,207,119,.78);
}

body.booting .music-toggle {
  display: none;
}


/* Full hymn playthrough v20 */
.access-mail {
  color: rgba(240,207,119,.88) !important;
  border-top-color: rgba(214,170,63,.38) !important;
}


/* Kane West service-history refinement */
.kane-west-profile .profile-subline {
  color: rgba(240,207,119,.92);
}

.kane-west-profile .record-card h4 {
  letter-spacing: .13em;
}


/* Tactical operations boot screen v21 */
.boot-overlay.military-boot {
  z-index: 2147483647 !important;
  background:
    radial-gradient(circle at 20% 8%, rgba(86, 97, 59, .34), transparent 30%),
    radial-gradient(circle at 78% 12%, rgba(214, 170, 63, .15), transparent 34%),
    linear-gradient(135deg, rgba(5, 10, 6, .98), rgba(7,18,37,.96) 46%, rgba(0,0,0,.99)) !important;
  color: #f2ead2;
  overflow: hidden;
}

.boot-overlay.military-boot::before,
.boot-overlay.military-boot::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.boot-overlay.military-boot::before {
  background:
    linear-gradient(rgba(214,170,63,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,170,63,.06) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .56;
}

.boot-overlay.military-boot::after {
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.045) 0 1px, transparent 1px 5px),
    radial-gradient(circle at center, transparent 0 38%, rgba(0,0,0,.40) 84%);
  opacity: .28;
}

.mil-grid {
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0 42%, rgba(214,170,63,.12) 43%, transparent 44% 100%),
    linear-gradient(60deg, transparent 0 54%, rgba(86,97,59,.18) 55%, transparent 56% 100%);
  animation: milSweep 8s linear infinite;
  opacity: .65;
}

.mil-radar {
  position: absolute;
  right: -180px;
  top: -180px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  border: 1px solid rgba(214,170,63,.20);
  background:
    conic-gradient(from 0deg, rgba(214,170,63,.0), rgba(214,170,63,.18), rgba(214,170,63,.0) 22%),
    repeating-radial-gradient(circle, transparent 0 68px, rgba(214,170,63,.15) 69px, transparent 70px);
  opacity: .48;
  animation: radarSpin 6s linear infinite;
}

.mil-watermark {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: min(980px, 112vw);
  transform: translate(-50%, -50%);
  opacity: .035;
  filter:
    grayscale(1)
    contrast(1.25)
    brightness(1.55)
    drop-shadow(0 0 44px rgba(214,170,63,.35));
  pointer-events: none;
  mix-blend-mode: screen;
}

.mil-shell {
  position: relative;
  z-index: 10;
  width: min(1240px, 100%);
  border: 1px solid rgba(214,170,63,.44);
  border-radius: 26px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(7,18,37,.74), rgba(0,0,0,.72)),
    radial-gradient(circle at top left, rgba(86,97,59,.22), transparent 42%);
  backdrop-filter: blur(16px) saturate(140%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.045),
    0 24px 90px rgba(0,0,0,.80),
    0 0 80px rgba(214,170,63,.13);
}

.mil-topbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(214,170,63,.36);
  background:
    linear-gradient(90deg, rgba(86,97,59,.28), rgba(7,18,37,.42), rgba(179,32,37,.18));
  color: rgba(240,207,119,.95);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.mil-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) 340px;
  gap: 24px;
  padding: clamp(24px, 4vw, 44px);
}

.mil-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-bottom: 16px;
  border: 1px solid rgba(214,170,63,.50);
  border-radius: 999px;
  background: rgba(86,97,59,.20);
  color: var(--gold-soft);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.mil-kicker::before {
  content: "◆";
  color: var(--scarlet);
}

.boot-overlay.military-boot h1 {
  margin: 0 0 14px;
  font-size: clamp(48px, 8vw, 108px);
  line-height: .86;
  color: #fff;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-shadow:
    0 4px 0 rgba(100,18,22,.82),
    0 0 32px rgba(214,170,63,.24),
    0 18px 48px rgba(0,0,0,.72);
}

.mil-subtitle {
  max-width: 830px;
  color: rgba(232,224,204,.84);
  font-size: 17px;
}

.mil-terminal {
  position: relative;
  margin-top: 26px;
  min-height: 296px;
  padding: 18px;
  border: 1px solid rgba(214,170,63,.34);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.58), rgba(7,18,37,.62)),
    radial-gradient(circle at top left, rgba(86,97,59,.22), transparent 46%);
  box-shadow:
    inset 0 0 28px rgba(214,170,63,.055),
    0 0 24px rgba(0,0,0,.24);
  overflow: hidden;
}

.mil-terminal::before {
  content: "OPORD // SYSTEM LOG";
  position: absolute;
  right: 18px;
  top: 14px;
  color: rgba(214,170,63,.24);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}

.military-boot .boot-line {
  opacity: 0;
  transform: translateX(-8px);
  color: rgba(232,224,204,.92);
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 14px;
  letter-spacing: .03em;
  margin-bottom: 10px;
  text-shadow: 0 0 10px rgba(214,170,63,.12);
  transition: opacity .18s ease, transform .18s ease;
}

.military-boot .boot-line.visible {
  opacity: 1;
  transform: translateX(0);
}

.mil-progress-wrap {
  margin-top: 22px;
}

.mil-progress-label {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
  color: var(--gold-soft);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.mil-progress {
  height: 14px;
  overflow: hidden;
  border: 1px solid rgba(214,170,63,.42);
  border-radius: 999px;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 10px, transparent 10px 20px),
    rgba(0,0,0,.38);
}

.mil-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--olive), var(--gold-soft) 72%, var(--scarlet));
  box-shadow: 0 0 22px rgba(214,170,63,.32);
  transition: width .16s linear;
}

.mil-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 24px;
}

.mil-skip,
.mil-arm-button {
  border-color: rgba(214,170,63,.52) !important;
  background:
    linear-gradient(135deg, rgba(86,97,59,.32), rgba(0,0,0,.64)) !important;
  color: rgba(240,207,119,.95) !important;
}

.mil-side {
  display: grid;
  gap: 14px;
  align-content: start;
}

.mil-map {
  position: relative;
  min-height: 220px;
  border: 1px solid rgba(214,170,63,.34);
  border-radius: 22px;
  background:
    linear-gradient(rgba(214,170,63,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,170,63,.06) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(86,97,59,.28), rgba(0,0,0,.40));
  background-size: 24px 24px, 24px 24px, auto;
  overflow: hidden;
}

.map-crosshair {
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(214,170,63,.24);
  border-radius: 50%;
}

.map-crosshair::before,
.map-crosshair::after {
  content: "";
  position: absolute;
  background: rgba(214,170,63,.24);
}

.map-crosshair::before {
  width: 1px;
  height: 100%;
  left: 50%;
  top: 0;
}

.map-crosshair::after {
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
}

.map-point {
  position: absolute;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid rgba(214,170,63,.52);
  background: rgba(7,18,37,.72);
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .10em;
}

.point-one { left: 42%; top: 44%; }
.point-two { right: 18%; top: 24%; }
.point-three { left: 15%; bottom: 20%; }

.mil-status-card {
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(214,170,63,.28);
  background:
    linear-gradient(180deg, rgba(7,18,37,.58), rgba(0,0,0,.44)),
    radial-gradient(circle at top right, rgba(86,97,59,.16), transparent 42%);
}

.mil-status-card span {
  display: block;
  color: rgba(240,207,119,.86);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mil-status-card strong {
  display: block;
  margin: 6px 0 4px;
  color: #fff;
  font-size: 25px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mil-status-card small {
  color: rgba(232,224,204,.72);
  text-transform: uppercase;
  letter-spacing: .07em;
}

.mil-status-card.highlight {
  border-color: rgba(179,32,37,.48);
  background:
    linear-gradient(180deg, rgba(179,32,37,.22), rgba(0,0,0,.44));
}

.mil-audio-gate {
  background:
    radial-gradient(circle at center, rgba(214,170,63,.14), transparent 36%),
    rgba(0,0,0,.60) !important;
}

.access-granted-overlay .access-title {
  font-size: clamp(38px, 7vw, 78px);
}

@keyframes radarSpin {
  to { transform: rotate(360deg); }
}

@keyframes milSweep {
  from { transform: translateX(-10%) translateY(-5%); }
  to { transform: translateX(10%) translateY(5%); }
}

@media (max-width: 940px) {
  .mil-layout { grid-template-columns: 1fr; }
  .mil-actions { flex-direction: column; align-items: flex-start; }
  .mil-radar { opacity: .22; }
}

@media (max-width: 640px) {
  .mil-topbar { flex-direction: column; }
  .mil-terminal { min-height: 360px; }
  .mil-watermark { width: 160vw; opacity: .026; }
}


/* West rank timeline note */
.citation-rank-note {
  border-color: rgba(240,207,119,.38);
}

.citation-rank-note strong {
  color: var(--gold-soft);
}


/* Clickable chain of command dropdown fix v24 */
.site-header {
  overflow: visible;
}

.nav-dropdown {
  position: relative;
  z-index: 3000;
}

.nav-dropdown::after {
  content: "";
  position: absolute;
  left: -10px;
  right: -10px;
  top: 100%;
  height: 16px;
  pointer-events: auto;
}

.nav-dropdown .drop-toggle {
  cursor: pointer;
  user-select: none;
}

.drop-menu {
  top: 100% !important;
  z-index: 3500;
}

.nav-dropdown.open .drop-menu,
.nav-dropdown:hover .drop-menu,
.nav-dropdown:focus-within .drop-menu {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.drop-menu a {
  position: relative;
  z-index: 3600;
  cursor: pointer;
  pointer-events: auto;
}

.drop-menu a:first-child {
  color: var(--gold-soft);
  border-bottom: 1px solid rgba(214,170,63,.22);
  margin-bottom: 6px;
}

@media (max-width: 860px) {
  .nav-dropdown.open .drop-menu {
    display: block;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .nav-dropdown .drop-toggle {
    touch-action: manipulation;
  }
}


/* Expanded home page v26 */
.expanded-home-hero {
  min-height: calc(100vh - 82px);
  padding-top: clamp(70px, 9vw, 120px);
  padding-bottom: clamp(70px, 9vw, 120px);
}

.home-hero-panel {
  max-width: 1280px !important;
  padding: clamp(34px, 6vw, 84px) !important;
}

.home-hero-panel h1 {
  font-size: clamp(86px, 17vw, 190px);
  letter-spacing: .08em;
}

.hero-lead {
  max-width: 980px;
  font-size: clamp(20px, 2.2vw, 30px);
  line-height: 1.55;
  color: rgba(255,255,255,.92);
}

.home-expanded {
  padding-top: 20px;
}

.home-section {
  margin-top: 34px;
}

.home-section h2 {
  max-width: 1100px;
}

.home-section > p {
  max-width: 1100px;
  font-size: 19px;
}

.home-history-grid .card {
  min-height: 230px;
}

.home-stats {
  margin-top: 0;
}

.big-text {
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.55;
  color: rgba(255,255,255,.90) !important;
}

.deployment-feature {
  border-color: rgba(240,207,119,.46);
  background:
    linear-gradient(135deg, rgba(100,18,22,.12), rgba(6,14,24,.035)),
    rgba(6,14,24,.02);
}

.deployment-board {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 28px 0;
}

.deployment-card {
  padding: 20px;
  border: 1px solid rgba(214,170,63,.34);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(7,18,37,.08), rgba(0,0,0,.08));
  box-shadow: 0 18px 48px rgba(0,0,0,.22);
}

.deployment-card span {
  display: block;
  color: var(--gold-soft);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.deployment-card strong {
  display: block;
  color: #fff;
  font-size: 19px;
  line-height: 1.25;
}

.recruiting-home {
  border-color: rgba(179,32,37,.50);
  background:
    radial-gradient(circle at top right, rgba(179,32,37,.20), transparent 42%),
    linear-gradient(135deg, rgba(7,18,37,.04), rgba(0,0,0,.02));
}

.recruiting-rank {
  position: relative;
  z-index: 1;
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid rgba(214,170,63,.48);
  border-radius: 999px;
  color: var(--gold-soft);
  background: rgba(179,32,37,.18);
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.recruiting-columns {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-top: 28px;
}

.recruiting-columns article {
  padding: 24px;
  border-radius: 20px;
  border: 1px solid rgba(214,170,63,.28);
  background: rgba(0,0,0,.04);
}

.recruiting-punch {
  position: relative;
  z-index: 1;
  margin-top: 28px;
  padding: 24px;
  border-left: 5px solid var(--scarlet);
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(179,32,37,.18), rgba(214,170,63,.08));
}

.recruiting-punch strong {
  display: block;
  color: #fff;
  font-size: clamp(24px, 3vw, 40px);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 8px;
}

.recruiting-punch span {
  color: var(--muted);
  font-size: 19px;
}

.mega-btn {
  min-height: 58px;
  padding: 16px 28px;
  font-size: 15px;
}

@media (max-width: 1100px) {
  .deployment-board {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .deployment-board,
  .recruiting-columns {
    grid-template-columns: 1fr;
  }

  .home-hero-panel h1 {
    font-size: clamp(72px, 24vw, 130px);
  }
}


/* Field Corpsman redo v28 */
.corpsman-page .site-header {
  border-bottom-color: rgba(86,97,59,.44);
}

.corpsman-hero {
  border-color: rgba(240,207,119,.48);
  background:
    radial-gradient(circle at top right, rgba(86,97,59,.24), transparent 44%),
    radial-gradient(circle at bottom left, rgba(179,32,37,.12), transparent 36%),
    rgba(6,14,24,.02);
}

.corpsman-hero h2 {
  font-size: clamp(56px, 9vw, 118px);
}

.corpsman-stats {
  margin-top: 0;
}

.corpsman-role-grid .card {
  min-height: 220px;
}

.corpsman-rank-panel {
  border-color: rgba(214,170,63,.44);
}

.corpsman-rank-table th,
.corpsman-rank-table td {
  vertical-align: top;
}

.corpsman-rank-table td:nth-child(1),
.corpsman-rank-table td:nth-child(2) {
  color: var(--gold-soft);
  font-weight: 900;
  letter-spacing: .08em;
}

.corpsman-billet-panel .deployment-card small {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.68);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.corpsman-home-section {
  border-color: rgba(86,97,59,.48);
  background:
    radial-gradient(circle at top left, rgba(86,97,59,.20), transparent 38%),
    rgba(6,14,24,.02);
}


/* Recruiting MOS dropdown legibility v29 */
.select-box {
  width: 100%;
  min-height: 54px;
  padding: 14px 16px;
  border: 1px solid rgba(214, 170, 63, 0.58);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(7, 18, 37, 0.98), rgba(0, 0, 0, 0.96)) !important;
  color: #f8f1dc !important;
  font-weight: 800;
  letter-spacing: .04em;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 14px 36px rgba(0,0,0,.42);
  outline: none;
}

.select-box:focus {
  border-color: rgba(240, 207, 119, 0.95);
  box-shadow:
    0 0 0 3px rgba(214,170,63,.18),
    0 14px 36px rgba(0,0,0,.42);
}

.select-box option {
  background: #061224;
  color: #f8f1dc;
  font-weight: 700;
}


/* Secure terminal boot inspired by modern command terminal UI v30 */
.boot-overlay.secure-terminal-boot {
  z-index: 2147483647 !important;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 20% 12%, rgba(214,170,63,.16), transparent 30%),
    radial-gradient(circle at 76% 0%, rgba(86,97,59,.28), transparent 34%),
    linear-gradient(135deg, #030604 0%, #071225 48%, #000 100%) !important;
  color: #f3ecd8;
  overflow: hidden;
}

.secure-grid {
  position: absolute;
  inset: 0;
  opacity: .42;
  background:
    linear-gradient(rgba(240,207,119,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,207,119,.055) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}

.secure-scan {
  position: absolute;
  inset: -30%;
  opacity: .24;
  background:
    linear-gradient(115deg, transparent 0 40%, rgba(240,207,119,.14) 45%, transparent 50% 100%);
  animation: secureSweep 5.5s linear infinite;
  pointer-events: none;
}

.secure-watermark {
  position: absolute;
  width: min(1000px, 118vw);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: .035;
  filter: grayscale(1) contrast(1.35) brightness(1.4) drop-shadow(0 0 40px rgba(240,207,119,.24));
  mix-blend-mode: screen;
  pointer-events: none;
}

.secure-terminal-shell {
  position: relative;
  z-index: 10;
  width: min(1260px, 100%);
  border: 1px solid rgba(240,207,119,.36);
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(4,8,10,.84), rgba(0,0,0,.76)),
    radial-gradient(circle at top left, rgba(86,97,59,.20), transparent 44%);
  backdrop-filter: blur(18px) saturate(145%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035),
    0 28px 100px rgba(0,0,0,.84),
    0 0 80px rgba(240,207,119,.10);
}

.secure-terminal-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(240,207,119,.24);
  background:
    linear-gradient(90deg, rgba(86,97,59,.22), rgba(7,18,37,.44), rgba(179,32,37,.12));
  color: rgba(240,207,119,.96);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.secure-terminal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) 330px;
  gap: 24px;
  padding: clamp(24px, 4vw, 42px);
}

.secure-system-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  color: rgba(240,207,119,.92);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 900;
  font-size: 12px;
}

.secure-system-title strong {
  padding: 5px 8px;
  border: 1px solid rgba(240,207,119,.28);
  border-radius: 999px;
  color: #fff;
  background: rgba(240,207,119,.08);
}

.boot-overlay.secure-terminal-boot h1 {
  margin: 0 0 12px;
  font-size: clamp(44px, 8vw, 108px);
  line-height: .9;
  color: #fff;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-shadow: 0 0 28px rgba(240,207,119,.18), 0 16px 44px rgba(0,0,0,.72);
}

.secure-subtitle {
  max-width: 820px;
  color: rgba(232,224,204,.82);
  font-size: 16px;
}

.secure-terminal-window {
  margin-top: 24px;
  min-height: 315px;
  border: 1px solid rgba(240,207,119,.28);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.58), rgba(7,18,37,.64)),
    radial-gradient(circle at top left, rgba(86,97,59,.16), transparent 46%);
  box-shadow: inset 0 0 28px rgba(240,207,119,.045);
  overflow: hidden;
}

.terminal-window-bar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 14px;
  border-bottom: 1px solid rgba(240,207,119,.18);
  color: rgba(240,207,119,.80);
  background: rgba(255,255,255,.025);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.secure-terminal-window .boot-line {
  opacity: 0;
  transform: translateX(-8px);
  color: rgba(222,255,230,.92);
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 14px;
  letter-spacing: .035em;
  margin: 11px 14px;
  text-shadow: 0 0 10px rgba(240,207,119,.08);
  transition: opacity .18s ease, transform .18s ease;
}

.secure-terminal-window .boot-line.visible {
  opacity: 1;
  transform: translateX(0);
}

.secure-terminal-window .boot-line::before {
  content: "> ";
  color: var(--gold-soft);
}

.secure-progress-wrap {
  margin-top: 22px;
}

.secure-progress-label {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
  color: var(--gold-soft);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.secure-progress {
  height: 13px;
  border: 1px solid rgba(240,207,119,.34);
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.055);
}

.secure-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--olive), var(--gold-soft) 75%, var(--scarlet));
  box-shadow: 0 0 22px rgba(240,207,119,.30);
  transition: width .16s linear;
}

.secure-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 24px;
}

.secure-skip,
.secure-arm-button {
  border-color: rgba(240,207,119,.54) !important;
  background:
    linear-gradient(135deg, rgba(86,97,59,.30), rgba(0,0,0,.68)) !important;
  color: rgba(240,207,119,.98) !important;
}

.secure-terminal-side {
  display: grid;
  gap: 14px;
  align-content: start;
}

.secure-status-card,
.secure-grid-card {
  border: 1px solid rgba(240,207,119,.24);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(7,18,37,.54), rgba(0,0,0,.42)),
    radial-gradient(circle at top right, rgba(86,97,59,.14), transparent 40%);
  padding: 17px;
}

.secure-status-card span {
  display: block;
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.secure-status-card strong {
  display: block;
  margin: 6px 0 4px;
  color: #fff;
  font-size: 24px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.secure-status-card small {
  display: block;
  color: rgba(232,224,204,.70);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.secure-grid-card {
  position: relative;
  min-height: 210px;
  background:
    linear-gradient(rgba(240,207,119,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,207,119,.055) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(86,97,59,.18), rgba(0,0,0,.36));
  background-size: 24px 24px, 24px 24px, auto;
}

.secure-node {
  position: absolute;
  padding: 6px 9px;
  border: 1px solid rgba(240,207,119,.46);
  border-radius: 999px;
  background: rgba(0,0,0,.58);
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
}

.secure-node.n1 { left: 40%; top: 42%; }
.secure-node.n2 { right: 18%; top: 18%; }
.secure-node.n3 { left: 14%; bottom: 18%; }
.secure-node.n4 { right: 20%; bottom: 20%; }

.secure-audio-gate {
  background:
    radial-gradient(circle at center, rgba(240,207,119,.14), transparent 36%),
    rgba(0,0,0,.62) !important;
}

@keyframes secureSweep {
  from { transform: translateX(-24%); }
  to { transform: translateX(24%); }
}

@media (max-width: 940px) {
  .secure-terminal-layout { grid-template-columns: 1fr; }
  .secure-actions { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 640px) {
  .secure-terminal-top { flex-direction: column; }
  .secure-terminal-window { min-height: 360px; }
  .secure-watermark { width: 160vw; }
}


/* HARD OVERRIDE: SOTF Terminal Boot v31 */
body.booting {
  overflow: hidden !important;
}

.boot-overlay.vid-terminal-boot {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: grid !important;
  place-items: center !important;
  padding: 24px !important;
  overflow: hidden !important;
  color: #f4ecd7 !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(240,207,119,.18), transparent 28%),
    radial-gradient(circle at 84% 0%, rgba(86,97,59,.28), transparent 36%),
    linear-gradient(135deg, #010201 0%, #071225 48%, #000000 100%) !important;
}

.vid-terminal-bg {
  position: absolute;
  inset: 0;
  opacity: .45;
  background:
    linear-gradient(rgba(240,207,119,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,207,119,.05) 1px, transparent 1px);
  background-size: 38px 38px;
}

.vid-terminal-scanline {
  position: absolute;
  inset: 0;
  opacity: .22;
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.06) 0 1px, transparent 1px 5px),
    linear-gradient(115deg, transparent 0 42%, rgba(240,207,119,.18) 48%, transparent 54% 100%);
  animation: vidTerminalSweep 5.2s linear infinite;
  pointer-events: none;
}

.vid-terminal-watermark {
  position: absolute;
  width: min(1060px, 118vw);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: .04;
  filter: grayscale(1) contrast(1.35) brightness(1.55) drop-shadow(0 0 44px rgba(240,207,119,.28));
  mix-blend-mode: screen;
  pointer-events: none;
}

.vid-terminal-card {
  position: relative;
  z-index: 10;
  width: min(1260px, 100%);
  border: 1px solid rgba(240,207,119,.40);
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(4,8,10,.88), rgba(0,0,0,.80)),
    radial-gradient(circle at top left, rgba(86,97,59,.22), transparent 45%);
  backdrop-filter: blur(18px) saturate(150%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.045),
    0 28px 110px rgba(0,0,0,.86),
    0 0 88px rgba(240,207,119,.12);
}

.vid-terminal-header {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(240,207,119,.24);
  background:
    linear-gradient(90deg, rgba(86,97,59,.24), rgba(7,18,37,.44), rgba(179,32,37,.12));
  color: rgba(240,207,119,.96);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vid-terminal-header em {
  color: rgba(232,224,204,.72);
  font-style: normal;
}

.vid-red-dot,
.vid-yellow-dot,
.vid-green-dot {
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  margin-right: 7px;
}

.vid-red-dot { background: #b32025; }
.vid-yellow-dot { background: #d6aa3f; }
.vid-green-dot { background: #8b9a5b; }

.vid-terminal-body {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) 330px;
  gap: 24px;
  padding: clamp(24px, 4vw, 44px);
}

.vid-classification {
  display: inline-flex;
  padding: 8px 12px;
  margin-bottom: 16px;
  border: 1px solid rgba(240,207,119,.42);
  border-radius: 999px;
  color: var(--gold-soft);
  background: rgba(86,97,59,.18);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.boot-overlay.vid-terminal-boot h1 {
  margin: 0 0 12px !important;
  font-size: clamp(44px, 7vw, 98px) !important;
  line-height: .92 !important;
  color: #fff !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 30px rgba(240,207,119,.22), 0 18px 48px rgba(0,0,0,.78) !important;
}

.vid-terminal-left p {
  max-width: 780px;
  color: rgba(232,224,204,.82);
  font-size: 16px;
}

.vid-terminal-window {
  margin-top: 24px;
  min-height: 305px;
  border: 1px solid rgba(240,207,119,.30);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.62), rgba(7,18,37,.66)),
    radial-gradient(circle at top left, rgba(86,97,59,.16), transparent 46%);
  box-shadow: inset 0 0 28px rgba(240,207,119,.05);
  overflow: hidden;
}

.vid-terminal-window .boot-line {
  opacity: 0;
  transform: translateX(-8px);
  color: rgba(226,255,231,.92);
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 14px;
  letter-spacing: .03em;
  margin: 11px 14px;
  text-shadow: 0 0 10px rgba(240,207,119,.10);
  transition: opacity .18s ease, transform .18s ease;
}

.vid-terminal-window .boot-line.visible {
  opacity: 1;
  transform: translateX(0);
}

.vid-terminal-window .boot-line::before {
  content: "> ";
  color: var(--gold-soft);
}

.vid-progress-wrap {
  margin-top: 22px;
}

.vid-progress-label {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
  color: var(--gold-soft);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.vid-progress {
  height: 13px;
  border: 1px solid rgba(240,207,119,.36);
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.055);
}

.vid-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--olive), var(--gold-soft) 75%, var(--scarlet));
  box-shadow: 0 0 22px rgba(240,207,119,.30);
  transition: width .16s linear;
}

.vid-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 24px;
}

.vid-actions span {
  color: rgba(232,224,204,.68);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.vid-skip,
.vid-arm-button {
  border-color: rgba(240,207,119,.56) !important;
  background:
    linear-gradient(135deg, rgba(86,97,59,.32), rgba(0,0,0,.70)) !important;
  color: rgba(240,207,119,.98) !important;
}

.vid-terminal-right {
  display: grid;
  gap: 14px;
  align-content: start;
}

.vid-side-card,
.vid-data-block {
  border: 1px solid rgba(240,207,119,.24);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(7,18,37,.56), rgba(0,0,0,.44)),
    radial-gradient(circle at top right, rgba(86,97,59,.16), transparent 42%);
  padding: 17px;
}

.vid-side-card span {
  display: block;
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vid-side-card strong {
  display: block;
  margin: 6px 0 4px;
  color: #fff;
  font-size: 24px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vid-side-card small {
  display: block;
  color: rgba(232,224,204,.72);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.vid-data-block {
  display: grid;
  gap: 9px;
  color: rgba(226,255,231,.72);
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 12px;
}

.vid-audio-gate {
  background:
    radial-gradient(circle at center, rgba(240,207,119,.14), transparent 36%),
    rgba(0,0,0,.64) !important;
}

@keyframes vidTerminalSweep {
  from { transform: translateX(-22%); }
  to { transform: translateX(22%); }
}

@media (max-width: 940px) {
  .vid-terminal-body { grid-template-columns: 1fr; }
  .vid-actions { flex-direction: column; align-items: flex-start; }
  .vid-terminal-header { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .vid-terminal-window { min-height: 355px; }
  .vid-terminal-watermark { width: 160vw; }
}


/* HARD OVERRIDE: 25thVID-style official platform loader v32 */
body.booting {
  overflow: hidden !important;
}

.boot-overlay.vid-loader-boot {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: grid !important;
  place-items: center !important;
  padding: 32px !important;
  overflow: hidden !important;
  color: #f4ecd7 !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(214,170,63,.14), transparent 34%),
    radial-gradient(circle at 50% 100%, rgba(179,32,37,.14), transparent 42%),
    linear-gradient(180deg, #050a0e 0%, #030506 58%, #000 100%) !important;
}

.vid-loader-grid {
  position: absolute;
  inset: 0;
  opacity: .20;
  background:
    linear-gradient(rgba(214,170,63,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,170,63,.055) 1px, transparent 1px);
  background-size: 54px 54px;
}

.vid-loader-noise {
  position: absolute;
  inset: 0;
  opacity: .13;
  pointer-events: none;
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.055) 0 1px, transparent 1px 5px);
}

.vid-loader-center {
  position: relative;
  z-index: 10;
  width: min(900px, 94vw);
  text-align: center;
  display: grid;
  justify-items: center;
}

.vid-loader-seal {
  position: relative;
  width: clamp(138px, 18vw, 230px);
  height: clamp(138px, 18vw, 230px);
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  border-radius: 50%;
  border: 1px solid rgba(214,170,63,.40);
  background:
    radial-gradient(circle at center, rgba(214,170,63,.14), rgba(0,0,0,.42) 66%, transparent 68%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035),
    0 0 58px rgba(214,170,63,.18),
    inset 0 0 42px rgba(214,170,63,.08);
}

.vid-loader-seal::before,
.vid-loader-seal::after {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  border: 1px solid rgba(214,170,63,.20);
}

.vid-loader-seal::after {
  inset: -24px;
  border-color: rgba(179,32,37,.18);
}

.vid-loader-seal img {
  width: 78%;
  height: 78%;
  object-fit: contain;
  opacity: .86;
  filter: grayscale(.1) contrast(1.18) brightness(1.18) drop-shadow(0 0 22px rgba(214,170,63,.18));
}

.vid-loader-title span {
  display: block;
  color: rgba(240,207,119,.92);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .28em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.vid-loader-title h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(48px, 10vw, 118px) !important;
  line-height: .88 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 34px rgba(214,170,63,.16), 0 18px 48px rgba(0,0,0,.72) !important;
}

.vid-loader-title p {
  margin: 14px 0 0;
  color: rgba(232,224,204,.82);
  font-size: clamp(17px, 2vw, 24px);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.vid-loader-motto {
  margin-top: 18px;
  padding: 10px 14px;
  border-top: 1px solid rgba(214,170,63,.26);
  border-bottom: 1px solid rgba(214,170,63,.26);
  color: rgba(240,207,119,.82);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vid-loader-status {
  width: min(720px, 100%);
  min-height: 170px;
  margin-top: 26px;
  padding: 18px 20px;
  border: 1px solid rgba(214,170,63,.24);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.44), rgba(7,18,37,.40));
  box-shadow: inset 0 0 28px rgba(214,170,63,.035);
  text-align: left;
}

.vid-loader-status .boot-line {
  opacity: 0;
  transform: translateY(4px);
  color: rgba(232,224,204,.84);
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 13px;
  letter-spacing: .04em;
  margin-bottom: 9px;
  transition: opacity .2s ease, transform .2s ease;
}

.vid-loader-status .boot-line.visible {
  opacity: 1;
  transform: translateY(0);
}

.vid-loader-status .boot-line::before {
  content: ">";
  margin-right: 8px;
  color: var(--gold-soft);
}

.vid-loader-progress-wrap {
  width: min(720px, 100%);
  margin-top: 20px;
}

.vid-loader-progress {
  height: 11px;
  border: 1px solid rgba(214,170,63,.34);
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.05);
}

.vid-loader-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--scarlet), var(--gold-soft) 70%, #fff3b0);
  box-shadow: 0 0 22px rgba(214,170,63,.32);
  transition: width .16s linear;
}

.vid-loader-percent {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 8px;
  color: rgba(232,224,204,.70);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vid-loader-percent strong {
  color: var(--gold-soft);
}

.vid-loader-skip {
  margin-top: 20px;
  border-color: rgba(214,170,63,.42) !important;
  color: rgba(240,207,119,.94) !important;
  background:
    linear-gradient(135deg, rgba(7,18,37,.62), rgba(0,0,0,.72)) !important;
}

.vid-loader-footer {
  position: absolute;
  z-index: 10;
  left: 32px;
  right: 32px;
  bottom: 24px;
  display: flex;
  justify-content: center;
  gap: clamp(18px, 4vw, 60px);
  flex-wrap: wrap;
  color: rgba(232,224,204,.48);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.boot-overlay.vid-loader-boot.is-closing {
  opacity: 0;
  transform: scale(1.012);
  filter: blur(10px);
  transition: opacity .7s ease, transform .7s ease, filter .7s ease;
}

@media (max-width: 700px) {
  .vid-loader-status {
    min-height: 220px;
  }

  .vid-loader-title h1 {
    letter-spacing: .05em !important;
  }

  .vid-loader-footer {
    display: none;
  }
}


/* Chain of command record cross-site sync v33 */
.profile-card.featured-officer img[src*="kane-west-picture"] {
  object-fit: contain;
  background: rgba(0,0,0,.48);
  border-color: rgba(214,170,63,.58);
  filter:
    drop-shadow(0 12px 22px rgba(0,0,0,.72))
    drop-shadow(0 0 18px rgba(255,255,255,.14));
}

.command-profile-sync-note {
  color: var(--gold-soft);
}


/* MOS Directory and detail pages v34 */
.mos-hero,
.mos-detail-hero {
  border-color: rgba(240,207,119,.46);
  background:
    radial-gradient(circle at top right, rgba(86,97,59,.22), transparent 42%),
    radial-gradient(circle at bottom left, rgba(179,32,37,.12), transparent 38%),
    rgba(6,14,24,.02);
}

.mos-hero h2,
.mos-detail-hero h2 {
  font-size: clamp(54px, 8vw, 112px);
}

.mos-jump-box {
  position: relative;
  z-index: 2;
  margin-top: 26px;
  padding: 20px;
  border: 1px solid rgba(214,170,63,.32);
  border-radius: 18px;
  background: rgba(0,0,0,.08);
}

.mos-jump-box h3 {
  margin-bottom: 12px;
}

.mos-category {
  margin-top: 30px;
}

.mos-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.mos-card {
  display: grid;
  gap: 7px;
  min-height: 145px;
  padding: 18px;
  border: 1px solid rgba(214,170,63,.25);
  border-radius: 18px;
  text-decoration: none;
  background:
    linear-gradient(135deg, rgba(7,18,37,.10), rgba(0,0,0,.06)),
    radial-gradient(circle at top right, rgba(214,170,63,.08), transparent 46%);
  box-shadow: 0 16px 42px rgba(0,0,0,.24);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.mos-card:hover {
  transform: translateY(-2px);
  border-color: rgba(240,207,119,.70);
  background:
    linear-gradient(135deg, rgba(179,32,37,.16), rgba(7,18,37,.08)),
    radial-gradient(circle at top right, rgba(214,170,63,.14), transparent 46%);
}

.mos-card span {
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mos-card strong {
  color: #fff;
  font-size: 19px;
  line-height: 1.18;
}

.mos-card small {
  color: rgba(232,224,204,.68);
  line-height: 1.35;
}

.mos-facts .deployment-card strong {
  font-size: 17px;
}

.mos-home-section {
  border-color: rgba(214,170,63,.42);
  background:
    radial-gradient(circle at top left, rgba(214,170,63,.14), transparent 38%),
    rgba(6,14,24,.02);
}

.select-box optgroup {
  background: #061224;
  color: #d6aa3f;
  font-weight: 900;
}

.select-box option {
  background: #061224;
  color: #f8f1dc;
}


/* Expanded MOS profile detail 3/5 */
.mos-profile-deep {
  border-color: rgba(214,170,63,.38);
}

.mos-detail-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.mos-info-block {
  padding: 22px;
  border: 1px solid rgba(214,170,63,.24);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(7,18,37,.08), rgba(0,0,0,.06));
}

.mos-info-block h4 {
  margin: 0 0 10px;
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
}

.mos-info-block p {
  color: rgba(232,224,204,.82);
  line-height: 1.65;
}

.mos-expanded-grid .card {
  min-height: 240px;
}

.numbered-list {
  list-style: decimal;
  padding-left: 24px;
}

.mos-related {
  border-color: rgba(86,97,59,.42);
}

@media (max-width: 820px) {
  .mos-detail-grid {
    grid-template-columns: 1fr;
  }
}


/* public-history aligned MOS and green-side corpsman expansion v36 */
.mos-detail-hero .big-text {
  max-width: 1120px;
}

.mos-info-block strong,
.green-side-real-panel strong {
  color: var(--gold-soft);
}

.mos-expanded-grid .card > p {
  color: rgba(232,224,204,.78);
  margin-bottom: 14px;
}

.green-side-real-panel,
.green-side-note {
  border-color: rgba(86,97,59,.46);
  background:
    radial-gradient(circle at top left, rgba(86,97,59,.18), transparent 38%),
    rgba(6,14,24,.02);
}

.green-side-real-panel .deployment-card small,
.green-side-note .mos-card small {
  display: block;
  margin-top: 7px;
  color: rgba(232,224,204,.68);
  letter-spacing: .04em;
}

.heritage-note {
  margin-top: 18px;
  padding: 18px;
  border-left: 4px solid var(--gold-soft);
  border-radius: 14px;
  background: rgba(214,170,63,.08);
  color: rgba(232,224,204,.86);
}

/* Ryder Jay chain of command / Second Recon SARC background v40 */
body.second-recon-profile {
  background:
    linear-gradient(135deg, rgba(7,18,37,.78), rgba(0,0,0,.54) 42%, rgba(100,18,22,.24)),
    url("assets/ryder-jay-2nd-force-recon.jpg") center center / min(78vw, 940px) no-repeat fixed,
    url("assets/background.jpg") center / cover no-repeat fixed !important;
}

body.second-recon-profile::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at center, rgba(0,0,0,.06), rgba(0,0,0,.54) 72%),
    linear-gradient(135deg, rgba(179,32,37,.12), transparent 44%, rgba(214,170,63,.10));
}

body.second-recon-profile .panel,
body.second-recon-profile .record-card,
body.second-recon-profile .citation-card {
  background-color: rgba(6, 14, 24, 0.05);
}

.ryder-jay-profile .profile-crest {
  background:
    radial-gradient(circle at center, rgba(214,170,63,.18), rgba(179,32,37,.10) 42%, rgba(0,0,0,.18)),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.04));
}

.ryder-jay-profile .profile-crest::after {
  content: "STALKER SARC";
}

.ryder-jay-profile .profile-crest img[src*="ryder-jay-picture"] {
  width: min(320px, 92%);
  height: min(260px, 72vw);
  max-height: 280px;
  object-fit: cover;
  border-radius: 18px;
  background: rgba(0,0,0,.42);
  border: 1px solid rgba(214,170,63,.50);
  filter:
    drop-shadow(0 18px 30px rgba(0,0,0,.78))
    drop-shadow(0 0 24px rgba(255,255,255,.12));
}

.featured-officer img[src*="ryder-jay-picture"] {
  object-fit: cover;
  background: rgba(0,0,0,.48);
  border-color: rgba(214,170,63,.58);
  filter:
    drop-shadow(0 12px 22px rgba(0,0,0,.72))
    drop-shadow(0 0 18px rgba(255,255,255,.14));
}

.ryder-jay-profile .profile-subline {
  color: rgba(240,207,119,.92);
}

.ryder-jay-profile .record-card h4 {
  letter-spacing: .13em;
}

.multi-column-list {
  columns: 2;
  column-gap: 28px;
}

.multi-column-list li {
  break-inside: avoid;
}

.qualification-wall .medal-tile img[src*="ryder-jay-sarc"] {
  max-height: 260px;
}

.ryder-jay-profile .medal-tile img[src*="ryder-jay-purple-heart"] {
  max-height: 300px;
}

@media (max-width: 900px) {
  body.second-recon-profile {
    background:
      linear-gradient(135deg, rgba(7,18,37,.82), rgba(0,0,0,.60) 42%, rgba(100,18,22,.28)),
      url("assets/ryder-jay-2nd-force-recon.jpg") center 18vh / 122vw no-repeat scroll,
      url("assets/background.jpg") center / cover no-repeat scroll !important;
  }
}

@media (max-width: 560px) {
  .multi-column-list {
    columns: 1;
  }
}

/* Draft 24: chain of command pages use only the member's unit insignia as the page background. */
body.command-profile-page::before {
  background: none !important;
  mask-image: none !important;
}

body.hmla-269-profile {
  background-color: #061224 !important;
  background-image: url("assets/HMLA-269.png") !important;
  background-position: center center !important;
  background-size: min(86vw, 1040px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

body.second-recon-profile {
  background-color: #061224 !important;
  background-image: url("assets/ryder-jay-2nd-force-recon.jpg") !important;
  background-position: center center !important;
  background-size: min(78vw, 940px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

body.hmla-269-profile::after,
body.second-recon-profile::after,
body.unit-35-profile::after,
body.unit-35-profile::after {
  background: none !important;
}

@media (max-width: 900px) {
  body.hmla-269-profile,
  body.second-recon-profile,
  body.unit-35-profile,
  body.unit-35-profile {
    background-position: center 18vh !important;
    background-size: 122vw auto !important;
    background-attachment: scroll !important;
  }
}

/* Draft 25: chain of command text boxes changed to 99% transparent smoked glass. */
body.command-profile-page .panel,
body.command-profile-page .record-card,
body.command-profile-page .citation-card,
body.command-profile-page .citation-header,
body.command-profile-page .medal-tile {
  background: rgba(6, 14, 24, 0.01) !important;
  background-color: rgba(6, 14, 24, 0.01) !important;
  -webkit-backdrop-filter: blur(18px) brightness(0.68) saturate(140%) !important;
  backdrop-filter: blur(18px) brightness(0.68) saturate(140%) !important;
  border-color: rgba(214, 170, 63, 0.28) !important;
  box-shadow:
    0 18px 56px rgba(0, 0, 0, 0.24),
    inset 0 0 34px rgba(0, 0, 0, 0.045),
    inset 0 0 0 1px rgba(255, 255, 255, 0.025) !important;
}

body.command-profile-page .profile-crest {
  background: rgba(6, 14, 24, 0.01) !important;
  -webkit-backdrop-filter: blur(18px) brightness(0.68) saturate(140%) !important;
  backdrop-filter: blur(18px) brightness(0.68) saturate(140%) !important;
  border-color: rgba(214, 170, 63, 0.28) !important;
}

body.command-profile-page .panel::before,
body.command-profile-page .card::before {
  background: none !important;
  opacity: 0 !important;
}

body.command-profile-page .record-card p,
body.command-profile-page .record-card li,
body.command-profile-page .citation-body p,
body.command-profile-page .bio-panel p {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.86);
}


/* Draft 27: Unit tab / unit history pages */
.unit-page main {
  padding-top: 48px;
}
.unit-hero-panel {
  display: grid;
  grid-template-columns: minmax(190px, 280px) 1fr;
  gap: clamp(24px, 4vw, 54px);
  align-items: center;
  overflow: hidden;
}
.unit-hero-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 10%, rgba(214,170,63,.18), transparent 34%), linear-gradient(135deg, rgba(179,32,37,.13), transparent 42%);
  pointer-events: none;
}
.unit-hero-panel > * { position: relative; z-index: 1; }
.unit-hero-mark {
  min-height: 220px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(214,170,63,.35);
  border-radius: 28px;
  background: rgba(6,14,24,.42);
  box-shadow: inset 0 0 44px rgba(0,0,0,.38), 0 18px 56px rgba(0,0,0,.28);
  overflow: hidden;
}
.unit-hero-mark img {
  width: min(92%, 240px);
  max-height: 240px;
  object-fit: contain;
  filter: drop-shadow(0 14px 24px rgba(0,0,0,.5));
}
.unit-monogram,
.unit-monogram-large {
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 2px solid rgba(214,170,63,.7);
  background: radial-gradient(circle, rgba(179,32,37,.95) 0 46%, rgba(6,14,24,.92) 47% 100%);
  color: #fff;
  font-family: var(--display-font, Impact, sans-serif);
  letter-spacing: .08em;
  text-shadow: 0 3px 12px rgba(0,0,0,.76);
}
.unit-monogram { width: 96px; height: 96px; font-size: 28px; }
.unit-monogram-large { width: 210px; height: 210px; font-size: 58px; }
.unit-fact-row {
  margin-top: 12px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  color: var(--muted);
}
.unit-fact-row span {
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
}
.unit-fact-row strong { color: #fff; }
.unit-index-grid,
.unit-profile-grid,
.pipeline-grid,
.source-link-grid {
  display: grid;
  gap: 18px;
}
.unit-index-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 24px;
}
.unit-index-card,
.unit-profile-card,
.pipeline-grid article,
.unit-timeline article,
.unit-empty-roster,
.source-link-grid a {
  border: 1px solid rgba(214,170,63,.24);
  border-radius: 22px;
  background: rgba(6,14,24,.58);
  box-shadow: 0 16px 42px rgba(0,0,0,.24);
}
.unit-index-card {
  display: grid;
  gap: 12px;
  text-decoration: none;
  color: var(--muted);
  padding: 22px;
  min-height: 310px;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.unit-index-card:hover {
  transform: translateY(-4px);
  border-color: rgba(214,170,63,.65);
  background: rgba(179,32,37,.18);
}
.unit-card-mark {
  min-height: 128px;
  display: grid;
  place-items: center;
}
.unit-card-mark img {
  max-width: 132px;
  max-height: 132px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.48));
}
.unit-index-card span,
.unit-profile-card a,
.source-link-grid a {
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
}
.unit-index-card strong {
  color: #fff;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.05;
}
.unit-index-card p,
.pipeline-grid article p,
.unit-timeline article p,
.unit-profile-card p,
.unit-empty-roster p { color: var(--muted); line-height: 1.65; }
.unit-timeline {
  display: grid;
  gap: 16px;
}
.unit-timeline article {
  padding: 18px 20px;
  border-left: 4px solid rgba(214,170,63,.62);
}
.unit-timeline article strong {
  display: block;
  color: var(--gold-soft);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.mos-pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.mos-pill {
  display: inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(214,170,63,.35);
  color: #fff;
  text-decoration: none;
  background: rgba(179,32,37,.14);
  transition: transform .18s ease, border-color .18s ease;
}
.mos-pill:hover {
  transform: translateY(-2px);
  border-color: rgba(214,170,63,.72);
}
.pipeline-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pipeline-grid article { padding: 20px; }
.pipeline-grid article h4 {
  color: #fff;
  margin: 0 0 8px;
  letter-spacing: .04em;
}
.unit-profile-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.unit-profile-card {
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px;
}
.unit-profile-card img {
  width: 108px;
  height: 108px;
  object-fit: cover;
  border-radius: 20px;
  border: 1px solid rgba(214,170,63,.4);
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
}
.unit-profile-card h4 {
  color: #fff;
  margin: 0 0 6px;
  font-size: 20px;
}
.unit-profile-card a {
  text-decoration: none;
}
.unit-empty-roster { padding: 22px; }
.unit-empty-roster strong { color: #fff; }
.source-link-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.source-link-grid a {
  display: block;
  text-decoration: none;
  padding: 16px 18px;
  text-transform: none;
  letter-spacing: .03em;
}
.source-link-grid a:hover {
  border-color: rgba(214,170,63,.62);
  background: rgba(179,32,37,.14);
}
@media (max-width: 1100px) {
  .unit-index-grid,
  .pipeline-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .unit-hero-panel,
  .unit-profile-card { grid-template-columns: 1fr; }
  .unit-index-grid,
  .pipeline-grid,
  .unit-profile-grid,
  .source-link-grid { grid-template-columns: 1fr; }
  .unit-hero-mark { min-height: 170px; }
  .unit-monogram-large { width: 150px; height: 150px; font-size: 42px; }
}

/* Draft 28: SOTF MISFIT secure boot redesign inspired by a hardened command-node loader */
.boot-overlay.sotf-secure-boot {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(18px, 3vw, 42px) !important;
  overflow: hidden !important;
  color: #eaf2df !important;
  background:
    radial-gradient(circle at 18% 16%, rgba(57, 255, 20, .10), transparent 24%),
    radial-gradient(circle at 82% 82%, rgba(179, 32, 37, .16), transparent 34%),
    linear-gradient(135deg, #050808 0%, #070b0d 36%, #000 100%) !important;
  font-family: Consolas, Monaco, "Courier New", monospace !important;
}

.sotf-secure-boot .secure-boot-grid,
.sotf-secure-boot .secure-boot-scanlines,
.sotf-secure-boot .secure-boot-radar,
.sotf-secure-boot .secure-boot-vignette {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.sotf-secure-boot .secure-boot-grid {
  opacity: .18;
  background:
    linear-gradient(rgba(57,255,20,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(57,255,20,.06) 1px, transparent 1px),
    linear-gradient(rgba(214,170,63,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(214,170,63,.035) 1px, transparent 1px);
  background-size: 42px 42px, 42px 42px, 168px 168px, 168px 168px;
  transform: perspective(900px) rotateX(58deg) translateY(18vh) scale(1.25);
  transform-origin: bottom center;
}

.sotf-secure-boot .secure-boot-scanlines {
  opacity: .20;
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,.055) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, transparent 0 96px, rgba(57,255,20,.035) 96px 97px, transparent 97px 192px);
  mix-blend-mode: screen;
}

.sotf-secure-boot .secure-boot-radar {
  width: 86vmin;
  height: 86vmin;
  left: 50%;
  top: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  opacity: .22;
  background:
    conic-gradient(from 0deg, rgba(57,255,20,.0), rgba(57,255,20,.14), rgba(57,255,20,.0) 28%),
    radial-gradient(circle, transparent 0 27%, rgba(57,255,20,.08) 28% 28.4%, transparent 29% 47%, rgba(57,255,20,.07) 48% 48.4%, transparent 49% 67%, rgba(57,255,20,.06) 68% 68.4%, transparent 69%);
  animation: secureRadarSweep 7.5s linear infinite;
}

.sotf-secure-boot .secure-boot-vignette {
  background:
    radial-gradient(circle at center, transparent 0 46%, rgba(0,0,0,.38) 72%, rgba(0,0,0,.84) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.72));
}

@keyframes secureRadarSweep {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

.sotf-secure-boot .secure-boot-shell {
  position: relative;
  z-index: 20;
  width: min(1280px, 96vw);
  border: 1px solid rgba(57,255,20,.28);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(2,8,8,.86), rgba(0,0,0,.76)),
    radial-gradient(circle at top left, rgba(57,255,20,.12), transparent 38%);
  box-shadow:
    0 0 0 1px rgba(214,170,63,.12),
    0 0 64px rgba(57,255,20,.10),
    0 28px 90px rgba(0,0,0,.72),
    inset 0 0 42px rgba(57,255,20,.045);
}

.sotf-secure-boot .secure-boot-shell::before,
.sotf-secure-boot .secure-boot-shell::after {
  content: "";
  position: absolute;
  width: 74px;
  height: 74px;
  pointer-events: none;
}

.sotf-secure-boot .secure-boot-shell::before {
  left: -1px;
  top: -1px;
  border-left: 3px solid rgba(57,255,20,.72);
  border-top: 3px solid rgba(57,255,20,.72);
}

.sotf-secure-boot .secure-boot-shell::after {
  right: -1px;
  bottom: -1px;
  border-right: 3px solid rgba(214,170,63,.72);
  border-bottom: 3px solid rgba(214,170,63,.72);
}

.sotf-secure-boot .secure-boot-topbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  padding: 12px clamp(14px, 2vw, 24px);
  border-bottom: 1px solid rgba(57,255,20,.22);
  background: rgba(0,0,0,.48);
  color: rgba(234,242,223,.76);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.sotf-secure-boot .secure-boot-topbar strong {
  color: rgba(57,255,20,.92);
  text-shadow: 0 0 14px rgba(57,255,20,.32);
}

.sotf-secure-boot .secure-boot-topbar span:last-child {
  text-align: right;
}

.sotf-secure-boot .secure-boot-layout {
  display: grid;
  grid-template-columns: minmax(280px, .86fr) minmax(420px, 1.35fr);
  min-height: min(670px, 76vh);
}

.sotf-secure-boot .secure-boot-identity {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  padding: clamp(24px, 5vw, 54px);
  border-right: 1px solid rgba(57,255,20,.20);
  text-align: center;
  background:
    radial-gradient(circle at center, rgba(214,170,63,.08), transparent 54%),
    linear-gradient(180deg, rgba(179,32,37,.08), transparent);
}

.sotf-secure-boot .secure-boot-logo {
  position: relative;
  width: clamp(185px, 25vw, 330px);
  height: clamp(185px, 25vw, 330px);
  display: grid;
  place-items: center;
  margin-bottom: 22px;
}

.sotf-secure-boot .secure-boot-logo::before {
  content: "";
  position: absolute;
  inset: 8%;
  border: 1px solid rgba(57,255,20,.28);
  border-radius: 50%;
  box-shadow: 0 0 34px rgba(57,255,20,.12), inset 0 0 34px rgba(57,255,20,.08);
}

.sotf-secure-boot .secure-boot-logo::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 180deg, transparent, rgba(57,255,20,.12), transparent 28%);
  animation: secureRadarSweep 6s linear infinite;
}

.sotf-secure-boot .secure-boot-logo img {
  position: relative;
  z-index: 1;
  width: 88%;
  height: 88%;
  object-fit: contain;
  object-position: center;
  opacity: .92;
  filter: grayscale(.08) contrast(1.22) brightness(1.16) drop-shadow(0 0 24px rgba(255,255,255,.20));
}

.sotf-secure-boot .secure-boot-unit {
  color: rgba(57,255,20,.88);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .20em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.sotf-secure-boot h1 {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Trebuchet MS", Arial, sans-serif !important;
  font-size: clamp(40px, 7vw, 94px) !important;
  line-height: .88 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 26px rgba(57,255,20,.14), 0 14px 42px rgba(0,0,0,.8) !important;
}

.sotf-secure-boot .secure-boot-identity p {
  margin-top: 14px;
  color: rgba(232,224,204,.78);
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sotf-secure-boot .secure-boot-readouts {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 30px;
}

.sotf-secure-boot .secure-boot-readouts div,
.sotf-secure-boot .secure-boot-diagnostics div {
  padding: 12px 10px;
  border: 1px solid rgba(57,255,20,.20);
  background: rgba(0,0,0,.36);
}

.sotf-secure-boot .secure-boot-readouts span,
.sotf-secure-boot .secure-boot-diagnostics span {
  display: block;
  color: rgba(232,224,204,.52);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.sotf-secure-boot .secure-boot-readouts strong,
.sotf-secure-boot .secure-boot-diagnostics strong {
  display: block;
  margin-top: 5px;
  color: rgba(57,255,20,.90);
  font-size: 12px;
  letter-spacing: .08em;
}

.sotf-secure-boot .secure-boot-terminal {
  display: grid;
  align-content: center;
  padding: clamp(20px, 4vw, 50px);
}

.sotf-secure-boot .secure-terminal-header {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  border: 1px solid rgba(57,255,20,.24);
  border-bottom: 0;
  background: rgba(0,0,0,.56);
}

.sotf-secure-boot .secure-terminal-header span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(57,255,20,.34);
  background: rgba(57,255,20,.16);
}

.sotf-secure-boot .secure-terminal-header strong {
  margin-left: 10px;
  color: rgba(232,224,204,.68);
  font-size: 11px;
  letter-spacing: .16em;
}

.sotf-secure-boot .secure-boot-status {
  min-height: 292px;
  padding: 18px clamp(14px, 2vw, 24px);
  border: 1px solid rgba(57,255,20,.24);
  background:
    linear-gradient(180deg, rgba(0,0,0,.62), rgba(1,14,11,.54)),
    repeating-linear-gradient(to bottom, rgba(57,255,20,.035) 0 1px, transparent 1px 12px);
  box-shadow: inset 0 0 42px rgba(57,255,20,.055);
}

.sotf-secure-boot .secure-boot-status .boot-line {
  opacity: 0;
  transform: translateX(-5px);
  margin-bottom: 9px;
  color: rgba(214,255,205,.86);
  font-size: clamp(11px, 1.18vw, 14px);
  line-height: 1.4;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: opacity .18s ease, transform .18s ease;
  text-shadow: 0 0 12px rgba(57,255,20,.14);
}

.sotf-secure-boot .secure-boot-status .boot-line.visible {
  opacity: 1;
  transform: translateX(0);
}

.sotf-secure-boot .secure-boot-status .boot-line::before {
  content: ">";
  margin-right: 9px;
  color: rgba(57,255,20,.98);
  text-shadow: 0 0 14px rgba(57,255,20,.48);
}

.sotf-secure-boot .secure-boot-diagnostics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.sotf-secure-boot .secure-progress-wrap {
  width: 100%;
  margin-top: 18px;
}

.sotf-secure-boot .secure-progress {
  height: 13px;
  border-radius: 0;
  border-color: rgba(57,255,20,.34);
  background: rgba(255,255,255,.035);
}

.sotf-secure-boot .secure-progress span {
  background: linear-gradient(90deg, rgba(57,255,20,.88), rgba(214,170,63,.96), #fff6b8);
  box-shadow: 0 0 22px rgba(57,255,20,.42);
}

.sotf-secure-boot .secure-percent {
  color: rgba(232,224,204,.66);
}

.sotf-secure-boot .secure-percent strong {
  color: rgba(57,255,20,.95);
}

.sotf-secure-boot .secure-boot-skip {
  position: absolute;
  z-index: 30;
  right: clamp(18px, 3vw, 42px);
  top: clamp(18px, 3vw, 42px);
  margin: 0 !important;
  border-radius: 0 !important;
  border: 1px solid rgba(57,255,20,.36) !important;
  background: rgba(0,0,0,.66) !important;
  color: rgba(57,255,20,.90) !important;
  font-family: Consolas, Monaco, "Courier New", monospace !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.sotf-secure-boot .secure-boot-footer {
  color: rgba(232,224,204,.52);
  font-family: Consolas, Monaco, "Courier New", monospace;
}

.boot-overlay.sotf-secure-boot.is-closing {
  opacity: 0;
  transform: scale(1.012);
  filter: blur(12px) saturate(1.25);
  transition: opacity .74s ease, transform .74s ease, filter .74s ease;
}

/* Draft 28: long command-home additions */
.home-command-splash {
  position: relative;
  overflow: hidden;
  border-color: rgba(57,255,20,.20);
  background:
    radial-gradient(circle at 18% 12%, rgba(57,255,20,.12), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(179,32,37,.16), transparent 34%),
    rgba(6,14,24,.02);
}

.home-command-splash::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .15;
  background:
    linear-gradient(rgba(57,255,20,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(57,255,20,.10) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.88), transparent 75%);
}

.home-command-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  gap: 24px;
  margin-top: 28px;
}

.command-screen {
  border: 1px solid rgba(57,255,20,.28);
  background: rgba(0,0,0,.38);
  box-shadow: inset 0 0 34px rgba(57,255,20,.04);
}

.command-screen-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(57,255,20,.24);
  color: rgba(57,255,20,.92);
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.command-screen-body {
  padding: 20px;
  font-family: Consolas, Monaco, "Courier New", monospace;
}

.command-line {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  color: rgba(232,224,204,.82);
  font-size: 14px;
}

.command-line span:first-child {
  color: rgba(240,207,119,.85);
  font-weight: 900;
  text-transform: uppercase;
}

.home-insignia-stack {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.home-insignia-card {
  min-height: 185px;
  display: grid;
  place-items: center;
  padding: 18px;
  border: 1px solid rgba(214,170,63,.26);
  border-radius: 18px;
  background: rgba(0,0,0,.08);
}

.home-insignia-card img {
  max-width: 100%;
  max-height: 128px;
  object-fit: contain;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.45));
}

.home-insignia-card span {
  margin-top: 10px;
  color: rgba(232,224,204,.78);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  text-align: center;
}

.home-feature-matrix,
.unit-showcase,
.pipeline-home-grid,
.command-roster-grid,
.reference-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
  margin-top: 26px;
}

.home-feature-matrix {
  grid-template-columns: repeat(3, 1fr);
}

.unit-showcase {
  grid-template-columns: repeat(4, 1fr);
}

.pipeline-home-grid {
  grid-template-columns: repeat(4, 1fr);
}

.command-roster-grid {
  grid-template-columns: repeat(2, 1fr);
}

.reference-grid {
  grid-template-columns: repeat(4, 1fr);
}

.matrix-card,
.unit-showcase-card,
.pipeline-step,
.profile-snapshot,
.reference-card {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(214,170,63,.25);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(7,18,37,.09), rgba(0,0,0,.07));
  box-shadow: 0 18px 46px rgba(0,0,0,.20);
}

.matrix-card span,
.unit-showcase-card span,
.pipeline-step span,
.profile-snapshot span,
.reference-card span {
  display: block;
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.matrix-card strong,
.unit-showcase-card strong,
.pipeline-step strong,
.profile-snapshot strong,
.reference-card strong {
  display: block;
  color: #fff;
  font-size: 22px;
  line-height: 1.12;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.matrix-card p,
.unit-showcase-card p,
.pipeline-step p,
.profile-snapshot p,
.reference-card p {
  font-size: 16px;
  color: rgba(232,224,204,.78);
}

.unit-showcase-card {
  min-height: 280px;
  padding-top: 84px;
}

.unit-showcase-card::before {
  content: "";
  position: absolute;
  right: -24px;
  top: -28px;
  width: 135px;
  height: 135px;
  opacity: .16;
  background: var(--unit-mark) center / contain no-repeat;
}

.timeline-strip {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-top: 28px;
}

.timeline-node {
  min-height: 180px;
  padding: 20px;
  border-top: 4px solid rgba(214,170,63,.62);
  border-radius: 0 0 18px 18px;
  background: rgba(0,0,0,.08);
  border-left: 1px solid rgba(214,170,63,.20);
  border-right: 1px solid rgba(214,170,63,.20);
  border-bottom: 1px solid rgba(214,170,63,.20);
}

.timeline-node span {
  color: var(--gold-soft);
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 11px;
}

.timeline-node strong {
  display: block;
  color: #fff;
  margin: 10px 0 8px;
  font-size: 21px;
  line-height: 1.1;
  text-transform: uppercase;
}

.timeline-node p {
  font-size: 15px;
}

.profile-snapshot {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  align-items: center;
}

.profile-snapshot img {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(214,170,63,.36);
  box-shadow: 0 14px 28px rgba(0,0,0,.28);
}

.profile-snapshot a,
.reference-card a {
  color: var(--gold-soft);
  font-weight: 900;
  text-decoration: none;
}

.profile-snapshot a:hover,
.reference-card a:hover {
  text-decoration: underline;
}

.home-alert-band {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 22px;
  align-items: center;
  margin-top: 28px;
  padding: 24px;
  border: 1px solid rgba(179,32,37,.46);
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(179,32,37,.20), rgba(214,170,63,.08));
}

.home-alert-band strong {
  display: block;
  color: #fff;
  font-size: clamp(25px, 3vw, 42px);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.home-alert-band span {
  color: rgba(232,224,204,.82);
  font-size: 17px;
}

@media (max-width: 1050px) {
  .sotf-secure-boot .secure-boot-layout,
  .home-command-grid {
    grid-template-columns: 1fr;
  }

  .sotf-secure-boot .secure-boot-layout {
    min-height: auto;
  }

  .sotf-secure-boot .secure-boot-identity {
    border-right: 0;
    border-bottom: 1px solid rgba(57,255,20,.20);
  }

  .sotf-secure-boot .secure-boot-logo {
    width: 190px;
    height: 190px;
  }

  .home-feature-matrix,
  .unit-showcase,
  .pipeline-home-grid,
  .reference-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .timeline-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .sotf-secure-boot .secure-boot-topbar {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .sotf-secure-boot .secure-boot-topbar span:last-child {
    text-align: center;
  }

  .sotf-secure-boot .secure-boot-readouts,
  .sotf-secure-boot .secure-boot-diagnostics,
  .home-insignia-stack,
  .home-feature-matrix,
  .unit-showcase,
  .pipeline-home-grid,
  .command-roster-grid,
  .reference-grid,
  .timeline-strip,
  .home-alert-band {
    grid-template-columns: 1fr;
  }

  .sotf-secure-boot .secure-boot-status {
    min-height: 340px;
  }

  .profile-snapshot {
    grid-template-columns: 1fr;
  }
}

/* Draft 33 nav dropdown hitbox tightening: top-level dropdown hover/click area is only the visible word/pill. */
.nav-dropdown {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.nav-dropdown::after {
  display: none !important;
  content: none !important;
  pointer-events: none !important;
}

.nav-dropdown .drop-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.drop-menu {
  top: calc(100% + 6px) !important;
}

@media (min-width: 861px) {
  .nav-dropdown .drop-toggle {
    white-space: nowrap !important;
  }
}

@media (max-width: 860px) {
  .nav-dropdown {
    width: auto !important;
  }
  .nav-dropdown .drop-toggle {
    width: auto !important;
    text-align: center !important;
  }
}


/* Draft 34: MOS pages, current member matching, and badge-order cards */
.mos-real-grid .card {
  min-height: 0;
}
.mos-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin-top: 12px;
  color: rgba(232,224,204,.72);
  font-size: 13px;
}
.mos-source-links span {
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: 12px;
}
.mos-source-links a {
  color: rgba(232,224,204,.88);
  text-decoration: none;
  border-bottom: 1px solid rgba(214,170,63,.36);
}
.mos-current-members-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.mos-member-card {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid rgba(214,170,63,.28);
  border-radius: 16px;
  background: rgba(6,14,24,.18);
  color: var(--text);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.mos-member-card:hover {
  transform: translateY(-2px);
  border-color: rgba(214,170,63,.58);
  background: rgba(86,97,59,.16);
}
.mos-member-status {
  color: var(--gold-soft);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.mos-member-card strong {
  font-size: 18px;
}
.mos-member-card em,
.mos-member-card p,
.mos-empty-members {
  color: rgba(232,224,204,.76);
  line-height: 1.55;
}
body.command-profile-page .record-card h4::before {
  content: '';
}


/* Draft 35 MOS pages + badge order polish */
.mos-real-grid .mos-current-member-card {
  border-color: rgba(201, 168, 91, .38);
  background: linear-gradient(180deg, rgba(12, 16, 13, .88), rgba(0, 0, 0, .52));
}
.mos-current-members-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.mos-member-card {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 15px;
  border: 1px solid rgba(201, 168, 91, .30);
  border-radius: 14px;
  background: rgba(7, 10, 8, .72);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.mos-member-card:hover {
  transform: translateY(-2px);
  border-color: rgba(201, 168, 91, .72);
  background: rgba(15, 19, 14, .86);
}
.mos-member-status {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(112, 255, 154, .28);
  color: #70ff9a;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mos-member-card strong { display:block; color:#f2e2ad; font-size:1.02rem; }
.mos-member-card em { display:block; color:rgba(238, 238, 220, .72); font-style:normal; margin:4px 0 8px; }
.mos-member-card p, .mos-empty-members { margin:0; color:rgba(238, 238, 220, .72); line-height:1.55; }
.command-profile .record-grid .record-card h4 { letter-spacing:.07em; text-transform:uppercase; }


/* Draft 36: 2nd MAW unit page and West parent-wing insignia panel */
.profile-wing-card {
  display: grid;
  grid-template-columns: minmax(160px, 260px) 1fr;
  gap: 24px;
  align-items: center;
}
.profile-wing-card img {
  width: 100%;
  max-height: 220px;
  object-fit: contain;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.55));
}
.profile-wing-card h4 {
  margin: 0 0 8px;
  color: #f3d57b;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.profile-wing-card p {
  color: rgba(238,238,220,.78);
  line-height: 1.65;
  margin-bottom: 18px;
}
.unit-2maw-page .two-maw-hero {
  background:
    linear-gradient(135deg, rgba(7,18,37,.84), rgba(0,0,0,.62) 54%, rgba(117,18,18,.32)),
    radial-gradient(circle at 72% 18%, rgba(214,170,63,.20), transparent 34%) !important;
}
.unit-2maw-page .two-maw-mark img,
.unit-card-mark img[src*="USMC-2MAW"],
.unit-showcase-card[style*="USMC-2MAW"]::before {
  object-fit: contain;
}
.unit-roster-note {
  margin-top: -8px;
  margin-bottom: 18px;
  color: rgba(238,238,220,.72);
  line-height: 1.6;
}
@media (max-width: 760px) {
  .profile-wing-card { grid-template-columns: 1fr; }
  .profile-wing-card img { max-height: 180px; }
}


/* Draft 37: expanded content, MOS detail, and badge precedence refinements */
.home-expansion-panel,
.unit-expanded-brief {
  position: relative;
  overflow: hidden;
}
.home-expansion-panel::before,
.unit-expanded-brief::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 12% 18%, rgba(214,170,63,.09), transparent 32%), radial-gradient(circle at 90% 12%, rgba(179,32,37,.08), transparent 30%);
}
.expansion-grid,
.readiness-lanes,
.reference-expansion {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}
.expansion-grid article,
.readiness-lanes article,
.reference-expansion article {
  border: 1px solid rgba(214,170,63,.18);
  border-radius: 18px;
  padding: 18px;
  background: linear-gradient(180deg, rgba(8,17,29,.62), rgba(0,0,0,.30));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.expansion-grid h4,
.readiness-lanes h4,
.reference-expansion h4 {
  margin: 0 0 8px;
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: .10em;
}
.expansion-grid p,
.readiness-lanes p,
.reference-expansion p {
  margin: 0;
  color: rgba(235,235,220,.76);
  line-height: 1.62;
}
.readiness-lanes article span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 12px;
  border-radius: 50%;
  border: 1px solid rgba(214,170,63,.35);
  color: var(--gold-soft);
  font-weight: 900;
  background: rgba(179,32,37,.16);
}
.expansion-board {
  margin-top: 18px;
}
.expanded-mos-detail-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mos-expanded-v37 .card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.mos-expanded-v37 .list li {
  margin-bottom: 8px;
}
.badge-precedence-grid .precedence-primary {
  border-color: rgba(214,170,63,.44);
  box-shadow: 0 0 24px rgba(214,170,63,.07), inset 0 0 0 1px rgba(255,255,255,.04);
}
.badge-precedence-grid .precedence-primary h4::before {
  content: "DISPLAY · ";
  color: var(--red);
}
@media (max-width: 1100px) {
  .expansion-grid,
  .readiness-lanes,
  .reference-expansion,
  .expanded-mos-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .expansion-grid,
  .readiness-lanes,
  .reference-expansion,
  .expanded-mos-detail-grid { grid-template-columns: 1fr; }
}

/* Draft 40: SOTF secure load screen styled after a dark command-interface loader */
body.shell-page.booting {
  background: #000;
}

.sotf-loadscreen {
  position: fixed;
  inset: 0;
  z-index: 9500;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: rgba(225, 235, 235, .82);
  background:
    radial-gradient(circle at 50% 46%, rgba(14, 34, 39, .28), transparent 33%),
    radial-gradient(circle at 18% 22%, rgba(194, 142, 24, .13), transparent 6%),
    radial-gradient(circle at 78% 70%, rgba(194, 142, 24, .10), transparent 8%),
    linear-gradient(180deg, #020609 0%, #000306 54%, #020608 100%);
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  letter-spacing: .12em;
}

.sotf-load-video,
.sotf-load-veil,
.sotf-load-grid,
.sotf-load-map,
.sotf-load-scan,
.sotf-corner,
.sotf-load-topline,
.sotf-load-session,
.sotf-load-time {
  position: absolute;
  pointer-events: none;
}

.sotf-load-video {
  inset: -4%;
  width: 108%;
  height: 108%;
  object-fit: cover;
  opacity: .12;
  filter: grayscale(1) sepia(.6) hue-rotate(7deg) saturate(145%) brightness(.38) contrast(135%);
  mix-blend-mode: screen;
}

.sotf-load-veil {
  inset: 0;
  background:
    radial-gradient(circle at 50% 52%, rgba(7, 13, 15, .26), rgba(0,0,0,.28) 28%, rgba(0,0,0,.84) 78%),
    linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.10) 48%, rgba(0,0,0,.68));
}

.sotf-load-grid {
  inset: 0;
  opacity: .16;
  background:
    linear-gradient(rgba(171, 132, 35, .17) 1px, transparent 1px),
    linear-gradient(90deg, rgba(171, 132, 35, .11) 1px, transparent 1px);
  background-size: 94px 94px;
  mask-image: radial-gradient(circle at 50% 46%, rgba(0,0,0,.72), transparent 76%);
}

.sotf-load-scan {
  inset: 0;
  opacity: .10;
  background: repeating-linear-gradient(180deg, rgba(255,255,255,.04) 0 1px, transparent 1px 4px);
  animation: sotfScan 6.6s linear infinite;
}

.sotf-load-map {
  inset: 0;
  opacity: .55;
}

.sotf-load-map .node {
  position: absolute;
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #b38b1f;
  box-shadow: 0 0 14px rgba(214,170,63,.45), inset 0 0 0 2px rgba(12, 10, 1, .32);
  animation: sotfNodePulse 2.8s ease-in-out infinite;
}
.sotf-load-map .node::after {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid rgba(174, 139, 44, .45);
  border-radius: inherit;
  opacity: .6;
}
.node-a { left: 10.8%; top: 22%; animation-delay: .1s; }
.node-b { left: 20.5%; top: 38.6%; animation-delay: .4s; }
.node-c { left: 35.8%; top: 37%; animation-delay: .7s; }
.node-d { left: 69.5%; top: 41.2%; animation-delay: 1s; }
.node-e { left: 76.4%; top: 61.8%; animation-delay: 1.2s; }
.node-f { left: 36%; bottom: 17%; animation-delay: 1.5s; }
.node-g { right: 14.2%; top: 26.3%; animation-delay: 1.8s; }
.node-h { left: 11.6%; bottom: 27.1%; animation-delay: 2s; }

.sotf-load-map .line {
  position: absolute;
  height: 1px;
  transform-origin: 0 50%;
  background: linear-gradient(90deg, transparent, rgba(171,132,35,.30), transparent);
  opacity: .42;
}
.line-a { left: 11.4%; top: 22.9%; width: 360px; transform: rotate(31deg); }
.line-b { left: 20.6%; top: 39.5%; width: 238px; transform: rotate(-7deg); }
.line-c { left: 10.8%; top: 43.5%; width: 505px; transform: rotate(8deg); }
.line-d { right: 23%; top: 32.2%; width: 300px; transform: rotate(82deg); }
.line-e { right: 20%; bottom: 24.8%; width: 350px; transform: rotate(207deg); }

.sotf-corner {
  width: 28px;
  height: 28px;
  border-color: rgba(170, 133, 41, .62);
  opacity: .8;
}
.sotf-corner.tl { left: 16px; top: 16px; border-top: 1px solid; border-left: 1px solid; }
.sotf-corner.tr { right: 16px; top: 16px; border-top: 1px solid; border-right: 1px solid; }
.sotf-corner.bl { left: 16px; bottom: 16px; border-bottom: 1px solid; border-left: 1px solid; }
.sotf-corner.br { right: 16px; bottom: 16px; border-bottom: 1px solid; border-right: 1px solid; }

.sotf-load-topline {
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 18px;
  align-items: center;
  color: rgba(111, 143, 154, .52);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}
.sotf-load-topline span + span::before {
  content: "-";
  margin-right: 18px;
  color: rgba(114, 95, 44, .8);
}
.sotf-load-session {
  top: 24px;
  right: 26px;
  color: rgba(91, 116, 123, .5);
  font-size: 8px;
  text-transform: uppercase;
}
.sotf-load-time {
  left: 28px;
  bottom: 24px;
  color: rgba(111, 143, 154, .58);
  font-size: 9px;
  text-transform: uppercase;
}

.sotf-load-core {
  position: relative;
  z-index: 3;
  width: min(610px, calc(100vw - 34px));
  margin-top: 14vh;
  text-align: left;
  transform: translateY(-2vh);
}

.sotf-load-emblem {
  position: relative;
  width: 96px;
  height: 96px;
  margin: 0 auto 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.sotf-load-emblem .emblem-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(177, 138, 34, .56);
}
.ring-one { inset: 4px; animation: sotfRingSpin 9s linear infinite; }
.ring-two { inset: 15px; border-color: rgba(177, 138, 34, .36) !important; animation: sotfRingSpin 6s linear reverse infinite; }
.ring-three { inset: 28px; border-color: rgba(177, 138, 34, .30) !important; }
.sotf-load-emblem img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  opacity: .88;
  filter: brightness(.86) sepia(.35) saturate(130%) drop-shadow(0 0 12px rgba(214,170,63,.26));
}

.sotf-load-titleblock {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: rgba(226, 190, 67, .94);
  font-size: 10px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.green-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10c166;
  box-shadow: 0 0 12px rgba(16,193,102,.8);
}
.sotf-load-core h1 {
  text-align: center;
  color: rgba(86, 120, 133, .78);
  font-size: clamp(13px, 1.4vw, 20px);
  letter-spacing: .42em;
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(42, 90, 111, .28);
  margin: 0 0 28px;
}

.sotf-boot-console {
  display: grid;
  grid-template-columns: 1.2fr .82fr;
  gap: clamp(28px, 5vw, 78px);
  align-items: start;
  min-height: 170px;
}
.console-label {
  display: block;
  color: rgba(101, 133, 145, .55);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.sotf-system-log strong {
  display: block;
  color: #f3c637;
  font-size: 12px;
  line-height: 1.1;
  margin-bottom: 7px;
  text-transform: uppercase;
}
.sotf-system-log .boot-line {
  position: relative;
  padding-left: 11px;
  margin: 5px 0;
  color: rgba(117, 150, 159, .52);
  font-size: 10px;
  line-height: 1.25;
  font-weight: 900;
  text-transform: uppercase;
  opacity: .22;
  transform: translateX(-4px);
  transition: opacity .28s ease, transform .28s ease, color .28s ease;
}
.sotf-system-log .boot-line::before {
  content: ">";
  position: absolute;
  left: 0;
  color: rgba(234, 187, 43, .72);
}
.sotf-system-log .boot-line::after {
  content: " OK";
  margin-left: 10px;
  color: rgba(127, 255, 165, .78);
  opacity: 0;
}
.sotf-system-log .boot-line.visible {
  opacity: 1;
  color: rgba(130, 162, 172, .78);
  transform: none;
}
.sotf-system-log .boot-line.visible::after { opacity: 1; }
.sotf-subsystems div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 5px 0;
  color: rgba(112, 144, 154, .52);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.sotf-subsystems strong {
  color: #0fd56e;
  letter-spacing: .08em;
}

.sotf-load-progress-wrap {
  margin-top: 28px;
}
.sotf-progress-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  color: rgba(110, 142, 153, .58);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.sotf-progress-label strong {
  color: rgba(126, 159, 171, .70);
}
.sotf-load-progress {
  position: relative;
  height: 3px;
  background: rgba(51, 71, 72, .58);
  overflow: hidden;
}
.sotf-load-progress::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0 48px, rgba(0,0,0,.35) 48px 50px);
  z-index: 2;
}
.sotf-load-progress span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  background: linear-gradient(90deg, rgba(173,129,28,.86), rgba(245,201,59,.98));
  box-shadow: 0 0 18px rgba(239,190,43,.34);
  transition: width .2s linear;
}

.sotf-load-skip {
  position: absolute;
  right: 30px;
  bottom: 28px;
  z-index: 4;
  border: 0;
  background: transparent;
  color: rgba(75, 118, 137, .72);
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  cursor: pointer;
}
.sotf-load-skip:hover {
  color: #f0c44a;
}
.sotf-loadscreen.is-closing {
  opacity: 0;
  filter: blur(12px) brightness(.55);
  transform: scale(1.01);
  transition: opacity .72s ease, filter .72s ease, transform .72s ease;
}

@keyframes sotfScan {
  from { transform: translateY(-12px); }
  to { transform: translateY(12px); }
}
@keyframes sotfNodePulse {
  0%, 100% { opacity: .42; transform: scale(.86); }
  50% { opacity: 1; transform: scale(1.08); }
}
@keyframes sotfRingSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 760px) {
  .sotf-load-core {
    margin-top: 10vh;
  }
  .sotf-boot-console {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .sotf-subsystems {
    display: none;
  }
  .sotf-load-topline {
    font-size: 7px;
    gap: 8px;
  }
  .sotf-load-topline span + span::before {
    margin-right: 8px;
  }
  .sotf-load-emblem {
    width: 88px;
    height: 88px;
  }
  .sotf-load-core h1 {
    letter-spacing: .22em;
  }
}


/* Draft 41: command archive cards use clean click zones instead of visible link text */
.profile-card { position: relative; }
.profile-card .profile-card-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  text-indent: -9999px;
}
.profile-card.featured-officer.compact-command-card p {
  max-width: 760px;
}
.profile-card.featured-officer.compact-command-card:hover {
  border-color: rgba(199,160,82,.75);
  box-shadow: 0 18px 48px rgba(0,0,0,.44), 0 0 26px rgba(199,160,82,.16);
  transform: translateY(-2px);
}
.profile-grid .profile-card a[href="#"] { display: none; }


/* Draft 42: unit attached-member cards are clickable without visible profile-link text. */
.unit-profile-card { position: relative; }
.unit-profile-card .unit-card-link {
  position: absolute;
  inset: 0;
  z-index: 3;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  text-indent: -9999px;
}
.unit-profile-card:hover {
  border-color: rgba(214,170,63,.62);
  background: rgba(179,32,37,.14);
}


/* Draft 43: 26th Special Tactics Squadron unit page */
.unit-26sts-page .sts-hero-panel {
  background:
    linear-gradient(135deg, rgba(3,10,18,.88), rgba(3,10,18,.72) 48%, rgba(20,44,78,.34)),
    radial-gradient(circle at 18% 16%, rgba(78,132,188,.22), transparent 34%),
    radial-gradient(circle at 78% 18%, rgba(214,170,63,.20), transparent 30%);
}
.unit-26sts-page .sts-mark {
  background: rgba(3,10,18,.52);
}
.unit-26sts-page .sts-mark img,
.unit-card-mark img[src*="26th-special-tactics"],
.unit-showcase-card[style*="26th-special-tactics"]::before,
.home-insignia-card img[src*="26th-special-tactics"] {
  object-fit: contain;
  filter: drop-shadow(0 16px 24px rgba(0,0,0,.58));
}
.unit-26sts-page .unit-timeline article {
  border-left-color: rgba(117,153,206,.72);
}
.unit-26sts-page .unit-fact-row span,
.unit-26sts-page .unit-timeline article strong {
  color: #d6c383;
}


/* Draft 44: Sgt Bill Silvia chain of command / 3rd Battalion, 5th Marines background */
body.unit-35-profile {
  background-color: #061224 !important;
  background-image: url("assets/3-5-darkhorse-insignia.svg") !important;
  background-position: center center !important;
  background-size: min(78vw, 940px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

.silvia-bill-profile .profile-crest::after {
  content: "3/5 DARKHORSE";
}

.silvia-bill-profile .profile-crest img[src*="3-5-darkhorse-insignia"] {
  width: min(320px, 90%);
  max-height: 300px;
  object-fit: contain;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}

.featured-officer img[src*="3-5-darkhorse-insignia"],
.profile-snapshot img[src*="3-5-darkhorse-insignia"],
.unit-member-card img[src*="3-5-darkhorse-insignia"] {
  object-fit: contain;
  background: rgba(0,0,0,.48);
  padding: 8px;
}

.rast-card, .rsat-card {
  border-color: rgba(214,170,63,.38) !important;
}

.rsat-scoreboard {
  display: grid;
  gap: 4px;
  justify-items: start;
  width: fit-content;
  margin: 18px 0 20px;
  padding: 16px 18px;
  border: 1px solid rgba(214,170,63,.34);
  border-radius: 16px;
  background: rgba(0,0,0,.18);
}

.rsat-scoreboard span,
.rsat-scoreboard em,
.rsat-grid span {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  color: rgba(232,224,204,.68);
  font-style: normal;
}

.rsat-scoreboard strong {
  color: var(--gold-soft);
  font-family: var(--mono);
  font-size: clamp(1.6rem, 4vw, 2.6rem);
}

.rsat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  margin: 16px 0 20px;
}

.rsat-grid div {
  padding: 12px;
  border: 1px solid rgba(86,97,59,.36);
  border-radius: 12px;
  background: rgba(0,0,0,.14);
}

.rsat-grid strong {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.94);
  font-family: var(--mono);
}

.signature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}

.unit-member-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}

.unit-member-card {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(214,170,63,.28);
  border-radius: 18px;
  background: rgba(6,14,24,.24);
  color: var(--text);
  text-decoration: none;
}

.unit-member-card img {
  width: 92px;
  height: 92px;
  border-radius: 14px;
}

.unit-member-card strong {
  display: block;
  color: var(--gold-soft);
  letter-spacing: .04em;
}

.unit-member-card span {
  display: block;
  margin-top: 4px;
  color: rgba(116,255,151,.86);
  font-family: var(--mono);
  font-size: .82rem;
}

.unit-member-card p {
  margin: 8px 0 0;
  color: rgba(232,224,204,.74);
}

@media (max-width: 900px) {
  body.unit-35-profile {
    background-position: center 18vh !important;
    background-size: 124vw auto !important;
    background-attachment: scroll !important;
  }
}

/* Draft 44 refinement: profile snapshot cards stay clickable without visible link text. */
.profile-snapshot-link {
  color: inherit;
  text-decoration: none;
}
.profile-snapshot-link:hover {
  border-color: rgba(214,170,63,.55);
  box-shadow: 0 20px 52px rgba(0,0,0,.28), 0 0 28px rgba(214,170,63,.08);
}


/* Draft 45: 2nd MAW aviation subgroup hierarchy */
.unit-drop-menu .drop-parent {
  border-top: 1px solid rgba(214,170,63,.28);
  color: #f0cf77;
  font-weight: 900;
  letter-spacing: .08em;
}
.unit-drop-menu .drop-subunit {
  padding-left: 2rem;
  border-left: 2px solid rgba(214,170,63,.45);
  margin-left: .45rem;
  width: calc(100% - .45rem);
  color: rgba(255,255,255,.82);
  background: linear-gradient(90deg, rgba(214,170,63,.10), transparent 70%);
}
.unit-parent-chain {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .35rem 0 .7rem;
  color: rgba(240,207,119,.88);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 900;
}
.unit-parent-chain a { color: #f0cf77; text-decoration: none; }
.unit-parent-chain a:hover { color: #fff; }
.aviation-subgroup-panel,
.airwing-parent-card {
  border-color: rgba(214,170,63,.34) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(214,170,63,.16), transparent 32%),
    linear-gradient(135deg, rgba(11,14,12,.94), rgba(5,7,6,.90)) !important;
}
.subunit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.subunit-card,
.unit-child-card,
.mini-subunit-row a,
.mini-subunit-row > div {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: .85rem;
  align-items: center;
  padding: .9rem;
  border: 1px solid rgba(214,170,63,.26);
  border-radius: 16px;
  background: rgba(0,0,0,.34);
  text-decoration: none;
  color: inherit;
  min-height: 96px;
}
.subunit-card img,
.unit-child-card img,
.mini-subunit-row img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 0 14px rgba(214,170,63,.22));
}
.subunit-card span,
.unit-child-card span,
.mini-subunit-row span {
  display: block;
  color: #f0cf77;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
}
.subunit-card strong,
.unit-child-card strong,
.mini-subunit-row strong {
  display: block;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: .18rem 0;
}
.subunit-card p,
.unit-child-card em,
.mini-subunit-row em {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-style: normal;
  line-height: 1.5;
}
.subunit-placeholder,
.unit-child-template,
.mini-subunit-row > div {
  opacity: .78;
  border-style: dashed;
}
.placeholder-mark {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px dashed rgba(214,170,63,.55);
  color: #f0cf77;
  font-size: 2rem;
  font-weight: 900;
}
.unit-index-parent-card { display: block; }
.unit-parent-link { display: block; color: inherit; text-decoration: none; }
.unit-child-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
  padding-top: .9rem;
  border-top: 1px solid rgba(214,170,63,.18);
}
.mini-subunit-row {
  display: grid;
  gap: .75rem;
  margin: 1rem 0;
}
.unit-showcase-parent { grid-column: span 2; }
@media (max-width: 900px) { .unit-showcase-parent { grid-column: span 1; } }


/* Draft 46: 3/5 Darkhorse insignia profile/background system */
body.unit-35-profile {
  background-color: #061224 !important;
  background-image: url("assets/3-5-darkhorse-insignia.jpg") !important;
  background-position: center center !important;
  background-size: min(80vw, 980px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

body.unit-35-profile::after {
  background: none !important;
}

.silvia-bill-profile .profile-crest::after {
  content: "3/5 DARKHORSE" !important;
}

.silvia-bill-profile .profile-crest img[src*="3-5-darkhorse-insignia"],
.featured-officer img[src*="3-5-darkhorse-insignia"],
.profile-snapshot img[src*="3-5-darkhorse-insignia"],
.unit-member-card img[src*="3-5-darkhorse-insignia"],
.unit-card-mark img[src*="3-5-darkhorse-insignia"] {
  object-fit: contain;
  background: rgba(0,0,0,.48);
  padding: 8px;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}

body.unit-35-profile .profile-crest img[src*="3-5-darkhorse-insignia"] {
  width: min(340px, 92%);
  max-height: 320px;
}

@media (max-width: 900px) {
  body.unit-35-profile {
    background-position: center 18vh !important;
    background-size: 126vw auto !important;
    background-attachment: scroll !important;
  }
}

/* Draft 46: dropdown menus stay clickable when moving from trigger to selections. */
.site-header,
.nav,
.nav-dropdown {
  overflow: visible !important;
}

.nav-dropdown {
  position: relative !important;
  z-index: 5000 !important;
}

.nav-dropdown .drop-toggle {
  position: relative !important;
  z-index: 5100 !important;
}

.drop-menu {
  top: 100% !important;
  margin-top: 0 !important;
  transform: translateX(-50%) translateY(0) !important;
  z-index: 5200 !important;
  pointer-events: none;
  visibility: hidden;
}

.drop-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -12px;
  height: 12px;
  background: transparent;
}

.nav-dropdown.open .drop-menu,
.nav-dropdown:hover .drop-menu,
.nav-dropdown:focus-within .drop-menu {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.drop-menu a {
  position: relative !important;
  z-index: 5300 !important;
  pointer-events: auto !important;
}

@media (max-width: 860px) {
  .drop-menu {
    left: 0 !important;
    right: auto !important;
    transform: none !important;
  }
  .nav-dropdown.open .drop-menu,
  .nav-dropdown:hover .drop-menu,
  .nav-dropdown:focus-within .drop-menu {
    transform: none !important;
  }
}


/* Draft 47: cleaned Units menu and 2nd MAW-only HMLA submenu */
.unit-drop-menu {
  min-width: 300px !important;
  overflow: visible !important;
}
.unit-drop-menu .unit-branch {
  position: relative;
  display: block;
  z-index: 5400;
}
.unit-drop-menu .unit-branch > .drop-parent {
  display: block;
  padding-right: 2.6rem !important;
}
.unit-drop-menu .unit-branch > .drop-parent::after {
  content: "▸";
  position: absolute;
  right: 1rem;
  color: var(--gold-soft, #d6aa3f);
  opacity: .85;
}
.unit-drop-menu .unit-submenu {
  display: none;
  position: static;
  margin: 0 0 .35rem .85rem;
  padding: .25rem 0 .35rem .75rem;
  border-left: 1px solid rgba(214,170,63,.34);
}
.unit-drop-menu .unit-branch:hover .unit-submenu,
.unit-drop-menu .unit-branch:focus-within .unit-submenu,
.unit-drop-menu .unit-branch.open-subunit .unit-submenu {
  display: block;
}
.unit-drop-menu .drop-subunit {
  display: block;
  font-size: .68rem !important;
  letter-spacing: .12em !important;
  color: rgba(231,240,221,.82) !important;
  background: rgba(214,170,63,.055) !important;
  border: 1px solid rgba(214,170,63,.16) !important;
  border-radius: 10px !important;
  margin-top: .25rem !important;
}
.unit-drop-menu .drop-subunit::before {
  content: "↳ ";
  color: var(--gold-soft, #d6aa3f);
}
.unit-drop-menu .drop-subunit:hover {
  color: #0a0d0a !important;
  background: var(--gold, #d6aa3f) !important;
}
.compact-unit-index .unit-index-card,
.compact-unit-index .unit-index-parent-card {
  min-height: 100%;
}
@media (min-width: 861px) {
  .unit-drop-menu .unit-branch { margin: 0; }
  .nav-dropdown.open .unit-drop-menu,
  .nav-dropdown:hover .unit-drop-menu,
  .nav-dropdown:focus-within .unit-drop-menu { visibility: visible !important; pointer-events: auto !important; }
}


/* Draft 48: 3/5 Darkhorse unit identity and 2nd MAW hub-only navigation. */
body.unit-35-profile,
body.unit-35-page {
  background-color: #061224 !important;
  background-image: url("assets/3-5-darkhorse-insignia.jpg") !important;
  background-position: center center !important;
  background-size: min(82vw, 1020px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
body.unit-35-profile::after,
body.unit-35-page::after { background: none !important; }
.silvia-bill-profile .profile-crest::after { content: "3/5 DARKHORSE" !important; }
.unit-35-page .unit-hero-mark,
.unit-card-mark:has(img[src*="3-5-darkhorse-insignia"]),
.home-insignia-card:has(img[src*="3-5-darkhorse-insignia"]) {
  background: rgba(0,0,0,.32);
}
.unit-35-page .unit-hero-mark img,
.unit-card-mark img[src*="3-5-darkhorse-insignia"],
.profile-snapshot img[src*="3-5-darkhorse-insignia"],
.featured-officer img[src*="3-5-darkhorse-insignia"],
.unit-member-card img[src*="3-5-darkhorse-insignia"] {
  object-fit: contain !important;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.unit-35-page .unit-hero-mark img {
  width: min(320px, 82vw);
  max-height: 320px;
}
.unit-drop-menu .unit-branch,
.unit-drop-menu .unit-submenu,
.unit-drop-menu .drop-subunit { display: none !important; }
.unit-drop-menu a[href="unit-2nd-maw.html"] {
  color: #f0cf77 !important;
  font-weight: 900;
  letter-spacing: .08em;
  border-top: 1px solid rgba(214,170,63,.24);
}
@media (max-width: 900px) {
  body.unit-35-profile,
  body.unit-35-page {
    background-position: center 18vh !important;
    background-size: 126vw auto !important;
    background-attachment: scroll !important;
  }
}


/* Draft 50 Discord member portal */
.discord-page .site-header { z-index: 1200; }
.discord-main { width: min(1500px, calc(100% - 64px)); margin: 32px auto 80px; }
.discord-hero-panel { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 28px; align-items: stretch; position: relative; overflow: hidden; }
.discord-hero-panel::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 72% 30%, rgba(88, 101, 242, .25), transparent 28%), radial-gradient(circle at 12% 80%, rgba(222, 176, 54, .16), transparent 30%); pointer-events: none; }
.discord-hero-copy, .discord-status-card { position: relative; z-index: 1; }
.discord-hero-copy h1 { font-size: clamp(3rem, 7vw, 7rem); line-height: .9; letter-spacing: .18em; margin: 10px 0 22px; text-transform: uppercase; }
.discord-status-card { border: 1px solid rgba(86, 242, 135, .28); border-radius: 20px; background: rgba(2, 7, 9, .72); box-shadow: inset 0 0 38px rgba(86, 242, 135, .08), 0 22px 55px rgba(0,0,0,.32); padding: 24px; min-height: 260px; display: flex; flex-direction: column; justify-content: center; }
.discord-status-card h3 { margin: 14px 0 10px; letter-spacing: .16em; text-transform: uppercase; }
.status-pill { display: inline-flex; width: fit-content; align-items: center; gap: 8px; border-radius: 999px; padding: 8px 12px; font-size: .72rem; line-height: 1; letter-spacing: .16em; text-transform: uppercase; border: 1px solid rgba(255,255,255,.18); }
.status-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 14px currentColor; }
.status-good { color: #56f287; border-color: rgba(86,242,135,.36); background: rgba(86,242,135,.08); }
.status-warn { color: var(--gold, #d9b64a); border-color: rgba(217,182,74,.34); background: rgba(217,182,74,.08); }
.status-bad { color: #ff5f56; border-color: rgba(255,95,86,.34); background: rgba(255,95,86,.08); }
.status-muted { color: #9bb0bd; border-color: rgba(155,176,189,.25); background: rgba(155,176,189,.06); }
.discord-grid { margin-top: 28px; }
.discord-code-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.discord-code-list code { display: block; padding: 10px 12px; border: 1px solid rgba(217,182,74,.25); border-radius: 12px; background: rgba(0,0,0,.28); color: var(--gold, #d9b64a); overflow-wrap: anywhere; }
.discord-profile-panel, .discord-admin-panel { margin-top: 28px; }
.discord-profile-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.discord-profile-form label { display: flex; flex-direction: column; gap: 8px; color: rgba(255,255,255,.74); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.discord-profile-form input, .discord-profile-form select, .discord-profile-form textarea { width: 100%; border: 1px solid rgba(217,182,74,.26); border-radius: 12px; background: rgba(4, 8, 10, .84); color: #f3f6ef; padding: 13px 14px; font: inherit; outline: none; }
.discord-profile-form input:focus, .discord-profile-form select:focus, .discord-profile-form textarea:focus { border-color: rgba(86,242,135,.55); box-shadow: 0 0 0 3px rgba(86,242,135,.12); }
.discord-profile-form .full { grid-column: 1 / -1; }
.discord-form-message { display: inline-flex; align-items: center; color: var(--gold, #d9b64a); margin-left: 12px; }
.discord-queue { display: grid; gap: 16px; margin-top: 18px; }
.discord-queue-card { border: 1px solid rgba(217,182,74,.22); border-radius: 18px; padding: 18px; background: rgba(0,0,0,.34); }
.discord-queue-card h3 { margin: 10px 0 4px; text-transform: uppercase; letter-spacing: .12em; }
.discord-queue-card dl { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 8px 14px; padding: 12px 0; margin: 0; }
.discord-queue-card dt { color: var(--gold, #d9b64a); text-transform: uppercase; font-size: .72rem; letter-spacing: .14em; }
.discord-queue-card dd { margin: 0; color: rgba(255,255,255,.82); }
.discord-admin-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.discord-home-panel { position: relative; overflow: hidden; }
.discord-home-panel::after { content: "DISCORD ACCESS"; position: absolute; right: 30px; bottom: 20px; font-size: clamp(2rem, 6vw, 7rem); font-weight: 900; letter-spacing: .18em; color: rgba(88,101,242,.08); pointer-events: none; }
@media (max-width: 920px) {
  .discord-main { width: min(100% - 28px, 1500px); }
  .discord-hero-panel, .discord-profile-form { grid-template-columns: 1fr; }
  .discord-code-list { grid-template-columns: 1fr; }
}


/* Draft 52 - Discord-gated resource library */
.resources-page .resource-main,
.discord-page .discord-main { max-width: 1540px; margin: 0 auto; padding: 44px 24px 90px; }
.resource-hero-panel { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: stretch; }
.resource-hero-copy h1 { margin: 8px 0 14px; font-size: clamp(2.4rem, 5vw, 5.2rem); letter-spacing: .12em; text-transform: uppercase; }
.resource-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 5px 10px; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.status-ok { color: #6bff99; border-color: rgba(107,255,153,.4); background: rgba(35,120,60,.18); }
.status-warn { color: #f4c542; border-color: rgba(244,197,66,.45); background: rgba(120,84,20,.18); }
.status-muted { color: #aeb7c1; background: rgba(255,255,255,.04); }
.resource-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) 240px 220px; gap: 14px; align-items: end; margin: 18px 0; }
.resource-toolbar label,
.resource-admin-form label { display: grid; gap: 7px; color: rgba(255,255,255,.72); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.resource-toolbar input,
.resource-toolbar select,
.resource-admin-form input,
.resource-admin-form select,
.resource-admin-form textarea { width: 100%; border: 1px solid rgba(244,197,66,.22); border-radius: 12px; background: rgba(3,8,12,.72); color: #f6f1e6; padding: 12px 13px; outline: none; }
.resource-toolbar input:focus,
.resource-toolbar select:focus,
.resource-admin-form input:focus,
.resource-admin-form select:focus,
.resource-admin-form textarea:focus { border-color: rgba(244,197,66,.65); box-shadow: 0 0 0 3px rgba(244,197,66,.08); }
.resource-count { color: rgba(255,255,255,.62); font-size: .85rem; margin-bottom: 14px; }
.resource-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 16px; }
.resource-card { border: 1px solid rgba(244,197,66,.22); border-radius: 18px; background: linear-gradient(145deg, rgba(6, 11, 16, .78), rgba(78, 7, 10, .28)); padding: 18px; box-shadow: 0 18px 50px rgba(0,0,0,.24); }
.resource-card-top,
.resource-meta { display: flex; justify-content: space-between; gap: 12px; color: #f4c542; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.resource-card h3 { margin: 12px 0 10px; letter-spacing: .06em; text-transform: uppercase; }
.resource-card p { color: rgba(255,255,255,.75); line-height: 1.62; }
.resource-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.resource-tags b { border: 1px solid rgba(107,255,153,.24); color: #6bff99; border-radius: 999px; padding: 4px 8px; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.resource-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.btn.tiny { padding: 8px 11px; font-size: .7rem; }
.resource-content { margin-top: 14px; white-space: pre-wrap; max-height: 320px; overflow: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(0,0,0,.42); color: rgba(255,255,255,.8); padding: 14px; font-size: .82rem; line-height: 1.55; }
.resource-empty { grid-column: 1 / -1; border: 1px dashed rgba(244,197,66,.32); border-radius: 16px; padding: 30px; color: rgba(255,255,255,.68); text-align: center; }
.resource-admin-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.resource-admin-form .full { grid-column: 1 / -1; }
@media (max-width: 900px) {
  .resource-hero-panel { grid-template-columns: 1fr; }
  .resource-toolbar,
  .resource-admin-form { grid-template-columns: 1fr; }
}


/* Draft 53: top-corner Discord login and MOS CTA polish */
.header-login-pill {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  padding: 10px 16px;
  border: 1px solid rgba(88, 101, 242, .62);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(88,101,242,.92), rgba(28,34,84,.82));
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .72rem;
  box-shadow: 0 0 22px rgba(88,101,242,.22), inset 0 0 18px rgba(255,255,255,.08);
}
.header-login-pill:hover,
.header-login-pill:focus-visible {
  border-color: rgba(255,255,255,.8);
  transform: translateY(-1px);
  box-shadow: 0 0 28px rgba(88,101,242,.42), inset 0 0 18px rgba(255,255,255,.12);
}
.mos-enlist-actions { margin: 22px 0 26px; }
.mos-enlist-actions .btn.primary { letter-spacing: .16em; }
@media (max-width: 980px) {
  .site-header { align-items: flex-start; }
  .header-login-pill { margin-left: 0; align-self: flex-end; }
}
@media (max-width: 680px) {
  .header-login-pill { width: 100%; align-self: stretch; }
}


/* Draft 54: SSgt Tyler Morrison chain of command */
body.tyler-morrison-profile {
  background-color: #061224 !important;
  background-image: url("assets/tyler-morrison-2d-recon.jpg") !important;
  background-position: center center !important;
  background-size: min(78vw, 940px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
body.tyler-morrison-profile::after { background: none !important; }
.tyler-morrison-profile .profile-crest::after { content: "2D FORCE" !important; }
.tyler-morrison-profile .profile-crest img[src*="tyler-morrison-2d-recon"],
.featured-officer img[src*="tyler-morrison-2d-recon"],
.profile-snapshot img[src*="tyler-morrison-2d-recon"],
.unit-member-card img[src*="tyler-morrison-2d-recon"] {
  object-fit: contain !important;
  background: rgba(0,0,0,.48);
  padding: 8px;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.tyler-morrison-profile .profile-crest img[src*="tyler-morrison-2d-recon"] {
  width: min(310px, 90%);
  max-height: 310px;
}
.tyler-morrison-profile .medal-tile img[src*="tyler-morrison-purple-heart"] {
  max-height: 320px;
}
.tyler-morrison-profile .medal-tile img[src*="tyler-morrison-gold-scuba-gold-wings"],
.tyler-morrison-profile .medal-tile img[src*="tyler-morrison-expert-badges"] {
  max-height: 250px;
  object-fit: contain;
}
@media (max-width: 900px) {
  body.tyler-morrison-profile {
    background-position: center 18vh !important;
    background-size: 122vw auto !important;
    background-attachment: scroll !important;
  }
}


/* Draft 55: PFC Mohammad Kline chain of command */
body.mohammad-kline-profile {
  background-color: #1a0b0c !important;
  background-image: url("assets/v35insignia.jpg") !important;
  background-position: center center !important;
  background-size: min(76vw, 900px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
body.mohammad-kline-profile::after { background: none !important; }
.mohammad-kline-profile .profile-crest::after { content: "3/5 DARKHORSE" !important; }
.mohammad-kline-profile .profile-crest img[src*="v35insignia"],
.featured-officer img[src*="v35insignia"],
.profile-snapshot img[src*="v35insignia"],
.unit-member-card img[src*="v35insignia"] {
  object-fit: contain !important;
  background: rgba(0,0,0,.48);
  padding: 8px;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.mohammad-kline-profile .profile-crest img[src*="v35insignia"] {
  width: min(310px, 90%);
  max-height: 310px;
}
.mohammad-kline-profile .medal-tile img[src*="kinestack"] {
  max-height: 260px;
  object-fit: contain;
}
.mohammad-kline-profile .medal-tile img[src*="pizzabox"] {
  max-height: 260px;
  object-fit: contain;
}
.admin-record-card .citation-body .rsat-grid strong {
  font-size: .76rem;
  line-height: 1.45;
}
@media (max-width: 900px) {
  body.mohammad-kline-profile {
    background-position: center 18vh !important;
    background-size: 122vw auto !important;
    background-attachment: scroll !important;
  }
}


/* Draft 56 MOS rank / grade requirement blocks */
.mos-rank-requirement-card {
  border-color: rgba(215, 181, 93, .38);
  background: linear-gradient(135deg, rgba(12, 15, 18, .86), rgba(55, 16, 18, .58));
}
.rank-requirement-grid {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) 1.25fr 1.25fr;
  gap: 14px;
}
.rank-requirement-grid > div {
  border: 1px solid rgba(215, 181, 93, .22);
  border-radius: 14px;
  padding: 14px;
  background: rgba(0, 0, 0, .22);
}
.rank-requirement-grid span {
  display: block;
  color: var(--gold, #d7b55d);
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.rank-requirement-grid strong {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.rank-requirement-grid p {
  margin: 0;
}
.mos-rank-directory-note {
  border-color: rgba(81, 255, 129, .25);
}
@media (max-width: 900px) {
  .rank-requirement-grid { grid-template-columns: 1fr; }
}


/* Draft 58: Sgt Nico Rogers chain of command */
body.nico-rogers-profile {
  background-color: #061224 !important;
  background-image: url("assets/nico-rogers-26th-sts.png") !important;
  background-position: center center !important;
  background-size: min(72vw, 820px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
body.nico-rogers-profile::after { background: none !important; }
.nico-rogers-profile .profile-crest::after { content: "26TH STS" !important; }
.nico-rogers-profile .profile-crest img[src*="nico-rogers-26th-sts"],
.featured-officer img[src*="nico-rogers-26th-sts"],
.unit-member-card img[src*="nico-rogers-26th-sts"] {
  object-fit: contain !important;
  background: rgba(0,0,0,.48);
  padding: 8px;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.nico-rogers-profile .profile-crest img[src*="nico-rogers-26th-sts"] {
  width: min(300px, 90%);
  max-height: 300px;
}
.nico-rogers-profile .medal-tile img[src*="nico-rogers-purple-heart"] { max-height: 320px; }
.nico-rogers-profile .medal-tile img[src*="nico-rogers-gold-scuba-gold-wings"],
.nico-rogers-profile .medal-tile img[src*="nico-rogers-rifle-expert"] {
  max-height: 250px;
  object-fit: contain;
}
.nico-rogers-profile .medal-tile img[src*="nico-rogers-combat-controller"] {
  max-height: 230px;
  object-fit: contain;
}
@media (max-width: 900px) {
  body.nico-rogers-profile {
    background-position: center 18vh !important;
    background-size: 116vw auto !important;
    background-attachment: scroll !important;
  }
}


/* Draft 61: SSgt Jake Bentley chain of command */
body.jake-bentley-profile {
  background-color: #061224 !important;
  background-image: url("assets/jake-bentley-2d-force-recon.jpg") !important;
  background-position: center center !important;
  background-size: min(78vw, 940px) auto !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
body.jake-bentley-profile::after { background: none !important; }
.jake-bentley-profile .profile-crest::after { content: "2D FORCE" !important; }
.jake-bentley-profile .profile-crest img[src*="jake-bentley-2d-force-recon"],
.featured-officer img[src*="jake-bentley-2d-force-recon"],
.profile-snapshot img[src*="jake-bentley-2d-force-recon"],
.unit-member-card img[src*="jake-bentley-2d-force-recon"] {
  object-fit: contain !important;
  background: rgba(0,0,0,.48);
  padding: 8px;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.jake-bentley-profile .profile-crest img[src*="jake-bentley-2d-force-recon"] {
  width: min(310px, 90%);
  max-height: 310px;
}
.jake-bentley-profile .medal-tile img[src*="jake-bentley-gold-scuba-gold-wings"],
.jake-bentley-profile .medal-tile img[src*="jake-bentley-rifle-expert"],
.jake-bentley-profile .medal-tile img[src*="jake-bentley-2d-force-recon"] {
  max-height: 250px;
  object-fit: contain;
}
@media (max-width: 900px) {
  body.jake-bentley-profile {
    background-position: center 18vh !important;
    background-size: 122vw auto !important;
    background-attachment: scroll !important;
  }
}

/* Draft 64: make home unit sections fully clickable and preserve clean card layout */
.home-insignia-card { text-decoration: none; color: inherit; }
.unit-showcase-card { position: relative; }
.unit-showcase-card .card-link-fill { position:absolute; inset:0; z-index:1; border-radius:inherit; }
.unit-showcase-card .actions, .unit-showcase-card .btn { position:relative; z-index:2; }
.unit-showcase-card:hover { transform: translateY(-2px); border-color: rgba(245,198,66,.55); box-shadow: 0 0 24px rgba(245,198,66,.12); }


/* mos-school-card-v65 */
.mos-school-card .school-tab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px;}
.mos-school-card .school-tab{border:1px solid rgba(197,166,90,.35);background:rgba(6,10,8,.54);border-radius:16px;padding:14px;box-shadow:inset 0 0 22px rgba(0,0,0,.32);}
.mos-school-card .school-tab span{display:block;color:#c9a84e;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;margin-bottom:6px;}
.mos-school-card .school-tab strong{display:block;color:#f5edd7;font-size:.98rem;margin-bottom:8px;}
.mos-school-card .school-tab p{margin:0;color:#d7d2c7;line-height:1.55;}
.mos-school-card .school-list{margin:10px 0 0 18px;color:#d7d2c7;line-height:1.55;}
.mos-school-card .school-note{margin-top:14px;color:#aeb7aa;font-size:.92rem;border-top:1px solid rgba(255,255,255,.08);padding-top:12px;}

/* Draft 66: final Chain of Command background lock and Mohammad asset cleanup */
body.command-profile-page.kane-west-profile,
body.command-profile-page.hmla-269-profile.kane-west-profile {
  background: #061224 url("assets/HMLA-269.png") center center / min(86vw, 1040px) auto no-repeat fixed !important;
}
body.command-profile-page.ryder-jay-profile,
body.command-profile-page.second-recon-profile.ryder-jay-profile {
  background: #061224 url("assets/ryder-jay-2nd-force-recon.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.command-profile-page.silvia-bill-profile,
body.command-profile-page.unit-35-profile.silvia-bill-profile,
body.command-profile-page.mohammad-kline-profile,
body.command-profile-page.unit-35-profile.mohammad-kline-profile {
  background: #1a0b0c url("assets/3-5-darkhorse-insignia.jpg") center center / min(80vw, 980px) auto no-repeat fixed !important;
}
body.command-profile-page.tyler-morrison-profile,
body.command-profile-page.second-recon-profile.tyler-morrison-profile {
  background: #061224 url("assets/tyler-morrison-2d-recon.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.command-profile-page.nico-rogers-profile,
body.command-profile-page.unit-26sts-profile.nico-rogers-profile {
  background: #061224 url("assets/nico-rogers-26th-sts.png") center center / min(72vw, 820px) auto no-repeat fixed !important;
}
body.command-profile-page.jake-bentley-profile,
body.command-profile-page.second-force-profile.jake-bentley-profile {
  background: #061224 url("assets/jake-bentley-2d-force-recon.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.command-profile-page::before,
body.command-profile-page::after { background: none !important; }
.mohammad-kline-profile .profile-crest img[src*="v35insignia"],
.featured-officer img[src*="v35insignia"],
.profile-snapshot img[src*="v35insignia"],
.unit-member-card img[src*="v35insignia"] {
  object-fit: contain !important;
  background: rgba(0,0,0,.48);
  padding: 8px;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
@media (max-width: 900px) {
  body.command-profile-page.kane-west-profile,
  body.command-profile-page.ryder-jay-profile,
  body.command-profile-page.silvia-bill-profile,
  body.command-profile-page.tyler-morrison-profile,
  body.command-profile-page.mohammad-kline-profile,
  body.command-profile-page.nico-rogers-profile,
  body.command-profile-page.jake-bentley-profile {
    background-position: center 18vh !important;
    background-size: 118vw auto !important;
    background-attachment: scroll !important;
  }
}


/* Draft 70: Mark Jackson profile image/background lock */
body.command-profile-page.mark-jackson-profile,
body.command-profile-page.unit-35-profile.mark-jackson-profile {
  background: #061224 url("assets/3-5-darkhorse-insignia.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.mark-jackson-profile::after { background: none !important; }
.mark-jackson-profile .profile-crest::after { content: "3/5" !important; }
.mark-jackson-profile .profile-crest img[src*="mark-jackson-corpsman-badge"],
.featured-officer img[src*="mark-jackson-corpsman-badge"],
.profile-snapshot img[src*="mark-jackson-corpsman-badge"],
.unit-member-card img[src*="mark-jackson-corpsman-badge"] {
  object-fit: contain !important;
  background: rgba(3, 6, 8, .72) !important;
}
.mark-jackson-profile .medal-tile img[src*="mark-jackson-ribbon-stack"] { max-height: 240px; object-fit: contain; }
.mark-jackson-profile .medal-tile img[src*="mark-jackson-corpsman-badge"] { max-height: 240px; object-fit: contain; }

/* Draft 71: Cpl Odin Wake chain of command */
body.command-profile-page.odin-wake-profile,
body.command-profile-page.second-recon-profile.odin-wake-profile {
  background: #061224 url("assets/odin-wake-2d-recon.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.odin-wake-profile::after { background: none !important; }
.odin-wake-profile .profile-crest::after { content: "2D RECON" !important; }
.odin-wake-profile .profile-crest img[src*="odin-wake-2d-recon"],
.featured-officer img[src*="odin-wake-2d-recon"],
.profile-snapshot img[src*="odin-wake-2d-recon"],
.unit-member-card img[src*="odin-wake-2d-recon"] {
  object-fit: contain !important;
  background: rgba(3, 6, 8, .72) !important;
  padding: 8px;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.odin-wake-profile .profile-crest img[src*="odin-wake-2d-recon"] {
  width: min(310px, 90%);
  max-height: 310px;
}
.odin-wake-profile .medal-tile img[src*="odin-wake-dive-eod"],
.odin-wake-profile .medal-tile img[src*="odin-wake-rifle-expert"],
.odin-wake-profile .medal-tile img[src*="odin-wake-ribbon-stack"],
.odin-wake-profile .medal-tile img[src*="odin-wake-2d-recon"] {
  max-height: 260px;
  object-fit: contain;
}
@media (max-width: 900px) {
  body.command-profile-page.odin-wake-profile {
    background-position: center 18vh !important;
    background-size: 118vw auto !important;
    background-attachment: scroll !important;
  }
}

/* Draft 72: HM2 Bryan York chain of command */
body.command-profile-page.bryan-york-profile,
body.command-profile-page.unit-35-profile.bryan-york-profile {
  background: #061224 url("assets/bryan-york-3-5.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.bryan-york-profile::after { background: none !important; }
.bryan-york-profile .profile-crest::after { content: "3/5" !important; }
.bryan-york-profile .profile-crest img[src*="bryan-york-fmf-pin"],
.featured-officer img[src*="bryan-york-fmf-pin"],
.profile-snapshot img[src*="bryan-york-fmf-pin"],
.unit-member-card img[src*="bryan-york-fmf-pin"] {
  object-fit: contain !important;
  background: rgba(3, 6, 8, .72) !important;
  padding: 8px;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.bryan-york-profile .profile-crest img[src*="bryan-york-fmf-pin"] {
  width: min(310px, 90%);
  max-height: 310px;
}
.bryan-york-profile .medal-tile img[src*="bryan-york-fmf-pin"],
.bryan-york-profile .medal-tile img[src*="bryan-york-corpsman-badge"],
.bryan-york-profile .medal-tile img[src*="bryan-york-ribbon-stack"],
.bryan-york-profile .medal-tile img[src*="bryan-york-3-5"] {
  max-height: 260px;
  object-fit: contain;
}
@media (max-width: 900px) {
  body.command-profile-page.bryan-york-profile {
    background-position: center 18vh !important;
    background-size: 118vw auto !important;
    background-attachment: scroll !important;
  }
}


/* Draft 74: PFC Drake Spigelmyer chain of command */
body.command-profile-page.drake-spigelmyer-profile,
body.command-profile-page.unit-35-profile.drake-spigelmyer-profile {
  background: #1a0b0c url("assets/drake-spigelmyer-3-5.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.drake-spigelmyer-profile::after { background: none !important; }
.drake-spigelmyer-profile .profile-crest::after { content: "3/5 DARKHORSE" !important; }
.drake-spigelmyer-profile .profile-crest img[src*="drake-spigelmyer-3-5"],
.featured-officer img[src*="drake-spigelmyer-3-5"],
.unit-member-card img[src*="drake-spigelmyer-3-5"] {
  object-fit: contain !important;
  background: rgba(3, 6, 8, .72) !important;
  padding: .35rem;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.drake-spigelmyer-profile .profile-crest img[src*="drake-spigelmyer-3-5"] {
  width: min(310px, 90%);
  max-height: 310px;
}
.drake-spigelmyer-profile .medal-tile img[src*="drake-spigelmyer-ribbon-stack"],
.drake-spigelmyer-profile .medal-tile img[src*="drake-spigelmyer-expert-badges"],
.drake-spigelmyer-profile .medal-tile img[src*="drake-spigelmyer-3-5"] {
  max-height: 260px;
  object-fit: contain;
}
@media (max-width: 900px) {
  body.command-profile-page.drake-spigelmyer-profile {
    background-position: center 18vh !important;
    background-size: 118vw auto !important;
  }
}


/* Draft 75: LCpl Rosette Surus chain of command */
body.command-profile-page.rosette-surus-profile,
body.command-profile-page.unit-35-profile.rosette-surus-profile {
  background: #1a0b0c url("assets/rosette-surus-3-5.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.rosette-surus-profile::after { background: none !important; }
.rosette-surus-profile .profile-crest::after { content: "3/5 DARKHORSE" !important; }
.rosette-surus-profile .profile-crest img[src*="rosette-surus-3-5"],
.featured-officer img[src*="rosette-surus-3-5"],
.unit-member-card img[src*="rosette-surus-3-5"] {
  object-fit: contain !important;
  background: rgba(3, 6, 8, .72) !important;
  padding: .35rem;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.76));
}
.rosette-surus-profile .profile-crest img[src*="rosette-surus-3-5"] {
  width: min(310px, 90%);
  max-height: 310px;
}
.rosette-surus-profile .medal-tile img[src*="rosette-surus-ribbon-stack"],
.rosette-surus-profile .medal-tile img[src*="rosette-surus-jump-wings"],
.rosette-surus-profile .medal-tile img[src*="rosette-surus-3-5"] {
  max-height: 260px;
  object-fit: contain;
}
@media (max-width: 900px) {
  body.command-profile-page.rosette-surus-profile {
    background-position: center 18vh !important;
    background-size: 118vw auto !important;
  }
}


/* Draft 76 - LCpl Sean Peters profile image lock */
body.command-profile-page.sean-peters-profile,
body.command-profile-page.unit-35-profile.sean-peters-profile {
  background: #1a0b0c url("assets/sean-peters-3-5.jpg") center center / min(78vw, 940px) auto no-repeat fixed !important;
}
body.sean-peters-profile::after { background: none !important; }
.sean-peters-profile .profile-crest::after { content: "3/5 DARKHORSE" !important; }
.sean-peters-profile .profile-crest img[src*="sean-peters-3-5"],
.featured-officer img[src*="sean-peters-3-5"],
.unit-member-card img[src*="sean-peters-3-5"] {
  object-fit: contain !important;
  background: rgba(0,0,0,.18) !important;
}
.sean-peters-profile .profile-crest img[src*="sean-peters-3-5"] {
  padding: 6px !important;
}
.sean-peters-profile .medal-tile img[src*="sean-peters-ribbon-stack"],
.sean-peters-profile .medal-tile img[src*="sean-peters-rifle-sharpshooter"],
.sean-peters-profile .medal-tile img[src*="sean-peters-3-5"] {
  object-fit: contain !important;
  background: rgba(0,0,0,.20) !important;
}
@media (max-width: 760px) {
  body.command-profile-page.sean-peters-profile {
    background-size: 92vw auto !important;
  }
}

/* Draft 77: Chain of Command stacked rank-order layout */
.command-hero .rank-order-callout,
.rank-breakdown .rank-order-callout {
  position: relative;
  z-index: 1;
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 4px solid var(--gold);
  border-radius: 14px;
  background: rgba(214, 170, 63, 0.07);
  color: var(--sand);
  font-weight: 800;
  line-height: 1.55;
}
.profile-section .profile-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.profile-section .profile-card.featured-officer.compact-command-card {
  width: 100%;
  grid-template-columns: 112px minmax(0, 1fr);
  min-height: 130px;
}
.profile-section .profile-card.featured-officer.compact-command-card img {
  width: 112px;
  height: 112px;
}
.profile-section .profile-card.featured-officer.compact-command-card h4 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.profile-section .profile-card.featured-officer.compact-command-card h4::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 12px rgba(214,170,63,.65);
}
@media (max-width: 640px) {
  .profile-section .profile-card.featured-officer.compact-command-card {
    grid-template-columns: 1fr;
  }
}


/* Draft 78: rank structure and inline rank badges */
.rank-name-line,
.profile-title h1,
.profile-card h4,
.profile-mini h4,
.member-card h4,
.command-stack-card h4 {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
}
.rank-badge-inline {
  width: 34px;
  height: 40px;
  object-fit: contain;
  flex: 0 0 auto;
  filter: drop-shadow(0 0 8px rgba(232,190,74,.35));
  vertical-align: middle;
}
.profile-title h1 .rank-badge-inline { width: 46px; height: 52px; }
.rank-structure-hero { position: relative; overflow: hidden; }
.rank-branch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.rank-branch-card { border: 1px solid rgba(218,169,53,.36); border-radius: 18px; padding: 1.1rem; background: rgba(8,9,13,.74); box-shadow: inset 0 0 28px rgba(0,0,0,.34); }
.rank-branch-card h3 { margin: .2rem 0 .6rem; color: #f1d06a; letter-spacing: .08em; text-transform: uppercase; }
.rank-table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.rank-table th, .rank-table td { border-bottom: 1px solid rgba(255,255,255,.10); padding: .68rem .5rem; text-align: left; vertical-align: top; }
.rank-table th { color: #e7c76c; text-transform: uppercase; letter-spacing: .08em; font-size: .76rem; }
.rank-table td:first-child { color: #fff; font-weight: 800; white-space: nowrap; }
.rank-table .rank-cell { display:flex; align-items:center; gap:.55rem; }
.rank-table .rank-cell img { width: 32px; height: 38px; object-fit: contain; }
.rank-note { color: rgba(255,255,255,.74); font-size: .92rem; line-height: 1.6; }
