:root {
  --v5-bg: var(--evidence-bg, #edf0ec);
  --v5-surface: var(--evidence-surface, #f9faf7);
  --v5-ink: var(--evidence-ink, #142226);
  --v5-muted: var(--evidence-muted, #47585c);
  --v5-line: var(--evidence-line, #aab5b2);
  --v5-teal: var(--evidence-steel-dark, #315760);
  --v5-signal: var(--evidence-signal, #9a321d);
  --v5-display: var(--evidence-display, "Bahnschrift Condensed", "Arial Narrow", "Microsoft YaHei", sans-serif);
  --v5-body: var(--evidence-body, "Segoe UI", "Microsoft YaHei", sans-serif);
  --v5-mono: var(--evidence-mono, "Cascadia Mono", Consolas, monospace);
  --v5-max: var(--evidence-max, 1340px);
  --v5-pad: var(--evidence-pad, clamp(16px, 3vw, 48px));
  --v5-header: 72px;
  --v5-route: 50px;
}

html { scroll-padding-top: calc(var(--v5-header) + var(--v5-route) + 20px); }
body[data-shell-version="4.1"] {
  min-width: 0;
  overflow-x: clip;
  background: var(--v5-bg);
  color: var(--v5-ink);
  font-family: var(--v5-body);
}
body[data-shell-version="4.1"] main { min-width: 0; }
body[data-shell-version="4.1"] code { overflow-wrap: anywhere; }

.star-shell-wrap { width: min(calc(100% - 2 * var(--v5-pad)), var(--v5-max)); margin-inline: auto; }

.star-global-header {
  position: sticky;
  top: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: auto 1fr auto;
  min-height: var(--v5-header);
  border-bottom: 1px solid var(--v5-ink);
  background: color-mix(in srgb, var(--v5-bg) 96%, transparent);
  backdrop-filter: blur(14px);
}
.star-brand {
  display: grid;
  place-content: center start;
  min-width: 214px;
  padding: 11px var(--v5-pad);
  border-right: 1px solid var(--v5-ink);
  color: var(--v5-ink);
  font: 800 22px/1 var(--v5-display);
  letter-spacing: .12em;
  text-decoration: none;
}
.star-brand small {
  margin-top: 6px;
  color: var(--v5-muted);
  font: 700 11px/1.15 var(--v5-mono);
  letter-spacing: .045em;
}
.star-nav { display: flex; justify-content: flex-end; align-items: stretch; }
.star-nav a {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 10px clamp(12px, 1.8vw, 24px);
  border-left: 1px solid var(--v5-line);
  color: var(--v5-ink);
  font-weight: 700;
  text-decoration: none;
}
.star-nav a:hover, .star-nav a[aria-current="page"] { background: var(--v5-ink); color: var(--v5-surface); }
.star-nav .star-nav-pilot { display: none; }
.star-header-action {
  align-self: center;
  min-height: 44px;
  margin-inline: 14px var(--v5-pad);
  padding: 10px 15px;
  border: 1px solid var(--v5-ink);
  background: var(--v5-ink);
  color: var(--v5-surface);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.star-menu {
  display: none;
  min-width: 64px;
  border: 0;
  border-left: 1px solid var(--v5-ink);
  background: transparent;
  color: var(--v5-ink);
  font-weight: 800;
}

.star-task-route {
  position: sticky;
  top: var(--v5-header);
  z-index: 55;
  min-height: var(--v5-route);
  border-bottom: 1px solid var(--v5-ink);
  background: color-mix(in srgb, var(--v5-surface) 97%, transparent);
  backdrop-filter: blur(12px);
  overflow: hidden;
}
.star-task-route__inner { display: grid; grid-template-columns: auto 1fr; align-items: stretch; min-height: var(--v5-route); }
.star-task-route__label {
  display: grid;
  align-content: center;
  min-width: 214px;
  padding-inline: var(--v5-pad) 18px;
  border-right: 1px solid var(--v5-line);
  color: var(--v5-teal);
  font: 700 11px/1.25 var(--v5-mono);
  letter-spacing: .04em;
}
.star-task-route ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.star-task-route li { min-width: 0; border-right: 1px solid var(--v5-line); }
.star-task-route a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
  min-height: var(--v5-route);
  padding: 7px 12px;
  color: var(--v5-muted);
  text-decoration: none;
}
.star-task-route a span { color: var(--v5-teal); font: 700 11px/1 var(--v5-mono); }
.star-task-route a b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.star-task-route a[aria-current="step"] { background: var(--v5-ink); color: var(--v5-surface); }
.star-task-route a[aria-current="step"] span { color: #fff; }
.star-task-route li[data-task-view-state="completed"] a { color: var(--v5-teal); }
.star-task-route li[data-task-view-state="completed"] span::before { content: "✓ "; }
.star-reference-support {
  align-self: center;
  justify-self: end;
  margin-right: var(--v5-pad);
  color: var(--v5-signal);
  font: 700 10px/1.2 var(--v5-mono);
}

.star-context {
  border-bottom: 1px solid var(--v5-line);
  background: var(--v5-surface);
}
.star-context__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
  gap: 20px;
  align-items: center;
  min-height: 54px;
  padding-block: 8px;
}
.star-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.star-breadcrumb li { color: var(--v5-muted); font: 700 11px/1.35 var(--v5-mono); }
.star-breadcrumb li + li::before { content: "/"; margin-right: 6px; color: var(--v5-line); }
.star-breadcrumb a { color: inherit; }
.star-context__task { margin: 0; text-align: right; font-size: 14px; }
.star-context__task b { color: var(--v5-signal); font: 700 11px/1.35 var(--v5-mono); }
.star-context__selection { color: var(--v5-teal); font: 700 11px/1.35 var(--v5-mono); }

.star-task-starter { padding-block: clamp(44px, 7vw, 88px); border-block: 1px solid var(--v5-ink); background: var(--v5-surface); }
.star-task-starter__head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(260px, 3fr); gap: 36px; margin-bottom: 28px; }
.star-task-starter h2 { max-width: 14ch; margin: 0; font: 650 clamp(38px, 5vw, 70px)/.98 var(--v5-display); letter-spacing: -.035em; }
.star-task-starter__head p { margin: 0; align-self: end; color: var(--v5-muted); }
.star-task-starter__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--v5-ink); }
.star-entry-card {
  min-height: 220px;
  padding: 22px;
  border-right: 1px solid var(--v5-line);
  border-bottom: 1px solid var(--v5-line);
  color: var(--v5-ink);
  text-decoration: none;
}
.star-entry-card:last-child { border-right: 0; }
.star-entry-card:hover { background: var(--v5-bg); }
.star-entry-card span { color: var(--v5-signal); font: 700 11px/1 var(--v5-mono); }
.star-entry-card h3 { margin: 50px 0 10px; font: 650 26px/1.05 var(--v5-display); }
.star-entry-card p { margin: 0; color: var(--v5-muted); }
.star-code-open { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 22px; }
.star-code-open label { font: 700 11px/1.3 var(--v5-mono); }
.star-code-open input { min-height: 44px; border: 1px solid var(--v5-ink); background: var(--v5-bg); padding: 8px 12px; text-transform: uppercase; }
.star-code-open button { min-height: 44px; border: 1px solid var(--v5-ink); background: var(--v5-ink); color: #fff; padding: 8px 15px; font-weight: 800; }

.star-hero-image, .star-page-visual, .star-case-reference {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--v5-ink);
  background: #d8d2c8;
}
.star-hero-image img, .star-page-visual img, .star-case-reference img { width: 100%; height: 100%; object-fit: cover; }
.star-hero-image figcaption, .star-page-visual figcaption, .star-case-reference figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  background: color-mix(in srgb, var(--v5-ink) 88%, transparent);
  color: #fff;
  font: 700 10px/1.35 var(--v5-mono);
  letter-spacing: .035em;
}
.star-hero-image { grid-column: 2; grid-row: 1; min-height: 280px; aspect-ratio: 16/9; }
body[data-page-family="home"] .eo-hero__copy { grid-column: 1; grid-row: 1 / span 2; }
body[data-page-family="home"] .eo-hero__grid > .eo-record { grid-column: 2; grid-row: 2; }
body[data-page-family="home"] .eo-hero { min-height: auto; }
.star-page-visual { width: min(calc(100% - 2 * var(--v5-pad)), var(--v5-max)); margin: clamp(28px, 5vw, 64px) auto; aspect-ratio: 2/1; }
.star-page-visual--atlas, .star-page-visual--matrix, .star-page-visual--triptych { aspect-ratio: 3/1.42; }
.star-page-visual--detail { aspect-ratio: 2.7/1; }
.star-detail-visuals {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 16px;
  width: min(calc(100% - 2 * var(--v5-pad)), var(--v5-max));
  margin: clamp(28px, 5vw, 64px) auto;
}
.star-detail-visuals .star-page-visual, .star-detail-visuals .star-case-reference { width: auto; height: 100%; margin: 0; aspect-ratio: auto; min-height: 320px; }
.star-case-reference img { filter: grayscale(.68) sepia(.10) saturate(.55) contrast(.94); }
.star-case-reference::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: color-mix(in srgb, var(--v5-teal) 10%, transparent); mix-blend-mode: multiply; }
.star-case-reference figcaption { z-index: 1; }

.star-next-step { border-top: 1px solid var(--v5-ink); background: var(--v5-surface); }
.star-next-step__inner { display: grid; grid-template-columns: minmax(240px, 4fr) minmax(0, 8fr); gap: clamp(24px, 5vw, 64px); padding-block: clamp(38px, 6vw, 72px); }
.star-next-step__marker { color: var(--v5-signal); font: 700 11px/1.4 var(--v5-mono); }
.star-next-step h2 { max-width: 15ch; margin: 12px 0 0; font: 650 clamp(32px, 4vw, 56px)/.98 var(--v5-display); letter-spacing: -.03em; }
.star-next-step__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 32px; }
.star-next-step__body h3 { margin: 0 0 8px; color: var(--v5-teal); font: 700 11px/1.35 var(--v5-mono); }
.star-next-step__body p, .star-next-step__body ul { margin: 0; }
.star-next-step__body ul { padding-left: 18px; }
.star-next-step__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 8px; }
.star-primary-action, .star-secondary-action, .star-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 16px;
  border: 1px solid var(--v5-ink);
  border-radius: 0;
  font: 800 15px/1.2 var(--v5-body);
  text-decoration: none;
  cursor: pointer;
}
.star-primary-action, .star-action-button { background: var(--v5-ink); color: #fff; }
.star-secondary-action { background: transparent; color: var(--v5-ink); }
.star-non-effect { grid-column: 1 / -1; padding-top: 14px; border-top: 1px solid var(--v5-line); color: var(--v5-signal); font: 700 11px/1.45 var(--v5-mono); }

.star-global-footer { border-top: 1px solid var(--v5-ink); background: var(--v5-bg); }
.star-global-footer__main { display: grid; grid-template-columns: minmax(220px, 1.1fr) 2fr; gap: 40px; padding-block: 42px; }
.star-global-footer__brand { font: 800 26px/1 var(--v5-display); letter-spacing: .08em; }
.star-global-footer p { max-width: 48ch; margin: 10px 0 0; color: var(--v5-muted); }
.star-global-footer nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 24px; align-content: start; }
.star-global-footer a { min-height: 32px; font-weight: 700; }
.star-global-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block: 16px; border-top: 1px solid var(--v5-line); color: var(--v5-muted); font: 700 10px/1.4 var(--v5-mono); }

/* Legacy content becomes a supported page family inside the same Evidence shell. */
body[data-page-family^="solution-"] .page-hero,
body[data-page-family="pilot-contact"] .page-hero,
body[data-page-family="not-found"] .not-found { padding: clamp(48px, 8vw, 100px) var(--v5-pad); border-bottom: 1px solid var(--v5-ink); background: var(--v5-bg); }
body[data-page-family^="solution-"] .page-hero > *,
body[data-page-family="pilot-contact"] .page-hero > * { width: min(100%, var(--v5-max)); margin-inline: auto; }
body[data-page-family^="solution-"] .page-title,
body[data-page-family="pilot-contact"] .page-title { max-width: 13ch; margin: 0; color: var(--v5-ink); font: 650 clamp(50px, 7vw, 96px)/.92 var(--v5-display); letter-spacing: -.035em; }
body[data-page-family^="solution-"] .page-lead,
body[data-page-family="pilot-contact"] .page-lead { max-width: 64ch; color: var(--v5-muted); font-size: clamp(18px, 1.6vw, 22px); }
body[data-page-family^="solution-"] .site-section,
body[data-page-family="pilot-contact"] .site-section { width: min(calc(100% - 2 * var(--v5-pad)), var(--v5-max)); margin-inline: auto; padding-block: clamp(50px, 8vw, 100px); }
body[data-page-family^="solution-"] .section-title { color: var(--v5-ink); font-family: var(--v5-display); }
body[data-page-family^="solution-"] .solution-card,
body[data-page-family^="solution-"] .solution-matrix > *,
body[data-page-family="pilot-contact"] .solution-form,
body[data-page-family="pilot-contact"] .contact-guide { border-color: var(--v5-line); background: var(--v5-surface); color: var(--v5-ink); }
.assistant-launch { border: 1px solid var(--v5-ink) !important; background: var(--v5-ink) !important; color: #fff !important; }
.assistant-panel { border: 1px solid var(--v5-ink) !important; background: var(--v5-surface) !important; color: var(--v5-ink) !important; }

body[data-page-family="scenario-library"] .eo-tools { top: calc(var(--v5-header) + var(--v5-route)); }
body[data-page-family="scenario-detail"] .eo-page-head,
body[data-page-family="scenario-compare"] .eo-page-head { padding-top: clamp(44px, 6vw, 76px); }
.eo-table-scroll-hint { display: none; margin: 0 0 8px; color: var(--v5-muted); font: 700 11px/1.4 var(--v5-mono); }
.eo-table-wrap[tabindex]:focus-visible { outline: 3px solid var(--v5-signal); outline-offset: 3px; }
.star-pilot-context { margin: 0; padding: 14px 18px; border: 1px solid var(--v5-ink); background: var(--v5-surface); font: 700 12px/1.5 var(--v5-mono); }

@media (max-width: 1099px) {
  :root { --v5-header: 64px; }
  .star-global-header { grid-template-columns: 1fr auto; }
  .star-brand { min-width: 0; border-right: 0; }
  .star-menu { display: block; }
  .star-header-action { display: none; }
  .star-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-block: 1px solid var(--v5-ink);
    background: var(--v5-surface);
  }
  .has-v5-js .star-nav:not(.is-open) { display: none; }
  .star-nav a { min-height: 52px; border-left: 0; border-right: 1px solid var(--v5-line); }
  .star-nav .star-nav-pilot { display: flex; background: var(--v5-signal); color: var(--v5-ink); }
  .star-task-route__inner { display: block; width: 100%; max-width: 100vw; min-width: 0; overflow-x: auto; }
  .star-task-route__label { display: none; }
  .star-task-route ol { min-width: 720px; }
  .star-reference-support { display: none; }
  .star-context__inner { grid-template-columns: 1fr; gap: 6px; }
  .star-context__task { text-align: left; }
  .star-task-starter__head { grid-template-columns: 1fr; }
  .star-task-starter__grid { grid-template-columns: 1fr; }
  .star-entry-card { min-height: auto; border-right: 0; }
  .star-entry-card h3 { margin-top: 28px; }
  body[data-page-family="home"] .eo-hero__copy,
  .star-hero-image,
  body[data-page-family="home"] .eo-hero__grid > .eo-record { grid-column: 1; grid-row: auto; }
  .star-hero-image { width: 100%; min-height: 0; }
  body[data-page-family="home"] .eo-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .star-detail-visuals { grid-template-columns: 1fr; }
  .star-detail-visuals .star-page-visual, .star-detail-visuals .star-case-reference { min-height: 260px; }
  .star-next-step__inner { grid-template-columns: 1fr; }
  .star-global-footer__main { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .star-nav { grid-template-columns: 1fr; }
  .star-nav a { justify-content: start; border-right: 0; border-bottom: 1px solid var(--v5-line); }
  .star-brand small { max-width: 24ch; }
  .star-context { overflow: hidden; }
  .star-breadcrumb { overflow-x: auto; }
  .star-breadcrumb ol { flex-wrap: nowrap; width: max-content; }
  .star-page-visual { aspect-ratio: 4/3; }
  .star-page-visual--atlas, .star-page-visual--matrix, .star-page-visual--triptych { aspect-ratio: 3/2; }
  .star-page-visual--detail { aspect-ratio: 4/3; }
  .eo-table-scroll-hint { display: block; }
  .star-next-step__body { grid-template-columns: 1fr; }
  .star-next-step__actions, .star-non-effect { grid-column: 1; }
  .star-global-footer nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  .star-brand { padding-inline: 16px; }
  .star-menu { min-width: 58px; }
  .star-task-route ol { min-width: 650px; }
  .star-task-route a { min-height: 48px; }
  .star-primary-action, .star-secondary-action, .star-action-button { width: 100%; min-height: 48px; }
  .star-global-footer nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .star-global-header, .star-task-route { position: static; }
  .star-menu, .star-header-action, .star-next-step, .assistant-launch, .assistant-panel { display: none !important; }
}
