.explorer-home {
  --home-red: #ee3124;
  --home-cyan: #57d2e4;
  position: fixed;
  z-index: 9000;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  color: #f4f6f9;
  background:
    radial-gradient(circle at 13% 17%, rgba(238,49,36,.13), transparent 28rem),
    radial-gradient(circle at 86% 55%, rgba(62,112,160,.11), transparent 34rem),
    linear-gradient(145deg, #080a0e 0%, #0d1016 54%, #090b10 100%);
  opacity: 0;
  overflow-y: auto;
  isolation: isolate;
  transition: opacity .22s ease;
}

.explorer-home[hidden] { display: none; }
.explorer-home.is-visible { opacity: 1; }
body.explorer-home-active { overflow: hidden; }

.command-grid {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, black, rgba(0,0,0,.3) 54%, transparent);
}

.command-topbar {
  min-height: 74px;
  padding: 13px clamp(20px, 4vw, 62px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(255,255,255,.075);
  background: rgba(7,9,13,.64);
  backdrop-filter: blur(14px);
}

.command-brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.command-brand > span:first-child {
  width: 39px;
  height: 39px;
  border: 1px solid rgba(238,49,36,.66);
  border-radius: 9px;
  display: grid;
  place-items: center;
  color: white;
  background: rgba(238,49,36,.12);
  font-family: "IBM Plex Mono", monospace;
  font-size: .84rem;
  font-weight: 700;
}
.command-brand > span:last-child { display: grid; gap: 2px; }
.command-brand b { font-size: .86rem; letter-spacing: .01em; }
.command-brand small { color: #7e8795; font-family: "IBM Plex Mono", monospace; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }

.command-skip {
  min-height: 38px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid #4a4f5b;
  color: #b6bdc8;
  background: transparent;
  font-size: .82rem;
  font-weight: 600;
}
.command-skip span { margin-left: 7px; color: var(--home-red); font-size: 1rem; }
.command-skip:hover { color: white; border-color: var(--home-red); }

.command-shell {
  width: min(1240px, calc(100% - 40px));
  margin: auto;
  padding: clamp(28px, 5vh, 68px) 0 clamp(24px, 4vh, 52px);
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr);
  align-items: center;
  gap: clamp(46px, 7vw, 96px);
}

.command-eyebrow {
  margin: 0 0 17px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #cbd0d8;
  font-family: "IBM Plex Mono", monospace;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.command-eyebrow span { width: 22px; height: 2px; background: var(--home-red); box-shadow: 0 0 10px rgba(238,49,36,.6); }
.command-lead h2 { margin: 0; font-size: clamp(2.35rem, 4.4vw, 4.65rem); letter-spacing: -.057em; line-height: .98; }
.command-lead h2 em { color: #9ba3af; font-style: normal; font-weight: 500; }
.command-summary { max-width: 630px; margin: 23px 0 27px; color: #a9b0bb; font-size: clamp(1rem, 1.35vw, 1.13rem); line-height: 1.65; }

.command-workflow { margin: 0 0 23px; padding: 17px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.09); border-bottom: 1px solid rgba(255,255,255,.09); list-style: none; }
.command-workflow li { min-width: 0; padding: 0 13px; display: flex; gap: 10px; border-right: 1px solid rgba(255,255,255,.075); }
.command-workflow li:first-child { padding-left: 0; }
.command-workflow li:last-child { padding-right: 0; border: 0; }
.command-workflow li > span { padding-top: 2px; color: var(--home-red); font-family: "IBM Plex Mono", monospace; font-size: .65rem; }
.command-workflow div { display: grid; gap: 3px; }
.command-workflow strong { font-size: .78rem; }
.command-workflow small { color: #727b89; font-size: .68rem; line-height: 1.35; }

.higher-ed-launch {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid rgba(87,210,228,.28);
  border-radius: 10px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 13px;
  color: white;
  background: linear-gradient(100deg, rgba(30,72,91,.35), rgba(17,24,32,.72));
  text-align: left;
}
.higher-ed-launch:hover { border-color: rgba(87,210,228,.62); background: linear-gradient(100deg, rgba(34,89,111,.46), rgba(20,28,38,.82)); transform: translateY(-1px); }
.higher-ed-icon { width: 37px; height: 37px; border-radius: 8px; display: grid; place-items: center; color: #8be6f2; background: rgba(87,210,228,.09); }
.higher-ed-icon svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.higher-ed-launch > span:nth-child(2) { display: grid; gap: 3px; }
.higher-ed-launch b { font-size: .83rem; }
.higher-ed-launch small { color: #8f99a7; font-size: .7rem; line-height: 1.35; }
.higher-ed-launch > span:last-child { color: var(--home-cyan); font-size: 1.1rem; }

.command-launchpad { padding: 22px; border: 1px solid rgba(255,255,255,.09); border-radius: 15px; background: rgba(16,19,26,.78); box-shadow: 0 28px 70px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.025); }
.launchpad-heading { min-height: 43px; margin: 0 2px 13px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.launchpad-heading span { color: #e2e5ea; font-size: .84rem; font-weight: 700; }
.launchpad-heading small { max-width: 230px; color: #717a88; font-size: .66rem; line-height: 1.4; text-align: right; }

.launch-card {
  position: relative;
  width: 100%;
  min-height: 128px;
  padding: 18px 18px 18px 16px;
  border: 1px solid #2a2f3a;
  border-radius: 11px;
  display: grid;
  grid-template-columns: 28px 44px 1fr 24px;
  align-items: center;
  gap: 13px;
  color: #f4f5f7;
  background: #151820;
  text-align: left;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.launch-card + .launch-card { margin-top: 10px; }
.launch-card:hover { border-color: #4a515e; background: #191d26; transform: translateX(3px); }
.launch-card.launch-primary { border-color: rgba(238,49,36,.42); background: linear-gradient(100deg, rgba(238,49,36,.13), #181a22 37%); box-shadow: inset 3px 0 0 var(--home-red); }
.launch-card.launch-primary:hover { border-color: rgba(255,81,69,.75); background: linear-gradient(100deg, rgba(238,49,36,.19), #1a1d25 42%); }
.launch-card.has-saved-session { border-color: rgba(105,219,164,.34); box-shadow: inset 3px 0 0 #69dba4; }
.launch-card.has-saved-session .launch-copy > small { color: #79dfa9; }
.launch-card.has-saved-session .launch-icon { border-color: rgba(105,219,164,.3); color: #86e7b5; background: rgba(105,219,164,.07); }
.launch-index { align-self: start; color: #586170; font-family: "IBM Plex Mono", monospace; font-size: .62rem; }
.launch-icon { width: 44px; height: 44px; border: 1px solid #333946; border-radius: 9px; display: grid; place-items: center; color: #b8c0cb; background: #11141a; }
.launch-primary .launch-icon { border-color: rgba(238,49,36,.4); color: #ff7167; background: rgba(238,49,36,.08); }
.launch-icon svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.launch-copy { min-width: 0; display: grid; gap: 5px; }
.launch-copy > small { color: #747e8d; font-family: "IBM Plex Mono", monospace; font-size: .6rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.launch-primary .launch-copy > small { color: #ff766d; }
.launch-copy strong { font-size: 1rem; }
.launch-copy > span { color: #8e97a5; font-size: .75rem; line-height: 1.45; }
.launch-arrow { color: #676f7c; font-size: 1.1rem; }
.launch-card:hover .launch-arrow { color: white; }

/* Every starting point gets the same accent treatment, including saved sessions. */
.launch-card[data-home-action="presenter"] { --launch-rgb: 255, 98, 105; --launch-ink: #ff999e; }
.launch-card[data-home-action="assessment"] { --launch-rgb: 83, 215, 157; --launch-ink: #8de9bb; }
.launch-card[data-home-action="scenario"] { --launch-rgb: 255, 178, 73; --launch-ink: #ffd08e; }
.launch-card[data-home-action="range"] { --launch-rgb: 170, 132, 255; --launch-ink: #cbb2ff; }
.launch-card[data-home-action="mission"] { --launch-rgb: 75, 213, 230; --launch-ink: #93ebf3; }
.launch-card[data-home-action="matrix"] { --launch-rgb: 87, 160, 255; --launch-ink: #a4caff; }
.launch-card[data-home-action="discovery"] { --launch-rgb: 240, 130, 180; --launch-ink: #ffb4d4; }
.command-launchpad .launch-card[data-home-action] {
  border-color: rgba(var(--launch-rgb), .48);
  background: linear-gradient(105deg, rgba(var(--launch-rgb), .18), rgba(var(--launch-rgb), .035) 85%), #141b27;
  box-shadow: inset 3px 0 0 rgb(var(--launch-rgb));
}
.command-launchpad .launch-card[data-home-action]:hover {
  border-color: rgba(var(--launch-rgb), .85);
  background: linear-gradient(105deg, rgba(var(--launch-rgb), .27), rgba(var(--launch-rgb), .07) 85%), #172132;
}
.command-launchpad .launch-card .launch-icon {
  color: var(--launch-ink);
  border-color: rgba(var(--launch-rgb), .5);
  background: rgba(var(--launch-rgb), .13);
}
.command-launchpad .launch-card .launch-copy > small,
.command-launchpad .launch-card .launch-index,
.command-launchpad .launch-card .launch-arrow { color: var(--launch-ink); }

.command-footer {
  min-height: 82px;
  padding: 13px clamp(20px, 4vw, 62px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  border-top: 1px solid rgba(255,255,255,.075);
  background: rgba(7,9,13,.72);
}
.command-stats { flex: 0 0 auto; display: flex; align-items: center; gap: 0; }
.command-stats > span { min-width: 112px; padding: 0 22px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; border-right: 1px solid rgba(255,255,255,.09); }
.command-stats > span:first-child { padding-left: 0; }
.command-stats > span:last-child { border: 0; }
.command-stats strong { font-family: "IBM Plex Mono", monospace; font-size: 1.15rem; }
.command-stats small { max-width: 70px; color: #77808e; font-size: .62rem; line-height: 1.2; text-transform: uppercase; }
.command-footer p { max-width: 670px; margin: 0; color: #777f8c; font-size: .66rem; line-height: 1.55; text-align: right; }
.command-footer p strong { color: #9fa7b3; }
.explorer-home-trigger span { color: #8f98a5; font-size: 1rem; }

@media (max-width: 1050px) {
  .command-shell { grid-template-columns: 1fr; align-items: start; gap: 34px; padding-top: 35px; }
  .command-lead h2 br { display: none; }
  .command-summary { margin-bottom: 21px; }
  .command-footer { align-items: flex-start; }
}

@media (max-width: 680px) {
  .command-topbar { min-height: 64px; padding: 11px 14px; }
  .command-brand small { display: none; }
  .command-skip { font-size: .75rem; }
  .command-shell { width: min(100% - 28px, 640px); padding: 27px 0 30px; gap: 28px; }
  .command-lead h2 { font-size: clamp(2.15rem, 12vw, 3.5rem); }
  .command-summary { font-size: .96rem; }
  .command-workflow { grid-template-columns: 1fr; gap: 13px; }
  .command-workflow li, .command-workflow li:first-child, .command-workflow li:last-child { padding: 0; border: 0; }
  .higher-ed-launch small { display: none; }
  .command-launchpad { padding: 13px; }
  .launchpad-heading small { display: none; }
  .launch-card { min-height: 115px; padding: 14px 12px; grid-template-columns: 38px 1fr 18px; gap: 11px; }
  .launch-index { display: none; }
  .launch-icon { width: 38px; height: 38px; }
  .launch-copy > span { font-size: .7rem; }
  .command-footer { padding: 17px 14px; display: grid; gap: 13px; }
  .command-stats { width: 100%; justify-content: space-between; }
  .command-stats > span { min-width: 0; padding: 0 11px; }
  .command-stats > span:first-child { padding-left: 0; }
  .command-stats > span:last-child { padding-right: 0; }
  .command-footer p { text-align: left; }
  .explorer-home-trigger { display: inline-flex; }
}

@media (max-width: 450px) {
  .command-brand > span:first-child { display: none; }
  .command-stats > span { display: block; }
  .command-stats strong, .command-stats small { display: block; }
  .command-stats small { margin-top: 3px; }
}

@media (prefers-reduced-motion: reduce) {
  .explorer-home, .launch-card, .higher-ed-launch { transition: none; }
  .launch-card:hover, .higher-ed-launch:hover { transform: none; }
}
