/* Brand color is independent from semantic success, failure, and TOTP lanes. */
:root {
  --ink:#0e0b18;
  --paper:#f6f3fb;
  --muted:#c5bfd3;
  --brand:#7D33F2;
  --brand-rgb:125,51,242;
  --brand-text:#bea6fa;
  --brand-soft:#d2c5fa;
  --brand-secondary:#726EE4;
  --brand-accent:#E03DCD;
  --success:#2e9b57;
  --success-text:#76ce95;
  --success-soft:#a0d6ae;
  --red:#ff7169;
}
html,body { background:#080611; }
.clean-bg {
  background:radial-gradient(ellipse at 86% 12%,#726ee42b,transparent 50%),
    radial-gradient(ellipse at 6% 95%,#7d33f22a,transparent 60%),
    repeating-linear-gradient(0deg,transparent 0 79px,#ffffff04 79px 80px),
    repeating-linear-gradient(90deg,transparent 0 79px,#ffffff04 79px 80px),#0e0b18;
}
.scene-vignette { background:linear-gradient(90deg,#0e0b1866,transparent 55%),linear-gradient(0deg,#080611a6,transparent 28%); }
.conference-logo { position:absolute; left:78px; top:0; width:420px; height:330px; object-fit:contain; mask-image:url('assets/logos/testdive-2026.png'); mask-size:contain; mask-position:center; mask-repeat:no-repeat; mask-mode:luminance; }
.testdive-cover-copy { position:absolute; left:108px; top:336px; width:1010px; padding:28px 36px 30px; border-left:6px solid var(--brand); background:linear-gradient(90deg,#0e0b18e8,#0e0b18ba 80%,transparent); }
.testdive-cover-copy .eyebrow { margin:0 0 25px; color:var(--brand-soft); font:700 25px/1.2 var(--title-font); letter-spacing:.16em; }
.testdive-cover-copy h1 { margin:0; font:650 66px/1.08 var(--title-font); letter-spacing:-.04em; text-wrap:balance; }
.chapter-copy,.about-copy,.closing-copy { background:linear-gradient(90deg,#0e0b18cf,#0e0b1859 76%,transparent); }
.comic-panel { background:radial-gradient(ellipse at 25% 55%,#4f422a,transparent 65%),#14101d; }
.watson-panel { border-color:var(--brand-secondary); background:radial-gradient(ellipse at 20% 60%,#40336b,transparent 65%),#14101d; }
.evidence-code { background:#080611; color:#eee8f9; }
.code-line.focus-line { background:#726ee424; }
.slide:not([data-reveal-index="0"]):not([data-reveal-index="1"]) .code-line.focus-line { background:#726ee424; box-shadow:0 0 0 4px #726ee424; }
.watson-panel.is-speaking { border-color:var(--brand-secondary); box-shadow:inset 0 0 60px #726ee424; }
@keyframes lineEvidence { 0%,25%{background:#726ee440} to{background:#726ee418} }
@keyframes brandEvidence { from{box-shadow:inset 0 0 0 2px #726ee499,0 0 28px #7d33f225} to{box-shadow:inset 0 0 0 1px transparent,0 0 0 transparent} }
[data-slide-id="commit-window"] .fx-cue .argument,.fx-cue .ci-jobs .argument,.fx-cue .film-timeline .process-step { animation-name:brandEvidence; }
.manuscript h3 { background:#252035; color:#f0ebf8; }
.process-step { background:linear-gradient(135deg,#28203b,#100d1b); }
.process-step p,.argument p { color:#ded9e9; }
.proof-good .process-step { background:linear-gradient(135deg,#1a251c,#0b110d); }
.proof-bad .process-step { background:linear-gradient(135deg,#311b24,#140d17); }
.verdict .speech,.verdict .speech::before { background:#eee9f6; }
.verdict .speech { border-color:#b5a2d3; }
.opening-dialogue .client-speech { border-color:#726EE4; }
.opening-dialogue .holmes-speech { border-color:var(--brand); }
.evidence-ledger .argument,.ci-jobs .argument { background:#211b32b3; }
.ramp-bars { border-color:#a9a0bc; background:repeating-linear-gradient(0deg,transparent 0 66px,#b9a0ed22 66px 67px); }
.ramp-bar i { background:linear-gradient(0deg,#382254,var(--brand)); }
.chart-y,.chart-axis { color:#c8bfd9; }
.ci-origin { border-color:var(--brand-secondary); background:#241c39; }
.takeaway-list section { border-color:var(--brand-secondary); background:linear-gradient(90deg,#2b2141,#15101f); }
.investigation-track::before { background:linear-gradient(90deg,var(--brand),var(--brand-secondary),var(--brand)); box-shadow:0 0 20px #7d33f270; }
.investigation-stage { border-color:#a090bb80; border-top-color:var(--brand); background:linear-gradient(145deg,#211730f5,#0d0918ef); }
.investigation-stage > b { color:#e8ddfa; background:#180f27ec; box-shadow:0 0 0 8px #0e081dcc,0 0 28px #7d33f238; }
.investigation-stage.is-verdict { border-color:var(--brand-secondary); border-top-color:var(--brand-accent); background:linear-gradient(145deg,#2e2148f5,#120b20ef); }
.progress-map .is-pending span,.case-map a > span { background:#130d21ed; }
.progress-map .is-pending b,.case-map a:not(.is-solved) b { background:#180f29eb; }
.case-map a > b,.progress-map .is-pending b,.progress-map .is-solved b { color:#fff; }
.case-map:not(.progress-map) a > b { border-color:#92998a; box-shadow:none; }
.case-map:not(.progress-map) a > span { border-left-color:#92998a; }
/* Case completion uses the conference palette; test results keep semantic colors. */
.progress-map .is-solved b { background:var(--brand); border-color:var(--brand-text); }
.progress-map .is-solved span { background:#1d1133f5; }
.progress-map .is-solved .map-case-status { color:var(--brand-soft); }
.progress-map .map-check { background:#352053; border-color:var(--brand-text); }
.progress-map .just-solved span { border-left-color:var(--brand-accent); box-shadow:0 0 0 1px #e03dcd70,0 12px 35px #0009; }
.progress-map .just-solved b { outline-color:var(--brand-accent); }
.map-next { border-left-color:var(--brand-secondary); background:linear-gradient(90deg,#160e27f5,#160e27d9,transparent); }
.map-next-label { color:var(--brand-soft); }
@keyframes solvedPin { from{box-shadow:0 0 0 8px #e03dcd55,0 0 44px #7d33f270} to{box-shadow:none} }
.case-map .fx-map-departure b { box-shadow:0 0 0 7px #e03dcd38,0 0 44px #7d33f2aa!important; border-color:var(--brand-accent); }
.case-map a:focus-visible b { background:#291740; }
:is(.layout-presentation-link,.layout-aitesters-invitation) .evidence-heading { background:linear-gradient(90deg,#10091fe8,#10091fc9 78%,#10091f66); }
.presentation-link-qr { box-shadow:0 18px 44px #0009,0 0 0 10px #7d33f21f; }
.layout-aitesters-invitation .evidence-heading .eyebrow { color:var(--brand-soft); }
.hud-left,.hud-help { color:#d7cfe6; }
.text-editor { border-color:var(--brand-secondary); background:#160e24f5; color:var(--paper); }
.text-editor p,.text-editor small { color:var(--brand-soft); }
.text-editor button,.text-editor select { border-color:#726ee480; background:#29203c; color:var(--paper); }
.text-editor button:hover { background:#40305d; }
.editing-text [data-edit],.moving-elements [data-move-key] { outline-color:#bea6faaa; }
.editing-text [data-edit]:focus { background:#726ee433; }
.editing-text:not(.moving-elements) .case-caption { background:#130d21f0; }
.mobile-nav-button { border-color:#bea6fa9e; background:#160e24f0; }
.mobile-nav-button:active { border-color:var(--brand-soft); background:#32204afa; }
