:root {
  --night: #171226;
  --ink-elev: #2a2340;
  --paper: #f3ead9;
  --mist: #e7dbc6;
  --gold: #c6a15b;
  --gold-light: #e3c888;
  --text-night: #f3ead9;
  --muted-night: #b9ae9a;
  --text-paper: #211b33;
  --muted-paper: #6e6656;
  --gold-ink: #9a7b3a;
  --vata: #a594c6;
  --pitta: #c56b45;
  --kapha: #5e8378;
  --radius-sm: 14px;
  --radius: 22px;
  --radius-lg: 32px;
  --shadow: 0 18px 54px rgba(8, 5, 18, 0.22);
  --max: 1120px;
  --safe-bottom: max(20px, env(safe-area-inset-bottom));
  --display: "Fraunces", Georgia, serif;
  --body: "Mulish", system-ui, sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  background: var(--night);
  color: var(--text-night);
  font-family: var(--body);
  scroll-behavior: smooth;
}
body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(
      circle at 82% -10%,
      rgba(198, 161, 91, 0.11),
      transparent 34%
    ),
    radial-gradient(
      circle at 8% 35%,
      rgba(165, 148, 198, 0.09),
      transparent 30%
    ),
    var(--night);
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
.hidden {
  display: none !important;
}
.app-shell {
  min-height: 100vh;
  padding-bottom: 108px;
}
.page {
  max-width: var(--max);
  margin: auto;
  padding: 26px 20px 44px;
}
.paper-page {
  background: var(--paper);
  color: var(--text-paper);
  min-height: 100vh;
  max-width: none;
  padding-bottom: 120px;
}
.paper-page > .page {
  padding-bottom: 44px;
}
.eyebrow,
.label {
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--gold);
}
.title {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(32px, 7vw, 52px);
  line-height: 1.04;
  letter-spacing: -0.035em;
}
.subtitle {
  color: var(--muted-night);
  line-height: 1.75;
  max-width: 680px;
}
.paper-page .subtitle {
  color: var(--muted-paper);
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: var(--max);
  margin: auto;
  padding: 18px 20px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.brand img {
  width: 42px;
  height: 42px;
}
.brand-word {
  font-family: var(--display);
  font-size: 19px;
  line-height: 1;
}
.brand-word small {
  display: block;
  margin-top: 5px;
  font-family: var(--body);
  font-size: 9px;
  letter-spacing: 0.24em;
  color: var(--gold);
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.icon-btn,
.ghost-btn {
  border: 1px solid rgba(198, 161, 91, 0.32);
  background: rgba(243, 234, 217, 0.04);
  color: inherit;
  border-radius: 999px;
  min-height: 42px;
  padding: 0 14px;
  cursor: pointer;
}
.icon-btn {
  width: 42px;
  padding: 0;
  display: grid;
  place-items: center;
}
.paper-page .icon-btn,
.paper-page .ghost-btn {
  background: rgba(33, 27, 51, 0.03);
}
.hero {
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  gap: 40px;
  align-items: center;
  padding: 34px 0 26px;
}
.cosmic-dial {
  aspect-ratio: 1;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(198, 161, 91, 0.13) 0 26%, transparent 27%),
    conic-gradient(
      from -90deg,
      var(--dial-color, var(--kapha)) calc(var(--score, 55) * 1%),
      rgba(243, 234, 217, 0.09) 0
    );
  box-shadow:
    inset 0 0 0 1px rgba(198, 161, 91, 0.28),
    0 0 50px rgba(198, 161, 91, 0.08);
}
.cosmic-dial:before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background: var(--night);
  box-shadow: inset 0 0 0 1px rgba(198, 161, 91, 0.18);
}
.cosmic-dial:after {
  content: "";
  position: absolute;
  inset: 26px;
  border-radius: 50%;
  border: 1px dashed rgba(198, 161, 91, 0.25);
  animation: orbit 32s linear infinite;
}
.dial-center {
  position: relative;
  z-index: 2;
  text-align: center;
}
.dial-center img {
  width: 68px;
}
.score {
  display: block;
  font-family: var(--display);
  font-size: 55px;
  line-height: 1;
  margin-top: 8px;
}
.score small {
  font-family: var(--body);
  font-size: 12px;
  color: var(--muted-night);
}
@keyframes orbit {
  to {
    transform: rotate(360deg);
  }
}
.hero-copy h1 {
  font-family: var(--display);
  font-size: clamp(38px, 6vw, 66px);
  font-weight: 350;
  line-height: 1.02;
  letter-spacing: -0.045em;
  margin: 10px 0 16px;
}
.hero-copy p {
  color: var(--muted-night);
  font-size: 17px;
  line-height: 1.75;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0;
}
.chip {
  padding: 9px 12px;
  border: 1px solid rgba(198, 161, 91, 0.25);
  border-radius: 999px;
  font-size: 12px;
  color: var(--mist);
  background: rgba(243, 234, 217, 0.035);
}
.primary-btn {
  border: 0;
  background: var(--gold);
  color: #171226;
  padding: 14px 20px;
  border-radius: 999px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 9px 28px rgba(198, 161, 91, 0.2);
}
.primary-btn:hover {
  background: var(--gold-light);
}
.secondary-btn {
  border: 1px solid rgba(198, 161, 91, 0.45);
  background: transparent;
  color: inherit;
  padding: 13px 18px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
}
.danger-btn {
  border: 1px solid rgba(197, 107, 69, 0.4);
  background: transparent;
  color: var(--pitta);
  padding: 12px 18px;
  border-radius: 999px;
  cursor: pointer;
}
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.section {
  padding: 26px 0;
}
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 18px;
}
.section-head h2 {
  font-family: var(--display);
  font-size: 30px;
  font-weight: 400;
  margin: 5px 0 0;
}
.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.card {
  grid-column: span 4;
  border: 1px solid rgba(198, 161, 91, 0.18);
  background: var(--ink-elev);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.card:before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  right: -55px;
  top: -55px;
  background: var(--accent, var(--gold));
  opacity: 0.08;
}
.card h3 {
  font-family: var(--display);
  font-size: 24px;
  font-weight: 430;
  margin: 8px 0;
}
.card p {
  color: var(--muted-night);
  line-height: 1.65;
}
.card .action {
  color: var(--gold-light);
  font-weight: 700;
  font-size: 14px;
}
.card.vata {
  --accent: var(--vata);
}
.card.pitta {
  --accent: var(--pitta);
}
.card.kapha {
  --accent: var(--kapha);
}
.card.wide {
  grid-column: span 6;
}
.card.full {
  grid-column: 1/-1;
}
.paper-card {
  background: #fbf6eb;
  color: var(--text-paper);
  border: 1px solid rgba(33, 27, 51, 0.1);
  box-shadow: 0 12px 35px rgba(33, 27, 51, 0.08);
}
.paper-card p {
  color: var(--muted-paper);
}
.meter {
  height: 7px;
  border-radius: 99px;
  background: rgba(243, 234, 217, 0.1);
  overflow: hidden;
  margin: 12px 0;
}
.meter i {
  display: block;
  height: 100%;
  width: var(--value);
  background: var(--accent);
  border-radius: inherit;
}
.disclaimer {
  font-size: 11px;
  line-height: 1.6;
  color: var(--muted-night);
  opacity: 0.85;
  border-top: 1px solid rgba(198, 161, 91, 0.15);
  padding-top: 14px;
  margin-top: 20px;
}
.paper-page .disclaimer {
  color: var(--muted-paper);
}
.bottom-nav {
  position: fixed;
  z-index: 30;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: min(calc(100% - 24px), 720px);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: end;
  background: rgba(23, 18, 38, 0.94);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(198, 161, 91, 0.24);
  border-radius: 25px;
  padding: 9px 8px calc(9px + env(safe-area-inset-bottom));
  box-shadow: 0 15px 60px rgba(0, 0, 0, 0.38);
}
.nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: var(--muted-night);
  font-size: 10px;
  min-height: 48px;
  justify-content: center;
  border-radius: 18px;
}
.nav-item span:first-child {
  font-size: 20px;
}
.nav-item.active {
  color: var(--gold-light);
  background: rgba(198, 161, 91, 0.1);
}
.nav-vita {
  margin-top: -28px;
}
.nav-vita .moon-button {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--night);
  border: 1px solid var(--gold);
  box-shadow:
    0 0 0 7px var(--night),
    0 0 28px rgba(198, 161, 91, 0.2);
}
.nav-vita img {
  width: 48px;
  height: 48px;
}
.auth-shell,
.landing-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.auth-card {
  width: min(100%, 520px);
  border: 1px solid rgba(198, 161, 91, 0.22);
  background: rgba(42, 35, 64, 0.78);
  backdrop-filter: blur(18px);
  border-radius: 32px;
  padding: 34px;
  box-shadow: var(--shadow);
}
.auth-logo {
  text-align: center;
  margin-bottom: 26px;
}
.auth-logo img {
  width: 82px;
}
.auth-logo h1 {
  font-family: var(--display);
  font-weight: 400;
  font-size: 36px;
  margin: 10px 0 4px;
}
.auth-logo p {
  color: var(--muted-night);
}
.field {
  display: grid;
  gap: 7px;
  margin: 14px 0;
}
.field label {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-night);
  font-weight: 700;
}
.field input,
.field select,
.field textarea,
.search-input {
  width: 100%;
  border: 1px solid rgba(198, 161, 91, 0.25);
  background: rgba(243, 234, 217, 0.055);
  color: var(--text-night);
  border-radius: 14px;
  padding: 13px 14px;
  outline: none;
}
.field input:focus,
.field select:focus,
.field textarea:focus,
.search-input:focus {
  border-color: var(--gold);
}
.field option {
  color: #171226;
}
.paper-page .field input,
.paper-page .field select,
.paper-page .field textarea,
.paper-page .search-input {
  background: #fffaf0;
  color: var(--text-paper);
  border-color: rgba(33, 27, 51, 0.16);
}
.check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--muted-night);
  font-size: 13px;
  line-height: 1.5;
}
.check input {
  margin-top: 3px;
}
.auth-links {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  font-size: 13px;
  color: var(--gold-light);
}
.form-error {
  color: #e89a7c;
  font-size: 13px;
  min-height: 18px;
}
.stepper {
  display: flex;
  gap: 7px;
  margin-bottom: 24px;
}
.stepper i {
  height: 4px;
  flex: 1;
  background: rgba(243, 234, 217, 0.1);
  border-radius: 9px;
}
.stepper i.active {
  background: var(--gold);
}
.tabs {
  display: flex;
  gap: 8px;
  overflow: auto;
  padding-bottom: 4px;
  margin: 16px 0 22px;
}
.tab {
  white-space: nowrap;
  border: 1px solid rgba(33, 27, 51, 0.14);
  background: transparent;
  color: var(--muted-paper);
  border-radius: 999px;
  padding: 10px 14px;
  cursor: pointer;
}
.tab.active {
  background: var(--text-paper);
  color: var(--paper);
}
.recipe-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.recipe-card {
  background: #fffaf1;
  border: 1px solid rgba(33, 27, 51, 0.11);
  border-radius: 20px;
  padding: 18px;
  cursor: pointer;
  transition: 0.2s transform;
}
.recipe-card:hover {
  transform: translateY(-2px);
}
.recipe-card h3 {
  font-family: var(--display);
  font-size: 21px;
  font-weight: 450;
}
.recipe-card p {
  color: var(--muted-paper);
  font-size: 14px;
  line-height: 1.55;
}
.recipe-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 11px;
  color: var(--gold-ink);
}
.pagination {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 24px;
}
.pagination button {
  border: 1px solid rgba(33, 27, 51, 0.15);
  background: transparent;
  border-radius: 10px;
  padding: 8px 11px;
  cursor: pointer;
}
.pagination button.active {
  background: var(--text-paper);
  color: var(--paper);
}
.modal {
  position: fixed;
  z-index: 60;
  inset: 0;
  background: rgba(8, 5, 18, 0.72);
  display: grid;
  place-items: end center;
  padding: 18px;
}
.modal-panel {
  width: min(100%, 760px);
  max-height: 90vh;
  overflow: auto;
  background: var(--paper);
  color: var(--text-paper);
  border-radius: 30px;
  padding: 26px;
}
.modal-close {
  float: right;
  border: 0;
  background: transparent;
  font-size: 26px;
  cursor: pointer;
}
.ingredient-list,
.step-list {
  padding-left: 20px;
  line-height: 1.8;
}
.safety {
  border-left: 3px solid var(--gold);
  padding: 10px 14px;
  background: rgba(198, 161, 91, 0.09);
  font-size: 13px;
  line-height: 1.55;
}
.chat {
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: calc(100vh - 150px);
  max-width: 850px;
  margin: auto;
}
.chat-log {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 12px 0 24px;
}
.chat-disclaimer {
  margin: 8px 0 0;
  font-size: 12px;
  opacity: 0.68;
}
.chat-tools {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.chat-clear {
  border: 1px solid rgba(198, 161, 91, 0.28);
  background: transparent;
  color: var(--text-night);
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
}
.bubble {
  max-width: 82%;
  padding: 16px 18px;
  border-radius: 22px;
  line-height: 1.65;
  white-space: pre-wrap;
}
.bubble.user {
  align-self: flex-end;
  background: var(--gold);
  color: var(--night);
  border-bottom-right-radius: 7px;
}
.bubble.vita {
  align-self: flex-start;
  background: var(--ink-elev);
  border: 1px solid rgba(198, 161, 91, 0.18);
  border-bottom-left-radius: 7px;
}
.bubble small {
  display: block;
  margin-top: 8px;
  opacity: 0.7;
}
.chat-form {
  position: sticky;
  bottom: 94px;
  display: flex;
  gap: 9px;
  background: var(--night);
  padding: 12px 0;
}
.chat-form textarea {
  flex: 1;
  resize: none;
  min-height: 54px;
  max-height: 150px;
  border: 1px solid rgba(198, 161, 91, 0.3);
  background: var(--ink-elev);
  color: var(--text-night);
  border-radius: 18px;
  padding: 14px;
}
.chat-form button {
  width: 54px;
  flex: 0 0 54px;
  border-radius: 18px;
  border: 0;
  cursor: pointer;
}
.chat-send { background: var(--gold); color: var(--night); }
.chat-mic { background: var(--ink-elev); color: var(--text-night); border: 1px solid rgba(198, 161, 91, 0.3) !important; }
.chat-mic.listening { background: var(--gold); color: var(--night); animation: voicePulse 1s ease-in-out infinite; }
@keyframes voicePulse { 50% { transform: scale(.94); opacity: .72; } }
.chat-voice-toggle {
  border: 1px solid rgba(198, 161, 91, 0.28);
  background: rgba(198, 161, 91, 0.08);
  color: var(--text-night);
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
}
.bubble-speak {
  display: block;
  margin-top: 9px;
  padding: 5px 9px;
  border: 1px solid rgba(198, 161, 91, 0.25);
  border-radius: 999px;
  background: transparent;
  color: var(--gold-light);
  font-size: 11px;
  cursor: pointer;
}
.install-banner {
  position: fixed;
  z-index: 1200;
  left: 50%;
  bottom: calc(104px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(calc(100% - 24px), 680px);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 22px;
  border: 1px solid rgba(198, 161, 91, .35);
  background: rgba(23, 18, 38, .98);
  color: var(--text-night);
  box-shadow: 0 16px 48px rgba(0,0,0,.42);
}
.install-banner img { width: 48px; height: 48px; border-radius: 12px; }
.install-copy { display: grid; gap: 3px; min-width: 0; }
.install-copy strong { color: var(--gold-light); }
.install-copy span { color: var(--muted-night); font-size: 12px; line-height: 1.35; }
.install-actions { display: flex; gap: 6px; align-items: center; }
.install-now, .install-later { border: 0; border-radius: 999px; padding: 9px 12px; cursor: pointer; white-space: nowrap; }
.install-now { background: var(--gold); color: var(--night); font-weight: 700; }
.install-later { background: transparent; color: var(--muted-night); }
.ios-install-steps { display: grid; gap: 12px; margin: 22px 0; }
.ios-install-steps p { margin: 0; padding: 14px 16px; border: 1px solid rgba(198,161,91,.28); border-radius: 16px; background: rgba(198,161,91,.07); color: var(--text-night); line-height: 1.55; }
.ios-install-steps strong { color: var(--gold-light); margin-right: 6px; }
.chart-wheel {
  width: min(82vw, 430px);
  aspect-ratio: 1;
  border-radius: 50%;
  margin: 24px auto;
  position: relative;
  border: 1px solid var(--gold);
  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(198, 161, 91, 0.18) 0 1deg,
      transparent 1deg 30deg
    ),
    radial-gradient(
      circle,
      transparent 0 33%,
      rgba(198, 161, 91, 0.12) 34% 35%,
      transparent 36% 63%,
      rgba(198, 161, 91, 0.18) 64% 65%,
      transparent 66%
    );
  display: grid;
  place-items: center;
}
.chart-wheel img {
  width: 74px;
}
.planet-table {
  width: 100%;
  border-collapse: collapse;
}
.planet-table td {
  padding: 12px 6px;
  border-bottom: 1px solid rgba(198, 161, 91, 0.14);
}
.planet-table td:last-child {
  text-align: right;
  color: var(--gold-light);
}
.more-list {
  display: grid;
  gap: 10px;
}
.more-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 18px;
  border: 1px solid rgba(198, 161, 91, 0.17);
  border-radius: 18px;
  background: var(--ink-elev);
  cursor: pointer;
}
.more-item div {
  display: flex;
  gap: 13px;
  align-items: center;
}
.more-item b {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 450;
}
.switch {
  width: 48px;
  height: 28px;
  border-radius: 99px;
  background: rgba(243, 234, 217, 0.16);
  padding: 3px;
  cursor: pointer;
}
.switch i {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--mist);
  transition: 0.2s;
}
.switch.on {
  background: var(--kapha);
}
.switch.on i {
  transform: translateX(20px);
  background: white;
}
.pricing {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.price-card {
  border: 1px solid rgba(198, 161, 91, 0.22);
  border-radius: 25px;
  padding: 24px;
  background: var(--ink-elev);
  position: relative;
}
.price-card.featured {
  border-color: var(--gold);
  box-shadow: 0 0 35px rgba(198, 161, 91, 0.12);
}
.price-card .badge {
  position: absolute;
  right: 16px;
  top: 16px;
  background: var(--gold);
  color: var(--night);
  padding: 6px 9px;
  border-radius: 99px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.price {
  font-family: var(--display);
  font-size: 44px;
}
.price small {
  font-family: var(--body);
  font-size: 13px;
  color: var(--muted-night);
}
.feature-list {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 10px;
  color: var(--muted-night);
}
.feature-list li:before {
  content: "✦";
  color: var(--gold);
  margin-right: 8px;
}
.share-preview {
  aspect-ratio: 1;
  background: var(--night);
  border: 1px solid rgba(198, 161, 91, 0.3);
  border-radius: 26px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 430px;
}
.share-preview.paper {
  background: var(--paper);
  color: var(--text-paper);
}
.share-preview img {
  width: 55px;
}
.share-preview h3 {
  font-family: var(--display);
  font-size: 34px;
  font-weight: 400;
}
.share-preview p {
  line-height: 1.6;
}
.share-watermark {
  font-size: 10px;
  letter-spacing: 0.18em;
  color: var(--gold);
  text-transform: uppercase;
}
.toast {
  position: fixed;
  z-index: 100;
  left: 50%;
  bottom: 120px;
  transform: translate(-50%, 20px);
  background: #0d0a18;
  color: var(--paper);
  border: 1px solid rgba(198, 161, 91, 0.3);
  padding: 12px 16px;
  border-radius: 999px;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
  max-width: 90vw;
  text-align: center;
}
.tzolkin-coming {
  margin-top: 22px;
}
.tzolkin-card {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(198, 161, 91, 0.3);
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(198, 161, 91, 0.12), transparent 34%),
    rgba(255, 255, 255, 0.025);
}
.tzolkin-card::after {
  content: "13 · 20 · 260";
  position: absolute;
  right: 24px;
  bottom: 16px;
  color: rgba(198, 161, 91, 0.12);
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(34px, 7vw, 76px);
  letter-spacing: 0.04em;
  pointer-events: none;
}
.tzolkin-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.coming-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 11px;
  border: 1px solid rgba(198, 161, 91, 0.35);
  border-radius: 999px;
  color: var(--gold-light);
  background: rgba(198, 161, 91, 0.08);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.tzolkin-card h2,
.tzolkin-card p,
.tzolkin-preview {
  position: relative;
  z-index: 1;
}
.tzolkin-card h2 {
  max-width: 760px;
  margin: 20px 0 10px;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(30px, 5vw, 50px);
  font-weight: 400;
}
.tzolkin-card p {
  max-width: 760px;
  color: var(--muted-night);
}
.tzolkin-preview {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.tzolkin-preview span {
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  color: var(--text-night);
  font-size: 12px;
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}
.empty {
  padding: 30px;
  text-align: center;
  color: var(--muted-paper);
}
.spinner {
  width: 34px;
  height: 34px;
  border: 3px solid rgba(198, 161, 91, 0.2);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin: 30px auto;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 820px) {
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .cosmic-dial {
    width: min(78vw, 330px);
    margin: auto;
  }
  .chips,
  .button-row {
    justify-content: center;
  }
  .card,
  .card.wide {
    grid-column: span 6;
  }
  .recipe-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .pricing {
    grid-template-columns: 1fr;
  }
  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 560px) {
  .page {
    padding-left: 15px;
    padding-right: 15px;
  }
  .topbar {
    padding-left: 15px;
    padding-right: 15px;
  }
  .card,
  .card.wide {
    grid-column: 1/-1;
  }
  .recipe-grid {
    grid-template-columns: 1fr;
  }
  .auth-card {
    padding: 25px 20px;
  }
  .app-shell, .paper-page { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
  .bottom-nav {
    position: fixed !important;
    z-index: 1100;
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
    width: 100%;
    max-width: none;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 24px 24px 0 0;
    padding-bottom: calc(9px + env(safe-area-inset-bottom));
  }
  .chat-form { bottom: calc(82px + env(safe-area-inset-bottom)); padding-bottom: 10px; }
  .install-banner {
    bottom: calc(91px + env(safe-area-inset-bottom));
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .install-banner img { width: 42px; height: 42px; }
  .install-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .nav-item {
    font-size: 9px;
  }
  .hero-copy h1 {
    font-size: 43px;
  }
  .title {
    font-size: 36px;
  }
  .modal {
    padding: 0;
  }
  .modal-panel {
    border-radius: 28px 28px 0 0;
    max-height: 94vh;
  }
  .bubble {
    max-width: 92%;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Daily semantic indicators */
.daily-indicators {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 22px;
}
.daily-indicators > div {
  border: 1px solid rgba(198, 161, 91, 0.18);
  border-radius: 16px;
  padding: 12px;
  background: rgba(243, 234, 217, 0.035);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}
.daily-indicators span {
  color: var(--muted-night);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.daily-indicators b {
  font-family: var(--display);
  font-size: 24px;
  font-weight: 400;
}
.daily-indicators i {
  grid-column: 1 / -1;
  display: block;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--indicator-color) var(--indicator),
    rgba(243, 234, 217, 0.08) 0
  );
}
.event-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.event-row {
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px 0;
  border-top: 1px solid rgba(198, 161, 91, 0.12);
}
.event-row:first-child {
  border-top: 0;
}
.event-row p {
  margin: 4px 0 0;
}
.event-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  margin-top: 7px;
  box-shadow: 0 0 16px rgba(198, 161, 91, 0.45);
}
.text-btn {
  border: 0;
  background: transparent;
  color: var(--gold-light);
  padding: 12px 0 0;
  font-weight: 700;
  cursor: pointer;
}
.soft-disabled {
  opacity: 0.42;
  filter: grayscale(0.2);
}
.soft-disabled input {
  pointer-events: none;
}
.connection-grid {
  display: grid;
  gap: 12px;
}
.connection-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(198, 161, 91, 0.18);
  border-radius: 18px;
  padding: 16px 18px;
  background: var(--ink-elev);
}
.connection-row strong {
  display: block;
}
.connection-row small {
  color: var(--muted-night);
}
.connection-state {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 8px 10px;
  white-space: nowrap;
}
.connection-state.ready {
  color: var(--kapha);
  background: rgba(94, 131, 120, 0.13);
}
.connection-state.missing {
  color: var(--pitta);
  background: rgba(197, 107, 69, 0.13);
}

@media (max-width: 560px) {
  .daily-indicators {
    grid-template-columns: 1fr;
  }
  .daily-indicators > div {
    grid-template-columns: 1fr auto;
  }
}

/* ==============================================================
   VITALIZA MÍSTICA — reconstrucción editorial y de legibilidad
   ============================================================== */
:root {
  --surface-night: #241d39;
  --surface-night-2: #302746;
  --surface-paper: #fffaf0;
  --line-night: rgba(227, 200, 136, 0.23);
  --line-paper: rgba(33, 27, 51, 0.14);
}
body { color: var(--text-night); }
button, a, input, select, textarea { font-family: var(--body); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(227, 200, 136, .55);
  outline-offset: 3px;
}
.page { padding-top: 22px; }
.page-intro { max-width: 800px; margin: 18px 0 30px; }
.page-intro .title { margin-bottom: 10px; }
.page-intro .subtitle { max-width: 720px; font-size: 17px; line-height: 1.75; }
.topbar { min-height: 76px; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.account-link {
  color: var(--paper);
  border: 1px solid rgba(227, 200, 136, .32);
  border-radius: 999px;
  padding: 9px 13px;
  font-size: 12px;
  font-weight: 700;
}
.account-link.solid { background: var(--gold); color: var(--night); border-color: var(--gold); }
.back-btn, .auth-back, .modal-back {
  border: 0;
  background: transparent;
  color: var(--gold-light);
  font-weight: 700;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  cursor: pointer;
  padding: 9px 0;
}
.auth-back { margin-bottom: 12px; }
.modal-back { margin-bottom: 14px; }
.account-banner, .profile-strip {
  border: 1px solid var(--line-night);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(198,161,91,.11), rgba(165,148,198,.08)), var(--surface-night);
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: center;
  margin: 8px 0 28px;
}
.account-banner h3, .profile-strip h3 { margin: 4px 0 4px; font-family: var(--display); font-size: 24px; font-weight: 430; }
.account-banner p, .profile-strip p { margin: 0; color: var(--muted-night); line-height: 1.55; }
.profile-strip { justify-content: flex-start; }
.profile-strip > a { margin-left: auto; }
.profile-avatar { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: var(--night); font-family: var(--display); font-size: 28px; flex: 0 0 auto; }

/* Landing */
.landing-editorial {
  width: min(1180px, 100%);
  margin: auto;
  grid-template-columns: minmax(0, 1.04fr) minmax(380px, .96fr);
  gap: 64px;
  padding: 70px 34px;
}
.landing-brand { max-width: 620px; }
.landing-brand > img { width: 210px; margin-bottom: 42px; }
.landing-brand h1 { font-family: var(--display); font-size: clamp(52px, 7vw, 84px); font-weight: 350; letter-spacing: -.055em; line-height: .98; margin: 14px 0 22px; }
.landing-brand > p { color: var(--muted-night); font-size: 18px; line-height: 1.75; max-width: 600px; }
.landing-actions { margin-top: 28px; justify-content: flex-start; }
.landing-preview { display: grid; gap: 16px; }
.preview-reading {
  min-height: 600px;
  border: 1px solid rgba(227,200,136,.27);
  background: linear-gradient(160deg, rgba(198,161,91,.10), transparent 38%), var(--surface-night);
  border-radius: 34px;
  padding: 42px;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
}
.preview-orbit { width: 108px; height: 108px; border: 1px solid var(--gold); border-radius: 50%; display: grid; place-items: center; margin-bottom: 52px; box-shadow: 0 0 42px rgba(198,161,91,.13); }
.preview-orbit img { width: 80px; }
.preview-reading .label { color: var(--gold-light); }
.preview-reading ol { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 24px; }
.preview-reading li { padding-bottom: 20px; border-bottom: 1px solid rgba(227,200,136,.13); display: grid; gap: 6px; }
.preview-reading li b { font-family: var(--display); font-size: 25px; font-weight: 430; }
.preview-reading li span { color: var(--muted-night); }
.preview-footer { margin-top: auto; color: var(--gold); letter-spacing: .16em; font-size: 10px; }
.landing-pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.landing-pillar-grid article { border: 1px solid rgba(227,200,136,.18); background: rgba(42,35,64,.72); border-radius: 18px; padding: 16px; display: grid; gap: 10px; min-height: 118px; }
.landing-pillar-grid article span { color: var(--gold); font-size: 24px; }
.landing-pillar-grid article b { font-size: 13px; line-height: 1.35; }

/* Home diario */
.today-hero { align-items: center; }
.sky-line { color: var(--gold-light); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; margin: 10px 0 4px; }
.priority-box { border-left: 3px solid var(--gold); background: rgba(198,161,91,.09); padding: 14px 16px; margin: 18px 0; border-radius: 0 14px 14px 0; display: grid; gap: 5px; }
.priority-box span { color: var(--gold-light); text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; }
.priority-box strong { font-size: 16px; line-height: 1.55; }
.reading-guide .section-head p { color: var(--muted-night); max-width: 700px; line-height: 1.65; }
.reading-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.reading-steps article { border: 1px solid var(--line-night); border-radius: 20px; padding: 20px; background: rgba(42,35,64,.7); }
.reading-steps article span { color: var(--gold); font-family: var(--display); font-size: 28px; }
.reading-steps article p { color: var(--paper); margin: 12px 0 0; line-height: 1.55; }
.text-link { color: var(--gold-light); font-weight: 700; font-size: 13px; }
.semantic-card { color: var(--paper); }
.semantic-card h3, .semantic-card b { color: var(--paper); }
.semantic-card p { color: #cfc4b2; }
.fact-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.fact-row span { border: 1px solid rgba(227,200,136,.17); border-radius: 999px; padding: 7px 10px; color: var(--mist); font-size: 11px; }

/* Biblioteca Ayurveda / ancestral */
.paper-page { background: var(--paper); color: var(--text-paper); }
.paper-page .topbar { background: rgba(243,234,217,.94); border-bottom-color: rgba(33,27,51,.12); }
.paper-page .brand-word, .paper-page .icon-btn, .paper-page .back-btn { color: var(--text-paper); }
.paper-page .brand-word small { color: var(--gold-ink); }
.paper-page .account-link { color: var(--text-paper); border-color: rgba(33,27,51,.22); }
.paper-page .account-link.solid { color: var(--night); }
.paper-page .account-banner { color: var(--paper); }
.count-ribbon { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.count-ribbon span { border: 1px solid var(--line-paper); background: rgba(198,161,91,.08); color: var(--gold-ink); border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 700; }
.library-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 18px; position: sticky; top: 76px; z-index: 15; background: linear-gradient(var(--paper) 76%, rgba(243,234,217,0)); }
.library-tab { border: 1px solid var(--line-paper); background: #fffaf0; color: var(--text-paper); border-radius: 999px; padding: 11px 15px; white-space: nowrap; cursor: pointer; font-weight: 700; }
.library-tab.active { background: var(--text-paper); color: var(--paper); }
.library-tab.resolver-tab { border-color: rgba(154,123,58,.5); }
.library-tools { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 10px; margin: 8px 0 24px; }
.paper-page .search-input { color: var(--text-paper); background: #fffaf0; border-color: var(--line-paper); }
.wisdom-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.wisdom-card { color: var(--text-paper); background: #fffaf0; border: 1px solid var(--line-paper); border-radius: 22px; padding: 20px; cursor: pointer; box-shadow: 0 10px 28px rgba(33,27,51,.06); transition: transform .2s ease, box-shadow .2s ease; display: flex; flex-direction: column; min-height: 258px; }
.wisdom-card:hover { transform: translateY(-2px); box-shadow: 0 14px 35px rgba(33,27,51,.10); }
.wisdom-meta { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 16px; }
.wisdom-meta span { color: var(--gold-ink); border: 1px solid rgba(154,123,58,.23); border-radius: 999px; padding: 5px 8px; font-size: 9px; letter-spacing: .07em; text-transform: uppercase; font-weight: 800; }
.wisdom-tradition { color: var(--muted-paper); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.wisdom-card h3 { font-family: var(--display); font-size: 24px; line-height: 1.15; font-weight: 440; margin: 10px 0; color: var(--text-paper); }
.wisdom-card p { color: var(--muted-paper); line-height: 1.58; font-size: 14px; }
.wisdom-card b { margin-top: auto; color: var(--gold-ink); font-size: 13px; }
.resolver-panel { max-width: 820px; margin: 10px auto 50px; border: 1px solid var(--line-paper); background: #fffaf0; color: var(--text-paper); border-radius: 28px; padding: 28px; }
.resolver-panel h2 { font-family: var(--display); font-size: 36px; font-weight: 430; }
.resolver-panel > p { color: var(--muted-paper); line-height: 1.65; }
.resolver-results { margin-top: 20px; }

/* Carta natal y tránsitos */
.sky-hero { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr); gap: 34px; align-items: center; border: 1px solid var(--line-night); background: linear-gradient(140deg, rgba(165,148,198,.08), transparent 45%), var(--surface-night); border-radius: 32px; padding: 28px; }
.natal-visual { text-align: center; }
.natal-visual > p { color: var(--muted-night); font-size: 12px; line-height: 1.55; max-width: 430px; margin: 12px auto 0; }
.natal-wheel { width: min(100%, 520px); height: auto; overflow: visible; }
.natal-wheel .wheel-outer, .natal-wheel .wheel-zodiac, .natal-wheel .wheel-center { fill: none; stroke: rgba(227,200,136,.48); stroke-width: 1; }
.natal-wheel .wheel-zodiac { stroke: rgba(227,200,136,.25); }
.natal-wheel .wheel-center { fill: rgba(23,18,38,.92); }
.zodiac-spoke { stroke: rgba(227,200,136,.16); stroke-width: 1; }
.house-spoke { stroke: rgba(165,148,198,.22); stroke-width: .8; stroke-dasharray: 3 3; }
.zodiac-labels text { fill: var(--gold-light); font-family: var(--body); font-size: 8px; letter-spacing: .07em; text-anchor: middle; dominant-baseline: middle; text-transform: uppercase; }
.chart-planet circle { fill: var(--surface-night-2); stroke: var(--gold); stroke-width: 1; }
.chart-planet text { fill: var(--paper); font-size: 12px; text-anchor: middle; font-family: var(--display); }
.aspect-line { stroke-width: .8; opacity: .34; }
.aspect-line.flowing { stroke: var(--kapha); }
.aspect-line.tension { stroke: var(--pitta); }
.aspect-line.adjustment { stroke: var(--vata); }
.aspect-line.neutral { stroke: var(--gold); }
.natal-summary h1 { font-family: var(--display); font-size: 44px; font-weight: 380; margin: 8px 0 20px; }
.big-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.big-three article { border: 1px solid var(--line-night); border-radius: 18px; padding: 15px; display: grid; gap: 4px; }
.big-three article > span { color: var(--gold); font-family: var(--display); font-size: 25px; }
.big-three small { color: var(--muted-night); text-transform: uppercase; letter-spacing: .1em; font-size: 9px; }
.big-three b { font-family: var(--display); font-size: 20px; font-weight: 430; }
.big-three em { color: var(--gold-light); font-style: normal; font-size: 11px; }
.natal-facts { display: grid; gap: 8px; margin: 18px 0 22px; color: var(--muted-night); font-size: 13px; }
.complete-chart-panel { border: 1px solid var(--line-night); background: var(--surface-night); border-radius: 28px; padding: 28px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.complete-chart-panel h1 { font-family: var(--display); font-size: 42px; font-weight: 390; margin: 6px 0; }
.complete-chart-panel p { color: var(--muted-night); max-width: 650px; }
.sky-date { color: var(--gold-light); font-size: 12px; }
.planet-table-card { overflow-x: auto; }
.planet-symbol-inline { color: var(--gold); display: inline-block; width: 25px; }
.planet-position-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.planet-position { border: 1px solid var(--line-night); background: var(--surface-night); border-radius: 20px; padding: 18px; display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: start; }
.planet-glyph { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--gold); color: var(--gold-light); display: grid; place-items: center; font-family: var(--display); font-size: 23px; }
.planet-position small { color: var(--muted-night); text-transform: uppercase; letter-spacing: .08em; font-size: 9px; }
.planet-position h3 { font-family: var(--display); font-size: 22px; font-weight: 430; margin: 4px 0; }
.planet-position h3 em { color: var(--gold-light); font-style: normal; font-family: var(--body); font-size: 11px; }
.planet-position p { color: var(--muted-night); font-size: 13px; margin: 0; }
.aspect-grid, .transit-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.aspect-card, .transit-card { border: 1px solid var(--line-night); background: var(--surface-night); border-radius: 20px; padding: 18px; }
.aspect-card > span { color: var(--gold-light); font-family: var(--display); font-size: 21px; }
.aspect-card b { display: block; margin: 8px 0; }
.aspect-card p, .transit-card p { color: var(--muted-night); line-height: 1.55; margin-bottom: 0; }
.aspect-card.flow, .transit-card.flow { border-left: 3px solid var(--kapha); }
.aspect-card.tension, .transit-card.tension { border-left: 3px solid var(--pitta); }
.aspect-card.neutral, .transit-card.neutral { border-left: 3px solid var(--vata); }
.transit-head { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: start; }
.transit-head > span { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--gold); color: var(--gold-light); font-size: 22px; }
.transit-head small { color: var(--muted-night); font-size: 8px; letter-spacing: .1em; }
.transit-head h3 { font-family: var(--display); font-size: 21px; font-weight: 430; margin: 4px 0; }
.transit-meta { display: flex; gap: 6px; margin-top: 15px; }
.transit-meta span { color: var(--gold-light); border: 1px solid rgba(227,200,136,.18); border-radius: 999px; padding: 5px 8px; font-size: 9px; text-transform: uppercase; }

/* Más: contraste y comprensión */
.more-list { gap: 12px; }
.more-item { color: var(--paper); background: var(--surface-night); border-color: var(--line-night); min-height: 78px; text-align: left; }
.more-item, .more-item b, .more-item span { color: var(--paper); }
.more-item > div { min-width: 0; }
.more-item > div > span:first-child { color: var(--gold-light); font-size: 23px; width: 28px; flex: 0 0 auto; }
.more-item > div > span:nth-child(2) { display: grid; gap: 4px; min-width: 0; }
.more-item b { font-family: var(--display); font-size: 20px; font-weight: 430; line-height: 1.15; }
.more-item small { color: #c9bead; font-size: 11px; line-height: 1.35; }
.more-arrow { color: var(--gold-light) !important; font-size: 18px; }
.language-pill { color: var(--night) !important; background: var(--gold); border-radius: 999px; padding: 7px 9px; font-size: 10px; font-weight: 800; }

/* Modales y tarjetas compartibles */
.modal-panel { box-shadow: 0 -24px 70px rgba(0,0,0,.35); }
.modal-hero { padding-right: 30px; }
.modal-hero .subtitle { color: var(--muted-paper); }
.modal-section { border-top: 1px solid var(--line-paper); padding-top: 18px; margin-top: 20px; }
.modal-section h3 { font-family: var(--display); font-size: 23px; font-weight: 430; }
.safety b { display: block; margin-bottom: 4px; color: var(--gold-ink); }
.safety p { margin: 0; }
.share-preview { box-shadow: 0 20px 50px rgba(0,0,0,.22); }
.share-preview h3 { color: var(--paper); }
.share-preview p { color: var(--muted-night); }
.share-preview.paper h3 { color: var(--text-paper); }
.share-preview.paper p { color: var(--muted-paper); }

@media (max-width: 920px) {
  .landing-editorial { grid-template-columns: 1fr; padding-top: 34px; gap: 34px; }
  .preview-reading { min-height: 520px; }
  .sky-hero { grid-template-columns: 1fr; }
  .wisdom-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .top-actions .account-link:first-of-type { display: none; }
  .account-link.solid { padding: 8px 10px; font-size: 10px; }
  .back-btn span { display: none; }
  .account-banner, .profile-strip, .complete-chart-panel { align-items: flex-start; flex-direction: column; }
  .profile-strip > a { margin-left: 0; }
  .landing-editorial { padding: 24px 18px 110px; }
  .landing-brand > img { width: 175px; margin-bottom: 28px; }
  .landing-brand h1 { font-size: 50px; }
  .landing-pillar-grid { grid-template-columns: 1fr; }
  .preview-reading { min-height: 480px; padding: 28px; }
  .reading-steps, .big-three { grid-template-columns: 1fr; }
  .library-tools { grid-template-columns: 1fr; }
  .wisdom-grid, .planet-position-grid, .aspect-grid, .transit-grid { grid-template-columns: 1fr; }
  .library-tabs { top: 68px; margin-left: -15px; margin-right: -15px; padding-left: 15px; }
  .sky-hero { padding: 16px; }
  .natal-summary h1 { font-size: 36px; }
  .more-item { padding: 15px; }
  .more-item b { font-size: 18px; }
}
.share-builder { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); gap: 24px; align-items: start; margin-top: 24px; }
.share-controls { border: 1px solid var(--line-paper); border-radius: 22px; padding: 20px; background: #fffaf0; }
.share-preview-wrap { display: grid; place-items: center; }
.share-preview.editorial { width: min(100%, 460px); min-height: 460px; padding: 30px; border-radius: 0; position: relative; overflow: hidden; }
.share-preview.editorial:before { content:""; position:absolute; left:0; top:0; bottom:0; width:7px; background: var(--gold); }
.share-preview.editorial[data-type="energy"]:before { background: var(--vata); }
.share-preview.editorial[data-type="ritual"]:before { background: var(--pitta); }
.share-preview.editorial[data-type="transit"]:before { background: var(--kapha); }
.share-preview-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.share-preview-top img { width:54px; }
.share-preview-top span { color: var(--gold); letter-spacing:.16em; font-size:9px; font-weight:800; }
.share-preview-copy { margin:auto 0; }
.share-preview-copy .label { display:block; margin-bottom:16px; }
.share-preview.editorial h3 { font-size:38px; line-height:1.08; }
.share-preview.editorial p { font-size:15px; line-height:1.7; }
@media (max-width:720px){ .share-builder{grid-template-columns:1fr;} }

/* Accesos claros: invitada, cuenta gratuita y Círculo */
.access-gate {
  margin: 22px 0;
  padding: clamp(24px, 4vw, 42px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  align-items: center;
  border: 1px solid rgba(227, 200, 136, .28);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 18%, rgba(198, 161, 91, .12), transparent 34%),
    linear-gradient(145deg, rgba(42, 35, 64, .98), rgba(23, 18, 38, .98));
  color: var(--paper);
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
}
.access-gate h2 { margin: 6px 0 8px; color: var(--paper); font-family: var(--display); font-weight: 430; font-size: clamp(26px, 4vw, 38px); }
.access-gate p { margin: 0 0 18px; color: #d5cabb; line-height: 1.7; max-width: 760px; }
.access-gate .eyebrow { color: var(--gold-light); }
.gate-symbol {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(227, 200, 136, .45);
  border-radius: 50%;
  color: var(--gold-light);
  font-family: var(--display);
  font-size: 32px;
  box-shadow: 0 0 32px rgba(198,161,91,.13);
}
.premium-gate { border-color: rgba(198, 161, 91, .46); }
.locked-card { position: relative; overflow: hidden; border-style: dashed; }
.locked-card::after {
  content: "♢";
  position: absolute;
  top: 14px;
  right: 16px;
  color: var(--gold-light);
  font-size: 18px;
}
.locked-row { border-style: dashed; }
.locked-row .more-arrow { color: var(--gold-light); }
.chat-preview { max-width: 780px; margin: 24px auto 8px; }
.chat-preview .bubble { max-width: none; }

@media (max-width: 680px) {
  .access-gate { grid-template-columns: 1fr; padding: 24px; border-radius: 22px; }
  .gate-symbol { width: 56px; height: 56px; font-size: 26px; }
}

/* Cierre móvil: clima humano y acciones compartibles visibles */
.dial-center .tone-eyebrow {
  display:block;
  max-width:180px;
  margin-top:12px;
  color:var(--gold);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;
}
.dial-center .tone-label {
  display:block;
  max-width:220px;
  margin-top:8px;
  color:var(--cream);
  font-family:var(--serif);
  font-size:clamp(1.2rem,4vw,1.65rem);
  line-height:1.08;
  text-align:center;
}
.share-help { margin:.65rem 0 0; font-size:.88rem; opacity:.75; }
@media (max-width:720px) {
  .share-actions {
    position:sticky;
    bottom:calc(88px + env(safe-area-inset-bottom));
    z-index:8;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:10px;
    margin:8px -10px 0;
    border:1px solid rgba(198,161,91,.35);
    border-radius:18px;
    background:rgba(23,18,38,.94);
    backdrop-filter:blur(12px);
  }
  .share-actions button { width:100%; min-height:48px; }
  .dial-center .tone-label { max-width:180px; }
}


/* Final product corrections */
.ritual-library-card { background: #f2e9ff !important; color: #241b35 !important; border-color: rgba(73,49,101,.22) !important; }
.ritual-library-card h3, .ritual-library-card p, .ritual-library-card .label { color: #241b35 !important; opacity: 1 !important; }
.ritual-library-card .secondary-btn { background: #2b213c; color: #fff; border-color: #2b213c; }
.dosha-discovery { display: grid; gap: 14px; }
.dosha-discovery h2 { margin: 0; }
.dosha-quiz { display: grid; gap: 12px; }
.dosha-quiz fieldset { border: 1px solid rgba(198,161,91,.24); border-radius: 18px; padding: 12px; display: grid; gap: 8px; }
.dosha-quiz legend { padding: 0 6px; color: var(--gold-light); font-weight: 700; }
.dosha-answer { margin: 0; }
.dosha-result { padding: 12px 14px; border-radius: 16px; background: rgba(198,161,91,.12); border: 1px solid rgba(198,161,91,.28); }
.dosha-manual summary { cursor: pointer; color: var(--gold-light); margin-bottom: 10px; }
.bubble-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.bubble-actions .bubble-speak { margin-top: 0; }
.bubble-action { padding: 6px 10px; border: 1px solid rgba(198,161,91,.28); border-radius: 999px; background: rgba(198,161,91,.1); color: var(--gold-light); cursor: pointer; font-size: 11px; }
.active-subscription { margin-top: 18px; border: 1px solid rgba(198,161,91,.34); }
.active-subscription h2 { margin: 12px 0 6px; }
.subscription-facts { display: grid; gap: 8px; margin: 18px 0; }
.subscription-facts div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(198,161,91,.16); }
.subscription-facts dt { color: var(--muted-night); }
.subscription-facts dd { margin: 0; font-weight: 700; text-transform: capitalize; }
@media (max-width: 640px) {
  .ritual-library-card { padding: 16px !important; }
  .modal-card { max-height: calc(100dvh - 32px); overflow-y: auto; }
}

/* Personal reading first: the paid experience must be understood in seconds. */
.personal-first{padding-top:1.25rem}
.personal-first .section-head{align-items:flex-start}
.personal-first .section-head h2{max-width:900px;margin:.35rem 0 .55rem}
.personal-first .section-head p{max-width:850px;font-size:1.08rem}
.personal-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.personal-snapshot article{border:1px solid var(--line);border-radius:24px;padding:1.35rem;background:linear-gradient(145deg,rgba(207,177,112,.09),rgba(126,102,170,.07))}
.personal-snapshot span{display:block;color:var(--gold);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem}
.personal-snapshot p{font-size:1.05rem;line-height:1.55;margin:0;color:var(--text)}
.personal-duration{margin-top:1rem;color:var(--muted);font-size:.95rem}
.personal-duration b{color:var(--gold)}
@media(max-width:760px){
  .personal-snapshot{grid-template-columns:1fr}
  .personal-first .section-head{display:block}
  .personal-first .text-link{display:inline-block;margin-top:.75rem}
}

.legal-consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;line-height:1.45;color:var(--muted);margin:.4rem 0 1rem}.legal-consent input{margin-top:.2rem}.legal-consent a{color:var(--gold)}
.legal-stack{display:grid;gap:1rem}.legal-section h2{font-size:1.25rem;margin-bottom:.6rem}.legal-contact{text-align:center;margin:1.5rem}.legal-contact a{color:var(--gold);font-weight:700}
.birthday-hero,.solar-return-hero{border:1px solid rgba(211,170,83,.55);border-radius:28px;padding:clamp(1.4rem,4vw,3rem);margin-bottom:2rem;background:radial-gradient(circle at 85% 15%,rgba(211,170,83,.18),transparent 30%),linear-gradient(135deg,rgba(81,59,102,.72),rgba(20,14,34,.96))}.birthday-hero h2,.solar-return-hero h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,4.5rem);margin:.55rem 0}.birthday-hero p,.solar-return-hero p{max-width:760px;font-size:1.08rem}.solar-exact{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}.solar-exact span,.solar-exact b{border:1px solid rgba(211,170,83,.35);border-radius:999px;padding:.7rem 1rem}.solar-ritual{border:1px solid rgba(211,170,83,.35);border-radius:28px;padding:2rem;background:rgba(42,31,63,.78)}.solar-ritual ol{display:grid;gap:1rem;padding-left:1.4rem;margin:1.2rem 0 1.6rem}.solar-ritual li{padding-left:.5rem}

/* Cierre final: Revolución Solar premium profunda */
.solar-input{margin-bottom:24px}.solar-input textarea{min-height:120px}.solar-report{display:grid;gap:18px}.solar-chart{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:28px;align-items:center}.solar-chart svg{width:100%;height:auto}.solar-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.solar-metrics span{border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:4px}.solar-contact-list{display:grid;gap:8px;margin-top:14px}.solar-contact-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.solar-contact-list span{white-space:nowrap;color:var(--gold)}.solar-hero .button-row{margin-top:20px;flex-wrap:wrap}.premium-gate{max-width:760px;margin:80px auto;padding:36px;border:1px solid var(--gold);border-radius:28px;background:var(--panel)}
@media(max-width:760px){.solar-chart{grid-template-columns:1fr}.solar-metrics{grid-template-columns:1fr}.solar-contact-list>div{align-items:flex-start;flex-direction:column;gap:4px}}

.solar-planet-list{display:grid;gap:12px;margin-top:18px}.solar-planet-row{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr);gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}.solar-planet-row>div{display:flex;gap:14px;align-items:flex-start}.solar-planet-row small{display:block;color:var(--gold);margin-top:4px}.solar-glyph{font-size:1.6rem;color:var(--gold)}.solar-planet-row p{margin:0}.solar-focus-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.025)}.solar-aspect-detail{padding:14px 0;border-bottom:1px solid var(--line)}.solar-aspect-detail>div{display:flex;justify-content:space-between;gap:16px}.solar-aspect-detail span{color:var(--gold);white-space:nowrap}.solar-aspect-detail p{margin:8px 0 0}.solar-report .card h2{margin-bottom:10px}@media(max-width:760px){.solar-planet-row{grid-template-columns:1fr}.solar-aspect-detail>div{flex-direction:column;gap:4px}}

/* RS REAL 2: comprobación visible y síntesis anual */
.solar-build-proof{display:inline-flex;margin:.35rem 0 1rem;padding:.35rem .65rem;border:1px solid rgba(198,161,91,.55);border-radius:999px;color:var(--gold);font-size:.72rem;letter-spacing:.12em;font-weight:700}
.solar-at-a-glance h2{font-size:clamp(1.15rem,2.4vw,1.65rem);line-height:1.45;font-weight:400;max-width:72ch}
.solar-at-a-glance .solar-metrics{margin-top:1.25rem}

/* Final brand and breathing accessibility polish */
.breath-library-card{background:#2a2340;color:#f3ead9;border-color:rgba(227,200,136,.34);overflow:visible}
.breath-library-card h3{color:#fff8ec}
.breath-library-card p{color:#ded2bf}
.breath-library-card .label{color:#e3c888}
.breath-library-card .secondary-btn{background:#f3ead9;color:#211b33;border-color:#f3ead9;box-shadow:0 8px 22px rgba(8,5,18,.18)}
.breath-library-card .secondary-btn:hover{background:#fffaf0}
.modal-panel{padding-bottom:calc(34px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom))}
@media(max-width:620px){.modal{padding:10px 10px calc(88px + env(safe-area-inset-bottom))}.modal-panel{max-height:calc(100dvh - 108px - env(safe-area-inset-bottom));border-radius:24px 24px 20px 20px}.breath-library-card{padding:20px}.breath-library-card h3{font-size:25px}}

/* Final personal experience and voice controls */
.share-actions [data-export]{background:#f3ead9!important;color:#211b33!important;border-color:#f3ead9!important;opacity:1!important;text-shadow:none!important}
.share-actions [data-export]:hover,.share-actions [data-export]:focus{background:#fffaf0!important;color:#171226!important}
.voice-settings{width:100%;margin:10px 0 4px;border:1px solid rgba(198,161,91,.24);border-radius:16px;background:rgba(198,161,91,.055);overflow:hidden}
.voice-settings summary{cursor:pointer;padding:11px 14px;color:var(--gold-light);font-weight:700}
.voice-settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(160px,1fr) auto;gap:10px;align-items:end;padding:0 14px 14px}
.voice-settings-grid label{display:grid;gap:6px;color:var(--muted-night);font-size:12px}
.voice-settings-grid select,.voice-settings-grid input[type=range]{width:100%}
.voice-settings-grid select{min-height:42px;border-radius:12px;border:1px solid rgba(198,161,91,.28);background:var(--ink-elev);color:var(--text-night);padding:8px}
.voice-test{min-height:42px;color:var(--cream)!important}
@media(max-width:700px){.voice-settings-grid{grid-template-columns:1fr}.voice-test{width:100%}}

/* Experiencia diaria personal: lenguaje humano primero, técnica como fundamento opcional */
.today-hero.is-personal .hero-copy > p{max-width:760px;font-size:clamp(1.05rem,2vw,1.22rem);line-height:1.7}
.personal-context-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.personal-context-chips span{padding:.5rem .8rem;border:1px solid rgba(227,200,136,.32);border-radius:999px;color:var(--gold-light);background:rgba(198,161,91,.07);font-size:.8rem}
.personal-experience{display:grid;gap:1.2rem}
.personal-lead{padding:clamp(1.35rem,3vw,2.2rem);border:1px solid rgba(227,200,136,.32);border-radius:28px;background:linear-gradient(145deg,rgba(46,36,69,.92),rgba(24,18,40,.96))}
.personal-lead h2{font-family:var(--display);font-size:clamp(2rem,4.5vw,3.7rem);font-weight:440;line-height:1.08;margin:.45rem 0 .8rem;color:var(--paper)}
.personal-lead>p{max-width:850px;color:#ded2bf;font-size:1.05rem;line-height:1.7}
.personal-lead .personal-question{margin:1rem 0 0;padding-left:1rem;border-left:3px solid var(--gold);color:var(--gold-light)}
.life-translation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.life-translation-grid article{min-height:150px;border:1px solid var(--line-paper);border-radius:22px;padding:1.25rem;background:#fffaf0;color:var(--text-paper)}
.life-translation-grid article span{display:block;margin-bottom:.7rem;color:#8d682d;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.life-translation-grid article p{margin:0;font-size:1.03rem;line-height:1.58;color:var(--text-paper)}
.life-translation-grid .decision{background:#2a2340;border-color:rgba(227,200,136,.38)}
.life-translation-grid .decision span{color:var(--gold-light)}
.life-translation-grid .decision p{color:#fff8ec;font-size:1.12rem}
.section-subhead{margin-top:.3rem}
.big-three-daily-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.big-three-daily{border:1px solid rgba(227,200,136,.24);border-radius:22px;padding:1.2rem;background:rgba(255,250,240,.035)}
.big-three-daily span{display:block;color:var(--gold-light);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem}
.big-three-daily p{margin:0;color:var(--text-night);line-height:1.62}
.technical-disclosure{border:1px solid rgba(227,200,136,.2);border-radius:18px;background:rgba(198,161,91,.04);overflow:hidden}
.technical-disclosure summary{cursor:pointer;padding:1rem 1.1rem;color:var(--gold-light);font-weight:750;list-style:none}
.technical-disclosure summary::-webkit-details-marker{display:none}
.technical-disclosure summary::after{content:'＋';float:right;font-weight:400}
.technical-disclosure[open] summary::after{content:'−'}
.technical-inner{padding:0 1.1rem 1.15rem;color:var(--muted-night);line-height:1.65}
.technical-inner p{margin:.55rem 0}.technical-inner b{color:var(--paper)}
.week-scroll{display:grid;grid-template-columns:repeat(7,minmax(230px,1fr));gap:.85rem;overflow-x:auto;padding:.2rem .1rem .8rem;scroll-snap-type:x mandatory}
.week-day{scroll-snap-align:start;min-height:245px;border:1px solid rgba(227,200,136,.22);border-radius:22px;padding:1.1rem;background:rgba(255,250,240,.035);display:flex;flex-direction:column}
.week-day.today{border-color:var(--gold);box-shadow:0 0 0 1px rgba(198,161,91,.18)}
.week-day>span{color:var(--gold-light);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.week-day h3{font-family:var(--display);font-size:1.35rem;line-height:1.18;margin:.65rem 0;color:var(--paper)}
.week-day p{color:var(--muted-night);line-height:1.55;margin:0 0 1rem}
.week-day details{margin-top:auto}.week-day summary{cursor:pointer;color:var(--gold-light);font-size:.78rem}.week-day small{display:block;margin-top:.5rem;color:var(--muted-night)}
.week-day.care{background:linear-gradient(145deg,rgba(111,66,80,.18),rgba(255,250,240,.025))}
.week-day.flow{background:linear-gradient(145deg,rgba(75,108,90,.18),rgba(255,250,240,.025))}
.personalized-practice small{display:block;margin-top:1rem;padding-top:.9rem;border-top:1px solid currentColor;opacity:.78;line-height:1.5}
.collective-after-personal{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid rgba(227,200,136,.16)}
.collective-technical ul{padding-left:1.2rem}.collective-technical li{margin:.35rem 0}
.supporting-today{margin-top:2rem}
@media(max-width:820px){.big-three-daily-grid{grid-template-columns:1fr}.life-translation-grid{grid-template-columns:1fr}.week-scroll{grid-template-columns:repeat(7,minmax(78vw,1fr))}}
@media(max-width:620px){.personal-lead{border-radius:22px}.personal-lead h2{font-size:2.05rem}.life-translation-grid article{min-height:0}.week-day{min-height:220px}.today-hero.is-personal .cosmic-dial{transform:scale(.92)}}

/* Mi Cielo: interpretación psicológica primero; rueda y grados bajo demanda */
.natal-life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.natal-life-card{border:1px solid rgba(227,200,136,.24);border-radius:22px;padding:1.25rem;background:rgba(255,250,240,.035)}
.natal-life-card span{display:block;color:var(--gold-light);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.7rem}
.natal-life-card p{margin:0;line-height:1.66;color:var(--text-night)}
.natal-pattern-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.natal-pattern-row article{border:1px solid var(--line-paper);border-radius:20px;padding:1.15rem;background:#fffaf0;color:var(--text-paper)}
.natal-pattern-row span{display:block;color:#8d682d;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.natal-pattern-row b{display:block;margin:.4rem 0;font-family:var(--display);font-size:1.8rem;text-transform:capitalize}
.natal-pattern-row p{margin:0;color:var(--muted-paper)}
.personal-transit-stack{display:grid;gap:1rem}
.personal-transit-explained{border:1px solid rgba(227,200,136,.25);border-radius:26px;padding:clamp(1.25rem,3vw,2rem);background:linear-gradient(145deg,rgba(44,35,65,.94),rgba(24,18,40,.98))}
.personal-transit-explained.care{border-color:rgba(205,123,131,.4)}
.personal-transit-explained.flow{border-color:rgba(132,184,154,.42)}
.personal-transit-explained h3{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.8rem);margin:.45rem 0 .7rem;color:var(--paper)}
.personal-transit-explained>p{max-width:850px;color:#ded2bf;line-height:1.7}
.transit-life-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.transit-life-points>div{border:1px solid rgba(227,200,136,.18);border-radius:18px;padding:1rem;background:rgba(255,250,240,.035)}
.transit-life-points span{display:block;color:var(--gold-light);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}
.transit-life-points p{margin:0;color:var(--text-night);line-height:1.55}
.personal-transit-explained details{margin-top:.8rem}.personal-transit-explained summary{cursor:pointer;color:var(--gold-light)}
.personal-transit-explained small{display:block;margin-top:.55rem;color:var(--muted-night)}
.responsible-note{color:var(--muted-night);font-size:.9rem;margin-top:.9rem}
.technical-zone{margin-top:2.2rem;border-top:1px solid rgba(227,200,136,.15);padding-top:1.5rem}
.full-chart-disclosure,.current-sky-disclosure{margin-bottom:1rem}
.full-chart-disclosure .sky-hero{margin:1rem 0;background:rgba(255,250,240,.025)}
.technical-block{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(227,200,136,.14)}
.technical-block h3{font-family:var(--display);font-size:1.8rem;color:var(--paper)}
.current-sky-disclosure .planet-table-card{margin-top:1rem}
@media(max-width:820px){.natal-life-grid{grid-template-columns:1fr}.natal-pattern-row{grid-template-columns:1fr}.transit-life-points{grid-template-columns:1fr}}
.life-translation-grid .decision{grid-column:1/-1}
@media(max-width:820px){.life-translation-grid .decision{grid-column:auto}}

/* Vita chat reliability and cross-platform voice input */
.chat-mic.transcribing { background: var(--gold); color: var(--night); opacity: .8; }
.chat-form button:disabled, .chat-form textarea:disabled { opacity: .55; cursor: wait; }
.vita-typing span::after { content: ""; display: inline-block; width: 1.2em; animation: vitaDots 1.2s steps(4,end) infinite; }
@keyframes vitaDots { 0%{content:""} 25%{content:"."} 50%{content:".."} 75%,100%{content:"..."} }

/* Vita access tiers: guest, Free and Circle PRO */
.vita-access-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0 10px;
  padding: 12px 14px;
  border: 1px solid rgba(227, 200, 136, 0.28);
  border-radius: 16px;
  background: rgba(243, 234, 217, 0.06);
  color: var(--muted, #cfc5b8);
  font-size: 0.88rem;
  line-height: 1.35;
}
.vita-access-note.pro {
  border-color: rgba(227, 200, 136, 0.48);
  background: rgba(198, 161, 91, 0.11);
  color: #f3ead9;
}
.vita-access-note .text-btn {
  flex: 0 0 auto;
  color: #e3c888;
}
.chat-mic:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
@media (max-width: 640px) {
  .vita-access-note {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* V12 · astrología aplicada a la vida real */
.daily-focus-card{border:1px solid rgba(227,200,136,.3);border-radius:28px;padding:clamp(1.2rem,3vw,2rem);background:linear-gradient(145deg,rgba(43,34,63,.96),rgba(21,16,35,.98))}
.daily-focus-form{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(260px,1.55fr);gap:1rem;align-items:end}
.daily-focus-form label{display:grid;gap:.45rem;color:var(--gold-light);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.daily-focus-form select,.daily-focus-form textarea{width:100%;border:1px solid rgba(227,200,136,.35);border-radius:16px;background:#fffaf0;color:#251d32;padding:.9rem 1rem;font:inherit;letter-spacing:0;text-transform:none}
.daily-focus-form textarea{min-height:92px;resize:vertical}
.daily-focus-form .button-row{grid-column:1/-1;margin-top:.1rem}
.applied-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.applied-reading article{border:1px solid var(--line-paper);border-radius:22px;padding:1.25rem;background:#fffaf0;color:var(--text-paper)}
.applied-reading article>span{display:block;margin-bottom:.75rem;color:#8d682d;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.applied-reading p,.applied-reading li{color:var(--text-paper);font-size:1.02rem;line-height:1.58}
.applied-reading p{margin:0}
.applied-reading ul{margin:0;padding-left:1.2rem;display:grid;gap:.55rem}
.applied-reading .applied-decision{grid-column:1/-1;background:#2a2340;border-color:rgba(227,200,136,.4)}
.applied-reading .applied-decision>span{color:var(--gold-light)}
.applied-reading .applied-decision p{color:#fff8ec;font-size:1.13rem}
.week-day p+b{color:var(--paper)}
@media(max-width:820px){.daily-focus-form,.applied-reading{grid-template-columns:1fr}.applied-reading .applied-decision{grid-column:auto}}

/* V13 · herbario doméstico: cosecha, secado y preparaciones */
.herbarium-intro{margin:1rem 0 2rem;padding:clamp(1.3rem,3vw,2rem);border:1px solid rgba(227,200,136,.32);border-radius:28px;background:linear-gradient(145deg,rgba(61,47,70,.96),rgba(24,18,36,.98))}
.herbarium-intro h2{font-family:var(--display);font-size:clamp(2rem,4vw,3.2rem);margin:.4rem 0 .7rem;color:var(--paper)}
.herbarium-intro p{max-width:850px;color:#ded2bf;line-height:1.7}
.herbarium-card{cursor:pointer}
.herbarium-card .wisdom-tradition i{font-family:serif;font-size:.92rem}
.herbarium-sources{border-top:1px solid rgba(227,200,136,.18);padding-top:1.5rem}
.herbarium-sources>p{max-width:900px;color:var(--muted-night);line-height:1.65}
.source-list{display:grid;gap:.7rem;margin-top:1rem}
.source-list a{display:block;padding:.9rem 1rem;border:1px solid rgba(227,200,136,.25);border-radius:14px;background:rgba(255,250,240,.04);color:var(--gold-light);text-decoration:none;line-height:1.45}
.source-list a:hover{background:rgba(198,161,91,.12)}


/* V17 · lectura diaria viva, carga progresiva y respaldo visible */
.living-reading-status{
  display:flex;
  align-items:center;
  gap:.9rem;
  margin:0 0 1.2rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(227,200,136,.34);
  border-radius:18px;
  background:rgba(198,161,91,.09);
  color:var(--paper);
}
.living-reading-status b{display:block;color:var(--gold-light);font-size:.9rem}
.living-reading-status p{margin:.25rem 0 0;color:var(--muted-night);line-height:1.45;font-size:.88rem}
.living-reading-status.is-fallback{border-color:rgba(205,123,131,.38);background:rgba(111,66,80,.14)}
.living-reading-status.is-fallback .mini-spinner{display:none}
.mini-spinner{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:2px solid rgba(227,200,136,.25);
  border-top-color:var(--gold);
  border-radius:50%;
  animation:livingSpin .8s linear infinite;
}
@keyframes livingSpin{to{transform:rotate(360deg)}}
.herb-confusable{border-left:3px solid rgba(198,161,91,.5);padding-left:1rem}

/* V18 · lectura diaria compacta y realmente jerarquizada */
.compact-reading{gap:1rem;margin-top:clamp(1.6rem,4vw,3rem)}
.compact-reading .personal-lead{padding:clamp(1.35rem,3vw,2.4rem);border-radius:26px;background:linear-gradient(145deg,rgba(43,34,63,.96),rgba(21,16,35,.98));border:1px solid rgba(227,200,136,.28)}
.compact-reading .personal-lead h2{max-width:950px;margin:.5rem 0 .8rem;font-size:clamp(2.15rem,5vw,4.6rem);line-height:1.02}
.compact-reading .personal-lead p{max-width:920px;margin:0;color:var(--muted-night);font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.7}
.focus-answer{padding:clamp(1.2rem,3vw,1.8rem);border-radius:22px;background:linear-gradient(135deg,#fff7e8,#f4e8d0);color:var(--text-paper);border:1px solid rgba(141,104,45,.28)}
.focus-answer>span,.daily-clarity-grid article>span,.single-support-card span{display:block;color:#8d682d;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:.6rem}
.focus-answer h3{margin:0 0 .55rem;font-family:var(--display);font-size:clamp(1.45rem,2.7vw,2.15rem);color:#201831}
.focus-answer p{margin:0;color:#30273f;font-size:1.05rem;line-height:1.65}
.daily-clarity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.daily-clarity-grid article{padding:1.2rem;border:1px solid rgba(227,200,136,.22);border-radius:20px;background:rgba(255,250,240,.04)}
.daily-clarity-grid article p,.daily-clarity-grid article li{margin:0;color:var(--paper);font-size:1rem;line-height:1.58}
.daily-clarity-grid article ul{margin:0;padding-left:1.2rem;display:grid;gap:.45rem}
.daily-clarity-grid .daily-action-card{background:linear-gradient(145deg,rgba(198,161,91,.2),rgba(255,250,240,.04));border-color:rgba(227,200,136,.42)}
.daily-clarity-grid .daily-action-card p{font-size:1.08rem;font-weight:700}
.compact-focus{padding:0;overflow:hidden;background:rgba(255,250,240,.025)}
.compact-focus>summary{list-style:none;cursor:pointer;padding:1.15rem 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.compact-focus>summary::-webkit-details-marker{display:none}
.compact-focus>summary span:first-child{display:grid;gap:.25rem}
.compact-focus>summary small{color:var(--gold-light);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.compact-focus>summary b{color:var(--paper);font-size:1rem;font-weight:650}
.compact-focus .daily-focus-form{padding:0 1.35rem 1.35rem}
.compact-week .week-scroll{grid-template-columns:repeat(7,minmax(270px,1fr));gap:.75rem}
.compact-week .week-day{min-height:280px;padding:1rem}
.week-day-head{display:grid;gap:.35rem}
.week-day-head>span{color:var(--gold-light);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.week-day-head>b{font-family:var(--display);font-size:1.35rem;line-height:1.12;color:var(--paper)}
.compact-week .week-day>p{margin:.8rem 0;color:var(--muted-night);font-size:.92rem;line-height:1.55}
.week-action{display:grid;gap:.35rem;margin-top:auto;padding-top:.8rem;border-top:1px solid rgba(227,200,136,.15)}
.week-action small{color:var(--gold-light);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}
.week-action strong{color:var(--paper);font-size:.94rem;line-height:1.48}
.week-day.best-window{border-color:var(--gold);box-shadow:0 0 0 1px rgba(198,161,91,.2),0 12px 32px rgba(0,0,0,.16)}
.single-support-card{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;padding:1.2rem;border:1px solid rgba(227,200,136,.22);border-radius:22px;background:rgba(255,250,240,.035)}
.single-support-card>div+div{padding-left:1rem;border-left:1px solid rgba(227,200,136,.18)}
.single-support-card h3{margin:.2rem 0 .45rem;font-family:var(--display);font-size:1.55rem}
.single-support-card p{margin:0 0 .7rem;color:var(--muted-night);line-height:1.55}
.today-hero.is-personal .personal-context-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.today-hero.is-personal .personal-context-chips span{max-width:100%;white-space:normal}
@media(max-width:820px){
  .daily-clarity-grid,.single-support-card{grid-template-columns:1fr}
  .single-support-card>div+div{padding-left:0;padding-top:1rem;border-left:0;border-top:1px solid rgba(227,200,136,.18)}
  .compact-week .week-scroll{grid-template-columns:repeat(7,minmax(82vw,1fr))}
}
.daily-clarity-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.daily-clarity-grid.three{grid-template-columns:1fr}}

/* V19 · interpretación abierta: cualquier situación, sin categorías ni bloques repetidos */
.open-context-form{grid-template-columns:1fr!important}
.open-context-form .daily-focus-note{grid-column:1/-1}
.open-context-form textarea{min-height:130px;line-height:1.55}
.applied-life-reading{display:grid;gap:1rem;margin-top:clamp(1.4rem,4vw,2.8rem)}
.applied-life-reading .section-head h2{max-width:950px;font-size:clamp(1.7rem,3.2vw,2.8rem);line-height:1.2}
.direct-answer-card,.sky-application-card{border-radius:24px;padding:clamp(1.25rem,3vw,2rem)}
.direct-answer-card{background:linear-gradient(135deg,#fff8ea,#efe0c4);color:#241b31;border:1px solid rgba(141,104,45,.32)}
.sky-application-card{background:linear-gradient(145deg,rgba(51,39,72,.96),rgba(24,18,40,.98));border:1px solid rgba(227,200,136,.3)}
.direct-answer-card span,.sky-application-card span,.applied-next-step span,.applied-timing>.eyebrow{display:block;margin-bottom:.65rem;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.direct-answer-card span{color:#8d682d}.sky-application-card span,.applied-next-step span{color:var(--gold-light)}
.direct-answer-card p{margin:0;color:#241b31;font-family:var(--display);font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1.42}
.sky-application-card p{margin:0;color:var(--paper);font-size:1.04rem;line-height:1.68}
.applied-grid article{background:rgba(255,250,240,.045)}
.applied-next-step{padding:1.25rem 1.4rem;border:1px solid rgba(227,200,136,.4);border-radius:22px;background:rgba(198,161,91,.13)}
.applied-next-step strong{display:block;color:var(--paper);font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.55}
.applied-timing{display:grid;gap:.85rem;padding-top:.4rem}
.applied-timing h3{font-family:var(--display);font-size:clamp(1.65rem,3vw,2.5rem);margin:0;color:var(--paper)}
.timing-answer{max-width:900px;margin:0;color:var(--muted-night);font-size:1.05rem;line-height:1.65}
.timing-grid,.week-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.timing-window,.week-highlight{border:1px solid rgba(227,200,136,.24);border-radius:20px;padding:1.1rem;background:rgba(255,250,240,.04)}
.timing-window>div,.week-highlight>div{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.75rem}
.timing-window>div span,.week-highlight>div span{color:var(--gold-light);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.timing-window>div b,.week-highlight>div b{color:var(--paper);font-size:.8rem;text-transform:capitalize}
.timing-window p,.week-highlight p{margin:0;color:var(--paper);line-height:1.55}
.timing-window small,.week-highlight small{display:block;margin-top:.7rem;color:var(--muted-night);line-height:1.5}
.timing-window details,.week-highlight details{margin-top:.75rem;border-top:1px solid rgba(227,200,136,.15);padding-top:.65rem}
.timing-window summary,.week-highlight summary{cursor:pointer;color:var(--gold-light);font-size:.75rem}
.living-reading-status .text-btn{margin-top:.5rem;color:var(--gold-light)}
@media(max-width:920px){.timing-grid,.week-highlights-grid{grid-template-columns:1fr}.direct-answer-card p{font-size:1.28rem}}

/* V20 · principal viva: una lectura, una decisión, sin tarjetas de relleno */
.today-editorial-hero{position:relative;overflow:hidden;margin:clamp(1rem,3vw,2rem) 0;padding:clamp(1.4rem,4vw,3.4rem);border:1px solid rgba(227,200,136,.3);border-radius:30px;background:radial-gradient(circle at 88% 14%,rgba(198,161,91,.19),transparent 28%),linear-gradient(145deg,rgba(50,38,70,.97),rgba(21,16,35,.99));box-shadow:0 24px 70px rgba(0,0,0,.24)}
.today-editorial-hero:after{content:"";position:absolute;right:-90px;bottom:-120px;width:290px;height:290px;border:1px solid rgba(227,200,136,.13);border-radius:50%;pointer-events:none}
.today-editorial-hero h1{position:relative;z-index:1;max-width:980px;margin:.55rem 0 .85rem;font-family:var(--display);font-size:clamp(2.2rem,5.8vw,5.25rem);line-height:.98;letter-spacing:-.035em;color:var(--paper)}
.today-editorial-hero>p{position:relative;z-index:1;max-width:850px;margin:0;color:var(--muted-night);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.72}
.today-editorial-hero .button-row{position:relative;z-index:1;margin-top:1.35rem}
.today-proof-line{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid rgba(227,200,136,.16);color:var(--gold-light);font-size:.78rem;line-height:1.45}
.today-proof-line b{font-weight:700;color:var(--paper)}
.today-general-reading,.today-applied-reading{display:grid;gap:1.1rem;margin-top:clamp(1.2rem,3vw,2.3rem);padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(227,200,136,.22);border-radius:26px;background:linear-gradient(145deg,rgba(255,250,240,.055),rgba(255,250,240,.025))}
.today-general-reading>.eyebrow,.today-applied-reading .eyebrow{color:var(--gold-light)}
.today-guidance-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.today-guidance-list article,.today-applied-context article,.today-decision-row article{min-width:0;padding:1.05rem;border:1px solid rgba(227,200,136,.18);border-radius:18px;background:rgba(9,7,17,.22)}
.today-guidance-list span,.today-applied-context span,.today-decision-row span,.today-action-band span,.today-direct-answer>span{display:block;margin-bottom:.45rem;color:var(--gold-light);font-size:.69rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.today-guidance-list p,.today-applied-context p,.today-decision-row p{margin:0;color:var(--paper);font-size:.98rem;line-height:1.58}
.today-action-band{display:grid;gap:.35rem;padding:1rem 1.15rem;border-radius:18px;background:linear-gradient(135deg,rgba(198,161,91,.22),rgba(198,161,91,.08));border:1px solid rgba(227,200,136,.38)}
.today-action-band strong{color:var(--paper);font-size:clamp(1.02rem,2vw,1.22rem);line-height:1.48}
.today-direct-answer{padding:clamp(1.2rem,3vw,1.8rem);border-radius:22px;background:linear-gradient(135deg,#fff8ea,#eee0c6);color:#241b31;border:1px solid rgba(141,104,45,.32)}
.today-direct-answer>span{color:#8d682d}
.today-direct-answer p{margin:0;color:#241b31;font-family:var(--display);font-size:clamp(1.25rem,2.5vw,1.9rem);line-height:1.42}
.today-applied-context,.today-decision-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.today-technical{margin-top:.1rem;border-top:1px solid rgba(227,200,136,.15);padding-top:.8rem}
.today-technical>summary{cursor:pointer;color:var(--gold-light);font-size:.76rem;letter-spacing:.04em}
.today-technical .technical-inner{display:grid;gap:.4rem;padding:.75rem 0 0}
.today-technical p{margin:0;color:var(--muted-night);font-size:.83rem;line-height:1.5}
.living-reading-line{display:flex;align-items:center;gap:.65rem;margin:.65rem 0 0;padding:.7rem .85rem;border-radius:14px;background:rgba(255,250,240,.035);color:var(--muted-night);font-size:.84rem;line-height:1.4}
.living-reading-line.is-fallback{border:1px solid rgba(227,200,136,.16)}
.living-reading-line .text-btn{margin-left:auto;white-space:nowrap;color:var(--gold-light)}
.mini-spinner{width:14px;height:14px;border:2px solid rgba(227,200,136,.25);border-top-color:var(--gold-light);border-radius:50%;animation:livingSpin .8s linear infinite;flex:0 0 auto}
.compact-week{margin-top:clamp(1.2rem,3vw,2.2rem)}
.week-highlights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.collective-mini{margin:1.15rem 0 2rem;border:1px solid rgba(227,200,136,.16);border-radius:18px;background:rgba(255,250,240,.025);overflow:hidden}
.collective-mini>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1rem 1.1rem}
.collective-mini>summary::-webkit-details-marker{display:none}
.collective-mini>summary span{color:var(--gold-light);font-size:.68rem;font-weight:800;letter-spacing:.1em}
.collective-mini>summary b{color:var(--paper);font-size:.9rem;font-weight:650}
.collective-mini>summary i{font-style:normal;color:var(--gold-light)}
.collective-mini>div{padding:0 1.1rem 1rem;color:var(--muted-night);font-size:.88rem;line-height:1.55}
.collective-mini p{margin:.4rem 0}
@media(max-width:820px){
  .today-editorial-hero{border-radius:24px;padding:1.35rem 1.15rem 1.5rem}
  .today-editorial-hero h1{font-size:clamp(2rem,11vw,3.45rem)}
  .today-guidance-list,.today-applied-context,.today-decision-row,.week-highlights-grid{grid-template-columns:1fr}
  .today-general-reading,.today-applied-reading{padding:1rem;border-radius:22px}
  .living-reading-line{align-items:flex-start;flex-wrap:wrap}
  .living-reading-line .text-btn{margin-left:0}
  .collective-mini>summary{grid-template-columns:1fr auto}
  .collective-mini>summary span{grid-column:1/-1}
}

/* V23 · VITALIZA CIELO Y TIERRA · Vita especialista premium */
:root{--earth:#789174;--earth-dark:#3f5944;--earth-soft:#dce6d5;--clay:#b57758;--sand:#eadbc2;--ink-earth:#19251c}
.app-shell{padding-bottom:calc(118px + env(safe-area-inset-bottom))}
.ct-bottom-nav{position:fixed;left:50%;bottom:14px;z-index:80;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(64px,1fr));gap:4px;width:min(760px,calc(100% - 24px));padding:8px 82px 8px 8px;border:1px solid rgba(232,216,180,.24);border-radius:24px;background:rgba(20,16,29,.94);box-shadow:0 18px 55px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
.ct-bottom-nav a{display:grid;place-items:center;gap:4px;min-height:55px;padding:7px 5px;border-radius:15px;color:var(--muted-night);text-decoration:none;font-size:.66rem;font-weight:700;letter-spacing:.02em;text-align:center}
.ct-bottom-nav a span:first-child{font-size:1.05rem;color:var(--gold-light)}
.ct-bottom-nav a.active{background:rgba(233,217,179,.12);color:var(--paper)}
.vita-orb{position:fixed;right:max(22px,calc((100vw - 760px)/2 + 18px));bottom:23px;z-index:85;width:67px;height:67px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d5b36a,#8ea27e);border:3px solid #171221;box-shadow:0 12px 32px rgba(0,0,0,.4);text-decoration:none;color:#171221;font-weight:900;font-size:.72rem;letter-spacing:.04em}
.vita-orb:before{content:"✦";display:block;font-size:1.25rem;line-height:.8}
.topbar-brand img{width:38px;height:38px}.topbar-brand strong{display:block}.topbar-brand small{display:block;color:var(--gold-light);font-size:.63rem;letter-spacing:.13em;text-transform:uppercase}
.ct-today-hero,.earth-hero,.my-earth-hero,.notebook-hero,.notifications-hero{position:relative;overflow:hidden;padding:clamp(1.35rem,4vw,3rem);border-radius:30px;border:1px solid rgba(231,213,171,.27);background:radial-gradient(circle at 88% 15%,rgba(128,157,116,.24),transparent 32%),linear-gradient(145deg,rgba(48,38,66,.97),rgba(18,15,27,.99));box-shadow:0 22px 60px rgba(0,0,0,.22)}
.ct-today-hero h1,.earth-hero h1,.my-earth-hero h1,.notebook-hero h1,.notifications-hero h1{margin:.5rem 0 .8rem;max-width:1000px;font-family:var(--display);font-size:clamp(2.15rem,5vw,4.9rem);line-height:1.01;letter-spacing:-.035em;color:var(--paper)}
.ct-today-hero p,.earth-hero p,.my-earth-hero p,.notebook-hero p,.notifications-hero p{max-width:900px;color:var(--muted-night);line-height:1.68}
.ct-hero-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;color:var(--gold-light);font-size:.76rem;text-transform:uppercase;letter-spacing:.09em}
.ct-hero-lead{font-size:clamp(1.03rem,1.8vw,1.24rem)!important}.technical-disclosure{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(231,213,171,.17)}.technical-disclosure summary{cursor:pointer;color:var(--gold-light);font-size:.78rem}.technical-disclosure p{font-size:.88rem!important}
.ct-reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1rem}.ct-reading-grid article{padding:1.15rem;border:1px solid rgba(231,213,171,.2);border-radius:20px;background:rgba(255,250,240,.04)}.ct-reading-grid span,.ct-action-band span{display:block;margin-bottom:.45rem;color:var(--gold-light);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ct-reading-grid p{margin:0;color:var(--paper);line-height:1.58}.ct-action-band{margin-top:.85rem;padding:1.1rem 1.2rem;border-radius:20px;border:1px solid rgba(231,213,171,.36);background:linear-gradient(135deg,rgba(198,161,91,.2),rgba(119,145,116,.13))}.ct-action-band strong{display:block;color:var(--paper);font-size:clamp(1.04rem,2vw,1.25rem);line-height:1.5}
.ct-timing,.ct-section{margin-top:clamp(1.3rem,3vw,2.4rem)}.ct-timing-answer{max-width:900px;color:var(--paper);font-family:var(--display);font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.4}.ct-moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.ct-moment{padding:1rem;border:1px solid rgba(231,213,171,.2);border-radius:18px;background:rgba(255,250,240,.04)}.ct-moment>div{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.6rem}.ct-moment b{color:var(--paper)}.ct-moment span{color:var(--gold-light);font-size:.72rem;text-transform:uppercase}.ct-moment p{color:var(--paper);line-height:1.5}.ct-moment small{color:var(--muted-night);line-height:1.45}.ct-moment details{margin-top:.6rem;border-top:1px solid rgba(231,213,171,.15);padding-top:.55rem}.ct-moment summary{cursor:pointer;color:var(--gold-light);font-size:.73rem}
.ct-focus-card{margin-top:1rem;border:1px solid rgba(231,213,171,.2);border-radius:20px;background:rgba(255,250,240,.035);overflow:hidden}.ct-focus-card>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.2rem}.ct-focus-card>summary::-webkit-details-marker{display:none}.ct-focus-card small{display:block;color:var(--gold-light);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}.ct-focus-card b{display:block;margin-top:.25rem;color:var(--paper);font-size:.96rem}.ct-focus-card form{padding:0 1.2rem 1.2rem}.ct-focus-card textarea{width:100%;min-height:110px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.85rem}.section-head h2{margin:.25rem 0 0;color:var(--paper);font-family:var(--display);font-size:clamp(1.55rem,3vw,2.45rem)}.section-head p{margin:.25rem 0 0;color:var(--muted-night)}
.attention-list{display:grid;gap:.7rem}.attention-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.95rem 1rem;border:1px solid rgba(231,213,171,.19);border-radius:17px;background:rgba(255,250,240,.035);color:inherit;text-align:left}.attention-row.static{grid-template-columns:auto 1fr}.attention-row b{display:block;color:var(--paper)}.attention-row small{display:block;margin-top:.25rem;color:var(--muted-night);line-height:1.42}.attention-row i{color:var(--gold-light)}.attention-dot{width:10px;height:10px;border-radius:50%;background:var(--earth)}.attention-dot.p1{background:#d97f62}.attention-dot.p2{background:#d5b36a}.attention-dot.p3{background:#86a381}
.ct-connected-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;margin-top:1rem;padding:1.2rem;border:1px solid rgba(119,145,116,.45);border-radius:22px;background:linear-gradient(135deg,rgba(119,145,116,.18),rgba(255,250,240,.035))}.ct-connected-card h2{margin:.25rem 0 .4rem;font-family:var(--display);color:var(--paper)}.ct-connected-card p{margin:0;color:var(--muted-night);line-height:1.55}
.earth-hero{background:radial-gradient(circle at 86% 10%,rgba(117,148,111,.34),transparent 36%),linear-gradient(145deg,#263629,#171d19)}.earth-stat{display:flex;align-items:baseline;gap:.7rem;margin-top:1.1rem}.earth-stat b{font-family:var(--display);font-size:3rem;color:var(--earth-soft)}.earth-stat span{color:#c9d5c6}.earth-local-context{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;margin:1rem 0;padding:1rem 1.1rem;border:1px solid rgba(119,145,116,.34);border-radius:18px;background:rgba(119,145,116,.09)}.earth-local-context span{display:block;color:var(--earth-soft);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.earth-local-context b{display:block;margin:.25rem 0;color:var(--paper)}.earth-local-context p{margin:0;color:var(--muted-night);font-size:.86rem}
.earth-search{display:grid;gap:.8rem}.earth-search form,.notebook-search{display:grid;grid-template-columns:1fr auto;gap:.6rem}.earth-filters{display:flex;gap:.45rem;overflow:auto;padding-bottom:.25rem;scrollbar-width:none}.earth-filter{white-space:nowrap;padding:.62rem .85rem;border:1px solid rgba(119,145,116,.3);border-radius:999px;background:transparent;color:var(--muted-night)}.earth-filter.active{background:var(--earth);color:#101711;border-color:var(--earth)}.earth-results-head{display:flex;justify-content:space-between;gap:1rem;margin:1.2rem 0 .7rem;color:var(--muted-night)}.earth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.earth-card{display:flex;flex-direction:column;min-height:280px;padding:1.05rem;border:1px solid rgba(119,145,116,.26);border-radius:21px;background:linear-gradient(145deg,rgba(119,145,116,.10),rgba(255,250,240,.025));cursor:pointer}.earth-card-top,.earth-card-bottom{display:flex;justify-content:space-between;gap:.7rem}.earth-card-top span{color:var(--earth-soft);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em}.earth-card-top i{color:var(--gold-light);font-style:normal}.earth-card h3{margin:.8rem 0 .5rem;color:var(--paper);font-family:var(--display);font-size:1.45rem}.earth-card p{margin:0 0 1rem;color:var(--muted-night);line-height:1.5}.earth-card-bottom{align-items:end;margin-top:auto}.earth-card-bottom small{color:#b8c5b5}.earth-card-bottom button{color:var(--earth-soft);font-weight:700}.earth-detail-sections{display:grid;gap:.8rem}.earth-detail-sections section{padding:1rem;border:1px solid rgba(119,145,116,.27);border-radius:17px;background:rgba(119,145,116,.07)}.earth-detail-sections h3{margin:0 0 .4rem;color:var(--earth-soft)}.earth-detail-sections p{margin:0;color:var(--paper);line-height:1.6}.earth-modal-actions{position:sticky;bottom:0;padding:.8rem;background:rgba(22,18,31,.94);border-radius:18px;z-index:2}.source-list a{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem}.source-list a small{color:var(--muted-night)}.source-list a span{grid-column:2;grid-row:1/3;align-self:center}
.my-earth-hero{background:radial-gradient(circle at 87% 10%,rgba(181,119,88,.24),transparent 36%),linear-gradient(145deg,#362820,#1d1714)}.world-list{display:grid;gap:.7rem}.world-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid rgba(231,213,171,.18);border-radius:18px;background:rgba(255,250,240,.035)}.world-row-main{display:flex;align-items:center;gap:.85rem;min-width:0}.world-row-main h3{margin:0;color:var(--paper)}.world-row-main p{margin:.2rem 0;color:var(--muted-night)}.world-row-main small{color:var(--gold-light)}.world-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:rgba(119,145,116,.18);color:var(--earth-soft)}.world-row-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:.35rem}.world-row-actions button{padding:.5rem .65rem;border:1px solid rgba(231,213,171,.2);border-radius:10px;color:var(--gold-light)}.world-safety-note{display:grid;grid-template-columns:auto 1fr;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid rgba(213,179,106,.3);border-radius:18px}.world-safety-note span{font-weight:900;color:var(--gold-light)}.world-safety-note p{margin:0;color:var(--muted-night);line-height:1.5}
.notebook-hero{background:radial-gradient(circle at 87% 10%,rgba(174,136,182,.22),transparent 36%),linear-gradient(145deg,#30263b,#18141e)}.notebook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.notebook-card{padding:1rem;border:1px solid rgba(231,213,171,.2);border-radius:20px;background:rgba(255,250,240,.035)}.notebook-card>div:first-child{display:flex;justify-content:space-between;gap:1rem;color:var(--gold-light);font-size:.72rem;text-transform:uppercase}.notebook-card h3{margin:.6rem 0;color:var(--paper);font-family:var(--display);font-size:1.45rem}.notebook-card p{color:var(--muted-night);line-height:1.55}.notebook-tags{display:flex;flex-wrap:wrap;gap:.35rem}.notebook-tags span{padding:.32rem .55rem;border-radius:999px;background:rgba(119,145,116,.15);color:var(--earth-soft);font-size:.7rem}
.notification-settings,.integration-modes{display:grid;gap:.7rem;margin-top:1rem}.notification-setting,.integration-mode{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem;border:1px solid rgba(231,213,171,.2);border-radius:18px;background:rgba(255,250,240,.035)}.notification-setting b,.integration-mode b{display:block;color:var(--paper)}.notification-setting small,.integration-mode span{display:block;margin-top:.25rem;color:var(--muted-night);line-height:1.42}.notification-setting input{width:22px;height:22px}.integration-mode{text-align:left}.integration-mode.active{border-color:var(--earth);background:rgba(119,145,116,.14)}
.ct-form{display:grid;gap:.8rem}.ct-form label{display:grid;gap:.35rem}.ct-form label>span{color:var(--gold-light);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.ct-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.check-row{grid-template-columns:auto 1fr!important;align-items:center}.check-row input{width:20px;height:20px}.ct-empty{display:grid;place-items:center;min-height:150px;padding:1.2rem;border:1px dashed rgba(231,213,171,.24);border-radius:18px;text-align:center}.ct-empty p{max-width:650px;color:var(--muted-night);line-height:1.55}.pagination{display:flex;justify-content:center;align-items:center;gap:.8rem;margin:1.2rem 0}
.vita-action-stack{display:grid;gap:.55rem;margin-top:.7rem}.vita-action-card{display:grid;grid-template-columns:1fr auto;gap:.8rem;padding:.75rem;border:1px solid rgba(119,145,116,.33);border-radius:15px;background:rgba(119,145,116,.1)}.vita-action-card b{display:block;color:var(--paper)}.vita-action-card small{display:block;margin-top:.25rem;color:var(--muted-night);line-height:1.35}.vita-action-card button{align-self:center;padding:.5rem .65rem;border-radius:10px;background:var(--earth);color:#111812;font-weight:800}.vita-action-card.done{opacity:.65}
@media(max-width:960px){.earth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-reading-grid,.ct-moments{grid-template-columns:1fr}.notebook-grid{grid-template-columns:1fr}}
@media(max-width:720px){.app-shell{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.ct-bottom-nav{bottom:8px;width:calc(100% - 12px);padding:6px 64px 6px 4px;border-radius:20px}.ct-bottom-nav a{min-width:0;min-height:50px;padding:5px 2px;font-size:.56rem}.ct-bottom-nav a span:first-child{font-size:.95rem}.vita-orb{right:13px;bottom:15px;width:56px;height:56px;font-size:.62rem}.ct-today-hero,.earth-hero,.my-earth-hero,.notebook-hero,.notifications-hero{padding:1.25rem 1.05rem;border-radius:23px}.ct-today-hero h1,.earth-hero h1,.my-earth-hero h1,.notebook-hero h1,.notifications-hero h1{font-size:clamp(2rem,10.5vw,3.4rem)}.earth-grid{grid-template-columns:1fr}.earth-local-context,.ct-connected-card{grid-template-columns:1fr}.earth-search form,.notebook-search{grid-template-columns:1fr}.world-row{align-items:flex-start;flex-direction:column}.world-row-actions{width:100%;justify-content:flex-start}.ct-form-grid{grid-template-columns:1fr}.earth-modal-actions{position:static}.section-head{align-items:flex-start;flex-direction:column}.ct-hero-meta{align-items:flex-start;flex-direction:column;gap:.35rem}}
/* Ajuste final del acceso flotante a Vita */
.vita-orb:before{display:none!important}
.vita-orb img{display:block;width:30px;height:30px;object-fit:contain}
.vita-orb{grid-template-rows:auto auto;align-content:center;gap:2px}
@media(max-width:720px){.vita-orb img{width:24px;height:24px}}

/* V23 · experiencia premium especialista y contraste legible */
:root{
  --premium-ink:#171226;
  --premium-paper:#fffaf0;
  --premium-cream:#f3ead9;
  --premium-gold:#e3c77e;
  --premium-gold-strong:#f1daa0;
  --premium-earth:#91ad8d;
  --premium-muted:#d4c9bb;
}
body{color:var(--premium-cream);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--premium-gold-strong)}
.page input,.page select,.page textarea,.modal input,.modal select,.modal textarea{background:rgba(255,250,240,.08);border:1px solid rgba(241,218,160,.28);color:var(--premium-paper);caret-color:var(--premium-paper)}
.page input::placeholder,.page textarea::placeholder,.modal input::placeholder,.modal textarea::placeholder{color:#bfb5aa;opacity:1}
.paper-page input,.paper-page select,.paper-page textarea{background:#fffdf8;border-color:#c9bda8;color:#241d29}.paper-page input::placeholder,.paper-page textarea::placeholder{color:#746a72}
.primary-btn,.secondary-btn,.ghost-btn,.text-btn{min-height:44px;line-height:1.25}

.today-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.experience-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid rgba(241,218,160,.35);border-radius:999px;background:rgba(241,218,160,.1);color:var(--premium-gold-strong);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.today-personal-hero{position:relative;overflow:hidden;padding:clamp(1.25rem,3vw,2.2rem);border:1px solid rgba(241,218,160,.28);border-radius:30px;background:radial-gradient(circle at 90% 8%,rgba(227,199,126,.22),transparent 34%),linear-gradient(145deg,#302541,#171321);box-shadow:0 24px 70px rgba(5,3,12,.28)}
.today-personal-hero:after{content:"";position:absolute;right:-45px;bottom:-70px;width:210px;height:210px;border:1px solid rgba(241,218,160,.17);border-radius:50%;box-shadow:0 0 0 28px rgba(241,218,160,.035),0 0 0 58px rgba(241,218,160,.025)}
.today-personal-copy{position:relative;z-index:1;max-width:850px}.today-personal-copy h1{margin:.35rem 0 .8rem;color:var(--premium-paper);font-family:var(--display);font-size:clamp(2.15rem,6vw,4.9rem);line-height:.95;letter-spacing:-.025em}.today-personal-lead{max-width:760px;margin:0;color:#f0e7dc;font-size:clamp(1rem,2vw,1.22rem);line-height:1.65}.today-move{display:grid;grid-template-columns:auto 1fr;gap:.85rem;margin-top:1.2rem;padding:1rem;border:1px solid rgba(145,173,141,.35);border-radius:18px;background:rgba(145,173,141,.11)}.today-move span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--premium-earth);color:#111812;font-weight:900}.today-move b{display:block;color:var(--premium-paper)}.today-move p{margin:.25rem 0 0;color:#e0d7cc;line-height:1.5}
.today-personal-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1.2rem}.today-personal-grid article{padding:1rem;border:1px solid rgba(241,218,160,.16);border-radius:17px;background:rgba(255,250,240,.045)}.today-personal-grid small{display:block;color:var(--premium-gold-strong);font-size:.67rem;font-weight:800;letter-spacing:.08em}.today-personal-grid p{margin:.45rem 0 0;color:#eee4d9;line-height:1.52}.today-free-detail{margin-top:1rem;padding:.9rem 1rem;border-radius:16px;background:rgba(255,250,240,.055);color:#ddd3c8}
.today-dual-grid,.today-body-earth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem}.today-collective,.today-lunar,.today-cycle-card,.today-companion,.today-tarot{padding:1.2rem;border:1px solid rgba(241,218,160,.2);border-radius:24px;background:rgba(255,250,240,.04)}.today-collective h2,.today-lunar h2,.today-cycle-card h2,.today-companion h2,.today-tarot h2{margin:.35rem 0 .55rem;color:var(--premium-paper);font-family:var(--display);font-size:clamp(1.45rem,3vw,2.2rem)}.today-collective p,.today-lunar p,.today-cycle-card p,.today-companion p,.today-tarot p{color:#ddd3c8;line-height:1.58}.moon-metric{display:flex;align-items:center;gap:.8rem}.moon-metric>span{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8dc,#d6c8aa 52%,#84798e);color:#241d29;font-size:2rem;box-shadow:0 0 35px rgba(241,218,160,.18)}.moon-metric b{display:block;color:var(--premium-paper);font-size:1.05rem}.moon-metric small{color:var(--premium-muted)}.lunar-facts{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0}.lunar-facts span{padding:.45rem .62rem;border-radius:999px;background:rgba(227,199,126,.1);color:#f1dfb5;font-size:.72rem}.lunar-calendar-strip,.lunar-upcoming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.lunar-calendar-strip div,.lunar-upcoming-grid div{padding:.7rem;border-radius:14px;background:rgba(255,250,240,.045)}.lunar-calendar-strip b,.lunar-upcoming-grid b{display:block;color:var(--premium-paper);font-size:.8rem}.lunar-calendar-strip span,.lunar-upcoming-grid span{display:block;margin-top:.2rem;color:var(--premium-muted);font-size:.72rem}.eclipse-preview{margin-top:.8rem;padding:.8rem;border-left:3px solid var(--premium-gold);background:rgba(227,199,126,.07)}.companion-kind{color:var(--premium-earth);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.today-tarot{background:radial-gradient(circle at 90% 0,rgba(174,136,182,.2),transparent 40%),rgba(255,250,240,.04)}.tarot-mini-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem}.tarot-mini-card>span{display:grid;place-items:center;width:72px;height:104px;border:1px solid rgba(241,218,160,.42);border-radius:14px;background:linear-gradient(160deg,#443352,#21192b);color:var(--premium-gold-strong);font-size:2.3rem}.tarot-reading-modal{display:grid;grid-template-columns:minmax(180px,.65fr) 1.35fr;gap:1.2rem;align-items:stretch}.tarot-card-art{display:grid;place-items:center;min-height:330px;border:1px solid rgba(241,218,160,.4);border-radius:24px;background:radial-gradient(circle at 50% 30%,rgba(227,199,126,.28),transparent 34%),linear-gradient(160deg,#49375a,#191320);color:var(--premium-gold-strong);font-size:5rem}.tarot-reading-copy{padding:1rem}.tarot-reading-copy h2{color:var(--premium-paper);font-family:var(--display);font-size:2.3rem}.tarot-reading-copy p{color:#ddd3c8;line-height:1.65}.tarot-action{padding:1rem;border-radius:16px;background:rgba(145,173,141,.13);color:#eaf0e8}.today-section,.sky-section{margin-top:1.2rem}.today-quick-actions{display:flex;flex-wrap:wrap;gap:.55rem}.quick-action{padding:.7rem .85rem;border:1px solid rgba(241,218,160,.25);border-radius:999px;color:var(--premium-paper);background:rgba(255,250,240,.04)}

.sky-premium-intro{padding:1.3rem 0}.sky-premium-intro .subtitle{max-width:850px}.sky-preview-card{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid rgba(241,218,160,.22);border-radius:20px;background:rgba(255,250,240,.04)}.sky-preview-card>span{font-size:2.2rem;color:var(--premium-gold-strong)}.sky-preview-card b{display:block;color:var(--premium-paper)}.sky-preview-card p{margin:.25rem 0 0;color:var(--premium-muted)}.sky-personal-reading{padding:clamp(1.2rem,3vw,2rem);border:1px solid rgba(241,218,160,.28);border-radius:28px;background:radial-gradient(circle at 90% 5%,rgba(174,136,182,.22),transparent 38%),linear-gradient(145deg,#302541,#171321)}.sky-personal-reading h2{margin:.4rem 0 .7rem;color:var(--premium-paper);font-family:var(--display);font-size:clamp(2rem,5vw,4rem)}.sky-lead{max-width:850px;color:#eee4d9;font-size:1.08rem;line-height:1.68}.sky-guidance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem}.sky-guidance-grid article{padding:1rem;border-radius:17px;background:rgba(255,250,240,.05)}.sky-guidance-grid small{color:var(--premium-gold-strong);font-weight:800}.sky-guidance-grid p{margin:.4rem 0 0;color:#e2d8ce;line-height:1.5}.sky-lunar-full{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center;margin-top:1rem;padding:1.25rem;border:1px solid rgba(241,218,160,.22);border-radius:25px;background:linear-gradient(145deg,rgba(85,72,112,.45),rgba(255,250,240,.035))}.moon-orb-visual{display:grid;place-items:center;width:116px;height:116px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d8,#d0c1a3 55%,#7b7087);color:#211a28;box-shadow:0 0 45px rgba(241,218,160,.18)}.moon-orb-visual span{font-size:2.8rem;line-height:1}.moon-orb-visual b{font-size:.75rem}.sky-lunar-copy h2{margin:.3rem 0;color:var(--premium-paper);font-family:var(--display);font-size:2.25rem}.sky-lunar-copy>p{color:var(--premium-muted)}.eclipse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.eclipse-card{display:grid;grid-template-columns:auto 1fr;gap:.85rem;padding:1rem;border:1px solid rgba(241,218,160,.2);border-radius:18px;background:rgba(255,250,240,.04)}.eclipse-card>span{font-size:2rem;color:var(--premium-gold-strong)}.eclipse-card small{color:var(--premium-muted)}.eclipse-card h3{margin:.25rem 0;color:var(--premium-paper);font-family:var(--display)}.eclipse-card p{margin:.2rem 0;color:#d9cfc4;line-height:1.45}.constellation-section{padding:1rem;border:1px solid rgba(145,173,141,.24);border-radius:22px;background:rgba(145,173,141,.06)}.constellation-section .section-head p{max-width:800px}.constellation-table td{color:var(--premium-paper)}.constellation-table td small{color:var(--premium-earth)}.technical-details{margin-top:1rem;border:1px solid rgba(241,218,160,.2);border-radius:20px;background:rgba(255,250,240,.035)}.technical-details summary{cursor:pointer;padding:1rem;color:var(--premium-gold-strong);font-weight:800}.technical-details>div,.technical-details>h3{margin:0 1rem 1rem}.sky-disclaimer{margin:1rem 0;color:var(--premium-muted);font-size:.82rem}

.settings-premium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.install-settings-card,.vitaliza-cross-sell{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;padding:1.1rem;border:1px solid rgba(241,218,160,.22);border-radius:22px;background:rgba(255,250,240,.04)}.install-settings-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(227,199,126,.14);color:var(--premium-gold-strong);font-size:1.4rem}.install-settings-card small,.vitaliza-cross-sell small{color:var(--premium-gold-strong);font-weight:800}.install-settings-card h2,.vitaliza-cross-sell h2{margin:.25rem 0;color:var(--premium-paper);font-family:var(--display)}.install-settings-card p,.vitaliza-cross-sell p{margin:0;color:var(--premium-muted);line-height:1.45}.install-settings-card .primary-btn{grid-column:1/-1}.vita-prompt-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}.vita-prompt-chips button{padding:.55rem .7rem;border:1px solid rgba(241,218,160,.22);border-radius:999px;background:rgba(255,250,240,.04);color:var(--premium-paper);font-size:.76rem}.vita-prompt-chips button:hover{border-color:var(--premium-gold);background:rgba(227,199,126,.1)}

@media(max-width:820px){.today-personal-grid{grid-template-columns:1fr}.today-dual-grid,.today-body-earth-grid,.settings-premium-grid,.eclipse-grid{grid-template-columns:1fr}.tarot-reading-modal{grid-template-columns:1fr}.tarot-card-art{min-height:240px}.sky-guidance-grid{grid-template-columns:1fr}.sky-lunar-full{grid-template-columns:1fr}.moon-orb-visual{width:96px;height:96px}.install-settings-card,.vitaliza-cross-sell{grid-template-columns:auto 1fr}}
@media(max-width:560px){.today-header{flex-direction:column}.today-personal-hero{border-radius:24px}.today-personal-copy h1{font-size:2.5rem}.lunar-calendar-strip,.lunar-upcoming-grid{grid-template-columns:1fr}.tarot-mini-card{grid-template-columns:1fr}.today-dual-grid,.today-body-earth-grid{gap:.7rem}.sky-personal-reading{border-radius:22px}.sky-personal-reading h2{font-size:2.25rem}.eclipse-card{grid-template-columns:1fr}.settings-premium-grid{grid-template-columns:1fr}.install-settings-card,.vitaliza-cross-sell{grid-template-columns:1fr}.install-settings-card>span{width:42px;height:42px}}
.onboarding-ready{text-align:center;padding:1rem}.onboarding-ready h2{margin:.4rem 0;color:var(--premium-ink);font-family:var(--display);font-size:2rem}.onboarding-ready>p{color:#5f5561;line-height:1.6}.onboarding-ready-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}.onboarding-ready-grid article{display:grid;place-items:center;gap:.4rem;min-height:110px;padding:.8rem;border:1px solid #d9cdbb;border-radius:18px;background:#fffaf0;color:var(--premium-ink)}.onboarding-ready-grid span{font-size:1.7rem;color:#8a6c38}.onboarding-ready-grid b{font-size:.85rem}@media(max-width:560px){.onboarding-ready-grid{grid-template-columns:1fr}}
