.editor{display:grid;gap:var(--cloistr-space-xl);grid-template-columns:1fr;margin:0 auto;max-width:1200px}@media(min-width:64rem){.editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.editor-form{display:flex;flex-direction:column;gap:var(--cloistr-space-md)}.editor-heading{margin:0}.editor-field{display:flex;flex-direction:column;gap:var(--cloistr-space-xs)}.editor-label{color:var(--cloistr-text-muted);font-size:var(--pages-text-base);letter-spacing:.06em;text-transform:uppercase}.editor-input,.editor-body{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);color:var(--cloistr-text);font-family:var(--cloistr-font-sans);font-size:var(--pages-text-base);padding:var(--cloistr-space-sm);width:100%}.editor-input[aria-invalid=true]{border-color:var(--cloistr-danger, var(--cloistr-border))}.editor-body{font-family:var(--cloistr-font-mono);line-height:1.6;min-height:28rem;resize:vertical}.editor-fixed{font-family:var(--cloistr-font-mono);margin:0}.editor-note,.editor-warning{color:var(--cloistr-text-muted);margin:0}.editor-warning{border-left:3px solid var(--cloistr-border);padding-left:var(--cloistr-space-sm)}.editor-check{align-items:center;display:flex;gap:var(--cloistr-space-sm)}.editor-publish{background:var(--cloistr-primary);border:none;border-radius:var(--cloistr-radius-md);color:var(--cloistr-primary-fg);cursor:pointer;font-size:var(--pages-text-lead);padding:var(--cloistr-space-sm) var(--cloistr-space-lg)}.editor-publish:disabled{cursor:not-allowed;opacity:.5}.editor-escape{border-top:1px solid var(--cloistr-border);color:var(--cloistr-text-muted);padding-top:var(--cloistr-space-md)}.editor-escape summary{cursor:pointer}.editor-escape p{margin:var(--cloistr-space-sm) 0}.editor-escape-switch,.editor-escape-back{background:none;border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-sm);color:var(--cloistr-text);cursor:pointer;padding:var(--cloistr-space-xs) var(--cloistr-space-sm)}.editor-result{border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);padding:var(--cloistr-space-md)}.editor-result p:first-child{margin-top:0}.editor-result p:last-child{margin-bottom:0}.editor-result-bad{border-left:3px solid var(--cloistr-danger, var(--cloistr-border))}.editor-refusals{color:var(--cloistr-text-muted);margin:var(--cloistr-space-sm) 0;padding-left:var(--cloistr-space-lg)}.editor-preview{border-left:1px solid var(--cloistr-border);min-width:0;padding-left:var(--cloistr-space-lg)}@media(max-width:64rem){.editor-preview{border-left:none;border-top:1px solid var(--cloistr-border);padding-left:0;padding-top:var(--cloistr-space-lg)}}.editor-preview-label{color:var(--cloistr-text-muted);letter-spacing:.06em;margin:0 0 var(--cloistr-space-md);text-transform:uppercase}.editor-preview .page{margin:0;max-width:none}.page-footer{display:flex;gap:var(--cloistr-space-lg)}.theme-group{border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);margin:var(--cloistr-space-md) 0;padding:var(--cloistr-space-md)}.theme-group-heading{color:var(--cloistr-text-muted);font-size:.85em;letter-spacing:.06em;padding:0 var(--cloistr-space-xs);text-transform:uppercase}.theme-token{display:grid;gap:var(--cloistr-space-sm);grid-template-columns:10rem 1fr;margin:var(--cloistr-space-sm) 0}.theme-token-label{align-items:baseline;display:grid;gap:var(--cloistr-space-sm);grid-column:1 / -1;grid-template-columns:subgrid}.theme-token-name{color:var(--cloistr-text-muted);font-family:var(--cloistr-font-mono);font-size:.9em}.theme-token-dropped{color:var(--cloistr-text-muted);font-size:.85em;grid-column:2}@media(max-width:40rem){.theme-token{grid-template-columns:1fr}.theme-token-dropped{grid-column:1}}.share-section{border-top:1px solid var(--cloistr-border);margin-top:var(--cloistr-space-lg);padding-top:var(--cloistr-space-md)}.share-list{font-family:var(--cloistr-font-mono);font-size:.9em;list-style:none;margin:var(--cloistr-space-xs) 0;padding:0}html{background-color:var(--cloistr-bg);color:var(--cloistr-text);color-scheme:light dark}body{background-color:var(--cloistr-bg);color:var(--cloistr-text);margin:0;min-height:100dvh;min-width:320px}:root{--pages-measure: 68ch;--pages-measure-narrow: 52ch;--pages-measure-wide: 92ch;--pages-reader-wide: min(90vw, 87.5rem);--pages-text-base: 1.0625rem;--pages-text-lead: 1.1875rem;--pages-line-height: 1.7;--pages-surface: transparent;--pages-callout-note: #60a5fa;--pages-callout-tip: #34d399;--pages-callout-warning: #fbbf24;--pages-callout-caution: #f87171;--pages-callout-important: #a78bfa;--pages-code-bg: #161618;--pages-code-text: #e6e6e6;--pages-code-keyword: #c792ea;--pages-code-string: #addb67;--pages-code-comment: #7f848e;--pages-code-number: #f78c6c;--pages-code-title: #82aaff}:root[data-theme=light],:root.cloistr-light{--pages-callout-note: #2563eb;--pages-callout-tip: #059669;--pages-callout-warning: #b45309;--pages-callout-caution: #dc2626;--pages-callout-important: #7c3aed;--pages-code-bg: #f6f6f4;--pages-code-text: #24292f;--pages-code-keyword: #cf222e;--pages-code-string: #0a3069;--pages-code-comment: #6e7781;--pages-code-number: #0550ae;--pages-code-title: #8250df}@media(prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=light]):not(.cloistr-light){--pages-callout-note: #2563eb;--pages-callout-tip: #059669;--pages-callout-warning: #b45309;--pages-callout-caution: #dc2626;--pages-callout-important: #7c3aed;--pages-code-bg: #f6f6f4;--pages-code-text: #24292f;--pages-code-keyword: #cf222e;--pages-code-string: #0a3069;--pages-code-comment: #6e7781;--pages-code-number: #0550ae;--pages-code-title: #8250df}}.page-main{padding:var(--cloistr-space-lg) var(--cloistr-space-md)}.page,.page-home,.page-unavailable,.page-loading,.author-index{margin:0 auto;max-width:var(--pages-measure);color:var(--cloistr-text);font-family:var(--cloistr-font-sans);font-size:var(--pages-text-base);line-height:var(--pages-line-height)}.page{background:var(--pages-surface);border-radius:var(--cloistr-radius-lg);-webkit-font-smoothing:antialiased}.page[data-themed]{padding:clamp(var(--cloistr-space-md),4vw,calc(var(--cloistr-space-xl) * 1.5))}.page[data-width=narrow]{max-width:var(--pages-measure-narrow)}.page[data-width=wide]{max-width:var(--pages-measure-wide)}.page[data-reader-width=wide]{max-width:var(--pages-reader-wide)}.pages-width-toggle{align-items:center;background:transparent;border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-full);color:var(--cloistr-text-muted);cursor:pointer;display:inline-flex;float:right;font:inherit;font-size:.8125rem;gap:.35rem;line-height:1;margin:0 0 var(--cloistr-space-sm) var(--cloistr-space-sm);padding:.35rem .7rem;transition:color var(--cloistr-transition-fast),border-color var(--cloistr-transition-fast)}.pages-width-toggle:hover,.pages-width-toggle[aria-pressed=true]{border-color:var(--cloistr-primary);color:var(--cloistr-primary-text)}.pages-width-toggle:focus-visible{outline:2px solid var(--cloistr-primary);outline-offset:2px}.page-header{border-bottom:1px solid var(--cloistr-border);margin-bottom:var(--cloistr-space-lg);padding-bottom:var(--cloistr-space-md)}.page-title{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0;text-wrap:balance}.page-summary{color:var(--cloistr-text-muted);font-size:var(--pages-text-lead);margin:var(--cloistr-space-sm) 0 0}@media(min-width:60rem){.page[data-columns="2"] .page-body{column-count:2;column-gap:var(--cloistr-space-xl)}}.page-body>:first-child{margin-top:0}.page-body h1,.page-body h2,.page-body h3,.page-body h4{font-weight:650;letter-spacing:-.01em;line-height:1.25;margin:calc(var(--cloistr-space-xl) * 1.25) 0 var(--cloistr-space-sm);text-wrap:balance}.page-body h1{font-size:1.875rem}.page-body h2{font-size:1.5rem}.page-body h3{font-size:1.2rem}.page-body h4{font-size:1.05rem}.page-body p{text-wrap:pretty}.page-body li+li{margin-top:.3em}.page-body hr{border:none;border-top:1px solid var(--cloistr-border);margin:var(--cloistr-space-xl) 0}.page-body p,.page-body ul,.page-body ol,.page-body blockquote{margin:0 0 var(--cloistr-space-md)}.page-body a{color:var(--cloistr-primary-text)}.page-body a:hover{color:var(--cloistr-primary-hover)}.page-body a:not([href]){color:var(--cloistr-text-muted);cursor:default;text-decoration:line-through}.page-body [data-unresolved-nostr-uri]{color:var(--cloistr-text-muted);font-family:var(--cloistr-font-mono);overflow-wrap:anywhere;text-decoration:underline dotted}.page-body code{background:var(--cloistr-bg-elevated);border-radius:var(--cloistr-radius-sm);font-family:var(--cloistr-font-mono);font-size:.875em;padding:.12em .35em}.page-body kbd{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-bottom-width:2px;border-radius:var(--cloistr-radius-sm);font-family:var(--cloistr-font-mono);font-size:.85em;padding:.05em .4em}.page-body abbr[title]{cursor:help;text-decoration:underline dotted}.page-body mark{background:color-mix(in srgb,var(--pages-callout-warning) 30%,transparent);border-radius:var(--cloistr-radius-sm);color:inherit;padding:0 .15em}.page-body{overflow-wrap:anywhere}.page-body pre{overflow-wrap:normal}.page-body pre{background:var(--pages-code-bg);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);color:var(--pages-code-text);line-height:1.6;margin:0 0 var(--cloistr-space-md);overflow-x:auto;padding:var(--cloistr-space-md) var(--cloistr-space-lg)}.page-body pre{scrollbar-color:var(--cloistr-border) transparent;scrollbar-width:thin}.page-body pre::-webkit-scrollbar{height:.5rem}.page-body pre::-webkit-scrollbar-thumb{background:var(--cloistr-border);border-radius:var(--cloistr-radius-full)}.page-body pre::-webkit-scrollbar-track{background:transparent}.page-body pre code{background:none;font-size:.875em;padding:0}.page-body blockquote{border-left:3px solid var(--cloistr-border);color:var(--cloistr-text-muted);padding-left:var(--cloistr-space-md)}.page-body img{border-radius:var(--cloistr-radius-md);max-width:100%}.page-body table{border-collapse:collapse;display:block;margin:0 auto var(--cloistr-space-md);max-width:100%;overflow-x:auto;width:max-content}.page-body th,.page-body td{border:1px solid var(--cloistr-border);padding:var(--cloistr-space-xs) var(--cloistr-space-sm);text-align:left;vertical-align:top}.page-body th{background:var(--cloistr-bg-elevated);font-weight:600}.page-body tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--cloistr-bg-elevated) 45%,transparent)}.pages-callout{--pages-callout: var(--pages-callout-note);background:color-mix(in srgb,var(--pages-callout) 9%,transparent);border-left:4px solid var(--pages-callout);border-radius:var(--cloistr-radius-md);margin:var(--cloistr-space-lg) 0;padding:var(--cloistr-space-md) var(--cloistr-space-lg)}.pages-callout[data-severity=tip]{--pages-callout: var(--pages-callout-tip)}.pages-callout[data-severity=warning]{--pages-callout: var(--pages-callout-warning)}.pages-callout[data-severity=caution]{--pages-callout: var(--pages-callout-caution)}.pages-callout[data-severity=important]{--pages-callout: var(--pages-callout-important)}.pages-callout-title{color:var(--pages-callout);font-size:.8em;font-weight:700;letter-spacing:.06em;margin:0 0 var(--cloistr-space-xs)!important;text-transform:uppercase}.pages-callout>:last-child,.pages-details>:last-child{margin-bottom:0}.pages-details{border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);margin:var(--cloistr-space-md) 0;padding:var(--cloistr-space-sm) var(--cloistr-space-md)}.pages-details>summary{cursor:pointer;font-weight:600}.pages-details[open]>summary{margin-bottom:var(--cloistr-space-sm)}.page-body li:has(>.pages-task),.page-body li:has(>p>.pages-task){list-style:none;margin-left:-1.4em}.pages-task{border:1.5px solid var(--cloistr-text-muted);border-radius:.25em;box-sizing:border-box;display:inline-block;height:1em;margin-right:.35em;position:relative;vertical-align:-.15em;width:1em}.pages-task[data-checked=true]{background:var(--cloistr-primary);border-color:var(--cloistr-primary)}.pages-task[data-checked=true]:after{border:solid var(--cloistr-primary-fg, #fff);border-width:0 2px 2px 0;content:"";height:.5em;left:.28em;position:absolute;top:.08em;transform:rotate(45deg);width:.25em}.pages-ref{align-items:baseline;display:inline-flex;gap:.35em}.pages-ref-kind{border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-full);color:var(--cloistr-text-muted);font-size:.72em;font-weight:600;letter-spacing:.03em;padding:.05em .5em;white-space:nowrap}a.pages-ref{text-decoration:none}a.pages-ref .pages-ref-label{text-decoration:underline}.pages-diagram{margin:var(--cloistr-space-lg) 0}.pages-diagram-svg{border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);overflow-x:auto;padding:var(--cloistr-space-md);text-align:center}.pages-diagram-svg svg{height:auto;max-width:100%}.pages-code-wrap{position:relative}.pages-copy{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-sm);color:var(--cloistr-text-muted);cursor:pointer;font:inherit;font-size:.75rem;opacity:0;padding:.15rem .5rem;position:absolute;right:.5rem;top:.5rem;transition:opacity var(--cloistr-transition-fast)}.pages-code-wrap:hover .pages-copy,.pages-copy:focus-visible{opacity:1}@media(hover:none){.pages-copy{opacity:1}}.page-body .hljs-keyword,.page-body .hljs-built_in,.page-body .hljs-literal,.page-body .hljs-selector-tag,.page-body .hljs-doctag{color:var(--pages-code-keyword)}.page-body .hljs-string,.page-body .hljs-regexp,.page-body .hljs-addition,.page-body .hljs-template-variable{color:var(--pages-code-string)}.page-body .hljs-comment,.page-body .hljs-quote{color:var(--pages-code-comment);font-style:italic}.page-body .hljs-number,.page-body .hljs-symbol,.page-body .hljs-bullet{color:var(--pages-code-number)}.page-body .hljs-title,.page-body .hljs-section,.page-body .hljs-name,.page-body .hljs-type,.page-body .hljs-attr,.page-body .hljs-attribute,.page-body .hljs-meta{color:var(--pages-code-title)}.page-body .hljs-deletion{color:var(--pages-callout-caution)}.page-footer a{color:var(--cloistr-primary-text)}.page-export-link{background:none;border:none;color:var(--cloistr-primary-text);cursor:pointer;font:inherit;padding:0;text-decoration:underline}@media(max-width:48rem){.page,.page[data-width]{max-width:none}.page[data-themed]{padding:var(--cloistr-space-md)}.page-title{font-size:1.75rem}.page-body th,.page-body td{min-width:12ch}}.page-html-frame{margin:0 0 var(--cloistr-space-md)}.page-html{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);display:block;height:75vh;width:100%}.page-html-note{color:var(--cloistr-text-muted);margin:var(--cloistr-space-sm) 0 0}.page-toc{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);margin-bottom:var(--cloistr-space-lg);padding:var(--cloistr-space-md)}.page-toc-title{font-size:var(--pages-text-base);margin:0 0 var(--cloistr-space-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--cloistr-text-muted)}.page-toc ul{list-style:none;margin:0;padding:0}.page-toc li[data-level="3"]{padding-left:var(--cloistr-space-md)}.page-toc li[data-level="4"],.page-toc li[data-level="5"],.page-toc li[data-level="6"]{padding-left:var(--cloistr-space-lg)}.page-toc a{color:var(--cloistr-text)}.page-unavailable-note,.page-home-note{color:var(--cloistr-text-muted)}.page-loading{color:var(--cloistr-text-muted);padding:var(--cloistr-space-xl) 0}.continue-extension{margin:var(--cloistr-space-md) auto;max-width:var(--pages-measure)}.continue-extension-button{background:var(--cloistr-primary);border:none;border-radius:var(--cloistr-radius-md);color:var(--cloistr-primary-fg);cursor:pointer;font-size:var(--pages-text-base);padding:var(--cloistr-space-sm) var(--cloistr-space-lg)}.author-header{border-bottom:1px solid var(--cloistr-border);margin-bottom:var(--cloistr-space-lg);padding-bottom:var(--cloistr-space-md)}.author-name{margin:0;line-height:1.2;overflow-wrap:anywhere}.author-about{color:var(--cloistr-text-muted);font-size:var(--pages-text-lead);margin:var(--cloistr-space-sm) 0 0;overflow-wrap:anywhere}.author-key{margin:var(--cloistr-space-sm) 0 0;color:var(--cloistr-text-muted)}.author-empty{color:var(--cloistr-text-muted)}.author-pages{list-style:none;margin:0;padding:0}.author-page{border-bottom:1px solid var(--cloistr-border);padding:var(--cloistr-space-md) 0}.author-page:last-child{border-bottom:none}.author-page-title{color:var(--cloistr-text);font-size:var(--pages-text-lead);font-weight:600;overflow-wrap:anywhere}.author-page-summary{color:var(--cloistr-text-muted);margin:var(--cloistr-space-xs) 0 0;overflow-wrap:anywhere}.author-page-meta{color:var(--cloistr-text-muted);display:flex;gap:var(--cloistr-space-sm);margin:var(--cloistr-space-xs) 0 0}.author-page-format{border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-sm);padding:0 var(--cloistr-space-xs)}.page-footer{border-top:1px solid var(--cloistr-border);margin-top:var(--cloistr-space-xl);padding-top:var(--cloistr-space-md);display:flex;flex-wrap:wrap;gap:var(--cloistr-space-md)}.pages-figure{margin:var(--cloistr-space-lg) auto}.pages-figure img{display:block;height:auto;margin:0 auto;max-width:100%}.pages-figure figcaption{color:var(--cloistr-text-muted);font-size:.9em;margin-top:var(--cloistr-space-sm);text-align:center}.pages-figure[data-width=inset]{max-width:60%}.pages-figure[data-width=wide] img,.pages-figure[data-width=full] img{width:100%}.pages-figure[data-width=full]{margin-block:0}.pages-aside{border-left:3px solid var(--cloistr-border);color:var(--cloistr-text-muted);font-size:.92em;margin:var(--cloistr-space-md) 0;padding-left:var(--cloistr-space-md)}.pages-aside-title,.pages-card-title{font-weight:600;margin-top:0}.pages-aside>:last-child,.pages-card>:last-child,.pages-column>:last-child{margin-bottom:0}@media(min-width:48rem){.pages-aside{float:right;margin:0 0 var(--cloistr-space-md) var(--cloistr-space-lg);width:38%}.pages-aside[data-align=left]{border-left:none;border-right:3px solid var(--cloistr-border);float:left;margin:0 var(--cloistr-space-lg) var(--cloistr-space-md) 0;padding-left:0;padding-right:var(--cloistr-space-md)}.pages-figure[data-width=inset][data-align=left]{float:left;margin:0 var(--cloistr-space-lg) var(--cloistr-space-md) 0}.pages-figure[data-width=inset][data-align=right]{float:right;margin:0 0 var(--cloistr-space-md) var(--cloistr-space-lg)}}.pages-columns{display:grid;gap:var(--cloistr-space-lg);grid-template-columns:1fr;margin:var(--cloistr-space-lg) 0}@media(min-width:40rem){.pages-columns[data-count="2"]{grid-template-columns:1fr 1fr}.pages-columns[data-count="2"][data-ratio=wide-left]{grid-template-columns:2fr 1fr}.pages-columns[data-count="2"][data-ratio=wide-right]{grid-template-columns:1fr 2fr}.pages-columns[data-count="3"]{grid-template-columns:1fr 1fr 1fr}.pages-columns[data-count="3"][data-ratio=wide-left]{grid-template-columns:2fr 1fr 1fr}.pages-columns[data-count="3"][data-ratio=wide-right]{grid-template-columns:1fr 1fr 2fr}}.pages-column{min-width:0}.pages-card{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);margin:var(--cloistr-space-lg) 0;padding:var(--cloistr-space-md) var(--cloistr-space-lg)}.pages-card[data-emphasis=subtle]{background:transparent}.pages-card[data-emphasis=strong]{border-color:var(--cloistr-primary);border-width:2px}.pages-deflist dt{font-weight:600;margin-top:var(--cloistr-space-sm)}.pages-deflist dd{margin:var(--cloistr-space-xs) 0 0 var(--cloistr-space-lg)}.pages-fnref{font-size:.75em;line-height:0}.pages-fnref a{padding:0 .1em;text-decoration:none}.pages-footnotes{border-top:1px solid var(--cloistr-border);color:var(--cloistr-text-muted);font-size:.9em;margin-top:var(--cloistr-space-xl);padding-top:var(--cloistr-space-md)}.pages-fnback{text-decoration:none}.pages-toc-inline{border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);margin:var(--cloistr-space-lg) 0;padding:var(--cloistr-space-sm) var(--cloistr-space-md)}.pages-toc-inline ul{list-style:none;margin:0;padding:0}.pages-toc-inline li[data-level="3"]{padding-left:var(--cloistr-space-lg)}
