@layer components{.project-links[data-v-99522c73],.project-links li[data-v-99522c73]{min-width:0;max-width:100%}.project-links ul[data-v-99522c73]{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.project-links li[data-v-99522c73]{flex-wrap:wrap;align-items:center;display:flex}.project-links--hero[data-v-99522c73]{margin-top:24px}.project-links--hero ul[data-v-99522c73]{gap:12px}@media (width<=719px){.project-links--hero ul[data-v-99522c73]{gap:10px}}.inner-intro a[data-v-152b1bef]:focus-visible{outline-color:var(--on-dark)}.inner-intro .back-link[data-v-152b1bef]{color:#ededed;margin-bottom:20px;font-size:14px;display:inline-flex}.inner-intro.has-cover[data-v-152b1bef]:before{display:none}.hero-organization[data-v-152b1bef]{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:12px;font-size:14px;line-height:1.6;display:flex}.hero-organization-label[data-v-152b1bef]{color:#c4c4c4;gap:12px;display:inline-flex}.hero-organization a[data-v-152b1bef]{color:var(--on-dark);gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.hero-organization a[data-v-152b1bef]:hover{text-underline-offset:4px;text-decoration:underline}.inner-intro.has-cover[data-v-152b1bef]:after{display:none}.project-cover[data-v-152b1bef],.project-cover-shade[data-v-152b1bef]{z-index:-1;pointer-events:none;position:absolute;inset:0}.project-cover img[data-v-152b1bef]{-o-object-fit:cover;object-fit:cover;-o-object-position:var(--cover-position);object-position:var(--cover-position);width:100%;height:100%}.project-cover-shade[data-v-152b1bef]{background:linear-gradient(90deg,#000000eb,#000c 65%,#00000047)}.inner-intro.has-cover h1[data-v-152b1bef]{max-width:75%}.inner-intro p[data-v-152b1bef]{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:min(34rem,100%);display:-webkit-box;overflow:hidden}.inner-intro p[role=button][data-v-152b1bef]{cursor:pointer}.inner-intro p[data-v-152b1bef]:focus-visible{outline:2px solid var(--on-dark);outline-offset:4px}.description-tooltip[data-v-152b1bef]{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;-webkit-user-select:text;user-select:text;border-radius:8px;margin:0;padding:16px 20px;font-size:14px;line-height:1.8;position:fixed;inset:auto;overflow:auto;box-shadow:0 8px 24px #00000026}@media (width<=959px){.inner-intro.has-cover h1[data-v-152b1bef]{max-width:100%}.project-cover-shade[data-v-152b1bef]{background:linear-gradient(90deg,#000000db,#000000c2)}}@media (width<=719px){.project-cover img[data-v-152b1bef]{-o-object-position:var(--cover-mobile-position);object-position:var(--cover-mobile-position)}}.project-tabs[data-v-b79a2d8c]{z-index:10;background:var(--surface);position:sticky;top:0}.inner-body[data-v-0b344910]{border-bottom:1px solid var(--line);padding:36px}.inner-body[data-v-0b344910] [id],.inner-body[data-v-0b344910] [tabindex],.inner-body[data-v-0b344910] a,.inner-body[data-v-0b344910] button,.inner-body[data-v-0b344910] input,.inner-body[data-v-0b344910] select,.inner-body[data-v-0b344910] summary,.inner-body[data-v-0b344910] textarea{scroll-margin-top:var(--project-tabs-offset,65px)}@media (width<=719px){.inner-body[data-v-0b344910]{padding:24px}}.demo-gallery[data-v-37d4d35e]{min-width:0}.demo-gallery-heading[data-v-37d4d35e]{margin-bottom:20px}.demo-gallery-track[data-v-37d4d35e]{--shot-width:calc((100% - 40px) / 3);min-width:0;margin-top:16px;position:relative}.demo-gallery-navigation[data-v-37d4d35e]{width:100%;height:0;padding-top:calc(var(--shot-width) * var(--shot-height-ratio));z-index:2;pointer-events:none;position:absolute;top:0;left:0}.demo-gallery-navigation button[data-v-37d4d35e]{width:var(--touch-target);height:var(--touch-target);color:#333;cursor:pointer;pointer-events:auto;background:#ffffffe0;border:1px solid #d8d8d8;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000001f}.demo-gallery-prev[data-v-37d4d35e]{left:8px}.demo-gallery-next[data-v-37d4d35e]{right:8px}.demo-gallery-navigation button[data-v-37d4d35e]:disabled{opacity:.35;cursor:default}.demo-gallery-navigation button[data-v-37d4d35e]:not(:disabled):is(:hover,:focus-visible){background:var(--surface);color:var(--ink)}.demo-gallery[data-v-37d4d35e] :is(button,[tabindex="0"]):focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.demo-shots[data-v-37d4d35e]{--swiper-scrollbar-bg-color:#eee;--swiper-scrollbar-drag-bg-color:#666;--swiper-scrollbar-size:6px;--swiper-scrollbar-bottom:10px;width:100%;min-width:0}.demo-shots.is-scrollable[data-v-37d4d35e]{padding-bottom:32px}.demo-shots[data-v-37d4d35e] .swiper-scrollbar{cursor:grab}.demo-shots[data-v-37d4d35e] .swiper-scrollbar-drag{cursor:grabbing}.demo-shot-slide[data-v-37d4d35e]{width:var(--shot-width);height:auto}.demo-gallery-filter[data-v-37d4d35e]{flex-wrap:wrap;gap:8px 20px;display:flex}.demo-gallery-count[data-v-37d4d35e]{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:400}.demo-gallery-filter button[data-v-37d4d35e]{min-height:var(--touch-target);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid #0000;font-size:14px}.demo-gallery-filter [aria-pressed=true][data-v-37d4d35e]{border-color:var(--ink);color:var(--ink);font-weight:600}.demo-shot-frame[data-v-37d4d35e]{background:0 0;border:0;border-radius:0;width:100%;padding:0}.demo-shots img[data-v-37d4d35e]{width:100%;height:auto;display:block}.demo-shots figcaption[data-v-37d4d35e]{margin-top:10px;font-size:14px}@media (width>=720px) and (width<=959px){.demo-gallery-track[data-v-37d4d35e]{--shot-width:calc(50% - 10px)}}@media (width<=719px){.demo-gallery-track[data-v-37d4d35e]{--shot-width:88%}}@media (prefers-reduced-motion:reduce){.demo-shots[data-v-37d4d35e] .swiper-wrapper{transition-duration:0s!important}}.demo-selector[data-v-bad4e2c6]{background:#edeef0;border-radius:4px;flex-wrap:wrap;width:440px;max-width:100%;margin-bottom:28px;padding:0;display:flex}.demo-selector button[data-v-bad4e2c6]{min-width:0;min-height:var(--touch-target);color:#555;cursor:pointer;overflow-wrap:anywhere;border:1px solid #0000;flex:80px;justify-content:center;align-items:center;padding:10px 6px;font-size:14px;line-height:22px;display:flex;position:relative}.demo-selector button+button[data-v-bad4e2c6]:before{content:"";background:var(--surface);width:1px;position:absolute;inset:-1px auto -1px -1px}.demo-selector [aria-pressed=true][data-v-bad4e2c6]{background:var(--surface);color:var(--ink);border-color:#555;border-radius:4px;font-weight:600}.demo-selector [aria-pressed=true]+button[data-v-bad4e2c6]:before,.demo-selector [aria-pressed=true][data-v-bad4e2c6]:before{display:none}.demo-selector button[data-v-bad4e2c6]:focus-visible{z-index:1}@media (width<=719px){.demo-selector[data-v-bad4e2c6]{width:100%}}.demo-icon-button[data-v-74b87c4f]{width:var(--touch-target);min-height:var(--touch-target);border-color:var(--copy-border,transparent);background:0 0;padding:0}.demo-icon-button[data-v-74b87c4f]:hover{background:#e8e8e8}.demo-copy .button[data-v-74b87c4f]{white-space:normal;overflow-wrap:anywhere}.demo-copy[data-v-74b87c4f]{min-width:0;position:var(--copy-position,static);width:var(--copy-width,auto);gap:4px;display:grid}.demo-feedback[data-v-74b87c4f]{max-width:260px;font-size:12px}.demo-feedback[data-v-74b87c4f]:empty{display:none}.demo-copy[data-v-74b87c4f]:has(.demo-input){width:var(--copy-fallback-width,auto)}.demo-feedback[data-v-74b87c4f]:not(.sr-only){max-width:var(--copy-feedback-width,260px)}.demo-buttons[data-v-a92f461e]{--copy-border:var(--line);flex-wrap:wrap;align-items:start;gap:8px;display:flex}.demo-buttons .button[data-v-a92f461e]{white-space:normal;overflow-wrap:anywhere}@media (width<=719px){.demo-buttons .button-primary[data-v-a92f461e]{flex:1}}.demo-accounts[data-v-acb6e758]{gap:12px;font-size:14px;display:grid}.demo-accounts-panel[data-v-acb6e758]{background:var(--paper);border-radius:4px;gap:0;padding:0}.demo-account-heading[data-v-acb6e758]{background:#edeef0;border-bottom:1px solid #e5e5e5;border-radius:4px 4px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:8px 20px;display:flex}.demo-account-heading h3[data-v-acb6e758]{font-size:16px;font-weight:600}.demo-role[data-v-acb6e758]{gap:8px;display:grid}.demo-role .demo-input[data-v-acb6e758]{border-radius:3px;width:auto;min-height:32px;padding:4px 8px;font-size:13px}.demo-credentials[data-v-acb6e758]{margin:0;padding-inline:20px}.demo-accounts-panel>.muted[data-v-acb6e758]{padding:12px 20px}.demo-credential-row[data-v-acb6e758]{--copy-position:relative;--copy-width:var(--touch-target);--copy-fallback-width:calc(min(140px, 30vw));--copy-feedback-width:160px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;display:grid}.demo-credential-row+.demo-credential-row[data-v-acb6e758]{border-top:1px solid #e5e5e5}.demo-credential-row dd>code[data-v-acb6e758],.demo-credential-row dt[data-v-acb6e758]{padding-block:10px;line-height:24px;display:block}.demo-credential-row dt[data-v-acb6e758]{color:var(--muted)}.demo-credential-row dd[data-v-acb6e758]{min-width:0;margin:0}.demo-credential-row code[data-v-acb6e758]{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}@media (width<=719px){.demo-account-heading[data-v-acb6e758],.demo-credentials[data-v-acb6e758]{padding-inline:12px}.demo-role .demo-input[data-v-acb6e758]{min-height:var(--touch-target)}.demo-credential-row code[data-v-acb6e758]{font-size:12px}.demo-credential-row[data-v-acb6e758]{grid-template-columns:30px minmax(0,1fr) auto;gap:8px}}.demo-scan[data-v-f80c8476]{border:1px solid var(--line);background:var(--paper);border-radius:4px;min-width:0;padding:16px}.demo-scan summary[data-v-f80c8476]{cursor:pointer;padding-block:4px;font-size:14px;font-weight:600}.demo-code-area[data-v-f80c8476]{aspect-ratio:1;background:var(--surface);place-items:center;width:220px;max-width:100%;margin:16px auto 12px;display:grid}.demo-code-area img[data-v-f80c8476]{-o-object-fit:contain;object-fit:contain;width:100%;height:auto}.demo-scan.demo-scan-mobile[data-v-f80c8476]{text-align:center;background:0 0;border:0;border-radius:0;padding:0}.demo-scan-mobile .demo-code-area[data-v-f80c8476]{width:180px}.demo-scan-mobile .demo-image-button[data-v-f80c8476]{border-radius:4px;overflow:hidden}.demo-scan.demo-scan-mobile>.demo-notice[data-v-f80c8476]{margin-top:8px}@media (width>=960px){.demo-scan.demo-scan-mobile summary[data-v-f80c8476]{list-style:none}.demo-scan.demo-scan-mobile summary[data-v-f80c8476]::-webkit-details-marker{display:none}}.demo-entry[data-v-44d0ba3b]{gap:24px}.demo-entry[data-v-44d0ba3b],.demo-entry-main[data-v-44d0ba3b]{align-items:start;display:grid}.demo-entry-main[data-v-44d0ba3b]{align-content:start;gap:16px;min-width:0}.demo-entry-heading[data-v-44d0ba3b]{justify-content:space-between;align-items:start;gap:24px;display:flex}.demo-entry-description[data-v-44d0ba3b]{min-width:0}.demo-entry-description h2[data-v-44d0ba3b]{margin-bottom:8px;font-size:20px}.demo-entry-description p[data-v-44d0ba3b]{font-size:14px;line-height:1.8}.demo-entry-heading>.demo-buttons[data-v-44d0ba3b]{flex-shrink:0}.demo-entry-with-code .demo-entry-heading[data-v-44d0ba3b]{flex-direction:column;gap:16px}.demo-entry-mobile[data-v-44d0ba3b]{gap:28px}.demo-entry-mobile .demo-entry-heading[data-v-44d0ba3b]{flex-direction:column;order:0;align-items:stretch;gap:16px}.demo-entry-mobile .demo-accounts[data-v-44d0ba3b]{order:1}.demo-entry-mobile .demo-notice[data-v-44d0ba3b]{order:2;margin-top:12px}.demo-entry-mobile .demo-entry-heading>.demo-buttons[data-v-44d0ba3b]{margin-top:8px}.demo-entry-h5-actions .demo-entry-heading>.demo-buttons[data-v-44d0ba3b]{margin-top:0}@media (width>=960px){.demo-entry-with-code[data-v-44d0ba3b]:not(.demo-entry-mobile){grid-template-columns:minmax(0,1fr) 240px;grid-template-rows:var(--entry-web-rows);gap:16px 24px}.demo-entry-with-code:not(.demo-entry-mobile) .demo-entry-main[data-v-44d0ba3b]{grid-area:1/1/-1/-1;grid-template-columns:subgrid;grid-template-rows:subgrid;align-self:stretch}.demo-entry-with-code:not(.demo-entry-mobile) .demo-entry-heading[data-v-44d0ba3b]{grid-area:heading/1/auto/-1}.demo-entry-with-code:not(.demo-entry-mobile) .demo-entry-status[data-v-44d0ba3b]{grid-area:status/1/auto/-1}.demo-entry-with-code:not(.demo-entry-mobile) .demo-entry-notice[data-v-44d0ba3b]{grid-area:notice/1/auto/-1}.demo-entry-with-code:not(.demo-entry-mobile) .demo-accounts[data-v-44d0ba3b]{grid-area:accounts/1}.demo-entry-with-code:not(.demo-entry-mobile)>.demo-scan[data-v-44d0ba3b]{grid-area:accounts/2}.demo-entry-mobile.demo-entry-with-code[data-v-44d0ba3b]{grid-template-columns:minmax(0,1fr) 280px;gap:16px 32px}.demo-entry-mobile.demo-entry-with-code .demo-notice[data-v-44d0ba3b]{margin-top:0}.demo-entry-mobile.demo-entry-with-code .demo-entry-main[data-v-44d0ba3b]{margin-bottom:var(--entry-scan-spacing)}.demo-entry-mobile.demo-entry-with-code>.demo-scan[data-v-44d0ba3b]{border-left:1px solid var(--line);align-self:stretch;padding-left:32px}.demo-entry-h5-actions .demo-entry-heading[data-v-44d0ba3b]{grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;display:grid}}@media (width<=959px){.demo-entry-heading[data-v-44d0ba3b]{flex-direction:column;gap:16px}}@media (width<=719px){.demo-entry-heading>.demo-buttons[data-v-44d0ba3b]{width:100%}}.demo-panel[data-v-b8bcd8f3]{min-width:0}.overview-template[data-v-d2bf1a58]{gap:48px;min-width:0;display:grid}.overview-about p[data-v-d2bf1a58]{overflow-wrap:anywhere;line-height:1.9}.overview-organization[data-v-d2bf1a58]{min-width:0}.overview-organization h2[data-v-d2bf1a58]{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:500}.organization-heading[data-v-d2bf1a58]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;display:flex}.organization-heading h3[data-v-d2bf1a58]{overflow-wrap:anywhere;font-size:20px;font-weight:600}.organization-heading a[data-v-d2bf1a58]{color:var(--ink);text-underline-offset:4px;align-items:baseline;gap:8px;text-decoration:none;display:inline-flex}.organization-heading a[data-v-d2bf1a58]:hover{text-decoration:underline}.organization-heading a span[data-v-d2bf1a58]{font-size:14px;font-weight:400}.overview-organization[data-v-d2bf1a58]+.project-links{margin-top:-24px}.organization-heading a[data-v-d2bf1a58]:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.overview-organization p[data-v-d2bf1a58]{color:var(--muted);overflow-wrap:anywhere;margin-top:12px;font-size:15px;line-height:1.9}@media (width<=719px){.overview-template[data-v-d2bf1a58]{gap:36px}}.demo-template[data-v-f72173b0]{overflow-wrap:anywhere;gap:32px;display:grid}.demo-introduction[data-v-f72173b0]{line-height:1.9}@media (width<=719px){.demo-template[data-v-f72173b0]{gap:24px}}.article-toc[data-v-6f3e4336]{min-width:0;font-size:13px}.article-toc-toggle[data-v-6f3e4336]{width:100%;min-height:var(--touch-target);border-block:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.article-toc-title[data-v-6f3e4336]{display:none}.article-toc ul[data-v-6f3e4336]{margin:12px 0 0;padding:0;list-style:none;display:none}.article-toc ul.is-expanded[data-v-6f3e4336]{display:block}.article-toc a[data-v-6f3e4336]{color:var(--muted);padding:10px 0;line-height:1.6;display:block}.article-toc a[aria-current][data-v-6f3e4336]{color:var(--ink);font-weight:600}.article-toc .is-nested[data-v-6f3e4336]{padding-left:12px}@media (width>=1024px){.article-toc[data-v-6f3e4336]{top:var(--project-tabs-offset,65px);max-height:calc(100dvh - 24px - var(--project-tabs-offset,65px));align-self:start;position:sticky;overflow-y:auto}.article-toc-toggle[data-v-6f3e4336]{display:none}.article-toc-title[data-v-6f3e4336]{font-weight:600;display:block}.article-toc ul[data-v-6f3e4336]{display:block}}.technical-layout[data-v-f6ca11bf]{gap:28px;min-width:0;max-width:46rem;margin-inline:auto;display:grid}@media (width>=1024px){.technical-layout.has-toc[data-v-f6ca11bf]{-moz-column-gap:40px;grid-template-columns:minmax(0,46rem) 180px;justify-content:center;column-gap:40px;max-width:none}.has-toc .technical-prose[data-v-f6ca11bf]{grid-area:1/1}.technical-layout[data-v-f6ca11bf]>.article-toc{grid-area:1/2}}.technical-empty[data-v-1404eeac]{padding-block:16px;line-height:1.9}}
