/*
  Universe to Study - capa visual final
  Esta hoja se carga al final de cada pagina para unificar diseno sin tocar la logica.
*/

:root {
  --uts-page-max: 1500px;
  --uts-wide-max: 1840px;
  --uts-radius-xl: 30px;
  --uts-radius-lg: 22px;
  --uts-radius-md: 16px;
  --uts-shadow-soft: 0 24px 70px rgba(37, 99, 235, .12);
  --uts-shadow-card: 0 18px 48px rgba(15, 23, 42, .10);
  --uts-glass-light: rgba(255, 255, 255, .82);
  --uts-line-light: rgba(37, 99, 235, .18);
  --uts-text: #0f172a;
  --uts-muted: #475569;
  --uts-bg: #f8fbff;
  --uts-card: #ffffff;
  --uts-card-2: #eef6ff;
}

html[data-universe-theme="dark"] {
  --uts-shadow-soft: 0 28px 80px rgba(0, 0, 0, .48);
  --uts-shadow-card: 0 22px 58px rgba(0, 0, 0, .38);
  --uts-glass-light: rgba(5, 12, 24, .84);
  --uts-line-light: rgba(96, 165, 250, .24);
  --uts-text: #f8fafc;
  --uts-muted: #cbd5e1;
  --uts-bg: #020617;
  --uts-card: #050b16;
  --uts-card-2: #0b1220;
}

html[data-universe-page],
html[data-universe-page] body {
  min-height: 100%;
  width: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  color: var(--uts-text);
}

html[data-universe-page] body {
  background-color: var(--uts-bg) !important;
  background-image:
    radial-gradient(circle at 8% 8%, rgba(37, 99, 235, .16), transparent 28rem),
    radial-gradient(circle at 92% 16%, rgba(56, 189, 248, .14), transparent 26rem),
    radial-gradient(circle at 50% 100%, rgba(147, 197, 253, .16), transparent 30rem),
    linear-gradient(rgba(37, 99, 235, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37, 99, 235, .055) 1px, transparent 1px) !important;
  background-size: auto, auto, auto, 34px 34px, 34px 34px !important;
  background-attachment: fixed !important;
}

html[data-universe-theme="dark"][data-universe-page] body {
  background-image:
    radial-gradient(circle at 8% 8%, rgba(37, 99, 235, .24), transparent 30rem),
    radial-gradient(circle at 92% 18%, rgba(14, 165, 233, .18), transparent 28rem),
    radial-gradient(circle at 48% 100%, rgba(30, 64, 175, .16), transparent 30rem),
    linear-gradient(rgba(96, 165, 250, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96, 165, 250, .075) 1px, transparent 1px) !important;
}

html[data-universe-page] body > nav {
  position: sticky !important;
  left: auto !important;
  right: auto !important;
  top: max(10px, env(safe-area-inset-top)) !important;
  width: min(1180px, calc(100vw - 22px)) !important;
  min-height: 64px !important;
  height: auto !important;
  transform: none !important;
  margin: max(10px, env(safe-area-inset-top)) auto 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(.65rem, 1.8vw, 1.4rem) !important;
  padding: .65rem clamp(.85rem, 2vw, 1.25rem) !important;
  border: 1px solid rgba(37, 99, 235, .18) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: 0 18px 55px rgba(37, 99, 235, .13) !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  z-index: 1200 !important;
}

html[data-universe-theme="dark"][data-universe-page] body > nav {
  background: rgba(2, 6, 23, .86) !important;
  border-color: rgba(96, 165, 250, .26) !important;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .44) !important;
}

html[data-universe-page] body > nav .nav-logo {
  white-space: nowrap !important;
  letter-spacing: clamp(1.5px, .35vw, 3px) !important;
  color: #0f172a !important;
}

html[data-universe-page] body > nav .nav-links {
  min-width: 0 !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(.4rem, 1vw, .9rem) !important;
  margin: 0 !important;
  padding: 0 !important;
}

html[data-universe-page] body > nav .nav-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: .48rem .75rem !important;
  border-radius: 999px !important;
  color: #334155 !important;
  line-height: 1 !important;
}

html[data-universe-page] body > nav .nav-links a:hover,
html[data-universe-page] body > nav .nav-links a.active {
  color: #0f172a !important;
  background: rgba(37, 99, 235, .10) !important;
}

html[data-universe-theme="dark"][data-universe-page] body > nav .nav-links a {
  color: #cbd5e1 !important;
}

html[data-universe-theme="dark"][data-universe-page] body > nav .nav-links a:hover,
html[data-universe-theme="dark"][data-universe-page] body > nav .nav-links a.active {
  color: #fff !important;
  background: rgba(96, 165, 250, .16) !important;
}

/* Header final: escritorio sin superposiciones */
html[data-universe-page] body > nav {
  width: min(1320px, calc(100vw - 28px)) !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
}

html[data-universe-page] body > nav .nav-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

html[data-universe-page] body > nav .nav-logo {
  flex: 0 0 auto !important;
  max-width: clamp(172px, 19vw, 245px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html[data-universe-page] body > nav .nav-links {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

html[data-universe-page] body > nav .nav-links::-webkit-scrollbar {
  display: none !important;
}

html[data-universe-page] body > nav .nav-links a {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  padding-inline: clamp(.48rem, .72vw, .72rem) !important;
}

html[data-universe-page] :where(main, .universe-static-page, .universe-page-stage) {
  position: relative;
  z-index: 1;
}

html[data-universe-page] .reveal,
html[data-universe-page] .reveal.visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

html[data-universe-page] .universe-page-stage {
  width: 100% !important;
  padding: clamp(24px, 4vw, 46px) clamp(12px, 3vw, 34px) clamp(44px, 7vw, 88px) !important;
}

html[data-universe-page] .universe-page-stage-inner,
html[data-universe-page] .universe-static-page > :where(section, main, div):not(#support-v2-overlay):not(#support-v2-panel):not(#universe-page-loader) {
  margin-left: auto !important;
  margin-right: auto !important;
}

html[data-universe-page] .universe-page-stage-inner {
  width: min(var(--uts-page-max), 100%) !important;
}

html[data-universe-page="ranking"] .universe-page-stage-inner,
html[data-universe-page="library"] .universe-page-stage-inner,
html[data-universe-page="learn"] .universe-page-stage-inner {
  width: min(var(--uts-wide-max), 100%) !important;
}

html[data-universe-page] :where(
  .section,
  .feature-card,
  .subject-card,
  .tool-card,
  .sim-card,
  .library-section,
  .lib-box,
  .doc-card,
  .teacher-card,
  .teacher-map-card,
  .summary-main,
  .summary-topic-panel,
  .summary-course-btn,
  .summary-topic-btn,
  .summary-concept,
  .summary-table-wrap,
  .cepre-v2-shell,
  .cepre-v2-controls,
  .cepre-v2-summary,
  .cp-card,
  .cp-mode-tabs,
  .cp-method-card,
  .cp-results,
  .cp-architecture,
  .learn-card,
  .learn-hero,
  .learn-node,
  .learn-theory,
  .learn-practice,
  .learn-experiment,
  .learn-resources,
  .learnpdf-hero,
  .learnpdf-panel,
  .learnpdf-card,
  .legal-card,
  .admission-card,
  .admission-table-card,
  .payment-card,
  .payment-event,
  .countdown-box,
  .countdown-item
) {
  border-radius: var(--uts-radius-lg) !important;
  border-color: var(--uts-line-light) !important;
  box-shadow: var(--uts-shadow-card) !important;
}

html[data-universe-page] :where(
  input,
  select,
  textarea,
  .cepre-v2-search,
  .cp-field input,
  .cp-field select,
  .support-v2-compose textarea,
  .support-v2-name-row input
) {
  border-radius: 14px !important;
  outline: none !important;
}

html[data-universe-page] :where(input, select, textarea):focus {
  border-color: rgba(37, 99, 235, .68) !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12) !important;
}

html[data-universe-theme="dark"][data-universe-page] :where(input, select, textarea):focus {
  border-color: rgba(96, 165, 250, .76) !important;
  box-shadow: 0 0 0 4px rgba(96, 165, 250, .16) !important;
}

html[data-universe-page] :where(button, .nav-cta, .tool-cta, .ap-action, .learn-primary, .learn-secondary, .cp-mode-tab, .cepre-v2-filter, .cepre-eval-btn) {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease !important;
}

html[data-universe-page] :where(button, .nav-cta, .tool-cta, .ap-action, .learn-primary, .learn-secondary, .cp-mode-tab, .cepre-v2-filter, .cepre-eval-btn):hover {
  transform: translateY(-1px);
}

html[data-universe-page] :where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(37, 99, 235, .32) !important;
  outline-offset: 3px !important;
}

html[data-universe-theme="dark"][data-universe-page] :where(
  .section,
  .feature-card,
  .subject-card,
  .tool-card,
  .sim-card,
  .library-section,
  .lib-box,
  .doc-card,
  .teacher-card,
  .teacher-map-card,
  .summary-main,
  .summary-topic-panel,
  .summary-course-btn,
  .summary-topic-btn,
  .summary-concept,
  .summary-table-wrap,
  .cepre-v2-shell,
  .cepre-v2-controls,
  .cepre-v2-summary,
  .cp-card,
  .cp-mode-tabs,
  .cp-method-card,
  .cp-results,
  .cp-architecture,
  .learn-card,
  .learn-hero,
  .learn-node,
  .learn-theory,
  .learn-practice,
  .learn-experiment,
  .learn-resources,
  .learnpdf-hero,
  .learnpdf-panel,
  .learnpdf-card,
  .legal-card,
  .admission-card,
  .admission-table-card,
  .payment-card,
  .payment-event,
  .countdown-box,
  .countdown-item
) {
  background: linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .98)) !important;
  color: #f8fafc !important;
}

html[data-universe-theme="dark"][data-universe-page] :where(
  p,
  li,
  small,
  .section-sub,
  .feature-desc,
  .tool-copy,
  .doc-meta,
  .library-section-meta,
  .summary-body,
  .summary-detail,
  .summary-line,
  .learn-note,
  .learn-theory p,
  .learn-practice p,
  .learn-experiment p,
  .legal-card p,
  .legal-card li
) {
  color: #cbd5e1 !important;
}

html[data-universe-page="ranking"] .ranking-section,
html[data-universe-page="ranking"] .cepre-v2-shell {
  width: 100% !important;
  max-width: none !important;
}

html[data-universe-page="ranking"] .cepre-v2-wrap {
  width: 100% !important;
  max-width: calc(100vw - 24px) !important;
  max-height: none !important;
  height: auto !important;
  overflow: auto !important;
  border-radius: 20px !important;
  -webkit-overflow-scrolling: touch !important;
}

html[data-universe-page="ranking"] .cepre-v2-table {
  width: max(100%, 1280px) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

@media (min-width: 901px) {
  html[data-universe-page="ranking"] .universe-page-stage {
    padding-top: 1.15rem !important;
  }

  html[data-universe-page="ranking"] #ranking-cepreuni {
    padding-top: .8rem !important;
  }

  html[data-universe-page="ranking"] #ranking-cepreuni > .reveal:first-child {
    display: grid !important;
    grid-template-columns: minmax(310px, .62fr) minmax(320px, .9fr) !important;
    align-items: end !important;
    gap: .35rem 1.35rem !important;
    margin-bottom: .75rem !important;
  }

  html[data-universe-page="ranking"] #ranking-cepreuni :is(.section-label, .section-title, .section-sub) {
    margin: 0 !important;
    text-align: left !important;
  }

  html[data-universe-page="ranking"] #ranking-cepreuni .section-label {
    justify-self: start !important;
    grid-column: 1 !important;
  }

  html[data-universe-page="ranking"] #ranking-cepreuni .section-title {
    grid-column: 1 !important;
    font-size: clamp(2rem, 3.2vw, 3.25rem) !important;
    line-height: .95 !important;
  }

  html[data-universe-page="ranking"] #ranking-cepreuni .section-sub {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    max-width: 720px !important;
  }

  html[data-universe-page="ranking"] .cepre-v2-shell {
    margin-top: .75rem !important;
  }

  html[data-universe-page="ranking"] .cepre-v2-controls {
    padding: 10px 12px !important;
    align-items: center !important;
  }

  html[data-universe-page="ranking"] .cepre-v2-search {
    min-height: 38px !important;
  }
}

html[data-universe-page="ranking"] .cepre-v2-table :where(th, td) {
  padding: .78rem .72rem !important;
  vertical-align: middle !important;
}

html[data-universe-theme="dark"][data-universe-page="ranking"] .cepre-v2-table :where(th, td) {
  background-color: #050b16 !important;
  color: #dbeafe !important;
  border-color: rgba(96, 165, 250, .18) !important;
}

html[data-universe-theme="dark"][data-universe-page="ranking"] .cepre-v2-table thead :where(th, td) {
  background: #0b1220 !important;
  color: #fff !important;
}

html[data-universe-page="calculator"] .cepre-planner {
  width: min(1500px, calc(100vw - 24px)) !important;
  margin-inline: auto !important;
}

html[data-universe-page="calculator"] .cp-card,
html[data-universe-page="calculator"] .cp-results {
  overflow: clip;
}

html[data-universe-page="library"] .universe-library-layout {
  align-items: start !important;
  gap: clamp(1rem, 2.2vw, 2rem) !important;
}

html[data-universe-page="library"] :where(.library-resource-grid, .library-folder-grid, .lib-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)) !important;
}

html[data-universe-page="learn"] :where(.learn-path, .learnpdf-path, .learn-road) {
  gap: clamp(.7rem, 1.4vw, 1.05rem) !important;
}

html[data-universe-page="learn"] :where(.learn-node, .learnpdf-node, .learn-road-node) {
  transform-style: preserve-3d;
}

html[data-universe-page="learn"] :where(.learn-node, .learnpdf-node, .learn-road-node):hover {
  transform: translateY(-3px) translateX(-4px) !important;
}

html[data-universe-page] :where(.learn-visual, .map-container iframe, iframe, canvas) {
  max-width: 100% !important;
}

html[data-universe-page] :where(#support-v2-overlay, #chat-overlay) {
  z-index: 2147482600 !important;
}

html[data-universe-page] :where(#support-v2-panel, #chat-panel) {
  z-index: 2147482700 !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .42) !important;
}

html[data-universe-page] :where(#support-v2-fab, #chat-fab) {
  z-index: 2147481200 !important;
}

html[data-universe-page] body.support-v2-active :where(.nav-theme-toggle, .universe-theme-toggle, #universe-floating-game, #countdown-float, .floating-clock, .game-fab) {
  z-index: 1 !important;
  opacity: .18 !important;
  pointer-events: none !important;
}

html[data-universe-page] body > nav .nav-actions > #universe-theme-toggle,
html[data-universe-page] body > nav .nav-theme-toggle,
html[data-universe-page] body > nav .universe-theme-toggle {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  flex: 0 0 44px !important;
  border-radius: 14px !important;
  z-index: auto !important;
  transform: none !important;
}

html[data-universe-page] #support-v2-fab {
  position: fixed !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  bottom: max(16px, env(safe-area-inset-bottom)) !important;
  min-width: 50px !important;
  min-height: 50px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 13px 17px !important;
  background: linear-gradient(135deg, #0aa66b, #21c77a) !important;
  color: #fff !important;
  box-shadow: 0 14px 38px rgba(7, 146, 91, .3) !important;
  font: 900 13px/1 Inter, system-ui, sans-serif !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

html[data-universe-page] #support-v2-fab:hover {
  transform: translateY(-2px) !important;
  filter: saturate(1.08) brightness(1.02) !important;
  box-shadow: 0 18px 44px rgba(7, 146, 91, .38) !important;
}

html[data-universe-page] #support-v2-fab:focus-visible {
  outline: 3px solid rgba(37, 211, 102, .34) !important;
  outline-offset: 4px !important;
}

html[data-universe-page] #support-v2-fab svg {
  flex: 0 0 auto !important;
  width: 23px !important;
  height: 23px !important;
  fill: currentColor !important;
}

html[data-universe-page] #support-v2-hint {
  right: max(16px, env(safe-area-inset-right)) !important;
  bottom: max(78px, calc(env(safe-area-inset-bottom) + 78px)) !important;
}

html[data-universe-theme="dark"][data-universe-page] :where(
  #support-v2-panel,
  #support-v2-inbox,
  .support-v2-conversation,
  #support-v2-messages,
  .support-v2-compose,
  .support-v2-name-row,
  .support-v2-thread-head,
  #support-v2-image-preview,
  #chat-panel,
  .chat-pm,
  .chat-pi
) {
  background: #020617 !important;
  color: #f8fafc !important;
  border-color: rgba(96, 165, 250, .22) !important;
}

html[data-universe-theme="dark"][data-universe-page] :where(.support-v2-bubble, .chat-pm-text) {
  background: #0b1220 !important;
  color: #f8fafc !important;
  border-color: rgba(96, 165, 250, .22) !important;
}

html[data-universe-theme="dark"][data-universe-page="syllabus"] :where(
  .tp-course-name,
  .tp-topic-title,
  .temario-group-label,
  .temario-pc-title,
  .tvcol-header,
  .tvcard-name,
  .news-name,
  .news-name-v2,
  .news-section-label,
  .current-news-title,
  .current-news-card-title,
  .current-news-filter,
  .section-title
) {
  color: #f8fafc !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .28) !important;
}

html[data-universe-theme="dark"][data-universe-page="syllabus"] :where(
  .tp-course-cat,
  .temario-uni-badge,
  .section-label,
  .news-section-label,
  .current-news-kicker
) {
  color: #60a5fa !important;
}

html[data-universe-theme="dark"][data-universe-page="syllabus"] :where(
  .tp-course-sub,
  .temario-pc-desc,
  .tvcard p,
  .news-country,
  .current-news-sub,
  .current-news-card-text,
  .current-news-date,
  .current-news-count
) {
  color: #cbd5e1 !important;
}

html[data-universe-theme="dark"][data-universe-page="syllabus"] :where(
  .tp-course-header,
  .temario-visual-grid,
  .tvcol,
  .tvcard,
  .news-card,
  .news-card-v2,
  .current-news-card,
  .current-news-head,
  .current-news-toolbar,
  #actualidad-panel,
  #temario-panel,
  #temario-main-panel
) {
  background: linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .98)) !important;
  border-color: rgba(96, 165, 250, .24) !important;
  color: #f8fafc !important;
}

html[data-universe-theme="dark"][data-universe-page="syllabus"] :where(.tvcard:hover, .news-card:hover, .news-card-v2:hover, .current-news-card:hover) {
  background: rgba(37, 99, 235, .16) !important;
  border-color: rgba(96, 165, 250, .48) !important;
}

html[data-universe-page] footer {
  margin-top: 0 !important;
  background: rgba(255, 255, 255, .72) !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

html[data-universe-theme="dark"][data-universe-page] footer {
  background: rgba(2, 6, 23, .86) !important;
  border-color: rgba(96, 165, 250, .18) !important;
}

@media (max-width: 980px) {
  html[data-universe-page] body > nav {
    grid-template-columns: 1fr auto !important;
    border-radius: 24px !important;
    width: min(760px, calc(100vw - 18px)) !important;
    margin-top: max(8px, env(safe-area-inset-top)) !important;
  }

  html[data-universe-page] body > nav .nav-links {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    display: flex !important;
    width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    padding: .18rem .12rem .1rem !important;
    scrollbar-width: none !important;
  }

  html[data-universe-page] body > nav .nav-links::-webkit-scrollbar {
    display: none;
  }

  html[data-universe-page] .universe-page-stage {
    padding-top: 26px !important;
  }
}

@media (max-width: 620px) {
  html[data-universe-page],
  html[data-universe-page] body {
    height: auto !important;
    max-height: none !important;
    position: static !important;
    touch-action: pan-x pan-y !important;
  }

  html[data-universe-page] body > nav {
    top: max(8px, env(safe-area-inset-top)) !important;
    width: calc(100vw - 16px) !important;
    padding: .58rem .68rem !important;
    gap: .42rem !important;
    margin-top: max(8px, env(safe-area-inset-top)) !important;
  }

  html[data-universe-page] body > nav .nav-logo {
    font-size: clamp(1.14rem, 6vw, 1.55rem) !important;
    max-width: 66vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html[data-universe-page] body > nav .nav-links a {
    min-height: 34px !important;
    padding: .46rem .62rem !important;
    font-size: .78rem !important;
  }

  html[data-universe-page] .universe-page-stage {
    padding: 22px 10px 4.8rem !important;
  }

  html[data-universe-page] :where(.section, .library-section, .cp-card, .cepre-v2-shell, .learn-card, .legal-card) {
    border-radius: 18px !important;
  }

  html[data-universe-page="ranking"] .cepre-v2-wrap {
    max-width: calc(100vw - 12px) !important;
  }

  html[data-universe-page] #support-v2-fab {
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
  }

  html[data-universe-page] #support-v2-fab span {
    display: none !important;
  }

  html[data-universe-page] #support-v2-hint {
    max-width: min(188px, calc(100vw - 96px)) !important;
    padding: .55rem .68rem !important;
    font-size: .72rem !important;
    line-height: 1.2 !important;
    border-radius: 14px !important;
  }

  html[data-universe-page] #support-v2-panel {
    width: min(100vw, 420px) !important;
    max-width: 100vw !important;
    right: 0 !important;
    border-radius: 22px 0 0 22px !important;
  }
}

html[data-universe-animations="off"] {
  scroll-behavior: auto !important;
}

html[data-universe-animations="off"] *,
html[data-universe-animations="off"] *::before,
html[data-universe-animations="off"] *::after {
  animation: none !important;
  scroll-behavior: auto !important;
  transition-duration: .001ms !important;
  transition-delay: 0s !important;
}

/* ========================================================================== */
/* UNIVERSE DESIGN SYSTEM 2026 · continuidad visual con la portada principal */
/* ========================================================================== */

html[data-universe-page] {
  --uts-accent: #2563eb;
  --uts-accent-2: #38bdf8;
  --uts-accent-rgb: 37, 99, 235;
  --uts-panel: rgba(255, 255, 255, .78);
  --uts-panel-strong: rgba(255, 255, 255, .94);
  --uts-copy: #0b1b38;
  --uts-copy-soft: #52627a;
}

html[data-universe-page="admission"] { --uts-accent:#2563eb; --uts-accent-2:#06b6d4; --uts-accent-rgb:37,99,235; }
html[data-universe-page="cepre"],
html[data-universe-page="calculator"],
html[data-universe-page="ranking"],
html[data-universe-page="docentes-cepreuni"],
html[data-universe-page="fijas-cepreuni"],
html[data-universe-page="ingresantes-cepreuni"] { --uts-accent:#0f6fe8; --uts-accent-2:#20c997; --uts-accent-rgb:15,111,232; }
html[data-universe-page="syllabus"] { --uts-accent:#7c3aed; --uts-accent-2:#2563eb; --uts-accent-rgb:124,58,237; }
html[data-universe-page="classes"] { --uts-accent:#ef4444; --uts-accent-2:#f59e0b; --uts-accent-rgb:239,68,68; }
html[data-universe-page="library"] { --uts-accent:#0ea5e9; --uts-accent-2:#22c55e; --uts-accent-rgb:14,165,233; }
html[data-universe-page="simulators"],
html[data-universe-page="exams"] { --uts-accent:#8b5cf6; --uts-accent-2:#ec4899; --uts-accent-rgb:139,92,246; }
html[data-universe-page="unitalk"] { --uts-accent:#2563eb; --uts-accent-2:#8b5cf6; --uts-accent-rgb:37,99,235; }
html[data-universe-page="account"] { --uts-accent:#0891b2; --uts-accent-2:#2563eb; --uts-accent-rgb:8,145,178; }
html[data-universe-page="privacy"],
html[data-universe-page="terms"],
html[data-universe-page="editorial"] { --uts-accent:#334155; --uts-accent-2:#2563eb; --uts-accent-rgb:51,65,85; }

html[data-universe-theme="dark"][data-universe-page] {
  --uts-panel: rgba(5, 18, 45, .76);
  --uts-panel-strong: rgba(4, 15, 38, .94);
  --uts-copy: #f8fbff;
  --uts-copy-soft: #b8c8df;
}

html[data-universe-page]:not([data-universe-page="home"]) body {
  font-family: "Nunito Sans", "DM Sans", Inter, system-ui, sans-serif !important;
  color: var(--uts-copy) !important;
  background-color: #eef6ff !important;
  background-image:
    radial-gradient(circle at 8% 9%, rgba(var(--uts-accent-rgb), .27), transparent 27rem),
    radial-gradient(circle at 92% 13%, color-mix(in srgb, var(--uts-accent-2) 22%, transparent), transparent 29rem),
    radial-gradient(circle at 52% 88%, rgba(56, 189, 248, .17), transparent 32rem),
    linear-gradient(rgba(var(--uts-accent-rgb), .062) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--uts-accent-rgb), .062) 1px, transparent 1px),
    linear-gradient(145deg, #f8fbff, #edf6ff 48%, #f6f2ff) !important;
  background-size: auto, auto, auto, 42px 42px, 42px 42px, auto !important;
  background-attachment: fixed !important;
}

html[data-universe-theme="dark"][data-universe-page]:not([data-universe-page="home"]) body {
  background-color: #020a1b !important;
  background-image:
    radial-gradient(circle at 8% 9%, rgba(var(--uts-accent-rgb), .29), transparent 29rem),
    radial-gradient(circle at 92% 13%, color-mix(in srgb, var(--uts-accent-2) 20%, transparent), transparent 30rem),
    radial-gradient(circle at 52% 88%, rgba(37, 99, 235, .17), transparent 34rem),
    linear-gradient(rgba(125, 173, 255, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125, 173, 255, .055) 1px, transparent 1px),
    linear-gradient(145deg, #020817, #06132b 50%, #0b1028) !important;
}

html[data-universe-page]:not([data-universe-page="home"]) body::before,
html[data-universe-page]:not([data-universe-page="home"]) body::after {
  content: "";
  position: fixed;
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(2px);
}
html[data-universe-page]:not([data-universe-page="home"]) body::before {
  width: 26rem; height: 26rem; left: -12rem; top: 31vh;
  border: 1px solid rgba(var(--uts-accent-rgb), .18);
  box-shadow: 0 0 80px rgba(var(--uts-accent-rgb), .12), inset 0 0 70px rgba(var(--uts-accent-rgb), .08);
}
html[data-universe-page]:not([data-universe-page="home"]) body::after {
  width: 18rem; height: 18rem; right: -8rem; bottom: 10vh;
  border: 1px solid color-mix(in srgb, var(--uts-accent-2) 25%, transparent);
  box-shadow: 0 0 70px color-mix(in srgb, var(--uts-accent-2) 10%, transparent);
}

html[data-universe-page] :where(h1, h2, h3, h4, .section-title, .admission-hero-copy h1, .cp-hero h1, .syv4-hero h1) {
  font-family: "Nunito Sans", "DM Sans", Inter, system-ui, sans-serif !important;
  color: var(--uts-copy) !important;
  letter-spacing: -.035em !important;
}

/* Header compartido: misma geometria e identidad de la portada */
html[data-universe-page]:not([data-universe-page="home"]) body > nav.uts-unified-nav {
  position: sticky !important;
  top: max(12px, env(safe-area-inset-top)) !important;
  width: min(1420px, calc(100vw - 28px)) !important;
  min-height: 70px !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: clamp(.8rem, 2vw, 1.8rem) !important;
  margin: max(12px, env(safe-area-inset-top)) auto 0 !important;
  padding: .62rem .76rem .62rem .66rem !important;
  border: 1px solid rgba(var(--uts-accent-rgb), .18) !important;
  border-radius: 25px !important;
  background: rgba(255, 255, 255, .84) !important;
  box-shadow: 0 18px 55px rgba(21, 63, 124, .14) !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html[data-universe-theme="dark"][data-universe-page] body > nav.uts-unified-nav {
  background: rgba(3, 13, 34, .84) !important;
  border-color: rgba(117, 169, 255, .22) !important;
}
html[data-universe-page] .uts-unified-nav .nav-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: .7rem !important;
  min-width: max-content !important;
  max-width: none !important;
  color: #10213e !important;
  text-decoration: none !important;
  letter-spacing: -.02em !important;
  font: 900 clamp(.9rem, 1.4vw, 1.06rem)/1 "Nunito Sans", sans-serif !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-universe-theme="dark"][data-universe-page] .uts-unified-nav .nav-logo { color: #f7fbff !important; }
.uts-brand-mark {
  display: grid; place-items: center; flex: 0 0 auto;
  width: 43px; height: 43px; border-radius: 14px;
  color: #fff; background: linear-gradient(145deg, var(--uts-accent), var(--uts-accent-2));
  box-shadow: 0 10px 24px rgba(var(--uts-accent-rgb), .28), inset 0 1px 0 rgba(255,255,255,.35);
}
.uts-brand-mark svg { width: 31px; height: 31px; fill: currentColor; }
.uts-brand-label b { color: var(--uts-accent); font-weight: 1000; }
html[data-universe-page] .uts-unified-nav .nav-links {
  justify-content: center !important;
  gap: .3rem !important;
}
html[data-universe-theme="dark"][data-universe-page] :where(.uts-brand-label b, .uts-context-copy span, .uts-context-home) { color:#75a9ff !important; }
html[data-universe-page] .uts-unified-nav .nav-links a {
  min-height: 40px !important;
  padding: .6rem .78rem !important;
  border: 1px solid transparent !important;
  border-radius: 13px !important;
  color: #46566d !important;
  font: 850 .74rem/1 "Nunito Sans", sans-serif !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}
html[data-universe-page] .uts-unified-nav .nav-links a:hover,
html[data-universe-page] .uts-unified-nav .nav-links a.active {
  color: var(--uts-accent) !important;
  border-color: rgba(var(--uts-accent-rgb), .16) !important;
  background: rgba(var(--uts-accent-rgb), .085) !important;
}
html[data-universe-theme="dark"][data-universe-page] .uts-unified-nav .nav-links a { color: #c7d6ec !important; }
.uts-nav-account-slot { display:flex; align-items:center; justify-content:flex-end; min-width:112px; }
.uts-nav-account-slot #uts-google-auth-button {
  position: static !important; inset: auto !important; transform: none !important;
  min-height: 44px !important; margin: 0 !important; padding: .5rem .82rem !important;
  background: rgba(255,255,255,.75) !important;
}
html[data-universe-theme="dark"] .uts-nav-account-slot #uts-google-auth-button { background: rgba(17,38,73,.72) !important; color:#fff !important; }

/* Barra contextual: orientacion sin repetir el hero */
.uts-page-context {
  position: relative; z-index: 4;
  width: min(1420px, calc(100vw - 28px));
  min-height: 64px; margin: 10px auto 0; padding: .72rem .9rem .72rem 1rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  border: 1px solid rgba(var(--uts-accent-rgb), .13); border-radius: 20px;
  background: rgba(255,255,255,.56); box-shadow: 0 12px 34px rgba(23,62,117,.08);
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
html[data-universe-theme="dark"] .uts-page-context { background: rgba(4,16,39,.58); border-color: rgba(117,169,255,.16); }
.uts-context-copy { min-width:0; display:grid; grid-template-columns:auto auto 1fr; align-items:baseline; gap:.25rem .7rem; }
.uts-context-copy span { color:var(--uts-accent); font-size:.66rem; font-weight:1000; letter-spacing:.13em; text-transform:uppercase; }
.uts-context-copy strong { font-size:.98rem; color:var(--uts-copy); }
.uts-context-copy small { color:var(--uts-copy-soft); font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uts-context-home { display:inline-flex; align-items:center; gap:.45rem; flex:0 0 auto; min-height:38px; padding:0 .78rem; border-radius:12px; background:rgba(var(--uts-accent-rgb),.09); color:var(--uts-accent); font-size:.74rem; font-weight:900; text-decoration:none; }

/* Superficies y espaciado */
html[data-universe-page]:not([data-universe-page="home"]) :where(.universe-page-stage, main:not(.unitalk-stage), .admission-page, .account-page, .entrants-page) {
  position: relative; z-index: 2;
}
html[data-universe-page] .universe-page-stage { padding-top: clamp(26px, 4vw, 52px) !important; }
html[data-universe-page] .universe-page-stage-inner { width: min(1460px, 100%) !important; }
html[data-universe-page="ranking"] .universe-page-stage-inner,
html[data-universe-page="library"] .universe-page-stage-inner { width: min(1760px, 100%) !important; }

html[data-universe-page] :where(
  .section, .feature-card, .subject-card, .tool-card, .sim-card,
  .cepre-v2-shell, .cepre-v2-controls, .cepre-v2-summary,
  .cp-card, .cp-method-card, .cp-results, .cp-architecture,
  .libv4-panel, .libv4-viewer, .libv4-tip,
  .syv4-hero, .syv4-group, .syv4-output, .syv4-guide-card,
  .admission-card, .admission-hero-card, .ideal-card, .selector-panel, .result-panel, .sources-card,
  .cepre-hub-card, .account-card, .account-hero, .admin-panel,
  .legal-card, .editorial-card, .editorial-hero,
  .ufe-card, .classes-shell, .entrants-search-card, .entrants-card
) {
  border: 1px solid rgba(var(--uts-accent-rgb), .15) !important;
  border-radius: 26px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.91), rgba(247,251,255,.70)) !important;
  color: var(--uts-copy) !important;
  box-shadow: 0 22px 58px rgba(24,72,137,.11) !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html[data-universe-theme="dark"][data-universe-page] :where(
  .section, .feature-card, .subject-card, .tool-card, .sim-card,
  .cepre-v2-shell, .cepre-v2-controls, .cepre-v2-summary,
  .cp-card, .cp-method-card, .cp-results, .cp-architecture,
  .libv4-panel, .libv4-viewer, .libv4-tip,
  .syv4-hero, .syv4-group, .syv4-output, .syv4-guide-card,
  .admission-card, .admission-hero-card, .ideal-card, .selector-panel, .result-panel, .sources-card,
  .cepre-hub-card, .account-card, .account-hero, .admin-panel,
  .legal-card, .editorial-card, .editorial-hero, .ufe-card, .classes-shell
) {
  background: linear-gradient(145deg, rgba(7,23,54,.94), rgba(4,15,38,.78)) !important;
  border-color: rgba(117,169,255,.19) !important;
}

html[data-universe-page] :where(.admission-hero, .cp-hero, .libv4-hero, .syv4-hero, .account-hero, .editorial-hero) {
  position: relative; overflow: hidden; border-radius: 32px !important;
}
html[data-universe-page] :where(.admission-hero, .cp-hero, .libv4-hero, .syv4-hero, .account-hero, .editorial-hero)::after {
  content:""; position:absolute; width:18rem; height:18rem; right:-7rem; top:-8rem; pointer-events:none;
  border-radius:50%; background:radial-gradient(circle, rgba(var(--uts-accent-rgb),.2), transparent 68%);
}

html[data-universe-page] :where(.section-label, .admission-kicker, .cp-eyebrow, .libv4-kicker, .syv4-kicker, .account-kicker, .editorial-kicker, .ranking-v3-eyebrow) {
  color: var(--uts-accent) !important;
  font-weight: 1000 !important; letter-spacing: .13em !important; text-transform: uppercase !important;
}

html[data-universe-page] :where(button, .btn, .admission-btn, .account-btn, .cp-primary, .libv4-open, .cepre-v2-show-all) {
  border-radius: 14px !important;
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 900 !important;
}
html[data-universe-page] :where(.primary, .cp-primary, .admission-btn.primary, .account-btn.primary, .libv4-open) {
  color:#fff !important; border-color:transparent !important;
  background:linear-gradient(135deg,var(--uts-accent),var(--uts-accent-2)) !important;
  box-shadow:0 12px 28px rgba(var(--uts-accent-rgb),.22) !important;
}
html[data-universe-page] :where(input, select, textarea, .cepre-v2-search, .libv4-search) {
  min-height: 46px !important; border:1px solid rgba(var(--uts-accent-rgb),.18) !important;
  border-radius:14px !important; background:rgba(255,255,255,.78) !important;
  color:var(--uts-copy) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.5) !important;
}
html[data-universe-theme="dark"][data-universe-page] :where(input,select,textarea,.cepre-v2-search,.libv4-search) { background:rgba(7,24,56,.82) !important; color:#f8fbff !important; }
html[data-universe-page] :where(input,select,textarea):focus { outline:3px solid rgba(var(--uts-accent-rgb),.13) !important; border-color:var(--uts-accent) !important; }

html[data-universe-page] :where(table, .cepre-v2-table, .ranking-v3-history-table, .schedule-table) {
  border-collapse: separate !important; border-spacing: 0 !important;
  background: var(--uts-panel-strong) !important; color:var(--uts-copy) !important;
}
html[data-universe-page] :where(th) {
  background:linear-gradient(135deg, color-mix(in srgb,var(--uts-accent) 94%,#07162d), var(--uts-accent-2)) !important;
  color:#fff !important; font-weight:950 !important; letter-spacing:.02em !important;
}
html[data-universe-page] :where(td) { border-color:rgba(var(--uts-accent-rgb),.10) !important; }
html[data-universe-page] :where(tbody tr:nth-child(even)) { background:rgba(var(--uts-accent-rgb),.035) !important; }
html[data-universe-page] :where(tbody tr:hover) { background:rgba(var(--uts-accent-rgb),.085) !important; }

/* Aplicaciones con personalidad propia, pero dentro del mismo sistema */
html[data-universe-page="ranking"] .ranking-v3-layout { gap:18px !important; }
html[data-universe-page="ranking"] :where(.ranking-v3-insights,.ranking-v3-content,.ranking-v3-history) { border-radius:28px !important; box-shadow:0 20px 55px rgba(24,72,137,.11) !important; }
html[data-universe-page="calculator"] .cp-workspace { gap:18px !important; }
html[data-universe-page="calculator"] .cp-mode-tabs { padding:6px !important; border-radius:18px !important; background:rgba(var(--uts-accent-rgb),.07) !important; }
html[data-universe-page="library"] .libv4-workspace { gap:18px !important; }
html[data-universe-page="library"] .libv4-frame { border-radius:20px !important; }
html[data-universe-page="syllabus"] .syv4-course,
html[data-universe-page="syllabus"] .syv4-subject,
html[data-universe-page="syllabus"] .syv4-exam-btn { border-radius:18px !important; transition:transform .2s, box-shadow .2s !important; }
html[data-universe-page="syllabus"] :where(.syv4-course,.syv4-subject,.syv4-exam-btn):hover { transform:translateY(-3px) !important; box-shadow:0 16px 30px rgba(var(--uts-accent-rgb),.15) !important; }
html[data-universe-page="unitalk"] .unitalk-app { background:transparent !important; }
html[data-universe-page="unitalk"] .unitalk-device { width:min(1680px,calc(100vw - 26px)) !important; max-width:none !important; border-radius:30px !important; border:1px solid rgba(var(--uts-accent-rgb),.15) !important; box-shadow:0 30px 90px rgba(19,55,112,.16) !important; }
html[data-universe-page="unitalk"] :where(.unitalk-topbar,.unitalk-sidebar,.unitalk-rightbar,.unitalk-composer,.unitalk-feed-summary) { background:rgba(255,255,255,.82) !important; backdrop-filter:none; }
html[data-universe-page="unitalk"] .unitalk-brand { display:inline-flex !important; align-items:center !important; gap:.65rem !important; color:#10213e !important; font-size:clamp(18px,1.35vw,24px) !important; letter-spacing:-.04em !important; }
html[data-universe-page="unitalk"] .unitalk-brand-mark { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; border-radius:14px; color:#fff; background:linear-gradient(145deg,var(--uts-accent),var(--uts-accent-2)); box-shadow:0 10px 24px rgba(var(--uts-accent-rgb),.25); }
html[data-universe-page="unitalk"] .unitalk-brand-mark svg { width:30px; height:30px; fill:currentColor; }
html[data-universe-theme="dark"][data-universe-page="unitalk"] .unitalk-brand { color:#f8fbff !important; }

html[data-universe-page] footer {
  position:relative; z-index:2; width:min(1420px,calc(100vw - 28px));
  margin:32px auto 14px !important; border:1px solid rgba(var(--uts-accent-rgb),.14) !important;
  border-radius:30px 30px 20px 20px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(238,247,255,.76)) !important;
  box-shadow:0 22px 55px rgba(20,59,117,.11) !important;
  overflow:hidden;
}
html[data-universe-theme="dark"][data-universe-page] footer { background:linear-gradient(145deg,rgba(6,20,49,.94),rgba(3,13,32,.86)) !important; }
html[data-universe-page] footer .footer-logo { color:var(--uts-accent) !important; -webkit-text-fill-color:currentColor !important; }
html[data-universe-page] footer a:hover { color:var(--uts-accent) !important; }

html[data-universe-page] #universe-theme-toggle {
  width:48px !important; height:48px !important; left:max(12px,env(safe-area-inset-left)) !important;
  bottom:max(12px,env(safe-area-inset-bottom)) !important; border-radius:16px !important;
  border:1px solid rgba(var(--uts-accent-rgb),.22) !important; background:rgba(255,255,255,.9) !important;
  color:var(--uts-accent) !important; box-shadow:0 14px 34px rgba(16,51,103,.18) !important;
}
html[data-universe-theme="dark"][data-universe-page] #universe-theme-toggle { background:rgba(5,20,48,.92) !important; }

@media (max-width: 1120px) {
  html[data-universe-page]:not([data-universe-page="home"]) body > nav.uts-unified-nav { grid-template-columns:auto auto !important; }
  html[data-universe-page] .uts-unified-nav .nav-links { grid-column:1/-1 !important; grid-row:2 !important; justify-content:flex-start !important; }
  .uts-nav-account-slot { grid-column:2 !important; grid-row:1 !important; }
}

@media (max-width: 680px) {
  html[data-universe-page]:not([data-universe-page="home"]) body > nav.uts-unified-nav {
    width:calc(100vw - 14px) !important; margin-top:7px !important; top:7px !important;
    min-height:60px !important; padding:.5rem !important; border-radius:20px !important;
  }
  .uts-brand-mark { width:38px; height:38px; border-radius:12px; }
  .uts-brand-mark svg { width:27px; height:27px; }
  .uts-brand-label { font-size:.78rem; }
  .uts-nav-account-slot { min-width:42px; }
  .uts-nav-account-slot #uts-google-auth-button { width:42px !important; min-width:42px !important; min-height:42px !important; padding:.4rem !important; }
  .uts-nav-account-slot #uts-google-auth-button .uts-g-label { display:none !important; }
  html[data-universe-page] .uts-unified-nav .nav-links { padding:.18rem 0 0 !important; }
  html[data-universe-page] .uts-unified-nav .nav-links a { min-height:36px !important; padding:.52rem .62rem !important; font-size:.67rem !important; }
  .uts-page-context { width:calc(100vw - 14px); min-height:54px; margin-top:7px; border-radius:16px; padding:.55rem .65rem; }
  .uts-context-copy { display:flex; flex-direction:column; align-items:flex-start; gap:1px; }
  .uts-context-copy span,.uts-context-copy small { display:none; }
  .uts-context-copy strong { font-size:.86rem; }
  .uts-context-home { min-height:34px; padding:0 .6rem; }
  html[data-universe-page] .universe-page-stage { padding:20px 8px 76px !important; }
  html[data-universe-page] :where(.section,.cepre-v2-shell,.cp-card,.cp-results,.libv4-panel,.libv4-viewer,.syv4-hero,.syv4-group,.admission-card,.account-card,.legal-card,.editorial-card,.ufe-card) { border-radius:20px !important; }
  html[data-universe-page] footer { width:calc(100vw - 14px); margin:18px auto 8px !important; border-radius:22px 22px 16px 16px !important; }
  html[data-universe-page="unitalk"] .unitalk-device { width:100vw !important; border-radius:0 !important; border-inline:0 !important; }
  html[data-universe-page="unitalk"] .unitalk-brand-mark { width:34px; height:34px; border-radius:11px; }
  html[data-universe-page="unitalk"] .unitalk-brand-mark svg { width:24px; height:24px; }
}

/* ========================================================================== */
/* TEMA OSCURO · continuidad del fondo real en todas las páginas              */
/* ========================================================================== */

html[data-universe-theme="dark"][data-universe-page]:not([data-universe-page="home"]) body::before,
html[data-universe-theme="dark"][data-universe-page]:not([data-universe-page="home"]) body::after {
  background: transparent !important;
}

/* Neutraliza el antiguo fondo negro de los contenedores de página sin quitar
   el contraste de tarjetas, controles o tablas. */
html[data-universe-theme="dark"][data-universe-page]:not([data-universe-page="home"]) :where(
  .universe-static-page,
  main,
  main > section,
  .universe-page-stage-inner > section,
  .admission-page > section,
  .cepre-page > section,
  .exam-overview,
  .exam-comparison,
  .admission-hero,
  .admission-grid-links,
  .cepre-link-grid,
  .classes-hero,
  .classes-explorer,
  .classes-grid,
  .unitalk-device,
  .ci-page,
  .ci-hero,
  .ci-selector,
  .entrants-page,
  .entrants-hero,
  .entrants-summary,
  .entrants-list
) {
  background: transparent !important;
}

/* Las superficies funcionales siguen siendo legibles, pero usan cristal azul
   translúcido en vez de negro puro. */
html[data-universe-theme="dark"][data-universe-page]:not([data-universe-page="home"]) :where(
  .section,
  .feature-card,
  .subject-card,
  .tool-card,
  .sim-card,
  .cepre-v2-shell,
  .cepre-v2-controls,
  .cepre-v2-summary,
  .cp-card,
  .cp-method-card,
  .cp-results,
  .cp-architecture,
  .libv4-panel,
  .libv4-viewer,
  .libv4-tip,
  .syv4-hero,
  .syv4-group,
  .syv4-output,
  .syv4-guide-card,
  .admission-card,
  .admission-hero-card,
  .ideal-card,
  .selector-panel,
  .result-panel,
  .sources-card,
  .cepre-hub-card,
  .account-card,
  .account-hero,
  .admin-panel,
  .legal-card,
  .editorial-card,
  .editorial-hero,
  .ufe-card,
  .classes-shell,
  .ideal-probability,
  .cp-history-picker,
  .syv5-pane,
  .entrants-search-card,
  .entrants-card,
  .faculty-group,
  .unitalk-feed-shell
) {
  background: linear-gradient(145deg, rgba(7, 24, 57, .88), rgba(5, 18, 45, .68)) !important;
  border-color: rgba(117, 169, 255, .20) !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

html[data-universe-theme="dark"][data-universe-page="ranking"] .cepre-v2-table :where(th, td) {
  background-color: rgba(5, 18, 45, .86) !important;
}

html[data-universe-theme="dark"][data-universe-page="ranking"] .cepre-v2-table thead :where(th, td) {
  background: rgba(9, 31, 70, .96) !important;
}

/* Contenedores heredados que todavía pintaban grandes rectángulos negros. */
html[data-universe-theme="dark"][data-universe-page]:not([data-universe-page="home"]) :where(
  .cp-result-body,
  .syv5-shell,
  .ufe-shell,
  .unitalk-home-view,
  .unitalk-feed,
  .uac-analysis,
  .uac-goal-grid,
  .fixed-shell,
  .docentes-shell,
  .docentes-hero,
  .universe-legal-shell,
  .account-shell
) {
  background: transparent !important;
}

html[data-universe-theme="dark"][data-universe-page]:not([data-universe-page="home"]) :where(
  .score-chart-panel,
  .exam-kpi-panel,
  .target-box,
  .score-axis-card,
  .upl-card,
  .cepre-schedule-shell,
  .syv5-hero,
  .schedule-table-wrap,
  .classes-course-card,
  .libv4-hero,
  .ufe-topbar,
  .unitalk-topbar,
  .unitalk-side-panel,
  .ufa-card,
  .ufa-hero-panel,
  .ufa-section-head,
  .ufa-card-head,
  .fixed-course,
  .fixed-hero,
  .docentes-hero-copy,
  .docentes-stat-card,
  .teachv6,
  .teachv6-card,
  .article-card,
  .side-card,
  .summary-table-wrap,
  .summary-table,
  .summary-source-note,
  .summary-topic-panel,
  .summary-course-btn,
  .summary-topic-btn,
  .summary-concept,
  .library-rail-card,
  .universe-exam-placeholder
) {
  background: linear-gradient(145deg, rgba(7, 24, 57, .90), rgba(5, 18, 45, .70)) !important;
  border-color: rgba(117, 169, 255, .20) !important;
}

html[data-universe-theme="dark"][data-universe-page]:not([data-universe-page="home"]) :where(
  .exam-comparison,
  .faculty-group,
  .entrants-list
) > header {
  background: linear-gradient(135deg, rgba(9, 31, 70, .94), rgba(6, 23, 54, .80)) !important;
  border-color: rgba(117, 169, 255, .20) !important;
}

html[data-universe-theme="dark"][data-universe-page="fijas-cepreuni"] body :where(
  .fixed-top,
  .fixed-controls,
  .fixed-kpis,
  .fixed-course-head,
  .fixed-section-head
) {
  background: linear-gradient(145deg, rgba(7, 24, 57, .92), rgba(5, 18, 45, .74)) !important;
  border-color: rgba(117, 169, 255, .20) !important;
}

html[data-universe-theme="dark"][data-universe-page="privacy"] body .universe-legal-grid .legal-card,
html[data-universe-theme="dark"][data-universe-page="terms"] body .universe-legal-grid .legal-card {
  background: linear-gradient(145deg, rgba(7, 24, 57, .92), rgba(5, 18, 45, .74)) !important;
  border-color: rgba(117, 169, 255, .20) !important;
}
