@layer ds.components {
.menu{z-index:100;box-sizing:border-box;min-width:180px;max-width:320px;padding:var(--space-1) 0;background-color:var(--color-bg-elevated);border:var(--border-width-default) solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--elevation-popout);outline:none;flex-direction:column;display:flex;position:absolute}.menu[hidden]{display:none}.menu__item{align-items:center;gap:var(--space-2);box-sizing:border-box;width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);color:var(--color-text);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;display:flex}.menu__item:hover{background-color:var(--color-bg-surface)}.menu__item:focus-visible{background-color:var(--color-bg-surface);box-shadow:inset 0 0 0 var(--border-width-thick) var(--color-brand-focus-ring);outline:none}.menu__item:active{background-color:var(--color-bg)}.menu__item[data-destructive]{color:var(--color-error)}.menu__item[data-destructive]:hover{background-color:var(--color-error-subtle)}.menu__item[disabled],.menu__item[aria-disabled=true]{color:var(--color-text-disabled);cursor:not-allowed}.menu__item[disabled]:hover,.menu__item[aria-disabled=true]:hover{background-color:#0000}.menu__item-icon{width:var(--space-4);height:var(--space-4);color:currentColor;flex-shrink:0}.menu__divider{height:var(--border-width-default);margin:var(--space-1) 0;background-color:var(--color-divider)}.menu__trigger{position:relative}@media (forced-colors:active){.menu{forced-color-adjust:none;box-shadow:none;background-color:canvas;border-color:canvastext}.menu__item{color:canvastext}.menu__item:hover,.menu__item:focus-visible{color:highlighttext;background-color:highlight}.menu__item[data-destructive]{color:mark}.menu__item[disabled],.menu__item[aria-disabled=true]{color:graytext}.menu__item[disabled]:hover,.menu__item[aria-disabled=true]:hover{color:graytext;background-color:#0000}.menu__divider{background-color:canvastext}.menu__item:focus-visible{box-shadow:none;outline-offset:-2px;outline:2px solid highlight}}@media (prefers-reduced-motion:reduce){.menu__item{transition:none}}
}

@layer ds.components {
.pagination{font-family:var(--font-sans);color:var(--color-text)}.pagination__list{align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.pagination__item{justify-content:center;align-items:center;display:flex}.pagination__page,.pagination__prev,.pagination__next{appearance:none;font:inherit;cursor:pointer;box-sizing:border-box;border-radius:var(--radius-sm);min-width:32px;height:32px;padding:0 var(--space-2);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);font-weight:var(--type-body-md-weight);font-variant-numeric:tabular-nums;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;margin:0;text-decoration:none;display:inline-flex}@media (hover:hover){.pagination__page:hover:not(.pagination__page--current):not([disabled]):not([aria-disabled=true]),.pagination__prev:hover:not([disabled]):not([aria-disabled=true]),.pagination__next:hover:not([disabled]):not([aria-disabled=true]){color:var(--color-text);background-color:var(--color-bg-surface)}}.pagination__page--current,.pagination__page[aria-current=page]{color:var(--color-text-on-brand);background-color:var(--color-brand);cursor:default;font-weight:600}@media (hover:hover){.pagination__page--current:hover,.pagination__page[aria-current=page]:hover{color:var(--color-text-on-brand);background-color:var(--color-brand)}}.pagination__page:focus-visible,.pagination__prev:focus-visible,.pagination__next:focus-visible{box-shadow:var(--fx-focus-ring);z-index:1;outline:none}.pagination__page[disabled],.pagination__page[aria-disabled=true],.pagination__prev[disabled],.pagination__prev[aria-disabled=true],.pagination__next[disabled],.pagination__next[aria-disabled=true]{opacity:.5;pointer-events:none;cursor:default}a.pagination__prev[aria-disabled=true],a.pagination__next[aria-disabled=true]{pointer-events:none}.pagination__prev,.pagination__next{min-width:32px;padding:0}.pagination__icon{flex:none;width:16px;height:16px}.pagination__ellipsis{min-width:32px;height:32px;color:var(--color-text-muted);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);-webkit-user-select:none;user-select:none;cursor:default;justify-content:center;align-items:center;display:inline-flex}.pagination[data-size=sm] .pagination__page,.pagination[data-size=sm] .pagination__prev,.pagination[data-size=sm] .pagination__next{min-width:28px;height:28px;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height)}.pagination[data-size=sm] .pagination__ellipsis{min-width:28px;height:28px;font-size:var(--type-body-sm-size)}.pagination[data-size=sm] .pagination__icon{width:14px;height:14px}.pagination[data-size=md] .pagination__page,.pagination[data-size=md] .pagination__prev,.pagination[data-size=md] .pagination__next,.pagination:not([data-size]) .pagination__page,.pagination:not([data-size]) .pagination__prev,.pagination:not([data-size]) .pagination__next{min-width:32px;height:32px;font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height)}.pagination[data-size=md] .pagination__ellipsis,.pagination:not([data-size]) .pagination__ellipsis{min-width:32px;height:32px;font-size:var(--type-body-md-size)}.pagination[data-size=md] .pagination__icon,.pagination:not([data-size]) .pagination__icon{width:16px;height:16px}.pagination[data-size=lg] .pagination__page,.pagination[data-size=lg] .pagination__prev,.pagination[data-size=lg] .pagination__next{min-width:40px;height:40px;font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line-height)}.pagination[data-size=lg] .pagination__ellipsis{min-width:40px;height:40px;font-size:var(--type-body-lg-size)}.pagination[data-size=lg] .pagination__icon{width:18px;height:18px}.pagination[data-density=compact] .pagination__page,.pagination[data-density=compact] .pagination__prev,.pagination[data-density=compact] .pagination__next,[data-density=compact] .pagination .pagination__page,[data-density=compact] .pagination .pagination__prev,[data-density=compact] .pagination .pagination__next{min-width:28px;height:28px;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height)}.pagination[data-density=compact] .pagination__ellipsis,[data-density=compact] .pagination .pagination__ellipsis{min-width:28px;height:28px;font-size:var(--type-body-sm-size)}.pagination[data-density=compact] .pagination__icon,[data-density=compact] .pagination .pagination__icon{width:14px;height:14px}.pagination[data-density=compact] .pagination__list,[data-density=compact] .pagination .pagination__list{gap:2px}@media (prefers-reduced-motion:reduce){.pagination__page,.pagination__prev,.pagination__next{transition:none}}@media (forced-colors:active){.pagination__page,.pagination__prev,.pagination__next{color:buttontext;forced-color-adjust:none}.pagination__page--current,.pagination__page[aria-current=page]{color:highlighttext;background-color:highlight;border:1px solid highlight}.pagination__page:hover:not(.pagination__page--current),.pagination__prev:hover,.pagination__next:hover{border:1px solid highlight}.pagination__page:focus-visible,.pagination__prev:focus-visible,.pagination__next:focus-visible{box-shadow:none;outline:2px solid highlight}.pagination__page[disabled],.pagination__page[aria-disabled=true],.pagination__prev[disabled],.pagination__prev[aria-disabled=true],.pagination__next[disabled],.pagination__next[aria-disabled=true]{color:graytext;opacity:1}.pagination__ellipsis{color:graytext}}
}

@layer ds.components {
@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{box-sizing:border-box;border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-bg-elevated) 25%, var(--color-bg-surface) 50%, var(--color-bg-elevated) 75%);background-size:200% 100%;width:100%;height:16px;animation:1.5s ease-in-out infinite skeleton-shimmer;display:block}.skeleton[data-shape=circle]{border-radius:50%;width:40px;height:40px}.skeleton[data-shape=circle][data-size=sm]{width:24px;height:24px}.skeleton[data-shape=circle][data-size=md],.skeleton[data-shape=circle]:not([data-size]){width:40px;height:40px}.skeleton[data-shape=circle][data-size=lg]{width:64px;height:64px}.skeleton[data-shape=rect]{border-radius:var(--radius-md);width:auto;height:auto}.skeleton[data-size=sm],.skeleton[data-shape=text][data-size=sm]{height:12px}.skeleton[data-size=md],.skeleton:not([data-size]):not([data-shape=circle]):not([data-shape=rect]),.skeleton[data-shape=text][data-size=md]{height:16px}.skeleton[data-size=lg],.skeleton[data-shape=text][data-size=lg]{height:24px}.skeleton-group{flex-direction:column;gap:12px;display:flex}.skeleton-group--row{flex-direction:row;align-items:center}@media (forced-colors:active){.skeleton{forced-color-adjust:none;background:canvas;border:1px solid graytext;animation:none}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}
}

@layer ds.components {
@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{color:var(--color-text-muted);justify-content:center;align-items:center;display:inline-flex}.spinner__circle{width:24px;height:24px;animation:.75s linear infinite spinner-rotate}.spinner[data-size=sm] .spinner__circle{width:16px;height:16px}.spinner[data-size=md] .spinner__circle,.spinner:not([data-size]) .spinner__circle{width:24px;height:24px}.spinner[data-size=lg] .spinner__circle{width:40px;height:40px}.spinner[data-size=sm] .spinner__circle circle{stroke-width:2.5px}.spinner[data-size=lg] .spinner__circle circle{stroke-width:3.5px}@media (prefers-reduced-motion:reduce){.spinner__circle{animation:none}}@media (forced-colors:active){.spinner{color:canvastext;forced-color-adjust:none}}
}

@layer ds.components {
.alert{--_alert-color:var(--color-info);--_alert-bg:var(--color-info-subtle);align-items:flex-start;gap:var(--space-3);box-sizing:border-box;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-left:var(--border-width-thick) solid var(--_alert-color);background-color:var(--_alert-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);font-weight:var(--type-body-md-weight);display:flex}.alert[data-intent=info],.alert:not([data-intent]){--_alert-color:var(--color-info);--_alert-bg:var(--color-info-subtle)}.alert[data-intent=warning]{--_alert-color:var(--color-warning);--_alert-bg:var(--color-warning-subtle)}.alert[data-intent=error]{--_alert-color:var(--color-error);--_alert-bg:var(--color-error-subtle)}.alert[data-intent=success]{--_alert-color:var(--color-success);--_alert-bg:var(--color-success-subtle)}.alert[data-variant=banner]{border-left:none;border-bottom:var(--border-width-thick) solid var(--_alert-color);border-radius:0;width:100%}.alert__icon{width:20px;height:20px;color:var(--_alert-color);flex:none;margin-top:2px}.alert__body{flex:1;min-width:0}.alert__title{font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);color:var(--color-text);margin:0 0 var(--space-1) 0;font-weight:600;display:block}.alert__title:last-child{margin-bottom:0}.alert__description{color:var(--color-text-muted);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);margin:0}.alert__body>.alert__description:first-child:last-child{color:var(--color-text)}.alert__description+.alert__description{margin-top:var(--space-1)}.alert__actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}.alert__action{appearance:none;font:inherit;cursor:pointer;color:var(--_alert-color);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height);text-underline-offset:2px;background:0 0;border:none;margin:0;padding:0;font-weight:600;text-decoration:underline}@media (hover:hover){.alert__action:hover{text-decoration:none}}.alert__action:focus-visible{box-shadow:var(--fx-focus-ring);border-radius:var(--radius-sm);outline:none}.alert__close{appearance:none;cursor:pointer;border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-2px -4px 0 0;padding:0;display:inline-flex}@media (hover:hover){.alert__close:hover{color:var(--color-text);background-color:var(--color-bg-surface)}}.alert__close:focus-visible{box-shadow:var(--fx-focus-ring);z-index:1;outline:none}.alert__close-icon{flex:none;width:16px;height:16px}.alert[data-density=compact],[data-density=compact] .alert{padding:var(--space-2) var(--space-3);gap:var(--space-2);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height)}.alert[data-density=compact] .alert__icon,[data-density=compact] .alert .alert__icon{width:16px;height:16px;margin-top:1px}.alert[data-density=compact] .alert__title,[data-density=compact] .alert .alert__title,.alert[data-density=compact] .alert__description,[data-density=compact] .alert .alert__description{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height)}.alert[data-density=compact] .alert__close,[data-density=compact] .alert .alert__close{width:24px;height:24px}.alert[data-density=compact] .alert__close-icon,[data-density=compact] .alert .alert__close-icon{width:14px;height:14px}.alert[data-density=compact] .alert__action,[data-density=compact] .alert .alert__action{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height)}@media (prefers-reduced-motion:reduce){.alert__close{transition:none}}@media (forced-colors:active){.alert{color:canvastext;forced-color-adjust:none;background-color:canvas;border:1px solid canvastext}.alert:not([data-variant=banner]){border-left-width:3px;border-left-color:highlight}.alert[data-variant=banner]{border-bottom-width:3px;border-bottom-color:highlight}.alert[data-intent=error],.alert[data-intent=warning]{border-bottom-color:mark;border-left-color:mark}.alert__icon{color:highlight}.alert[data-intent=error] .alert__icon,.alert[data-intent=warning] .alert__icon{color:mark}.alert__title,.alert__description{color:canvastext}.alert__action{color:linktext}.alert__close{color:canvastext}.alert__close:hover{color:highlighttext;background-color:highlight}.alert__close:focus-visible{box-shadow:none;outline:2px solid highlight}}
}

@layer ds.components {
.empty-state{text-align:center;box-sizing:border-box;padding:var(--space-12) var(--space-6);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.empty-state__icon{color:var(--color-text-muted);margin-bottom:var(--space-1);justify-content:center;align-items:center;display:flex}.empty-state__icon svg,.empty-state__icon img{width:var(--space-12);height:var(--space-12)}.empty-state__heading{color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-heading-sm-size);font-weight:var(--type-heading-sm-weight);line-height:var(--type-heading-sm-line-height);margin:0}.empty-state__description{color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);max-width:420px;margin:0}.empty-state__action{align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.empty-state[data-size=sm]{padding:var(--space-6) var(--space-4);gap:var(--space-2)}.empty-state[data-size=sm] .empty-state__icon svg,.empty-state[data-size=sm] .empty-state__icon img{width:var(--space-8);height:var(--space-8)}.empty-state[data-size=sm] .empty-state__heading{font-size:var(--type-body-md-size);font-weight:var(--type-body-md-weight);line-height:var(--type-body-md-line-height)}.empty-state[data-size=sm] .empty-state__description{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height)}.empty-state[data-size=md],.empty-state:not([data-size]){padding:var(--space-12) var(--space-6);gap:var(--space-3)}.empty-state[data-size=lg]{padding:var(--space-16) var(--space-8);gap:var(--space-4)}.empty-state[data-size=lg] .empty-state__icon svg,.empty-state[data-size=lg] .empty-state__icon img{width:var(--space-16);height:var(--space-16)}.empty-state[data-size=lg] .empty-state__heading{font-size:var(--type-heading-md-size);font-weight:var(--type-heading-md-weight);line-height:var(--type-heading-md-line-height)}@media (forced-colors:active){.empty-state{forced-color-adjust:none}.empty-state__icon{color:graytext}.empty-state__heading{color:canvastext}.empty-state__description{color:graytext}}
}

@layer ds.components {
.divider{border:none;border-top:var(--border-width-default) solid var(--color-divider);width:100%;height:0;margin:0;margin-top:var(--space-4);margin-bottom:var(--space-4);font-family:var(--font-sans);align-items:center;padding:0;display:flex}.divider[data-variant=inset]{margin-left:var(--space-4);margin-right:var(--space-4)}.divider__label{padding:0 var(--space-3);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height);font-weight:var(--type-body-sm-weight);color:var(--color-text-muted);white-space:nowrap;background-color:var(--color-bg);flex:none}.divider:has(.divider__label){border-top:none}.divider:has(.divider__label):before{content:"";border-top:var(--border-width-default) solid var(--color-divider);flex:1;height:0}.divider:has(.divider__label):after{content:"";border-top:var(--border-width-default) solid var(--color-divider);flex:1;height:0}.divider[data-orientation=vertical]{border-top:none;border-left:var(--border-width-default) solid var(--color-divider);width:0;height:100%;margin-top:0;margin-bottom:0;margin-left:var(--space-4);margin-right:var(--space-4);flex-direction:column;align-self:stretch;align-items:center;display:inline-flex}.divider[data-orientation=vertical][data-variant=inset]{margin-top:var(--space-4);margin-bottom:var(--space-4);margin-left:var(--space-4);margin-right:var(--space-4)}.divider[data-orientation=vertical]:has(.divider__label){border-left:none}.divider[data-orientation=vertical]:has(.divider__label):before{content:"";border-top:none;border-left:var(--border-width-default) solid var(--color-divider);flex:1;width:0}.divider[data-orientation=vertical]:has(.divider__label):after{content:"";border-top:none;border-left:var(--border-width-default) solid var(--color-divider);flex:1;width:0}.divider[data-orientation=vertical] .divider__label{padding:var(--space-2) 0}.divider[data-weight=thick]{border-top-width:var(--border-width-thick)}.divider[data-weight=thick][data-orientation=vertical]{border-top-width:0;border-left-width:var(--border-width-thick)}.divider[data-density=compact],[data-density=compact] .divider{margin-top:var(--space-2);margin-bottom:var(--space-2)}.divider[data-orientation=vertical][data-density=compact],[data-density=compact] .divider[data-orientation=vertical]{margin-top:0;margin-bottom:0;margin-left:var(--space-2);margin-right:var(--space-2)}@media (forced-colors:active){.divider{forced-color-adjust:none;border-top-color:canvastext}.divider[data-orientation=vertical]{border-left-color:canvastext}.divider__label{color:graytext;background-color:canvas}.divider:has(.divider__label):before{border-top-color:canvastext}.divider:has(.divider__label):after{border-top-color:canvastext}.divider[data-orientation=vertical]:has(.divider__label):before{border-left-color:canvastext}.divider[data-orientation=vertical]:has(.divider__label):after{border-left-color:canvastext}}
}

@layer ds.components {
.breadcrumb{font-family:var(--font-sans);color:var(--color-text)}.breadcrumb__list{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumb__item{align-items:center;gap:var(--space-2);display:inline-flex}.breadcrumb__item:not(:first-child):before{content:var(--breadcrumb-separator,var(--_breadcrumb-separator,"/"));color:var(--color-text-muted);-webkit-user-select:none;user-select:none;pointer-events:none;flex:none}.breadcrumb[data-separator=slash],.breadcrumb:not([data-separator]){--_breadcrumb-separator:"/"}.breadcrumb[data-separator=chevron]{--_breadcrumb-separator:"›"}.breadcrumb[data-separator=dot]{--_breadcrumb-separator:"·"}.breadcrumb__link{align-items:center;gap:var(--space-1);color:var(--color-text-muted);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-standard);text-decoration:none;display:inline-flex}@media (hover:hover){.breadcrumb__link:hover{color:var(--color-text);text-decoration:underline}}.breadcrumb__link:active{color:var(--color-text)}.breadcrumb__link:focus-visible{box-shadow:var(--fx-focus-ring);color:var(--color-text);outline:none}.breadcrumb__current{align-items:center;gap:var(--space-1);color:var(--color-text);font-weight:600;display:inline-flex}.breadcrumb__icon{flex:none;width:14px;height:14px}.breadcrumb[data-size=sm] .breadcrumb__link,.breadcrumb[data-size=sm] .breadcrumb__current,.breadcrumb[data-size=sm] .breadcrumb__item:before{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height)}.breadcrumb[data-size=sm] .breadcrumb__icon{width:12px;height:12px}.breadcrumb[data-size=md] .breadcrumb__link,.breadcrumb[data-size=md] .breadcrumb__current,.breadcrumb[data-size=md] .breadcrumb__item:before,.breadcrumb:not([data-size]) .breadcrumb__link,.breadcrumb:not([data-size]) .breadcrumb__current,.breadcrumb:not([data-size]) .breadcrumb__item:before{font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height)}.breadcrumb[data-size=md] .breadcrumb__icon,.breadcrumb:not([data-size]) .breadcrumb__icon{width:14px;height:14px}.breadcrumb[data-size=lg] .breadcrumb__link,.breadcrumb[data-size=lg] .breadcrumb__current,.breadcrumb[data-size=lg] .breadcrumb__item:before{font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line-height)}.breadcrumb[data-size=lg] .breadcrumb__icon{width:16px;height:16px}.breadcrumb[data-density=compact] .breadcrumb__list,[data-density=compact] .breadcrumb .breadcrumb__list,.breadcrumb[data-density=compact] .breadcrumb__item,[data-density=compact] .breadcrumb .breadcrumb__item{gap:var(--space-1)}.breadcrumb[data-density=compact] .breadcrumb__link,.breadcrumb[data-density=compact] .breadcrumb__current,.breadcrumb[data-density=compact] .breadcrumb__item:before,[data-density=compact] .breadcrumb .breadcrumb__link,[data-density=compact] .breadcrumb .breadcrumb__current,[data-density=compact] .breadcrumb .breadcrumb__item:before{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line-height)}.breadcrumb[data-density=compact] .breadcrumb__icon,[data-density=compact] .breadcrumb .breadcrumb__icon{width:12px;height:12px}@media (prefers-reduced-motion:reduce){.breadcrumb__link{transition:none}}@media (forced-colors:active){.breadcrumb__link{color:linktext;forced-color-adjust:none}.breadcrumb__link:hover{color:linktext;text-decoration:underline}.breadcrumb__link:focus-visible{box-shadow:none;outline:2px solid highlight}.breadcrumb__current{color:canvastext}.breadcrumb__item:before{color:graytext}}
}

@layer ds.components {
.rate{-webkit-user-select:none;user-select:none;align-items:center;gap:4px;line-height:1;display:inline-flex}.rate__star{cursor:pointer;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex;position:relative}.rate__star[data-filled]{color:var(--color-warning)}.rate__star[data-half]{color:var(--color-text-muted)}.rate__star[data-half]:before{content:"";background-color:var(--color-warning);clip-path:inset(0 50% 0 0);z-index:1;position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E") 50%/contain no-repeat}.rate__icon{fill:currentColor;z-index:0;width:24px;height:24px;display:block;position:relative}.rate__star[data-half] .rate__icon{z-index:0}.rate__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rate__input:focus-visible+.rate__icon{box-shadow:var(--fx-focus-ring);border-radius:var(--radius-sm)}.rate__input:checked~.rate__icon{color:var(--color-warning)}.rate:not([data-readonly]):not([data-disabled]) .rate__star:hover{color:var(--color-warning);opacity:.85}.rate:not([data-readonly]):not([data-disabled]) .rate__star[data-hover-fill]{color:var(--color-warning)}.rate[data-size=sm] .rate__icon{width:16px;height:16px}.rate[data-size=sm]{gap:2px}.rate[data-size=md] .rate__icon,.rate:not([data-size]) .rate__icon{width:24px;height:24px}.rate[data-size=lg] .rate__icon{width:32px;height:32px}.rate[data-size=lg]{gap:6px}.rate[data-readonly] .rate__star{cursor:default}.rate[data-disabled]{opacity:1}.rate[data-disabled] .rate__star{cursor:not-allowed;color:var(--color-text-disabled)}.rate[data-disabled] .rate__star[data-filled],.rate[data-disabled] .rate__star[data-half]{color:var(--color-text-disabled)}.rate[data-disabled] .rate__star[data-half]:before{background-color:var(--color-text-disabled)}.rate[data-disabled] .rate__input{pointer-events:none}@media (forced-colors:active){.rate{forced-color-adjust:none}.rate__star{color:graytext}.rate__star[data-filled]{color:highlight}.rate__star[data-half]:before{background-color:highlight}.rate__icon{fill:currentColor}.rate[data-disabled] .rate__star,.rate[data-disabled] .rate__star[data-filled]{color:graytext;opacity:.5}.rate[data-disabled] .rate__star[data-half]:before{background-color:graytext}.rate__input:focus-visible+.rate__icon{outline-color:highlight}}@media (prefers-reduced-motion:reduce){.rate__star{transition:none}}
}

@layer ds.components {
.radio{align-items:flex-start;gap:var(--space-2);font-family:var(--font-sans);cursor:pointer;vertical-align:top;-webkit-tap-highlight-color:transparent;display:inline-flex;position:relative}.radio__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.radio__label{font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);font-weight:var(--type-body-md-weight);letter-spacing:var(--type-body-md-tracking);color:var(--color-text);-webkit-user-select:none;user-select:none}.radio__box{box-sizing:border-box;border:var(--border-width-thick) solid var(--color-border-visible);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);background-color:#0000;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.radio__dot{color:#0000;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background-color:currentColor;border-radius:50%;display:block;transform:scale(0)}.radio[data-size=lg] .radio__box{width:20px;height:20px}.radio[data-size=lg] .radio__dot{width:8px;height:8px}.radio[data-size=lg] .radio__box{margin-top:1px}.radio[data-size=md] .radio__box,.radio:not([data-size]) .radio__box{width:16px;height:16px}.radio[data-size=md] .radio__dot,.radio:not([data-size]) .radio__dot{width:6px;height:6px}.radio[data-size=md] .radio__box,.radio:not([data-size]) .radio__box{margin-top:3px}.radio[data-size=sm] .radio__box{width:14px;height:14px}.radio[data-size=sm] .radio__dot{width:6px;height:6px}.radio[data-size=sm] .radio__box{margin-top:4px}.radio__input:checked+.radio__box{border-color:var(--color-brand);background-color:var(--color-brand)}.radio__input:checked+.radio__box .radio__dot{color:var(--color-text-on-brand);opacity:1;transform:scale(1)}@media (hover:hover){.radio:not([data-disabled]):not([data-validation]):hover .radio__box{border-color:var(--color-border-brand);background-color:var(--color-brand-subtle)}.radio:not([data-disabled]):hover .radio__input:checked+.radio__box{border-color:var(--color-brand-hover);background-color:var(--color-brand-hover)}}.radio__input:focus-visible+.radio__box{box-shadow:var(--fx-focus-ring)}.radio[data-disabled]{cursor:not-allowed}.radio[data-disabled] .radio__box{opacity:.5;cursor:not-allowed}.radio[data-disabled] .radio__label{opacity:.5;color:var(--color-text-disabled);cursor:not-allowed}.radio__input[aria-disabled=true]+.radio__box{opacity:.5}.radio[data-validation=error]:not([data-disabled]) .radio__box{border-color:var(--color-error)}.radio[data-disabled][data-validation] .radio__box{border-color:var(--color-border-visible)}.radio-group{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.radio-group__legend{font-size:var(--type-label-md-size);line-height:var(--type-label-md-line-height);font-weight:var(--type-label-md-weight);letter-spacing:var(--type-label-md-tracking);color:var(--color-text);margin-bottom:var(--space-2);padding:0}.radio-group[data-layout=horizontal]{gap:var(--space-4);flex-flow:wrap}[data-density=compact] .radio{gap:var(--space-1)}[data-density=compact] .radio[data-size=lg] .radio__box{width:18px;height:18px;margin-top:2px}[data-density=compact] .radio[data-size=lg] .radio__dot{width:8px;height:8px}[data-density=compact] .radio[data-size=md] .radio__box,[data-density=compact] .radio:not([data-size]) .radio__box{width:14px;height:14px;margin-top:4px}[data-density=compact] .radio[data-size=md] .radio__dot,[data-density=compact] .radio:not([data-size]) .radio__dot{width:6px;height:6px}[data-density=compact] .radio[data-size=sm] .radio__box{width:12px;height:12px;margin-top:5px}[data-density=compact] .radio[data-size=sm] .radio__dot{width:5px;height:5px}[data-density=compact] .radio-group{gap:var(--space-1)}[data-density=compact] .radio-group__legend{margin-bottom:var(--space-1)}@media (forced-colors:active){.radio__box{forced-color-adjust:none;background-color:field;border-color:buttonborder}.radio__input:checked+.radio__box{background-color:highlight;border-color:highlight}.radio__input:checked+.radio__box .radio__dot{color:highlighttext}.radio__input:focus-visible+.radio__box{outline-offset:2px;box-shadow:none;outline:2px solid highlight}.radio[data-disabled] .radio__box{opacity:1;border-color:graytext}.radio[data-disabled] .radio__input:checked+.radio__box{background-color:graytext}.radio[data-disabled] .radio__input:checked+.radio__box .radio__dot{color:field}.radio__label{color:fieldtext}.radio[data-disabled] .radio__label{color:graytext;opacity:1}.radio-group__legend{color:fieldtext}}@media (prefers-reduced-motion:reduce){.radio__box,.radio__dot{transition:none}}
}

@layer ds.components {
.checkbox{align-items:flex-start;gap:var(--space-2);font-family:var(--font-sans);cursor:pointer;vertical-align:top;-webkit-tap-highlight-color:transparent;display:inline-flex;position:relative}.checkbox__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.checkbox__label{font-size:var(--type-body-md-size);line-height:var(--type-body-md-line-height);font-weight:var(--type-body-md-weight);letter-spacing:var(--type-body-md-tracking);color:var(--color-text);-webkit-user-select:none;user-select:none}.checkbox__box{box-sizing:border-box;border:var(--border-width-thick) solid var(--color-border-visible);border-radius:var(--radius-xs);color:#0000;transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);background-color:#0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.checkbox__icon{width:100%;height:100%;display:block}.checkbox__check,.checkbox__dash{opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);transform:scale(.5)}.checkbox[data-size=lg] .checkbox__box{width:20px;height:20px;margin-top:1px}.checkbox[data-size=md] .checkbox__box,.checkbox:not([data-size]) .checkbox__box{width:16px;height:16px;margin-top:3px}.checkbox[data-size=sm] .checkbox__box{width:14px;height:14px;margin-top:4px}.checkbox__input:checked+.checkbox__box{border-color:var(--color-brand);background-color:var(--color-brand);color:var(--color-text-on-brand)}.checkbox__input:checked+.checkbox__box .checkbox__check{opacity:1;transform:scale(1)}.checkbox__input:indeterminate+.checkbox__box{border-color:var(--color-brand);background-color:var(--color-brand);color:var(--color-text-on-brand)}.checkbox__input:indeterminate+.checkbox__box .checkbox__dash{opacity:1;transform:scale(1)}.checkbox__input:indeterminate+.checkbox__box .checkbox__check{opacity:0;transform:scale(.5)}@media (hover:hover){.checkbox:not([data-disabled]):not([data-validation]):hover .checkbox__box{border-color:var(--color-border-brand);background-color:var(--color-brand-subtle)}.checkbox:not([data-disabled]) .checkbox__input:checked:hover+.checkbox__box,.checkbox:not([data-disabled]):hover .checkbox__input:checked+.checkbox__box,.checkbox:not([data-disabled]) .checkbox__input:indeterminate:hover+.checkbox__box,.checkbox:not([data-disabled]):hover .checkbox__input:indeterminate+.checkbox__box{border-color:var(--color-brand-hover);background-color:var(--color-brand-hover)}}.checkbox__input:focus-visible+.checkbox__box{box-shadow:var(--fx-focus-ring)}.checkbox[data-disabled]{cursor:not-allowed}.checkbox[data-disabled] .checkbox__box{opacity:.5;cursor:not-allowed}.checkbox[data-disabled] .checkbox__label{opacity:.5;color:var(--color-text-disabled);cursor:not-allowed}.checkbox__input[aria-disabled=true]+.checkbox__box{opacity:.5}.checkbox[data-validation=error]:not([data-disabled]) .checkbox__box{border-color:var(--color-error)}.checkbox[data-disabled][data-validation] .checkbox__box{border-color:var(--color-border-visible)}[data-density=compact] .checkbox{gap:var(--space-1)}[data-density=compact] .checkbox[data-size=lg] .checkbox__box{width:18px;height:18px;margin-top:2px}[data-density=compact] .checkbox[data-size=md] .checkbox__box,[data-density=compact] .checkbox:not([data-size]) .checkbox__box{width:14px;height:14px;margin-top:4px}[data-density=compact] .checkbox[data-size=sm] .checkbox__box{width:12px;height:12px;margin-top:5px}@media (forced-colors:active){.checkbox__box{forced-color-adjust:none;background-color:field;border-color:buttonborder}.checkbox__input:checked+.checkbox__box,.checkbox__input:indeterminate+.checkbox__box{color:highlighttext;background-color:highlight;border-color:highlight}.checkbox__input:focus-visible+.checkbox__box{outline-offset:2px;box-shadow:none;outline:2px solid highlight}.checkbox[data-disabled] .checkbox__box{opacity:1;border-color:graytext}.checkbox[data-disabled] .checkbox__input:checked+.checkbox__box{color:field;background-color:graytext}.checkbox__label{color:fieldtext}.checkbox[data-disabled] .checkbox__label{color:graytext;opacity:1}}@media (prefers-reduced-motion:reduce){.checkbox__box,.checkbox__check,.checkbox__dash{transition:none}}
}

@layer app.tokens {
:root{--forum-container-max:1200px;--forum-container-narrow:720px;--forum-header-height:64px;--forum-sidebar-width:260px;--forum-card-gap:var(--space-3);--forum-card-padding:var(--space-4);--forum-vote-size:32px;--forum-tl-color-tl0:var(--color-text-muted);--forum-tl-color-tl1:var(--color-text-secondary);--forum-tl-color-tl2:var(--color-state-info-default,var(--color-text-link));--forum-tl-color-tl3:var(--color-brand-400);--forum-tl-color-tl4:var(--color-brand-300)}
}

