/*!
 * Pico Reforged v2.0.1 (https://pico.rusticstack.com)
 * Copyright 2019-2024 Lucas Larroche and the Pico CSS authors
 * Copyright 2026 rusticstack
 * Licensed under MIT
 */
@layer pico.tokens, pico.theme, pico.core;

@layer pico.extras {
  :root, :host, [data-theme] {
    --pico-tabs-tab-color: var(--pico-muted-color);
    --pico-tabs-tab-hover-color: var(--pico-color);
    --pico-tabs-active-color: var(--pico-primary);
    --pico-tabs-indicator-color: var(--pico-primary-background);
    --pico-tabs-border-color: var(--pico-muted-border-color);
    --pico-tabs-indicator-width: var(--pico-outline-width);
  }

  [role="tablist"] {
    overscroll-behavior-inline: contain;
    scroll-padding-inline: var(--pico-nav-link-spacing-horizontal);
    scrollbar-width: thin;
    border-block-end: var(--pico-border-width) solid var(--pico-tabs-border-color);
    margin-bottom: 0;
    padding: 0;
    list-style: none;
    display: flex;
    overflow: auto hidden;
  }

  [role="tab"], [data-tabs] > input[type="radio"] + label {
    inline-size: auto;
    padding: var(--pico-nav-link-spacing-vertical) calc(var(--pico-nav-link-spacing-horizontal) * 2);
    border: 0;
    border-block-end: var(--pico-tabs-indicator-width) solid transparent;
    box-shadow: none;
    color: var(--pico-tabs-tab-color);
    font-size: 1rem;
    font-weight: 500;
    line-height: var(--pico-line-height);
    text-align: start;
    white-space: nowrap;
    cursor: pointer;
    background: none;
    border-start-start-radius: var(--pico-border-radius);
    border-start-end-radius: var(--pico-border-radius);
    border-end-end-radius: 0;
    border-end-start-radius: 0;
    flex: none;
    margin: 0;
    text-decoration: none;
    display: block;
  }

  :is([role="tab"], [data-tabs] > input[type="radio"] + label):focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: calc(var(--pico-outline-width) * -1);
  }

  [role="tab"][aria-selected="true"], [data-tabs] > input[type="radio"]:checked + label {
    border-color: var(--pico-tabs-indicator-color);
    color: var(--pico-tabs-active-color);
  }

  [role="tab"][aria-disabled="true"], [data-tabs] > input[type="radio"]:disabled + label {
    color: var(--pico-tabs-tab-color);
    opacity: var(--pico-form-element-disabled-opacity);
    cursor: not-allowed;
    border-color: #0000;
  }

  @media (hover: hover) {
    [role="tab"]:not([aria-selected="true"], [aria-disabled="true"]):hover, [data-tabs] > input[type="radio"]:not(:checked, :disabled) + label:hover {
      color: var(--pico-tabs-tab-hover-color);
    }
  }

  [role="tabpanel"], [data-tabs] > section {
    margin: 0;
    padding-block-start: var(--pico-spacing);
  }

  :is([role="tabpanel"], [data-tabs] > section)[hidden] {
    display: none;
  }

  :is([role="tabpanel"], [data-tabs] > section):focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: calc(var(--pico-outline-width) * -1);
  }

  @media (width >= 576px) {
    [role="tablist"][aria-orientation="vertical"] {
      border-block-end: 0;
      flex-direction: column;
      gap: .125rem;
      overflow: visible;
    }

    [role="tablist"][aria-orientation="vertical"] > [role="tab"] {
      border-block-end: 0;
      border-inline-start: var(--pico-tabs-indicator-width) solid transparent;
      border-radius: var(--pico-border-radius);
      border-start-start-radius: 0;
      border-end-start-radius: 0;
    }

    [role="tablist"][aria-orientation="vertical"] > [role="tab"][aria-selected="true"] {
      border-color: var(--pico-tabs-indicator-color);
      background-color: var(--pico-primary-subtle-background);
      color: var(--pico-primary-hover);
    }

    :has( > [role="tablist"][aria-orientation="vertical"]) {
      column-gap: var(--pico-spacing);
      grid-template-columns: auto minmax(0, 1fr);
      display: grid;
    }

    :has( > [role="tablist"][aria-orientation="vertical"]) > [role="tablist"] {
      grid-area: 1 / 1;
      align-self: start;
    }

    :has( > [role="tablist"][aria-orientation="vertical"]) > [role="tabpanel"] {
      grid-area: 1 / 2;
      padding-block-start: 0;
    }
  }

  [data-tabs] {
    margin-bottom: var(--pico-spacing);
    flex-wrap: wrap;
    display: flex;
    position: relative;
  }

  [data-tabs] > input[type="radio"] {
    clip-path: inset(50%);
    opacity: 0;
    pointer-events: none;
    background: none;
    border: 0;
    block-size: 1px;
    inline-size: 1px;
    margin: 0;
    padding: 0;
    position: absolute;
  }

  [data-tabs] > input[type="radio"] + label {
    margin-block-end: calc(var(--pico-border-width) * -1);
    position: relative;
  }

  [data-tabs] > input[type="radio"]:focus-visible + label {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: calc(var(--pico-outline-width) * -1);
  }

  [data-tabs] > section {
    border-block-start: var(--pico-border-width) solid var(--pico-tabs-border-color);
    flex: 0 0 100%;
    display: none;
  }

  [data-tabs] > input:first-of-type:checked ~ section:first-of-type, [data-tabs] > input:nth-of-type(2):checked ~ section:nth-of-type(2), [data-tabs] > input:nth-of-type(3):checked ~ section:nth-of-type(3), [data-tabs] > input:nth-of-type(4):checked ~ section:nth-of-type(4), [data-tabs] > input:nth-of-type(5):checked ~ section:nth-of-type(5), [data-tabs] > input:nth-of-type(6):checked ~ section:nth-of-type(6), [data-tabs] > input:nth-of-type(7):checked ~ section:nth-of-type(7), [data-tabs] > input:nth-of-type(8):checked ~ section:nth-of-type(8), [data-tabs] > input:nth-of-type(9):checked ~ section:nth-of-type(9), [data-tabs] > input:nth-of-type(10):checked ~ section:nth-of-type(10) {
    display: block;
  }

  @media (prefers-reduced-motion: no-preference) {
    [role="tab"], [data-tabs] > input[type="radio"] + label {
      transition: color var(--pico-transition),
      border-color var(--pico-transition);
    }

    [role="tabpanel"]:not([hidden]), [data-tabs] > section {
      transition: opacity var(--pico-transition),
      translate var(--pico-transition);
    }

    @starting-style {
      [role="tabpanel"]:not([hidden]), [data-tabs] > section {
        opacity: 0;
        translate: 0 .25rem;
      }
    }
  }

  @media (forced-colors: active) {
    [role="tab"][aria-selected="true"], [data-tabs] > input[type="radio"]:checked + label {
      border-color: highlight;
    }
  }

  :root, :host, [data-theme] {
    --pico-alert-warning-accent: var(--lightningcss-light, oklch(70% .15 70)) var(--lightningcss-dark, oklch(80% .14 80));
    --pico-alert-success-accent: var(--lightningcss-light, var(--pico-form-element-valid-border-color)) var(--lightningcss-dark, oklch(79% .13 168));
    --pico-alert-danger-accent: var(--lightningcss-light, var(--pico-form-element-invalid-border-color)) var(--lightningcss-dark, oklch(76% .14 22));
  }

  :where([role="alert"], [role="status"], output)[data-variant] {
    --pico-alert-accent: var(--pico-primary);
    --pico-alert-background-color: var(--lightningcss-light, color-mix(in oklab, var(--pico-alert-accent) 8%, var(--pico-background-color))) var(--lightningcss-dark, color-mix(in oklab, var(--pico-alert-accent) 14%, var(--pico-background-color)));
    margin-block: 0 var(--pico-typography-spacing-vertical);
    border: var(--pico-border-width) solid
    color-mix(in oklab, var(--pico-alert-accent) 35%, transparent);
    border-radius: var(--pico-card-border-radius);
    background-color: var(--pico-alert-background-color);
    --pico-alert-color: var(--pico-color);
    color: var(--pico-alert-color);
    font-size: 1rem;
    line-height: var(--pico-line-height);
    overflow-wrap: anywhere;
    padding: .875rem 1rem;
    display: block;
    position: relative;
  }

  :where([role="alert"], [role="status"], output)[data-variant]:where([data-variant="success"]) {
    --pico-alert-accent: var(--pico-alert-success-accent);
  }

  :where([role="alert"], [role="status"], output)[data-variant]:where([data-variant="warning"]) {
    --pico-alert-accent: var(--pico-alert-warning-accent);
  }

  :where([role="alert"], [role="status"], output)[data-variant]:where([data-variant="danger"]) {
    --pico-alert-accent: var(--pico-alert-danger-accent);
  }

  :where([role="alert"], [role="status"], output)[data-variant]:where(:has( > button[data-dismiss])) {
    padding-inline-end: calc(var(--pico-spacing) * 2.5);
  }

  :where([role="alert"], [role="status"], output)[data-variant]:where([hidden]) {
    display: none;
  }

  :where([role="alert"], [role="status"], output)[data-variant] > :where(:first-child) {
    margin-block-start: 0;
  }

  :where([role="alert"], [role="status"], output)[data-variant] > :where(:last-child, :has( + button[data-dismiss]:last-child)), :where([role="alert"], [role="status"], output)[data-variant] > :where(ul, ol):where(:last-child, :has( + button[data-dismiss]:last-child)) > li:last-child {
    margin-block-end: 0;
  }

  :where([role="alert"], [role="status"], output)[data-variant] > :where(h1, h2, h3, h4, h5, h6) {
    margin-block-end: calc(var(--pico-spacing) * .25);
    font-size: 1rem;
  }

  :where([role="alert"], [role="status"], output)[data-variant] :where(a) {
    color: inherit;
    text-decoration-line: underline;
  }

  :where([role="alert"], [role="status"], output)[data-variant] > :where(strong:first-child) {
    color: var(--lightningcss-light, color-mix(in oklab, var(--pico-alert-accent) 55%, var(--pico-alert-color))) var(--lightningcss-dark, color-mix(in oklab, var(--pico-alert-accent) 45%, var(--pico-alert-color)));
    font-weight: 600;
  }

  :where([role="alert"], [role="status"], output)[data-variant] :where(button:not([data-dismiss]), [role="button"], input:is([type="submit"], [type="button"])) {
    vertical-align: middle;
    margin-block: -.25rem;
    margin-inline-start: .5rem;
    padding: .25rem .75rem;
    font-size: .875em;
  }

  :where([role="alert"], [role="status"], output)[data-variant] > :where(button[data-dismiss]) {
    border-radius: var(--pico-border-radius);
    block-size: 1.75rem;
    inline-size: 1.75rem;
    box-shadow: none;
    color: color-mix(in oklab, var(--pico-alert-color) 75%, transparent);
    background-color: #0000;
    border: 0;
    place-items: center;
    margin: 0;
    padding: 0;
    font-size: 1.25rem;
    line-height: 1;
    display: grid;
    position: absolute;
    inset-block-start: .5rem;
    inset-inline-end: .5rem;
  }

  :where([role="alert"], [role="status"], output)[data-variant] > :where(button[data-dismiss]):before {
    content: "×";
    content: "×" / "";
  }

  :where([role="alert"], [role="status"], output)[data-variant] > :where(button[data-dismiss]):where(:hover, :active) {
    background-color: color-mix(in oklab, var(--pico-alert-color) 8%, transparent);
    color: var(--pico-alert-color);
  }

  :where([role="alert"], [role="status"], output)[data-variant] > :where(button[data-dismiss]):where(:focus-visible) {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: 0;
  }

  @media (prefers-reduced-motion: no-preference) {
    :where([role="alert"], [role="status"], output)[data-variant] {
      transition: opacity var(--pico-transition),
      translate var(--pico-transition);
    }

    @starting-style {
      :where([role="alert"], [role="status"], output)[data-variant] {
        opacity: 0;
        translate: 0 -.25rem;
      }
    }
  }

  :root, :host, [data-theme] {
    --pico-toast-accent: var(--pico-primary-background);
  }

  :root, :host {
    --pico-toast-inset: var(--pico-spacing);
    --pico-toast-gap: calc(var(--pico-spacing) * .5);
    --pico-toast-width: min(22rem, 100% - 2 * var(--pico-toast-inset));
  }

  [popover][role="status"] {
    z-index: 1000;
    gap: var(--pico-toast-gap);
    width: var(--pico-toast-width);
    box-shadow: none;
    color: inherit;
    opacity: 1;
    pointer-events: none;
    background: none;
    border: 0;
    flex-direction: column;
    margin: 0;
    padding: 0;
    transition: none;
    display: flex;
    position: fixed;
    inset: auto;
    inset-block-end: max(var(--pico-toast-inset), env(safe-area-inset-bottom, 0px));
    inset-inline-end: var(--pico-toast-inset);
    overflow: visible;
    transform: none;
  }

  [popover][role="status"][data-placement^="top"] {
    inset-block: max(var(--pico-toast-inset), env(safe-area-inset-top, 0px)) auto;
  }

  [popover][role="status"][data-placement$="start"] {
    inset-inline: var(--pico-toast-inset) auto;
  }

  [popover][role="status"][data-placement$="center"] {
    margin-inline: auto;
    inset-inline: 0;
  }

  [popover][role="status"] > article {
    align-items: flex-start;
    gap: calc(var(--pico-spacing) * .5);
    border: var(--pico-border-width) solid var(--pico-dropdown-border-color);
    border-radius: var(--pico-card-border-radius);
    background-color: var(--pico-dropdown-background-color);
    box-shadow: var(--pico-dropdown-box-shadow);
    color: var(--pico-color);
    pointer-events: auto;
    margin: 0;
    padding: .75rem .875rem;
    font-size: .875rem;
    display: flex;
  }

  [popover][role="status"] > article:before {
    background-color: var(--pico-toast-accent);
    content: "";
    border-radius: 50%;
    flex: none;
    block-size: .5rem;
    inline-size: .5rem;
    margin-block-start: calc(.5lh - .25rem);
    margin-inline: .125rem;
  }

  [popover][role="status"] > article[role="alert"] {
    --pico-toast-accent: var(--pico-form-element-invalid-border-color);
  }

  [popover][role="status"] > article > p {
    overflow-wrap: anywhere;
    flex: 1;
    min-width: 0;
    margin: 0;
  }

  [popover][role="status"] > article > p > strong:first-child {
    display: block;
  }

  [popover][role="status"] > article > :is(button, [role="button"]) {
    border-radius: var(--pico-border-radius);
    width: auto;
    box-shadow: none;
    color: var(--pico-primary);
    font-size: inherit;
    font-weight: 500;
    line-height: var(--pico-line-height);
    cursor: pointer;
    background: none;
    border: 0;
    flex: none;
    margin: -.25rem 0;
    padding: .25rem .5rem;
    text-decoration: none;
  }

  [popover][role="status"] > article > :is(button, [role="button"]):hover {
    background-color: color-mix(in oklab, var(--pico-primary) 10%, transparent);
    color: var(--pico-primary-hover);
  }

  [popover][role="status"] > article > :is(button, [role="button"]):focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: 0;
  }

  [popover][role="status"] > article > :is(button, [role="button"])[aria-label] {
    min-width: 1.75rem;
    min-height: 1.75rem;
    color: var(--pico-muted-color);
    font-size: 1.25rem;
    font-weight: var(--pico-font-weight);
    place-items: center;
    margin-block: -.25rem;
    padding: 0;
    line-height: 1;
    display: grid;
  }

  [popover][role="status"] > article > :is(button, [role="button"])[aria-label]:hover {
    background-color: color-mix(in oklab, var(--pico-color) 8%, transparent);
    color: var(--pico-color);
  }

  @media (prefers-reduced-motion: no-preference) {
    [popover][role="status"] > article {
      transition: opacity var(--pico-transition),
      scale var(--pico-transition);
    }

    [popover][role="status"] > article[inert] {
      opacity: 0;
      scale: .96;
    }

    @starting-style {
      [popover][role="status"] > article {
        opacity: 0;
        scale: .96;
      }
    }
  }

  :root, :host, [data-theme] {
    --pico-badge-background-color: color-mix(in oklab, var(--pico-primary) 14%, transparent);
    --pico-badge-color: var(--lightningcss-light, color-mix(in oklab, var(--pico-primary), #000 35%)) var(--lightningcss-dark, color-mix(in oklab, var(--pico-primary), #fff 35%));
    --pico-badge-success-background-color: oklch(60% .12 165 / .14);
    --pico-badge-success-color: var(--lightningcss-light, oklch(39% .078 165)) var(--lightningcss-dark, oklch(74% .078 165));
    --pico-badge-warning-background-color: oklch(72% .15 75 / .16);
    --pico-badge-warning-color: var(--lightningcss-light, oklch(45% .097 75)) var(--lightningcss-dark, oklch(82% .097 75));
    --pico-badge-danger-background-color: oklch(58% .18 25 / .14);
    --pico-badge-danger-color: var(--lightningcss-light, oklch(42% .13 25)) var(--lightningcss-dark, oklch(75% .117 25));
  }

  [data-badge] {
    box-sizing: border-box;
    background-color: var(--pico-badge-background-color);
    block-size: 1.75em;
    min-inline-size: 1.75em;
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--pico-badge-color) 25%, transparent);
    color: var(--pico-badge-color);
    font-variant-numeric: tabular-nums;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    border: 0;
    border-radius: 100vmax;
    justify-content: center;
    align-items: center;
    margin-block: 0;
    margin-inline-start: .4em;
    padding-block: 0;
    padding-inline: .6em;
    font-size: .8em;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
  }

  [data-badge][hidden] {
    display: none;
  }

  @supports (text-box: trim-both cap alphabetic) {
    [data-badge] {
      text-box: trim-both cap alphabetic;
    }
  }

  [data-badge]:empty {
    block-size: .65em;
    inline-size: .65em;
    min-inline-size: 0;
    margin-inline-end: .4em;
    padding: 0;
  }

  [data-badge]:empty:not([data-badge="contrast"]) {
    background-color: var(--pico-badge-color);
  }

  [data-badge][data-badge="secondary"] {
    --pico-badge-background-color: var(--pico-secondary-background);
    --pico-badge-color: var(--pico-secondary-inverse);
  }

  [data-badge][data-badge="contrast"] {
    --pico-badge-background-color: var(--pico-contrast-background);
    --pico-badge-color: var(--pico-contrast-inverse);
    box-shadow: none;
  }

  [data-badge][data-badge="success"] {
    --pico-badge-background-color: var(--pico-badge-success-background-color);
    --pico-badge-color: var(--pico-badge-success-color);
  }

  [data-badge][data-badge="warning"] {
    --pico-badge-background-color: var(--pico-badge-warning-background-color);
    --pico-badge-color: var(--pico-badge-warning-color);
  }

  [data-badge][data-badge="danger"] {
    --pico-badge-background-color: var(--pico-badge-danger-background-color);
    --pico-badge-color: var(--pico-badge-danger-color);
  }

  [data-badge] > span {
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    block-size: 1px;
    inline-size: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]) > [data-badge] {
    vertical-align: .1em;
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline) {
    --pico-badge-ring-color: var(--pico-primary-inverse);
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline).secondary {
    --pico-badge-ring-color: var(--pico-secondary-inverse);
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline).contrast {
    --pico-badge-ring-color: var(--pico-contrast-inverse);
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline) > [data-badge]:not([data-badge="success"], [data-badge="warning"], [data-badge="danger"]) {
    --pico-badge-background-color: var(--pico-badge-ring-color);
    --pico-badge-color: var(--pico-primary-background);
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline).secondary > [data-badge]:not([data-badge="success"], [data-badge="warning"], [data-badge="danger"]) {
    --pico-badge-color: var(--pico-secondary-background);
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline).contrast > [data-badge]:not([data-badge="success"], [data-badge="warning"], [data-badge="danger"]) {
    --pico-badge-color: var(--pico-contrast-background);
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline) > [data-badge]:is([data-badge="success"], [data-badge="warning"], [data-badge="danger"]) {
    background-color: var(--_badge-solid);
    box-shadow: 0 0 0 .125rem var(--pico-badge-ring-color);
    color: var(--_badge-solid-color, oklch(100% 0 0));
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline) > [data-badge="success"] {
    --_badge-solid: oklch(50% .11 165);
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline) > [data-badge="warning"] {
    --_badge-solid: oklch(80% .15 75);
    --_badge-solid-color: oklch(20% .02 75);
  }

  :is(button, [role="button"], input[type="submit"], input[type="button"]):not(.outline) > [data-badge="danger"] {
    --_badge-solid: oklch(54% .19 25);
  }

  li:has( > [data-badge]:empty:first-child) {
    list-style: none;
  }

  li:has( > [data-badge]:empty:first-child) > [data-badge]:first-child {
    margin-inline-start: 0;
  }

  a[data-badge]:hover, a[data-badge]:focus-visible {
    text-decoration: none;
  }

  @media (forced-colors: active) {
    [data-badge] {
      border: 1px solid;
    }
  }

  :root, :host, [data-theme] {
    --pico-avatar-size: 2.5rem;
    --pico-avatar-overlap: .375rem;
    --pico-avatar-background-color: var(--lightningcss-light, color-mix(in oklab, var(--pico-primary) 14%, var(--pico-background-color))) var(--lightningcss-dark, color-mix(in oklab, var(--pico-primary) 24%, var(--pico-background-color)));
    --pico-avatar-color: var(--pico-primary-hover);
    --pico-avatar-ring-color: var(--pico-background-color);
    --pico-avatar-status-online-color: var(--pico-ins-color);
    --pico-avatar-status-offline-color: var(--pico-muted-color);
    --pico-avatar-status-away-color: var(--lightningcss-light, oklch(62% .15 75)) var(--lightningcss-dark, oklch(80% .15 75));
    --pico-avatar-status-busy-color: var(--pico-del-color);
  }

  details.dropdown > summary + ul {
    --pico-avatar-ring-color: var(--pico-dropdown-background-color);
  }

  article {
    --pico-avatar-ring-color: var(--pico-card-background-color);
  }

  article > :is(header, footer) {
    --pico-avatar-ring-color: var(--pico-card-sectioning-background-color);
  }

  :where([data-avatar]) {
    inline-size: var(--pico-avatar-size);
    block-size: var(--pico-avatar-size);
    background-color: var(--pico-avatar-background-color);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--pico-color) 10%, transparent);
    color: var(--pico-avatar-color);
    font-size: calc(var(--pico-avatar-size) * .4);
    text-transform: uppercase;
    vertical-align: middle;
    -webkit-user-select: none;
    user-select: none;
    unicode-bidi: plaintext;
    border-radius: 50%;
    flex: none;
    place-items: center;
    font-weight: 600;
    line-height: 1;
    display: inline-grid;
    position: relative;
  }

  :where([data-avatar]) > img {
    border-radius: inherit;
    object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
    position: absolute;
    inset: 0;
  }

  :where([data-avatar])[data-status]:after {
    content: "";
    box-sizing: border-box;
    inline-size: max(.625rem, calc(var(--pico-avatar-size) * .28));
    block-size: max(.625rem, calc(var(--pico-avatar-size) * .28));
    border: max(.125rem, calc(var(--pico-avatar-size) * .04)) solid
      var(--_status, var(--pico-avatar-status-offline-color));
    background: var(--pico-avatar-ring-color);
    box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-avatar-ring-color);
    border-radius: 50%;
    position: absolute;
    inset-block-end: calc(var(--pico-avatar-size) * -.02);
    inset-inline-end: calc(var(--pico-avatar-size) * -.02);
  }

  :where([data-avatar])[data-status="online"] {
    --_status: var(--pico-avatar-status-online-color);
  }

  :where([data-avatar])[data-status="online"]:after {
    background: var(--_status);
  }

  :where([data-avatar])[data-status="away"] {
    --_status: var(--pico-avatar-status-away-color);
  }

  :where([data-avatar])[data-status="away"]:after {
    background: linear-gradient(to top, var(--_status) 50%, var(--pico-avatar-ring-color) 50%);
  }

  :where([data-avatar])[data-status="busy"] {
    --_status: var(--pico-avatar-status-busy-color);
  }

  :where([data-avatar])[data-status="busy"]:after {
    background: linear-gradient(var(--pico-avatar-ring-color), var(--pico-avatar-ring-color)) center / 60%
          20% no-repeat,
        var(--_status);
  }

  :where(p, li, td, th, dt, dd, label, small, h1, h2, h3, h4, h5, h6) > :where([data-avatar]) {
    margin-inline-end: .5em;
  }

  :where([data-avatar="sm"]) {
    --pico-avatar-size: 2rem;
  }

  :where([data-avatar="lg"]) {
    --pico-avatar-size: 3.5rem;
  }

  :where([data-avatar="xl"]) {
    --pico-avatar-size: 5rem;
  }

  :is(a, button, summary)[aria-label]:has( > [data-avatar]:only-child) {
    inline-size: auto;
    box-shadow: none;
    color: inherit;
    vertical-align: middle;
    cursor: pointer;
    background: none;
    border: 0;
    border-radius: 50%;
    margin: 0;
    padding: 0;
    line-height: 1;
    text-decoration: none;
    list-style: none;
    display: inline-flex;
    position: relative;
  }

  :is(a, button, summary)[aria-label]:has( > [data-avatar]:only-child):after {
    display: none;
  }

  :is(a, button, summary)[aria-label]:has( > [data-avatar]:only-child)::-webkit-details-marker {
    display: none;
  }

  :is(a, button, summary)[aria-label]:has( > [data-avatar]:only-child)::marker {
    content: "";
  }

  :is(a, button, summary)[aria-label]:has( > [data-avatar]:only-child):is(:hover, :active, :focus, :focus-visible) {
    box-shadow: none;
    background: none;
  }

  :is(a, button, summary)[aria-label]:has( > [data-avatar]:only-child):focus-visible {
    z-index: 1;
  }

  :is(a, button, summary)[aria-label]:has( > [data-avatar]:only-child):focus-visible > [data-avatar] {
    outline: var(--pico-outline-width) solid var(--pico-primary);
    outline-offset: .125rem;
  }

  :where([role="group"]):has( > [data-avatar],  > :is(a, button)[aria-label] > [data-avatar]:only-child) {
    inline-size: auto;
    box-shadow: none;
    align-items: center;
    margin-block-end: 0;
  }

  :where([role="group"]):has( > [data-avatar],  > :is(a, button)[aria-label] > [data-avatar]:only-child) > * {
    border-radius: 50%;
    flex: none;
  }

  :where([role="group"]):has( > [data-avatar],  > :is(a, button)[aria-label] > [data-avatar]:only-child) > * + * {
    margin-inline-start: calc(var(--pico-avatar-overlap) * -1);
  }

  :where([role="group"]):has( > [data-avatar],  > :is(a, button)[aria-label] > [data-avatar]:only-child) [data-avatar] {
    box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-avatar-ring-color),
      inset 0 0 0 1px color-mix(in oklab, var(--pico-color) 10%, transparent);
  }

  :root, :host, [data-theme] {
    --pico-skeleton-color: var(--pico-muted-border-color);
    --pico-skeleton-highlight-color: var(--lightningcss-light, var(--pico-form-element-background-color)) var(--lightningcss-dark, oklch(32% .008 265));
    --pico-skeleton-duration: 1.5s;
    --pico-skeleton-line-height: 1em;
    --pico-skeleton-avatar-size: 3rem;
    --pico-skeleton-block-size: 8rem;
  }

  [aria-busy="true"]:has([data-skeleton]) {
    white-space: normal;
  }

  [aria-busy="true"]:has([data-skeleton]):before {
    content: none;
  }

  [aria-busy="true"] [data-skeleton] {
    box-sizing: border-box;
    margin-block: 0 calc(var(--pico-typography-spacing-vertical) * .75);
    border-radius: var(--pico-border-radius);
    background-color: var(--pico-skeleton-color);
    color: #0000;
    -webkit-user-select: none;
    user-select: none;
    display: block;
  }

  [aria-busy="true"] [data-skeleton]:last-child {
    margin-bottom: 0;
  }

  [aria-busy="true"] [data-skeleton][data-skeleton="line"] {
    inline-size: 100%;
    block-size: var(--pico-skeleton-line-height);
  }

  [aria-busy="true"] [data-skeleton][data-skeleton="avatar"] {
    inline-size: var(--pico-skeleton-avatar-size);
    block-size: var(--pico-skeleton-avatar-size);
    border-radius: 50%;
    flex-shrink: 0;
    margin-block: 0;
  }

  [aria-busy="true"] [data-skeleton][data-skeleton="block"] {
    inline-size: 100%;
    block-size: var(--pico-skeleton-block-size);
    border-radius: var(--pico-card-border-radius);
  }

  @media (prefers-reduced-motion: no-preference) {
    [aria-busy="true"] [data-skeleton] {
      background-image: linear-gradient(90deg,
      transparent 30%,
      var(--pico-skeleton-highlight-color) 50%,
      transparent 70%);
      animation: skeleton-shimmer var(--pico-skeleton-duration) ease-in-out infinite;
      background-repeat: no-repeat;
      background-size: 200% 100%;
    }

    [dir="rtl"] [aria-busy="true"] [data-skeleton] {
      animation-direction: reverse;
    }
  }

  @keyframes skeleton-shimmer {
    from {
      background-position: 100% 0;
    }

    to {
      background-position: 0 0;
    }
  }

  :root, :host, [data-theme] {
    --pico-app-shell-nav-width: 16rem;
    --pico-app-shell-header-height: 3.5rem;
    --pico-app-shell-background-color: var(--pico-background-color);
    --pico-app-shell-border-color: var(--pico-muted-border-color);
    --pico-app-shell-nav-background-color: var(--lightningcss-light, var(--pico-card-sectioning-background-color)) var(--lightningcss-dark, oklch(18.5% .006 265));
    --pico-app-shell-nav-muted-color: color-mix(in srgb,
    var(--pico-color) 72%,
    var(--pico-app-shell-nav-background-color));
    --pico-app-shell-nav-hover-background-color: color-mix(in oklab,
    var(--pico-secondary) 12%,
    transparent);
    --pico-app-shell-nav-current-background-color: var(--pico-primary-subtle-background);
    --pico-app-shell-nav-current-color: var(--pico-primary-hover);
    --pico-app-shell-scrim-color: var(--pico-modal-overlay-background-color);
  }

  :root:has( > body[data-app-shell]) {
    scroll-padding-block-start: calc(var(--pico-app-shell-header-height) + var(--pico-spacing));
  }

  @media (width < 1024px) {
    :root:has( > body[data-app-shell] > aside[popover]:popover-open) {
      overflow: hidden;
    }
  }

  body[data-app-shell] {
    grid-template: "header"
                   "nav"
                   "main" 1fr
                   "footer"
                   / minmax(0, 1fr);
    min-height: 100dvh;
    margin: 0;
    display: grid;
  }

  @media (width >= 1024px) {
    body[data-app-shell] {
      grid-template-columns: var(--pico-app-shell-nav-width) minmax(0, 1fr);
      grid-template-rows: auto 1fr auto;
      grid-template-areas: "header header"
                           "nav main"
                           "nav footer";
    }
  }

  body[data-app-shell] > :is(header, main, footer) {
    width: auto;
    max-width: none;
    padding-block: 0;
    padding-inline: var(--pico-block-spacing-horizontal);
    margin: 0;
  }

  body[data-app-shell] > header {
    z-index: 10;
    align-items: center;
    gap: var(--pico-grid-column-gap);
    min-height: var(--pico-app-shell-header-height);
    padding-block: calc(var(--pico-spacing) * .25);
    border-block-end: var(--pico-border-width) solid var(--pico-app-shell-border-color);
    background-color: var(--pico-background-color);
    flex-wrap: wrap;
    grid-area: header;
    display: flex;
    position: sticky;
    inset-block-start: 0;
  }

  body[data-app-shell] > header > :is(strong, a, hgroup) {
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    margin: 0;
    overflow: hidden;
  }

  body[data-app-shell] > header > nav {
    min-width: 0;
    max-width: 100%;
    margin-inline-start: auto;
  }

  body[data-app-shell] > header > nav ul {
    flex-wrap: wrap;
    max-width: 100%;
    margin-inline: 0;
  }

  body[data-app-shell] > header > nav li {
    overflow-wrap: anywhere;
    min-width: 0;
    padding-block: 0;
  }

  body[data-app-shell] > header > button[popovertarget] {
    align-items: center;
    gap: calc(var(--pico-spacing) * .5);
    width: auto;
    padding-block: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width));
    padding-inline: var(--pico-nav-link-spacing-horizontal);
    border-color: var(--pico-app-shell-border-color);
    color: inherit;
    background-color: #0000;
    justify-content: center;
    min-block-size: 2.75rem;
    min-inline-size: 2.75rem;
    margin: 0;
    display: inline-flex;
  }

  body[data-app-shell] > header > button[popovertarget]:hover {
    background-color: var(--pico-app-shell-nav-hover-background-color);
  }

  body[data-app-shell] > header > button[popovertarget]:focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: var(--pico-outline-width);
  }

  body[data-app-shell] > header > button[popovertarget] svg {
    flex-shrink: 0;
  }

  @media (width < 576px) {
    body[data-app-shell] > header > button[popovertarget] span {
      clip-path: inset(50%);
      white-space: nowrap;
      width: 1px;
      height: 1px;
      position: absolute;
      overflow: hidden;
    }
  }

  @media (width >= 1024px) {
    body[data-app-shell] > header > button[popovertarget] {
      display: none;
    }
  }

  @supports not selector(:popover-open) {
    body[data-app-shell] > header > button[popovertarget] {
      display: none;
    }
  }

  body[data-app-shell] > main {
    min-width: 0;
    padding-block: var(--pico-block-spacing-vertical);
    grid-area: main;
  }

  body[data-app-shell] > main > header {
    justify-content: space-between;
    align-items: center;
    gap: var(--pico-spacing);
    margin-bottom: var(--pico-block-spacing-vertical);
    flex-wrap: wrap;
    display: flex;
  }

  body[data-app-shell] > main > header :is(h1, hgroup, p) {
    margin-bottom: 0;
  }

  body[data-app-shell] > main > header :is(button, [role="button"]) {
    width: auto;
    margin-bottom: 0;
  }

  body[data-app-shell] > main > section:has( > article) {
    gap: var(--pico-grid-row-gap) var(--pico-grid-column-gap);
    margin-bottom: var(--pico-block-spacing-vertical);
    grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr));
    display: grid;
  }

  body[data-app-shell] > main > section:has( > article) > :not(article) {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  body[data-app-shell] > main > section:has( > article) > article {
    margin: 0;
  }

  body[data-app-shell] > main > section:has( > article) > article > :is(strong, data) {
    font-variant-numeric: tabular-nums;
    letter-spacing: -.02em;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.2;
    display: block;
  }

  body[data-app-shell] > main > section:has( > article) > article > p:first-child {
    color: var(--pico-muted-color);
    margin-bottom: .25rem;
  }

  body[data-app-shell] > main > section:has( > article) > article > p:first-child > small {
    font-size: .8125rem;
  }

  body[data-app-shell] > main figure:has( > table) {
    overflow-x: auto;
  }

  body[data-app-shell] > main figure:has( > table):focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
  }

  body[data-app-shell] > footer {
    padding-block: var(--pico-block-spacing-vertical);
    border-block-start: var(--pico-border-width) solid var(--pico-app-shell-border-color);
    color: var(--pico-muted-color);
    grid-area: footer;
  }

  body[data-app-shell] > aside {
    background-color: var(--pico-app-shell-nav-background-color);
    min-width: 0;
    color: var(--pico-color);
    grid-area: nav;
  }

  body[data-app-shell] > aside > nav {
    display: block;
  }

  body[data-app-shell] > aside > nav > small {
    margin-block: var(--pico-spacing) calc(var(--pico-spacing) * .25);
    padding-inline: var(--pico-nav-link-spacing-horizontal);
    color: var(--pico-app-shell-nav-muted-color);
    font-weight: 600;
    display: block;
  }

  body[data-app-shell] > aside > nav > small:first-child {
    margin-block-start: 0;
  }

  body[data-app-shell] > aside > nav ul {
    margin: 0;
    padding: 0;
  }

  body[data-app-shell] > aside > nav li {
    padding: calc(var(--pico-nav-element-spacing-vertical) * .125) 0;
  }

  body[data-app-shell] > aside > nav li a:not([role="button"]), body[data-app-shell] > aside > nav li summary {
    align-items: center;
    gap: calc(var(--pico-spacing) * .75);
    min-block-size: 2rem;
    padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
    border-radius: var(--pico-border-radius);
    color: inherit;
    font-size: .875rem;
    font-weight: 500;
    line-height: var(--pico-line-height);
    transition: background-color var(--pico-transition);
    margin: 0;
    text-decoration: none;
    display: flex;
  }

  :is(body[data-app-shell] > aside > nav li a:not([role="button"]), body[data-app-shell] > aside > nav li summary):hover {
    background-color: var(--pico-app-shell-nav-hover-background-color);
  }

  :is(body[data-app-shell] > aside > nav li a:not([role="button"]), body[data-app-shell] > aside > nav li summary):focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: calc(var(--pico-outline-width) * -1);
    box-shadow: none;
  }

  :is(body[data-app-shell] > aside > nav li a:not([role="button"]), body[data-app-shell] > aside > nav li summary) svg {
    flex-shrink: 0;
  }

  :is(body[data-app-shell] > aside > nav li a:not([role="button"]), body[data-app-shell] > aside > nav li summary) small {
    padding: 0 calc(var(--pico-nav-link-spacing-horizontal) * .75);
    border-radius: var(--pico-border-radius);
    background-color: color-mix(in oklab, var(--pico-secondary) 12%, transparent);
    color: inherit;
    margin-inline-start: auto;
    font-weight: 600;
  }

  body[data-app-shell] > aside > nav li a[aria-current]:not([aria-current="false"]) {
    background-color: var(--pico-app-shell-nav-current-background-color);
    color: var(--pico-app-shell-nav-current-color);
    font-weight: 600;
  }

  body[data-app-shell] > aside > nav details {
    border: 0;
    margin: 0;
    padding: 0;
  }

  body[data-app-shell] > aside > nav details summary {
    cursor: pointer;
    justify-content: space-between;
  }

  body[data-app-shell] > aside > nav details summary:after {
    margin-inline-start: auto;
  }

  body[data-app-shell] > aside > nav details ul {
    border-inline-start: var(--pico-border-width) solid var(--pico-app-shell-border-color);
    margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) + .625rem);
    padding-inline-start: var(--pico-nav-link-spacing-horizontal);
  }

  @media (width >= 1024px) {
    body[data-app-shell] > aside {
      z-index: auto;
      border: 0;
      border-inline-end: var(--pico-border-width) solid var(--pico-app-shell-border-color);
      width: auto;
      max-width: none;
      height: auto;
      max-height: none;
      box-shadow: none;
      opacity: 1;
      border-radius: 0;
      margin: 0;
      padding: 0;
      transition: none;
      display: block;
      position: static;
      inset: auto;
      overflow: visible;
      transform: none;
    }

    body[data-app-shell] > aside > nav {
      max-height: calc(100dvh - var(--pico-app-shell-header-height));
      padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
      position: sticky;
      inset-block-start: var(--pico-app-shell-header-height);
      overflow-y: auto;
    }

    body[data-app-shell] > aside[popover]:popover-open {
      inset-block: var(--pico-app-shell-header-height) 0;
      width: var(--pico-app-shell-nav-width);
      background-color: var(--pico-app-shell-nav-background-color);
      height: auto;
      position: fixed;
      inset-inline: 0 auto;
      overflow-y: auto;
    }

    body[data-app-shell] > aside[popover]:popover-open > nav {
      max-height: none;
      position: static;
      overflow-y: visible;
    }

    body[data-app-shell] > aside[popover]:popover-open:before {
      display: none;
    }

    body[data-app-shell] > aside[popover]:popover-open:after {
      display: none;
    }
  }

  @media (width < 1024px) {
    @supports selector(:popover-open) {
      body[data-app-shell] > aside[popover] {
        z-index: 30;
        width: min(20rem, 85vw);
        max-width: none;
        height: 100dvh;
        max-height: none;
        padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
        border: 0;
        border-inline-end: var(--pico-border-width) solid var(--pico-app-shell-border-color);
        background-color: #0000;
        border-inline-end: 0;
        border-radius: 0;
        margin: 0;
        position: fixed;
        inset-block: 0;
        inset-inline: 0 auto;
        overflow-y: auto;
        transform: none;
      }

      body[data-app-shell] > aside[popover]:before, body[data-app-shell] > aside[popover]:after {
        content: "";
        z-index: -1;
        pointer-events: auto;
        position: fixed;
      }

      body[data-app-shell] > aside[popover]:before {
        background-color: var(--pico-app-shell-scrim-color);
        inset: 0;
      }

      body[data-app-shell] > aside[popover]:after {
        border-inline-end: var(--pico-border-width) solid var(--pico-app-shell-border-color);
        background-color: var(--pico-app-shell-nav-background-color);
        width: min(20rem, 85vw);
        inset-block: 0;
        inset-inline: 0 auto;
      }

      body[data-app-shell] > aside[popover]:not(:popover-open) {
        display: none;
      }
    }

    @supports not selector(:popover-open) {
      body[data-app-shell] > aside {
        padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
        border-block-end: var(--pico-border-width) solid var(--pico-app-shell-border-color);
      }
    }
  }

  @media (width < 1024px) and (prefers-reduced-motion: no-preference) {
    @supports (transition-behavior: allow-discrete) {
      body[data-app-shell] > aside[popover] {
        transition: opacity var(--pico-transition),
            display var(--pico-transition) allow-discrete,
            overlay var(--pico-transition) allow-discrete;
      }

      body[data-app-shell] > aside[popover]:not(:popover-open) {
        opacity: 0;
      }

      @starting-style {
        body[data-app-shell] > aside[popover]:popover-open {
          opacity: 0;
          transform: none;
        }
      }
    }
  }

  body[data-app-shell] > a[href="#main"] {
    z-index: 40;
    padding: var(--pico-nav-link-spacing-vertical) var(--pico-spacing);
    border-radius: var(--pico-border-radius);
    background-color: var(--pico-app-shell-background-color);
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    position: absolute;
    inset-block-start: var(--pico-nav-link-spacing-vertical);
    inset-inline-start: var(--pico-nav-link-spacing-horizontal);
  }

  body[data-app-shell] > a[href="#main"]:not(:focus) {
    clip-path: inset(50%);
    white-space: nowrap;
    width: 1px;
    height: 1px;
    box-shadow: none;
    padding: 0;
    overflow: hidden;
  }

  :root, :host, [data-theme] {
    --pico-data-table-head-background-color: var(--pico-card-sectioning-background-color);
    --pico-data-table-row-hover-background-color: var(--pico-dropdown-hover-background-color);
    --pico-data-table-row-selected-background-color: var(--pico-primary-subtle-background);
    --pico-data-table-scroll-max-block-size: none;
    --pico-data-table-scroll-padding-block-start: 0;
    --pico-data-table-compact-padding-block: calc(var(--pico-spacing) / 4);
    --pico-data-table-compact-padding-inline: calc(var(--pico-spacing) / 2);
    --pico-data-table-sort-idle-opacity: .75;
  }

  :where(div[role="region"]:has( > table)) {
    max-block-size: var(--pico-data-table-scroll-max-block-size);
    margin-bottom: var(--pico-typography-spacing-vertical);
    border: var(--pico-border-width) solid var(--pico-muted-border-color);
    border-radius: var(--pico-card-border-radius);
    scroll-padding-block-start: var(--pico-data-table-scroll-padding-block-start);
    overflow: auto;
  }

  :where(div[role="region"]:has( > table)):focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: 0;
  }

  :where(div[role="region"]:has( > table)) > table {
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
  }

  :where(div[role="region"]:has( > table)) > table > thead th {
    z-index: 1;
    background-color: var(--pico-data-table-head-background-color);
    position: sticky;
    inset-block-start: 0;
  }

  :where(th, td)[data-type="numeric"] {
    font-variant-numeric: tabular-nums;
    text-align: end;
  }

  table[data-table] :where(th, td):has( > input[type="checkbox"]:only-child) {
    white-space: nowrap;
    inline-size: 1%;
  }

  table[data-table] :where(th, td):has( > input[type="checkbox"]:only-child) > input[type="checkbox"] {
    vertical-align: middle;
    margin: 0;
  }

  table[data-table] > caption {
    padding: 0 var(--pico-spacing) calc(var(--pico-spacing) / 2);
  }

  :where(div[role="region"]) > :is(table[data-table] > caption) {
    padding-block-start: calc(var(--pico-spacing) * .75);
  }

  table[data-table] > caption {
    color: var(--pico-color);
    text-align: start;
    font-weight: 600;
  }

  table[data-table] > tbody > tr:not([aria-selected="true"]):hover > * {
    background-color: var(--pico-data-table-row-hover-background-color);
  }

  table[data-table] > tbody > tr[aria-selected="true"] > * {
    background-color: var(--pico-data-table-row-selected-background-color);
  }

  table[data-table] > tbody > tr[aria-selected="true"] > :first-child {
    position: relative;
  }

  table[data-table] > tbody > tr[aria-selected="true"] > :first-child:before {
    background-color: var(--pico-primary-background);
    content: "";
    inline-size: .125rem;
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
  }

  th[aria-sort] > button {
    border-radius: var(--pico-border-radius);
    inline-size: auto;
    box-shadow: none;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-align: inherit;
    text-transform: inherit;
    cursor: pointer;
    background: none;
    border: 0;
    align-items: center;
    gap: .375em;
    margin: 0;
    padding: 0;
    display: inline-flex;
  }

  th[aria-sort] > button:after {
    content: "↕";
    content: "↕" / "";
    opacity: var(--pico-data-table-sort-idle-opacity);
    flex: none;
    font-size: 1em;
    font-weight: 400;
    line-height: 1;
  }

  th[aria-sort] > button:hover, th[aria-sort] > button:active, th[aria-sort] > button:focus {
    box-shadow: none;
    color: var(--pico-primary-hover);
    background: none;
  }

  th[aria-sort] > button:hover:after {
    opacity: 1;
  }

  th[aria-sort] > button:focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: .25rem;
  }

  :where(div[role="region"]) > table > :last-child > tr:last-child > * {
    border-bottom: 0;
  }

  th[data-type="numeric"][aria-sort] > button {
    flex-direction: row-reverse;
  }

  th[aria-sort="ascending"] > button:after {
    content: "↑";
    content: "↑" / "";
    opacity: 1;
  }

  th[aria-sort="descending"] > button:after {
    content: "↓";
    content: "↓" / "";
    opacity: 1;
  }

  table[data-density="compact"] :is(th, td) {
    padding-block: var(--pico-data-table-compact-padding-block);
    padding-inline: var(--pico-data-table-compact-padding-inline);
    font-size: .875em;
  }

  @media (forced-colors: active) {
    table[data-table] > tbody > tr[aria-selected="true"] > * {
      box-shadow: inset 0 .125rem canvastext, inset 0 -.125rem canvastext;
    }
  }

  :root, :host, [data-theme] {
    --pico-pagination-item-size: 2.25rem;
    --pico-pagination-gap: .25rem;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) {
    margin-bottom: var(--pico-typography-spacing-vertical);
    justify-content: center;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) ol {
    justify-content: center;
    align-items: center;
    gap: var(--pico-pagination-gap);
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) li {
    margin: 0;
    padding: 0;
    display: block;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) li[aria-hidden="true"] {
    min-inline-size: var(--pico-pagination-item-size);
    block-size: var(--pico-pagination-item-size);
    color: var(--pico-muted-color);
    -webkit-user-select: none;
    user-select: none;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    line-height: 1;
    display: flex;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) a, nav:where([aria-label="pagination" i], [data-pagination]) [aria-disabled="true"] {
    box-sizing: border-box;
    min-inline-size: var(--pico-pagination-item-size);
    block-size: var(--pico-pagination-item-size);
    padding-block: 0;
    padding-inline: var(--pico-nav-link-spacing-horizontal);
    border: var(--pico-border-width) solid transparent;
    border-radius: var(--pico-border-radius);
    outline: var(--pico-outline-width) solid transparent;
    color: var(--_nav-color);
    white-space: nowrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) a:hover {
    background-color: color-mix(in oklab, var(--_nav-color) 6%, transparent);
    color: var(--_nav-color);
  }

  nav:where([aria-label="pagination" i], [data-pagination]) a:focus-visible {
    outline-color: var(--pico-primary-focus);
    outline-offset: .125rem;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) a[aria-current="page"] {
    border-color: var(--pico-primary-background);
    background-color: var(--pico-primary-background);
    color: var(--pico-primary-inverse);
    font-weight: 600;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) a[aria-current="page"]:hover {
    border-color: var(--pico-primary-hover-background);
    background-color: var(--pico-primary-hover-background);
    color: var(--pico-primary-inverse);
  }

  nav:where([aria-label="pagination" i], [data-pagination]) :is(a[rel="prev"], li:first-child > [aria-disabled="true"]):not(:has( > [aria-hidden])):before, nav:where([aria-label="pagination" i], [data-pagination]) :is(a[rel="next"], li:last-child > [aria-disabled="true"]):not(:has( > [aria-hidden])):after {
    font-size: 1.25em;
    line-height: 1;
    display: inline-block;
    translate: 0 -.0625em;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) :is(a[rel="prev"], li:first-child > [aria-disabled="true"]):not(:has( > [aria-hidden])):before {
    content: "‹";
    content: "‹" / "";
    margin-inline-end: .375em;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) :is(a[rel="next"], li:last-child > [aria-disabled="true"]):not(:has( > [aria-hidden])):after {
    content: "›";
    content: "›" / "";
    margin-inline-start: .375em;
  }

  nav:where([aria-label="pagination" i], [data-pagination]) [aria-disabled="true"] {
    color: var(--pico-muted-color);
    opacity: var(--pico-form-element-disabled-opacity);
    cursor: default;
    pointer-events: none;
  }

  [dir="rtl"] :is(nav:where([aria-label="pagination" i], [data-pagination])) a[rel] > [aria-hidden="true"], nav:where([aria-label="pagination" i], [data-pagination])[dir="rtl"] a[rel] > [aria-hidden="true"] {
    display: inline-block;
    transform: scaleX(-1);
  }

  @media (prefers-reduced-motion: reduce) {
    nav:where([aria-label="pagination" i], [data-pagination]) a {
      transition: none;
    }
  }

  :root, :host, [data-theme] {
    --pico-stepper-marker-size: 2rem;
    --pico-stepper-line-width: .125rem;
    --pico-stepper-gap: .5rem;
    --pico-stepper-ring-width: var(--pico-outline-width);
    --pico-stepper-line-color: var(--pico-muted-border-color);
    --pico-stepper-label-color: var(--pico-muted-color);
    --pico-stepper-complete-label-color: var(--pico-color);
    --pico-stepper-current-color: var(--pico-color);
    --pico-stepper-current-ring-color: var(--pico-primary-background);
    --pico-stepper-complete-background: var(--pico-primary-background);
    --pico-stepper-complete-color: var(--pico-primary-inverse);
    --pico-stepper-complete-line-color: var(--pico-primary-background);
  }

  ol[data-stepper] {
    inline-size: 100%;
    margin: 0 0 var(--pico-spacing);
    padding: 0;
    list-style: none;
    display: flex;
  }

  nav > :is(ol[data-stepper]) {
    margin-bottom: 0;
  }

  ol[data-stepper] > li {
    --_marker-background: var(--pico-background-color);
    --_marker-color: var(--pico-stepper-label-color);
    --_marker-ring: inset 0 0 0 var(--pico-stepper-line-width) var(--pico-form-element-border-color);
    --_marker-icon: none;
    --_label-color: var(--pico-stepper-label-color);
    --_label-weight: inherit;
    --_line-color: var(--pico-stepper-line-color);
    gap: var(--pico-stepper-gap);
    min-inline-size: 0;
    color: var(--_label-color);
    font-weight: var(--_label-weight);
    text-align: center;
    overflow-wrap: break-word;
    flex-direction: column;
    flex: 1 1 0;
    align-items: center;
    margin: 0;
    padding: 0;
    font-size: .875em;
    line-height: 1.25;
    display: flex;
    position: relative;
  }

  ol[data-stepper] > li:before {
    float: none;
    content: "​";
    position: absolute;
  }

  ol[data-stepper] > li > a {
    gap: var(--pico-stepper-gap);
    border-radius: var(--pico-border-radius);
    min-inline-size: 0;
    color: inherit;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 0;
    text-decoration: none;
    display: flex;
  }

  ol[data-stepper] > li > a:hover {
    text-underline-offset: var(--pico-text-underline-offset);
    text-decoration: underline;
  }

  ol[data-stepper] > li > a:focus-visible {
    outline: var(--pico-outline-width) solid var(--pico-primary-focus);
    outline-offset: .25rem;
  }

  ol[data-stepper] > li > a[aria-disabled="true"] {
    opacity: var(--pico-form-element-disabled-opacity);
    pointer-events: none;
  }

  ol[data-stepper] > li > [aria-hidden="true"], ol[data-stepper] > li > a > [aria-hidden="true"] {
    z-index: 1;
    inline-size: var(--pico-stepper-marker-size);
    block-size: var(--pico-stepper-marker-size);
    background: var(--_marker-icon) center / .875rem no-repeat var(--_marker-background);
    box-shadow: var(--_marker-ring);
    color: var(--_marker-color);
    font-variant-numeric: tabular-nums;
    transition: background-color var(--pico-transition),
        box-shadow var(--pico-transition);
    border-radius: 50%;
    flex: none;
    place-items: center;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1;
    display: grid;
  }

  ol[data-stepper] > li:not(:last-child):after {
    inset-block-start: calc((var(--pico-stepper-marker-size) - var(--pico-stepper-line-width)) / 2);
    inset-inline: calc(50% + var(--pico-stepper-marker-size) / 2 + var(--pico-stepper-gap))
        calc(var(--pico-stepper-marker-size) / 2 + var(--pico-stepper-gap) - 50%);
    block-size: var(--pico-stepper-line-width);
    border-radius: var(--pico-stepper-line-width);
    background-color: var(--_line-color);
    content: "";
    position: absolute;
  }

  ol[data-stepper] > li:has( ~ li[aria-current="step"],  ~ li > [aria-current="step"]) {
    --_marker-background: var(--pico-stepper-complete-background);
    --_marker-color: transparent;
    --_marker-ring: 0 0 0 0 transparent;
    --_marker-icon: var(--pico-icon-checkbox);
    --_label-color: var(--pico-stepper-complete-label-color);
    --_line-color: var(--pico-stepper-complete-line-color);
  }

  ol[data-stepper] > li[aria-current="step"], ol[data-stepper] > li:has( > [aria-current="step"]) {
    --_marker-color: var(--pico-primary);
    --_marker-ring: inset 0 0 0 var(--pico-stepper-ring-width) var(--pico-stepper-current-ring-color),
        0 0 0 .25rem color-mix(in oklab, var(--pico-stepper-current-ring-color) 20%, transparent);
    --_label-color: var(--pico-stepper-current-color);
    --_label-weight: 600;
  }

  ol[data-stepper][data-stepper="vertical"] {
    flex-direction: column;
  }

  ol[data-stepper="vertical"] > li {
    line-height: var(--pico-stepper-marker-size);
    text-align: start;
    flex-direction: row;
    flex: none;
    align-items: flex-start;
    padding-block-end: max(1.5rem, calc(var(--pico-spacing) * 1.75));
  }

  ol[data-stepper="vertical"] > li:last-child {
    padding-block-end: 0;
  }

  ol[data-stepper="vertical"] > li > a {
    flex-direction: row;
    align-self: auto;
    align-items: flex-start;
  }

  ol[data-stepper="vertical"] > li:not(:last-child):after {
    inset-block: calc(var(--pico-stepper-marker-size) + var(--pico-stepper-gap) / 2)
      calc(var(--pico-stepper-gap) / 2);
    inset-inline: calc((var(--pico-stepper-marker-size) - var(--pico-stepper-line-width)) / 2) auto;
    block-size: auto;
    inline-size: var(--pico-stepper-line-width);
  }

  @media (width < 576px) {
    ol[data-stepper="responsive"] {
      flex-direction: column;
    }

    ol[data-stepper="responsive"] > li {
      line-height: var(--pico-stepper-marker-size);
      text-align: start;
      flex-direction: row;
      flex: none;
      align-items: flex-start;
      padding-block-end: max(1.5rem, calc(var(--pico-spacing) * 1.75));
    }

    ol[data-stepper="responsive"] > li:last-child {
      padding-block-end: 0;
    }

    ol[data-stepper="responsive"] > li > a {
      flex-direction: row;
      align-self: auto;
      align-items: flex-start;
    }

    ol[data-stepper="responsive"] > li:not(:last-child):after {
      inset-block: calc(var(--pico-stepper-marker-size) + var(--pico-stepper-gap) / 2)
          calc(var(--pico-stepper-gap) / 2);
      inset-inline: calc((var(--pico-stepper-marker-size) - var(--pico-stepper-line-width)) / 2)
          auto;
      block-size: auto;
      inline-size: var(--pico-stepper-line-width);
    }
  }

  :root, :host, [data-theme] {
    --pico-empty-state-max-inline-size: 28rem;
    --pico-empty-state-padding-block: calc(var(--pico-block-spacing-vertical) * 2);
    --pico-empty-state-icon-size: 1.5rem;
    --pico-empty-state-icon-color: var(--pico-primary);
    --pico-empty-state-icon-background: color-mix(in oklab,
    var(--pico-primary-background) 10%,
    transparent);
    --pico-empty-state-border-color: var(--pico-muted-border-color);
  }

  :where([data-empty]) {
    justify-items: center;
    gap: calc(var(--pico-spacing) * .5);
    box-sizing: border-box;
    max-inline-size: var(--pico-empty-state-max-inline-size);
    margin-block: 0 var(--pico-block-spacing-vertical);
    padding-block: var(--pico-empty-state-padding-block);
    padding-inline: var(--pico-block-spacing-horizontal);
    border: var(--pico-border-width) solid var(--pico-empty-state-border-color);
    border-radius: var(--pico-card-border-radius);
    text-align: center;
    margin-inline: auto;
    display: grid;
  }

  :where([data-empty])[hidden] {
    display: none;
  }

  :where([data-empty]) > figure {
    margin: 0 0 calc(var(--pico-spacing) * .25);
    background-color: var(--pico-empty-state-icon-background);
    color: var(--pico-empty-state-icon-color);
    border-radius: 50%;
    place-items: center;
    padding: .75rem;
    display: grid;
  }

  :where([data-empty]) > figure > svg {
    inline-size: var(--pico-empty-state-icon-size);
    block-size: var(--pico-empty-state-icon-size);
    display: block;
  }

  :where([data-empty]) > :is(h2, h3, h4, h5, h6) {
    margin: 0;
  }

  :where([data-empty]) > p {
    color: var(--pico-muted-color);
    text-wrap: balance;
    margin: 0;
  }

  :where([data-empty]) > footer {
    justify-content: center;
    gap: calc(var(--pico-spacing) * .5);
    margin: calc(var(--pico-spacing) * .5) 0 0;
    background: none;
    border: 0;
    flex-wrap: wrap;
    padding: 0;
    display: flex;
  }

  :where([data-empty]) > footer > :is(a, button, [role="button"]) {
    margin: 0;
  }

  :where([data-empty="compact"]) {
    --pico-empty-state-padding-block: var(--pico-spacing);
    --pico-empty-state-icon-size: 1.25rem;
    gap: calc(var(--pico-spacing) * .25);
  }

  :where([data-empty="compact"]) > figure {
    padding: calc(var(--pico-spacing) * .5);
    margin: 0;
  }

  :where([data-empty="compact"]) > footer {
    margin-block-start: calc(var(--pico-spacing) * .25);
  }

  :where(td):has( > [data-empty]) {
    padding: 0;
  }

  :where(td):has( > [data-empty]) > [data-empty] {
    border: 0;
    border-radius: 0;
    max-inline-size: none;
    margin: 0;
  }
}

@layer pico.utilities;
