rikiki-deck 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +18 -17
  2. package/dist/atoms/deck-badge.d.ts.map +1 -0
  3. package/dist/atoms/deck-code.d.ts.map +1 -0
  4. package/dist/atoms/deck-kicker.d.ts.map +1 -0
  5. package/dist/atoms/deck-punch.d.ts.map +1 -0
  6. package/dist/click-stages.js +1 -0
  7. package/dist/deck-code.js +2 -2
  8. package/dist/deck-presenter.js +18 -13
  9. package/dist/deck-root.js +3 -3
  10. package/dist/index.d.ts +28 -24
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +71 -21
  13. package/dist/layouts/deck-cover.d.ts.map +1 -0
  14. package/dist/layouts/deck-feature-cards.d.ts.map +1 -0
  15. package/dist/layouts/deck-feature.d.ts.map +1 -0
  16. package/dist/layouts/deck-photo.d.ts.map +1 -0
  17. package/dist/layouts/deck-section.d.ts.map +1 -0
  18. package/dist/layouts/deck-split.d.ts.map +1 -0
  19. package/dist/layouts/deck-takeaway.d.ts.map +1 -0
  20. package/dist/livereload.js +1 -1
  21. package/dist/molecules/deck-callout.d.ts.map +1 -0
  22. package/dist/molecules/deck-card.d.ts.map +1 -0
  23. package/dist/molecules/deck-grid.d.ts.map +1 -0
  24. package/dist/molecules/deck-md.d.ts.map +1 -0
  25. package/dist/molecules/deck-mermaid.d.ts.map +1 -0
  26. package/dist/molecules/deck-metric.d.ts.map +1 -0
  27. package/dist/molecules/deck-shortcut.d.ts.map +1 -0
  28. package/dist/molecules/deck-stack.d.ts.map +1 -0
  29. package/dist/molecules/deck-stat.d.ts.map +1 -0
  30. package/dist/molecules/deck-step-list.d.ts.map +1 -0
  31. package/dist/molecules/deck-tier-list.d.ts.map +1 -0
  32. package/dist/plugins/click-stages.d.ts +2 -0
  33. package/dist/plugins/click-stages.d.ts.map +1 -0
  34. package/dist/{shiki-plugin.d.ts → plugins/shiki.d.ts} +1 -1
  35. package/dist/plugins/shiki.d.ts.map +1 -0
  36. package/dist/runtime/deck-help.d.ts.map +1 -0
  37. package/dist/runtime/deck-notes.d.ts.map +1 -0
  38. package/dist/runtime/deck-overview.d.ts.map +1 -0
  39. package/dist/runtime/deck-presenter.d.ts.map +1 -0
  40. package/dist/runtime/deck-root.d.ts.map +1 -0
  41. package/dist/runtime/deck-transition.d.ts.map +1 -0
  42. package/dist/standalone.js +58 -53
  43. package/package.json +5 -3
  44. package/dist/deck-badge.d.ts.map +0 -1
  45. package/dist/deck-callout.d.ts.map +0 -1
  46. package/dist/deck-card.d.ts.map +0 -1
  47. package/dist/deck-code.d.ts.map +0 -1
  48. package/dist/deck-cover.d.ts.map +0 -1
  49. package/dist/deck-feature-cards.d.ts.map +0 -1
  50. package/dist/deck-feature.d.ts.map +0 -1
  51. package/dist/deck-grid.d.ts.map +0 -1
  52. package/dist/deck-help.d.ts.map +0 -1
  53. package/dist/deck-kicker.d.ts.map +0 -1
  54. package/dist/deck-md.d.ts.map +0 -1
  55. package/dist/deck-mermaid.d.ts.map +0 -1
  56. package/dist/deck-metric.d.ts.map +0 -1
  57. package/dist/deck-notes.d.ts.map +0 -1
  58. package/dist/deck-overview.d.ts.map +0 -1
  59. package/dist/deck-photo.d.ts.map +0 -1
  60. package/dist/deck-presenter.d.ts.map +0 -1
  61. package/dist/deck-punch.d.ts.map +0 -1
  62. package/dist/deck-root.d.ts.map +0 -1
  63. package/dist/deck-section.d.ts.map +0 -1
  64. package/dist/deck-shortcut.d.ts.map +0 -1
  65. package/dist/deck-split.d.ts.map +0 -1
  66. package/dist/deck-stack.d.ts.map +0 -1
  67. package/dist/deck-stat.d.ts.map +0 -1
  68. package/dist/deck-step-list.d.ts.map +0 -1
  69. package/dist/deck-takeaway.d.ts.map +0 -1
  70. package/dist/deck-tier-list.d.ts.map +0 -1
  71. package/dist/deck-transition.d.ts.map +0 -1
  72. package/dist/shiki-plugin.d.ts.map +0 -1
  73. /package/dist/{deck-badge.d.ts → atoms/deck-badge.d.ts} +0 -0
  74. /package/dist/{deck-code.d.ts → atoms/deck-code.d.ts} +0 -0
  75. /package/dist/{deck-kicker.d.ts → atoms/deck-kicker.d.ts} +0 -0
  76. /package/dist/{deck-punch.d.ts → atoms/deck-punch.d.ts} +0 -0
  77. /package/dist/{deck-cover.d.ts → layouts/deck-cover.d.ts} +0 -0
  78. /package/dist/{deck-feature-cards.d.ts → layouts/deck-feature-cards.d.ts} +0 -0
  79. /package/dist/{deck-feature.d.ts → layouts/deck-feature.d.ts} +0 -0
  80. /package/dist/{deck-photo.d.ts → layouts/deck-photo.d.ts} +0 -0
  81. /package/dist/{deck-section.d.ts → layouts/deck-section.d.ts} +0 -0
  82. /package/dist/{deck-split.d.ts → layouts/deck-split.d.ts} +0 -0
  83. /package/dist/{deck-takeaway.d.ts → layouts/deck-takeaway.d.ts} +0 -0
  84. /package/dist/{deck-callout.d.ts → molecules/deck-callout.d.ts} +0 -0
  85. /package/dist/{deck-card.d.ts → molecules/deck-card.d.ts} +0 -0
  86. /package/dist/{deck-grid.d.ts → molecules/deck-grid.d.ts} +0 -0
  87. /package/dist/{deck-md.d.ts → molecules/deck-md.d.ts} +0 -0
  88. /package/dist/{deck-mermaid.d.ts → molecules/deck-mermaid.d.ts} +0 -0
  89. /package/dist/{deck-metric.d.ts → molecules/deck-metric.d.ts} +0 -0
  90. /package/dist/{deck-shortcut.d.ts → molecules/deck-shortcut.d.ts} +0 -0
  91. /package/dist/{deck-stack.d.ts → molecules/deck-stack.d.ts} +0 -0
  92. /package/dist/{deck-stat.d.ts → molecules/deck-stat.d.ts} +0 -0
  93. /package/dist/{deck-step-list.d.ts → molecules/deck-step-list.d.ts} +0 -0
  94. /package/dist/{deck-tier-list.d.ts → molecules/deck-tier-list.d.ts} +0 -0
  95. /package/dist/{deck-help.d.ts → runtime/deck-help.d.ts} +0 -0
  96. /package/dist/{deck-notes.d.ts → runtime/deck-notes.d.ts} +0 -0
  97. /package/dist/{deck-overview.d.ts → runtime/deck-overview.d.ts} +0 -0
  98. /package/dist/{deck-presenter.d.ts → runtime/deck-presenter.d.ts} +0 -0
  99. /package/dist/{deck-root.d.ts → runtime/deck-root.d.ts} +0 -0
  100. /package/dist/{deck-transition.d.ts → runtime/deck-transition.d.ts} +0 -0
  101. /package/dist/{shiki-plugin.js → shiki.js} +0 -0
@@ -1,4 +1,4 @@
1
- var nt=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var Le=(s,t)=>()=>(s&&(t=s(s=0)),t);var ze=(s,t)=>{for(var e in t)nt(s,e,{get:t[e],enumerable:!0})};var o=(s,t,e,r)=>{for(var i=r>1?void 0:r?Gt(t,e):t,a=s.length-1,n;a>=0;a--)(n=s[a])&&(i=(r?n(t,e,i):n(i))||i);return r&&i&&nt(t,e,i),i};var De={};ze(De,{closeHelp:()=>St,toggleHelp:()=>hr});function pr(s){let t=s.querySelector("#kb-overlay");if(t)return t;if(!s.querySelector(`style[${$t}]`)){let i=document.createElement("style");i.setAttribute($t,"1"),i.textContent=dr,s.appendChild(i)}let e=document.createElement("div");return e.innerHTML=cr,t=e.firstElementChild,s.appendChild(t),t.addEventListener("click",()=>St(s.host)),t.querySelector(".kb-card")?.addEventListener("click",i=>i.stopPropagation()),t}function hr(s){if(!s.shadowRoot)return;pr(s.shadowRoot).classList.toggle("open")}function St(s){s.shadowRoot?.querySelector("#kb-overlay")?.classList.remove("open")}var $t,dr,cr,et=Le(()=>{"use strict";$t="data-deck-help",dr=`
1
+ var ht=Object.defineProperty;var er=Object.getOwnPropertyDescriptor;var ke=(i,t)=>()=>(i&&(t=i(i=0)),t);var He=(i,t)=>{for(var e in t)ht(i,e,{get:t[e],enumerable:!0})};var o=(i,t,e,r)=>{for(var s=r>1?void 0:r?er(t,e):t,a=i.length-1,n;a>=0;a--)(n=i[a])&&(s=(r?n(t,e,s):n(s))||s);return r&&s&&ht(t,e,s),s};var rt={};He(rt,{closeHelp:()=>Mt,toggleHelp:()=>yr});function kr(i){let t=i.querySelector("#kb-overlay");if(t)return t;if(!i.querySelector(`style[${zt}]`)){let s=document.createElement("style");s.setAttribute(zt,"1"),s.textContent=fr,i.appendChild(s)}let e=document.createElement("div");return e.innerHTML=gr,t=e.firstElementChild,i.appendChild(t),t.addEventListener("click",()=>Mt(i.host)),t.querySelector(".kb-card")?.addEventListener("click",s=>s.stopPropagation()),t}function yr(i){if(!i.shadowRoot)return;kr(i.shadowRoot).classList.toggle("open")}function Mt(i){i.shadowRoot?.querySelector("#kb-overlay")?.classList.remove("open")}var zt,fr,gr,Re=ke(()=>{"use strict";zt="data-deck-help",fr=`
2
2
  #kb-overlay {
3
3
  position: fixed; inset: 0;
4
4
  background: rgba(10,10,10,0.7);
@@ -61,7 +61,7 @@ var nt=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var Le=(s,t)
61
61
  box-shadow: 0 1px 0 rgba(255,255,255,0.5) inset;
62
62
  }
63
63
  .kb-row .desc { color: var(--rik-text-default--muted); }
64
- `,cr=`
64
+ `,gr=`
65
65
  <div id="kb-overlay">
66
66
  <div class="kb-card">
67
67
  <div class="kb-card-header">
@@ -79,23 +79,26 @@ var nt=Object.defineProperty;var Gt=Object.getOwnPropertyDescriptor;var Le=(s,t)
79
79
  <div class="kb-row"><span class="desc">Show this help</span><span class="keys"><kbd>?</kbd><kbd>H</kbd></span></div>
80
80
  </div>
81
81
  </div>
82
- `});var zt={};ze(zt,{installPresenter:()=>vr});function Lt(s){let t=Array.from(s.children).filter(v=>v.tagName.toLowerCase().startsWith("deck-")),e=t.findIndex(v=>v.hasAttribute("active")),r=t[e]??null,i=t[e+1]??null,n=(r?.querySelector("deck-notes")?.textContent??"").trim(),h=document.querySelector('link[rel="stylesheet"][href*="rikiki"], link[rel="stylesheet"][href*="tokens"], link[rel="stylesheet"][href*="theme"]')?.href??"";return{current:e+1,total:t.length,slideHtml:r?.outerHTML??"",nextHtml:i?.outerHTML??null,notes:n,themeHref:h}}function At(s){Oe&&Oe.postMessage({type:"state",state:Lt(s)})}function vr(s){if(ne=ne??new WeakSet,ne.has(s)){I?.close(),I=null;return}ne.add(s),Oe=new BroadcastChannel(Tt),s.addEventListener("slide-change",()=>At(s)),Oe.addEventListener("message",r=>{let i=r.data;i?.type==="key"&&i.key&&window.dispatchEvent(new KeyboardEvent("keydown",{key:i.key,shiftKey:!!i.shift,bubbles:!0})),i?.type==="hello"&&At(s)});let t=Lt(s);if(I=window.open("","rikiki-presenter","width=1280,height=800,popup=yes"),!I){console.warn("[rikiki/presenter] popup was blocked \xB7 allow popups for this site"),ne.delete(s);return}I.document.open(),I.document.write(mr(t)),I.document.close();let e=setInterval(()=>{I&&I.closed&&(clearInterval(e),ne?.delete(s),I=null)},1e3)}var Tt,I,Oe,ne,mr,Mt=Le(()=>{"use strict";Tt="rik-presenter",I=null,Oe=null,ne=null;mr=s=>`<!doctype html>
82
+ `});var Nt={};He(Nt,{installPresenter:()=>wr});function Pt(i){let t=Array.from(i.children).filter(v=>v.tagName.toLowerCase().startsWith("deck-")),e=t.findIndex(v=>v.hasAttribute("active")),r=t[e]??null,s=t[e+1]??null,n=(r?.querySelector("deck-notes")?.textContent??"").trim(),h=document.querySelector('link[rel="stylesheet"][href*="rikiki"], link[rel="stylesheet"][href*="tokens"], link[rel="stylesheet"][href*="theme"]')?.href??"";return{current:e+1,total:t.length,slideHtml:r?.outerHTML??"",nextHtml:s?.outerHTML??null,notes:n,themeHref:h,bundleHref:br}}function Ht(i){Ue&&Ue.postMessage({type:"state",state:Pt(i)})}function wr(i){if(de=de??new WeakSet,de.has(i)){j?.close(),j=null;return}de.add(i),Ue=new BroadcastChannel(Ct),i.addEventListener("slide-change",()=>Ht(i)),Ue.addEventListener("message",r=>{let s=r.data;s?.type==="key"&&s.key&&window.dispatchEvent(new KeyboardEvent("keydown",{key:s.key,shiftKey:!!s.shift,bubbles:!0})),s?.type==="hello"&&Ht(i)});let t=Pt(i);if(j=window.open("","rikiki-presenter","width=1280,height=800,popup=yes"),!j){console.warn("[rikiki/presenter] popup was blocked \xB7 allow popups for this site"),de.delete(i);return}j.document.open(),j.document.write(xr(t)),j.document.close();let e=setInterval(()=>{j&&j.closed&&(clearInterval(e),de?.delete(i),j=null)},1e3)}var Ct,br,j,Ue,de,xr,it=ke(()=>{"use strict";Ct="rik-presenter",br=new URL("./index.js",import.meta.url).href,j=null,Ue=null,de=null;xr=i=>`<!doctype html>
83
83
  <html lang="en">
84
84
  <head>
85
85
  <meta charset="utf-8">
86
86
  <title>Rikiki \xB7 presenter</title>
87
- ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
87
+ ${i.themeHref?`<link rel="stylesheet" href="${i.themeHref}">`:""}
88
88
  <style>
89
89
  html, body { margin: 0; padding: 0; height: 100%; background: #0f1422; color: #fafafa; font-family: var(--rik-font-sans, system-ui); }
90
90
  .grid {
91
91
  display: grid;
92
92
  grid-template-columns: 2fr 1fr;
93
93
  grid-template-rows: 1fr auto;
94
- gap: 16px;
95
- padding: 16px;
94
+ gap: clamp(8px, 1.5vw, 16px);
95
+ padding: clamp(8px, 1.5vw, 16px);
96
96
  height: 100vh;
97
97
  box-sizing: border-box;
98
98
  }
99
+ @media (max-width: 1000px) {
100
+ .grid { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr auto auto; }
101
+ }
99
102
  .panel {
100
103
  background: #1e2840;
101
104
  border-radius: 12px;
@@ -112,8 +115,8 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
112
115
  color: rgba(232,228,240,0.45);
113
116
  background: #161c2e;
114
117
  }
115
- .panel .body { flex: 1; min-height: 0; padding: 16px; overflow: hidden; }
116
- .panel iframe { width: 100%; height: 100%; border: 0; background: white; border-radius: 8px; }
118
+ .panel .body { flex: 1; min-height: 0; padding: 16px; overflow: hidden; border-radius: 8px; }
119
+ .panel iframe { width: 100%; height: 100%; border: 0; background: #0f1422; display: block; }
117
120
  #notes { font-size: 17px; line-height: 1.6; white-space: pre-wrap; padding: 20px; overflow: auto; color: #e8e4f0; }
118
121
  #notes:empty::before { content: 'No notes for this slide.'; color: rgba(232,228,240,0.4); font-style: italic; }
119
122
  #footer {
@@ -155,12 +158,12 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
155
158
  </section>
156
159
  <div id="footer">
157
160
  <div><span id="timer">00:00</span> <button id="timer-toggle">Pause</button> <button id="timer-reset">Reset</button></div>
158
- <div id="counter">${s.current} / ${s.total}</div>
161
+ <div id="counter">${i.current} / ${i.total}</div>
159
162
  <div><span class="ghost">P to close</span></div>
160
163
  </div>
161
164
  </div>
162
165
  <script>
163
- const channel = new BroadcastChannel('${Tt}');
166
+ const channel = new BroadcastChannel('${Ct}');
164
167
  const current = document.getElementById('current-frame');
165
168
  const next = document.getElementById('next-frame');
166
169
  const notes = document.getElementById('notes');
@@ -191,15 +194,17 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
191
194
  resetBtn.onclick = () => { startedAt = Date.now(); elapsed = 0; running = true; toggleBtn.textContent = 'Pause'; };
192
195
 
193
196
  function wrapFrame(slideHtml) {
194
- const themeHref = ${JSON.stringify(s.themeHref)};
195
- const themeLink = themeHref ? '<link rel="stylesheet" href="' + themeHref + '">' : '';
196
- // Use the consumer's rikiki bundle URL \xB7 we cannot guess it perfectly, so
197
- // assume it sits next to the theme css.
198
- const bundleHref = themeHref.replace(/themes\\/[^/]+\\.css.*$/, 'dist/index.js');
197
+ const themeHref = ${JSON.stringify(i.themeHref)};
198
+ const bundleHref = ${JSON.stringify(i.bundleHref)};
199
+ const themeLink = themeHref ? '<link rel="stylesheet" href="' + themeHref + '">' : '';
200
+ // Mark the cloned slide [active] so its real component CSS applies
201
+ // (:host([active]){display:flex}) instead of forcing display via !important.
202
+ const activeSlide = slideHtml.replace(/^(\\s*<deck-[a-z-]+)/i, '$1 active');
199
203
  return '<!doctype html><html><head><meta charset="UTF-8">' + themeLink +
200
204
  '<script type="module" src="' + bundleHref + '"><' + '/script>' +
201
- '<style>html,body{margin:0;padding:0;height:100%;overflow:hidden}body{display:flex}deck-root{flex:1}deck-root>*{display:flex!important}</style>' +
202
- '</head><body><deck-root>' + slideHtml + '</deck-root></body></html>';
205
+ '<style>html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#0f1422}' +
206
+ 'deck-root{position:absolute;inset:0}</style>' +
207
+ '</head><body><deck-root>' + activeSlide + '</deck-root></body></html>';
203
208
  }
204
209
 
205
210
  channel.onmessage = (e) => {
@@ -213,7 +218,7 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
213
218
  };
214
219
 
215
220
  // Initial paint from the seed state
216
- const seed = ${JSON.stringify(s)};
221
+ const seed = ${JSON.stringify(i)};
217
222
  channel.postMessage({ type: 'state', state: seed });
218
223
 
219
224
  // Forward keys back to the main window (so the speaker can drive nav from the laptop)
@@ -226,7 +231,7 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
226
231
  channel.postMessage({ type: 'hello' });
227
232
  <\/script>
228
233
  </body>
229
- </html>`});var Nt={};ze(Nt,{mountOverview:()=>yr});function fr(s){if(s.querySelector(`style[${Ht}]`))return;let t=document.createElement("style");t.setAttribute(Ht,"1"),t.textContent=ur,s.appendChild(t)}function gr(s,t){if(s.querySelector(`link[${Ct}]`))return;let e=document.createElement("link");e.rel="stylesheet",e.setAttribute(Ct,"1"),e.href=new URL("../tokens.css",t).href,s.appendChild(e)}function Pt(s){let e=s.slides[0]?.querySelector("h1");return e?Array.from(e.childNodes).map(r=>r.nodeName==="BR"?" ":r.textContent??"").join("").replace(/\s+/g," ").trim()||`Slide ${s.startIdx+1}`:`Slide ${s.startIdx+1}`}function kr(s){return(s.textContent||"").replace(/\s+/g," ").trim().slice(0,400).toLowerCase()}function yr(s,t){let e=s.shadowRoot;if(!e)return()=>{};fr(e),gr(e,import.meta.url);let r=e.querySelector("#overview-grid");r||(r=document.createElement("div"),r.id="overview-grid",e.appendChild(r)),r.innerHTML="";let i=t.slides.length,a=i>60,n=i>300?140:i>150?160:i>60?180:220;r.style.setProperty("--ov-cell-min",n+"px");let d=window.innerWidth,h=window.innerHeight;r.style.setProperty("--ov-thumb-w",`${d}px`),r.style.setProperty("--ov-thumb-h",`${h}px`),requestAnimationFrame(()=>{let k=r.querySelector(".ov-cell")?.clientWidth??n;r.style.setProperty("--overview-scale",String(k/d))});let v=document.createElement("div");v.className="ov-bar";let g=document.createElement("input");g.className="ov-search",g.type="search",g.placeholder=`Search ${i} slides \xB7 type to filter`,g.spellcheck=!1,v.appendChild(g);let f=document.createElement("span");f.className="ov-count",f.textContent=`${i} slides \xB7 ${t.chapters.length} chapters`,v.appendChild(f);let x=document.createElement("span");x.className="ov-hint",x.textContent="O \xB7 Esc \xB7 close",v.appendChild(x),r.appendChild(v);let $=document.createElement("div");$.className="ov-body"+(a?"":" compact"),r.appendChild($);let T=a?document.createElement("aside"):null;T&&(T.className="ov-aside",$.appendChild(T));let F=document.createElement("div");F.className="ov-main"+(a?"":" ov-path"),$.appendChild(F);let Ue=[],it=[],st=new WeakMap,Re=new IntersectionObserver(k=>{for(let S of k){if(!S.isIntersecting)continue;let b=S.target;if(b.dataset.loaded)continue;let M=st.get(b);if(!M)continue;let y=document.createElement("div");y.className="ov-thumb";let P=M.cloneNode(!0);P.setAttribute("active",""),y.appendChild(P),b.insertBefore(y,b.firstChild),b.dataset.loaded="1",Re.unobserve(b)}},{root:null,rootMargin:"300px 0px",threshold:0});t.chapters.forEach((k,S)=>{let b=document.createElement("section");if(b.className="ov-chapter",b.id=`ov-chapter-${S}`,a){let y=document.createElement("header");y.className="ov-chapter-head";let P=document.createElement("span");P.className="ov-chapter-num",P.textContent=String(S+1).padStart(2,"0"),y.appendChild(P);let H=document.createElement("span");H.className="ov-chapter-title",H.textContent=Pt(k),y.appendChild(H);let _=document.createElement("span");_.className="ov-chapter-count",_.textContent=`${k.slides.length} slide${k.slides.length>1?"s":""}`,y.appendChild(_),b.appendChild(y)}let M=document.createElement("div");if(M.className="ov-row",k.slides.forEach((y,P)=>{if(!a&&P>0){let at=document.createElement("div");at.className="ov-connector",M.appendChild(at)}let H=k.startIdx+P,_=document.createElement("div");_.className="ov-cell",_.dataset.idx=String(H),_.dataset.search=kr(y),H===t.currentIdx&&(_.dataset.current="1"),st.set(_,y),Re.observe(_);let J=document.createElement("span");J.className="ov-cell-label",J.textContent=String(H+1),_.appendChild(J),_.addEventListener("click",()=>t.onPick(H)),M.appendChild(_)}),b.appendChild(M),F.appendChild(b),Ue.push(b),T){let y=document.createElement("button");y.type="button",y.className="ov-aside-item",t.currentIdx>=k.startIdx&&t.currentIdx<k.startIdx+k.slides.length&&(y.dataset.active="1");let H=document.createElement("span");H.className="ov-aside-num",H.textContent=String(S+1).padStart(2,"0"),y.appendChild(H);let _=document.createElement("span");_.className="ov-aside-text",_.textContent=Pt(k);let J=document.createElement("div");J.className="ov-aside-count",J.textContent=`${k.slides.length} slide${k.slides.length>1?"s":""}`,_.appendChild(J),y.appendChild(_),y.addEventListener("click",()=>{b.scrollIntoView({behavior:"smooth",block:"start"})}),T.appendChild(y),it.push(y)}});let je=null;T&&(je=new IntersectionObserver(k=>{let S=k.filter(b=>b.isIntersecting).sort((b,M)=>b.boundingClientRect.top-M.boundingClientRect.top);if(S.length>0){let b=Ue.indexOf(S[0].target);b>=0&&it.forEach((M,y)=>{y===b?M.dataset.active="1":delete M.dataset.active})}},{root:F,rootMargin:"0px 0px -70% 0px",threshold:0}),Ue.forEach(k=>je.observe(k)));let ot=r.querySelectorAll(".ov-cell");return g.addEventListener("input",()=>{let k=g.value.trim().toLowerCase();if(!k){ot.forEach(S=>delete S.dataset.filteredOut);return}ot.forEach(S=>{(S.dataset.search||"").includes(k)?delete S.dataset.filteredOut:S.dataset.filteredOut="1"})}),requestAnimationFrame(()=>{let k=r.querySelector(".ov-cell[data-current]");k&&k.scrollIntoView({block:"center"})}),()=>{je?.disconnect(),Re.disconnect(),r&&(r.innerHTML="")}}var Ht,Ct,ur,It=Le(()=>{"use strict";Ht="data-deck-overview",Ct="data-overview-tokens",ur=`
234
+ </html>`});var Rt={};He(Rt,{mountOverview:()=>Ar});function Er(i){if(i.querySelector(`style[${It}]`))return;let t=document.createElement("style");t.setAttribute(It,"1"),t.textContent=_r,i.appendChild(t)}function $r(i,t){if(i.querySelector(`link[${Ot}]`))return;let e=document.createElement("link");e.rel="stylesheet",e.setAttribute(Ot,"1"),e.href=new URL("../tokens.css",t).href,i.appendChild(e)}function jt(i){let e=i.slides[0]?.querySelector("h1");return e?Array.from(e.childNodes).map(r=>r.nodeName==="BR"?" ":r.textContent??"").join("").replace(/\s+/g," ").trim()||`Slide ${i.startIdx+1}`:`Slide ${i.startIdx+1}`}function Sr(i){return(i.textContent||"").replace(/\s+/g," ").trim().slice(0,400).toLowerCase()}function Ar(i,t){let e=i.shadowRoot;if(!e)return()=>{};Er(e),$r(e,import.meta.url);let r=e.querySelector("#overview-grid");r||(r=document.createElement("div"),r.id="overview-grid",e.appendChild(r)),r.innerHTML="";let s=t.slides.length,a=s>60,n=s>300?140:s>150?160:s>60?180:220;r.style.setProperty("--ov-cell-min",n+"px");let d=window.innerWidth,h=window.innerHeight;r.style.setProperty("--ov-thumb-w",`${d}px`),r.style.setProperty("--ov-thumb-h",`${h}px`),requestAnimationFrame(()=>{let k=r.querySelector(".ov-cell")?.clientWidth??n;r.style.setProperty("--overview-scale",String(k/d))});let v=document.createElement("div");v.className="ov-bar";let g=document.createElement("input");g.className="ov-search",g.type="search",g.placeholder=`Search ${s} slides \xB7 type to filter`,g.spellcheck=!1,v.appendChild(g);let f=document.createElement("span");f.className="ov-count",f.textContent=`${s} slides \xB7 ${t.chapters.length} chapters`,v.appendChild(f);let x=document.createElement("span");x.className="ov-hint",x.textContent="O \xB7 Esc \xB7 close",v.appendChild(x),r.appendChild(v);let S=document.createElement("div");S.className="ov-body"+(a?"":" compact"),r.appendChild(S);let L=a?document.createElement("aside"):null;L&&(L.className="ov-aside",S.appendChild(L));let Z=document.createElement("div");Z.className="ov-main"+(a?"":" ov-path"),S.appendChild(Z);let Be=[],lt=[],dt=new WeakMap,qe=new IntersectionObserver(k=>{for(let A of k){if(!A.isIntersecting)continue;let b=A.target;if(b.dataset.loaded)continue;let H=dt.get(b);if(!H)continue;let y=document.createElement("div");y.className="ov-thumb";let I=H.cloneNode(!0);I.setAttribute("active",""),y.appendChild(I),b.insertBefore(y,b.firstChild),b.dataset.loaded="1",qe.unobserve(b)}},{root:null,rootMargin:"300px 0px",threshold:0});t.chapters.forEach((k,A)=>{let b=document.createElement("section");if(b.className="ov-chapter",b.id=`ov-chapter-${A}`,a){let y=document.createElement("header");y.className="ov-chapter-head";let I=document.createElement("span");I.className="ov-chapter-num",I.textContent=String(A+1).padStart(2,"0"),y.appendChild(I);let C=document.createElement("span");C.className="ov-chapter-title",C.textContent=jt(k),y.appendChild(C);let w=document.createElement("span");w.className="ov-chapter-count",w.textContent=`${k.slides.length} slide${k.slides.length>1?"s":""}`,y.appendChild(w),b.appendChild(y)}let H=document.createElement("div");if(H.className="ov-row",k.slides.forEach((y,I)=>{if(!a&&I>0){let pt=document.createElement("div");pt.className="ov-connector",H.appendChild(pt)}let C=k.startIdx+I,w=document.createElement("div");w.className="ov-cell",w.dataset.idx=String(C),w.dataset.search=Sr(y),C===t.currentIdx&&(w.dataset.current="1"),dt.set(w,y),qe.observe(w);let Q=document.createElement("span");Q.className="ov-cell-label",Q.textContent=String(C+1),w.appendChild(Q),w.addEventListener("click",()=>t.onPick(C)),H.appendChild(w)}),b.appendChild(H),Z.appendChild(b),Be.push(b),L){let y=document.createElement("button");y.type="button",y.className="ov-aside-item",t.currentIdx>=k.startIdx&&t.currentIdx<k.startIdx+k.slides.length&&(y.dataset.active="1");let C=document.createElement("span");C.className="ov-aside-num",C.textContent=String(A+1).padStart(2,"0"),y.appendChild(C);let w=document.createElement("span");w.className="ov-aside-text",w.textContent=jt(k);let Q=document.createElement("div");Q.className="ov-aside-count",Q.textContent=`${k.slides.length} slide${k.slides.length>1?"s":""}`,w.appendChild(Q),y.appendChild(w),y.addEventListener("click",()=>{b.scrollIntoView({behavior:"smooth",block:"start"})}),L.appendChild(y),lt.push(y)}});let Ye=null;L&&(Ye=new IntersectionObserver(k=>{let A=k.filter(b=>b.isIntersecting).sort((b,H)=>b.boundingClientRect.top-H.boundingClientRect.top);if(A.length>0){let b=Be.indexOf(A[0].target);b>=0&&lt.forEach((H,y)=>{y===b?H.dataset.active="1":delete H.dataset.active})}},{root:Z,rootMargin:"0px 0px -70% 0px",threshold:0}),Be.forEach(k=>Ye.observe(k)));let ct=r.querySelectorAll(".ov-cell");return g.addEventListener("input",()=>{let k=g.value.trim().toLowerCase();if(!k){ct.forEach(A=>delete A.dataset.filteredOut);return}ct.forEach(A=>{(A.dataset.search||"").includes(k)?delete A.dataset.filteredOut:A.dataset.filteredOut="1"})}),requestAnimationFrame(()=>{let k=r.querySelector(".ov-cell[data-current]");k&&k.scrollIntoView({block:"center"})}),()=>{Ye?.disconnect(),qe.disconnect(),r&&(r.innerHTML="")}}var It,Ot,_r,st=ke(()=>{"use strict";It="data-deck-overview",Ot="data-overview-tokens",_r=`
230
235
  :host([overview]) ::slotted(*) { display: none !important; }
231
236
  :host([overview]) #overview-grid {
232
237
  position: fixed; inset: 0;
@@ -427,7 +432,7 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
427
432
  pointer-events: none;
428
433
  }
429
434
  :host(:not([overview])) #overview-grid { display: none; }
430
- `});var Ut={};ze(Ut,{installTransitions:()=>wr});function wr(s){if(s.__rkTransitions)return s.__rkTransitions;let t=s.shadowRoot;if(!t)return()=>{};let e=document.createElement("style");e.textContent=xr,e.setAttribute("data-rik-transitions",""),t.appendChild(e);function r(d,h){if(!h)return 0;let v=d.compareDocumentPosition(h);return v&Node.DOCUMENT_POSITION_PRECEDING?1:v&Node.DOCUMENT_POSITION_FOLLOWING?-1:0}let i=d=>{let h=d,v=h.detail.current,g=h.detail.previous;if(!v)return;let f=v.dataset.transition||s.transition||"fade",x=r(v,g);f==="slide"&&x<0?f="slide-right":f==="slide-right"&&x>0?f="slide":f==="slide-up"&&x<0?f="slide-down":f==="slide-down"&&x>0&&(f="slide-up");let $=`rk-enter-${f}`,T=`rk-exit-${f}`,F=A[f]??480;g&&g!==v&&(g.classList.remove(...Ot,..._r,"rk-leaving"),g.style.display="flex",g.style.zIndex="1",g.offsetWidth,g.classList.add("rk-leaving",T),window.setTimeout(()=>{g.classList.remove("rk-leaving",T),g.style.display="",g.style.zIndex=""},F+40)),v.classList.remove(...Ot),v.style.zIndex="2",v.offsetWidth,v.classList.add($),window.setTimeout(()=>{v.classList.remove($),v.style.zIndex=""},F+40)};s.addEventListener("slide-change",i);let a=s.querySelector(":scope > [active]");a&&i(new CustomEvent("slide-change",{detail:{current:a,previous:null}}));let n=()=>{s.removeEventListener("slide-change",i),e.remove(),delete s.__rkTransitions};return s.__rkTransitions=n,n}var A,L,br,xr,Ot,_r,Rt=Le(()=>{"use strict";A={slide:560,"slide-up":520,"slide-down":520,"slide-right":560,fade:480,zoom:520,flip:560},L="var(--rik-motion__ease-out, cubic-bezier(0.16, 1, 0.3, 1))",br="var(--rik-motion__ease-spring, cubic-bezier(0.5, 1.8, 0.3, 1))",xr=`
435
+ `});var Bt={};He(Bt,{installTransitions:()=>Mr});function Mr(i){if(i.__rkTransitions)return i.__rkTransitions;let t=i.shadowRoot;if(!t)return()=>{};let e=document.createElement("style");e.textContent=Lr,e.setAttribute("data-rik-transitions",""),t.appendChild(e);function r(d,h){if(!h)return 0;let v=d.compareDocumentPosition(h);return v&Node.DOCUMENT_POSITION_PRECEDING?1:v&Node.DOCUMENT_POSITION_FOLLOWING?-1:0}let s=d=>{let h=d,v=h.detail.current,g=h.detail.previous;if(!v)return;let f=v.dataset.transition||i.transition||"fade",x=r(v,g);f==="slide"&&x<0?f="slide-right":f==="slide-right"&&x>0?f="slide":f==="slide-up"&&x<0?f="slide-down":f==="slide-down"&&x>0&&(f="slide-up");let S=`rk-enter-${f}`,L=`rk-exit-${f}`,Z=T[f]??480;g&&g!==v&&(g.classList.remove(...Ut,...zr,"rk-leaving"),g.style.display="flex",g.style.zIndex="1",g.offsetWidth,g.classList.add("rk-leaving",L),window.setTimeout(()=>{g.classList.remove("rk-leaving",L),g.style.display="",g.style.zIndex=""},Z+40)),v.classList.remove(...Ut),v.style.zIndex="2",v.offsetWidth,v.classList.add(S),window.setTimeout(()=>{v.classList.remove(S),v.style.zIndex=""},Z+40)};i.addEventListener("slide-change",s);let a=i.querySelector(":scope > [active]");a&&s(new CustomEvent("slide-change",{detail:{current:a,previous:null}}));let n=()=>{i.removeEventListener("slide-change",s),e.remove(),delete i.__rkTransitions};return i.__rkTransitions=n,n}var T,z,Tr,Lr,Ut,zr,ot=ke(()=>{"use strict";T={slide:560,"slide-up":520,"slide-down":520,"slide-right":560,fade:480,zoom:520,flip:560},z="var(--rik-motion__ease-out, cubic-bezier(0.16, 1, 0.3, 1))",Tr="var(--rik-motion__ease-spring, cubic-bezier(0.5, 1.8, 0.3, 1))",Lr=`
431
436
  /* Incoming \xB7 from right (forward) */
432
437
  @keyframes rk-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
433
438
  /* Outgoing \xB7 pushed off to the left (forward) */
@@ -458,28 +463,28 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
458
463
  a placeholder so the selector resolves cleanly in shadow CSS. */
459
464
  ::slotted(.rk-leaving) { }
460
465
 
461
- ::slotted([active].rk-enter-slide) { animation: rk-slide-in ${A.slide}ms ${L} both; }
462
- ::slotted(.rk-leaving.rk-exit-slide) { animation: rk-slide-out ${A.slide}ms ${L} both; }
463
- ::slotted([active].rk-enter-slide-right) { animation: rk-slide-right-in ${A["slide-right"]}ms ${L} both; }
464
- ::slotted(.rk-leaving.rk-exit-slide-right){ animation: rk-slide-right-out ${A["slide-right"]}ms ${L} both; }
465
- ::slotted([active].rk-enter-slide-up) { animation: rk-slide-up-in ${A["slide-up"]}ms ${L} both; }
466
- ::slotted(.rk-leaving.rk-exit-slide-up) { animation: rk-slide-up-out ${A["slide-up"]}ms ${L} both; }
467
- ::slotted([active].rk-enter-slide-down) { animation: rk-slide-down-in ${A["slide-down"]}ms ${L} both; }
468
- ::slotted(.rk-leaving.rk-exit-slide-down) { animation: rk-slide-down-out ${A["slide-down"]}ms ${L} both; }
469
- ::slotted([active].rk-enter-fade) { animation: rk-fade-in ${A.fade}ms ${L} both; }
470
- ::slotted(.rk-leaving.rk-exit-fade) { animation: rk-fade-out ${A.fade}ms ${L} both; }
471
- ::slotted([active].rk-enter-zoom) { animation: rk-zoom-in ${A.zoom}ms ${br} both; }
472
- ::slotted(.rk-leaving.rk-exit-zoom) { animation: rk-zoom-out ${A.zoom}ms ${L} both; }
473
- ::slotted([active].rk-enter-flip) { animation: rk-flip-in ${A.flip}ms ${L} both; }
474
- ::slotted(.rk-leaving.rk-exit-flip) { animation: rk-flip-out ${A.flip}ms ${L} both; }
466
+ ::slotted([active].rk-enter-slide) { animation: rk-slide-in ${T.slide}ms ${z} both; }
467
+ ::slotted(.rk-leaving.rk-exit-slide) { animation: rk-slide-out ${T.slide}ms ${z} both; }
468
+ ::slotted([active].rk-enter-slide-right) { animation: rk-slide-right-in ${T["slide-right"]}ms ${z} both; }
469
+ ::slotted(.rk-leaving.rk-exit-slide-right){ animation: rk-slide-right-out ${T["slide-right"]}ms ${z} both; }
470
+ ::slotted([active].rk-enter-slide-up) { animation: rk-slide-up-in ${T["slide-up"]}ms ${z} both; }
471
+ ::slotted(.rk-leaving.rk-exit-slide-up) { animation: rk-slide-up-out ${T["slide-up"]}ms ${z} both; }
472
+ ::slotted([active].rk-enter-slide-down) { animation: rk-slide-down-in ${T["slide-down"]}ms ${z} both; }
473
+ ::slotted(.rk-leaving.rk-exit-slide-down) { animation: rk-slide-down-out ${T["slide-down"]}ms ${z} both; }
474
+ ::slotted([active].rk-enter-fade) { animation: rk-fade-in ${T.fade}ms ${z} both; }
475
+ ::slotted(.rk-leaving.rk-exit-fade) { animation: rk-fade-out ${T.fade}ms ${z} both; }
476
+ ::slotted([active].rk-enter-zoom) { animation: rk-zoom-in ${T.zoom}ms ${Tr} both; }
477
+ ::slotted(.rk-leaving.rk-exit-zoom) { animation: rk-zoom-out ${T.zoom}ms ${z} both; }
478
+ ::slotted([active].rk-enter-flip) { animation: rk-flip-in ${T.flip}ms ${z} both; }
479
+ ::slotted(.rk-leaving.rk-exit-flip) { animation: rk-flip-out ${T.flip}ms ${z} both; }
475
480
 
476
481
  @media (prefers-reduced-motion: reduce) {
477
482
  ::slotted([active][class*='rk-enter-']),
478
483
  ::slotted(.rk-leaving) { animation: none; }
479
484
  }
480
- `,Ot=["rk-enter-slide","rk-enter-slide-up","rk-enter-slide-down","rk-enter-slide-right","rk-enter-fade","rk-enter-zoom","rk-enter-flip"],_r=["rk-exit-slide","rk-exit-slide-up","rk-exit-slide-down","rk-exit-slide-right","rk-exit-fade","rk-exit-zoom","rk-exit-flip"]});var Me=globalThis,He=Me.ShadowRoot&&(Me.ShadyCSS===void 0||Me.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Be=Symbol(),lt=new WeakMap,fe=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==Be)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(He&&t===void 0){let r=e!==void 0&&e.length===1;r&&(t=lt.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&lt.set(e,t))}return t}toString(){return this.cssText}},dt=s=>new fe(typeof s=="string"?s:s+"",void 0,Be),m=(s,...t)=>{let e=s.length===1?s[0]:t.reduce((r,i,a)=>r+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+s[a+1],s[0]);return new fe(e,s,Be)},ct=(s,t)=>{if(He)s.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let r=document.createElement("style"),i=Me.litNonce;i!==void 0&&r.setAttribute("nonce",i),r.textContent=e.cssText,s.appendChild(r)}},qe=He?s=>s:s=>s instanceof CSSStyleSheet?(t=>{let e="";for(let r of t.cssRules)e+=r.cssText;return dt(e)})(s):s;var{is:Kt,defineProperty:Ft,getOwnPropertyDescriptor:Jt,getOwnPropertyNames:Zt,getOwnPropertySymbols:Qt,getPrototypeOf:Dt}=Object,Ce=globalThis,pt=Ce.trustedTypes,er=pt?pt.emptyScript:"",tr=Ce.reactiveElementPolyfillSupport,ge=(s,t)=>s,ke={toAttribute(s,t){switch(t){case Boolean:s=s?er:null;break;case Object:case Array:s=s==null?s:JSON.stringify(s)}return s},fromAttribute(s,t){let e=s;switch(t){case Boolean:e=s!==null;break;case Number:e=s===null?null:Number(s);break;case Object:case Array:try{e=JSON.parse(s)}catch{e=null}}return e}},Pe=(s,t)=>!Kt(s,t),ht={attribute:!0,type:String,converter:ke,reflect:!1,useDefault:!1,hasChanged:Pe};Symbol.metadata??=Symbol("metadata"),Ce.litPropertyMetadata??=new WeakMap;var j=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=ht){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let r=Symbol(),i=this.getPropertyDescriptor(t,r,e);i!==void 0&&Ft(this.prototype,t,i)}}static getPropertyDescriptor(t,e,r){let{get:i,set:a}=Jt(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get:i,set(n){let d=i?.call(this);a?.call(this,n),this.requestUpdate(t,d,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??ht}static _$Ei(){if(this.hasOwnProperty(ge("elementProperties")))return;let t=Dt(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(ge("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ge("properties"))){let e=this.properties,r=[...Zt(e),...Qt(e)];for(let i of r)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[r,i]of e)this.elementProperties.set(r,i)}this._$Eh=new Map;for(let[e,r]of this.elementProperties){let i=this._$Eu(e,r);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let r=new Set(t.flat(1/0).reverse());for(let i of r)e.unshift(qe(i))}else t!==void 0&&e.push(qe(t));return e}static _$Eu(t,e){let r=e.attribute;return r===!1?void 0:typeof r=="string"?r:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ct(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$ET(t,e){let r=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,r);if(i!==void 0&&r.reflect===!0){let a=(r.converter?.toAttribute!==void 0?r.converter:ke).toAttribute(e,r.type);this._$Em=t,a==null?this.removeAttribute(i):this.setAttribute(i,a),this._$Em=null}}_$AK(t,e){let r=this.constructor,i=r._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let a=r.getPropertyOptions(i),n=typeof a.converter=="function"?{fromAttribute:a.converter}:a.converter?.fromAttribute!==void 0?a.converter:ke;this._$Em=i;let d=n.fromAttribute(e,a.type);this[i]=d??this._$Ej?.get(i)??d,this._$Em=null}}requestUpdate(t,e,r,i=!1,a){if(t!==void 0){let n=this.constructor;if(i===!1&&(a=this[t]),r??=n.getPropertyOptions(t),!((r.hasChanged??Pe)(a,e)||r.useDefault&&r.reflect&&a===this._$Ej?.get(t)&&!this.hasAttribute(n._$Eu(t,r))))return;this.C(t,e,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:r,reflect:i,wrapped:a},n){r&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),a!==!0||n!==void 0)||(this._$AL.has(t)||(this.hasUpdated||r||(e=void 0),this._$AL.set(t,e)),i===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[i,a]of this._$Ep)this[i]=a;this._$Ep=void 0}let r=this.constructor.elementProperties;if(r.size>0)for(let[i,a]of r){let{wrapped:n}=a,d=this[i];n!==!0||this._$AL.has(i)||d===void 0||this.C(i,void 0,a,d)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(r=>r.hostUpdate?.()),this.update(e)):this._$EM()}catch(r){throw t=!1,this._$EM(),r}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};j.elementStyles=[],j.shadowRootOptions={mode:"open"},j[ge("elementProperties")]=new Map,j[ge("finalized")]=new Map,tr?.({ReactiveElement:j}),(Ce.reactiveElementVersions??=[]).push("2.1.2");var Fe=globalThis,mt=s=>s,Ne=Fe.trustedTypes,vt=Ne?Ne.createPolicy("lit-html",{createHTML:s=>s}):void 0,bt="$lit$",X=`lit$${Math.random().toFixed(9).slice(2)}$`,xt="?"+X,rr=`<${xt}>`,D=document,be=()=>D.createComment(""),xe=s=>s===null||typeof s!="object"&&typeof s!="function",Je=Array.isArray,ir=s=>Je(s)||typeof s?.[Symbol.iterator]=="function",Ye=`[
481
- \f\r]`,ye=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ut=/-->/g,ft=/>/g,Z=RegExp(`>|${Ye}(?:([^\\s"'>=/]+)(${Ye}*=${Ye}*(?:[^
482
- \f\r"'\`<>=]|("|')|))|$)`,"g"),gt=/'/g,kt=/"/g,_t=/^(?:script|style|textarea|title)$/i,Ze=s=>(t,...e)=>({_$litType$:s,strings:t,values:e}),c=Ze(1),Ur=Ze(2),Rr=Ze(3),ee=Symbol.for("lit-noChange"),w=Symbol.for("lit-nothing"),yt=new WeakMap,Q=D.createTreeWalker(D,129);function wt(s,t){if(!Je(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return vt!==void 0?vt.createHTML(t):t}var sr=(s,t)=>{let e=s.length-1,r=[],i,a=t===2?"<svg>":t===3?"<math>":"",n=ye;for(let d=0;d<e;d++){let h=s[d],v,g,f=-1,x=0;for(;x<h.length&&(n.lastIndex=x,g=n.exec(h),g!==null);)x=n.lastIndex,n===ye?g[1]==="!--"?n=ut:g[1]!==void 0?n=ft:g[2]!==void 0?(_t.test(g[2])&&(i=RegExp("</"+g[2],"g")),n=Z):g[3]!==void 0&&(n=Z):n===Z?g[0]===">"?(n=i??ye,f=-1):g[1]===void 0?f=-2:(f=n.lastIndex-g[2].length,v=g[1],n=g[3]===void 0?Z:g[3]==='"'?kt:gt):n===kt||n===gt?n=Z:n===ut||n===ft?n=ye:(n=Z,i=void 0);let $=n===Z&&s[d+1].startsWith("/>")?" ":"";a+=n===ye?h+rr:f>=0?(r.push(v),h.slice(0,f)+bt+h.slice(f)+X+$):h+X+(f===-2?d:$)}return[wt(s,a+(s[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]},_e=class s{constructor({strings:t,_$litType$:e},r){let i;this.parts=[];let a=0,n=0,d=t.length-1,h=this.parts,[v,g]=sr(t,e);if(this.el=s.createElement(v,r),Q.currentNode=this.el.content,e===2||e===3){let f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(i=Q.nextNode())!==null&&h.length<d;){if(i.nodeType===1){if(i.hasAttributes())for(let f of i.getAttributeNames())if(f.endsWith(bt)){let x=g[n++],$=i.getAttribute(f).split(X),T=/([.?@])?(.*)/.exec(x);h.push({type:1,index:a,name:T[2],strings:$,ctor:T[1]==="."?Ve:T[1]==="?"?Xe:T[1]==="@"?Ge:ae}),i.removeAttribute(f)}else f.startsWith(X)&&(h.push({type:6,index:a}),i.removeAttribute(f));if(_t.test(i.tagName)){let f=i.textContent.split(X),x=f.length-1;if(x>0){i.textContent=Ne?Ne.emptyScript:"";for(let $=0;$<x;$++)i.append(f[$],be()),Q.nextNode(),h.push({type:2,index:++a});i.append(f[x],be())}}}else if(i.nodeType===8)if(i.data===xt)h.push({type:2,index:a});else{let f=-1;for(;(f=i.data.indexOf(X,f+1))!==-1;)h.push({type:7,index:a}),f+=X.length-1}a++}}static createElement(t,e){let r=D.createElement("template");return r.innerHTML=t,r}};function oe(s,t,e=s,r){if(t===ee)return t;let i=r!==void 0?e._$Co?.[r]:e._$Cl,a=xe(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(s),i._$AT(s,e,r)),r!==void 0?(e._$Co??=[])[r]=i:e._$Cl=i),i!==void 0&&(t=oe(s,i._$AS(s,t.values),i,r)),t}var We=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:e},parts:r}=this._$AD,i=(t?.creationScope??D).importNode(e,!0);Q.currentNode=i;let a=Q.nextNode(),n=0,d=0,h=r[0];for(;h!==void 0;){if(n===h.index){let v;h.type===2?v=new we(a,a.nextSibling,this,t):h.type===1?v=new h.ctor(a,h.name,h.strings,this,t):h.type===6&&(v=new Ke(a,this,t)),this._$AV.push(v),h=r[++d]}n!==h?.index&&(a=Q.nextNode(),n++)}return Q.currentNode=D,i}p(t){let e=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}},we=class s{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,i){this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=oe(this,t,e),xe(t)?t===w||t==null||t===""?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==ee&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):ir(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==w&&xe(this._$AH)?this._$AA.nextSibling.data=t:this.T(D.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:r}=t,i=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=_e.createElement(wt(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===i)this._$AH.p(e);else{let a=new We(i,this),n=a.u(this.options);a.p(e),this.T(n),this._$AH=a}}_$AC(t){let e=yt.get(t.strings);return e===void 0&&yt.set(t.strings,e=new _e(t)),e}k(t){Je(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,r,i=0;for(let a of t)i===e.length?e.push(r=new s(this.O(be()),this.O(be()),this,this.options)):r=e[i],r._$AI(a),i++;i<e.length&&(this._$AR(r&&r._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let r=mt(t).nextSibling;mt(t).remove(),t=r}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},ae=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,i,a){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=a,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=w}_$AI(t,e=this,r,i){let a=this.strings,n=!1;if(a===void 0)t=oe(this,t,e,0),n=!xe(t)||t!==this._$AH&&t!==ee,n&&(this._$AH=t);else{let d=t,h,v;for(t=a[0],h=0;h<a.length-1;h++)v=oe(this,d[r+h],e,h),v===ee&&(v=this._$AH[h]),n||=!xe(v)||v!==this._$AH[h],v===w?t=w:t!==w&&(t+=(v??"")+a[h+1]),this._$AH[h]=v}n&&!i&&this.j(t)}j(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Ve=class extends ae{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===w?void 0:t}},Xe=class extends ae{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==w)}},Ge=class extends ae{constructor(t,e,r,i,a){super(t,e,r,i,a),this.type=5}_$AI(t,e=this){if((t=oe(this,t,e,0)??w)===ee)return;let r=this._$AH,i=t===w&&r!==w||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,a=t!==w&&(r===w||i);i&&this.element.removeEventListener(this.name,this,r),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Ke=class{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){oe(this,t)}};var or=Fe.litHtmlPolyfillSupport;or?.(_e,we),(Fe.litHtmlVersions??=[]).push("3.3.3");var Et=(s,t,e)=>{let r=e?.renderBefore??t,i=r._$litPart$;if(i===void 0){let a=e?.renderBefore??null;r._$litPart$=i=new we(t.insertBefore(be(),a),a,void 0,e??{})}return i._$AI(s),i};var Qe=globalThis,p=class extends j{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Et(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return ee}};p._$litElement$=!0,p.finalized=!0,Qe.litElementHydrateSupport?.({LitElement:p});var ar=Qe.litElementPolyfillSupport;ar?.({LitElement:p});(Qe.litElementVersions??=[]).push("4.2.2");var u=s=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(s,t)}):customElements.define(s,t)};var nr={attribute:!0,type:String,converter:ke,reflect:!1,hasChanged:Pe},lr=(s=nr,t,e)=>{let{kind:r,metadata:i}=e,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r==="setter"&&((s=Object.create(s)).wrapped=!0),a.set(e.name,s),r==="accessor"){let{name:n}=e;return{set(d){let h=t.get.call(this);t.set.call(this,d),this.requestUpdate(n,h,s,!0,d)},init(d){return d!==void 0&&this.C(n,void 0,s,d),d}}}if(r==="setter"){let{name:n}=e;return function(d){let h=this[n];t.call(this,d),this.requestUpdate(n,h,s,!0,d)}}throw Error("Unsupported decorator location: "+r)};function l(s){return(t,e)=>typeof e=="object"?lr(s,t,e):((r,i,a)=>{let n=i.hasOwnProperty(a);return i.constructor.createProperty(a,r),n?Object.getOwnPropertyDescriptor(i,a):void 0})(s,t,e)}function N(s){return l({...s,state:!0,attribute:!1})}var z=class extends p{constructor(){super(...arguments);this.current=0;this.step=0;this.blank=null;this.overview=!1;this.transition=null;this.autoplay=0;this.loop=!1;this.swipe=!1;this.slides=[];this.chapters=[];this._overviewTeardown=null;this._transitionLoaded=!1;this._autoplayTimer=null;this._autoplayPaused=!1;this._swipeStartX=0;this._swipeStartY=0;this._swipePointerId=null;this._onHoverEnter=()=>{this._autoplayPaused=!0,this._stopAutoplay()};this._onHoverLeave=()=>{this._autoplayPaused=!1,this.autoplay>0&&this._startAutoplay()};this._onPointerDown=e=>{!this.swipe||e.pointerType==="mouse"&&e.button!==0||e.target?.closest("a, button, input, textarea, [contenteditable]")||(this._swipePointerId=e.pointerId,this._swipeStartX=e.clientX,this._swipeStartY=e.clientY)};this._onPointerUp=e=>{if(this._swipePointerId===null||e.pointerId!==this._swipePointerId)return;let r=e.clientX-this._swipeStartX,i=e.clientY-this._swipeStartY;this._swipePointerId=null,!(Math.abs(r)<60||Math.abs(r)<Math.abs(i)*2)&&(this._stopAutoplay(),r<0?this._advance():this._back(),this.autoplay>0&&!this._autoplayPaused&&this._startAutoplay())};this._onHash=()=>{this._readHash(!1)};this._onKey=e=>{if(!(e.target&&e.target.matches?.("input,textarea,[contenteditable]"))){if(this.autoplay>0&&!this._autoplayPaused&&this._startAutoplay(),this.overview){(e.key==="Escape"||e.key==="o"||e.key==="O"||e.key==="Enter")&&(e.preventDefault(),this.overview=!1);return}if(this.blank){e.preventDefault(),this.blank=null;return}if(e.key==="."||e.key==="b"||e.key==="B"){e.preventDefault(),this.blank="black";return}if(e.key===","||e.key==="w"||e.key==="W"){e.preventDefault(),this.blank="white";return}if(e.key==="?"||e.key==="h"||e.key==="H"){this._toggleHelp();return}if(e.key==="Escape"){this._closeHelp();return}if(e.key==="o"||e.key==="O"){e.preventDefault(),this.overview=!0;return}if(e.key==="p"||e.key==="P"){e.preventDefault(),this._togglePresenter();return}if(e.key==="Home"){this._goTo(0);return}if(e.key==="End"){this._goTo(this.slides.length-1);return}if(e.key===" "||e.key==="PageDown"){e.preventDefault(),this._advance();return}if(e.key==="PageUp"){e.preventDefault(),this._back();return}if(this._has2DNav()){let{c:r,i}=this._coords(this.current);if(e.key==="ArrowRight"){e.preventDefault(),r+1<this.chapters.length?this._goToCoords(r+1,0):this._advance();return}if(e.key==="ArrowLeft"){e.preventDefault(),r-1>=0?this._goToCoords(r-1,0):this._back();return}if(e.key==="ArrowDown"){e.preventDefault();let a=this.chapters[r];a&&i+1<a.slides.length?this._goToCoords(r,i+1):this._advance();return}if(e.key==="ArrowUp"){e.preventDefault(),i-1>=0?this._goToCoords(r,i-1):this._back();return}}else{if(e.key==="ArrowRight"||e.key==="ArrowDown"){e.preventDefault(),this._advance();return}if(e.key==="ArrowLeft"||e.key==="ArrowUp"){e.preventDefault(),this._back();return}}}}}firstUpdated(){this.slides=Array.from(this.querySelectorAll(":scope > *")).filter(e=>e.tagName?.toLowerCase().startsWith("deck-")&&e.tagName?.toLowerCase()!=="deck-root"),this._buildChapters(),this._readHash(!0),this._applyActive(),this._applyStep(),this._updateUI(),this.requestUpdate(),window.addEventListener("keydown",this._onKey),window.addEventListener("hashchange",this._onHash),this.autoplay>0&&this._startAutoplay(),this.swipe?(this.addEventListener("pointerdown",this._onPointerDown),this.addEventListener("pointerup",this._onPointerUp),this.addEventListener("pointercancel",this._onPointerUp),this.addEventListener("mouseenter",this._onHoverEnter),this.addEventListener("mouseleave",this._onHoverLeave)):this.autoplay>0&&(this.addEventListener("mouseenter",this._onHoverEnter),this.addEventListener("mouseleave",this._onHoverLeave))}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("keydown",this._onKey),window.removeEventListener("hashchange",this._onHash),this._stopAutoplay(),this.removeEventListener("pointerdown",this._onPointerDown),this.removeEventListener("pointerup",this._onPointerUp),this.removeEventListener("pointercancel",this._onPointerUp),this.removeEventListener("mouseenter",this._onHoverEnter),this.removeEventListener("mouseleave",this._onHoverLeave)}_startAutoplay(){this._stopAutoplay(),!(this.autoplay<=0||this._autoplayPaused)&&(this._autoplayTimer=window.setInterval(()=>this._autoTick(),this.autoplay))}_stopAutoplay(){this._autoplayTimer!==null&&(window.clearInterval(this._autoplayTimer),this._autoplayTimer=null)}_autoTick(){if(this.overview)return;this.current>=this.slides.length-1&&this.step>=this._maxSteps()&&this.loop?this._goTo(0):this._advance()}_buildChapters(){this.chapters=[];let e=null;this.slides.forEach((r,i)=>{r.tagName?.toLowerCase()==="deck-section"||!e?(e={startIdx:i,slides:[r]},this.chapters.push(e)):e.slides.push(r)})}_has2DNav(){return this.chapters.some(e=>e.slides.length>1)&&this.chapters.length>1}_coords(e){for(let r=0;r<this.chapters.length;r++){let i=this.chapters[r],a=e-i.startIdx;if(a>=0&&a<i.slides.length)return{c:r,i:a}}return{c:0,i:0}}_flatFromCoords(e,r){let i=this.chapters[e];return i?i.startIdx+Math.max(0,Math.min(i.slides.length-1,r)):0}_readHash(e){let r=location.hash,i=r.match(/^#(\d+)\.(\d+)(?:s(\d+))?$/),a=r.match(/^#(\d+)(?:\.(\d+))?$/),n=this.current,d=this.step;if(this._has2DNav()&&i){let h=parseInt(i[1],10)-1,v=parseInt(i[2],10)-1;n=this._flatFromCoords(Math.max(0,h),Math.max(0,v)),d=i[3]?parseInt(i[3],10):0}else if(a)n=parseInt(a[1],10)-1,d=a[2]?parseInt(a[2],10):0;else return;n===this.current&&d===this.step&&!e||(this.current=Math.max(0,Math.min(this.slides.length-1,n)),this.step=Math.max(0,d),e||(this._applyActive(),this._applyStep(),this._updateUI()))}_writeHash(){let e=`#${this.current+1}`+(this.step>0?`.${this.step}`:"");location.hash!==e&&history.replaceState(null,"",e)}async _toggleHelp(){(await Promise.resolve().then(()=>(et(),De))).toggleHelp(this)}async _togglePresenter(){(await Promise.resolve().then(()=>(Mt(),zt))).installPresenter(this)}async _closeHelp(){(await Promise.resolve().then(()=>(et(),De))).closeHelp(this)}async _renderOverviewIfActive(){if(!this.overview){this._overviewTeardown?.(),this._overviewTeardown=null;return}let{mountOverview:e}=await Promise.resolve().then(()=>(It(),Nt));this._overviewTeardown=e(this,{slides:this.slides,chapters:this.chapters,currentIdx:this.current,onPick:r=>{this.overview=!1,this._goTo(r)}})}_maxSteps(){let e=this.slides[this.current];if(!e)return 0;let r=parseInt(e.getAttribute("steps")||e.dataset?.steps||"0",10);if(r>0)return r;let i=e.querySelector("deck-code[step-groups]");if(i)try{return JSON.parse(i.getAttribute("step-groups")).length}catch{}return 0}_advance(){let e=this._maxSteps();this.step<e?(this.step++,this._applyStep(),this._updateUI(),this._writeHash()):this.current<this.slides.length-1?this._goTo(this.current+1):this.loop&&this._goTo(0)}_back(){this.step>0?(this.step--,this._applyStep(),this._updateUI(),this._writeHash()):this.current>0?(this._goTo(this.current-1),this.step=this._maxSteps(),this._applyStep(),this._updateUI(),this._writeHash()):this.loop&&(this._goTo(this.slides.length-1),this.step=this._maxSteps(),this._applyStep(),this._updateUI(),this._writeHash())}_goTo(e){this.current=Math.max(0,Math.min(this.slides.length-1,e)),this.step=0,this._applyActive(),this._applyStep(),this._updateUI(),this._writeHash()}_goToCoords(e,r){let i=Math.max(0,Math.min(this.chapters.length-1,e)),a=this.chapters[i];if(!a)return;let n=Math.max(0,Math.min(a.slides.length-1,r));this._goTo(this._flatFromCoords(i,n))}_applyActive(){let e=this.slides.find(i=>i.hasAttribute("active"))??null,r=this.slides[this.current]??null;this.slides.forEach((i,a)=>{let n=a===this.current;i.toggleAttribute("active",n),n&&i.querySelectorAll("deck-mermaid").forEach(d=>d.render?.())}),this.transition&&!this._transitionLoaded&&(this._transitionLoaded=!0,Promise.resolve().then(()=>(Rt(),Ut)).then(i=>i.installTransitions(this))),e!==r&&this.dispatchEvent(new CustomEvent("slide-change",{detail:{current:r,previous:e},bubbles:!1}))}_applyStep(){let e=this.slides[this.current];e&&(e.applyStep?.(this.step),e.querySelectorAll("*").forEach(r=>r.applyStep?.(this.step)),e.querySelectorAll("[data-step-block]").forEach(r=>{let i=parseInt(r.dataset.stepBlock,10);r.style.transition="opacity 0.25s ease",r.style.opacity=this.step===0||i<=this.step?"1":"0.15"}))}_updateUI(){let e=this.slides.length,r=this.current+1,i=this.renderRoot.querySelector("#progress"),a=this.renderRoot.querySelector("#counter"),n=this.renderRoot.querySelector("#step-dots");i&&(i.style.width=r/e*100+"%"),a&&(a.textContent=`${r} / ${e}`);let d=this._maxSteps();n&&(n.innerHTML=d===0?"":Array.from({length:d},(h,v)=>`<div class="dot${v<this.step?" active":""}"></div>`).join(""))}updated(){this._updateUI(),this._renderOverviewIfActive()}render(){return c`<div id="progress"></div> <div id="counter"></div> <div id="step-dots"></div> <div id="kb-hint"> <kbd>←</kbd><kbd>→</kbd> ${this._has2DNav()?c`<kbd>↑</kbd><kbd>↓</kbd>`:""}
485
+ `,Ut=["rk-enter-slide","rk-enter-slide-up","rk-enter-slide-down","rk-enter-slide-right","rk-enter-fade","rk-enter-zoom","rk-enter-flip"],zr=["rk-exit-slide","rk-exit-slide-up","rk-exit-slide-down","rk-exit-slide-right","rk-exit-fade","rk-exit-zoom","rk-exit-flip"]});var Wr={};function Zt(i,t="#0a0a0a"){N||(N=document.createElement("div"),N.style.cssText=`position:fixed;bottom:12px;left:12px;z-index:9999;padding:6px 12px;background:${t};color:#F7CB44;font:600 11px/1.4 monospace;border-radius:6px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .2s;pointer-events:none;border:1px solid #F7CB44`,document.body.appendChild(N)),N.textContent=i,N.style.opacity="1",N._t&&clearTimeout(N._t),N._t=setTimeout(()=>{N&&(N.style.opacity="0")},1500)}async function Qt(i){try{let t=await fetch(i+"?_lr="+Date.now(),{method:"HEAD",cache:"no-store"}),e=t.headers.get("last-modified")??t.headers.get("etag")??t.headers.get("content-length");if(!e)return!1;let r=Gt.get(i);return Gt.set(i,e),r!==void 0&&r!==e}catch{return!1}}async function Yr(){for(;;){for(let i of Jt)if(await Qt(i)){Zt(`reload \xB7 ${i.split("/").pop()}`),await new Promise(t=>setTimeout(t,150)),location.reload();return}await new Promise(i=>setTimeout(i,800))}}var $,Br,qr,Jt,Gt,N,Dt=ke(()=>{"use strict";$=i=>new URL(i,import.meta.url).href,Br=i=>{try{return new URL(i,location.href).origin===location.origin}catch{return!1}},qr=Array.from(document.querySelectorAll('link[rel="stylesheet"]')).map(i=>i.href).filter(Br),Jt=[...qr,$("./index.js"),$("./deck-root.js"),$("./deck-cover.js"),$("./deck-section.js"),$("./deck-feature.js"),$("./deck-split.js"),$("./deck-feature-cards.js"),$("./deck-takeaway.js"),$("./deck-md.js"),$("./deck-code.js"),$("./deck-callout.js"),$("./deck-card.js"),$("./deck-mermaid.js"),$("./shared-styles.js"),$("./deck-stack.js"),$("./deck-grid.js"),$("./deck-punch.js"),location.pathname],Gt=new Map;(async()=>(await Promise.all(Jt.map(Qt)),Zt("livereload on"),Yr()))()});var Ce=globalThis,Pe=Ce.ShadowRoot&&(Ce.ShadyCSS===void 0||Ce.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,We=Symbol(),mt=new WeakMap,ye=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==We)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Pe&&t===void 0){let r=e!==void 0&&e.length===1;r&&(t=mt.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&mt.set(e,t))}return t}toString(){return this.cssText}},vt=i=>new ye(typeof i=="string"?i:i+"",void 0,We),m=(i,...t)=>{let e=i.length===1?i[0]:t.reduce((r,s,a)=>r+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+i[a+1],i[0]);return new ye(e,i,We)},ut=(i,t)=>{if(Pe)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let r=document.createElement("style"),s=Ce.litNonce;s!==void 0&&r.setAttribute("nonce",s),r.textContent=e.cssText,i.appendChild(r)}},Fe=Pe?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(let r of t.cssRules)e+=r.cssText;return vt(e)})(i):i;var{is:tr,defineProperty:rr,getOwnPropertyDescriptor:ir,getOwnPropertyNames:sr,getOwnPropertySymbols:or,getPrototypeOf:ar}=Object,Ne=globalThis,ft=Ne.trustedTypes,nr=ft?ft.emptyScript:"",lr=Ne.reactiveElementPolyfillSupport,be=(i,t)=>i,xe={toAttribute(i,t){switch(t){case Boolean:i=i?nr:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},Ie=(i,t)=>!tr(i,t),gt={attribute:!0,type:String,converter:xe,reflect:!1,useDefault:!1,hasChanged:Ie};Symbol.metadata??=Symbol("metadata"),Ne.litPropertyMetadata??=new WeakMap;var q=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=gt){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let r=Symbol(),s=this.getPropertyDescriptor(t,r,e);s!==void 0&&rr(this.prototype,t,s)}}static getPropertyDescriptor(t,e,r){let{get:s,set:a}=ir(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get:s,set(n){let d=s?.call(this);a?.call(this,n),this.requestUpdate(t,d,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??gt}static _$Ei(){if(this.hasOwnProperty(be("elementProperties")))return;let t=ar(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(be("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(be("properties"))){let e=this.properties,r=[...sr(e),...or(e)];for(let s of r)this.createProperty(s,e[s])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[r,s]of e)this.elementProperties.set(r,s)}this._$Eh=new Map;for(let[e,r]of this.elementProperties){let s=this._$Eu(e,r);s!==void 0&&this._$Eh.set(s,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let r=new Set(t.flat(1/0).reverse());for(let s of r)e.unshift(Fe(s))}else t!==void 0&&e.push(Fe(t));return e}static _$Eu(t,e){let r=e.attribute;return r===!1?void 0:typeof r=="string"?r:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ut(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$ET(t,e){let r=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,r);if(s!==void 0&&r.reflect===!0){let a=(r.converter?.toAttribute!==void 0?r.converter:xe).toAttribute(e,r.type);this._$Em=t,a==null?this.removeAttribute(s):this.setAttribute(s,a),this._$Em=null}}_$AK(t,e){let r=this.constructor,s=r._$Eh.get(t);if(s!==void 0&&this._$Em!==s){let a=r.getPropertyOptions(s),n=typeof a.converter=="function"?{fromAttribute:a.converter}:a.converter?.fromAttribute!==void 0?a.converter:xe;this._$Em=s;let d=n.fromAttribute(e,a.type);this[s]=d??this._$Ej?.get(s)??d,this._$Em=null}}requestUpdate(t,e,r,s=!1,a){if(t!==void 0){let n=this.constructor;if(s===!1&&(a=this[t]),r??=n.getPropertyOptions(t),!((r.hasChanged??Ie)(a,e)||r.useDefault&&r.reflect&&a===this._$Ej?.get(t)&&!this.hasAttribute(n._$Eu(t,r))))return;this.C(t,e,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:r,reflect:s,wrapped:a},n){r&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),a!==!0||n!==void 0)||(this._$AL.has(t)||(this.hasUpdated||r||(e=void 0),this._$AL.set(t,e)),s===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[s,a]of this._$Ep)this[s]=a;this._$Ep=void 0}let r=this.constructor.elementProperties;if(r.size>0)for(let[s,a]of r){let{wrapped:n}=a,d=this[s];n!==!0||this._$AL.has(s)||d===void 0||this.C(s,void 0,a,d)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(r=>r.hostUpdate?.()),this.update(e)):this._$EM()}catch(r){throw t=!1,this._$EM(),r}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};q.elementStyles=[],q.shadowRootOptions={mode:"open"},q[be("elementProperties")]=new Map,q[be("finalized")]=new Map,lr?.({ReactiveElement:q}),(Ne.reactiveElementVersions??=[]).push("2.1.2");var Qe=globalThis,kt=i=>i,Oe=Qe.trustedTypes,yt=Oe?Oe.createPolicy("lit-html",{createHTML:i=>i}):void 0,$t="$lit$",X=`lit$${Math.random().toFixed(9).slice(2)}$`,St="?"+X,dr=`<${St}>`,te=document,_e=()=>te.createComment(""),Ee=i=>i===null||typeof i!="object"&&typeof i!="function",De=Array.isArray,cr=i=>De(i)||typeof i?.[Symbol.iterator]=="function",Ke=`[
486
+ \f\r]`,we=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,bt=/-->/g,xt=/>/g,D=RegExp(`>|${Ke}(?:([^\\s"'>=/]+)(${Ke}*=${Ke}*(?:[^
487
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),wt=/'/g,_t=/"/g,At=/^(?:script|style|textarea|title)$/i,et=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),c=et(1),Jr=et(2),Zr=et(3),re=Symbol.for("lit-noChange"),_=Symbol.for("lit-nothing"),Et=new WeakMap,ee=te.createTreeWalker(te,129);function Tt(i,t){if(!De(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return yt!==void 0?yt.createHTML(t):t}var pr=(i,t)=>{let e=i.length-1,r=[],s,a=t===2?"<svg>":t===3?"<math>":"",n=we;for(let d=0;d<e;d++){let h=i[d],v,g,f=-1,x=0;for(;x<h.length&&(n.lastIndex=x,g=n.exec(h),g!==null);)x=n.lastIndex,n===we?g[1]==="!--"?n=bt:g[1]!==void 0?n=xt:g[2]!==void 0?(At.test(g[2])&&(s=RegExp("</"+g[2],"g")),n=D):g[3]!==void 0&&(n=D):n===D?g[0]===">"?(n=s??we,f=-1):g[1]===void 0?f=-2:(f=n.lastIndex-g[2].length,v=g[1],n=g[3]===void 0?D:g[3]==='"'?_t:wt):n===_t||n===wt?n=D:n===bt||n===xt?n=we:(n=D,s=void 0);let S=n===D&&i[d+1].startsWith("/>")?" ":"";a+=n===we?h+dr:f>=0?(r.push(v),h.slice(0,f)+$t+h.slice(f)+X+S):h+X+(f===-2?d:S)}return[Tt(i,a+(i[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]},$e=class i{constructor({strings:t,_$litType$:e},r){let s;this.parts=[];let a=0,n=0,d=t.length-1,h=this.parts,[v,g]=pr(t,e);if(this.el=i.createElement(v,r),ee.currentNode=this.el.content,e===2||e===3){let f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(s=ee.nextNode())!==null&&h.length<d;){if(s.nodeType===1){if(s.hasAttributes())for(let f of s.getAttributeNames())if(f.endsWith($t)){let x=g[n++],S=s.getAttribute(f).split(X),L=/([.?@])?(.*)/.exec(x);h.push({type:1,index:a,name:L[2],strings:S,ctor:L[1]==="."?Xe:L[1]==="?"?Ge:L[1]==="@"?Je:le}),s.removeAttribute(f)}else f.startsWith(X)&&(h.push({type:6,index:a}),s.removeAttribute(f));if(At.test(s.tagName)){let f=s.textContent.split(X),x=f.length-1;if(x>0){s.textContent=Oe?Oe.emptyScript:"";for(let S=0;S<x;S++)s.append(f[S],_e()),ee.nextNode(),h.push({type:2,index:++a});s.append(f[x],_e())}}}else if(s.nodeType===8)if(s.data===St)h.push({type:2,index:a});else{let f=-1;for(;(f=s.data.indexOf(X,f+1))!==-1;)h.push({type:7,index:a}),f+=X.length-1}a++}}static createElement(t,e){let r=te.createElement("template");return r.innerHTML=t,r}};function ne(i,t,e=i,r){if(t===re)return t;let s=r!==void 0?e._$Co?.[r]:e._$Cl,a=Ee(t)?void 0:t._$litDirective$;return s?.constructor!==a&&(s?._$AO?.(!1),a===void 0?s=void 0:(s=new a(i),s._$AT(i,e,r)),r!==void 0?(e._$Co??=[])[r]=s:e._$Cl=s),s!==void 0&&(t=ne(i,s._$AS(i,t.values),s,r)),t}var Ve=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:e},parts:r}=this._$AD,s=(t?.creationScope??te).importNode(e,!0);ee.currentNode=s;let a=ee.nextNode(),n=0,d=0,h=r[0];for(;h!==void 0;){if(n===h.index){let v;h.type===2?v=new Se(a,a.nextSibling,this,t):h.type===1?v=new h.ctor(a,h.name,h.strings,this,t):h.type===6&&(v=new Ze(a,this,t)),this._$AV.push(v),h=r[++d]}n!==h?.index&&(a=ee.nextNode(),n++)}return ee.currentNode=te,s}p(t){let e=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}},Se=class i{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,s){this.type=2,this._$AH=_,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=ne(this,t,e),Ee(t)?t===_||t==null||t===""?(this._$AH!==_&&this._$AR(),this._$AH=_):t!==this._$AH&&t!==re&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):cr(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==_&&Ee(this._$AH)?this._$AA.nextSibling.data=t:this.T(te.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:r}=t,s=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=$e.createElement(Tt(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===s)this._$AH.p(e);else{let a=new Ve(s,this),n=a.u(this.options);a.p(e),this.T(n),this._$AH=a}}_$AC(t){let e=Et.get(t.strings);return e===void 0&&Et.set(t.strings,e=new $e(t)),e}k(t){De(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,r,s=0;for(let a of t)s===e.length?e.push(r=new i(this.O(_e()),this.O(_e()),this,this.options)):r=e[s],r._$AI(a),s++;s<e.length&&(this._$AR(r&&r._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let r=kt(t).nextSibling;kt(t).remove(),t=r}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},le=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,s,a){this.type=1,this._$AH=_,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=a,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=_}_$AI(t,e=this,r,s){let a=this.strings,n=!1;if(a===void 0)t=ne(this,t,e,0),n=!Ee(t)||t!==this._$AH&&t!==re,n&&(this._$AH=t);else{let d=t,h,v;for(t=a[0],h=0;h<a.length-1;h++)v=ne(this,d[r+h],e,h),v===re&&(v=this._$AH[h]),n||=!Ee(v)||v!==this._$AH[h],v===_?t=_:t!==_&&(t+=(v??"")+a[h+1]),this._$AH[h]=v}n&&!s&&this.j(t)}j(t){t===_?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Xe=class extends le{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===_?void 0:t}},Ge=class extends le{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==_)}},Je=class extends le{constructor(t,e,r,s,a){super(t,e,r,s,a),this.type=5}_$AI(t,e=this){if((t=ne(this,t,e,0)??_)===re)return;let r=this._$AH,s=t===_&&r!==_||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,a=t!==_&&(r===_||s);s&&this.element.removeEventListener(this.name,this,r),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Ze=class{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){ne(this,t)}};var hr=Qe.litHtmlPolyfillSupport;hr?.($e,Se),(Qe.litHtmlVersions??=[]).push("3.3.3");var Lt=(i,t,e)=>{let r=e?.renderBefore??t,s=r._$litPart$;if(s===void 0){let a=e?.renderBefore??null;r._$litPart$=s=new Se(t.insertBefore(_e(),a),a,void 0,e??{})}return s._$AI(i),s};var tt=globalThis,p=class extends q{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return re}};p._$litElement$=!0,p.finalized=!0,tt.litElementHydrateSupport?.({LitElement:p});var mr=tt.litElementPolyfillSupport;mr?.({LitElement:p});(tt.litElementVersions??=[]).push("4.2.2");var u=i=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(i,t)}):customElements.define(i,t)};var vr={attribute:!0,type:String,converter:xe,reflect:!1,hasChanged:Ie},ur=(i=vr,t,e)=>{let{kind:r,metadata:s}=e,a=globalThis.litPropertyMetadata.get(s);if(a===void 0&&globalThis.litPropertyMetadata.set(s,a=new Map),r==="setter"&&((i=Object.create(i)).wrapped=!0),a.set(e.name,i),r==="accessor"){let{name:n}=e;return{set(d){let h=t.get.call(this);t.set.call(this,d),this.requestUpdate(n,h,i,!0,d)},init(d){return d!==void 0&&this.C(n,void 0,i,d),d}}}if(r==="setter"){let{name:n}=e;return function(d){let h=this[n];t.call(this,d),this.requestUpdate(n,h,i,!0,d)}}throw Error("Unsupported decorator location: "+r)};function l(i){return(t,e)=>typeof e=="object"?ur(i,t,e):((r,s,a)=>{let n=s.hasOwnProperty(a);return s.constructor.createProperty(a,r),n?Object.getOwnPropertyDescriptor(s,a):void 0})(i,t,e)}function O(i){return l({...i,state:!0,attribute:!1})}var M=class extends p{constructor(){super(...arguments);this.current=0;this.step=0;this.blank=null;this.overview=!1;this.transition=null;this.autoplay=0;this.loop=!1;this.swipe=!1;this.slides=[];this.chapters=[];this._overviewTeardown=null;this._transitionLoaded=!1;this._autoplayTimer=null;this._autoplayPaused=!1;this._swipeStartX=0;this._swipeStartY=0;this._swipePointerId=null;this._onHoverEnter=()=>{this._autoplayPaused=!0,this._stopAutoplay()};this._onHoverLeave=()=>{this._autoplayPaused=!1,this.autoplay>0&&this._startAutoplay()};this._onPointerDown=e=>{!this.swipe||e.pointerType==="mouse"&&e.button!==0||e.target?.closest("a, button, input, textarea, [contenteditable]")||(this._swipePointerId=e.pointerId,this._swipeStartX=e.clientX,this._swipeStartY=e.clientY)};this._onPointerUp=e=>{if(this._swipePointerId===null||e.pointerId!==this._swipePointerId)return;let r=e.clientX-this._swipeStartX,s=e.clientY-this._swipeStartY;this._swipePointerId=null,!(Math.abs(r)<60||Math.abs(r)<Math.abs(s)*2)&&(this._stopAutoplay(),r<0?this._advance():this._back(),this.autoplay>0&&!this._autoplayPaused&&this._startAutoplay())};this._onHash=()=>{this._readHash(!1)};this._onKey=e=>{if(!(e.target&&e.target.matches?.("input,textarea,[contenteditable]"))){if(this.autoplay>0&&!this._autoplayPaused&&this._startAutoplay(),this.overview){(e.key==="Escape"||e.key==="o"||e.key==="O"||e.key==="Enter")&&(e.preventDefault(),this.overview=!1);return}if(this.blank){e.preventDefault(),this.blank=null;return}if(e.key==="."||e.key==="b"||e.key==="B"){e.preventDefault(),this.blank="black";return}if(e.key===","||e.key==="w"||e.key==="W"){e.preventDefault(),this.blank="white";return}if(e.key==="?"||e.key==="h"||e.key==="H"){this._toggleHelp();return}if(e.key==="Escape"){this._closeHelp();return}if(e.key==="o"||e.key==="O"){e.preventDefault(),this.overview=!0;return}if(e.key==="p"||e.key==="P"){e.preventDefault(),this._togglePresenter();return}if(e.key==="Home"){this._goTo(0);return}if(e.key==="End"){this._goTo(this.slides.length-1);return}if(e.key===" "||e.key==="PageDown"){e.preventDefault(),this._advance();return}if(e.key==="PageUp"){e.preventDefault(),this._back();return}if(this._has2DNav()){let{c:r,i:s}=this._coords(this.current);if(e.key==="ArrowRight"){e.preventDefault(),r+1<this.chapters.length?this._goToCoords(r+1,0):this._advance();return}if(e.key==="ArrowLeft"){e.preventDefault(),r-1>=0?this._goToCoords(r-1,0):this._back();return}if(e.key==="ArrowDown"){e.preventDefault();let a=this.chapters[r];a&&s+1<a.slides.length?this._goToCoords(r,s+1):this._advance();return}if(e.key==="ArrowUp"){e.preventDefault(),s-1>=0?this._goToCoords(r,s-1):this._back();return}}else{if(e.key==="ArrowRight"||e.key==="ArrowDown"){e.preventDefault(),this._advance();return}if(e.key==="ArrowLeft"||e.key==="ArrowUp"){e.preventDefault(),this._back();return}}}}}firstUpdated(){this.slides=Array.from(this.querySelectorAll(":scope > *")).filter(e=>e.tagName?.toLowerCase().startsWith("deck-")&&e.tagName?.toLowerCase()!=="deck-root"),this._buildChapters(),this._readHash(!0),this._applyActive(),this._applyStep(),this._updateUI(),this.requestUpdate(),window.addEventListener("keydown",this._onKey),window.addEventListener("hashchange",this._onHash),this.autoplay>0&&this._startAutoplay(),this.swipe?(this.addEventListener("pointerdown",this._onPointerDown),this.addEventListener("pointerup",this._onPointerUp),this.addEventListener("pointercancel",this._onPointerUp),this.addEventListener("mouseenter",this._onHoverEnter),this.addEventListener("mouseleave",this._onHoverLeave)):this.autoplay>0&&(this.addEventListener("mouseenter",this._onHoverEnter),this.addEventListener("mouseleave",this._onHoverLeave))}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("keydown",this._onKey),window.removeEventListener("hashchange",this._onHash),this._stopAutoplay(),this.removeEventListener("pointerdown",this._onPointerDown),this.removeEventListener("pointerup",this._onPointerUp),this.removeEventListener("pointercancel",this._onPointerUp),this.removeEventListener("mouseenter",this._onHoverEnter),this.removeEventListener("mouseleave",this._onHoverLeave)}_startAutoplay(){this._stopAutoplay(),!(this.autoplay<=0||this._autoplayPaused)&&(this._autoplayTimer=window.setInterval(()=>this._autoTick(),this.autoplay))}_stopAutoplay(){this._autoplayTimer!==null&&(window.clearInterval(this._autoplayTimer),this._autoplayTimer=null)}_autoTick(){if(this.overview)return;this.current>=this.slides.length-1&&this.step>=this._maxSteps()&&this.loop?this._goTo(0):this._advance()}_buildChapters(){this.chapters=[];let e=null;this.slides.forEach((r,s)=>{r.tagName?.toLowerCase()==="deck-section"||!e?(e={startIdx:s,slides:[r]},this.chapters.push(e)):e.slides.push(r)})}_has2DNav(){return this.chapters.some(e=>e.slides.length>1)&&this.chapters.length>1}_coords(e){for(let r=0;r<this.chapters.length;r++){let s=this.chapters[r],a=e-s.startIdx;if(a>=0&&a<s.slides.length)return{c:r,i:a}}return{c:0,i:0}}_flatFromCoords(e,r){let s=this.chapters[e];return s?s.startIdx+Math.max(0,Math.min(s.slides.length-1,r)):0}_readHash(e){let r=location.hash,s=r.match(/^#(\d+)\.(\d+)(?:s(\d+))?$/),a=r.match(/^#(\d+)(?:\.(\d+))?$/),n=this.current,d=this.step;if(this._has2DNav()&&s){let h=parseInt(s[1],10)-1,v=parseInt(s[2],10)-1;n=this._flatFromCoords(Math.max(0,h),Math.max(0,v)),d=s[3]?parseInt(s[3],10):0}else if(a)n=parseInt(a[1],10)-1,d=a[2]?parseInt(a[2],10):0;else return;n===this.current&&d===this.step&&!e||(this.current=Math.max(0,Math.min(this.slides.length-1,n)),this.step=Math.max(0,d),e||(this._applyActive(),this._applyStep(),this._updateUI()))}_writeHash(){let e=`#${this.current+1}`+(this.step>0?`.${this.step}`:"");if(location.hash!==e)try{history.replaceState(null,"",e)}catch{}}async _toggleHelp(){(await Promise.resolve().then(()=>(Re(),rt))).toggleHelp(this)}async _togglePresenter(){(await Promise.resolve().then(()=>(it(),Nt))).installPresenter(this)}async _closeHelp(){(await Promise.resolve().then(()=>(Re(),rt))).closeHelp(this)}async _renderOverviewIfActive(){if(!this.overview){this._overviewTeardown?.(),this._overviewTeardown=null;return}let{mountOverview:e}=await Promise.resolve().then(()=>(st(),Rt));this._overviewTeardown=e(this,{slides:this.slides,chapters:this.chapters,currentIdx:this.current,onPick:r=>{this.overview=!1,this._goTo(r)}})}_maxSteps(){let e=this.slides[this.current];if(!e)return 0;let r=parseInt(e.getAttribute("steps")||e.dataset?.steps||"0",10);if(r>0)return r;let s=e.querySelector("deck-code[step-groups]");if(s)try{return JSON.parse(s.getAttribute("step-groups")).length}catch{}return 0}_advance(){let e=this._maxSteps();this.step<e?(this.step++,this._applyStep(),this._updateUI(),this._writeHash()):this.current<this.slides.length-1?this._goTo(this.current+1):this.loop&&this._goTo(0)}_back(){this.step>0?(this.step--,this._applyStep(),this._updateUI(),this._writeHash()):this.current>0?(this._goTo(this.current-1),this.step=this._maxSteps(),this._applyStep(),this._updateUI(),this._writeHash()):this.loop&&(this._goTo(this.slides.length-1),this.step=this._maxSteps(),this._applyStep(),this._updateUI(),this._writeHash())}_goTo(e){this.current=Math.max(0,Math.min(this.slides.length-1,e)),this.step=0,this._applyActive(),this._applyStep(),this._updateUI(),this._writeHash()}_goToCoords(e,r){let s=Math.max(0,Math.min(this.chapters.length-1,e)),a=this.chapters[s];if(!a)return;let n=Math.max(0,Math.min(a.slides.length-1,r));this._goTo(this._flatFromCoords(s,n))}_applyActive(){let e=this.slides.find(s=>s.hasAttribute("active"))??null,r=this.slides[this.current]??null;this.slides.forEach((s,a)=>{let n=a===this.current;s.toggleAttribute("active",n),n&&s.querySelectorAll("deck-mermaid").forEach(d=>d.render?.())}),this.transition&&!this._transitionLoaded&&(this._transitionLoaded=!0,Promise.resolve().then(()=>(ot(),Bt)).then(s=>s.installTransitions(this))),e!==r&&this.dispatchEvent(new CustomEvent("slide-change",{detail:{current:r,previous:e},bubbles:!1}))}_applyStep(){let e=this.slides[this.current];e&&(e.applyStep?.(this.step),e.querySelectorAll("*").forEach(r=>r.applyStep?.(this.step)),e.querySelectorAll("[data-step-block]").forEach(r=>{let s=parseInt(r.dataset.stepBlock,10);r.style.transition="opacity 0.25s ease",r.style.opacity=this.step===0||s<=this.step?"1":"0.15"}))}_updateUI(){let e=this.slides.length,r=this.current+1,s=this.renderRoot.querySelector("#progress"),a=this.renderRoot.querySelector("#counter"),n=this.renderRoot.querySelector("#step-dots");s&&(s.style.width=r/e*100+"%"),a&&(a.textContent=`${r} / ${e}`);let d=this._maxSteps();n&&(n.innerHTML=d===0?"":Array.from({length:d},(h,v)=>`<div class="dot${v<this.step?" active":""}"></div>`).join(""))}updated(){this._updateUI(),this._renderOverviewIfActive()}render(){return c`<div id="progress"></div> <div id="counter"></div> <div id="step-dots"></div> <div id="kb-hint"> <kbd>←</kbd><kbd>→</kbd> ${this._has2DNav()?c`<kbd>↑</kbd><kbd>↓</kbd>`:""}
483
488
  <span>·</span>
484
489
  <kbd>O</kbd>
485
490
  <span>·</span>
@@ -489,28 +494,28 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
489
494
  </div>
490
495
  <slot></slot>
491
496
  ${this.blank?c`<div id="blank" data-tone="${this.blank}" @click=${()=>{this.blank=null}}></div>`:""}
492
- `}};z.styles=m`:host{display:block;width:100vw;height:100vh;position:relative;background:var(--deck-root-bg,var(--rik-surface-page))}#progress{position:fixed;bottom:0;left:0;height:var(--deck-root-progress-height,3px);background:var(--deck-root-progress-color,linear-gradient(90deg,var(--rik-accent),var(--rik-accent--soft)));transition:width 0.25s ease;z-index:100}#counter{position:fixed;bottom:1rem;right:1.5rem;font-size:var(--rik-font-size-xs);color:var(--deck-root-counter-color,var(--rik-text-default--faint));font-family:var(--rik-font-mono);z-index:100}#step-dots{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:100}.dot{width:6px;height:6px;border-radius:50%;background:var(--deck-root-dot-bg,#d4d4d0);transition:background 0.2s}.dot.active{background:var(--deck-root-dot-active-bg,var(--rik-accent))}#kb-hint{position:fixed;bottom:1rem;left:1.5rem;display:inline-flex;align-items:center;gap:6px;font:600 0.62rem/1 var(--rik-font-mono);color:var(--deck-root-kb-hint-color,var(--rik-text-default--faint));z-index:100;opacity:0.5;transition:opacity 0.2s ease;cursor:help}#kb-hint:hover{opacity:1}#kb-hint kbd{background:var(--rik-surface-raised);border:1px solid var(--rik-border-default);border-bottom:2px solid var(--rik-border-default);border-radius:4px;padding:2px 6px;color:var(--rik-text-default);font:inherit;min-width:16px;text-align:center}#kb-hint .sep{opacity:0.4}#blank{position:fixed;inset:0;z-index:9999;cursor:pointer}#blank[data-tone="black"]{background:#000}#blank[data-tone="white"]{background:#fff}`,o([N()],z.prototype,"current",2),o([N()],z.prototype,"step",2),o([N()],z.prototype,"blank",2),o([l({type:Boolean,reflect:!0})],z.prototype,"overview",2),o([l({type:String,reflect:!0})],z.prototype,"transition",2),o([l({type:Number,reflect:!0})],z.prototype,"autoplay",2),o([l({type:Boolean,reflect:!0})],z.prototype,"loop",2),o([l({type:Boolean,reflect:!0})],z.prototype,"swipe",2),z=o([u("deck-root")],z);var tt=m`:host{display:none;position:absolute;inset:0;padding:var(--rik-slide-padding-y) var(--rik-slide-padding-x);flex-direction:column;overflow:hidden;background:var(--rik-surface-page);font-family:var(--rik-font-sans);color:var(--rik-text-default)}:host([active]){display:flex}`,Er=m`h1{font-size:var(--rik-font-size-h1);font-weight:700;color:var(--rik-text-default);letter-spacing:-0.022em;line-height:1.15;margin-bottom:var(--rik-space-4);padding-bottom:var(--rik-space-2);border-bottom:3px solid var(--rik-accent);display:inline-block;align-self:flex-start;flex:0 0 auto}h1 .accent{color:var(--rik-accent)}::slotted(p),p{font-size:var(--rik-font-size-body);line-height:1.65;color:var(--rik-text-default--muted);margin:0}::slotted(strong),strong{color:var(--rik-text-default);font-weight:700}::slotted(code),code{font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono-sm);background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:var(--rik-radius-sm);color:var(--rik-text-default)}`,$r=m`.lbl{display:inline-block;padding:var(--deck-eyebrow-padding-y,4px) var(--deck-eyebrow-padding-x,12px);background:var(--deck-eyebrow-bg,var(--rik-accent));color:var(--deck-eyebrow-color,var(--rik-accent__on,var(--rik-surface-inverse)));border-radius:var(--deck-eyebrow-radius,var(--rik-radius-pill));font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:var(--rik-space-1);align-self:flex-start}.lead{font-size:var(--rik-font-size-lead);color:var(--rik-text-default--faint);line-height:1.5;margin-bottom:var(--rik-space-4);max-width:75ch;flex:0 0 auto}.kicker{font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--rik-text-default--faint);margin-bottom:var(--rik-space-3);display:block}.kicker.on-dark{color:rgba(255,255,255,0.35)}.caption{font-size:var(--rik-font-size-sm);color:var(--rik-text-default--faint);line-height:1.55}.caption.on-dark{color:rgba(255,255,255,0.5)}.col-label{font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--rik-text-default--faint);margin-bottom:var(--rik-space-2)}`,C=[tt,Er,$r];var E=class extends p{render(){let t=(this.brand??"").split("\xB7").map(n=>n.trim()).filter(Boolean),e=t[0]??"",r=t.slice(1).join(" \xB7 "),i=[this.speaker&&{l:this.speakerLabel??"Pr\xE9sent\xE9 par",v:this.speaker},this.company&&{l:this.companyLabel??"Entreprise",v:this.company},this.duration&&{l:this.durationLabel??"Dur\xE9e",v:this.duration},this.audience&&{l:this.audienceLabel??"Audience",v:this.audience},this.runtime&&{l:this.runtimeLabel??"Runtime",v:this.runtime}].filter(n=>!!n),a=!!this.brandSrc;return c`<div class="brand" part="brand"> ${a?c`<span class="brand-tile"><img src="${this.brandSrc}" alt="${e}"></span>`:""}
497
+ `}};M.styles=m`:host{display:block;width:100vw;height:100vh;position:relative;background:var(--deck-root-bg,var(--rik-surface-page))}#progress{position:fixed;bottom:0;left:0;height:var(--deck-root-progress-height,3px);background:var(--deck-root-progress-color,linear-gradient(90deg,var(--rik-accent),var(--rik-accent--soft)));transition:width 0.25s ease;z-index:100}#counter{position:fixed;bottom:1rem;right:1.5rem;font-size:var(--rik-font-size-xs);color:var(--deck-root-counter-color,var(--rik-text-default--faint));font-family:var(--rik-font-mono);z-index:100}#step-dots{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:100}.dot{width:6px;height:6px;border-radius:50%;background:var(--deck-root-dot-bg,#d4d4d0);transition:background 0.2s}.dot.active{background:var(--deck-root-dot-active-bg,var(--rik-accent))}#kb-hint{position:fixed;bottom:1rem;left:1.5rem;display:inline-flex;align-items:center;gap:6px;font:600 0.62rem/1 var(--rik-font-mono);color:var(--deck-root-kb-hint-color,var(--rik-text-default--faint));z-index:100;opacity:0.5;transition:opacity 0.2s ease;cursor:help}#kb-hint:hover{opacity:1}#kb-hint kbd{background:var(--rik-surface-raised);border:1px solid var(--rik-border-default);border-bottom:2px solid var(--rik-border-default);border-radius:4px;padding:2px 6px;color:var(--rik-text-default);font:inherit;min-width:16px;text-align:center}#kb-hint .sep{opacity:0.4}#blank{position:fixed;inset:0;z-index:9999;cursor:pointer}#blank[data-tone="black"]{background:#000}#blank[data-tone="white"]{background:#fff}`,o([O()],M.prototype,"current",2),o([O()],M.prototype,"step",2),o([O()],M.prototype,"blank",2),o([l({type:Boolean,reflect:!0})],M.prototype,"overview",2),o([l({type:String,reflect:!0})],M.prototype,"transition",2),o([l({type:Number,reflect:!0})],M.prototype,"autoplay",2),o([l({type:Boolean,reflect:!0})],M.prototype,"loop",2),o([l({type:Boolean,reflect:!0})],M.prototype,"swipe",2),M=o([u("deck-root")],M);ot();Re();st();it();var Ae=class extends p{get notes(){return(this.textContent??"").trim()}render(){return c`<slot></slot>`}};Ae.styles=m`:host{display:none}`,Ae=o([u("deck-notes")],Ae);var at=m`:host{display:none;position:absolute;inset:0;padding:var(--rik-slide-padding-y) var(--rik-slide-padding-x);flex-direction:column;overflow:hidden;background:var(--rik-surface-page);font-family:var(--rik-font-sans);color:var(--rik-text-default)}:host([active]){display:flex}`,Hr=m`h1{font-size:var(--rik-font-size-h1);font-weight:700;color:var(--rik-text-default);letter-spacing:-0.022em;line-height:1.15;margin-bottom:var(--rik-space-4);padding-bottom:var(--rik-space-2);border-bottom:3px solid var(--rik-accent);display:inline-block;align-self:flex-start;flex:0 0 auto}h1 .accent{color:var(--rik-accent)}::slotted(p),p{font-size:var(--rik-font-size-body);line-height:1.65;color:var(--rik-text-default--muted);margin:0}::slotted(strong),strong{color:var(--rik-text-default);font-weight:700}::slotted(code),code{font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono-sm);background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:var(--rik-radius-sm);color:var(--rik-text-default)}`,Cr=m`.lbl{display:inline-block;padding:var(--deck-eyebrow-padding-y,4px) var(--deck-eyebrow-padding-x,12px);background:var(--deck-eyebrow-bg,var(--rik-accent));color:var(--deck-eyebrow-color,var(--rik-accent__on,var(--rik-surface-inverse)));border-radius:var(--deck-eyebrow-radius,var(--rik-radius-pill));font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:var(--rik-space-1);align-self:flex-start}.lead{font-size:var(--rik-font-size-lead);color:var(--rik-text-default--faint);line-height:1.5;margin-bottom:var(--rik-space-4);max-width:75ch;flex:0 0 auto}.kicker{font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--rik-text-default--faint);margin-bottom:var(--rik-space-3);display:block}.kicker.on-dark{color:rgba(255,255,255,0.35)}.caption{font-size:var(--rik-font-size-sm);color:var(--rik-text-default--faint);line-height:1.55}.caption.on-dark{color:rgba(255,255,255,0.5)}.col-label{font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--rik-text-default--faint);margin-bottom:var(--rik-space-2)}`,P=[at,Hr,Cr];var E=class extends p{render(){let t=(this.brand??"").split("\xB7").map(n=>n.trim()).filter(Boolean),e=t[0]??"",r=t.slice(1).join(" \xB7 "),s=[this.speaker&&{l:this.speakerLabel??"Pr\xE9sent\xE9 par",v:this.speaker},this.company&&{l:this.companyLabel??"Entreprise",v:this.company},this.duration&&{l:this.durationLabel??"Dur\xE9e",v:this.duration},this.audience&&{l:this.audienceLabel??"Audience",v:this.audience},this.runtime&&{l:this.runtimeLabel??"Runtime",v:this.runtime}].filter(n=>!!n),a=!!this.brandSrc;return c`<div class="brand" part="brand"> ${a?c`<span class="brand-tile"><img src="${this.brandSrc}" alt="${e}"></span>`:""}
493
498
  ${e?c`<span class="brand-name">${e}</span>`:""}
494
499
  ${r?c`<span class="brand-context">${r}</span>`:""}
495
500
  </div>
496
501
  <slot></slot>
497
- ${i.length?c`<div class="meta" part="meta"> ${i.map(n=>c`
502
+ ${s.length?c`<div class="meta" part="meta"> ${s.map(n=>c`
498
503
  <div class="meta-item"><strong>${n.l}</strong><span>${n.v}</span></div>
499
504
  `)}
500
505
  </div>`:""}
501
- `}};E.styles=[...C,m`:host{background:var(--deck-cover-bg,var(--rik-surface-inverse));justify-content:center;color:var(--deck-cover-text,var(--rik-text-inverse))}.brand{display:inline-flex;align-items:center;gap:var(--rik-space-3);margin-bottom:var(--rik-space-5);align-self:flex-start}.brand-tile{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center}.brand-tile img{width:100%;height:100%;display:block}.brand-name{font-family:var(--rik-font-display,inherit);font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--deck-cover-soft,var(--rik-text-inverse--muted))}.brand-context{font-size:var(--rik-font-size-xs);font-weight:700;color:var(--deck-cover-muted,var(--rik-text-inverse--faint));letter-spacing:0.2em;text-transform:uppercase;padding-left:var(--rik-space-3);border-left:1px solid var(--deck-cover-border,var(--rik-border-inverse))}::slotted(h1){font-size:clamp(3.6rem,9vw,8.5rem);font-weight:900;color:var(--deck-cover-text,var(--rik-text-inverse));line-height:1.02;letter-spacing:-0.035em;margin-bottom:var(--rik-space-4);border:none;padding:0}::slotted(.sub){font-size:var(--rik-font-size-h2);color:var(--deck-cover-muted,var(--rik-text-inverse--faint));margin-bottom:var(--rik-space-6);max-width:60ch;line-height:1.45;display:block}.meta{display:flex;gap:var(--rik-space-6);border-top:1px solid var(--deck-cover-border,var(--rik-border-inverse));padding-top:var(--rik-space-4)}.meta-item strong{display:block;font-size:var(--rik-font-size-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--deck-cover-faint,var(--rik-text-inverse--ghost));margin-bottom:6px;font-weight:700}.meta-item span{color:var(--deck-cover-text,var(--rik-text-inverse));font-size:var(--rik-font-size-body);font-weight:600}`],o([l({type:String})],E.prototype,"brand",2),o([l({type:String,attribute:"brand-src"})],E.prototype,"brandSrc",2),o([l({type:String})],E.prototype,"speaker",2),o([l({type:String})],E.prototype,"company",2),o([l({type:String})],E.prototype,"duration",2),o([l({type:String})],E.prototype,"audience",2),o([l({type:String})],E.prototype,"runtime",2),o([l({type:String,attribute:"speaker-label"})],E.prototype,"speakerLabel",2),o([l({type:String,attribute:"company-label"})],E.prototype,"companyLabel",2),o([l({type:String,attribute:"duration-label"})],E.prototype,"durationLabel",2),o([l({type:String,attribute:"audience-label"})],E.prototype,"audienceLabel",2),o([l({type:String,attribute:"runtime-label"})],E.prototype,"runtimeLabel",2),E=o([u("deck-cover")],E);var le=class extends p{render(){return c`${this.num?c`<div class="sec-num" part="num">${this.num}</div>`:""}
506
+ `}};E.styles=[...P,m`:host{background:var(--deck-cover-bg,var(--rik-surface-inverse));justify-content:center;color:var(--deck-cover-text,var(--rik-text-inverse))}.brand{display:inline-flex;align-items:center;gap:var(--rik-space-3);margin-bottom:var(--rik-space-5);align-self:flex-start}.brand-tile{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center}.brand-tile img{width:100%;height:100%;display:block}.brand-name{font-family:var(--rik-font-display,inherit);font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--deck-cover-soft,var(--rik-text-inverse--muted))}.brand-context{font-size:var(--rik-font-size-xs);font-weight:700;color:var(--deck-cover-muted,var(--rik-text-inverse--faint));letter-spacing:0.2em;text-transform:uppercase;padding-left:var(--rik-space-3);border-left:1px solid var(--deck-cover-border,var(--rik-border-inverse))}::slotted(h1){font-size:clamp(3.6rem,9vw,8.5rem);font-weight:900;color:var(--deck-cover-text,var(--rik-text-inverse));line-height:1.02;letter-spacing:-0.035em;margin-bottom:var(--rik-space-4);border:none;padding:0}::slotted(.sub){font-size:var(--rik-font-size-h2);color:var(--deck-cover-muted,var(--rik-text-inverse--faint));margin-bottom:var(--rik-space-6);max-width:60ch;line-height:1.45;display:block}.meta{display:flex;gap:var(--rik-space-6);border-top:1px solid var(--deck-cover-border,var(--rik-border-inverse));padding-top:var(--rik-space-4)}.meta-item strong{display:block;font-size:var(--rik-font-size-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--deck-cover-faint,var(--rik-text-inverse--ghost));margin-bottom:6px;font-weight:700}.meta-item span{color:var(--deck-cover-text,var(--rik-text-inverse));font-size:var(--rik-font-size-body);font-weight:600}`],o([l({type:String})],E.prototype,"brand",2),o([l({type:String,attribute:"brand-src"})],E.prototype,"brandSrc",2),o([l({type:String})],E.prototype,"speaker",2),o([l({type:String})],E.prototype,"company",2),o([l({type:String})],E.prototype,"duration",2),o([l({type:String})],E.prototype,"audience",2),o([l({type:String})],E.prototype,"runtime",2),o([l({type:String,attribute:"speaker-label"})],E.prototype,"speakerLabel",2),o([l({type:String,attribute:"company-label"})],E.prototype,"companyLabel",2),o([l({type:String,attribute:"duration-label"})],E.prototype,"durationLabel",2),o([l({type:String,attribute:"audience-label"})],E.prototype,"audienceLabel",2),o([l({type:String,attribute:"runtime-label"})],E.prototype,"runtimeLabel",2),E=o([u("deck-cover")],E);var ce=class extends p{render(){return c`${this.num?c`<div class="sec-num" part="num">${this.num}</div>`:""}
502
507
  <slot></slot>
503
- `}};le.styles=[...C,m`:host{background:var(--deck-section-bg,var(--rik-surface-inverse));color:var(--rik-text-inverse);justify-content:center;align-items:center;text-align:center}.sec-num{font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--deck-section-num-color,var(--rik-text-inverse--ghost));margin-bottom:var(--rik-space-3);display:inline-flex;align-items:center;gap:0.8rem;font-family:var(--rik-font-mono)}.sec-num::before,.sec-num::after{content:'';width:32px;height:1px;background:var(--deck-section-rule-color,var(--rik-border-inverse))}::slotted(h1){font-size:var(--rik-font-size-section);font-weight:900;color:var(--deck-section-title-color,var(--rik-accent));line-height:1.02;letter-spacing:-0.03em;max-width:18ch;border:none;padding:0;margin:0;text-align:center;align-self:center}::slotted(h1 em){color:var(--deck-section-em-color,var(--rik-text-inverse--muted));font-style:normal;font-weight:700}`],o([l({type:String})],le.prototype,"num",2),le=o([u("deck-section")],le);var de=class extends p{render(){return c`${this.eyebrow?c`<span class="lbl">${this.eyebrow}</span>`:""}
508
+ `}};ce.styles=[...P,m`:host{background:var(--deck-section-bg,var(--rik-surface-inverse));color:var(--rik-text-inverse);justify-content:center;align-items:center;text-align:center}.sec-num{font-size:var(--rik-font-size-xs);font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--deck-section-num-color,var(--rik-text-inverse--ghost));margin-bottom:var(--rik-space-3);display:inline-flex;align-items:center;gap:0.8rem;font-family:var(--rik-font-mono)}.sec-num::before,.sec-num::after{content:'';width:32px;height:1px;background:var(--deck-section-rule-color,var(--rik-border-inverse))}::slotted(h1){font-size:var(--rik-font-size-section);font-weight:900;color:var(--deck-section-title-color,var(--rik-accent));line-height:1.02;letter-spacing:-0.03em;max-width:18ch;border:none;padding:0;margin:0;text-align:center;align-self:center}::slotted(h1 em){color:var(--deck-section-em-color,var(--rik-text-inverse--muted));font-style:normal;font-weight:700}`],o([l({type:String})],ce.prototype,"num",2),ce=o([u("deck-section")],ce);var pe=class extends p{render(){return c`${this.eyebrow?c`<span class="lbl">${this.eyebrow}</span>`:""}
504
509
  <slot name="title"></slot>
505
510
  <slot name="lead"></slot>
506
511
  <div class="body" part="body"><slot></slot></div>
507
- `}};de.styles=[...C,m`:host{justify-content:flex-start}.body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--rik-space-3);overflow:hidden}::slotted(deck-code:not([nested])),::slotted(deck-mermaid),::slotted(table),::slotted(pre),::slotted(svg),::slotted(.hero-main){max-height:100%;flex:0 1 auto}`],o([l({type:String})],de.prototype,"eyebrow",2),de=o([u("deck-feature")],de);var B=class extends p{_resolveSp(t){let e=parseInt(t,10);return!Number.isNaN(e)&&e>=1&&e<=6?`var(--rik-space-${e})`:t}updated(){this.gap&&this.style.setProperty("--_gap",this._resolveSp(this.gap)),this.colGap&&this.style.setProperty("--_col-gap",this._resolveSp(this.colGap))}render(){let t=this.querySelector('[slot="a"]'),e=this.cols==="3"||!!t;return c`${this.eyebrow?c`<span class="lbl">${this.eyebrow}</span>`:""}
512
+ `}};pe.styles=[...P,m`:host{justify-content:flex-start}.body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--rik-space-3);overflow:hidden}::slotted(deck-code:not([nested])),::slotted(deck-mermaid),::slotted(table),::slotted(pre),::slotted(svg),::slotted(.hero-main){max-height:100%;flex:0 1 auto}`],o([l({type:String})],pe.prototype,"eyebrow",2),pe=o([u("deck-feature")],pe);var Y=class extends p{_resolveSp(t){let e=parseInt(t,10);return!Number.isNaN(e)&&e>=1&&e<=6?`var(--rik-space-${e})`:t}updated(){this.gap&&this.style.setProperty("--_gap",this._resolveSp(this.gap)),this.colGap&&this.style.setProperty("--_col-gap",this._resolveSp(this.colGap))}render(){let t=this.querySelector('[slot="a"]'),e=this.cols==="3"||!!t;return c`${this.eyebrow?c`<span class="lbl">${this.eyebrow}</span>`:""}
508
513
  <slot name="title"></slot>
509
514
  <slot name="lead"></slot>
510
515
  <div class="body" part="body">
511
516
  ${e?c`<div class="col" part="col"><slot name="a"></slot></div> <div class="col" part="col"><slot name="b"></slot></div> <div class="col" part="col"><slot name="c"></slot></div>`:c`<div class="col" part="col"><slot name="left"></slot></div> <div class="col" part="col"><slot name="right"></slot></div>`}
512
517
  </div>
513
- `}};B.styles=[...C,m`:host{justify-content:flex-start}.body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:var(--_gap,var(--deck-split-gap,var(--rik-space-5)))}:host([cols="1-2"]) .body{grid-template-columns:1fr 2fr}:host([cols="2-1"]) .body{grid-template-columns:2fr 1fr}:host([cols="3"]) .body{grid-template-columns:1fr 1fr 1fr;gap:var(--_gap,var(--deck-split-gap,var(--rik-space-4)))}.col{display:flex;flex-direction:column;min-height:0;min-width:0;gap:var(--_col-gap,var(--deck-split-col-gap,var(--rik-space-3)));overflow:hidden}.col.center{justify-content:center}`],o([l({type:String})],B.prototype,"eyebrow",2),o([l({type:String})],B.prototype,"cols",2),o([l({type:String})],B.prototype,"gap",2),o([l({type:String,attribute:"col-gap"})],B.prototype,"colGap",2),B=o([u("deck-split")],B);var ce=class extends p{render(){return c`${this.eyebrow?c`<span class="lbl">${this.eyebrow}</span>`:""}
518
+ `}};Y.styles=[...P,m`:host{justify-content:flex-start}.body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:var(--_gap,var(--deck-split-gap,var(--rik-space-5)))}:host([cols="1-2"]) .body{grid-template-columns:1fr 2fr}:host([cols="2-1"]) .body{grid-template-columns:2fr 1fr}:host([cols="3"]) .body{grid-template-columns:1fr 1fr 1fr;gap:var(--_gap,var(--deck-split-gap,var(--rik-space-4)))}.col{display:flex;flex-direction:column;min-height:0;min-width:0;gap:var(--_col-gap,var(--deck-split-col-gap,var(--rik-space-3)));overflow:hidden}.col.center{justify-content:center}`],o([l({type:String})],Y.prototype,"eyebrow",2),o([l({type:String})],Y.prototype,"cols",2),o([l({type:String})],Y.prototype,"gap",2),o([l({type:String,attribute:"col-gap"})],Y.prototype,"colGap",2),Y=o([u("deck-split")],Y);var he=class extends p{render(){return c`${this.eyebrow?c`<span class="lbl">${this.eyebrow}</span>`:""}
514
519
  <slot name="title"></slot>
515
520
  <slot name="lead"></slot>
516
521
  <div class="hero" part="hero"><slot></slot></div>
@@ -518,22 +523,22 @@ ${s.themeHref?`<link rel="stylesheet" href="${s.themeHref}">`:""}
518
523
  <div class="col"><slot name="left"></slot></div>
519
524
  <div class="col"><slot name="right"></slot></div>
520
525
  </div>
521
- `}};ce.styles=[...C,m`:host{justify-content:flex-start}.hero{flex:var(--deck-feature-cards-hero-flex,1 1 50%);min-height:0;display:flex;flex-direction:column;overflow:hidden}::slotted(deck-code),::slotted(deck-mermaid),::slotted(pre),::slotted(table),::slotted(svg){max-height:100%;flex:1 1 auto}.detail{flex:var(--deck-feature-cards-detail-flex,0 1 40%);min-height:0;margin-top:var(--deck-feature-cards-gap,var(--rik-space-3));display:grid;grid-template-columns:1fr 1fr;gap:var(--deck-feature-cards-col-gap,var(--rik-space-4));overflow:hidden}.col{display:flex;flex-direction:column;gap:var(--rik-space-2);min-width:0;min-height:0;overflow:hidden}`],o([l({type:String})],ce.prototype,"eyebrow",2),ce=o([u("deck-feature-cards")],ce);var O=class extends p{updated(){this.position&&this.style.setProperty("--_pos",this.position),typeof this.darken=="number"&&this.style.setProperty("--_dim",String(this.darken));let t=this.align==="top"?"flex-start":this.align==="bottom"?"flex-end":"center";if(this.style.setProperty("--_align",t),this.textAlign){this.style.setProperty("--_text-align",this.textAlign);let e=this.textAlign==="center"?"center":this.textAlign==="right"?"flex-end":"flex-start";this.style.setProperty("--_text-align-items",e)}}render(){let t=this.src?`background-image: url("${this.src.replace(/"/g,"%22")}")`:"";return c`<div class="bg" part="bg" style=${t}></div> <div class="overlay" part="overlay"></div> <div class="content" part="content"><slot></slot></div>`}};O.styles=[tt,m`:host{padding:0;color:var(--deck-photo-text-color,var(--rik-text-inverse));overflow:hidden}.bg{position:absolute;inset:0;background-size:cover;background-position:var(--_pos,center);background-repeat:no-repeat}.overlay{position:absolute;inset:0;background:var(--deck-photo-overlay-color,rgba(0,0,0,var(--_dim,0.35)))}.content{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--rik-space-3);padding:var(--deck-photo-padding-y,var(--rik-slide-padding-y)) var(--deck-photo-padding-x,var(--rik-slide-padding-x));width:100%;height:100%;max-width:100%;box-sizing:border-box;justify-content:var(--_align,center);text-align:var(--_text-align,left);align-items:var(--_text-align-items,flex-start)}.content > *{max-width:var(--deck-photo-content-max-width,36ch)}::slotted(h1){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:clamp(2.5rem,6vw,5.5rem);font-weight:900;letter-spacing:-0.035em;line-height:1.02;color:var(--deck-photo-text-color,var(--rik-text-inverse));margin:0;text-shadow:0 2px 16px rgba(0,0,0,0.35)}::slotted(h2){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:clamp(1.6rem,3vw,2.6rem);font-weight:800;letter-spacing:-0.025em;line-height:1.1;color:var(--deck-photo-text-color,var(--rik-text-inverse));margin:0;text-shadow:0 2px 12px rgba(0,0,0,0.35)}::slotted(p),::slotted(.sub){font-size:var(--rik-font-size-lead);color:var(--deck-photo-text-muted,var(--rik-text-inverse--muted));line-height:1.5;margin:0;text-shadow:0 1px 8px rgba(0,0,0,0.35)}::slotted(.kicker){font:700 var(--rik-font-size-xs)/1 var(--rik-font-mono);letter-spacing:0.18em;text-transform:uppercase;color:var(--deck-photo-text-muted,var(--rik-text-inverse--muted));margin:0}`],o([l({type:String})],O.prototype,"src",2),o([l({type:String})],O.prototype,"position",2),o([l({type:Number})],O.prototype,"darken",2),o([l({type:String})],O.prototype,"align",2),o([l({type:String,attribute:"text-align"})],O.prototype,"textAlign",2),O=o([u("deck-photo")],O);var pe=class extends p{render(){return c`<div class="body" part="body"> ${this.kicker?c`<span class="kicker on-dark">${this.kicker}</span>`:""}
526
+ `}};he.styles=[...P,m`:host{justify-content:flex-start}.hero{flex:var(--deck-feature-cards-hero-flex,1 1 50%);min-height:0;display:flex;flex-direction:column;overflow:hidden}::slotted(deck-code),::slotted(deck-mermaid),::slotted(pre),::slotted(table),::slotted(svg){max-height:100%;flex:1 1 auto}.detail{flex:var(--deck-feature-cards-detail-flex,0 1 40%);min-height:0;margin-top:var(--deck-feature-cards-gap,var(--rik-space-3));display:grid;grid-template-columns:1fr 1fr;gap:var(--deck-feature-cards-col-gap,var(--rik-space-4));overflow:hidden}.col{display:flex;flex-direction:column;gap:var(--rik-space-2);min-width:0;min-height:0;overflow:hidden}`],o([l({type:String})],he.prototype,"eyebrow",2),he=o([u("deck-feature-cards")],he);var R=class extends p{updated(){this.position&&this.style.setProperty("--_pos",this.position),typeof this.darken=="number"&&this.style.setProperty("--_dim",String(this.darken));let t=this.align==="top"?"flex-start":this.align==="bottom"?"flex-end":"center";if(this.style.setProperty("--_align",t),this.textAlign){this.style.setProperty("--_text-align",this.textAlign);let e=this.textAlign==="center"?"center":this.textAlign==="right"?"flex-end":"flex-start";this.style.setProperty("--_text-align-items",e)}}render(){let t=this.src?`background-image: url("${this.src.replace(/"/g,"%22")}")`:"";return c`<div class="bg" part="bg" style=${t}></div> <div class="overlay" part="overlay"></div> <div class="content" part="content"><slot></slot></div>`}};R.styles=[at,m`:host{padding:0;color:var(--deck-photo-text-color,var(--rik-text-inverse));overflow:hidden}.bg{position:absolute;inset:0;background-size:cover;background-position:var(--_pos,center);background-repeat:no-repeat}.overlay{position:absolute;inset:0;background:var(--deck-photo-overlay-color,rgba(0,0,0,var(--_dim,0.35)))}.content{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--rik-space-3);padding:var(--deck-photo-padding-y,var(--rik-slide-padding-y)) var(--deck-photo-padding-x,var(--rik-slide-padding-x));width:100%;height:100%;max-width:100%;box-sizing:border-box;justify-content:var(--_align,center);text-align:var(--_text-align,left);align-items:var(--_text-align-items,flex-start)}.content > *{max-width:var(--deck-photo-content-max-width,36ch)}::slotted(h1){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:clamp(2.5rem,6vw,5.5rem);font-weight:900;letter-spacing:-0.035em;line-height:1.02;color:var(--deck-photo-text-color,var(--rik-text-inverse));margin:0;text-shadow:0 2px 16px rgba(0,0,0,0.35)}::slotted(h2){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:clamp(1.6rem,3vw,2.6rem);font-weight:800;letter-spacing:-0.025em;line-height:1.1;color:var(--deck-photo-text-color,var(--rik-text-inverse));margin:0;text-shadow:0 2px 12px rgba(0,0,0,0.35)}::slotted(p),::slotted(.sub){font-size:var(--rik-font-size-lead);color:var(--deck-photo-text-muted,var(--rik-text-inverse--muted));line-height:1.5;margin:0;text-shadow:0 1px 8px rgba(0,0,0,0.35)}::slotted(.kicker){font:700 var(--rik-font-size-xs)/1 var(--rik-font-mono);letter-spacing:0.18em;text-transform:uppercase;color:var(--deck-photo-text-muted,var(--rik-text-inverse--muted));margin:0}`],o([l({type:String})],R.prototype,"src",2),o([l({type:String})],R.prototype,"position",2),o([l({type:Number})],R.prototype,"darken",2),o([l({type:String})],R.prototype,"align",2),o([l({type:String,attribute:"text-align"})],R.prototype,"textAlign",2),R=o([u("deck-photo")],R);var me=class extends p{render(){return c`<div class="body" part="body"> ${this.kicker?c`<span class="kicker on-dark">${this.kicker}</span>`:""}
522
527
  <slot></slot>
523
528
  </div>
524
- `}};pe.styles=[...C,m`:host{background:var(--deck-takeaway-bg,var(--rik-surface-inverse));color:var(--rik-text-inverse);justify-content:center;align-items:center;text-align:center}.body{display:flex;flex-direction:column;align-items:center;gap:var(--deck-takeaway-gap,var(--rik-space-4));max-width:75vw}::slotted(.display){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:clamp(3rem,7vw,5.5rem);font-weight:900;color:var(--deck-takeaway-display-color,var(--rik-accent));letter-spacing:-0.03em;line-height:1.05;margin:0}::slotted(.display.danger){color:var(--rik-status-danger)}::slotted(.caption){font-size:var(--rik-font-size-lead);color:var(--deck-takeaway-caption-color,var(--rik-text-inverse--faint))}`],o([l({type:String})],pe.prototype,"kicker",2),pe=o([u("deck-takeaway")],pe);import{marked as jt}from"https://cdn.jsdelivr.net/npm/marked@12/+esm";jt.setOptions({gfm:!0,breaks:!1});var he=class extends p{constructor(){super(...arguments);this._html=""}connectedCallback(){super.connectedCallback(),this._parse()}_parse(){let e=this.textContent??"",r=e.split(`
525
- `),i=r.filter(n=>n.trim().length>0).reduce((n,d)=>Math.min(n,d.match(/^ */)?.[0].length??0),1/0),a=i===1/0?e:r.map(n=>n.slice(i)).join(`
526
- `);this._html=jt.parse(a.trim()),this.textContent=""}render(){return c`<div class="content" .innerHTML="${this._html}"></div>`}};he.styles=m`:host{display:block;color:var(--rik-text-default--muted);font-family:var(--rik-font-sans)}h1,h2,h3,h4{color:var(--rik-text-default);font-weight:700;letter-spacing:-0.01em}h2{font-size:var(--rik-font-size-h2);margin-bottom:var(--rik-space-2)}h3{font-size:var(--rik-font-size-lead);margin-bottom:var(--rik-space-2);margin-top:var(--rik-space-3)}h4{font-size:var(--rik-font-size-body);margin-bottom:var(--rik-space-1);margin-top:var(--rik-space-3)}p{font-size:var(--rik-font-size-body);line-height:1.65;margin:0 0 var(--rik-space-3)}p:last-child{margin-bottom:0}strong{color:var(--rik-text-default);font-weight:700}em{font-style:italic}code{font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono-sm);background:var(--rik-surface-tint);padding:2px 6px;border-radius:var(--rik-radius-sm);color:var(--rik-text-default)}pre{background:var(--deck-md-pre-bg,var(--rik-code__bg));border:1px solid var(--deck-md-pre-border,var(--rik-code__border));border-radius:var(--rik-radius-md);padding:var(--rik-space-3) var(--rik-space-4);overflow:auto;font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono);line-height:1.75;color:var(--deck-md-pre-text,var(--rik-code__text));margin:0 0 var(--rik-space-3);box-shadow:var(--rik-elevation-2)}pre code{background:none;padding:0;color:inherit;border-radius:0}ul,ol{padding-left:1.4rem;margin:0 0 var(--rik-space-3)}li{margin-bottom:var(--rik-space-1);font-size:var(--rik-font-size-body);line-height:1.55}li::marker{color:var(--rik-accent)}a{color:var(--rik-accent);text-decoration:underline;text-decoration-thickness:1px}blockquote{border-left:3px solid var(--rik-accent);padding:var(--rik-space-1) var(--rik-space-3);color:var(--rik-text-default--faint);font-style:italic;margin:0 0 var(--rik-space-3)}hr{border:none;border-top:1px solid var(--rik-border-default);margin:var(--rik-space-4) 0}.content{display:contents}`,o([N()],he.prototype,"_html",2),he=o([u("deck-md")],he);function Sr(s,t){let e=s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),r=[],i=(d,h)=>{let v="P"+r.length+"E";return r.push('<span class="'+d+'">'+h+"</span>"),v};return t==="html"||t==="xml"||t==="svg"?(e=e.replace(/(&lt;!--[\s\S]*?--&gt;)/g,d=>i("cmt",d)),e=e.replace(/(&lt;!doctype[^&]*&gt;)/gi,d=>i("cmt",d)),e=e.replace(/("[^"]*"|'[^']*')/g,d=>i("str",d)),e=e.replace(/(&lt;\/?)([a-zA-Z][a-zA-Z0-9:-]*)/g,(d,h,v)=>h+i("kw",v)),e=e.replace(/\b([a-zA-Z][a-zA-Z0-9-]*)(?==)/g,d=>i("prop",d))):t==="css"||t==="scss"||t==="less"?(e=e.replace(/(\/\*[\s\S]*?\*\/)/g,d=>i("cmt",d)),e=e.replace(/("[^"]*"|'[^']*')/g,d=>i("str",d)),e=e.replace(/([a-zA-Z-]+)(?=\s*:)/g,d=>i("prop",d)),e=e.replace(/(#[0-9a-fA-F]{3,8})\b/g,d=>i("num",d)),e=e.replace(/\b(\d+(?:\.\d+)?)(px|rem|em|%|vh|vw|vmin|vmax|s|ms|deg)?/g,(d,h,v)=>i("num",h+(v??"")))):(e=e.replace(/(\/\/[^\n]*)/g,d=>i("cmt",d)),e=e.replace(/(['"`])((?:\\.|(?!\1)[^\\])*)\1/g,d=>i("str",d)),e=e.replace(/\b(const|let|var|function|return|if|else|for|while|class|extends|new|export|import|from|as|await|async|of|in|typeof|instanceof|true|false|null|undefined)\b/g,d=>i("kw",d)),e=e.replace(/\b(\d+(?:\.\d+)?)\b/g,d=>i("num",d))),e=e.replace(/P(\d+)E/g,(d,h)=>r[+h]??""),e}var U=class extends p{constructor(){super(...arguments);this.lang="";this.hero=!1;this.nested=!1;this._html="";this._groups=null}connectedCallback(){super.connectedCallback(),this._highlight();try{this._groups=JSON.parse(this.getAttribute("step-groups")??"null")}catch{this._groups=null}}_highlight(){let r=(this.textContent??"").split(`
527
- `);for(;r.length&&!r[0].trim();)r.shift();for(;r.length&&!r[r.length-1].trim();)r.pop();let i=r.filter(n=>n.trim().length>0).reduce((n,d)=>Math.min(n,d.match(/^ */)?.[0].length??0),1/0),a=i===1/0?r:r.map(n=>n.slice(i));this._html=a.map((n,d)=>'<span class="line" data-line="'+(d+1)+'">'+Sr(n||" ",this.lang)+"</span>").join("")}applyStep(e){if(!this._groups)return;let r=this.shadowRoot?.querySelectorAll(".line");if(r)if(e===0)r.forEach(i=>i.classList.remove("dim","lit"));else{let i=this._groups[Math.min(e-1,this._groups.length-1)]??[];r.forEach(a=>{let n=parseInt(a.dataset.line??"0",10);a.classList.toggle("lit",i.includes(n)),a.classList.toggle("dim",!i.includes(n))})}}render(){return c`<pre><code .innerHTML="${this._html}"></code></pre>`}};U.styles=m`:host{display:block;background:var(--deck-code-bg,var(--rik-code__bg));border:1px solid var(--deck-code-border,var(--rik-code__border));border-radius:var(--deck-code-radius,var(--rik-radius-md));padding:var(--deck-code-padding-y,var(--rik-space-3)) var(--deck-code-padding-x,var(--rik-space-4));font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono);line-height:1.7;color:var(--deck-code-text,var(--rik-code__text));box-shadow:var(--rik-elevation-2);overflow:auto;white-space:pre}:host([hero]){display:flex;align-items:safe center;padding:var(--rik-space-4) var(--rik-space-5)}:host([nested]){box-shadow:none;border-radius:var(--rik-radius-sm);padding:var(--rik-space-2) var(--rik-space-3)}pre{margin:0;font:inherit;color:inherit}code{display:block;width:100%;font:inherit;color:inherit}.line{transition:opacity 0.25s ease;display:block}.line.dim{opacity:0.25}.line.lit{opacity:1}.kw{color:var(--deck-code-syntax-kw,var(--rik-code__syntax-keyword))}.fn{color:var(--deck-code-syntax-fn,var(--rik-code__syntax-function))}.str{color:var(--deck-code-syntax-str,var(--rik-code__syntax-string))}.num{color:var(--deck-code-syntax-num,var(--rik-code__syntax-number))}.cmt{color:var(--deck-code-syntax-cmt,var(--rik-code__syntax-comment));font-style:italic}.ty{color:var(--deck-code-syntax-ty,var(--rik-code__syntax-type))}.prop{color:var(--deck-code-syntax-prop,var(--rik-code__syntax-property))}`,o([l({type:String})],U.prototype,"lang",2),o([l({type:Boolean,reflect:!0})],U.prototype,"hero",2),o([l({type:Boolean,reflect:!0})],U.prototype,"nested",2),o([l({type:String,attribute:"step-groups"})],U.prototype,"stepGroups",2),o([N()],U.prototype,"_html",2),U=o([u("deck-code")],U);var Bt={info:'<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>',warn:'<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/>',danger:'<circle cx="12" cy="12" r="10"/><path d="M12 8v4"/><path d="M12 16h.01"/>',ok:'<path d="M20 6 9 17l-5-5"/>'},me=class extends p{render(){let t=this.type??"info",e=Bt[t]??Bt.info;return c`<div class="icon-box"> <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" .innerHTML="${e}"></svg> </div> <div class="content"><slot></slot></div>`}};me.styles=m`:host{display:flex;gap:var(--rik-space-3);padding:var(--deck-callout-padding-y,var(--rik-space-3)) var(--deck-callout-padding-x,var(--rik-space-4));border-radius:var(--deck-callout-radius,var(--rik-radius-md));background:var(--deck-callout-bg,var(--rik-status-info__bg--mid));border:1px solid var(--deck-callout-border,var(--rik-status-info__border));box-shadow:var(--rik-elevation-2);align-items:center;color:var(--rik-text-default--muted);font-family:var(--rik-font-sans);font-size:var(--rik-font-size-body);line-height:1.55}:host([type="info"]){--deck-callout-bg:var(--rik-status-info__bg--mid);--deck-callout-border:var(--rik-status-info__border);--deck-callout-stroke:var(--rik-accent)}:host([type="warn"]){--deck-callout-bg:var(--rik-status-warn__bg);--deck-callout-border:var(--rik-status-warn__border);--deck-callout-stroke:var(--rik-status-warn)}:host([type="danger"]){--deck-callout-bg:var(--rik-status-danger__bg);--deck-callout-border:var(--rik-status-danger__border);--deck-callout-stroke:var(--rik-status-danger)}:host([type="ok"]){--deck-callout-bg:var(--rik-status-success__bg);--deck-callout-border:var(--rik-status-success__border);--deck-callout-stroke:var(--rik-status-success)}.icon-box{flex-shrink:0;width:var(--rik-icon-2xl);height:var(--rik-icon-2xl);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--rik-surface-tint)}.icon-box svg{width:var(--rik-icon-lg);height:var(--rik-icon-lg);stroke:var(--deck-callout-stroke,var(--rik-accent));stroke-width:2.2}.content{flex:1}::slotted(p){margin:0}::slotted(strong){color:var(--rik-text-default);font-weight:700}::slotted(code){font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono-sm);background:var(--rik-surface-tint);padding:2px 6px;border-radius:var(--rik-radius-sm);color:var(--rik-text-default)}`,o([l({type:String})],me.prototype,"type",2),me=o([u("deck-callout")],me);var G=class extends p{constructor(){super(...arguments);this.center=!1;this.compact=!1}render(){return c`<slot></slot>`}};G.styles=m`:host{display:flex;flex-direction:column;gap:var(--deck-card-gap,var(--rik-space-2));background:var(--deck-card-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-card-border,var(--rik-border-default));border-radius:var(--deck-card-radius,var(--rik-radius-lg));padding:var(--deck-card-padding-y,var(--rik-space-3)) var(--deck-card-padding-x,var(--rik-space-4));box-shadow:var(--deck-card-shadow,var(--rik-elevation-2));min-height:0;font-family:var(--rik-font-sans);color:var(--deck-card-text,var(--rik-text-default--muted))}:host([color="yellow"]){background:var(--deck-card-bg,var(--rik-status-info__bg));border:4px solid var(--deck-card-border,var(--rik-status-info__border))}:host([color="orange"]){background:var(--deck-card-bg,var(--rik-status-warn__bg));border:4px solid var(--deck-card-border,var(--rik-status-warn__border))}:host([color="green"]){background:var(--deck-card-bg,var(--rik-status-success__bg));border:4px solid var(--deck-card-border,var(--rik-status-success__border))}:host([color="red"]){background:var(--deck-card-bg,var(--rik-status-danger__bg));border:4px solid var(--deck-card-border,var(--rik-status-danger__border))}::slotted(h3){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:var(--rik-font-size-h2);font-weight:700;color:var(--deck-card-title-color,var(--rik-text-default));letter-spacing:-0.01em;line-height:1.25;margin:0}::slotted(p){font-size:var(--rik-font-size-body);line-height:1.55;margin:0}::slotted(strong){color:var(--rik-text-default);font-weight:700}:host([center]){text-align:center;align-items:center}:host([compact]){padding:var(--rik-space-2) var(--rik-space-3)}`,o([l({type:String})],G.prototype,"color",2),o([l({type:Boolean})],G.prototype,"center",2),o([l({type:Boolean})],G.prototype,"compact",2),G=o([u("deck-card")],G);var qt=!1;async function Ar(){qt||(window.mermaid||await new Promise((s,t)=>{let e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js",e.onload=()=>s(),e.onerror=()=>t(new Error("mermaid failed to load")),document.head.appendChild(e)}),window.mermaid.initialize({startOnLoad:!1,theme:"dark",themeVariables:{background:"#0f0f10",mainBkg:"#2a2a2a",nodeBorder:"#555",lineColor:"#777",textColor:"#e5e5e5",fontSize:"13px",edgeLabelBackground:"#111"},flowchart:{curve:"basis",htmlLabels:!0,padding:12},securityLevel:"loose"}),qt=!0)}var Tr=0,te=class extends p{constructor(){super(...arguments);this.rendered=!1;this._svg="";this._source=""}connectedCallback(){super.connectedCallback(),this._source=(this.textContent??"").trim();let e=this._source.split(`
528
- `),r=e.filter(i=>i.trim()).reduce((i,a)=>Math.min(i,a.match(/^ */)?.[0].length??0),1/0);r<1/0&&(this._source=e.map(i=>i.slice(r)).join(`
529
- `)),this._render()}async _render(){if(!this._source)return;await Ar();let e=`mmd-${++Tr}`;try{let{svg:r}=await window.mermaid.render(e,this._source);this._svg=r,this.rendered=!0}catch(r){console.error("Mermaid render error",r);let i=r instanceof Error?r.message:String(r);this._svg=`<pre style="color:#f87171">${i}</pre>`}}render(){return c`<div class="canvas" .innerHTML="${this._svg}"></div>`}};te.styles=m`:host{display:flex;align-items:center;justify-content:center;background:var(--deck-mermaid-bg,var(--rik-code__bg));border:1px solid var(--deck-mermaid-border,var(--rik-code__border));border-radius:var(--deck-mermaid-radius,var(--rik-radius-md));padding:var(--deck-mermaid-padding,var(--rik-space-4));box-shadow:var(--rik-elevation-2);overflow:hidden;min-width:0}:host([compact]){padding:var(--rik-space-2)}.canvas{width:100%;max-width:100%;text-align:center;overflow:hidden}.canvas svg{width:100% !important;height:auto !important;max-width:100% !important;max-height:60vh}:host([compact]) .canvas{max-width:60%}:host([compact]) .canvas svg{max-height:22vh}`,o([l({type:Boolean,reflect:!0})],te.prototype,"rendered",2),o([N()],te.prototype,"_svg",2),te=o([u("deck-mermaid")],te);var Ee=class extends p{render(){return c`<slot></slot>`}};Ee.styles=m`:host{display:flex;flex-direction:column;gap:var(--rik-space-2xs)}`,Ee=o([u("deck-step-list")],Ee);var re=class extends p{render(){return c`<span class="step-num">${this.n}</span> <span class="label"><slot></slot></span> ${this.note?c`<span class="chip">${this.note}</span>`:""}
530
- `}};re.styles=m`:host{display:flex;align-items:center;gap:var(--rik-space-3);background:var(--deck-step-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-step-border,var(--rik-border-default));border-radius:var(--deck-step-radius,var(--rik-radius-md));padding:var(--deck-step-padding-y,var(--rik-space-2xs)) var(--deck-step-padding-x,var(--rik-space-3));box-shadow:var(--deck-step-shadow,var(--rik-elevation-2));font-family:var(--rik-font-sans);font-size:var(--rik-font-size-body)}.step-num{flex:0 0 auto;width:var(--deck-step-num-size,var(--rik-icon-sm));height:var(--deck-step-num-size,var(--rik-icon-sm));display:inline-flex;align-items:center;justify-content:center;background:var(--deck-step-num-bg,var(--rik-accent));color:var(--deck-step-num-color,var(--rik-accent__on,var(--rik-surface-inverse)));border-radius:50%;font:700 var(--rik-font-size-xs)/1 var(--rik-font-sans)}.label{flex:1;font-family:var(--rik-font-mono);font-weight:600;color:var(--deck-step-label-color,var(--rik-text-default))}.chip{flex:0 0 auto;display:inline-block;padding:2px var(--rik-space-2);background:var(--deck-step-chip-bg,var(--rik-surface-tint));color:var(--deck-step-chip-color,var(--rik-text-default--faint));border-radius:var(--rik-radius-pill);font:600 var(--rik-font-size-sm)/1.4 var(--rik-font-sans)}`,o([l({type:String})],re.prototype,"n",2),o([l({type:String})],re.prototype,"note",2),re=o([u("deck-step")],re);var $e=class extends p{render(){return c`<slot></slot>`}};$e.styles=m`:host{display:flex;flex-direction:column;gap:var(--rik-space-2)}`,$e=o([u("deck-metric-list")],$e);var K=class extends p{constructor(){super(...arguments);this.mono=!1}render(){return c`<span class="label ${this.mono?"mono":""}"><slot></slot></span> <span class="value" data-severity="${this.severity??""}">${this.value}</span>`}};K.styles=m`:host{display:flex;justify-content:space-between;align-items:center;background:var(--deck-metric-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-metric-border,var(--rik-border-default));border-radius:var(--deck-metric-radius,var(--rik-radius-md));padding:var(--deck-metric-padding-y,var(--rik-space-2)) var(--deck-metric-padding-x,var(--rik-space-4));font-family:var(--rik-font-sans);font-size:var(--rik-font-size-body);color:var(--deck-metric-text,var(--rik-text-default--muted));box-shadow:var(--deck-metric-shadow,var(--rik-elevation-2))}.label{font-family:inherit}.label.mono{font-family:var(--rik-font-mono);font-size:var(--rik-font-size-sm);color:var(--deck-metric-label-color,var(--rik-text-default--faint))}.value{font-weight:700}.value[data-severity="bad"]{color:var(--deck-metric-value-bad,var(--rik-status-danger))}.value[data-severity="warn"]{color:var(--deck-metric-value-warn,var(--rik-status-warn))}.value[data-severity="ok"]{color:var(--deck-metric-value-ok,var(--rik-status-success))}.value[data-severity="info"]{color:var(--deck-metric-value-info,var(--rik-status-info__text))}`,o([l({type:String})],K.prototype,"value",2),o([l({type:String})],K.prototype,"severity",2),o([l({type:Boolean})],K.prototype,"mono",2),K=o([u("deck-metric")],K);var Se=class extends p{render(){return c`<slot></slot>`}};Se.styles=m`:host{display:flex;flex-direction:column;gap:var(--rik-space-2xs)}`,Se=o([u("deck-tier-list")],Se);var q=class extends p{constructor(){super(...arguments);this.hot=!1}render(){return c`<div class="head"> <span class="name">${this.name}</span> <span class="speed" data-severity="${this.severity??(this.hot?"hot":"")}">${this.speed}</span> </div> <div class="desc"><slot></slot></div>`}};q.styles=m`:host{display:flex;flex-direction:column;gap:var(--rik-space-hair);background:var(--deck-tier-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-tier-border,var(--rik-border-default));border-radius:var(--deck-tier-radius,var(--rik-radius-md));padding:var(--deck-tier-padding-y,var(--rik-space-2)) var(--deck-tier-padding-x,var(--rik-space-4));box-shadow:var(--deck-tier-shadow,var(--rik-elevation-2));font-family:var(--rik-font-sans)}:host([hot]){border-color:var(--deck-tier-hot-border,var(--rik-status-info__border));background:var(--deck-tier-hot-bg,var(--rik-status-info__bg))}.head{display:flex;justify-content:space-between;align-items:baseline}.name{font:700 var(--rik-font-size-body)/1 var(--rik-font-mono);color:var(--deck-tier-name-color,var(--rik-text-default))}:host([hot]) .name{color:var(--deck-tier-hot-color,var(--rik-accent))}.speed{font:700 var(--rik-font-size-body)/1 var(--rik-font-mono)}.speed[data-severity="muted"]{color:var(--deck-tier-speed-muted,var(--rik-text-default--faint))}.speed[data-severity="warn"]{color:var(--deck-tier-speed-warn,var(--rik-status-warn))}.speed[data-severity="ok"]{color:var(--deck-tier-speed-ok,var(--rik-status-success))}:host([hot]) .speed{color:var(--deck-tier-hot-color,var(--rik-accent))}.desc{font-size:var(--rik-font-size-sm);color:var(--deck-tier-desc-color,var(--rik-text-default--faint));line-height:1.4}`,o([l({type:String})],q.prototype,"name",2),o([l({type:String})],q.prototype,"speed",2),o([l({type:String})],q.prototype,"severity",2),o([l({type:Boolean,reflect:!0})],q.prototype,"hot",2),q=o([u("deck-tier")],q);var Ae=class extends p{render(){return c`<slot></slot>`}};Ae.styles=m`:host{display:block;text-align:center;color:var(--rik-text-default--faint);opacity:var(--rik-opacity-soft);font-size:var(--rik-font-size-xs);padding:2px 0}`,Ae=o([u("deck-tier-arrow")],Ae);var ve=class extends p{render(){return c`<slot></slot>`}};ve.styles=m`:host{display:inline-block;padding:var(--deck-badge-padding-y,var(--rik-space-1)) var(--deck-badge-padding-x,var(--rik-space-3));margin-bottom:var(--rik-space-2);font:700 var(--rik-font-size-xs)/1.2 var(--rik-font-sans);letter-spacing:0.1em;text-transform:uppercase;border-radius:var(--deck-badge-radius,var(--rik-radius-pill));background:var(--deck-badge-bg,var(--rik-surface-tint));color:var(--deck-badge-fg,var(--rik-text-default--faint));border:1px solid var(--deck-badge-border,var(--rik-border-default))}:host([type="bad"]){--deck-badge-bg:var(--rik-status-danger__bg);--deck-badge-fg:var(--rik-status-danger);--deck-badge-border:var(--rik-status-danger__border)}:host([type="ok"]){--deck-badge-bg:var(--rik-status-success__bg);--deck-badge-fg:var(--rik-status-success);--deck-badge-border:var(--rik-status-success__border)}:host([type="info"]){--deck-badge-bg:var(--rik-status-info__bg--strong);--deck-badge-fg:var(--rik-status-info__text);--deck-badge-border:var(--rik-status-info__border)}:host([type="warn"]){--deck-badge-bg:var(--rik-status-warn__bg);--deck-badge-fg:var(--rik-status-warn);--deck-badge-border:var(--rik-status-warn__border)}`,o([l({type:String})],ve.prototype,"type",2),ve=o([u("deck-badge")],ve);var rt=class extends p{static{this.styles=m`:host{display:block;font:700 var(--deck-kicker-font-size,var(--rik-font-size-xs))/1.2 var(--rik-font-sans);letter-spacing:var(--deck-kicker-tracking,0.14em);text-transform:uppercase;color:var(--deck-kicker-color,var(--rik-text-default--faint));margin-bottom:var(--deck-kicker-margin,var(--rik-space-2))}:host([on-dark]){color:var(--deck-kicker-on-dark-color,var(--rik-text-inverse--faint))}`}render(){return c`<slot></slot>`}};customElements.define("deck-kicker",rt);var Lr={start:"flex-start",center:"center",end:"flex-end",between:"space-between",around:"space-around"},zr={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"},Y=class extends p{updated(){if(this.gap){let t=parseInt(this.gap,10);!Number.isNaN(t)&&t>=1&&t<=6?this.style.setProperty("--_gap",`var(--rik-space-${t})`):this.style.setProperty("--_gap",this.gap)}else this.style.removeProperty("--_gap");this.style.setProperty("--_dir",this.direction==="row"?"row":"column"),this.align&&this.style.setProperty("--_align",zr[this.align]??this.align),this.justify&&this.style.setProperty("--_justify",Lr[this.justify]??this.justify)}render(){return c`<slot></slot>`}};Y.styles=m`:host{display:flex;flex-direction:var(--_dir,column);gap:var(--_gap,var(--deck-stack-gap,var(--rik-space-3)));align-items:var(--_align,stretch);justify-content:var(--_justify,flex-start);min-width:0;min-height:0}:host([fill]){flex:1 1 auto}`,o([l({type:String})],Y.prototype,"gap",2),o([l({type:String})],Y.prototype,"direction",2),o([l({type:String})],Y.prototype,"align",2),o([l({type:String})],Y.prototype,"justify",2),Y=o([u("deck-stack")],Y);var Yt={start:"start",center:"center",end:"end",stretch:"stretch"};function Wt(s){if(!s)return null;let t=parseInt(s,10);return!Number.isNaN(t)&&String(t)===s.trim()&&t>=1&&t<=12?`repeat(${t}, minmax(0, 1fr))`:s}function Mr(s){if(!s)return null;let t=parseInt(s,10);return!Number.isNaN(t)&&t>=1&&t<=6?`var(--rik-space-${t})`:s}var R=class extends p{updated(){let t=Wt(this.cols),e=Wt(this.rows),r=Mr(this.gap);t&&this.style.setProperty("--_cols",t),e&&this.style.setProperty("--_rows",e),r&&this.style.setProperty("--_gap",r),this.align&&this.style.setProperty("--_align",Yt[this.align]??this.align),this.justify&&this.style.setProperty("--_justify",Yt[this.justify]??this.justify)}render(){return c`<slot></slot>`}};R.styles=m`:host{display:grid;grid-template-columns:var(--_cols,1fr);grid-template-rows:var(--_rows,auto);gap:var(--_gap,var(--deck-grid-gap,var(--rik-space-3)));align-items:var(--_align,stretch);justify-items:var(--_justify,stretch);min-width:0;min-height:0}:host([fill]){flex:1 1 auto;height:100%}`,o([l({type:String})],R.prototype,"cols",2),o([l({type:String})],R.prototype,"rows",2),o([l({type:String})],R.prototype,"gap",2),o([l({type:String})],R.prototype,"align",2),o([l({type:String})],R.prototype,"justify",2),R=o([u("deck-grid")],R);var Vt={warn:"var(--rik-status-warn)",danger:"var(--rik-status-danger)",ok:"var(--rik-status-success)",info:"var(--rik-accent)",muted:"var(--rik-text-default--faint)",accent:"var(--rik-accent)"},Xt={lead:"var(--rik-font-size-lead)",big:"var(--rik-font-size-big)",mega:"var(--rik-font-size-mega)",stat:"var(--rik-font-size-stat)",display:"clamp(2.6rem, 6vw, 5rem)"},W=class extends p{updated(){this.tone&&Vt[this.tone]?this.style.setProperty("--_color",Vt[this.tone]):this.style.removeProperty("--_color"),this.size&&Xt[this.size]?this.style.setProperty("--_size",Xt[this.size]):this.style.removeProperty("--_size")}render(){return c`<slot></slot>`}};W.styles=m`:host{display:block;margin:0;font-family:var(--rik-font-display,var(--rik-font-sans));font-weight:900;line-height:1.1;letter-spacing:-0.02em;font-size:var(--deck-punch-size,var(--_size,var(--rik-font-size-lead)));color:var(--deck-punch-color,var(--_color,inherit))}:host([weight="700"]){font-weight:700}:host([weight="800"]){font-weight:800}:host([align="center"]){text-align:center}:host([align="right"]){text-align:right}`,o([l({type:String})],W.prototype,"tone",2),o([l({type:String})],W.prototype,"size",2),o([l({type:String,reflect:!0})],W.prototype,"weight",2),o([l({type:String,reflect:!0})],W.prototype,"align",2),W=o([u("deck-punch")],W);var Hr={yellow:"var(--rik-accent)",orange:"var(--rik-status-warn)",green:"var(--rik-status-success)",red:"var(--rik-status-danger)",purple:"var(--rik-decor-orchid)",lime:"var(--rik-decor-lime)",cyan:"var(--rik-decor-canary)"},ie=class extends p{updated(){this.tone?this.style.setProperty("--_c",Hr[this.tone]??this.tone):this.style.removeProperty("--_c")}render(){return c`${this.num?c`<div class="num" part="num">${this.num}</div>`:""}
529
+ `}};me.styles=[...P,m`:host{background:var(--deck-takeaway-bg,var(--rik-surface-inverse));color:var(--rik-text-inverse);justify-content:center;align-items:center;text-align:center}.body{display:flex;flex-direction:column;align-items:center;gap:var(--deck-takeaway-gap,var(--rik-space-4));max-width:75vw}::slotted(.display){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:clamp(3rem,7vw,5.5rem);font-weight:900;color:var(--deck-takeaway-display-color,var(--rik-accent));letter-spacing:-0.03em;line-height:1.05;margin:0}::slotted(.display.danger){color:var(--rik-status-danger)}::slotted(.caption){font-size:var(--rik-font-size-lead);color:var(--deck-takeaway-caption-color,var(--rik-text-inverse--faint))}`],o([l({type:String})],me.prototype,"kicker",2),me=o([u("deck-takeaway")],me);var qt={info:'<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>',warn:'<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/>',danger:'<circle cx="12" cy="12" r="10"/><path d="M12 8v4"/><path d="M12 16h.01"/>',ok:'<path d="M20 6 9 17l-5-5"/>'},ve=class extends p{render(){let t=this.type??"info",e=qt[t]??qt.info;return c`<div class="icon-box"> <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" .innerHTML="${e}"></svg> </div> <div class="content"><slot></slot></div>`}};ve.styles=m`:host{display:flex;gap:var(--rik-space-3);padding:var(--deck-callout-padding-y,var(--rik-space-3)) var(--deck-callout-padding-x,var(--rik-space-4));border-radius:var(--deck-callout-radius,var(--rik-radius-md));background:var(--deck-callout-bg,var(--rik-status-info__bg--mid));border:1px solid var(--deck-callout-border,var(--rik-status-info__border));box-shadow:var(--rik-elevation-2);align-items:center;color:var(--rik-text-default--muted);font-family:var(--rik-font-sans);font-size:var(--rik-font-size-body);line-height:1.55}:host([type="info"]){--deck-callout-bg:var(--rik-status-info__bg--mid);--deck-callout-border:var(--rik-status-info__border);--deck-callout-stroke:var(--rik-accent)}:host([type="warn"]){--deck-callout-bg:var(--rik-status-warn__bg);--deck-callout-border:var(--rik-status-warn__border);--deck-callout-stroke:var(--rik-status-warn)}:host([type="danger"]){--deck-callout-bg:var(--rik-status-danger__bg);--deck-callout-border:var(--rik-status-danger__border);--deck-callout-stroke:var(--rik-status-danger)}:host([type="ok"]){--deck-callout-bg:var(--rik-status-success__bg);--deck-callout-border:var(--rik-status-success__border);--deck-callout-stroke:var(--rik-status-success)}.icon-box{flex-shrink:0;width:var(--rik-icon-2xl);height:var(--rik-icon-2xl);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--rik-surface-tint)}.icon-box svg{width:var(--rik-icon-lg);height:var(--rik-icon-lg);stroke:var(--deck-callout-stroke,var(--rik-accent));stroke-width:2.2}.content{flex:1}::slotted(p){margin:0}::slotted(strong){color:var(--rik-text-default);font-weight:700}::slotted(code){font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono-sm);background:var(--rik-surface-tint);padding:2px 6px;border-radius:var(--rik-radius-sm);color:var(--rik-text-default)}`,o([l({type:String})],ve.prototype,"type",2),ve=o([u("deck-callout")],ve);var G=class extends p{constructor(){super(...arguments);this.center=!1;this.compact=!1}render(){return c`<slot></slot>`}};G.styles=m`:host{display:flex;flex-direction:column;gap:var(--deck-card-gap,var(--rik-space-2));background:var(--deck-card-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-card-border,var(--rik-border-default));border-radius:var(--deck-card-radius,var(--rik-radius-lg));padding:var(--deck-card-padding-y,var(--rik-space-3)) var(--deck-card-padding-x,var(--rik-space-4));box-shadow:var(--deck-card-shadow,var(--rik-elevation-2));min-height:0;font-family:var(--rik-font-sans);color:var(--deck-card-text,var(--rik-text-default--muted))}:host([color="yellow"]){background:var(--deck-card-bg,var(--rik-status-info__bg));border:4px solid var(--deck-card-border,var(--rik-status-info__border))}:host([color="orange"]){background:var(--deck-card-bg,var(--rik-status-warn__bg));border:4px solid var(--deck-card-border,var(--rik-status-warn__border))}:host([color="green"]){background:var(--deck-card-bg,var(--rik-status-success__bg));border:4px solid var(--deck-card-border,var(--rik-status-success__border))}:host([color="red"]){background:var(--deck-card-bg,var(--rik-status-danger__bg));border:4px solid var(--deck-card-border,var(--rik-status-danger__border))}::slotted(h3){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:var(--rik-font-size-h2);font-weight:700;color:var(--deck-card-title-color,var(--rik-text-default));letter-spacing:-0.01em;line-height:1.25;margin:0}::slotted(p){font-size:var(--rik-font-size-body);line-height:1.55;margin:0}::slotted(strong){color:var(--rik-text-default);font-weight:700}:host([center]){text-align:center;align-items:center}:host([compact]){padding:var(--rik-space-2) var(--rik-space-3)}`,o([l({type:String})],G.prototype,"color",2),o([l({type:Boolean})],G.prototype,"center",2),o([l({type:Boolean})],G.prototype,"compact",2),G=o([u("deck-card")],G);import{marked as Yt}from"https://cdn.jsdelivr.net/npm/marked@12/+esm";Yt.setOptions({gfm:!0,breaks:!1});var ue=class extends p{constructor(){super(...arguments);this._html=""}connectedCallback(){super.connectedCallback(),this._parse()}_parse(){let e=this.textContent??"",r=e.split(`
530
+ `),s=r.filter(n=>n.trim().length>0).reduce((n,d)=>Math.min(n,d.match(/^ */)?.[0].length??0),1/0),a=s===1/0?e:r.map(n=>n.slice(s)).join(`
531
+ `);this._html=Yt.parse(a.trim()),this.textContent=""}render(){return c`<div class="content" .innerHTML="${this._html}"></div>`}};ue.styles=m`:host{display:block;color:var(--rik-text-default--muted);font-family:var(--rik-font-sans)}h1,h2,h3,h4{color:var(--rik-text-default);font-weight:700;letter-spacing:-0.01em}h2{font-size:var(--rik-font-size-h2);margin-bottom:var(--rik-space-2)}h3{font-size:var(--rik-font-size-lead);margin-bottom:var(--rik-space-2);margin-top:var(--rik-space-3)}h4{font-size:var(--rik-font-size-body);margin-bottom:var(--rik-space-1);margin-top:var(--rik-space-3)}p{font-size:var(--rik-font-size-body);line-height:1.65;margin:0 0 var(--rik-space-3)}p:last-child{margin-bottom:0}strong{color:var(--rik-text-default);font-weight:700}em{font-style:italic}code{font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono-sm);background:var(--rik-surface-tint);padding:2px 6px;border-radius:var(--rik-radius-sm);color:var(--rik-text-default)}pre{background:var(--deck-md-pre-bg,var(--rik-code__bg));border:1px solid var(--deck-md-pre-border,var(--rik-code__border));border-radius:var(--rik-radius-md);padding:var(--rik-space-3) var(--rik-space-4);overflow:auto;font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono);line-height:1.75;color:var(--deck-md-pre-text,var(--rik-code__text));margin:0 0 var(--rik-space-3);box-shadow:var(--rik-elevation-2)}pre code{background:none;padding:0;color:inherit;border-radius:0}ul,ol{padding-left:1.4rem;margin:0 0 var(--rik-space-3)}li{margin-bottom:var(--rik-space-1);font-size:var(--rik-font-size-body);line-height:1.55}li::marker{color:var(--rik-accent)}a{color:var(--rik-accent);text-decoration:underline;text-decoration-thickness:1px}blockquote{border-left:3px solid var(--rik-accent);padding:var(--rik-space-1) var(--rik-space-3);color:var(--rik-text-default--faint);font-style:italic;margin:0 0 var(--rik-space-3)}hr{border:none;border-top:1px solid var(--rik-border-default);margin:var(--rik-space-4) 0}.content{display:contents}`,o([O()],ue.prototype,"_html",2),ue=o([u("deck-md")],ue);var Wt=!1;async function Pr(){Wt||(window.mermaid||await new Promise((i,t)=>{let e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js",e.onload=()=>i(),e.onerror=()=>t(new Error("mermaid failed to load")),document.head.appendChild(e)}),window.mermaid.initialize({startOnLoad:!1,theme:"dark",themeVariables:{background:"#0f0f10",mainBkg:"#2a2a2a",nodeBorder:"#555",lineColor:"#777",textColor:"#e5e5e5",fontSize:"13px",edgeLabelBackground:"#111"},flowchart:{curve:"basis",htmlLabels:!0,padding:12},securityLevel:"loose"}),Wt=!0)}var Nr=0,ie=class extends p{constructor(){super(...arguments);this.rendered=!1;this._svg="";this._source=""}connectedCallback(){super.connectedCallback(),this._source=(this.textContent??"").trim();let e=this._source.split(`
532
+ `),r=e.filter(s=>s.trim()).reduce((s,a)=>Math.min(s,a.match(/^ */)?.[0].length??0),1/0);r<1/0&&(this._source=e.map(s=>s.slice(r)).join(`
533
+ `)),this._render()}async _render(){if(!this._source)return;await Pr();let e=`mmd-${++Nr}`;try{let{svg:r}=await window.mermaid.render(e,this._source);this._svg=r,this.rendered=!0}catch(r){console.error("Mermaid render error",r);let s=r instanceof Error?r.message:String(r);this._svg=`<pre style="color:#f87171">${s}</pre>`}}render(){return c`<div class="canvas" .innerHTML="${this._svg}"></div>`}};ie.styles=m`:host{display:flex;align-items:center;justify-content:center;background:var(--deck-mermaid-bg,var(--rik-code__bg));border:1px solid var(--deck-mermaid-border,var(--rik-code__border));border-radius:var(--deck-mermaid-radius,var(--rik-radius-md));padding:var(--deck-mermaid-padding,var(--rik-space-4));box-shadow:var(--rik-elevation-2);overflow:hidden;min-width:0}:host([compact]){padding:var(--rik-space-2)}.canvas{width:100%;max-width:100%;text-align:center;overflow:hidden}.canvas svg{width:100% !important;height:auto !important;max-width:100% !important;max-height:60vh}:host([compact]) .canvas{max-width:60%}:host([compact]) .canvas svg{max-height:22vh}`,o([l({type:Boolean,reflect:!0})],ie.prototype,"rendered",2),o([O()],ie.prototype,"_svg",2),ie=o([u("deck-mermaid")],ie);var Ir={yellow:"var(--rik-accent)",orange:"var(--rik-status-warn)",green:"var(--rik-status-success)",red:"var(--rik-status-danger)",purple:"var(--rik-decor-orchid)",lime:"var(--rik-decor-lime)",cyan:"var(--rik-decor-canary)"},se=class extends p{updated(){this.tone?this.style.setProperty("--_c",Ir[this.tone]??this.tone):this.style.removeProperty("--_c")}render(){return c`${this.num?c`<div class="num" part="num">${this.num}</div>`:""}
531
534
  <slot name="claim"></slot>
532
535
  <div class="body" part="body"><slot></slot></div>
533
- `}};ie.styles=m`:host{display:flex;flex-direction:column;gap:var(--deck-stat-gap,var(--rik-space-2));padding:var(--deck-stat-padding-y,var(--rik-space-4)) var(--deck-stat-padding-x,var(--rik-space-3));border-left:var(--deck-stat-border-width,4px) solid var(--_c,var(--deck-stat-color,var(--rik-accent)));min-width:0;font-family:var(--rik-font-sans)}.num{font-family:var(--rik-font-display,var(--rik-font-sans));font-size:var(--deck-stat-num-size,clamp(3.5rem,7vw,6rem));font-weight:var(--deck-stat-num-weight,900);line-height:0.9;color:var(--_c,var(--deck-stat-color,var(--rik-accent)));letter-spacing:-0.04em}::slotted([slot="claim"]){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:var(--rik-font-size-strong);font-weight:800;color:var(--deck-stat-claim-color,var(--rik-text-default));line-height:1.1;letter-spacing:-0.02em;margin:0}.body{font-size:var(--rik-font-size-body);color:var(--deck-stat-body-color,var(--rik-text-default--faint));line-height:1.45;margin-top:var(--rik-space-2)}::slotted(strong){color:var(--rik-text-default);font-weight:700}::slotted(code){font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono-sm);background:var(--rik-surface-tint);color:var(--rik-text-default);padding:2px 6px;border-radius:var(--rik-radius-sm)}`,o([l({type:String})],ie.prototype,"num",2),o([l({type:String})],ie.prototype,"tone",2),ie=o([u("deck-stat")],ie);var ue=class extends p{render(){return c`<slot></slot>`}};ue.styles=m`:host{display:inline-flex;align-items:center;justify-content:center;background:var(--deck-kbd-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-kbd-border,var(--rik-border-default));border-bottom:3px solid var(--rik-surface-tint--strong,rgba(0,0,0,0.10));border-radius:var(--deck-kbd-radius,5px);padding:var(--deck-kbd-padding-y,3px) var(--deck-kbd-padding-x,8px);font:700 0.92rem/1 var(--rik-font-mono);color:var(--deck-kbd-color,var(--rik-text-default));min-width:22px;text-align:center;box-shadow:0 1px 0 rgba(255,255,255,0.5) inset}:host([tone="accent"]){background:var(--deck-kbd-accent-bg,var(--rik-accent));color:var(--deck-kbd-color,var(--rik-accent__on,var(--rik-surface-inverse)));border-color:rgba(0,0,0,0.15)}:host([tone="ok"]){background:var(--deck-kbd-ok-bg,var(--rik-status-success));color:var(--deck-kbd-color,var(--rik-surface-inverse));border-color:rgba(0,0,0,0.15)}`,o([l({type:String})],ue.prototype,"tone",2),ue=o([u("deck-kbd")],ue);var V=class extends p{render(){let t=(this.keys??"").trim().split(/\s+/).filter(Boolean);return c`<span class="keys" part="keys"> ${t.map(e=>c`<span class="k">${e}</span>`)}
536
+ `}};se.styles=m`:host{display:flex;flex-direction:column;gap:var(--deck-stat-gap,var(--rik-space-2));padding:var(--deck-stat-padding-y,var(--rik-space-4)) var(--deck-stat-padding-x,var(--rik-space-3));border-left:var(--deck-stat-border-width,4px) solid var(--_c,var(--deck-stat-color,var(--rik-accent)));min-width:0;font-family:var(--rik-font-sans)}.num{font-family:var(--rik-font-display,var(--rik-font-sans));font-size:var(--deck-stat-num-size,clamp(3.5rem,7vw,6rem));font-weight:var(--deck-stat-num-weight,900);line-height:0.9;color:var(--_c,var(--deck-stat-color,var(--rik-accent)));letter-spacing:-0.04em}::slotted([slot="claim"]){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:var(--rik-font-size-strong);font-weight:800;color:var(--deck-stat-claim-color,var(--rik-text-default));line-height:1.1;letter-spacing:-0.02em;margin:0}.body{font-size:var(--rik-font-size-body);color:var(--deck-stat-body-color,var(--rik-text-default--faint));line-height:1.45;margin-top:var(--rik-space-2)}::slotted(strong){color:var(--rik-text-default);font-weight:700}::slotted(code){font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono-sm);background:var(--rik-surface-tint);color:var(--rik-text-default);padding:2px 6px;border-radius:var(--rik-radius-sm)}`,o([l({type:String})],se.prototype,"num",2),o([l({type:String})],se.prototype,"tone",2),se=o([u("deck-stat")],se);var Te=class extends p{render(){return c`<slot></slot>`}};Te.styles=m`:host{display:flex;flex-direction:column;gap:var(--rik-space-2)}`,Te=o([u("deck-metric-list")],Te);var J=class extends p{constructor(){super(...arguments);this.mono=!1}render(){return c`<span class="label ${this.mono?"mono":""}"><slot></slot></span> <span class="value" data-severity="${this.severity??""}">${this.value}</span>`}};J.styles=m`:host{display:flex;justify-content:space-between;align-items:center;background:var(--deck-metric-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-metric-border,var(--rik-border-default));border-radius:var(--deck-metric-radius,var(--rik-radius-md));padding:var(--deck-metric-padding-y,var(--rik-space-2)) var(--deck-metric-padding-x,var(--rik-space-4));font-family:var(--rik-font-sans);font-size:var(--rik-font-size-body);color:var(--deck-metric-text,var(--rik-text-default--muted));box-shadow:var(--deck-metric-shadow,var(--rik-elevation-2))}.label{font-family:inherit}.label.mono{font-family:var(--rik-font-mono);font-size:var(--rik-font-size-sm);color:var(--deck-metric-label-color,var(--rik-text-default--faint))}.value{font-weight:700}.value[data-severity="bad"]{color:var(--deck-metric-value-bad,var(--rik-status-danger))}.value[data-severity="warn"]{color:var(--deck-metric-value-warn,var(--rik-status-warn))}.value[data-severity="ok"]{color:var(--deck-metric-value-ok,var(--rik-status-success))}.value[data-severity="info"]{color:var(--deck-metric-value-info,var(--rik-status-info__text))}`,o([l({type:String})],J.prototype,"value",2),o([l({type:String})],J.prototype,"severity",2),o([l({type:Boolean})],J.prototype,"mono",2),J=o([u("deck-metric")],J);var Le=class extends p{render(){return c`<slot></slot>`}};Le.styles=m`:host{display:flex;flex-direction:column;gap:var(--rik-space-2xs)}`,Le=o([u("deck-tier-list")],Le);var W=class extends p{constructor(){super(...arguments);this.hot=!1}render(){return c`<div class="head"> <span class="name">${this.name}</span> <span class="speed" data-severity="${this.severity??(this.hot?"hot":"")}">${this.speed}</span> </div> <div class="desc"><slot></slot></div>`}};W.styles=m`:host{display:flex;flex-direction:column;gap:var(--rik-space-hair);background:var(--deck-tier-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-tier-border,var(--rik-border-default));border-radius:var(--deck-tier-radius,var(--rik-radius-md));padding:var(--deck-tier-padding-y,var(--rik-space-2)) var(--deck-tier-padding-x,var(--rik-space-4));box-shadow:var(--deck-tier-shadow,var(--rik-elevation-2));font-family:var(--rik-font-sans)}:host([hot]){border-color:var(--deck-tier-hot-border,var(--rik-status-info__border));background:var(--deck-tier-hot-bg,var(--rik-status-info__bg))}.head{display:flex;justify-content:space-between;align-items:baseline}.name{font:700 var(--rik-font-size-body)/1 var(--rik-font-mono);color:var(--deck-tier-name-color,var(--rik-text-default))}:host([hot]) .name{color:var(--deck-tier-hot-color,var(--rik-accent))}.speed{font:700 var(--rik-font-size-body)/1 var(--rik-font-mono)}.speed[data-severity="muted"]{color:var(--deck-tier-speed-muted,var(--rik-text-default--faint))}.speed[data-severity="warn"]{color:var(--deck-tier-speed-warn,var(--rik-status-warn))}.speed[data-severity="ok"]{color:var(--deck-tier-speed-ok,var(--rik-status-success))}:host([hot]) .speed{color:var(--deck-tier-hot-color,var(--rik-accent))}.desc{font-size:var(--rik-font-size-sm);color:var(--deck-tier-desc-color,var(--rik-text-default--faint));line-height:1.4}`,o([l({type:String})],W.prototype,"name",2),o([l({type:String})],W.prototype,"speed",2),o([l({type:String})],W.prototype,"severity",2),o([l({type:Boolean,reflect:!0})],W.prototype,"hot",2),W=o([u("deck-tier")],W);var ze=class extends p{render(){return c`<slot></slot>`}};ze.styles=m`:host{display:block;text-align:center;color:var(--rik-text-default--faint);opacity:var(--rik-opacity-soft);font-size:var(--rik-font-size-xs);padding:2px 0}`,ze=o([u("deck-tier-arrow")],ze);var Me=class extends p{render(){return c`<slot></slot>`}};Me.styles=m`:host{display:flex;flex-direction:column;gap:var(--rik-space-2xs)}`,Me=o([u("deck-step-list")],Me);var oe=class extends p{render(){return c`<span class="step-num">${this.n}</span> <span class="label"><slot></slot></span> ${this.note?c`<span class="chip">${this.note}</span>`:""}
537
+ `}};oe.styles=m`:host{display:flex;align-items:center;gap:var(--rik-space-3);background:var(--deck-step-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-step-border,var(--rik-border-default));border-radius:var(--deck-step-radius,var(--rik-radius-md));padding:var(--deck-step-padding-y,var(--rik-space-2xs)) var(--deck-step-padding-x,var(--rik-space-3));box-shadow:var(--deck-step-shadow,var(--rik-elevation-2));font-family:var(--rik-font-sans);font-size:var(--rik-font-size-body)}.step-num{flex:0 0 auto;width:var(--deck-step-num-size,var(--rik-icon-sm));height:var(--deck-step-num-size,var(--rik-icon-sm));display:inline-flex;align-items:center;justify-content:center;background:var(--deck-step-num-bg,var(--rik-accent));color:var(--deck-step-num-color,var(--rik-accent__on,var(--rik-surface-inverse)));border-radius:50%;font:700 var(--rik-font-size-xs)/1 var(--rik-font-sans)}.label{flex:1;font-family:var(--rik-font-mono);font-weight:600;color:var(--deck-step-label-color,var(--rik-text-default))}.chip{flex:0 0 auto;display:inline-block;padding:2px var(--rik-space-2);background:var(--deck-step-chip-bg,var(--rik-surface-tint));color:var(--deck-step-chip-color,var(--rik-text-default--faint));border-radius:var(--rik-radius-pill);font:600 var(--rik-font-size-sm)/1.4 var(--rik-font-sans)}`,o([l({type:String})],oe.prototype,"n",2),o([l({type:String})],oe.prototype,"note",2),oe=o([u("deck-step")],oe);var fe=class extends p{render(){return c`<slot></slot>`}};fe.styles=m`:host{display:inline-flex;align-items:center;justify-content:center;background:var(--deck-kbd-bg,var(--rik-surface-raised--strong));border:1px solid var(--deck-kbd-border,var(--rik-border-default));border-bottom:3px solid var(--rik-surface-tint--strong,rgba(0,0,0,0.10));border-radius:var(--deck-kbd-radius,5px);padding:var(--deck-kbd-padding-y,3px) var(--deck-kbd-padding-x,8px);font:700 0.92rem/1 var(--rik-font-mono);color:var(--deck-kbd-color,var(--rik-text-default));min-width:22px;text-align:center;box-shadow:0 1px 0 rgba(255,255,255,0.5) inset}:host([tone="accent"]){background:var(--deck-kbd-accent-bg,var(--rik-accent));color:var(--deck-kbd-color,var(--rik-accent__on,var(--rik-surface-inverse)));border-color:rgba(0,0,0,0.15)}:host([tone="ok"]){background:var(--deck-kbd-ok-bg,var(--rik-status-success));color:var(--deck-kbd-color,var(--rik-surface-inverse));border-color:rgba(0,0,0,0.15)}`,o([l({type:String})],fe.prototype,"tone",2),fe=o([u("deck-kbd")],fe);var F=class extends p{render(){let t=(this.keys??"").trim().split(/\s+/).filter(Boolean);return c`<span class="keys" part="keys"> ${t.map(e=>c`<span class="k">${e}</span>`)}
534
538
  </span>
535
539
  <div class="body" part="body">
536
540
  ${this.label?c`<div class="label">${this.label}</div>`:""}
537
541
  ${this.note?c`<div class="note">${this.note}</div>`:c`<div class="note"><slot></slot></div>`}
538
542
  </div>
539
- `}};V.styles=m`:host{display:flex;align-items:center;gap:var(--rik-space-3);padding:var(--rik-space-2) 0;font-family:var(--rik-font-sans)}.keys{display:inline-flex;gap:4px;flex-shrink:0}.keys deck-kbd,.keys .k{display:inline-flex;align-items:center;justify-content:center;background:var(--rik-surface-raised--strong);border:1px solid var(--rik-border-default);border-bottom:3px solid rgba(0,0,0,0.10);border-radius:5px;padding:3px 8px;font:700 0.92rem/1 var(--rik-font-mono);color:var(--rik-text-default);min-width:22px;text-align:center}.body{flex:1;min-width:0}.label{font:700 var(--rik-font-size-body)/1.2 var(--rik-font-sans);color:var(--rik-text-default)}.note{font:400 var(--rik-font-size-sm)/1.4 var(--rik-font-sans);color:var(--rik-text-default--faint);margin-top:2px}:host([tone="accent"]) .keys .k{background:var(--rik-accent);color:var(--rik-surface-inverse);border-color:rgba(0,0,0,0.15)}:host([tone="ok"]) .keys .k{background:var(--rik-status-success);color:var(--rik-surface-inverse);border-color:rgba(0,0,0,0.15)}`,o([l({type:String})],V.prototype,"keys",2),o([l({type:String})],V.prototype,"label",2),o([l({type:String})],V.prototype,"note",2),o([l({type:String})],V.prototype,"tone",2),V=o([u("deck-shortcut")],V);var se=class extends p{updated(){if(this.colGap){let t=parseInt(this.colGap,10),e=!Number.isNaN(t)&&t>=1&&t<=6?`var(--sp-${t})`:this.colGap;this.style.setProperty("--_col-gap",e)}}render(){return c`<slot></slot>`}};se.styles=m`:host{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--_col-gap,var(--rik-space-5));font-family:var(--rik-font-sans)}:host([cols="1"]){grid-template-columns:1fr}::slotted(deck-shortcut){border-bottom:1px solid var(--rik-border-default)}`,o([l({type:String})],se.prototype,"cols",2),o([l({type:String,attribute:"col-gap"})],se.prototype,"colGap",2),se=o([u("deck-shortcut-list")],se);var Te=class extends p{get notes(){return(this.textContent??"").trim()}render(){return c`<slot></slot>`}};Te.styles=m`:host{display:none}`,Te=o([u("deck-notes")],Te);
543
+ `}};F.styles=m`:host{display:flex;align-items:center;gap:var(--rik-space-3);padding:var(--rik-space-2) 0;font-family:var(--rik-font-sans)}.keys{display:inline-flex;gap:4px;flex-shrink:0}.keys deck-kbd,.keys .k{display:inline-flex;align-items:center;justify-content:center;background:var(--rik-surface-raised--strong);border:1px solid var(--rik-border-default);border-bottom:3px solid rgba(0,0,0,0.10);border-radius:5px;padding:3px 8px;font:700 0.92rem/1 var(--rik-font-mono);color:var(--rik-text-default);min-width:22px;text-align:center}.body{flex:1;min-width:0}.label{font:700 var(--rik-font-size-body)/1.2 var(--rik-font-sans);color:var(--rik-text-default)}.note{font:400 var(--rik-font-size-sm)/1.4 var(--rik-font-sans);color:var(--rik-text-default--faint);margin-top:2px}:host([tone="accent"]) .keys .k{background:var(--rik-accent);color:var(--rik-surface-inverse);border-color:rgba(0,0,0,0.15)}:host([tone="ok"]) .keys .k{background:var(--rik-status-success);color:var(--rik-surface-inverse);border-color:rgba(0,0,0,0.15)}`,o([l({type:String})],F.prototype,"keys",2),o([l({type:String})],F.prototype,"label",2),o([l({type:String})],F.prototype,"note",2),o([l({type:String})],F.prototype,"tone",2),F=o([u("deck-shortcut")],F);var ae=class extends p{updated(){if(this.colGap){let t=parseInt(this.colGap,10),e=!Number.isNaN(t)&&t>=1&&t<=6?`var(--sp-${t})`:this.colGap;this.style.setProperty("--_col-gap",e)}}render(){return c`<slot></slot>`}};ae.styles=m`:host{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--_col-gap,var(--rik-space-5));font-family:var(--rik-font-sans)}:host([cols="1"]){grid-template-columns:1fr}::slotted(deck-shortcut){border-bottom:1px solid var(--rik-border-default)}`,o([l({type:String})],ae.prototype,"cols",2),o([l({type:String,attribute:"col-gap"})],ae.prototype,"colGap",2),ae=o([u("deck-shortcut-list")],ae);var Or={start:"flex-start",center:"center",end:"flex-end",between:"space-between",around:"space-around"},jr={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"},K=class extends p{updated(){if(this.gap){let t=parseInt(this.gap,10);!Number.isNaN(t)&&t>=1&&t<=6?this.style.setProperty("--_gap",`var(--rik-space-${t})`):this.style.setProperty("--_gap",this.gap)}else this.style.removeProperty("--_gap");this.style.setProperty("--_dir",this.direction==="row"?"row":"column"),this.align&&this.style.setProperty("--_align",jr[this.align]??this.align),this.justify&&this.style.setProperty("--_justify",Or[this.justify]??this.justify)}render(){return c`<slot></slot>`}};K.styles=m`:host{display:flex;flex-direction:var(--_dir,column);gap:var(--_gap,var(--deck-stack-gap,var(--rik-space-3)));align-items:var(--_align,stretch);justify-content:var(--_justify,flex-start);min-width:0;min-height:0}:host([fill]){flex:1 1 auto}`,o([l({type:String})],K.prototype,"gap",2),o([l({type:String})],K.prototype,"direction",2),o([l({type:String})],K.prototype,"align",2),o([l({type:String})],K.prototype,"justify",2),K=o([u("deck-stack")],K);var Ft={start:"start",center:"center",end:"end",stretch:"stretch"};function Kt(i){if(!i)return null;let t=parseInt(i,10);return!Number.isNaN(t)&&String(t)===i.trim()&&t>=1&&t<=12?`repeat(${t}, minmax(0, 1fr))`:i}function Rr(i){if(!i)return null;let t=parseInt(i,10);return!Number.isNaN(t)&&t>=1&&t<=6?`var(--rik-space-${t})`:i}var U=class extends p{updated(){let t=Kt(this.cols),e=Kt(this.rows),r=Rr(this.gap);t&&this.style.setProperty("--_cols",t),e&&this.style.setProperty("--_rows",e),r&&this.style.setProperty("--_gap",r),this.align&&this.style.setProperty("--_align",Ft[this.align]??this.align),this.justify&&this.style.setProperty("--_justify",Ft[this.justify]??this.justify)}render(){return c`<slot></slot>`}};U.styles=m`:host{display:grid;grid-template-columns:var(--_cols,1fr);grid-template-rows:var(--_rows,auto);gap:var(--_gap,var(--deck-grid-gap,var(--rik-space-3)));align-items:var(--_align,stretch);justify-items:var(--_justify,stretch);min-width:0;min-height:0}:host([fill]){flex:1 1 auto;height:100%}`,o([l({type:String})],U.prototype,"cols",2),o([l({type:String})],U.prototype,"rows",2),o([l({type:String})],U.prototype,"gap",2),o([l({type:String})],U.prototype,"align",2),o([l({type:String})],U.prototype,"justify",2),U=o([u("deck-grid")],U);var ge=class extends p{render(){return c`<slot></slot>`}};ge.styles=m`:host{display:inline-block;padding:var(--deck-badge-padding-y,var(--rik-space-1)) var(--deck-badge-padding-x,var(--rik-space-3));margin-bottom:var(--rik-space-2);font:700 var(--rik-font-size-xs)/1.2 var(--rik-font-sans);letter-spacing:0.1em;text-transform:uppercase;border-radius:var(--deck-badge-radius,var(--rik-radius-pill));background:var(--deck-badge-bg,var(--rik-surface-tint));color:var(--deck-badge-fg,var(--rik-text-default--faint));border:1px solid var(--deck-badge-border,var(--rik-border-default))}:host([type="bad"]){--deck-badge-bg:var(--rik-status-danger__bg);--deck-badge-fg:var(--rik-status-danger);--deck-badge-border:var(--rik-status-danger__border)}:host([type="ok"]){--deck-badge-bg:var(--rik-status-success__bg);--deck-badge-fg:var(--rik-status-success);--deck-badge-border:var(--rik-status-success__border)}:host([type="info"]){--deck-badge-bg:var(--rik-status-info__bg--strong);--deck-badge-fg:var(--rik-status-info__text);--deck-badge-border:var(--rik-status-info__border)}:host([type="warn"]){--deck-badge-bg:var(--rik-status-warn__bg);--deck-badge-fg:var(--rik-status-warn);--deck-badge-border:var(--rik-status-warn__border)}`,o([l({type:String})],ge.prototype,"type",2),ge=o([u("deck-badge")],ge);var nt=class extends p{static{this.styles=m`:host{display:block;font:700 var(--deck-kicker-font-size,var(--rik-font-size-xs))/1.2 var(--rik-font-sans);letter-spacing:var(--deck-kicker-tracking,0.14em);text-transform:uppercase;color:var(--deck-kicker-color,var(--rik-text-default--faint));margin-bottom:var(--deck-kicker-margin,var(--rik-space-2))}:host([on-dark]){color:var(--deck-kicker-on-dark-color,var(--rik-text-inverse--faint))}`}render(){return c`<slot></slot>`}};customElements.define("deck-kicker",nt);var Vt={warn:"var(--rik-status-warn)",danger:"var(--rik-status-danger)",ok:"var(--rik-status-success)",info:"var(--rik-accent)",muted:"var(--rik-text-default--faint)",accent:"var(--rik-accent)"},Xt={lead:"var(--rik-font-size-lead)",big:"var(--rik-font-size-big)",mega:"var(--rik-font-size-mega)",stat:"var(--rik-font-size-stat)",display:"clamp(2.6rem, 6vw, 5rem)"},V=class extends p{updated(){this.tone&&Vt[this.tone]?this.style.setProperty("--_color",Vt[this.tone]):this.style.removeProperty("--_color"),this.size&&Xt[this.size]?this.style.setProperty("--_size",Xt[this.size]):this.style.removeProperty("--_size")}render(){return c`<slot></slot>`}};V.styles=m`:host{display:block;margin:0;font-family:var(--rik-font-display,var(--rik-font-sans));font-weight:900;line-height:1.1;letter-spacing:-0.02em;font-size:var(--deck-punch-size,var(--_size,var(--rik-font-size-lead)));color:var(--deck-punch-color,var(--_color,inherit))}:host([weight="700"]){font-weight:700}:host([weight="800"]){font-weight:800}:host([align="center"]){text-align:center}:host([align="right"]){text-align:right}`,o([l({type:String})],V.prototype,"tone",2),o([l({type:String})],V.prototype,"size",2),o([l({type:String,reflect:!0})],V.prototype,"weight",2),o([l({type:String,reflect:!0})],V.prototype,"align",2),V=o([u("deck-punch")],V);function Ur(i,t){let e=i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),r=[],s=(d,h)=>{let v="P"+r.length+"E";return r.push('<span class="'+d+'">'+h+"</span>"),v};return t==="html"||t==="xml"||t==="svg"?(e=e.replace(/(&lt;!--[\s\S]*?--&gt;)/g,d=>s("cmt",d)),e=e.replace(/(&lt;!doctype[^&]*&gt;)/gi,d=>s("cmt",d)),e=e.replace(/("[^"]*"|'[^']*')/g,d=>s("str",d)),e=e.replace(/(&lt;\/?)([a-zA-Z][a-zA-Z0-9:-]*)/g,(d,h,v)=>h+s("kw",v)),e=e.replace(/\b([a-zA-Z][a-zA-Z0-9-]*)(?==)/g,d=>s("prop",d))):t==="css"||t==="scss"||t==="less"?(e=e.replace(/(\/\*[\s\S]*?\*\/)/g,d=>s("cmt",d)),e=e.replace(/("[^"]*"|'[^']*')/g,d=>s("str",d)),e=e.replace(/([a-zA-Z-]+)(?=\s*:)/g,d=>s("prop",d)),e=e.replace(/(#[0-9a-fA-F]{3,8})\b/g,d=>s("num",d)),e=e.replace(/\b(\d+(?:\.\d+)?)(px|rem|em|%|vh|vw|vmin|vmax|s|ms|deg)?/g,(d,h,v)=>s("num",h+(v??"")))):(e=e.replace(/(\/\/[^\n]*)/g,d=>s("cmt",d)),e=e.replace(/(['"`])((?:\\.|(?!\1)[^\\])*)\1/g,d=>s("str",d)),e=e.replace(/\b(const|let|var|function|return|if|else|for|while|class|extends|new|export|import|from|as|await|async|of|in|typeof|instanceof|true|false|null|undefined)\b/g,d=>s("kw",d)),e=e.replace(/\b(\d+(?:\.\d+)?)\b/g,d=>s("num",d))),e=e.replace(/P(\d+)E/g,(d,h)=>r[+h]??""),e}var B=class extends p{constructor(){super(...arguments);this.lang="";this.hero=!1;this.nested=!1;this._html="";this._groups=null}connectedCallback(){super.connectedCallback(),this._highlight();try{this._groups=JSON.parse(this.getAttribute("step-groups")??"null")}catch{this._groups=null}}_highlight(){let r=(this.textContent??"").split(`
544
+ `);for(;r.length&&!r[0].trim();)r.shift();for(;r.length&&!r[r.length-1].trim();)r.pop();let s=r.filter(n=>n.trim().length>0).reduce((n,d)=>Math.min(n,d.match(/^ */)?.[0].length??0),1/0),a=s===1/0?r:r.map(n=>n.slice(s));this._html=a.map((n,d)=>'<span class="line" data-line="'+(d+1)+'">'+Ur(n||" ",this.lang)+"</span>").join("")}applyStep(e){if(!this._groups)return;let r=this.shadowRoot?.querySelectorAll(".line");if(r)if(e===0)r.forEach(s=>s.classList.remove("dim","lit"));else{let s=this._groups[Math.min(e-1,this._groups.length-1)]??[];r.forEach(a=>{let n=parseInt(a.dataset.line??"0",10);a.classList.toggle("lit",s.includes(n)),a.classList.toggle("dim",!s.includes(n))})}}render(){return c`<pre><code .innerHTML="${this._html}"></code></pre>`}};B.styles=m`:host{display:block;background:var(--deck-code-bg,var(--rik-code__bg));border:1px solid var(--deck-code-border,var(--rik-code__border));border-radius:var(--deck-code-radius,var(--rik-radius-md));padding:var(--deck-code-padding-y,var(--rik-space-3)) var(--deck-code-padding-x,var(--rik-space-4));font-family:var(--rik-font-mono);font-size:var(--rik-font-size-mono);line-height:1.7;color:var(--deck-code-text,var(--rik-code__text));box-shadow:var(--rik-elevation-2);overflow:auto;white-space:pre}:host([hero]){display:flex;align-items:safe center;padding:var(--deck-code-padding-y,var(--rik-space-4)) var(--deck-code-padding-x,var(--rik-space-5))}:host([nested]){box-shadow:none;border-radius:var(--rik-radius-sm);padding:var(--deck-code-padding-y,var(--rik-space-2)) var(--deck-code-padding-x,var(--rik-space-3))}pre{margin:0;font:inherit;color:inherit}code{display:block;width:100%;font:inherit;color:inherit}.line{transition:opacity 0.25s ease;display:block}.line.dim{opacity:0.25}.line.lit{opacity:1}.kw{color:var(--deck-code-syntax-kw,var(--rik-code__syntax-keyword))}.fn{color:var(--deck-code-syntax-fn,var(--rik-code__syntax-function))}.str{color:var(--deck-code-syntax-str,var(--rik-code__syntax-string))}.num{color:var(--deck-code-syntax-num,var(--rik-code__syntax-number))}.cmt{color:var(--deck-code-syntax-cmt,var(--rik-code__syntax-comment));font-style:italic}.ty{color:var(--deck-code-syntax-ty,var(--rik-code__syntax-type))}.prop{color:var(--deck-code-syntax-prop,var(--rik-code__syntax-property))}`,o([l({type:String})],B.prototype,"lang",2),o([l({type:Boolean,reflect:!0})],B.prototype,"hero",2),o([l({type:Boolean,reflect:!0})],B.prototype,"nested",2),o([l({type:String,attribute:"step-groups"})],B.prototype,"stepGroups",2),o([O()],B.prototype,"_html",2),B=o([u("deck-code")],B);new URLSearchParams(location.search).has("live")&&Promise.resolve().then(()=>(Dt(),Wr));