rikiki-deck 0.3.0 → 0.4.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 (45) hide show
  1. package/README.md +2 -0
  2. package/bin/lib/inline.mjs +231 -0
  3. package/bin/lib/starter.mjs +83 -0
  4. package/bin/rikiki.mjs +150 -0
  5. package/dist/deck-badge.js +1 -1
  6. package/dist/deck-callout.js +1 -1
  7. package/dist/deck-card.js +1 -1
  8. package/dist/deck-code.js +1 -1
  9. package/dist/deck-cover.js +2 -2
  10. package/dist/deck-feature-cards.js +1 -1
  11. package/dist/deck-feature.js +1 -1
  12. package/dist/deck-grid.js +1 -1
  13. package/dist/deck-kicker.js +1 -1
  14. package/dist/deck-md.js +1 -1
  15. package/dist/deck-mermaid.js +3 -3
  16. package/dist/deck-metric.js +1 -1
  17. package/dist/deck-notes.js +1 -1
  18. package/dist/deck-overview.js +7 -3
  19. package/dist/deck-photo.js +1 -1
  20. package/dist/deck-presenter.js +34 -7
  21. package/dist/deck-punch.js +1 -1
  22. package/dist/deck-root.js +11 -6
  23. package/dist/deck-section.js +2 -2
  24. package/dist/deck-shortcut.js +1 -1
  25. package/dist/deck-split.js +1 -1
  26. package/dist/deck-stack.js +1 -1
  27. package/dist/deck-stat.js +2 -2
  28. package/dist/deck-step-list.js +1 -1
  29. package/dist/deck-takeaway.js +2 -2
  30. package/dist/deck-tier-list.js +1 -1
  31. package/dist/index.js +28 -23
  32. package/dist/plugins/shiki.d.ts +0 -2
  33. package/dist/runtime/deck-root.d.ts +23 -0
  34. package/dist/shared-styles.js +1 -1
  35. package/dist/shiki.js +1 -1
  36. package/dist/standalone.js +139 -58
  37. package/dist/vendor/lit.js +3 -0
  38. package/dist/vendor/marked.js +46 -0
  39. package/dist/vendor/mermaid.min.js +2024 -0
  40. package/dist/vendor/shiki.js +57 -0
  41. package/docs/llms/rikiki-reference.md +718 -0
  42. package/llms.txt +50 -0
  43. package/package.json +21 -7
  44. package/themes/rikiki.css +10 -4
  45. package/themes/siliceum.css +10 -4
package/dist/index.js CHANGED
@@ -1,16 +1,21 @@
1
- var Re=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var t=(l,s,e,r)=>{for(var i=r>1?void 0:r?Oe(s,e):s,a=l.length-1,n;a>=0;a--)(n=l[a])&&(i=(r?n(s,e,i):n(i))||i);return r&&i&&Re(s,e,i),i};import{LitElement as qe,html as Y,css as Ue}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Ye,property as T,state as ie}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var c=class extends qe{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.mouseNav=null;this.nav=null;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._navDownX=0;this._navDownY=0;this._wheelAccum=0;this._wheelLockUntil=0;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._restartAutoplay())};this._onNavPointerDown=e=>{this._navDownX=e.clientX,this._navDownY=e.clientY};this._onClickNav=e=>{if(!this._mouseEnabled("click")||this.overview||this.blank||this.shadowRoot?.querySelector("#kb-overlay.open")||Math.hypot(e.clientX-this._navDownX,e.clientY-this._navDownY)>5)return;let r=window.getSelection();r&&!r.isCollapsed||e.composedPath().some(a=>a instanceof HTMLElement?a.matches?.("a, button, input, textarea, select, [contenteditable], [data-no-advance]")?!0:a.id==="blank"||a.id==="kb-overlay"||a.id==="overview-grid"||a.id==="nav-arrows"||a.id==="kb-hint":!1)||(this._restartAutoplay(),e.shiftKey?this._back():this._advance())};this._onWheel=e=>{if(!this._mouseEnabled("wheel")||this.overview||this.blank||this._wheelTargetScrolls(e))return;e.preventDefault();let r=performance.now();if(r<this._wheelLockUntil||(this._wheelAccum+=e.deltaY,Math.abs(this._wheelAccum)<50))return;let i=this._wheelAccum>0;this._wheelAccum=0,this._wheelLockUntil=r+400,this._restartAutoplay(),i?this._advance():this._back()};this._onAuxUp=e=>{this._mouseEnabled("aux")&&(e.button!==3&&e.button!==4||(e.preventDefault(),this._restartAutoplay(),e.button===3?this._back():this._advance()))};this._onAuxClick=e=>{this._mouseEnabled("aux")&&(e.button===3||e.button===4)&&e.preventDefault()};this._onHash=()=>{this._readHash(!1)};this._onKey=e=>{if(!(e.target&&e.target.matches?.("input,textarea,[contenteditable]"))){if(this._restartAutoplay(),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.addEventListener("pointerdown",this._onNavPointerDown),this.addEventListener("click",this._onClickNav),this.addEventListener("wheel",this._onWheel,{passive:!1}),window.addEventListener("mouseup",this._onAuxUp),window.addEventListener("auxclick",this._onAuxClick),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.removeEventListener("pointerdown",this._onNavPointerDown),this.removeEventListener("click",this._onClickNav),this.removeEventListener("wheel",this._onWheel),window.removeEventListener("mouseup",this._onAuxUp),window.removeEventListener("auxclick",this._onAuxClick),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()}_restartAutoplay(){this.autoplay>0&&!this._autoplayPaused&&this._startAutoplay()}_wheelTargetScrolls(e){let r=e.deltaY>0,i=e.deltaX>0;for(let a of e.composedPath()){if(a===this)return!1;if(!(a instanceof Element))continue;let n=a.scrollHeight>a.clientHeight,o=a.scrollWidth>a.clientWidth;if(!n&&!o)continue;let p=getComputedStyle(a);if(n&&/auto|scroll/.test(p.overflowY)&&(r?a.scrollTop+a.clientHeight<a.scrollHeight-1:a.scrollTop>0)||o&&/auto|scroll/.test(p.overflowX)&&(i?a.scrollLeft+a.clientWidth<a.scrollWidth-1:a.scrollLeft>0))return!0}return!1}_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.nav==="2d"&&this.chapters.length>1&&this.chapters.some(e=>e.slides.length>1)}_mouseEnabled(e){let r=(this.mouseNav??"all").trim();return r==="none"?!1:r===""||r==="all"?!0:r.split(/\s+/).includes(e)}_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[Math.max(0,Math.min(this.chapters.length-1,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,o=this.step;if(this._has2DNav()&&i){let b=parseInt(i[1],10)-1,Be=parseInt(i[2],10)-1;n=this._flatFromCoords(Math.max(0,b),Math.max(0,Be)),o=i[3]?parseInt(i[3],10):0}else if(a)n=parseInt(a[1],10)-1,o=a[2]?parseInt(a[2],10):0;else return;if(n===this.current&&o===this.step&&!e)return;this.current=Math.max(0,Math.min(this.slides.length-1,n));let p=this._maxSteps();this.step=p>0?Math.max(0,Math.min(p,o)):Math.max(0,o),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 import("./deck-help.js")).toggleHelp(this)}async _togglePresenter(){(await import("./deck-presenter.js")).installPresenter(this)}async _closeHelp(){(await import("./deck-help.js")).closeHelp(this)}async _renderOverviewIfActive(){if(!this.overview){this._overviewTeardown?.(),this._overviewTeardown=null;return}let{mountOverview:e}=await import("./deck-overview.js");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(o=>o.render?.())}),this.transition&&!this._transitionLoaded&&(this._transitionLoaded=!0,import("./deck-transition.js").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 o=this._maxSteps();n&&(n.innerHTML=o===0?"":Array.from({length:o},(p,b)=>`<div class="dot${b<this.step?" active":""}"></div>`).join(""))}updated(){this._updateUI(),this._renderOverviewIfActive()}_navArrows(){if(!this._mouseEnabled("arrows")||this.overview)return"";let e=this.slides.length;if(e===0)return"";let r=this.current===0&&this.step===0,i=this.current>=e-1&&this.step>=this._maxSteps();if(this._has2DNav()){let{c:a,i:n}=this._coords(this.current),o=this.chapters[a];return Y`<div id="nav-arrows"> <button class="nav-btn" title="Previous chapter" ?disabled=${!this.loop&&this.current===0} @click=${()=>a>0?this._goToCoords(a-1,0):this._back()}>&lsaquo;</button> <button class="nav-btn" title="Up" ?disabled=${n===0} @click=${()=>this._goToCoords(a,n-1)}>&uarr;</button> <button class="nav-btn" title="Down" ?disabled=${!o||n+1>=o.slides.length} @click=${()=>this._goToCoords(a,n+1)}>&darr;</button> <button class="nav-btn" title="Next chapter" ?disabled=${!this.loop&&i} @click=${()=>a+1<this.chapters.length?this._goToCoords(a+1,0):this._advance()}>&rsaquo;</button> </div>`}return Y`<div id="nav-arrows"> <button class="nav-btn" title="Previous" ?disabled=${!this.loop&&r} @click=${()=>this._back()}>&lsaquo;</button> <button class="nav-btn" title="Next" ?disabled=${!this.loop&&i} @click=${()=>this._advance()}>&rsaquo;</button> </div>`}render(){return Y`<div id="progress"></div> <div id="counter"></div> <div id="step-dots"></div> <div id="kb-hint"> <kbd title="Previous" @click=${()=>this._back()}>←</kbd ><kbd title="Next" @click=${()=>this._advance()}>→</kbd> ${this._has2DNav()?Y`<kbd title="Previous" @click=${()=>this._back()}>↑</kbd
2
- ><kbd title="Next" @click=${()=>this._advance()}>↓</kbd>`:""}
1
+ var Be=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var t=(l,s,e,r)=>{for(var i=r>1?void 0:r?Oe(s,e):s,a=l.length-1,n;a>=0;a--)(n=l[a])&&(i=(r?n(s,e,i):n(i))||i);return r&&i&&Be(s,e,i),i};import{LitElement as Re,html as C,css as Ue}from"./vendor/lit.js";import{customElement as Ye,property as h,state as ie}from"./vendor/lit.js";var d=class extends Re{constructor(){super(...arguments);this.current=0;this.step=0;this.blank=null;this.overview=!1;this.fixed=!1;this.width=1920;this.height=1080;this.noHint=!1;this.noArrows=!1;this.transition=null;this.autoplay=0;this.loop=!1;this.swipe=!1;this.mouseNav=null;this.nav=null;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._navDownX=0;this._navDownY=0;this._wheelAccum=0;this._wheelLockUntil=0;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._restartAutoplay())};this._onNavPointerDown=e=>{this._navDownX=e.clientX,this._navDownY=e.clientY};this._onClickNav=e=>{if(!this._mouseEnabled("click")||this.overview||this.blank||this.shadowRoot?.querySelector("#kb-overlay.open")||Math.hypot(e.clientX-this._navDownX,e.clientY-this._navDownY)>5)return;let r=window.getSelection();r&&!r.isCollapsed||e.composedPath().some(a=>a instanceof HTMLElement?a.matches?.("a, button, input, textarea, select, [contenteditable], [data-no-advance]")?!0:a.id==="blank"||a.id==="kb-overlay"||a.id==="overview-grid"||a.id==="nav-arrows"||a.id==="kb-hint":!1)||(this._restartAutoplay(),e.shiftKey?this._back():this._advance())};this._onWheel=e=>{if(!this._mouseEnabled("wheel")||this.overview||this.blank||this._wheelTargetScrolls(e))return;e.preventDefault();let r=performance.now();if(r<this._wheelLockUntil||(this._wheelAccum+=e.deltaY,Math.abs(this._wheelAccum)<50))return;let i=this._wheelAccum>0;this._wheelAccum=0,this._wheelLockUntil=r+400,this._restartAutoplay(),i?this._advance():this._back()};this._onAuxUp=e=>{this._mouseEnabled("aux")&&(e.button!==3&&e.button!==4||(e.preventDefault(),this._restartAutoplay(),e.button===3?this._back():this._advance()))};this._onAuxClick=e=>{this._mouseEnabled("aux")&&(e.button===3||e.button===4)&&e.preventDefault()};this._onHash=()=>{this._readHash(!1)};this._onKey=e=>{if(!(e.target&&e.target.matches?.("input,textarea,[contenteditable]"))){if(this._restartAutoplay(),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.fixed&&this._applyCanvasVars(),this._scopeSlideStyles(),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.addEventListener("pointerdown",this._onNavPointerDown),this.addEventListener("click",this._onClickNav),this.addEventListener("wheel",this._onWheel,{passive:!1}),window.addEventListener("mouseup",this._onAuxUp),window.addEventListener("auxclick",this._onAuxClick),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))}_scopeSlideStyles(){this.querySelectorAll("style[scoped]").forEach(e=>{e.dataset.rikScoped||(e.dataset.rikScoped="1",e.textContent=`@scope {
2
+ ${e.textContent??""}
3
+ }`)})}_applyCanvasVars(){let e=document.documentElement;e.style.setProperty("--deck-canvas-w",String(this.width)),e.style.setProperty("--deck-canvas-h",String(this.height))}disconnectedCallback(){super.disconnectedCallback(),this.fixed&&(document.documentElement.style.removeProperty("--deck-canvas-w"),document.documentElement.style.removeProperty("--deck-canvas-h")),window.removeEventListener("keydown",this._onKey),window.removeEventListener("hashchange",this._onHash),this.removeEventListener("pointerdown",this._onNavPointerDown),this.removeEventListener("click",this._onClickNav),this.removeEventListener("wheel",this._onWheel),window.removeEventListener("mouseup",this._onAuxUp),window.removeEventListener("auxclick",this._onAuxClick),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()}_restartAutoplay(){this.autoplay>0&&!this._autoplayPaused&&this._startAutoplay()}_wheelTargetScrolls(e){let r=e.deltaY>0,i=e.deltaX>0;for(let a of e.composedPath()){if(a===this)return!1;if(!(a instanceof Element))continue;let n=a.scrollHeight>a.clientHeight,o=a.scrollWidth>a.clientWidth;if(!n&&!o)continue;let p=getComputedStyle(a);if(n&&/auto|scroll/.test(p.overflowY)&&(r?a.scrollTop+a.clientHeight<a.scrollHeight-1:a.scrollTop>0)||o&&/auto|scroll/.test(p.overflowX)&&(i?a.scrollLeft+a.clientWidth<a.scrollWidth-1:a.scrollLeft>0))return!0}return!1}_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.nav==="2d"&&this.chapters.length>1&&this.chapters.some(e=>e.slides.length>1)}_mouseEnabled(e){let r=(this.mouseNav??"all").trim();return r==="none"?!1:r===""||r==="all"?!0:r.split(/\s+/).includes(e)}_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[Math.max(0,Math.min(this.chapters.length-1,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,o=this.step;if(this._has2DNav()&&i){let y=parseInt(i[1],10)-1,je=parseInt(i[2],10)-1;n=this._flatFromCoords(Math.max(0,y),Math.max(0,je)),o=i[3]?parseInt(i[3],10):0}else if(a)n=parseInt(a[1],10)-1,o=a[2]?parseInt(a[2],10):0;else return;if(n===this.current&&o===this.step&&!e)return;this.current=Math.max(0,Math.min(this.slides.length-1,n));let p=this._maxSteps();this.step=p>0?Math.max(0,Math.min(p,o)):Math.max(0,o),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 import("./deck-help.js")).toggleHelp(this)}async _togglePresenter(){(await import("./deck-presenter.js")).installPresenter(this)}async _closeHelp(){(await import("./deck-help.js")).closeHelp(this)}async _renderOverviewIfActive(){if(!this.overview){this._overviewTeardown?.(),this._overviewTeardown=null;return}let{mountOverview:e}=await import("./deck-overview.js");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(o=>o.render?.())}),this.transition&&!this._transitionLoaded&&(this._transitionLoaded=!0,import("./deck-transition.js").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 o=this._maxSteps();n&&(n.innerHTML=o===0?"":Array.from({length:o},(p,y)=>`<div class="dot${y<this.step?" active":""}"></div>`).join(""))}updated(){this._updateUI(),this._renderOverviewIfActive()}_navArrows(){if(this.noArrows||!this._mouseEnabled("arrows")||this.overview)return"";let e=this.slides.length;if(e===0)return"";let r=this.current===0&&this.step===0,i=this.current>=e-1&&this.step>=this._maxSteps();if(this._has2DNav()){let{c:a,i:n}=this._coords(this.current),o=this.chapters[a];return C`<div id="nav-arrows"> <button class="nav-btn" title="Previous chapter" ?disabled=${!this.loop&&this.current===0} @click=${()=>a>0?this._goToCoords(a-1,0):this._back()}>&lsaquo;</button> <button class="nav-btn" title="Up" ?disabled=${n===0} @click=${()=>this._goToCoords(a,n-1)}>&uarr;</button> <button class="nav-btn" title="Down" ?disabled=${!o||n+1>=o.slides.length} @click=${()=>this._goToCoords(a,n+1)}>&darr;</button> <button class="nav-btn" title="Next chapter" ?disabled=${!this.loop&&i} @click=${()=>a+1<this.chapters.length?this._goToCoords(a+1,0):this._advance()}>&rsaquo;</button> </div>`}return C`<div id="nav-arrows"> <button class="nav-btn" title="Previous" ?disabled=${!this.loop&&r} @click=${()=>this._back()}>&lsaquo;</button> <button class="nav-btn" title="Next" ?disabled=${!this.loop&&i} @click=${()=>this._advance()}>&rsaquo;</button> </div>`}render(){return C`<div id="progress"></div> <div id="counter"></div> <div id="step-dots"></div> ${this.noHint?"":C`
4
+ <div id="kb-hint">
5
+ <kbd title="Previous" @click=${()=>this._back()}>←</kbd
6
+ ><kbd title="Next" @click=${()=>this._advance()}>→</kbd>
7
+ ${this._has2DNav()?C`<kbd title="Previous" @click=${()=>this._back()}>↑</kbd ><kbd title="Next" @click=${()=>this._advance()}>↓</kbd>`:""}
3
8
  <span>·</span>
4
9
  <kbd title="Overview" @click=${()=>{this.overview=!this.overview}}>O</kbd>
5
10
  <span>·</span>
6
11
  <kbd title="Presenter" @click=${()=>void this._togglePresenter()}>P</kbd>
7
12
  <span>·</span>
8
13
  <kbd title="Help" @click=${()=>void this._toggleHelp()}>?</kbd>
9
- </div>
14
+ </div>`}
10
15
  ${this._navArrows()}
11
- <slot></slot>
12
- ${this.blank?Y`<div id="blank" data-tone="${this.blank}" @click=${()=>{this.blank=null}}></div>`:""}
13
- `}};c.styles=Ue`: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;cursor:pointer}#kb-hint kbd:hover{border-color:var(--rik-accent)}#kb-hint .sep{opacity:0.4}#nav-arrows{position:fixed;bottom:2.4rem;right:1.5rem;display:flex;gap:4px;z-index:100;opacity:var(--deck-root-nav-opacity,0.35);transition:opacity 0.2s ease}#nav-arrows:hover{opacity:1}.nav-btn{appearance:none;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;font:700 1rem/1 var(--rik-font-mono);color:var(--deck-root-nav-color,var(--rik-text-default));background:var(--deck-root-nav-bg,var(--rik-surface-raised));border:1px solid var(--rik-border-default);border-radius:6px;padding:0}.nav-btn:hover:not(:disabled){border-color:var(--rik-accent)}.nav-btn:disabled{opacity:0.3;cursor:default}#blank{position:fixed;inset:0;z-index:9999;cursor:pointer}#blank[data-tone="black"]{background:#000}#blank[data-tone="white"]{background:#fff}`,t([ie()],c.prototype,"current",2),t([ie()],c.prototype,"step",2),t([ie()],c.prototype,"blank",2),t([T({type:Boolean,reflect:!0})],c.prototype,"overview",2),t([T({type:String,reflect:!0})],c.prototype,"transition",2),t([T({type:Number,reflect:!0})],c.prototype,"autoplay",2),t([T({type:Boolean,reflect:!0})],c.prototype,"loop",2),t([T({type:Boolean,reflect:!0})],c.prototype,"swipe",2),t([T({type:String,reflect:!0,attribute:"mouse-nav"})],c.prototype,"mouseNav",2),t([T({type:String,reflect:!0})],c.prototype,"nav",2),c=t([Ye("deck-root")],c);var v={slide:560,"slide-up":520,"slide-down":520,"slide-right":560,fade:480,zoom:520,flip:560},m="var(--rik-motion__ease-out, cubic-bezier(0.16, 1, 0.3, 1))",We="var(--rik-motion__ease-spring, cubic-bezier(0.5, 1.8, 0.3, 1))",Mr=`
16
+ <div id="stage"><slot></slot></div>
17
+ ${this.blank?C`<div id="blank" data-tone="${this.blank}" @click=${()=>{this.blank=null}}></div>`:""}
18
+ `}};d.styles=Ue`:host{display:block;width:100vw;height:100vh;position:relative;background:var(--deck-root-bg,var(--rik-surface-page))}#stage{position:absolute;inset:0}:host([fixed]){display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--deck-letterbox-bg,var(--deck-root-bg,var(--rik-surface-page)))}:host([fixed]) #stage{position:relative;inset:auto;width:min(100vw,calc(100vh * var(--deck-canvas-w,1920) / var(--deck-canvas-h,1080)));height:min(100vh,calc(100vw * var(--deck-canvas-h,1080) / var(--deck-canvas-w,1920)));container-type:size}#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;cursor:pointer}#kb-hint kbd:hover{border-color:var(--rik-accent)}#kb-hint .sep{opacity:0.4}#nav-arrows{position:fixed;bottom:2.4rem;right:1.5rem;display:flex;gap:4px;z-index:100;opacity:var(--deck-root-nav-opacity,0.35);transition:opacity 0.2s ease}#nav-arrows:hover{opacity:1}.nav-btn{appearance:none;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;font:700 1rem/1 var(--rik-font-mono);color:var(--deck-root-nav-color,var(--rik-text-default));background:var(--deck-root-nav-bg,var(--rik-surface-raised));border:1px solid var(--rik-border-default);border-radius:6px;padding:0}.nav-btn:hover:not(:disabled){border-color:var(--rik-accent)}.nav-btn:disabled{opacity:0.3;cursor:default}#blank{position:fixed;inset:0;z-index:9999;cursor:pointer}#blank[data-tone="black"]{background:#000}#blank[data-tone="white"]{background:#fff}`,t([ie()],d.prototype,"current",2),t([ie()],d.prototype,"step",2),t([ie()],d.prototype,"blank",2),t([h({type:Boolean,reflect:!0})],d.prototype,"overview",2),t([h({type:Boolean,reflect:!0})],d.prototype,"fixed",2),t([h({type:Number})],d.prototype,"width",2),t([h({type:Number})],d.prototype,"height",2),t([h({type:Boolean,reflect:!0,attribute:"no-hint"})],d.prototype,"noHint",2),t([h({type:Boolean,reflect:!0,attribute:"no-arrows"})],d.prototype,"noArrows",2),t([h({type:String,reflect:!0})],d.prototype,"transition",2),t([h({type:Number,reflect:!0})],d.prototype,"autoplay",2),t([h({type:Boolean,reflect:!0})],d.prototype,"loop",2),t([h({type:Boolean,reflect:!0})],d.prototype,"swipe",2),t([h({type:String,reflect:!0,attribute:"mouse-nav"})],d.prototype,"mouseNav",2),t([h({type:String,reflect:!0})],d.prototype,"nav",2),d=t([Ye("deck-root")],d);var v={slide:560,"slide-up":520,"slide-down":520,"slide-right":560,fade:480,zoom:520,flip:560},m="var(--rik-motion__ease-out, cubic-bezier(0.16, 1, 0.3, 1))",We="var(--rik-motion__ease-spring, cubic-bezier(0.5, 1.8, 0.3, 1))",Mr=`
14
19
  /* Incoming \xB7 from right (forward) */
15
20
  @keyframes rk-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
16
21
  /* Outgoing \xB7 pushed off to the left (forward) */
@@ -60,28 +65,28 @@ var Re=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var t=(l,s,e
60
65
  ::slotted([active][class*='rk-enter-']),
61
66
  ::slotted(.rk-leaving) { animation: none; }
62
67
  }
63
- `;var Nr=new URL("./index.js",import.meta.url).href;import{LitElement as Xe,css as Ge,html as Ke}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Fe}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var W=class extends Xe{get notes(){return(this.textContent??"").trim()}render(){return Ke`<slot></slot>`}};W.styles=Ge`:host{display:none}`,W=t([Fe("deck-notes")],W);import{LitElement as Ve,html as C,css as Qe}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as De,property as u}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";import{css as ae}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";var se=ae`: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}`,Je=ae`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)}`,Ze=ae`.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)}`,h=[se,Je,Ze];var d=class extends Ve{render(){let s=(this.brand??"").split("\xB7").map(n=>n.trim()).filter(Boolean),e=s[0]??"",r=s.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>`:""}
64
- ${e?C`<span class="brand-name">${e}</span>`:""}
65
- ${r?C`<span class="brand-context">${r}</span>`:""}
68
+ `;var Nr=new URL("./index.js",import.meta.url).href;import{LitElement as Xe,css as Ge,html as Fe}from"./vendor/lit.js";import{customElement as Je}from"./vendor/lit.js";var W=class extends Xe{get notes(){return(this.textContent??"").trim()}render(){return Fe`<slot></slot>`}};W.styles=Ge`:host{display:none}`,W=t([Je("deck-notes")],W);import{LitElement as Ze,html as I,css as Qe}from"./vendor/lit.js";import{customElement as De,property as f}from"./vendor/lit.js";import{css as ae}from"./vendor/lit.js";var se=ae`: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}`,Ke=ae`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)}`,Ve=ae`.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)}`,u=[se,Ke,Ve];var c=class extends Ze{render(){let s=(this.brand??"").split("\xB7").map(n=>n.trim()).filter(Boolean),e=s[0]??"",r=s.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 I`<div class="brand" part="brand"> ${a?I`<span class="brand-tile"><img src="${this.brandSrc}" alt="${e}"></span>`:""}
69
+ ${e?I`<span class="brand-name">${e}</span>`:""}
70
+ ${r?I`<span class="brand-context">${r}</span>`:""}
66
71
  </div>
67
72
  <slot></slot>
68
- ${i.length?C`<div class="meta" part="meta"> ${i.map(n=>C`
73
+ ${i.length?I`<div class="meta" part="meta"> ${i.map(n=>I`
69
74
  <div class="meta-item"><strong>${n.l}</strong><span>${n.v}</span></div>
70
75
  `)}
71
76
  </div>`:""}
72
- `}};d.styles=[...h,Qe`: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}`],t([u({type:String})],d.prototype,"brand",2),t([u({type:String,attribute:"brand-src"})],d.prototype,"brandSrc",2),t([u({type:String})],d.prototype,"speaker",2),t([u({type:String})],d.prototype,"company",2),t([u({type:String})],d.prototype,"duration",2),t([u({type:String})],d.prototype,"audience",2),t([u({type:String})],d.prototype,"runtime",2),t([u({type:String,attribute:"speaker-label"})],d.prototype,"speakerLabel",2),t([u({type:String,attribute:"company-label"})],d.prototype,"companyLabel",2),t([u({type:String,attribute:"duration-label"})],d.prototype,"durationLabel",2),t([u({type:String,attribute:"audience-label"})],d.prototype,"audienceLabel",2),t([u({type:String,attribute:"runtime-label"})],d.prototype,"runtimeLabel",2),d=t([De("deck-cover")],d);import{LitElement as et,html as ge,css as tt}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as rt,property as it}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var P=class extends et{render(){return ge`${this.num?ge`<div class="sec-num" part="num">${this.num}</div>`:""}
77
+ `}};c.styles=[...u,Qe`: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:2.5rem;height:2.5rem;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,9cqw,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}`],t([f({type:String})],c.prototype,"brand",2),t([f({type:String,attribute:"brand-src"})],c.prototype,"brandSrc",2),t([f({type:String})],c.prototype,"speaker",2),t([f({type:String})],c.prototype,"company",2),t([f({type:String})],c.prototype,"duration",2),t([f({type:String})],c.prototype,"audience",2),t([f({type:String})],c.prototype,"runtime",2),t([f({type:String,attribute:"speaker-label"})],c.prototype,"speakerLabel",2),t([f({type:String,attribute:"company-label"})],c.prototype,"companyLabel",2),t([f({type:String,attribute:"duration-label"})],c.prototype,"durationLabel",2),t([f({type:String,attribute:"audience-label"})],c.prototype,"audienceLabel",2),t([f({type:String,attribute:"runtime-label"})],c.prototype,"runtimeLabel",2),c=t([De("deck-cover")],c);import{LitElement as et,html as ge,css as tt}from"./vendor/lit.js";import{customElement as rt,property as it}from"./vendor/lit.js";var P=class extends et{render(){return ge`${this.num?ge`<div class="sec-num" part="num">${this.num}</div>`:""}
73
78
  <slot></slot>
74
- `}};P.styles=[...h,tt`: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}`],t([it({type:String})],P.prototype,"num",2),P=t([rt("deck-section")],P);import{LitElement as at,html as ke,css as st}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as ot,property as nt}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var I=class extends at{render(){return ke`${this.eyebrow?ke`<span class="lbl">${this.eyebrow}</span>`:""}
79
+ `}};P.styles=[...u,tt`: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:1.25rem;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}`],t([it({type:String})],P.prototype,"num",2),P=t([rt("deck-section")],P);import{LitElement as at,html as ke,css as st}from"./vendor/lit.js";import{customElement as ot,property as nt}from"./vendor/lit.js";var q=class extends at{render(){return ke`${this.eyebrow?ke`<span class="lbl">${this.eyebrow}</span>`:""}
75
80
  <slot name="title"></slot>
76
81
  <slot name="lead"></slot>
77
82
  <div class="body" part="body"><slot></slot></div>
78
- `}};I.styles=[...h,st`: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}`],t([nt({type:String})],I.prototype,"eyebrow",2),I=t([ot("deck-feature")],I);import{LitElement as lt,html as V,css as dt}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as ct,property as Q}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var y=class extends lt{_resolveSp(s){let e=parseInt(s,10);return!Number.isNaN(e)&&e>=1&&e<=6?`var(--rik-space-${e})`:s}updated(){this.gap&&this.style.setProperty("--_gap",this._resolveSp(this.gap)),this.colGap&&this.style.setProperty("--_col-gap",this._resolveSp(this.colGap))}render(){let s=this.querySelector('[slot="a"]'),e=this.cols==="3"||!!s;return V`${this.eyebrow?V`<span class="lbl">${this.eyebrow}</span>`:""}
83
+ `}};q.styles=[...u,st`: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}`],t([nt({type:String})],q.prototype,"eyebrow",2),q=t([ot("deck-feature")],q);import{LitElement as lt,html as Z,css as dt}from"./vendor/lit.js";import{customElement as ct,property as Q}from"./vendor/lit.js";var x=class extends lt{_resolveSp(s){let e=parseInt(s,10);return!Number.isNaN(e)&&e>=1&&e<=6?`var(--rik-space-${e})`:s}updated(){this.gap&&this.style.setProperty("--_gap",this._resolveSp(this.gap)),this.colGap&&this.style.setProperty("--_col-gap",this._resolveSp(this.colGap))}render(){let s=this.querySelector('[slot="a"]'),e=this.cols==="3"||!!s;return Z`${this.eyebrow?Z`<span class="lbl">${this.eyebrow}</span>`:""}
79
84
  <slot name="title"></slot>
80
85
  <slot name="lead"></slot>
81
86
  <div class="body" part="body">
82
- ${e?V`<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>`:V`<div class="col" part="col"><slot name="left"></slot></div> <div class="col" part="col"><slot name="right"></slot></div>`}
87
+ ${e?Z`<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>`:Z`<div class="col" part="col"><slot name="left"></slot></div> <div class="col" part="col"><slot name="right"></slot></div>`}
83
88
  </div>
84
- `}};y.styles=[...h,dt`: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}`],t([Q({type:String})],y.prototype,"eyebrow",2),t([Q({type:String})],y.prototype,"cols",2),t([Q({type:String})],y.prototype,"gap",2),t([Q({type:String,attribute:"col-gap"})],y.prototype,"colGap",2),y=t([ct("deck-split")],y);import{LitElement as pt,html as be,css as vt}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as mt,property as ht}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var j=class extends pt{render(){return be`${this.eyebrow?be`<span class="lbl">${this.eyebrow}</span>`:""}
89
+ `}};x.styles=[...u,dt`: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}`],t([Q({type:String})],x.prototype,"eyebrow",2),t([Q({type:String})],x.prototype,"cols",2),t([Q({type:String})],x.prototype,"gap",2),t([Q({type:String,attribute:"col-gap"})],x.prototype,"colGap",2),x=t([ct("deck-split")],x);import{LitElement as pt,html as be,css as vt}from"./vendor/lit.js";import{customElement as mt,property as ht}from"./vendor/lit.js";var j=class extends pt{render(){return be`${this.eyebrow?be`<span class="lbl">${this.eyebrow}</span>`:""}
85
90
  <slot name="title"></slot>
86
91
  <slot name="lead"></slot>
87
92
  <div class="hero" part="hero"><slot></slot></div>
@@ -89,22 +94,22 @@ var Re=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var t=(l,s,e
89
94
  <div class="col"><slot name="left"></slot></div>
90
95
  <div class="col"><slot name="right"></slot></div>
91
96
  </div>
92
- `}};j.styles=[...h,vt`: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}`],t([ht({type:String})],j.prototype,"eyebrow",2),j=t([mt("deck-feature-cards")],j);import{LitElement as ut,html as ft,css as gt}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as kt,property as X}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var f=class extends ut{updated(){this.position&&this.style.setProperty("--_pos",this.position),typeof this.darken=="number"&&this.style.setProperty("--_dim",String(this.darken));let s=this.align==="top"?"flex-start":this.align==="bottom"?"flex-end":"center";if(this.style.setProperty("--_align",s),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 s=this.src?`background-image: url("${this.src.replace(/"/g,"%22")}")`:"";return ft`<div class="bg" part="bg" style=${s}></div> <div class="overlay" part="overlay"></div> <div class="content" part="content"><slot></slot></div>`}};f.styles=[se,gt`: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}`],t([X({type:String})],f.prototype,"src",2),t([X({type:String})],f.prototype,"position",2),t([X({type:Number})],f.prototype,"darken",2),t([X({type:String})],f.prototype,"align",2),t([X({type:String,attribute:"text-align"})],f.prototype,"textAlign",2),f=t([kt("deck-photo")],f);import{LitElement as bt,html as ye,css as yt}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as xt,property as wt}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var B=class extends bt{render(){return ye`<div class="body" part="body"> ${this.kicker?ye`<span class="kicker on-dark">${this.kicker}</span>`:""}
97
+ `}};j.styles=[...u,vt`: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}`],t([ht({type:String})],j.prototype,"eyebrow",2),j=t([mt("deck-feature-cards")],j);import{LitElement as ut,html as ft,css as gt}from"./vendor/lit.js";import{customElement as kt,property as X}from"./vendor/lit.js";var g=class extends ut{updated(){this.position&&this.style.setProperty("--_pos",this.position),typeof this.darken=="number"&&this.style.setProperty("--_dim",String(this.darken));let s=this.align==="top"?"flex-start":this.align==="bottom"?"flex-end":"center";if(this.style.setProperty("--_align",s),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 s=this.src?`background-image: url("${this.src.replace(/"/g,"%22")}")`:"";return ft`<div class="bg" part="bg" style=${s}></div> <div class="overlay" part="overlay"></div> <div class="content" part="content"><slot></slot></div>`}};g.styles=[se,gt`: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,6cqw,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,3cqw,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}`],t([X({type:String})],g.prototype,"src",2),t([X({type:String})],g.prototype,"position",2),t([X({type:Number})],g.prototype,"darken",2),t([X({type:String})],g.prototype,"align",2),t([X({type:String,attribute:"text-align"})],g.prototype,"textAlign",2),g=t([kt("deck-photo")],g);import{LitElement as bt,html as ye,css as yt}from"./vendor/lit.js";import{customElement as xt,property as wt}from"./vendor/lit.js";var B=class extends bt{render(){return ye`<div class="body" part="body"> ${this.kicker?ye`<span class="kicker on-dark">${this.kicker}</span>`:""}
93
98
  <slot></slot>
94
99
  </div>
95
- `}};B.styles=[...h,yt`: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))}`],t([wt({type:String})],B.prototype,"kicker",2),B=t([xt("deck-takeaway")],B);import{LitElement as _t,html as Et,css as St}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Lt,property as Tt}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var xe={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"/>'},R=class extends _t{render(){let s=this.type??"info",e=xe[s]??xe.info;return Et`<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>`}};R.styles=St`: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)}`,t([Tt({type:String})],R.prototype,"type",2),R=t([Lt("deck-callout")],R);import{LitElement as zt,html as Mt,css as Ht}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as $t,property as oe}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var S=class extends zt{constructor(){super(...arguments);this.center=!1;this.compact=!1}render(){return Mt`<slot></slot>`}};S.styles=Ht`: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)}`,t([oe({type:String})],S.prototype,"color",2),t([oe({type:Boolean})],S.prototype,"center",2),t([oe({type:Boolean})],S.prototype,"compact",2),S=t([$t("deck-card")],S);import{LitElement as At,html as Nt,css as Ct}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Pt,state as It}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";import{marked as we}from"https://cdn.jsdelivr.net/npm/marked@12/+esm";we.setOptions({gfm:!0,breaks:!1});var O=class extends At{constructor(){super(...arguments);this._html=""}connectedCallback(){super.connectedCallback(),this._parse()}_parse(){let e=this.textContent??"",r=e.split(`
100
+ `}};B.styles=[...u,yt`: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:75cqw}::slotted(.display){font-family:var(--rik-font-display,var(--rik-font-sans));font-size:clamp(3rem,7cqw,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))}`],t([wt({type:String})],B.prototype,"kicker",2),B=t([xt("deck-takeaway")],B);import{LitElement as _t,html as Et,css as St}from"./vendor/lit.js";import{customElement as Lt,property as Tt}from"./vendor/lit.js";var xe={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"/>'},O=class extends _t{render(){let s=this.type??"info",e=xe[s]??xe.info;return Et`<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>`}};O.styles=St`: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)}`,t([Tt({type:String})],O.prototype,"type",2),O=t([Lt("deck-callout")],O);import{LitElement as zt,html as Mt,css as Ht}from"./vendor/lit.js";import{customElement as $t,property as oe}from"./vendor/lit.js";var L=class extends zt{constructor(){super(...arguments);this.center=!1;this.compact=!1}render(){return Mt`<slot></slot>`}};L.styles=Ht`: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)}`,t([oe({type:String})],L.prototype,"color",2),t([oe({type:Boolean})],L.prototype,"center",2),t([oe({type:Boolean})],L.prototype,"compact",2),L=t([$t("deck-card")],L);import{LitElement as At,html as Nt,css as Ct}from"./vendor/lit.js";import{customElement as It,state as Pt}from"./vendor/lit.js";import{marked as we}from"./vendor/marked.js";we.setOptions({gfm:!0,breaks:!1});var R=class extends At{constructor(){super(...arguments);this._html=""}connectedCallback(){super.connectedCallback(),this._parse()}_parse(){let e=this.textContent??"",r=e.split(`
96
101
  `),i=r.filter(n=>n.trim().length>0).reduce((n,o)=>Math.min(n,o.match(/^ */)?.[0].length??0),1/0),a=i===1/0?e:r.map(n=>n.slice(i)).join(`
97
- `);this._html=we.parse(a.trim()),this.textContent=""}render(){return Nt`<div class="content" .innerHTML="${this._html}"></div>`}};O.styles=Ct`: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}`,t([It()],O.prototype,"_html",2),O=t([Pt("deck-md")],O);import{LitElement as jt,html as Bt,css as Rt}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Ot,property as qt,state as Ut}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var _e=!1;async function Yt(){_e||(window.mermaid||await new Promise((l,s)=>{let e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js",e.onload=()=>l(),e.onerror=()=>s(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"}),_e=!0)}var Wt=0,z=class extends jt{constructor(){super(...arguments);this.rendered=!1;this._svg="";this._source="";this._renderPromise=null}get renderedSvg(){return this._svg}get whenRendered(){return this._renderPromise??Promise.resolve()}connectedCallback(){super.connectedCallback(),this._source=(this.textContent??"").trim();let e=this._source.split(`
102
+ `);this._html=we.parse(a.trim()),this.textContent=""}render(){return Nt`<div class="content" .innerHTML="${this._html}"></div>`}};R.styles=Ct`: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}`,t([Pt()],R.prototype,"_html",2),R=t([It("deck-md")],R);import{LitElement as qt,html as jt,css as Bt}from"./vendor/lit.js";import{customElement as Ot,property as Rt,state as Ut}from"./vendor/lit.js";var _e=!1;async function Yt(){_e||(window.mermaid||await new Promise((l,s)=>{let e=document.createElement("script");e.src=new URL("./vendor/mermaid.min.js",import.meta.url).href,e.onload=()=>l(),e.onerror=()=>s(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"}),_e=!0)}var Wt=0,z=class extends qt{constructor(){super(...arguments);this.rendered=!1;this._svg="";this._source="";this._renderPromise=null}get renderedSvg(){return this._svg}get whenRendered(){return this._renderPromise??Promise.resolve()}connectedCallback(){super.connectedCallback(),this._source=(this.textContent??"").trim();let e=this._source.split(`
98
103
  `),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(`
99
- `)),this._renderPromise=this._render()}async _render(){if(!this._source)return;await Yt();let e=`mmd-${++Wt}`;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 Bt`<div class="canvas" .innerHTML="${this._svg}"></div>`}};z.styles=Rt`: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}`,t([qt({type:Boolean,reflect:!0})],z.prototype,"rendered",2),t([Ut()],z.prototype,"_svg",2),z=t([Ot("deck-mermaid")],z);import{LitElement as Xt,html as Ee,css as Gt}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Kt,property as Se}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var Ft={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)"},M=class extends Xt{updated(){this.tone?this.style.setProperty("--_c",Ft[this.tone]??this.tone):this.style.removeProperty("--_c")}render(){return Ee`${this.num?Ee`<div class="num" part="num">${this.num}</div>`:""}
104
+ `)),this._renderPromise=this._render()}async _render(){if(!this._source)return;await Yt();let e=`mmd-${++Wt}`;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 jt`<div class="canvas" .innerHTML="${this._svg}"></div>`}};z.styles=Bt`: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:60cqh}:host([compact]) .canvas{max-width:60%}:host([compact]) .canvas svg{max-height:22cqh}`,t([Rt({type:Boolean,reflect:!0})],z.prototype,"rendered",2),t([Ut()],z.prototype,"_svg",2),z=t([Ot("deck-mermaid")],z);import{LitElement as Xt,html as Ee,css as Gt}from"./vendor/lit.js";import{customElement as Ft,property as Se}from"./vendor/lit.js";var Jt={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)"},M=class extends Xt{updated(){this.tone?this.style.setProperty("--_c",Jt[this.tone]??this.tone):this.style.removeProperty("--_c")}render(){return Ee`${this.num?Ee`<div class="num" part="num">${this.num}</div>`:""}
100
105
  <slot name="claim"></slot>
101
106
  <div class="body" part="body"><slot></slot></div>
102
- `}};M.styles=Gt`: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)}`,t([Se({type:String})],M.prototype,"num",2),t([Se({type:String})],M.prototype,"tone",2),M=t([Kt("deck-stat")],M);import{LitElement as Le,html as Te,css as ze}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Me,property as ne}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var G=class extends Le{render(){return Te`<slot></slot>`}};G.styles=ze`:host{display:flex;flex-direction:column;gap:var(--rik-space-2)}`,G=t([Me("deck-metric-list")],G);var L=class extends Le{constructor(){super(...arguments);this.mono=!1}render(){return Te`<span class="label ${this.mono?"mono":""}"><slot></slot></span> <span class="value" data-severity="${this.severity??""}">${this.value}</span>`}};L.styles=ze`: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))}`,t([ne({type:String})],L.prototype,"value",2),t([ne({type:String})],L.prototype,"severity",2),t([ne({type:Boolean})],L.prototype,"mono",2),L=t([Me("deck-metric")],L);import{LitElement as le,html as de,css as ce}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as pe,property as D}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var K=class extends le{render(){return de`<slot></slot>`}};K.styles=ce`:host{display:flex;flex-direction:column;gap:var(--rik-space-2xs)}`,K=t([pe("deck-tier-list")],K);var x=class extends le{constructor(){super(...arguments);this.hot=!1}render(){return de`<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>`}};x.styles=ce`: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}`,t([D({type:String})],x.prototype,"name",2),t([D({type:String})],x.prototype,"speed",2),t([D({type:String})],x.prototype,"severity",2),t([D({type:Boolean,reflect:!0})],x.prototype,"hot",2),x=t([pe("deck-tier")],x);var F=class extends le{render(){return de`<slot></slot>`}};F.styles=ce`: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}`,F=t([pe("deck-tier-arrow")],F);import{LitElement as $e,html as ve,css as Ae}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Ne,property as He}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var J=class extends $e{render(){return ve`<slot></slot>`}};J.styles=Ae`:host{display:flex;flex-direction:column;gap:var(--rik-space-2xs)}`,J=t([Ne("deck-step-list")],J);var H=class extends $e{render(){return ve`<span class="step-num">${this.n}</span> <span class="label"><slot></slot></span> ${this.note?ve`<span class="chip">${this.note}</span>`:""}
103
- `}};H.styles=Ae`: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)}`,t([He({type:String})],H.prototype,"n",2),t([He({type:String})],H.prototype,"note",2),H=t([Ne("deck-step")],H);import{LitElement as me,html as A,css as he}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as ue,property as N}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var q=class extends me{render(){return A`<slot></slot>`}};q.styles=he`: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)}`,t([N({type:String})],q.prototype,"tone",2),q=t([ue("deck-kbd")],q);var w=class extends me{render(){let s=(this.keys??"").trim().split(/\s+/).filter(Boolean);return A`<span class="keys" part="keys"> ${s.map(e=>A`<span class="k">${e}</span>`)}
107
+ `}};M.styles=Gt`: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,7cqw,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)}`,t([Se({type:String})],M.prototype,"num",2),t([Se({type:String})],M.prototype,"tone",2),M=t([Ft("deck-stat")],M);import{LitElement as Le,html as Te,css as ze}from"./vendor/lit.js";import{customElement as Me,property as ne}from"./vendor/lit.js";var G=class extends Le{render(){return Te`<slot></slot>`}};G.styles=ze`:host{display:flex;flex-direction:column;gap:var(--rik-space-2)}`,G=t([Me("deck-metric-list")],G);var T=class extends Le{constructor(){super(...arguments);this.mono=!1}render(){return Te`<span class="label ${this.mono?"mono":""}"><slot></slot></span> <span class="value" data-severity="${this.severity??""}">${this.value}</span>`}};T.styles=ze`: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))}`,t([ne({type:String})],T.prototype,"value",2),t([ne({type:String})],T.prototype,"severity",2),t([ne({type:Boolean})],T.prototype,"mono",2),T=t([Me("deck-metric")],T);import{LitElement as le,html as de,css as ce}from"./vendor/lit.js";import{customElement as pe,property as D}from"./vendor/lit.js";var F=class extends le{render(){return de`<slot></slot>`}};F.styles=ce`:host{display:flex;flex-direction:column;gap:var(--rik-space-2xs)}`,F=t([pe("deck-tier-list")],F);var w=class extends le{constructor(){super(...arguments);this.hot=!1}render(){return de`<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=ce`: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}`,t([D({type:String})],w.prototype,"name",2),t([D({type:String})],w.prototype,"speed",2),t([D({type:String})],w.prototype,"severity",2),t([D({type:Boolean,reflect:!0})],w.prototype,"hot",2),w=t([pe("deck-tier")],w);var J=class extends le{render(){return de`<slot></slot>`}};J.styles=ce`: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}`,J=t([pe("deck-tier-arrow")],J);import{LitElement as $e,html as ve,css as Ae}from"./vendor/lit.js";import{customElement as Ne,property as He}from"./vendor/lit.js";var K=class extends $e{render(){return ve`<slot></slot>`}};K.styles=Ae`:host{display:flex;flex-direction:column;gap:var(--rik-space-2xs)}`,K=t([Ne("deck-step-list")],K);var H=class extends $e{render(){return ve`<span class="step-num">${this.n}</span> <span class="label"><slot></slot></span> ${this.note?ve`<span class="chip">${this.note}</span>`:""}
108
+ `}};H.styles=Ae`: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)}`,t([He({type:String})],H.prototype,"n",2),t([He({type:String})],H.prototype,"note",2),H=t([Ne("deck-step")],H);import{LitElement as me,html as A,css as he}from"./vendor/lit.js";import{customElement as ue,property as N}from"./vendor/lit.js";var U=class extends me{render(){return A`<slot></slot>`}};U.styles=he`: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)}`,t([N({type:String})],U.prototype,"tone",2),U=t([ue("deck-kbd")],U);var _=class extends me{render(){let s=(this.keys??"").trim().split(/\s+/).filter(Boolean);return A`<span class="keys" part="keys"> ${s.map(e=>A`<span class="k">${e}</span>`)}
104
109
  </span>
105
110
  <div class="body" part="body">
106
111
  ${this.label?A`<div class="label">${this.label}</div>`:""}
107
112
  ${this.note?A`<div class="note">${this.note}</div>`:A`<div class="note"><slot></slot></div>`}
108
113
  </div>
109
- `}};w.styles=he`: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)}`,t([N({type:String})],w.prototype,"keys",2),t([N({type:String})],w.prototype,"label",2),t([N({type:String})],w.prototype,"note",2),t([N({type:String})],w.prototype,"tone",2),w=t([ue("deck-shortcut")],w);var $=class extends me{updated(){if(this.colGap){let s=parseInt(this.colGap,10),e=!Number.isNaN(s)&&s>=1&&s<=6?`var(--sp-${s})`:this.colGap;this.style.setProperty("--_col-gap",e)}}render(){return A`<slot></slot>`}};$.styles=he`: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)}`,t([N({type:String})],$.prototype,"cols",2),t([N({type:String,attribute:"col-gap"})],$.prototype,"colGap",2),$=t([ue("deck-shortcut-list")],$);import{LitElement as Jt,html as Zt,css as Vt}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as Qt,property as ee}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var Dt={start:"flex-start",center:"center",end:"flex-end",between:"space-between",around:"space-around"},er={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"},_=class extends Jt{updated(){if(this.gap){let s=parseInt(this.gap,10);!Number.isNaN(s)&&s>=1&&s<=6?this.style.setProperty("--_gap",`var(--rik-space-${s})`):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",er[this.align]??this.align),this.justify&&this.style.setProperty("--_justify",Dt[this.justify]??this.justify)}render(){return Zt`<slot></slot>`}};_.styles=Vt`: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}`,t([ee({type:String})],_.prototype,"gap",2),t([ee({type:String})],_.prototype,"direction",2),t([ee({type:String})],_.prototype,"align",2),t([ee({type:String})],_.prototype,"justify",2),_=t([Qt("deck-stack")],_);import{LitElement as tr,html as rr,css as ir}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as ar,property as Z}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var Ce={start:"start",center:"center",end:"end",stretch:"stretch"};function Pe(l){if(!l)return null;let s=parseInt(l,10);return!Number.isNaN(s)&&String(s)===l.trim()&&s>=1&&s<=12?`repeat(${s}, minmax(0, 1fr))`:l}function sr(l){if(!l)return null;let s=parseInt(l,10);return!Number.isNaN(s)&&s>=1&&s<=6?`var(--rik-space-${s})`:l}var g=class extends tr{updated(){let s=Pe(this.cols),e=Pe(this.rows),r=sr(this.gap);s&&this.style.setProperty("--_cols",s),e&&this.style.setProperty("--_rows",e),r&&this.style.setProperty("--_gap",r),this.align&&this.style.setProperty("--_align",Ce[this.align]??this.align),this.justify&&this.style.setProperty("--_justify",Ce[this.justify]??this.justify)}render(){return rr`<slot></slot>`}};g.styles=ir`: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%}`,t([Z({type:String})],g.prototype,"cols",2),t([Z({type:String})],g.prototype,"rows",2),t([Z({type:String})],g.prototype,"gap",2),t([Z({type:String})],g.prototype,"align",2),t([Z({type:String})],g.prototype,"justify",2),g=t([ar("deck-grid")],g);import{LitElement as or,html as nr,css as lr}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as dr,property as cr}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var U=class extends or{render(){return nr`<slot></slot>`}};U.styles=lr`: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)}`,t([cr({type:String})],U.prototype,"type",2),U=t([dr("deck-badge")],U);import{LitElement as pr,html as vr,css as mr}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";var fe=class extends pr{static{this.styles=mr`: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 vr`<slot></slot>`}};customElements.define("deck-kicker",fe);import{LitElement as hr,html as ur,css as fr}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as gr,property as te}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";var Ie={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)"},je={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)"},E=class extends hr{updated(){this.tone&&Ie[this.tone]?this.style.setProperty("--_color",Ie[this.tone]):this.style.removeProperty("--_color"),this.size&&je[this.size]?this.style.setProperty("--_size",je[this.size]):this.style.removeProperty("--_size")}render(){return ur`<slot></slot>`}};E.styles=fr`: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}`,t([te({type:String})],E.prototype,"tone",2),t([te({type:String})],E.prototype,"size",2),t([te({type:String,reflect:!0})],E.prototype,"weight",2),t([te({type:String,reflect:!0})],E.prototype,"align",2),E=t([gr("deck-punch")],E);import{LitElement as kr,html as br,css as yr}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";import{customElement as xr,property as re,state as wr}from"https://cdn.jsdelivr.net/npm/lit@3/decorators.js/+esm";function _r(l,s){let e=l.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),r=[],i=(o,p)=>{let b="P"+r.length+"E";return r.push('<span class="'+o+'">'+p+"</span>"),b};return s==="html"||s==="xml"||s==="svg"?(e=e.replace(/(&lt;!--[\s\S]*?--&gt;)/g,o=>i("cmt",o)),e=e.replace(/(&lt;!doctype[^&]*&gt;)/gi,o=>i("cmt",o)),e=e.replace(/("[^"]*"|'[^']*')/g,o=>i("str",o)),e=e.replace(/(&lt;\/?)([a-zA-Z][a-zA-Z0-9:-]*)/g,(o,p,b)=>p+i("kw",b)),e=e.replace(/\b([a-zA-Z][a-zA-Z0-9-]*)(?==)/g,o=>i("prop",o))):s==="css"||s==="scss"||s==="less"?(e=e.replace(/(\/\*[\s\S]*?\*\/)/g,o=>i("cmt",o)),e=e.replace(/("[^"]*"|'[^']*')/g,o=>i("str",o)),e=e.replace(/([a-zA-Z-]+)(?=\s*:)/g,o=>i("prop",o)),e=e.replace(/(#[0-9a-fA-F]{3,8})\b/g,o=>i("num",o)),e=e.replace(/\b(\d+(?:\.\d+)?)(px|rem|em|%|vh|vw|vmin|vmax|s|ms|deg)?/g,(o,p,b)=>i("num",p+(b??"")))):(e=e.replace(/(\/\/[^\n]*)/g,o=>i("cmt",o)),e=e.replace(/(['"`])((?:\\.|(?!\1)[^\\])*)\1/g,o=>i("str",o)),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,o=>i("kw",o)),e=e.replace(/\b(\d+(?:\.\d+)?)\b/g,o=>i("num",o))),e=e.replace(/P(\d+)E/g,(o,p)=>r[+p]??""),e}var k=class extends kr{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(`
110
- `);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,o)=>Math.min(n,o.match(/^ */)?.[0].length??0),1/0),a=i===1/0?r:r.map(n=>n.slice(i));this._html=a.map((n,o)=>'<span class="line" data-line="'+(o+1)+'">'+_r(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 br`<pre><code .innerHTML="${this._html}"></code></pre>`}};k.styles=yr`: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))}`,t([re({type:String})],k.prototype,"lang",2),t([re({type:Boolean,reflect:!0})],k.prototype,"hero",2),t([re({type:Boolean,reflect:!0})],k.prototype,"nested",2),t([re({type:String,attribute:"step-groups"})],k.prototype,"stepGroups",2),t([wr()],k.prototype,"_html",2),k=t([xr("deck-code")],k);new URLSearchParams(location.search).has("live")&&import("./livereload.js");
114
+ `}};_.styles=he`: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)}`,t([N({type:String})],_.prototype,"keys",2),t([N({type:String})],_.prototype,"label",2),t([N({type:String})],_.prototype,"note",2),t([N({type:String})],_.prototype,"tone",2),_=t([ue("deck-shortcut")],_);var $=class extends me{updated(){if(this.colGap){let s=parseInt(this.colGap,10),e=!Number.isNaN(s)&&s>=1&&s<=6?`var(--sp-${s})`:this.colGap;this.style.setProperty("--_col-gap",e)}}render(){return A`<slot></slot>`}};$.styles=he`: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)}`,t([N({type:String})],$.prototype,"cols",2),t([N({type:String,attribute:"col-gap"})],$.prototype,"colGap",2),$=t([ue("deck-shortcut-list")],$);import{LitElement as Kt,html as Vt,css as Zt}from"./vendor/lit.js";import{customElement as Qt,property as ee}from"./vendor/lit.js";var Dt={start:"flex-start",center:"center",end:"flex-end",between:"space-between",around:"space-around"},er={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"},E=class extends Kt{updated(){if(this.gap){let s=parseInt(this.gap,10);!Number.isNaN(s)&&s>=1&&s<=6?this.style.setProperty("--_gap",`var(--rik-space-${s})`):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",er[this.align]??this.align),this.justify&&this.style.setProperty("--_justify",Dt[this.justify]??this.justify)}render(){return Vt`<slot></slot>`}};E.styles=Zt`: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}`,t([ee({type:String})],E.prototype,"gap",2),t([ee({type:String})],E.prototype,"direction",2),t([ee({type:String})],E.prototype,"align",2),t([ee({type:String})],E.prototype,"justify",2),E=t([Qt("deck-stack")],E);import{LitElement as tr,html as rr,css as ir}from"./vendor/lit.js";import{customElement as ar,property as V}from"./vendor/lit.js";var Ce={start:"start",center:"center",end:"end",stretch:"stretch"};function Ie(l){if(!l)return null;let s=parseInt(l,10);return!Number.isNaN(s)&&String(s)===l.trim()&&s>=1&&s<=12?`repeat(${s}, minmax(0, 1fr))`:l}function sr(l){if(!l)return null;let s=parseInt(l,10);return!Number.isNaN(s)&&s>=1&&s<=6?`var(--rik-space-${s})`:l}var k=class extends tr{updated(){let s=Ie(this.cols),e=Ie(this.rows),r=sr(this.gap);s&&this.style.setProperty("--_cols",s),e&&this.style.setProperty("--_rows",e),r&&this.style.setProperty("--_gap",r),this.align&&this.style.setProperty("--_align",Ce[this.align]??this.align),this.justify&&this.style.setProperty("--_justify",Ce[this.justify]??this.justify)}render(){return rr`<slot></slot>`}};k.styles=ir`: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%}`,t([V({type:String})],k.prototype,"cols",2),t([V({type:String})],k.prototype,"rows",2),t([V({type:String})],k.prototype,"gap",2),t([V({type:String})],k.prototype,"align",2),t([V({type:String})],k.prototype,"justify",2),k=t([ar("deck-grid")],k);import{LitElement as or,html as nr,css as lr}from"./vendor/lit.js";import{customElement as dr,property as cr}from"./vendor/lit.js";var Y=class extends or{render(){return nr`<slot></slot>`}};Y.styles=lr`: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)}`,t([cr({type:String})],Y.prototype,"type",2),Y=t([dr("deck-badge")],Y);import{LitElement as pr,html as vr,css as mr}from"./vendor/lit.js";var fe=class extends pr{static{this.styles=mr`: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 vr`<slot></slot>`}};customElements.define("deck-kicker",fe);import{LitElement as hr,html as ur,css as fr}from"./vendor/lit.js";import{customElement as gr,property as te}from"./vendor/lit.js";var Pe={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)"},qe={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, 6cqw, 5rem)"},S=class extends hr{updated(){this.tone&&Pe[this.tone]?this.style.setProperty("--_color",Pe[this.tone]):this.style.removeProperty("--_color"),this.size&&qe[this.size]?this.style.setProperty("--_size",qe[this.size]):this.style.removeProperty("--_size")}render(){return ur`<slot></slot>`}};S.styles=fr`: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}`,t([te({type:String})],S.prototype,"tone",2),t([te({type:String})],S.prototype,"size",2),t([te({type:String,reflect:!0})],S.prototype,"weight",2),t([te({type:String,reflect:!0})],S.prototype,"align",2),S=t([gr("deck-punch")],S);import{LitElement as kr,html as br,css as yr}from"./vendor/lit.js";import{customElement as xr,property as re,state as wr}from"./vendor/lit.js";function _r(l,s){let e=l.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),r=[],i=(o,p)=>{let y="P"+r.length+"E";return r.push('<span class="'+o+'">'+p+"</span>"),y};return s==="html"||s==="xml"||s==="svg"?(e=e.replace(/(&lt;!--[\s\S]*?--&gt;)/g,o=>i("cmt",o)),e=e.replace(/(&lt;!doctype[^&]*&gt;)/gi,o=>i("cmt",o)),e=e.replace(/("[^"]*"|'[^']*')/g,o=>i("str",o)),e=e.replace(/(&lt;\/?)([a-zA-Z][a-zA-Z0-9:-]*)/g,(o,p,y)=>p+i("kw",y)),e=e.replace(/\b([a-zA-Z][a-zA-Z0-9-]*)(?==)/g,o=>i("prop",o))):s==="css"||s==="scss"||s==="less"?(e=e.replace(/(\/\*[\s\S]*?\*\/)/g,o=>i("cmt",o)),e=e.replace(/("[^"]*"|'[^']*')/g,o=>i("str",o)),e=e.replace(/([a-zA-Z-]+)(?=\s*:)/g,o=>i("prop",o)),e=e.replace(/(#[0-9a-fA-F]{3,8})\b/g,o=>i("num",o)),e=e.replace(/\b(\d+(?:\.\d+)?)(px|rem|em|%|vh|vw|vmin|vmax|s|ms|deg)?/g,(o,p,y)=>i("num",p+(y??"")))):(e=e.replace(/(\/\/[^\n]*)/g,o=>i("cmt",o)),e=e.replace(/(['"`])((?:\\.|(?!\1)[^\\])*)\1/g,o=>i("str",o)),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,o=>i("kw",o)),e=e.replace(/\b(\d+(?:\.\d+)?)\b/g,o=>i("num",o))),e=e.replace(/P(\d+)E/g,(o,p)=>r[+p]??""),e}var b=class extends kr{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(`
115
+ `);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,o)=>Math.min(n,o.match(/^ */)?.[0].length??0),1/0),a=i===1/0?r:r.map(n=>n.slice(i));this._html=a.map((n,o)=>'<span class="line" data-line="'+(o+1)+'">'+_r(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 br`<pre><code .innerHTML="${this._html}"></code></pre>`}};b.styles=yr`: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))}`,t([re({type:String})],b.prototype,"lang",2),t([re({type:Boolean,reflect:!0})],b.prototype,"hero",2),t([re({type:Boolean,reflect:!0})],b.prototype,"nested",2),t([re({type:String,attribute:"step-groups"})],b.prototype,"stepGroups",2),t([wr()],b.prototype,"_html",2),b=t([xr("deck-code")],b);new URLSearchParams(location.search).has("live")&&import("./livereload.js");
@@ -3,8 +3,6 @@ interface InstallOpts {
3
3
  theme?: string;
4
4
  /** Languages to preload · default ['ts', 'js', 'html', 'css', 'json']. */
5
5
  langs?: string[];
6
- /** Override the esm.sh CDN base if you mirror Shiki yourself. */
7
- cdn?: string;
8
6
  }
9
7
  export declare function installShiki(opts?: InstallOpts): Promise<void>;
10
8
  export {};
@@ -7,6 +7,19 @@ export declare class DeckRoot extends LitElement {
7
7
  * keys). Pressing any key dismisses it · same convention as PowerPoint. */
8
8
  blank: 'black' | 'white' | null;
9
9
  overview: boolean;
10
+ /** Fixed-viewport mode · the deck renders into a fixed-aspect canvas that is
11
+ * letterboxed to fit any screen, so layouts never reflow between displays.
12
+ * Opt-in · the default stays fluid (100vw × 100vh). */
13
+ fixed: boolean;
14
+ /** Logical canvas size for fixed mode · defaults to 1920 × 1080 (16:9).
15
+ * Only the ratio and the rem baseline depend on these · the canvas is then
16
+ * scaled by CSS to fill the window. */
17
+ width: number;
18
+ height: number;
19
+ /** Hide the bottom-left keyboard-hint chip (the ←/→ · O · P · ? row). */
20
+ noHint: boolean;
21
+ /** Hide the bottom-right on-screen previous/next navigation arrows. */
22
+ noArrows: boolean;
10
23
  /** Optional slide transition · "slide" | "fade" | "zoom". When set, the
11
24
  * deck-transition.js plugin is fetched on first navigation. Per-slide
12
25
  * override available via `data-transition` on the slide host. */
@@ -42,6 +55,16 @@ export declare class DeckRoot extends LitElement {
42
55
  private _wheelAccum;
43
56
  private _wheelLockUntil;
44
57
  firstUpdated(): void;
58
+ /** Confine author `<style scoped>` blocks to their own slide. A light-DOM
59
+ * <style> is a global stylesheet by default, so a per-slide tweak would
60
+ * bleed across the whole deck. Wrapping its body in a native @scope rule
61
+ * (whose implicit root is the style's parent slide) limits it to that slide
62
+ * with no selector rewriting · plain CSS inside keeps working unchanged. */
63
+ private _scopeSlideStyles;
64
+ /** Publish the logical canvas size on the document root so both the
65
+ * `html:has(deck-root[fixed])` font-size rule and the shadow `#stage`
66
+ * (via custom-property inheritance) size against the same numbers. */
67
+ private _applyCanvasVars;
45
68
  disconnectedCallback(): void;
46
69
  private _startAutoplay;
47
70
  private _stopAutoplay;
@@ -1 +1 @@
1
- import{css as r}from"https://cdn.jsdelivr.net/npm/lit@3/+esm";var e=r`: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}`,t=r`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)}`,a=r`.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)}`,i=[e,t,a];export{a as helpers,i as slideBase,e as slideShell,t as typo};
1
+ import{css as r}from"./vendor/lit.js";var e=r`: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}`,t=r`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)}`,a=r`.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)}`,i=[e,t,a];export{a as helpers,i as slideBase,e as slideShell,t as typo};
package/dist/shiki.js CHANGED
@@ -1 +1 @@
1
- var i=null,l="one-dark-pro";async function c(t){if(i)return i;let{createHighlighter:n}=await import(`${t.cdn}shiki@1.24.0`);return i=await n({themes:[t.theme],langs:t.langs}),i}function d(t){return t.replace(/ style="[^"]*"/g,"")}async function u(t={}){let n={theme:t.theme??"one-dark-pro",langs:t.langs??["ts","js","html","css","json"],cdn:t.cdn??"https://esm.sh/"};l=n.theme;let o=await c(n),r=customElements.get("deck-code");if(!r){console.warn("[rikiki/shiki] <deck-code> is not defined yet \xB7 import rikiki first");return}let s=r.prototype,h=s._highlight;s._highlight=function(){let e=this,g=e.textContent??"";try{let a=o.codeToHtml(g,{lang:e.lang||"txt",theme:l}).replace(/^<pre[^>]*><code[^>]*>/,"").replace(/<\/code><\/pre>$/,"");e._html=d(a)}catch{h.call(this)}},document.querySelectorAll("deck-code").forEach(e=>{e._highlight?.(),e.requestUpdate?.()})}export{u as installShiki};
1
+ var i=null,l="one-dark-pro";async function c(t){return i||(i=await(globalThis.__rikikiShiki??(await import(new URL("./vendor/shiki.js",import.meta.url).href)).createHighlighter)({themes:[t.theme],langs:t.langs}),i)}function d(t){return t.replace(/ style="[^"]*"/g,"")}async function u(t={}){let n={theme:t.theme??"one-dark-pro",langs:t.langs??["ts","js","html","css","json"]};l=n.theme;let r=await c(n),o=customElements.get("deck-code");if(!o){console.warn("[rikiki/shiki] <deck-code> is not defined yet \xB7 import rikiki first");return}let s=o.prototype,h=s._highlight;s._highlight=function(){let e=this,g=e.textContent??"";try{let a=r.codeToHtml(g,{lang:e.lang||"txt",theme:l}).replace(/^<pre[^>]*><code[^>]*>/,"").replace(/<\/code><\/pre>$/,"");e._html=d(a)}catch{h.call(this)}},document.querySelectorAll("deck-code").forEach(e=>{e._highlight?.(),e.requestUpdate?.()})}export{u as installShiki};