nyc-pres / presentation.html
evalstate's picture
evalstate HF Staff
Update rebuilt presentation.html
6882e3e verified
<!DOCTYPE html><html lang="C"><head><title>Shaun Smith `@evalstate`</title><meta property="og:title" content="Shaun Smith `@evalstate`"><meta charset="UTF-8"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><meta http-equiv="X-UA-Compatible" content="ie=edge"><meta property="og:type" content="website"><meta name="twitter:card" content="summary"><style>@media screen{body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=overview] button.bespoke-marp-overview-close,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page-area .bespoke-marp-presenter-info-page,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{appearance:none;background-color:initial;border:0;color:inherit;cursor:pointer;font-size:inherit;opacity:.8;outline:none;padding:0;transition:opacity .2s linear;-webkit-tap-highlight-color:transparent}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=overview] button.bespoke-marp-overview-close:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page-area .bespoke-marp-presenter-info-page:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:disabled{cursor:not-allowed;opacity:.15!important}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=overview] button.bespoke-marp-overview-close:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page-area .bespoke-marp-presenter-info-page:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover{opacity:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=overview] button.bespoke-marp-overview-close:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page-area .bespoke-marp-presenter-info-page:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:active{opacity:.6}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=overview] button.bespoke-marp-overview-close:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page-area .bespoke-marp-presenter-info-page:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:not(:disabled){transition:none}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-prev{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNjggOTAgMjggNTBsNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-next{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJtMzIgOTAgNDAtNDAtNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen]{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgeD0iMTAiIHk9IjIwIiBjbGFzcz0iYSIgcng9IjUuNjciLz48cGF0aCBkPSJNNDAgNzBIMjBWNTBtMjAgMEwyMCA3MG00MC00MGgyMHYyMG0tMjAgMCAyMC0yMCIgY2xhc3M9ImEiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen]{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgeD0iMTAiIHk9IjIwIiBjbGFzcz0iYSIgcng9IjUuNjciLz48cGF0aCBkPSJNMjAgNTBoMjB2MjBtLTIwIDAgMjAtMjBtNDAgMEg2MFYzMG0yMCAwTDYwIDUwIiBjbGFzcz0iYSIvPjwvc3ZnPg==")}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter]{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNODcuOCA0Ny41Qzg5IDUwIDg3LjcgNTIgODUgNTJIMzVhOC43IDguNyAwIDAgMS03LjItNC41bC0xNS42LTMxQzExIDE0IDEyLjIgMTIgMTUgMTJoNTBhOC44IDguOCAwIDAgMSA3LjIgNC41ek02MCA1MnYzNm0tMTAgMGgyME00NSA0MmgyMCIvPjwvc3ZnPg==") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=overview] button.bespoke-marp-overview-close,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button.bespoke-marp-presenter-note-bigger{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMTIgNTBoODBNNTIgOTBWMTAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button.bespoke-marp-presenter-note-smaller{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMTIgNTBoODAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=overview],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=overview]{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4O3J4OjVweDtyeTo1cHg7d2lkdGg6MjVweDtoZWlnaHQ6MjVweH08L3N0eWxlPjwvZGVmcz48cmVjdCB4PSIyMCIgeT0iMjAiIGNsYXNzPSJhIi8+PHJlY3QgeD0iNTUiIHk9IjIwIiBjbGFzcz0iYSIvPjxyZWN0IHg9IjIwIiB5PSI1NSIgY2xhc3M9ImEiLz48cmVjdCB4PSI1NSIgeT0iNTUiIGNsYXNzPSJhIi8+PC9zdmc+") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}}@keyframes __bespoke_marp_transition_reduced_outgoing__{0%{opacity:1}to{opacity:0}}@keyframes __bespoke_marp_transition_reduced_incoming__{0%{mix-blend-mode:plus-lighter;opacity:0}to{mix-blend-mode:plus-lighter;opacity:1}}.bespoke-marp-note,.bespoke-marp-osc,.bespoke-progress-parent{display:none;transition:none}@media screen{::view-transition-group(*){animation-duration:var(--marp-bespoke-transition-animation-duration,.5s);animation-timing-function:ease}::view-transition-new(*),::view-transition-old(*){animation-delay:0s;animation-direction:var(--marp-bespoke-transition-animation-direction,normal);animation-duration:var(--marp-bespoke-transition-animation-duration,.5s);animation-fill-mode:both;animation-name:var(--marp-bespoke-transition-animation-name,var(--marp-bespoke-transition-animation-name-fallback,__bespoke_marp_transition_no_animation__));mix-blend-mode:normal}::view-transition-old(*){--marp-bespoke-transition-animation-name-fallback:__bespoke_marp_transition_reduced_outgoing__;animation-timing-function:ease}::view-transition-new(*){--marp-bespoke-transition-animation-name-fallback:__bespoke_marp_transition_reduced_incoming__;animation-timing-function:ease}::view-transition-new(root),::view-transition-old(root){animation-timing-function:linear}::view-transition-new(__bespoke_marp_transition_osc__),::view-transition-old(__bespoke_marp_transition_osc__){animation-duration:0s!important;animation-name:__bespoke_marp_transition_osc__!important}::view-transition-new(__bespoke_marp_transition_osc__){opacity:0!important}.bespoke-marp-transition-warming-up::view-transition-group(*),.bespoke-marp-transition-warming-up::view-transition-new(*),.bespoke-marp-transition-warming-up::view-transition-old(*){animation-play-state:paused!important}body,html{height:100%;margin:0}body{background:#000;overflow:hidden}svg.bespoke-marp-slide{content-visibility:hidden;interactivity:inert;opacity:0;pointer-events:none;z-index:-1}svg.bespoke-marp-slide:not(.bespoke-marp-active) *{view-transition-name:none!important}svg.bespoke-marp-slide.bespoke-marp-active{content-visibility:visible;interactivity:auto;opacity:1;pointer-events:auto;z-index:0}svg.bespoke-marp-slide.bespoke-marp-active.bespoke-marp-active-ready *{animation-name:__bespoke_marp__!important}@supports not (content-visibility:hidden){svg.bespoke-marp-slide[data-bespoke-marp-load=hideable]{display:none}svg.bespoke-marp-slide[data-bespoke-marp-load=hideable].bespoke-marp-active{display:block}}}@media screen and (prefers-reduced-motion:reduce){svg.bespoke-marp-slide *{view-transition-name:none!important}}@media screen{[data-bespoke-marp-fragment=inactive]{visibility:hidden}body[data-bespoke-view=""] .bespoke-marp-parent,body[data-bespoke-view=next] .bespoke-marp-parent{inset:0;position:absolute}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc{background:#000000a6;border-radius:7px;bottom:50px;color:#fff;contain:paint;display:block;font-family:Helvetica,Arial,sans-serif;font-size:16px;left:50%;line-height:0;opacity:1;padding:12px;position:absolute;touch-action:manipulation;transform:translateX(-50%);transition:opacity .2s linear;-webkit-user-select:none;user-select:none;view-transition-name:__bespoke_marp_transition_osc__;white-space:nowrap;will-change:transform;z-index:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>:where(*),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>:where(*){margin-left:6px}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>:where(*):where(:first-child),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>:where(*):where(:first-child){margin-left:0}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span{opacity:.8}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page]{display:inline-block;min-width:140px;text-align:center}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=overview],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=overview],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev]{height:32px;line-height:32px;width:32px}body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive,body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive{cursor:none}body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc,body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc{opacity:0;pointer-events:none}body[data-bespoke-view=""] svg.bespoke-marp-slide,body[data-bespoke-view=next] svg.bespoke-marp-slide{height:100%;left:0;position:absolute;top:0;width:100%}body[data-bespoke-view=""] .bespoke-progress-parent{background:#222;display:flex;height:5px;width:100%}body[data-bespoke-view=""] .bespoke-progress-parent+:where(.bespoke-marp-parent){top:5px}body[data-bespoke-view=""] .bespoke-progress-parent .bespoke-progress-bar{background:#0288d1;flex:0 0 0;transition:flex-basis .2s cubic-bezier(0,1,1,1)}body[data-bespoke-view=next]{background:#0000}body[data-bespoke-view=presenter]{background:#161616}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container{display:grid;font-family:Helvetica,Arial,sans-serif;grid-template:"current dragbar next" minmax(140px,1fr) "current dragbar note" 2fr "info dragbar note" 3em;grid-template-columns:minmax(3px,var(--bespoke-marp-presenter-split-ratio,66%)) 0 minmax(3px,1fr);height:100%;left:0;position:absolute;top:0;width:100%}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container :where(.bespoke-marp-parent){grid-area:current;overflow:hidden;position:relative}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container :where(.bespoke-marp-parent) :where(svg.bespoke-marp-slide){height:calc(100% - 40px);left:20px;pointer-events:none;position:absolute;top:20px;-webkit-user-select:none;user-select:none;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container :where(.bespoke-marp-parent) :where(svg.bespoke-marp-slide).bespoke-marp-active{filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container{background:#0288d1;cursor:col-resize;grid-area:dragbar;margin-left:-3px;opacity:0;position:relative;transition:opacity .4s linear .1s;width:6px;z-index:10}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container:hover{opacity:1}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container.active{opacity:1;transition-delay:0s}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container{background:#222;cursor:pointer;display:none;grid-area:next;overflow:hidden;position:relative}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container.active{display:block}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container iframe.bespoke-marp-presenter-next{background:#0000;border:0;display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5));height:calc(100% - 40px);left:20px;pointer-events:none;position:absolute;interactivity:inert;top:20px;-webkit-user-select:none;user-select:none;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container{background:#222;color:#eee;grid-area:note;position:relative;z-index:1}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{height:1.5em;line-height:1.5em;width:1.5em}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-wrapper{display:block;inset:0;position:absolute}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-buttons{background:#000000a6;border-radius:4px;bottom:0;display:flex;gap:4px;margin:12px;opacity:0;padding:6px;pointer-events:none;position:absolute;right:0;transition:opacity .2s linear}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-buttons:focus-within,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-wrapper:focus-within+.bespoke-marp-presenter-note-buttons,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container:hover .bespoke-marp-presenter-note-buttons{opacity:1;pointer-events:auto}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note{box-sizing:border-box;font-size:calc(1.1em*var(--bespoke-marp-note-font-scale, 1));height:calc(100% - 40px);margin:20px;overflow:auto;padding-right:3px;white-space:pre-wrap;width:calc(100% - 40px);word-wrap:break-word;scrollbar-color:#eeeeee80 #0000;scrollbar-width:thin}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar{width:6px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-track{background:#0000}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-thumb{background:#eeeeee80;border-radius:6px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note:empty{pointer-events:none}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note.active{display:block}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:first-child{margin-top:0}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:last-child{margin-bottom:0}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container{align-items:center;box-sizing:border-box;color:#eee;display:flex;flex-wrap:nowrap;grid-area:info;justify-content:center;overflow:hidden;padding:0 10px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page-area,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer{box-sizing:border-box;display:block;padding:0 10px;white-space:nowrap;width:100%}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button{height:1.5em;line-height:1.5em;width:1.5em}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page-area{order:2;text-align:center}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page-area .bespoke-marp-presenter-info-page{display:inline-block;min-width:120px;text-align:center}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time{color:#999;order:1;text-align:left}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer{color:#999;order:3;text-align:right}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer:hover{cursor:pointer}body[data-bespoke-view=overview]{background:#161616;overflow:auto}body[data-bespoke-view=overview] [data-bespoke-marp-fragment=inactive]{visibility:visible}body[data-bespoke-view=overview] .bespoke-marp-overview-header{backdrop-filter:blur(4px);background:#222222d9;box-shadow:0 3px 10px #00000080;box-sizing:border-box;display:flex;height:48px;inset:0 0 auto;justify-content:flex-end;padding:10px;position:fixed;z-index:1}body[data-bespoke-view=overview] button.bespoke-marp-overview-close{height:28px;line-height:28px;transform:rotate(45deg);width:28px}body[data-bespoke-view=overview] .bespoke-marp-parent{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(0,240px));justify-content:space-around;padding:30px}body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide{--bov-selected:#0000;--bov-focus:#161616;--bov-focus-outline:#0000;background-image:conic-gradient(#161616 0 0),conic-gradient(var(--bov-focus) 0 0),conic-gradient(var(--bov-focus-outline) 0 0),conic-gradient(var(--bov-selected) 0 0);background-position:5px 5px,3px 3px,2px 2px,0 0;background-repeat:no-repeat;background-size:calc(100% - 10px) calc(100% - 10px),calc(100% - 6px) calc(100% - 6px),calc(100% - 4px) calc(100% - 4px),100% 100%;content-visibility:visible;cursor:pointer;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5));margin:-6px;padding:6px;interactivity:auto;opacity:1;outline:0;pointer-events:auto;scroll-margin-block:30px;width:100%;z-index:0}body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide *,body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide.bespoke-marp-active *{pointer-events:none;interactivity:inert}body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide:active,body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide:focus-visible,body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide:hover{--bov-focus-outline:#161616}body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide:focus-visible,body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide:hover{--bov-focus:#999}body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide:active{--bov-focus:#eee}body[data-bespoke-view=overview] .bespoke-marp-parent svg.bespoke-marp-slide.bespoke-marp-active{--bov-selected:#0288d1}body[data-bespoke-view=overview]:has(.bespoke-marp-overview-header) .bespoke-marp-parent{padding-top:78px}body[data-bespoke-view=overview]:has(.bespoke-marp-overview-header) .bespoke-marp-parent svg.bespoke-marp-slide{scroll-margin-top:78px}.bespoke-marp-overview{background:#000000a6;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .1s ease;z-index:10}.bespoke-marp-overview iframe{background:#222;border:0;display:block;height:100%;left:0;position:absolute;top:0;width:100%}.bespoke-marp-overview[data-open="1"]{opacity:1;pointer-events:auto}}@media print{.bespoke-marp-overview,.bespoke-marp-presenter-info-container,.bespoke-marp-presenter-next-container,.bespoke-marp-presenter-note-container{display:none}}</style><style>@import url('https://fonts.cdnfonts.com/css/fira-sans?styles=20119');@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');div#\:\$p > svg > foreignObject > section{width:1280px;height:720px;box-sizing:border-box;overflow:hidden;position:relative;scroll-snap-align:center center;-webkit-text-size-adjust:100%;text-size-adjust:100%}div#\:\$p > svg > foreignObject > section::after{bottom:0;content:attr(data-marpit-pagination);padding:inherit;pointer-events:none;position:absolute;right:0}div#\:\$p > svg > foreignObject > section:not([data-marpit-pagination])::after{display:none}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1){font-size:2em;margin-block:0.67em}div#\:\$p > svg > foreignObject > section video::-webkit-media-controls{will-change:transform}@page {size:1280px 720px;margin:0}@media print{html, body{background-color:#fff;margin:0;page-break-inside:avoid;break-inside:avoid-page}div#\:\$p > svg > foreignObject > section{page-break-before:always;break-before:page}div#\:\$p > svg > foreignObject > section, div#\:\$p > svg > foreignObject > section *{-webkit-print-color-adjust:exact!important;animation-delay:0s!important;animation-duration:0s!important;color-adjust:exact!important;print-color-adjust:exact!important;transition:none!important}div#\:\$p > svg[data-marpit-svg]{display:block;height:100vh;width:100vw}}div#\:\$p > svg > foreignObject > section{--fgColor-danger:light-dark(#d1242f, #f85149);--bgColor-attention-muted:light-dark(#fff8c5, #bb800926);--bgColor-muted:light-dark(#f6f8fa, #151b23);--bgColor-neutral-muted:light-dark(#818b981f, #656c7633);--borderColor-accent-emphasis:light-dark(#0969da, #1f6feb);--borderColor-attention-emphasis:light-dark(#9a6700, #9e6a03);--borderColor-danger-emphasis:light-dark(#cf222e, #da3633);--borderColor-default:light-dark(#d1d9e0, #3d444d);--borderColor-done-emphasis:light-dark(#8250df, #8957e5);--borderColor-success-emphasis:light-dark(#1a7f37, #238636);--color-prettylights-syntax-brackethighlighter-angle:light-dark(#59636e, #9198a1);--color-prettylights-syntax-brackethighlighter-unmatched:light-dark(#82071e, #f85149);--color-prettylights-syntax-carriage-return-bg:light-dark(#cf222e, #b62324);--color-prettylights-syntax-carriage-return-text:light-dark(#f6f8fa, #f0f6fc);--color-prettylights-syntax-comment:light-dark(#59636e, #9198a1);--color-prettylights-syntax-constant:light-dark(#0550ae, #79c0ff);--color-prettylights-syntax-constant-other-reference-link:light-dark(#0a3069, #a5d6ff);--color-prettylights-syntax-entity:light-dark(#6639ba, #d2a8ff);--color-prettylights-syntax-entity-tag:light-dark(#0550ae, #7ee787);--color-prettylights-syntax-invalid-illegal-text:light-dark(var(--fgColor-danger), var(--fgColor-danger));--color-prettylights-syntax-keyword:light-dark(#cf222e, #ff7b72);--color-prettylights-syntax-markup-changed-bg:light-dark(#ffd8b5, #5a1e02);--color-prettylights-syntax-markup-changed-text:light-dark(#953800, #ffdfb6);--color-prettylights-syntax-markup-deleted-bg:light-dark(#ffebe9, #67060c);--color-prettylights-syntax-markup-deleted-text:light-dark(#82071e, #ffdcd7);--color-prettylights-syntax-markup-heading:light-dark(#0550ae, #1f6feb);--color-prettylights-syntax-markup-ignored-bg:light-dark(#0550ae, #1158c7);--color-prettylights-syntax-markup-ignored-text:light-dark(#d1d9e0, #f0f6fc);--color-prettylights-syntax-markup-inserted-bg:light-dark(#dafbe1, #033a16);--color-prettylights-syntax-markup-inserted-text:light-dark(#116329, #aff5b4);--color-prettylights-syntax-markup-list:light-dark(#3b2300, #f2cc60);--color-prettylights-syntax-meta-diff-range:light-dark(#8250df, #d2a8ff);--color-prettylights-syntax-string:light-dark(#0a3069, #a5d6ff);--color-prettylights-syntax-string-regexp:light-dark(#116329, #7ee787);--color-prettylights-syntax-sublimelinter-gutter-mark:light-dark(#818b98, #3d444d);--color-prettylights-syntax-variable:light-dark(#953800, #ffa657);--fgColor-accent:light-dark(#0969da, #4493f8);--fgColor-attention:light-dark(#9a6700, #d29922);--fgColor-done:light-dark(#8250df, #ab7df8);--fgColor-muted:light-dark(#59636e, #9198a1);--fgColor-success:light-dark(#1a7f37, #3fb950);--bgColor-default:light-dark(#fff, #0d1117);--borderColor-muted:light-dark(#d1d9e0b3, #3d444db3);--color-prettylights-syntax-invalid-illegal-bg:light-dark(var(--bgColor-danger-muted), var(--bgColor-danger-muted));--color-prettylights-syntax-markup-bold:light-dark(#1f2328, #f0f6fc);--color-prettylights-syntax-markup-italic:light-dark(#1f2328, #f0f6fc);--color-prettylights-syntax-storage-modifier-import:light-dark(#1f2328, #f0f6fc);--fgColor-default:light-dark(#1f2328, #f0f6fc);--focus-outlineColor:light-dark(var(--borderColor-accent-emphasis), var(--borderColor-accent-emphasis));--borderColor-neutral-muted:light-dark(var(--borderColor-muted), var(--borderColor-muted));--base-size-16:calc(var(--marpit-root-font-size, 1rem) * 1);--base-size-24:calc(var(--marpit-root-font-size, 1rem) * 1.5);--base-size-4:calc(var(--marpit-root-font-size, 1rem) * 0.25);--base-size-40:calc(var(--marpit-root-font-size, 1rem) * 2.5);--base-size-8:calc(var(--marpit-root-font-size, 1rem) * 0.5);--base-text-weight-medium:500;--base-text-weight-normal:400;--base-text-weight-semibold:600;--fontStack-monospace:ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fontStack-sansSerif:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";}/*!
* Marp default theme.
*
* @theme default
* @author Yuki Hattori
*
* @auto-scaling true
* @size 16:9 1280px 720px
* @size 4:3 960px 720px
*/div#\:\$p > svg > foreignObject > section [data-theme=light],div#\:\$p > svg > foreignObject > section{color-scheme:light}div#\:\$p > svg > foreignObject > section [data-theme=dark],div#\:\$p > svg > foreignObject > section:where(.invert){color-scheme:dark}div#\:\$p > svg > foreignObject > section{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background-color:var(--bgColor-default);color:var(--fgColor-default);font-family:var(--fontStack-sansSerif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");font-size:16px;font-weight:var(--base-text-weight-normal, 400);line-height:1.5;margin:0;word-wrap:break-word}div#\:\$p > svg > foreignObject > section{--marpit-root-font-size:16px}div#\:\$p > svg > foreignObject > section a{text-decoration:underline;text-underline-offset:calc(var(--marpit-root-font-size, 1rem) * .2)}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6):hover .anchor .octicon-link:before{background-color:currentColor;content:" ";display:inline-block;height:16px;-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 0 0 1.06 1.06l1.25-1.25a2 2 0 1 1 2.83 2.83l-2.5 2.5a2 2 0 0 1-2.83 0 .75.75 0 0 0-1.06 1.06 3.5 3.5 0 0 0 4.95 0l2.5-2.5a3.5 3.5 0 0 0-4.95-4.95zm-4.69 9.64a2 2 0 0 1 0-2.83l2.5-2.5a2 2 0 0 1 2.83 0 .75.75 0 0 0 1.06-1.06 3.5 3.5 0 0 0-4.95 0l-2.5 2.5a3.5 3.5 0 0 0 4.95 4.95l1.25-1.25a.75.75 0 0 0-1.06-1.06l-1.25 1.25a2 2 0 0 1-2.83 0"/></svg>');mask-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 0 0 1.06 1.06l1.25-1.25a2 2 0 1 1 2.83 2.83l-2.5 2.5a2 2 0 0 1-2.83 0 .75.75 0 0 0-1.06 1.06 3.5 3.5 0 0 0 4.95 0l2.5-2.5a3.5 3.5 0 0 0-4.95-4.95zm-4.69 9.64a2 2 0 0 1 0-2.83l2.5-2.5a2 2 0 0 1 2.83 0 .75.75 0 0 0 1.06-1.06 3.5 3.5 0 0 0-4.95 0l-2.5 2.5a3.5 3.5 0 0 0 4.95 4.95l1.25-1.25a.75.75 0 0 0-1.06-1.06l-1.25 1.25a2 2 0 0 1-2.83 0"/></svg>');width:16px}div#\:\$p > svg > foreignObject > section details,div#\:\$p > svg > foreignObject > section figcaption,div#\:\$p > svg > foreignObject > section figure{display:block}div#\:\$p > svg > foreignObject > section summary{display:list-item}div#\:\$p > svg > foreignObject > section [hidden]{display:none!important}div#\:\$p > svg > foreignObject > section a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}div#\:\$p > svg > foreignObject > section abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}div#\:\$p > svg > foreignObject > section b,div#\:\$p > svg > foreignObject > section strong{font-weight:var(--base-text-weight-semibold, 600)}div#\:\$p > svg > foreignObject > section dfn{font-style:italic}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1){border-bottom:1px solid var(--borderColor-muted);font-size:2em;font-weight:var(--base-text-weight-semibold, 600);margin:.67em 0;padding-bottom:.3em}div#\:\$p > svg > foreignObject > section mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}div#\:\$p > svg > foreignObject > section small{font-size:90%}div#\:\$p > svg > foreignObject > section sub,div#\:\$p > svg > foreignObject > section sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}div#\:\$p > svg > foreignObject > section sub{bottom:-.25em}div#\:\$p > svg > foreignObject > section sup{top:-.5em}div#\:\$p > svg > foreignObject > section img{border-style:none;box-sizing:content-box;max-width:100%}div#\:\$p > svg > foreignObject > section code,div#\:\$p > svg > foreignObject > section kbd,div#\:\$p > svg > foreignObject > section :is(pre, marp-pre),div#\:\$p > svg > foreignObject > section samp{font-family:monospace;font-size:1em}div#\:\$p > svg > foreignObject > section figure{margin:1em var(--base-size-40)}div#\:\$p > svg > foreignObject > section hr{background:transparent;background-color:var(--borderColor-default);border:0;box-sizing:content-box;height:.25em;margin:var(--base-size-24) 0;overflow:hidden;padding:0}div#\:\$p > svg > foreignObject > section input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}div#\:\$p > svg > foreignObject > section [type=button],div#\:\$p > svg > foreignObject > section [type=reset],div#\:\$p > svg > foreignObject > section [type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}div#\:\$p > svg > foreignObject > section [type=checkbox],div#\:\$p > svg > foreignObject > section [type=radio]{box-sizing:border-box;padding:0}div#\:\$p > svg > foreignObject > section [type=number]::-webkit-inner-spin-button,div#\:\$p > svg > foreignObject > section [type=number]::-webkit-outer-spin-button{height:auto}div#\:\$p > svg > foreignObject > section [type=search]::-webkit-search-cancel-button,div#\:\$p > svg > foreignObject > section [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}div#\:\$p > svg > foreignObject > section ::-webkit-input-placeholder{color:inherit;opacity:.54}div#\:\$p > svg > foreignObject > section ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}div#\:\$p > svg > foreignObject > section a:hover{text-decoration:underline}div#\:\$p > svg > foreignObject > section ::-moz-placeholder{color:var(--fgColor-muted);opacity:1}div#\:\$p > svg > foreignObject > section ::placeholder{color:var(--fgColor-muted);opacity:1}div#\:\$p > svg > foreignObject > section hr:after,div#\:\$p > svg > foreignObject > section hr:before{content:"";display:table}div#\:\$p > svg > foreignObject > section hr:after{clear:both}div#\:\$p > svg > foreignObject > section table{border-collapse:collapse;border-spacing:0;display:block;font-variant:tabular-nums;max-width:100%;overflow:auto;width:-moz-max-content;width:max-content}div#\:\$p > svg > foreignObject > section td,div#\:\$p > svg > foreignObject > section th{padding:0}div#\:\$p > svg > foreignObject > section details summary{cursor:pointer}div#\:\$p > svg > foreignObject > section [role=button]:focus,div#\:\$p > svg > foreignObject > section a:focus,div#\:\$p > svg > foreignObject > section input[type=checkbox]:focus,div#\:\$p > svg > foreignObject > section input[type=radio]:focus{box-shadow:none;outline:2px solid var(--focus-outlineColor);outline-offset:-2px}div#\:\$p > svg > foreignObject > section [role=button]:focus:not(:focus-visible),div#\:\$p > svg > foreignObject > section a:focus:not(:focus-visible),div#\:\$p > svg > foreignObject > section input[type=checkbox]:focus:not(:focus-visible),div#\:\$p > svg > foreignObject > section input[type=radio]:focus:not(:focus-visible){outline:1px solid transparent}div#\:\$p > svg > foreignObject > section [role=button]:focus-visible,div#\:\$p > svg > foreignObject > section a:focus-visible,div#\:\$p > svg > foreignObject > section input[type=checkbox]:focus-visible,div#\:\$p > svg > foreignObject > section input[type=radio]:focus-visible{box-shadow:none;outline:2px solid var(--focus-outlineColor);outline-offset:-2px}div#\:\$p > svg > foreignObject > section a:not([class]):focus,div#\:\$p > svg > foreignObject > section a:not([class]):focus-visible,div#\:\$p > svg > foreignObject > section input[type=checkbox]:focus,div#\:\$p > svg > foreignObject > section input[type=checkbox]:focus-visible,div#\:\$p > svg > foreignObject > section input[type=radio]:focus,div#\:\$p > svg > foreignObject > section input[type=radio]:focus-visible{outline-offset:0}div#\:\$p > svg > foreignObject > section kbd{background-color:var(--bgColor-muted);border-bottom-color:var(--borderColor-neutral-muted);border:1px solid var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted);color:var(--fgColor-default);display:inline-block;font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;padding:var(--base-size-4);vertical-align:middle}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1),div#\:\$p > svg > foreignObject > section :is(h2, marp-h2),div#\:\$p > svg > foreignObject > section :is(h3, marp-h3),div#\:\$p > svg > foreignObject > section :is(h4, marp-h4),div#\:\$p > svg > foreignObject > section :is(h5, marp-h5),div#\:\$p > svg > foreignObject > section :is(h6, marp-h6){font-weight:var(--base-text-weight-semibold, 600);line-height:1.25;margin-bottom:var(--base-size-16);margin-top:var(--base-size-24)}div#\:\$p > svg > foreignObject > section :is(h2, marp-h2){border-bottom:1px solid var(--borderColor-muted);font-size:1.5em;padding-bottom:.3em}div#\:\$p > svg > foreignObject > section :is(h2, marp-h2),div#\:\$p > svg > foreignObject > section :is(h3, marp-h3){font-weight:var(--base-text-weight-semibold, 600)}div#\:\$p > svg > foreignObject > section :is(h3, marp-h3){font-size:1.25em}div#\:\$p > svg > foreignObject > section :is(h4, marp-h4){font-size:1em}div#\:\$p > svg > foreignObject > section :is(h4, marp-h4),div#\:\$p > svg > foreignObject > section :is(h5, marp-h5){font-weight:var(--base-text-weight-semibold, 600)}div#\:\$p > svg > foreignObject > section :is(h5, marp-h5){font-size:.875em}div#\:\$p > svg > foreignObject > section :is(h6, marp-h6){color:var(--fgColor-muted);font-size:.85em;font-weight:var(--base-text-weight-semibold, 600)}div#\:\$p > svg > foreignObject > section p{margin-bottom:10px;margin-top:0}div#\:\$p > svg > foreignObject > section blockquote{border-left:.25em solid var(--borderColor-default);color:var(--fgColor-muted);margin:0;padding:0 1em}div#\:\$p > svg > foreignObject > section ol,div#\:\$p > svg > foreignObject > section ul{margin-bottom:0;margin-top:0;padding-left:2em}div#\:\$p > svg > foreignObject > section ol ol,div#\:\$p > svg > foreignObject > section ul ol{list-style-type:lower-roman}div#\:\$p > svg > foreignObject > section ol ol ol,div#\:\$p > svg > foreignObject > section ol ul ol,div#\:\$p > svg > foreignObject > section ul ol ol,div#\:\$p > svg > foreignObject > section ul ul ol{list-style-type:lower-alpha}div#\:\$p > svg > foreignObject > section dd{margin-left:0}div#\:\$p > svg > foreignObject > section code,div#\:\$p > svg > foreignObject > section :is(pre, marp-pre),div#\:\$p > svg > foreignObject > section samp,div#\:\$p > svg > foreignObject > section tt{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre){margin-bottom:0;margin-top:0;word-wrap:normal}div#\:\$p > svg > foreignObject > section .octicon{display:inline-block;fill:currentColor;overflow:visible!important;vertical-align:text-bottom}div#\:\$p > svg > foreignObject > section input::-webkit-inner-spin-button,div#\:\$p > svg > foreignObject > section input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}div#\:\$p > svg > foreignObject > section .mr-2{margin-right:var(--base-size-8, 8px)!important}div#\:\$p > svg > foreignObject > section:after,div#\:\$p > svg > foreignObject > section:before{display:table}div#\:\$p > svg > foreignObject > section:after{clear:both}div#\:\$p > svg > foreignObject > section>:first-child{margin-top:0!important}div#\:\$p > svg > foreignObject > section>:last-child{margin-bottom:0!important}div#\:\$p > svg > foreignObject > section a:not([href]){color:inherit;text-decoration:none}div#\:\$p > svg > foreignObject > section .absent{color:var(--fgColor-danger)}div#\:\$p > svg > foreignObject > section .anchor{float:left;line-height:1;margin-left:-20px;padding-right:var(--base-size-4)}div#\:\$p > svg > foreignObject > section .anchor:focus{outline:none}div#\:\$p > svg > foreignObject > section blockquote,div#\:\$p > svg > foreignObject > section details,div#\:\$p > svg > foreignObject > section dl,div#\:\$p > svg > foreignObject > section ol,div#\:\$p > svg > foreignObject > section p,div#\:\$p > svg > foreignObject > section :is(pre, marp-pre),div#\:\$p > svg > foreignObject > section table,div#\:\$p > svg > foreignObject > section ul{margin-bottom:var(--base-size-16);margin-top:0}div#\:\$p > svg > foreignObject > section blockquote>:first-child{margin-top:0}div#\:\$p > svg > foreignObject > section blockquote>:last-child{margin-bottom:0}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1) .octicon-link,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2) .octicon-link,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3) .octicon-link,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4) .octicon-link,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5) .octicon-link,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6) .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1):hover .anchor,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2):hover .anchor,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3):hover .anchor,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4):hover .anchor,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5):hover .anchor,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6):hover .anchor{text-decoration:none}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1):hover .anchor .octicon-link,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2):hover .anchor .octicon-link,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3):hover .anchor .octicon-link,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4):hover .anchor .octicon-link,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5):hover .anchor .octicon-link,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6):hover .anchor .octicon-link{visibility:visible}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1) code,div#\:\$p > svg > foreignObject > section :is(h1, marp-h1) tt,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2) code,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2) tt,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3) code,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3) tt,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4) code,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4) tt,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5) code,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5) tt,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6) code,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6) tt{font-size:inherit;padding:0 .2em}div#\:\$p > svg > foreignObject > section summary :is(h1, marp-h1),div#\:\$p > svg > foreignObject > section summary :is(h2, marp-h2),div#\:\$p > svg > foreignObject > section summary :is(h3, marp-h3),div#\:\$p > svg > foreignObject > section summary :is(h4, marp-h4),div#\:\$p > svg > foreignObject > section summary :is(h5, marp-h5),div#\:\$p > svg > foreignObject > section summary :is(h6, marp-h6){display:inline-block}div#\:\$p > svg > foreignObject > section summary :is(h1, marp-h1) .anchor,div#\:\$p > svg > foreignObject > section summary :is(h2, marp-h2) .anchor,div#\:\$p > svg > foreignObject > section summary :is(h3, marp-h3) .anchor,div#\:\$p > svg > foreignObject > section summary :is(h4, marp-h4) .anchor,div#\:\$p > svg > foreignObject > section summary :is(h5, marp-h5) .anchor,div#\:\$p > svg > foreignObject > section summary :is(h6, marp-h6) .anchor{margin-left:-40px}div#\:\$p > svg > foreignObject > section summary :is(h1, marp-h1),div#\:\$p > svg > foreignObject > section summary :is(h2, marp-h2){border-bottom:0;padding-bottom:0}div#\:\$p > svg > foreignObject > section ol.no-list,div#\:\$p > svg > foreignObject > section ul.no-list{list-style-type:none;padding:0}div#\:\$p > svg > foreignObject > section ol[type="a s"]{list-style-type:lower-alpha}div#\:\$p > svg > foreignObject > section ol[type="A s"]{list-style-type:upper-alpha}div#\:\$p > svg > foreignObject > section ol[type="i s"]{list-style-type:lower-roman}div#\:\$p > svg > foreignObject > section ol[type="I s"]{list-style-type:upper-roman}div#\:\$p > svg > foreignObject > section div>ol:not([type]),div#\:\$p > svg > foreignObject > section ol[type="1"]{list-style-type:decimal}div#\:\$p > svg > foreignObject > section ol ol,div#\:\$p > svg > foreignObject > section ol ul,div#\:\$p > svg > foreignObject > section ul ol,div#\:\$p > svg > foreignObject > section ul ul{margin-bottom:0;margin-top:0}div#\:\$p > svg > foreignObject > section li>p{margin-top:var(--base-size-16)}div#\:\$p > svg > foreignObject > section li+li{margin-top:.25em}div#\:\$p > svg > foreignObject > section dl{padding:0}div#\:\$p > svg > foreignObject > section dl dt{font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600);margin-top:var(--base-size-16);padding:0}div#\:\$p > svg > foreignObject > section dl dd{margin-bottom:var(--base-size-16);padding:0 var(--base-size-16)}div#\:\$p > svg > foreignObject > section table th{font-weight:var(--base-text-weight-semibold, 600)}div#\:\$p > svg > foreignObject > section table td,div#\:\$p > svg > foreignObject > section table th{border:1px solid var(--borderColor-default);padding:6px 13px}div#\:\$p > svg > foreignObject > section table td>:last-child{margin-bottom:0}div#\:\$p > svg > foreignObject > section table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}div#\:\$p > svg > foreignObject > section table tr:nth-child(2n){background-color:var(--bgColor-muted)}div#\:\$p > svg > foreignObject > section table img{background-color:transparent}div#\:\$p > svg > foreignObject > section img[align=right]{padding-left:20px}div#\:\$p > svg > foreignObject > section img[align=left]{padding-right:20px}div#\:\$p > svg > foreignObject > section .emoji{background-color:transparent;max-width:none;vertical-align:text-top}div#\:\$p > svg > foreignObject > section :is(span, marp-span).frame,div#\:\$p > svg > foreignObject > section :is(span, marp-span).frame>:is(span, marp-span){display:block;overflow:hidden}div#\:\$p > svg > foreignObject > section :is(span, marp-span).frame>:is(span, marp-span){border:1px solid var(--borderColor-default);float:left;margin:13px 0 0;padding:7px;width:auto}div#\:\$p > svg > foreignObject > section :is(span, marp-span).frame :is(span, marp-span) img{display:block;float:left}div#\:\$p > svg > foreignObject > section :is(span, marp-span).frame :is(span, marp-span) :is(span, marp-span){clear:both;color:var(--fgColor-default);display:block;padding:5px 0 0}div#\:\$p > svg > foreignObject > section :is(span, marp-span).align-center{clear:both;display:block;overflow:hidden}div#\:\$p > svg > foreignObject > section :is(span, marp-span).align-center>:is(span, marp-span){display:block;margin:13px auto 0;overflow:hidden;text-align:center}div#\:\$p > svg > foreignObject > section :is(span, marp-span).align-center :is(span, marp-span) img{margin:0 auto;text-align:center}div#\:\$p > svg > foreignObject > section :is(span, marp-span).align-right{clear:both;display:block;overflow:hidden}div#\:\$p > svg > foreignObject > section :is(span, marp-span).align-right>:is(span, marp-span){display:block;margin:13px 0 0;overflow:hidden;text-align:right}div#\:\$p > svg > foreignObject > section :is(span, marp-span).align-right :is(span, marp-span) img{margin:0;text-align:right}div#\:\$p > svg > foreignObject > section :is(span, marp-span).float-left{display:block;float:left;margin-right:13px;overflow:hidden}div#\:\$p > svg > foreignObject > section :is(span, marp-span).float-left :is(span, marp-span){margin:13px 0 0}div#\:\$p > svg > foreignObject > section :is(span, marp-span).float-right{display:block;float:right;margin-left:13px;overflow:hidden}div#\:\$p > svg > foreignObject > section :is(span, marp-span).float-right>:is(span, marp-span){display:block;margin:13px auto 0;overflow:hidden;text-align:right}div#\:\$p > svg > foreignObject > section code,div#\:\$p > svg > foreignObject > section tt{background-color:var(--bgColor-neutral-muted);border-radius:6px;font-size:85%;margin:0;padding:.2em .4em;white-space:break-spaces}div#\:\$p > svg > foreignObject > section code br,div#\:\$p > svg > foreignObject > section tt br{display:none}div#\:\$p > svg > foreignObject > section del code{text-decoration:inherit}div#\:\$p > svg > foreignObject > section samp{font-size:85%}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) code{font-size:100%}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre)>code{background:transparent;border:0;margin:0;padding:0;white-space:pre;word-break:normal}div#\:\$p > svg > foreignObject > section .highlight{margin-bottom:var(--base-size-16)}div#\:\$p > svg > foreignObject > section .highlight :is(pre, marp-pre){margin-bottom:0;word-break:normal}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre){background-color:var(--bgColor-muted);border-radius:6px;color:var(--fgColor-default);font-size:85%;line-height:1.45;overflow:auto;padding:var(--base-size-16)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) code,div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) tt{display:inline;line-height:inherit;margin:0;overflow:visible;padding:0;word-wrap:normal;background-color:transparent;border:0}div#\:\$p > svg > foreignObject > section .csv-data td,div#\:\$p > svg > foreignObject > section .csv-data th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}div#\:\$p > svg > foreignObject > section .csv-data .blob-num{background:var(--bgColor-default);border:0;padding:10px var(--base-size-8) 9px;text-align:right}div#\:\$p > svg > foreignObject > section .csv-data tr{border-top:0}div#\:\$p > svg > foreignObject > section .csv-data th{background:var(--bgColor-muted);border-top:0;font-weight:var(--base-text-weight-semibold, 600)}div#\:\$p > svg > foreignObject > section [data-footnote-ref]:before{content:"["}div#\:\$p > svg > foreignObject > section [data-footnote-ref]:after{content:"]"}div#\:\$p > svg > foreignObject > section .footnotes{border-top:1px solid var(--borderColor-default);color:var(--fgColor-muted);font-size:12px}div#\:\$p > svg > foreignObject > section div#\:\$p > svg > foreignObject > section section.footnotes{--marpit-root-font-size:12px}div#\:\$p > svg > foreignObject > section .footnotes ol,div#\:\$p > svg > foreignObject > section .footnotes ol ul{padding-left:var(--base-size-16)}div#\:\$p > svg > foreignObject > section .footnotes ol ul{display:inline-block;margin-top:var(--base-size-16)}div#\:\$p > svg > foreignObject > section .footnotes li{position:relative}div#\:\$p > svg > foreignObject > section .footnotes li:target:before{border:2px solid var(--borderColor-accent-emphasis);border-radius:6px;bottom:calc(var(--base-size-8)*-1);content:"";left:calc(var(--base-size-24)*-1);pointer-events:none;position:absolute;right:calc(var(--base-size-8)*-1);top:calc(var(--base-size-8)*-1)}div#\:\$p > svg > foreignObject > section .footnotes li:target{color:var(--fgColor-default)}div#\:\$p > svg > foreignObject > section .footnotes .data-footnote-backref g-emoji{font-family:monospace}div#\:\$p > svg > foreignObject > section .pl-c{color:var(--color-prettylights-syntax-comment)}div#\:\$p > svg > foreignObject > section .pl-c1,div#\:\$p > svg > foreignObject > section .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}div#\:\$p > svg > foreignObject > section .pl-e,div#\:\$p > svg > foreignObject > section .pl-en{color:var(--color-prettylights-syntax-entity)}div#\:\$p > svg > foreignObject > section .pl-s .pl-s1,div#\:\$p > svg > foreignObject > section .pl-smi{color:var(--color-prettylights-syntax-storage-modifier-import)}div#\:\$p > svg > foreignObject > section .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}div#\:\$p > svg > foreignObject > section .pl-k{color:var(--color-prettylights-syntax-keyword)}div#\:\$p > svg > foreignObject > section .pl-pds,div#\:\$p > svg > foreignObject > section .pl-s,div#\:\$p > svg > foreignObject > section .pl-s .pl-pse .pl-s1,div#\:\$p > svg > foreignObject > section .pl-sr,div#\:\$p > svg > foreignObject > section .pl-sr .pl-cce,div#\:\$p > svg > foreignObject > section .pl-sr .pl-sra,div#\:\$p > svg > foreignObject > section .pl-sr .pl-sre{color:var(--color-prettylights-syntax-string)}div#\:\$p > svg > foreignObject > section .pl-smw,div#\:\$p > svg > foreignObject > section .pl-v{color:var(--color-prettylights-syntax-variable)}div#\:\$p > svg > foreignObject > section .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}div#\:\$p > svg > foreignObject > section .pl-ii{background-color:var(--color-prettylights-syntax-invalid-illegal-bg);color:var(--color-prettylights-syntax-invalid-illegal-text)}div#\:\$p > svg > foreignObject > section .pl-c2{background-color:var(--color-prettylights-syntax-carriage-return-bg);color:var(--color-prettylights-syntax-carriage-return-text)}div#\:\$p > svg > foreignObject > section .pl-sr .pl-cce{color:var(--color-prettylights-syntax-string-regexp);font-weight:700}div#\:\$p > svg > foreignObject > section .pl-ml{color:var(--color-prettylights-syntax-markup-list)}div#\:\$p > svg > foreignObject > section .pl-mh,div#\:\$p > svg > foreignObject > section .pl-mh .pl-en,div#\:\$p > svg > foreignObject > section .pl-ms{color:var(--color-prettylights-syntax-markup-heading);font-weight:700}div#\:\$p > svg > foreignObject > section .pl-mi{color:var(--color-prettylights-syntax-markup-italic);font-style:italic}div#\:\$p > svg > foreignObject > section .pl-mb{color:var(--color-prettylights-syntax-markup-bold);font-weight:700}div#\:\$p > svg > foreignObject > section .pl-md{background-color:var(--color-prettylights-syntax-markup-deleted-bg);color:var(--color-prettylights-syntax-markup-deleted-text)}div#\:\$p > svg > foreignObject > section .pl-mi1{background-color:var(--color-prettylights-syntax-markup-inserted-bg);color:var(--color-prettylights-syntax-markup-inserted-text)}div#\:\$p > svg > foreignObject > section .pl-mc{background-color:var(--color-prettylights-syntax-markup-changed-bg);color:var(--color-prettylights-syntax-markup-changed-text)}div#\:\$p > svg > foreignObject > section .pl-mi2{background-color:var(--color-prettylights-syntax-markup-ignored-bg);color:var(--color-prettylights-syntax-markup-ignored-text)}div#\:\$p > svg > foreignObject > section .pl-mdr{color:var(--color-prettylights-syntax-meta-diff-range);font-weight:700}div#\:\$p > svg > foreignObject > section .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}div#\:\$p > svg > foreignObject > section .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}div#\:\$p > svg > foreignObject > section .pl-corl{color:var(--color-prettylights-syntax-constant-other-reference-link);text-decoration:underline}div#\:\$p > svg > foreignObject > section [role=button]:focus:not(:focus-visible),div#\:\$p > svg > foreignObject > section [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),div#\:\$p > svg > foreignObject > section a:focus:not(:focus-visible),div#\:\$p > svg > foreignObject > section button:focus:not(:focus-visible),div#\:\$p > svg > foreignObject > section summary:focus:not(:focus-visible){box-shadow:none;outline:none}div#\:\$p > svg > foreignObject > section [tabindex="0"]:focus:not(:focus-visible),div#\:\$p > svg > foreignObject > section details-dialog:focus:not(:focus-visible){outline:none}div#\:\$p > svg > foreignObject > section g-emoji{display:inline-block;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;min-width:1ch;vertical-align:-.075em}div#\:\$p > svg > foreignObject > section g-emoji img{height:1em;width:1em}div#\:\$p > svg > foreignObject > section a:has(>p,>div,>:is(pre, marp-pre),>blockquote){display:block}div#\:\$p > svg > foreignObject > section a:has(>p,>div,>:is(pre, marp-pre),>blockquote):not(:has(.snippet-clipboard-content,>:is(pre, marp-pre))){width:-moz-fit-content;width:fit-content}div#\:\$p > svg > foreignObject > section a:has(>p,>div,>:is(pre, marp-pre),>blockquote):has(.snippet-clipboard-content,>:is(pre, marp-pre)):focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:2px}div#\:\$p > svg > foreignObject > section .task-list-item{list-style-type:none}div#\:\$p > svg > foreignObject > section .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}div#\:\$p > svg > foreignObject > section .task-list-item.enabled label{cursor:pointer}div#\:\$p > svg > foreignObject > section .task-list-item+.task-list-item{margin-top:var(--base-size-4)}div#\:\$p > svg > foreignObject > section .task-list-item .handle{display:none}div#\:\$p > svg > foreignObject > section .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}div#\:\$p > svg > foreignObject > section ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}div#\:\$p > svg > foreignObject > section ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}div#\:\$p > svg > foreignObject > section .contains-task-list:focus-within .task-list-item-convert-container,div#\:\$p > svg > foreignObject > section .contains-task-list:hover .task-list-item-convert-container{clip-path:none;display:block;height:24px;overflow:visible;width:auto}div#\:\$p > svg > foreignObject > section ::-webkit-calendar-picker-indicator{filter:invert(50%)}div#\:\$p > svg > foreignObject > section .markdown-alert{border-left:.25em solid var(--borderColor-default);color:inherit;margin-bottom:var(--base-size-16);padding:var(--base-size-8) var(--base-size-16)}div#\:\$p > svg > foreignObject > section .markdown-alert>:first-child{margin-top:0}div#\:\$p > svg > foreignObject > section .markdown-alert>:last-child{margin-bottom:0}div#\:\$p > svg > foreignObject > section .markdown-alert .markdown-alert-title{align-items:center;display:flex;font-weight:var(--base-text-weight-medium, 500);line-height:1}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}div#\:\$p > svg > foreignObject > section .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}div#\:\$p > svg > foreignObject > section>:first-child>.heading-element:first-child{margin-top:0!important}div#\:\$p > svg > foreignObject > section .highlight :is(pre, marp-pre):has(+.zeroclipboard-container){min-height:52px}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1){color:var(--h1-color);font-size:1.6em}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1),div#\:\$p > svg > foreignObject > section :is(h2, marp-h2){border-bottom:none}div#\:\$p > svg > foreignObject > section :is(h2, marp-h2){font-size:1.3em}div#\:\$p > svg > foreignObject > section :is(h3, marp-h3){font-size:1.1em}div#\:\$p > svg > foreignObject > section :is(h4, marp-h4){font-size:1.05em}div#\:\$p > svg > foreignObject > section :is(h5, marp-h5){font-size:1em}div#\:\$p > svg > foreignObject > section :is(h6, marp-h6){font-size:.9em}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1) strong,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2) strong,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3) strong,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4) strong,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5) strong,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6) strong{color:var(--heading-strong-color);font-weight:inherit}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h2, marp-h2)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h3, marp-h3)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h4, marp-h4)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h5, marp-h5)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h6, marp-h6)::part(auto-scaling){max-height:563px}div#\:\$p > svg > foreignObject > section hr{height:0;padding-top:.25em}div#\:\$p > svg > foreignObject > section img{background-color:transparent}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre){border:1px solid var(--borderColor-default);line-height:1.15;overflow:visible}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre)::part(auto-scaling){max-height:529px}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs){color:var(--color-prettylights-syntax-storage-modifier-import)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-doctag),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-keyword),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-meta .hljs-keyword),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-template-tag),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-template-variable),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-type),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-variable.language_){color:var(--color-prettylights-syntax-keyword)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-title),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-title.class_),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-title.class_.inherited__),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-title.function_){color:var(--color-prettylights-syntax-entity)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-attr),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-attribute),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-literal),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-meta),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-number),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-operator),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-selector-attr),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-selector-class),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-selector-id),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-variable){color:var(--color-prettylights-syntax-constant)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-meta .hljs-string),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-regexp),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-string){color:var(--color-prettylights-syntax-string)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-built_in),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-symbol){color:var(--color-prettylights-syntax-variable)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-code),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-comment),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-formula){color:var(--color-prettylights-syntax-comment)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-name),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-quote),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-selector-pseudo),div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-selector-tag){color:var(--color-prettylights-syntax-entity-tag)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-subst){color:var(--color-prettylights-syntax-storage-modifier-import)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-section){color:var(--color-prettylights-syntax-markup-heading);font-weight:700}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-bullet){color:var(--color-prettylights-syntax-markup-list)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-emphasis){color:var(--color-prettylights-syntax-markup-italic);font-style:italic}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-strong){color:var(--color-prettylights-syntax-markup-bold);font-weight:700}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-addition){background-color:var(--color-prettylights-syntax-markup-inserted-bg);color:var(--color-prettylights-syntax-markup-inserted-text)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) :where(.hljs-deletion){background-color:var(--color-prettylights-syntax-markup-deleted-bg);color:var(--color-prettylights-syntax-markup-deleted-text)}div#\:\$p > svg > foreignObject > section footer,div#\:\$p > svg > foreignObject > section header{color:var(--header-footer-color);font-size:18px;left:30px;margin:0;position:absolute}div#\:\$p > svg > foreignObject > section header{top:21px}div#\:\$p > svg > foreignObject > section footer{bottom:21px}div#\:\$p > svg > foreignObject > section{--h1-color:light-dark(#246, #cee7ff);--header-footer-color:light-dark(hsla(0,0%,40%,.75), hsla(0,0%,60%,.75));--heading-strong-color:light-dark(#48c, #7bf);--paginate-color:light-dark(#777, #999);--base-size-4:4px;--base-size-8:8px;--base-size-16:16px;--base-size-24:24px;--base-size-40:40px;align-items:stretch;display:block;flex-flow:column nowrap;font-size:29px;height:720px;padding:78.5px;place-content:safe center center;width:1280px}div#\:\$p > svg > foreignObject > section{--marpit-root-font-size:29px}div#\:\$p > svg > foreignObject > section>:last-child,div#\:\$p > svg > foreignObject > section[data-footer]>:nth-last-child(2){margin-bottom:0}div#\:\$p > svg > foreignObject > section>:first-child,div#\:\$p > svg > foreignObject > section>header:first-child+*{margin-top:0}div#\:\$p > svg > foreignObject > section:after{bottom:21px;color:var(--paginate-color);font-size:24px;padding:0;position:absolute;right:30px}div#\:\$p > svg > foreignObject > section:after{--marpit-root-font-size:24px}div#\:\$p > svg > foreignObject > section[data-color] :is(h1, marp-h1),div#\:\$p > svg > foreignObject > section[data-color] :is(h2, marp-h2),div#\:\$p > svg > foreignObject > section[data-color] :is(h3, marp-h3),div#\:\$p > svg > foreignObject > section[data-color] :is(h4, marp-h4),div#\:\$p > svg > foreignObject > section[data-color] :is(h5, marp-h5),div#\:\$p > svg > foreignObject > section[data-color] :is(h6, marp-h6){color:currentcolor}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]){--subtitle-color: #93a1a1;--h1-color: black;--border-color: #e99211;--bold-color: orangered;--italic-color: black;--italic-background-color: rgba(255, 210, 8, 0.713);--background-color: #fdf6e3;--list-item-color: rgb(50, 56, 56);--after-color: rgb(255, 39, 1);--main-color: rgb(207, 77, 17);--darker-color: #246;--lighter-color: #080a0a;--extra-back-color: rgb(175, 172, 173);--letter-spacing: 0.125px;--cool-list-color: orangered;--author-align: right;--blockquote-strong: rgb(255, 1, 1);--table-header-color: rgb(28, 36, 43);--table-header-font-color: white;--table-border-top: rgb(97, 96, 96);--table-border-bottom: rgba(97, 97, 96, 0.315);--table-nth-child-color: #eef1f3;--table-hover-background-color: rgb(252, 11, 11);--table-hover-color: white;}div#\:\$p > svg > foreignObject > section.transition{--transitionpage-color: orangered;}div#\:\$p > svg > foreignObject > section.biblio{--text-color: white;--biblio-background-color: rgb(11, 50, 175);--border-color: darkorange;--bold-color: orange;}div#\:\$p > svg > foreignObject > section.titlepage{--title-size: 150%;--subtitle-size: 110%;--author-size: 110%;--date-size: 110%;--institute-size: 90%;--letter-spacing: 0.125px;--title-font-weight: 600;--subtitle-font-weight: 600;--title-color: #ee0d0d;--title-color: #4d7baf;--title-color: #0a67f1;--title-color: #002b36;--titlepage-color: #242d31;--background-color: #faf7f7;--border-color: #f0cf9e;--border-color: #b5c9ee;--border-color: #8aa6da;--border-color: #6c71c4;--border-color: #e99211;}div#\:\$p > svg > foreignObject > section.cite{--background-color: #fdf6e3;--strong-color: rgb(182, 112, 27);}/*
============================================
Created by Paulo Cunha
version: 1.75
update: 06.mai.2024
update: 23.jun.2023
update: 12.mai.2022
update: 30.dez.2021
============================================
You may use freely (MIT license) provided
due credits are granted to the authors.
CLASSES:
<!-- _class: biblio -->
<!-- _class: blockquote -->
<!-- _class: cite -->
<!-- _class: columns -->
<!-- _class: columns3 -->
<!-- _class: columns-center -->
<!-- _class: columns3-center -->
<!-- _class: cool-list -->
<!-- _class: cool-list2 -->
<!-- _class: table -->
<!-- _class: transition -->
<!-- _class: titlepage -->
Credits: https://catalin.red/css3-ordered-list-styles/
for cool-list anda cool-list2.
*/div#\:\$p > svg > foreignObject > section :is(h1, marp-h1){color:var(--h1-color);border-bottom:1px solid var(--border-color)}div#\:\$p > svg > foreignObject > section p{margin-top:0.5em;margin-bottom:0.25em;line-height:1.3em;font-size:32px}div#\:\$p > svg > foreignObject > section li{margin-top:0.5em;margin-bottom:0.25em;line-height:1.2em;font-size:105%;color:val(--list-item-color)}div#\:\$p > svg > foreignObject > section em{color:var(--italic-color);background:var(--italic-background-color);font-style:normal;font-weight:bold;font-family:sans-serif;padding-top:6px;padding-left:6px;padding-right:6px;padding-bottom:6px}div#\:\$p > svg > foreignObject > section strong{color:var(--bold-color);padding-left:5px;padding-right:5px;font-weight:600}div#\:\$p > svg > foreignObject > section figcaption{font-size:80%;padding-top:16px}div#\:\$p > svg > foreignObject > section::after{color:rgb(51, 59, 77);font-size:0.8em;content:' ' attr(data-marpit-pagination) '/' attr(data-marpit-pagination-total) ' '}div#\:\$p > svg > foreignObject > section::after{--marpit-root-font-size: 0.8em}div#\:\$p > svg > foreignObject > section .center{text-align:center}div#\:\$p > svg > foreignObject > section .right{text-align:right}div#\:\$p > svg > foreignObject > section .small{font-size:24px}div#\:\$p > svg > foreignObject > section section.small{--marpit-root-font-size: 24px}div#\:\$p > svg > foreignObject > section table{margin-top:40px;border:0;font-size:24px;margin-right:auto!important;margin-left:auto!important}div#\:\$p > svg > foreignObject > section table th{background-color:var(--table-header-color);color:var(--table-header-font-color);border:1;border-top:var(--table-border-top) solid 2px}div#\:\$p > svg > foreignObject > section table td{border:0}div#\:\$p > svg > foreignObject > section table tr:nth-child(2){background-color:#c4c6c6}div#\:\$p > svg > foreignObject > section table tr:last-child{border-bottom:var(--table-border-bottom) solid 1px}div#\:\$p > svg > foreignObject > section tr:nth-child(even){background-color:var(--table-nth-child-color)!important}div#\:\$p > svg > foreignObject > section tr:hover{color:var(--table-hover-color);background-color:var(--table-hover-background-color);font-weight:bold}div#\:\$p > svg > foreignObject > section blockquote{color:rgb(66, 66, 66);font-size:20px;border-top:0.1em dashed var(--extra-back-color);margin-top:auto}div#\:\$p > svg > foreignObject > section blockquote p{font-size:1.12em!important;letter-spacing:-0.5px!important}div#\:\$p > svg > foreignObject > section blockquote strong{color:var(--blockquote-strong);font-weight:bold;font-size:1.11em!important;letter-spacing:-0.5px!important}div#\:\$p > svg > foreignObject > section .columns{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 0.5)}div#\:\$p > svg > foreignObject > section .columns p{margin-top:0.5em;margin-bottom:0.25em;line-height:1.16em;font-size:30px}div#\:\$p > svg > foreignObject > section .columns ol, div#\:\$p > svg > foreignObject > section ul{margin-top:0.15em;margin-bottom:0.25em;line-height:1.73em!important;font-size:26px;color:var()}div#\:\$p > svg > foreignObject > section .columns-center{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 1);justify-items:center;justify-content:center;align-items:center}div#\:\$p > svg > foreignObject > section .columns3{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 1)}div#\:\$p > svg > foreignObject > section .columns3-center{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 1);justify-items:center;justify-content:center;align-items:center}div#\:\$p > svg > foreignObject > section.titlepage{background-color:var(--background-color)}div#\:\$p > svg > foreignObject > section.titlepage .title{font-size:var(--title-size);font-weight:var(--title-font-weight);color:var(--title-color);border-bottom:1px solid var(--border-color);line-height:1.2;padding-bottom:15px}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.title{--marpit-root-font-size: var(--title-size)}div#\:\$p > svg > foreignObject > section.titlepage .subtitle{font-size:var(--subtitle-size);font-weight:var(--subtitle-font-weight);line-height:1.2;color:var(--subtitle-color);padding-top:10px;padding-bottom:120px;letter-spacing:var(--letter-spacing)}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.subtitle{--marpit-root-font-size: var(--subtitle-size)}div#\:\$p > svg > foreignObject > section.titlepage .author{font-size:var(--author-size)}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.author{--marpit-root-font-size: var(--author-size)}div#\:\$p > svg > foreignObject > section.titlepage .date{font-size:var(--date-size)}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.date{--marpit-root-font-size: var(--date-size)}div#\:\$p > svg > foreignObject > section.titlepage .organization{font-size:var(--institute-size)}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.organization{--marpit-root-font-size: var(--institute-size)}div#\:\$p > svg > foreignObject > section.titlepage .author, div#\:\$p > svg > foreignObject > section.titlepage .date, div#\:\$p > svg > foreignObject > section.titlepage .organization{font-weight:400;text-align:right;color:var(--titlepage-color);line-height:1.25}div#\:\$p > svg > foreignObject > section.titlepage :is(h3, marp-h3), div#\:\$p > svg > foreignObject > section.titlepage :is(h4, marp-h4), div#\:\$p > svg > foreignObject > section.titlepage :is(h5, marp-h5){font-weight:400;text-align:right;color:var(--titlepage-color);line-height:0.45;letter-spacing:var(--letter-spacing)}div#\:\$p > svg > foreignObject > section.titlepage :is(h1, marp-h1){font-size:var(--title-size)!important;font-weight:var(--title-font-weight)!important;text-align:left;color:var(--title-color)!important;border-bottom:1px solid var(--border-color)!important;line-height:1.25}div#\:\$p > svg > foreignObject > section.titlepage :is(h2, marp-h2){font-size:var(--subtitle-size);font-weight:var(--subtitle-font-weight);text-align:left;color:var(--subtitle-color)!important;letter-spacing:var(--letter-spacing);line-height:1.2;margin-top:-0.2em;padding-bottom:95px}div#\:\$p > svg > foreignObject > section.titlepage :is(h3, marp-h3){font-size:var(--author-size)}div#\:\$p > svg > foreignObject > section.titlepage :is(h4, marp-h4){font-size:var(--date-size)}div#\:\$p > svg > foreignObject > section.titlepage :is(h5, marp-h5){font-size:var(--institute-size)}div#\:\$p > svg > foreignObject > section.titlepage footer, div#\:\$p > svg > foreignObject > section.titlepage header, div#\:\$p > svg > foreignObject > section.titlepage:after{display:none}div#\:\$p > svg > foreignObject > section.transition{background-color:var(--transitionpage-color);text-align:center!important;font-weight:bold;color:white;padding-top:auto;padding-buttom:auto}div#\:\$p > svg > foreignObject > section.transition :is(h1, marp-h1), div#\:\$p > svg > foreignObject > section.transition :is(h2, marp-h2), div#\:\$p > svg > foreignObject > section.transition p, div#\:\$p > svg > foreignObject > section.transition a{color:rgb(243, 229, 212);font-size:200%;border-bottom:none}div#\:\$p > svg > foreignObject > section.transition footer, div#\:\$p > svg > foreignObject > section.transition header, div#\:\$p > svg > foreignObject > section.transition:after{display:none}div#\:\$p > svg > foreignObject > section.transition2{background-color:rgb(137, 173, 207);text-align:center!important;font-weight:bold!important;color:rgb(255, 255, 255);padding-top:auto;padding-buttom:auto}div#\:\$p > svg > foreignObject > section.transition2 :is(h1, marp-h1), div#\:\$p > svg > foreignObject > section.transition2 :is(h2, marp-h2), div#\:\$p > svg > foreignObject > section.transition2 p, div#\:\$p > svg > foreignObject > section.transition2 a{color:rgb(217, 235, 247);font-size:200%;border-bottom:none}div#\:\$p > svg > foreignObject > section.transition2 em{background-color:rgb(60, 255, 0)!important}div#\:\$p > svg > foreignObject > section.transition2 footer, div#\:\$p > svg > foreignObject > section.transition2 header, div#\:\$p > svg > foreignObject > section.transition2:after{display:none}div#\:\$p > svg > foreignObject > section.transition3{background-color:rgb(66, 69, 71);text-align:center!important;font-weight:bold!important;color:rgb(255, 255, 255);padding-top:auto;padding-buttom:auto}div#\:\$p > svg > foreignObject > section.transition3 :is(h1, marp-h1), div#\:\$p > svg > foreignObject > section.transition3 :is(h2, marp-h2), div#\:\$p > svg > foreignObject > section.transition3 p, div#\:\$p > svg > foreignObject > section.transition3 a{color:rgb(244, 247, 217);font-size:200%;border-bottom:none}div#\:\$p > svg > foreignObject > section.transition3 em{background-color:rgb(60, 255, 0)!important}div#\:\$p > svg > foreignObject > section.transition3 strong{color:rgb(71, 83, 90)}div#\:\$p > svg > foreignObject > section.transition3 footer, div#\:\$p > svg > foreignObject > section.transition3 header, div#\:\$p > svg > foreignObject > section.transition3:after{display:none}div#\:\$p > svg > foreignObject > section.cite{background-color:var(--background-color)}div#\:\$p > svg > foreignObject > section.cite p{color:black;background-color:;letter-spacing:var(--letter-spacing);font-size:150%;text-align:center;line-height:1.2em;font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;padding-top:auto;padding-bottom:auto;padding-left:100px;padding-right:100px}div#\:\$p > svg > foreignObject > section.cite strong{color:var(--strong-color)}div#\:\$p > svg > foreignObject > section.cite footer, div#\:\$p > svg > foreignObject > section.cite header, div#\:\$p > svg > foreignObject > section.cite:after{display:none}div#\:\$p > svg > foreignObject > section.biblio{background-color:var(--biblio-background-color)}div#\:\$p > svg > foreignObject > section.biblio p{color:var(--text-color);font-size:80%;font-weight:300;padding-left:5px}div#\:\$p > svg > foreignObject > section.biblio :is(h1, marp-h1){font-size:35px;color:var(--text-color);border-bottom:1px solid var(--border-color)}div#\:\$p > svg > foreignObject > section.biblio strong{color:var(--bold-color)}div#\:\$p > svg > foreignObject > section.biblio a{font-size:31px;font-weight:bold;color:var(--bold-color)}div#\:\$p > svg > foreignObject > section.biblio li{color:var(--text-color)}div#\:\$p > svg > foreignObject > section.biblio footer, div#\:\$p > svg > foreignObject > section.biblio header, div#\:\$p > svg > foreignObject > section.biblio:after{display:none}div#\:\$p > svg > foreignObject > section.cool-list ol{counter-reset:li;list-style:none;padding:0}div#\:\$p > svg > foreignObject > section.cool-list li{margin-bottom:0.1em!important;margin-top:0.1em!important}div#\:\$p > svg > foreignObject > section.cool-list ol>li>em, div#\:\$p > svg > foreignObject > section.cool-list>ol>li>a{position:relative;display:block;padding:0.4em 0.4em 0.4em 2em;margin:0.5em 0;background:#ddd;color:#444;text-decoration:none;border-radius:0.3em;transition:all 0.3s ease-out;font-style:normal}div#\:\$p > svg > foreignObject > section.cool-list ol>li>em:before, div#\:\$p > svg > foreignObject > section.cool-list>ol>li>a:before{content:counter(li);counter-increment:li;position:absolute;left:-1.3em;top:50%;margin-top:-1.3em;background:var(--cool-list-color);height:2em;width:2em;line-height:2em;border:0.3em solid #fff;text-align:center;font-weight:normal;border-radius:2em;transition:all 0.3s ease-out;color:white}div#\:\$p > svg > foreignObject > section.cool-list>ol>li>em:hover, div#\:\$p > svg > foreignObject > section.cool-list>ol>li>a:hover{background:#eee;font-weight:bolder}div#\:\$p > svg > foreignObject > section.cool-list>ol ol{margin:0 0 0 2em;font-size:75%;counter-reset:li2}div#\:\$p > svg > foreignObject > section.cool-list>ol ol>li>em:before, div#\:\$p > svg > foreignObject > section.cool-list>ol ol>li>a:before{content:counter(li2);counter-increment:li2}div#\:\$p > svg > foreignObject > section.cool-list>ol>li>ul{list-style-type:disc;margin:0 0 0 1em;font-size:75%}div#\:\$p > svg > foreignObject > section.cool-list>ol ol>li>em{background:#efefef}div#\:\$p > svg > foreignObject > section.cool-list2 ol{counter-reset:li;list-style:none;padding:0;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5)}div#\:\$p > svg > foreignObject > section.cool-list2 ol ol{margin:0 0 0 2em}div#\:\$p > svg > foreignObject > section.cool-list2 ol li em{position:relative;display:block;padding:0.4em 0.4em 0.4em 0.8em;margin:0.5em 0 0.5em 2.5em;background:#ddd;color:#444;text-decoration:none;transition:all 0.3s ease-out;font-style:normal}div#\:\$p > svg > foreignObject > section.cool-list2 ol li em:hover{background:#eee;font-weight:bolder}div#\:\$p > svg > foreignObject > section.cool-list2 ol li em:before{content:counter(li);counter-increment:li;position:absolute;left:-2.5em;top:50%;margin-top:-1em;background:var(--lighter-color);height:2em;width:2em;line-height:2em;text-align:center;font-weight:bold}div#\:\$p > svg > foreignObject > section.cool-list2 ol li em:after{position:absolute;content:'';border:0.5em solid transparent;left:-1em;top:50%;margin-top:-0.5em;transition:all 0.3s ease-out}div#\:\$p > svg > foreignObject > section.cool-list2 ol li em:hover:after{left:-0.5em;border-left-color:var(--lighter-color)}div#\:\$p > svg > foreignObject > section.cool-list2 ol ol{margin:0 0 0 2em;font-size:75%;counter-reset:li2}div#\:\$p > svg > foreignObject > section.cool-list2 ol ol>li>em:before, div#\:\$p > svg > foreignObject > section.cool-list2 ol ol>li>a:before{content:counter(li2);counter-increment:li2;background:lightgray}div#\:\$p > svg > foreignObject > section.cool-list2 ol ul{list-style-type:disc;margin:0 0 0 1em;font-size:75%}div#\:\$p > svg > foreignObject > section.cool-list2 ol ol em{background:#efefef}div#\:\$p > svg > foreignObject > section li img{vertical-align:middle;margin:0 0.2em}div#\:\$p > svg > foreignObject > section.mcp-features table{width:100%;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.5);table-layout:fixed;border-collapse:collapse;font-size:calc(var(--marpit-root-font-size, 1rem) * 0.82)}div#\:\$p > svg > foreignObject > section:not(.titlepage){padding:64px 72px!important}div#\:\$p > svg > foreignObject > section.mcp-features table thead{display:none;border-bottom:1px solid rgba(0, 0, 0, 0.12)}div#\:\$p > svg > foreignObject > section.mcp-features table.show-headers thead{display:table-header-group}div#\:\$p > svg > foreignObject > section.mcp-features table thead th{padding:calc(var(--marpit-root-font-size, 1rem) * 0.35) calc(var(--marpit-root-font-size, 1rem) * 0.55);text-align:left;font-weight:600;font-size:calc(var(--marpit-root-font-size, 1rem) * 0.82);color:#64748b;background-color:transparent}div#\:\$p > svg > foreignObject > section.mcp-features table thead th:not(:first-child){text-align:right}div#\:\$p > svg > foreignObject > section.mcp-features tbody td{padding:calc(var(--marpit-root-font-size, 1rem) * 0.32) calc(var(--marpit-root-font-size, 1rem) * 0.55);border-bottom:1px solid rgba(0, 0, 0, 0.06);vertical-align:top}div#\:\$p > svg > foreignObject > section.mcp-features tbody tr:last-child td{border-bottom:none}div#\:\$p > svg > foreignObject > section.mcp-features table td:first-child, div#\:\$p > svg > foreignObject > section.mcp-features table th:first-child{text-align:left;width:auto}div#\:\$p > svg > foreignObject > section.mcp-features table.show-headers td:nth-child(2){font-weight:400}div#\:\$p > svg > foreignObject > section.mcp-features table.show-headers td:nth-child(3){font-weight:700}div#\:\$p > svg > foreignObject > section.mcp-features table tr:nth-child(even), div#\:\$p > svg > foreignObject > section.mcp-features table tr:nth-child(odd){background-color:transparent!important}div#\:\$p > svg > foreignObject > section.mcp-features table tr:hover{background-color:var(--table-hover-background-color)!important;color:var(--table-hover-color)!important;font-weight:700}div#\:\$p > svg > foreignObject > section.mcp-features tbody tr.highlight-row, div#\:\$p > svg > foreignObject > section.mcp-features tbody tr.highlight-row:hover{background-color:#dbeafe!important}div#\:\$p > svg > foreignObject > section.mcp-features tbody tr.highlight-row td, div#\:\$p > svg > foreignObject > section.mcp-features tbody tr.highlight-row:hover td{font-weight:700!important;color:#1e40af!important;padding-top:calc(var(--marpit-root-font-size, 1rem) * 0.45)!important;padding-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.45)!important}div#\:\$p > svg > foreignObject > section.mcp-features tbody tr.warning-row td{color:#991b1b!important;font-weight:600!important}div#\:\$p > svg > foreignObject > section.mcp-features table{max-width:100%;overflow-x:hidden}div#\:\$p > svg > foreignObject > section.mcp-features .columns > div:last-child{padding-left:calc(var(--marpit-root-font-size, 1rem) * 2)}div#\:\$p > svg > foreignObject > section.mcp-features .cell-title{display:inline-block}div#\:\$p > svg > foreignObject > section.mcp-features .feature-icon{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--marpit-root-font-size, 1rem) * 3.5);height:calc(var(--marpit-root-font-size, 1rem) * 3.5);margin:0 auto;border-radius:calc(var(--marpit-root-font-size, 1rem) * 0.9);background-color:rgba(0, 0, 0, 0.06)}div#\:\$p > svg > foreignObject > section.mcp-features .feature-icon img{max-width:62%;max-height:62%;box-shadow:none;border-radius:0}div#\:\$p > svg > foreignObject > section.mcp-features .examples{display:flex;flex-direction:column;gap:calc(var(--marpit-root-font-size, 1rem) * 0.35)}div#\:\$p > svg > foreignObject > section .registry-layout{display:flex;gap:calc(var(--marpit-root-font-size, 1rem) * 3);align-items:center;margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.5);flex-wrap:wrap}div#\:\$p > svg > foreignObject > section .registry-layout .collage-column{flex:1 1 65%;min-width:360px}div#\:\$p > svg > foreignObject > section .registry-layout .text-column{flex:1 1 240px;max-width:320px;line-height:1.4}div#\:\$p > svg > foreignObject > section .registry-layout .text-column :is(h3, marp-h3){margin-top:0;margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 1)}div#\:\$p > svg > foreignObject > section .registry-layout .text-column ul{padding-left:calc(var(--marpit-root-font-size, 1rem) * 1.1);margin:0}div#\:\$p > svg > foreignObject > section .registry-collage{position:relative;height:420px;margin-top:30px}div#\:\$p > svg > foreignObject > section .registry-collage img{position:absolute;width:55%;max-width:520px;border-radius:12px;border:6px solid #fff;box-shadow:0 18px 45px rgba(0, 0, 0, 0.25);transition:transform 160ms ease-in-out}div#\:\$p > svg > foreignObject > section .registry-collage img:hover{transform:scale(1.02) translateY(-4px);z-index:4}div#\:\$p > svg > foreignObject > section .registry-collage .shot-azure{top:0;left:-10px;transform:rotate(-4deg);z-index:3}div#\:\$p > svg > foreignObject > section .registry-collage .shot-claude{top:60px;right:-60px;transform:rotate(3deg);z-index:2}div#\:\$p > svg > foreignObject > section .registry-collage .shot-github{bottom:-30px;left:25%;transform:rotate(-1deg);z-index:1}div#\:\$p > svg > foreignObject > section .social-table{margin:calc(var(--marpit-root-font-size, 1rem) * 2.2) 0 0 auto;border-collapse:collapse;font-size:1.05em;min-width:360px}div#\:\$p > svg > foreignObject > section section.social-table{--marpit-root-font-size: 1.05em}div#\:\$p > svg > foreignObject > section .social-table td{padding:calc(var(--marpit-root-font-size, 1rem) * 0.45) calc(var(--marpit-root-font-size, 1rem) * 0.25);border:none;vertical-align:middle;color:inherit}div#\:\$p > svg > foreignObject > section .social-table td:first-child{width:54px;text-align:right}div#\:\$p > svg > foreignObject > section .social-table td:first-child img{width:34px;height:34px;object-fit:contain;display:inline-block;box-shadow:none!important;border-radius:0!important}div#\:\$p > svg > foreignObject > section .social-table td:last-child{padding-left:calc(var(--marpit-root-font-size, 1rem) * 0.9)}div#\:\$p > svg > foreignObject > section .social-table a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:calc(var(--marpit-root-font-size, 1rem) * 0.4)}div#\:\$p > svg > foreignObject > section .social-table a:hover, div#\:\$p > svg > foreignObject > section .social-table a:focus{text-decoration:underline}div#\:\$p > svg > foreignObject > section .social-table tr{background-color:transparent!important}div#\:\$p > svg > foreignObject > section .mcp-magnify{position:relative;display:inline-block;--magnify-image: none;--magnify-scale: 2;--magnify-size: 220px;--magnify-focus-x: 50%;--magnify-focus-y: 50%;--magnify-position-x: 50%;--magnify-position-y: 50%;cursor:zoom-in;isolation:isolate}div#\:\$p > svg > foreignObject > section .mcp-magnify > img{display:block}div#\:\$p > svg > foreignObject > section .mcp-magnify::after{content:"";position:absolute;width:var(--magnify-size);height:var(--magnify-size);left:var(--magnify-position-x);top:var(--magnify-position-y);transform:translate(-50%, -50%) scale(var(--magnify-scale));transform-origin:50% 50%;background-image:var(--magnify-image);background-repeat:no-repeat;background-size:calc(100% * var(--magnify-scale)) calc(100% * var(--magnify-scale));background-position:var(--magnify-focus-x) var(--magnify-focus-y);border-radius:50%;box-shadow:0 10px 24px rgba(0, 0, 0, 0.28);outline:2px solid rgba(0, 0, 0, 0.25);outline-offset:-1px;opacity:0;transition:opacity 140ms ease-in-out;pointer-events:none;z-index:1;will-change:transform, opacity}div#\:\$p > svg > foreignObject > section .mcp-magnify:hover::after, div#\:\$p > svg > foreignObject > section .mcp-magnify:focus-within::after{opacity:1}div#\:\$p > svg > foreignObject > section .mcp-magnify--completion-1{--magnify-image: url('./images/completion-1-lightbox.png');--magnify-scale: 2;--magnify-size: 280px;--magnify-position-x: 50%;--magnify-position-y: 50%;--magnify-focus-x: 85%;--magnify-focus-y: 88%;}div#\:\$p > svg > foreignObject > section .mcp-magnify--completion-2{--magnify-image: url('./images/completion-2-lightbox.png');--magnify-scale: 2;--magnify-size: 280px;--magnify-position-x: 50%;--magnify-position-y: 50%;--magnify-focus-x: 105%;--magnify-focus-y: 105%;}div#\:\$p > svg > foreignObject > section .mcp-magnify--privacy{--magnify-image: url('./images/chatgpt-privacy.png');--magnify-scale: 2.2;--magnify-size: 240px;--magnify-position-x: 78%;--magnify-position-y: 58%;--magnify-focus-x: 78%;--magnify-focus-y: 58%;}@keyframes zoomToPosition{0%{transform:scale(var(--zoom-start-scale, 3)) translate(0, 0);opacity:1}100%{transform:scale(1) translate(var(--zoom-end-x, 0), var(--zoom-end-y, 0));opacity:1}}div#\:\$p > svg > foreignObject > section .zoom-effect{position:relative;display:inline-block;--zoom-start-scale: 3;--zoom-end-x: 0;--zoom-end-y: 0;--zoom-duration: 10s;}div#\:\$p > svg > foreignObject > section .zoom-effect img{display:block;animation:zoomToPosition var(--zoom-duration) ease-out forwards;transform-origin:center center}div#\:\$p > svg > foreignObject > section .zoom-effect--claude{--zoom-start-scale: 4;--zoom-end-x: 500px;--zoom-end-y: -450px;--zoom-duration: 3s;}div#\:\$p > svg > foreignObject > section .emphasis-box{background-color:#fef3c7;padding:calc(var(--marpit-root-font-size, 1rem) * 0.5);border-left:4px solid #f59e0b;border-radius:2px;margin:calc(var(--marpit-root-font-size, 1rem) * 0.5) 0}div#\:\$p > svg > foreignObject > section .social-table tr:nth-child(odd), div#\:\$p > svg > foreignObject > section .social-table tr:nth-child(even){background-color:transparent!important}div#\:\$p > svg > foreignObject > section .social-table tr:hover, div#\:\$p > svg > foreignObject > section .social-table tr:focus-within{background-color:var(--table-hover-background-color)!important;color:var(--table-hover-color)!important;font-weight:700}div#\:\$p > svg > foreignObject > section.top-clients table{width:100%;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.6);table-layout:fixed;border-collapse:collapse;font-size:calc(var(--marpit-root-font-size, 1rem) * 0.85)}div#\:\$p > svg > foreignObject > section.top-clients table thead{display:none}div#\:\$p > svg > foreignObject > section.top-clients table col:nth-child(1){width:calc(var(--marpit-root-font-size, 1rem) * 2.2)}div#\:\$p > svg > foreignObject > section.top-clients table col:nth-child(2){width:calc(50% - calc(var(--marpit-root-font-size, 1rem) * 7.7))}div#\:\$p > svg > foreignObject > section.top-clients table col:nth-child(3){width:calc(var(--marpit-root-font-size, 1rem) * 5.5)}div#\:\$p > svg > foreignObject > section.top-clients table col:nth-child(4){width:calc(var(--marpit-root-font-size, 1rem) * 2.2)}div#\:\$p > svg > foreignObject > section.top-clients table col:nth-child(5){width:calc(50% - calc(var(--marpit-root-font-size, 1rem) * 7.7))}div#\:\$p > svg > foreignObject > section.top-clients table col:nth-child(6){width:calc(var(--marpit-root-font-size, 1rem) * 5.5)}div#\:\$p > svg > foreignObject > section.top-clients tbody td{padding:calc(var(--marpit-root-font-size, 1rem) * 0.35) calc(var(--marpit-root-font-size, 1rem) * 0.5);border-bottom:1px solid rgba(0, 0, 0, 0.1);vertical-align:middle;line-height:1.2}div#\:\$p > svg > foreignObject > section.top-clients tbody tr:last-child td{border-bottom:none}div#\:\$p > svg > foreignObject > section.top-clients table td:nth-child(1), div#\:\$p > svg > foreignObject > section.top-clients table td:nth-child(4){text-align:center;font-weight:600;color:#64748b;font-size:calc(var(--marpit-root-font-size, 1rem) * 0.7);background-color:rgba(0, 0, 0, 0.04)}div#\:\$p > svg > foreignObject > section.top-clients table td:nth-child(2), div#\:\$p > svg > foreignObject > section.top-clients table td:nth-child(5){font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div#\:\$p > svg > foreignObject > section.top-clients table td:nth-child(3), div#\:\$p > svg > foreignObject > section.top-clients table td:nth-child(6){text-align:right}div#\:\$p > svg > foreignObject > section.top-clients table td:nth-child(3) .client-icons, div#\:\$p > svg > foreignObject > section.top-clients table td:nth-child(6) .client-icons{justify-content:flex-end}div#\:\$p > svg > foreignObject > section.top-clients table tr:nth-child(even), div#\:\$p > svg > foreignObject > section.top-clients table tr:nth-child(odd){background-color:transparent!important}div#\:\$p > svg > foreignObject > section.top-clients tbody td:nth-child(1), div#\:\$p > svg > foreignObject > section.top-clients tbody td:nth-child(2), div#\:\$p > svg > foreignObject > section.top-clients tbody td:nth-child(3){transition:background-color 0.15s ease}div#\:\$p > svg > foreignObject > section.top-clients tbody tr:hover td:nth-child(1), div#\:\$p > svg > foreignObject > section.top-clients tbody tr:hover td:nth-child(2), div#\:\$p > svg > foreignObject > section.top-clients tbody tr:hover td:nth-child(3){background-color:rgba(59, 130, 246, 0.08)!important}div#\:\$p > svg > foreignObject > section.top-clients tbody tr:hover td:nth-child(2){font-weight:700;color:#1e40af}div#\:\$p > svg > foreignObject > section.top-clients tbody td:nth-child(4), div#\:\$p > svg > foreignObject > section.top-clients tbody td:nth-child(5), div#\:\$p > svg > foreignObject > section.top-clients tbody td:nth-child(6){transition:background-color 0.15s ease}div#\:\$p > svg > foreignObject > section.top-clients tbody tr:hover td:nth-child(4), div#\:\$p > svg > foreignObject > section.top-clients tbody tr:hover td:nth-child(5), div#\:\$p > svg > foreignObject > section.top-clients tbody tr:hover td:nth-child(6){background-color:rgba(59, 130, 246, 0.08)!important}div#\:\$p > svg > foreignObject > section.top-clients tbody tr:hover td:nth-child(5){font-weight:700;color:#1e40af}div#\:\$p > svg > foreignObject > section.top-clients .client-icons{display:inline-flex;gap:calc(var(--marpit-root-font-size, 1rem) * 0.25);align-items:center;justify-content:center}div#\:\$p > svg > foreignObject > section.top-clients .capability-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;background-color:rgba(59, 130, 246, 0.15);transition:transform 0.15s ease}div#\:\$p > svg > foreignObject > section.top-clients .capability-icon img{width:17px;height:17px;box-shadow:none;border-radius:0;filter:invert(36%) sepia(85%) saturate(2270%) hue-rotate(208deg) brightness(96%) contrast(92%)}div#\:\$p > svg > foreignObject > section.top-clients .capability-icon.disabled{background-color:rgba(0, 0, 0, 0.03)}div#\:\$p > svg > foreignObject > section.top-clients .capability-icon.disabled img{filter:invert(80%) sepia(5%) saturate(200%) hue-rotate(180deg) brightness(95%) contrast(85%);opacity:0.35}div#\:\$p > svg > foreignObject > section.top-clients .icon-delete{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;background-color:rgba(239, 68, 68, 0.15);transition:transform 0.15s ease}div#\:\$p > svg > foreignObject > section.top-clients .icon-delete img{width:17px;height:17px;box-shadow:none;border-radius:0;filter:invert(35%) sepia(89%) saturate(2270%) hue-rotate(343deg) brightness(96%) contrast(92%)}div#\:\$p > svg > foreignObject > section.top-clients .icon-alert{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;background-color:rgba(239, 68, 68, 0.12);transition:transform 0.15s ease}div#\:\$p > svg > foreignObject > section.top-clients .icon-alert img{width:17px;height:17px;box-shadow:none;border-radius:0;filter:invert(35%) sepia(89%) saturate(2270%) hue-rotate(343deg) brightness(96%) contrast(92%)}div#\:\$p > svg > foreignObject > section.top-clients .legend{display:flex;gap:calc(var(--marpit-root-font-size, 1rem) * 1.5);margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.8);padding:calc(var(--marpit-root-font-size, 1rem) * 0.5) calc(var(--marpit-root-font-size, 1rem) * 0.6);background-color:rgba(0, 0, 0, 0.02);border-radius:6px;font-size:calc(var(--marpit-root-font-size, 1rem) * 0.78);justify-content:center;align-items:center}div#\:\$p > svg > foreignObject > section.top-clients div#\:\$p > svg > foreignObject > section section.legend{--marpit-root-font-size: calc(var(--marpit-root-font-size, 1rem) * 0.78)}div#\:\$p > svg > foreignObject > section.top-clients .legend-item{display:flex;align-items:center;gap:calc(var(--marpit-root-font-size, 1rem) * 0.35)}div#\:\$p > svg > foreignObject > section.top-clients .legend-item .legend-label{color:#64748b;font-weight:500}div#\:\$p > svg > foreignObject > section.top-clients .client-icon{width:16px;height:16px;border-radius:3px;background-color:rgba(0, 0, 0, 0.1);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:bold;line-height:1}div#\:\$p > svg > foreignObject > section.top-clients div#\:\$p > svg > foreignObject > section section.client-icon{--marpit-root-font-size: 10px}div#\:\$p > svg > foreignObject > section.top-clients .client-icon.icon-delete{background-color:#ef4444;color:white}div#\:\$p > svg > foreignObject > section.top-clients .client-icon.icon-capability{background-color:#3b82f6;color:white}div#\:\$p > svg > foreignObject > section header{display:flex;justify-content:flex-end;align-items:center;position:absolute;top:20px;left:20px;right:20px;height:28px;z-index:1000;font-size:16px;font-weight:bold;color:#333}div#\:\$p > svg > foreignObject > section.titlepage header, div#\:\$p > svg > foreignObject > section.transition header{display:none}div#\:\$p > svg > foreignObject > section .header-logos{display:flex;align-items:center;gap:12px}div#\:\$p > svg > foreignObject > section .header-logos img{height:28px;width:auto;box-shadow:none!important;border-radius:0!important;object-fit:contain}div#\:\$p > svg > foreignObject > section .header-logos img[src*="hf_logo"]{height:32px}div#\:\$p > svg > foreignObject > section .no-shadow img, div#\:\$p > svg > foreignObject > section img.no-shadow{box-shadow:none!important}div#\:\$p > svg > foreignObject > section .shadow img, div#\:\$p > svg > foreignObject > section img.shadow{box-shadow:0 4px 8px rgba(0, 0, 0, 0.15)!important}div#\:\$p > svg > foreignObject > section.conversational-state .state-table{width:100%;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.6);table-layout:fixed;border-collapse:collapse;font-size:calc(var(--marpit-root-font-size, 1rem) * 0.75)}div#\:\$p > svg > foreignObject > section.conversational-state div#\:\$p > svg > foreignObject > section section.state-table{--marpit-root-font-size: calc(var(--marpit-root-font-size, 1rem) * 0.75)}div#\:\$p > svg > foreignObject > section.conversational-state .state-table thead{border-bottom:1px solid rgba(0, 0, 0, 0.12)}div#\:\$p > svg > foreignObject > section.conversational-state .state-table.show-headers thead{display:table-header-group}div#\:\$p > svg > foreignObject > section.conversational-state .state-table thead th{padding:calc(var(--marpit-root-font-size, 1rem) * 0.35) calc(var(--marpit-root-font-size, 1rem) * 0.5);text-align:center;font-weight:700;font-size:calc(var(--marpit-root-font-size, 1rem) * 0.72);color:#1f2937;background-color:rgba(0, 0, 0, 0.04)}div#\:\$p > svg > foreignObject > section.conversational-state .state-table thead th:first-child{text-align:center;font-weight:700;background-color:rgba(59, 130, 246, 0.08);color:#1e40af}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tbody td{padding:calc(var(--marpit-root-font-size, 1rem) * 0.35) calc(var(--marpit-root-font-size, 1rem) * 0.5);border-bottom:1px solid rgba(0, 0, 0, 0.08);vertical-align:middle;text-align:center;line-height:1.3}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tbody td:first-child{font-weight:700;text-align:center;background-color:rgba(0, 0, 0, 0.04);color:#1f2937;font-family:'Fira Code', monospace}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tbody tr:last-child td{border-bottom:none}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tr:nth-child(even), div#\:\$p > svg > foreignObject > section.conversational-state .state-table tr:nth-child(odd){background-color:transparent!important}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tr:hover td{background-color:rgba(59, 130, 246, 0.08)!important}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tr:hover td:first-child{font-weight:700;color:#1e40af}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tr.state-change-row td:first-child{background-color:rgba(251, 191, 36, 0.2);color:#92400e}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tr.state-change-row td{background-color:rgba(251, 191, 36, 0.08)}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tr.danger-row td:first-child{background-color:rgba(239, 68, 68, 0.2);color:#991b1b}div#\:\$p > svg > foreignObject > section.conversational-state .state-table tr.danger-row td{background-color:rgba(239, 68, 68, 0.08)}div#\:\$p > svg > foreignObject > section .corner-logo{position:absolute;display:flex;align-items:center;gap:8px;font-size:14px;color:#333;z-index:1000}div#\:\$p > svg > foreignObject > section section.corner-logo{--marpit-root-font-size: 14px}div#\:\$p > svg > foreignObject > section .corner-logo img{height:24px;width:auto}div#\:\$p > svg > foreignObject > section .corner-logo-bottom-left{bottom:20px;left:20px}div#\:\$p > svg > foreignObject > section .corner-logo-bottom-right{bottom:20px;right:20px}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]){font-family:'Fira Sans', sans-serif;font-weight:initial;color:#6c6c6c;color:#2b3446;background-color:#727d8b;background-color:#f8b13d;background-color:#435160;background-color:#f5eee6;background-color:#d9dee6;background-color:#f4f4ed;--h1-color : #3d09ae;--h1-color : #06858e;--border-color : #a0660387;--bold-color : rgb(21, 105, 201);--bold-color : #0d2d58;--italic-color : rgb(38, 48, 71);--italic-background-color : rgba(172, 215, 255, 0.713);--list-item-color : rgb(255, 212, 95);--after-color : rgb(51, 48, 48);--table-font-color : black;--table-header-color : rgb(0, 132, 255);--main-color : rgb(207, 77, 17);--darker-color : #246;--lighter-color : #080a0a;--extra-back-color : rgb(42, 45, 53);--letter-spacing : 0.125px;--cool-list-color : rgb(255, 68, 0);--author-align : right;}div#\:\$p > svg > foreignObject > section.titlepage .title{border-bottom:1px solid orangered}div#\:\$p > svg > foreignObject > section.titlepage .subtitle{font-weight:300}div#\:\$p > svg > foreignObject > section.titlepage .author, div#\:\$p > svg > foreignObject > section.titlepage .date, div#\:\$p > svg > foreignObject > section.titlepage .organization{text-align:left}div#\:\$p > svg > foreignObject > section.titlepage :is(h1, marp-h1){border-bottom:1px solid orangered}div#\:\$p > svg > foreignObject > section.titlepage :is(h2, marp-h2){font-weight:300}div#\:\$p > svg > foreignObject > section.titlepage :is(h3, marp-h3), div#\:\$p > svg > foreignObject > section.titlepage :is(h4, marp-h4), div#\:\$p > svg > foreignObject > section.titlepage :is(h5, marp-h5){text-align:right}div#\:\$p > svg > foreignObject > section.transition{--transitionpage-color: #247397;}div#\:\$p > svg > foreignObject > section.transition :is(h1, marp-h1) .mcp-model{color:#FF9D00}div#\:\$p > svg > foreignObject > section.transition :is(h1, marp-h1) .mcp-context{color:#6b7280}div#\:\$p > svg > foreignObject > section.transition2{background-color:#c53732}div#\:\$p > svg > foreignObject > section.cite{--background-color: #49454f;--strong-color: rgb(182, 112, 27);}div#\:\$p > svg > foreignObject > section.cite p{color:#fffbfe}div#\:\$p > svg > foreignObject > section.cite strong{color:#f87ca1}div#\:\$p > svg > foreignObject > section img{box-shadow:0 4px 8px rgba(0, 0, 0, 0.15);border-radius:4px}div#\:\$p > svg > foreignObject > section .footprint-bars{display:flex;flex-direction:column;gap:calc(var(--marpit-root-font-size, 1rem) * 1.5);margin-top:calc(var(--marpit-root-font-size, 1rem) * 2)}div#\:\$p > svg > foreignObject > section .footprint-bars .row{display:grid;grid-template-columns:260px 1fr;gap:calc(var(--marpit-root-font-size, 1rem) * 1.5);align-items:center}div#\:\$p > svg > foreignObject > section .footprint-bars .label strong{display:block;font-size:1.05em;color:var(--bold-color)}div#\:\$p > svg > foreignObject > section .footprint-bars .label .meta{font-size:0.8em;color:#475569;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.25)}div#\:\$p > svg > foreignObject > section .footprint-bars .label div#\:\$p > svg > foreignObject > section section.meta{--marpit-root-font-size: 0.8em}div#\:\$p > svg > foreignObject > section .footprint-bars .bar{position:relative;height:42px;border-radius:999px;background:rgba(15, 23, 42, 0.12);overflow:hidden}div#\:\$p > svg > foreignObject > section .footprint-bars .bar[data-note]::after{content:attr(data-note);position:absolute;top:calc(100% + 4px);left:0;font-size:0.62em;letter-spacing:0.06em;text-transform:uppercase;color:#64748b}div#\:\$p > svg > foreignObject > section .footprint-bars div#\:\$p > svg > foreignObject > section section.bar[data-note]::after{--marpit-root-font-size: 0.62em}div#\:\$p > svg > foreignObject > section .footprint-bars .fill{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg, #f97316 0%, #facc15 100%);transform-origin:left center;transform:scaleX(var(--scale, 1))}div#\:\$p > svg > foreignObject > section .footprint-bars .fill :is(span, marp-span){position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:600;color:#1f2937;font-size:0.85em}div#\:\$p > svg > foreignObject > section .footprint-bars .fill.is-tiny{background:linear-gradient(90deg, #38bdf8 0%, #0ea5e9 100%)}div#\:\$p > svg > foreignObject > section .footprint-bars .fill.is-tiny :is(span, marp-span){color:#0f172a}div#\:\$p > svg > foreignObject > section .footprint-note{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.25);font-size:0.72em;color:#475569;letter-spacing:0.04em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section div#\:\$p > svg > foreignObject > section section.footprint-note{--marpit-root-font-size: 0.72em}div#\:\$p > svg > foreignObject > section .footprint-grid{margin-top:calc(var(--marpit-root-font-size, 1rem) * 2.5);display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 1.2);align-items:end}div#\:\$p > svg > foreignObject > section .footprint-grid .panel{position:relative;border-radius:28px;border:3px solid rgba(15, 23, 42, 0.15);background:linear-gradient(145deg, rgba(248, 196, 113, 0.3), rgba(249, 115, 22, 0.65));box-shadow:0 28px 48px rgba(15, 23, 42, 0.18);padding:calc(var(--marpit-root-font-size, 1rem) * 2.2);min-height:clamp(240px, 52vh, 520px);color:#1f2937;overflow:hidden}div#\:\$p > svg > foreignObject > section .footprint-grid .panel small{display:block;font-size:0.78em;text-transform:uppercase;letter-spacing:0.08em;color:rgba(15, 23, 42, 0.65);margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.4)}div#\:\$p > svg > foreignObject > section .footprint-grid .panel strong{display:block;font-size:1.75em;color:var(--bold-color)}div#\:\$p > svg > foreignObject > section .footprint-grid .panel p{font-size:0.95em;margin-top:calc(var(--marpit-root-font-size, 1rem) * 1);color:rgba(15, 23, 42, 0.82)}div#\:\$p > svg > foreignObject > section .footprint-grid .panel::after{content:attr(data-caption);position:absolute;right:28px;bottom:26px;font-size:0.78em;text-transform:uppercase;letter-spacing:0.1em;color:rgba(15, 23, 42, 0.55)}div#\:\$p > svg > foreignObject > section .footprint-grid div#\:\$p > svg > foreignObject > section section.panel::after{--marpit-root-font-size: 0.78em}div#\:\$p > svg > foreignObject > section .footprint-grid .panel.context{grid-column:span 3;min-height:clamp(90px, 16vh, 220px);background:linear-gradient(145deg, rgba(59, 130, 246, 0.35), rgba(14, 165, 233, 0.75));box-shadow:0 20px 32px rgba(14, 165, 233, 0.28)}div#\:\$p > svg > foreignObject > section .footprint-grid .panel.context strong{color:#0f172a}div#\:\$p > svg > foreignObject > section .footprint-grid .panel.context p{color:rgba(15, 23, 42, 0.68)}div#\:\$p > svg > foreignObject > section .footprint-grid .panel.weights{grid-column:span 9}div#\:\$p > svg > foreignObject > section .window-grid{margin-top:calc(var(--marpit-root-font-size, 1rem) * 2);display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 1.2)}div#\:\$p > svg > foreignObject > section .window-card{background:white;border-radius:18px;border:1px solid rgba(15, 23, 42, 0.08);box-shadow:0 16px 32px rgba(15, 23, 42, 0.12);padding:calc(var(--marpit-root-font-size, 1rem) * 1.6);position:relative;overflow:hidden}div#\:\$p > svg > foreignObject > section .window-card::after{content:attr(data-year);position:absolute;top:18px;right:20px;font-size:0.72em;text-transform:uppercase;letter-spacing:0.12em;color:rgba(15, 23, 42, 0.45)}div#\:\$p > svg > foreignObject > section div#\:\$p > svg > foreignObject > section section.window-card::after{--marpit-root-font-size: 0.72em}div#\:\$p > svg > foreignObject > section .window-card strong{display:block;font-size:1.2em;color:var(--bold-color)}div#\:\$p > svg > foreignObject > section .window-card .tokens{font-size:1.05em;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.7);font-weight:600;color:#1e293b}div#\:\$p > svg > foreignObject > section .window-card div#\:\$p > svg > foreignObject > section section.tokens{--marpit-root-font-size: 1.05em}div#\:\$p > svg > foreignObject > section .window-card .tokens :is(span, marp-span){display:block;font-size:0.7em;font-weight:500;letter-spacing:0.04em;color:#64748b;text-transform:uppercase}div#\:\$p > svg > foreignObject > section .window-card p{font-size:0.82em;line-height:1.35;color:#475569;margin-top:calc(var(--marpit-root-font-size, 1rem) * 1)}div#\:\$p > svg > foreignObject > section .window-card .badge{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.2);display:inline-flex;align-items:center;gap:calc(var(--marpit-root-font-size, 1rem) * 0.35);padding:calc(var(--marpit-root-font-size, 1rem) * 0.35) calc(var(--marpit-root-font-size, 1rem) * 0.8);border-radius:999px;background:rgba(14, 165, 233, 0.12);color:#0369a1;font-size:0.7em;letter-spacing:0.05em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section .window-card div#\:\$p > svg > foreignObject > section section.badge{--marpit-root-font-size: 0.7em}div#\:\$p > svg > foreignObject > section .analog-table{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.8);border-radius:16px;border:1px solid rgba(15, 23, 42, 0.08);overflow:hidden;box-shadow:0 18px 30px rgba(15, 23, 42, 0.1)}div#\:\$p > svg > foreignObject > section .analog-table table{width:100%;border-collapse:collapse;font-size:0.85em}div#\:\$p > svg > foreignObject > section .analog-table th, div#\:\$p > svg > foreignObject > section .analog-table td{padding:calc(var(--marpit-root-font-size, 1rem) * 0.85) calc(var(--marpit-root-font-size, 1rem) * 1);text-align:left}div#\:\$p > svg > foreignObject > section .analog-table tr:nth-child(even){background:rgba(15, 23, 42, 0.04)}div#\:\$p > svg > foreignObject > section .analog-table th{background:rgba(15, 23, 42, 0.08);text-transform:uppercase;font-size:0.72em;letter-spacing:0.08em;color:#1f2937}div#\:\$p > svg > foreignObject > section .analog-notes{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1);font-size:0.72em;color:#475569;letter-spacing:0.04em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section div#\:\$p > svg > foreignObject > section section.analog-notes{--marpit-root-font-size: 0.72em}div#\:\$p > svg > foreignObject > section .footprint-nesting{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 2);margin-top:calc(var(--marpit-root-font-size, 1rem) * 2)}div#\:\$p > svg > foreignObject > section .footprint-nesting .box{position:relative;background:#fff7ed;border:2px solid #fb923c;border-radius:18px;padding:calc(var(--marpit-root-font-size, 1rem) * 1.75);min-height:240px;box-shadow:inset 0 0 0 1px rgba(15, 23, 42, 0.05)}div#\:\$p > svg > foreignObject > section .footprint-nesting .box strong{font-size:1.1em;color:var(--bold-color)}div#\:\$p > svg > foreignObject > section .footprint-nesting .box.emphasis{background:#ecfeff;border-color:#38bdf8}div#\:\$p > svg > foreignObject > section .footprint-nesting .chip{display:inline-flex;align-items:center;gap:calc(var(--marpit-root-font-size, 1rem) * 0.4);padding:calc(var(--marpit-root-font-size, 1rem) * 0.35) calc(var(--marpit-root-font-size, 1rem) * 0.85);border-radius:999px;background:#ffedd5;border:1px solid #f97316;font-size:0.7em;letter-spacing:0.06em;text-transform:uppercase;margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.1)}div#\:\$p > svg > foreignObject > section .footprint-nesting div#\:\$p > svg > foreignObject > section section.chip{--marpit-root-font-size: 0.7em}div#\:\$p > svg > foreignObject > section .footprint-nesting .box.emphasis .chip{background:#e0f2fe;border-color:#0ea5e9;color:#0369a1}div#\:\$p > svg > foreignObject > section .footprint-nesting .box .inner{position:absolute;bottom:18px;right:18px;width:clamp(60px, 22%, 140px);min-height:clamp(60px, 22%, 120px);background:#0ea5e9;color:white;border-radius:14px;padding:calc(var(--marpit-root-font-size, 1rem) * 0.75);font-size:0.8em;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 18px rgba(14, 165, 233, 0.35)}div#\:\$p > svg > foreignObject > section .footprint-nesting .box div#\:\$p > svg > foreignObject > section section.inner{--marpit-root-font-size: 0.8em}div#\:\$p > svg > foreignObject > section .footprint-nesting .box .inner::after{content:'magnified';position:absolute;top:-22px;font-size:0.6em;letter-spacing:0.08em;text-transform:uppercase;color:rgba(14, 165, 233, 0.9)}div#\:\$p > svg > foreignObject > section .footprint-nesting .box div#\:\$p > svg > foreignObject > section section.inner::after{--marpit-root-font-size: 0.6em}div#\:\$p > svg > foreignObject > section .footprint-nesting ul{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1);padding-left:calc(var(--marpit-root-font-size, 1rem) * 1.15);font-size:0.85em;color:#1f2937}div#\:\$p > svg > foreignObject > section .footprint-nesting ul li{margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.35)}div#\:\$p > svg > foreignObject > :where(section){container-type:size}div#\:\$p > svg > foreignObject > section img[data-marp-twemoji]{background:transparent;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em;width:1em}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]){font-family:'IBM Plex Sans', sans-serif;color:#f3efe6;background-color:#09111a;--background-color: #09111a;--h1-color: #f7f2e8;--border-color: rgba(255, 184, 77, 0.52);--bold-color: #ffc76b;--italic-color: #f8f3eb;--italic-background-color: rgba(70, 150, 255, 0.16);--list-item-color: #d9e4f5;--after-color: rgba(233, 239, 247, 0.72);--extra-back-color: rgba(255, 255, 255, 0.14);--table-header-color: rgba(255, 199, 107, 0.18);--table-header-font-color: #fff8ef;--table-border-top: rgba(255, 199, 107, 0.35);--table-border-bottom: rgba(255, 255, 255, 0.12);--table-nth-child-color: rgba(255, 255, 255, 0.04);--table-hover-background-color: rgba(255, 199, 107, 0.18);--table-hover-color: #fff7ec;}div#\:\$p > svg > foreignObject > section{position:relative;padding:72px 78px!important;color:#f3efe6;background:radial-gradient(circle at 12% 16%, rgba(255, 180, 90, 0.18), transparent 28%), radial-gradient(circle at 84% 12%, rgba(73, 194, 255, 0.15), transparent 24%), linear-gradient(135deg, #060a10 0%, #0b1220 45%, #09111a 100%);overflow:hidden}div#\:\$p > svg > foreignObject > section::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent 92%);pointer-events:none}div#\:\$p > svg > foreignObject > section > *{position:relative;z-index:1}div#\:\$p > svg > foreignObject > section::after{color:rgba(239, 244, 252, 0.62);font-size:0.7em;letter-spacing:0.12em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section::after{--marpit-root-font-size: 0.7em}div#\:\$p > svg > foreignObject > section header{color:rgba(240, 245, 250, 0.78);font-size:calc(var(--marpit-root-font-size, 1rem) * 0.62);letter-spacing:0.1em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section .header-logos{display:inline-flex;align-items:center;gap:calc(var(--marpit-root-font-size, 1rem) * 0.7)}div#\:\$p > svg > foreignObject > section .header-logos img{width:22px;height:22px;border-radius:0;box-shadow:none;filter:brightness(1.15)}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1), div#\:\$p > svg > foreignObject > section :is(h2, marp-h2), div#\:\$p > svg > foreignObject > section :is(h3, marp-h3){font-family:'Instrument Serif', serif;font-weight:400;letter-spacing:0.01em}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1){margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.55);border-bottom:1px solid rgba(255, 184, 77, 0.35);font-size:1.58em}div#\:\$p > svg > foreignObject > section :is(h2, marp-h2){color:#ffc76b;font-size:0.92em;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.35)}div#\:\$p > svg > foreignObject > section :is(h3, marp-h3){color:#9bdcff;font-size:0.72em}div#\:\$p > svg > foreignObject > section p, div#\:\$p > svg > foreignObject > section li{color:#e8eef8}div#\:\$p > svg > foreignObject > section p{font-size:0.78em;line-height:1.42}div#\:\$p > svg > foreignObject > section li{margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.32);font-size:0.82em;line-height:1.34}div#\:\$p > svg > foreignObject > section strong{color:#ffc76b;font-weight:700}div#\:\$p > svg > foreignObject > section em{color:#dff3ff;background:rgba(82, 173, 255, 0.14);border-radius:999px;padding:0.12em 0.48em;font-family:'IBM Plex Sans', sans-serif}div#\:\$p > svg > foreignObject > section blockquote{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.2);border-top:1px dashed rgba(255, 255, 255, 0.18);color:#c9d5e5}div#\:\$p > svg > foreignObject > section blockquote p, div#\:\$p > svg > foreignObject > section blockquote strong{color:inherit!important}div#\:\$p > svg > foreignObject > section img{border-radius:18px;border:1px solid rgba(255, 255, 255, 0.08);box-shadow:0 22px 48px rgba(0, 0, 0, 0.34)}div#\:\$p > svg > foreignObject > section code{background:rgba(255, 255, 255, 0.08);color:#ffe7bd;border-radius:8px;padding:0.08em 0.3em}div#\:\$p > svg > foreignObject > section.titlepage{display:flex;flex-direction:column;align-items:flex-start;background:radial-gradient(circle at 14% 16%, rgba(255, 191, 92, 0.22), transparent 25%), radial-gradient(circle at 88% 18%, rgba(94, 196, 255, 0.18), transparent 22%), linear-gradient(135deg, #05070c 0%, #0b1020 50%, #10182d 100%)}div#\:\$p > svg > foreignObject > section.titlepage::before{background:linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px), linear-gradient(180deg, transparent 0%, rgba(255, 168, 74, 0.12) 100%);background-size:72px 72px, 72px 72px, 100% 100%;mask-image:none}div#\:\$p > svg > foreignObject > section.titlepage header{display:none}div#\:\$p > svg > foreignObject > section.titlepage .city-stamp{display:inline-block;margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 1);padding:calc(var(--marpit-root-font-size, 1rem) * 0.45) calc(var(--marpit-root-font-size, 1rem) * 0.8);border:1px solid rgba(255, 199, 107, 0.26);border-radius:999px;color:#9bdcff;font-size:calc(var(--marpit-root-font-size, 1rem) * 0.6);letter-spacing:0.18em;text-transform:uppercase;background:rgba(255, 255, 255, 0.03)}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.city-stamp{--marpit-root-font-size: calc(var(--marpit-root-font-size, 1rem) * 0.6)}div#\:\$p > svg > foreignObject > section.titlepage .title{max-width:11.2em;margin:0;color:#fff7eb;font-family:'Instrument Serif', serif;font-size:2.05em;line-height:0.92;border-bottom:none}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.title{--marpit-root-font-size: 2.05em}div#\:\$p > svg > foreignObject > section.titlepage .subtitle{max-width:24em;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.65);padding-bottom:0;color:#d2dceb;font-size:0.68em;line-height:1.28}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.subtitle{--marpit-root-font-size: 0.68em}div#\:\$p > svg > foreignObject > section.titlepage .author{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.2);color:#ffc76b;font-size:0.72em;font-weight:700}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.author{--marpit-root-font-size: 0.72em}div#\:\$p > svg > foreignObject > section.titlepage .date{color:#b7c7da;font-size:0.58em;letter-spacing:0.12em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section.titlepage div#\:\$p > svg > foreignObject > section section.date{--marpit-root-font-size: 0.58em}div#\:\$p > svg > foreignObject > section.titlepage .organization, div#\:\$p > svg > foreignObject > section.titlepage .organization a{color:#eef6ff!important}div#\:\$p > svg > foreignObject > section .social-table{display:table;width:auto;max-width:none;overflow:visible;margin:calc(var(--marpit-root-font-size, 1rem) * 1.35) 0 0;background:rgba(255, 255, 255, 0.04);border:1px solid rgba(255, 255, 255, 0.08);border-radius:20px;padding:calc(var(--marpit-root-font-size, 1rem) * 0.65) calc(var(--marpit-root-font-size, 1rem) * 0.85);backdrop-filter:blur(8px);font-size:0.88em;min-width:0}div#\:\$p > svg > foreignObject > section section.social-table{--marpit-root-font-size: 0.88em}div#\:\$p > svg > foreignObject > section .social-table td{color:#eef5fd;padding-top:calc(var(--marpit-root-font-size, 1rem) * 0.28);padding-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.28)}div#\:\$p > svg > foreignObject > section .social-table td:first-child img{width:28px;height:28px;filter:none}div#\:\$p > svg > foreignObject > section.transition, div#\:\$p > svg > foreignObject > section.transition2{color:#081019;background:radial-gradient(circle at top right, rgba(255, 255, 255, 0.28), transparent 22%), linear-gradient(135deg, #ffb44f 0%, #ffcf7d 48%, #7dd3fc 100%)}div#\:\$p > svg > foreignObject > section.transition :is(h1, marp-h1), div#\:\$p > svg > foreignObject > section.transition2 :is(h1, marp-h1), div#\:\$p > svg > foreignObject > section.transition p, div#\:\$p > svg > foreignObject > section.transition2 p{color:#081019;border-color:rgba(8, 16, 25, 0.22)}div#\:\$p > svg > foreignObject > section .eyebrow{display:inline-block;margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.7);padding:calc(var(--marpit-root-font-size, 1rem) * 0.28) calc(var(--marpit-root-font-size, 1rem) * 0.62);border-radius:999px;background:rgba(255, 199, 107, 0.12);border:1px solid rgba(255, 199, 107, 0.26);color:#ffc76b;font-size:0.52em;font-weight:700;letter-spacing:0.16em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section section.eyebrow{--marpit-root-font-size: 0.52em}div#\:\$p > svg > foreignObject > section .lede{max-width:19em;font-size:0.9em;line-height:1.36}div#\:\$p > svg > foreignObject > section section.lede{--marpit-root-font-size: 0.9em}div#\:\$p > svg > foreignObject > section .card-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 1);margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.5)}div#\:\$p > svg > foreignObject > section .card{min-height:180px;padding:calc(var(--marpit-root-font-size, 1rem) * 1.1) calc(var(--marpit-root-font-size, 1rem) * 1.15);border-radius:24px;border:1px solid rgba(255, 255, 255, 0.08);background:linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.03));box-shadow:0 16px 34px rgba(0, 0, 0, 0.2)}div#\:\$p > svg > foreignObject > section .card :is(h3, marp-h3){margin:0 0 calc(var(--marpit-root-font-size, 1rem) * 0.7);color:#fff6e9;font-size:0.8em}div#\:\$p > svg > foreignObject > section .card p, div#\:\$p > svg > foreignObject > section .card ul{margin:0;font-size:0.65em;line-height:1.45}div#\:\$p > svg > foreignObject > section .card ul{padding-left:calc(var(--marpit-root-font-size, 1rem) * 1)}div#\:\$p > svg > foreignObject > section .signal-strip{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 0.8);margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.25)}div#\:\$p > svg > foreignObject > section .signal{padding:calc(var(--marpit-root-font-size, 1rem) * 0.8) calc(var(--marpit-root-font-size, 1rem) * 0.9);border-radius:18px;background:rgba(255, 255, 255, 0.05);border:1px solid rgba(255, 255, 255, 0.08)}div#\:\$p > svg > foreignObject > section .signal strong{display:block;padding:0;margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.25);color:#9bdcff;font-size:0.95em}div#\:\$p > svg > foreignObject > section .signal :is(span, marp-span){color:#d9e6f7;font-size:0.58em;line-height:1.4}div#\:\$p > svg > foreignObject > section .quote-wall{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.4);padding:calc(var(--marpit-root-font-size, 1rem) * 1.35) calc(var(--marpit-root-font-size, 1rem) * 1.45);border-left:4px solid #ffc76b;background:rgba(255, 255, 255, 0.045);border-radius:0 22px 22px 0;max-width:22em}div#\:\$p > svg > foreignObject > section .quote-wall p{margin:0;font-size:0.94em;line-height:1.35}div#\:\$p > svg > foreignObject > section .quote-wall small{display:block;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.75);color:#9fb2c9;font-size:0.54em;letter-spacing:0.1em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section .comparison{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 1);margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.2)}div#\:\$p > svg > foreignObject > section .comparison .panel{padding:calc(var(--marpit-root-font-size, 1rem) * 1.2);border-radius:24px;border:1px solid rgba(255, 255, 255, 0.08);background:rgba(255, 255, 255, 0.045)}div#\:\$p > svg > foreignObject > section .comparison .panel :is(h3, marp-h3){margin-top:0;margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.7);font-size:0.84em}div#\:\$p > svg > foreignObject > section .comparison .panel ul{margin:0;padding-left:calc(var(--marpit-root-font-size, 1rem) * 1)}div#\:\$p > svg > foreignObject > section .comparison .panel li{font-size:0.68em}div#\:\$p > svg > foreignObject > section .closing-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:calc(var(--marpit-root-font-size, 1rem) * 1.2);margin-top:calc(var(--marpit-root-font-size, 1rem) * 1.5);align-items:stretch}div#\:\$p > svg > foreignObject > section .closing-grid .panel{padding:calc(var(--marpit-root-font-size, 1rem) * 1.2) calc(var(--marpit-root-font-size, 1rem) * 1.25);border-radius:26px;border:1px solid rgba(255, 255, 255, 0.08);background:rgba(255, 255, 255, 0.045)}div#\:\$p > svg > foreignObject > section .closing-grid .panel :is(h3, marp-h3){margin-top:0;margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.8);color:#ffc76b}div#\:\$p > svg > foreignObject > section .closing-grid .panel ul{margin:0;padding-left:calc(var(--marpit-root-font-size, 1rem) * 1)}div#\:\$p > svg > foreignObject > section .closing-grid .panel li{font-size:0.68em}div#\:\$p > svg > foreignObject > section .tiny-note{margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.8);color:#9fb2c9;font-size:0.52em;letter-spacing:0.07em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section section.tiny-note{--marpit-root-font-size: 0.52em}div#\:\$p > svg > foreignObject > section{width:1280px;height:720px}div#\:\$p > svg > foreignObject > section video.full-slide{width:100%;height:100%;object-fit:cover;border-radius:24px}div#\:\$p > svg > foreignObject > section .hero-note{max-width:24em;margin-top:calc(var(--marpit-root-font-size, 1rem) * 1);color:#dbe6f7;font-size:0.68em;line-height:1.45}div#\:\$p > svg > foreignObject > section section.hero-note{--marpit-root-font-size: 0.68em}div#\:\$p > svg > foreignObject > section .mini-list{margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.8);font-size:0.64em;color:#d8e4f5}div#\:\$p > svg > foreignObject > section section.mini-list{--marpit-root-font-size: 0.64em}div#\:\$p > svg > foreignObject > section .image-strip{display:grid;grid-template-columns:1.45fr 1fr;gap:calc(var(--marpit-root-font-size, 1rem) * 1);align-items:start;margin-top:calc(var(--marpit-root-font-size, 1rem) * 1)}div#\:\$p > svg > foreignObject > section .image-strip img{width:100%;max-height:280px;object-fit:contain}div#\:\$p > svg > foreignObject > section .rl-layout{display:grid;grid-template-columns:1.08fr 1.12fr;gap:calc(var(--marpit-root-font-size, 1rem) * 0.85);align-items:start}div#\:\$p > svg > foreignObject > section .rl-layout > div:first-child{min-width:0}div#\:\$p > svg > foreignObject > section .rl-layout > div:first-child ul{margin-top:0}div#\:\$p > svg > foreignObject > section .rl-stack{display:grid;gap:calc(var(--marpit-root-font-size, 1rem) * 0.8);align-content:start}div#\:\$p > svg > foreignObject > section .rl-stack img{width:100%;max-height:285px;object-fit:contain}div#\:\$p > svg > foreignObject > section .flow-compare{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:calc(var(--marpit-root-font-size, 1rem) * 0.8);margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.7)}div#\:\$p > svg > foreignObject > section .flow-card{padding:calc(var(--marpit-root-font-size, 1rem) * 0.75) calc(var(--marpit-root-font-size, 1rem) * 0.8) calc(var(--marpit-root-font-size, 1rem) * 0.7);border-radius:20px;border:1px solid rgba(255, 255, 255, 0.08);background:rgba(255, 255, 255, 0.045)}div#\:\$p > svg > foreignObject > section .flow-card :is(h3, marp-h3){margin:0 0 calc(var(--marpit-root-font-size, 1rem) * 0.35);color:#ffc76b;font-size:0.76em}div#\:\$p > svg > foreignObject > section .flow-subtitle{margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.5);color:#c9d7ea;font-size:0.46em;letter-spacing:0.08em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section section.flow-subtitle{--marpit-root-font-size: 0.46em}div#\:\$p > svg > foreignObject > section .swimlane{display:grid;gap:calc(var(--marpit-root-font-size, 1rem) * 0.24)}div#\:\$p > svg > foreignObject > section .step{position:relative;display:grid;grid-template-columns:5.1em 1fr;gap:calc(var(--marpit-root-font-size, 1rem) * 0.2);align-items:center;padding:calc(var(--marpit-root-font-size, 1rem) * 0.38) calc(var(--marpit-root-font-size, 1rem) * 0.5);border-radius:14px;background:rgba(255, 255, 255, 0.04);border:1px solid rgba(255, 255, 255, 0.06)}div#\:\$p > svg > foreignObject > section .step::after{content:"↓";position:absolute;left:50%;bottom:-calc(var(--marpit-root-font-size, 1rem) * 0.48);transform:translateX(-50%);color:rgba(255, 255, 255, 0.45);font-size:0.58em;line-height:1;pointer-events:none}div#\:\$p > svg > foreignObject > section section.step::after{--marpit-root-font-size: 0.58em}div#\:\$p > svg > foreignObject > section .step:last-child::after{content:"";display:none}div#\:\$p > svg > foreignObject > section .lane{color:#9bdcff;font-size:0.4em;letter-spacing:0.1em;text-transform:uppercase;text-align:left}div#\:\$p > svg > foreignObject > section section.lane{--marpit-root-font-size: 0.4em}div#\:\$p > svg > foreignObject > section .action{color:#eef6ff;font-size:0.5em;line-height:1.18}div#\:\$p > svg > foreignObject > section section.action{--marpit-root-font-size: 0.5em}div#\:\$p > svg > foreignObject > section .step.owner-model{border-color:rgba(255, 199, 107, 0.34);background:rgba(255, 199, 107, 0.1)}div#\:\$p > svg > foreignObject > section .step.owner-tool{border-color:rgba(115, 210, 255, 0.34);background:rgba(115, 210, 255, 0.1)}div#\:\$p > svg > foreignObject > section .flow-note{margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.45);color:#b8c8dc;font-size:0.44em;letter-spacing:0.06em;text-transform:uppercase}div#\:\$p > svg > foreignObject > section section.flow-note{--marpit-root-font-size: 0.44em}div#\:\$p > svg > foreignObject > section .dynamic-tool-layout{display:grid;grid-template-columns:0.66fr 1.34fr;gap:calc(var(--marpit-root-font-size, 1rem) * 0.9);align-items:stretch;margin-top:0}div#\:\$p > svg > foreignObject > section .dynamic-tool-layout > div:first-child{min-width:0}div#\:\$p > svg > foreignObject > section .dynamic-tool-layout :is(h1, marp-h1), div#\:\$p > svg > foreignObject > section .dynamic-tool-layout :is(h2, marp-h2){margin:0 0 calc(var(--marpit-root-font-size, 1rem) * 0.6);color:#fff7eb;font-family:'Instrument Serif', serif;font-size:1.28em;line-height:0.96;border-bottom:none}div#\:\$p > svg > foreignObject > section .dynamic-tool-layout > div:first-child p:first-child{margin-top:0}div#\:\$p > svg > foreignObject > section .dynamic-tool-layout ul{margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.45)}div#\:\$p > svg > foreignObject > section .dynamic-tool-video{display:flex;justify-content:center;align-items:center}div#\:\$p > svg > foreignObject > section .dynamic-tool-video video{width:100%;max-height:620px;object-fit:contain;border-radius:22px;border:1px solid rgba(255, 255, 255, 0.08);box-shadow:0 18px 36px rgba(0, 0, 0, 0.28);background:rgba(255, 255, 255, 0.03)}div#\:\$p > svg > foreignObject > section .launch-grid{margin-top:calc(var(--marpit-root-font-size, 1rem) * 1);gap:calc(var(--marpit-root-font-size, 1rem) * 1.15)}div#\:\$p > svg > foreignObject > section .launch-grid .card{display:flex;align-items:center;justify-content:center;min-height:150px;padding:calc(var(--marpit-root-font-size, 1rem) * 1) calc(var(--marpit-root-font-size, 1rem) * 1) calc(var(--marpit-root-font-size, 1rem) * 0.95);border-radius:28px;text-align:center}div#\:\$p > svg > foreignObject > section .launch-grid .card :is(h3, marp-h3){margin:0;color:#fff9f1;font-family:'Instrument Serif', serif;font-size:1.12em;line-height:0.98;letter-spacing:0.01em;text-wrap:balance}div#\:\$p > svg > foreignObject > section .launch-grid .card p, div#\:\$p > svg > foreignObject > section .launch-grid .card ul{display:none;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.9);font-size:0.58em;line-height:1.32;color:#c7d5e8}div#\:\$p > svg > foreignObject > section .acp-combo{display:grid;grid-template-columns:1.12fr 0.88fr;gap:calc(var(--marpit-root-font-size, 1rem) * 0.9);align-items:start;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.5)}div#\:\$p > svg > foreignObject > section .acp-combo-main{min-width:0}div#\:\$p > svg > foreignObject > section .acp-combo-visual{display:grid;gap:calc(var(--marpit-root-font-size, 1rem) * 0.85);align-content:start}div#\:\$p > svg > foreignObject > section .acp-logo-panel{display:flex;justify-content:center;align-items:center;min-height:180px;padding:calc(var(--marpit-root-font-size, 1rem) * 1);border-radius:24px;border:1px solid rgba(255, 255, 255, 0.08);background:rgba(255, 255, 255, 0.045)}div#\:\$p > svg > foreignObject > section .acp-logo-panel img{width:100%;max-width:300px;max-height:120px;object-fit:contain;box-shadow:none;border:none;border-radius:0}div#\:\$p > svg > foreignObject > section .acp-summary{padding:calc(var(--marpit-root-font-size, 1rem) * 0.85) calc(var(--marpit-root-font-size, 1rem) * 0.95);border-radius:22px;border:1px solid rgba(255, 255, 255, 0.08);background:rgba(255, 255, 255, 0.045)}div#\:\$p > svg > foreignObject > section .acp-summary :is(h3, marp-h3){margin:0 0 calc(var(--marpit-root-font-size, 1rem) * 0.5);color:#9bdcff;font-size:0.74em}div#\:\$p > svg > foreignObject > section .acp-summary p{margin:0;font-size:0.6em;line-height:1.34;color:#d7e4f6}div#\:\$p > svg > foreignObject > section .acp-kicker{max-width:22em;margin:calc(var(--marpit-root-font-size, 1rem) * 0.35) 0 calc(var(--marpit-root-font-size, 1rem) * 0.8);color:#d7e4f6;font-size:0.68em;line-height:1.32}div#\:\$p > svg > foreignObject > section section.acp-kicker{--marpit-root-font-size: 0.68em}div#\:\$p > svg > foreignObject > section .acp-video{display:flex;justify-content:center;align-items:flex-start}div#\:\$p > svg > foreignObject > section .acp-video video{width:100%;max-height:500px;object-fit:contain;border-radius:22px;border:1px solid rgba(255, 255, 255, 0.08);box-shadow:0 18px 36px rgba(0, 0, 0, 0.28);background:rgba(255, 255, 255, 0.03)}div#\:\$p > svg > foreignObject > section .acp-points{display:grid;gap:calc(var(--marpit-root-font-size, 1rem) * 0.65);margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.8)}div#\:\$p > svg > foreignObject > section .acp-points .panel{padding:calc(var(--marpit-root-font-size, 1rem) * 0.85) calc(var(--marpit-root-font-size, 1rem) * 0.95);border-radius:22px;border:1px solid rgba(255, 255, 255, 0.08);background:rgba(255, 255, 255, 0.045)}div#\:\$p > svg > foreignObject > section .acp-points .panel :is(h3, marp-h3){margin-top:0;margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.45)}div#\:\$p > svg > foreignObject > section .acp-points .panel p{margin:0;font-size:0.62em;line-height:1.3}div#\:\$p > svg > foreignObject > section .open-responses-layout{display:grid;grid-template-columns:0.9fr 1.1fr;gap:calc(var(--marpit-root-font-size, 1rem) * 1);align-items:start;margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.6)}div#\:\$p > svg > foreignObject > section .open-responses-intro{padding:calc(var(--marpit-root-font-size, 1rem) * 1) calc(var(--marpit-root-font-size, 1rem) * 1) calc(var(--marpit-root-font-size, 1rem) * 0.95);border-radius:22px;border:1px solid rgba(255, 255, 255, 0.08);background:rgba(255, 255, 255, 0.045)}div#\:\$p > svg > foreignObject > section .open-responses-intro p{margin:0;font-size:0.68em;line-height:1.34;color:#dbe6f7}div#\:\$p > svg > foreignObject > section .open-responses-intro p + p{margin-top:calc(var(--marpit-root-font-size, 1rem) * 0.7);color:#c6d6ea;font-size:0.6em}div#\:\$p > svg > foreignObject > section .open-responses-panels{display:grid;gap:calc(var(--marpit-root-font-size, 1rem) * 0.8)}div#\:\$p > svg > foreignObject > section .open-responses-panels .panel{padding:calc(var(--marpit-root-font-size, 1rem) * 1) calc(var(--marpit-root-font-size, 1rem) * 1) calc(var(--marpit-root-font-size, 1rem) * 0.95)}div#\:\$p > svg > foreignObject > section .open-responses-panels .panel :is(h3, marp-h3){margin-top:0;margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.55)}div#\:\$p > svg > foreignObject > section .open-responses-panels .panel ul{margin:0;padding-left:calc(var(--marpit-root-font-size, 1rem) * 1)}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]::before, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]::after, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"]::before, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"]::after{display:none!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction="vertical"]{flex-direction:column}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"][data-marpit-advanced-background-split] > div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split, 50%)}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"][data-marpit-advanced-background-split="right"] > div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container] > figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container] > figure > figcaption{position:absolute;border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"], div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="pseudo"]{background:transparent!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="pseudo"], div#\:\$p > svg[data-marpit-svg] > foreignObject[data-marpit-advanced-background="pseudo"]{pointer-events:none!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background-split]{width:100%;height:100%}
</style></head><body><div class="bespoke-marp-osc"><button data-bespoke-marp-osc="prev" tabindex="-1" title="Previous slide">Previous slide</button><span data-bespoke-marp-osc="page"></span><button data-bespoke-marp-osc="next" tabindex="-1" title="Next slide">Next slide</button><button data-bespoke-marp-osc="fullscreen" tabindex="-1" title="Toggle fullscreen (f)">Toggle fullscreen</button><button data-bespoke-marp-osc="overview" tabindex="-1" title="Toggle overview view (o)">Toggle overview view</button><button data-bespoke-marp-osc="presenter" tabindex="-1" title="Open presenter view (p)">Open presenter view</button></div><div id=":$p"><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="1" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-class="titlepage" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" class="titlepage" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--class:titlepage;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<div class="city-stamp">MCP Dev Summit · New York · 2026</div>
<div class="title">MCP at 18 Months</div>
<div class="subtitle">Protocols, patterns, and the things we did not see coming.</div>
<div class="author">Shaun Smith · <code>@evalstate</code></div>
<div class="date">April 2026</div>
<table class="social-table">
<tbody>
<tr>
<td><img src="./images/huggingface-mark-logo.svg" alt="Hugging Face" /></td>
<td><a class="organization" href="https://huggingface.co/evalstate">huggingface.co/evalstate</a></td>
</tr>
<tr>
<td><img src="./images/github-mark.svg" alt="GitHub" /></td>
<td><a class="organization" href="https://github.com/evalstate">github.com/evalstate</a></td>
</tr>
<tr>
<td><img src="./images/xcom-logo-black.png" alt="X" /></td>
<td><a class="organization" href="https://x.com/evalstate">x.com/evalstate</a></td>
</tr>
</tbody>
</table>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<div class="columns">
<div>
<h1 id="shaun-smith-evalstate">Shaun Smith <code>@evalstate</code></h1>
<ul>
<li>Open Source @ Hugging Face</li>
<li>MCP maintainer / transports working group</li>
<li><code>huggingface/hf-mcp-server</code></li>
<li><code>huggingface/upskill</code></li>
<li><code>huggingface/skills</code></li>
<li>Maintainer of <code>fast-agent</code></li>
</ul>
<div class="hero-note">
</div>
</div>
<div class="center">
<p><img src="./images/hf_logo.svg" alt="" style="width:240px;" /><br />
<img src="./images/mcp-icon.svg" alt="" style="width:220px;" /></p>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-class="transition" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" class="transition" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--class:transition;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="the-debate-about-mcp-is-more-interesting-than-mcp-itself">The debate about MCP is more interesting than MCP itself</h1>
<div class="lede">
...and that is a good thing!
</div>
<div class="signal-strip">
</span></div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="things-we-didnt-have-at-launch">Things we didn't have at launch</h1>
<div class="card-grid launch-grid">
<div class="card">
<img src="./images/claude-code.png" />
</div>
<div class="card">
<h3>Streamable HTTP Transport and OAuth</h3>
</div>
<div class="card">
<h3>AGENTS.MD and Agent Skills</h3>
</div>
<div class="card">
<h3>Internal Tools in Inference APIs</h3>
</div>
<div class="card">
<h3>Agent Client Protocol<br />
Responses API</h3>
</div>
<div class="card">
<h3>Long Running Tool Loops (and reasoning models)</h3>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="reinforcement-learning">Reinforcement Learning</h1>
<div class="rl-layout">
<div>
<p>Models are placed in an environment, given a task and scored with a reward function:</p>
<ul>
<li><strong>discover</strong></li>
<li><strong>self-correct</strong></li>
<li><strong>problem solve</strong></li>
<li>keep <strong>driving the loop</strong> without constant human steering</li>
</ul>
<blockquote>
<p>mini-SWE-Agent: A single 100 line python and single freeform (non JSON) tool can score 76.0% on SWE-Bench!</p>
</blockquote>
<p>It's hard to compete against that efficiency.</p>
<p><img src="images/openenv.png" alt="alt text" style="width:400px;" /></p>
</div>
<div class="rl-stack">
<img src="./images/image-1.png" alt="Reinforcement learning environment diagram" />
<img src="./images/swe-bash-tool.png" alt="SWE-Bench bash tool benchmark result" />
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="smarter-tool-loops">Smarter Tool Loops</h1>
<div class="comparison">
<div class="panel">
Harness Changes
<p>General Purpose Agent Harnesses are given direct Shell access</p>
<p>Fewer pre/post Tool/LLM Stop checks/hacks to keep model on-track.</p>
<p>Snapshot/Checkpointing techniques (AgentFS, Execution Monitoring)</p>
<p>Remote runtime environments (e.g. Codex Web, Claude Code)</p>
</div>
<div class="panel">
Why this enabled Skills
<p>Simple navigable, native hierarchy of content</p>
<p>Reusable procedures become strong scaffolding for capable models</p>
<p>Bash is token dense and unsurprising compared to custom JSON Tools / mid-context tool enablement</p>
<p>Between deterministic program and documentation.</p>
</div>
</div>
<blockquote>
<p>Once models can discover, recover, and keep going, a “skill” becomes a practical acceleration layer rather than a brittle scripted hack.</p>
</blockquote>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<div class="dynamic-tool-layout">
<div>
<h1>Dynamic Tool Calling</h1>
<p>Dynamic Space Tool: <strong>45 tokens</strong></p>
<p>MCP provides an <strong>inference gateway</strong> to thousands of specialized and custom models covering Audio, Video, Text, 3D Models, Environments and more.</p>
<p><strong>MCP</strong> provides Authentication and Multimodal support.</p>
<p><code>Qwen 3.5-35B-A3B</code><br />
<code>Flux.1-Krea-Dev </code><br />
<code>Qwen-Edit-2509-Multiple-angles-LoRA</code><br />
<code>Wan2.2 First/Last Frame</code></p>
</div>
<div class="dynamic-tool-video">
<video autoplay muted loop playsinline>
<source src="./images/dynamic_space_final.mp4.mp4" type="video/mp4" />
</video>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="code-execution-tools">Code Execution Tools</h1>
<div class="columns">
<div>
<p>A model with access to general purposes tools has crossed into a very real form of <strong>code mode</strong>.</p>
<p>Bash provides a general purpose, token dense-execution language.</p>
<p>Task-specific tools generated on demand. Example: <strong>HF Tool Builder</strong> navigates OpenAPI spec to build composable CLI tools.</p>
<p>Some models are trained to use <strong>code tools natively</strong>, and are bundled with interpreters.</p>
</div>
<div class="center">
<div class="rl-stack">
<img src="./images/smolagents.png" />
<img src="./images/image-3.png" />
</div>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="generation-and-execution-environments">Generation and Execution Environments</h1>
<div class="flow-compare">
<div class="flow-card">
<h3>Style 1 - Main Model owns Code Generation</h3>
<div class="swimlane">
<div class="step">
<div class="lane">Main model</div>
<div class="action">Generates Search Function</div>
</div>
<div class="step">
<div class="lane">Execution Tool</div>
<div class="action">Uses Search Function to return API definitions</div>
</div>
<div class="step ">
<div class="lane">Main model</div>
<div class="action">Generates code from that API surface</div>
</div>
<div class="step">
<div class="lane">Execution tool</div>
<div class="action">Runs the code and returns output</div>
</div>
<div class="step">
<div class="lane">Main model</div>
<div class="action">Reads result and writes final answer</div>
</div>
</div>
<div class="flow-note">Code Generation: Main Model</div>
<div class="flow-note">Code Execution: Tool Environment</div>
</div>
<div class="flow-card">
<h3>Style 2 - Delegated Code Generation</h3>
<div class="swimlane">
<div class="step">
<div class="lane">Main model</div>
<div class="action">Sends a natural-language task to the tool</div>
</div>
<div class="step owner-tool">
<div class="lane">Execution tool</div>
<div class="action">System Prompt contains API definitions</div>
</div>
<div class="step">
<div class="lane">Execution tool</div>
<div class="action">Returns the result</div>
</div>
<div class="step">
<div class="lane">Main model</div>
<div class="action">Packages it as the final answer</div>
</div>
</div>
<div class="flow-note">Code Generation: Tool Model</div>
<div class="flow-note">Code Generation: Tool Environment</div>
<div class="flow-note">API Definitions Cacheable</div>
</div>
</div>
<br />
<center>
<h2 id="mcp-makes-it-easy-to-transfer-generation-and-execution-between-models-and-environments-br-and-who-pays-for-inference"><strong>MCP</strong> makes it easy to transfer <strong>generation</strong> and <strong>execution</strong> between models and environments! <br /> (and who pays for inference)</h2>
</center>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<div class="dynamic-tool-layout">
<div>
<h1 id="llms-for-navigating-genui-apps-sdk-prefect-prefab">LLMs for Navigating: GenUI, Apps SDK <strong>(Prefect Prefab)</strong></h1>
<p>A common pattern:</p>
<ol>
<li>user asks for navigation or retrieval</li>
<li>tools fetch the answer</li>
<li>the model then spends expensive output tokens reprocessing a result that was already good enough</li>
<li>The <strong>MCP Apps</strong> pattern fixes this by letting the result become <strong>final for the user</strong>.</li>
</ol>
</div>
<div class="dynamic-tool-video">
<video autoplay muted loop playsinline>
<source src="./images/gen_ui_one.mp4" type="video/mp4" />
</video>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="inference-and-environment-boundaries-are-blurring">Inference and Environment Boundaries are Blurring</h1>
<h2 id="the-new-abstraction">The new abstraction</h2>
<div class="card-grid">
<div class="card">
Runtime Environments
<p>Options from YOLO, Local/Remote containers, exe.dev-style or lightweight sandboxes (Monty, Just-Bash). Simple persistent storage (e.g. HF Buckets)</p></p>
</div>
<div class="card">
Model Selection
<p>Mixed Model workloads handle different modalitites, specializations and price points. Token efficient task agent delegation.</p>
</div>
<div class="card">
Inference APIs
<p>Increasingly absorb search, tools, code, and state into one bundled execution surface.</p>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="12" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="agent-client-protocol">Agent Client Protocol</h1>
<div class="columns">
<div>
<p></p>
<div class="acp-points">
<div class="panel">
File and Shell Tools
<p>Client provided tools, enables "follow along" in editors </p>
</div>
<div class="panel">
Session Based
<p>Listing, Resumption and Rehydration of Agent sessions</p>
</div>
<div class="panel">
Streaming Results and Observability
<p>Agent Results and Tool Status stream, are cancellable</p>
</div>
<div class="panel">
MCP Native Support
<p>Uses MCP Data Model. Client sends MCP Sever Configurations</p>
</div>
</div>
</div>
<div class="acp-video">
<br />
<video autoplay muted loop playsinline>
<source src="./images/toad-subagent.mp4" type="video/mp4" />
</video>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="13" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="open-responses">Open Responses</h1>
<div class="open-responses-layout">
<div class="open-responses-intro">
<h2>Open standard extending OpenAI's Responses API. Provides a consistent, provider neutral way to interact with modern LLMs. Repairs Chat Completion API drift.</h2>
<blockquote>
<p>It defines a shared schema, and tooling layer that enable a unified experience for calling language models, streaming results, and composing agentic workflows—independent of provider.</p>
</blockquote>
<br />
<h2>Usage as a Provider / Router allows creation of rich Agent Environments</h2>
</div>
<div class="open-responses-panels">
<div class="panel">
Internal Tools - (Model or Provider)
<ul>
<li><code>shell</code> and <code>local_shell</code></li>
<li><code>code_interpreter</code></li>
<li><code>apply_patch</code></li>
<li><code>web_search</code></li>
<li><code>etc..</code></li>
</ul>
External Tools (Client Supplied)
<ul>
<li>MCP Servers</li>
<li>Standard JSON function calls</li>
<li>Free-Form Tools</li>
<li>Grammar constrained Tools</li>
</ul>
</div>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="14" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="it-was-close-pmf-for-mcp">It was close....! PMF for MCP</h1>
<div class="comparison">
<div class="panel">
MCP is a Commodity Standard
<p>Supports Consumer, Enterprise and Developer use-cases.</p>
<p>Single URL to install authenticated JSON tools across thousands of clients</p>
<p>MCP's &quot;fit&quot; features <em>weren't present</em> at launch!</p>
<p>URI/Resources based extensions deliver innovation and extensibility...</p>
<p>...Which enabled rapid MCP Apps distribution on a solid support base.</p>
</div>
<div class="panel">
Model/Host Changes and STDIO
<p>Host applications with Shell tool reduce the need for STDIO Servers.</p>
<p>In many cases for local running tools such as Apify <strong>mcp-cli</strong> or Pete Steinberger's <strong>MCPorter</strong> offer a <em>better</em> experience for MCP usage.</p>
<p>Distribution via MCPB is one potential advantage</p>
<p>Simple one-shot server design meant that distribution of ideas was more important than code.</p>
</div>
</div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="15" data-header="&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;" data-class="transition" data-theme="ny-noir" data-style="video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
" lang="C" class="transition" style="--header:&lt;span class=&quot;header-logos&quot;&gt;&lt;img src=&quot;./images/hf_logo.svg&quot; alt=&quot;Hugging Face&quot; /&gt;&lt;img src=&quot;./images/github-mark.svg&quot; alt=&quot;GitHub&quot; /&gt;github.com/evalstate&lt;/span&gt;;--class:transition;--theme:ny-noir;--style:video.full-slide {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 24px;
}
.hero-note {
max-width: 24em;
margin-top: 1rem;
color: #dbe6f7;
font-size: 0.68em;
line-height: 1.45;
}
.mini-list {
margin-top: 0.8rem;
font-size: 0.64em;
color: #d8e4f5;
}
.image-strip {
display: grid;
grid-template-columns: 1.45fr 1fr;
gap: 1rem;
align-items: start;
margin-top: 1rem;
}
.image-strip img {
width: 100%;
max-height: 280px;
object-fit: contain;
}
.rl-layout {
display: grid;
grid-template-columns: 1.08fr 1.12fr;
gap: 0.85rem;
align-items: start;
}
.rl-layout &gt; div:first-child {
min-width: 0;
}
.rl-layout &gt; div:first-child ul {
margin-top: 0;
}
.rl-stack {
display: grid;
gap: 0.8rem;
align-content: start;
}
.rl-stack img {
width: 100%;
max-height: 285px;
object-fit: contain;
}
.flow-compare {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.8rem;
margin-top: 0.7rem;
}
.flow-card {
padding: 0.75rem 0.8rem 0.7rem;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.flow-card h3 {
margin: 0 0 0.35rem;
color: #ffc76b;
font-size: 0.76em;
}
.flow-subtitle {
margin-bottom: 0.5rem;
color: #c9d7ea;
font-size: 0.46em;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.swimlane {
display: grid;
gap: 0.24rem;
}
.step {
position: relative;
display: grid;
grid-template-columns: 5.1em 1fr;
gap: 0.2rem;
align-items: center;
padding: 0.38rem 0.5rem;
border-radius: 14px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.step::after {
content: &quot;&quot;;
position: absolute;
left: 50%;
bottom: -0.48rem;
transform: translateX(-50%);
color: rgba(255, 255, 255, 0.45);
font-size: 0.58em;
line-height: 1;
pointer-events: none;
}
.step:last-child::after {
content: &quot;&quot;;
display: none;
}
.lane {
color: #9bdcff;
font-size: 0.4em;
letter-spacing: 0.1em;
text-transform: uppercase;
text-align: left;
}
.action {
color: #eef6ff;
font-size: 0.5em;
line-height: 1.18;
}
.step.owner-model {
border-color: rgba(255, 199, 107, 0.34);
background: rgba(255, 199, 107, 0.1);
}
.step.owner-tool {
border-color: rgba(115, 210, 255, 0.34);
background: rgba(115, 210, 255, 0.1);
}
.flow-note {
margin-top: 0.45rem;
color: #b8c8dc;
font-size: 0.44em;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.dynamic-tool-layout {
display: grid;
grid-template-columns: 0.66fr 1.34fr;
gap: 0.9rem;
align-items: stretch;
margin-top: 0;
}
.dynamic-tool-layout &gt; div:first-child {
min-width: 0;
}
.dynamic-tool-layout h1,
.dynamic-tool-layout h2 {
margin: 0 0 0.6rem;
color: #fff7eb;
font-family: 'Instrument Serif', serif;
font-size: 1.28em;
line-height: 0.96;
border-bottom: none;
}
.dynamic-tool-layout &gt; div:first-child p:first-child {
margin-top: 0;
}
.dynamic-tool-layout ul {
margin-top: 0.45rem;
}
.dynamic-tool-video {
display: flex;
justify-content: center;
align-items: center;
}
.dynamic-tool-video video {
width: 100%;
max-height: 620px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.launch-grid {
margin-top: 1rem;
gap: 1.15rem;
}
.launch-grid .card {
display: flex;
align-items: center;
justify-content: center;
min-height: 150px;
padding: 1rem 1rem 0.95rem;
border-radius: 28px;
text-align: center;
}
.launch-grid .card h3 {
margin: 0;
color: #fff9f1;
font-family: 'Instrument Serif', serif;
font-size: 1.12em;
line-height: 0.98;
letter-spacing: 0.01em;
text-wrap: balance;
}
.launch-grid .card p,
.launch-grid .card ul {
display: none;
margin-top: 0.9rem;
font-size: 0.58em;
line-height: 1.32;
color: #c7d5e8;
}
.acp-combo {
display: grid;
grid-template-columns: 1.12fr 0.88fr;
gap: 0.9rem;
align-items: start;
margin-top: 0.5rem;
}
.acp-combo-main {
min-width: 0;
}
.acp-combo-visual {
display: grid;
gap: 0.85rem;
align-content: start;
}
.acp-logo-panel {
display: flex;
justify-content: center;
align-items: center;
min-height: 180px;
padding: 1rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-logo-panel img {
width: 100%;
max-width: 300px;
max-height: 120px;
object-fit: contain;
box-shadow: none;
border: none;
border-radius: 0;
}
.acp-summary {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-summary h3 {
margin: 0 0 0.5rem;
color: #9bdcff;
font-size: 0.74em;
}
.acp-summary p {
margin: 0;
font-size: 0.6em;
line-height: 1.34;
color: #d7e4f6;
}
.acp-kicker {
max-width: 22em;
margin: 0.35rem 0 0.8rem;
color: #d7e4f6;
font-size: 0.68em;
line-height: 1.32;
}
.acp-video {
display: flex;
justify-content: center;
align-items: flex-start;
}
.acp-video video {
width: 100%;
max-height: 500px;
object-fit: contain;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
background: rgba(255, 255, 255, 0.03);
}
.acp-points {
display: grid;
gap: 0.65rem;
margin-top: 0.8rem;
}
.acp-points .panel {
padding: 0.85rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.acp-points .panel h3 {
margin-top: 0;
margin-bottom: 0.45rem;
}
.acp-points .panel p {
margin: 0;
font-size: 0.62em;
line-height: 1.3;
}
.open-responses-layout {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: 1rem;
align-items: start;
margin-top: 0.6rem;
}
.open-responses-intro {
padding: 1rem 1rem 0.95rem;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.045);
}
.open-responses-intro p {
margin: 0;
font-size: 0.68em;
line-height: 1.34;
color: #dbe6f7;
}
.open-responses-intro p + p {
margin-top: 0.7rem;
color: #c6d6ea;
font-size: 0.6em;
}
.open-responses-panels {
display: grid;
gap: 0.8rem;
}
.open-responses-panels .panel {
padding: 1rem 1rem 0.95rem;
}
.open-responses-panels .panel h3 {
margin-top: 0;
margin-bottom: 0.55rem;
}
.open-responses-panels .panel ul {
margin: 0;
padding-left: 1rem;
}
;" data-size="16:9">
<header><span class="header-logos"><img src="./images/hf_logo.svg" alt="Hugging Face" /><img src="./images/github-mark.svg" alt="GitHub" />github.com/evalstate</span></header>
<h1 id="thank-you">Thank You!</h1>
</section>
<script>!function(){"use strict";const t={h1:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"1"},style:"display: block; font-size: 2em; margin-block-start: 0.67em; margin-block-end: 0.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h2:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"2"},style:"display: block; font-size: 1.5em; margin-block-start: 0.83em; margin-block-end: 0.83em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h3:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"3"},style:"display: block; font-size: 1.17em; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h4:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"4"},style:"display: block; margin-block-start: 1.33em; margin-block-end: 1.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h5:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"5"},style:"display: block; font-size: 0.83em; margin-block-start: 1.67em; margin-block-end: 1.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h6:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"6"},style:"display: block; font-size: 0.67em; margin-block-start: 2.33em; margin-block-end: 2.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},span:{proto:()=>HTMLSpanElement},pre:{proto:()=>HTMLElement,style:"display: block; font-family: monospace; white-space: pre; margin: 1em 0; --marp-auto-scaling-white-space: pre;"}},e="data-marp-auto-scaling-wrapper",i="data-marp-auto-scaling-svg",n="data-marp-auto-scaling-container";class s extends HTMLElement{container;containerSize;containerObserver;svg;svgComputedStyle;svgPreserveAspectRatio="xMinYMid meet";wrapper;wrapperSize;wrapperObserver;constructor(){super();const t=t=>([e])=>{const{width:i,height:n}=e.contentRect;this[t]={width:i,height:n},this.updateSVGRect()};this.attachShadow({mode:"open"}),this.containerObserver=new ResizeObserver(t("containerSize")),this.wrapperObserver=new ResizeObserver((...e)=>{t("wrapperSize")(...e),this.flushSvgDisplay()})}static get observedAttributes(){return["data-downscale-only"]}connectedCallback(){this.shadowRoot.innerHTML=`\n<style>\n svg[${i}] { display: block; width: 100%; height: auto; vertical-align: top; }\n span[${n}] { display: table; white-space: var(--marp-auto-scaling-white-space, nowrap); width: max-content; }\n</style>\n<div ${e}>\n <svg part="svg" ${i}>\n <foreignObject><span ${n}><slot></slot></span></foreignObject>\n </svg>\n</div>\n `.split(/\n\s*/).join(""),this.wrapper=this.shadowRoot.querySelector(`div[${e}]`)??void 0;const t=this.svg;this.svg=this.wrapper?.querySelector(`svg[${i}]`)??void 0,this.svg!==t&&(this.svgComputedStyle=this.svg?window.getComputedStyle(this.svg):void 0),this.container=this.svg?.querySelector(`span[${n}]`)??void 0,this.observe()}disconnectedCallback(){this.svg=void 0,this.svgComputedStyle=void 0,this.wrapper=void 0,this.container=void 0,this.observe()}attributeChangedCallback(){this.observe()}flushSvgDisplay(){const{svg:t}=this;t&&(t.style.display="inline",requestAnimationFrame(()=>{t.style.display=""}))}observe(){this.containerObserver.disconnect(),this.wrapperObserver.disconnect(),this.wrapper&&this.wrapperObserver.observe(this.wrapper),this.container&&this.containerObserver.observe(this.container),this.svgComputedStyle&&this.observeSVGStyle(this.svgComputedStyle)}observeSVGStyle(t){const e=()=>{const i=(()=>{const e=t.getPropertyValue("--preserve-aspect-ratio");if(e)return e.trim();return`x${(({textAlign:t,direction:e})=>{if(t.endsWith("left"))return"Min";if(t.endsWith("right"))return"Max";if("start"===t||"end"===t){let i="rtl"===e;return"end"===t&&(i=!i),i?"Max":"Min"}return"Mid"})(t)}YMid meet`})();i!==this.svgPreserveAspectRatio&&(this.svgPreserveAspectRatio=i,this.updateSVGRect()),t===this.svgComputedStyle&&requestAnimationFrame(e)};e()}updateSVGRect(){let t=Math.ceil(this.containerSize?.width??0);const e=Math.ceil(this.containerSize?.height??0);void 0!==this.dataset.downscaleOnly&&(t=Math.max(t,this.wrapperSize?.width??0));const i=this.svg?.querySelector(":scope > foreignObject");if(i?.setAttribute("width",`${t}`),i?.setAttribute("height",`${e}`),this.svg&&(this.svg.setAttribute("viewBox",`0 0 ${t} ${e}`),this.svg.setAttribute("preserveAspectRatio",this.svgPreserveAspectRatio),this.svg.style.height=t<=0||e<=0?"0":""),this.container){const t=this.svgPreserveAspectRatio.toLowerCase();this.container.style.marginLeft=t.startsWith("xmid")||t.startsWith("xmax")?"auto":"0",this.container.style.marginRight=t.startsWith("xmi")?"auto":"0"}}}const r=(t,{attrs:e={},style:i})=>class extends t{constructor(...t){super(...t);for(const[t,i]of Object.entries(e))this.hasAttribute(t)||this.setAttribute(t,i);this._shadow()}static get observedAttributes(){return["data-auto-scaling"]}connectedCallback(){this._update()}attributeChangedCallback(){this._update()}_shadow(){if(!this.shadowRoot)try{this.attachShadow({mode:"open"})}catch(t){if(!(t instanceof Error&&"NotSupportedError"===t.name))throw t}return this.shadowRoot}_update(){const t=this._shadow();if(t){const e=i?`<style>:host { ${i} }</style>`:"";let n="<slot></slot>";const{autoScaling:s}=this.dataset;if(void 0!==s){n=`<marp-auto-scaling exportparts="svg:auto-scaling" ${"downscale-only"===s?"data-downscale-only":""}>${n}</marp-auto-scaling>`}t.innerHTML=e+n}}};let o;const a=Symbol(),l=()=>o??(o=!!document.createElement("div",{is:"marp-auto-scaling"}).outerHTML.startsWith("<div is"),o);let c;const d="marpitSVGPolyfill:setZoomFactor,",h=Symbol(),g=Symbol();const p=()=>{const t="Apple Computer, Inc."===navigator.vendor,e=t?[v]:[],i={then:e=>(t?(async()=>{if(void 0===c){const t=document.createElement("canvas");t.width=10,t.height=10;const e=t.getContext("2d"),i=new Image(10,10),n=new Promise(t=>{i.addEventListener("load",()=>t())});i.crossOrigin="anonymous",i.src="data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%201%201%22%3E%3CforeignObject%20width%3D%221%22%20height%3D%221%22%20requiredExtensions%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3E%3Cdiv%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%20style%3D%22width%3A%201px%3B%20height%3A%201px%3B%20background%3A%20red%3B%20position%3A%20relative%22%3E%3C%2Fdiv%3E%3C%2FforeignObject%3E%3C%2Fsvg%3E",await n,e.drawImage(i,0,0),c=e.getImageData(5,5,1,1).data[3]<128}return c})().then(t=>{null==e||e(t?[v]:[])}):null==e||e([]),i)};return Object.assign(e,i)};let m,u;function v(t){const e="object"==typeof t&&t.target||document,i="object"==typeof t?t.zoom:t;window[g]||(Object.defineProperty(window,g,{configurable:!0,value:!0}),document.body.style.zoom=1.0001,document.body.offsetHeight,document.body.style.zoom=1,window.addEventListener("message",({data:t,origin:e})=>{if(e===window.origin)try{if(t&&"string"==typeof t&&t.startsWith(d)){const[,e]=t.split(","),i=Number.parseFloat(e);Number.isNaN(i)||(u=i)}}catch(t){console.error(t)}}));let n=!1;Array.from(e.querySelectorAll("svg[data-marpit-svg]"),t=>{var e,s,r,o;t.style.transform||(t.style.transform="translateZ(0)");const a=i||u||t.currentScale||1;m!==a&&(m=a,n=a);const l=t.getBoundingClientRect(),{length:c}=t.children;for(let i=0;i<c;i+=1){const n=t.children[i];if(n.getScreenCTM){const t=n.getScreenCTM();if(t){const i=null!==(s=null===(e=n.x)||void 0===e?void 0:e.baseVal.value)&&void 0!==s?s:0,c=null!==(o=null===(r=n.y)||void 0===r?void 0:r.baseVal.value)&&void 0!==o?o:0,d=n.children.length;for(let e=0;e<d;e+=1){const s=n.children[e];if("SECTION"===s.tagName){const{style:e}=s;e.transformOrigin||(e.transformOrigin=`${-i}px ${-c}px`),e.transform=`scale(${a}) matrix(${t.a}, ${t.b}, ${t.c}, ${t.d}, ${t.e-l.left}, ${t.f-l.top}) translateZ(0.0001px)`;break}}}}}}),!1!==n&&Array.from(e.querySelectorAll("iframe"),({contentWindow:t})=>{null==t||t.postMessage(`${d}${n}`,"null"===window.origin?"*":window.origin)})}function w({once:t=!1,target:e=document}={}){const i=function(t=document){if(t[h])return t[h];let e=!0;const i=()=>{e=!1,delete t[h]};Object.defineProperty(t,h,{configurable:!0,value:i});let n=[],s=!1;(async()=>{try{n=await p()}finally{s=!0}})();const r=()=>{for(const e of n)e({target:t});s&&0===n.length||e&&window.requestAnimationFrame(r)};return r(),i}(e);return t?(i(),()=>{}):i}m=1,u=void 0;const b=Symbol(),y=(e=document)=>{if("undefined"==typeof window)throw new Error("Marp Core's browser script is valid only in browser context.");if(((e=document)=>{const i=window[a];i||customElements.define("marp-auto-scaling",s);for(const n of Object.keys(t)){const s=`marp-${n}`,o=t[n].proto();l()&&o!==HTMLElement?i||customElements.define(s,r(o,{style:t[n].style}),{extends:n}):(i||customElements.define(s,r(HTMLElement,t[n])),e.querySelectorAll(`${n}[is="${s}"]`).forEach(t=>{t.outerHTML=t.outerHTML.replace(new RegExp(`^<${n}`,"i"),`<${s}`).replace(new RegExp(`</${n}>$`,"i"),`</${s}>`)}))}window[a]=!0})(e),e[b])return e[b];const i=w({target:e}),n=()=>{i(),delete e[b]},o=Object.assign(n,{cleanup:n,update:()=>y(e)});return Object.defineProperty(e,b,{configurable:!0,value:o}),o},f=document.currentScript;y(f?f.getRootNode():document)}();
</script></foreignObject></svg></div><script>/*!! License: https://unpkg.com/@marp-team/marp-cli@4.3.1/lib/bespoke.js.LICENSE.txt */
!function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,n,r=(n||(n=1,t={from:function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),o=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,function(e){return"SCRIPT"!==e.nodeName}),i={},a=function(e,t){return(t=t||{}).index=o.indexOf(e),t.slide=e,t},s=function(e,t){i[e]=(i[e]||[]).filter(function(e){return e!==t})},l=function(e,t){return(i[e]||[]).reduce(function(e,n){return e&&!1!==n(t)},!0)},c=function(e,t){o[e]&&(n&&l("deactivate",a(n,t)),n=o[e],l("activate",a(n,t)))},d=function(e,t){var r=o.indexOf(n)+e;l(e>0?"next":"prev",a(n,t))&&c(r,t)},u={off:s,on:function(e,t){return(i[e]||(i[e]=[])).push(t),s.bind(null,e,t)},fire:l,slide:function(e,t){if(!arguments.length)return o.indexOf(n);l("slide",a(o[e],t))&&c(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:o,destroy:function(e){l("destroy",a(n,e)),i={}}};return(t||[]).forEach(function(e){e(u)}),n||c(0),u}}),t),o=e(r);const i=document.body,a=(...e)=>history.replaceState(...e),s="",l="presenter",c="next",d="overview",u=["",l,d,c],f="bespoke-marp-",m=`data-${f}`,g=(e,{protocol:t,host:n,pathname:r,hash:o}=location)=>{const i=e.toString();return`${t}//${n}${r}${i?"?":""}${i}${o}`},p=()=>i.dataset.bespokeView,v=e=>new URLSearchParams(location.search).get(e),h=(e,t={})=>{const n={location,setter:a,...t},r=new URLSearchParams(n.location.search);for(const t of Object.keys(e)){const n=e[t];"string"==typeof n?r.set(t,n):r.delete(t)}try{n.setter({...window.history.state??{}},"",g(r,n.location))}catch(e){console.error(e)}},w=(()=>{const e="bespoke-marp";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch{return!1}})(),y=e=>{try{return localStorage.getItem(e)}catch{return null}},b=(e,t)=>{try{return localStorage.setItem(e,t),!0}catch{return!1}},k=e=>{try{return localStorage.removeItem(e),!0}catch{return!1}},x=(e,t)=>{const n="aria-hidden";t?e.setAttribute(n,"true"):e.removeAttribute(n)},E=e=>{e.parent.classList.add(`${f}parent`),e.slides.forEach(e=>e.classList.add(`${f}slide`)),e.on("activate",t=>{const n=`${f}active`,r=t.slide,o=r.classList,i=!o.contains(n);if(e.slides.forEach(e=>{e.classList.remove(n),x(e,!0)}),o.add(n),x(r,!1),i){const e=`${n}-ready`;o.add(e),document.body.clientHeight,o.remove(e)}})},$=e=>{let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map(e=>[null,...e.querySelectorAll("[data-marpit-fragment]")])});const r=r=>void 0!==e.fragments[t][n+r],o=(r,o)=>{t=r,n=o,e.fragments.forEach((e,t)=>{e.forEach((e,n)=>{if(null==e)return;const i=t<r||t===r&&n<=o;e.setAttribute(`${m}fragment`,(i?"":"in")+"active");const a=`${m}current-fragment`;t===r&&n===o?e.setAttribute(a,"current"):e.removeAttribute(a)})}),e.fragmentIndex=o;const i={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:o};e.fire("fragment",i)};e.on("next",({fragment:i=!0})=>{if(i){if(r(1))return o(t,n+1),!1;const i=t+1;e.fragments[i]&&o(i,0)}else{const r=e.fragments[t].length;if(n+1<r)return o(t,r-1),!1;const i=e.fragments[t+1];i&&o(t+1,i.length-1)}}),e.on("prev",({fragment:i=!0})=>{if(r(-1)&&i)return o(t,n-1),!1;const a=t-1;e.fragments[a]&&o(a,e.fragments[a].length-1)}),e.on("slide",({index:t,fragment:n})=>{let r=0;if(void 0!==n){const o=e.fragments[t];if(o){const{length:e}=o;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}o(t,r)}),o(0,0)},L=document,S=()=>!(!L.fullscreenEnabled&&!L.webkitFullscreenEnabled),P=()=>!(!L.fullscreenElement&&!L.webkitFullscreenElement),_=e=>{e.fullscreen=()=>{S()&&(async()=>{P()?(L.exitFullscreen||L.webkitExitFullscreen)?.call(L):((e=L.body)=>{(e.requestFullscreen||e.webkitRequestFullscreen)?.call(e)})()})()},document.addEventListener("keydown",t=>{"f"!==t.key&&"F11"!==t.key||t.altKey||t.ctrlKey||t.metaKey||!S()||(e.fullscreen(),t.preventDefault())})},O=`${f}inactive`,T=(e=2e3)=>({parent:t,fire:n})=>{const r=t.classList,o=e=>n(`marp-${e?"":"in"}active`);let i;const a=()=>{i&&clearTimeout(i),i=setTimeout(()=>{r.add(O),o()},e),r.contains(O)&&(r.remove(O),o(!0))};for(const e of["mousedown","mousemove","touchend"])document.addEventListener(e,a);setTimeout(a,0)},I=["AUDIO","BUTTON","INPUT","SELECT","TEXTAREA","VIDEO"],M=e=>{e.parent.addEventListener("keydown",e=>{if(!e.target)return;const t=e.target;(I.includes(t.nodeName)||"true"===t.contentEditable)&&e.stopPropagation()})},A=e=>{window.addEventListener("load",()=>{for(const t of e.slides){const e=t.querySelector("marp-auto-scaling, [data-auto-scaling], [data-marp-fitting]");t.setAttribute(`${m}load`,e?"":"hideable")}})},C=({interval:e=250}={})=>t=>{document.addEventListener("keydown",e=>{if(" "===e.key&&e.shiftKey)t.prev();else if("ArrowLeft"===e.key||"ArrowUp"===e.key||"PageUp"===e.key)t.prev({fragment:!e.shiftKey});else if(" "!==e.key||e.shiftKey)if("ArrowRight"===e.key||"ArrowDown"===e.key||"PageDown"===e.key)t.next({fragment:!e.shiftKey});else if("End"===e.key)t.slide(t.slides.length-1,{fragment:-1});else{if("Home"!==e.key)return;t.slide(0)}else t.next();e.preventDefault()});let n,r,o=0;t.parent.addEventListener("wheel",i=>{let a=!1;const s=(e,t)=>{e&&(a=a||((e,t)=>((e,t)=>{const n="X"===t?"Width":"Height";return e[`client${n}`]<e[`scroll${n}`]})(e,t)&&((e,t)=>{const{overflow:n}=e,r=e[`overflow${t}`];return"auto"===n||"scroll"===n||"auto"===r||"scroll"===r})(getComputedStyle(e),t))(e,t)),e?.parentElement&&s(e.parentElement,t)};if(0!==i.deltaX&&s(i.target,"X"),0!==i.deltaY&&s(i.target,"Y"),a)return;i.preventDefault();const l=Math.sqrt(i.deltaX**2+i.deltaY**2);if(void 0!==i.wheelDelta){if(void 0===i.webkitForce&&Math.abs(i.wheelDelta)<40)return;if(i.deltaMode===i.DOM_DELTA_PIXEL&&l<4)return}else if(i.deltaMode===i.DOM_DELTA_PIXEL&&l<12)return;r&&clearTimeout(r),r=setTimeout(()=>{n=0},e);const c=Date.now()-o<e,d=l<=n;if(n=l,c||d)return;let u;(i.deltaX>0||i.deltaY>0)&&(u="next"),(i.deltaX<0||i.deltaY<0)&&(u="prev"),u&&(t[u](),o=Date.now())})},D=(e=`.${f}osc`)=>{const t=document.querySelector(e);if(!t)return()=>{};const n=(e,n)=>{t.querySelectorAll(`[${m}osc=${JSON.stringify(e)}]`).forEach(n)};if(S()||n("fullscreen",e=>e.style.display="none"),!w){const e=(e,t)=>{e.disabled=!0,e.title=`${t} is disabled due to restricted localStorage.`};n("presenter",t=>e(t,"Presenter view")),n("overview",t=>e(t,"Overview view"))}return e=>{t.addEventListener("click",t=>{if(t.target instanceof HTMLElement){const{bespokeMarpOsc:n}=t.target.dataset;n&&t.target.blur();const r={fragment:!t.shiftKey};"next"===n?e.next(r):"prev"===n?e.prev(r):"fullscreen"===n?e?.fullscreen():"presenter"===n?e.openPresenterView():"overview"===n&&e.toggleOverviewView()}}),e.parent.appendChild(t),e.on("activate",({index:t})=>{n("page",n=>n.textContent=`Page ${t+1} of ${e.slides.length}`)}),e.on("fragment",({index:t,fragments:r,fragmentIndex:o})=>{n("prev",e=>e.disabled=0===t&&0===o),n("next",n=>n.disabled=t===e.slides.length-1&&o===r.length-1)}),e.on("marp-active",()=>x(t,!1)),e.on("marp-inactive",()=>x(t,!0)),S()&&(e=>{for(const t of["","webkit"])L.addEventListener(t+"fullscreenchange",e)})(()=>n("fullscreen",e=>e.classList.toggle("exit",S()&&P())))}},N=e=>{if(e.syncKey&&"string"==typeof e.syncKey)return!0;throw new Error("The current instance of Bespoke.js is incompatible with Marp bespoke sync plugin.")},B=(e={})=>{const t=e.key||window.history.state?.marpBespokeSyncKey||Math.random().toString(36).slice(2),n=`bespoke-marp-sync-${t}`;var r;r={marpBespokeSyncKey:t},h({},{setter:(e,...t)=>a({...e,...r},...t)});const o=()=>{const e=y(n);return e?JSON.parse(e):Object.create(null)},i=e=>{const t=o(),r={...t,...e(t)};return b(n,JSON.stringify(r)),r},s=()=>{window.removeEventListener("pageshow",s),i(e=>({reference:(e.reference||0)+1}))};return e=>{s(),Object.defineProperty(e,"syncKey",{value:t,enumerable:!0});let r=!0;setTimeout(()=>{e.on("fragment",e=>{r&&i(()=>({index:e.index,fragmentIndex:e.fragmentIndex}))})},0),window.addEventListener("storage",t=>{if(t.key===n&&t.oldValue&&t.newValue){const n=JSON.parse(t.oldValue),o=JSON.parse(t.newValue);if(n.index!==o.index||n.fragmentIndex!==o.fragmentIndex)try{r=!1,e.slide(o.index,{fragment:o.fragmentIndex,forSync:!0})}finally{r=!0}}});const a=()=>{const{reference:e}=o();void 0===e||e<=1?k(n):i(()=>({reference:e-1}))};window.addEventListener("pagehide",e=>{e.persisted&&window.addEventListener("pageshow",s),a()}),e.on("destroy",a)}},K=e=>{w&&document.addEventListener("keydown",t=>{("o"!==t.key||t.altKey||t.ctrlKey||t.metaKey)&&"Escape"!==t.key||(t.preventDefault(),e())})};let q=null;const V=({closeOnSelect:e=!0}={})=>t=>{N(t);const n=n=>{const r=(()=>{if(!q||!q.isConnected){q=document.createElement("div"),q.className=`${f}overview`,q.inert=!0;const n=document.createElement("iframe");n.src=(()=>{const n=new URLSearchParams(location.search);return n.set("view","overview"),n.set("sync",t.syncKey),e&&n.set("closeOnSelect","1"),g(n)})(),q.append(n),document.body.append(q)}return q})(),o=n??!r.dataset.open;setTimeout(()=>{if(r.dataset.open=o?"1":"",r.inert=!o,t.skipTransition=o,o){const e=r.querySelector("iframe");try{e?.contentWindow?.focus()}catch{e?.focus()}}else window.focus()},0)};Object.defineProperties(t,{toggleOverviewView:{enumerable:!0,value:n}}),window.addEventListener("message",e=>{e.origin===window.origin&&"closeOverview"===e.data&&n(!1)}),K(n)},j=e=>{const{title:t}=document;document.title="[Overview]"+(t?` - ${t}`:"");const n=!!v("closeOnSelect"),r=()=>{window.parent.postMessage("closeOverview","null"===window.origin?"*":window.origin)};if(e.slides.forEach((t,o)=>{t.tabIndex=0;const i=()=>{e.slide(o,{fragment:-1}),n&&r()};t.addEventListener("click",i),t.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),i())})}),window.addEventListener("keydown",t=>{const n=e.slide(),r=t=>{const r=t=>{const n=e.slides[t].getBoundingClientRect();return[Math.round((n.left+n.right)/2),Math.round((n.top+n.bottom)/2)]};let o=null,i=n;do{const e=r(i);if(o){if(Math.abs(e[0]-o[0])<2)return i}else o=e;i+=t}while(i>=0&&i<e.slides.length);return n};if("ArrowLeft"===t.key)e.slide(Math.max(n-1,0),{fragment:-1});else if("ArrowRight"===t.key)e.slide(Math.min(n+1,e.slides.length-1),{fragment:-1});else if("ArrowUp"===t.key)e.slide(r(-1),{fragment:-1});else if("ArrowDown"===t.key)e.slide(r(1),{fragment:-1});else if("End"===t.key)e.slide(e.slides.length-1,{fragment:-1});else{if("Home"!==t.key)return;e.slide(0,{fragment:-1})}t.preventDefault();const o=e.slide();e.slides[o]?.focus?.(),e.slides[o]?.scrollIntoView?.({behavior:"smooth",block:"nearest"})}),e.on("slide",({index:t})=>{e.slides[t]?.scrollIntoView?.({behavior:"smooth",block:"nearest"})}),window.parent!==window){K(r);const e=document.createElement("header");e.className=`${f}overview-header`;const t=document.createElement("button");t.className=`${f}overview-close`,t.type="button",t.title="Close overview",t.textContent=t.title,t.addEventListener("click",r),e.append(t),document.body.prepend(e)}},F=()=>{const e=p();return{[s]:V(),[l]:V({closeOnSelect:!1}),[d]:j}[e]},U=e=>{window.addEventListener("message",t=>{if(t.origin!==window.origin)return;const[n,r]=t.data.split(":");if("navigate"===n){const[t,n]=r.split(",");let o=Number.parseInt(t,10),i=Number.parseInt(n,10)+1;i>=e.fragments[o].length&&(o+=1,i=0),e.slide(o,{fragment:i})}})};var R,X,H,W,J,Y,z,G={exports:{}},Q=(R||(R=1,G.exports=(X=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],H=function(e){return String(e).replace(/[&<>"']/g,function(e){return"&"+W[e]+";"})},W={"&":"amp","<":"lt",">":"gt",'"':"quot","'":"apos"},J="dangerouslySetInnerHTML",Y={className:"class",htmlFor:"for"},z={},function(e,t){var n=[],r="";t=t||{};for(var o=arguments.length;o-- >2;)n.push(arguments[o]);if("function"==typeof e)return t.children=n.reverse(),e(t);if(e){if(r+="<"+e,t)for(var i in t)!1!==t[i]&&null!=t[i]&&i!==J&&(r+=" "+(Y[i]?Y[i]:H(i))+'="'+H(t[i])+'"');r+=">"}if(-1===X.indexOf(e)){if(t[J])r+=t[J].__html;else for(;n.length;){var a=n.pop();if(a)if(a.pop)for(var s=a.length;s--;)n.push(a[s]);else r+=!0===z[a]?a:H(a)}r+=e?"</"+e+">":""}return z[r]=!0,r})),G.exports),Z=e(Q);const ee=({children:e})=>Z(null,null,...e),te=`${f}presenter-`,ne={container:`${te}container`,dragbar:`${te}dragbar-container`,next:`${te}next`,nextContainer:`${te}next-container`,noteContainer:`${te}note-container`,noteWrapper:`${te}note-wrapper`,noteButtons:`${te}note-buttons`,infoContainer:`${te}info-container`,infoPageArea:`${te}info-page-area`,infoPage:`${te}info-page`,infoPagePrev:`${te}info-page-prev`,infoPageNext:`${te}info-page-next`,noteButtonsBigger:`${te}note-bigger`,noteButtonsSmaller:`${te}note-smaller`,infoTime:`${te}info-time`,infoTimer:`${te}info-timer`},re=e=>{const{title:t}=document;document.title="[Presenter view]"+(t?` - ${t}`:"");const n={},r=e=>(n[e]=n[e]||document.querySelector(`.${e}`),n[e]);document.body.appendChild((e=>{const t=document.createElement("div");return t.className=ne.container,t.appendChild(e),t.insertAdjacentHTML("beforeend",Z(ee,null,Z("div",{class:ne.nextContainer},Z("iframe",{class:ne.next,src:"?view=next"})),Z("div",{class:ne.dragbar}),Z("div",{class:ne.noteContainer},Z("div",{class:ne.noteWrapper}),Z("div",{class:ne.noteButtons},Z("button",{class:ne.noteButtonsSmaller,tabindex:"-1",title:"Smaller notes font size"},"Smaller notes font size"),Z("button",{class:ne.noteButtonsBigger,tabindex:"-1",title:"Bigger notes font size"},"Bigger notes font size"))),Z("div",{class:ne.infoContainer},Z("div",{class:ne.infoPageArea},Z("button",{class:ne.infoPagePrev,tabindex:"-1",title:"Previous"},"Previous"),Z("button",{class:ne.infoPage}),Z("button",{class:ne.infoPageNext,tabindex:"-1",title:"Next"},"Next")),Z("time",{class:ne.infoTime,title:"Current time"}),Z("time",{class:ne.infoTimer,title:"Timer"})))),t})(e.parent)),(e=>{let t=!1;r(ne.dragbar).addEventListener("mousedown",()=>{t=!0,r(ne.dragbar).classList.add("active")}),window.addEventListener("mouseup",()=>{t=!1,r(ne.dragbar).classList.remove("active")}),window.addEventListener("mousemove",e=>{if(!t)return;const n=e.clientX/document.documentElement.clientWidth*100;r(ne.container).style.setProperty("--bespoke-marp-presenter-split-ratio",`${Math.max(0,Math.min(100,n))}%`)}),r(ne.nextContainer).addEventListener("click",()=>e.next());const n=r(ne.next),o=(i=n,(e,t)=>i.contentWindow?.postMessage(`navigate:${e},${t}`,"null"===window.origin?"*":window.origin));var i;n.addEventListener("load",()=>{r(ne.nextContainer).classList.add("active"),o(e.slide(),e.fragmentIndex),e.on("fragment",({index:e,fragmentIndex:t})=>o(e,t))});const a=document.querySelectorAll(".bespoke-marp-note");a.forEach(e=>{e.addEventListener("keydown",e=>e.stopPropagation()),r(ne.noteWrapper).appendChild(e)}),e.on("activate",()=>a.forEach(t=>t.classList.toggle("active",t.dataset.index==e.slide())));let s=0;const l=e=>{s=Math.max(-5,s+e),r(ne.noteContainer).style.setProperty("--bespoke-marp-note-font-scale",(1.2**s).toFixed(4))},c=()=>l(1),d=()=>l(-1),u=r(ne.noteButtonsBigger),f=r(ne.noteButtonsSmaller);u.addEventListener("click",()=>{u.blur(),c()}),f.addEventListener("click",()=>{f.blur(),d()}),document.addEventListener("keydown",e=>{"+"===e.key&&c(),"-"===e.key&&d()},!0);const m=r(ne.infoPage);e.on("activate",({index:t})=>{m.textContent=`${t+1} / ${e.slides.length}`}),m.addEventListener("click",()=>{m.blur(),e.toggleOverviewView()});const g=r(ne.infoPagePrev),p=r(ne.infoPageNext);g.addEventListener("click",t=>{g.blur(),e.prev({fragment:!t.shiftKey})}),p.addEventListener("click",t=>{p.blur(),e.next({fragment:!t.shiftKey})}),e.on("fragment",({index:t,fragments:n,fragmentIndex:r})=>{g.disabled=0===t&&0===r,p.disabled=t===e.slides.length-1&&r===n.length-1});let v=new Date;const h=()=>{const e=new Date,t=e=>`${Math.floor(e)}`.padStart(2,"0"),n=e.getTime()-v.getTime(),o=t(n/1e3%60),i=t(n/1e3/60%60),a=t(n/36e5%24);r(ne.infoTime).textContent=e.toLocaleTimeString(),r(ne.infoTimer).textContent=`${a}:${i}:${o}`};h(),setInterval(h,250),r(ne.infoTimer).addEventListener("click",()=>{v=new Date})})(e)},oe=e=>{N(e),Object.defineProperties(e,{openPresenterView:{enumerable:!0,value:ie},presenterUrl:{enumerable:!0,get:ae}}),w&&document.addEventListener("keydown",t=>{"p"!==t.key||t.altKey||t.ctrlKey||t.metaKey||(t.preventDefault(),e.openPresenterView())})};function ie(){const{max:e,floor:t}=Math,n=e(t(.85*window.innerWidth),640),r=e(t(.85*window.innerHeight),360);return window.open(this.presenterUrl,te+this.syncKey,`width=${n},height=${r},menubar=no,toolbar=no`)}function ae(){const e=new URLSearchParams(location.search);return e.set("view","presenter"),e.set("sync",this.syncKey),g(e)}const se=e=>{const t=p();return t===c&&e.appendChild(document.createElement("span")),{[s]:oe,[l]:re,[c]:U}[t]},le=e=>{e.on("activate",t=>{document.querySelectorAll(".bespoke-progress-parent > .bespoke-progress-bar").forEach(n=>{n.style.flexBasis=100*t.index/(e.slides.length-1)+"%"})})},ce=e=>{const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t},de=(e={})=>{const t={history:!0,...e};return e=>{let n=!0;const r=e=>{const t=n;try{return n=!0,e()}finally{n=t}},o=(t={fragment:!0})=>{let n=t.fragment?ce(v("f")||""):null;((t,n)=>{const{min:r,max:o}=Math,{fragments:i,slides:a}=e,s=o(0,r(t,a.length-1)),l=o(0,r(n||0,i[s].length-1));s===e.slide()&&l===e.fragmentIndex||e.slide(s,{fragment:l})})((()=>{if(location.hash){const[t]=location.hash.slice(1).split(":~:");if(/^\d+$/.test(t))return(ce(t)??1)-1;const r=document.getElementById(t)||document.querySelector(`a[name="${CSS.escape(t)}"]`);if(r){const{length:t}=e.slides;for(let o=0;o<t;o+=1)if(e.slides[o].contains(r)){const t=e.fragments?.[o],i=r.closest("[data-marpit-fragment]");if(t&&i){const e=t.indexOf(i);e>=0&&(n=e)}return o}}}return 0})(),n)};e.on("fragment",({index:e,fragmentIndex:r})=>{n||h({f:0===r||r.toString()},{location:{...location,hash:`#${e+1}`},setter:(...e)=>t.history?history.pushState(...e):history.replaceState(...e)})}),setTimeout(()=>{o(),window.addEventListener("hashchange",()=>r(()=>{o({fragment:!1}),h({f:void 0})})),window.addEventListener("popstate",()=>{n||r(()=>o())}),n=!1},0)}},{PI:ue,abs:fe,sqrt:me,atan2:ge}=Math,pe={passive:!0},ve=({slope:e=-.7,swipeThreshold:t=30}={})=>n=>{let r;const o=n.parent,i=e=>{const t=o.getBoundingClientRect();return{x:e.pageX-(t.left+t.right)/2,y:e.pageY-(t.top+t.bottom)/2}};o.addEventListener("touchstart",({touches:e})=>{r=1===e.length?i(e[0]):void 0},pe),o.addEventListener("touchmove",e=>{if(r)if(1===e.touches.length){e.preventDefault();const t=i(e.touches[0]),n=t.x-r.x,o=t.y-r.y;r.delta=me(fe(n)**2+fe(o)**2),r.radian=ge(n,o)}else r=void 0}),o.addEventListener("touchend",o=>{if(r){if(r.delta&&r.delta>=t&&r.radian){const t=(r.radian-e+ue)%(2*ue)-ue;n[t<0?"next":"prev"](),o.stopPropagation()}r=void 0}},pe)},he=new Map;he.clear(),he.set("none",{backward:{both:void 0,incoming:void 0,outgoing:void 0},forward:{both:void 0,incoming:void 0,outgoing:void 0}});const we={both:"",outgoing:"outgoing-",incoming:"incoming-"},ye={forward:"",backward:"-backward"},be=e=>`--marp-bespoke-transition-animation-${e}`,ke=e=>`--marp-transition-${e}`,xe=be("name"),Ee=be("duration"),$e=e=>new Promise(t=>{const n={},r=document.createElement("div"),o=e=>{r.remove(),t(e)};r.addEventListener("animationstart",()=>o(n)),Object.assign(r.style,{animationName:e,animationDuration:"1s",animationFillMode:"both",animationPlayState:"paused",position:"absolute",pointerEvents:"none"}),document.body.appendChild(r);const i=getComputedStyle(r).getPropertyValue(ke("duration"));i&&Number.parseFloat(i)>=0&&(n.defaultDuration=i),((e,t)=>{requestAnimationFrame(()=>{e.style.animationPlayState="running",requestAnimationFrame(()=>t(void 0))})})(r,o)}),Le=async e=>he.has(e)?he.get(e):(e=>{const t={},n=[];for(const[r,o]of Object.entries(we))for(const[i,a]of Object.entries(ye)){const s=`marp-${o}transition${a}-${e}`;n.push($e(s).then(e=>{t[i]=t[i]||{},t[i][r]=e?{...e,name:s}:void 0}))}return Promise.all(n).then(()=>t)})(e).then(t=>(he.set(e,t),t)),Se=e=>Object.values(e).flatMap(Object.values).every(e=>!e),Pe=(e,{type:t,backward:n})=>{const r=e[n?"backward":"forward"],o=(()=>{const e=r[t],n=e=>({[xe]:e.name});if(e)return n(e);if(r.both){const e=n(r.both);return"incoming"===t&&(e[be("direction")]="reverse"),e}})();return!o&&n?Pe(e,{type:t,backward:!1}):o||{[xe]:"__bespoke_marp_transition_no_animation__"}},_e=e=>{if(e)try{const t=JSON.parse(e);if((e=>{if("object"!=typeof e)return!1;const t=e;return"string"==typeof t.name&&(void 0===t.duration||"string"==typeof t.duration)})(t))return t}catch{}},Oe="_tSId",Te="_tA",Ie="bespoke-marp-transition-warming-up",Me=window.matchMedia("(prefers-reduced-motion: reduce)"),Ae="__bespoke_marp_transition_reduced_outgoing__",Ce="__bespoke_marp_transition_reduced_incoming__",De={forward:{both:void 0,incoming:{name:Ce},outgoing:{name:Ae}},backward:{both:void 0,incoming:{name:Ce},outgoing:{name:Ae}}},Ne=e=>{if(!document.startViewTransition)return;const t=t=>(void 0!==t&&(e._tD=t),e._tD);let n;t(!1),((...e)=>{CSS.registerProperty({name:ke("duration"),syntax:"<time>",inherits:!0,initialValue:"-1s"});const t=[...new Set(e).values()];return Promise.all(t.map(e=>Le(e))).then()})(...Array.from(document.querySelectorAll("section[data-transition], section[data-transition-back]")).flatMap(e=>[e.dataset.transition,e.dataset.transitionBack].flatMap(e=>{const t=_e(e);return[t?.name,t?.builtinFallback?`__builtin__${t.name}`:void 0]}).filter(e=>!!e))).then(()=>{document.querySelectorAll("style").forEach(e=>{e.innerHTML=e.innerHTML.replace(/--marp-transition-duration:[^;}]*[;}]/g,e=>e.slice(0,-1)+"!important"+e.slice(-1))})});const r=(n,{back:r,cond:o})=>i=>{const a=t();if(a)return!!i[Te]||!("object"!=typeof a||(a.skipTransition(),!i.forSync));if(e.skipTransition)return!0;if(!o(i))return!0;const s=e.slides[e.slide()],l=()=>i.back??r,c="data-transition"+(l()?"-back":""),d=s.querySelector(`section[${c}]`);if(!d)return!0;const u=_e(d.getAttribute(c)??void 0);return!u||((async(e,{builtinFallback:t=!0}={})=>{let n=await Le(e);if(Se(n)){if(!t)return;return n=await Le(`__builtin__${e}`),Se(n)?void 0:n}return n})(u.name,{builtinFallback:u.builtinFallback}).then(e=>{if(!e){t(!0);try{n(i)}finally{t(!1)}return}let r=e;Me.matches&&(console.warn("Use a constant animation to transition because preferring reduced motion by viewer has detected."),r=De);const o=document.getElementById(Oe);o&&o.remove();const a=document.createElement("style");a.id=Oe,document.head.appendChild(a),((e,t)=>{const n=[`:root{${ke("direction")}:${t.backward?-1:1};}`,":root:has(.bespoke-marp-inactive){cursor:none;}"],r=t=>{const n=e[t].both?.defaultDuration||e[t].outgoing?.defaultDuration||e[t].incoming?.defaultDuration;return"forward"===t?n:n||r("forward")},o=t.duration||r(t.backward?"backward":"forward");void 0!==o&&n.push(`::view-transition-group(*){${Ee}:${o};}`);const i=e=>Object.entries(e).map(([e,t])=>`${e}:${t};`).join("");return n.push(`::view-transition-old(root){${i(Pe(e,{...t,type:"outgoing"}))}}`,`::view-transition-new(root){${i(Pe(e,{...t,type:"incoming"}))}}`),n})(r,{backward:l(),duration:u.duration}).forEach(e=>a.sheet?.insertRule(e));const s=document.documentElement.classList;s.add(Ie);let c=!1;const d=()=>{c||(n(i),c=!0,s.remove(Ie))},f=()=>{t(!1),a.remove(),s.remove(Ie)};try{t(!0);const e=document.startViewTransition(d);t(e),e.finished.finally(f)}catch(e){console.error(e),d(),f()}}),!1)};e.on("prev",r(t=>e.prev({...t,[Te]:!0}),{back:!0,cond:e=>e.index>0&&!((e.fragment??1)&&n.fragmentIndex>0)})),e.on("next",r(t=>e.next({...t,[Te]:!0}),{cond:t=>t.index+1<e.slides.length&&!(n.fragmentIndex+1<n.fragments.length)})),setTimeout(()=>{e.on("slide",r(t=>e.slide(t.index,{...t,[Te]:!0}),{cond:t=>{const n=e.slide();return t.index!==n&&(t.back=t.index<n,!0)}}))},0),e.on("fragment",e=>{n=e})};let Be;const Ke=()=>(void 0===Be&&(Be="wakeLock"in navigator&&navigator.wakeLock),Be),qe=async()=>{const e=Ke();if(e)try{return await e.request("screen")}catch(e){console.warn(e)}return null},Ve=async()=>{if(!Ke())return;let e;const t=()=>{e&&"visible"===document.visibilityState&&qe()};for(const e of["visibilitychange","fullscreenchange"])document.addEventListener(e,t);return e=await qe(),e};((e=document.getElementById(":$p"))=>{(()=>{const e=v("view");i.dataset.bespokeView=u.some(t=>t&&t===e)?e:""})();const t=(e=>{const t=v(e);return h({[e]:void 0}),t})("sync")||void 0;o.from(e,((...e)=>{const t=u.findIndex(e=>p()===e);return e.map(([e,n])=>e[t]&&n).filter(e=>e)})([[1,1,1,0],B({key:t})],[[1,1,0,1],se(e)],[[1,1,0,0],M],[[1,1,1,1],E],[[1,0,0,0],T()],[[1,1,1,1],A],[[1,1,1,1],de({history:!1})],[[1,1,0,0],C()],[[1,1,1,0],_],[[1,0,0,0],le],[[1,1,0,0],ve()],[[1,0,0,0],D()],[[1,1,1,0],F()],[[1,0,0,0],Ne],[[1,1,1,1],$],[[1,1,1,0],Ve]))})()}();</script></body></html>