:root{color-scheme:dark;--p50-bg:#06121c;--p50-panel:#0d2030;--p50-panel2:#112a3d;--p50-line:#2d475a;--p50-text:#eef2ef;--p50-muted:#aebbc5;--p50-accent:#f0c879;--p50-link:#f5dca8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--p50-bg);color:var(--p50-text);font:16px/1.58 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--p50-link);text-underline-offset:.18em}a:hover{text-decoration-thickness:.15em}.phase50-skip{position:absolute;left:-10000px;top:auto}.phase50-skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;color:#000;padding:.75rem 1rem}.phase50-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem clamp(1rem,4vw,4rem);border-bottom:1px solid var(--p50-line);background:#07131e}.phase50-header nav,.phase50-footer nav{display:flex;flex-wrap:wrap;gap:1rem}.phase50-brand{font:700 1.35rem Georgia,serif;color:#fff;text-decoration:none}.phase50-brand small{display:block;font:600 .55rem/1.2 system-ui;letter-spacing:.14em;text-transform:uppercase;color:var(--p50-muted)}.phase50-main{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:clamp(2.5rem,6vw,6rem) 0}.phase50-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start;margin-bottom:4rem}.phase50-kicker,.phase50-eyebrow{color:var(--p50-accent);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.phase50-hero h1{font:clamp(2.5rem,6vw,5.5rem)/.98 Georgia,serif;margin:.45rem 0 1.2rem;max-width:12ch}.phase50-lead{font-size:clamp(1.05rem,2vw,1.35rem);color:#d4dce1;max-width:56ch}.phase50-boundary{border:1px solid var(--p50-line);border-radius:1rem;padding:1.25rem;background:linear-gradient(145deg,var(--p50-panel),#081824)}.phase50-boundary h2{font:1.45rem Georgia,serif;margin:.15rem 0 .65rem}.phase50-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0 3rem}.phase50-card{border:1px solid var(--p50-line);border-radius:1rem;background:var(--p50-panel);padding:1.25rem;min-width:0}.phase50-card h2,.phase50-card h3{font-family:Georgia,serif;margin:.2rem 0 .55rem}.phase50-card p{color:#c8d1d7}.phase50-card a.phase50-action{display:inline-flex;min-height:44px;align-items:center;font-weight:750}.phase50-metric{font:700 2rem Georgia,serif;color:var(--p50-accent)}.phase50-table-wrap{overflow:auto;border:1px solid var(--p50-line);border-radius:1rem;margin:1.5rem 0 3rem}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;vertical-align:top;padding:.9rem;border-bottom:1px solid var(--p50-line)}th{background:#0b1d2b}.phase50-list{display:grid;gap:.75rem;list-style:none;padding:0}.phase50-list>li{border:1px solid var(--p50-line);border-radius:.8rem;background:var(--p50-panel);padding:1rem}.phase50-answer{max-width:850px}.phase50-answer h1{font:clamp(2rem,5vw,4.3rem)/1.05 Georgia,serif}.phase50-answer-text{font:1.2rem/1.65 Georgia,serif;border-left:.25rem solid var(--p50-accent);padding-left:1.2rem}.phase50-stop{border:1px solid #7a663b;border-radius:.75rem;background:#231e13;padding:1rem}.phase50-citation-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;color:var(--p50-muted);overflow-wrap:anywhere}.phase50-filter{display:grid;grid-template-columns:2fr 1fr auto;gap:.75rem;align-items:end;margin:1.5rem 0}.phase50-filter label{display:grid;gap:.35rem;font-weight:700}.phase50-filter input,.phase50-filter select,.phase50-filter button{min-height:44px;border:1px solid var(--p50-line);border-radius:.55rem;background:#071520;color:#fff;padding:.65rem .75rem;font:inherit}.phase50-filter button{background:var(--p50-accent);color:#101010;font-weight:800;cursor:pointer}.phase50-passage{scroll-margin-top:1rem}.phase50-passage blockquote{margin:1rem 0;padding:1rem 1.1rem;border-left:.25rem solid var(--p50-accent);background:#081824;color:#dce4e8}.phase50-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}.phase50-chip{border:1px solid var(--p50-line);border-radius:99px;padding:.25rem .55rem;font-size:.78rem;color:#cad4da}.phase50-related{margin:4rem auto 1rem;padding:1.5rem;border:1px solid var(--p50-line);border-radius:1rem;background:var(--p50-panel);max-width:1180px}.phase50-related h2{font-family:Georgia,serif}.phase50-related ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;padding:0}.phase50-related li a{display:flex;flex-direction:column;gap:.25rem;min-height:44px;padding:.8rem;border:1px solid var(--p50-line);border-radius:.65rem;text-decoration:none}.phase50-related li span{font-weight:800}.phase50-related li small,.phase50-related-note{color:var(--p50-muted)}.phase50-discovery-footer{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.phase50-footer{padding:2rem clamp(1rem,4vw,4rem);border-top:1px solid var(--p50-line);color:var(--p50-muted)}.phase50-footer nav{margin-top:.8rem}
@media(max-width:800px){.phase50-header{align-items:flex-start;flex-direction:column}.phase50-hero{grid-template-columns:1fr}.phase50-grid{grid-template-columns:1fr}.phase50-filter{grid-template-columns:1fr}.phase50-related ul{grid-template-columns:1fr}.phase50-main{width:min(100% - 1.25rem,1180px);padding-top:2.25rem}.phase50-hero h1{font-size:clamp(2.25rem,12vw,4rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:#fff;color:#000}.phase50-header nav,.phase50-footer,.phase50-filter,.phase50-related{display:none!important}.phase50-card,.phase50-boundary,.phase50-list>li{background:#fff;color:#000;border-color:#555}a{color:#000}.phase50-main{width:100%;padding:0}}


/* Phase 54 citation aliases: real scroll targets without visual or layout noise. */
.phase54-fragment-anchor {
  display: block;
  position: relative;
  width: 0;
  height: 0;
  overflow: hidden;
  scroll-margin-top: 7rem;
}
.phase54-fragment-anchor-bank {
  width: 0;
  height: 0;
  overflow: hidden;
}

/* Phase 56: restore the site's intended light palette after the globally injected
   Phase 50 discovery layer. Every selector is day-theme-only so night mode is
   deliberately unchanged. */
html[data-theme="day"] {
  color-scheme: light;
  --p50-bg: var(--bg, #f3f0e9);
  --p50-panel: var(--bg-elevated, #ffffff);
  --p50-panel2: var(--surface, #e5e0d6);
  --p50-line: var(--line-strong, rgba(23,34,44,.26));
  --p50-text: var(--text, #17222c);
  --p50-muted: var(--muted, #6d757b);
  --p50-accent: var(--gold-bright, #7c541d);
  --p50-link: var(--accent-text, #7c541d);
}

html[data-theme="day"] body {
  background:
    radial-gradient(circle at 15% 8%, rgba(75,114,143,.10), transparent 28rem),
    radial-gradient(circle at 85% 55%, rgba(217,179,107,.07), transparent 34rem),
    var(--bg, #f3f0e9);
  color: var(--text, #17222c);
  font-family: var(--font-sans, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size: 16px;
  line-height: 1.65;
}

:where(html[data-theme="day"] body) a {
  color: inherit;
}

html[data-theme="day"] body :is(.phase50-action, .phase50-related a, .phase50-discovery-footer a, .phase50-main a) {
  color: var(--p50-link);
}

html[data-theme="day"] body th {
  background: var(--surface, #e5e0d6);
  color: var(--text, #17222c);
}

html[data-theme="day"] body th,
html[data-theme="day"] body td {
  border-bottom-color: var(--line, rgba(23,34,44,.14));
}

html[data-theme="day"] .phase50-header {
  border-bottom-color: var(--p50-line);
  background: var(--bg-elevated, #fff);
}

html[data-theme="day"] .phase50-brand {
  color: var(--text, #17222c);
}

html[data-theme="day"] .phase50-lead,
html[data-theme="day"] .phase50-card p,
html[data-theme="day"] .phase50-passage blockquote,
html[data-theme="day"] .phase50-chip {
  color: var(--text-soft, #3e4b55);
}

html[data-theme="day"] .phase50-boundary {
  background: linear-gradient(145deg, var(--bg-elevated, #fff), var(--bg-soft, #ece8df));
}

html[data-theme="day"] .phase50-card,
html[data-theme="day"] .phase50-list > li,
html[data-theme="day"] .phase50-related {
  background: var(--bg-elevated, #fff);
}

html[data-theme="day"] .phase50-stop {
  border-color: color-mix(in srgb, var(--gold, #9a6c28) 58%, var(--line-strong, rgba(23,34,44,.26)));
  background: color-mix(in srgb, var(--gold-bright, #7c541d) 8%, var(--bg-elevated, #fff));
}

html[data-theme="day"] .phase50-filter input,
html[data-theme="day"] .phase50-filter select {
  border-color: var(--p50-line);
  background: var(--bg-elevated, #fff);
  color: var(--text, #17222c);
}

html[data-theme="day"] .phase50-passage blockquote {
  background: var(--bg-soft, #ece8df);
}

/* Phase 57 — light-mode contrast, explicit-theme, and component completion.
   Every declaration is scoped to data-theme="day"; night mode is untouched. */
html[data-theme="day"] {
  --muted: #505b64;
  --p50-muted: var(--muted, #505b64);
  --gold: #7c541d;
}

html[data-theme="day"] .skip-link {
  border: 1px solid color-mix(in srgb, var(--accent-on-fill, #13171a) 24%, transparent);
  background: var(--accent-fill, #f0d39a);
  color: var(--accent-on-fill, #13171a);
}

html[data-theme="day"] .button.button-primary,
html[data-theme="day"] .phase50-filter button {
  border-color: var(--accent-fill, #f0d39a);
  background: var(--accent-fill, #f0d39a);
  color: var(--accent-on-fill, #13171a);
}

html[data-theme="day"] .button.button-primary:hover,
html[data-theme="day"] .phase50-filter button:hover {
  border-color: var(--accent-fill-hover, #ffe3aa);
  background: var(--accent-fill-hover, #ffe3aa);
  color: var(--accent-on-fill, #13171a);
}

html[data-theme="day"] .report-id,
html[data-theme="day"] .card-meta {
  color: var(--gold, #7c541d);
}

html[data-theme="day"] .claim-data { color: #24666a; }
html[data-theme="day"] .claim-speculation { color: #8a4862; }

html[data-theme="day"] .phase50-related {
  color: var(--text, #17222c);
}

html[data-theme="day"] .phase50-related h2,
html[data-theme="day"] #phase50-related-heading {
  color: var(--text, #17222c);
}

/* The photographic homepage hero intentionally remains a dark retained surface
   in light mode. Keep every label and path accent on the night-surface palette. */
html[data-theme="day"] .home-hero .hero-scroll { color: rgba(255,255,255,.78); }
html[data-theme="day"] .home-hero .hero-labels > span + span::before { color: #d9b36b; }
html[data-theme="day"] .home-hero .claim-text { color: #f0d39a; }
html[data-theme="day"] .home-hero .claim-language { color: #8cb8d8; }
html[data-theme="day"] .home-hero .claim-history { color: #9fc9ad; }
html[data-theme="day"] .home-hero .claim-tradition { color: #b9a6d4; }
html[data-theme="day"] .home-hero .claim-interpretation { color: #e0a56f; }
html[data-theme="day"] .home-hero .claim-disputed { color: #dc8e82; }
html[data-theme="day"] .home-hero .claim-data { color: #7fc7c6; }
html[data-theme="day"] .home-hero .claim-speculation { color: #d68ca8; }
html[data-theme="day"] .home-hero .hero-compass-list .hero-compass-link { --path-accent: #f0d39a; }
html[data-theme="day"] .home-hero .hero-compass-list li:nth-child(2) .hero-compass-link { --path-accent: #8cb8d8; }
html[data-theme="day"] .home-hero .hero-compass-list li:nth-child(3) .hero-compass-link { --path-accent: #e0a56f; }

html[data-theme="day"] .home-entry-card-manuscript { --entry-accent: #24666a; }
html[data-theme="day"] .home-entry-card-global { --entry-accent: #3e7350; }
html[data-theme="day"] .feature-band .eyebrow,
html[data-theme="day"] .feature-band .parallel-preview span { color: #f0d39a; }
