@font-face{font-family:"Source Serif 4";src:url("./assets/source-serif-4.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Inter";src:url("./assets/inter.woff2") format("woff2");font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("./assets/jetbrains-mono.woff2") format("woff2");font-display:swap}
:root{
  --paper:#f4f0ea;--paper-light:#faf8f4;--ink:#211b25;--muted:#5f5864;
  --pale:#efeaf5;--purple:#673981;--purple-deep:#4b295e;--purple-dark:#25142f;
  --coral:#d96f52;--coral-deep:#a8432a;--teal:#3f817c;--teal-deep:#245f5b;
  --line:rgba(33,27,37,.17);--line-strong:rgba(33,27,37,.28);
  --serif:"Source Serif 4",Georgia,serif;--sans:"Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;--ease:cubic-bezier(.22,.61,.36,1)
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
html{background:var(--purple-dark);color:var(--ink);font-family:var(--sans)}
body{display:grid;place-items:center;background:radial-gradient(circle at 12% 20%,rgba(131,73,164,.3),transparent 30%),var(--purple-dark)}
button{font:inherit}
button:focus-visible{outline:3px solid rgba(103,57,129,.45);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.deck{
  position:relative;width:min(100vw,177.7778vh);height:min(100vh,56.25vw);overflow:hidden;
  container-type:size;isolation:isolate;background:var(--paper);box-shadow:0 42px 120px rgba(0,0,0,.34)
}
.deck:after{position:absolute;inset:0;z-index:70;border:1px solid rgba(255,255,255,.15);content:"";pointer-events:none}
.progress{position:absolute;inset:0 0 auto;z-index:60;height:.45cqh;background:rgba(33,27,37,.08)}
.progress span{display:block;width:16.667%;height:100%;background:var(--purple);transition:width .45s var(--ease)}
.masthead{position:absolute;top:3.1cqh;right:4.7cqw;left:4.7cqw;z-index:50;display:flex;align-items:center;pointer-events:none}
.masthead img{width:8.5cqw;height:auto}.masthead .rule{width:1px;height:3.3cqh;margin:0 1cqw;background:var(--line)}
.masthead .meta{color:var(--muted);font:700 clamp(8px,.67cqw,13px)/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.masthead .meta b{display:block;color:var(--purple)}
.timer{position:absolute;top:3.3cqh;right:4.7cqw;z-index:65;display:none;padding:.75cqh .9cqw;border:1px solid var(--line);border-radius:.6cqw;background:rgba(250,248,244,.96);color:var(--purple-deep);font:700 clamp(9px,.78cqw,15px) var(--mono)}
.timer.on{display:block}
.slide{
  position:absolute;inset:0;z-index:1;display:grid;padding:11.4cqh 5.2cqw 7.1cqh;overflow:hidden;
  background:radial-gradient(circle at 84% 18%,rgba(213,199,229,.36),transparent 28%),radial-gradient(circle at 9% 88%,rgba(63,129,124,.08),transparent 24%),var(--paper);
  opacity:0;visibility:hidden;transform:translateX(4%);transition:opacity .42s ease,transform .55s var(--ease),visibility 0s linear .55s
}
.slide:before{
  position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(33,27,37,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(33,27,37,.024) 1px,transparent 1px);
  background-size:4cqw 4cqw;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);content:"";pointer-events:none
}
.slide.active{z-index:10;opacity:1;visibility:visible;transform:none;transition-delay:0s}.slide.past{transform:translateX(-4%)}
.reveal{opacity:0;transform:translateY(1.25cqh);transition:opacity .6s ease,transform .72s var(--ease)}.active .reveal{opacity:1;transform:none}
.active .reveal:nth-child(2){transition-delay:.08s}.active .reveal:nth-child(3){transition-delay:.16s}.active .reveal:nth-child(4){transition-delay:.24s}
.kicker{margin:0 0 1.6cqh;color:var(--purple);font:800 clamp(9px,.72cqw,14px) var(--mono);letter-spacing:.13em;text-transform:uppercase}
.display{margin:0;font:490 clamp(46px,4.85cqw,94px)/.94 var(--serif);letter-spacing:-.055em;text-wrap:balance}
.display em{color:var(--coral-deep);font-style:italic;font-weight:520}.display .purple{color:var(--purple)}
.lede{max-width:45ch;margin:2.5cqh 0 0;color:var(--muted);font-size:clamp(15px,1.22cqw,24px);line-height:1.45}.lede strong{color:var(--purple-deep)}
.foot{position:absolute;right:5.2cqw;bottom:2.45cqh;left:5.2cqw;display:flex;align-items:center;color:var(--muted);font:700 clamp(8px,.62cqw,12px) var(--mono);letter-spacing:.08em;text-transform:uppercase}
.foot b{color:var(--purple)}.foot i{height:1px;margin:0 1.4cqw;flex:1;background:var(--line)}
.card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:1.05cqw;background:rgba(250,248,244,.84);box-shadow:0 2.4cqh 6cqh rgba(49,32,58,.11)}
.diagram-label{fill:var(--ink);font:700 18px var(--sans)}.diagram-meta{fill:var(--purple-deep);font:800 12px var(--mono);letter-spacing:1px}.diagram-soft{fill:var(--muted);font:400 14px var(--sans)}
.dash{stroke-dasharray:8 12;animation:dash 12s linear infinite}.pulse{transform-box:fill-box;transform-origin:center;animation:pulse 4.8s var(--ease) infinite}
@keyframes dash{to{stroke-dashoffset:-200}}@keyframes pulse{50%{transform:scale(1.13)}}

.s1{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:4cqw;align-items:center}
.s1 .display{max-width:8.5ch}.s1 .accent{width:6cqw;height:.45cqh;margin-top:2.2cqh;background:var(--coral)}
.chaos{height:64cqh}.chaos svg{display:block;width:100%;height:100%}
.badge{position:absolute;top:2cqh;right:1.3cqw;padding:.7cqh .8cqw;border:1px solid rgba(168,67,42,.34);border-radius:999px;background:rgba(217,111,82,.11);color:var(--coral-deep);font:800 clamp(8px,.62cqw,12px) var(--mono);letter-spacing:.08em;text-transform:uppercase}

.s2{grid-template-rows:auto minmax(0,1fr);gap:2.3cqh}.s2 .display{font-size:clamp(42px,4.3cqw,83px)}
.hyp-grid{display:grid;min-height:0;grid-template-columns:1fr 1fr;gap:1.7cqw}
.hyp{position:relative;display:grid;min-width:0;padding:2.1cqh 1.5cqw 6.4cqh;border:1px solid var(--line);border-radius:1cqw;background:rgba(250,248,244,.85)}
.hyp.real{border-color:rgba(217,111,82,.35);background:radial-gradient(circle at 84% 20%,rgba(217,111,82,.13),transparent 35%),var(--paper-light)}
.hyp h3{margin:0;color:var(--purple-deep);font:800 clamp(10px,.82cqw,16px) var(--mono);letter-spacing:.1em;text-transform:uppercase}
.hyp svg{align-self:center;width:100%;height:28cqh}.quote{display:none}
.ideal-flow,.real-flow{transform:translateY(-6cqh)}.ideal-flow-base{fill:none;stroke:rgba(103,57,129,.46);stroke-width:3}.ideal-flow-motion{fill:none;stroke:#9a70b4;stroke-width:6;stroke-linecap:round;stroke-dasharray:14 106;stroke-dashoffset:14;animation:ideal-flow-travel 4.4s linear infinite}.text-halo{paint-order:stroke fill;stroke:#fff;stroke-width:7px;stroke-linejoin:round}
@keyframes ideal-flow-travel{to{stroke-dashoffset:-106}}
.hyp-result{position:absolute;right:5.2cqw;bottom:7.2cqh;left:5.2cqw;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:1.1cqw;align-items:center;padding:1.2cqh 1.1cqw;border:1px solid rgba(103,57,129,.28);border-radius:.75cqw;background:rgba(239,234,245,.97);box-shadow:0 1cqh 2.5cqh rgba(49,32,58,.09)}
.hyp-result b{color:var(--purple-deep);font:800 clamp(9px,.72cqw,14px) var(--mono);letter-spacing:.08em;text-transform:uppercase}.hyp-result span{font:italic clamp(14px,1.08cqw,21px) var(--serif)}

.s3{grid-template-rows:auto minmax(0,1fr) auto;gap:2.2cqh}.s3 .display{font-size:clamp(40px,3.95cqw,76px)}
.gates{display:grid;min-height:0;grid-template-columns:minmax(0,1fr) 2.6cqw minmax(0,1fr) 2.6cqw minmax(0,1fr);gap:.7cqw;align-items:stretch}
.gate{--gate-accent:var(--purple);position:relative;display:flex;min-width:0;flex-direction:column;padding:1.7cqh 1.2cqw 1.45cqh;border:1px solid var(--line);border-top:.38cqh solid var(--gate-accent);border-radius:1cqw;background:rgba(250,248,244,.94);box-shadow:0 1.4cqh 4cqh rgba(49,32,58,.07)}.gate.g2{--gate-accent:var(--teal)}.gate.g3{--gate-accent:var(--coral)}
.gate-top{display:flex;align-items:center;justify-content:space-between;gap:1cqw;margin-bottom:1.35cqh}.num{display:grid;width:3.7cqw;height:3.7cqw;place-items:center;border:.15cqw solid var(--gate-accent);border-radius:50%;background:var(--paper-light);color:var(--purple-deep);font:800 clamp(17px,1.4cqw,27px) var(--mono);box-shadow:0 0 0 .42cqw var(--paper)}.g2 .num{color:var(--teal-deep)}.g3 .num{color:var(--coral-deep)}
.gate-verb{padding:.7cqh .65cqw;border:1px solid color-mix(in srgb,var(--gate-accent) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--gate-accent) 9%,transparent);color:var(--gate-accent);font:800 clamp(8px,.62cqw,12px) var(--mono);letter-spacing:.1em;text-transform:uppercase}.gate h3{max-width:15ch;margin:0;font:520 clamp(22px,1.75cqw,34px)/1.04 var(--serif);letter-spacing:-.035em}
.gate-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72cqh .52cqw;margin:1.55cqh 0;padding:0;list-style:none}.gate-checks li{position:relative;padding:.82cqh .55cqw .82cqh 1.15cqw;border:1px solid var(--line);border-radius:.55cqw;background:rgba(255,255,255,.52);color:var(--ink);font:650 clamp(10px,.74cqw,14px) var(--sans)}.gate-checks li:before{position:absolute;top:50%;left:.55cqw;width:.34cqw;height:.34cqw;border-radius:50%;background:var(--gate-accent);content:"";transform:translateY(-50%)}.gate-checks li:last-child:nth-child(odd){grid-column:1/-1}
.gate-output{display:flex;min-height:11cqh;flex:1;flex-direction:column;justify-content:center;margin:.2cqh 0 1.15cqh;padding:1.2cqh .9cqw;border:1px solid color-mix(in srgb,var(--gate-accent) 24%,var(--line));border-left:.24cqw solid var(--gate-accent);border-radius:.65cqw;background:linear-gradient(110deg,color-mix(in srgb,var(--gate-accent) 8%,white),rgba(255,255,255,.64))}.gate-output span{color:var(--gate-accent);font:800 clamp(8px,.6cqw,12px) var(--mono);letter-spacing:.1em;text-transform:uppercase}.gate-output strong{margin:.55cqh 0 .35cqh;font:520 clamp(19px,1.4cqw,27px) var(--serif);letter-spacing:-.025em}.gate-output small{color:var(--muted);font-size:clamp(10px,.72cqw,14px)}
.gate p{margin:0;padding-top:1.2cqh;border-top:1px solid var(--line);color:var(--muted);font-size:clamp(11px,.8cqw,15px);line-height:1.4}.gate-arrow{align-self:center;display:grid;width:2.25cqw;height:2.25cqw;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper-light);color:var(--purple);font:700 clamp(18px,1.45cqw,28px) var(--mono);box-shadow:0 .6cqh 1.5cqh rgba(49,32,58,.08)}.gate-arrow>span{display:block;line-height:1}
.after{display:flex;align-items:center;gap:1cqw;color:var(--purple-deep);font:800 clamp(10px,.82cqw,16px) var(--mono);letter-spacing:.1em;text-transform:uppercase}.after:before{width:4.5cqw;height:2px;background:var(--coral);content:""}

.s4,.s5{grid-template-rows:auto minmax(0,1fr) auto;gap:2cqh}.headrow{display:flex;align-items:end;justify-content:space-between;gap:2cqw}.headrow .display{font-size:clamp(38px,3.65cqw,70px)}
.headnote{max-width:30ch;margin:0 0 .5cqh;color:var(--muted);font:italic clamp(14px,1.05cqw,20px)/1.25 var(--serif);text-align:right}
.flow-card{min-height:0;padding:2cqh 1cqw 1cqh}.flow-card svg{display:block;width:100%;height:100%}
.flow-box{fill:var(--paper-light);stroke:rgba(33,27,37,.25);stroke-width:1.5}.flow-box.ai{fill:var(--pale);stroke:var(--purple)}.flow-box.rule{fill:#edf5f3;stroke:var(--teal)}.flow-box.human{fill:#fbefeb;stroke:var(--coral);stroke-width:2.2}.flow-box.evidence{fill:#f6f1f8;stroke:rgba(103,57,129,.58)}
.flow-line{fill:none;stroke:rgba(103,57,129,.5);stroke-width:2.3}.role{font:800 12px var(--mono);letter-spacing:1px}
.loop-connectors path,.case-connectors path{fill:none;stroke:rgba(103,57,129,.55);stroke-width:2.4;stroke-linecap:round}.loop-caption,.loop-role,.case-role{fill:var(--purple-deep);font:800 12px var(--mono);letter-spacing:1.2px}.loop-core rect{fill:rgba(250,248,244,.96);stroke:rgba(103,57,129,.45);stroke-width:1.8;filter:drop-shadow(0 8px 16px rgba(49,32,58,.08))}
.react-focus,.case-focus{fill:rgba(103,57,129,.08);stroke:#9a70b4;stroke-width:3;opacity:0;filter:drop-shadow(0 0 11px rgba(103,57,129,.34));transform-box:fill-box;transform-origin:center;animation:react-step-focus 10s linear infinite;animation-delay:var(--delay)}.case-focus{animation-name:case-step-focus;animation-duration:12s}
@keyframes react-step-focus{0%,17%{opacity:1;transform:scale(1.025)}20%,100%{opacity:0;transform:scale(1)}}@keyframes case-step-focus{0%,10%{opacity:1;transform:scale(1.025)}13%,100%{opacity:0;transform:scale(1)}}.slide:not(.active) .react-focus,.slide:not(.active) .case-focus{animation-play-state:paused}
.flow-note{display:flex;align-items:center;justify-content:space-between;gap:2cqw}.flow-note b{color:var(--purple-deep);font:italic 520 clamp(19px,1.68cqw,32px) var(--serif)}.flow-note span{color:var(--muted);font:700 clamp(9px,.67cqw,13px) var(--mono);letter-spacing:.08em;text-transform:uppercase}
.triad{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--line);border-radius:.78cqw;background:rgba(250,248,244,.82)}
.triad div{padding:1.2cqh 1cqw;border-right:1px solid var(--line);font:italic clamp(14px,1.15cqw,22px) var(--serif);text-align:center}.triad div:last-child{border:0}.triad strong{font-style:normal}.triad div:nth-child(1) strong{color:var(--purple)}.triad div:nth-child(2) strong{color:var(--teal-deep)}.triad div:nth-child(3) strong{color:var(--coral-deep)}

.s6{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:3.2cqw;align-items:center}.s6 .display{max-width:11.5ch;font-size:clamp(42px,4.05cqw,78px);line-height:.96}.s6 .display span{color:var(--purple)}
.closing{height:66cqh}.closing svg{display:block;width:100%;height:100%}
.closing-connectors path{fill:none;stroke:var(--purple);stroke-width:2.4;stroke-linecap:round}.closing-key text{letter-spacing:1.4px}
.axiom{position:absolute;right:1.2cqw;bottom:1.8cqh;left:1.2cqw;display:flex;align-items:center;justify-content:space-between;gap:1cqw;padding:1.2cqh 1cqw;border:1px solid var(--line-strong);border-radius:.72cqw;background:rgba(250,248,244,.94);box-shadow:0 1.2cqh 3cqh rgba(49,32,58,.09)}
.axiom b{color:var(--coral-deep);font:800 clamp(10px,.84cqw,16px) var(--mono);letter-spacing:.08em;text-transform:uppercase}.axiom span{color:var(--purple-deep);font:italic clamp(14px,1cqw,20px) var(--serif)}
.handoff{display:inline-flex;align-items:center;gap:.7cqw;margin-top:2.8cqh;color:var(--purple-deep);font:800 clamp(10px,.75cqw,15px) var(--mono);letter-spacing:.08em;text-transform:uppercase}.handoff:before{width:3.5cqw;height:2px;background:var(--coral);content:""}

.controls{position:absolute;right:1.1cqw;bottom:1.3cqh;z-index:80;display:flex;gap:.35cqw;opacity:0;transition:opacity .2s}.controls:hover,.controls:focus-within{opacity:1}
.controls button{display:grid;width:2.3cqw;min-width:28px;height:2.3cqw;min-height:28px;place-items:center;padding:0;border:1px solid var(--line);border-radius:.42cqw;background:rgba(250,248,244,.94);color:var(--purple-deep);cursor:pointer;font:700 clamp(12px,.92cqw,18px) var(--mono);box-shadow:0 8px 20px rgba(49,32,58,.08)}.controls button:hover{background:var(--pale)}
.notes{position:fixed;right:1rem;bottom:1rem;z-index:100;display:none;width:min(42rem,calc(100vw - 2rem));max-height:min(74vh,48rem);overflow:auto;border:1px solid rgba(213,199,229,.34);border-radius:16px;background:rgba(37,20,47,.98);color:#f7f3fa;box-shadow:0 30px 90px rgba(0,0,0,.42)}.notes.on{display:block}
.notes-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid rgba(213,199,229,.22);background:rgba(37,20,47,.99)}.notes-head strong{font:700 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.notes-head button{border:0;background:none;color:#d5c7e5;cursor:pointer;font-size:1.25rem}
.notes-body{padding:1.2rem 1.4rem 1.6rem;font-size:1rem;line-height:1.62}.notes-body p{margin:0 0 1rem}.notes-body strong{color:#d5c7e5}
.help{position:fixed;bottom:1rem;left:1rem;z-index:90;display:none;padding:1rem 1.2rem;border:1px solid rgba(213,199,229,.3);border-radius:12px;background:rgba(37,20,47,.97);color:#f7f3fa;font:400 .78rem/1.7 var(--mono);box-shadow:0 20px 60px rgba(0,0,0,.36)}.help.on{display:block}
@media(max-width:800px){
  .masthead .meta{font-size:.67cqw}.timer{font-size:.78cqw}.kicker{font-size:.72cqw}.display{font-size:4.85cqw}.lede{font-size:1.22cqw}.foot{font-size:.62cqw}.badge{font-size:.62cqw}
  .s2 .display{font-size:4.3cqw}.hyp h3{font-size:.82cqw}.hyp-result b{font-size:.72cqw}.hyp-result span{font-size:1.08cqw}
  .s3 .display{font-size:3.95cqw}.num{font-size:1.6cqw}.gate h3{font-size:1.95cqw}.gate p{font-size:.88cqw}.after{font-size:.82cqw}
  .headrow .display{font-size:3.65cqw}.headnote{font-size:1.05cqw}.flow-note b{font-size:1.68cqw}.flow-note span{font-size:.67cqw}.triad div{font-size:1.15cqw}
  .s6 .display{font-size:4.05cqw}.axiom b{font-size:.84cqw}.axiom span{font-size:1cqw}.handoff{font-size:.75cqw}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.ideal-flow-motion{animation:none!important;stroke-dasharray:none;stroke-dashoffset:0;opacity:.72}.react-focus,.case-focus{animation:none!important;opacity:0}.react-step[data-static-focus="true"] .react-focus,.case-step[data-static-focus="true"] .case-focus{opacity:1}}
@media print{
  @page{size:13.333in 7.5in;margin:0}html,body{width:auto;height:auto;overflow:visible;background:#fff}.deck{width:13.333in;height:auto;overflow:visible;box-shadow:none}.masthead,.progress,.controls,.timer,.notes,.help{display:none!important}.slide{position:relative;width:13.333in;height:7.5in;page-break-after:always;opacity:1;visibility:visible;transform:none}.reveal{opacity:1;transform:none}
}
