/* Base: reset, focus ring, scrollbars, the icon and label primitives (.k-ic, .k-mono, .k-code, .k-hazard), and
   the reduced-motion switch of the shell. */
@layer base {
  * {
    box-sizing: border-box;
    scrollbar-width: thin;
    scrollbar-color: var(--k-line-2) transparent;
  }
  html,
  body {
    height: 100%;
    margin: 0;
    overflow: hidden;
    background: var(--k-bg);
    color: var(--k-fg);
    font-family: var(--k-font);
    font-size: var(--k-text-10);
    line-height: var(--k-leading-body);
    -webkit-font-smoothing: antialiased;
  }
  [hidden] {
    display: none !important;
  }
  button,
  input,
  select,
  textarea {
    font: inherit;
    color: inherit;
  }
  button {
    cursor: pointer;
  }
  :focus-visible {
    outline: 2px solid var(--k-accent);
    outline-offset: 2px;
  }
  .kos-sprite {
    position: absolute;
  }
  .k-ic {
    width: var(--k-icon-6);
    height: var(--k-icon-6);
    flex: none;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .k-mono {
    font-family: var(--k-mono);
    font-variant-numeric: tabular-nums;
  }
  .k-code {
    font-family: var(--k-mono);
    font-size: var(--k-text-2);
    letter-spacing: var(--k-track-10);
    text-transform: uppercase;
    color: var(--k-muted);
  }
  .k-hazard {
    background: repeating-linear-gradient(-45deg, var(--k-accent) 0 6px, transparent 6px 12px);
  }
  .kos.reduce-motion *,
  .kos.reduce-motion *::before,
  .kos.reduce-motion *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0s !important;
    transition: none !important;
  }
  ::-webkit-scrollbar {
    width: 9px;
    height: 9px;
  }
  ::-webkit-scrollbar-track,
  ::-webkit-scrollbar-corner {
    background: transparent;
  }
  ::-webkit-scrollbar-thumb {
    background: var(--k-line-2);
    border: 2px solid transparent;
    background-clip: content-box;
    border-radius: 0;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--k-accent);
    background-clip: content-box;
  }
}
