/* Cloud Waypoint public brief. Load after brief-layout.css.
 * White-first public palette; no WWT insignia, icon assets or remote fonts.
 * Roobert faces are declared by brief-layout.css using licensed local files. */
:root { color-scheme: light; background: #fff; }
html, body { background: #fff; }

#cw-public-brief {
  --brief-purple: #175b89; /* Compatibility token for inherited navigation/CTA rules. */
  --brief-blue: #175b89;
  --brief-accent: #886619;
  --brief-ink: #24384a;
  --brief-muted: #506579;
  --brief-line: #cbdbe6;
  --brief-paper: #fff;
  --brief-soft: #edf5fb;
  --brief-heading: #164b72;
  --brief-figure: #edf5fb;
  --brief-connector: #6d879a;
  --brief-button: #175b89;
  --brief-button-hover: #114568;
  --brief-on-button: #fff;
  --brief-focus: #175b89;
  color-scheme: light;
  overflow-wrap: break-word;
}

#cw-public-brief :is(h1, h1 em, h2, h3) { color: var(--brief-heading); }
#cw-public-brief :is(a, summary):focus-visible {
  outline: 3px solid var(--brief-focus);
  outline-offset: 4px;
}
#cw-public-brief a { text-decoration-skip-ink: auto; }
#cw-public-brief .brief-brand {
  min-width: 0;
  gap: 14px;
  text-decoration: none;
}
#cw-public-brief .brief-wordmark {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
}
#cw-public-brief .brief-brandcopy {
  min-width: 0;
  padding-left: 0;
  border: 0;
  color: var(--brief-heading);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -.025em;
}
#cw-public-brief .brief-brandcopy b { font-weight: 700; }
#cw-public-brief .brief-brandcopy span {
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: 0;
  color: var(--brief-muted);
}
#cw-public-brief .brief-hero { background: var(--brief-paper); }
#cw-public-brief .brief-map {
  background: var(--brief-figure);
  box-shadow: none;
}
#cw-public-brief :is(.brief-audience, .brief-num, .brief-rmf span, .brief-contact, .brief-skip) {
  background: var(--brief-paper);
}
#cw-public-brief .brief-node:not(:last-of-type)::after { background: var(--brief-connector); }
#cw-public-brief .brief-rmf li:not(:last-child)::after { border-color: var(--brief-connector); }
#cw-public-brief .brief-primary {
  color: var(--brief-on-button);
  background: var(--brief-button);
  border-color: var(--brief-button);
}
#cw-public-brief .brief-primary:hover {
  background: var(--brief-button-hover);
  border-color: var(--brief-button-hover);
}
#cw-public-brief .brief-program-bar { background: var(--brief-heading); }
#cw-public-brief .brief-foundations-bar { background: var(--brief-blue); }
#cw-public-brief .brief-data-bar { background: var(--brief-accent); }
#cw-public-brief .brief-icon { width: 25px; height: 25px; }
#cw-public-brief :is(.brief-hero, .brief-two, .brief-three, .brief-tracks) > * { min-width: 0; }

/* Supporting links may follow the existing foot as a native details element. */
#cw-public-brief .brief-support {
  padding: 0 max(32px, calc((100vw - 1180px) / 2)) 24px;
  font-size: 14px;
  color: var(--brief-muted);
  background: var(--brief-paper);
}
#cw-public-brief .brief-support summary { font-size: 14px; }
#cw-public-brief .brief-support :is(nav, ul) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  padding: 0;
  margin: 0 0 16px;
  list-style: none;
}
#cw-public-brief .brief-support a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  #cw-public-brief .brief-support { padding: 0 24px 24px; }
  #cw-public-brief .brief-brandcopy { font-size: 20px; }
}
@media (max-width: 480px) {
  #cw-public-brief .brief-rmf li { grid-template-columns: 36px 82px minmax(0, 1fr); gap: 8px; }
}

/* System preference only; light is the default without a preference. */
@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; background: #14212e; }
  html, body { background: #14212e; }
  #cw-public-brief {
    --brief-purple: #9dd4ff;
    --brief-blue: #9dd4ff;
    --brief-accent: #e2bf69;
    --brief-ink: #e8f0f6;
    --brief-muted: #bacbd8;
    --brief-line: #41596c;
    --brief-paper: #14212e;
    --brief-soft: #1d3244;
    --brief-heading: #c1e3ff;
    --brief-figure: #1d3244;
    --brief-connector: #8ba9be;
    --brief-button: #9dd4ff;
    --brief-button-hover: #c1e3ff;
    --brief-on-button: #14212e;
    --brief-focus: #e2bf69;
    color-scheme: dark;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  #cw-public-brief *, #cw-public-brief *::before, #cw-public-brief *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media print {
  :root { color-scheme: light; background: #fff; }
  html, body { background: #fff; }
  #cw-public-brief {
    --brief-purple: #164b72;
    --brief-blue: #164b72;
    --brief-accent: #735410;
    --brief-ink: #172b3a;
    --brief-muted: #334b5b;
    --brief-line: #a4b4bf;
    --brief-paper: #fff;
    --brief-soft: #fff;
    --brief-heading: #164b72;
    --brief-figure: #fff;
    --brief-connector: #526b7d;
    --brief-button: #fff;
    --brief-button-hover: #fff;
    --brief-on-button: #164b72;
    color-scheme: light;
    font-size: 11pt;
  }
  #cw-public-brief .brief-skip { display: none; }
  #cw-public-brief .brief-primary { border-color: var(--brief-blue); }
  #cw-public-brief :is(.brief-map, .brief-rmf-figure, .brief-timeline, tr) { break-inside: avoid; }
  #cw-public-brief :is(h1, h2, h3, summary) { break-after: avoid; }
  #cw-public-brief .brief-timeline-bar { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Shared structural rules for script-free, source-derived reference pages. */
[data-reference]{--ref-ink:var(--brief-ink,var(--wwt-ink));--ref-muted:var(--brief-muted,var(--wwt-muted));--ref-line:var(--brief-line,var(--wwt-line));--ref-paper:var(--brief-paper,var(--wwt-paper));--ref-soft:var(--brief-soft,var(--wwt-soft));--ref-blue:var(--brief-blue,var(--wwt-blue));--ref-gold:var(--brief-accent,#85671d);max-width:1180px;margin:auto;padding:30px 32px 64px;overflow-wrap:anywhere;color:var(--ref-ink)}
[data-reference] .ref-hero{padding:8px 0 26px;border-bottom:1px solid var(--ref-line);margin-bottom:30px}
[data-reference] h1{font-size:clamp(30px,4vw,48px);line-height:1.12;max-width:900px;margin:12px 0 22px}
[data-reference] h2{font-size:clamp(25px,3vw,34px);line-height:1.2;margin:0 0 18px}
[data-reference] h3{font-size:23px;line-height:1.3;margin:14px 0}
[data-reference] h4{font-size:18px;margin:12px 0}
[data-reference] p{margin:10px 0 16px;max-width:90ch}
[data-reference] li{margin:7px 0}
[data-reference] main,[data-reference] section{min-width:0}
[data-reference]>section{padding:28px 0;border-bottom:1px solid var(--ref-line);scroll-margin-top:24px}
[data-reference] .ref-kicker{font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.06em;color:var(--ref-muted)}
[data-reference] .ref-lead{font-size:20px}
[data-reference] .ref-note,[data-reference] .ref-provenance{font-size:13px;color:var(--ref-muted)}
[data-reference] .ref-jumps{display:flex;flex-wrap:wrap;gap:8px 22px;padding:22px 0;border-bottom:1px solid var(--ref-line)}
[data-reference] .ref-rmf{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;padding:0;list-style:none}
[data-reference] .ref-rmf li{padding:14px 12px;border-top:3px solid var(--ref-gold);background:var(--ref-soft);font-size:14px}
[data-reference] .ref-rmf strong{font-size:16px}
[data-reference] details{border-top:1px solid var(--ref-line);margin:0}
[data-reference] summary{display:block;cursor:pointer;padding:18px 36px 18px 0;font-weight:600;position:relative;list-style:none;color:var(--ref-blue)}
[data-reference] summary::-webkit-details-marker{display:none}
[data-reference] summary::after{content:'+';position:absolute;right:8px;top:16px;font-size:22px}
[data-reference] details[open]>summary::after{content:'−'}
[data-reference] .ref-detail{padding:0 0 22px}
[data-reference] .ref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
[data-reference] .ref-grid section{background:var(--ref-soft);padding:16px}
[data-reference] .ref-contribution,[data-reference] .ref-tag{font-size:13px;font-weight:600}
[data-reference] .ref-tag{display:block}
[data-reference] .ref-output{padding:12px 0;border-bottom:1px solid var(--ref-line)}
[data-reference] .ref-guide h2{margin-top:46px;padding-top:24px;border-top:1px solid var(--ref-line)}
[data-reference] .table-scroll{overflow:auto;max-width:100%;margin:24px 0;border:1px solid var(--ref-line)}
[data-reference] table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
[data-reference] th,[data-reference] td{padding:12px;vertical-align:top;text-align:left;border-bottom:1px solid var(--ref-line)}
[data-reference] th{background:var(--ref-soft)}
[data-reference] .ref-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0;list-style:none;counter-reset:event}
[data-reference] .ref-step{padding:20px;border:1px solid var(--ref-line);border-top:4px solid var(--ref-muted);position:relative;counter-increment:event}
[data-reference] .ref-step::before{content:counter(event,decimal-leading-zero);font-weight:700;font-size:26px}
[data-reference] .ref-step.ref-blue{border-top-color:var(--ref-blue);background:var(--ref-soft)}
[data-reference] .ref-step.ref-amber{border-top-color:var(--ref-gold)}
[data-reference] .ref-hold{border-left:3px solid var(--ref-gold);padding:10px 14px;background:var(--ref-soft)}
[data-reference] dl{margin:8px 0}[data-reference] dt{font-weight:600;text-transform:capitalize;margin-top:12px}[data-reference] dd{margin:6px 0 16px}
@media(max-width:960px){[data-reference] .ref-rmf{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){[data-reference]{padding:22px 20px 40px}[data-reference] .ref-grid,[data-reference] .ref-flow{grid-template-columns:1fr}[data-reference] .ref-rmf{grid-template-columns:repeat(2,minmax(0,1fr))}[data-reference] th,[data-reference] td{padding:9px;min-width:110px}}
@media print{[data-reference]{padding:0;max-width:none}[data-reference] .ref-rmf{grid-template-columns:repeat(4,minmax(0,1fr))}[data-reference] .ref-step,[data-reference] tr{break-inside:avoid}[data-reference] summary::after{display:none}}
[data-reference] figure{margin:24px 0}[data-reference] figure img{display:block;width:100%;max-width:960px;height:auto}[data-reference] figcaption{font-size:14px;color:var(--ref-muted)}
