@layer reset {

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  body,
  h1, h2, h3, h4, h5, h6 {
    margin: 0;
  }

  p, li, h1, h2, h3, h4 {
    word-break: break-word;
  }

  html,
  body {
    overflow-x: clip;
  }

  body {
    min-height: 100dvh;
    font-family: var(--font-sans);
    font-size: 100%;
    line-height: 1.5;
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  ul, ol {
    list-style: none;
  }

  img {
    display: block;
    max-inline-size: 100%;
  }

  svg, video, canvas, audio, iframe, embed, object {
    display: block;
    max-width: 100%;
  }

  input, button, textarea, select, optgroup {
    font: inherit;
    color: inherit;
  }

  button {
    background: none;
    border: none;
    cursor: pointer;
  }

  a {
    color: inherit;
    text-decoration: none;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  fieldset {
    border: none;
  }

  hr {
    border: none;
    border-top: var(--border);
    margin: 0;
  }

  [hidden] {
    display: none !important;
  }

  :focus-visible {
    border-radius: 0.25ch;
    outline: var(--focus-ring-size) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
  }

  :focus:not(:focus-visible) {
    outline: none;
  }

  :is(a, button, input, textarea) {
    transition: 100ms ease-out;
    transition-property: background-color, border-color, box-shadow, filter, outline;
    touch-action: manipulation;
  }

  [disabled] {
    cursor: not-allowed;
    opacity: 0.5;
  }

  ::selection {
    background: oklch(var(--lch-blue-lighter));
  }

  @media (prefers-color-scheme: dark) {
    ::selection {
      background-color: oklch(var(--lch-blue-light));
    }
  }

  turbo-frame {
    display: contents;
  }

  .turbo-progress-bar {
    visibility: hidden;
  }

  @media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
    * {
      scrollbar-color: oklch(var(--lch-ink-lighter)) transparent;
      scrollbar-width: thin;
    }
  }
}
