:where(.fab-button,.fab-checkbox,.fab-radio,.fab-switch,.fab-input,.fab-textarea,.fab-select__trigger,.fab-dialog__close,.fab-tabs__trigger,.fab-toast__action,.fab-toast__close,.fab-tooltip__trigger),.fab-theme *,.fab-theme :before,.fab-theme :after{box-sizing:border-box}@media (prefers-reduced-motion:reduce){.fab-theme *,.fab-theme :before,.fab-theme :after,:root :where(.fab-button,.fab-button__spinner,.fab-checkbox,.fab-radio,.fab-switch,.fab-input,.fab-textarea,.fab-select__trigger,.fab-select__content,.fab-dialog__overlay,.fab-dialog__content,.fab-tabs__trigger,.fab-toast__root,.fab-tooltip__content){scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes fab-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fab-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fab-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.fab-animate-in,.fab-animate-in-fast,.fab-animate-scale-in,.fab-reveal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}:root,.fab-theme{--fab-paper:#fff;--fab-surface:#fafafa;--fab-surface-raised:#fff;--fab-surface-sunken:#f4f4f5;--fab-ink:#09090b;--fab-ink-muted:#71717a;--fab-ink-subtle:#a1a1aa;--fab-line:#e4e4e7;--fab-line-strong:#d4d4d8;--fab-line-focus:#09090b;--fab-accent:#09090b;--fab-accent-hover:#27272a;--fab-accent-soft:#f4f4f5;--fab-accent-glow:#71717a;--fab-on-accent:#fff;--fab-danger:#dc2626;--fab-danger-hover:#b91c1c;--fab-danger-soft:#fef2f2;--fab-on-danger:#fff;--fab-success:#16a34a;--fab-success-soft:#f0fdf4;--fab-warning:#d97706;--fab-warning-soft:#fffbeb;--fab-info:#2563eb;--fab-info-soft:#eff6ff;--fab-focus:#09090b;--fab-code-bg:#09090b;--fab-code-bar:#18181b;--fab-code-line:#27272a;--fab-code-text:#f4f4f5;--fab-code-muted:#71717a;--fab-code-comment:#71717a;--fab-code-punctuation:#a1a1aa;--fab-code-accent:#38bdf8;--fab-code-number:#fbbf24;--fab-code-string:#4ade80;--fab-code-keyword:#60a5fa;--fab-code-error:#f87171;--fab-code-error-bg:#dc262626;--fab-footer-bg:#09090b;--fab-footer-ink:#fafafa;--fab-footer-muted:#71717a;--fab-space-1:4px;--fab-space-2:8px;--fab-space-3:12px;--fab-space-4:16px;--fab-space-5:20px;--fab-space-6:24px;--fab-space-7:28px;--fab-space-8:32px;--fab-space-9:36px;--fab-space-10:40px;--fab-space-12:48px;--fab-space-14:56px;--fab-space-16:64px;--fab-space-20:80px;--fab-space-24:96px;--fab-type-display:700 clamp(32px, 4.5vw, 48px) / 1.15 var(--fab-font-display);--fab-type-title:600 clamp(22px, 3vw, 30px) / 1.25 var(--fab-font-display);--fab-type-heading:600 clamp(16px, 2vw, 20px) / 1.35 var(--fab-font-display);--fab-type-subheading:500 15px / 1.5 var(--fab-font-sans);--fab-type-body:400 14px / 1.6 var(--fab-font-sans);--fab-type-body-sm:400 13px / 1.5 var(--fab-font-sans);--fab-type-label:600 13px / 1.4 var(--fab-font-sans);--fab-type-caption:500 12px / 1.5 var(--fab-font-sans);--fab-type-meta:600 11px / 1.2 var(--fab-font-mono);--fab-type-micro:500 10px / 1.2 var(--fab-font-mono);--fab-radius-sm:4px;--fab-radius:6px;--fab-radius-md:8px;--fab-radius-large:10px;--fab-radius-xl:14px;--fab-radius-2xl:20px;--fab-radius-full:9999px;--fab-shadow-xs:0 1px 2px 0 #0000000d;--fab-shadow-sm:0 1px 3px 0 #00000014, 0 1px 2px -1px #00000014;--fab-shadow:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000f;--fab-shadow-md:0 10px 15px -3px #0000000f, 0 4px 6px -4px #0000000a;--fab-shadow-lg:0 20px 25px -5px #0000000f, 0 8px 10px -6px #0000000a;--fab-shadow-xl:0 25px 50px -12px #0000001f;--fab-shadow-overlay:0 25px 50px -12px #0003, 0 0 0 1px #0000000f;--fab-shadow-dialog:0 25px 50px -12px #00000040, 0 0 0 1px #00000014;--fab-shadow-glow:0 0 0 1px var(--fab-accent);--fab-elevation-1:var(--fab-shadow-xs);--fab-elevation-2:var(--fab-shadow-sm);--fab-elevation-3:var(--fab-shadow);--fab-elevation-4:var(--fab-shadow-md);--fab-elevation-5:var(--fab-shadow-lg);--fab-z-dropdown:100;--fab-z-select:100;--fab-z-tooltip:200;--fab-z-dialog:300;--fab-z-dialog-content:301;--fab-z-toast:400;--fab-z-modal:500;--fab-font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fab-font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--fab-font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fab-control-sm:32px;--fab-control-height:38px;--fab-control-lg:44px;--fab-control-xl:50px;--fab-transition-fast:.1s cubic-bezier(.16, 1, .3, 1);--fab-transition:.15s cubic-bezier(.16, 1, .3, 1);--fab-transition-slow:.22s cubic-bezier(.16, 1, .3, 1);--fab-easing:cubic-bezier(.16, 1, .3, 1);--fab-easing-spring:cubic-bezier(.34, 1.56, .64, 1);color:var(--fab-ink);background:var(--fab-paper);font-family:var(--fab-font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fab-theme[data-fab-theme=dark]{--fab-paper:#09090b;--fab-surface:#121215;--fab-surface-raised:#18181b;--fab-surface-sunken:#09090b;--fab-ink:#fafafa;--fab-ink-muted:#a1a1aa;--fab-ink-subtle:#71717a;--fab-line:#27272a;--fab-line-strong:#3f3f46;--fab-line-focus:#fafafa;--fab-accent:#fafafa;--fab-accent-hover:#e4e4e7;--fab-accent-soft:#27272a;--fab-accent-glow:#a1a1aa;--fab-on-accent:#09090b;--fab-danger:#ef4444;--fab-danger-hover:#f87171;--fab-danger-soft:#ef444426;--fab-on-danger:#fff;--fab-success:#22c55e;--fab-success-soft:#22c55e26;--fab-warning:#f59e0b;--fab-warning-soft:#f59e0b26;--fab-info:#3b82f6;--fab-info-soft:#3b82f626;--fab-focus:#fafafa;--fab-footer-bg:#09090b;--fab-footer-ink:#fafafa;--fab-footer-muted:#71717a;--fab-code-bg:#09090b;--fab-code-bar:#121215;--fab-code-line:#27272a;--fab-code-text:#f4f4f5;--fab-code-muted:#71717a;--fab-code-comment:#71717a;--fab-code-punctuation:#a1a1aa;--fab-code-accent:#38bdf8;--fab-code-number:#fbbf24;--fab-code-string:#4ade80;--fab-code-keyword:#60a5fa;--fab-code-error:#f87171;--fab-code-error-bg:#ef444433;--fab-shadow-xs:0 1px 2px 0 #0000004d;--fab-shadow-sm:0 2px 4px 0 #0006;--fab-shadow:0 4px 8px -1px #0006;--fab-shadow-md:0 10px 20px -3px #00000080;--fab-shadow-lg:0 20px 30px -5px #0009;--fab-shadow-xl:0 25px 50px -12px #000000b3;--fab-shadow-overlay:0 25px 50px -12px #000c, 0 0 0 1px #ffffff14;--fab-shadow-dialog:0 25px 50px -12px #000000e6, 0 0 0 1px #ffffff1a;--fab-shadow-glow:0 0 0 1px var(--fab-accent)}:where(.fab-button,.fab-checkbox,.fab-radio,.fab-switch,.fab-input,.fab-textarea,.fab-select__trigger,.fab-dialog__close,.fab-tabs__trigger,.fab-toast__action,.fab-toast__close,.fab-tooltip__trigger),.fab-theme *,.fab-theme :before,.fab-theme :after{box-sizing:border-box}.fab-theme :focus-visible,:root :where(.fab-button,.fab-checkbox,.fab-radio,.fab-switch,.fab-input,.fab-textarea,.fab-select__trigger,.fab-dialog__close,.fab-tabs__trigger,.fab-toast__action,.fab-toast__close,.fab-tooltip__trigger):focus-visible{outline:2px solid var(--fab-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.fab-theme *,.fab-theme :before,.fab-theme :after,:root :where(.fab-button,.fab-button__spinner,.fab-checkbox,.fab-radio,.fab-switch,.fab-input,.fab-textarea,.fab-select__trigger,.fab-select__content,.fab-dialog__overlay,.fab-dialog__content,.fab-tabs__trigger,.fab-toast__root,.fab-tooltip__content){scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fab-animate-in{animation:fab-fade-up .5s var(--fab-easing) both}.fab-animate-in-fast{animation:fab-fade-up .35s var(--fab-easing) both}.fab-animate-scale-in{animation:fab-scale-in .35s var(--fab-easing-spring) both}.fab-stagger-1{animation-delay:60ms}.fab-stagger-2{animation-delay:.12s}.fab-stagger-3{animation-delay:.18s}.fab-stagger-4{animation-delay:.24s}.fab-stagger-5{animation-delay:.3s}.fab-stagger-6{animation-delay:.36s}.fab-reveal{opacity:1;transition:opacity .5s var(--fab-easing), transform .5s var(--fab-easing);transform:none}@media (prefers-reduced-motion:reduce){.fab-animate-in,.fab-animate-in-fast,.fab-animate-scale-in,.fab-reveal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}.fab-button{min-width:0;min-height:var(--fab-control-height);border-radius:var(--fab-radius);font:500 13px/1 var(--fab-font-sans);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast), border-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast), transform 60ms ease-out;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;display:inline-flex;position:relative}.fab-button:active:not(:disabled,[aria-disabled=true]){transform:scale(.98)}.fab-button:disabled,.fab-button[aria-disabled=true]{cursor:not-allowed;opacity:.5;pointer-events:none}.fab-button.primary{color:var(--fab-on-accent);background:var(--fab-accent);border-color:var(--fab-accent);box-shadow:var(--fab-shadow-xs)}.fab-button.primary:hover:not(:disabled,[aria-disabled=true]){background:var(--fab-accent-hover);border-color:var(--fab-accent-hover)}.fab-button.secondary{color:var(--fab-ink);background:var(--fab-surface-sunken);border-color:var(--fab-line);box-shadow:var(--fab-shadow-xs)}.fab-button.secondary:hover:not(:disabled,[aria-disabled=true]){background:var(--fab-surface);border-color:var(--fab-line-strong)}.fab-button.outline{color:var(--fab-ink);background:var(--fab-paper);border-color:var(--fab-line);box-shadow:var(--fab-shadow-xs)}.fab-button.outline:hover:not(:disabled,[aria-disabled=true]){background:var(--fab-surface);border-color:var(--fab-line-strong)}.fab-button.ghost{color:var(--fab-ink-muted);box-shadow:none;background:0 0;border-color:#0000}.fab-button.ghost:hover:not(:disabled,[aria-disabled=true]){color:var(--fab-ink);background:var(--fab-surface)}.fab-button.ghost:active:not(:disabled,[aria-disabled=true]){background:var(--fab-surface-sunken)}.fab-button.danger{color:var(--fab-on-danger);background:var(--fab-danger);border-color:var(--fab-danger);box-shadow:var(--fab-shadow-xs)}.fab-button.danger:hover:not(:disabled,[aria-disabled=true]){background:var(--fab-danger-hover);border-color:var(--fab-danger-hover)}.fab-button.sm{min-height:var(--fab-control-sm);border-radius:var(--fab-radius-sm);gap:6px;padding-inline:12px;font-size:12px}.fab-button.lg{min-height:var(--fab-control-lg);border-radius:var(--fab-radius);padding-inline:20px;font-size:14px}.fab-button.xl{min-height:var(--fab-control-xl);border-radius:var(--fab-radius-large);padding-inline:24px;font-size:15px}.fab-button.icon{width:var(--fab-control-height);border-radius:var(--fab-radius);padding:0}.fab-button.icon.sm{width:var(--fab-control-sm);border-radius:var(--fab-radius-sm)}.fab-button.icon.lg{width:var(--fab-control-lg);border-radius:var(--fab-radius)}.fab-button.icon.xl{width:var(--fab-control-xl);border-radius:var(--fab-radius-large)}.fab-button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite fab-spin}@keyframes fab-spin{to{transform:rotate(360deg)}}.fab-button[data-loading]{pointer-events:none}.fab-badge{border:1px solid var(--fab-line);border-radius:var(--fab-radius-full);min-height:20px;color:var(--fab-ink);background:var(--fab-surface-sunken);font:500 11px/1.3 var(--fab-font-sans);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:5px;padding:1px 8px;display:inline-flex}.fab-badge.neutral{color:var(--fab-ink);background:var(--fab-surface-sunken);border-color:var(--fab-line)}.fab-badge.info{color:var(--fab-info);background:var(--fab-info-soft);border-color:color-mix(in srgb, var(--fab-info) 25%, transparent)}.fab-badge.success{color:var(--fab-success);background:var(--fab-success-soft);border-color:color-mix(in srgb, var(--fab-success) 25%, transparent)}.fab-badge.warning{color:var(--fab-warning);background:var(--fab-warning-soft);border-color:color-mix(in srgb, var(--fab-warning) 25%, transparent)}.fab-badge.danger{color:var(--fab-danger);background:var(--fab-danger-soft);border-color:color-mix(in srgb, var(--fab-danger) 25%, transparent)}.fab-field{gap:6px;min-width:0;display:grid;position:relative}.fab-field__label{color:var(--fab-ink);font:500 13px/1.3 var(--fab-font-sans);letter-spacing:-.01em;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fab-field__required{color:var(--fab-ink-subtle);font:500 11px/1 var(--fab-font-mono);letter-spacing:.02em;text-transform:uppercase}.fab-field__description,.fab-field__error{color:var(--fab-ink-muted);text-wrap:pretty;margin:0;font-size:12px;line-height:1.45}.fab-field__error{color:var(--fab-danger);font-weight:500}.fab-field:has([aria-invalid=true]) .fab-field__label{color:var(--fab-danger)}.fab-input,.fab-textarea{width:100%;min-height:var(--fab-control-height);border:1px solid var(--fab-line);border-radius:var(--fab-radius);color:var(--fab-ink);background:var(--fab-paper);caret-color:var(--fab-ink);font:400 13px/1.5 var(--fab-font-sans);transition:border-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast), background-color var(--fab-transition-fast);padding:8px 12px}.fab-input::placeholder,.fab-textarea::placeholder{color:var(--fab-ink-subtle);opacity:1}.fab-input:hover:not(:disabled),.fab-textarea:hover:not(:disabled){border-color:var(--fab-line-strong)}.fab-input:focus,.fab-textarea:focus{border-color:var(--fab-focus);box-shadow:0 0 0 1px var(--fab-focus);background:var(--fab-paper);outline:none}.fab-input:disabled,.fab-textarea:disabled{cursor:not-allowed;color:var(--fab-ink-subtle);background:var(--fab-surface-sunken);opacity:.6;border-color:var(--fab-line)}.fab-input[aria-invalid=true],.fab-textarea[aria-invalid=true]{border-color:var(--fab-danger)}.fab-input[aria-invalid=true]:focus,.fab-textarea[aria-invalid=true]:focus{border-color:var(--fab-danger);box-shadow:0 0 0 1px var(--fab-danger)}.fab-textarea{resize:vertical;resize:vertical;min-height:104px;line-height:1.5}.fab-checkbox{border:1px solid var(--fab-line-strong);border-radius:var(--fab-radius-sm);width:16px;height:16px;color:var(--fab-on-accent);background:var(--fab-paper);cursor:pointer;touch-action:manipulation;transition:background-color var(--fab-transition-fast), border-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast);flex:none;place-items:center;padding:0;display:inline-grid}.fab-checkbox:hover:not(:disabled){border-color:var(--fab-ink)}.fab-checkbox:focus-visible{outline:2px solid var(--fab-focus);outline-offset:2px}.fab-checkbox[data-state=checked],.fab-checkbox[data-state=indeterminate]{border-color:var(--fab-accent);background:var(--fab-accent);color:var(--fab-on-accent)}.fab-checkbox:disabled{cursor:not-allowed;opacity:.5;background:var(--fab-surface-sunken);border-color:var(--fab-line)}.fab-checkbox__indicator{place-items:center;width:100%;height:100%;display:grid}.fab-checkbox__indicator svg{width:12px;height:12px}.fab-switch{border:1px solid var(--fab-line-strong);border-radius:var(--fab-radius-full);background:var(--fab-surface-sunken);cursor:pointer;touch-action:manipulation;width:36px;height:20px;transition:background-color var(--fab-transition-fast), border-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast);flex:none;padding:0;position:relative}.fab-switch:hover:not(:disabled){border-color:var(--fab-ink-muted)}.fab-switch:focus-visible{outline:2px solid var(--fab-focus);outline-offset:2px}.fab-switch[data-state=checked]{border-color:var(--fab-accent);background:var(--fab-accent)}.fab-switch:disabled{cursor:not-allowed;opacity:.5}.fab-switch__thumb{background:var(--fab-paper);width:14px;height:14px;transition:transform var(--fab-transition-fast), background-color var(--fab-transition-fast);will-change:transform;border-radius:50%;display:block;transform:translate(2px);box-shadow:0 1px 2px #0000002e}.fab-switch[data-state=checked] .fab-switch__thumb{background:var(--fab-on-accent);transform:translate(18px)}.fab-radio-group{flex-wrap:wrap;gap:12px 20px;display:inline-flex}.fab-radio-group[data-orientation=vertical]{flex-direction:column;gap:10px}.fab-radio{border:1px solid var(--fab-line-strong);background:var(--fab-paper);cursor:pointer;touch-action:manipulation;width:16px;height:16px;transition:border-color var(--fab-transition-fast), background-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast);border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.fab-radio:hover:not(:disabled){border-color:var(--fab-ink)}.fab-radio:focus-visible{outline:2px solid var(--fab-focus);outline-offset:2px}.fab-radio[data-state=checked]{border-color:var(--fab-accent)}.fab-radio:disabled{cursor:not-allowed;opacity:.5;background:var(--fab-surface-sunken);border-color:var(--fab-line)}.fab-radio__indicator{place-items:center;width:100%;height:100%;display:grid}.fab-radio__indicator:after{background:var(--fab-accent);content:"";border-radius:50%;width:8px;height:8px}.fab-select__trigger{width:100%;min-height:var(--fab-control-height);border:1px solid var(--fab-line);border-radius:var(--fab-radius);color:var(--fab-ink);background:var(--fab-paper);font:400 13px/1.4 var(--fab-font-sans);text-align:left;cursor:pointer;touch-action:manipulation;transition:border-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast), background-color var(--fab-transition-fast);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.fab-select__trigger:hover:not(:disabled){border-color:var(--fab-line-strong)}.fab-select__trigger[data-placeholder]{color:var(--fab-ink-subtle)}.fab-select__trigger:focus-visible,.fab-select__trigger[data-state=open]{border-color:var(--fab-focus);box-shadow:0 0 0 1px var(--fab-focus);outline:none}.fab-select__trigger:disabled{cursor:not-allowed;opacity:.5;background:var(--fab-surface-sunken)}.fab-select__chevron{width:14px;height:14px;color:var(--fab-ink-muted);transition:transform var(--fab-transition-fast)}.fab-select__trigger[data-state=open] .fab-select__chevron{transform:rotate(180deg)}.fab-select__content{z-index:100;min-width:var(--radix-select-trigger-width);max-height:min(320px, var(--radix-select-content-available-height));border:1px solid var(--fab-line);border-radius:var(--fab-radius);color:var(--fab-ink);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-md);animation:.12s cubic-bezier(.2,.8,.2,1) fab-select-in;overflow:hidden}.fab-select__content[data-state=closed]{animation:.1s ease-in fab-select-out}.fab-select__viewport{padding:4px}.fab-select__item{border-radius:var(--fab-radius-sm);min-height:34px;color:var(--fab-ink);cursor:default;-webkit-user-select:none;user-select:none;transition:background-color var(--fab-transition-fast), color var(--fab-transition-fast);outline:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 28px 6px 8px;font-size:13px;line-height:1.35;display:flex;position:relative}.fab-select__item[data-highlighted]{color:var(--fab-ink);background:var(--fab-surface-sunken)}.fab-select__item[data-state=checked]{font-weight:550}.fab-select__item[data-disabled]{opacity:.45;cursor:not-allowed}.fab-select__item-indicator{width:14px;height:14px;color:var(--fab-ink);position:absolute;right:8px}.fab-select__label,.fab-select__scroll-button{color:var(--fab-ink-subtle);font:600 10px/1 var(--fab-font-mono);letter-spacing:.05em;text-transform:uppercase}.fab-select__label{padding:6px 8px 4px}.fab-select__scroll-button{background:0 0;border:0;place-items:center;width:100%;height:24px;display:grid}.fab-select__separator{background:var(--fab-line);height:1px;margin:4px}@keyframes fab-select-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes fab-select-out{to{opacity:0;transform:translateY(-3px)scale(.98)}}.fab-toast__viewport{z-index:300;outline:none;flex-direction:column;gap:8px;width:min(360px,100vw - 40px);margin:0;padding:0;list-style:none;display:flex;position:fixed;bottom:20px;right:20px}.fab-toast__root{border:1px solid var(--fab-line);border-radius:var(--fab-radius);color:var(--fab-ink);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-lg);grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:12px 36px 12px 14px;display:grid;position:relative}.fab-toast__root[data-state=open]{animation:.16s cubic-bezier(.2,.8,.2,1) fab-toast-in}.fab-toast__root[data-state=closed]{animation:.12s ease-in fab-toast-out}.fab-toast__root[data-swipe=move]{transform:translateY(var(--radix-toast-swipe-move-y))}.fab-toast__root[data-swipe=cancel]{transition:transform .14s ease-out;transform:translateY(0)}.fab-toast__root[data-swipe=end]{animation:.1s ease-out fab-toast-swipe-out}.fab-toast__title{letter-spacing:-.01em;color:var(--fab-ink);margin:0;font-size:13px;font-weight:600;line-height:1.35}.fab-toast__description{color:var(--fab-ink-muted);text-wrap:pretty;grid-column:1;margin:0;font-size:12px;line-height:1.45}.fab-toast__action{border:1px solid var(--fab-line);border-radius:var(--fab-radius-sm);min-height:28px;color:var(--fab-ink);background:var(--fab-surface);font:550 12px/1.2 var(--fab-font-sans);cursor:pointer;touch-action:manipulation;transition:background-color var(--fab-transition-fast), border-color var(--fab-transition-fast);grid-area:1/2/span 2;align-self:center;padding:4px 10px}.fab-toast__action:hover{background:var(--fab-surface-sunken);border-color:var(--fab-line-strong)}.fab-toast__close{border-radius:var(--fab-radius-sm);width:22px;height:22px;color:var(--fab-ink-muted);cursor:pointer;touch-action:manipulation;transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.fab-toast__close:hover{color:var(--fab-ink);background:var(--fab-surface-sunken)}.fab-toast__close svg{width:13px;height:13px}@keyframes fab-toast-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fab-toast-out{to{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes fab-toast-swipe-out{to{transform:translateY(var(--radix-toast-swipe-end-y))}}@media (width<=560px){.fab-toast__viewport{right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:auto;left:12px}}.fab-dialog__overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;animation:.14s ease-out fab-overlay-in;position:fixed;inset:0}.fab-dialog__content{z-index:201;overscroll-behavior:contain;border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);width:min(100% - 32px,480px);max-height:min(640px,100svh - 32px);color:var(--fab-ink);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-xl);padding:24px;animation:.16s cubic-bezier(.2,.8,.2,1) fab-dialog-in;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.fab-dialog__content:focus{outline:none}.fab-dialog__title{max-width:400px;font-family:var(--fab-font-display);letter-spacing:-.02em;color:var(--fab-ink);margin:0 36px 6px 0;font-size:18px;font-weight:600;line-height:1.3}.fab-dialog__description{max-width:54ch;color:var(--fab-ink-muted);text-wrap:pretty;margin:0 0 20px;font-size:14px;line-height:1.5}.fab-dialog__close{border-radius:var(--fab-radius-sm);width:28px;height:28px;color:var(--fab-ink-muted);cursor:pointer;touch-action:manipulation;transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast);background:0 0;border:none;place-items:center;padding:0;display:grid;position:absolute;top:16px;right:16px}.fab-dialog__close:hover{background:var(--fab-surface-sunken);color:var(--fab-ink)}.fab-dialog__close svg{width:16px;height:16px}.fab-dialog__content[data-state=closed]{animation:.12s ease-in fab-dialog-out}.fab-dialog__overlay[data-state=closed]{animation:.12s ease-in fab-overlay-out}@keyframes fab-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes fab-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes fab-dialog-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes fab-dialog-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.98)}}@media (width<=560px){.fab-dialog__content{top:auto;right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:auto;max-height:calc(100svh - 24px);padding:20px;left:12px;transform:none}@keyframes fab-dialog-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fab-dialog-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}}.fab-tooltip__content{z-index:150;border:1px solid var(--fab-line-strong);border-radius:var(--fab-radius-sm);max-width:min(280px,100vw - 32px);color:var(--fab-paper);background:var(--fab-ink);box-shadow:var(--fab-shadow-sm);font:500 11px/1.4 var(--fab-font-sans);letter-spacing:.01em;text-wrap:pretty;transform-origin:var(--radix-tooltip-content-transform-origin);padding:4px 8px;animation:.1s cubic-bezier(.2,.8,.2,1) fab-tooltip-in}.fab-tooltip__content[data-state=closed]{animation:80ms ease-in fab-tooltip-out}.fab-tooltip__arrow{fill:var(--fab-ink)}.fab-tooltip__trigger:focus-visible{outline:2px solid var(--fab-focus);outline-offset:2px}.fab-tooltip__icon{width:var(--fab-control-height);height:var(--fab-control-height);border:1px solid var(--fab-line);border-radius:var(--fab-radius);color:var(--fab-ink);background:var(--fab-paper);cursor:pointer;touch-action:manipulation;transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast), border-color var(--fab-transition-fast);place-items:center;padding:0;font-size:15px;display:inline-grid}.fab-tooltip__icon:hover:not(:disabled){border-color:var(--fab-line-strong);background:var(--fab-surface)}@keyframes fab-tooltip-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fab-tooltip-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.fab-tabs{gap:16px;display:grid}.fab-tabs__list{border-bottom:1px solid var(--fab-line);flex-wrap:wrap;gap:4px;display:flex;position:relative}.fab-tabs__trigger{border-radius:var(--fab-radius-sm) var(--fab-radius-sm) 0 0;min-height:36px;color:var(--fab-ink-muted);font:500 13px/1.2 var(--fab-font-sans);letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast);background:0 0;border:0;align-items:center;gap:6px;padding:8px 12px;display:inline-flex;position:relative}.fab-tabs__trigger:hover:not(:disabled){color:var(--fab-ink);background:var(--fab-surface)}.fab-tabs__trigger:focus-visible{outline:2px solid var(--fab-focus);outline-offset:-2px}.fab-tabs__trigger[data-state=active]{color:var(--fab-ink);font-weight:600}.fab-tabs__trigger[data-state=active]:after{background:var(--fab-ink);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.fab-tabs__trigger:disabled{cursor:not-allowed;opacity:.45}.fab-tabs__content{color:var(--fab-ink);outline:none;font-size:13px;line-height:1.6}.fab-tabs__content p{max-width:60ch;color:var(--fab-ink-muted);text-wrap:pretty;margin:0}.fab-tabs__content p+p{margin-top:8px}.fab-alert{border:1px solid var(--fab-line);border-radius:var(--fab-radius);background:var(--fab-surface);color:var(--fab-ink);gap:4px;padding:12px 16px;display:grid}.fab-alert.neutral{border-color:var(--fab-line-strong);background:var(--fab-surface-sunken)}.fab-alert.danger{border-color:color-mix(in srgb, var(--fab-danger) 30%, transparent);background:var(--fab-danger-soft)}.fab-alert.danger .fab-alert__title{color:var(--fab-danger)}.fab-alert.warning{border-color:color-mix(in srgb, var(--fab-warning) 30%, transparent);background:var(--fab-warning-soft)}.fab-alert.warning .fab-alert__title{color:var(--fab-warning)}.fab-alert__title{font:600 13px/1.35 var(--fab-font-sans);letter-spacing:-.01em;margin:0}.fab-alert__description{color:var(--fab-ink-muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.5}.fab-alert__actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.fab-alert-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.fab-card{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-xs);transition:border-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast);gap:16px;padding:20px 24px;display:grid}.fab-card.interactive{cursor:pointer;color:inherit;text-decoration:none}.fab-card.interactive:hover{border-color:var(--fab-line-strong);box-shadow:var(--fab-shadow-sm)}.fab-card.interactive:focus-visible{outline:2px solid var(--fab-focus);outline-offset:2px}.fab-card.elevated{box-shadow:var(--fab-shadow-md);border-color:var(--fab-line)}.fab-card.sunken{background:var(--fab-surface-sunken);box-shadow:none;border-color:var(--fab-line)}.fab-card__header{gap:4px;display:grid}.fab-card__title{font-family:var(--fab-font-display);letter-spacing:-.015em;color:var(--fab-ink);margin:0;font-size:16px;font-weight:600}.fab-card__description{color:var(--fab-ink-muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.5}.fab-card__body{min-width:0;color:var(--fab-ink);gap:12px;font-size:14px;line-height:1.5;display:grid}.fab-card__footer{border-top:1px solid var(--fab-line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;padding-top:14px;display:flex}.fab-accordion{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-xs);display:grid;overflow:hidden}.fab-accordion__item+.fab-accordion__item{border-top:1px solid var(--fab-line)}.fab-accordion__header{margin:0}.fab-accordion__trigger{width:100%;min-height:46px;color:var(--fab-ink);font:550 14px/1.4 var(--fab-font-sans);letter-spacing:-.01em;text-align:left;cursor:pointer;touch-action:manipulation;transition:background-color var(--fab-transition-fast);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.fab-accordion__trigger:hover{background:var(--fab-surface)}.fab-accordion__trigger:focus-visible{outline:2px solid var(--fab-focus);outline-offset:-2px}.fab-accordion__trigger-text{min-width:0}.fab-accordion__chevron{width:14px;height:14px;color:var(--fab-ink-muted);transition:transform var(--fab-transition-fast);flex:none}.fab-accordion__trigger[data-state=open] .fab-accordion__chevron{transform:rotate(180deg)}.fab-accordion__content{overflow:hidden}.fab-accordion__content[data-state=open]{animation:.16s cubic-bezier(.2,.8,.2,1) fab-accordion-open}.fab-accordion__content[data-state=closed]{animation:.12s ease-in fab-accordion-close}.fab-accordion__content-inner{color:var(--fab-ink-muted);text-wrap:pretty;padding:0 16px 14px;font-size:13px;line-height:1.55}@keyframes fab-accordion-open{0%{opacity:0;height:0}to{height:var(--radix-accordion-content-height);opacity:1}}@keyframes fab-accordion-close{0%{height:var(--radix-accordion-content-height);opacity:1}to{opacity:0;height:0}}.fab-avatar{border:1px solid var(--fab-line);width:36px;height:36px;color:var(--fab-ink);background:var(--fab-surface-sunken);font:550 12px/1 var(--fab-font-sans);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.fab-avatar__image{object-fit:cover;width:100%;height:100%}.fab-avatar__fallback{place-items:center;width:100%;height:100%;display:grid}.fab-separator{background:var(--fab-line);border:0}.fab-separator[data-orientation=horizontal]{width:100%;height:1px}.fab-separator[data-orientation=vertical]{align-self:stretch;width:1px;height:auto}.fab-heading{color:var(--fab-ink);text-wrap:balance;margin:0}.fab-heading.h1{font:var(--fab-type-display);letter-spacing:-.045em}.fab-heading.h2{font:var(--fab-type-title);letter-spacing:-.03em}.fab-heading.h3{font:var(--fab-type-heading)}.fab-heading.h4{font:var(--fab-type-label)}.fab-text{max-width:68ch;color:var(--fab-ink);text-wrap:pretty;margin:0}.fab-text.body{font:var(--fab-type-body)}.fab-text.label{font:var(--fab-type-label)}.fab-text.caption{color:var(--fab-ink-muted);font:var(--fab-type-caption)}.fab-text.meta{color:var(--fab-ink-muted);font:var(--fab-type-meta);letter-spacing:.06em;text-transform:uppercase}.fab-text.muted{color:var(--fab-ink-muted)}.fab-text.subtle{color:var(--fab-ink-subtle)}.fab-breadcrumb{display:block}.fab-breadcrumb__list{font:500 13px/1.4 var(--fab-font-sans);flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fab-breadcrumb__item{align-items:center;gap:8px;display:inline-flex}.fab-breadcrumb__link{color:var(--fab-ink-muted);transition:color var(--fab-transition);text-decoration:none}.fab-breadcrumb__link:hover{color:var(--fab-ink);text-underline-offset:3px;text-decoration:underline}.fab-breadcrumb__page{color:var(--fab-ink);font-weight:600}.fab-breadcrumb__separator{color:var(--fab-ink-subtle);-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex}.fab-breadcrumb__separator-icon{width:12px;height:12px}.fab-table__container{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);background:var(--fab-surface-raised);width:100%;box-shadow:var(--fab-shadow-xs);overflow-x:auto}.fab-table{border-collapse:collapse;caption-side:bottom;text-align:left;width:100%;font-size:13px;line-height:1.5}.fab-table__caption{color:var(--fab-ink-muted);text-align:left;padding:10px 16px;font-size:12px}.fab-table__header{border-bottom:1px solid var(--fab-line);background:var(--fab-surface)}.fab-table__head{color:var(--fab-ink-subtle);font:600 11px/1 var(--fab-font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:10px 16px}.fab-table__row{border-bottom:1px solid var(--fab-line);transition:background-color var(--fab-transition-fast)}.fab-table__body .fab-table__row:last-child{border-bottom:0}.fab-table__body .fab-table__row:hover{background:var(--fab-surface)}.fab-table__cell{color:var(--fab-ink);vertical-align:middle;font-variant-numeric:tabular-nums;padding:11px 16px}.fab-table__footer{border-top:1px solid var(--fab-line);background:var(--fab-surface);font-weight:600}.fab-menu__content{z-index:100;border:1px solid var(--fab-line);border-radius:var(--fab-radius);min-width:180px;color:var(--fab-ink);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-md);padding:4px;animation:.12s cubic-bezier(.2,.8,.2,1) fab-menu-in;overflow:hidden}.fab-menu__content[data-state=closed]{animation:.1s ease-in fab-menu-out}.fab-menu__label{color:var(--fab-ink-subtle);font:600 10px/1 var(--fab-font-mono);letter-spacing:.05em;text-transform:uppercase;padding:6px 8px 4px}.fab-menu__item{border-radius:var(--fab-radius-sm);min-height:32px;color:var(--fab-ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--fab-transition-fast), color var(--fab-transition-fast);outline:none;align-items:center;gap:8px;padding:6px 10px;font-size:13px;line-height:1.35;display:flex;position:relative}.fab-menu__item--checkbox{padding-left:28px}.fab-menu__item-indicator{place-items:center;width:14px;height:14px;display:grid;position:absolute;left:8px}.fab-menu__item-indicator-icon{width:14px;height:14px}.fab-menu__item[data-highlighted]{color:var(--fab-ink);background:var(--fab-surface-sunken)}.fab-menu__item[data-disabled]{cursor:not-allowed;opacity:.45}.fab-menu__separator{background:var(--fab-line);height:1px;margin:4px 0}@keyframes fab-menu-in{0%{opacity:0;transform:scale(.97)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fab-menu-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.97)translateY(-4px)}}.fab-popover__content{z-index:120;border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);width:min(340px,100vw - 32px);color:var(--fab-ink);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-md);transform-origin:var(--radix-popover-content-transform-origin);padding:18px;animation:.14s cubic-bezier(.2,.8,.2,1) fab-popover-in}.fab-popover__content[data-state=closed]{animation:.1s ease-in fab-popover-out}.fab-popover__arrow{fill:var(--fab-surface-raised);stroke:var(--fab-line)}.fab-popover__close{border-radius:var(--fab-radius-sm);width:24px;height:24px;color:var(--fab-ink-muted);cursor:pointer;touch-action:manipulation;transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.fab-popover__close:hover{color:var(--fab-ink);background:var(--fab-surface-sunken)}.fab-popover__close svg{width:14px;height:14px}@keyframes fab-popover-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes fab-popover-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}.fab-spinner{--fab-spinner-size:20px;width:var(--fab-spinner-size);height:var(--fab-spinner-size);vertical-align:-.2em;flex:none;justify-content:center;align-items:center;display:inline-flex}.fab-spinner__ring{border:2px solid color-mix(in srgb, currentColor 28%, transparent);border-top-color:currentColor;border-radius:50%;width:100%;height:100%;animation:.75s linear infinite fab-rotate}@keyframes fab-rotate{to{transform:rotate(360deg)}}.fab-progress{border-radius:var(--fab-radius-full);background:var(--fab-surface-sunken);width:100%;min-width:96px;height:6px;box-shadow:inset 0 0 0 1px var(--fab-line);position:relative;overflow:hidden}.fab-progress__bar{border-radius:inherit;background:var(--fab-accent);width:100%;height:100%;transition:transform var(--fab-transition-fast)}.fab-progress__bar.indeterminate{width:40%;animation:fab-progress-slide 1.2s var(--fab-easing) infinite;position:absolute;inset:0 auto 0 0}@keyframes fab-progress-slide{0%{transform:translate(-110%)}to{transform:translate(260%)}}.fab-slider{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;min-width:140px;padding:8px 0;display:flex;position:relative}.fab-slider__track{border-radius:var(--fab-radius-full);background:var(--fab-surface-sunken);height:4px;box-shadow:inset 0 0 0 1px var(--fab-line);flex:1;position:relative}.fab-slider__range{border-radius:inherit;background:var(--fab-accent);height:100%;position:absolute}.fab-slider__thumb{border:1px solid var(--fab-line-strong);background:var(--fab-paper);cursor:grab;width:16px;height:16px;transition:border-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast);border-radius:50%;display:block;box-shadow:0 1px 3px #00000026}.fab-slider__thumb:hover{border-color:var(--fab-ink)}.fab-slider__thumb:active{cursor:grabbing}.fab-slider__thumb:focus-visible{outline:2px solid var(--fab-focus);outline-offset:2px}.fab-slider[data-orientation=vertical]{flex-direction:column;min-width:0;height:100%;padding:0 8px;top:10px}.fab-slider[data-orientation=vertical] .fab-slider__track{flex:1;width:4px;height:auto}.fab-slider:disabled .fab-slider__thumb{cursor:not-allowed;opacity:.5}.fab-slider:disabled .fab-slider__range{background:var(--fab-ink-subtle)}.fab-skeleton{--fab-skeleton-base:var(--fab-surface-sunken);vertical-align:middle;border-radius:var(--fab-radius);background:linear-gradient(100deg, var(--fab-skeleton-base) 40%, color-mix(in srgb, var(--fab-skeleton-base) 45%, var(--fab-surface-raised)) 50%, var(--fab-skeleton-base) 60%);background-size:200% 100%;animation:1.6s ease-in-out infinite fab-skeleton-shimmer;display:inline-block}.fab-skeleton--circle{aspect-ratio:1;border-radius:var(--fab-radius-full);width:auto}@keyframes fab-skeleton-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@media (prefers-reduced-motion:reduce){.fab-skeleton{background:var(--fab-skeleton-base);animation:none}}.fab-pagination__list{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.fab-pagination__button,.fab-pagination__link{border-radius:var(--fab-radius-sm);min-width:34px;height:34px;color:var(--fab-ink-muted);font:500 13px/1 var(--fab-font-sans);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast), border-color var(--fab-transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 8px;text-decoration:none;display:inline-flex}.fab-pagination__button:hover:not(:disabled),.fab-pagination__link:not(.is-disabled):hover{color:var(--fab-ink);background:var(--fab-surface-sunken)}.fab-pagination__button:focus-visible,.fab-pagination__link:focus-visible{outline:2px solid var(--fab-focus);outline-offset:2px}.fab-pagination__button.is-current,.fab-pagination__link.is-current{border-color:var(--fab-accent);color:var(--fab-on-accent);background:var(--fab-accent);font-weight:600}.fab-pagination__button:disabled,.fab-pagination__link.is-disabled{color:var(--fab-ink-subtle);opacity:.45;cursor:not-allowed}.fab-pagination__ellipsis{min-width:28px;height:34px;color:var(--fab-ink-subtle);justify-content:center;align-items:center;font-size:13px;display:inline-flex}.fab-sheet{--fab-sheet-size:400px;z-index:201;overscroll-behavior:contain;border-color:var(--fab-line);max-height:100svh;color:var(--fab-ink);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-xl);border-style:solid;border-width:0;flex-direction:column;padding:24px;display:flex;position:fixed;overflow:auto}.fab-sheet:focus{outline:none}.fab-sheet--right{width:min(var(--fab-sheet-size), 100vw);border-left-width:1px;animation:.2s cubic-bezier(.2,.8,.2,1) fab-sheet-in-right;top:0;bottom:0;right:0}.fab-sheet--left{width:min(var(--fab-sheet-size), 100vw);border-right-width:1px;animation:.2s cubic-bezier(.2,.8,.2,1) fab-sheet-in-left;top:0;bottom:0;left:0}.fab-sheet--top{max-height:min(var(--fab-sheet-size), 100svh);border-bottom-width:1px;animation:.2s cubic-bezier(.2,.8,.2,1) fab-sheet-in-top;top:0;left:0;right:0}.fab-sheet--bottom{max-height:min(var(--fab-sheet-size), 100svh);padding-bottom:max(24px, env(safe-area-inset-bottom));border-radius:var(--fab-radius-large) var(--fab-radius-large) 0 0;border-top-width:1px;animation:.2s cubic-bezier(.2,.8,.2,1) fab-sheet-in-bottom;bottom:0;left:0;right:0}.fab-sheet[data-state=closed]{animation-duration:.15s;animation-timing-function:ease-in}.fab-sheet--right[data-state=closed]{animation-name:fab-sheet-out-right}.fab-sheet--left[data-state=closed]{animation-name:fab-sheet-out-left}.fab-sheet--top[data-state=closed]{animation-name:fab-sheet-out-top}.fab-sheet--bottom[data-state=closed]{animation-name:fab-sheet-out-bottom}.fab-sheet__close{border-radius:var(--fab-radius-sm);width:28px;height:28px;color:var(--fab-ink-muted);cursor:pointer;touch-action:manipulation;transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast);background:0 0;border:none;place-items:center;padding:0;display:grid;position:absolute;top:16px;right:16px}.fab-sheet__close:hover{background:var(--fab-surface-sunken);color:var(--fab-ink)}.fab-sheet__close svg{width:16px;height:16px}@keyframes fab-sheet-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fab-sheet-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes fab-sheet-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fab-sheet-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes fab-sheet-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes fab-sheet-out-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes fab-sheet-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fab-sheet-out-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}.fab-combobox{position:relative}.fab-combobox__input{width:100%;min-height:var(--fab-control-height);border:1px solid var(--fab-line);border-radius:var(--fab-radius);color:var(--fab-ink);background:var(--fab-paper);caret-color:var(--fab-ink);font:400 13px/1.5 var(--fab-font-sans);transition:border-color var(--fab-transition-fast), box-shadow var(--fab-transition-fast);padding:8px 12px}.fab-combobox__input::placeholder{color:var(--fab-ink-subtle);opacity:1}.fab-combobox__input:hover:not(:disabled){border-color:var(--fab-line-strong)}.fab-combobox__input:focus{border-color:var(--fab-focus);box-shadow:0 0 0 1px var(--fab-focus);outline:none}.fab-combobox__input:disabled{cursor:not-allowed;color:var(--fab-ink-subtle);background:var(--fab-surface-sunken);opacity:.6}.fab-combobox__list{z-index:100;overscroll-behavior:contain;border:1px solid var(--fab-line);border-radius:var(--fab-radius);max-height:280px;color:var(--fab-ink);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-md);margin:0;padding:4px;list-style:none;animation:.12s cubic-bezier(.2,.8,.2,1) fab-combobox-in;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.fab-combobox__list.is-hidden{display:none}.fab-combobox__option{border-radius:var(--fab-radius-sm);min-height:34px;color:var(--fab-ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--fab-transition-fast), color var(--fab-transition-fast);align-items:center;padding:6px 10px;font-size:13px;line-height:1.35;display:flex}.fab-combobox__option.is-active{color:var(--fab-ink);background:var(--fab-surface-sunken)}.fab-combobox__option.is-disabled{cursor:not-allowed;opacity:.45}.fab-combobox__option.is-selected:after{color:var(--fab-ink);content:"✓";margin-left:auto;font-weight:600}.fab-combobox__empty{color:var(--fab-ink-muted);text-align:center;padding:10px;font-size:13px}@keyframes fab-combobox-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.fab-command{z-index:201;border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);width:min(100% - 32px,540px);max-height:min(440px,100svh - 32px);color:var(--fab-ink);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-xl);flex-direction:column;animation:.16s cubic-bezier(.2,.8,.2,1) fab-command-in;display:flex;position:fixed;top:15%;left:50%;overflow:hidden;transform:translate(-50%)}.fab-command[data-state=closed]{animation:.12s ease-in fab-command-out}.fab-command:focus{outline:none}.fab-command__sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fab-command__input{border:0;border-bottom:1px solid var(--fab-line);border-radius:var(--fab-radius-large) var(--fab-radius-large) 0 0;width:100%;color:var(--fab-ink);caret-color:var(--fab-ink);font:400 14px/1.5 var(--fab-font-sans);background:0 0;flex:none;padding:12px 16px}.fab-command__input:focus{outline:none}.fab-command__input::placeholder{color:var(--fab-ink-subtle);opacity:1}.fab-command__list{overscroll-behavior:contain;flex:1;margin:0;padding:4px;list-style:none;overflow:auto}.fab-command__group{color:var(--fab-ink-subtle);font:600 10px/1 var(--fab-font-mono);letter-spacing:.05em;text-transform:uppercase;padding:8px 10px 4px}.fab-command__item{border-radius:var(--fab-radius-sm);min-height:36px;color:var(--fab-ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--fab-transition-fast), color var(--fab-transition-fast);align-items:center;gap:10px;padding:6px 10px;font-size:13px;line-height:1.35;display:flex}.fab-command__item.is-active{color:var(--fab-ink);background:var(--fab-surface-sunken)}.fab-command__item.is-disabled{cursor:not-allowed;opacity:.45}.fab-command__item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fab-command__shortcut{border:1px solid var(--fab-line);color:var(--fab-ink-muted);background:var(--fab-surface);font:500 11px/1 var(--fab-font-mono);border-radius:4px;margin-left:auto;padding:2px 6px}.fab-command__empty{color:var(--fab-ink-subtle);text-align:center;padding:20px 12px;font-size:13px}@keyframes fab-command-in{0%{opacity:0;transform:translate(-50%,-6px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes fab-command-out{to{opacity:0;transform:translate(-50%,4px)scale(.98)}}#root,.fab-theme{min-height:100svh}.fab-theme{overflow-x:clip}.skip-link{z-index:500;color:var(--fab-on-accent);background:var(--fab-accent);border-radius:var(--fab-radius);transition:transform .16s var(--fab-easing);box-shadow:var(--fab-shadow-md);padding:10px 14px;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:90;border-bottom:1px solid var(--fab-line);background:color-mix(in srgb, var(--fab-paper) 88%, transparent);-webkit-backdrop-filter:blur(24px)saturate(180%);height:68px;transition:border-color var(--fab-transition), background var(--fab-transition), box-shadow var(--fab-transition);justify-content:space-between;align-items:center;padding:0 clamp(24px,5vw,48px);display:flex;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--fab-line-strong);background:color-mix(in srgb, var(--fab-paper) 94%, transparent);box-shadow:var(--fab-shadow-xs)}.fab-theme[data-fab-theme=dark] .site-header.scrolled{background:color-mix(in srgb, var(--fab-paper) 96%, transparent);box-shadow:var(--fab-shadow-xs), 0 0 0 1px #ffffff08}.site-header__actions{align-items:center;gap:12px;display:flex}.brand{color:var(--fab-ink);font:700 17px/1 var(--fab-font-display);letter-spacing:-.03em;transition:opacity var(--fab-transition-fast);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand:hover{opacity:.85}.brand__mark{border-radius:var(--fab-radius-sm);background:var(--fab-ink);border:1px solid var(--fab-line-strong);flex-direction:column;justify-content:center;gap:3px;width:26px;height:26px;padding:5px;display:flex;position:relative}.brand__mark i{background:var(--fab-paper);border-radius:1px;height:2px;display:block}.brand__mark i:first-child{width:100%}.brand__mark i:nth-child(2){width:70%}.brand__mark i:nth-child(3){width:45%}.brand__version{border-radius:var(--fab-radius-sm);background:var(--fab-surface);border:1px solid var(--fab-line);color:var(--fab-ink-subtle);font:600 10px/1 var(--fab-font-mono);letter-spacing:.04em;padding:2px 6px}.status-mark{color:var(--fab-ink-muted);font:600 10px/1 var(--fab-font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;display:inline-flex}.status-mark i{background:var(--fab-success);border-radius:50%;width:6px;height:6px}.docs-layout{border-inline:1px solid var(--fab-line);background:var(--fab-paper);grid-template-columns:256px minmax(0,1fr);width:min(100%,1440px);margin:0 auto;display:grid}.docs-sidebar{z-index:40;border-right:1px solid var(--fab-line);background:var(--fab-paper);flex-direction:column;justify-content:space-between;height:calc(100svh - 68px);padding:32px 20px 24px;display:flex;position:sticky;top:68px;overflow-y:auto}.docs-sidebar::-webkit-scrollbar{width:6px}.docs-sidebar::-webkit-scrollbar-track{background:0 0}.docs-sidebar::-webkit-scrollbar-thumb{background:var(--fab-line-strong);border-radius:3px}.docs-sidebar::-webkit-scrollbar-thumb:hover{background:var(--fab-ink-muted)}.docs-nav__group+.docs-nav__group{margin-top:28px}.docs-nav__group>p{color:var(--fab-ink-subtle);letter-spacing:.04em;transition:color var(--fab-transition-fast);margin:0 0 8px 8px;font-size:11px;font-weight:600}.docs-nav a{border-radius:var(--fab-radius-sm);min-height:40px;color:var(--fab-ink-muted);transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast), padding-left var(--fab-transition-fast);align-items:center;gap:10px;padding:8px 12px 8px 10px;font-size:13px;font-weight:580;text-decoration:none;display:flex;position:relative}.docs-nav a:hover{color:var(--fab-ink);background:var(--fab-surface);padding-left:14px}.docs-nav a[aria-current=page]{color:var(--fab-ink);background:var(--fab-surface);font-weight:600}.docs-nav a[aria-current=page]:before{content:"";background:var(--fab-ink);border-radius:1px;width:2px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.docs-nav .icon{opacity:.55;width:14px;height:14px;transition:opacity var(--fab-transition-fast);flex-shrink:0}.docs-nav a:hover .icon,.docs-nav a[aria-current=page] .icon{opacity:1}.sidebar-note{border-top:1px solid var(--fab-line);margin-top:auto;padding-top:18px}.sidebar-note span{color:var(--fab-ink-subtle);font:600 9px/1 var(--fab-font-mono);letter-spacing:.08em;text-transform:uppercase}.sidebar-note p{color:var(--fab-ink-muted);margin:7px 0 0;font-size:12px;line-height:1.5}main{min-width:0}main:focus{outline:none}.menu-toggle{display:none}@media (width<=900px){.site-header{height:62px;padding:0 16px}.brand__version{display:none}.docs-layout{border:0;display:block}.docs-sidebar{border-right:1px solid var(--fab-line-strong);width:min(86vw,320px);height:auto;box-shadow:var(--fab-shadow-xl);z-index:80;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:fixed;top:62px;bottom:0;left:0;transform:translate(calc(-100% - 12px))}.docs-sidebar.is-open{transform:translate(0)}.menu-toggle{border-radius:var(--fab-radius);background:var(--fab-surface);width:36px;height:36px;color:var(--fab-ink);cursor:pointer;transition:background-color var(--fab-transition-fast);border:none;justify-content:center;align-items:center;display:inline-flex}.menu-toggle:hover{background:var(--fab-line)}.menu-toggle:focus-visible{outline:3px solid var(--fab-focus);outline-offset:2px}}@media (width<=560px){.site-header__actions .status-mark{display:none}}.features{border-top:1px solid var(--fab-line);border-bottom:1px solid var(--fab-line);background:var(--fab-line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.features__item{background:var(--fab-paper);transition:background var(--fab-transition);flex-direction:column;gap:10px;padding:clamp(32px,5vw,56px) clamp(24px,4vw,48px);display:flex}.features__item:hover{background:var(--fab-surface)}.features__icon{border:1px solid var(--fab-line);border-radius:var(--fab-radius-sm);background:var(--fab-surface);width:40px;height:40px;color:var(--fab-ink);box-shadow:var(--fab-shadow-xs);transition:border-color var(--fab-transition-fast), background-color var(--fab-transition-fast);place-items:center;display:grid}.features__item:hover .features__icon{background:var(--fab-surface-sunken);border-color:var(--fab-line-strong)}.features__item strong{font-family:var(--fab-font-display);letter-spacing:-.02em;color:var(--fab-ink);font-size:17px;font-weight:650}.features__item p{color:var(--fab-ink-muted);max-width:32ch;margin:0;font-size:14px;line-height:1.6}.features__item code{color:var(--fab-ink);font:500 12px/1 var(--fab-font-mono);background:var(--fab-surface-sunken);border:1px solid var(--fab-line);border-radius:var(--fab-radius-sm);padding:2px 6px}@media (width<=900px){.features{grid-template-columns:1fr}}.install-section,.doc-section{border-bottom:1px solid var(--fab-line);padding:clamp(48px,6vw,80px) clamp(24px,5vw,64px);scroll-margin-top:66px}.section-heading{grid-template-columns:minmax(280px,.9fr) minmax(260px,.65fr);align-items:center;gap:32px;margin-bottom:40px;display:grid}.section-heading h2{color:var(--fab-ink);font-family:var(--fab-font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(28px,3.5vw,40px);font-weight:700;line-height:1.15}.section-heading>div{color:var(--fab-ink-muted);text-wrap:pretty;font-size:15px;line-height:1.55}.section-heading>div p{max-width:52ch;margin:0}.install-grid,.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.install-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start}.spec-grid{margin:0;display:grid}.spec-grid>div{border-top:1px solid var(--fab-line);grid-template-columns:minmax(68px,.28fr) minmax(0,1fr);align-items:baseline;gap:14px;padding:13px 0;display:grid}.spec-grid>div:first-child{border-top:0;padding-top:0}.spec-grid dt{color:var(--fab-ink-subtle);font:600 10px/1.4 var(--fab-font-mono);letter-spacing:.08em;text-transform:uppercase}.spec-grid dd{color:var(--fab-ink-muted);margin:0;font-size:12px;line-height:1.5}.install-notes{border-top:1px solid var(--fab-line)}.install-notes p{border-bottom:1px solid var(--fab-line);color:var(--fab-ink-muted);gap:5px;margin:0;padding:20px 0;font-size:12px;line-height:1.45;display:grid}.install-notes p:first-child{border-top:1px solid var(--fab-line)}.install-notes strong{color:var(--fab-ink);font-size:13px}.live-code-block__editor{background:var(--fab-code-bg);padding:0 22px 22px}.live-code-block__hint{color:var(--fab-code-muted);font:500 9px/1.4 var(--fab-font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:16px 0 10px}.code-block__editor{min-width:0}.live-code-block__editor .code-block__editor pre{tab-size:2;cursor:text;counter-reset:live-code-line;scrollbar-color:var(--fab-code-line) var(--fab-code-bar);scrollbar-width:thin;min-height:150px;overflow-x:auto;color:var(--fab-code-text)!important;background:var(--fab-code-bg)!important;font:400 12px/1.75 var(--fab-font-mono)!important;white-space:pre!important;margin:0!important;padding:22px 0!important}.live-code-block__editor .code-block__editor pre:focus-visible{outline-offset:-3px;outline:2px solid var(--fab-focus)!important}.live-code-block__editor .code-block__editor pre>.token-line{counter-increment:live-code-line;min-height:21px;padding:0 22px 0 68px;display:block}.live-code-block__editor .code-block__editor pre>.token-line:hover{background:#ffffff06}.live-code-block__editor .code-block__editor pre>.token-line:before{box-sizing:border-box;width:52px;color:var(--fab-code-muted);content:counter(live-code-line);font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none;margin-left:-68px;padding-right:16px;display:inline-block;position:sticky;left:0}.live-code-block__rendered{width:100%;min-width:0}.live-code-block__error{border:1px solid var(--fab-danger);border-radius:var(--fab-radius);color:var(--fab-code-error);background:var(--fab-code-error-bg);font:400 11px/1.5 var(--fab-font-mono);white-space:pre-wrap;margin:12px 0 0;padding:12px;overflow:auto}.live-code-block .code-block__tools{flex-wrap:wrap;justify-content:flex-end}.code-block{border:1px solid var(--fab-code-line);border-radius:var(--fab-radius-large);background:var(--fab-code-bg);min-width:0;box-shadow:var(--fab-shadow-lg);overflow:hidden}.code-block+.code-block,.demo-grid+.code-block,.demo+.code-block{margin-top:28px}.code-block__bar{border-bottom:1px solid var(--fab-code-line);min-height:52px;color:var(--fab-code-muted);background:var(--fab-code-bar);font:500 11px/1 var(--fab-font-mono);letter-spacing:.02em;justify-content:space-between;align-items:center;gap:20px;padding:0 18px;display:flex}.code-block__identity,.code-block__tools{align-items:center;min-width:0;display:flex}.code-block__identity{color:var(--fab-code-text);gap:9px}.code-block__identity>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-block__identity .icon{color:var(--fab-accent);opacity:.7;flex:none}.code-block__language{color:var(--fab-accent);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.code-block__tools{background:var(--fab-code-bg);border-radius:6px;gap:6px;padding:4px}.code-block__tools button{width:28px;height:28px;color:var(--fab-code-muted);cursor:pointer;transition:background-color var(--fab-transition-fast), color var(--fab-transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.code-block__tools button:hover{color:var(--fab-code-text);background:#ffffff0f}.code-block__tools button:focus-visible{outline:2px solid var(--fab-focus);outline-offset:1px}.code-block__code{scrollbar-width:thin;scrollbar-color:var(--fab-code-line) var(--fab-code-bar);padding:20px 22px;overflow-x:auto}.code-block__code pre{font:400 13px/1.7 var(--fab-font-mono);white-space:pre;color:var(--fab-code-text);counter-reset:code-line;margin:0;padding:0}.code-block__code pre>span{counter-increment:code-line;min-height:21px;padding:0 22px 0 68px;display:block}.code-block__code pre>span:hover{background:#ffffff05}.code-block__code pre>span:before{box-sizing:border-box;width:52px;color:var(--fab-code-muted);content:counter(code-line);font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none;margin-left:-68px;padding-right:16px;display:inline-block;position:sticky;left:0}.code-block__line{grid-template-columns:52px minmax(max-content,1fr);min-height:21px;padding-right:28px;display:grid}.code-block__line:hover{background:#ffffff06}.code-block__line-number{color:var(--fab-code-muted);background:var(--fab-code-bg);font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none;padding-right:16px;display:block;position:sticky;left:0}.code-block__line:hover .code-block__line-number{color:var(--fab-code-text)}.code-block__line-content{white-space:pre}.demo{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);background:var(--fab-surface);min-width:0;min-height:190px;transition:border-color var(--fab-transition-fast);flex-direction:column;justify-content:center;padding:clamp(24px,4vw,42px);display:flex}.demo:hover{border-color:var(--fab-line-strong)}.demo>*{position:relative}.demo-label{color:var(--fab-ink-muted);font:600 9px/1 var(--fab-font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 24px}.demo-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.behavior-note{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);background:var(--fab-surface);min-height:190px;box-shadow:var(--fab-shadow-xs);align-items:center;gap:24px;padding:36px;display:flex}.behavior-note>span{border:1px solid var(--fab-ink);border-radius:var(--fab-radius);background:var(--fab-surface-raised);width:62px;height:62px;font:600 25px/1 var(--fab-font-mono);color:var(--fab-accent);flex:none;place-items:center;display:grid}.behavior-note strong{letter-spacing:-.01em;font-size:16px;font-weight:600}.behavior-note p{max-width:38ch;color:var(--fab-ink-muted);margin:6px 0 0;font-size:14px;line-height:1.6}.choice-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.choice-row label{cursor:pointer}.choice-row label strong,.choice-row label span{display:block}.choice-row label strong{font-size:14px;font-weight:600}.choice-row label span{color:var(--fab-ink-muted);margin-top:3px;font-size:12px;line-height:1.4}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.site-footer{color:var(--fab-footer-muted);background:var(--fab-footer-bg);grid-template-columns:1fr auto auto;align-items:end;gap:40px;padding:64px clamp(32px,7vw,112px);display:grid}.site-footer .brand,.site-footer a{color:var(--fab-footer-ink)}.site-footer>div>p,.site-footer>p{color:var(--fab-footer-muted);margin:10px 0 0;font-size:12px;line-height:1.6}.site-footer>a{text-underline-offset:4px;min-height:44px;color:var(--fab-footer-muted);transition:color var(--fab-transition-fast);align-items:center;font-size:12px;font-weight:600;text-decoration:underline;display:flex}.site-footer>a:hover{color:var(--fab-footer-ink)}@media (width<=600px){.demo{min-height:160px;padding:24px 20px}.demo-row{flex-direction:column;align-items:stretch}.demo-row .fab-button{width:100%}.choice-row{grid-template-columns:auto minmax(0,1fr)}.choice-row .fab-badge{grid-column:2;justify-self:start}.behavior-note{min-height:160px;padding:24px 20px}.code-block__bar{min-height:50px;padding-inline:14px 7px}.code-block__tools{gap:6px}.code-block__language{display:none}.code-block__code{padding-block:18px;font-size:11px}.code-block__line{grid-template-columns:40px minmax(max-content,1fr);padding-right:20px}.code-block__line-number{padding-right:12px}}.site-header__brand{align-items:center;gap:26px;min-width:0;display:flex}.site-header__nav{align-items:center;gap:4px;display:flex}.site-header__nav a{border-radius:var(--fab-radius-sm);color:var(--fab-ink-muted);transition:color var(--fab-transition-fast), background-color var(--fab-transition-fast);padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none}.site-header__nav a:hover{color:var(--fab-ink);background:var(--fab-surface)}.site-header__nav a[aria-current=page]{color:var(--fab-ink);background:var(--fab-surface);font-weight:600}.docs-layout--solo{grid-template-columns:minmax(0,1fr)}.hero{background:var(--fab-paper);grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(48px,6vw,80px) clamp(24px,5vw,64px);scroll-margin-top:68px;display:grid}.hero__copy{flex-direction:column;gap:20px;display:flex}.hero__eyebrow{border-radius:var(--fab-radius-sm);background:var(--fab-surface);color:var(--fab-ink-muted);font:500 12px/1.4 var(--fab-font-mono);letter-spacing:.01em;border:1px solid var(--fab-line);align-items:center;gap:8px;width:fit-content;padding:4px 10px;display:inline-flex}.hero__copy h1{font:var(--fab-type-display);letter-spacing:-.03em;text-wrap:balance;color:var(--fab-ink);margin:0;line-height:1.12}.hero__accent{color:var(--fab-ink-muted);font-weight:500}.hero__lede{color:var(--fab-ink-muted);font:var(--fab-type-body);max-width:48ch;margin:0;font-size:17px;line-height:1.6}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.hero__meta{color:var(--fab-ink-subtle);font:500 12px/1 var(--fab-font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:16px;margin:12px 0 0;display:flex}.hero__meta i{background:var(--fab-line-strong);border-radius:50%;width:4px;height:4px}.hero-preview{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-xs);transition:border-color var(--fab-transition-fast);overflow:hidden}.hero-preview:hover{border-color:var(--fab-line-strong)}.hero-preview header{border-bottom:1px solid var(--fab-line);background:var(--fab-surface);color:var(--fab-ink-subtle);font:600 11px/1 var(--fab-font-mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.hero-preview header span:first-child{color:var(--fab-ink);align-items:center;gap:7px;display:inline-flex}.hero-preview header span:first-child i{background:var(--fab-success);border-radius:50%;width:7px;height:7px}.hero-preview header span:last-child{color:var(--fab-ink-muted)}.hero-preview__body{gap:16px;padding:24px 20px;display:grid}.hero-preview__actions{gap:10px;margin-top:4px;display:flex}.hero-preview footer{border-top:1px solid var(--fab-line);background:var(--fab-surface);color:var(--fab-ink-muted);align-items:center;gap:8px;padding:12px 18px;font-size:12px;display:flex}.install-section{padding:clamp(80px,9vw,120px) clamp(32px,7vw,112px);scroll-margin-top:68px}.install-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;display:grid}.install-notes{gap:24px;display:grid}.install-notes p{gap:6px;margin:0;display:grid}.install-notes strong{font:600 16px/1.3 var(--fab-font-sans);color:var(--fab-ink)}.install-notes span{color:var(--fab-ink-muted);font-size:14px;line-height:1.6}.component-explorer{border-bottom:1px solid var(--fab-line);padding:clamp(88px,9vw,132px) clamp(32px,7vw,112px);scroll-margin-top:68px}.component-explorer__group+.component-explorer__group{margin-top:48px}.component-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.component-card{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);min-width:0;color:var(--fab-ink);background:var(--fab-surface-raised);transition:border-color var(--fab-transition), box-shadow var(--fab-transition);flex-direction:column;display:flex;overflow:hidden}:is(.component-card:has(.component-card__link:hover),.component-card:has(.component-card__link:focus-visible)){border-color:var(--fab-line-strong);box-shadow:var(--fab-shadow-sm)}.component-card__preview{border-bottom:1px solid var(--fab-line);background:var(--fab-paper);place-items:center;min-height:168px;padding:24px;display:grid;overflow:hidden}.component-card__preview>*{width:100%}.component-card__loading{border-radius:var(--fab-radius);background:var(--fab-surface-sunken);width:100%;height:96px}.component-card__details{flex:1;align-content:start;gap:8px;padding:20px;display:grid}.component-card__category{color:var(--fab-ink-subtle);font-size:11px;font-weight:600}.component-card__details h3{font-family:var(--fab-font-display);letter-spacing:-.025em;margin:0;font-size:21px;font-weight:600}.component-card__summary{color:var(--fab-ink-muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.5}.component-card__link{min-height:36px;color:var(--fab-accent);text-underline-offset:3px;transition:text-decoration-color var(--fab-transition-fast);justify-self:start;margin-top:4px;font-size:13px;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.component-card__link:hover{text-decoration-color:currentColor}.component-card__link:focus-visible{outline:2px solid var(--fab-focus);outline-offset:3px;border-radius:2px}.preview-actions,.preview-badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.preview-control-list,.preview-radio-list{gap:16px;display:grid}.preview-control{min-width:0;color:var(--fab-ink);align-items:center;gap:10px;font-size:13px;display:flex}.preview-control--switch{justify-content:space-between}.preview-control small{color:var(--fab-success);margin-left:4px;font-size:11px}.preview-display{gap:14px;display:grid}.preview-display__person,.preview-display__progress,.preview-display__sync{align-items:center;gap:10px;display:flex}.preview-display__person>span:nth-child(2),.preview-display__progress>span,.preview-display__sync{color:var(--fab-ink-muted);font-size:12px}.preview-display__person .fab-badge{margin-left:auto}.preview-display__progress{justify-content:space-between}.preview-display__sync{gap:7px}.preview-table-wrap{gap:16px;min-width:0;display:grid}.preview-breadcrumb{font-size:12px}.component-card__preview .fab-field,.component-card__preview .fab-select__trigger,.component-card__preview .fab-card,.component-card__preview .fab-accordion,.component-card__preview .fab-table__container{width:100%;min-width:0}.component-card__preview .fab-button{min-height:36px;padding-inline:12px;font-size:12px}.component-card__preview .fab-input,.component-card__preview .fab-select__trigger,.component-card__preview .fab-textarea{min-height:38px;font-size:13px}.component-card__preview .fab-table{font-size:12px}.component-card__preview .fab-table__head,.component-card__preview .fab-table__cell,.component-card__preview .fab-table__caption{padding:8px 10px}.component-card__preview .fab-card{padding:16px}.component-card__preview .fab-card__title{font-size:16px}.component-card__preview .fab-card__body,.component-card__preview .fab-card__description{font-size:12px}.component-card__preview .fab-accordion__trigger{min-height:44px;padding:10px 12px;font-size:12px}.component-card__preview .fab-accordion__content-inner{padding:0 12px 12px;font-size:12px}.component-card__preview .fab-tabs__trigger{min-height:36px;padding:8px 10px;font-size:12px}.component-card__preview .fab-tabs__content{font-size:12px}.component-card__preview .fab-tabs__content p{max-width:none}.component-card__preview .fab-alert{width:100%;padding:14px}.component-card__preview .fab-alert__title{font-size:13px}.component-card__preview .fab-alert__description{font-size:12px}.component-card__preview .fab-progress{min-width:0}.component-card__preview .fab-separator{margin-block:0}.component-card__preview .fab-breadcrumb__list{gap:6px}.component-explorer__all{margin-top:32px}.component-explorer__all a{min-height:44px;color:var(--fab-accent);text-underline-offset:4px;transition:color var(--fab-transition-fast);align-items:center;gap:8px;font-size:14px;font-weight:650;display:inline-flex}.component-explorer__all a:hover{color:var(--fab-accent-hover);text-decoration:underline}.nextjs-teaser{border-bottom:1px solid var(--fab-line);padding:clamp(80px,9vw,120px) clamp(32px,7vw,112px);scroll-margin-top:68px}.nextjs-teaser__actions{gap:12px;margin-top:24px;display:flex}.catalog{padding:clamp(64px,8vw,96px) clamp(32px,7vw,112px);scroll-margin-top:68px}.catalog__group+.catalog__group{margin-top:48px}.catalog__group-title{color:var(--fab-ink-muted);margin:0 0 16px;font-size:14px;font-weight:600}.catalog__group>.component-explorer__label{color:var(--fab-ink-subtle);letter-spacing:.04em;margin:0 0 14px;font-size:11px;font-weight:600}.component-page .doc-section{border-bottom:0;padding-bottom:44px}.component-page__loading{min-height:420px}.landing-overview__loading{min-height:620px}.page-breadcrumb{border-bottom:1px solid var(--fab-line);color:var(--fab-ink-subtle);flex-wrap:wrap;align-items:center;gap:10px;padding:20px clamp(32px,7vw,112px);font-size:13px;display:flex}.page-breadcrumb a{color:var(--fab-accent);transition:color var(--fab-transition-fast);font-weight:600;text-decoration:none}.page-breadcrumb a:hover{text-underline-offset:3px;color:var(--fab-accent-hover);text-decoration:underline}.page-breadcrumb span{color:var(--fab-ink-subtle)}.page-breadcrumb strong{color:var(--fab-ink);font-weight:650}.api-table{border-top:1px solid var(--fab-line);padding:clamp(64px,6vw,96px) clamp(32px,7vw,112px)}.api-table__header p{color:var(--fab-ink-subtle);font:600 10px/1 var(--fab-font-mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 8px}.api-table__header h3{font:var(--fab-type-title);letter-spacing:-.03em;margin:0 0 28px}.api-table__scroller{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);background:var(--fab-surface-raised);box-shadow:var(--fab-shadow-xs);overflow-x:auto}.api-table table{border-collapse:collapse;text-align:left;width:100%;font-size:14px;line-height:1.55}.api-table th,.api-table td{border-bottom:1px solid var(--fab-line);vertical-align:top;padding:14px 20px}.api-table thead th{color:var(--fab-ink-muted);background:var(--fab-surface);font:600 11px/1 var(--fab-font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.api-table tbody tr:last-child th,.api-table tbody tr:last-child td{border-bottom:0}.api-table tbody th{color:var(--fab-ink);white-space:nowrap;font-weight:650}.api-table td code{color:var(--fab-accent);font:500 12px/1.5 var(--fab-font-mono);white-space:nowrap}.api-table td:last-child{color:var(--fab-ink-muted)}.api-table__scroller:focus-visible{outline:3px solid var(--fab-focus);outline-offset:2px}.page-pager{border-top:1px solid var(--fab-line);grid-template-columns:1fr 1fr;gap:16px;padding:32px clamp(32px,7vw,112px) clamp(80px,7vw,112px);display:grid}.page-pager__link{border:1px solid var(--fab-line);border-radius:var(--fab-radius-large);color:var(--fab-ink);transition:border-color var(--fab-transition), background-color var(--fab-transition), transform var(--fab-transition), box-shadow var(--fab-transition);gap:6px;padding:20px 24px;text-decoration:none;display:grid}.page-pager__link:hover{border-color:var(--fab-accent);background:var(--fab-surface);box-shadow:var(--fab-shadow-sm);transform:translateY(-2px)}.page-pager__link span{color:var(--fab-ink-subtle);font:600 10px/1 var(--fab-font-mono);letter-spacing:.08em;text-transform:uppercase}.page-pager__link strong{letter-spacing:-.01em;font-size:16px;font-weight:650}.page-pager__link.next{text-align:right}@media (width<=1180px){.manifesto{grid-template-columns:repeat(2,1fr);gap:32px}.section-heading{grid-template-columns:.28fr .72fr}.section-heading>div{grid-column:2}.demo-grid,.install-grid{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr auto}.site-footer>p{display:none}}@media (width<=900px){.site-header{height:62px;padding-inline:16px}.menu-toggle{display:inline-flex}.site-header__actions .status-mark{display:none}.docs-layout{border:0;display:block}.docs-sidebar{border-right:1px solid var(--fab-line-strong);width:min(86vw,320px);height:auto;box-shadow:var(--fab-shadow-xl);z-index:80;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:fixed;top:62px;bottom:0;left:0;transform:translate(calc(-100% - 12px))}.docs-sidebar.is-open{transform:translate(0)}.hero{grid-template-columns:1fr;gap:36px;padding:48px 20px}.hero-preview{width:100%;max-width:520px}.section-heading{grid-template-columns:1fr;gap:18px}.component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading>div{grid-column:1}}@media (width<=600px){.brand__version{display:none}.hero{gap:48px;padding:60px 20px 72px}.hero h1{margin-block:22px 18px;font-size:clamp(42px,13vw,54px);line-height:1.02}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .fab-button{width:100%}.hero__meta{row-gap:8px;margin-top:22px}.hero-preview>header span:last-child{display:none}.hero-preview__body{padding:24px 20px}.hero-preview__actions{flex-direction:column;align-items:stretch}.manifesto{grid-template-columns:1fr;gap:40px;padding:64px 20px}.install-section,.doc-section{padding:72px 20px}.section-heading{margin-bottom:38px}.section-heading h2{font-size:42px}.demo{min-height:160px;padding:24px 20px}.demo-row{flex-direction:column;align-items:stretch}.demo-row .fab-button{width:100%}.choice-row{grid-template-columns:auto minmax(0,1fr)}.choice-row .fab-badge{grid-column:2;justify-self:start}.behavior-note{min-height:160px;padding:24px 20px}.code-block__bar{min-height:50px;padding-inline:14px 7px}.code-block__tools{gap:6px}.code-block__language{display:none}.code-block__code{padding-block:18px;font-size:11px}.code-block__line{grid-template-columns:40px minmax(max-content,1fr);padding-right:20px}.code-block__line-number{padding-right:12px}.site-footer{grid-template-columns:1fr;align-items:start;padding:48px 20px}.page-pager{grid-template-columns:1fr}.page-pager__link.next{text-align:left}.component-grid{grid-template-columns:minmax(0,1fr);gap:14px}.component-card__preview{min-height:148px;padding:18px}.component-card__details{padding:18px}}@media (prefers-reduced-motion:reduce){.component-card__loading{animation:none}}:root{font-family:var(--font-instrument-sans,"Instrument Sans"), system-ui, sans-serif;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background:var(--fab-paper);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img,svg{display:block}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{color:var(--fab-on-accent);background:var(--fab-accent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
