.view-link[data-astro-cid-xbc5yixm]{z-index:1;top:var(--frame-inset);right:var(--frame-inset);color:var(--color-ink);font:400 var(--text-md)/1.5 var(--font-mono);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-ink) 45%, transparent);text-underline-offset:6px;cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.view-link[data-astro-cid-xbc5yixm]:hover{color:var(--color-action);text-decoration-color:currentColor}html:not([data-view]) .view-link[data-astro-cid-xbc5yixm],html[data-view=markdown] .when-rendered[data-astro-cid-xbc5yixm],html[data-view=rendered] .when-markdown[data-astro-cid-xbc5yixm],.md-front[data-astro-cid-xbc5yixm]{display:none}html[data-view=markdown] .md-front[data-astro-cid-xbc5yixm]{margin:0 0 calc(var(--editor-font-size,14px) * 1.75);color:var(--color-muted);font:400 var(--editor-font-size,14px)/1.75 var(--font-mono);font-variant-ligatures:none;white-space:pre-wrap;display:block}.md-front[data-astro-cid-xbc5yixm] .t-key{color:var(--color-action)}.md-front[data-astro-cid-xbc5yixm] [data-astro-cid-xbc5yixm][data-front]{color:color-mix(in srgb, var(--color-ink) 82%, transparent)}html[data-view=markdown] .sheet-body{font-family:var(--font-mono)}html[data-view=markdown] .sheet-body :is(h1,h2,h3,h4,p,li,a,.section-title,.lead):not([data-edit-chrome] *){max-width:76ch;font-family:var(--font-mono);font-size:var(--editor-font-size,14px);font-variant-ligatures:none;letter-spacing:0;text-align:left;margin-inline:0;line-height:1.75}html[data-editor-wrap=off][data-view=markdown] .sheet-body :is(h1,h2,h3,h4,p,a){white-space:pre;max-width:none}html[data-editor-wrap=off][data-view=markdown] .sheet-body{overflow-x:auto}html[data-view=markdown] .sheet-body :is(h1,h2,h3,h4,p,.button):not([data-edit-chrome] *){margin:0 0 calc(var(--editor-font-size,14px) * 1.75)}html[data-view=markdown] .sheet-body :is(h1,h2,h3,h4,.section-title){color:var(--color-ink);font-weight:700;display:block}html[data-view=markdown] .sheet-body :is(p,.lead){color:color-mix(in srgb, var(--color-ink) 82%, transparent);font-weight:400}html[data-view=markdown] .sheet-body h1:before{content:"# ";color:var(--color-action)}html[data-view=markdown] .sheet-body h2:before{content:"## ";color:var(--color-action)}html[data-view=markdown] .sheet-body h3:before{content:"### ";color:var(--color-action)}html[data-view=markdown] .sheet-body h4:before{content:"#### ";color:var(--color-action)}html[data-view=markdown] .sheet-body .actions{margin:0;display:block}html[data-view=markdown] .sheet-body .button{width:max-content;min-height:0;color:var(--color-ink);font:400 var(--editor-font-size,14px)/1.75 var(--font-mono);background:0 0;border:0;padding:0;transition:none;display:block}html[data-view=markdown] .sheet-body .button:has(+.button){margin-bottom:0}html[data-view=markdown] .sheet-body .button:before{content:"[";color:var(--color-action)}html[data-view=markdown] .sheet-body .button:after{content:"](" attr(href) ")";color:var(--color-muted)}html[data-view=markdown] .sheet-body :is(.features,.section--split){display:block}html[data-view=markdown] .sheet-body .features>li{margin:0}html[data-view=markdown] .sheet-body :is(.section,.page-header,.cta,.section-head,.features,.features>li){text-align:left;border:0;margin:0;padding:0}html[data-view=markdown] .sheet-body span.soon{color:var(--color-muted);font:inherit;font-size:inherit;text-transform:none;border:0;padding:0;font-weight:400}html[data-view=markdown] .sheet-body span.soon:before{content:"<!-- "}html[data-view=markdown] .sheet-body span.soon:after{content:" -->"}html[data-view=markdown] :is(.sheet-body,.md-front) [contenteditable]{border-radius:var(--radius-4);caret-color:var(--color-action);outline:none}html[data-view=markdown] :is(.sheet-body,.md-front) [contenteditable]:hover{background:color-mix(in srgb, var(--color-ink) 4%, transparent)}html[data-view=markdown] :is(.sheet-body,.md-front) [contenteditable]:focus{background:color-mix(in srgb, var(--color-action) 8%, transparent);box-shadow:-8px 0 0 color-mix(in srgb, var(--color-action) 8%, transparent), 8px 0 0 color-mix(in srgb, var(--color-action) 8%, transparent)}::view-transition-group(*){animation-duration:.52s;animation-timing-function:var(--ease-out-quint)}.md-gutter[data-astro-cid-xbc5yixm]{width:calc(var(--frame-inset) - 16px);pointer-events:none;user-select:none;position:absolute;top:0;left:0}.md-gutter[data-astro-cid-xbc5yixm] span{color:var(--color-ink);font:400 var(--editor-font-size,14px)/1.75 var(--font-mono);font-variant-ligatures:none;opacity:.2;position:absolute;right:0}.site-header header:has(.edit-bar){column-gap:var(--space-20);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.site-header header:has(.edit-bar) .brand{grid-column:1;justify-self:start}.site-header header:has(.edit-bar) .site-nav{grid-column:3;justify-self:end}.edit-bar[data-astro-cid-xbc5yixm]{display:none}html[data-view=markdown] .site-header .edit-bar[data-astro-cid-xbc5yixm]{display:contents}.site-header .edit-file[data-astro-cid-xbc5yixm]{display:none}.site-header .edit-status[data-astro-cid-xbc5yixm]{grid-area:1/2;justify-self:center}.edit-file[data-astro-cid-xbc5yixm]{align-items:center;gap:var(--space-8);color:var(--color-ink);font:400 var(--text-md) var(--font-mono);white-space:nowrap;display:inline-flex}.edit-status[data-astro-cid-xbc5yixm]{color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;transition:color var(--duration-base) var(--ease-out);margin:0}.edit-status[data-astro-cid-xbc5yixm][data-tone=warning]{color:var(--color-warn)}.edit-status[data-astro-cid-xbc5yixm] .icon{margin-right:var(--space-4);vertical-align:-3px;color:var(--color-action);display:none}.edit-status[data-astro-cid-xbc5yixm][data-tone=idle] .icon{display:inline}.md-minimap[data-astro-cid-xbc5yixm]{z-index:1;top:calc(var(--header-height) + var(--space-24));right:max(8px, calc(var(--frame-x) - 76px));width:52px;height:180px;color:var(--color-ink);transition:translate .42s var(--ease-out-quint), opacity .3s var(--ease-out), visibility 0s;position:fixed}.md-minimap[data-astro-cid-xbc5yixm][hidden]{display:none}html:not([data-view=markdown]) .md-minimap[data-astro-cid-xbc5yixm],html:not([data-view=markdown]) .theme-rail [data-tool]{translate:calc(-1 * var(--frame-x,100px)) 0;opacity:0;visibility:hidden;pointer-events:none;transition:translate .36s var(--ease-out-quint), opacity .24s var(--ease-out), visibility 0s .36s}.theme-rail [data-tool]{transition:translate .42s var(--ease-out-quint), opacity .3s var(--ease-out), visibility 0s}html[data-view=markdown] .theme-rail [data-tool]:first-child{transition-delay:.14s}.md-minimap[data-astro-cid-xbc5yixm] canvas[data-astro-cid-xbc5yixm]{cursor:pointer;touch-action:none;user-select:none;width:100%;height:100%;display:block}.md-minimap[data-astro-cid-xbc5yixm] canvas[data-astro-cid-xbc5yixm]:focus{outline:none}.minimap-viewport[data-astro-cid-xbc5yixm]{border-left:1px solid color-mix(in srgb, currentColor 25%, transparent);background:color-mix(in srgb, currentColor 7%, transparent);pointer-events:none;position:absolute;left:-3px;right:-3px}.md-minimap[data-astro-cid-xbc5yixm]:has(canvas:focus-visible) .minimap-viewport[data-astro-cid-xbc5yixm]{border-left-color:currentColor}@media (width<=650px){.view-link[data-astro-cid-xbc5yixm]{font-size:var(--text-sm);top:calc(var(--frame-inset) - 2px)}.sheet-body:has(.view-link) .page-header{padding-top:var(--space-32)}html[data-view=markdown] .sheet-body:has(.view-link) .page-header{padding-top:0}.md-gutter[data-astro-cid-xbc5yixm]{display:none}html[data-view=markdown] .sheet-body>.edit-bar[data-astro-cid-xbc5yixm]{align-items:center;gap:var(--space-12);margin:var(--space-32) 0 var(--space-16);display:flex}html[data-view=markdown] .sheet-body:has(.view-link) .md-front{margin-top:0}}.tool[data-astro-cid-7zuf5fkk]{position:relative}.tool-toggle[data-astro-cid-7zuf5fkk]{width:40px;height:40px;color:var(--color-muted);background:0 0;border:0;place-items:center;padding:9px;display:grid}.tool-toggle[data-astro-cid-7zuf5fkk]:is(:hover,:focus-visible,[aria-expanded=true]){color:var(--color-ink)}.tool-toggle[data-astro-cid-7zuf5fkk] .icon{width:22px;height:22px}.tool-toggle[data-astro-cid-7zuf5fkk][data-muted=true] .when-on,.tool-toggle[data-astro-cid-7zuf5fkk]:not([data-muted=true]) .when-off{display:none}.tool-panel[data-astro-cid-7zuf5fkk]{right:calc(100% + var(--space-8));z-index:5;width:200px;padding:var(--space-16);border:1px solid var(--color-line);border-radius:var(--radius-12);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-popover);position:absolute;bottom:0}.tool-label[data-astro-cid-7zuf5fkk]{margin:0 0 var(--space-8);font-size:var(--text-2xs);font-weight:600}.tool-options[data-astro-cid-7zuf5fkk]{gap:2px;display:grid}.tool-options[data-astro-cid-7zuf5fkk] button[data-astro-cid-7zuf5fkk],.tool-wrap[data-astro-cid-7zuf5fkk]{padding:5px var(--space-8);border-radius:var(--radius-4);color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;text-transform:capitalize;cursor:pointer;background:0 0;border:0}.tool-options[data-astro-cid-7zuf5fkk] button[data-astro-cid-7zuf5fkk]:hover,.tool-wrap[data-astro-cid-7zuf5fkk]:hover{background:color-mix(in srgb, var(--color-ink) 7%, transparent)}.tool-options[data-astro-cid-7zuf5fkk] button[data-astro-cid-7zuf5fkk][aria-pressed=true]{background:color-mix(in srgb, var(--color-ink) 12%, transparent);font-weight:700}.tool-panel--text[data-astro-cid-7zuf5fkk]{gap:var(--space-8);display:grid}.tool-panel--text[data-astro-cid-7zuf5fkk][hidden]{display:none}.tool-panel--text[data-astro-cid-7zuf5fkk] .tool-label[data-astro-cid-7zuf5fkk]{margin:0}.tool-wrap[data-astro-cid-7zuf5fkk]{text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:4px;justify-self:start}.tool-wrap[data-astro-cid-7zuf5fkk][aria-pressed=true]{font-weight:700;text-decoration-color:currentColor}.tool-size[data-astro-cid-7zuf5fkk]{justify-content:space-between;align-items:center;gap:var(--space-8);padding-left:var(--space-8);font-size:var(--text-sm);display:flex}.tool-size[data-astro-cid-7zuf5fkk] input[data-astro-cid-7zuf5fkk]{border:1px solid var(--color-border);border-radius:var(--radius-6);background:var(--color-surface);width:56px;color:inherit;font:inherit;padding:4px 6px}@media (width<=650px){.tool-panel[data-astro-cid-7zuf5fkk]{right:0;bottom:calc(100% + var(--space-8))}}.history[data-astro-cid-ipui3nlq]{column-gap:var(--space-20);margin:var(--space-8) 0 var(--space-40);grid-template-rows:repeat(4,auto);grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;display:grid;position:relative;container-type:inline-size}li[data-astro-cid-ipui3nlq]{grid-row:span 4;grid-template-rows:subgrid;display:grid;position:relative}.sample[data-astro-cid-ipui3nlq]{align-content:space-between;gap:var(--space-8);margin-bottom:var(--space-20);padding:var(--space-12) var(--space-14) var(--space-16);border:1px solid var(--color-line);border-radius:var(--radius-10);background:color-mix(in srgb, var(--color-page) 35%, var(--color-surface));display:grid}.tag[data-astro-cid-ipui3nlq]{align-items:center;gap:var(--space-6);color:var(--color-muted);font:var(--type-mono-sm);font-size:var(--text-3xs);letter-spacing:.04em;display:flex}.words[data-astro-cid-ipui3nlq]{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}del[data-astro-cid-ipui3nlq]{color:var(--color-muted);text-decoration-color:var(--color-warn);text-decoration-thickness:2px}ins[data-astro-cid-ipui3nlq]{color:var(--color-action);box-shadow:inset 0 -2px color-mix(in srgb, var(--color-action) 45%, transparent);text-decoration:none}del[data-astro-cid-ipui3nlq].whole{margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:400;display:block}.caret[data-astro-cid-ipui3nlq]{vertical-align:-.2em;background:var(--color-action);width:2px;height:1.1em;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.live[data-astro-cid-ipui3nlq]{background:var(--color-pass,var(--color-action));width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--color-pass,var(--color-action)) 25%, transparent);border-radius:50%}.publish[data-astro-cid-ipui3nlq] .sample[data-astro-cid-ipui3nlq]{border-color:color-mix(in srgb, var(--color-action) 40%, var(--color-line))}.dot[data-astro-cid-ipui3nlq]{border:1.5px solid var(--color-border);background:var(--color-surface);width:13px;height:13px;color:var(--color-surface);border-radius:50%;place-items:center;display:grid;position:relative}.draft[data-astro-cid-ipui3nlq] .dot[data-astro-cid-ipui3nlq]{border-style:dashed}.snapshot[data-astro-cid-ipui3nlq] .dot[data-astro-cid-ipui3nlq]{border-color:var(--color-action);background:var(--color-action)}.restore[data-astro-cid-ipui3nlq] .dot[data-astro-cid-ipui3nlq],.publish[data-astro-cid-ipui3nlq] .dot[data-astro-cid-ipui3nlq]{background:var(--color-action);border:0;width:22px;height:22px;margin:-4.5px 0 -4.5px -4.5px}.publish[data-astro-cid-ipui3nlq] .dot[data-astro-cid-ipui3nlq]{background:var(--color-signature);color:var(--color-on-cta)}.dot[data-astro-cid-ipui3nlq] .icon{width:13px;height:13px}li[data-astro-cid-ipui3nlq]:not(:last-child) .dot[data-astro-cid-ipui3nlq]:before,li[data-astro-cid-ipui3nlq]:not(:last-child) .dot[data-astro-cid-ipui3nlq]:after{content:"";z-index:-1;width:calc((100cqw + var(--space-20)) / 4);background:var(--color-line);height:1px;position:absolute;top:50%;left:50%}li[data-astro-cid-ipui3nlq]:not(:last-child) .dot[data-astro-cid-ipui3nlq]:after{background:var(--color-action);transform-origin:0}h3[data-astro-cid-ipui3nlq]{margin:var(--space-16) 0 var(--space-6);font-size:var(--text-lg);font-weight:600}p[data-astro-cid-ipui3nlq]{color:var(--color-muted);font-size:var(--text-md);line-height:var(--leading-body);margin:0}.history[data-astro-cid-ipui3nlq].will-play li[data-astro-cid-ipui3nlq]{--at:calc(var(--i) * .65s)}.history[data-astro-cid-ipui3nlq].will-play [data-astro-cid-ipui3nlq]:is(.sample,.dot){opacity:0}.history[data-astro-cid-ipui3nlq].will-play li[data-astro-cid-ipui3nlq]:not(:last-child) .dot[data-astro-cid-ipui3nlq]:after{scale:0 1}.history[data-astro-cid-ipui3nlq].is-playing .sample[data-astro-cid-ipui3nlq]{animation:rise .6s var(--ease-out-quint) var(--at) both}.history[data-astro-cid-ipui3nlq].is-playing .dot[data-astro-cid-ipui3nlq]{animation:pop .42s var(--ease-spring) var(--at) both}.history[data-astro-cid-ipui3nlq].is-playing li[data-astro-cid-ipui3nlq]:not(:last-child) .dot[data-astro-cid-ipui3nlq]:after{animation:fill .65s cubic-bezier(.65, 0, .35, 1) calc(var(--at) + .2s) both}.history[data-astro-cid-ipui3nlq].is-playing .restore[data-astro-cid-ipui3nlq] .dot[data-astro-cid-ipui3nlq] .icon{animation:undo .6s var(--ease-out-quint) calc(var(--at) + .15s) both}@keyframes fill{0%{scale:0 1}to{scale:1}}@keyframes rise{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes pop{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}@keyframes undo{0%{rotate:200deg}}html[data-view=markdown] .history[data-astro-cid-ipui3nlq]{margin:0;display:block}html[data-view=markdown] [data-astro-cid-ipui3nlq]:is(.sample,.dot){display:none}html[data-view=markdown] li[data-astro-cid-ipui3nlq]{display:block}@media (width<=900px){.history[data-astro-cid-ipui3nlq]{row-gap:var(--space-32);padding-left:var(--space-32);grid-template-rows:none;grid-template-columns:1fr}.history[data-astro-cid-ipui3nlq]:before{content:"";background:var(--color-line);width:1px;position:absolute;top:6px;bottom:40px;left:6px}li[data-astro-cid-ipui3nlq]{grid-row:auto;grid-template-rows:none}li[data-astro-cid-ipui3nlq]:not(:last-child) .dot[data-astro-cid-ipui3nlq]:before,li[data-astro-cid-ipui3nlq]:not(:last-child) .dot[data-astro-cid-ipui3nlq]:after{display:none}.sample[data-astro-cid-ipui3nlq]{margin:var(--space-12) 0 0;order:3}.dot[data-astro-cid-ipui3nlq]{left:calc(var(--space-32) * -1);position:absolute;top:4px}.restore[data-astro-cid-ipui3nlq] .dot[data-astro-cid-ipui3nlq],.publish[data-astro-cid-ipui3nlq] .dot[data-astro-cid-ipui3nlq]{left:calc(var(--space-32) * -1 - 4.5px);margin:0;top:0}h3[data-astro-cid-ipui3nlq]{margin-top:0}}html.title-typing .page-header h1,::highlight(untyped){color:#0000}.type-caret{z-index:3;background:var(--color-action);pointer-events:none;border-radius:1px;width:3px;position:absolute;top:0;left:0}.type-caret.is-done{animation:caret-blink 1.05s steps(1) 3, caret-out .3s var(--ease-out) 2.2s forwards}@keyframes caret-blink{50%{opacity:0}}@keyframes caret-out{to{opacity:0}}html:not([data-view=markdown]) .sheet-body .page-header{margin-bottom:calc(var(--space-128) * 2)}@media (width<=650px){html:not([data-view=markdown]) .sheet-body .page-header{margin-bottom:var(--space-128)}}html:not([data-view=markdown]) .sheet-body{counter-reset:chapter}html:not([data-view=markdown]) .sheet-body>.section{counter-increment:chapter;margin-top:var(--space-128);column-gap:var(--space-24);grid-template-columns:6rem minmax(0,1fr);display:grid}html:not([data-view=markdown]) .sheet-body>.section:before{content:counter(chapter, decimal-leading-zero);color:color-mix(in srgb, var(--color-ink) 22%, transparent);font:300 3.5rem/1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em;grid-row:1/span 2}html:not([data-view=markdown]) .sheet-body>.section>*{grid-column:2}html:not([data-view=markdown]) .sheet-body>.section>.history{margin-top:var(--space-24);grid-column:1/-1}html:not([data-view=markdown]) .sheet-body .features{margin-top:var(--space-24);display:block}html:not([data-view=markdown]) .sheet-body .features>li{gap:var(--space-40);padding:var(--space-24) 0;border-top:1px solid var(--color-line);grid-template-columns:13rem minmax(0,1fr);display:grid}html:not([data-view=markdown]) .sheet-body .features h3{font-size:var(--text-md);margin:0}html:not([data-view=markdown]) .sheet-body .features p{max-width:52ch}@media (width<=900px){html:not([data-view=markdown]) .sheet-body .features>li{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}@media (width<=650px){html:not([data-view=markdown]) .sheet-body>.section{grid-template-columns:minmax(0,1fr)}html:not([data-view=markdown]) .sheet-body>.section:before{margin-bottom:var(--space-12);grid-row:auto;font-size:2.5rem}html:not([data-view=markdown]) .sheet-body>.section>*{grid-column:1}}
