.skip-link {
  position: fixed;
  z-index: calc(var(--z-toast) + 10);
  top: calc(8px + var(--safe-top));
  left: calc(12px + var(--safe-left));
  max-width: calc(100% - 24px - var(--safe-left) - var(--safe-right));
  min-height: var(--target-comfortable);
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  border: 2px solid var(--color-focus);
  border-radius: var(--radius-pill);
  background: #0d0d12;
  color: #fff;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .5);
  font-weight: 720;
  text-decoration: none;
  transform: translateY(calc(-100% - 24px - var(--safe-top)));
  transition: transform var(--motion-fast) ease;
}

.skip-link:focus {
  transform: translateY(0);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px rgba(5, 5, 8, .9);
}

:where(a, button, input, select, textarea, [tabindex]):not([tabindex="-1"]) {
  min-inline-size: var(--target-min);
  min-block-size: var(--target-min);
}

main[tabindex="-1"]:focus {
  outline: none;
}

[aria-disabled="true"] {
  cursor: wait;
}

[aria-hidden="true"][role="dialog"] {
  visibility: hidden;
}

[role="dialog"].open {
  visibility: visible;
}

.generic-dialog { z-index: var(--z-dialog); }
.external-dialog,
.viewer { z-index: var(--z-dialog) !important; }
.update-banner { z-index: var(--z-update); }
.toast { z-index: var(--z-toast); }

@media (forced-colors: active) {
  .glass,
  .glass-surface,
  .dialog-panel,
  .external-sheet,
  .error-card,
  .status-item {
    border: 1px solid CanvasText !important;
    background: Canvas !important;
    color: CanvasText !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .status-badge::before,
  .network-dot,
  .kicker-dot {
    forced-color-adjust: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skip-link { transition: none; }
}

.section[tabindex="-1"]:focus {
  outline: none;
}

.section[tabindex="-1"]:focus {
  outline: none;
}
