@layer custom.components{.model-explorer{--mx-paper:var(--sl-color-bg);--mx-surface:var(--sl-color-bg-sidebar);--mx-text:var(--sl-color-text);--mx-muted:var(--sl-color-gray-3);--mx-border:var(--sl-color-gray-5);--mx-accent:#ae3c26;--mx-accent-wash:#f7dfd8;--mx-focus:#8f2f1c;--mx-floor:#efefed;--mx-top:#fbfbfb;--mx-left:#e0e0e0;--mx-right:#d9d9d9;--mx-rim:#a5a5a5;--mx-label:#24242c;--mx-emphasis-label:#fff;--mx-road:#d4d4d4;--mx-road-rim:#a0a0a0;--mx-road-bevel:#fff;--mx-selected-top:#edab9e;--mx-selected-left:#de634b;--mx-selected-right:#a8361f;width:100%;min-width:0;max-width:100%;color:var(--mx-text);letter-spacing:0;margin-block:2rem;container:model-explorer/inline-size}:root[data-theme=dark] .model-explorer{--mx-accent:#f39c85;--mx-accent-wash:#452b25;--mx-focus:#ffb09d;--mx-floor:#121212;--mx-top:#292929;--mx-left:#1f1f1f;--mx-right:#0c0c0c;--mx-rim:#8a8a8a;--mx-label:#fff;--mx-road:#292929;--mx-road-rim:gray;--mx-road-bevel:#5f5f5f;--mx-selected-top:#ef9d8d;--mx-selected-left:#e7654c;--mx-selected-right:#8f2f1c}.model-explorer *,.model-explorer :before,.model-explorer :after{box-sizing:border-box}.model-explorer [hidden]{display:none!important}.model-explorer :is(figure,p,h3,h4,dl,dd,table){margin:0}.model-explorer button{font:inherit;cursor:pointer;color:inherit;margin:0}.model-explorer :is(button,summary,[tabindex]):focus-visible{outline:2px solid var(--mx-focus);outline-offset:3px}.model-explorer__enhanced{border:1px solid var(--mx-border);border-radius:4px}.model-explorer__toolbar{border-bottom:1px solid var(--mx-border);background:var(--mx-surface);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem;display:flex}.model-explorer__views{gap:.2rem;display:flex}.model-explorer__views button{background:var(--mx-paper);border:1px solid var(--mx-border);border-radius:4px;min-height:44px;padding:.4rem .7rem;font-size:.875rem}.model-explorer__views [aria-pressed=true]{border-color:var(--mx-accent);background:var(--mx-accent-wash);text-underline-offset:4px;text-decoration:underline}.model-explorer__workspace{--mx-workspace-height:clamp(28rem, 72svh, 36rem);height:var(--mx-workspace-height);position:relative}.model-explorer__canvas{background-color:var(--mx-floor);background-image:repeating-linear-gradient(26.565deg, transparent 0 10.23px, color-mix(in srgb, var(--mx-rim) 24%, transparent) 10.23px 10.73px), repeating-linear-gradient(-26.565deg, transparent 0 10.23px, color-mix(in srgb, var(--mx-rim) 24%, transparent) 10.23px 10.73px);flex-direction:column;justify-content:space-between;min-width:0;height:100%;display:flex;overflow:hidden}.model-explorer__canvas>[data-model-scene]{margin-block:auto}.model-explorer__workspace .model-explorer__canvas>[data-model-scene]{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.model-explorer__scene{width:100%;min-width:0;transform:translate(var(--mx-focus-shift-x,0), var(--mx-focus-shift-y,0)) scale(var(--mx-focus-scale,1));transform-origin:0 0;margin-inline:auto;position:relative}.model-explorer__workspace .model-explorer__scene{width:min(100%, var(--mx-scene-width));flex:none;height:auto}.model-explorer__scene>svg{width:100%;height:100%;display:block}.model-explorer__scene--compact{display:none}.model-explorer__shadow{fill:#000;opacity:.12;filter:blur(5px)}.model-explorer__solid polygon{stroke:var(--mx-rim);stroke-width:.75px;stroke-linejoin:round;transition:fill .16s ease-out}.model-explorer__face-left{fill:var(--mx-left)}.model-explorer__face-right{fill:var(--mx-right)}.model-explorer__face-top{fill:var(--mx-top)}.model-explorer__road-rim,.model-explorer__road-bevel,.model-explorer__road-surface{fill:none;stroke-linejoin:round;stroke-linecap:round;transition:stroke .16s ease-out}.model-explorer__road-rim{stroke:var(--mx-road-rim);stroke-width:16px}.model-explorer__road-bevel{stroke:var(--mx-road-bevel);stroke-width:13px;transform:translate(-1px,-1px)}.model-explorer__road-surface{stroke:var(--mx-road);stroke-width:10px}.model-explorer__road-label{fill:var(--mx-label);font-family:var(--__sl-font);letter-spacing:-.01em;pointer-events:none;text-shadow:0 1px 2px var(--mx-floor), 0 -1px 2px var(--mx-floor);font-size:18px;font-weight:600}.model-explorer__road-label[data-emphasis=direct]{fill:var(--mx-emphasis-label);stroke:color-mix(in srgb, var(--mx-selected-right) 42%, #000);stroke-width:3px;stroke-linejoin:round;paint-order:stroke fill;text-shadow:none;font-size:20px;font-weight:700}.model-explorer__scene [data-model-item]{transition:opacity .16s ease-out}.model-explorer__scene [data-emphasis=dimmed]{opacity:.3}.model-explorer__scene [data-emphasis=indirect]:not(.model-explorer__label){opacity:.85}.model-explorer__scene [data-emphasis=direct]{--mx-top:var(--mx-selected-top);--mx-left:var(--mx-selected-left);--mx-right:var(--mx-selected-right);--mx-rim:var(--mx-selected-right);--mx-road-rim:var(--mx-selected-right);--mx-road-bevel:var(--mx-selected-top);--mx-road:var(--mx-selected-left)}.model-explorer__road[data-emphasis=direct]{--mx-road:var(--mx-selected-right)}.model-explorer__scene [data-selected=true] polygon{stroke-width:2px}.model-explorer__label{z-index:1;box-sizing:border-box;width:max-content;min-width:44px;max-width:44%;min-height:44px;transform:translate(calc(-50% + var(--mx-label-shift-x,0px)), calc(-50% + var(--mx-label-shift-y,0px)));color:var(--mx-label);text-align:center;overflow-wrap:anywhere;text-shadow:0 1px 2px var(--mx-floor), 0 -1px 2px var(--mx-floor);background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;padding:.25rem;font-size:.875rem;font-weight:600;line-height:1.25;display:grid;position:absolute}.model-explorer .model-explorer__label--relationship{min-width:0;max-width:none;min-height:28px;transform:translate(-50%, -50%) rotate(var(--mx-label-angle,0deg));transform-origin:50%;overflow-wrap:normal;word-break:normal;white-space:nowrap;padding:.25rem}.model-explorer :is(button,span).model-explorer__label:not(.model-explorer__label--relationship):not(.model-explorer__label--source){z-index:2;font-size:1.25rem;font-weight:600}.model-explorer button.model-explorer__label{color:var(--mx-label)}.model-explorer button.model-explorer__label--relationship,.model-explorer span.model-explorer__label--relationship{color:#0000;text-shadow:none}.model-explorer :is(button,span).model-explorer__label:not(.model-explorer__label--relationship):not(.model-explorer__label--source)[data-emphasis=direct]{color:var(--mx-emphasis-label);-webkit-text-stroke:3px color-mix(in srgb, var(--mx-selected-right) 42%, #000);paint-order:stroke fill;text-shadow:none;font-size:1.25rem;font-weight:700}.model-explorer__label--source{font-family:var(--__sl-font-mono);font-size:.75rem!important}.model-explorer__label[aria-pressed=true]{text-underline-offset:4px;text-decoration:underline}.model-explorer__label--static{pointer-events:none}.model-explorer__solid[data-model-select],.model-explorer__road[data-model-select]{cursor:pointer}.model-explorer__inspector{z-index:4;width:clamp(18rem,42%,22rem);max-height:var(--mx-workspace-height);border-bottom:1px solid var(--mx-border);border-left:1px solid var(--mx-border);background:var(--mx-paper);box-shadow:-16px 0 28px -24px color-mix(in srgb, var(--mx-text) 45%, transparent);font-size:.875rem;line-height:1.6;position:absolute;inset:0 0 auto auto;overflow:hidden}.model-explorer__inspector>article{width:100%;max-height:var(--mx-workspace-height);flex-direction:column;display:flex}.model-explorer__detail-header{border-bottom:1px solid var(--mx-border);background:var(--mx-surface);flex:none;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.model-explorer__close-details{border:1px solid var(--mx-border);background:var(--mx-paper);border-radius:4px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.model-explorer__close-details svg{width:18px;height:18px}.model-explorer__detail-heading{min-width:0}.model-explorer__detail-heading h3{overflow-wrap:anywhere;scroll-margin-top:calc(var(--sl-nav-height) + 1rem);font-size:1.25rem;line-height:1.3}.model-explorer__kind{color:var(--mx-muted);flex-wrap:wrap;gap:.25rem;font-size:.875rem;display:flex;margin-top:.3rem!important}.model-explorer__kind>span:first-child{text-transform:capitalize}.model-explorer__detail-body{overscroll-behavior:contain;min-height:0;padding:1rem;overflow-y:auto}.model-explorer__description{color:var(--mx-text);font-size:1rem;line-height:1.65}.model-explorer__inspector p+p{margin-top:.75rem}.model-explorer__detail-section{border-top:1px solid var(--mx-border);margin-top:1rem;padding-top:.85rem}.model-explorer__detail-section h4{margin-bottom:.45rem;font-size:.875rem;line-height:1.4}.model-explorer__detail-section dl>div{border-top:1px solid var(--mx-border);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:.65rem;padding-block:.5rem;display:grid}.model-explorer__detail-section dl>div:first-child{border-top:0}.model-explorer dt{color:var(--mx-muted)}.model-explorer :is(dd,td) button{min-height:44px;color:var(--mx-accent);text-align:left;text-underline-offset:3px;background:0 0;border:0;align-items:center;padding:.25rem 0;text-decoration:underline;display:inline-flex}.model-explorer__example-data{color:var(--mx-muted);font-size:.875rem;margin-top:1rem!important}.model-explorer__table-frame{min-width:0;margin-top:.65rem}.model-explorer__table-hint{color:var(--mx-muted);font-size:.875rem;margin-bottom:.35rem!important}.model-explorer__table-wrap{overscroll-behavior-inline:contain;border:1px solid var(--mx-border);border-radius:4px;max-width:100%;overflow-x:auto}.model-explorer__table-wrap[data-overflowing=true]{box-shadow:inset -10px 0 10px -12px var(--mx-text)}.model-explorer table{table-layout:auto;border-collapse:collapse;width:100%;min-width:max-content;font-size:.875rem;display:table}.model-explorer :is(th,td){border:1px solid var(--mx-border);text-align:left;overflow-wrap:normal;vertical-align:top;white-space:nowrap;padding:.45rem}.model-explorer th{background:var(--mx-surface)}.model-explorer__fields{min-width:16rem}.model-explorer__fields :is(th,td){padding:.35rem .45rem}.model-explorer__fields thead th{color:var(--mx-muted);background:0 0;font-size:.875rem}.model-explorer__fields tbody th{background:0 0;font-weight:400}.model-explorer__fields code{background:0 0;padding:0;font-size:.875rem}.model-explorer__source-data{border-top:1px solid var(--mx-border);margin-top:1rem}.model-explorer__source-data summary{cursor:pointer;min-height:52px;padding-block:.65rem;font-weight:600}.model-explorer__source-summary{color:var(--mx-muted);overflow-wrap:anywhere;padding-left:1rem;font-size:.875rem;font-weight:400;display:block}.model-explorer__source-summary code{font-size:inherit}.model-explorer__source-content{padding-bottom:.25rem}.model-explorer__source-content>p{margin-bottom:.65rem}.model-explorer__source-path{overflow-wrap:anywhere}.model-explorer__source-path a{color:var(--mx-accent);text-underline-offset:3px}.model-explorer__source-path code{white-space:normal;overflow-wrap:anywhere}.model-explorer__selection{border-top:1px solid var(--mx-border);background:var(--mx-surface);align-items:center;min-height:44px;padding:.55rem .75rem;display:flex}.model-explorer__status{flex:1;font-size:.875rem;line-height:1.45}.model-explorer .model-explorer__selection>*{margin-block:0}.model-explorer__fallback>details{border-bottom:1px solid var(--mx-border);padding-block:.8rem}.model-explorer__fallback summary{cursor:pointer;font-weight:600}.model-explorer__fallback details>p{margin-top:.7rem}@container model-explorer (width<=60rem){.model-explorer__inspector{width:min(48%,22rem);line-height:1.5}.model-explorer__detail-header,.model-explorer__detail-body{padding:.75rem}.model-explorer__detail-section{margin-top:.6rem}.model-explorer__detail-section dl>div{padding-block:.3rem}}@container model-explorer (width<=26rem){.model-explorer__scene--wide{display:none}.model-explorer__scene--compact{display:block}.model-explorer__road-label{font-size:20px}.model-explorer__label{min-width:44px;min-height:44px;padding:.125rem;font-size:.6875rem}.model-explorer :is(button,span).model-explorer__label:not(.model-explorer__label--relationship):not(.model-explorer__label--source){font-size:.75rem}.model-explorer :is(button,span).model-explorer__label:not(.model-explorer__label--relationship):not(.model-explorer__label--source)[data-emphasis=direct]{-webkit-text-stroke-width:2px;font-size:.8125rem}.model-explorer__toolbar{gap:.2rem;padding:.4rem}.model-explorer__views button{padding-inline:.6rem}.model-explorer__label--source{max-width:68%}.model-explorer__inspector{width:min(84%,20rem)}.model-explorer__detail-section dl>div{grid-template-columns:minmax(0,1fr);gap:.15rem}}@media (prefers-reduced-motion:reduce){.model-explorer *,.model-explorer :before,.model-explorer :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.model-explorer__enhanced{display:none!important}.model-explorer__fallback[hidden]{display:block!important}.model-explorer__fallback details::details-content{content-visibility:visible}.model-explorer__scene--wide{display:block}.model-explorer__scene--compact{display:none}.model-explorer__fallback table{white-space:normal;min-width:0}.model-explorer__fallback :is(th,td){white-space:normal;overflow-wrap:anywhere}}}.guided-code{--gc-ink:var(--sl-color-white);--gc-muted:var(--sl-color-gray-2);--gc-rule:var(--sl-color-gray-5);--gc-accent:#b13d27;--gc-highlight:#fff0e8;width:100%;max-width:100%;color:var(--gc-ink);margin-block:3rem;container:guided-code/inline-size}:root[data-theme=dark] .guided-code{--gc-accent:#f49a82;--gc-highlight:#3b2722}.guided-code *,.guided-code :before,.guided-code :after{box-sizing:border-box;letter-spacing:0}.guided-code :is(h3,h4,p,figure){margin:0}.guided-code>h3{font-size:1.5rem;line-height:1.3}.guided-code__opening:not(:empty){margin-block:1rem 2.5rem}.guided-code__opening p+p,.guided-code__prose p+p{margin-top:1rem}.guided-code__prose :is(ul,ol){margin-block:1rem}.guided-code__prose :is(ul,ol)+p{margin-top:1rem}.guided-code__steps,.guided-code__step,.guided-code__reading,.guided-code__static{min-width:0}.guided-code__step{scroll-margin-top:calc(var(--sl-nav-height) + 1rem)}.guided-code__step+.guided-code__step{margin-top:clamp(3rem,8vw,4.5rem)}.guided-code__step-heading{align-items:start;gap:.65rem;margin-bottom:1rem;display:flex}.guided-code__step-number{border:1px solid var(--gc-accent);width:1.75rem;height:1.75rem;font:.8rem/1 var(--__sl-font-mono);color:var(--gc-accent);border-radius:50%;flex:0 0 1.75rem;place-items:center;display:grid}.guided-code__step h4{overflow-wrap:anywhere;min-width:0;font-size:1.12rem;line-height:1.35}.guided-code__prose{font-size:.95rem;line-height:1.65}.guided-code__prose :not(pre)>code{overflow-wrap:anywhere}.guided-code[data-initialized=true] :is([data-code-reference],[data-tree-reference]){cursor:pointer;text-underline-offset:.2em;text-decoration:underline dotted}.guided-code :is([data-code-reference],[data-tree-reference]):is(:hover,:focus-visible),.guided-code :is([data-code-reference],[data-tree-reference])[aria-pressed=true]{color:var(--gc-accent)}.guided-code [data-walkthrough-static-code] [data-active-line=true]{background:var(--gc-highlight)}::highlight(guided-code-reference){background-color:var(--gc-highlight)}.guided-code__static{margin-top:1.5rem}.guided-code__static-interpretation{gap:1rem;margin-top:1.25rem;display:grid}.guided-code__static-interpretation>.starlight-aside{margin:0}.guided-code__numbered,.guided-code .expressive-code{min-width:0;max-width:100%}.guided-code .expressive-code{--ec-codeFontSize:.75rem;--ec-codeLineHeight:1.65;--ec-tm-markBg:var(--gc-highlight);--ec-tm-markBrdCol:var(--gc-highlight)}.guided-code .expressive-code figure{box-shadow:none;margin:0}.guided-code .expressive-code .header .title{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:.75rem}.guided-code [data-source-line]:before{content:attr(data-source-line);width:2.7em;color:var(--gc-muted);text-align:right;user-select:none;grid-area:gutter;padding-right:.7em}.guided-code .expressive-code [data-source-line]{grid-template-columns:2.7em minmax(0,1fr);transition:background-color .14s ease-out}.guided-code .expressive-code pre.wrap .ec-line[data-source-line]>.code{min-width:0}.guided-code .expressive-code summary .ec-line{padding-left:.5rem}.guided-code .expressive-code .copy button{min-width:2rem;min-height:2rem}.guided-code__tree{min-width:0}.guided-code__tree starlight-file-tree{max-width:100%}.guided-code__tree .comment{min-width:0}.guided-code__tree [data-source-path]{border-radius:.2rem;transition:background-color .14s ease-out}.guided-code__tree [data-source-path][data-active-node=true]{background:var(--gc-highlight)}.guided-code__result figcaption{margin-bottom:.75rem;font-size:.8rem;font-weight:600}.guided-code__result{min-width:0;margin-top:1.25rem!important}.guided-code__result table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.75rem;line-height:1.5;display:table}.guided-code__result :is(th,td){border-bottom:1px solid var(--gc-rule);text-align:left;overflow-wrap:anywhere;width:50%;padding:.55rem .4rem}.guided-code__print-excerpts{display:none}.guided-code :is(button,summary,[tabindex]):focus-visible{outline:2px solid var(--gc-accent);outline-offset:3px}.guided-code [hidden]{display:none!important}@container guided-code (width>=40rem){.guided-code__step{grid-template-columns:minmax(0,.37fr) minmax(0,.63fr);align-items:start;gap:1.75rem;display:grid}.guided-code__static{margin-top:0}.guided-code__result{grid-column:2}.guided-code__prose{font-size:.9rem}}@media (prefers-reduced-motion:reduce){.guided-code *,.guided-code :before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.guided-code .guided-code__folded{display:none!important}.guided-code .guided-code__static,.guided-code .guided-code__print-excerpts,.guided-code .guided-code__step>.guided-code__result{display:block!important}.guided-code .guided-code__step{break-inside:auto;margin-top:0!important;padding:1rem 0!important;display:block!important}.guided-code .guided-code__step-heading{break-after:avoid}.guided-code .expressive-code{break-inside:avoid}.guided-code .expressive-code .copy{display:none}.guided-code .guided-code__print-excerpts .expressive-code :is(pre,.ec-line){background:#fff!important}.guided-code .guided-code__print-excerpts .expressive-code :is(.code,.code span){color:#111!important}}
