pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root,:root[theme=light]{--md-comp-divider-color: var(--md-sys-color-outline-variant);--md-comp-divider-motion-duration: var(--md-sys-motion-duration-long4);--md-comp-divider-motion-easing: var(--md-sys-motion-easing-emphasized-decelerate);--md-ref-palette-error-40: #b3261e;--md-ref-palette-error-80: #ffb4ab;--md-ref-palette-neutral-0: #000000;--md-ref-palette-neutral-10: #1a1a1a;--md-ref-palette-neutral-100: #ffffff;--md-ref-palette-neutral-90: #e5e7eb;--md-ref-palette-primary-40: #5b5bd6;--md-ref-palette-primary-80: #818cf8;--md-sys-color-error: var(--md-ref-palette-error-40);--md-sys-color-error-container: #ffdad6;--md-sys-color-inverse-on-surface: #f5eff7;--md-sys-color-inverse-surface: #322f35;--md-sys-color-on-error: #ffffff;--md-sys-color-on-error-container: #410002;--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: #1e1e6e;--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: #1e1e6e;--md-sys-color-on-surface: #111827;--md-sys-color-on-surface-rgb: 17, 24, 39;--md-sys-color-on-surface-variant: #3f4147;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: #374151;--md-sys-color-outline: #d1d5db;--md-sys-color-outline-variant: #e5e7eb;--md-sys-color-primary: var(--md-ref-palette-primary-40);--md-sys-color-primary-container: #ebebff;--md-sys-color-primary-hover: #4a4ac4;--md-sys-color-secondary: #5b5bd6;--md-sys-color-secondary-container: #ebebff;--md-sys-color-surface: var(--md-ref-palette-neutral-100);--md-sys-color-surface-container: #f3f4f6;--md-sys-color-surface-container-high: #ece6f0;--md-sys-color-surface-container-highest: #e5e7eb;--md-sys-color-surface-container-low: #f9fafb;--md-sys-color-surface-variant: #f9fafb;--md-sys-color-tertiary: #6b7280;--md-sys-color-tertiary-container: #f3f4f6;--md-sys-elevation-level1: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);--md-sys-elevation-level2: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--md-sys-motion-continuous-play-state: running;--md-sys-motion-duration-extra-long1: .7s;--md-sys-motion-duration-extra-long2: .8s;--md-sys-motion-duration-extra-long3: .9s;--md-sys-motion-duration-extra-long4: 1s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-linear: linear;--md-sys-motion-easing-standard: cubic-bezier(.4, 0, .2, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-progress-start: -50%;--md-sys-motion-ripple-visibility: visible;--md-sys-motion-spring-bouncy: cubic-bezier(.34, 1.56, .64, 1);--md-sys-motion-spring-fast: cubic-bezier(.33, 1, .68, 1);--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-full: 9999px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-small: 8px;--md-sys-state-disabled-opacity: .38;--md-sys-state-focus-opacity: .12;--md-sys-state-hover-opacity: .08;--md-sys-state-pressed-opacity: .12;--md-sys-typescale-body-large-font: Roboto, Arial, sans-serif;--md-sys-typescale-body-large-weight: 400;--md-sys-typescale-label-large-font: Roboto, Arial, sans-serif;--md-sys-typescale-label-large-line-height: 20px;--md-sys-typescale-label-large-size: 14px;--md-sys-typescale-label-large-weight: 500}@media(prefers-reduced-motion:reduce){:root,:root[theme=light]{--md-sys-motion-continuous-play-state: paused;--md-sys-motion-progress-start: 25%;--md-sys-motion-ripple-visibility: hidden;--md-sys-motion-duration-short1: 1ms;--md-sys-motion-duration-short2: 1ms;--md-sys-motion-duration-short3: 1ms;--md-sys-motion-duration-short4: 1ms;--md-sys-motion-duration-medium1: 1ms;--md-sys-motion-duration-medium2: 1ms;--md-sys-motion-duration-medium3: 1ms;--md-sys-motion-duration-medium4: 1ms;--md-sys-motion-duration-long1: 1ms;--md-sys-motion-duration-long2: 1ms;--md-sys-motion-duration-long3: 1ms;--md-sys-motion-duration-long4: 1ms;--md-sys-motion-duration-extra-long1: 1ms;--md-sys-motion-duration-extra-long2: 1ms;--md-sys-motion-duration-extra-long3: 1ms;--md-sys-motion-duration-extra-long4: 1ms}}:root[theme=dark]{--md-comp-divider-color: var(--md-sys-color-outline-variant);--md-comp-divider-motion-duration: var(--md-sys-motion-duration-long4);--md-comp-divider-motion-easing: var(--md-sys-motion-easing-emphasized-decelerate);--md-ref-palette-error-40: #b3261e;--md-ref-palette-error-80: #ffb4ab;--md-ref-palette-neutral-0: #000000;--md-ref-palette-neutral-10: #1a1a1a;--md-ref-palette-neutral-100: #ffffff;--md-ref-palette-neutral-90: #e5e7eb;--md-ref-palette-primary-40: #5b5bd6;--md-ref-palette-primary-80: #818cf8;--md-sys-color-error: var(--md-ref-palette-error-80);--md-sys-color-error-container: #93000a;--md-sys-color-inverse-on-surface: #322f35;--md-sys-color-inverse-surface: #f5eff7;--md-sys-color-on-error: #690005;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-on-primary: #1e1b4b;--md-sys-color-on-primary-container: #c7d2fe;--md-sys-color-on-secondary: #1e1b4b;--md-sys-color-on-secondary-container: #c7d2fe;--md-sys-color-on-surface: #f9fafb;--md-sys-color-on-surface-rgb: 249, 250, 251;--md-sys-color-on-surface-variant: #d4dae2;--md-sys-color-on-tertiary: #111827;--md-sys-color-on-tertiary-container: #d1d5db;--md-sys-color-outline: #374151;--md-sys-color-outline-variant: #1f2937;--md-sys-color-primary: var(--md-ref-palette-primary-80);--md-sys-color-primary-container: #312e81;--md-sys-color-primary-hover: #939cf9;--md-sys-color-secondary: #818cf8;--md-sys-color-secondary-container: #312e81;--md-sys-color-surface: #131313;--md-sys-color-surface-container: #1a1a1a;--md-sys-color-surface-container-high: #211f22;--md-sys-color-surface-container-highest: #262626;--md-sys-color-surface-container-low: #141414;--md-sys-color-surface-variant: #161616;--md-sys-color-tertiary: #9ca3af;--md-sys-color-tertiary-container: #1f2937;--md-sys-elevation-level1: 0 1px 2px rgba(0, 0, 0, .6), 0 1px 3px 1px rgba(0, 0, 0, .45);--md-sys-elevation-level2: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--md-sys-motion-continuous-play-state: running;--md-sys-motion-duration-extra-long1: .7s;--md-sys-motion-duration-extra-long2: .8s;--md-sys-motion-duration-extra-long3: .9s;--md-sys-motion-duration-extra-long4: 1s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-linear: linear;--md-sys-motion-easing-standard: cubic-bezier(.4, 0, .2, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-progress-start: -50%;--md-sys-motion-ripple-visibility: visible;--md-sys-motion-spring-bouncy: cubic-bezier(.34, 1.56, .64, 1);--md-sys-motion-spring-fast: cubic-bezier(.33, 1, .68, 1);--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-full: 9999px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-small: 8px;--md-sys-state-disabled-opacity: .38;--md-sys-state-focus-opacity: .12;--md-sys-state-hover-opacity: .08;--md-sys-state-pressed-opacity: .12;--md-sys-typescale-body-large-font: Roboto, Arial, sans-serif;--md-sys-typescale-body-large-weight: 400;--md-sys-typescale-label-large-font: Roboto, Arial, sans-serif;--md-sys-typescale-label-large-line-height: 20px;--md-sys-typescale-label-large-size: 14px;--md-sys-typescale-label-large-weight: 500}@media(prefers-reduced-motion:reduce){:root[theme=dark]{--md-sys-motion-continuous-play-state: paused;--md-sys-motion-progress-start: 25%;--md-sys-motion-ripple-visibility: hidden;--md-sys-motion-duration-short1: 1ms;--md-sys-motion-duration-short2: 1ms;--md-sys-motion-duration-short3: 1ms;--md-sys-motion-duration-short4: 1ms;--md-sys-motion-duration-medium1: 1ms;--md-sys-motion-duration-medium2: 1ms;--md-sys-motion-duration-medium3: 1ms;--md-sys-motion-duration-medium4: 1ms;--md-sys-motion-duration-long1: 1ms;--md-sys-motion-duration-long2: 1ms;--md-sys-motion-duration-long3: 1ms;--md-sys-motion-duration-long4: 1ms;--md-sys-motion-duration-extra-long1: 1ms;--md-sys-motion-duration-extra-long2: 1ms;--md-sys-motion-duration-extra-long3: 1ms;--md-sys-motion-duration-extra-long4: 1ms}}:root[theme=high-contrast]{--md-comp-divider-color: var(--md-sys-color-outline-variant);--md-comp-divider-motion-duration: var(--md-sys-motion-duration-long4);--md-comp-divider-motion-easing: var(--md-sys-motion-easing-emphasized-decelerate);--md-ref-palette-error-40: #b3261e;--md-ref-palette-error-80: #ffb4ab;--md-ref-palette-neutral-0: #000000;--md-ref-palette-neutral-10: #1a1a1a;--md-ref-palette-neutral-100: #ffffff;--md-ref-palette-neutral-90: #e5e7eb;--md-ref-palette-primary-40: #5b5bd6;--md-ref-palette-primary-80: #818cf8;--md-sys-color-error: #8e0000;--md-sys-color-error-container: #8e0000;--md-sys-color-inverse-on-surface: #ffffff;--md-sys-color-inverse-surface: #000000;--md-sys-color-on-error: #ffffff;--md-sys-color-on-error-container: #ffffff;--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: #ffffff;--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: #ffffff;--md-sys-color-on-surface: #000000;--md-sys-color-on-surface-rgb: 0, 0, 0;--md-sys-color-on-surface-variant: #000000;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: #ffffff;--md-sys-color-outline: #000000;--md-sys-color-outline-variant: #000000;--md-sys-color-primary: #0000ee;--md-sys-color-primary-container: #0000ee;--md-sys-color-primary-hover: #0000aa;--md-sys-color-secondary: #5200a3;--md-sys-color-secondary-container: #5200a3;--md-sys-color-surface: #ffffff;--md-sys-color-surface-container: #ffffff;--md-sys-color-surface-container-high: #ffffff;--md-sys-color-surface-container-highest: #ffffff;--md-sys-color-surface-container-low: #ffffff;--md-sys-color-surface-variant: #ffffff;--md-sys-color-tertiary: #005a00;--md-sys-color-tertiary-container: #005a00;--md-sys-elevation-level1: 0 0 0 1px #000000;--md-sys-elevation-level2: 0 0 0 2px #000000;--md-sys-motion-continuous-play-state: running;--md-sys-motion-duration-extra-long1: .7s;--md-sys-motion-duration-extra-long2: .8s;--md-sys-motion-duration-extra-long3: .9s;--md-sys-motion-duration-extra-long4: 1s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-linear: linear;--md-sys-motion-easing-standard: cubic-bezier(.4, 0, .2, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-progress-start: -50%;--md-sys-motion-ripple-visibility: visible;--md-sys-motion-spring-bouncy: cubic-bezier(.34, 1.56, .64, 1);--md-sys-motion-spring-fast: cubic-bezier(.33, 1, .68, 1);--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-full: 9999px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-small: 8px;--md-sys-state-disabled-opacity: .38;--md-sys-state-focus-opacity: .12;--md-sys-state-hover-opacity: .08;--md-sys-state-pressed-opacity: .12;--md-sys-typescale-body-large-font: Roboto, Arial, sans-serif;--md-sys-typescale-body-large-weight: 400;--md-sys-typescale-label-large-font: Roboto, Arial, sans-serif;--md-sys-typescale-label-large-line-height: 20px;--md-sys-typescale-label-large-size: 14px;--md-sys-typescale-label-large-weight: 500}:root[data-motion=reduced]{--md-sys-motion-continuous-play-state: paused;--md-sys-motion-progress-start: 25%;--md-sys-motion-ripple-visibility: hidden;--md-sys-motion-duration-short1: 1ms;--md-sys-motion-duration-short2: 1ms;--md-sys-motion-duration-short3: 1ms;--md-sys-motion-duration-short4: 1ms;--md-sys-motion-duration-medium1: 1ms;--md-sys-motion-duration-medium2: 1ms;--md-sys-motion-duration-medium3: 1ms;--md-sys-motion-duration-medium4: 1ms;--md-sys-motion-duration-long1: 1ms;--md-sys-motion-duration-long2: 1ms;--md-sys-motion-duration-long3: 1ms;--md-sys-motion-duration-long4: 1ms;--md-sys-motion-duration-extra-long1: 1ms;--md-sys-motion-duration-extra-long2: 1ms;--md-sys-motion-duration-extra-long3: 1ms;--md-sys-motion-duration-extra-long4: 1ms}@media(prefers-reduced-motion:reduce){:root[theme=high-contrast]{--md-sys-motion-continuous-play-state: paused;--md-sys-motion-progress-start: 25%;--md-sys-motion-ripple-visibility: hidden;--md-sys-motion-duration-short1: 1ms;--md-sys-motion-duration-short2: 1ms;--md-sys-motion-duration-short3: 1ms;--md-sys-motion-duration-short4: 1ms;--md-sys-motion-duration-medium1: 1ms;--md-sys-motion-duration-medium2: 1ms;--md-sys-motion-duration-medium3: 1ms;--md-sys-motion-duration-medium4: 1ms;--md-sys-motion-duration-long1: 1ms;--md-sys-motion-duration-long2: 1ms;--md-sys-motion-duration-long3: 1ms;--md-sys-motion-duration-long4: 1ms;--md-sys-motion-duration-extra-long1: 1ms;--md-sys-motion-duration-extra-long2: 1ms;--md-sys-motion-duration-extra-long3: 1ms;--md-sys-motion-duration-extra-long4: 1ms}}app-home .hero-preview{min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--md-sys-color-outline) 75%,transparent);border-radius:26px;background:var(--md-sys-color-surface);box-shadow:0 2px 4px color-mix(in srgb,var(--md-sys-color-on-surface) 7%,transparent),0 28px 70px color-mix(in srgb,var(--md-sys-color-on-surface) 16%,transparent);transform:rotate(1.5deg)}app-home .preview-toolbar{display:flex;align-items:center;gap:6px;min-height:46px;padding:0 14px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low)}app-home .preview-toolbar>span{inline-size:8px;block-size:8px;border-radius:50%;background:var(--md-sys-color-outline)}app-home .preview-toolbar>span:first-child{background:var(--md-sys-color-primary)}app-home .preview-address{min-width:0;margin-inline-start:8px;padding:5px 12px;overflow:hidden;border-radius:999px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface-variant);font-family:var(--font-mono);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}app-home .preview-content{padding:clamp(24px,4vw,40px)}app-home .preview-label{color:var(--md-sys-color-primary);font-size:.7rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}app-home .preview-content h2{margin:8px 0;font-size:clamp(1.4rem,3vw,2.1rem);letter-spacing:-.035em}app-home .preview-content>p{margin:0 0 28px;font-size:.875rem}app-home .preview-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;border:1px solid var(--md-sys-color-outline-variant);border-radius:18px;background:var(--md-sys-color-surface-container-low)}app-home .preview-setting>span{display:grid;gap:2px}app-home .preview-setting strong{font-size:.82rem}app-home .preview-setting small{color:var(--md-sys-color-on-surface-variant);font-size:.7rem}app-home .preview-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}app-home .home-footer{display:flex;justify-content:space-between;gap:16px;padding:28px 4px 0}app-home .frameworks{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;padding:22px}app-home .frameworks-label{margin:0;color:var(--md-sys-color-on-surface-variant);font-size:.75rem;font-weight:650}app-home .framework-badges{display:flex;flex-wrap:wrap;gap:8px}app-home .framework-badge{padding:5px 12px;border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface-variant);font-size:.72rem;font-weight:600}app-home .home-footer p{margin:0;color:var(--md-sys-color-on-surface-variant);font-size:.75rem}@media(max-width:980px){app-home .hero-preview{width:min(100%,560px);transform:none}}@media(max-width:640px){app-home .hero-preview{border-radius:20px}app-home .preview-content{padding:22px 18px}app-home .preview-setting small{display:none}app-home .home-footer{flex-direction:column;gap:4px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0ms!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important}:root{--md-sys-color-primary: #5b5bd6;--md-sys-color-primary-hover: #4a4ac4;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #ebebff;--md-sys-color-on-primary-container: #1e1e6e;--md-sys-color-secondary: #5b5bd6;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #ebebff;--md-sys-color-on-secondary-container: #1e1e6e;--md-sys-color-tertiary: #6b7280;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #f3f4f6;--md-sys-color-on-tertiary-container: #374151;--md-sys-color-surface: #ffffff;--md-sys-color-surface-variant: #f9fafb;--md-sys-color-surface-container: #f3f4f6;--md-sys-color-surface-container-low: #f9fafb;--md-sys-color-surface-container-highest: #e5e7eb;--md-sys-color-on-surface: #111827;--md-sys-color-on-surface-variant: #3f4147;--md-sys-color-outline: #d1d5db;--md-sys-color-outline-variant: #e5e7eb;--md-sys-elevation-level2: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace}:root[theme=dark]{--md-sys-color-primary: #818cf8;--md-sys-color-primary-hover: #939cf9;--md-sys-color-on-primary: #1e1b4b;--md-sys-color-primary-container: #312e81;--md-sys-color-on-primary-container: #c7d2fe;--md-sys-color-secondary: #818cf8;--md-sys-color-on-secondary: #1e1b4b;--md-sys-color-secondary-container: #312e81;--md-sys-color-on-secondary-container: #c7d2fe;--md-sys-color-tertiary: #9ca3af;--md-sys-color-on-tertiary: #111827;--md-sys-color-tertiary-container: #1f2937;--md-sys-color-on-tertiary-container: #d1d5db;--md-sys-color-surface: #131313;--md-sys-color-surface-variant: #161616;--md-sys-color-surface-container: #1a1a1a;--md-sys-color-surface-container-low: #141414;--md-sys-color-surface-container-highest: #262626;--md-sys-color-on-surface: #f9fafb;--md-sys-color-on-surface-variant: #d4dae2;--md-sys-color-outline: #374151;--md-sys-color-outline-variant: #1f2937;--md-sys-elevation-level2: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3)}:root[theme=emerald]{--md-sys-color-primary: #059669;--md-sys-color-primary-hover: #047857;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #d1fae5;--md-sys-color-on-primary-container: #064e3b;--md-sys-color-secondary: #059669;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #d1fae5;--md-sys-color-on-secondary-container: #064e3b;--md-sys-color-tertiary: #6b7280;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #f3f4f6;--md-sys-color-on-tertiary-container: #374151;--md-sys-color-surface: #ffffff;--md-sys-color-surface-variant: #f0fdf4;--md-sys-color-surface-container: #f0fdf4;--md-sys-color-surface-container-low: #f7fef9;--md-sys-color-surface-container-highest: #d1fae5;--md-sys-color-on-surface: #111827;--md-sys-color-on-surface-variant: #3f4147;--md-sys-color-outline: #d1d5db;--md-sys-color-outline-variant: #e5e7eb}:root[theme=emerald-dark]{--md-sys-color-primary: #34d399;--md-sys-color-primary-hover: #6ee7b7;--md-sys-color-on-primary: #064e3b;--md-sys-color-primary-container: #065f46;--md-sys-color-on-primary-container: #a7f3d0;--md-sys-color-secondary: #34d399;--md-sys-color-on-secondary: #064e3b;--md-sys-color-secondary-container: #065f46;--md-sys-color-on-secondary-container: #a7f3d0;--md-sys-color-tertiary: #9ca3af;--md-sys-color-on-tertiary: #111827;--md-sys-color-tertiary-container: #1f2937;--md-sys-color-on-tertiary-container: #d1d5db;--md-sys-color-surface: #131313;--md-sys-color-surface-variant: #161616;--md-sys-color-surface-container: #1a1a1a;--md-sys-color-surface-container-low: #141414;--md-sys-color-surface-container-highest: #262626;--md-sys-color-on-surface: #f9fafb;--md-sys-color-on-surface-variant: #d4dae2;--md-sys-color-outline: #374151;--md-sys-color-outline-variant: #1f2937}:root[theme=rose]{--md-sys-color-primary: #e11d48;--md-sys-color-primary-hover: #be123c;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #ffe4e6;--md-sys-color-on-primary-container: #881337;--md-sys-color-secondary: #e11d48;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #ffe4e6;--md-sys-color-on-secondary-container: #881337;--md-sys-color-tertiary: #6b7280;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #f3f4f6;--md-sys-color-on-tertiary-container: #374151;--md-sys-color-surface: #ffffff;--md-sys-color-surface-variant: #fff1f2;--md-sys-color-surface-container: #fff1f2;--md-sys-color-surface-container-low: #fff5f6;--md-sys-color-surface-container-highest: #fecdd3;--md-sys-color-on-surface: #111827;--md-sys-color-on-surface-variant: #3f4147;--md-sys-color-outline: #d1d5db;--md-sys-color-outline-variant: #e5e7eb}:root[theme=rose-dark]{--md-sys-color-primary: #fb7185;--md-sys-color-primary-hover: #fda4af;--md-sys-color-on-primary: #881337;--md-sys-color-primary-container: #9f1239;--md-sys-color-on-primary-container: #fecdd3;--md-sys-color-secondary: #fb7185;--md-sys-color-on-secondary: #881337;--md-sys-color-secondary-container: #9f1239;--md-sys-color-on-secondary-container: #fecdd3;--md-sys-color-tertiary: #9ca3af;--md-sys-color-on-tertiary: #111827;--md-sys-color-tertiary-container: #1f2937;--md-sys-color-on-tertiary-container: #d1d5db;--md-sys-color-surface: #131313;--md-sys-color-surface-variant: #161616;--md-sys-color-surface-container: #1a1a1a;--md-sys-color-surface-container-low: #141414;--md-sys-color-surface-container-highest: #262626;--md-sys-color-on-surface: #f9fafb;--md-sys-color-on-surface-variant: #d4dae2;--md-sys-color-outline: #374151;--md-sys-color-outline-variant: #1f2937}:root[theme=amber]{--md-sys-color-primary: #d97706;--md-sys-color-primary-hover: #b45309;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #fef3c7;--md-sys-color-on-primary-container: #78350f;--md-sys-color-secondary: #d97706;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #fef3c7;--md-sys-color-on-secondary-container: #78350f;--md-sys-color-tertiary: #6b7280;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #f3f4f6;--md-sys-color-on-tertiary-container: #374151;--md-sys-color-surface: #ffffff;--md-sys-color-surface-variant: #fffbeb;--md-sys-color-surface-container: #fffbeb;--md-sys-color-surface-container-low: #fffdf5;--md-sys-color-surface-container-highest: #fde68a;--md-sys-color-on-surface: #111827;--md-sys-color-on-surface-variant: #3f4147;--md-sys-color-outline: #d1d5db;--md-sys-color-outline-variant: #e5e7eb}:root[theme=amber-dark]{--md-sys-color-primary: #fbbf24;--md-sys-color-primary-hover: #fcd34d;--md-sys-color-on-primary: #78350f;--md-sys-color-primary-container: #92400e;--md-sys-color-on-primary-container: #fde68a;--md-sys-color-secondary: #fbbf24;--md-sys-color-on-secondary: #78350f;--md-sys-color-secondary-container: #92400e;--md-sys-color-on-secondary-container: #fde68a;--md-sys-color-tertiary: #9ca3af;--md-sys-color-on-tertiary: #111827;--md-sys-color-tertiary-container: #1f2937;--md-sys-color-on-tertiary-container: #d1d5db;--md-sys-color-surface: #131313;--md-sys-color-surface-variant: #161616;--md-sys-color-surface-container: #1a1a1a;--md-sys-color-surface-container-low: #141414;--md-sys-color-surface-container-highest: #262626;--md-sys-color-on-surface: #f9fafb;--md-sys-color-on-surface-variant: #d4dae2;--md-sys-color-outline: #374151;--md-sys-color-outline-variant: #1f2937}*,*:before,*:after{transition:background-color var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard)}*:where([class*=material-symbols],m3-button,m3-switch,m3-slider,m3-progress,m3-loading-indicator){transition:none}body{font-family:var(--font-sans);font-size:15px;line-height:1.6;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;color:var(--md-sys-color-on-surface);line-height:1.25;letter-spacing:-.01em}h1{font-size:clamp(1.75rem,3.5vw,2.5rem);margin-bottom:.75rem}h2{font-size:clamp(1.25rem,2.5vw,1.75rem);margin-top:1.5rem;margin-bottom:.75rem}h3{font-size:1.125rem;margin-bottom:.5rem}p{margin-bottom:1rem;line-height:1.7;color:var(--md-sys-color-on-surface-variant)}ul,ol{margin:.75rem 0;padding-inline-start:1.5rem}li{line-height:1.7}code{font-family:var(--font-mono);font-size:.8125rem;color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface-container);padding:2px 6px;border-radius:5px;border:1px solid var(--md-sys-color-outline-variant)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20;vertical-align:middle;display:inline-flex;align-items:center;justify-content:center;font-size:20px;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);-webkit-user-select:none;user-select:none}button,a,[role=button],m3-button,m3-navigation-rail-item,m3-navigation-rail-toggle,m3-menu-item,m3-fab,m3-switch,m3-checkbox,m3-radio-button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.fonts-loaded .material-symbols-outlined,:root.fonts-loaded .material-symbols-outlined{opacity:1}@keyframes icons-reveal{to{opacity:1}}.material-symbols-outlined{animation:icons-reveal var(--md-sys-motion-duration-short1) var(--md-sys-motion-duration-extra-long4) forwards}.page-container,.docs-page{min-width:0}.docs-page{display:grid;gap:clamp(18px,2.4vw,28px)}.docs-page :is(.demo-section,.section,.doc-section){min-width:0;margin:0;padding:clamp(20px,3vw,32px);overflow:clip;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:clamp(20px,2.5vw,28px);box-shadow:0 1px 2px color-mix(in srgb,var(--md-sys-color-on-surface) 4%,transparent),0 12px 32px color-mix(in srgb,var(--md-sys-color-on-surface) 4%,transparent)}.docs-page :is(.demo-section,.section,.doc-section)>h2{display:flex;align-items:center;gap:10px;margin:0;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:680;letter-spacing:-.025em}.docs-page :is(.demo-section,.section,.doc-section)>h2:before{content:"";inline-size:5px;block-size:1.15em;flex:0 0 auto;border-radius:999px;background:var(--md-sys-color-primary)}.docs-page :is(.demo-section,.section,.doc-section)>p:first-of-type,.docs-page .section-description{max-width:72ch;margin:10px 0 20px;color:var(--md-sys-color-on-surface-variant);font-size:.925rem}.docs-page :is(.variant-card,.pattern-card,.interactive-demo){min-width:0;margin-top:18px;padding:clamp(16px,2.2vw,24px);background:var(--md-sys-color-surface-container-low);border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 80%,transparent);border-radius:clamp(16px,2vw,20px)}.docs-page :is(.variant-card,.pattern-card,.interactive-demo):first-child{margin-top:0}.docs-page :is(.variant-card,.pattern-card)>.interactive-demo{background:var(--md-sys-color-surface)}.docs-page .variant-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.docs-page .variant-header h3,.docs-page .pattern-card h4{margin:0;font-size:.95rem;font-weight:680;letter-spacing:-.01em}.docs-page :is(.demo-row,.demo-buttons,.button-group){display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.docs-page :is(.demo-row,.demo-buttons){min-height:52px}.docs-page .feature-list{margin:14px 0 0}.docs-page .feature-list li+li{margin-top:6px}.docs-page .accessibility{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary-container) 34%,var(--md-sys-color-surface)),var(--md-sys-color-surface))}.docs-page .accessibility .feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;list-style:none;padding:0}.docs-page .accessibility .feature-list li,.docs-page .accessibility .feature-list li+li{margin:0;padding:14px 16px;background:color-mix(in srgb,var(--md-sys-color-surface) 84%,transparent);border:1px solid var(--md-sys-color-outline-variant);border-radius:14px}.docs-page .accessibility .feature-list strong{color:var(--md-sys-color-primary)}.docs-page :is(.code-sample,app-code-block){display:block;min-width:0;margin-top:16px}.page-section{width:100%;max-width:860px;padding:clamp(20px,3vw,30px);background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:22px;box-shadow:0 10px 28px color-mix(in srgb,var(--md-sys-color-on-surface) 4%,transparent)}.page-section h2,.comp-section h2{margin:0 0 12px;color:var(--md-sys-color-primary);font-size:.75rem;font-weight:750;letter-spacing:.075em;text-transform:uppercase}.page-section>p{margin:0 0 18px;color:var(--md-sys-color-on-surface-variant);font-size:.9375rem;line-height:1.7}.page-section>p:last-child{margin-bottom:0}@media(max-width:600px){.docs-page{gap:16px}.docs-page :is(.demo-section,.section,.doc-section){padding:18px 16px;border-radius:20px}.docs-page :is(.variant-card,.pattern-card,.interactive-demo){padding:16px 14px;border-radius:16px}.page-section{padding:20px 17px;border-radius:18px}}.button-group{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.875rem;align-items:center}
