.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  margin: -1px;
  padding: 0;
  border: 0;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  z-index: var(--z-toast);
  top: var(--space-4);
  left: var(--space-4);
  width: auto;
  height: auto;
  clip: auto !important;
  clip-path: none;
  padding: var(--space-3) var(--space-4);
  background: var(--color-bg-elevated);
  color: var(--color-text);
}
.skip-link { position: fixed; }
.is-hidden,
[hidden] { display: none !important; }
.overflow-hidden { overflow: hidden; }
.border { border: var(--border-thin); }
.border-top { border-top: var(--border-thin); }
.border-bottom { border-bottom: var(--border-thin); }
.shadow-subtle { box-shadow: var(--shadow-sm); }
.glow-subtle { box-shadow: var(--glow-subtle); }
.radius-sm { border-radius: var(--radius-sm); }
.radius-md { border-radius: var(--radius-md); }
.w-full { width: 100%; }
.align-center { text-align: center; }

