:root {
  --sdd-red: #e5484d;
  --sdd-proof: #66c0f4;
  --sdd-money: #f5a524;
}
body { 
  background-color: #0d0f14; 
  color: #f1f5f9; 
}
html {
  scroll-padding-top: 7rem;
}
body.casework .chapter-context,
body.casework .story-evidence,
body.casework .case-disclosure {
  margin-top: 14px;
  border-left: 2px solid #3b82f6; 
  padding-left: 16px;
  background: rgba(30, 41, 59, 0.15); 
  border-radius: 0 8px 8px 0;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 14px;
  margin-bottom: 14px;
  transition: border-color 0.25s ease, background-color 0.25s ease;
  overflow: hidden; 
}
body.casework .chapter-context:hover,
body.casework .story-evidence:hover,
body.casework .case-disclosure:hover {
  border-left-color: #60a5fa;
  background: rgba(30, 41, 59, 0.3);
}
body.casework .chapter-context summary,
body.casework .story-evidence summary,
body.casework .case-disclosure summary {
  color: #9ed4dc;
  font-family: 'JetBrains Mono', monospace;
  font-size:12.0px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  outline: none;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 2px;
}
body.casework .chapter-context summary::-webkit-details-marker,
body.casework .story-evidence summary::-webkit-details-marker,
body.casework .case-disclosure summary::-webkit-details-marker {
  display: none;
}
body.casework .chapter-context summary::before,
body.casework .story-evidence summary::before,
body.casework .case-disclosure summary::before {
  content: "▶";
  font-size:11.0px;
  color: #60a5fa;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block;
}
body.casework .chapter-context[open] summary::before,
body.casework .story-evidence[open] summary::before,
body.casework .case-disclosure[open] summary::before {
  transform: rotate(90deg);
  color: #3b82f6;
}
body.casework .chapter-context[open],
body.casework .story-evidence[open],
body.casework .case-disclosure[open] {
  border-left-color: #3b82f6;
  background: rgba(30, 41, 59, 0.4);
}
body.casework .chapter-context-text,
body.casework .story-evidence > div,
body.casework .case-disclosure > div {
  font-size:13.5px;
  line-height: 1.75;
  color: #94a3b8;
  margin: 10px 0 4px 0;
}
body.casework .chapter-context[open] .chapter-context-text,
body.casework .story-evidence[open] > div,
body.casework .case-disclosure[open] > div {
  animation: detailsReveal 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes detailsReveal {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
::selection {  
  background: rgba(220, 38, 38, 0.3); 
  color: #ffffff;
}
p.text-\[11px\].leading-relaxed,
div.text-\[11px\].leading-relaxed { font-size:12.0px; }
.section-head { max-width: 56rem; margin: 0 0 2rem; }
.section-head .kicker,
.kicker { display: block; font-family: 'JetBrains Mono', monospace; font-size:11.0px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #8b949e; margin-bottom: .5rem; }
.section-head h2 { color: #f4f7fc; font-family: 'Inter', sans-serif; font-weight: 800; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; letter-spacing: -.02em; margin: 0; }
.section-head .lede,
.lede { color: #b8c2cc; font-size:15.0px; line-height: 1.7; margin: .9rem 0 0; max-width: 52rem; }
.lede strong { color: #fff; }
.part-divider { border-top: 1px solid #374151; padding-top: 2.5rem; }
.part-divider .part-label { display: block; font-family: 'JetBrains Mono', monospace; font-size:11.0px; letter-spacing: .16em; text-transform: uppercase; color: #9aa8bb; margin-bottom: 1.25rem; }
#toc { border: 1px solid #374151; border-radius: 6px; padding: 1.5rem 1.75rem; background: #0b0e13; max-width: 80rem; margin: 0 auto; }
#toc h2 { font-family: 'Inter', sans-serif; font-weight: 800; font-size:20.0px; color: #f4f7fc; margin: 0 0 1rem; }
#toc ol { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 2.5rem; }
#toc li { break-inside: avoid; padding: .3rem 0; border-bottom: 1px solid #1f2937; font-size:13.0px; line-height: 1.45; }
#toc li a { color: #d1d5db; text-decoration: none; display: flex; gap: .75rem; }
#toc li a:hover { color: #fff; text-decoration: underline; }
#toc li a span:first-child { font-family: 'JetBrains Mono', monospace; font-size:11.0px; color: #8b949e; min-width: 4.5rem; flex-shrink: 0; }
#toc li.toc-part { border-bottom: 0; padding-top: .9rem; font-family: 'JetBrains Mono', monospace; font-size:11.0px; letter-spacing: .14em; text-transform: uppercase; color: #9aa8bb; }
#toc { scroll-margin-top: 110px; }
@media (max-width: 760px) { #toc ol { columns: 1; } }
.evidence-figure { margin: 0; }
.evidence-caption { display: block; font-family: 'JetBrains Mono', monospace; font-size:11.0px; line-height: 1.6; color: #8b949e; padding: .5rem .25rem 0; word-break: break-word; }
.evidence-caption a { color: #9ca3af; text-decoration: underline; }
.evidence-caption code { color: #9ca3af; }
.archived-link { font-family: 'JetBrains Mono', monospace; font-size:11.5px; color: #9aa7b8; text-decoration: underline; white-space: nowrap; margin-left: .3rem; padding: .2rem 0; }
.market-thesis-head h2 { font: 800 clamp(24px, 2.4vw, 32px)/1.2 'Inter', sans-serif !important; letter-spacing: -.02em !important; margin: 0 !important; }
.market-thesis-head::after { content: none !important; }
.market-thesis-head { background: #0f172a !important; }
.market-thesis-head .lede { font-size:15.0px !important; line-height: 1.7 !important; }
.editorial-prose .section-head h2::after { content: none; }
.editorial-prose .section-head h2 { max-width: none; margin: 0; }
.case-section-heading.section-head h2 { margin: 0; }
.letter-timeline .bg-cyan-500 { background: #6b7280 !important; }
.custom-scrollbar::-webkit-scrollbar { height: 6px; width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: rgba(0,0,0,0.2); }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #3b4252; border-radius: 3px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #4c566a; }
.tech-bg {
  background-color: #0f111a;
  background-image: radial-gradient(rgba(102, 192, 244, 0.05) 1px, transparent 0);
  background-size: 24px 24px;
}
@keyframes part2-pulse-glow {
  0% {
    box-shadow: 0 0 5px rgba(244,63,94,0.4), inset 0 0 5px rgba(244,63,94,0.2);
    border-color: rgba(244,63,94,0.4);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 15px rgba(244,63,94,0.8), inset 0 0 10px rgba(244,63,94,0.5);
    border-color: rgba(244,63,94,0.8);
    transform: scale(1.05);
  }
  100% {
    box-shadow: 0 0 5px rgba(244,63,94,0.4), inset 0 0 5px rgba(244,63,94,0.2);
    border-color: rgba(244,63,94,0.4);
    transform: scale(1);
  }
}
.part2-badge {
  font-family: 'Georgia', serif;
  font-size:15.0px;
  color: #ffffff;
  font-weight: 900;
  background: rgba(244,63,94,0.15);
  border: 1.5px solid rgba(244,63,94,0.4);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
  text-shadow: 0 0 4px rgba(244,63,94,0.6);
  animation: part2-pulse-glow 2.5s infinite ease-in-out;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
@keyframes part2-badge-mega-pulse {
  0% {
    box-shadow: 0 0 10px rgba(244,63,94,0.6), inset 0 0 8px rgba(255,255,255,0.2);
    transform: scale(1) rotate(0deg);
  }
  50% {
    box-shadow: 0 0 25px rgba(244,63,94,1), inset 0 0 15px rgba(255,255,255,0.4);
    transform: scale(1.08) rotate(5deg);
  }
  100% {
    box-shadow: 0 0 10px rgba(244,63,94,0.6), inset 0 0 8px rgba(255,255,255,0.2);
    transform: scale(1) rotate(0deg);
  }
}
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}
.sdd-timeline { margin-top: 1.25rem; }
.sdd-tl-nodes {
  list-style: none;
  display: grid;
  gap: .75rem;
  margin: 1rem 0 0;
  padding: 0;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  font-family: 'JetBrains Mono', monospace;
}
@media print {
  body { background: #ffffff !important; color: #000000 !important; font-size: 10pt; }
  .no-print { display: none !important; }
  .print-break { page-break-before: always; }
  .avoid-break { page-break-inside: avoid; }
  .tech-bg { background: #ffffff !important; color: #000000 !important; }
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  table { border-collapse: collapse; width: 100%; }
  th, td { border: 1px solid #cbd5e1 !important; padding: 6px !important; color: #000000 !important; }
  main, main section, main article, main aside, main #briefing-section, main #toc {
    display: block !important;
    background: #ffffff !important;
    color: #111111 !important;
  }
  main section *, main article *, main #briefing-section *, main #toc *,
  main [class*="rounded-"] {
    background: transparent !important;
    background-image: none !important;
    color: #111111 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-color: #999999 !important;
    backdrop-filter: none !important;
    filter: none !important;
    animation: none !important;
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
  }
  main .no-print, main .revenue-tabs, main button { display: none !important; }
  main .revenue-panel[hidden], main .hidden { display: block !important; }
  main table { color: #000000 !important; }
  table, figure, .evidence-figure, .evidence-card, .receipt-panel, .casework-panel { page-break-inside: avoid; break-inside: avoid; }
  .print-break { page-break-before: always; break-before: page; }
  #toc { display: block !important; border: 1px solid #999 !important; padding: 12pt !important; }
  #toc ol { columns: 2; }
  #toc li a span:first-child { color: #333 !important; }
  #toc li.toc-part { color: #333 !important; }
  .evidence-caption { color: #333 !important; font-size: 8pt; }
  .archived-link { color: #333 !important; }
  img { max-width: 100% !important; }
}