.talk-page { --talk-accent:#c5ed78; }
.talk-reading-intro,.talk-slide { max-width:1500px; margin:auto; }
.talk-reading-intro { padding:38px 5vw 20px; }
.talk-reading-intro>p:not(.eyebrow) { margin:0; font-size:14px; }
.talk-reading-intro>p span { display:block; margin-top:8px; }
.talk-contents { margin-top:20px; color:var(--muted); font-size:14px; }
.talk-contents summary { cursor:pointer; }
.talk-contents ol { columns:2; column-gap:40px; padding-left:22px; }
.talk-contents li { padding:5px 0; break-inside:avoid; }
.talk-toolbar { display:flex; gap:20px; align-items:center; position:sticky; top:0; z-index:50; padding:12px 3vw; background:#10140ff5; border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.talk-wordmark { text-decoration:none; font-weight:700; font-size:16px; white-space:nowrap; }
.talk-wordmark span { color:var(--muted); font-size:12px; font-weight:400; }
.talk-jump-label { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--muted); min-width:0; margin-left:auto; }
.talk-toolbar select { max-width:250px; min-width:0; background:var(--panel); color:var(--text); border:1px solid var(--line); padding:8px; border-radius:3px; font:12px system-ui; }
.talk-buttons { display:flex; align-items:center; gap:6px; }
.talk-page button { font:500 12px system-ui; cursor:pointer; color:var(--text); background:transparent; border:1px solid #59644f; border-radius:3px; padding:9px 12px; }
.talk-page button:hover { border-color:var(--lime); color:var(--lime); }
.talk-page button:disabled { opacity:.35; cursor:default; }
.talk-page button.talk-primary { background:var(--lime); border-color:var(--lime); color:var(--bg); }
#talk-position { font:11px monospace; color:var(--muted); white-space:nowrap; min-width:56px; text-align:center; }
.talk-slide { padding:45px 5vw 40px; border-bottom:1px solid var(--line); scroll-margin-top:72px; min-height:680px; }
.talk-chapter { display:flex; gap:20px; align-items:center; color:var(--lime); font:12px/1.5 monospace; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:34px; }
.talk-chapter>span:first-child { color:var(--muted); }
.talk-body { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:55px; align-items:center; }
.talk-copy,.talk-visual { min-width:0; }
.talk-copy h1 { font-size:clamp(46px,5.7vw,88px); line-height:1.02; letter-spacing:-3.8px; font-weight:550; margin:0 0 25px; }
.talk-copy h2 { font-size:clamp(36px,4vw,58px); line-height:1.06; letter-spacing:-2px; font-weight:550; margin:0 0 24px; }
.talk-summary { font-size:clamp(19px,1.65vw,25px); line-height:1.45; margin:0 0 25px; color:#bcc4b6; }
.talk-points { list-style:none; padding:0; margin:0; }
.talk-points li { padding:11px 0; border-top:1px solid var(--line); font-size:clamp(16px,1.35vw,21px); line-height:1.45; color:#d3d9cb; }
.talk-points li:last-child { border-bottom:1px solid var(--line); }
.talk-image { margin:0; }
.talk-image img { display:block; width:100%; height:auto; max-height:460px; object-fit:contain; background:#e9ecdf; border-radius:5px; }
.talk-image figcaption,.talk-caption { font:12px/1.6 monospace; color:var(--muted); margin:15px 0 0; }
.talk-caption a,.talk-slide-foot a { color:#c7d5ba; }
.talk-slide-foot { display:flex; justify-content:space-between; gap:20px; margin-top:30px; color:var(--muted); font-size:12px; }
.talk-sources summary { cursor:pointer; }
.talk-sources ul { padding-left:18px; }
.talk-sources li { padding:4px 0; }
.talk-section-link { flex-shrink:0; font:12px monospace; text-decoration:none; }
.talk-notes { margin-top:18px; padding-top:16px; border-top:1px dashed var(--line); font-size:14px; color:var(--muted); }
.talk-notes summary { cursor:pointer; }
.talk-notes p { max-width:100ch; line-height:1.8; }
.talk-visual-label { font:12px monospace; letter-spacing:1.6px; color:var(--lime); }
.talk-trust-chain { list-style:none; margin:0; padding:0; }
.talk-trust-chain li { display:grid; grid-template-columns:40px 1fr; padding:20px 0; border-top:1px solid var(--line); }
.talk-trust-chain span { grid-row:span 2; font:12px monospace; color:var(--lime); padding-top:7px; }
.talk-trust-chain strong { font-size:clamp(21px,2vw,30px); font-weight:500; }
.talk-trust-chain small { color:var(--muted); font-size:15px; }
.talk-incident-list>div { padding:22px 0 26px 22px; border-left:3px solid var(--lime); }
.talk-incident-list>div+div { margin-top:22px; border-color:#aabbe2; }
.talk-incident-list time { color:var(--lime); font:12px monospace; letter-spacing:1.5px; }
.talk-incident-list h3 { font-size:clamp(24px,2.2vw,34px); line-height:1.1; margin:12px 0; font-weight:550; }
.talk-incident-list p { color:var(--text); font-size:20px; margin:10px 0; }
.talk-incident-list span { color:var(--muted); font-size:14px; }
.talk-signers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.talk-signers button { padding:25px 10px; border-radius:0; text-align:left; }
.talk-signers span { display:block; font:12px monospace; color:var(--lime); }
.talk-signers strong { display:block; font-size:22px; margin:10px 0 6px; font-weight:500; }
.talk-signers small { color:var(--muted); }
.talk-signers button[aria-pressed=true] { background:#243219; border-color:var(--lime); }
.talk-threshold-result { display:flex; align-items:center; gap:25px; border-top:1px solid var(--line); padding-top:20px; }
.talk-threshold-result strong { font-size:55px; letter-spacing:-3px; font-weight:500; color:var(--text); }
.talk-threshold-result span { font-size:18px; max-width:180px; }
.talk-threshold[data-met=true] .talk-threshold-result strong { color:var(--lime); }
.talk-prompt { margin:0 0 24px; border-left:3px solid var(--lime); padding:12px 22px; font-size:clamp(24px,2.5vw,34px); line-height:1.3; letter-spacing:-1px; }
.talk-loop { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0 0 22px; padding:0; list-style:none; counter-reset:loop; }
.talk-loop li { counter-increment:loop; border-top:1px solid var(--line); padding-top:10px; }
.talk-loop strong { display:block; font-size:20px; font-weight:500; }
.talk-loop strong:before { content:counter(loop,decimal-leading-zero) ' / '; font:12px monospace; color:var(--lime); }
.talk-loop span { font-size:14px; color:var(--muted); }
.talk-code { max-width:100%; overflow:auto; white-space:pre; padding:18px 20px; background:#080c07; border-left:2px solid #536344; font:16px/1.7 ui-monospace,monospace; color:var(--lime); margin:12px 0; }
.talk-code-disclosure { margin-top:16px; color:var(--muted); }
.talk-code-disclosure summary { cursor:pointer; font-size:16px; }
.talk-model { margin:0; }
.talk-model-controls { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.talk-model canvas { height:360px; border-radius:4px; }
.talk-model [data-fit-controls] { font-size:13px; margin:8px 0; }
.talk-model [data-fit-controls] label { margin-right:8px; }
.talk-model .enclosure-fallback img { display:block; width:100%; background:#e9ecdf; border-radius:4px; }
.talk-pipeline { list-style:none; padding:0; margin:0; }
.talk-pipeline li { border-left:2px solid #58654b; padding:14px 24px 25px; }
.talk-pipeline li+li { margin-top:8px; }
.talk-pipeline small,.talk-renderer small { color:var(--lime); font:12px monospace; letter-spacing:1.5px; display:block; }
.talk-pipeline strong { display:block; font-size:clamp(23px,2.3vw,34px); margin:8px 0; font-weight:500; }
.talk-pipeline span { color:var(--muted); font-size:16px; }
.talk-renderer { border-block:1px solid var(--line); padding:30px 0; }
.talk-renderer strong { display:block; font-size:clamp(24px,2.8vw,40px); font-weight:500; margin:10px 0; }
.talk-renderer p { margin:0; font-size:16px; }
.talk-renderer>span { display:block; font-size:35px; color:var(--lime); margin:12px 0; }
.talk-demo-links { display:flex; flex-wrap:wrap; gap:12px 25px; margin-top:20px; font-size:15px; color:var(--lime); }
.talk-proof { display:grid; grid-template-columns:max-content minmax(0,1fr); align-items:center; gap:6px 18px; margin-top:20px; }
.talk-proof strong { grid-row:span 2; font-size:80px; line-height:1; font-weight:500; color:var(--lime); }
.talk-proof span { font-size:21px; }
.talk-proof a { color:var(--muted); font-size:13px; }
.talk-cost>strong { display:block; font-size:clamp(70px,8vw,120px); line-height:1.1; font-weight:500; letter-spacing:-5px; margin:15px 0 20px; color:var(--lime); }
.talk-cost dl { margin:0; }
.talk-cost dl>div { display:flex; justify-content:space-between; gap:20px; padding:9px 0; border-top:1px solid var(--line); font-size:16px; }
.talk-cost dd { margin:0; white-space:nowrap; }
.talk-closing>a:first-child { display:block; font-size:clamp(32px,4vw,64px); color:var(--lime); text-decoration:none; letter-spacing:-2px; overflow-wrap:anywhere; }
.talk-closing>a:nth-child(2) { display:inline-block; margin:10px 0; font-size:20px; }
.talk-closing>p { font-size:18px; }
.talk-closing .talk-credits { margin-top:30px; font-size:14px; line-height:1.8; }
.talk-space { display:inline-block; margin-top:20px; }
.talk-space img { width:210px; height:auto; filter:invert(1); }
.talk-announcement:empty { display:none; }
.talk-announcement { padding:10px 5vw; font-size:13px; margin:0; }
body.talk-presenting { overflow:hidden; }
body.talk-presenting>header,body.talk-presenting>footer,body.talk-presenting>.skip { display:none; }
body.talk-presenting #talk { position:fixed; inset:0; z-index:60; background:var(--bg); display:flex; flex-direction:column; overflow:hidden; }
body.talk-presenting .talk-toolbar { position:relative; flex-shrink:0; }
body.talk-presenting .talk-reading-intro { display:none; }
body.talk-presenting .talk-slides { flex:1; min-height:0; }
body.talk-presenting .talk-slide { height:100%; min-height:0; max-width:none; overflow:auto; padding:30px 5vw 22px; border:0; }
body.talk-presenting .talk-body { min-height:calc(100% - 100px); }
body.talk-presenting .talk-chapter { margin-bottom:20px; }
body.talk-presenting .talk-notes { display:none; }
body.talk-presenting.talk-show-notes .talk-notes { display:block; }
body.talk-presenting .talk-slide-foot { margin-top:20px; }
@media(min-width:1600px) { body.talk-presenting .talk-slide { padding-inline:8vw; } }
@media(max-width:1100px) {
  .talk-wordmark span { display:none; }
  .talk-toolbar { gap:10px; padding-inline:16px; }
  .talk-toolbar select { max-width:180px; }
  .talk-body { gap:30px; }
}
@media(max-width:760px) {
  .talk-toolbar { flex-wrap:wrap; padding:10px 14px; gap:8px; }
  .talk-wordmark { font-size:14px; }
  .talk-jump-label { flex:1; justify-content:flex-end; }
  .talk-toolbar select { max-width:190px; }
  .talk-buttons { width:100%; justify-content:space-between; }
  .talk-page .talk-buttons button { padding:9px 10px; font-size:11px; }
  .talk-reading-intro { padding:25px 6vw 12px; }
  .talk-contents ol { columns:1; }
  .talk-slide { padding:35px 6vw; min-height:0; scroll-margin-top:115px; }
  .talk-chapter { font-size:10px; margin-bottom:24px; }
  .talk-body { display:block; }
  .talk-visual { margin-top:30px; }
  .talk-copy h1 { font-size:49px; letter-spacing:-2.5px; }
  .talk-copy h2 { font-size:38px; letter-spacing:-1.5px; }
  .talk-summary { font-size:20px; }
  .talk-points li { font-size:16px; }
  .talk-code { font-size:12px; padding:14px; }
  .talk-model canvas { height:300px; }
  .talk-signers { gap:7px; }
  .talk-signers button { padding:18px 8px; }
  .talk-signers strong { font-size:17px; }
  .talk-signers small { font-size:10px; }
  .talk-threshold-result strong { font-size:45px; }
  .talk-proof strong { font-size:65px; }
  .talk-proof span { font-size:18px; }
  .talk-proof a { font-size:12px; }
  body.talk-presenting .talk-slide { padding:25px 6vw; }
  body.talk-presenting .talk-body { min-height:0; }
}
@media(prefers-reduced-motion:reduce) { .talk-page * { scroll-behavior:auto!important; } }
@media print {
  body.talk-presenting { overflow:visible; }
  body.talk-presenting #talk { position:static; display:block; overflow:visible; }
  body.talk-presenting .talk-slide { height:auto; overflow:visible; }
  body>header,body>footer,.talk-toolbar,.talk-reading-intro,.talk-section-link,.talk-model canvas { display:none!important; }
  .talk-slide { display:block!important; break-after:page; min-height:0; padding:25px 0; color:#111; }
  .talk-slide h1,.talk-slide h2,.talk-slide h3,.talk-slide p,.talk-slide li { color:#111; }
  .talk-model .enclosure-fallback { display:block!important; }
  .talk-notes { display:none!important; }
}
/* Functional diagrams stay readable and expandable without JavaScript. */
.talk-timing { margin-left:auto; white-space:nowrap; font-size:10px; }
.talk-software-blocks .talk-body,.talk-hardware-blocks .talk-body { grid-template-columns:minmax(0,.65fr) minmax(0,1.65fr); gap:30px; }
.talk-block-hub,.talk-block-foundation { padding:16px 18px; border:1px solid var(--lime); background:#1b2515; text-align:center; }
.talk-block-hub strong { display:block; font-size:21px; font-weight:550; }
.talk-block-hub span { display:block; color:var(--muted); margin-top:6px; font-size:12px; line-height:1.5; }
.talk-diagram-instruction { font-size:12px; color:var(--muted); margin:12px 0; }
.talk-block-lanes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.talk-bus-label { font:11px/1.5 monospace; color:var(--lime); margin:0 0 12px; min-height:34px; }
.talk-block { border:1px solid #637155; background:var(--panel); min-width:0; }
.talk-block summary { padding:14px 12px; cursor:pointer; overflow-wrap:anywhere; }
.talk-block summary::marker { color:var(--lime); }
.talk-block summary strong { font-size:16px; font-weight:550; }
.talk-interface { display:block; margin-top:8px; color:#c7d5ba; font:12px/1.5 monospace; }
.talk-swap-status { display:inline-block; font-size:10px; line-height:1.5; margin-top:10px; padding:3px 6px; border:1px solid #637155; color:var(--lime); }
.talk-block dl { margin:0; padding:0 12px 14px; font-size:12px; line-height:1.6; }
.talk-block dt { font-weight:650; margin-top:10px; color:var(--lime); }
.talk-block dd { margin:3px 0 0; color:#d3d9cb; }
.talk-block-arrow { text-align:center; color:var(--lime); font-size:24px; margin:4px 0; }
.talk-block-foundation { margin-top:16px; font-size:13px; color:#c7d5ba; border-color:#637155; }
.talk-block-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; border-top:2px solid #637155; padding-top:16px; }
.talk-block-grid>.talk-block { position:relative; }
.talk-block-grid>.talk-block::before { content:''; position:absolute; height:16px; width:1px; background:#637155; left:50%; top:-17px; }
.talk-library-list { display:grid; gap:14px; }
.talk-library-list article { border-left:3px solid var(--lime); padding:8px 18px; }
.talk-library-list small { font:11px monospace; color:var(--lime); }
.talk-library-list h3 { margin:6px 0; font-size:27px; font-weight:550; }
.talk-library-list p { margin:0 0 6px; font-size:16px; }
.talk-library-list span { color:var(--muted); font-size:12px; }
.talk-shared-dependency { margin-top:18px; padding:15px; background:#1b2515; font-size:14px; line-height:1.6; }
.talk-shared-dependency p { margin-bottom:0; }
.talk-port>div { padding:20px; border:1px solid #637155; }
.talk-port strong,.talk-port span { display:block; }
.talk-port strong { font-size:29px; font-weight:550; }
.talk-port span { margin-top:8px; color:var(--muted); font-size:15px; }
@media(max-width:1100px) { .talk-block-lanes,.talk-block-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .talk-block-lanes,.talk-block-grid { grid-template-columns:1fr; } .talk-block-lane+.talk-block-lane { margin-top:18px; } .talk-bus-label { min-height:0; } .talk-timing { font-size:9px; } }
@media print { .talk-block,.talk-block-hub,.talk-block-foundation,.talk-shared-dependency { background:white; color:#111; border-color:#555; } .talk-interface,.talk-swap-status,.talk-block-hub span,.talk-block dd,.talk-block dt { color:#111; } }
.talk-block-hub summary,.talk-block-foundation summary { cursor:pointer; }
.talk-block-hub summary::marker,.talk-block-foundation summary::marker { color:var(--lime); }
.talk-block-hub p,.talk-block-foundation p { text-align:left; font-size:13px; line-height:1.65; color:#d3d9cb; }
.talk-reference { margin:0 0 14px; color:#c7d5ba; font:12px/1.6 monospace; }
.talk-block-grid { align-items:start; }
.talk-vendor-signers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.talk-vendor-signers article { padding:22px 14px; border:1px solid #637155; }
.talk-vendor-signers small { color:var(--lime); font:10px monospace; }
.talk-vendor-signers strong { display:block; font-size:23px; font-weight:550; margin:14px 0; overflow-wrap:anywhere; }
.talk-vendor-signers span { color:var(--muted); font-size:13px; line-height:1.6; }
.talk-vendor-signers .talk-experimental { border-style:dashed; }
@media(max-width:760px) { .talk-vendor-signers { grid-template-columns:1fr; } .talk-vendor-signers article { padding:16px; } .talk-vendor-signers strong { margin:8px 0; } }

/* Equal preview frames; preserve each drawing's proportions. */
.talk-port-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.talk-port-gallery figure { margin:0; min-width:0; }
.talk-port-gallery figure>a { display:block; position:relative; aspect-ratio:16 / 9; background:#080c07; border:1px solid var(--line); }
.talk-port-gallery img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.talk-port-gallery figcaption { margin-top:7px; color:var(--muted); font:11px/1.5 monospace; }
@media(max-width:760px) { .talk-port-gallery { grid-template-columns:1fr; } }
