@layer component {
  jcrafts-tab[hidden] {
    display: none;
  }
  jcrafts-tab {
    display: block;
  }
  jcrafts-tab > details {
    margin-block: 0;
    border-block-end: var(--border-width, 1px) solid var(--border-color);
  }
  jcrafts-tab > details > * {
    padding-block: 0;
    padding-inline: var(--spacing-100);
  }
  jcrafts-tab > details > summary {
    padding-block: var(--spacing-100);
    padding-inline: var(--spacing-100);
    font-size: var(--font-size-200);
    font-weight: var(--font-weight-bold);
    cursor: pointer;
  }
  jcrafts-tab > details > summary:focus-visible {
    outline: var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
  }
  jcrafts-tab > details > summary :where(:is(h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6, p)) {
    margin-block: 0;
  }
  jcrafts-tab[data-tabs] > details > summary {
    display: none;
  }
  jcrafts-tab[data-tabs] > details {
    border-block-end: 0;
    scroll-margin-block-start: var(--jcrafts-jumpnav-offset, 5rem);
  }
  jcrafts-tab[data-tabs] .jcrafts-tab__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-050);
    padding-block: var(--spacing-050);
  }
  jcrafts-tab[data-tabs] .jcrafts-tab__navs {
    display: contents;
  }
  jcrafts-tab[data-tabs] .jcrafts-tab__tab {
    padding-block: var(--spacing-075);
    padding-inline: var(--spacing-150);
    border: var(--border-width, 1px) solid var(--border-color);
    border-radius: var(--border-radius);
    background-color: transparent;
    color: inherit;
    font-family: inherit;
    font-size: var(--font-size-200);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    cursor: pointer;
  }
  jcrafts-tab[data-tabs] .jcrafts-tab__tab:hover {
    background-color: var(--text-interactive-hover-bg);
    color: var(--text-interactive-hover);
  }
  jcrafts-tab[data-tabs] .jcrafts-tab__tab:focus-visible {
    outline: var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
  }
  jcrafts-tab[data-tabs] .jcrafts-tab__tab[aria-selected=true] {
    border-color: var(--color-surface-primary-bg);
    background-color: var(--color-surface-primary-bg);
    color: var(--color-surface-primary-fg);
  }
  jcrafts-tab[data-tabs] .jcrafts-tab__tab h1, jcrafts-tab[data-tabs] .jcrafts-tab__tab h2, jcrafts-tab[data-tabs] .jcrafts-tab__tab h3, jcrafts-tab[data-tabs] .jcrafts-tab__tab h4, jcrafts-tab[data-tabs] .jcrafts-tab__tab h5, jcrafts-tab[data-tabs] .jcrafts-tab__tab h6 {
    margin-block: 0;
  }
  jcrafts-tab[data-tabs][orientation=vertical] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: var(--spacing-300);
  }
  jcrafts-tab[data-tabs][orientation=vertical] > details {
    grid-column: 2;
    grid-row: 1;
  }
  jcrafts-tab[data-tabs][orientation=vertical] .jcrafts-tab__list {
    grid-column: 1;
    grid-row: 1;
    flex-flow: column nowrap;
    margin-block-end: 0;
  }
  jcrafts-tab[data-tabs][orientation=vertical] .jcrafts-tab__tab {
    text-align: start;
  }
}
