: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; } }


/* Command Profiles 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: "V35";
  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 command profile 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-reaper.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-reaper.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-reaper.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 profile 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-reaper.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-reaper.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 command profile 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;
  }
}
