/* KARVYRA final bold + usability pass — loaded last across the app and guide library. */
:root {
  --karvyra-focus: #61f7ee;
  --karvyra-pop-purple: rgba(163, 60, 255, .42);
  --karvyra-pop-cyan: rgba(0, 207, 255, .28);
}

html { font-weight: 800; text-rendering: optimizeLegibility; }

body, body * { font-weight: 800 !important; }

h1, h2, h3, h4, h5, h6, strong, b, .brand-word, .brand b {
  font-weight: 950 !important;
}

a, button, summary, label, select, option, [role="button"], [role="tab"] {
  font-weight: 900 !important;
}

input, textarea, select, button { font-weight: 850 !important; }

input::placeholder, textarea::placeholder {
  color: #bdb7c9;
  font-weight: 800 !important;
  opacity: .92;
}

small, .site-header nav a, .footer-inner a, .mini-link, .breadcrumbs,
.eyebrow, .badge-row span, .support-grid small, .device-stats span,
.planned-device small, .pid-gauge small, .evidence-lock small, .factor small,
.maint-row span, .mechanic-row small, .ppi-item small, .help-answer span {
  font-weight: 800 !important;
}

a, button, summary, input, textarea, select, [role="button"], [role="tab"] {
  transition: transform .18s ease, border-color .18s ease, color .18s ease,
    background-color .18s ease, box-shadow .18s ease, filter .18s ease;
}

a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, [role="button"]:focus-visible,
[role="tab"]:focus-visible {
  outline: 3px solid var(--karvyra-focus) !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 7px rgba(35, 219, 198, .16), 0 0 28px var(--karvyra-pop-cyan) !important;
}

button:not(:disabled):active, .neon-btn:active, .primary:active,
.secondary:active, [role="button"]:active {
  transform: translateY(1px) scale(.985) !important;
}

button:disabled, [aria-disabled="true"] {
  cursor: not-allowed !important;
  filter: saturate(.45) brightness(.72);
}

.neon-btn, .primary, .secondary, .app-link, .link-tool,
.breakdown-choices button {
  letter-spacing: .055em;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .36), 0 0 22px var(--karvyra-pop-purple);
}

.neon-btn:not(:disabled):hover, .primary:hover, .secondary:hover,
.app-link:hover, .link-tool:not(:disabled):hover,
.breakdown-choices button:not(:disabled):hover {
  transform: translateY(-2px);
  filter: brightness(1.15) saturate(1.08);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .42), 0 0 32px var(--karvyra-pop-cyan), 0 0 18px var(--karvyra-pop-purple);
}

.glass-card, .power-card, .answer, .safety, .workflow, .faq, .terms,
.related, .source, .columns article, .related-grid a, .guide-grid a,
.category-grid a {
  border-color: rgba(133, 105, 172, .48) !important;
  box-shadow: 0 22px 58px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .045);
}

.glass-card:hover, .power-card:hover, .related-grid a:hover,
.guide-grid a:hover, .category-grid a:hover {
  border-color: rgba(59, 236, 228, .6) !important;
  box-shadow: 0 26px 68px rgba(0, 0, 0, .46), 0 0 32px rgba(0, 207, 255, .12), 0 0 24px rgba(163, 60, 255, .14);
}

.site-header nav a, .site-nav a, .footer-inner a, .source a,
.breadcrumbs a, .mini-link {
  text-underline-offset: .25em;
  text-decoration-thickness: 2px;
}

.source a, .breadcrumbs a, .mini-link, .footer-inner a:hover {
  text-decoration-line: underline;
}

.site-header nav a:hover, .site-header nav a.active, .site-nav a:hover {
  text-shadow: 0 0 15px currentColor;
}

@media (min-width: 761px) {
  .site-header nav a { font-size: 12px !important; }
  .neon-btn, .link-tool, .breakdown-choices button { min-height: 44px; }
}

@media (max-width: 760px) {
  .neon-btn, .primary, .secondary, button, input, textarea, select { min-height: 46px; }
  .site-header nav a, .site-nav a, .footer-inner a { font-size: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
  a, button, summary, input, textarea, select, [role="button"], [role="tab"] {
    transition: none !important;
  }
}
