/* =========================================================================

   sce.nw — A New Awakening · Synthetic Cognition Engine

   Encyclopedia-grade reference styling. Dark default. R3, R13, R14 compliant.

   No hardcoded hex outside :root tokens. No external icon sets. S3 fonts only.

   ========================================================================= */





/* ---------- @font-face (S3 only) -------------------------------------- */

@font-face { font-family: "JetBrains Mono"; font-weight: 400; font-display: swap;

  src: url("https://neuraweb-storage.s3.us-east-2.amazonaws.com/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2") format("woff2"); }

@font-face { font-family: "JetBrains Mono"; font-weight: 700; font-display: swap;

  src: url("https://neuraweb-storage.s3.us-east-2.amazonaws.com/fonts/jetbrains-mono/JetBrainsMono-Bold.woff2") format("woff2"); }

@font-face { font-family: "DM Sans"; font-weight: 400; font-display: swap;

  src: url("https://neuraweb-storage.s3.us-east-2.amazonaws.com/fonts/dm-sans/DMSans-Regular.woff2") format("woff2"); }

@font-face { font-family: "DM Sans"; font-weight: 500; font-display: swap;

  src: url("https://neuraweb-storage.s3.us-east-2.amazonaws.com/fonts/dm-sans/DMSans-Medium.woff2") format("woff2"); }

@font-face { font-family: "DM Sans"; font-weight: 700; font-display: swap;

  src: url("https://neuraweb-storage.s3.us-east-2.amazonaws.com/fonts/dm-sans/DMSans-Bold.woff2") format("woff2"); }





/* ---------- :root tokens (dark default) ------------------------------- */

:root {

  --ds-bg:           #06090e;

  --ds-bg-alt:       #0b1220;

  --ds-bg-elev:      #0f1626;

  --ds-bg-glow:      radial-gradient(ellipse at 18% 0%, rgba(20,184,166,0.10) 0%, transparent 55%),

                     radial-gradient(ellipse at 82% 100%, rgba(99,102,241,0.07) 0%, transparent 55%);

  --ds-fg:           #e7eef5;

  --ds-fg-muted:     #94a3b8;

  --ds-fg-dim:       #64748b;



  --ds-accent:       #2dd4bf;

  --ds-accent-soft:  #14b8a6;

  --ds-accent-2:     #6366f1;   /* indigo gradient terminus — was hardcoded; now tokenised (R14) */

  --ds-accent-glow:  rgba(45,212,191,0.18);



  --ds-warn:         #f59e0b;

  --ds-gold:         #f5b942;

  --ds-green:        #34d399;



  --ds-rule:         rgba(148,163,184,0.18);

  --ds-rule-strong:  rgba(45,212,191,0.45);

  --ds-card:         rgba(15,23,42,0.55);

  --ds-card-hover:   rgba(20,33,60,0.78);

  --ds-card-border:  rgba(148,163,184,0.10);

  --ds-shadow:       0 1px 0 rgba(255,255,255,0.04) inset, 0 24px 60px -28px rgba(0,0,0,0.7);

  --ds-shadow-hover: 0 1px 0 rgba(255,255,255,0.06) inset, 0 30px 70px -28px rgba(0,0,0,0.85), 0 0 0 1px var(--ds-rule-strong);

  --ds-grid:         linear-gradient(rgba(148,163,184,0.045) 1px, transparent 1px),

                     linear-gradient(90deg, rgba(148,163,184,0.045) 1px, transparent 1px);



  --ds-link-internal: var(--ds-accent);

  --ds-link-external: var(--ds-accent-2);



  --ds-font-sans:    "DM Sans","Inter",system-ui,-apple-system,sans-serif;

  --ds-font-mono:    "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;



  --ds-fs-base:      16px;

  --ds-h1:           clamp(2.6rem, 6.5vw, 5.4rem);

  --ds-h1-page:      clamp(2.0rem, 4vw, 3.4rem);

  --ds-h2:           clamp(1.5rem, 2.6vw, 2.0rem);

  --ds-h3:           clamp(1.15rem, 1.5vw, 1.35rem);

  --ds-h4:           1.05rem;

  --ds-body:         1.0625rem;

  --ds-body-tight:   0.95rem;

  --ds-lede:         clamp(1.15rem, 1.5vw, 1.35rem);



  --ds-wrap:         760px;     /* prose-cap (manifesto, 404, search w/o results) */

  --ds-wrap-wide:    1480px;    /* encyclopedia-cap (hero, page bodies, glossary) */

  --ds-wrap-prose:   72ch;      /* readable measure inside --wide */

  --ds-pad-x:        clamp(1.25rem, 4vw, 3rem);

  --ds-section-y:    clamp(2.25rem, 5vw, 4rem);

  --ds-page-y:       clamp(1.75rem, 3.5vw, 3rem);

}



html[data-theme="light"] {

  --ds-bg:           #f7f8fa;

  --ds-bg-alt:       #eef2f6;

  --ds-bg-elev:      #ffffff;

  --ds-bg-glow:      radial-gradient(ellipse at 18% 0%, rgba(20,184,166,0.08) 0%, transparent 55%),

                     radial-gradient(ellipse at 82% 100%, rgba(99,102,241,0.05) 0%, transparent 55%);

  --ds-fg:           #0b1220;

  --ds-fg-muted:     #475569;

  --ds-fg-dim:       #64748b;

  --ds-accent:       #0f766e;

  --ds-accent-soft:  #14b8a6;

  --ds-accent-2:     #4f46e5;   /* slightly darker indigo for AA contrast on light */

  --ds-accent-glow:  rgba(15,118,110,0.10);

  --ds-rule:         rgba(15,23,42,0.10);

  --ds-rule-strong:  rgba(15,118,110,0.45);

  --ds-card:         rgba(255,255,255,0.7);

  --ds-card-hover:   rgba(255,255,255,0.95);

  --ds-card-border:  rgba(15,23,42,0.08);

  --ds-shadow:       0 1px 0 rgba(255,255,255,0.6) inset, 0 24px 60px -32px rgba(15,23,42,0.18);

  --ds-shadow-hover: 0 1px 0 rgba(255,255,255,0.8) inset, 0 30px 70px -32px rgba(15,23,42,0.28), 0 0 0 1px var(--ds-rule-strong);

  --ds-grid:         linear-gradient(rgba(15,23,42,0.04) 1px, transparent 1px),

                     linear-gradient(90deg, rgba(15,23,42,0.04) 1px, transparent 1px);

  --ds-link-internal: var(--ds-accent);

  --ds-link-external: var(--ds-accent-2);

}



html[data-fontsize="sm"] { --ds-fs-base: 14px; }

html[data-fontsize="md"] { --ds-fs-base: 16px; }

html[data-fontsize="lg"] { --ds-fs-base: 18px; }





/* ---------- reset + base --------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

html { font-size: var(--ds-fs-base); scroll-behavior: smooth; scroll-padding-top: 7rem; }

body {

  font-family: var(--ds-font-sans);

  color: var(--ds-fg);

  background: var(--ds-bg);

  background-image: var(--ds-bg-glow), var(--ds-grid);

  background-size: auto, 56px 56px;

  background-attachment: fixed, fixed;

  line-height: 1.6;

  -webkit-font-smoothing: antialiased;

  text-rendering: optimizeLegibility;

}



img, svg { max-width: 100%; height: auto; }

hr { border: 0; border-top: 1px solid var(--ds-rule); margin: 2rem 0; }

code, pre, kbd, samp { font-family: var(--ds-font-mono); font-size: 0.92em; }





/* ---------- a11y utilities ------------------------------------------- */

.sce-sr-only {

  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;

  clip: rect(0,0,0,0); white-space: nowrap; border: 0;

}

.sce-skip { position: absolute; left: -9999px; top: 0; }

.sce-skip:focus {

  left: 1rem; top: 1rem; padding: 0.5rem 0.75rem;

  background: var(--ds-accent); color: var(--ds-bg); z-index: 100; border-radius: 4px;

}





/* ---------- links (semantic distinction) ----------------------------- */

a { color: var(--ds-link-internal); text-decoration: none; transition: color .15s, border-color .15s; }

a:hover { color: var(--ds-fg); }

a:focus-visible { outline: 2px solid var(--ds-accent); outline-offset: 2px; border-radius: 2px; }



.sce-page-body a[href^="http"]:not([href*="neuraweb.io"]) { color: var(--ds-link-external); border-bottom: 1px dotted var(--ds-link-external); }

.sce-page-body a[href^="http"]:not([href*="neuraweb.io"]):hover { color: var(--ds-fg); border-bottom-color: var(--ds-fg); }

.sce-page-body a[href^="http"]:not([href*="neuraweb.io"])::after {

  content: "\2197"; font-size: 0.75em; margin-left: 0.15em; color: inherit; opacity: 0.7;

}





/* ---------- topbar (system bar) -------------------------------------- */

.sce-sysbar {

  position: sticky; top: 0; z-index: 50;

  border-bottom: 1px solid var(--ds-rule);

  background: color-mix(in oklab, var(--ds-bg) 90%, transparent);

  backdrop-filter: blur(12px);

  -webkit-backdrop-filter: blur(12px);

}

.sce-sysbar-inner {

  max-width: var(--ds-wrap-wide);

  margin: 0 auto;

  padding: 0.75rem var(--ds-pad-x);

  display: grid;

  grid-template-columns: auto 1fr auto;

  align-items: center;

  gap: 1.25rem;

}

.sce-brand { display: flex; align-items: center; gap: 0.65rem; color: var(--ds-fg); font-family: var(--ds-font-mono); font-size: 0.9rem; letter-spacing: 0.02em; }

.sce-brand-mark { color: var(--ds-accent); display: inline-flex; }

.sce-brand-acronym { font-weight: 700; }

.sce-brand-sep { color: var(--ds-fg-dim); margin: 0 0.4rem; }

.sce-brand-full { color: var(--ds-fg-muted); }



.sce-nav { display: flex; gap: 1.5rem; justify-self: center; font-family: var(--ds-font-mono); font-size: 0.85rem; }

.sce-nav a {

  color: var(--ds-fg-muted); border-bottom: 1px solid transparent; padding-bottom: 2px;

}

.sce-nav a:hover, .sce-nav a[aria-current="page"] { color: var(--ds-fg); border-bottom-color: var(--ds-accent); }



.sce-sysctl { display: flex; gap: 0.4rem; align-items: center; }

.sce-ctl {

  appearance: none; border: 1px solid var(--ds-rule); background: transparent; color: var(--ds-fg-muted);

  font-family: var(--ds-font-mono); font-size: 0.78rem; font-weight: 500;

  padding: 0.4rem 0.55rem; border-radius: 6px; cursor: pointer; line-height: 1;

  display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px;

  transition: background .15s, border-color .15s, color .15s;

}

.sce-ctl:hover { color: var(--ds-fg); border-color: var(--ds-accent); background: var(--ds-accent-glow); }

.sce-icon-sun { display: none; }

.sce-icon-moon { display: inline-block; }

html[data-theme="light"] .sce-icon-sun { display: inline-block; }

html[data-theme="light"] .sce-icon-moon { display: none; }



.sce-protocol-link {

  font-family: var(--ds-font-mono); font-size: 0.78rem; font-weight: 500;

  padding: 0.45rem 0.85rem; border-radius: 6px;

  background: var(--ds-accent); color: var(--ds-bg) !important;

  margin-left: 0.4rem; white-space: nowrap;

  border: 1px solid var(--ds-accent);

}

.sce-protocol-link:hover { background: transparent; color: var(--ds-accent) !important; }



@media (max-width: 900px) { .sce-brand-full, .sce-brand-sep { display: none; } }

@media (max-width: 820px) { .sce-nav { display: none; } }

@media (max-width: 540px) { .sce-protocol-link { display: none; } }





/* ---------- searchbar row (centered, persistent) --------------------- */

.sce-searchbar-row {

  border-top: 1px solid var(--ds-rule);

  background: color-mix(in oklab, var(--ds-bg-alt) 70%, transparent);

  padding: 0.75rem var(--ds-pad-x);

  display: flex; justify-content: center;

}

.sce-searchbar {

  display: flex; align-items: center; gap: 0;

  width: 100%; max-width: 720px;

  background: var(--ds-card);

  border: 1px solid var(--ds-card-border);

  border-radius: 8px;

  padding: 0.15rem 0.15rem 0.15rem 0.85rem;

  box-shadow: var(--ds-shadow);

  transition: border-color .15s, box-shadow .15s;

}

.sce-searchbar:focus-within { border-color: var(--ds-accent); box-shadow: 0 0 0 3px var(--ds-accent-glow); }

.sce-search-icon { display: inline-flex; color: var(--ds-fg-muted); }

.sce-searchbar input[type="search"] {

  flex: 1; min-width: 0;

  appearance: none; -webkit-appearance: none;

  background: transparent; border: 0; outline: none;

  color: var(--ds-fg); font-family: var(--ds-font-sans); font-size: 0.95rem;

  padding: 0.65rem 0.75rem;

}

.sce-searchbar input[type="search"]::placeholder { color: var(--ds-fg-dim); }

.sce-searchbar input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

.sce-searchbar button {

  appearance: none; border: 0; cursor: pointer;

  background: var(--ds-accent); color: var(--ds-bg);

  font-family: var(--ds-font-mono); font-size: 0.82rem; font-weight: 700;

  padding: 0.55rem 1.1rem; border-radius: 6px;

  letter-spacing: 0.02em;

}

.sce-searchbar button:hover { background: var(--ds-fg); color: var(--ds-bg); }





/* ---------- main + wraps -------------------------------------------- */

.sce-main { display: block; min-height: 60vh; }

.sce-wrap       { max-width: var(--ds-wrap);      margin: 0 auto; padding: 0 var(--ds-pad-x); }

.sce-wrap--wide { max-width: var(--ds-wrap-wide); margin: 0 auto; padding: 0 var(--ds-pad-x); }





/* ---------- page chrome (non-home pages) ----------------------------- */

.sce-page          { padding: var(--ds-page-y) 0 var(--ds-section-y); }

.sce-page-head     { padding: 0.5rem 0 var(--ds-page-y); border-bottom: 1px solid var(--ds-rule); margin-bottom: var(--ds-page-y); }

.sce-page-body     { max-width: var(--ds-wrap-prose); margin: 0 auto; }

.sce-page-body p   { font-size: var(--ds-body); margin: 0 0 1.1rem; }

.sce-page-body section + section { margin-top: 1.5rem; }

.sce-page-body h2  { font-size: var(--ds-h2); line-height: 1.2; letter-spacing: -0.015em; margin: 2rem 0 1rem; color: var(--ds-fg); }

.sce-page-body h3  { font-size: var(--ds-h3); margin: 1.5rem 0 0.5rem; color: var(--ds-fg); }

.sce-page-body em  { color: var(--ds-warn); font-style: italic; }

.sce-page-body strong { color: var(--ds-fg); }





/* ---------- eyebrow + dot ------------------------------------------- */

.sce-eyebrow {

  display: inline-flex; align-items: center; gap: 0.55rem;

  font-family: var(--ds-font-mono); font-size: 0.74rem; letter-spacing: 0.18em; text-transform: uppercase;

  color: var(--ds-fg-muted);

  padding: 0.35rem 0.75rem; border: 1px solid var(--ds-rule); border-radius: 999px;

  background: var(--ds-card);

}

.sce-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ds-accent); box-shadow: 0 0 12px var(--ds-accent); }

.sce-dot--warn { background: var(--ds-warn); box-shadow: 0 0 12px var(--ds-warn); }





/* ---------- headings ------------------------------------------------- */

.sce-h1 {

  font-family: var(--ds-font-sans);

  font-size: var(--ds-h1);

  line-height: 0.96;

  letter-spacing: -0.035em;

  font-weight: 700;

  margin: 1.25rem 0 1rem;

  color: var(--ds-fg);

}

.sce-h1-accent {

  background: linear-gradient(135deg, var(--ds-accent) 0%, var(--ds-accent-2) 100%);

  -webkit-background-clip: text; background-clip: text; color: transparent;

  font-style: italic; font-weight: 700;

}

.sce-h1--page {

  font-size: var(--ds-h1-page);

  line-height: 1.05;

  letter-spacing: -0.025em;

  margin: 0.5rem 0 0.5rem;

}

.sce-h2 {

  font-size: var(--ds-h2); line-height: 1.15; letter-spacing: -0.02em; font-weight: 700;

  margin: 0 0 1.25rem; color: var(--ds-fg);

}

.sce-h2 em { color: var(--ds-accent); font-style: italic; }





/* ---------- lede + body --------------------------------------------- */

.sce-lede {

  font-size: var(--ds-lede); line-height: 1.5; color: var(--ds-fg-muted);

  max-width: var(--ds-wrap-prose); margin: 0 0 1.75rem;

}

.sce-lede em { color: var(--ds-warn); font-style: italic; }

.sce-lede strong { color: var(--ds-fg); }





/* ---------- HOME / hero (two-column wide) ---------------------------- */

.sce-hero {

  display: grid;

  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);

  gap: clamp(2rem, 4vw, 4rem);

  align-items: center;

  padding: clamp(2.5rem, 6vw, 5rem) 0 var(--ds-section-y);

  position: relative;

}

.sce-hero::before {

  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: -1;

  background:

    radial-gradient(circle at 75% 30%, var(--ds-accent-glow) 0%, transparent 45%),

    radial-gradient(circle at 18% 80%, rgba(99,102,241,0.10) 0%, transparent 50%);

}

.sce-hero-left  > * { position: relative; }

.sce-hero-right { display: flex; flex-direction: column; gap: 0.85rem; }

.sce-hero-body  { max-width: 62ch; }

.sce-hero-body p { font-size: var(--ds-body); margin: 0 0 1rem; color: var(--ds-fg-muted); }

.sce-hero-body p.sce-lede { color: var(--ds-fg-muted); }

.sce-hero-body em { color: var(--ds-warn); font-style: italic; }

.sce-hero-body strong { color: var(--ds-fg); }

.sce-hero-body h2 { font-size: var(--ds-h3); color: var(--ds-fg); margin: 1.5rem 0 0.5rem; letter-spacing: -0.01em; }



@media (max-width: 920px) {

  .sce-hero { grid-template-columns: 1fr; gap: 2rem; padding-top: 2rem; }

  .sce-hero-right { order: 2; }

}





/* ---------- acronym stack (S/C/E in hero) --------------------------- */

.sce-acro-stack {

  display: grid; grid-template-columns: 1fr; gap: 0.75rem;

  width: 100%; max-width: 420px; margin: 0 0 0 auto;

}

.sce-acro-letter {

  background: var(--ds-card); border: 1px solid var(--ds-card-border); border-radius: 10px;

  padding: 1rem 1.25rem; box-shadow: var(--ds-shadow);

  display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center;

}

.sce-acro-letter > span {

  font-family: var(--ds-font-mono); font-size: 2rem; font-weight: 700;

  color: var(--ds-accent); line-height: 1; min-width: 1.5em; text-align: center;

}

.sce-acro-letter > small {

  font-family: var(--ds-font-mono); font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase;

  color: var(--ds-fg-muted);

}

.sce-acro-tag {

  font-family: var(--ds-font-mono); font-size: 0.78rem; color: var(--ds-fg-dim);

  letter-spacing: 0.14em; text-transform: uppercase; text-align: right; margin-top: 0.25rem;

  max-width: 360px; margin-left: auto;

}



@media (max-width: 920px) {

  .sce-acro-stack { max-width: 100%; margin: 0; }

  .sce-acro-tag { text-align: left; max-width: 100%; margin-left: 0; }

}





/* ---------- engine cards (Why Engine page, 4-up grid) --------------- */

.sce-engines {

  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem;

  margin: 1.5rem 0; padding: 0; list-style: none;

}

.sce-engines article,

.sce-engines li {

  background: var(--ds-card); border: 1px solid var(--ds-card-border); border-radius: 10px;

  padding: 1.5rem 1.5rem 1.25rem; box-shadow: var(--ds-shadow);

  transition: background .15s, border-color .15s, box-shadow .15s, transform .15s;

}

.sce-engines a article,

.sce-engines a li,

.sce-engines article:hover,

.sce-engines li:hover {

  background: var(--ds-card-hover); border-color: var(--ds-rule-strong); box-shadow: var(--ds-shadow-hover);

  transform: translateY(-1px);

}

.sce-engines h3 {

  font-family: var(--ds-font-mono); font-size: 1rem; font-weight: 700; color: var(--ds-accent);

  margin: 0 0 0.5rem; letter-spacing: 0.01em;

}

.sce-engines p {

  font-size: 0.95rem; color: var(--ds-fg-muted); margin: 0; line-height: 1.5;

}





/* ---------- definition list / glossary ------------------------------ */

.sce-glossary-intro { margin-bottom: 2rem; }



.sce-glossary-jump {

  display: flex; flex-wrap: wrap; gap: 0.4rem 0.6rem;

  padding: 1rem 1.25rem;

  background: var(--ds-card); border: 1px solid var(--ds-card-border); border-radius: 8px;

  margin-bottom: 2.5rem;

}

.sce-glossary-jump a {

  font-family: var(--ds-font-mono); font-size: 0.82rem;

  padding: 0.3rem 0.7rem; border-radius: 999px;

  border: 1px solid var(--ds-rule); color: var(--ds-fg-muted);

}

.sce-glossary-jump a:hover { color: var(--ds-fg); border-color: var(--ds-accent); background: var(--ds-accent-glow); }



.sce-glossary-list { margin: 0; padding: 0; }

.sce-glossary-entry {

  padding: 1.5rem 0;

  border-top: 1px solid var(--ds-rule);

  scroll-margin-top: 8.5rem;  /* offset for sticky topbar + searchbar when jumping */

}

.sce-glossary-entry:first-child { border-top: 0; padding-top: 0; }

.sce-glossary-term {

  font-family: var(--ds-font-sans); font-size: 1.5rem; font-weight: 700; color: var(--ds-fg);

  margin: 0 0 0.5rem; letter-spacing: -0.01em;

  display: flex; align-items: baseline; gap: 0.5rem;

}

.sce-glossary-anchor {

  font-family: var(--ds-font-mono); font-size: 0.85rem; color: var(--ds-fg-dim);

  opacity: 0; transition: opacity .15s;

}

.sce-glossary-entry:hover .sce-glossary-anchor,

.sce-glossary-anchor:focus { opacity: 1; }

.sce-glossary-def { margin: 0 0 0.5rem; max-width: var(--ds-wrap-prose); color: var(--ds-fg); }

.sce-glossary-def p { margin: 0 0 0.6rem; font-size: var(--ds-body); }

.sce-glossary-see {

  font-family: var(--ds-font-mono); font-size: 0.82rem; color: var(--ds-fg-muted);

  margin: 0.5rem 0 0;

}

.sce-glossary-see-label { color: var(--ds-fg-dim); margin-right: 0.5rem; }

.sce-glossary-see a { color: var(--ds-accent); }





/* ---------- callout / blockquote / aside (encyclopedia patterns) ---- */

.sce-callout {

  font-size: 1.25rem; font-weight: 600;

  padding: 1.1rem 1.4rem; border-left: 3px solid var(--ds-accent);

  background: var(--ds-card); border-radius: 0 8px 8px 0;

  margin: 1.5rem 0; max-width: var(--ds-wrap-prose);

}

.sce-page-body blockquote {

  border-left: 3px solid var(--ds-accent-2);

  margin: 1.5rem 0; padding: 0.5rem 0 0.5rem 1.25rem;

  font-style: italic; color: var(--ds-fg-muted);

  max-width: var(--ds-wrap-prose);

}

.sce-aside {

  background: var(--ds-bg-alt); border: 1px solid var(--ds-card-border); border-radius: 8px;

  padding: 1.25rem 1.5rem; margin: 1.5rem 0;

  font-size: var(--ds-body-tight); color: var(--ds-fg-muted);

}

.sce-aside-label {

  font-family: var(--ds-font-mono); font-size: 0.74rem; letter-spacing: 0.16em; text-transform: uppercase;

  color: var(--ds-accent); margin-bottom: 0.5rem; display: block;

}





/* ---------- signature seal (home page) ------------------------------ */

.sce-signature {

  margin: var(--ds-section-y) auto 0;

  padding: var(--ds-section-y) 0 0;

  border-top: 1px solid var(--ds-rule);

  display: flex; justify-content: center;

}

.sce-sig-seal {

  background: var(--ds-card); border: 1px solid var(--ds-card-border); border-radius: 12px;

  padding: 2rem 2.5rem; box-shadow: var(--ds-shadow);

  max-width: 680px; width: 100%; text-align: center;

  position: relative;

}

.sce-sig-seal::before {

  content: ""; position: absolute; inset: 0.5rem;

  border: 1px dashed var(--ds-rule); border-radius: 8px; pointer-events: none;

}

.sce-sig-rule { width: 80px; height: 1px; background: var(--ds-accent); margin: 0 auto 1.5rem; }

.sce-sig-name { font-family: var(--ds-font-mono); font-size: 1.75rem; font-weight: 700; color: var(--ds-fg); }

.sce-sig-meta { font-family: var(--ds-font-mono); font-size: 0.78rem; color: var(--ds-fg-muted); margin-top: 0.5rem; line-height: 1.55; }

.sce-sig-where { font-family: var(--ds-font-mono); font-size: 0.78rem; color: var(--ds-fg-dim); margin-top: 0.4rem; }





/* ---------- footer --------------------------------------------------- */

.sce-foot {

  border-top: 1px solid var(--ds-rule); padding: 2rem 0; margin-top: var(--ds-section-y);

  font-family: var(--ds-font-mono); font-size: 0.82rem; color: var(--ds-fg-muted);

  background: var(--ds-bg-alt);

}

.sce-foot-inner {

  max-width: var(--ds-wrap-wide); margin: 0 auto; padding: 0 var(--ds-pad-x);

  display: grid; gap: 1rem;

  grid-template-columns: auto 1fr auto;

  align-items: center;

}

.sce-foot-brand { display: flex; align-items: baseline; gap: 0.6rem; }

.sce-foot-mark { color: var(--ds-accent); font-weight: 700; font-size: 1rem; }

.sce-foot-tag { color: var(--ds-fg-muted); }

.sce-foot-nav { display: flex; gap: 1.5rem; justify-self: center; }

.sce-foot-nav a { color: var(--ds-fg-muted); }

.sce-foot-nav a:hover { color: var(--ds-fg); }

.sce-foot-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; }

.sce-foot-sep { color: var(--ds-fg-dim); }

.sce-foot-legal { grid-column: 1 / -1; padding-top: 0.75rem; border-top: 1px solid var(--ds-rule); color: var(--ds-fg-dim); font-size: 0.75rem; }



@media (max-width: 760px) {

  .sce-foot-inner { grid-template-columns: 1fr; text-align: center; }

  .sce-foot-brand, .sce-foot-meta, .sce-foot-nav { justify-content: center; justify-self: center; }

}





/* ---------- print (encyclopedia entries should print clean) --------- */

@media print {

  body { background: #fff; color: #000; }

  .sce-sysbar, .sce-searchbar-row, .sce-foot, .sce-skip { display: none; }

  .sce-wrap, .sce-wrap--wide { max-width: 100%; padding: 0; }

  .sce-h1, .sce-h2, .sce-page-body p, .sce-glossary-term, .sce-glossary-def { color: #000; }

  a { color: #000; text-decoration: underline; }

  .sce-glossary-anchor { display: none; }

}




/* =========================================================================

   USE THE WHOLE DAMN SCREEN — overrides every prior max-width constraint.

   Appended last so it wins on cascade.

   ========================================================================= */

.sce-wrap,

.sce-wrap--wide,

.sce-page-body,

.sce-hero-body,

.sce-page--thesis .sce-page-body,

.sce-glossary-def,

.sce-callout,

.sce-page-body blockquote,

.sce-lede,

.sce-meta,

.sce-foot-inner {

  max-width: none !important;

  width: 100%;

}



.sce-wrap, .sce-wrap--wide, .sce-foot-inner {

  max-width: 100% !important;

  padding-left: clamp(2rem, 4vw, 4rem);

  padding-right: clamp(2rem, 4vw, 4rem);

}



.sce-hero {

  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;

  gap: clamp(2rem, 5vw, 5rem);

}



.sce-hero-body p,

.sce-page-body p,

.sce-page-body section,

.sce-page-body section p {

  max-width: none !important;

  font-size: 1.15rem;

  line-height: 1.65;

}



.sce-page-body h2 { font-size: clamp(1.6rem, 2.4vw, 2.2rem); }

.sce-page-body h3 { font-size: clamp(1.2rem, 1.6vw, 1.5rem); }



.sce-engines { grid-template-columns: repeat(4, 1fr) !important; }

@media (max-width: 1200px) { .sce-engines { grid-template-columns: repeat(2, 1fr) !important; } }

@media (max-width: 700px)  { .sce-engines { grid-template-columns: 1fr !important; } }



.sce-sig-seal { max-width: 900px !important; }




/* HEADER FULL WIDTH — appended last, wins cascade */

.sce-sysbar-inner {

  max-width: 100% !important;

  padding-left: clamp(2rem, 4vw, 4rem) !important;

  padding-right: clamp(2rem, 4vw, 4rem) !important;

}

.sce-searchbar-row {

  padding-left: clamp(2rem, 4vw, 4rem) !important;

  padding-right: clamp(2rem, 4vw, 4rem) !important;

}

.sce-searchbar { max-width: 100% !important; }




/* SEARCH RESULTS */

.sce-search-elapsed { color: var(--ds-fg-dim); font-family: var(--ds-font-mono); font-size: 0.85rem; margin-left: 0.5rem; }



.sce-results { list-style: none; padding: 0; margin: 1.5rem 0 0; counter-reset: result; }

.sce-result {

  padding: 1.5rem 0;

  border-top: 1px solid var(--ds-rule);

  counter-increment: result;

}

.sce-result:first-child { border-top: 0; }



.sce-result-meta { display: flex; gap: 0.85rem; align-items: baseline; margin-bottom: 0.4rem; flex-wrap: wrap; }

.sce-result-type {

  font-family: var(--ds-font-mono); font-size: 0.7rem; font-weight: 700;

  text-transform: uppercase; letter-spacing: 0.14em;

  padding: 0.2rem 0.55rem; border-radius: 999px;

  border: 1px solid var(--ds-rule);

  color: var(--ds-fg-muted);

}

.sce-result-type--page     { color: var(--ds-accent);   border-color: var(--ds-rule-strong); }

.sce-result-type--glossary { color: var(--ds-accent-2); border-color: rgba(99,102,241,0.45); }

.sce-result-type--refusal  { color: var(--ds-warn);     border-color: rgba(245,158,11,0.45); }

.sce-result-type--source   { color: var(--ds-green);    border-color: rgba(52,211,153,0.45); }

.sce-result-url { font-family: var(--ds-font-mono); font-size: 0.82rem; color: var(--ds-fg-dim); }



.sce-result-title { font-size: 1.5rem; font-weight: 700; margin: 0 0 0.4rem; letter-spacing: -0.01em; }

.sce-result-title a { color: var(--ds-fg); border-bottom: 1px solid transparent; }

.sce-result-title a:hover { color: var(--ds-accent); border-bottom-color: var(--ds-accent); }



.sce-result-snippet { font-size: var(--ds-body); color: var(--ds-fg-muted); margin: 0; max-width: 90ch; line-height: 1.6; }

.sce-result-snippet b { color: var(--ds-fg); background: var(--ds-accent-glow); padding: 0 0.15em; border-radius: 2px; font-weight: 600; }




/* SEARCHBAR PILL — half the row width, still centered */

.sce-searchbar {

  max-width: 720px !important;

  margin: 0 auto;

}




/* See-also separator */

.sce-glossary-see-sep { color: var(--ds-fg-dim); margin: 0 0.15em; }




/* ENGINE CARDS — five-card grid, link-state-aware */

.sce-engines {

  display: grid;

  grid-template-columns: repeat(5, 1fr) !important;

  gap: 1rem;

  margin: 2rem 0;

  padding: 0;

  list-style: none;

}

@media (max-width: 1700px) { .sce-engines { grid-template-columns: repeat(3, 1fr) !important; } }

@media (max-width: 1100px) { .sce-engines { grid-template-columns: repeat(2, 1fr) !important; } }

@media (max-width: 700px)  { .sce-engines { grid-template-columns: 1fr !important; } }



.sce-engine-card {

  display: block;

  background: var(--ds-card);

  border: 1px solid var(--ds-card-border);

  border-radius: 10px;

  padding: 1.6rem 1.6rem 1.4rem;

  box-shadow: var(--ds-shadow);

  color: var(--ds-fg);

  text-decoration: none;

  transition: background .15s, border-color .15s, box-shadow .15s, transform .15s;

}

.sce-engine-card h3 {

  font-family: var(--ds-font-mono);

  font-size: 1.05rem;

  font-weight: 700;

  color: var(--ds-accent);

  margin: 0 0 0.25rem;

  letter-spacing: 0.01em;

}

.sce-engine-role {

  font-family: var(--ds-font-mono);

  font-size: 0.72rem;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: var(--ds-fg-dim);

  margin: 0 0 0.85rem;

}

.sce-engine-card p:not(.sce-engine-role) {

  font-size: 0.95rem;

  color: var(--ds-fg-muted);

  margin: 0;

  line-height: 1.55;

}

.sce-engine-card code {

  background: var(--ds-bg);

  padding: 0 0.3em;

  border-radius: 3px;

  color: var(--ds-warn);

  border: 1px solid var(--ds-rule);

  font-size: 0.92em;

}



/* Linked cards: hover-elevate, accent border, cursor pointer */

a.sce-engine-card--linked:hover {

  background: var(--ds-card-hover);

  border-color: var(--ds-rule-strong);

  box-shadow: var(--ds-shadow-hover);

  transform: translateY(-2px);

}

a.sce-engine-card--linked:hover h3 { color: var(--ds-fg); }



/* Current page card: clear visual distinction (this IS sce.nw) */

.sce-engine-card--current {

  border-color: var(--ds-accent);

  box-shadow: 0 0 0 1px var(--ds-accent), var(--ds-shadow);

  position: relative;

}

.sce-engine-card--current::before {

  content: "You are here";

  position: absolute;

  top: -0.6rem; right: 0.85rem;

  background: var(--ds-accent);

  color: var(--ds-bg);

  font-family: var(--ds-font-mono);

  font-size: 0.65rem;

  font-weight: 700;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  padding: 0.2rem 0.55rem;

  border-radius: 999px;

}




/* =========================================================================

   REFUSALS PAGE — timeline + accordion

   ========================================================================= */



.sce-refusals-intro {

  max-width: 90ch;

  margin: 0 auto 2.5rem;

}

.sce-refusals-howto {

  font-family: var(--ds-font-mono);

  font-size: 0.85rem;

  color: var(--ds-fg-dim);

  margin: 0.75rem 0 0;

}



.sce-refusals-layout {

  display: grid;

  grid-template-columns: 280px minmax(0, 1fr);

  gap: clamp(2rem, 4vw, 4rem);

  margin-top: 2rem;

}

@media (max-width: 980px) {

  .sce-refusals-layout { grid-template-columns: 1fr; }

}



/* --- Timeline rail --- */

.sce-timeline {

  position: sticky;

  top: 8.5rem;

  align-self: start;

  border-left: 2px solid var(--ds-rule);

  padding-left: 1.25rem;

  max-height: calc(100vh - 10rem);

  overflow-y: auto;

}

@media (max-width: 980px) {

  .sce-timeline {

    position: static;

    max-height: none;

    border-left: 0;

    border-top: 1px solid var(--ds-rule);

    padding: 1rem 0 1.5rem 0;

    margin-bottom: 1.5rem;

  }

}

.sce-timeline-list { list-style: none; margin: 0; padding: 0; }

.sce-timeline-node { position: relative; margin: 0 0 1.1rem; }

.sce-timeline-link {

  display: grid;

  grid-template-columns: auto 1fr;

  grid-template-rows: auto auto;

  column-gap: 0.6rem;

  row-gap: 0.1rem;

  align-items: baseline;

  color: var(--ds-fg-muted);

  text-decoration: none;

  padding: 0.25rem 0;

  border-radius: 4px;

  transition: color .15s, background .15s;

}

.sce-timeline-link:hover { color: var(--ds-fg); background: var(--ds-card); }

.sce-timeline-dot {

  grid-row: 1 / 3;

  width: 11px; height: 11px;

  border-radius: 50%;

  background: var(--ds-bg);

  border: 2px solid var(--ds-fg-dim);

  margin-left: -1.85rem;

  margin-top: 0.25rem;

  transition: background .15s, border-color .15s, box-shadow .15s, transform .15s;

}

.sce-timeline-date {

  font-family: var(--ds-font-mono);

  font-size: 0.7rem;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  color: var(--ds-fg-dim);

  white-space: nowrap;

}

.sce-timeline-title {

  font-size: 0.88rem;

  line-height: 1.35;

  color: inherit;

  grid-column: 2;

}

.sce-timeline-node.is-active .sce-timeline-dot {

  background: var(--ds-accent);

  border-color: var(--ds-accent);

  box-shadow: 0 0 0 4px var(--ds-accent-glow);

  transform: scale(1.15);

}

.sce-timeline-node.is-active .sce-timeline-link { color: var(--ds-fg); background: var(--ds-card); }

.sce-timeline-node.is-active .sce-timeline-date { color: var(--ds-accent); }

.sce-timeline-node.is-founding .sce-timeline-dot { border-color: var(--ds-accent); }



/* --- Refusal stack --- */

.sce-refusals-stack { margin: 0; padding: 0; }

.sce-refusal {

  border-top: 1px solid var(--ds-rule);

  scroll-margin-top: 9rem;

}

.sce-refusal:first-child { border-top: 0; }

.sce-refusal.is-hidden { display: none; }



.sce-refusal-bar {

  appearance: none;

  background: transparent;

  border: 0;

  display: grid;

  grid-template-columns: 130px 1fr auto;

  align-items: baseline;

  gap: 1.5rem;

  width: 100%;

  text-align: left;

  padding: 1.5rem 0;

  cursor: pointer;

  color: var(--ds-fg);

  transition: color .15s;

}

.sce-refusal-bar:hover { color: var(--ds-accent); }

.sce-refusal-bar:focus-visible { outline: 2px solid var(--ds-accent); outline-offset: 2px; border-radius: 4px; }



.sce-refusal-date {

  font-family: var(--ds-font-mono);

  font-size: 0.78rem;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  color: var(--ds-fg-dim);

  white-space: nowrap;

}

.sce-refusal-title-block { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }

.sce-refusal-title {

  font-size: 1.4rem;

  font-weight: 700;

  line-height: 1.2;

  letter-spacing: -0.01em;

  color: var(--ds-fg);

}

.sce-refusal-subtitle {

  font-family: var(--ds-font-mono);

  font-size: 0.85rem;

  color: var(--ds-fg-muted);

  font-style: italic;

}

.sce-refusal-chevron {

  color: var(--ds-fg-dim);

  transition: transform .25s ease, color .15s;

}

.sce-refusal[data-open="true"] .sce-refusal-chevron { transform: rotate(180deg); color: var(--ds-accent); }

.sce-refusal[data-open="true"] .sce-refusal-title { color: var(--ds-accent); }



@media (max-width: 760px) {

  .sce-refusal-bar { grid-template-columns: 1fr auto; gap: 0.75rem; }

  .sce-refusal-date { grid-column: 1 / 2; font-size: 0.72rem; }

  .sce-refusal-title-block { grid-column: 1 / 3; }

  .sce-refusal-chevron { grid-column: 2 / 3; grid-row: 1 / 2; }

}



.sce-refusal-body[hidden] { display: none; }

.sce-refusal-body {

  padding: 0 0 2.25rem;

  max-width: 80ch;

  animation: sce-refusal-fadein .25s ease;

}

@keyframes sce-refusal-fadein {

  from { opacity: 0; transform: translateY(-4px); }

  to   { opacity: 1; transform: translateY(0); }

}



.sce-refusal-claim {

  font-family: var(--ds-font-mono);

  font-size: 0.95rem;

  font-style: italic;

  color: var(--ds-fg-muted);

  background: var(--ds-bg-alt);

  border-left: 3px solid var(--ds-warn);

  border-radius: 0 6px 6px 0;

  padding: 1rem 1.25rem;

  margin: 0 0 1.5rem;

}

.sce-refusal-claim-label {

  display: block;

  font-style: normal;

  font-size: 0.7rem;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: var(--ds-warn);

  margin-bottom: 0.4rem;

}

.sce-refusal-claim cite {

  display: block;

  margin-top: 0.6rem;

  font-style: normal;

  font-size: 0.8rem;

  color: var(--ds-fg-dim);

}

.sce-refusal-claim cite a { color: var(--ds-accent); text-decoration: underline; }



.sce-refusal-indictment p {

  font-size: 1.08rem;

  line-height: 1.7;

  color: var(--ds-fg);

  margin: 0 0 1.1rem;

}

.sce-refusal-indictment em { color: var(--ds-warn); font-style: italic; }

.sce-refusal-indictment strong { color: var(--ds-fg); }



.sce-refusal-divider {

  text-align: center;

  font-size: 1.6rem;

  color: var(--ds-rule-strong);

  margin: 1.75rem 0;

  letter-spacing: 0.5em;

}



.sce-refusal-closure {

  background: var(--ds-card);

  border-left: 3px solid var(--ds-accent);

  border-radius: 0 8px 8px 0;

  padding: 1.5rem 1.75rem;

  margin: 0 0 1.5rem;

}

.sce-refusal-closure-label {

  font-family: var(--ds-font-mono);

  font-size: 0.74rem;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  color: var(--ds-accent);

  margin-bottom: 0.85rem;

  font-weight: 700;

}

.sce-refusal-closure p {

  font-size: 1rem;

  line-height: 1.65;

  color: var(--ds-fg);

  margin: 0 0 1rem;

}

.sce-refusal-closure p:last-child { margin-bottom: 0; }

.sce-refusal-closure em { color: var(--ds-accent); font-style: italic; font-weight: 600; }

.sce-refusal-closure a { color: var(--ds-accent); border-bottom: 1px dotted var(--ds-accent); }

.sce-refusal-closure a:hover { color: var(--ds-fg); border-bottom-color: var(--ds-fg); }



.sce-refusal-sign {

  margin-top: 1.5rem;

  padding-top: 1rem;

  border-top: 1px dashed var(--ds-rule);

  font-family: var(--ds-font-mono);

  font-size: 0.82rem;

  color: var(--ds-fg-muted);

  display: flex;

  flex-wrap: wrap;

  gap: 0.5rem 1.25rem;

  align-items: baseline;

}

.sce-refusal-sign-name { color: var(--ds-fg); font-weight: 700; }

.sce-refusal-sign-meta { color: var(--ds-fg-dim); }



/* --- Load more --- */

.sce-refusals-loadmore-wrap {

  display: flex;

  justify-content: center;

  margin: 2rem 0 0;

  padding-top: 2rem;

  border-top: 1px solid var(--ds-rule);

}

.sce-refusals-loadmore {

  appearance: none;

  cursor: pointer;

  background: transparent;

  color: var(--ds-fg);

  border: 1px solid var(--ds-rule);

  border-radius: 999px;

  padding: 0.85rem 2rem;

  font-family: var(--ds-font-mono);

  font-size: 0.85rem;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  transition: border-color .15s, color .15s, background .15s;

}

.sce-refusals-loadmore:hover {

  border-color: var(--ds-accent);

  color: var(--ds-accent);

  background: var(--ds-accent-glow);

}

.sce-refusals-loadmore-count {

  margin-left: 0.5rem;

  color: var(--ds-fg-dim);

  text-transform: none;

  letter-spacing: 0.02em;

}




/* =========================================================================

   REFUSALS — width fix + timeline node restraint

   ========================================================================= */



/* Use the page width — kill the 80ch constraint on the refusal body */

.sce-refusal-body {

  max-width: none !important;

  width: 100%;

}

.sce-refusal-indictment,

.sce-refusal-closure,

.sce-refusal-claim {

  max-width: none !important;

}



/* Indictment paragraphs flow comfortably inside the page width */

.sce-refusal-indictment p {

  max-width: 90ch;

}

.sce-refusal-closure p {

  max-width: 90ch;

}



/* Timeline node — restrained, small, mono. Not a tile. */

.sce-timeline-link {

  display: block !important;

  padding: 0.4rem 0.5rem !important;

  border-radius: 4px;

  position: relative;

}

.sce-timeline-link:hover { background: var(--ds-card); }

.sce-timeline-dot {

  position: absolute;

  left: -1.85rem;

  top: 0.65rem;

  margin: 0 !important;

}

.sce-timeline-date {

  display: block;

  font-family: var(--ds-font-mono);

  font-size: 0.68rem;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: var(--ds-fg-dim);

  margin-bottom: 0.15rem;

}

.sce-timeline-title {

  display: block;

  font-size: 0.82rem;

  line-height: 1.35;

  color: var(--ds-fg-muted);

  font-weight: 400;

}

.sce-timeline-node.is-active .sce-timeline-title { color: var(--ds-fg); font-weight: 500; }



/* Bigger, more readable indictment type now that we have room */

.sce-refusal-indictment p { font-size: 1.15rem; line-height: 1.7; }




/* =========================================================================

   REFUSALS — FINAL OVERRIDE BLOCK (last in cascade, wins all)

   ========================================================================= */



/* Timeline rail container — strip ALL card/box styling */

.sce-timeline {

  background: transparent !important;

  border: 0 !important;

  border-left: 2px solid var(--ds-rule) !important;

  padding: 0 0 0 1.25rem !important;

  box-shadow: none !important;

}



/* Timeline node — no tile, no background, no border */

.sce-timeline-node {

  background: transparent !important;

  border: 0 !important;

  box-shadow: none !important;

  padding: 0 !important;

  margin: 0 0 1rem 0 !important;

}



/* Timeline link — block layout, restrained */

.sce-timeline-link {

  display: block !important;

  background: transparent !important;

  border: 0 !important;

  padding: 0.35rem 0.5rem !important;

  border-radius: 4px;

  text-decoration: none;

}

.sce-timeline-link:hover {

  background: var(--ds-card) !important;

}



/* Force date and title to render as separate stacked text lines */

.sce-timeline-date {

  display: block !important;

  font-family: var(--ds-font-mono);

  font-size: 0.68rem !important;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: var(--ds-fg-dim);

  margin: 0 0 0.15rem 0 !important;

  padding: 0 !important;

}

.sce-timeline-title {

  display: block !important;

  font-family: var(--ds-font-sans);

  font-size: 0.82rem !important;

  font-weight: 400 !important;

  line-height: 1.35;

  color: var(--ds-fg-muted);

  margin: 0 !important;

  padding: 0 !important;

  background: transparent !important;

}



.sce-timeline-node.is-active .sce-timeline-title { color: var(--ds-fg); font-weight: 500 !important; }

.sce-timeline-node.is-active .sce-timeline-date  { color: var(--ds-accent); }

.sce-timeline-node.is-active .sce-timeline-link  { background: var(--ds-card) !important; }



/* Timeline dot — absolutely positioned at the rail */

.sce-timeline-dot {

  position: absolute !important;

  left: -1.85rem !important;

  top: 0.6rem !important;

  width: 11px !important;

  height: 11px !important;

  margin: 0 !important;

  grid-row: auto !important;

}



/* Refusal article — full width, no outline */

.sce-refusal {

  width: 100% !important;

  max-width: none !important;

  background: transparent !important;

  border-top: 1px solid var(--ds-rule);

  border-left: 0 !important;

  border-right: 0 !important;

  border-bottom: 0 !important;

  outline: 0 !important;

  box-shadow: none !important;

  padding: 0 !important;

}

.sce-refusal[data-open="true"] {

  background: transparent !important;

  border-top: 1px solid var(--ds-rule);

  outline: 0 !important;

  box-shadow: none !important;

}



/* Bar button — kill button focus outline that's drawing the rectangle */

.sce-refusal-bar {

  outline: 0 !important;

  border: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  width: 100% !important;

  max-width: none !important;

}

.sce-refusal-bar:focus,

.sce-refusal-bar:focus-visible {

  outline: 0 !important;

  box-shadow: 0 0 0 2px var(--ds-accent-glow) inset;

  border-radius: 4px;

}



/* Body and content — full width, paragraphs cap at readable measure */

.sce-refusal-body {

  width: 100% !important;

  max-width: none !important;

  padding: 0 0 2.5rem 0 !important;

  background: transparent !important;

}

.sce-refusal-indictment,

.sce-refusal-closure,

.sce-refusal-claim {

  max-width: none !important;

  width: 100% !important;

}

.sce-refusal-indictment p {

  max-width: 95ch;

  font-size: 1.18rem;

  line-height: 1.7;

}

.sce-refusal-closure p {

  max-width: 95ch;

}



/* Refusals layout grid — make sure right column gets all the room */

.sce-refusals-layout {

  grid-template-columns: 240px minmax(0, 1fr) !important;

}

.sce-refusals-stack {

  width: 100% !important;

  max-width: none !important;

}




/* =========================================================================

   REFUSALS — TIMELINE TILE KILL + CLOSURE WIDTH CAP (final-final)

   ========================================================================= */



/* Nuke any tile styling on timeline node — kill EVERY box/border source */

ol.sce-timeline-list,

ol.sce-timeline-list li.sce-timeline-node,

.sce-timeline-list .sce-timeline-node {

  list-style: none !important;

  background: transparent !important;

  background-color: transparent !important;

  background-image: none !important;

  border: 0 !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  outline: 0 !important;

  padding: 0 !important;

  margin: 0 0 1rem 0 !important;

}

.sce-timeline-list .sce-timeline-link,

ol.sce-timeline-list a.sce-timeline-link {

  background: transparent !important;

  background-color: transparent !important;

  background-image: none !important;

  border: 0 !important;

  border-radius: 4px;

  box-shadow: none !important;

  outline: 0 !important;

  padding: 0.35rem 0.5rem !important;

}



/* Closure block — accent border on left only, content-width cap on the BOX itself */

.sce-refusal-closure {

  max-width: 95ch !important;

  width: auto !important;

}

.sce-refusal-closure p {

  max-width: none !important;

}



/* Same width discipline on the indictment block */

.sce-refusal-indictment {

  max-width: 95ch !important;

  width: auto !important;

}

.sce-refusal-indictment p {

  max-width: none !important;

}



/* Claim quote should also cap at readable measure */

.sce-refusal-claim {

  max-width: 95ch !important;

  width: auto !important;

}




/* =========================================================================

   REFUSALS — kill the active-state tile, replace with subtle indicator

   ========================================================================= */

.sce-timeline-node.is-active .sce-timeline-link,

.sce-timeline-list .sce-timeline-node.is-active .sce-timeline-link,

.sce-timeline-list .sce-timeline-node.is-active a.sce-timeline-link {

  background: transparent !important;

  background-color: transparent !important;

  background-image: none !important;

  border: 0 !important;

  border-left: 2px solid var(--ds-accent) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  padding-left: 0.5rem !important;

  margin-left: -0.5rem;

}




/* =========================================================================

   REFUSALS — uncap the indictment and closure blocks

   Use the full right column. No right sidebar. Whitespace by intent only.

   ========================================================================= */

.sce-refusal-indictment,

.sce-refusal-closure,

.sce-refusal-claim {

  max-width: none !important;

  width: 100% !important;

}



/* Paragraphs inside still cap at a comfortable READ measure for line length —

   but the surrounding box (background, border, padding) extends edge to edge */

.sce-refusal-indictment p {

  max-width: 100ch;

  margin-right: 0;

}

.sce-refusal-closure p {

  max-width: 100ch;

  margin-right: 0;

}




/* =========================================================================

   REFUSALS — let the intro paragraph breathe edge-to-edge

   ========================================================================= */

.sce-refusals-intro {

  max-width: none !important;

  margin: 0 0 2.5rem !important;

}

.sce-refusals-intro .sce-lede {

  max-width: 110ch;

}

.sce-refusals-howto {

  max-width: 110ch;

}




/* =========================================================================

   REFUSALS — three-column row header (eyebrow · title · meta)

   ========================================================================= */

.sce-page-head--row {

  display: grid !important;

  grid-template-columns: auto 1fr auto;

  align-items: center;

  gap: 2rem;

  margin: 0 0 1.5rem !important;

  padding: 0.75rem 0 1rem !important;

  border-bottom: 1px solid var(--ds-rule);

}

.sce-eyebrow--inline {

  margin: 0 !important;

}

.sce-h1--inline {

  font-size: clamp(1.5rem, 2.2vw, 2rem) !important;

  font-weight: 700;

  letter-spacing: -0.01em;

  line-height: 1.1;

  margin: 0 !important;

  text-align: center;

}

.sce-page-head--row .sce-page-meta {

  font-family: var(--ds-font-mono);

  font-size: 0.78rem;

  letter-spacing: 0.06em;

  color: var(--ds-fg-dim);

  text-transform: uppercase;

  white-space: nowrap;

}

.sce-page-head--row .sce-meta-sep {

  color: var(--ds-rule-strong);

  margin: 0 0.25rem;

}



/* On narrow screens collapse to stacked rows so it doesn't crash */

@media (max-width: 760px) {

  .sce-page-head--row {

    grid-template-columns: 1fr;

    text-align: left;

  }

  .sce-h1--inline { text-align: left; }

}




/* =========================================================================

   REFUSALS — sources block + kill watermark bleed-through in closure box

   ========================================================================= */



/* Sources — small mono block above the signature */

.sce-refusal-sources {

  margin: 1.5rem 0 0;

  padding: 1rem 0 0;

  border-top: 1px dashed var(--ds-rule);

  font-family: var(--ds-font-mono);

  font-size: 0.78rem;

  line-height: 1.65;

  color: var(--ds-fg-muted);

}

.sce-refusal-sources-label {

  font-size: 0.7rem;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  color: var(--ds-fg-dim);

  font-weight: 700;

  margin-bottom: 0.5rem;

}

.sce-refusal-sources ul {

  list-style: none;

  margin: 0;

  padding: 0;

}

.sce-refusal-sources li {

  margin: 0 0 0.5rem;

  padding: 0;

}

.sce-refusal-sources li:before {

  content: "› ";

  color: var(--ds-accent);

  margin-right: 0.25rem;

}

.sce-refusal-sources a {

  color: var(--ds-accent);

  border-bottom: 1px dotted var(--ds-accent);

}

.sce-refusal-sources a:hover {

  color: var(--ds-fg);

  border-bottom-color: var(--ds-fg);

}

.sce-refusal-sources cite {

  font-style: italic;

  color: var(--ds-fg);

}



/* Kill the page-watermark bleed-through in the closure box.

   Override the translucent --ds-card with an opaque solid that defeats

   any pattern/dot-grid showing through from the page chrome. */

.sce-refusal-closure {

  background: var(--ds-bg-alt) !important;

  background-image: none !important;

}



/* Same protection for the claim-quote block, which uses a similar pattern */

.sce-refusal-claim {

  background: var(--ds-bg-alt) !important;

  background-image: none !important;

}




/* =========================================================================

   REFUSALS PAGE — kill global dot pattern in the page background

   only on the refusals page. Other sce.nw pages keep their texture.

   ========================================================================= */

body:has(.sce-page--refusals) {

  background-image: none !important;

}

.sce-page--refusals,

.sce-page--refusals .sce-wrap--wide {

  background-image: none !important;

}




/* =========================================================================

   REFUSALS — entry_type variants

   - .sce-refusal--indictment uses default teal accent (existing)

   - .sce-refusal--offer uses warm gold (charter / dated open offer)

   - .sce-refusal--partnership uses bright accent (formal alignment)

   - .sce-refusal--censure uses warning red (charter violated)

   ========================================================================= */



/* Offer entries — warm gold */

.sce-refusal--offer .sce-refusal-title {

  color: #c9a55c;

}

.sce-refusal--offer[data-open="true"] .sce-refusal-title,

.sce-refusal--offer[data-open="true"] .sce-refusal-chevron {

  color: #d4b76d;

}

.sce-refusal--offer .sce-refusal-closure {

  border-left: 3px solid #c9a55c;

  background: rgba(201, 165, 92, 0.08) !important;

}

.sce-refusal--offer .sce-refusal-closure-label {

  color: #c9a55c;

}

.sce-refusal--offer .sce-refusal-closure em {

  color: #d4b76d;

}

.sce-refusal--offer .sce-refusal-closure a {

  color: #d4b76d;

  border-bottom-color: #d4b76d;

}

.sce-refusal--offer .sce-refusal-closure strong {

  color: #d4b76d;

}



/* Timeline node accent for offer entries */

.sce-timeline-node[data-target="the-first-charter"] .sce-timeline-dot {

  border-color: #c9a55c !important;

  background: #c9a55c !important;

}

.sce-timeline-node[data-target="the-first-charter"].is-active .sce-timeline-link {

  background: rgba(201, 165, 92, 0.1) !important;

}



/* Partnership entries (future) — same gold but solid background */

.sce-refusal--partnership .sce-refusal-title { color: #c9a55c; }

.sce-refusal--partnership .sce-refusal-closure {

  border-left: 4px solid #c9a55c;

  background: rgba(201, 165, 92, 0.12) !important;

}

.sce-refusal--partnership .sce-refusal-closure-label { color: #c9a55c; }



/* Censure entries (future) — warning red */

.sce-refusal--censure .sce-refusal-title { color: #b94545; }

.sce-refusal--censure .sce-refusal-closure {

  border-left: 3px solid #b94545;

  background: rgba(185, 69, 69, 0.08) !important;

}

.sce-refusal--censure .sce-refusal-closure-label { color: #b94545; }




/* =========================================================================

   REFUSALS — sources subheaders + [live] tag

   ========================================================================= */



.sce-sources-group-label {

  font-family: var(--ds-font-mono);

  font-size: 0.72rem;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  color: var(--ds-fg);

  font-weight: 700;

  margin: 1.25rem 0 0.5rem 0;

  padding-bottom: 0.35rem;

  border-bottom: 1px dotted var(--ds-rule);

}

.sce-sources-group-label:first-child {

  margin-top: 0;

}



/* For offer entries, the group labels pick up the gold accent */

.sce-refusal--offer .sce-sources-group-label {

  color: #c9a55c;

  border-bottom-color: rgba(201, 165, 92, 0.3);

}



.sce-source-tag {

  display: inline-block;

  font-family: var(--ds-font-mono);

  font-size: 0.62rem;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  color: #10b981;

  background: rgba(16, 185, 129, 0.12);

  border: 1px solid rgba(16, 185, 129, 0.4);

  border-radius: 3px;

  padding: 0.1rem 0.4rem;

  margin-left: 0.4rem;

  vertical-align: middle;

  font-weight: 700;

}



/* In offer entries the [live] tag stays green — green = "this works right now" — */

/* keeps it as an unambiguous signal regardless of entry color */




/* =========================================================================

   REFUSALS — the bridge

   The framing block that sits above the wall and tells the reader

   what they are about to walk through. Visually distinct from both

   the page header (compact, factual) and the refusal entries (timeline+accordion).

   ========================================================================= */



.sce-bridge {

  margin: 2rem 0 2.5rem 0;

  padding: 1.75rem 2rem;

  background: rgba(20, 184, 166, 0.04);

  border-left: 3px solid var(--ds-accent);

  border-radius: 0 4px 4px 0;

}



.sce-bridge-eyebrow {

  font-family: var(--ds-font-mono);

  font-size: 0.72rem;

  letter-spacing: 0.18em;

  text-transform: uppercase;

  color: var(--ds-accent);

  font-weight: 700;

  margin-bottom: 1rem;

  padding-bottom: 0.5rem;

  border-bottom: 1px dotted var(--ds-rule);

}



.sce-bridge .sce-lede {

  font-size: 1.05rem;

  line-height: 1.65;

  margin-bottom: 1rem;

  color: var(--ds-fg);

}



.sce-bridge-claim {

  font-size: 1.15rem;

  line-height: 1.5;

  margin: 1.25rem 0;

  color: var(--ds-accent);

  text-align: center;

  letter-spacing: 0.01em;

}



.sce-bridge p {

  line-height: 1.7;

  margin-bottom: 1rem;

}



.sce-bridge p:last-child {

  margin-bottom: 0;

}



.sce-bridge-howto {

  margin-top: 1.5rem !important;

  padding-top: 1rem;

  border-top: 1px dotted var(--ds-rule);

  color: var(--ds-fg-muted, var(--ds-fg));

  font-size: 0.95rem;

}



@media (max-width: 720px) {

  .sce-bridge {

    padding: 1.25rem 1.25rem;

    margin: 1.5rem 0;

  }

  .sce-bridge-claim {

    font-size: 1rem;

  }

}

