:root { color-scheme: dark; --black:#000; --paper:#111; --white:#fff; --muted:rgba(255,255,255,.68); --line:rgba(255,255,255,.28); --magenta:#ff38d1; --cyan:#00e0ff; }
* { box-sizing:border-box; }
html,body { margin:0; min-width:100%; min-height:100%; background:var(--paper); color:var(--white); font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif; }
.deck { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(8px,1vw,14px); width:min(1680px,100%); margin:0 auto; padding:clamp(8px,1.25vw,18px); }
.slide,.references { position:relative; min-width:0; min-height:clamp(470px,47vw,740px); overflow:hidden; border:1px solid var(--line); background:var(--black); }
.wide { grid-column:span 2; }
.slide header { display:flex; justify-content:space-between; min-height:86px; padding:18px 20px; border-bottom:1px solid var(--line); font-size:10px; font-weight:700; letter-spacing:.1em; }
.slide header b { font-size:clamp(3.2rem,6vw,7rem); font-weight:500; letter-spacing:-.09em; line-height:.7; }
.magenta-number header b { color:var(--magenta); } .cyan-number header b { color:var(--cyan); }
.slide h1,.slide h2,.slide p { margin-top:0; } .slide em { color:var(--magenta); font-style:normal; } .cyan-number em { color:var(--cyan); }
.hero { display:flex; flex-direction:column; } .hero-copy { margin:auto 20px 28px; }
.hero h1 { margin:0; font-size:clamp(3.1rem,6vw,7rem); font-weight:500; letter-spacing:-.07em; line-height:.87; }
.slide footer { display:flex; justify-content:space-between; gap:32px; align-items:end; padding:20px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.slide footer p { max-width:60ch; margin:0; } .slide footer span { color:var(--cyan); font-size:9px; letter-spacing:.08em; }
.contrast { display:flex; flex-direction:column; } .contrast-grid { display:grid; grid-template-columns:1fr 1fr; flex:1; }
.contrast-grid>div { padding:clamp(24px,4vw,58px) 20px; } .contrast-grid>div+div { border-left:1px solid var(--line); }
.contrast-grid small { color:var(--cyan); font-weight:700; letter-spacing:.1em; }
.contrast-grid h2 { max-width:8ch; margin-top:22px; font-size:clamp(2.7rem,5vw,6rem); font-weight:400; letter-spacing:-.065em; line-height:.9; }
.loop { display:flex; flex-direction:column; }
.loop-chain { display:grid; grid-template-columns:repeat(7,auto); justify-content:center; gap:clamp(10px,2vw,34px); align-items:center; margin:auto 20px; font-size:clamp(2.2rem,5.4vw,6.2rem); letter-spacing:-.06em; }
.loop-chain i { color:var(--cyan); font-style:normal; } .loop-chain strong { color:var(--magenta); font-weight:500; }
.equation { padding:20px; border-top:1px solid var(--line); text-align:center; color:var(--cyan); font-size:clamp(1rem,2vw,2rem); }
.method { padding-bottom:28px; }
.method>h2,.application>h2 { max-width:11ch; margin:clamp(32px,5vw,76px) 20px 40px; font-size:clamp(2.7rem,5vw,6rem); font-weight:400; letter-spacing:-.065em; line-height:.9; }
.method ul { margin:0 20px; padding:0; list-style:none; border-top:1px solid var(--line); } .method li { padding:12px 0; border-bottom:1px solid var(--line); color:var(--muted); }
.input-list { display:grid; grid-template-columns:1fr 1fr; margin:0 20px; border-top:1px solid var(--line); } .input-list span { padding:13px 0; border-bottom:1px solid var(--line); color:var(--muted); }
.control { display:flex; flex-direction:column; } .control-copy { display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:end; margin:auto 20px; }
.control-copy h2 { margin:0; font-size:clamp(3.2rem,7vw,8rem); font-weight:400; letter-spacing:-.07em; line-height:.87; } .control-copy p { max-width:42ch; color:var(--muted); line-height:1.5; }
.application { padding-bottom:30px; } .application dl { margin:0 20px; border-top:1px solid var(--line); }
.application dl div { display:grid; grid-template-columns:.45fr .55fr; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); } .application dt { color:var(--cyan); } .application dd { margin:0; color:var(--muted); }
.oracle { display:flex; flex-direction:column; } .oracle-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; align-items:end; margin:auto 20px 36px; }
.oracle-grid h2 { margin:0; font-size:clamp(3.2rem,7vw,8rem); font-weight:400; letter-spacing:-.07em; line-height:.87; } .oracle-grid p { color:var(--magenta); font-size:clamp(1.6rem,3vw,3.6rem); line-height:1; }
.oracle-chain { padding:20px; border-top:1px solid var(--line); text-align:center; color:var(--muted); } .oracle-chain i { padding:0 .6em; color:var(--cyan); font-style:normal; } .oracle footer a { color:var(--white); text-decoration:none; }
.references { grid-column:span 2; min-height:0; padding:20px; } .references h2 { margin:0 0 20px; color:var(--cyan); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.references div { display:grid; grid-template-columns:repeat(2,1fr); gap:0 30px; } .references a { padding:12px 0; border-top:1px solid var(--line); color:var(--muted); text-decoration:none; } .references a:hover { color:var(--white); }
@media(max-width:820px) {
  .deck { grid-template-columns:1fr; padding:8px; } .slide,.wide,.references { grid-column:span 1; min-height:0; } .hero { min-height:78dvh; } .hero h1 { font-size:clamp(3.1rem,14vw,5.8rem); }
  .contrast-grid,.control-copy,.oracle-grid { grid-template-columns:1fr; } .contrast-grid>div+div { border-left:0; border-top:1px solid var(--line); }
  .loop-chain { grid-template-columns:1fr; justify-items:center; padding:40px 0; } .loop-chain i { transform:rotate(90deg); }
  .application dl div { grid-template-columns:1fr; gap:5px; } .references div { grid-template-columns:1fr; }
}
