:root {
  color-scheme: dark;
  --ink: #f7efff;
  --muted: #c7b8d3;
  --deep: #08040d;
  --violet: #9d55ff;
  --violet-bright: #dca7ff;
  --rose: #ff86cd;
  --gold: #f5d58b;
  --world: 157 85 255;
  --ease: cubic-bezier(.22,.78,.21,1);
  --safe-top: max(18px, env(safe-area-inset-top));
  --safe-bottom: max(18px, env(safe-area-inset-bottom));
  --measure: 68rem;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html {
  min-height: 100%;
  background: #010005 url("./divina-universe-retina-v523.webp") center / cover fixed no-repeat;
  scroll-behavior: smooth;
}

html::before {
  content: "";
  position: fixed;
  z-index: -3;
  inset: -12vh -4vw;
  pointer-events: none;
  background: #010005 url("./divina-universe-retina-v523.webp") center / cover no-repeat;
}

body {
  min-height: 100dvh;
  min-height: 100lvh;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 32%, rgb(var(--world) / .16), transparent 38rem),
    linear-gradient(180deg, #0b0612 0%, #060309 100%);
  overflow-x: hidden;
  transition: background 900ms var(--ease);
}

body[data-menu="open"] { overflow: hidden; }

button, a { -webkit-tap-highlight-color: transparent; }

button { font: inherit; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex="0"]:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 5px;
}

[hidden] { display: none !important; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: 8px;
  left: 8px;
  transform: translateY(-180%);
  padding: .75rem 1rem;
  border-radius: 99px;
  color: #120719;
  background: #fff;
}

.skip-link:focus { transform: translateY(0); }

.cosmos,
.cosmos__veil,
.cosmos__stars {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.cosmos { z-index: -1; overflow: hidden; }

.cosmos__veil {
  background:
    radial-gradient(circle at 12% 18%, rgb(255 134 205 / .08), transparent 26%),
    radial-gradient(circle at 84% 76%, rgb(83 125 255 / .08), transparent 30%),
    radial-gradient(circle at 50% 120%, rgb(var(--world) / .18), transparent 45%);
  transition: background 900ms var(--ease);
}

.cosmos__stars {
  opacity: .64;
  background-image:
    radial-gradient(circle, rgb(255 255 255 / .9) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgb(226 184 255 / .7) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgb(255 220 160 / .48) 0 1px, transparent 1.3px);
  background-size: 83px 83px, 127px 127px, 191px 191px;
  background-position: 14px 21px, 48px 71px, 94px 9px;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 92%);
  mask-image: linear-gradient(to bottom, #000, transparent 92%);
}

.journey-bar {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: calc(48px + var(--safe-top));
  padding: var(--safe-top) max(18px, env(safe-area-inset-right)) 8px max(18px, env(safe-area-inset-left));
  pointer-events: none;
}

.wordmark,
.journey-trigger {
  pointer-events: auto;
  color: var(--ink);
  text-decoration: none;
}

.wordmark {
  display: inline-flex;
  align-items: center;
  gap: .58rem;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 500ms var(--ease), transform 500ms var(--ease);
}

.wordmark__orb {
  width: 2.45rem;
  height: 2.45rem;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  filter: drop-shadow(0 0 10px rgb(193 104 255 / .48)) drop-shadow(0 0 3px rgb(245 213 139 / .35));
}

.wordmark__copy {
  display: grid;
  gap: .14rem;
  color: var(--gold);
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  line-height: 1;
  text-shadow: 0 1px 8px rgb(0 0 0 / .82), 0 0 15px rgb(126 52 169 / .4);
}

.wordmark__copy b {
  font-size: clamp(.82rem, 3.8vw, 1.08rem);
  font-weight: 500;
  letter-spacing: .16em;
  white-space: nowrap;
}

.wordmark__copy small {
  font-size: clamp(.43rem, 2vw, .56rem);
  font-weight: 600;
  letter-spacing: .25em;
  white-space: nowrap;
}

.journey-trigger {
  display: flex;
  align-items: center;
  gap: .48rem;
  border: 1px solid rgb(255 255 255 / .13);
  border-radius: 999px;
  padding: .55rem .78rem .55rem .62rem;
  background: rgb(11 5 17 / .58);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  font-size: .7rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(-8px);
  transition: border-color 250ms, opacity 500ms var(--ease), transform 500ms var(--ease);
}

.journey-trigger__sigil { color: var(--violet-bright); font-size: 1rem; }

body:not([data-route="home"]) .wordmark,
body:not([data-route="home"]) .journey-trigger {
  opacity: 1;
  transform: translateY(0);
}

body[data-route="home"] .wordmark,
body[data-route="home"] .journey-trigger {
  visibility: visible;
  pointer-events: auto;
}

body[data-menu="open"] .journey-bar { visibility: hidden; }

main { min-height: 100dvh; }

.world {
  position: relative;
  min-height: 100dvh;
  padding: calc(74px + var(--safe-top)) max(20px, env(safe-area-inset-right)) calc(138px + var(--safe-bottom)) max(20px, env(safe-area-inset-left));
  opacity: 0;
  transform: translateY(10px);
}

.world.is-active {
  opacity: 1;
  transform: translateY(0);
  animation: world-arrival 650ms var(--ease) both;
}

.home-world {
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: var(--safe-top) 24px var(--safe-bottom);
}

.home-copy {
  position: absolute;
  top: clamp(10%, 12vh, 15%);
  left: 24px;
  right: 24px;
  text-align: center;
  pointer-events: none;
}

.eyebrow {
  margin: 0 0 .7rem;
  color: var(--gold);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .25em;
  text-transform: uppercase;
}

.home-copy h1,
.world-heading h1,
.card-caption h2,
.journey h2,
.card-dialog h2 {
  margin: 0;
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-weight: 400;
  text-wrap: balance;
}

.home-copy h1 {
  font-size: clamp(2.25rem, 10vw, 4.8rem);
  line-height: .95;
  letter-spacing: -.045em;
}

.home-copy > p:last-child {
  margin: 1rem auto 0;
  max-width: 26rem;
  color: var(--muted);
  font-size: clamp(.9rem, 3.5vw, 1.06rem);
}

.home-whisper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(11% + var(--safe-bottom));
  margin: 0;
  color: rgb(255 255 255 / .54);
  font-size: .61rem;
  letter-spacing: .42em;
  text-align: center;
}

.orb {
  --orb-size: clamp(142px, 43vw, 196px);
  position: fixed;
  z-index: 50;
  left: 50%;
  top: 54%;
  width: var(--orb-size);
  height: var(--orb-size);
  margin: calc(var(--orb-size) / -2) 0 0 calc(var(--orb-size) / -2);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  isolation: isolate;
  transition:
    top 760ms var(--ease),
    left 760ms var(--ease),
    width 760ms var(--ease),
    height 760ms var(--ease),
    margin 760ms var(--ease),
    transform 220ms var(--ease),
    filter 350ms ease;
  animation: orb-breathe 5.8s ease-in-out infinite;
  touch-action: manipulation;
}

.orb img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(1.06) contrast(1.02);
}

.orb__aura,
.orb__wake,
.orb__touch {
  position: absolute;
  inset: 4%;
  border-radius: 50%;
  pointer-events: none;
}

.orb__aura {
  z-index: -1;
  inset: -17%;
  background: radial-gradient(circle, rgb(var(--world) / .34) 0%, rgb(222 107 255 / .14) 42%, transparent 70%);
  filter: blur(13px);
  animation: aura-breathe 5.8s ease-in-out infinite;
}

.orb__wake {
  z-index: 0;
  inset: -9%;
  border: 1px solid rgb(225 181 255 / .2);
  box-shadow: 0 0 26px rgb(var(--world) / .22), inset 0 0 22px rgb(255 255 255 / .07);
}

.orb__touch {
  z-index: 3;
  opacity: 0;
  border: 1px solid rgb(255 255 255 / .84);
  transform: scale(.88);
}

.orb:active { transform: scale(.96); }
.orb:active .orb__touch { animation: touch-answer 550ms var(--ease); }

body:not([data-route="home"]):not([data-menu="open"]) .orb {
  --orb-size: 82px;
  top: auto;
  bottom: calc(18px + var(--safe-bottom));
  margin: 0 0 0 calc(var(--orb-size) / -2);
  animation-duration: 7s;
}

body[data-menu="open"] .orb {
  --orb-size: clamp(100px, 29vw, 132px);
  top: 50%;
  bottom: auto;
  margin: calc(var(--orb-size) / -2) 0 0 calc(var(--orb-size) / -2);
  filter: brightness(.92);
}

.orb.is-answering { animation: orb-answer 680ms var(--ease); }

.orb-cue {
  position: fixed;
  z-index: 51;
  left: 50%;
  top: calc(54% + clamp(86px, 26vw, 116px));
  width: min(78vw, 19rem);
  margin: 0;
  transform: translateX(-50%);
  color: rgb(255 255 255 / .67);
  font-size: .63rem;
  letter-spacing: .2em;
  text-align: center;
  text-transform: uppercase;
  pointer-events: none;
  transition: top 760ms var(--ease), bottom 760ms var(--ease), opacity 300ms ease;
}

body:not([data-route="home"]):not([data-menu="open"]) .orb-cue {
  top: auto;
  bottom: calc(8px + var(--safe-bottom));
  opacity: .78;
  font-size: .55rem;
}

body[data-menu="open"] .orb-cue { opacity: 0; }

.world-heading {
  width: min(100%, var(--measure));
  margin: 0 auto 1.8rem;
  text-align: center;
}

.world-heading h1 {
  font-size: clamp(2.5rem, 12vw, 5.8rem);
  line-height: .94;
  letter-spacing: -.045em;
}

.world-heading > p:last-child {
  max-width: 38rem;
  margin: 1rem auto 0;
  color: var(--muted);
  line-height: 1.65;
}

body[data-route="tarot"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 18%, rgb(154 76 255 / .2), transparent 35%),
    radial-gradient(circle at 14% 76%, rgb(84 54 167 / .1), transparent 31%),
    radial-gradient(circle at 86% 72%, rgb(220 167 255 / .08), transparent 33%);
}

.tarot-layout {
  display: grid;
  gap: 1.2rem;
  width: min(100%, 66rem);
  margin: 0 auto;
}

.card-chamber,
.tarot-ledger {
  border: 1px solid rgb(255 255 255 / .1);
  background: linear-gradient(160deg, rgb(255 255 255 / .055), rgb(255 255 255 / .018));
  box-shadow: 0 28px 80px rgb(0 0 0 / .28);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.card-chamber {
  position: relative;
  display: grid;
  justify-items: center;
  min-height: 33rem;
  padding: 1.4rem 1.2rem 1.6rem;
  border-radius: 2rem;
  overflow: hidden;
}

.card-chamber__halo {
  position: absolute;
  top: 8%;
  left: 50%;
  width: 20rem;
  height: 20rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(var(--world) / .2), transparent 69%);
  filter: blur(18px);
}

.current-card {
  position: relative;
  z-index: 1;
  width: min(58vw, 14rem);
  aspect-ratio: 2 / 3;
  padding: 0;
  border: 1px solid rgb(245 213 139 / .28);
  border-radius: 1.05rem;
  overflow: hidden;
  color: var(--muted);
  background:
    radial-gradient(circle at 50% 42%, rgb(var(--world) / .16), transparent 40%),
    linear-gradient(155deg, #130b1b, #08040d);
  box-shadow: 0 24px 60px rgb(0 0 0 / .5), 0 0 32px rgb(var(--world) / .13);
  transition: transform 420ms var(--ease), box-shadow 420ms ease;
}

.current-card:not(:disabled) { cursor: zoom-in; }
.current-card:not(:disabled):active { transform: scale(.985); }

.current-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.current-card__empty {
  display: grid;
  place-content: center;
  gap: .8rem;
  width: 100%;
  height: 100%;
  padding: 1rem;
  text-align: center;
}

.current-card__empty i { color: var(--violet-bright); font-size: 2.3rem; font-style: normal; }
.current-card__empty small { font-size: .68rem; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; }

.card-caption {
  position: relative;
  z-index: 1;
  align-self: end;
  margin-top: 1.2rem;
  text-align: center;
}

.card-caption p { margin: 0 0 .4rem; color: var(--gold); font-size: .58rem; letter-spacing: .2em; }
.card-caption h2 { font-size: clamp(1.8rem, 8vw, 2.8rem); }
.card-caption span { display: block; margin-top: .4rem; color: var(--muted); font-size: .76rem; }

.tarot-ledger {
  padding: 1.25rem;
  border-radius: 1.5rem;
}

.tarot-count { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; text-align: center; }
.tarot-count span { display: grid; gap: .2rem; }
.tarot-count b { font-family: Iowan Old Style, Baskerville, serif; font-size: 2rem; font-weight: 400; }
.tarot-count small { color: var(--muted); font-size: .59rem; letter-spacing: .17em; text-transform: uppercase; }
.tarot-count i { width: 1px; height: 2.2rem; background: rgb(255 255 255 / .13); }

.tarot-progress { height: 2px; margin: 1.1rem 0 1.2rem; overflow: hidden; background: rgb(255 255 255 / .08); }
.tarot-progress i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--violet), var(--rose), var(--gold)); transition: width 560ms var(--ease); }

.revealed-trail {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.25rem;
  gap: .55rem;
}

.trail-card {
  width: 2.8rem;
  aspect-ratio: 2 / 3;
  padding: 0;
  border: 1px solid rgb(255 255 255 / .16);
  border-radius: .42rem;
  overflow: hidden;
  background: #12091b;
  opacity: .65;
  transition: opacity 180ms, transform 180ms;
}

.trail-card[aria-current="true"] { opacity: 1; transform: translateY(-3px); border-color: rgb(245 213 139 / .66); }
.trail-card img { display: block; width: 100%; height: 100%; object-fit: cover; }

.tarot-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
  margin-top: 1rem;
}

.tarot-actions button {
  min-height: 2.9rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: .9rem;
  color: var(--ink);
  background: rgb(255 255 255 / .035);
}

.tarot-actions button:disabled { opacity: .34; }
.tarot-actions button:not(:disabled):active { background: rgb(var(--world) / .2); }

.tarot-persistence { margin: .9rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; text-align: center; }

/* DIVINA BRUXA 3.9.0 · Motores ARBÍTRIO + AMOR + MENTE + ESPÍRITO */
.arbitrio-invoke {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  margin-top: 1rem;
  padding: .72rem 1rem;
  border: 1px solid rgb(245 213 139 / .38);
  border-radius: 999px;
  color: #fff4cf;
  background:
    radial-gradient(circle at 20% 0%, rgb(222 138 255 / .18), transparent 45%),
    linear-gradient(120deg, rgb(93 43 148 / .3), rgb(28 11 46 / .72));
  box-shadow: inset 0 1px rgb(255 255 255 / .08), 0 10px 28px rgb(0 0 0 / .2);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.arbitrio-invoke:not(:disabled) { cursor: pointer; }
.arbitrio-invoke:not(:disabled):active { transform: translateY(1px); }
.arbitrio-invoke:disabled { cursor: not-allowed; opacity: .35; }
.arbitrio-invoke--compact { min-height: 2.75rem; margin-top: .85rem; font-size: .62rem; }

.arbitrio-panel {
  margin-top: .8rem;
  padding: 1rem;
  border: 1px solid rgb(218 174 255 / .22);
  border-radius: 1.15rem;
  background:
    radial-gradient(circle at 12% 10%, rgb(var(--world) / .12), transparent 36%),
    rgb(8 4 14 / .42);
  box-shadow: inset 0 1px rgb(255 255 255 / .035);
  overflow-wrap: anywhere;
  animation: oracle-voice-arrival 520ms var(--ease) both;
}

.arbitrio-panel[hidden] { display: none; }
.arbitrio-panel h3,
.card-dialog__arbitrio h3 {
  margin: .28rem 0 0;
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-size: 1.28rem;
  font-weight: 400;
  line-height: 1.15;
}

.arbitrio-panel__label {
  margin: 0;
  color: var(--gold);
  font-size: .54rem;
  letter-spacing: .13em;
  line-height: 1.45;
  text-transform: uppercase;
}

.arbitrio-panel__whisper {
  margin: .7rem 0 0;
  color: #fff5dc;
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-size: .95rem;
  line-height: 1.58;
  white-space: pre-line;
}

.arbitrio-panel__story {
  margin: .75rem 0 0;
  color: rgb(255 255 255 / .74);
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-size: .79rem;
  line-height: 1.62;
  white-space: pre-line;
}

.arbitrio-panel__closing {
  margin: .75rem 0 0;
  color: rgb(245 213 139 / .84);
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-size: .78rem;
  font-style: italic;
  line-height: 1.55;
}

.arbitrio-signature,
.arbitrio-disclaimer {
  display: block;
  margin-top: .72rem;
  color: rgb(255 255 255 / .42);
  font-size: .52rem;
  letter-spacing: .09em;
  line-height: 1.45;
  text-transform: uppercase;
}

.arbitrio-disclaimer { margin-top: .35rem; letter-spacing: .05em; }

body[data-route="carta-do-dia"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 18%, rgb(255 198 123 / .21), transparent 30%),
    radial-gradient(circle at 12% 72%, rgb(255 116 174 / .08), transparent 32%),
    radial-gradient(circle at 88% 68%, rgb(119 90 255 / .11), transparent 34%);
}

.daily-layout {
  display: grid;
  gap: 1.2rem;
  width: min(100%, 61rem);
  margin: 0 auto;
}

.daily-sanctuary,
.daily-message,
.spread-console {
  border: 1px solid rgb(255 255 255 / .1);
  background: linear-gradient(160deg, rgb(255 255 255 / .055), rgb(255 255 255 / .018));
  box-shadow: 0 28px 80px rgb(0 0 0 / .28);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.daily-sanctuary {
  position: relative;
  display: grid;
  justify-items: center;
  min-height: 36rem;
  padding: 1.3rem 1.2rem 1.6rem;
  border-radius: 2rem;
  overflow: hidden;
}

.daily-sun {
  position: absolute;
  top: 2rem;
  left: 50%;
  width: 21rem;
  height: 21rem;
  transform: translateX(-50%);
  border: 1px solid rgb(255 216 154 / .18);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(255 199 118 / .16), rgb(210 91 255 / .05) 48%, transparent 69%);
}

.daily-sun i {
  position: absolute;
  inset: 9%;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: 50%;
}

.daily-sun i:nth-child(2) { inset: 21%; border-style: dashed; }
.daily-sun i:nth-child(3) { inset: 35%; border-color: rgb(255 217 153 / .2); }

.daily-date {
  position: relative;
  z-index: 1;
  margin: 0 0 1rem;
  color: rgb(255 255 255 / .58);
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.daily-card { width: min(58vw, 14rem); }

.daily-message {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-content: center;
  padding: 1.4rem;
  border-radius: 1.5rem;
}

.daily-message > span { color: var(--gold); font-size: 1.75rem; }
.daily-message h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: clamp(1.6rem, 6vw, 2.25rem); font-weight: 400; }
.daily-message #dailyMessage { margin: .75rem 0 0; color: var(--muted); line-height: 1.68; }
.daily-depth {
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid rgb(255 255 255 / .09);
}
.daily-depth summary {
  width: fit-content;
  color: var(--gold);
  cursor: pointer;
  font-size: .72rem;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.daily-depth p { margin: .75rem 0 0; color: var(--ink); line-height: 1.68; }
.daily-depth #dailyDepthMessage { white-space: pre-line; }
.daily-depth .arbitrio-panel__closing { color: rgb(245 213 139 / .84); font-size: .82rem; }
.daily-depth .arbitrio-signature,
.daily-depth .arbitrio-disclaimer { color: rgb(255 255 255 / .44); }
.daily-state { grid-column: 1 / -1; margin: .45rem 0 0; padding-top: .85rem; border-top: 1px solid rgb(255 255 255 / .09); color: rgb(255 255 255 / .55); font-size: .68rem; letter-spacing: .1em; line-height: 1.5; text-align: center; text-transform: uppercase; }

body[data-route="tiragens"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 26%, rgb(103 82 255 / .2), transparent 34%),
    radial-gradient(circle at 15% 78%, rgb(69 178 220 / .1), transparent 32%),
    radial-gradient(circle at 84% 73%, rgb(212 100 255 / .1), transparent 34%);
}

.spread-console {
  width: min(100%, 70rem);
  margin: 0 auto;
  padding: 1rem;
  border-radius: 1.6rem;
}

.spread-catalog-state {
  margin: 0 0 .65rem;
  color: rgb(255 255 255 / .48);
  font-size: .62rem;
  letter-spacing: .12em;
  text-align: right;
  text-transform: uppercase;
}

.spread-picker {
  display: grid;
  gap: .72rem;
  padding: .15rem .1rem .85rem;
}

.spread-picker__group { min-width: 0; }
.spread-picker__group > p {
  margin: 0 0 .36rem;
  color: var(--gold);
  font-size: .54rem;
  letter-spacing: .2em;
}
.spread-picker__group > div {
  display: flex;
  gap: .55rem;
  padding: .1rem 0 .2rem;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
.spread-picker__group > div::-webkit-scrollbar { display: none; }

.spread-picker button,
.spread-footer button {
  flex: 0 0 auto;
  min-height: 2.75rem;
  padding: .65rem .9rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: 999px;
  color: var(--muted);
  background: rgb(255 255 255 / .035);
  scroll-snap-align: start;
}

.spread-picker button {
  display: grid;
  gap: .18rem;
  min-width: 8.7rem;
  text-align: left;
}
.spread-picker button span { color: inherit; font-size: .78rem; }
.spread-picker button small { color: rgb(255 255 255 / .4); font-size: .48rem; letter-spacing: .1em; }
.spread-picker button[data-access="premium"] { border-color: rgb(241 194 105 / .2); }

.spread-picker button[aria-pressed="true"] {
  border-color: rgb(218 174 255 / .56);
  color: var(--ink);
  background: rgb(var(--world) / .16);
  box-shadow: 0 0 24px rgb(var(--world) / .1);
}

.spread-premium-gate {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .8rem 1rem;
  margin: .2rem 0 1rem;
  padding: 1rem;
  border: 1px solid rgb(241 194 105 / .22);
  border-radius: 1.15rem;
  background: linear-gradient(135deg, rgb(241 194 105 / .08), rgb(var(--world) / .08));
}
.spread-premium-gate[hidden] { display: none; }
.spread-premium-gate > span { color: var(--gold); font-size: 1.35rem; }
.spread-premium-gate p,
.spread-premium-gate h2 { margin: 0; }
.spread-premium-gate h2 { margin-top: .18rem; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.24rem; font-weight: 400; }
.spread-premium-gate div > p:last-child { margin-top: .35rem; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.spread-premium-gate > button {
  grid-column: 1 / -1;
  min-height: 2.75rem;
  border: 1px solid rgb(241 194 105 / .36);
  border-radius: 999px;
  color: var(--ink);
  background: rgb(241 194 105 / .08);
  font-size: .65rem;
  letter-spacing: .1em;
}
.spread-premium-gate > button:disabled { cursor: wait; opacity: .55; }

.spread-intention {
  display: grid;
  gap: .45rem;
  margin: .3rem 0 1rem;
}

.spread-intention span { color: rgb(255 255 255 / .53); font-size: .64rem; letter-spacing: .11em; text-transform: uppercase; }

.spread-intention textarea {
  width: 100%;
  resize: vertical;
  min-height: 4.5rem;
  padding: .85rem 1rem;
  border: 1px solid rgb(255 255 255 / .11);
  border-radius: 1rem;
  color: var(--ink);
  background: rgb(6 3 10 / .55);
  font: inherit;
  line-height: 1.5;
}

.spread-intention textarea::placeholder { color: rgb(255 255 255 / .34); }
.spread-intention textarea:disabled { cursor: not-allowed; opacity: .48; }

.spread-status {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding: .35rem .1rem;
}

.spread-status p { margin: 0; }
.spread-status > div p { color: var(--gold); font-size: .58rem; letter-spacing: .2em; }
.spread-status h2 { margin: .25rem 0 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.75rem; font-weight: 400; }
.spread-status > p { color: var(--muted); font-size: .72rem; }
.spread-status > p b { color: var(--ink); font-size: 1rem; }

.spread-viewport {
  margin: .5rem -.2rem 0;
  padding: .6rem .2rem 1rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-color: rgb(var(--world) / .38) transparent;
}

.spread-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: .75rem;
  min-width: min(100%, 21rem);
  padding: .45rem;
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at 50% 50%, rgb(var(--world) / .09), transparent 48%),
    linear-gradient(90deg, transparent 49.8%, rgb(255 255 255 / .035) 50%, transparent 50.2%);
}

.spread-board[data-spread="conselho"] { grid-template-columns: minmax(8rem, 13rem); justify-content: center; }
.spread-board[data-spread="tres-tempos"] { grid-template-columns: repeat(3, minmax(7rem, 1fr)); min-width: 25rem; }
.spread-board[data-spread="dois-caminhos"] { grid-template-columns: repeat(3, minmax(7rem, 1fr)); min-width: 25rem; }
.spread-board[data-count="6"],
.spread-board[data-count="7"] { grid-template-columns: repeat(3, minmax(7rem, 1fr)); min-width: 25rem; }
.spread-board[data-count="10"] { grid-template-columns: repeat(5, minmax(7rem, 1fr)); min-width: 44rem; }
.spread-board[data-count="12"],
.spread-board[data-count="13"] { grid-template-columns: repeat(6, minmax(7rem, 1fr)); min-width: 52rem; }
.spread-board[data-spread="cruz-celta"] { grid-template-columns: repeat(5, minmax(7rem, 1fr)); min-width: 44rem; }
.spread-board[data-spread="mesa-real"] { grid-template-columns: repeat(13, 4.6rem); min-width: 64rem; gap: .42rem; }
.spread-board[data-locked="true"] .spread-card { box-shadow: none; opacity: .72; }

.spread-slot {
  display: grid;
  align-content: start;
  gap: .45rem;
  min-width: 0;
}

.spread-card {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 3;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .13);
  border-radius: .72rem;
  color: var(--violet-bright);
  background:
    radial-gradient(circle at 50% 42%, rgb(var(--world) / .14), transparent 42%),
    linear-gradient(155deg, #130b1b, #07030b);
  box-shadow: 0 12px 28px rgb(0 0 0 / .28);
}

.spread-card::before {
  content: "✦";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  opacity: .68;
}

.spread-card.has-card { cursor: zoom-in; border-color: rgb(245 213 139 / .34); }
.spread-card.has-card::before { display: none; }
.spread-card img { display: block; width: 100%; height: 100%; object-fit: cover; }

.spread-slot p { margin: 0; color: var(--muted); font-size: .58rem; line-height: 1.32; text-align: center; }
.spread-slot p b { display: block; margin-bottom: .15rem; color: rgb(255 255 255 / .72); font-size: .54rem; letter-spacing: .08em; }

.spread-board[data-spread="mesa-real"] .spread-slot { gap: .24rem; }
.spread-board[data-spread="mesa-real"] .spread-card { border-radius: .4rem; }
.spread-board[data-spread="mesa-real"] .spread-slot p { font-size: .48rem; }

.spread-synthesis {
  margin: .45rem 0 .9rem;
  padding: 1rem;
  border: 1px solid rgb(218 174 255 / .2);
  border-radius: 1.15rem;
  background: rgb(var(--world) / .065);
}
.spread-synthesis[hidden] { display: none; }
.spread-synthesis h3,
.spread-synthesis > p { margin: 0; }
.spread-synthesis h3 { margin-top: .2rem; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.35rem; font-weight: 400; }
.spread-synthesis > p:last-of-type { margin-top: .5rem; color: var(--ink); font-size: .82rem; line-height: 1.55; }
#spreadSynthesisPrompt { margin-top: .5rem; color: var(--ink); font-size: .82rem; line-height: 1.55; white-space: pre-line; }
.spread-synthesis .spread-synthesis__story { margin-top: .7rem; color: rgb(255 255 255 / .72); font-family: Iowan Old Style, Baskerville, "Times New Roman", serif; font-size: .82rem; line-height: 1.58; }
.spread-synthesis details { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid rgb(255 255 255 / .08); }
.spread-synthesis summary { cursor: pointer; color: var(--muted); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.spread-synthesis ul { display: grid; gap: .35rem; margin: .7rem 0 0; padding-left: 1.1rem; color: var(--muted); font-size: .7rem; line-height: 1.45; }
#spreadSynthesisClosing { margin-top: .8rem; color: rgb(245 213 139 / .82); }
.spread-synthesis__actions { display: grid; gap: .25rem; margin-top: .85rem; }
.spread-synthesis__actions .arbitrio-signature { margin-top: 0; }
.spread-synthesis__actions .arbitrio-invoke { margin-top: .4rem; }

.living-depth__choices {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
  margin-top: .78rem;
}
.living-depth__choices[hidden],
.living-depth__response[hidden] { display: none; }
.living-depth__choices button {
  min-height: 2.25rem;
  padding: .48rem .7rem;
  border: 1px solid rgb(245 213 139 / .2);
  border-radius: 999px;
  background: rgb(255 255 255 / .035);
  color: rgb(255 246 229 / .78);
  font: inherit;
  font-size: .68rem;
  letter-spacing: .045em;
}
.living-depth__choices button:is(:hover, :focus-visible),
.living-depth__choices button[aria-pressed="true"] {
  border-color: rgb(245 213 139 / .54);
  background: rgb(132 54 176 / .2);
  color: rgb(255 248 232 / .96);
}
.living-depth__response {
  margin: .72rem 0 0;
  padding: .72rem .78rem;
  border-left: 1px solid rgb(245 213 139 / .36);
  color: rgb(255 255 255 / .78);
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-size: .82rem;
  line-height: 1.58;
  white-space: pre-line;
}

.spread-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: .8rem;
  border-top: 1px solid rgb(255 255 255 / .08);
}

.spread-footer p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.spread-footer button { color: var(--ink); }
.spread-footer button:disabled { cursor: not-allowed; opacity: .4; }

.wisdom-search { display: block; }
.wisdom-search input,
.journal-editor input,
.journal-editor textarea,
.journal-editor select,
.whit-form textarea {
  width: 100%;
  border: 1px solid rgb(255 255 255 / .11);
  border-radius: .9rem;
  color: var(--ink);
  background: rgb(6 3 10 / .56);
  font: inherit;
}

.wisdom-search input { min-height: 3rem; padding: .72rem 1rem; }
.wisdom-search input::placeholder,
.journal-editor input::placeholder,
.journal-editor textarea::placeholder,
.whit-form textarea::placeholder { color: rgb(255 255 255 / .34); }

.wisdom-primary {
  min-height: 2.9rem;
  padding: .72rem 1rem;
  border: 1px solid rgb(218 174 255 / .42);
  border-radius: 999px;
  color: var(--ink);
  background: linear-gradient(135deg, rgb(var(--world) / .28), rgb(255 255 255 / .055));
  box-shadow: 0 12px 34px rgb(var(--world) / .1);
}

body[data-route="escola"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 20%, rgb(98 204 153 / .17), transparent 35%),
    radial-gradient(circle at 13% 80%, rgb(226 185 104 / .08), transparent 30%),
    radial-gradient(circle at 88% 72%, rgb(114 166 255 / .08), transparent 34%);
}

.school-layout {
  display: grid;
  gap: 1rem;
  width: min(100%, 72rem);
  margin: 0 auto;
}

.school-map,
.school-lesson,
.library-console,
.journal-editor,
.journal-archive,
.whit-chamber {
  border: 1px solid rgb(255 255 255 / .1);
  background: linear-gradient(155deg, rgb(255 255 255 / .055), rgb(255 255 255 / .018));
  box-shadow: 0 28px 80px rgb(0 0 0 / .25);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.school-map { padding: 1rem; border-radius: 1.5rem; }
.school-progress { margin: .9rem .1rem; }
.school-progress p { margin: 0; color: var(--muted); font-size: .7rem; }
.school-progress b { color: var(--ink); font-family: Iowan Old Style, Baskerville, serif; font-size: 1.55rem; font-weight: 400; }

.school-modules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .48rem;
  max-height: 31rem;
  overflow: auto;
  padding-right: .15rem;
}

.school-module {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .6rem;
  min-height: 3.35rem;
  padding: .55rem .65rem;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: .85rem;
  color: var(--muted);
  background: rgb(255 255 255 / .025);
  text-align: left;
}

.school-module > span { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; color: var(--violet-bright); background: rgb(var(--world) / .1); }
.school-module small { display: block; color: rgb(255 255 255 / .42); font-size: .52rem; letter-spacing: .09em; }
.school-module b { display: block; margin-top: .15rem; color: inherit; font-size: .7rem; line-height: 1.2; }
.school-module[aria-current="true"] { border-color: rgb(245 213 139 / .45); color: var(--ink); background: rgb(var(--world) / .11); }
.school-module.is-complete > span { color: var(--gold); box-shadow: inset 0 0 0 1px rgb(245 213 139 / .35); }

.school-lesson { min-height: 36rem; padding: 1.25rem; border-radius: 1.5rem; }
.school-lesson__head { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; }
.school-lesson__head > span { display: grid; place-items: center; width: 4rem; height: 4rem; border: 1px solid rgb(255 255 255 / .12); border-radius: 50%; color: var(--gold); background: radial-gradient(circle, rgb(var(--world) / .16), transparent 70%); font-size: 1.55rem; }
.school-lesson h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: clamp(1.8rem, 7vw, 2.8rem); font-weight: 400; }
.school-lesson__intro { color: var(--muted); font-size: .95rem; line-height: 1.72; }
.school-focus { display: grid; gap: .55rem; margin: 1.1rem 0; padding: 0; list-style: none; }
.school-focus li { position: relative; padding: .65rem .75rem .65rem 2.1rem; border-radius: .8rem; color: rgb(255 255 255 / .72); background: rgb(255 255 255 / .035); }
.school-focus li::before { content: "✦"; position: absolute; left: .75rem; color: var(--violet-bright); }

.school-teaching,
.school-practice {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgb(255 255 255 / .085);
  border-radius: 1rem;
  background: linear-gradient(145deg, rgb(var(--world) / .08), rgb(255 255 255 / .018));
}

.school-teaching p:not(.eyebrow),
.school-practice > p:not(.eyebrow) {
  margin: .65rem 0 0;
  color: rgb(255 255 255 / .72);
  font-size: .88rem;
  line-height: 1.72;
}

.school-practice h3 {
  margin: 0;
  color: var(--ink);
  font-family: Iowan Old Style, Baskerville, serif;
  font-size: 1.25rem;
  font-weight: 400;
}

.school-practice button { margin-top: .8rem; }
.school-practice [hidden] { display: none !important; }
.school-practice #schoolPracticeGuide { color: var(--gold); }
.school-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.school-actions button { flex: 1 1 12rem; }

.school-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.1rem, 1fr));
  gap: .55rem;
  max-height: 24rem;
  margin: 1rem 0;
  overflow: auto;
}

.school-card {
  display: grid;
  align-content: start;
  gap: .35rem;
  padding: .3rem;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: .65rem;
  color: var(--ink);
  background: rgb(255 255 255 / .025);
  text-align: left;
}

.spread-slot .spread-card__oracle {
  order: 3;
  margin: .55rem 0 0;
  padding: .65rem .7rem;
  border-left: 1px solid rgb(226 181 255 / .42);
  color: rgb(255 255 255 / .72);
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-size: .72rem;
  line-height: 1.55;
  text-align: left;
  white-space: pre-line;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}

.spread-synthesis:not([hidden]) {
  animation: oracle-voice-arrival 520ms var(--ease) both;
}

.spread-synthesis[data-complete="true"] {
  border-color: rgb(245 213 139 / .32);
  box-shadow: 0 0 32px rgb(var(--world) / .1);
}

@keyframes oracle-voice-arrival {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.school-card img { display: block; width: 100%; aspect-ratio: 2 / 3; border-radius: .45rem; object-fit: cover; }
.school-card span { padding: 0 .15rem .25rem; font-size: .57rem; line-height: 1.3; }

body[data-route="biblioteca"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 20%, rgb(107 158 224 / .18), transparent 36%),
    radial-gradient(circle at 12% 75%, rgb(151 92 224 / .08), transparent 32%),
    radial-gradient(circle at 88% 72%, rgb(82 205 194 / .07), transparent 32%);
}

.library-console { width: min(100%, 72rem); margin: 0 auto; padding: 1rem; border-radius: 1.6rem; }
.library-search { max-width: 42rem; margin: 0 auto; }
.library-filters { display: flex; gap: .45rem; margin: .9rem 0 .55rem; overflow-x: auto; scrollbar-width: none; }
.library-filters::-webkit-scrollbar { display: none; }
.library-filters button { flex: 0 0 auto; min-height: 2.55rem; padding: .55rem .8rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 999px; color: var(--muted); background: rgb(255 255 255 / .03); }
.library-filters button[aria-pressed="true"] { border-color: rgb(218 174 255 / .48); color: var(--ink); background: rgb(var(--world) / .14); }
.library-count { margin: .7rem .2rem; color: rgb(255 255 255 / .48); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }

.library-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: .65rem; }
.library-item { position: relative; min-width: 0; border: 1px solid rgb(255 255 255 / .08); border-radius: 1rem; overflow: hidden; background: rgb(255 255 255 / .025); }
.library-item button,
.library-item a { display: grid; width: 100%; height: 100%; padding: .65rem; border: 0; color: var(--ink); background: transparent; text-align: left; text-decoration: none; }
.library-item img { display: block; width: 100%; aspect-ratio: 2 / 3; border-radius: .65rem; object-fit: cover; }
.library-item h3 { margin: .65rem 0 .25rem; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.1rem; font-weight: 400; }
.library-item p { margin: 0; color: var(--muted); font-size: .67rem; line-height: 1.45; }
.library-item small { margin-top: .5rem; color: var(--gold); font-size: .53rem; letter-spacing: .1em; text-transform: uppercase; }
.library-item--guide { grid-column: span 2; min-height: 9rem; }
.library-item--guide a { align-content: center; padding: 1rem; }
.library-empty { grid-column: 1 / -1; padding: 2.5rem 1rem; color: var(--muted); text-align: center; }

body[data-route="diario"] .cosmos__veil {
  background:
    radial-gradient(circle at 46% 24%, rgb(200 102 186 / .16), transparent 34%),
    radial-gradient(circle at 15% 80%, rgb(88 117 184 / .09), transparent 34%),
    radial-gradient(circle at 88% 70%, rgb(146 72 185 / .08), transparent 30%);
}

.journal-layout { display: grid; gap: 1rem; width: min(100%, 72rem); margin: 0 auto; }
.journal-editor,
.journal-archive { padding: 1rem; border-radius: 1.5rem; }
.journal-editor { display: grid; gap: .85rem; }
.journal-editor label { display: grid; gap: .38rem; }
.journal-editor label > span { color: rgb(255 255 255 / .55); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.journal-editor input,
.journal-editor textarea,
.journal-editor select { min-height: 2.9rem; padding: .72rem .85rem; }
.journal-editor textarea { resize: vertical; line-height: 1.6; }
.journal-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.journal-favorite { display: flex !important; grid-template-columns: auto 1fr; align-items: center; }
.journal-favorite input { width: 1.2rem; min-height: 1.2rem; accent-color: var(--violet); }
.journal-actions { display: grid; grid-template-columns: 1fr auto; gap: .55rem; }
.journal-actions > button:last-child,
.journal-archive__head button,
.journal-entry__actions button,
.whit-clean-footer button { border: 1px solid rgb(255 255 255 / .11); border-radius: 999px; color: var(--muted); background: rgb(255 255 255 / .035); }
.journal-private { margin: 0; color: rgb(255 255 255 / .46); font-size: .63rem; line-height: 1.45; text-align: center; }
.journal-archive__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.journal-archive__head h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.75rem; font-weight: 400; }
.journal-archive__head button { min-height: 2.5rem; padding: .55rem .8rem; }
.journal-entries { display: grid; gap: .65rem; max-height: 43rem; margin-top: .85rem; overflow: auto; }
.journal-entry { padding: .9rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 1rem; background: rgb(255 255 255 / .025); }
.journal-entry__meta { display: flex; justify-content: space-between; gap: .6rem; color: rgb(255 255 255 / .44); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.journal-entry h3 { margin: .45rem 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.3rem; font-weight: 400; }
.journal-entry__preview { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; white-space: pre-wrap; }
.journal-entry__tags { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .65rem; }
.journal-entry__tags span { padding: .25rem .45rem; border-radius: 99px; color: rgb(255 255 255 / .58); background: rgb(var(--world) / .1); font-size: .55rem; }
.journal-entry__actions { display: flex; gap: .4rem; margin-top: .7rem; }
.journal-entry__actions button { min-height: 2.2rem; padding: .4rem .65rem; font-size: .64rem; }
.journal-empty { padding: 2rem .5rem; color: var(--muted); text-align: center; }

body[data-route="whit"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 22%, rgb(255 72 83 / .13), transparent 24%),
    radial-gradient(circle at 50% 30%, rgb(243 188 80 / .1), transparent 38%),
    radial-gradient(circle at 17% 76%, rgb(81 156 231 / .08), transparent 30%),
    radial-gradient(circle at 83% 73%, rgb(235 129 205 / .08), transparent 32%);
}

.whit-chamber { position: relative; width: min(100%, 48rem); margin: 0 auto; padding: 1rem; border-radius: 1.7rem; overflow: hidden; }
.whit-chamber--clean { width: min(100%, 42rem); padding: clamp(.7rem, 2vw, 1.15rem); }
.whit-chamber--clean .whit-presence { margin-bottom: 1.15rem; }
.whit-chamber { --love-color: 255 98 116; --love-gold: 245 196 96; }
.whit-chamber[data-love-state="joy"],
.whit-chamber[data-love-state="hope"] { --love-color: 255 174 80; --love-gold: 255 225 135; }
.whit-chamber[data-love-state="sadness"],
.whit-chamber[data-love-state="loneliness"] { --love-color: 136 151 255; --love-gold: 224 194 255; }
.whit-chamber[data-love-state="fear"],
.whit-chamber[data-love-state="confusion"] { --love-color: 177 125 255; --love-gold: 244 207 137; }
.whit-chamber[data-love-state="anger"] { --love-color: 255 79 62; --love-gold: 255 190 76; }
.whit-chamber[data-love-state="exhaustion"] { --love-color: 111 172 186; --love-gold: 213 221 184; }
.whit-chamber[data-love-state="selfworth"] { --love-color: 236 120 200; --love-gold: 255 214 150; }
.whit-presence { position: relative; display: grid; place-items: center; width: 7rem; height: 7rem; margin: .3rem auto .9rem; border-radius: 50%; color: rgb(var(--love-gold)); background: radial-gradient(circle, rgb(var(--love-color) / .23), rgb(var(--world) / .12) 38%, transparent 68%); font-family: Iowan Old Style, Baskerville, serif; font-size: 2.25rem; filter: drop-shadow(0 0 18px rgb(var(--love-color) / .16)); transition: color 420ms ease, filter 420ms ease, background 420ms ease; }
.whit-presence > span { position: relative; z-index: 2; }
.whit-presence i { position: absolute; inset: 12%; border: 1px solid rgb(var(--love-color) / .28); border-radius: 50%; animation: whit-love-breathe 5.6s ease-in-out infinite; }
.whit-presence i:last-child { inset: 25%; border-color: rgb(var(--love-gold) / .27); border-style: dashed; animation-delay: -2.8s; }
.whit-modes { display: flex; justify-content: center; gap: .45rem; }
.whit-modes button { min-height: 2.45rem; padding: .5rem .75rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 999px; color: var(--muted); background: rgb(255 255 255 / .03); }
.whit-modes button[aria-pressed="true"] { border-color: rgb(var(--love-color) / .48); color: var(--ink); background: rgb(var(--love-color) / .1); }
.whit-engine-states { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; width: min(100%, 46rem); margin: .75rem auto 0; }
.whit-heart-state,
.whit-mind-state,
.whit-spirit-state,
.whit-matter-state { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .65rem; align-items: center; min-width: 0; padding: .62rem .75rem; border-radius: 1rem; box-shadow: inset 0 1px rgb(255 255 255 / .04); transition: border-color 420ms ease, background 420ms ease; }
.whit-heart-state { border: 1px solid rgb(var(--love-color) / .22); background: linear-gradient(105deg, rgb(var(--love-color) / .09), rgb(var(--love-gold) / .035)); }
.whit-mind-state { border: 1px solid rgb(130 159 255 / .24); background: linear-gradient(105deg, rgb(77 94 196 / .105), rgb(184 153 255 / .045)); }
.whit-spirit-state { border: 1px solid rgb(245 205 135 / .18); background: linear-gradient(105deg, rgb(245 205 135 / .055), rgb(152 86 190 / .04)); }
.whit-matter-state { border: 1px solid rgb(101 225 199 / .2); background: linear-gradient(105deg, rgb(48 166 153 / .095), rgb(116 175 255 / .04)); }
.whit-matter-state[data-matter-state="paused"] { border-color: rgb(255 176 96 / .32); background: linear-gradient(105deg, rgb(145 51 46 / .14), rgb(104 64 34 / .06)); }
.whit-chamber[data-spirit-mode="jesus"] .whit-spirit-state { border-color: rgb(242 211 153 / .36); background: linear-gradient(105deg, rgb(235 203 138 / .12), rgb(116 158 232 / .055)); }
.whit-chamber[data-spirit-mode="cacurucaia"] .whit-spirit-state { border-color: rgb(236 99 115 / .34); background: linear-gradient(105deg, rgb(179 31 55 / .13), rgb(229 119 180 / .05)); }
.whit-chamber[data-spirit-mode="duas-vozes"] .whit-spirit-state { border-color: rgb(239 171 151 / .38); background: linear-gradient(105deg, rgb(238 200 128 / .1), rgb(170 52 94 / .11)); }
.whit-heart-state > span,
.whit-mind-state > span,
.whit-spirit-state > span,
.whit-matter-state > span { display: grid; place-items: center; width: 1.8rem; aspect-ratio: 1; border-radius: 50%; }
.whit-heart-state > span { color: rgb(var(--love-gold)); background: rgb(var(--love-color) / .1); text-shadow: 0 0 12px rgb(var(--love-color) / .5); }
.whit-mind-state > span { color: rgb(187 204 255); background: rgb(116 133 255 / .1); text-shadow: 0 0 12px rgb(121 145 255 / .55); }
.whit-spirit-state > span { color: rgb(245 211 151); background: rgb(220 152 116 / .09); text-shadow: 0 0 12px rgb(239 173 119 / .42); }
.whit-matter-state > span { color: rgb(145 245 222); background: rgb(70 194 174 / .1); text-shadow: 0 0 12px rgb(84 225 200 / .46); }
.whit-heart-state div,
.whit-mind-state div,
.whit-spirit-state div,
.whit-matter-state div { display: grid; gap: .12rem; min-width: 0; }
.whit-heart-state small,
.whit-mind-state small,
.whit-spirit-state small,
.whit-matter-state small { font-size: .48rem; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; }
.whit-heart-state small { color: rgb(var(--love-gold) / .78); }
.whit-mind-state small { color: rgb(173 192 255 / .82); }
.whit-spirit-state small { color: rgb(245 211 151 / .82); }
.whit-matter-state small { color: rgb(145 235 216 / .8); }
.whit-heart-state b,
.whit-mind-state b,
.whit-spirit-state b,
.whit-matter-state b { overflow: hidden; color: rgb(255 255 255 / .76); font-family: Iowan Old Style, Baskerville, serif; font-size: .78rem; font-weight: 400; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.whit-spirit-choice { display: grid; gap: .55rem; width: min(100%, 46rem); margin: .6rem auto 0; padding: .7rem .75rem; border: 1px solid rgb(245 205 135 / .12); border-radius: 1rem; background: linear-gradient(135deg, rgb(245 205 135 / .035), rgb(132 65 166 / .035)); }
.whit-spirit-choice > div { display: grid; gap: .18rem; }
.whit-spirit-choice > div > small { color: rgb(245 211 151 / .7); font-size: .48rem; letter-spacing: .14em; }
.whit-spirit-choice p { margin: 0; color: rgb(255 255 255 / .46); font-size: .59rem; line-height: 1.45; }
.whit-spirit-modes { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .05rem; scrollbar-width: none; }
.whit-spirit-modes::-webkit-scrollbar { display: none; }
.whit-spirit-modes button { flex: 0 0 auto; min-height: 2.15rem; padding: .42rem .62rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 999px; color: rgb(255 255 255 / .52); background: rgb(255 255 255 / .025); font-size: .56rem; }
.whit-spirit-modes button[aria-pressed="true"] { border-color: rgb(245 205 135 / .38); color: rgb(255 244 219 / .92); background: rgb(235 176 118 / .1); box-shadow: 0 0 18px rgb(235 147 116 / .07); }
.whit-matter-console { display: grid; gap: .68rem; width: min(100%, 46rem); margin: .6rem auto 0; padding: .78rem; border: 1px solid rgb(107 223 202 / .15); border-radius: 1rem; background: linear-gradient(135deg, rgb(54 183 162 / .05), rgb(98 123 211 / .04)); }
.whit-matter-console__head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.whit-matter-console__head > div { display: grid; gap: .18rem; }
.whit-matter-console__head small { color: rgb(145 235 216 / .78); font-size: .48rem; letter-spacing: .14em; }
.whit-matter-console p { margin: 0; color: rgb(255 255 255 / .46); font-size: .59rem; line-height: 1.48; }
.whit-matter-console button { flex: 0 0 auto; min-height: 2.15rem; padding: .42rem .62rem; border: 1px solid rgb(101 225 199 / .18); border-radius: 999px; color: rgb(220 255 247 / .7); background: rgb(47 166 149 / .055); font-size: .56rem; }
.whit-matter-console button[aria-pressed="true"] { border-color: rgb(111 235 211 / .4); color: rgb(235 255 251 / .94); background: rgb(51 184 160 / .13); }
.whit-identity-control { display: grid; gap: .35rem; }
.whit-identity-control > label { color: rgb(255 255 255 / .58); font-size: .59rem; }
.whit-identity-control > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .38rem; }
.whit-identity-control input { min-width: 0; min-height: 2.45rem; padding: .55rem .7rem; }
.whit-identity-control button { white-space: nowrap; }
.whit-matter-boundary { padding-top: .55rem; border-top: 1px solid rgb(255 255 255 / .065); }
.whit-matter-boundary b { color: rgb(219 251 244 / .74); font-weight: 600; }
.whit-quick-paths { display: flex; gap: .38rem; width: min(100%, 46rem); margin: .55rem auto 0; padding: .05rem .05rem .25rem; overflow-x: auto; scrollbar-width: none; }
.whit-quick-paths::-webkit-scrollbar { display: none; }
.whit-quick-paths a { flex: 0 0 auto; min-height: 2.1rem; padding: .46rem .68rem; border: 1px solid rgb(137 158 255 / .16); border-radius: 999px; color: rgb(224 228 255 / .68); background: rgb(72 81 159 / .075); font-size: .56rem; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.whit-quick-paths a:focus-visible,
.whit-quick-paths a:hover { border-color: rgb(171 189 255 / .42); color: var(--ink); background: rgb(91 105 208 / .15); }
.whit-conversation { display: grid; gap: .65rem; min-height: 13rem; max-height: 29rem; margin: 1rem 0; padding: .8rem; overflow: auto; border: 1px solid rgb(255 255 255 / .07); border-radius: 1.1rem; background: rgb(3 2 7 / .36); }
.whit-conversation[data-empty="true"] { min-height: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.whit-message { max-width: 88%; padding: .75rem .85rem; border-radius: 1rem; line-height: 1.55; white-space: pre-wrap; }
.whit-message--whit { justify-self: start; border: 1px solid rgb(var(--love-color) / .12); color: rgb(255 255 255 / .8); background: linear-gradient(135deg, rgb(var(--love-color) / .095), rgb(var(--world) / .075)); }
.whit-message--care { border-color: rgb(255 176 96 / .35); background: linear-gradient(135deg, rgb(135 38 45 / .24), rgb(53 19 28 / .22)); }
.whit-message--user { justify-self: end; color: var(--ink); background: rgb(255 255 255 / .08); }
.whit-message small { display: block; margin-bottom: .25rem; color: var(--gold); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; }
.whit-story-title { margin: 0 0 .45rem; color: rgb(255 246 229 / .92); font-family: Iowan Old Style, Baskerville, serif; font-size: 1.12rem; font-weight: 400; line-height: 1.25; white-space: normal; }
.whit-message em { display: block; margin-top: .55rem; color: rgb(255 255 255 / .33); font-family: inherit; font-size: .47rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.whit-spirit-response { display: grid; gap: .5rem; margin-top: .72rem; white-space: normal; }
.whit-spirit-voice,
.whit-spirit-synthesis,
.whit-spirit-blessing { padding: .65rem .7rem; border: 1px solid rgb(245 205 135 / .14); border-radius: .82rem; background: rgb(255 255 255 / .026); }
.whit-spirit-voice[data-spirit-voice="jesus"] { border-color: rgb(239 211 155 / .2); background: linear-gradient(135deg, rgb(234 204 146 / .075), rgb(106 145 213 / .035)); }
.whit-spirit-voice[data-spirit-voice="cacurucaia"] { border-color: rgb(224 86 111 / .22); background: linear-gradient(135deg, rgb(151 30 50 / .1), rgb(208 91 161 / .035)); }
.whit-spirit-response small { margin: 0 0 .3rem; color: rgb(247 216 160 / .82); }
.whit-spirit-response p { margin: 0; color: rgb(255 255 255 / .74); font-family: Iowan Old Style, Baskerville, serif; font-size: .78rem; line-height: 1.55; }
.whit-spirit-response .whit-spirit-voice em { margin-top: .38rem; color: rgb(255 255 255 / .28); font-family: inherit; font-size: .43rem; letter-spacing: .05em; line-height: 1.35; }
.whit-spirit-synthesis { border-color: rgb(231 144 144 / .23); background: linear-gradient(135deg, rgb(235 193 127 / .065), rgb(161 48 92 / .075)); }
.whit-spirit-blessing { border-color: rgb(245 205 135 / .23); background: radial-gradient(circle at 50% 0, rgb(247 214 149 / .09), transparent 70%); }
.whit-message__paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .7rem; white-space: normal; }
.whit-path { display: grid; align-content: center; gap: .12rem; min-width: 0; min-height: 3.4rem; padding: .58rem .65rem; border: 1px solid rgb(135 158 255 / .2); border-radius: .8rem; color: rgb(244 244 255 / .86); background: linear-gradient(135deg, rgb(83 101 205 / .12), rgb(var(--love-color) / .055)); text-decoration: none; transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.whit-path:hover,
.whit-path:focus-visible { border-color: rgb(173 191 255 / .5); background: linear-gradient(135deg, rgb(91 112 230 / .2), rgb(var(--love-color) / .09)); transform: translateY(-1px); }
.whit-path b { overflow: hidden; font-family: Iowan Old Style, Baskerville, serif; font-size: .76rem; font-weight: 400; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.whit-path small { display: -webkit-box; margin: 0; overflow: hidden; color: rgb(255 255 255 / .42); font-size: .49rem; letter-spacing: .02em; line-height: 1.35; text-transform: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.whit-path--research { border-color: rgb(101 225 199 / .22); background: linear-gradient(135deg, rgb(42 158 143 / .14), rgb(74 104 184 / .08)); }
.whit-form { display: grid; gap: .55rem; }
.whit-form textarea { resize: vertical; min-height: 5.2rem; padding: .8rem .9rem; line-height: 1.55; }
.whit-form button:disabled { cursor: wait; opacity: .7; }
.whit-clean-footer { display: flex; justify-content: center; margin-top: .75rem; }
.whit-clean-footer button { min-height: 2.2rem; padding: .4rem .7rem; font-size: .61rem; }
.whit-chamber[data-thinking="true"] .whit-presence { filter: drop-shadow(0 0 28px rgb(var(--love-color) / .3)); }
.whit-command-hint { margin: .45rem .2rem 0; color: rgb(255 255 255 / .37); font-size: .58rem; line-height: 1.45; text-align: center; }
.whit-privacy { display: grid; grid-template-columns: auto 1fr; gap: .65rem; align-items: center; margin-top: .9rem; padding-top: .8rem; border-top: 1px solid rgb(255 255 255 / .08); }
.whit-privacy > span { color: var(--gold); }
.whit-privacy p { margin: 0; color: rgb(255 255 255 / .5); font-size: .65rem; line-height: 1.45; }
.whit-privacy button { grid-column: 2; justify-self: start; min-height: 2.2rem; padding: .4rem .65rem; font-size: .61rem; }

@keyframes whit-love-breathe {
  0%, 100% { opacity: .5; transform: scale(.96); }
  50% { opacity: 1; transform: scale(1.035); }
}

@keyframes whit-mind-think {
  0%, 100% { opacity: .48; transform: scale(.94) rotate(-2deg); }
  50% { opacity: 1; transform: scale(1.04) rotate(2deg); }
}

.whit-chamber[data-thinking="true"] .whit-mind-state { border-color: rgb(171 189 255 / .48); background: linear-gradient(105deg, rgb(83 101 220 / .18), rgb(185 145 255 / .08)); }
.whit-chamber[data-thinking="true"] .whit-mind-state > span { animation: whit-mind-think .9s ease-in-out infinite; }
.whit-chamber[data-thinking="true"]:not([data-spirit-mode="livre"]) .whit-spirit-state > span { animation: whit-love-breathe 1.2s ease-in-out infinite; }
.whit-chamber[data-thinking="true"] .whit-matter-state > span { animation: whit-matter-pulse .82s ease-in-out infinite; }

@keyframes whit-matter-pulse {
  0%, 100% { opacity: .52; transform: scale(.9); }
  50% { opacity: 1; transform: scale(1.08); }
}

@media (max-width: 620px) {
  .whit-engine-states { grid-template-columns: 1fr; }
  .whit-matter-console__head { display: grid; }
  .whit-matter-console__head > button { justify-self: start; }
  .whit-identity-control > div { grid-template-columns: 1fr 1fr; }
  .whit-identity-control input { grid-column: 1 / -1; }
  .whit-message { max-width: 94%; }
  .whit-message__paths { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .whit-presence i,
  .whit-chamber[data-thinking="true"] .whit-mind-state > span,
  .whit-chamber[data-thinking="true"] .whit-spirit-state > span,
  .whit-chamber[data-thinking="true"] .whit-matter-state > span { animation: none; }
  .whit-path { transition: none; }
}

/* ENCONTRO + CRIAÇÕES · sete atmosferas, a mesma física */
.consultations-app,
.premium-intro,
.premium-plans,
.account-app,
.store-oracle,
.store-tools,
.store-grid,
.music-stage,
.videos-app,
.skins-current,
.skins-tools,
.skins-grid,
.skins-premium-passage {
  width: min(100%, 70rem);
  margin-inline: auto;
}

.consultations-app button,
.premium-world button,
.account-app button,
.store-world button,
.music-world button,
.videos-world button,
.skins-world button {
  min-height: 2.75rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: .85rem;
  color: var(--ink);
  background: rgb(255 255 255 / .04);
}

.consultations-app input,
.consultations-app select,
.consultations-app textarea,
.account-app input,
.store-tools input,
.skins-tools input {
  width: 100%;
  min-height: 2.85rem;
  padding: .72rem .82rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: .8rem;
  color: var(--ink);
  background: rgb(4 2 8 / .58);
  font: inherit;
  font-size: max(16px, .88rem);
}

.consultations-app textarea { min-height: 7rem; resize: vertical; line-height: 1.55; }
.consultations-app label,
.account-app label { display: grid; gap: .42rem; color: rgb(255 255 255 / .7); font-size: .72rem; line-height: 1.4; }
.consultations-app label > span,
.account-app label > span { letter-spacing: .06em; }

body[data-route="consultas"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 17%, rgb(236 112 164 / .19), transparent 34%),
    radial-gradient(circle at 12% 76%, rgb(124 78 174 / .1), transparent 32%),
    radial-gradient(circle at 86% 74%, rgb(244 200 129 / .08), transparent 32%);
}

.consultation-sanctuary {
  display: grid;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 1.25rem;
  border: 1px solid rgb(255 255 255 / .1);
  border-radius: 1.5rem;
  background: linear-gradient(145deg, rgb(236 112 164 / .09), rgb(255 255 255 / .02));
}
.consultation-sanctuary h2,
.consultation-choice h2,
.consultation-form-stage h2,
.consultation-review h2,
.consultation-success h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: clamp(1.7rem, 7vw, 2.7rem); font-weight: 400; }
.consultation-sanctuary p:last-child,
.consultation-choice header > p:last-child { color: var(--muted); line-height: 1.6; }
.consultation-connection { display: inline-flex; align-items: center; gap: .5rem; justify-self: start; padding: .55rem .7rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 99px; color: rgb(255 255 255 / .6); font-size: .58rem; letter-spacing: .12em; }
.consultation-connection i { width: .46rem; height: .46rem; border-radius: 50%; background: #d8a85d; }
.consultation-connection.is-ready i { background: #72d5a5; box-shadow: 0 0 10px rgb(114 213 165 / .5); }
.consultation-choice,
.consultation-form-stage,
.consultation-review,
.consultation-success,
.consultation-tracker { padding: 1rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 1.45rem; background: rgb(255 255 255 / .025); }
.consultation-choice > header { margin-bottom: 1rem; text-align: center; }
.consultation-services { display: grid; gap: .8rem; }
.consultation-service { position: relative; display: grid; align-content: start; gap: .55rem; padding: 1.1rem; text-align: left; overflow: hidden; }
.consultation-service.is-featured { border-color: rgb(245 213 139 / .35); background: linear-gradient(145deg, rgb(236 112 164 / .11), rgb(255 255 255 / .025)); }
.consultation-service > em { position: absolute; top: .65rem; right: .65rem; color: var(--gold); font-size: .5rem; font-style: normal; letter-spacing: .12em; }
.consultation-service__number { position: absolute; right: .8rem; bottom: -.35rem; color: rgb(255 255 255 / .025); font-family: Iowan Old Style, serif; font-size: 5rem; }
.consultation-service > i { color: rgb(var(--world) / .9); font-size: 1.5rem; font-style: normal; }
.consultation-service > small { color: var(--gold); font-size: .55rem; letter-spacing: .13em; text-transform: uppercase; }
.consultation-service h2 { position: relative; margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.45rem; font-weight: 400; }
.consultation-service p,
.consultation-service > span { position: relative; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.consultation-service ul { position: relative; margin: .15rem 0; padding-left: 1rem; color: rgb(255 255 255 / .65); font-size: .7rem; line-height: 1.65; }
.consultation-service strong { position: relative; color: var(--ink); font-family: Iowan Old Style, serif; font-size: 1.5rem; font-weight: 400; }
.consultation-service > b { position: relative; color: var(--gold); font-size: .6rem; letter-spacing: .13em; }
.consultation-form-stage { max-width: 42rem; margin-inline: auto; }
.consultation-form-stage > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.consultation-form-stage > header p { margin: .2rem 0 0; color: var(--muted); }
.consultation-form-stage > header button { padding: .5rem .65rem; }
.consultation-form-stage form { display: grid; gap: .85rem; }
.consultation-live-schedule {
  padding: .85rem;
  border: 1px solid rgb(236 153 191 / .2);
  border-radius: 1rem;
  background: linear-gradient(145deg, rgb(236 112 164 / .07), rgb(255 255 255 / .018));
  overflow: hidden;
}
.consultation-live-schedule h3 { margin: .2rem 0 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.15rem; font-weight: 400; }
.consultation-days,
.consultation-times { display: flex; gap: .42rem; margin-top: .65rem; padding-bottom: .12rem; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
.consultation-days::-webkit-scrollbar,
.consultation-times::-webkit-scrollbar { display: none; }
.consultation-days button,
.consultation-times button { flex: 0 0 auto; min-height: 2.35rem; padding: .48rem .68rem; border-radius: 99px; font-size: .66rem; letter-spacing: .03em; }
.consultation-days button[aria-pressed="true"],
.consultation-times button[aria-pressed="true"] { border-color: rgb(245 213 139 / .55); color: #170912; background: var(--gold); }
.consultation-slot-choice,
.consultation-schedule-fallback { margin: .7rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.consultation-schedule-fallback { padding: .75rem .85rem; border: 1px dashed rgb(255 255 255 / .12); border-radius: .9rem; }
.consultation-slot-choice b { color: var(--ink); font-weight: 500; }
.consultation-preference { display: grid; gap: .7rem; }
.consultation-consents { display: grid; gap: .6rem; padding: .8rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 1rem; }
.consultation-consents label { grid-template-columns: auto 1fr; align-items: start; }
.consultation-consents input { width: 1.1rem; min-height: 1.1rem; margin-top: .16rem; }
.consultation-form-stage form > button,
.consultation-review > div > button:first-child,
.consultation-success > button { border-color: rgb(236 153 191 / .45); background: linear-gradient(135deg, rgb(236 112 164 / .28), rgb(118 69 160 / .18)); }
.consultation-status { padding: .75rem .85rem; border: 1px solid rgb(255 139 174 / .25); border-radius: .85rem; color: #ffd5e5; background: rgb(182 50 94 / .08); font-size: .75rem; line-height: 1.5; }
.consultation-review { max-width: 43rem; margin-inline: auto; text-align: center; }
.consultation-review dl { display: grid; gap: .55rem; margin: 1rem 0; text-align: left; }
.consultation-review dl div { padding: .75rem; border-radius: .8rem; background: rgb(255 255 255 / .035); }
.consultation-review dt { color: var(--gold); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; }
.consultation-review dd { margin: .25rem 0 0; color: var(--muted); line-height: 1.55; white-space: pre-wrap; }
.consultation-review > div { display: grid; gap: .55rem; }
.consultation-review > a { display: inline-block; margin-top: .8rem; color: var(--gold); font-size: .67rem; letter-spacing: .1em; }
.consultation-success { max-width: 40rem; margin-inline: auto; text-align: center; }
.consultation-success > span { color: var(--gold); font-size: 2.3rem; }
.consultation-success > p { color: var(--muted); line-height: 1.6; }
.consultation-success > div { display: grid; grid-template-columns: 1fr auto; gap: .5rem; margin: .6rem 0; padding: .7rem; border: 1px solid rgb(255 255 255 / .09); border-radius: .9rem; text-align: left; }
.consultation-success label { min-width: 0; }
.consultation-success output { display: block; overflow-wrap: anywhere; color: var(--ink); font-size: .82rem; }
.consultation-tracker { margin-top: 1rem; }
.consultation-tracker summary { display: flex; justify-content: space-between; gap: .8rem; color: var(--ink); cursor: pointer; }
.consultation-tracker summary span { color: var(--muted); font-size: .65rem; }
.consultation-tracker form { display: grid; gap: .6rem; margin-top: .9rem; }
.consultation-tracker > p { color: var(--muted); font-size: .68rem; }
.consultation-records { display: grid; gap: .45rem; margin-top: .8rem; }
.consultation-records button { display: flex; align-items: center; justify-content: space-between; padding: .7rem; text-align: left; }
.consultation-records span { display: grid; gap: .2rem; }
.consultation-records small { color: var(--muted); }
.consultation-records em { color: var(--gold); font-size: .55rem; font-style: normal; letter-spacing: .1em; }
.consultation-tracking-result { margin-top: .8rem; padding: .8rem; border-left: 2px solid rgb(var(--world) / .65); background: rgb(var(--world) / .07); }
.consultation-tracking-result h3 { margin: .25rem 0; font-family: Iowan Old Style, serif; font-size: 1.4rem; font-weight: 400; }

body[data-route="premium"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 15%, rgb(241 194 105 / .2), transparent 34%),
    radial-gradient(circle at 15% 75%, rgb(146 73 180 / .1), transparent 33%),
    radial-gradient(circle at 85% 75%, rgb(200 135 67 / .08), transparent 32%);
}
.premium-intro { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; margin-bottom: 1rem; padding: 1.2rem; border: 1px solid rgb(245 213 139 / .18); border-radius: 1.5rem; background: linear-gradient(145deg, rgb(241 194 105 / .08), transparent); }
.premium-intro > span { color: var(--gold); font-size: 2rem; }
.premium-intro h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: clamp(1.65rem, 6vw, 2.45rem); font-weight: 400; }
.premium-intro div > p:last-child { color: var(--muted); line-height: 1.6; }
.premium-plans,
.premium-plans__grid { display: grid; gap: .8rem; }
.premium-readiness { display: grid; gap: 1rem; padding: 1.15rem; border: 1px solid rgb(245 213 139 / .28); border-radius: 1.45rem; background: linear-gradient(145deg, rgb(245 213 139 / .09), rgb(116 49 153 / .07) 58%, rgb(5 3 12 / .46)); box-shadow: 0 24px 70px rgb(0 0 0 / .24); }
.premium-readiness__heading { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: start; }
.premium-readiness__heading > span { display: grid; place-items: center; width: 2.8rem; aspect-ratio: 1; border: 1px solid rgb(245 213 139 / .28); border-radius: 50%; color: var(--gold); background: rgb(245 213 139 / .08); font-size: 1.2rem; }
.premium-readiness__heading h2 { margin: .15rem 0 .35rem; font-family: Iowan Old Style, Baskerville, serif; font-size: clamp(1.35rem, 5.6vw, 2rem); font-weight: 400; line-height: 1.08; }
.premium-readiness__heading div > p:last-child { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.premium-gates { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem; margin: 0; padding: 0; list-style: none; }
.premium-gates li { display: grid; grid-template-columns: auto 1fr; gap: .45rem; align-items: center; min-height: 2.6rem; padding: .55rem .65rem; border: 1px solid rgb(255 255 255 / .075); border-radius: .8rem; color: rgb(255 255 255 / .63); background: rgb(0 0 0 / .16); font-size: .61rem; }
.premium-gates b { color: #b9efcf; font-size: .5rem; letter-spacing: .12em; }
.premium-account-state { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: center; padding: .75rem; border: 1px solid rgb(218 174 255 / .14); border-radius: 1rem; background: rgb(137 63 171 / .055); }
.premium-account-state > span { color: var(--gold); font-size: 1.2rem; }
.premium-account-state div { display: grid; gap: .18rem; }
.premium-account-state b { font-family: Iowan Old Style, Baskerville, serif; font-size: 1rem; font-weight: 400; }
.premium-account-state small { color: var(--muted); line-height: 1.4; }
.premium-readiness__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.premium-readiness__actions button { flex: 1 1 12rem; border-color: rgb(245 213 139 / .28); background: rgb(245 213 139 / .075); }
.premium-readiness__actions button:disabled { cursor: wait; opacity: .56; }
.premium-readiness__status { margin: 0; color: rgb(255 255 255 / .65); font-size: .68rem; line-height: 1.45; }
.premium-readiness__status.is-error { color: #ffc4d0; }
.premium-readiness__release { color: rgb(255 255 255 / .38); font-size: .56rem; letter-spacing: .04em; }
.premium-card { position: relative; display: grid; align-content: start; padding: 1.15rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 1.35rem; background: rgb(255 255 255 / .025); overflow: hidden; }
.premium-card.is-featured { border-color: rgb(245 213 139 / .4); background: linear-gradient(150deg, rgb(241 194 105 / .11), rgb(137 63 171 / .06)); }
.premium-card__mark { position: absolute; top: .75rem; right: .75rem; color: var(--gold); font-size: .5rem; letter-spacing: .12em; }
.premium-card h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.7rem; font-weight: 400; }
.premium-card > p:not(.eyebrow) { min-height: 3.5rem; color: var(--muted); line-height: 1.55; }
.premium-card strong { color: var(--gold); font-family: Iowan Old Style, serif; font-size: 1.55rem; font-weight: 400; }
.premium-card strong small { color: var(--muted); font-family: inherit; font-size: .65rem; }
.premium-card ul { padding-left: 1.05rem; color: rgb(255 255 255 / .68); font-size: .75rem; line-height: 1.8; }
.premium-card button { margin-top: auto; }

body[data-route="conta"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 18%, rgb(143 179 255 / .18), transparent 34%),
    radial-gradient(circle at 12% 76%, rgb(98 77 180 / .1), transparent 30%),
    radial-gradient(circle at 88% 75%, rgb(90 174 199 / .08), transparent 34%);
}
.account-app { max-width: 48rem; }
.account-gate,
.account-home { padding: 1.2rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 1.5rem; background: linear-gradient(150deg, rgb(143 179 255 / .08), rgb(255 255 255 / .018)); box-shadow: 0 26px 70px rgb(0 0 0 / .24); }
.account-gate__sigil { display: grid; place-items: center; width: 4.6rem; height: 4.6rem; margin: 0 auto 1rem; border: 1px solid rgb(143 179 255 / .3); border-radius: 50%; color: #cbdcff; background: radial-gradient(circle, rgb(143 179 255 / .16), transparent 68%); font-size: 1.8rem; }
.account-gate > div:nth-child(2) { text-align: center; }
.account-gate h2,
.account-home h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: clamp(1.8rem, 7vw, 2.7rem); font-weight: 400; }
.account-gate > div > p:last-child { color: var(--muted); line-height: 1.6; }
.account-gate form { display: grid; gap: .8rem; margin: 1rem 0; }
.account-gate form > button { border-color: rgb(143 179 255 / .4); background: rgb(143 179 255 / .13); }
.account-gate label small { color: rgb(255 255 255 / .42); }
.account-check { grid-template-columns: auto 1fr; align-items: center; }
.account-check input { width: 1.15rem; min-height: 1.15rem; }
.account-gate nav { display: flex; justify-content: center; gap: .35rem; flex-wrap: wrap; }
.account-gate nav button { min-height: 2.35rem; border: 0; color: var(--muted); background: transparent; }
.account-gate nav button[aria-current="page"] { color: var(--gold); }
.account-status { padding: .75rem; border: 1px solid rgb(117 205 166 / .25); border-radius: .85rem; color: #c9f5dd; background: rgb(78 176 127 / .07); line-height: 1.5; text-align: center; }
.account-status.is-error { border-color: rgb(255 117 152 / .3); color: #ffd1dd; background: rgb(195 56 95 / .08); }
.account-home__welcome { display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: center; }
.account-home__welcome > span { display: grid; place-items: center; width: 4rem; height: 4rem; border: 1px solid rgb(143 179 255 / .27); border-radius: 50%; color: #cbdcff; font-size: 1.4rem; }
.account-home__welcome p:last-child { margin: .3rem 0 0; color: var(--muted); overflow-wrap: anywhere; }
.account-state { display: grid; gap: .65rem; margin: 1rem 0; }
.account-state article { display: grid; gap: .25rem; padding: .85rem; border-radius: .9rem; background: rgb(255 255 255 / .035); }
.account-state small { color: var(--gold); font-size: .55rem; letter-spacing: .13em; }
.account-state span { color: var(--muted); font-size: .7rem; line-height: 1.45; }
.account-home__actions { display: grid; gap: .55rem; }

body[data-route="loja"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 15%, rgb(240 174 111 / .17), transparent 34%),
    radial-gradient(circle at 14% 78%, rgb(142 91 68 / .09), transparent 31%),
    radial-gradient(circle at 85% 74%, rgb(189 122 210 / .07), transparent 33%);
}
.store-oracle { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: center; margin-bottom: 1rem; padding: .9rem 1rem; border: 1px solid rgb(240 174 111 / .18); border-radius: 1.1rem; background: rgb(240 174 111 / .045); }
.store-oracle > span { color: #f5c892; font-size: 1.6rem; }
.store-oracle p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.store-tools { display: grid; gap: .6rem; margin-bottom: .7rem; }
.store-categories,
.skin-collections { display: flex; gap: .45rem; overflow-x: auto; scrollbar-width: none; }
.store-categories::-webkit-scrollbar,
.skin-collections::-webkit-scrollbar { display: none; }
.store-categories button,
.skin-collections button { flex: 0 0 auto; min-height: 2.35rem; padding: .45rem .7rem; border-radius: 99px; color: var(--muted); font-size: .66rem; }
.store-categories button[aria-pressed="true"],
.skin-collections button[aria-pressed="true"] { border-color: rgb(var(--world) / .48); color: var(--ink); background: rgb(var(--world) / .12); }
#storeFavorites { justify-self: start; padding: .45rem .75rem; }
#storeFavorites[aria-pressed="true"] { border-color: rgb(255 133 183 / .4); color: #ffd1e6; }
.store-count { width: min(100%, 70rem); margin: .8rem auto; color: var(--muted); font-size: .68rem; letter-spacing: .08em; }
.store-grid { display: grid; gap: .7rem; }
.store-card { position: relative; display: grid; align-content: start; min-height: 16rem; padding: 1rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 1.2rem; background: linear-gradient(150deg, rgb(240 174 111 / .055), rgb(255 255 255 / .018)); overflow: hidden; }
.store-card__symbol { position: absolute; top: .75rem; right: .75rem; color: rgb(var(--world) / .58); font-size: 1.8rem; }
.store-card > small { color: var(--gold); font-size: .52rem; letter-spacing: .12em; }
.store-card h2 { max-width: 80%; margin: .55rem 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.35rem; font-weight: 400; }
.store-card p { margin: 0 0 1rem; color: var(--muted); font-size: .74rem; line-height: 1.6; }
.store-card > div { display: grid; grid-template-columns: auto 1fr; gap: .5rem; align-items: center; margin-top: auto; }
.store-card > div button { width: 2.8rem; padding: 0; color: #ff9dcc; font-size: 1.2rem; }
.store-card > div a { display: grid; place-items: center; min-height: 2.75rem; border: 1px solid rgb(240 174 111 / .25); border-radius: .85rem; color: var(--ink); text-decoration: none; font-size: .62rem; letter-spacing: .1em; }
.world-empty { grid-column: 1 / -1; padding: 2rem; color: var(--muted); text-align: center; }

body[data-route="musica"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 14%, rgb(189 94 255 / .2), transparent 34%),
    radial-gradient(circle at 12% 78%, rgb(69 107 212 / .11), transparent 32%),
    radial-gradient(circle at 88% 74%, rgb(238 92 169 / .09), transparent 33%);
}
.music-stage { position: relative; padding: 1rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 1.5rem; background: linear-gradient(155deg, rgb(189 94 255 / .065), rgb(255 255 255 / .015)); overflow: hidden; }
.music-pulse { position: relative; display: grid; place-items: center; width: 7rem; height: 7rem; margin: 0 auto 1rem; color: #e0b1ff; font-size: 1.8rem; }
.music-pulse i { position: absolute; inset: 8%; border: 1px solid rgb(214 158 255 / .16); border-radius: 50%; }
.music-pulse i:nth-child(2) { inset: 22%; border-style: dashed; }
.music-pulse i:nth-child(3) { inset: 36%; border-color: rgb(245 213 139 / .22); }
.music-releases { display: grid; gap: .7rem; }
.music-release { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: center; padding: 1rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 1.2rem; background: rgb(255 255 255 / .025); }
.music-release.is-active { border-color: rgb(214 158 255 / .38); background: rgb(189 94 255 / .075); }
.music-release > span { display: grid; place-items: center; width: 4rem; height: 4rem; border: 1px solid rgb(214 158 255 / .2); border-radius: 50%; color: var(--violet-bright); font-family: Iowan Old Style, serif; font-size: 1.4rem; }
.music-release small { color: var(--gold); font-size: .52rem; letter-spacing: .1em; }
.music-release h2 { margin: .25rem 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.45rem; font-weight: 400; }
.music-release p { margin: 0 0 .35rem; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.music-release b { color: rgb(255 255 255 / .72); font-size: .68rem; }
.music-release > button { grid-column: 1 / -1; }
.music-player { margin-top: .8rem; border-radius: 1.1rem; overflow: hidden; }
.music-player > p { margin: 0; padding: 1rem; color: var(--muted); text-align: center; }
.music-player > a { display: block; padding: .75rem; color: var(--gold); text-align: center; }
.music-player__top { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .75rem; background: rgb(255 255 255 / .04); }
.music-player__top p { display: grid; gap: .2rem; margin: 0; }
.music-player__top small { color: var(--gold); font-size: .5rem; letter-spacing: .1em; }
.music-player iframe { display: block; border: 0; }

body[data-route="videos"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 15%, rgb(105 163 255 / .19), transparent 34%),
    radial-gradient(circle at 14% 78%, rgb(124 74 196 / .09), transparent 31%),
    radial-gradient(circle at 86% 74%, rgb(64 179 195 / .08), transparent 32%);
}
.video-portals { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-bottom: .8rem; }
.video-portals button { display: grid; grid-template-columns: auto 1fr; gap: .1rem .55rem; align-items: center; padding: .75rem; text-align: left; }
.video-portals button[aria-selected="true"] { border-color: rgb(105 163 255 / .42); background: rgb(105 163 255 / .09); }
.video-portals button > span { grid-row: 1 / 3; color: #b7d3ff; font-size: 1.25rem; }
.video-portals b { font-size: .63rem; letter-spacing: .08em; }
.video-portals small { color: var(--muted); font-size: .56rem; }
.memoji-room,
.tarot-cinema { padding: 1rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 1.35rem; background: rgb(255 255 255 / .022); }
.memoji-room > header { display: flex; align-items: start; justify-content: space-between; gap: .8rem; }
.memoji-room h2,
.tarot-cinema h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: clamp(1.55rem, 6vw, 2.4rem); font-weight: 400; }
.memoji-room > header button { min-height: 2.3rem; }
.videos-state { color: var(--muted); font-size: .68rem; }
.memoji-gallery { display: grid; gap: .7rem; }
.memoji-card { display: grid; grid-template-columns: minmax(7.4rem, .65fr) 1fr; gap: .8rem; padding: .7rem; border: 1px solid rgb(255 255 255 / .08); border-radius: 1rem; background: rgb(255 255 255 / .025); }
.memoji-card > button { position: relative; min-height: 9rem; padding: 0; overflow: hidden; }
.memoji-card > button img { display: block; width: 100%; height: 100%; object-fit: cover; }
.memoji-card > button > i { position: absolute; inset: 0; display: grid; place-items: center; color: white; font-size: 1.5rem; font-style: normal; text-shadow: 0 2px 12px #000; }
.memoji-card__void { display: grid; place-items: center; width: 100%; height: 100%; background: radial-gradient(circle, rgb(105 163 255 / .16), transparent 65%); }
.memoji-card > div { display: grid; align-content: center; }
.memoji-card small { color: var(--gold); font-size: .52rem; letter-spacing: .1em; }
.memoji-card h2 { margin: .35rem 0; font-family: Iowan Old Style, serif; font-size: 1.25rem; font-weight: 400; }
.memoji-card p { margin: 0 0 .6rem; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.memoji-player { margin-bottom: .8rem; }
.memoji-player article { padding: .7rem; border: 1px solid rgb(105 163 255 / .22); border-radius: 1rem; background: #05030a; }
.memoji-player header { display: flex; justify-content: space-between; gap: .8rem; margin-bottom: .6rem; }
.memoji-player header h2 { margin: .2rem 0 0; }
.memoji-player video { display: block; width: 100%; max-height: 70dvh; border-radius: .75rem; background: #000; }
.memoji-player article > p { color: var(--muted); font-size: .7rem; line-height: 1.5; }
.videos-empty,
.tarot-cinema { display: grid; justify-items: center; padding: 2rem 1rem; text-align: center; }
.videos-empty > span,
.tarot-cinema > span { color: #b7d3ff; font-size: 2rem; }
.videos-empty p,
.tarot-cinema p { max-width: 34rem; color: var(--muted); line-height: 1.6; }
.videos-empty a,
.tarot-cinema a { padding: .75rem 1rem; border: 1px solid rgb(105 163 255 / .25); border-radius: 99px; color: var(--ink); text-decoration: none; font-size: .63rem; letter-spacing: .1em; }

body[data-route="skins"] .cosmos__veil {
  background:
    radial-gradient(circle at 50% 14%, rgb(109 216 205 / .17), transparent 34%),
    radial-gradient(circle at 13% 78%, rgb(137 76 195 / .09), transparent 31%),
    radial-gradient(circle at 87% 72%, rgb(77 145 190 / .09), transparent 34%);
}
.skins-current { display: grid; grid-template-columns: minmax(7rem, 10rem) 1fr; gap: 1rem; align-items: center; margin-bottom: 1rem; padding: 1rem; border: 1px solid rgb(255 255 255 / .1); border-radius: 1.4rem; background: linear-gradient(150deg, color-mix(in srgb, var(--skin-accent, #6dd8cd) 10%, transparent), rgb(255 255 255 / .018)); }
.skins-current__orb { position: relative; }
.skins-current__orb::before { content: ""; position: absolute; inset: 3%; border-radius: 50%; background: var(--skin-accent, #6dd8cd); opacity: .18; filter: blur(18px); }
.skins-current__orb img { position: relative; display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.skins-current h2 { margin: 0; font-family: Iowan Old Style, Baskerville, serif; font-size: clamp(1.55rem, 6vw, 2.35rem); font-weight: 400; }
.skins-current p:not(.eyebrow) { color: var(--muted); line-height: 1.55; }
.skins-tools { display: grid; gap: .6rem; margin-bottom: .8rem; }
.skins-grid { display: grid; gap: .7rem; }
.skin-card { display: grid; grid-template-columns: 6.2rem 1fr; gap: .7rem; align-items: center; padding: .7rem; border: 1px solid rgb(255 255 255 / .09); border-radius: 1rem; background: linear-gradient(145deg, color-mix(in srgb, var(--card-accent) 7%, transparent), rgb(255 255 255 / .018)); }
.skin-card.is-active { border-color: color-mix(in srgb, var(--card-accent) 65%, white 15%); box-shadow: inset 0 0 20px color-mix(in srgb, var(--card-accent) 8%, transparent); }
.skin-card__preview { position: relative; width: 6.2rem; height: 6.2rem; padding: 0; border: 0 !important; border-radius: 50% !important; background: transparent !important; }
.skin-card__preview img { display: block; width: 100%; height: 100%; object-fit: contain; }
.skin-card__preview span { position: absolute; left: .2rem; right: .2rem; bottom: -.15rem; padding: .25rem; border-radius: 99px; color: var(--gold); background: #09040e; font-size: .48rem; letter-spacing: .09em; }
.skin-card > div { min-width: 0; }
.skin-card small { color: var(--gold); font-size: .5rem; letter-spacing: .1em; }
.skin-card h2 { margin: .28rem 0; font-family: Iowan Old Style, Baskerville, serif; font-size: 1.25rem; font-weight: 400; }
.skin-card p { margin: 0; color: var(--muted); font-size: .68rem; }
.skin-card > button:last-child { grid-column: 1 / -1; }
.skin-card > button:disabled { opacity: .5; }
.skins-premium-passage { display: grid; gap: .7rem; margin-top: .8rem; padding: 1rem; border: 1px solid rgb(245 213 139 / .17); border-radius: 1.1rem; background: rgb(245 213 139 / .035); }
.skins-premium-passage p { display: grid; grid-template-columns: auto 1fr; gap: .25rem .65rem; margin: 0; }
.skins-premium-passage p > span { grid-row: 1 / 3; color: var(--gold); font-size: 1.5rem; }
.skins-premium-passage small { color: var(--muted); line-height: 1.45; }

html[data-skin]:not([data-skin="classic"]) .orb__aura {
  background: radial-gradient(circle, color-mix(in srgb, var(--skin-accent) 38%, transparent) 0%, rgb(var(--world) / .1) 48%, transparent 70%);
}

@media (min-width: 640px) {
  .consultation-preference { grid-template-columns: 1fr 1fr; }
  .premium-plans__grid { grid-template-columns: repeat(3, 1fr); }
  .premium-gates { grid-template-columns: repeat(4, 1fr); }
  .store-tools { grid-template-columns: minmax(15rem, 1fr) auto; align-items: center; }
  .store-tools label { grid-column: 1 / -1; }
  .store-grid { grid-template-columns: repeat(2, 1fr); }
  .music-releases { grid-template-columns: 1fr 1fr; }
  .skins-tools { grid-template-columns: minmax(15rem, .75fr) 1.25fr; align-items: center; }
  .skins-grid { grid-template-columns: repeat(2, 1fr); }
  .account-state { grid-template-columns: repeat(3, 1fr); }
  .account-home__actions { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 900px) {
  .consultation-sanctuary { grid-template-columns: 1fr auto; }
  .consultation-services { grid-template-columns: repeat(4, 1fr); }
  .store-grid { grid-template-columns: repeat(3, 1fr); }
  .skins-grid { grid-template-columns: repeat(3, 1fr); }
  .skin-card { grid-template-columns: 1fr; align-content: start; text-align: center; }
  .skin-card__preview { width: min(100%, 9rem); height: auto; aspect-ratio: 1; margin-inline: auto; }
}

@media (max-width: 430px) {
  .video-portals button { grid-template-columns: 1fr; text-align: center; }
  .video-portals button > span { grid-row: auto; }
  .memoji-card { grid-template-columns: 1fr; }
  .memoji-card > button { min-height: 12rem; }
  .skins-current { grid-template-columns: 6.5rem 1fr; }
  .skin-card { grid-template-columns: 5.2rem 1fr; }
  .skin-card__preview { width: 5.2rem; height: 5.2rem; }
}

.journey {
  position: fixed;
  z-index: 40;
  inset: 0;
  min-height: 100dvh;
  padding: var(--safe-top) max(18px, env(safe-area-inset-right)) var(--safe-bottom) max(18px, env(safe-area-inset-left));
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 52%, rgb(93 38 139 / .18), transparent 29rem),
    rgb(5 2 8 / .95);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  animation: veil-in 430ms var(--ease) both;
}

.journey__topline {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  max-width: var(--measure);
  margin: 0 auto;
  padding-top: .7rem;
}

.journey h2 { max-width: 15rem; font-size: clamp(1.55rem, 6.4vw, 2.55rem); line-height: 1; }

.journey__close,
.card-dialog__close {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border: 1px solid rgb(255 255 255 / .14);
  border-radius: 50%;
  color: var(--ink);
  background: rgb(255 255 255 / .04);
  font-size: 1.5rem;
}

.pentagram {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(92vw, 31rem);
  aspect-ratio: 1;
  transform: translate(-50%, -49%);
}

.pentagram__lines { position: absolute; inset: 7%; width: 86%; height: 86%; overflow: visible; }
.pentagram__lines path,
.pentagram__lines circle {
  fill: none;
  stroke: rgb(213 165 255 / .19);
  stroke-width: .55;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 5px rgb(177 96 255 / .2));
}

.pentagram__lines circle:first-child { stroke-dasharray: 1.5 3; }

.path-node {
  position: absolute;
  z-index: 4;
  display: grid;
  justify-items: center;
  gap: .16rem;
  width: 5.25rem;
  padding: .5rem .25rem;
  border: 0;
  color: var(--muted);
  background: transparent;
  transform: translate(-50%, -50%);
}

.path-node span { display: grid; place-items: center; width: 2.15rem; height: 2.15rem; border: 1px solid rgb(255 255 255 / .15); border-radius: 50%; color: var(--violet-bright); background: #0b0611; transition: transform 300ms var(--ease), border-color 300ms, box-shadow 300ms; }
.path-node b { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; }
.path-node[aria-expanded="true"] { color: var(--ink); }
.path-node[aria-expanded="true"] span { transform: scale(1.12); border-color: rgb(245 213 139 / .7); color: var(--gold); box-shadow: 0 0 22px rgb(196 113 255 / .27); }

.path-node--home { top: 5%; left: 50%; }
.path-node--oracles { top: 38%; left: 94%; }
.path-node--wisdom { top: 92%; left: 77%; }
.path-node--creations { top: 92%; left: 23%; }
.path-node--encounter { top: 38%; left: 6%; }

.constellation { position: absolute; z-index: 5; inset: 25%; pointer-events: none; }

.destination {
  --x: 50%;
  --y: 50%;
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 6.3rem;
  min-height: 2.85rem;
  padding: .55rem .65rem;
  border: 1px solid rgb(255 255 255 / .16);
  border-radius: 999px;
  color: var(--ink);
  background: rgb(12 6 19 / .88);
  box-shadow: 0 12px 30px rgb(0 0 0 / .32), 0 0 18px rgb(var(--world) / .12);
  transform: translate(-50%, -50%) scale(.7);
  opacity: 0;
  pointer-events: auto;
  font-size: .63rem;
  letter-spacing: .07em;
  line-height: 1.18;
  animation: destination-in 420ms var(--ease) forwards;
}

.destination[aria-current="page"] { border-color: rgb(245 213 139 / .7); color: var(--gold); }
.destination:active { transform: translate(-50%, -50%) scale(.94); }

.journey__hint {
  position: absolute;
  z-index: 3;
  left: 18px;
  right: 18px;
  bottom: calc(10px + var(--safe-bottom));
  margin: 0;
  color: rgb(255 255 255 / .54);
  font-size: .62rem;
  letter-spacing: .12em;
  line-height: 1.5;
  text-align: center;
  text-transform: uppercase;
}

.card-dialog {
  width: min(92vw, 28rem);
  max-height: 92dvh;
  overflow-y: auto;
  padding: 1rem;
  border: 1px solid rgb(255 255 255 / .15);
  border-radius: 1.6rem;
  color: var(--ink);
  background: #0b0611;
  box-shadow: 0 30px 100px rgb(0 0 0 / .7);
}

.card-dialog::backdrop { background: rgb(3 1 5 / .82); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.card-dialog > img { display: block; width: min(58vw, 14rem); height: auto; margin: .5rem auto 1rem; border-radius: .9rem; }
.card-dialog > div { text-align: center; }
.card-dialog h2 { font-size: 2rem; }
.card-dialog > div > h2 + p { color: var(--muted); font-size: .82rem; }
.card-dialog__reference {
  margin: .75rem 0 0;
  color: rgb(255 255 255 / .7);
  font-size: .8rem;
  line-height: 1.58;
}
.card-dialog__reference[hidden] { display: none; }
.card-dialog > div > .card-dialog__oracle {
  margin: .8rem 0 0;
  padding: .8rem;
  border: 1px solid rgb(218 174 255 / .18);
  border-radius: .85rem;
  color: rgb(255 255 255 / .82);
  background: rgb(var(--world) / .07);
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-size: .88rem;
  line-height: 1.6;
}
.card-dialog > div > .arbitrio-invoke { margin-top: .9rem; }
.card-dialog > div > .arbitrio-disclaimer { margin-top: .45rem; }
.card-dialog__arbitrio {
  margin-top: .85rem;
  padding: .9rem;
  border: 1px solid rgb(218 174 255 / .18);
  border-radius: .95rem;
  background:
    radial-gradient(circle at 18% 0%, rgb(var(--world) / .12), transparent 42%),
    rgb(7 3 12 / .46);
  overflow-wrap: anywhere;
  text-align: left;
  animation: oracle-voice-arrival 520ms var(--ease) both;
}
.card-dialog__arbitrio[hidden] { display: none; }
.card-dialog__arbitrio .card-dialog__oracle {
  margin: .75rem 0 0;
  padding: 0;
  border: 0;
  color: rgb(255 255 255 / .82);
  background: transparent;
  font-family: Iowan Old Style, Baskerville, "Times New Roman", serif;
  font-size: .88rem;
  line-height: 1.62;
  white-space: pre-line;
}
.card-dialog__oracle[hidden] { display: none !important; }
.card-dialog__public {
  display: inline-flex;
  justify-content: center;
  margin-top: 1rem;
  padding: .72rem 1rem;
  border: 1px solid rgb(var(--world) / .42);
  border-radius: 999px;
  color: var(--ink);
  text-decoration: none;
  font-size: .78rem;
  letter-spacing: .06em;
}
.card-dialog__public[hidden] { display: none; }
.card-dialog__close { position: absolute; top: .7rem; right: .7rem; }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (min-width: 760px) {
  .world { padding-left: 36px; padding-right: 36px; }
  .tarot-layout { grid-template-columns: minmax(20rem, 1.12fr) minmax(17rem, .88fr); align-items: stretch; }
  .tarot-ledger { align-self: center; padding: 1.5rem; }
  .card-chamber { min-height: 37rem; }
  .current-card { width: 15rem; }
  .daily-layout { grid-template-columns: minmax(20rem, 1.08fr) minmax(17rem, .92fr); align-items: center; }
  .daily-message { padding: 1.8rem; }
  .school-layout { grid-template-columns: minmax(17rem, .72fr) minmax(26rem, 1.28fr); align-items: start; }
  .school-map { position: sticky; top: calc(74px + var(--safe-top)); }
  .school-modules { grid-template-columns: 1fr; }
  .journal-layout { grid-template-columns: minmax(22rem, 1fr) minmax(22rem, 1fr); align-items: start; }
  .journal-editor { position: sticky; top: calc(74px + var(--safe-top)); }
  .tarot-actions { grid-template-columns: 1fr 1fr; }
  body:not([data-route="home"]):not([data-menu="open"]) .orb { left: auto; right: max(26px, env(safe-area-inset-right)); margin-left: 0; }
  body:not([data-route="home"]):not([data-menu="open"]) .orb-cue { left: auto; right: max(15px, env(safe-area-inset-right)); width: 8rem; transform: none; }
}

@media (max-width: 520px) {
  .spread-footer { align-items: stretch; flex-direction: column; }
  .spread-footer button { width: 100%; }
  .journal-fields,
  .journal-actions { grid-template-columns: 1fr; }
  .library-item--guide { grid-column: span 1; }
}

@media (max-height: 700px) {
  .home-copy { top: 8%; }
  .home-copy h1 { font-size: clamp(2rem, 8.7vw, 3.4rem); }
  .orb { --orb-size: clamp(124px, 36vw, 166px); top: 55%; }
  .orb-cue { top: calc(55% + 84px); }
  .pentagram { width: min(76vh, 92vw); transform: translate(-50%, -46%); }
  .journey__topline .eyebrow { margin-bottom: .25rem; }
  .journey h2 { font-size: 1.45rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@keyframes orb-breathe {
  0%, 100% { filter: drop-shadow(0 0 11px rgb(var(--world) / .22)); }
  50% { filter: drop-shadow(0 0 25px rgb(var(--world) / .4)); }
}

@keyframes aura-breathe {
  0%, 100% { opacity: .62; transform: scale(.94); }
  50% { opacity: 1; transform: scale(1.06); }
}

@keyframes touch-answer {
  from { opacity: .75; transform: scale(.86); }
  to { opacity: 0; transform: scale(1.28); }
}

@keyframes orb-answer {
  0% { transform: scale(1); }
  36% { transform: scale(.93); }
  70% { transform: scale(1.055); }
  100% { transform: scale(1); }
}

@keyframes world-arrival {
  from { opacity: 0; transform: translateY(13px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes veil-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes destination-in {
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

/* DIVINA BRUXA 3.0.1 — recuperação da essência viva
   Uma única Orbe física, um único universo e nenhuma informação visual na Home. */

html[data-living-universe="v524"] body .cosmos {
  opacity: 0;
  visibility: hidden;
}

body[data-route="home"] {
  height: 100lvh;
  min-height: 100svh;
  overflow: hidden;
  overscroll-behavior: none;
}

body[data-route="home"] .home-world {
  position: fixed;
  inset: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

body[data-route="home"] .journey-trigger {
  visibility: visible;
  pointer-events: auto;
  width: 2.85rem;
  height: 2.85rem;
  justify-content: center;
  padding: 0;
  border-color: rgb(255 255 255 / .2);
  background: rgb(8 3 13 / .44);
  opacity: 1;
  transform: translateY(0);
  box-shadow: 0 0 24px rgb(var(--world) / .14), inset 0 0 18px rgb(255 255 255 / .035);
}

body[data-route="home"] .wordmark {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 390px) {
  .journey-bar {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .wordmark { gap: .42rem; }
  .wordmark__orb { width: 2.18rem; height: 2.18rem; }
  .wordmark__copy b { font-size: .76rem; letter-spacing: .13em; }
  .wordmark__copy small { font-size: .39rem; letter-spacing: .19em; }
}

body[data-route="home"] .journey-trigger > span:last-child {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

body[data-route="home"] .journey-trigger__sigil {
  font-size: 1.22rem;
  filter: drop-shadow(0 0 8px rgb(202 130 255 / .48));
}

.orb {
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  overflow: visible;
  animation: none;
  will-change: top, left, bottom, width, height, margin, transform;
  transition:
    top 560ms cubic-bezier(.22,.78,.21,1),
    left 560ms cubic-bezier(.22,.78,.21,1),
    width 560ms cubic-bezier(.22,.78,.21,1),
    height 560ms cubic-bezier(.22,.78,.21,1),
    margin 560ms cubic-bezier(.22,.78,.21,1),
    transform 180ms cubic-bezier(.22,.78,.21,1),
    filter 280ms ease;
}

body[data-route="home"] .orb {
  --orb-size: min(88vw, 47dvh, 470px);
  left: 50%;
  top: 50%;
  bottom: auto;
  margin: calc(var(--orb-size) / -2) 0 0 calc(var(--orb-size) / -2);
  filter: drop-shadow(0 0 24px rgb(var(--world) / .32));
}

.orb img,
.orb canvas,
.orb__glass {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  clip-path: circle(49.9% at 50% 50%);
}

.orb img {
  z-index: 1;
  object-fit: cover;
  opacity: 1;
  transition: opacity 260ms ease;
}

.orb canvas {
  z-index: 2;
  background: transparent;
  opacity: 0;
  transition: opacity 360ms ease;
}

.orb.orb-live canvas { opacity: 1; }
.orb.orb-live img { opacity: 0; }
.orb.webgl-fallback canvas { display: none; }
.orb.webgl-fallback img { opacity: 1; }

.orb__glass {
  z-index: 3;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 30% 18%, rgb(255 255 255 / .17), transparent 27%),
    radial-gradient(circle at 50% 112%, rgb(var(--world) / .13), transparent 51%);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08), inset 0 -18px 34px rgb(16 2 28 / .2);
}

.orb__wake {
  inset: -5%;
  border-color: rgb(225 181 255 / .26);
  box-shadow: 0 0 34px rgb(var(--world) / .28), inset 0 0 26px rgb(255 255 255 / .075);
}

.orb__aura { animation: aura-breathe 6.8s ease-in-out infinite; }
.orb:active { transform: none; }
.orb.is-touching .orb__aura { opacity: 1; filter: blur(16px); }
.orb.is-touching .orb__wake { border-color: rgb(245 213 139 / .46); }
.orb.is-answering { animation: none; }

body:not([data-route="home"]):not([data-menu="open"]) .orb {
  --orb-size: 88px;
  left: 50%;
  top: calc(100dvh - var(--safe-bottom) - 50px);
  right: auto;
  bottom: auto;
  margin: calc(var(--orb-size) / -2) 0 0 calc(var(--orb-size) / -2);
}

body[data-menu="open"] .orb {
  --orb-size: min(31vw, 144px);
  left: 50%;
  top: 50%;
  bottom: auto;
  margin: calc(var(--orb-size) / -2) 0 0 calc(var(--orb-size) / -2);
  filter: drop-shadow(0 0 22px rgb(var(--world) / .3));
}

body[data-travel="active"] .orb {
  filter: drop-shadow(0 0 30px rgb(var(--world) / .4));
}

.journey {
  background:
    radial-gradient(circle at 50% 52%, rgb(var(--world) / .18), transparent 31rem),
    rgb(3 1 7 / .66);
  -webkit-backdrop-filter: blur(8px) saturate(1.08);
  backdrop-filter: blur(8px) saturate(1.08);
}

.journey[data-closing="true"] {
  pointer-events: none;
  animation: veil-out 260ms cubic-bezier(.4,0,1,1) both;
}

.journey__actions {
  display: flex;
  align-items: center;
  gap: .55rem;
}

.journey__home {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 2.65rem;
  padding: .45rem .72rem;
  border: 1px solid rgb(245 213 139 / .28);
  border-radius: 999px;
  color: var(--ink);
  background: rgb(13 6 20 / .58);
}

.journey__home span { color: var(--gold); font-size: 1rem; }
.journey__home b { font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }

.pentagram__lines {
  filter: drop-shadow(0 0 9px rgb(177 96 255 / .21));
  animation: pentagram-breathe 6.4s ease-in-out infinite;
}

.constellation { inset: 14%; }
.destination { width: 5rem; min-height: 2.55rem; padding: .45rem .5rem; font-size: .57rem; }
.path-node { width: 4.65rem; }

@media (max-width: 430px) and (orientation: portrait) {
  body[data-route="home"] .orb { --orb-size: min(88vw, 45dvh, 420px); }
  .journey h2 { max-width: 12.5rem; font-size: 1.38rem; }
  .journey__home b { display: none; }
  .journey__home { width: 2.65rem; justify-content: center; padding: 0; }
}

@media (orientation: landscape) and (max-height: 560px) {
  body[data-route="home"] .orb { --orb-size: min(62dvh, 38vw, 340px); }
  .pentagram { width: min(78vh, 72vw); }
}

@keyframes veil-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes pentagram-breathe {
  0%, 100% { opacity: .72; transform: scale(.992); transform-origin: 50% 50%; }
  50% { opacity: 1; transform: scale(1.008); transform-origin: 50% 50%; }
}

/* DIVINA BRUXA 3.0.2 — Menu Limpo
   A Orbe permanece viva, mas não encobre os portais e não recebe anéis. */

body[data-menu="open"] .orb,
body[data-menu="closing"] .orb {
  --orb-size: clamp(96px, 27vw, 124px);
  top: clamp(12.5rem, 30dvh, 15.5rem);
  left: 50%;
  bottom: auto;
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  margin: calc(var(--orb-size) / -2) 0 0 calc(var(--orb-size) / -2) !important;
  filter: drop-shadow(0 0 24px rgb(var(--world) / .34));
  transform: none;
}

body[data-menu="open"] .orb__wake,
body[data-menu="open"] .orb__touch,
body[data-menu="closing"] .orb__wake,
body[data-menu="closing"] .orb__touch {
  border: 0;
  box-shadow: none;
  opacity: 0;
  animation: none;
}

body[data-menu="open"] .orb__aura,
body[data-menu="closing"] .orb__aura {
  inset: -22%;
  opacity: .7;
  background: radial-gradient(circle, rgb(var(--world) / .25), transparent 68%);
  filter: blur(18px);
}

.living-map {
  position: absolute;
  z-index: 4;
  top: clamp(18rem, 41dvh, 21.5rem);
  left: 50%;
  width: min(calc(100vw - 30px), 31rem);
  transform: translateX(-50%);
}

.path-constellation {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .42rem;
  padding: .32rem;
  border: 1px solid rgb(255 255 255 / .075);
  border-radius: 1.35rem;
  background: rgb(8 3 13 / .34);
  box-shadow: 0 16px 40px rgb(0 0 0 / .16), inset 0 1px rgb(255 255 255 / .025);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.path-constellation .path-node {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  min-width: 0;
  min-height: 3.5rem;
  padding: .42rem .12rem;
  gap: .24rem;
  border-radius: 1rem;
  color: rgb(255 255 255 / .58);
  transform: none;
  transition: color 260ms ease, background 260ms ease, box-shadow 260ms ease, transform 180ms ease;
}

.path-constellation .path-node span {
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  color: var(--violet-bright);
  background: transparent;
  font-size: 1rem;
  filter: drop-shadow(0 0 8px rgb(var(--world) / .32));
}

.path-constellation .path-node b {
  max-width: 100%;
  overflow: hidden;
  font-size: clamp(.46rem, 1.8vw, .58rem);
  letter-spacing: .08em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.path-constellation .path-node[aria-expanded="true"] {
  color: var(--ink);
  background: linear-gradient(145deg, rgb(var(--world) / .18), rgb(255 255 255 / .035));
  box-shadow: inset 0 0 0 1px rgb(245 213 139 / .18), 0 0 20px rgb(var(--world) / .1);
}

.path-constellation .path-node[aria-expanded="true"] span {
  color: var(--gold);
  transform: scale(1.08);
  border: 0;
  box-shadow: none;
}

.path-constellation .path-node:active { transform: scale(.96); }

.living-map .constellation {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .62rem;
  margin-top: .8rem;
  pointer-events: auto;
}

.living-map .destination {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  min-height: 3.35rem;
  padding: .7rem .78rem;
  border-color: rgb(255 255 255 / .11);
  border-radius: 1.05rem;
  background:
    linear-gradient(145deg, rgb(var(--world) / .12), transparent 62%),
    rgb(11 5 18 / .68);
  box-shadow: 0 12px 28px rgb(0 0 0 / .18), inset 0 1px rgb(255 255 255 / .035);
  transform: translateY(10px) scale(.97);
  font-size: .64rem;
  letter-spacing: .085em;
  animation: living-portal-in 420ms cubic-bezier(.22,.78,.21,1) forwards;
}

.living-map .destination:active { transform: scale(.97); }

.journey__hint {
  bottom: calc(12px + var(--safe-bottom));
  font-size: .56rem;
  letter-spacing: .1em;
}

@media (max-height: 720px) and (orientation: portrait) {
  body[data-menu="open"] .orb,
  body[data-menu="closing"] .orb {
    --orb-size: clamp(82px, 23vw, 102px);
    top: clamp(10.8rem, 28dvh, 12.4rem);
  }

  .living-map { top: clamp(15.2rem, 39dvh, 17.6rem); }
  .path-constellation .path-node { min-height: 3.05rem; }
  .living-map .destination { min-height: 2.85rem; padding-block: .52rem; }
}

@keyframes living-portal-in {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* WORK13 — FECHAMENTO SUPREMO DO MENU
   Cinco intenções, uma única Orbe e uma travessia sem salto de layout. */

body[data-menu="opening"] { overflow: hidden; }

body[data-menu="opening"] .journey-bar,
body[data-menu="closing"] .journey-bar { visibility: hidden; }

body[data-menu="opening"] .orb,
body[data-menu="open"] .orb,
body[data-menu="closing"] .orb {
  --orb-size: clamp(92px, 25vw, 116px);
  top: clamp(17.8rem, 40dvh, 21.2rem);
  left: 50%;
  bottom: auto;
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  margin: calc(var(--orb-size) / -2) 0 0 calc(var(--orb-size) / -2) !important;
  transform: none;
  filter: drop-shadow(0 0 25px rgb(var(--world) / .36));
}

body[data-menu="opening"] .orb__wake,
body[data-menu="open"] .orb__wake,
body[data-menu="closing"] .orb__wake,
body[data-menu="opening"] .orb__touch,
body[data-menu="open"] .orb__touch,
body[data-menu="closing"] .orb__touch {
  border: 0;
  box-shadow: none;
  opacity: 0;
  animation: none;
}

body[data-menu="opening"] .orb__aura,
body[data-menu="open"] .orb__aura,
body[data-menu="closing"] .orb__aura {
  inset: -24%;
  opacity: .76;
  background: radial-gradient(circle, rgb(var(--world) / .28), transparent 68%);
  filter: blur(18px);
}

.living-map {
  position: absolute;
  z-index: 4;
  top: clamp(10.5rem, 22dvh, 12rem);
  left: 50%;
  width: min(78vw, 19rem);
  aspect-ratio: 1;
  transform: translateX(-50%);
  isolation: isolate;
}

.living-pentagram {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  transform-origin: 50% 50%;
  animation: work13-pentagram-birth 680ms cubic-bezier(.2,.78,.2,1) both;
}

.living-pentagram path {
  fill: none;
  stroke: rgb(214 171 255 / .32);
  stroke-width: .5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 330;
  stroke-dashoffset: 330;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 7px rgb(var(--world) / .24));
  animation: work13-pentagram-draw 760ms 90ms cubic-bezier(.2,.78,.2,1) forwards;
}

.path-constellation {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.path-constellation .path-node {
  position: absolute;
  top: var(--point-y);
  left: var(--point-x);
  display: grid;
  justify-items: center;
  width: 5.35rem;
  min-width: 0;
  min-height: 3.2rem;
  padding: .35rem .18rem;
  gap: .2rem;
  border: 0;
  border-radius: 1.2rem;
  color: rgb(255 255 255 / .7);
  background: transparent;
  box-shadow: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.72);
  transition: opacity 360ms ease, transform 420ms cubic-bezier(.2,.78,.2,1), color 280ms ease, filter 280ms ease;
  animation: work13-point-birth 460ms var(--point-delay, 180ms) cubic-bezier(.2,.78,.2,1) forwards;
}

.path-node--tarot { --point-x: 50%; --point-y: 7%; --point-delay: 150ms; }
.path-node--learn { --point-x: 95%; --point-y: 39%; --point-delay: 205ms; }
.path-node--inner { --point-x: 79%; --point-y: 92%; --point-delay: 260ms; }
.path-node--universes { --point-x: 21%; --point-y: 92%; --point-delay: 315ms; }
.path-node--encounter { --point-x: 5%; --point-y: 39%; --point-delay: 370ms; }

.path-constellation .path-node span {
  display: block;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  color: var(--violet-bright);
  background: transparent;
  box-shadow: none;
  font-size: 1.05rem;
  line-height: 1;
  filter: drop-shadow(0 0 8px rgb(var(--world) / .42));
  transition: color 280ms ease, transform 360ms cubic-bezier(.2,.78,.2,1), filter 280ms ease;
}

.path-constellation .path-node b {
  max-width: 100%;
  overflow: hidden;
  font-size: clamp(.48rem, 1.95vw, .59rem);
  letter-spacing: .1em;
  line-height: 1.1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.living-map[data-intention]:not([data-intention=""]) .path-node:not([aria-expanded="true"]) {
  color: rgb(255 255 255 / .3);
  opacity: .3;
  transform: translate(-50%, -50%) scale(.78);
  filter: saturate(.55);
}

.path-constellation .path-node[aria-expanded="true"] {
  color: var(--ink);
  background: radial-gradient(circle, rgb(var(--world) / .18), transparent 72%);
  box-shadow: none;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.08);
}

.path-constellation .path-node[aria-expanded="true"] span {
  color: var(--gold);
  transform: scale(1.14);
  filter: drop-shadow(0 0 11px rgb(245 213 139 / .46));
}

.path-constellation .path-node[aria-current="step"]:not([aria-expanded="true"]) span {
  color: rgb(245 213 139 / .72);
}

.living-map .constellation {
  position: absolute;
  z-index: 6;
  top: calc(100% + .55rem);
  left: 50%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  width: min(90vw, 21rem);
  margin: 0;
  transform: translateX(-50%);
  pointer-events: auto;
}

.living-map .constellation:empty { display: none; }

.living-map .destination {
  position: relative;
  left: auto;
  top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  width: 100%;
  min-height: 2.85rem;
  padding: .56rem .66rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: 999px;
  color: var(--ink);
  background:
    radial-gradient(circle at 22% 18%, rgb(255 255 255 / .08), transparent 42%),
    rgb(11 5 18 / .72);
  box-shadow: 0 10px 24px rgb(0 0 0 / .2), 0 0 16px rgb(var(--world) / .08);
  opacity: 0;
  transform: translateY(-8px) scale(.84);
  animation: work13-bubble-birth 460ms cubic-bezier(.2,.78,.2,1) forwards;
}

.living-map .destination span {
  color: var(--violet-bright);
  font-size: .86rem;
  filter: drop-shadow(0 0 7px rgb(var(--world) / .34));
}

.living-map .destination b {
  font-size: .56rem;
  letter-spacing: .075em;
  line-height: 1.15;
  text-transform: uppercase;
}

.living-map .destination--utility {
  min-height: 2.55rem;
  color: rgb(255 255 255 / .72);
  background: rgb(11 5 18 / .48);
  box-shadow: 0 8px 18px rgb(0 0 0 / .14);
}

.living-map .constellation[data-count="1"] .destination {
  grid-column: 1 / -1;
  justify-self: center;
  width: min(11rem, 100%);
}

.living-map .destination:active { transform: scale(.96); }

.journey__hint {
  bottom: calc(11px + var(--safe-bottom));
  font-size: .55rem;
  letter-spacing: .11em;
}

@media (max-height: 720px) and (orientation: portrait) {
  body[data-menu="opening"] .orb,
  body[data-menu="open"] .orb,
  body[data-menu="closing"] .orb {
    --orb-size: clamp(78px, 22vw, 96px);
    top: clamp(15.8rem, 41dvh, 17.2rem);
  }

  .living-map {
    top: clamp(8.6rem, 21dvh, 9.6rem);
    width: min(70vw, 16.4rem);
  }

  .path-constellation .path-node { width: 4.7rem; min-height: 2.7rem; }
  .living-map .constellation { top: calc(100% + .35rem); gap: .4rem; }
  .living-map .destination { min-height: 2.45rem; padding-block: .42rem; }
}

@media (orientation: landscape) and (max-height: 560px) {
  body[data-menu="opening"] .orb,
  body[data-menu="open"] .orb,
  body[data-menu="closing"] .orb {
    --orb-size: min(22dvh, 90px);
    top: 50%;
    left: 38%;
  }

  .living-map {
    top: 50%;
    left: 38%;
    width: min(64dvh, 17rem);
    transform: translate(-50%, -50%);
  }

  .living-map .constellation {
    top: 50%;
    left: calc(100% + 7rem);
    width: min(42vw, 19rem);
    transform: translate(-50%, -50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .living-pentagram,
  .living-pentagram path,
  .path-constellation .path-node,
  .living-map .destination {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
  }
}

@keyframes work13-pentagram-birth {
  from { opacity: 0; transform: scale(.66) rotate(-3deg); }
  to { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes work13-pentagram-draw {
  to { stroke-dashoffset: 0; }
}

@keyframes work13-point-birth {
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes work13-bubble-birth {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* WORK13 — FLUIDEZ CONTÍNUA DO MENU
   O canvas não muda de tamanho durante a travessia: nenhuma tela preta,
   nenhum quadro vazio e nenhuma segunda Orbe. */

.orb {
  margin: 0 !important;
  transform-origin: 50% 50%;
  will-change: top, left, transform, filter;
  transition:
    top 720ms cubic-bezier(.2,.78,.2,1),
    left 720ms cubic-bezier(.2,.78,.2,1),
    transform 720ms cubic-bezier(.2,.78,.2,1),
    filter 420ms ease !important;
}

.orb__wake,
.orb__touch,
.orb__aura {
  display: none !important;
}

.orb__glass {
  box-shadow: inset 0 -18px 34px rgb(16 2 28 / .18);
}

body[data-route="home"] .orb {
  --orb-size: min(88vw, 45dvh, 420px);
  left: 50%;
  top: 50%;
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  transform: translate(-50%, -50%) scale(1);
}

body[data-route="home"][data-menu="opening"] .orb,
body[data-route="home"][data-menu="open"] .orb {
  top: clamp(17.8rem, 40dvh, 21.2rem);
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  transform: translate(-50%, -50%) scale(.29);
}

body[data-route="home"][data-menu="closing"] .orb {
  left: 50%;
  top: 50%;
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  transform: translate(-50%, -50%) scale(1);
}

body:not([data-route="home"]) .orb {
  --orb-size: 88px;
  left: 50%;
  top: calc(100dvh - var(--safe-bottom) - 50px);
  right: auto;
  bottom: auto;
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  transform: translate(-50%, -50%) scale(1);
}

body:not([data-route="home"])[data-menu="opening"] .orb,
body:not([data-route="home"])[data-menu="open"] .orb {
  left: 50%;
  top: clamp(17.8rem, 40dvh, 21.2rem);
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  transform: translate(-50%, -50%) scale(1.18);
}

body:not([data-route="home"])[data-menu="closing"] .orb {
  left: 50%;
  top: calc(100dvh - var(--safe-bottom) - 50px);
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  transform: translate(-50%, -50%) scale(1);
}

.journey {
  background:
    radial-gradient(circle at 50% 42%, rgb(var(--world) / .11), transparent 26rem),
    rgb(7 2 13 / .3);
  -webkit-backdrop-filter: blur(4px) saturate(1.04);
  backdrop-filter: blur(4px) saturate(1.04);
  animation: work13-veil-continuous-in 700ms cubic-bezier(.2,.78,.2,1) both;
}

.journey[data-closing="true"] {
  pointer-events: none;
  animation: work13-veil-continuous-out 700ms cubic-bezier(.4,0,.2,1) both;
}

.living-pentagram path {
  stroke: rgb(225 190 255 / .58);
  stroke-width: .72;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: drop-shadow(0 0 8px rgb(var(--world) / .34));
  animation: work13-pentagram-complete 760ms 100ms cubic-bezier(.2,.78,.2,1) forwards;
}

@media (max-height: 720px) and (orientation: portrait) {
  body[data-route="home"][data-menu="opening"] .orb,
  body[data-route="home"][data-menu="open"] .orb {
    top: clamp(15.8rem, 41dvh, 17.2rem);
    transform: translate(-50%, -50%) scale(.25);
  }

  body:not([data-route="home"])[data-menu="opening"] .orb,
  body:not([data-route="home"])[data-menu="open"] .orb {
    top: clamp(15.8rem, 41dvh, 17.2rem);
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@media (orientation: landscape) and (max-height: 560px) {
  body[data-route="home"] .orb {
    --orb-size: min(62dvh, 38vw, 340px);
  }

  body[data-route="home"][data-menu="opening"] .orb,
  body[data-route="home"][data-menu="open"] .orb {
    left: 38%;
    top: 50%;
    transform: translate(-50%, -50%) scale(.3);
  }

  body:not([data-route="home"])[data-menu="opening"] .orb,
  body:not([data-route="home"])[data-menu="open"] .orb {
    left: 38%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1.05);
  }
}

@media (prefers-reduced-motion: reduce) {
  .orb { transition-duration: .01ms !important; }
  .journey,
  .journey[data-closing="true"] { animation-duration: .01ms !important; }
}

@keyframes work13-veil-continuous-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes work13-veil-continuous-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes work13-pentagram-complete {
  to { stroke-dashoffset: 0; }
}

/* WORK13 — CORREÇÃO DE ESTABILIDADE
   Posição e escala são propriedades independentes: a Orbe não deriva
   para o canto durante a interpolação do Safari. */

.orb {
  margin: 0 !important;
  transform: none !important;
  translate: -50% -50%;
  scale: 1;
  transform-origin: 50% 50%;
  will-change: top, left, scale, filter;
  transition:
    top 720ms cubic-bezier(.2,.78,.2,1),
    left 720ms cubic-bezier(.2,.78,.2,1),
    scale 720ms cubic-bezier(.2,.78,.2,1),
    filter 420ms ease !important;
}

body[data-route="home"] .orb,
body[data-route="home"][data-menu="closing"] .orb {
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  scale: 1;
  transform: none !important;
}

body[data-route="home"][data-menu="opening"] .orb,
body[data-route="home"][data-menu="open"] .orb {
  left: 50%;
  top: clamp(17.8rem, 40dvh, 21.2rem);
  translate: -50% -50%;
  scale: .29;
  transform: none !important;
}

body:not([data-route="home"]) .orb,
body:not([data-route="home"])[data-menu="closing"] .orb {
  left: 50%;
  top: calc(100dvh - var(--safe-bottom) - 50px);
  translate: -50% -50%;
  scale: 1;
  transform: none !important;
}

body:not([data-route="home"])[data-menu="opening"] .orb,
body:not([data-route="home"])[data-menu="open"] .orb {
  left: 50%;
  top: clamp(17.8rem, 40dvh, 21.2rem);
  translate: -50% -50%;
  scale: 1.18;
  transform: none !important;
}

@media (max-height: 720px) and (orientation: portrait) {
  body[data-route="home"][data-menu="opening"] .orb,
  body[data-route="home"][data-menu="open"] .orb {
    top: clamp(15.8rem, 41dvh, 17.2rem);
    scale: .25;
    transform: none !important;
  }

  body:not([data-route="home"])[data-menu="opening"] .orb,
  body:not([data-route="home"])[data-menu="open"] .orb {
    top: clamp(15.8rem, 41dvh, 17.2rem);
    scale: 1.08;
    transform: none !important;
  }
}

@media (orientation: landscape) and (max-height: 560px) {
  body[data-route="home"][data-menu="opening"] .orb,
  body[data-route="home"][data-menu="open"] .orb {
    left: 38%;
    top: 50%;
    scale: .3;
    transform: none !important;
  }

  body:not([data-route="home"])[data-menu="opening"] .orb,
  body:not([data-route="home"])[data-menu="open"] .orb {
    left: 38%;
    top: 50%;
    scale: 1.05;
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orb { transition-duration: .01ms !important; }
}

/* WORK13 — PALCO ESTÁVEL DA ORBE
   A camada conduz a viagem; a Orbe mantém o mesmo tamanho de pintura.
   Isso impede o Safari de misturar centralização e escala e preserva o
   mesmo canvas em todos os quadros da abertura e do fechamento. */

body {
  --menu-map-top: clamp(10.5rem, 22dvh, 12rem);
  --menu-map-size: min(78vw, 19rem);
  --menu-map-half: min(39vw, 9.5rem);
  --menu-stage-x: 0px;
  --menu-stage-y: calc(var(--menu-map-top) + var(--menu-map-half) - 50dvh);
}

.orb-stage {
  position: fixed;
  z-index: 50;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  transform-origin: 50% 50%;
  will-change: transform;
  transition: transform 720ms cubic-bezier(.2,.78,.2,1);
}

body[data-route] .orb-stage .orb {
  --orb-size: min(88vw, 45dvh, 420px);
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  margin: 0 !important;
  translate: none !important;
  scale: 1;
  transform: none !important;
  transform-origin: 50% 50%;
  animation: none !important;
  pointer-events: auto;
  will-change: scale, filter;
  transition:
    scale 720ms cubic-bezier(.2,.78,.2,1),
    filter 420ms ease !important;
}

body:not([data-route="home"])[data-menu="closed"] .orb-stage,
body:not([data-route="home"])[data-menu="closing"] .orb-stage {
  transform: translate3d(0, calc(50dvh - var(--safe-bottom) - 50px), 0);
}

body:not([data-route="home"])[data-menu="closed"] .orb-stage .orb,
body:not([data-route="home"])[data-menu="closing"] .orb-stage .orb {
  scale: .21;
}

body[data-route][data-menu="opening"] .orb-stage,
body[data-route][data-menu="open"] .orb-stage {
  transform: translate3d(var(--menu-stage-x), var(--menu-stage-y), 0);
}

body[data-route][data-menu="opening"] .orb-stage .orb,
body[data-route][data-menu="open"] .orb-stage .orb {
  scale: .29;
}

.living-map {
  top: var(--menu-map-top) !important;
  left: 50% !important;
  width: var(--menu-map-size) !important;
  transform: translateX(-50%) !important;
}

.living-pentagram path {
  stroke: rgb(236 207 255 / .72);
  stroke-width: .92;
  stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important;
  filter:
    drop-shadow(0 0 3px rgb(255 255 255 / .38))
    drop-shadow(0 0 10px rgb(var(--world) / .48));
  animation: work13-pentagram-alive 3.8s 680ms ease-in-out infinite;
}

@keyframes work13-pentagram-alive {
  0%, 100% { stroke-opacity: .72; }
  50% { stroke-opacity: 1; }
}

@media (max-height: 720px) and (orientation: portrait) {
  body {
    --menu-map-top: clamp(8.6rem, 21dvh, 9.6rem);
    --menu-map-size: min(70vw, 16.4rem);
    --menu-map-half: min(35vw, 8.2rem);
  }

  body[data-route][data-menu="opening"] .orb-stage .orb,
  body[data-route][data-menu="open"] .orb-stage .orb { scale: .25; }

  body:not([data-route="home"])[data-menu="closed"] .orb-stage .orb,
  body:not([data-route="home"])[data-menu="closing"] .orb-stage .orb { scale: .24; }
}

@media (orientation: landscape) and (max-height: 560px) {
  body {
    --menu-map-top: 50%;
    --menu-map-size: min(64dvh, 17rem);
    --menu-map-half: 0px;
    --menu-stage-x: -12vw;
    --menu-stage-y: 0px;
  }

  body[data-route] .orb-stage .orb { --orb-size: min(62dvh, 38vw, 340px); }

  body[data-route][data-menu="opening"] .orb-stage .orb,
  body[data-route][data-menu="open"] .orb-stage .orb { scale: .3; }

  body:not([data-route="home"])[data-menu="closed"] .orb-stage .orb,
  body:not([data-route="home"])[data-menu="closing"] .orb-stage .orb { scale: .26; }

  .living-map {
    top: 50% !important;
    left: 38% !important;
    transform: translate(-50%, -50%) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orb-stage,
  body[data-route] .orb-stage .orb { transition-duration: .01ms !important; }
}

/* 3.3.0 — CONGELAMENTO DO MENU
   Trava o mesmo quadro durante abrir/fechar, inclusive no Safari do iPhone. */
body:is([data-menu="opening"], [data-menu="open"], [data-menu="closing"]) {
  position: fixed;
  top: calc(-1 * var(--menu-scroll-y, 0px));
  right: 0;
  left: 0;
  height: 100dvh;
  width: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

body:is([data-menu="opening"], [data-menu="open"], [data-menu="closing"]) .journey {
  height: 100dvh;
  max-height: 100dvh;
  overscroll-behavior: none;
}

/* Campos legíveis ao editar em telas pequenas, sem alterar a Home ou a Orbe. */
@media (max-width: 600px) {
  input:not([type="checkbox"]):not([type="radio"]), textarea, select {
    font-size: max(16px, 1rem);
  }
}
