:root {
  --sim-bg: var(--theme-learning-surface-1);
  --sim-accent: var(--bb-kelly);
  --sim-border: var(--theme-learning-success-2);
}

/* --- NAVIGATION FIX (EXACT DNS MATCH) --- */

nav {
  height: 80px;
  background: var(--theme-component-page-21);
  border-bottom: 1px solid var(--sim-border);
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(10px);
}

nav .bb-container {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 130px;
}

.nav-logo img {
  height: 45px;
  filter: drop-shadow(0 0 5px var(--bb-kelly));
  transition: 0.3s ease;
  display: block;
}

/* --- MASTER LAYOUT --- */

body {
  padding-top: 80px;

  /* Essential to prevent content clipping */
  background-color: var(--bb-bg-deep);
}

.mission-header {
  height: 42vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  background-color: var(--theme-learning-page-4);
}

.header-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, transparent 0%, var(--bb-bg-deep) 90%);
  z-index: 2;
}

.mission-header-content {
  position: relative;
  z-index: 10;
}

.briefing-meta {
  font-family: var(--font-code);
  color: var(--bb-kelly);
  letter-spacing: 4px;
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-size: 14px;
  text-shadow: 0 0 10px var(--bb-kelly);
}

.mission-title {
  font-size: clamp(2.8rem, 9vw, 5.8rem);
  font-family: var(--font-tech);
  text-transform: uppercase;
  margin-bottom: 1rem;
  line-height: 0.9;
  color: var(--theme-component-ink-5);
  text-shadow: 0 0 30px var(--theme-learning-success-6);
}

.mission-subtitle {
  
  letter-spacing: 1px;
  
}

/* --- UI COMPONENTS --- */



.intel-content h2 {
  font-family: var(--font-tech);
  color: var(--bb-kelly);
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  border-left: 4px solid var(--bb-kelly);
  padding-left: 20px;
  letter-spacing: 2px;
}

.panel {
  background: var(--theme-catalog-surface-130);
  border-left: 4px solid var(--bb-kelly);
  padding: 25px;
  margin: 20px 0;
  border-radius: 0 4px 4px 0;
}

.intel-sub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 30px;
  margin: 40px 0;
}

.intel-card {
  background: var(--theme-learning-success-bg-8);
  border: 1px solid var(--theme-learning-success-9);
  padding: 25px;
  border-radius: 4px;
  transition: 0.3s;
}

.role-badge {
  display: inline-block;
  font-family: var(--font-code);
  font-size: 14px;
  background: var(--theme-learning-success-bg-10);
  padding: 2px 8px;
  border-radius: 2px;
  margin-bottom: 10px;
  color: var(--theme-component-ink-5);
  text-transform: uppercase;
}

.trouble-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-family: var(--font-tech);
}

.trouble-table th {
  text-align: left;
  padding: 15px;
  background: var(--theme-catalog-success-bg-132);
  color: var(--bb-kelly);
  border-bottom: 2px solid var(--bb-kelly);
  text-transform: uppercase;
}

.trouble-table td {
  padding: 15px;
  border-bottom: 1px solid var(--theme-component-border-14);
}

.exam-tip-box {
  background: var(--theme-catalog-success-bg-132);
  border: 1px dashed var(--bb-kelly);
  padding: 15px;
  border-radius: 4px;
  font-size: 14px;
  margin: 15px 0;
}

.myth-box {
  background: var(--theme-learning-error-bg-13);
  border-left: 4px solid var(--bb-error);
  padding: 20px;
  margin: 20px 0;
}

/* --- SIM MODULE SHARED STYLES --- */

.sim-wrapper-tactical {
  background: var(--sim-bg);
  border: 1px solid var(--sim-border);
  border-radius: 8px;
  margin: 40px 0;
  overflow: hidden;
  box-shadow: 0 10px 40px var(--theme-learning-shadow-color-14);
}

.sim-header-tactical {
  background: var(--theme-catalog-surface-70);
  padding: 15px 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--sim-border);
}

.sim-visualizer-tactical {
  height: 300px;
  position: relative;
  background: radial-gradient(circle at center, var(--theme-learning-page-16) 0%, var(--theme-component-page-20) 100%);
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 0 50px;
}

.sim-node-tactical {
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 5;
  text-align: center;
}

.sim-node-tactical i {
  font-size: 2.5rem;
  margin-bottom: 10px;
  color: var(--bb-text-dim);
  transition: 0.3s;
}

.sim-node-tactical.active i {
  color: var(--bb-kelly);
  filter: drop-shadow(0 0 15px var(--bb-kelly));
}

.sim-node-tactical span {
  font-family: var(--font-tech);
  text-transform: uppercase;
  font-size: 14px;
  color: var(--bb-text-muted);
}

.sim-info-grid-tactical {
  background: var(--theme-component-page-51);
  padding: 20px;
  border-top: 1px solid var(--sim-border);
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 20px;
}

.sim-fields-tactical {
  font-family: var(--font-code);
  font-size: 1rem;
  color: var(--bb-text-muted);
  border-right: 1px solid var(--theme-component-border-15);
  padding-right: 20px;
}

.sim-field-item span {
  color: var(--bb-kelly);
}

.sim-log-tactical {
  font-family: var(--font-code);
  font-size: 1rem;
  color: var(--theme-learning-ink-20);
  height: 120px;
  overflow-y: auto;
  padding-left: 10px;
}

.sim-controls-tactical {
  padding: 15px;
  background: var(--theme-component-page-20);
  display: flex;
  justify-content: center;
  gap: 15px;
  border-top: 1px solid var(--sim-border);
}

/* --- RELAY MODULE SPECIFICS --- */

.relay-subnet-tag {
  position: absolute;
  top: 20px;
  font-family: var(--font-code);
  font-size: 14px;
  color: var(--bb-text-dim);
  letter-spacing: 1px;
}

.relay-packet {
  width: 14px;
  height: 14px;
  background: var(--bb-kelly);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 15%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 10;
  box-shadow: 0 0 15px var(--bb-kelly);
  transition: left 0.8s ease-in-out, opacity 0.3s;
}

/* --- DORA SPECIFICS --- */

.dora-stage-pill {
  font-family: var(--font-tech);
  font-size: 14px;
  padding: 4px 12px;
  border: 1px solid var(--bb-text-dim);
  color: var(--bb-text-dim);
  border-radius: 20px;
  text-transform: uppercase;
  transition: 0.3s;
}

.dora-stage-pill.active {
  border-color: var(--bb-kelly);
  color: var(--bb-kelly);
  background: var(--theme-learning-success-bg-21);
}

/* --- APIPA MODULE STYLES --- */

.apipa-sim-wrapper {
  background: var(--sim-bg);
  border: 1px solid var(--theme-learning-error-22);
  border-radius: 8px;
  margin: 40px 0;
  overflow: hidden;
  box-shadow: 0 10px 40px var(--theme-component-error-3);
  transition: border-color 0.5s;
}

.apipa-sim-wrapper.server-online {
  border-color: var(--theme-learning-success-2);
}

.apipa-visualizer {
  height: 250px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  background: radial-gradient(circle at center, var(--theme-learning-page-24) 0%, var(--theme-component-page-20) 100%);
}

.apipa-pulse {
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--bb-error);
  border-radius: 50%;
  opacity: 0;
  animation: apipaPulse 2s infinite;
}

@keyframes apipaPulse {

  0% {
    transform: scale(1);
    opacity: 0.8;
  }

  100% {
    transform: scale(30);
    opacity: 0;
  }
}

/* Tactical Reticle */

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border: 1px solid var(--bb-kelly);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 10000;
  background-image: linear-gradient(90deg, var(--bb-kelly) 15%, transparent 15%, transparent 85%, var(--bb-kelly) 85%),
                              linear-gradient(180deg, var(--bb-kelly) 15%, transparent 15%, transparent 85%, var(--bb-kelly) 85%);
  background-position: center;
  background-size: 100% 1px, 1px 100%;
  background-repeat: no-repeat;
}

.cursor-coords {
  position: absolute;
  right: -90px;
  top: -15px;
  font-family: var(--font-code);
  font-size: 14px;
  color: var(--bb-kelly);
  line-height: 1.4;
  text-transform: uppercase;
  white-space: nowrap;
}

.cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 4px;
  height: 4px;
  background: var(--theme-catalog-surface-31);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 10001;
  pointer-events: none;
}

@media (hover: none), (pointer: coarse) {

  body {
    cursor: auto;
  }

  a, button, .intel-card, .mission-choice {
    cursor: auto !important;
  }

  .cursor, .cursor-dot {
    display: none;
  }
}

/* --- MODERN CORE LEARNING CHROME --- */

body.dhcp-modernized {
  cursor: none;
}

body.dhcp-modernized .mission-header {
  min-height: 520px;
  height: 54vh;
  border-bottom: 1px solid var(--theme-learning-success-26);
  background: radial-gradient(circle at 50% 35%, var(--theme-learning-success-bg-27), transparent 32%),
                linear-gradient(180deg, var(--theme-learning-page-28) 0%, var(--theme-learning-page-4) 100%);
}

body.dhcp-modernized .mission-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(var(--theme-learning-success-bg-29) 1px, transparent 1px),
                linear-gradient(90deg, var(--theme-learning-success-bg-29) 1px, transparent 1px);
  background-size: 80px 80px;
  opacity: 0.18;
  mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
}

body.dhcp-modernized .mission-subtitle {
  max-width: 760px;
  margin: 0 auto;
  
  
}

.learning-toolbar {
  position: sticky;
  top: 88px;
  z-index: 90;
  width: min(1120px, 100%);
  box-sizing: border-box;
  margin: 28px auto 46px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--theme-learning-page-30);
  border: 1px solid var(--theme-learning-success-31);
  border-radius: 8px;
  backdrop-filter: blur(14px);
}

.toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.section-progress {
  font-family: var(--font-code);
  color: var(--bb-text-muted);
  text-transform: uppercase;
  letter-spacing: 3px;
  white-space: nowrap;
}

.section-progress strong {
  color: var(--bb-kelly);
  margin-left: 8px;
}

.operator-rail {
  position: fixed;
  right: 18px;
  top: 188px;
  width: 250px;
  box-sizing: border-box;
  max-height: calc(100vh - 220px);
  overflow: auto;
  z-index: 75;
  display: none;
  padding: 14px;
  background: var(--theme-learning-page-32);
  border: 1px solid var(--theme-learning-success-33);
  border-radius: 8px;
  backdrop-filter: blur(14px);
}

.operator-rail.visible {
  display: block;
}

.operator-rail h4 {
  margin: 0 0 12px;
  font-family: var(--font-tech);
  font-size: 14px;
  letter-spacing: 1px;
  color: var(--bb-kelly);
  text-transform: uppercase;
}

.operator-rail a {
  display: block;
  text-decoration: none;
  color: var(--theme-learning-ink-34);
  font-size: 14px;
  line-height: 1.25;
  padding: 9px;
  border: 1px solid transparent;
  border-radius: 6px;
  margin-bottom: 5px;
}

.operator-rail a:hover,
        .operator-rail a.active {
  color: var(--theme-component-ink-5);
  background: var(--theme-learning-success-bg-35);
  border-color: var(--theme-learning-success-36);
}



body.dhcp-modernized .intel-content > p {
  
  
}

body.dhcp-modernized .panel {
  border: 1px solid var(--theme-learning-success-37);
  border-left: 4px solid var(--bb-kelly);
  background: linear-gradient(135deg, var(--theme-learning-success-bg-38), var(--theme-learning-info-bg-39));
  box-shadow: 0 18px 48px var(--theme-learning-shadow-color-40);
}

body.dhcp-modernized .intel-card {
  position: relative;
  cursor: default;
  min-height: 172px;
  overflow: hidden;
  border-color: var(--theme-learning-success-37);
  background: linear-gradient(180deg, var(--theme-learning-success-bg-41), var(--theme-learning-page-42));
}

body.dhcp-modernized .intel-card:hover {
  transform: translateY(-2px);
  border-color: var(--theme-learning-success-6);
  box-shadow: 0 18px 42px var(--theme-learning-success-43);
}

.mission-check-panel {
  border: 1px solid var(--theme-learning-success-33);
  background: var(--theme-learning-page-44);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 20px 60px var(--theme-learning-shadow-color-45);
}

.mission-check-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 20px 24px;
  background: var(--theme-catalog-surface-25);
  border-bottom: 1px solid var(--theme-learning-success-47);
}

.mission-check-head span,
        .mission-question small {
  font-family: var(--font-code);
  color: var(--bb-cyan);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 15px;
}

.mission-score {
  font-family: var(--font-tech);
  color: var(--bb-kelly);
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mission-question {
  padding: 20px 24px;
  border-bottom: 1px solid var(--theme-learning-border-48);
}

.mission-question p {
  margin: 8px 0 14px;
  
}

.mission-choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.mission-choice {
  padding: 12px 14px;
  border: 1px solid var(--theme-learning-border-49);
  border-radius: 6px;
  background: var(--theme-catalog-surface-90);
  color: var(--theme-component-ink-5);
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.mission-choice:hover,
        .mission-choice.selected {
  border-color: var(--theme-learning-success-51);
  background: var(--theme-learning-success-bg-35);
}

.mission-choice.correct {
  border-color: var(--bb-kelly);
  color: var(--bb-kelly);
}

.mission-choice.incorrect {
  border-color: var(--bb-error);
  color: var(--theme-learning-error-52);
}

.mission-feedback {
  display: none;
  margin-top: 12px;
  padding: 12px 14px;
  border-left: 4px solid var(--bb-cyan);
  background: var(--theme-learning-info-bg-53);
  color: var(--bb-text-muted);
  line-height: 1.55;
}

.mission-question.answered .mission-feedback {
  display: block;
}

.resource-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.resource-card-grid a {
  justify-content: center;
}

@media (max-width: 1720px) {

  .operator-rail {
    display: none !important;
  }
}

@media (max-width: 900px) {

  .learning-toolbar {
    position: static;
    align-items: flex-start;
    flex-direction: column;
  }

  .section-progress {
    white-space: normal;
  }

  body.dhcp-modernized .mission-header {
    min-height: 420px;
  }
}

/* --- Hero: DORA handshake animation (Brett, review 2026-10-12: "boring hero, needs an animation") ---
   One 12s loop: Discover (broadcast ripple) > Offer > Request (broadcast) > Acknowledge > client shows its lease. */
.dora-scene { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 3; pointer-events: none; opacity: 0.75; transform: translateY(11%); }
.dora-wire { stroke: var(--theme-learning-success-31); stroke-width: 2; stroke-dasharray: 6 8; }
.dora-node rect { fill: var(--theme-learning-page-54); stroke: var(--theme-learning-success-55); stroke-width: 1.5; }
.dora-node path { fill: none; stroke: var(--bb-kelly, var(--theme-learning-success-56)); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; opacity: 0.8; }
.dora-node text { fill: var(--theme-learning-surface-57); font: 700 14px var(--font-code, monospace); letter-spacing: 2px; text-anchor: middle; }
.dora-node .dora-ip { fill: var(--bb-kelly, var(--theme-component-primary-1)); font-size: 15px; opacity: 0; animation: dora-ip 12s infinite; }
.dora-pkt circle { fill: var(--bb-kelly, var(--theme-component-primary-1)); filter: drop-shadow(0 0 8px rgba(0, 200, 83, 0.9)); }
.dora-pkt text { fill: var(--bb-kelly, var(--theme-component-primary-1)); font: 800 14px var(--font-code, monospace); letter-spacing: 2px; text-anchor: middle; }
.dora-pkt { opacity: 0; animation-duration: 12s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; }
.p-offer circle, .p-ack circle { fill: var(--theme-catalog-warning-14); filter: drop-shadow(0 0 8px rgba(255, 200, 87, 0.9)); }
.p-offer text, .p-ack text { fill: var(--theme-catalog-warning-14); }
.p-discover { animation-name: dora-discover; }
.p-offer    { animation-name: dora-offer; }
.p-request  { animation-name: dora-request; }
.p-ack      { animation-name: dora-ack; }
.dora-ring { fill: none; stroke: var(--bb-kelly, var(--theme-learning-success-56)); stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; animation: dora-ring 12s infinite ease-out; }
.dora-ring.r2 { animation-delay: 0.5s; }
@keyframes dora-discover { 0% { opacity: 0; transform: translateX(0); } 2% { opacity: 1; } 18% { opacity: 1; transform: translateX(768px); } 20%, 100% { opacity: 0; transform: translateX(768px); } }
@keyframes dora-offer    { 0%, 20% { opacity: 0; transform: translateX(0); } 22% { opacity: 1; } 38% { opacity: 1; transform: translateX(-768px); } 40%, 100% { opacity: 0; transform: translateX(-768px); } }
@keyframes dora-request  { 0%, 40% { opacity: 0; transform: translateX(0); } 42% { opacity: 1; } 58% { opacity: 1; transform: translateX(768px); } 60%, 100% { opacity: 0; transform: translateX(768px); } }
@keyframes dora-ack      { 0%, 60% { opacity: 0; transform: translateX(0); } 62% { opacity: 1; } 78% { opacity: 1; transform: translateX(-768px); } 80%, 100% { opacity: 0; transform: translateX(-768px); } }
@keyframes dora-ring     { 0% { opacity: 0.7; transform: scale(1); } 12% { opacity: 0; transform: scale(5); } 40% { opacity: 0; transform: scale(1); } 41% { opacity: 0.7; transform: scale(1); } 53% { opacity: 0; transform: scale(5); } 100% { opacity: 0; transform: scale(1); } }
@keyframes dora-ip       { 0%, 79% { opacity: 0; } 83%, 96% { opacity: 1; } 100% { opacity: 0; } }
@media (max-width: 640px) { .dora-scene { opacity: 0.45; } }
@media (prefers-reduced-motion: reduce) {
  .dora-pkt, .dora-ring { animation: none; opacity: 0; }
  .dora-node .dora-ip { animation: none; opacity: 1; }
}

/* T043: photographic network scenes and live service consoles */
body.dhcp-modernized .dhcp-network-scene{position:relative;background: var(--theme-learning-page-60);border-bottom: 1px solid var(--theme-learning-border-61);overflow:hidden;color: var(--theme-learning-ink-62)}
.dhcp-scene-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.dhcp-scene-labels{position:absolute;left:2%;right:2%;top:4%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;text-align:center}
.dhcp-scene-labels>div{padding:12px 8px;border: 1px solid var(--theme-learning-border-63);border-radius: 8px;background: var(--theme-learning-page-64);box-shadow: 0 6px 18px var(--theme-learning-shadow-color-65)}
.dhcp-scene-labels strong{display:block;font-size:1rem;color: var(--theme-learning-ink-66)}.dhcp-scene-labels span{display:block;margin-top:5px;font:14px/1.5 var(--font-code,monospace);color: var(--theme-learning-ink-67)}
.dhcp-scene-labels .active{border-color: var(--theme-learning-success-68);box-shadow: 0 0 0 2px var(--theme-learning-success-69)}
.dhcp-flow-track{position:absolute;top:23%;left:17%;right:11%;height:2px;background: var(--theme-learning-info-70);box-shadow: 0 0 12px var(--theme-learning-success-71)}
.dhcp-flow-track:before,.dhcp-flow-track:after{content:'';position:absolute;width:8px;height:8px;background: var(--theme-learning-primary-72);border-radius: 50%;top:-3px}.dhcp-flow-track:after{right:0}
.dhcp-flow-packet{position:absolute;left:0;top:-13px;transform:translateX(-50%);padding:5px 10px;background: var(--theme-learning-primary-73);color: var(--theme-learning-on-primary-74);border: 1px solid var(--theme-learning-success-75);border-radius: 5px;font:bold 14px/1.4 monospace;white-space:nowrap;opacity:0;box-shadow: 0 0 15px var(--theme-learning-success-76)}
.dhcp-flow-packet.in-flight{opacity:1;animation:dhcp-transit 1s ease-in-out forwards}.dhcp-flow-packet.reverse{animation-direction:reverse;background: var(--theme-learning-info-77);border-color: var(--theme-learning-border-78)}.dhcp-flow-packet.arrived{opacity:1;left:100%}.dhcp-flow-packet.arrived.reverse{left:0}
@keyframes dhcp-transit{from{left:var(--packet-from,0%)}to{left:var(--packet-to,100%)}}
.dhcp-flow-caption{position:absolute;bottom:0;left:0;right:0;margin:0!important;padding:12px 18px;background: var(--theme-learning-page-79);font:15px/1.6 var(--font-code,monospace);color: var(--theme-learning-ink-80);border-top: 1px solid var(--theme-learning-border-81)}
body.dhcp-modernized .sim-wrapper-tactical,body.dhcp-modernized .apipa-sim-wrapper{border: 1px solid var(--theme-learning-border-82);border-radius: 14px;overflow:hidden;box-shadow: 0 18px 44px var(--theme-learning-shadow-color-83)}
body.dhcp-modernized .sim-header-tactical{background: var(--theme-learning-page-84);padding:16px 20px;gap:14px;flex-wrap:wrap;color: var(--theme-learning-ink-85)}
body.dhcp-modernized .sim-info-grid-tactical{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);background: var(--bb-panel-bg,var(--theme-learning-page-86))}
body.dhcp-modernized .sim-fields-tactical{font-size:15px;min-width:0}
.dhcp-log-shell{min-width:0;background: var(--theme-learning-page-87);border: 1px solid var(--theme-learning-border-88);border-radius: 8px;overflow:hidden;margin:16px}
.sim-info-grid-tactical .dhcp-log-shell{margin:0}
.dhcp-log-title{display:flex;align-items:center;gap:9px;padding:10px 14px;background: var(--theme-learning-inset-89);border-bottom: 1px solid var(--theme-learning-border-88);color: var(--theme-learning-ink-90);font:14px/1.5 monospace}.dhcp-log-title small{margin-left:auto;font-size:15px;letter-spacing:1px;color: var(--theme-learning-muted-91)}.dhcp-status-led{width:6px;height:6px;background: var(--theme-learning-primary-92);border-radius: 50%}
body.dhcp-modernized .dhcp-log-shell .sim-log-tactical{height:170px;padding:12px 14px;border: 0;background: var(--theme-learning-page-87);color: var(--theme-learning-ink-93);font:15px/1.8 monospace;overflow:auto;overflow-wrap:anywhere;white-space:normal}
.dhcp-log-row{border-bottom: 1px solid var(--theme-learning-border-94);padding:5px 0}.dhcp-log-row time{color: var(--theme-learning-info-95);margin-right:8px}.dhcp-log-row b{color: var(--theme-learning-success-96);margin-right:7px;font-weight:500}
.dhcp-lease-dashboard{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:24px;background: var(--bb-panel-bg,var(--theme-learning-page-97))}
.dhcp-lease-readout{display:flex;flex-direction:column;gap:7px}.dhcp-lease-readout>span{font:14px/1.5 monospace;color: var(--bb-text-dim,var(--theme-learning-ink-98))}.dhcp-lease-readout strong{font:22px/1.5 monospace;color: var(--bb-text,var(--theme-learning-ink-99))}
.dhcp-clock{padding-top:13px}.dhcp-clock-track{height:10px;border-radius: 5px;background: var(--theme-learning-inset-100);overflow:hidden}.dhcp-clock-track span{display:block;width:0;height:100%;background: var(--theme-learning-primary-101);transition:width .4s}.dhcp-clock-ticks{display:flex;justify-content:space-between;gap:8px;font:14px/1.8 monospace;margin-top:12px;color: var(--bb-text-dim,var(--theme-learning-ink-98))}.dhcp-clock-ticks span:last-child{text-align:right}
.dhcp-clock-note{padding:0 24px;font-size:15px!important;color: var(--bb-text-dim,var(--theme-learning-ink-98))}
body.dhcp-modernized .sim-controls-tactical{display:flex;flex-wrap:wrap;gap:10px;padding:18px 20px}.dhcp-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}.mission-header .header-overlay{background: linear-gradient(90deg,var(--theme-learning-page-102),var(--theme-learning-page-103),var(--theme-learning-page-102))}
@media(max-width:600px){.dhcp-scene-labels{top:3%;gap:4px}.dhcp-scene-labels>div{padding:5px 3px}.dhcp-scene-labels strong{font-size:14px}.dhcp-scene-labels span{font-size:14px;line-height:1.4}.dhcp-flow-track{top:29%}.dhcp-flow-packet{font-size:14px;padding:3px 5px;top:-10px}.dhcp-flow-caption{font-size:15px;padding:6px 10px}.dhcp-scene-photo{min-height:235px;object-fit:cover}.dhcp-lease-dashboard{grid-template-columns:1fr;padding:16px;gap:8px}.dhcp-clock-note{padding:0 16px}body.dhcp-modernized .sim-info-grid-tactical{grid-template-columns:1fr}body.dhcp-modernized .dhcp-log-shell .sim-log-tactical{height:180px}.dhcp-clock-ticks{font-size:14px}.dhcp-log-title{font-size:14px}.dhcp-log-title small{font-size:15px}}
@media(prefers-reduced-motion:reduce){body.dhcp-modernized *,body.dhcp-modernized *:before,body.dhcp-modernized *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.dhcp-flow-packet.in-flight{opacity:1;left:100%}.dhcp-flow-packet.in-flight.reverse{left:0}}

.dhcp-scene-photo{aspect-ratio:2.15/1;object-fit:cover;object-position:center 59%}@media(max-width:600px){.dhcp-scene-photo{aspect-ratio:3/2;min-height:235px;object-fit:contain}}

/* Border geometry retained from the retired palette layer. */
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .intel-card{border-width:1px;border-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .trouble-table td{border-bottom-width:1px;border-bottom-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .sim-fields-tactical{border-right-width:1px;border-right-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .apipa-sim-wrapper{border-width:1px;border-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] body.dhcp-modernized .mission-header{border-bottom-width:1px;border-bottom-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .learning-toolbar{border-width:1px;border-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .operator-rail{border-width:1px;border-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] body.dhcp-modernized .panel{border-width:1px;border-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .mission-check-panel{border-width:1px;border-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .mission-check-head{border-bottom-width:1px;border-bottom-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .mission-question{border-bottom-width:1px;border-bottom-style:solid;}
html.bb-page-e3b478b5fd[data-bb-theme="patriotic"] .mission-choice{border-width:1px;border-style:solid;}
