.doc-content{font-family:var(--font-serif);color:var(--text-1);overflow-wrap:break-word;font-size:17px;line-height:28px}.doc-content>*+*,.doc-flow>*+*{margin-top:16px}.doc-head{position:relative}.doc-content h1,.doc-content h2,.doc-content h3,.doc-content h4,.doc-content h5,.doc-content h6{color:var(--text-1);scroll-margin-top:88px;font-weight:500}.doc-content h1{margin-top:48px;font-size:31px;line-height:38px}.doc-content h2{margin-top:48px;font-size:25px;line-height:32px}.doc-content h3{margin-top:32px;font-size:20px;line-height:28px}.doc-content h4,.doc-content h5,.doc-content h6{margin-top:24px;font-size:17px;font-weight:600;line-height:28px}.doc-content>h1:first-child,.doc-content>h2:first-child,.doc-content>h3:first-child,.doc-content>.doc-head:first-child>.doc-flow>h1:first-child,.doc-content>.doc-head:first-child>.doc-flow>h2:first-child,.doc-content>.doc-head:first-child>.doc-flow>h3:first-child{margin-top:0}.doc-content .doc-anchor{color:var(--accent);opacity:0;transition:opacity .12s var(--ease-enter);margin-left:8px;text-decoration:none}.doc-content h1:hover .doc-anchor,.doc-content h2:hover .doc-anchor,.doc-content h3:hover .doc-anchor,.doc-content h4:hover .doc-anchor,.doc-content h5:hover .doc-anchor,.doc-content h6:hover .doc-anchor,.doc-content .doc-anchor:focus-visible{opacity:1}.doc-content a:not(.doc-anchor){color:var(--accent);text-underline-offset:2px;transition:color .12s var(--ease-enter);text-decoration:underline}.doc-content a:not(.doc-anchor):hover{color:var(--accent-hover)}.doc-content code{font-family:var(--font-mono);font-size:.875em;font-weight:400}.doc-content .doc-inline-code{background:var(--accent-subtle);border-radius:4px;padding:1px 4px}.doc-content .doc-code-block{background:var(--ink-bg-0);color:var(--ink-text-1);border:1px solid var(--ink-border);border-radius:10px;margin-top:24px;margin-bottom:24px;padding:12px 16px;overflow-x:auto}.doc-content .doc-code-block code{color:inherit;background:0 0;padding:0;font-size:13px;line-height:20px}.doc-content blockquote{border-left:2px solid var(--accent);color:var(--text-2);padding-left:16px;font-style:italic}.doc-content ul,.doc-content ol{padding-left:24px}.doc-content ul{list-style:outside}.doc-content ol{list-style:decimal}.doc-content li+li,.doc-content li>ul,.doc-content li>ol{margin-top:4px}.doc-content li::marker{color:var(--text-3)}.doc-content .task-list-item{list-style:none}.doc-content .task-list-item input[type=checkbox]{accent-color:var(--accent);margin-right:8px}.doc-content ul:has(>.task-list-item){padding-left:8px}.doc-content table{border-collapse:collapse;width:100%;max-width:100%;font-family:var(--font-sans);margin-top:24px;margin-bottom:24px;font-size:14px;line-height:20px;display:block;overflow-x:auto}.doc-content th,.doc-content td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 12px}.doc-content th{background:var(--bg-1);font-weight:500}.doc-content hr{border:0;border-top:1px solid var(--border);margin:48px 0}.doc-content img{border-radius:10px;max-width:100%}.doc-comments{font-family:var(--font-sans);color:var(--text-2);font-size:14px;line-height:20px}.doc-comments>summary{cursor:pointer;font-family:var(--font-mono);font-size:12px;line-height:var(--doc-head-line,28px);color:var(--accent);transition:opacity .12s var(--ease-enter), color .12s var(--ease-enter);list-style:none;position:absolute;top:0;right:0}.doc-comments>summary::-webkit-details-marker{display:none}.doc-comments>summary:hover{color:var(--accent-hover)}.doc-head:has(>.doc-flow>h1){--doc-head-line:38px}.doc-head:has(>.doc-flow>h2){--doc-head-line:32px}.doc-head>.doc-flow>:is(h1,h2,h3,h4,h5,h6){padding-right:40px}.doc-comments[data-empty]>summary{opacity:0}.doc-head:hover>.doc-comments[data-empty]>summary,.doc-comments[data-empty]>summary:focus-visible,.doc-comments[data-empty][open]>summary{opacity:1}@media (hover:none){.doc-comments[data-empty]>summary{opacity:.6}}.doc-comments[open]>.doc-comments-body{border-left:1px solid var(--border);animation:tree-children-in .18s var(--ease-enter);margin-top:12px;padding:12px 0 4px 16px}.doc-comment+.doc-comment{margin-top:16px}.doc-comment-replies{border-left:1px solid var(--border);margin-top:8px;padding-left:16px}.doc-comment-replies>*+*{margin-top:8px}.doc-comment-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.doc-comment-archive{align-items:baseline;gap:8px;display:inline-flex}.doc-comment-meta{font-family:var(--font-mono);color:var(--text-3);font-size:12px;line-height:16px}.doc-comment-mark{color:var(--accent)}.doc-comment-text{color:var(--text-1);white-space:pre-wrap;margin-top:2px}.doc-comment-note{font-family:var(--font-mono);color:var(--text-3);margin-top:2px;font-size:12px;line-height:16px}.doc-comment[data-archived]{opacity:.55}.doc-comment-form{margin-top:12px}.doc-comment-form textarea{width:100%;min-height:64px;font:inherit;color:var(--text-1);background:var(--bg-0);border:1px solid var(--border-input);resize:vertical;border-radius:6px;padding:8px 10px;display:block}.doc-comment-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.doc-comment-actions{align-items:center;gap:12px;margin-top:6px;display:flex}.doc-comment-button{font:inherit;font-family:var(--font-mono);color:var(--accent);cursor:pointer;transition:color .12s var(--ease-enter);background:0 0;border:0;padding:0;font-size:12px;line-height:16px}.doc-comment-button:hover{color:var(--accent-hover)}.doc-comment-button:disabled{color:var(--text-3);cursor:progress}.doc-comment-error{font-family:var(--font-mono);color:var(--danger);font-size:12px;line-height:16px}.doc-comment-reply{margin-top:6px}.doc-comment-reply>summary{cursor:pointer;list-style:none;display:inline-block}.doc-comment-reply>summary::-webkit-details-marker{display:none}@keyframes tree-children-in{0%{opacity:0}to{opacity:1}}details[open]>.tree-children{animation:tree-children-in .18s var(--ease-enter)}.doc-content .doc-figure{break-inside:avoid;margin-top:24px;margin-bottom:24px}.doc-content .doc-figure>.doc-code-block{border-top:0;border-top-left-radius:0;border-top-right-radius:0;margin-top:0;margin-bottom:0}.doc-content .doc-figure-bar{font-family:var(--font-mono);background:var(--ink-bg-1);color:var(--ink-text-2);border:1px solid var(--ink-border);border-bottom:0;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:16px;padding:6px 16px;font-size:12px;line-height:16px;display:flex}.doc-content .doc-figure[data-drawn] .doc-figure-bar{background:var(--bg-1);color:var(--text-2);border-color:var(--border)}.doc-content .doc-figure-control{font:inherit;color:var(--ink-accent);cursor:pointer;transition:color .12s var(--ease-enter);background:0 0;border:0;padding:0}.doc-content .doc-figure-control:hover{color:var(--ink-text-1)}.doc-content .doc-figure[data-drawn] .doc-figure-control{color:var(--accent)}.doc-content .doc-figure[data-drawn] .doc-figure-control:hover{color:var(--accent-hover)}.doc-content .doc-figure-control[aria-busy=true]{color:var(--ink-text-3);cursor:progress}.doc-content .doc-figure-message{font-family:var(--font-mono);color:var(--danger);background:var(--bg-1);border-left:1px solid var(--border);border-right:1px solid var(--border);margin:0;padding:8px 16px;font-size:12px;line-height:16px}.doc-content .doc-figure-drawing{background:var(--bg-0);border:1px solid var(--border);border-radius:0 0 10px 10px;padding:16px;overflow-x:auto}.doc-content .doc-figure-drawing svg{max-width:100%;height:auto;margin:0 auto;display:block}.doc-content .doc-figure-drawing svg text,.doc-content .doc-figure-drawing svg tspan{fill:var(--text-1)!important;stroke:none!important;font-family:var(--font-sans)!important}.doc-content .doc-figure-drawing svg .entityLabel,.doc-content .doc-figure-drawing svg .attributeText,.doc-content .doc-figure-drawing svg .classText,.doc-content .doc-figure-drawing svg .entityLabel tspan,.doc-content .doc-figure-drawing svg .attributeText tspan,.doc-content .doc-figure-drawing svg .classText tspan{font-family:var(--font-mono)!important}.doc-content .doc-figure-drawing svg rect,.doc-content .doc-figure-drawing svg circle,.doc-content .doc-figure-drawing svg ellipse,.doc-content .doc-figure-drawing svg polygon{fill:var(--bg-1)!important;stroke:var(--text-1)!important}.doc-content .doc-figure-drawing svg path{stroke:var(--text-1)!important}.doc-content .doc-figure-drawing svg .edgePath path,.doc-content .doc-figure-drawing svg .flowchart-link,.doc-content .doc-figure-drawing svg .relation,.doc-content .doc-figure-drawing svg .messageLine0,.doc-content .doc-figure-drawing svg .messageLine1{fill:none!important;stroke:var(--text-1)!important}.doc-content .doc-figure-drawing svg marker path,.doc-content .doc-figure-drawing svg marker polygon,.doc-content .doc-figure-drawing svg marker circle,.doc-content .doc-figure-drawing svg .marker{fill:var(--text-1)!important;stroke:var(--text-1)!important}.doc-content .doc-figure-drawing svg .edgeLabel rect,.doc-content .doc-figure-drawing svg .labelBkg,.doc-content .doc-figure-drawing svg rect.background{fill:var(--bg-0)!important;stroke:none!important}.doc-content .doc-figure-drawing svg line,.doc-content .doc-figure-drawing svg .actor-line,.doc-content .doc-figure-drawing svg .divider,.doc-content .doc-figure-drawing svg .cluster rect,.doc-content .doc-figure-drawing svg .boundary rect,.doc-content .doc-figure-drawing svg rect.rect-boundary{stroke:var(--border)!important}.doc-content .doc-figure-drawing svg .cluster rect,.doc-content .doc-figure-drawing svg .boundary rect,.doc-content .doc-figure-drawing svg rect.rect-boundary{fill:var(--bg-0)!important}.doc-content .doc-figure-drawing svg .cluster text,.doc-content .doc-figure-drawing svg .cluster tspan,.doc-content .doc-figure-drawing svg .cluster-label text,.doc-content .doc-figure-drawing svg .cluster-label tspan,.doc-content .doc-figure-drawing svg .boundaryLabel,.doc-content .doc-figure-drawing svg .boundaryLabel tspan,.doc-content .doc-figure-drawing svg text.titleText{fill:var(--accent)!important}
