/* Unified homepage link affordances: desktop, keyboard, and touch. */
:root {
  --home-link-gold: #c9a84c;
  --home-link-gold-bright: #f0dc91;
  --home-link-border-active: rgba(201, 168, 76, 0.72);
  --home-link-surface-active: rgba(201, 168, 76, 0.115);
  --home-link-underline: rgba(201, 168, 76, 0.62);
}

/* Conventional text links retain a visible underline. Whole-card links use
   border, surface, elevation, and title treatment instead of underlining all copy. */
.home-inline-links a,
.home-chronicle-capsule > a,
.home-canon-primary > a,
.home-audience-grid nav a,
.status-generated-note a,
.home-current-model-link a,
.home-safety-boundary a,
.home-reference-portal p a {
  color: #dccb82;
  text-decoration-line: underline !important;
  text-decoration-color: var(--home-link-underline) !important;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.22em;
  text-decoration-skip-ink: auto;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.home-action,
.home-proof-strip a,
.home-task-grid a,
.home-status-links a,
.home-live-signal,
.home-formation-links a,
.home-canon-links a {
  position: relative;
  isolation: isolate;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(201, 168, 76, 0.24);
  transition:
    transform 170ms ease,
    border-color 170ms ease,
    background-color 170ms ease,
    box-shadow 170ms ease,
    color 170ms ease;
}

.home-action:focus-visible,
.home-proof-strip a:focus-visible,
.home-task-grid a:focus-visible,
.home-status-links a:focus-visible,
.home-live-signal:focus-visible,
.home-formation-links a:focus-visible,
.home-canon-links a:focus-visible {
  border-color: var(--home-link-border-active) !important;
  background: linear-gradient(145deg, var(--home-link-surface-active), rgba(255, 255, 255, 0.035)) !important;
  box-shadow:
    0 0 0 2px rgba(201, 168, 76, 0.18),
    0 10px 28px rgba(0, 0, 0, 0.2),
    inset 0 0 0 1px rgba(240, 220, 145, 0.13);
  color: var(--home-link-gold-bright) !important;
}

.home-proof-strip a:focus-visible strong,
.home-task-grid a:focus-visible strong,
.home-status-links a:focus-visible strong,
.home-live-signal:focus-visible strong {
  color: var(--home-link-gold-bright) !important;
}

.home-proof-strip a:focus-visible span,
.home-task-grid a:focus-visible strong,
.home-status-links a:focus-visible strong,
.home-live-signal:focus-visible .home-signal-label {
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

@media (hover: hover) and (pointer: fine) {
  .home-action:hover,
  .home-proof-strip a:hover,
  .home-task-grid a:hover,
  .home-status-links a:hover,
  .home-live-signal:hover,
  .home-formation-links a:hover,
  .home-canon-links a:hover {
    transform: translateY(-2px);
    border-color: var(--home-link-border-active) !important;
    background: linear-gradient(145deg, var(--home-link-surface-active), rgba(255, 255, 255, 0.035)) !important;
    box-shadow:
      0 12px 30px rgba(0, 0, 0, 0.2),
      inset 0 0 0 1px rgba(240, 220, 145, 0.13);
    color: var(--home-link-gold-bright) !important;
  }

  .home-proof-strip a:hover strong,
  .home-task-grid a:hover strong,
  .home-status-links a:hover strong,
  .home-live-signal:hover strong {
    color: var(--home-link-gold-bright) !important;
  }

  .home-proof-strip a:hover span,
  .home-task-grid a:hover strong,
  .home-status-links a:hover strong,
  .home-live-signal:hover .home-signal-label {
    text-decoration-line: underline;
    text-decoration-color: currentColor;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.2em;
  }

  .home-inline-links a:hover,
  .home-chronicle-capsule > a:hover,
  .home-canon-primary > a:hover,
  .home-audience-grid nav a:hover,
  .status-generated-note a:hover,
  .home-current-model-link a:hover,
  .home-safety-boundary a:hover,
  .home-reference-portal p a:hover {
    color: var(--home-link-gold-bright) !important;
    text-decoration-color: currentColor !important;
  }
}

.home-action:active,
.home-proof-strip a:active,
.home-task-grid a:active,
.home-status-links a:active,
.home-live-signal:active,
.home-formation-links a:active,
.home-canon-links a:active {
  transform: translateY(0) scale(0.985);
  border-color: var(--home-link-border-active) !important;
  background: rgba(201, 168, 76, 0.14) !important;
}

@media (hover: none), (pointer: coarse) {
  .home-action,
  .home-proof-strip a,
  .home-task-grid a,
  .home-status-links a,
  .home-live-signal,
  .home-formation-links a,
  .home-canon-links a {
    min-height: 48px;
  }

  .home-proof-strip a {
    min-height: 88px;
    padding: 0.85rem 0.75rem;
  }

  .home-proof-strip span,
  .home-task-grid strong,
  .home-status-links strong,
  .home-live-signal .home-signal-label {
    text-decoration-line: underline;
    text-decoration-color: rgba(201, 168, 76, 0.45);
    text-decoration-thickness: 0.07em;
    text-underline-offset: 0.2em;
  }

  .home-task-grid a,
  .home-status-links a {
    min-height: 104px;
  }

  .home-action:active,
  .home-proof-strip a:active,
  .home-task-grid a:active,
  .home-status-links a:active,
  .home-live-signal:active,
  .home-formation-links a:active,
  .home-canon-links a:active {
    box-shadow:
      inset 0 0 0 1px rgba(240, 220, 145, 0.18),
      0 4px 14px rgba(0, 0, 0, 0.18);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-action,
  .home-proof-strip a,
  .home-task-grid a,
  .home-status-links a,
  .home-live-signal,
  .home-formation-links a,
  .home-canon-links a,
  .home-inline-links a,
  .home-chronicle-capsule > a,
  .home-canon-primary > a,
  .home-audience-grid nav a,
  .status-generated-note a {
    transition: none !important;
  }
}
