/* AETHRION Corporate Polish — 2026-10-24
   Additive visual consistency, keyboard focus, responsive cards and reduced-motion support.
   Existing feature-specific styles and legacy selectors are intentionally preserved. */
:root {
  --aethrion-polish-border: rgba(148, 163, 184, .22);
  --aethrion-polish-gold: #d9b45b;
  --aethrion-polish-surface: rgba(16, 27, 44, .94);
}
:where(button, a, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 2px solid var(--aethrion-polish-gold) !important;
  outline-offset: 3px !important;
}
#mainSite :is(.feature-card, .category-card, .model-card, .tool-card, .price-card, .pricing-card, .ecosystem-card, .tech-card) {
  border: 1px solid var(--aethrion-polish-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18) !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
  min-width: 0;
  overflow-wrap: anywhere;
}
#mainSite :is(.feature-card, .category-card, .model-card, .tool-card, .price-card, .pricing-card, .ecosystem-card, .tech-card):hover {
  border-color: rgba(217, 180, 91, .48) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .25) !important;
  transform: translateY(-3px);
}
#mainSite :is(.section-title, .feature-title, .category-title) {
  text-wrap: balance;
  line-height: 1.2;
}
#mainSite :is(p, .feature-desc, .category-desc) {
  line-height: 1.65;
}
#authModal :is(input, select, textarea),
#mainSite :is(input, select, textarea) {
  max-width: 100%;
  transition: border-color .18s ease, box-shadow .18s ease;
}
#authModal :is(input, select, textarea):focus,
#mainSite :is(input, select, textarea):focus {
  border-color: rgba(217, 180, 91, .8) !important;
  box-shadow: 0 0 0 3px rgba(217, 180, 91, .13) !important;
}
.aethrion-sidebar {
  box-shadow: 18px 0 54px rgba(0, 0, 0, .28);
  border-right: 1px solid rgba(217, 180, 91, .18);
}
.aethrion-sidebar-item {
  min-height: 48px;
  border-radius: 12px;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.aethrion-sidebar-item:focus-visible {
  outline-offset: -2px !important;
}
.aethrion-sidebar-backdrop {
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
@media (max-width: 640px) {
  #mainSite :is(.features-grid, .feature-grid, .features-container, .category-grid, .models-grid, .pricing-grid, .ecosystem-grid, .tech-grid) {
    gap: 14px !important;
  }
  #mainSite :is(.feature-card, .category-card, .model-card, .tool-card, .price-card, .pricing-card, .ecosystem-card, .tech-card) {
    border-radius: 15px !important;
  }
  #authModal .modal {
    width: min(100% - 24px, 520px) !important;
    max-height: calc(100dvh - 24px);
    overflow: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* AETHRION Enterprise UI layer — notification visibility, responsive surfaces, and readable controls. */
/* Notifications must always remain above auth modals and overlays. */
#notification.notification,
.notification {
  position: fixed !important;
  top: max(14px, env(safe-area-inset-top, 0px)) !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  width: min(520px, calc(100vw - 28px)) !important;
  max-width: 520px !important;
  box-sizing: border-box !important;
  z-index: 2147483647 !important;
  padding: 15px 20px !important;
  border: 1px solid rgba(217, 180, 91, .48) !important;
  border-left: 4px solid var(--aethrion-polish-gold, #d9b45b) !important;
  border-radius: 16px !important;
  background: rgba(8, 15, 29, .985) !important;
  color: #f8fafc !important;
  font-size: clamp(14px, 2.4vw, 16px) !important;
  line-height: 1.55 !important;
  font-weight: 550 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .58), 0 0 0 1px rgba(255,255,255,.04) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  transform: translate3d(-50%, -150%, 0) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: transform .24s ease, opacity .24s ease, visibility .24s ease !important;
  margin: 0 !important;
}
#notification.notification.show,
.notification.show {
  transform: translate3d(-50%, 0, 0) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#notification.notification.error,
.notification.error {
  border-left-color: #ff6678 !important;
  border-color: rgba(255, 102, 120, .58) !important;
}
#notification.notification.warning,
.notification.warning {
  border-left-color: #f5bd4f !important;
  border-color: rgba(245, 189, 79, .55) !important;
}
#notification.notification.success,
.notification.success {
  border-left-color: #45d49a !important;
  border-color: rgba(69, 212, 154, .5) !important;
}
@media (max-width: 640px) {
  #notification.notification, .notification {
    top: max(10px, env(safe-area-inset-top, 0px)) !important;
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    padding: 13px 15px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
  }
  #authModal .modal, .modal {
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px));
    padding: clamp(18px, 5vw, 30px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  button, .btn-primary, .btn-secondary, [role="button"] {
    min-height: 42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #notification.notification, .notification,
  #mainSite :is(.feature-card, .category-card, .model-card, .tool-card, .price-card, .pricing-card, .ecosystem-card, .tech-card) {
    transition: none !important;
    animation: none !important;
  }
}


/* Shared baseline for standalone AETHRION pages and embedded product surfaces. */
:where(button, input, select, textarea, [role="button"], .btn, .btn-primary, .btn-secondary) {
  font: inherit;
  max-width: 100%;
}
:where(button, [role="button"], .btn, .btn-primary, .btn-secondary) {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: filter .18s ease, transform .18s ease, box-shadow .18s ease;
}
:where(button, [role="button"], .btn, .btn-primary, .btn-secondary):active {
  transform: translateY(1px);
}
:where(input, select, textarea) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
:where(img, video, canvas, iframe, svg) {
  max-width: 100%;
}
:where(table) {
  max-width: 100%;
}
:where(.card, .feature-card, .tool-card, .model-card, .pricing-card, .feature-box, .content-card, .info-card, .service-card, .product-card, .project-card) {
  min-width: 0;
  overflow-wrap: anywhere;
}
:where(h1, h2, h3, .page-title, .section-title) {
  text-wrap: balance;
}
:where(p, li, label, .description, .subtitle) {
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  :where(.container, .page-container, .content-container, .main-container) {
    width: min(100% - 28px, 100%) !important;
    max-width: 100% !important;
  }
  :where(.grid, .cards-grid, .features-grid, .tools-grid, .models-grid, .pricing-grid) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  }
  :where(pre, .code-block, .table-container) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }
}


/* AETHRION Enterprise Experience — 2026-10-24 */
:root {
  --ae-enterprise-ink: #0a1220;
  --ae-enterprise-surface: rgba(17, 29, 47, .94);
  --ae-enterprise-line: rgba(169, 187, 211, .2);
  --ae-enterprise-gold: #dfc37b;
  --ae-enterprise-violet: #8b83ff;
}
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
::selection { background: rgba(223, 195, 123, .28); color: #fff; }
:where(button, .btn, .btn-primary, .btn-secondary, [role="button"]) {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, filter .18s ease;
}
:where(button, .btn, .btn-primary, .btn-secondary, [role="button"]):hover {
  filter: brightness(1.06);
}
:where(input, select, textarea) {
  color-scheme: dark;
  border-radius: 12px;
}
:where(input, select, textarea)::placeholder { color: #94a3b8; opacity: 1; }
:where(.modal, .modal-content, .panel, .dropdown-menu, .navbar-avatar-menu) {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
:where(.navbar-avatar-menu, .dropdown-menu, .popover, .tooltip) {
  max-width: min(92vw, 360px);
  overflow-wrap: anywhere;
}
:where(.navbar-avatar-menu button, .dropdown-menu button) { min-height: 44px; }
@media (max-width: 760px) {
  :where(.container, .page-container, .content-container, .main-container) {
    width: calc(100% - 24px) !important;
  }
  :where(button, .btn, .btn-primary, .btn-secondary, [role="button"]) {
    max-width: 100%;
    white-space: normal;
  }
  :where(.modal, .modal-content) {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* AETHRION authentication and feedback layers: visible above dashboard/content stacking contexts. */
#authModal,
#socialAuthTermsModal,
#profileCompletionModal,
#recoveryLoginModal {
  z-index: 2147483000 !important;
}
#notification.notification,
.notification#notification {
  z-index: 2147483647 !important;
  top: max(12px, env(safe-area-inset-top, 0px)) !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) translateY(0) !important;
  width: min(540px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  box-sizing: border-box !important;
  pointer-events: none;
}
#notification.notification.show,
.notification#notification.show {
  opacity: 1 !important;
  visibility: visible !important;
}


/* AETHRION runtime layout repair — hidden feature drawer must never cover the page. */
#aethrionExperienceDrawer[aria-hidden="true"],
#aethrionExperienceDrawer:not(.open) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#aethrionExperienceBackdrop:not(.show) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
#aethrionExperienceDrawer[aria-hidden="false"],
#aethrionExperienceDrawer.open {
  visibility: visible !important;
  pointer-events: auto !important;
}
#aethrionExperienceBackdrop.show {
  visibility: visible !important;
  pointer-events: auto !important;
}
#aethrionFeaturesTrigger,
.ae-ops-drawer-launcher {
  position: fixed !important;
  z-index: 10040 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
}
.ae-ops-drawer[hidden] {
  display: none !important;
}
.ae-legal-nav {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  z-index: auto !important;
  width: 100% !important;
  pointer-events: auto !important;
}
.ae-legal-nav a {
  position: static !important;
  transform: none !important;
  pointer-events: auto !important;
}
#mainSite,
#mainSite nav,
#mainSite button,
#mainSite a,
#mainSite input,
#mainSite select,
#mainSite textarea {
  pointer-events: auto;
}
#particles,
#customCursor,
#customCursorRing,
.custom-cursor,
.custom-cursor-ring {
  pointer-events: none !important;
}
@media (max-width: 760px) {
  #aethrionExperienceDrawer {
    max-width: 100vw !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }
  #aethrionExperienceDrawer .aed-list {
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}
