/* SSA runtime stylesheet — ordered cascade, not independent competing themes.
   1 Fonts / tokens / system primitives
   2 Base / layout / controls
   3 Public journey and editorial compositions
   4 Utility tasks / feedback / premium previews
   5 Shared mandala hierarchy (owns free + premium selection)
   6 Finite motion / reduced-motion
   Responsive rules stay with their owning feature. Keep source order when formatting. */
@font-face {
  font-family:Onest;
  src:url('/assets/fonts/onest-latin.woff2') format('woff2');
  font-display:swap;
  font-weight:100 900
}
@font-face {
  font-family:Gloock;
  src:url('/assets/fonts/gloock-latin.woff2') format('woff2');
  font-display:swap;
  font-weight:400
}
:root {
  color-scheme:dark;
  --ink:#f8f4fb;
  --ink-soft:#d8d0df;
  --ink-muted:#a99fb3;
  --night:#0b0710;
  --violet:#a985ff;
  --gold:#e7bf78;
  --coral:#ff916f;
  --coral-hover:#ffa181;
  --coral-ink:#170b10;
  --flow:#82b7bd;
  --surface:rgba(28,19,38,.76);
  --surface-raised:rgba(40,27,54,.9);
  --border:rgba(239,230,255,.13);
  --border-strong:rgba(239,230,255,.24);
  --border-accent:rgba(169,133,255,.62);
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:24px;
  --radius-pill:999px;
  --shadow-control:0 10px 28px rgba(0,0,0,.22);
  --shadow-raised:0 24px 70px rgba(0,0,0,.34);
  --shadow-glow:0 0 42px rgba(169,133,255,.2);
  --font-display:Gloock,Georgia,serif;
  --font-body:Onest,system-ui,sans-serif;
  --display-xl:clamp(2.55rem,10.5vw,5.25rem);
  --display-lg:clamp(2.15rem,8.5vw,4rem);
  --headline:clamp(2rem,8vw,3.35rem);
  --title:1.25rem;
  --body-lg:1.1rem;
  --body:1rem;
  --label:.82rem;
  --caption:.75rem;
  --motion-fast:140ms;
  --motion-standard:260ms;
  --motion-reveal:560ms;
  --motion-atmospheric:1200ms;
  --motion-instant:var(--motion-fast);
  --motion-quick:var(--motion-fast);
  --motion-control:var(--motion-standard);
  --motion-view:var(--motion-reveal);
  --motion-stagger:60ms;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-in:cubic-bezier(.55,.06,.68,.19);
  --page-gutter:20px;
  --header-height:72px;
  --form-width:520px;
  --reading-width:600px;
  --landing-width:1180px;
  --utility-width:560px;
  --section-space:48px;
  --component-gap:24px;
  --text-rhythm:16px;
  --action-gap:16px;
  --control-height:56px;
  --control-padding:16px;
  --field-label-gap:8px;
  --form-gap:24px;
  --state-headline:clamp(2rem,5vw,3rem);
  --field-error:#ff9a92;
  --focus-ring:var(--violet);
  --space-20:80px;
  --space-24:96px;
  --type-display:var(--display-xl);
  --type-h1:var(--display-lg);
  --type-h2:var(--headline);
  --type-h3:clamp(1.5rem,3vw,2rem);
  --type-h4:1.25rem;
  --type-h5:1.125rem;
  --type-h6:1rem;
  --type-body-large:1.125rem;
  --type-body:1rem;
  --type-body-small:.9375rem;
  --type-caption:.875rem;
  --type-eyebrow:.8125rem;
  --type-label:1rem;
  --type-button:1rem;
  --type-helper:.9375rem;
  --type-error:.9375rem;
  --editorial-narrow:52ch;
  --editorial-standard:64ch;
  --state-width:560px;
  --visualization-width:1040px;
  --application-width:1440px;
  --radius-control:12px;
  --button-height:60px;
  --relation-support-action:32px;
  --relation-heading-support:24px;
}
@media(min-width:375px) {
  :root {
    --page-gutter:24px
  }
}
/* System primitives. Semantic heading level is independent of these type roles. */
.type-body-large,.type-body,.type-body-small,.type-caption,.type-helper,.type-error {
  font-family:var(--font-body);
  font-weight:400
}
.type-display,.type-h1,.type-h2,.type-h3,.type-h4 {
  font-family:var(--font-display);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.12;
  text-wrap:balance;
  max-inline-size:24ch
}
.type-display {
  font-size:var(--type-display)
}
.type-h1 {
  font-size:var(--type-h1)
}
.type-h2 {
  font-size:var(--type-h2)
}
.type-h3 {
  font-size:var(--type-h3)
}
.type-h4 {
  font-size:var(--type-h4)
}
.type-h5,.type-h6 {
  font-family:var(--font-body);
  font-weight:650;
  line-height:1.4
}
.type-h5 {
  font-size:var(--type-h5)
}
.type-h6 {
  font-size:var(--type-h6)
}
.type-body-large {
  font-size:var(--type-body-large);
  line-height:1.65
}
.type-body {
  font-size:var(--type-body);
  line-height:1.65
}
.type-body-small {
  font-size:var(--type-body-small);
  line-height:1.6
}
.type-caption {
  font-size:var(--type-caption);
  line-height:1.5;
  color:var(--ink-muted)
}
.type-label {
  font-family:var(--font-body);
  font-size:var(--type-label);
  font-weight:650;
  line-height:1.4
}
.type-helper,.type-error {
  font-size:var(--type-helper);
  line-height:1.55
}
.type-helper {
  color:var(--ink-soft)
}
.type-error {
  font-size:var(--type-error);
  color:var(--field-error)
}
.type-eyebrow {
  font:750 var(--type-eyebrow)/1.25 var(--font-body);
  letter-spacing:.13em;
  text-transform:uppercase
}
.type-button {
  font:760 var(--type-button)/1.3 var(--font-body)
}
.container {
  inline-size:100%;
  min-inline-size:0;
  margin-inline:auto;
  padding-inline:var(--page-gutter)
}
.container--editorial-narrow {
  max-inline-size:calc(var(--editorial-narrow) + 2 * var(--page-gutter))
}
.container--editorial {
  max-inline-size:calc(var(--editorial-standard) + 2 * var(--page-gutter))
}
.container--form {
  max-inline-size:calc(var(--form-width) + 2 * var(--page-gutter))
}
.container--utility,.container--state {
  max-inline-size:calc(var(--state-width) + 2 * var(--page-gutter))
}
.container--utility {
  max-inline-size:calc(var(--utility-width) + 2 * var(--page-gutter))
}
.container--visualization {
  max-inline-size:var(--visualization-width)
}
.container--application {
  max-inline-size:var(--application-width)
}
.container--full-bleed {
  max-inline-size:none;
  padding-inline:0
}
.stack {
  display:grid;
  gap:var(--component-gap);
  min-inline-size:0
}
.stack--text {
  gap:var(--text-rhythm)
}
.stack--section {
  gap:var(--section-space)
}
h4,h5,h6 {
  margin-block-start:0
}
h4 {
  font:400 var(--type-h4)/1.25 var(--font-display)
}
h5 {
  font:650 var(--type-h5)/1.4 var(--font-body)
}
h6 {
  font:650 var(--type-h6)/1.4 var(--font-body)
}
/* Native sequential fallback. JS alone enables step navigation/conditional fields. */
.no-js .mandala__planet {
  cursor:default
}
.no-js .mandala-inspector,.no-js .mandala-help {
  display:none
}
.no-js .map-shell .form-experience {
  display:block;
  opacity:1;
  transform:none;
  padding-block:var(--space-12)
}
.no-js .map-shell .form-step {
  display:grid;
  gap:var(--space-6);
  padding-block:var(--space-8);
  border-block-start:1px solid var(--border)
}
.no-js [data-next-step],.no-js [data-previous-step],.no-js [data-result-next],.no-js [data-result-previous],.no-js [data-header-back],.no-js [data-step-progress] {
  display:none!important
}
/* Base and native elements. */
*,*::before,*::after {
  box-sizing:border-box
}
html {
  inline-size:100%;
  min-inline-size:0;
  background:var(--night);
  scroll-behavior:auto
}
body {
  margin:0;
  inline-size:100%;
  min-inline-size:0;
  min-block-size:100dvh;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--body);
  line-height:1.65;
  background:var(--night);
  overflow-wrap:break-word
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 18% 4%,rgba(114,64,157,.32),transparent 34rem),radial-gradient(circle at 88% 48%,rgba(87,50,132,.19),transparent 30rem),linear-gradient(165deg,#160d1d 0%,#0b0710 42%,#110a18 100%)
}
img,svg {
  display:block;
  max-inline-size:100%
}
button,input,select {
  font:inherit
}
button,a,label {
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent
}
a {
  color:inherit
}
[hidden] {
  display:none!important
}
.sr-only {
  position:absolute!important;
  inline-size:1px!important;
  block-size: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
}
.ui-icon {
  inline-size:20px;
  block-size:20px;
  fill:currentColor;
  flex:none
}
h1,h2,h3,p {
  margin-block-start:0
}
h1,h2,h3 {
  font-family:var(--font-display);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.025em;
  text-wrap:balance
}
h1 {
  font-size:var(--display-lg)
}
h2 {
  font-size:var(--headline)
}
h3 {
  font-size:var(--title)
}
.eyebrow,.question__number {
  margin:0;
  color:var(--gold);
  font-size:var(--label);
  font-weight:750;
  line-height:1.25;
  letter-spacing:.13em;
  text-transform:uppercase
}
.lede,.story-lede {
  color:var(--ink-soft);
  font-size:var(--body-lg);
  line-height:1.55
}
.button {
  position:relative;
  inline-size:100%;
  min-block-size:var(--button-height);
  padding:12px 20px;
  border:1px solid transparent;
  border-radius:var(--radius-control);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--ink);
  font-weight:760;
  line-height:1.3;
  text-decoration:none;
  cursor:pointer;
  transition:transform var(--motion-quick) ease,background-color var(--motion-control),border-color var(--motion-control),opacity var(--motion-control)
}
.button:hover {
  transform:translateY(-1px)
}
.button:active {
  transform:scale(.985);
  transition-duration:90ms
}
.button:focus-visible,.mandala__planet:focus-visible {
  outline:3px solid rgba(231,191,120,.72);
  outline-offset:3px
}
.button--primary {
  color:var(--coral-ink);
  background:var(--coral);
  box-shadow:var(--shadow-control)
}
.button--primary:hover {
  background:var(--coral-hover)
}
.button--secondary {
  border-color:var(--border-strong);
  background:var(--surface)
}
.button--text {
  inline-size:auto;
  min-block-size:48px;
  padding-inline:0;
  color:var(--ink-soft);
  background:transparent;
  justify-content:flex-start
}
.button:disabled {
  cursor:not-allowed;
  opacity:.55
}
.button.is-loading {
  pointer-events:none
}
.button.is-loading::before {
  content:"";
  inline-size:18px;
  block-size:18px;
  border:2px solid rgba(23,11,16,.28);
  border-top-color:var(--coral-ink);
  border-radius:50%;
  animation:spin .75s linear infinite
}
.button.is-loading>.ui-icon {
  display:none
}
@keyframes spin {
  to {
    transform:rotate(1turn)
  }
}
.wordmark,.brand-mark {
  min-block-size:44px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none
}
.wordmark img,.brand-mark img {
  inline-size:38px;
  block-size:38px;
  border-radius:50%
}
.wordmark span {
  font-size:.69rem;
  font-weight:650;
  line-height:1.12;
  letter-spacing:.12em
}
.wordmark strong {
  display:block;
  color:var(--gold);
  font-size:.87rem
}
.journey-header,.landing__header {
  block-size:var(--header-height);
  inline-size:min(100%,var(--landing-width));
  margin-inline:auto;
  padding-inline:max(var(--page-gutter),env(safe-area-inset-left));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px
}
.journey-header {
  position:relative;
  z-index:5
}
.progress {
  inline-size:116px;
  display:grid;
  gap:7px
}
.progress p,.result-step {
  margin:0;
  color:var(--ink-muted);
  font-size:var(--caption);
  font-weight:650;
  text-align:right
}
.progress__track {
  block-size:2px;
  background:var(--border);
  overflow:hidden
}
.progress__track span {
  display:block;
  inline-size:20%;
  block-size:100%;
  background:var(--gold);
  transition:inline-size var(--motion-view) var(--ease)
}
.map-shell,.result-story {
  inline-size:100%;
  min-inline-size:0;
  min-block-size:100dvh
}
.map-shell,.result-story {
  overflow-x:clip
}
.landing,.form-experience,.story-stage {
  inline-size:100%;
  min-inline-size:0;
  background:transparent
}
.landing {
  min-block-size:100dvh;
  padding-bottom:max(48px,env(safe-area-inset-bottom));
  display:grid;
  grid-template-rows:auto 1fr
}
.landing__layout {
  inline-size:min(100%,var(--landing-width));
  margin-inline:auto;
  padding:clamp(42px,9vh,96px) var(--page-gutter) var(--space-12);
  display:grid;
  align-items:center;
  gap:56px
}
.landing__copy {
  max-inline-size:650px;
  display:grid;
  justify-items:start
}
.landing__copy h1 {
  margin:12px 0 20px;
  max-inline-size:13ch;
  font-size:var(--display-xl)
}
.landing__copy .lede {
  max-inline-size:570px;
  margin-bottom:32px
}
.landing__copy small {
  margin-top:12px;
  color:var(--ink-muted);
  font-size:var(--caption)
}
.landing__art {
  display:none;
  min-inline-size:0
}
.brand-orbit {
  position:relative;
  inline-size:min(100%,420px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  overflow:clip;
  border-radius:50%
}
.brand-orbit::before,.brand-orbit::after {
  content:"";
  position:absolute;
  border:1px solid var(--border-strong);
  border-radius:50%;
  inset:5%
}
.brand-orbit::after {
  inset:19%;
  border-color:rgba(231,191,120,.28)
}
.brand-orbit img {
  inline-size:66%;
  block-size:auto;
  border-radius:50%;
  filter:drop-shadow(0 28px 56px rgba(0,0,0,.35))
}
.brand-orbit>span {
  position:absolute;
  inset:0;
  animation:orbit 18s linear infinite
}
.brand-orbit>span::after {
  content:"";
  position:absolute;
  top:13%;
  left:21%;
  inline-size:8px;
  block-size:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 18px var(--gold)
}
@keyframes orbit {
  to {
    transform:rotate(1turn)
  }
}
.form-experience {
  display:none;
  min-block-size:100dvh;
  padding-bottom:max(40px,env(safe-area-inset-bottom))
}
.map-shell[data-mode=form] .landing {
  display:none
}
.map-shell[data-mode=form] .form-experience,.form-experience.is-active {
  display:block
}
.form-experience form {
  inline-size:min(100%,var(--form-width));
  margin-inline:auto;
  padding-inline:var(--page-gutter);
  overflow:clip
}
.form-step {
  display:none;
  inline-size:100%;
  min-inline-size:0;
  margin:0;
  padding:clamp(36px,8vh,76px) 0 0;
  border:0
}
.form-step.is-active {
  display:grid;
  gap:36px
}
.question {
  min-inline-size:0
}
.question__number {
  margin-bottom:12px
}
.question__title {
  inline-size:100%;
  max-inline-size:17ch;
  margin-bottom:28px;
  padding:0;
  font-family:var(--font-display);
  font-size:var(--headline);
  line-height:1.08;
  letter-spacing:-.025em;
  text-wrap:balance
}
.question>label,.combobox>label,.time-entry>label,noscript label {
  display:block;
  margin-bottom:8px;
  color:var(--ink-soft);
  font-size:var(--label);
  font-weight:680
}
.field-help {
  margin:-14px 0 24px;
  color:var(--ink-muted);
  font-size:.94rem;
  line-height:1.55
}
input[type=text],input[type=email],input[type=date],input[type=time],input[type=search],select {
  inline-size:100%;
  min-inline-size:0;
  min-block-size:var(--control-height);
  padding:12px var(--control-padding);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-md);
  color:var(--ink);
  background:rgba(12,8,17,.62);
  font-size:max(1rem,var(--body));
  outline:none;
  transition:border-color var(--motion-control),box-shadow var(--motion-control)
}
input:focus,select:focus {
  border-color:var(--border-accent);
  box-shadow:0 0 0 4px rgba(169,133,255,.12)
}
input:focus-visible,select:focus-visible {
  outline:2px solid var(--focus-ring);
  outline-offset:3px
}
input::placeholder {
  color:var(--ink-muted)
}
input[aria-invalid=true] {
  border-color:var(--coral)
}
.field-error {
  margin:8px 0 0;
  color:var(--field-error);
  font-size:.94rem
}
.error-summary {
  inline-size:min(calc(100% - 2 * var(--page-gutter)),var(--form-width));
  margin:16px auto 0;
  padding:16px;
  border:1px solid rgba(237,121,111,.46);
  border-radius:var(--radius-md);
  background:rgba(85,30,34,.28)
}
.error-summary p {
  margin:4px 0 0;
  color:var(--ink-soft)
}
.precision-choices {
  display:grid;
  gap:12px
}
.precision-choices label {
  position:relative;
  min-block-size:88px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:16px;
  cursor:pointer;
  background:rgba(255,255,255,.025);
  transition:border-color var(--motion-control),background-color var(--motion-control),transform var(--motion-quick)
}
.precision-choices label:hover {
  border-color:var(--border-strong);
  background:rgba(255,255,255,.04)
}
.precision-choices label:active {
  transform:scale(.99)
}
.precision-choices input {
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none
}
.choice-control {
  inline-size:24px;
  block-size:24px;
  border:2px solid var(--border-strong);
  border-radius:50%;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  flex:0 0 24px;
  transition:border-color var(--motion-control),background-color var(--motion-control)
}
.choice-control>span {
  inline-size:10px;
  block-size:10px;
  border-radius:50%;
  background:var(--gold);
  opacity:0;
  transform:scale(.35);
  transition:opacity var(--motion-control),transform var(--motion-control)
}
.precision-choices input:checked+.choice-control {
  border-color:var(--gold);
  background:rgba(231,191,120,.06)
}
.precision-choices input:checked+.choice-control>span {
  opacity:1;
  transform:scale(1)
}
.precision-choices input:focus-visible+.choice-control {
  outline:3px solid rgba(231,191,120,.5);
  outline-offset:3px
}
.precision-choices label:has(input:checked) {
  border-color:rgba(231,191,120,.48);
  background:rgba(231,191,120,.055)
}
.choice-copy {
  min-inline-size:0;
  display:grid;
  gap:3px
}
.choice-copy strong {
  font-size:.98rem
}
.choice-copy small {
  color:var(--ink-muted);
  font-size:.82rem;
  line-height:1.45
}
.time-entry {
  margin-top:20px;
  opacity:1;
  transform:none;
  transition:opacity var(--motion-control),transform var(--motion-control)
}
.time-entry.is-hiding {
  opacity:0;
  transform:translateY(-6px)
}
.step-actions,.story-controls {
  inline-size:100%;
  display:grid;
  gap:8px;
  padding-bottom:max(8px,env(safe-area-inset-bottom))
}
.step-actions .button--primary,.story-controls .button--primary {
  grid-row:2
}
.step-actions .button--text,.story-controls .button--text {
  grid-row:1
}
.step-actions>span:empty,.story-controls>span:empty {
  display:none
}
.combobox {
  position:relative
}
.combobox>small {
  display:block;
  margin-top:8px;
  color:var(--ink-muted)
}
.city-options {
  position:absolute;
  z-index:20;
  inset-inline:0;
  top:calc(100% - 22px);
  max-block-size:240px;
  padding:6px;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-md);
  overflow:auto;
  background:#17101f;
  box-shadow:var(--shadow-raised)
}
.city-options button {
  inline-size:100%;
  min-block-size:48px;
  padding:10px;
  border:0;
  border-radius:var(--radius-sm);
  color:var(--ink);
  text-align:left;
  background:transparent
}
.city-options button:hover,.city-options button[aria-selected=true] {
  background:rgba(169,133,255,.14)
}
.js .form-step.is-exiting {
  display:grid;
  opacity:0;
  transform:translateX(-12px);
  transition:opacity 120ms ease,transform 120ms ease
}
.js .form-step[data-exit-direction="-1"].is-exiting {
  transform:translateX(12px)
}
.js .form-step.is-entering {
  --enter:1
}
.js .form-step[data-direction="-1"].is-entering {
  --enter:-1
}
.js .form-step.is-entering .question__number,.js .form-step.is-entering .question__title,.js .form-step.is-entering .question>*:not(.question__number):not(.question__title),.js .form-step.is-entering .step-actions {
  opacity:0;
  transform:translateX(calc(var(--enter) * 12px));
  animation:viewItem 280ms var(--ease) forwards
}
.js .form-step.is-entering .question__title {
  animation-delay:60ms
}
.js .form-step.is-entering .question>*:not(.question__number):not(.question__title) {
  animation-delay:110ms
}
.js .form-step.is-entering .step-actions {
  animation-delay:160ms
}
@keyframes viewItem {
  to {
    opacity:1;
    transform:translateX(0)
  }
}
.result-header {
  position:relative;
  inline-size:min(100%,var(--reading-width));
  padding-inline:var(--page-gutter)
}
.result-story {
  position:relative
}
.story-stage {
  display:none;
  min-block-size:calc(100dvh - var(--header-height));
  padding:32px var(--page-gutter) max(48px,env(safe-area-inset-bottom));
  overflow:clip
}
.story-stage.is-active {
  display:block
}
.chapter {
  inline-size:min(100%,var(--reading-width));
  margin-inline:auto;
  display:grid;
  justify-items:center;
  gap:24px
}
.sign-medallion {
  position:relative;
  inline-size:clamp(132px,38vw,176px);
  aspect-ratio:1;
  border:1px solid rgba(231,191,120,.38);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold);
  background:radial-gradient(circle at 46% 40%,rgba(169,133,255,.2),rgba(255,255,255,.025) 55%,transparent 57%);
  box-shadow:inset 0 0 0 9px rgba(255,255,255,.018),var(--shadow-glow)
}
.sign-medallion::after {
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(231,191,120,.17);
  border-radius:50%
}
.sign-medallion .astro-glyph {
  inline-size:56%;
  block-size:56%
}
.dual-signs {
  inline-size:min(100%,300px);
  display:flex;
  justify-content:center
}
.dual-signs .sign-medallion {
  inline-size:140px
}
.dual-signs .sign-medallion+.sign-medallion {
  margin-left:-24px
}
.astro-glyph {
  display:block;
  inline-size:1em;
  block-size:1em;
  color:inherit;
  fill:currentColor
}
.astro-glyph--sign {
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round
}
.astro-glyph--planet,.astro-glyph--angle,.astro-glyph--aspect {
  fill:currentColor
}
.astro-glyph--small {
  inline-size:18px;
  block-size:18px
}
.astro-glyph--medium {
  inline-size:26px;
  block-size:26px
}
.astro-glyph--large {
  inline-size:72px;
  block-size:72px
}
.astro-glyph--hero {
  inline-size:96px;
  block-size:96px
}
.astro-emblem {
  --emblem-size:46px;
  position:relative;
  inline-size:var(--emblem-size);
  block-size:var(--emblem-size);
  display:inline-grid;
  place-items:center;
  flex:none
}
.astro-emblem--compact {
  --emblem-size:40px
}
.astro-emblem--hero {
  --emblem-size:80px
}
.astro-emblem__halo {
  position:absolute;
  inset:-9px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(169,133,255,.2),transparent 69%);
  filter:blur(4px)
}
.astro-emblem__body {
  position:relative;
  inline-size:100%;
  block-size:100%;
  border:1px solid var(--border-strong);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#e8ddf4;
  background:radial-gradient(circle at 42% 36%,rgba(169,133,255,.25),rgba(20,13,28,.94) 68%)
}
.astro-emblem--planet-sun .astro-emblem__halo {
  background:radial-gradient(circle,rgba(231,191,120,.38),transparent 70%)
}
.astro-emblem--planet-sun .astro-emblem__body {
  color:var(--gold);
  border-color:rgba(231,191,120,.46)
}
.astro-emblem--planet-moon .astro-emblem__halo {
  background:radial-gradient(circle,rgba(190,210,255,.28),transparent 70%)
}
.astro-emblem--planet-moon .astro-emblem__body {
  color:#dbe4ff;
  border-color:rgba(190,210,255,.38)
}
.chapter__copy {
  inline-size:100%;
  text-align:center
}
.chapter-kicker {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin-bottom:10px
}
.chapter__copy h1,.chapter__copy h2 {
  max-inline-size:15ch;
  margin:10px auto 16px
}
.chapter__copy>p:not(.eyebrow),.reading-sample,.synthesis-copy {
  max-inline-size:58ch;
  margin-inline:auto
}
.reading-sample {
  text-align:left;
  color:var(--ink-soft)
}
.reading-sample p {
  margin-bottom:16px
}
.story-lede {
  margin-bottom:24px
}
.precision-note,.mandala-caption {
  padding:14px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--ink-muted);
  font-size:.88rem;
  text-align:left;
  background:rgba(255,255,255,.02)
}
.possibility-names {
  display:flex;
  justify-content:center;
  gap:8px;
  margin:0 0 16px
}
.possibility-names strong {
  padding:5px 10px;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  font-size:.78rem
}
.story-controls {
  margin-top:8px
}
.chapter--mandala,.chapter--premium {
  gap:28px
}
.story-stage--synthesis {
  padding:28px var(--page-gutter) max(40px,env(safe-area-inset-bottom));
  overflow:visible
}
.chapter--synthesis {
  inline-size:min(100%,760px);
  gap:30px
}
.synthesis-intro h2 {
  max-inline-size:14ch;
  margin:10px auto 16px;
  font-size:clamp(2.3rem,10vw,3.25rem);
  line-height:1.02;
  letter-spacing:-.035em
}
.synthesis-intro>p:not(.eyebrow) {
  max-inline-size:39ch;
  color:#cfc5d8;
  line-height:1.62;
  text-wrap:pretty
}
.synthesis-weave {
  position:relative;
  inline-size:min(100%,640px);
  min-block-size:184px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  isolation:isolate
}
.synthesis-weave__threads {
  position:absolute;
  z-index:0;
  inset:0;
  inline-size:100%;
  block-size:100%;
  overflow:visible;
  fill:none;
  stroke:rgba(210,189,240,.28);
  stroke-width:1.2;
  stroke-linecap:round
}
.synthesis-weave__threads path:first-child {
  stroke:rgba(231,191,120,.3)
}
.synthesis-weave__threads path:nth-child(2) {
  stroke:rgba(190,210,255,.3)
}
.synthesis-weave__threads path:last-child {
  stroke:rgba(169,133,255,.32)
}
.synthesis-point {
  position:relative;
  z-index:1;
  min-inline-size:0;
  display:grid;
  justify-items:center;
  align-content:start;
  text-align:center
}
.synthesis-point__glyph {
  position:relative;
  inline-size:64px;
  block-size:64px;
  display:grid;
  place-items:center;
  color:var(--gold);
  filter:drop-shadow(0 0 16px rgba(231,191,120,.18))
}
.synthesis-point__glyph::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:12px;
  border-radius:50%;
  background:rgba(231,191,120,.1);
  filter:blur(12px)
}
.synthesis-point__glyph>.astro-glyph {
  inline-size:54px;
  block-size:54px
}
.synthesis-point__glyph--pair {
  display:flex;
  align-items:center;
  justify-content:center
}
.synthesis-point__glyph--pair>.astro-glyph {
  inline-size:38px;
  block-size:38px
}
.synthesis-point__glyph--pair>.astro-glyph+.astro-glyph {
  margin-left:-9px
}
.synthesis-point--moon .synthesis-point__glyph {
  color:#d9e3ff;
  filter:drop-shadow(0 0 16px rgba(190,210,255,.17))
}
.synthesis-point--moon .synthesis-point__glyph::before {
  background:rgba(190,210,255,.09)
}
.synthesis-point--third .synthesis-point__glyph {
  color:#d8c3ff;
  filter:drop-shadow(0 0 16px rgba(169,133,255,.2))
}
.synthesis-point--third .synthesis-point__glyph::before {
  background:rgba(169,133,255,.1)
}
.synthesis-point__label {
  margin-top:7px;
  color:#a99eb3;
  font-size:.66rem;
  font-weight:720;
  letter-spacing:.1em;
  text-transform:uppercase
}
.synthesis-point strong {
  max-inline-size:11ch;
  margin-top:3px;
  color:#f0eaf5;
  font-size:clamp(.82rem,3.5vw,.94rem);
  font-weight:650;
  line-height:1.3;
  text-wrap:balance
}
.synthesis-weave__meeting {
  position:absolute;
  z-index:2;
  left:50%;
  bottom:14px;
  inline-size:8px;
  block-size:8px;
  border-radius:50%;
  background:#ead2a0;
  box-shadow:0 0 16px rgba(231,191,120,.58),0 0 38px rgba(169,133,255,.28);
  transform:translateX(-50%)
}
.synthesis-point__label {
  font-size:.7rem
}
.synthesis-point strong {
  font-size:clamp(.84rem,3.5vw,.94rem)
}
.synthesis-reading {
  inline-size:min(100%,600px);
  padding-block:26px;
  border-block:1px solid rgba(239,230,255,.1);
  text-align:left
}
.synthesis-reading h3 {
  max-inline-size:18ch;
  margin:0 0 16px;
  font-family:var(--font-display);
  font-size:clamp(1.75rem,7vw,2.25rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
  text-wrap:balance
}
.synthesis-reading p {
  margin:0;
  color:#d5ccdc;
  font-size:1rem;
  line-height:1.7;
  text-wrap:pretty
}
.synthesis-reading p+p {
  margin-top:16px
}
.story-stage--synthesis .story-controls {
  inline-size:min(100%,600px);
  margin-top:0;
  padding-top:20px;
  border-top:0
}
.story-stage--synthesis .story-controls .button--primary {
  inline-size:100%
}
.mandala-area {
  inline-size:100%;
  display:grid;
  justify-items:center;
  gap:14px
}
.mandala-frame {
  inline-size:100%;
  min-inline-size:0;
  aspect-ratio:1;
  padding:0;
  background:radial-gradient(circle,rgba(169,133,255,.11),transparent 69%);
  filter:drop-shadow(0 26px 50px rgba(0,0,0,.3));
  overflow:clip
}
.mandala {
  inline-size:100%;
  block-size:auto;
  overflow:clip
}
.mandala__sky {
  fill:rgba(255,255,255,.012);
  stroke:rgba(231,191,120,.58);
  stroke-width:1.6
}
.mandala__ring {
  fill:none;
  stroke:rgba(239,230,255,.25);
  stroke-width:1.2
}
.mandala__orbit {
  fill:none;
  stroke:rgba(239,230,255,.12)
}
.mandala__sector {
  stroke:rgba(239,230,255,.19)
}
.mandala__house-line {
  stroke:rgba(169,133,255,.23)
}
.mandala__house-number,.mandala__angle {
  fill:#aaa0b9;
  font:11px var(--font-body);
  text-anchor:middle;
  dominant-baseline:central
}
.mandala__aspect {
  stroke-width:1.35;
  opacity:0;
  transition:opacity var(--motion-control),stroke-width var(--motion-control)
}
.mandala-frame.show-aspects .mandala__aspect--primary {
  opacity:.5
}
.mandala-frame.show-aspects .mandala__aspect--secondary {
  opacity:.12
}
.mandala__aspect--flow {
  stroke:var(--flow)
}
.mandala__aspect--dynamic {
  stroke:var(--coral)
}
.mandala__leader {
  stroke:rgba(248,245,255,.34)
}
.mandala__planet {
  cursor:pointer;
  outline:none;
  transition:opacity var(--motion-control)
}
.mandala__planet-hit {
  fill:transparent
}
.mandala__planet-node {
  fill:#181121;
  stroke:rgba(248,245,255,.7);
  stroke-width:1.25;
  transition:fill var(--motion-control),stroke var(--motion-control),stroke-width var(--motion-control)
}
.mandala__planet-glyph {
  color:var(--ink);
  pointer-events:none
}
.mandala__zodiac {
  color:var(--gold);
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round
}
.mandala__planet.is-selected .mandala__planet-node,.mandala__planet:hover .mandala__planet-node {
  fill:#2b1b38;
  stroke:var(--gold);
  stroke-width:2.3
}
.mandala-frame[data-active-planet] .mandala__planet:not(.is-selected) {
  opacity:.38
}
.mandala-frame[data-active-planet] .mandala__aspect {
  opacity:.05
}
.mandala-frame.show-aspects[data-active-planet] .mandala__aspect.is-connected {
  opacity:.92;
  stroke-width:2
}
.mandala__center {
  fill:rgba(13,9,19,.94);
  stroke:rgba(231,191,120,.34)
}
.mandala__center-core {
  fill:var(--gold)
}
.mandala-inspector {
  inline-size:100%;
  min-block-size:64px;
  padding:10px 4px;
  border-block:1px solid var(--border);
  display:flex;
  align-items:center;
  gap:14px
}
.mandala-inspector p {
  margin:0;
  display:grid
}
.mandala-inspector strong {
  font-size:1rem
}
.mandala-inspector p span {
  color:var(--ink-muted);
  font-size:.86rem
}
.mandala-caption {
  inline-size:100%
}
.premium-preview {
  position:relative;
  inline-size:100%;
  padding-bottom:90px
}
.premium-preview article {
  padding:20px 0;
  border-bottom:1px solid var(--border)
}
.premium-preview article p {
  margin:0 0 6px;
  color:var(--gold);
  font-size:var(--caption);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase
}
.premium-preview article h3 {
  margin:0 0 8px
}
.premium-preview article span {
  color:var(--ink-soft)
}
.premium-preview article:nth-of-type(n+2) {
  filter:blur(1.6px);
  opacity:.58
}
.premium-fade {
  position:absolute;
  inset:38% 0 0;
  background:linear-gradient(transparent,var(--night) 88%);
  pointer-events:none
}
.reading-lock {
  position:absolute;
  z-index:2;
  inset-inline:0;
  bottom:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:var(--ink-soft)
}
.reading-lock>span {
  inline-size:42px;
  block-size:42px;
  border:1px solid var(--border-strong);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--surface-raised)
}
.reading-lock strong {
  max-inline-size:20ch;
  font-size:.9rem
}
.js .story-stage.is-leaving {
  display:block;
  opacity:0;
  transform:translateX(-12px);
  transition:opacity 160ms ease,transform 160ms ease
}
.js .story-stage[data-exit-direction="-1"].is-leaving {
  transform:translateX(12px)
}
.js .story-stage.is-active .sign-medallion,.js .story-stage.is-active .chapter-kicker,.js .story-stage.is-active .chapter__copy>h1,.js .story-stage.is-active .chapter__copy>h2,.js .story-stage.is-active .story-lede,.js .story-stage.is-active .reading-sample,.js .story-stage.is-active .chapter__copy>p:not(.eyebrow):not(.story-lede),.js .story-stage.is-active .composition,.js .story-stage.is-active .synthesis-copy,.js .story-stage.is-active .mandala-area,.js .story-stage.is-active .premium-preview,.js .story-stage.is-active .story-controls {
  opacity:0;
  transform:translateY(10px);
  animation:chapterItem 440ms var(--ease) forwards
}
.js .story-stage.is-active .sign-medallion {
  animation-delay:100ms
}
.js .story-stage.is-active .chapter-kicker {
  animation-delay:220ms
}
.js .story-stage.is-active .chapter__copy>h1,.js .story-stage.is-active .chapter__copy>h2 {
  animation-delay:340ms
}
.js .story-stage.is-active .story-lede,.js .story-stage.is-active .chapter__copy>p:not(.eyebrow):not(.story-lede) {
  animation-delay:420ms
}
.js .story-stage.is-active .reading-sample,.js .story-stage.is-active .composition,.js .story-stage.is-active .mandala-area,.js .story-stage.is-active .premium-preview {
  animation-delay:500ms
}
.js .story-stage.is-active .synthesis-copy {
  animation-delay:560ms
}
.js .story-stage.is-active .story-controls {
  animation-delay:620ms
}
@keyframes chapterItem {
  to {
    opacity:1;
    transform:translateY(0)
  }
}
.js .story-stage.is-active .mandala__sky {
  stroke-dasharray:1835;
  stroke-dashoffset:1835;
  animation:draw 680ms 120ms var(--ease) forwards
}
.js .story-stage.is-active .mandala__layer--zodiac {
  opacity:0;
  animation:mandalaIn 420ms 260ms var(--ease) forwards
}
.js .story-stage.is-active .mandala__layer--houses {
  opacity:0;
  animation:mandalaIn 420ms 420ms var(--ease) forwards
}
.js .story-stage.is-active .mandala__layer--planets {
  opacity:0;
  animation:mandalaIn 420ms 600ms var(--ease) forwards
}
.js .story-stage.is-active .mandala__leader {
  stroke-dasharray:48;
  stroke-dashoffset:48;
  animation:draw 360ms 780ms var(--ease) forwards
}
.js .story-stage.is-active .mandala__layer--aspects {
  opacity:0;
  animation:mandalaIn 380ms 900ms var(--ease) forwards
}
.js .story-stage.is-active .mandala__planet[data-planet=sun] .mandala__planet-node {
  animation:sunGlow 520ms 1100ms var(--ease) both
}
@keyframes draw {
  to {
    stroke-dashoffset:0
  }
}
@keyframes mandalaIn {
  to {
    opacity:1
  }
}
@keyframes sunGlow {
  50% {
    filter:drop-shadow(0 0 12px var(--gold))
  }
}
.sky-loader {
  position:fixed;
  z-index:100;
  inset:0;
  padding:var(--page-gutter);
  display:grid;
  place-content:center;
  justify-items:center;
  gap:26px;
  text-align:center;
  background:linear-gradient(165deg,#160d1d,#0b0710 60%,#110a18)
}
.sky-loader p {
  max-inline-size:28ch;
  margin:0;
  color:var(--ink-soft);
  font-size:1rem
}
.loader-cosmos {
  position:relative;
  inline-size:190px;
  block-size:190px;
  display:grid;
  place-items:center
}
.loader-cosmos img {
  inline-size:62px;
  block-size:62px;
  border-radius:50%;
  opacity:0;
  transform:scale(.7);
  transition:opacity 420ms var(--ease),transform 420ms var(--ease)
}
.loader-cosmos__ring {
  position:absolute;
  border:1px solid var(--border-strong);
  border-radius:50%;
  opacity:0;
  transform:scale(.72);
  transition:opacity 450ms var(--ease),transform 450ms var(--ease)
}
.loader-cosmos__ring--outer {
  inset:2px
}
.loader-cosmos__ring--middle {
  inset:30px
}
.loader-cosmos__ring--inner {
  inset:58px
}
.loader-cosmos__star {
  inline-size:8px;
  block-size:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 18px var(--gold);
  transition:transform 450ms var(--ease)
}
.loader-cosmos__point {
  position:absolute;
  inline-size:6px;
  block-size:6px;
  border-radius:50%;
  background:var(--violet);
  opacity:0
}
.loader-cosmos__point--one {
  top:30px;
  left:92px
}
.loader-cosmos__point--two {
  right:32px;
  bottom:52px
}
.loader-cosmos__point--three {
  left:36px;
  bottom:62px
}
.sky-loader[data-phase=rings] .loader-cosmos__ring {
  opacity:1;
  transform:scale(1)
}
.sky-loader[data-phase=points] .loader-cosmos__point {
  opacity:1;
  box-shadow:0 0 12px var(--violet)
}
.sky-loader[data-phase=points] .loader-cosmos__ring--middle {
  animation:orbit 3s linear infinite
}
.sky-loader[data-phase=ready] .loader-cosmos img {
  opacity:1;
  transform:scale(1)
}
.sky-loader[data-phase=ready] .loader-cosmos__ring {
  opacity:.55;
  transform:scale(1)
}
.site-footer {
  inline-size:min(100%,var(--reading-width));
  margin-inline:auto;
  padding:28px var(--page-gutter) max(28px,env(safe-area-inset-bottom));
  border-top:1px solid var(--border);
  color:var(--ink-muted);
  font-size:var(--caption);
  text-align:center
}
.site-footer p {
  margin:4px 0
}
/* Public visual system refinements */
body::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.7;
  background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.52) 0 1px,transparent 1.4px),radial-gradient(circle at 79% 12%,rgba(231,191,120,.48) 0 1px,transparent 1.5px),radial-gradient(circle at 65% 68%,rgba(169,133,255,.44) 0 1px,transparent 1.5px),radial-gradient(circle at 28% 82%,rgba(255,255,255,.38) 0 1px,transparent 1.4px)
}
.button--primary {
  box-shadow:0 8px 24px rgba(255,145,111,.18),0 1px 0 rgba(255,255,255,.22) inset
}
.button--primary:hover {
  box-shadow:0 10px 28px rgba(255,145,111,.26),0 1px 0 rgba(255,255,255,.26) inset
}
.journey-header {
  border-bottom:1px solid rgba(239,230,255,.06);
  background:linear-gradient(180deg,rgba(11,7,16,.82),rgba(11,7,16,.18));
  backdrop-filter:blur(10px)
}
.wordmark--compact span {
  display:block
}
.progress {
  inline-size:132px
}
.progress__track {
  block-size:3px;
  border-radius:var(--radius-pill)
}
.progress__track span {
  border-radius:inherit;
  box-shadow:0 0 12px rgba(231,191,120,.28)
}
.landing__layout {
  position:relative;
  isolation:isolate
}
.landing__copy {
  position:relative;
  z-index:1
}
.landing__art {
  position:absolute;
  z-index:0;
  top:4%;
  right:8px;
  display:block;
  inline-size:220px;
  opacity:.24;
  filter:saturate(.84);
  mask-image:linear-gradient(135deg,#000,transparent 78%)
}
.landing__art .brand-orbit>span {
  inset:15%
}
.form-experience form {
  overflow:visible
}
.form-step {
  isolation:isolate
}
.question__title {
  letter-spacing:-.02em
}
.field-help {
  max-inline-size:44ch
}
.precision-choices label {
  overflow:clip
}
.precision-choices label::after {
  content:"";
  position:absolute;
  inset:auto -28px -42px auto;
  inline-size:96px;
  block-size:96px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(169,133,255,.12),transparent 68%);
  opacity:0;
  transition:opacity var(--motion-control)
}
.precision-choices label:has(input:checked)::after {
  opacity:1
}
.choice-control {
  position:relative;
  z-index:1
}
.city-options {
  position:fixed;
  inset:auto;
  z-index:30;
  margin:0;
  overscroll-behavior:contain;
  background:#17101f;
  box-shadow:0 8px 18px rgba(0,0,0,.42)
}
.result-story::before {
  content:"";
  position:fixed;
  z-index:-1;
  inset:var(--header-height) 0 0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 18%,rgba(169,133,255,.09),transparent 26rem)
}
.sign-medallion {
  box-shadow:inset 0 0 0 9px rgba(255,255,255,.018),0 0 42px rgba(169,133,255,.16)
}
.sign-medallion--sun {
  box-shadow:inset 0 0 0 9px rgba(255,255,255,.018),0 0 52px rgba(231,191,120,.2)
}
.sign-medallion--moon {
  box-shadow:inset 0 0 0 9px rgba(255,255,255,.018),0 0 52px rgba(190,210,255,.14)
}
.chapter__copy h1,.chapter__copy h2 {
  letter-spacing:-.02em
}
.reading-sample p:last-child {
  margin-bottom:0
}
.story-controls {
  padding-top:8px;
  border-top:1px solid rgba(239,230,255,.06)
}
.mandala-frame {
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.34))
}
.mandala__planet--primary .mandala__planet-node {
  stroke:rgba(231,191,120,.76)
}
.mandala__planet--secondary .mandala__planet-node {
  stroke:rgba(239,230,255,.52)
}
.mandala__leader {
  stroke-dasharray:2.5 3.5
}
.mandala-inspector {
  position:relative;
  padding:12px 4px
}
.mandala-inspector::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  inline-size:1px;
  block-size:32px;
  transform:translateY(-50%);
  background:var(--gold);
  box-shadow:0 0 12px rgba(231,191,120,.42)
}
.premium-preview {
  padding-bottom:118px
}
.premium-preview article:nth-of-type(2) {
  filter:blur(.7px);
  opacity:.72
}
.premium-preview article:nth-of-type(n+3) {
  filter:blur(2.2px);
  opacity:.42
}
.premium-fade {
  inset:30% 0 0;
  background:linear-gradient(transparent 0%,rgba(11,7,16,.58) 42%,var(--night) 82%)
}
.reading-lock {
  bottom:26px;
  min-block-size:72px;
  padding:12px 18px;
  border:1px solid rgba(231,191,120,.26);
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(231,191,120,.07),rgba(169,133,255,.06))
}
.reading-lock>span {
  border-color:rgba(231,191,120,.42);
  color:var(--gold);
  box-shadow:0 0 18px rgba(231,191,120,.1)
}
@media(min-width:760px) {
  .landing__layout {
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)
  }
  .landing__art {
    position:relative;
    top:auto;
    right:auto;
    inline-size:auto;
    opacity:1;
    filter:none;
    mask-image:none
  }
  .landing__art .brand-orbit>span {
    inset:0
  }
  .button--wide {
    inline-size:auto;
    min-inline-size:260px
  }
  .form-step {
    padding-top:72px
  }
  .precision-choices:not(.treatment-choices) {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .precision-choices:not(.treatment-choices) label {
    align-content:start;
    align-items:start;
    grid-template-columns:24px;
    min-block-size:160px
  }
  .step-actions,.story-controls {
    grid-template-columns:auto minmax(240px,1fr);
    align-items:center
  }
  .step-actions .button--primary,.story-controls .button--primary {
    grid-row:1;
    grid-column:2
  }
  .step-actions .button--text,.story-controls .button--text {
    grid-row:1;
    grid-column:1
  }
  .story-stage {
    padding-top:48px
  }
  .premium-preview article {
    padding-inline:8px
  }
}
.sr-only {
  margin:0!important;
  clip:auto!important;
  clip-path:inset(50%)!important
}
.js .story-stage.is-leaving {
  transform:none;
  transition:opacity 160ms ease
}
.js .story-stage.is-leaving .chapter {
  transform:translateX(-12px);
  transition:transform 160ms ease
}
.js .story-stage[data-exit-direction="-1"].is-leaving .chapter {
  transform:translateX(12px)
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-delay:0ms!important;
    transition-duration:.01ms!important
  }
  .brand-orbit>span {
    animation:none
  }
}
/* Phase 04.6A — Golden Master */
.golden-master {
  --gm-header-height:116px;
  position:relative;
  background:#08060c
}
.golden-master::before,.golden-master::after {
  content:none
}
.app-shell,.golden-master>.journey-header,.golden-master>.result-story,.golden-master>.site-footer {
  position:relative;
  z-index:1
}
.page-container {
  inline-size:min(100%,var(--landing-width));
  margin-inline:auto;
  padding-inline:var(--page-gutter)
}
.app-atmosphere {
  position:fixed;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:radial-gradient(ellipse 82% 58% at 50% -12%,rgba(106,71,151,.22),transparent 68%),radial-gradient(ellipse 72% 52% at 92% 58%,rgba(26,57,102,.16),transparent 72%),linear-gradient(168deg,#100918 0%,#08060c 48%,#0d0813 100%)
}
.app-atmosphere__bloom,.app-atmosphere__orbit,.app-atmosphere__stars {
  position:absolute;
  display:block
}
.app-atmosphere__bloom {
  border-radius:50%;
  filter:blur(52px);
  opacity:.24;
  animation:atmosphereDrift 18s var(--ease) infinite alternate
}
.app-atmosphere__bloom--violet {
  inline-size:56vw;
  block-size:42vw;
  min-inline-size:310px;
  min-block-size:260px;
  inset:-18% auto auto -20%;
  background:rgba(118,73,174,.34)
}
.app-atmosphere__bloom--blue {
  inline-size:48vw;
  block-size:48vw;
  min-inline-size:300px;
  min-block-size:300px;
  inset:36% -28% auto auto;
  background:rgba(32,74,129,.28);
  animation-delay:-7s
}
.app-atmosphere__bloom--magenta {
  inline-size:36vw;
  block-size:30vw;
  min-inline-size:240px;
  min-block-size:220px;
  inset:auto auto -22% 18%;
  background:rgba(121,38,97,.2);
  animation-delay:-12s
}
.app-atmosphere__orbit {
  inline-size:min(92vw,760px);
  aspect-ratio:1;
  border:1px solid rgba(221,206,239,.045);
  border-radius:50%;
  transform:rotate(-18deg)
}
.app-atmosphere__orbit--one {
  inset:7% auto auto -58%
}
.app-atmosphere__orbit--two {
  inset:auto -64% -10% auto;
  inline-size:min(108vw,880px)
}
.app-atmosphere__stars {
  inset:0;
  opacity:.58;
  background:radial-gradient(circle at 8% 14%,rgba(255,255,255,.7) 0 1px,transparent 1.4px),radial-gradient(circle at 81% 9%,rgba(231,191,120,.55) 0 1px,transparent 1.5px),radial-gradient(circle at 66% 31%,rgba(255,255,255,.48) 0 1px,transparent 1.3px),radial-gradient(circle at 22% 56%,rgba(169,133,255,.5) 0 1px,transparent 1.5px),radial-gradient(circle at 88% 73%,rgba(255,255,255,.42) 0 1px,transparent 1.3px),radial-gradient(circle at 36% 88%,rgba(231,191,120,.42) 0 1px,transparent 1.5px)
}
@keyframes atmosphereDrift {
  to {
    transform:translate3d(3vw,2vh,0) scale(1.06)
  }
}
.golden-master .button {
  min-block-size:var(--button-height);
  border-radius:var(--radius-control);
  font-size:var(--type-button);
  font-weight:760;
  letter-spacing:-.01em
}
.golden-master .button--primary {
  border:0;
  background:linear-gradient(180deg,#ffa080 0%,#ff8d6d 100%);
  box-shadow:0 12px 30px rgba(255,116,84,.2),0 0 46px rgba(255,145,111,.11),inset 0 1px rgba(255,255,255,.28);
  transition:transform var(--motion-quick) var(--ease),background-color var(--motion-control),box-shadow var(--motion-control),filter var(--motion-control)
}
.golden-master .button--primary:hover {
  background:linear-gradient(180deg,#ffad91 0%,#ff9475 100%);
  box-shadow:0 14px 34px rgba(255,116,84,.28),0 0 52px rgba(255,145,111,.14),inset 0 1px rgba(255,255,255,.3)
}
.golden-master .button--primary:active {
  transform:scale(.975);
  filter:saturate(.96);
  box-shadow:0 5px 16px rgba(255,116,84,.18),inset 0 1px rgba(255,255,255,.2)
}
.golden-master .button:focus-visible {
  outline:3px solid #f4cc85;
  outline-offset:4px
}
.golden-master .button--text {
  min-block-size:48px;
  color:#cfc5d8;
  font-size:.94rem;
  font-weight:650
}
.landing {
  padding:0
}
.landing__cover {
  position:relative;
  min-block-size:100dvh;
  padding-block:max(24px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-bottom));
  display:grid;
  grid-template-rows:auto 1fr;
  align-items:center;
  justify-items:center;
  isolation:isolate
}
.landing__brand {
  z-index:2;
  justify-self:center;
  gap:11px
}
.landing__brand img {
  inline-size:44px;
  block-size:44px
}
.landing__brand span {
  font-size:.68rem;
  line-height:1.18;
  letter-spacing:.15em
}
.landing__brand strong {
  display:inline;
  color:#ff9677;
  font-size:inherit
}
.landing__art {
  position:absolute;
  z-index:0;
  inset:clamp(64px,10vh,110px) clamp(-180px,-9vw,-28px) 4%;
  display:block;
  inline-size:auto;
  overflow:hidden;
  opacity:1;
  pointer-events:none;
  mask-image:linear-gradient(180deg,transparent,#000 15%,#000 84%,transparent)
}
.landing__nebula {
  position:absolute;
  inset:8% 4% 5%;
  background:radial-gradient(ellipse at 50% 48%,rgba(91,56,139,.19),rgba(40,37,112,.09) 34%,transparent 69%),radial-gradient(ellipse at 34% 62%,rgba(48,86,145,.08),transparent 48%);
  filter:blur(16px)
}
.landing__orbit {
  position:absolute;
  left:50%;
  top:48%;
  border:1px solid rgba(224,210,240,.075);
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(-12deg)
}
.landing__orbit--outer {
  inline-size:min(96vw,920px);
  aspect-ratio:1.72
}
.landing__orbit--inner {
  inline-size:min(70vw,620px);
  aspect-ratio:1.5;
  border-color:rgba(231,191,120,.07);
  transform:translate(-50%,-50%) rotate(17deg)
}
.landing__star {
  position:absolute;
  inline-size:4px;
  block-size:4px;
  border-radius:50%;
  background:#eee6f8;
  box-shadow:0 0 12px rgba(201,177,255,.7)
}
.landing__star--one {
  left:18%;
  top:27%
}
.landing__star--two {
  right:22%;
  top:35%;
  inline-size:3px;
  block-size:3px;
  background:#e7bf78
}
.landing__star--three {
  left:29%;
  bottom:25%;
  inline-size:3px;
  block-size:3px
}
.landing__star--four {
  right:15%;
  bottom:32%;
  inline-size:2px;
  block-size:2px;
  background:#bfd2ff
}
.landing__meteor {
  position:absolute;
  top:24%;
  right:21%;
  inline-size:44px;
  block-size:1px;
  background:linear-gradient(90deg,transparent,rgba(228,217,244,.72));
  transform:rotate(-24deg);
  transform-origin:right center;
  opacity:0;
  filter:drop-shadow(0 0 4px rgba(191,210,255,.55));
  animation:landingMeteor 9s 2.4s var(--ease) infinite
}
@keyframes landingMeteor {
  0%,72%,100% {
    opacity:0;
    translate:0 0
  }
  76% {
    opacity:.52
  }
  82% {
    opacity:0;
    translate:-64px 29px
  }
}
.landing__copy {
  z-index:1;
  max-inline-size:640px;
  justify-items:center;
  text-align:center
}
.landing__copy .eyebrow {
  margin-bottom:12px;
  color:#e9c785;
  font-size:.72rem
}
.landing__copy h1 {
  max-inline-size:12.5ch;
  margin:0 0 18px;
  font-size:clamp(2.45rem,10.8vw,3.25rem);
  line-height:.98;
  letter-spacing:-.035em
}
.landing__copy .lede {
  max-inline-size:34ch;
  margin:0 0 26px;
  color:#d0c6d8;
  font-size:1rem;
  line-height:1.58;
  text-wrap:pretty
}
.landing__copy .button {
  inline-size:100%;
  max-inline-size:430px
}
.landing__copy small {
  margin-top:11px;
  color:#9f94a9;
  font-size:.77rem
}
.app-header {
  block-size:var(--gm-header-height);
  inline-size:100%;
  padding:0;
  border:0;
  background:linear-gradient(180deg,rgba(8,6,12,.62),rgba(8,6,12,.16) 72%,transparent);
  backdrop-filter:none
}
.app-header__inner {
  inline-size:min(100%,var(--form-width));
  block-size:100%;
  margin-inline:auto;
  padding:14px var(--page-gutter) 12px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:9px
}
.app-header .wordmark {
  min-block-size:40px;
  gap:9px
}
.app-header .wordmark img {
  inline-size:34px;
  block-size:34px
}
.app-header .wordmark span {
  display:inline;
  font-size:.62rem;
  letter-spacing:.14em
}
.app-header .wordmark strong {
  display:inline;
  margin-left:.2em;
  color:#ff9677;
  font-size:inherit
}
.app-header .progress {
  inline-size:100%;
  display:grid;
  gap:7px
}
.app-header .progress p {
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#958a9f;
  font-size:.69rem;
  font-weight:570;
  letter-spacing:.015em;
  text-align:left
}
.app-header .progress p strong {
  color:#d8cfdf;
  font-weight:650
}
.app-header .progress__track {
  block-size:3px;
  border-radius:999px;
  background:rgba(239,230,255,.1)
}
.app-header .progress__track>span {
  border-radius:inherit;
  background:linear-gradient(90deg,#dfb467,#f2d493);
  box-shadow:0 0 14px rgba(231,191,120,.2)
}
.progress [data-progress-total="5"][data-progress-value="1"] {
  inline-size:20%
}
.progress [data-progress-total="5"][data-progress-value="2"] {
  inline-size:40%
}
.progress [data-progress-total="5"][data-progress-value="3"] {
  inline-size:60%
}
.progress [data-progress-total="5"][data-progress-value="4"] {
  inline-size:80%
}
.progress [data-progress-total="5"][data-progress-value="5"] {
  inline-size:100%
}
.progress [data-progress-total="6"][data-progress-value="1"] {
  inline-size:16.667%
}
.progress [data-progress-total="6"][data-progress-value="2"] {
  inline-size:33.333%
}
.progress [data-progress-total="6"][data-progress-value="3"] {
  inline-size:50%
}
.progress [data-progress-total="6"][data-progress-value="4"] {
  inline-size:66.667%
}
.progress [data-progress-total="6"][data-progress-value="5"] {
  inline-size:83.333%
}
.progress [data-progress-total="6"][data-progress-value="6"] {
  inline-size:100%
}
.form-experience {
  padding-bottom:0
}
.form-experience form {
  inline-size:min(100%,var(--form-width));
  min-block-size:calc(100dvh - var(--gm-header-height));
  padding-inline:var(--page-gutter)
}
.form-step {
  padding:26px 0 max(24px,env(safe-area-inset-bottom))
}
.form-step.is-active {
  min-block-size:calc(100dvh - var(--gm-header-height));
  grid-template-rows:1fr auto;
  align-content:stretch;
  gap:24px
}
.question__number {
  margin-bottom:10px;
  color:#e9c785;
  font-size:.72rem;
  letter-spacing:.11em
}
.question__title {
  max-inline-size:15ch;
  margin-bottom:24px;
  font-size:clamp(2.15rem,9.2vw,3rem);
  line-height:1.01;
  letter-spacing:-.035em
}
.field-help {
  max-inline-size:38ch;
  margin:-12px 0 22px;
  color:#aaa0b5;
  font-size:.94rem;
  line-height:1.52
}
.question>label,.combobox>label,.time-entry>label,noscript label {
  margin-bottom:9px;
  color:#d9d0e0;
  font-size:.78rem;
  letter-spacing:.01em
}
.golden-master input[type=text],.golden-master input[type=date],.golden-master input[type=time],.golden-master input[type=search],.golden-master select {
  min-block-size:60px;
  padding-inline:18px;
  border-color:rgba(230,217,245,.2);
  border-radius:12px;
  background:rgba(14,10,20,.58);
  box-shadow:inset 0 1px rgba(255,255,255,.018)
}
.golden-master input:focus,.golden-master select:focus {
  border-color:rgba(189,157,255,.72);
  box-shadow:0 0 0 4px rgba(169,133,255,.11)
}
.precision-choices {
  gap:10px
}
.precision-choices label {
  min-block-size:78px;
  padding:14px 16px;
  border-color:rgba(230,217,245,.14);
  border-radius:14px;
  grid-template-columns:24px minmax(0,1fr);
  gap:15px;
  background:rgba(24,16,33,.45);
  box-shadow:inset 0 1px rgba(255,255,255,.018);
  transition:transform var(--motion-quick) var(--ease),border-color var(--motion-control),background-color var(--motion-control)
}
.precision-choices label::after {
  content:none
}
.precision-choices label:hover {
  border-color:rgba(230,217,245,.28);
  background:rgba(32,22,43,.58)
}
.precision-choices label:active {
  transform:scale(.985)
}
.precision-choices label:has(input:checked) {
  border-color:rgba(231,191,120,.54);
  background:linear-gradient(100deg,rgba(231,191,120,.1),rgba(169,133,255,.055))
}
.choice-control {
  inline-size:22px;
  block-size:22px;
  flex-basis:22px;
  border-color:rgba(230,217,245,.34);
  background:#0d0913
}
.choice-control>span {
  inline-size:10px;
  block-size:10px;
  background:#f0ca83;
  box-shadow:0 0 10px rgba(231,191,120,.38)
}
.choice-copy {
  gap:2px
}
.choice-copy strong {
  font-size:.96rem;
  font-weight:680
}
.choice-copy small {
  color:#a99eb3;
  font-size:.78rem;
  line-height:1.4
}
.precision-choices input:checked+.choice-control {
  border-color:#e7bf78;
  background:radial-gradient(circle,#f0ca83 0 5px,rgba(231,191,120,.08) 5.5px)
}
.precision-choices input:checked+.choice-control>span {
  opacity:1;
  transform:scale(1)
}
.step-actions {
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:0
}
.step-actions .button--text,.step-actions .button--primary {
  inline-size:100%;
  grid-row:auto;
  grid-column:auto
}
.step-actions .button--text {
  order:1;
  justify-content:flex-start
}
.step-actions .button--primary {
  order:2
}
.step-actions>span:empty {
  display:block;
  min-block-size:48px
}
.sky-loader {
  z-index:100;
  gap:18px;
  padding:var(--page-gutter);
  background:radial-gradient(circle at 50% 36%,rgba(78,46,109,.24),transparent 34rem),#07050b;
  backdrop-filter:blur(10px);
  transition:opacity 280ms var(--ease),filter 280ms var(--ease)
}
.sky-loader__eyebrow {
  color:#e9c785;
  font-size:.7rem;
  font-weight:720;
  letter-spacing:.13em;
  text-transform:uppercase
}
.loader-cosmos {
  inline-size:240px;
  block-size:240px;
  transition:transform 320ms var(--ease)
}
.loader-cosmos__ring {
  border-color:rgba(226,211,244,.16);
  transform:scale(.82)
}
.loader-cosmos__ring--outer {
  inset:1px;
  border-color:rgba(231,191,120,.22)
}
.loader-cosmos__ring--middle {
  inset:28px
}
.loader-cosmos__ring--inner {
  inset:64px
}
.loader-cosmos__star {
  position:relative;
  z-index:3;
  inline-size:9px;
  block-size:9px;
  background:#f0ca83;
  box-shadow:0 0 18px #e7bf78,0 0 52px rgba(231,191,120,.48);
  transition:opacity 260ms ease,transform 420ms var(--ease)
}
.loader-cosmos__point {
  inline-size:7px;
  block-size:7px;
  background:#c6a8ff;
  box-shadow:0 0 14px rgba(198,168,255,.62);
  transition:opacity 260ms var(--ease),transform 360ms var(--ease);
  transform:scale(.35)
}
.loader-cosmos__point--one {
  top:27px;
  left:117px
}
.loader-cosmos__point--two {
  right:43px;
  top:89px
}
.loader-cosmos__point--three {
  right:59px;
  bottom:55px
}
.loader-cosmos__point--four {
  left:58px;
  bottom:62px
}
.loader-cosmos__point--five {
  left:45px;
  top:81px
}
.loader-cosmos__connections {
  position:absolute;
  inset:0;
  inline-size:100%;
  block-size:100%;
  fill:none;
  stroke:rgba(169,133,255,.42);
  stroke-width:.8;
  stroke-linecap:round
}
.loader-cosmos__line {
  stroke-dasharray:1;
  stroke-dashoffset:1;
  transition:stroke-dashoffset 330ms var(--ease)
}
.loader-cosmos__line--two {
  transition-delay:90ms
}
.loader-cosmos__line--three {
  transition-delay:180ms
}
.loader-cosmos__line--four {
  transition-delay:270ms
}
.loader-cosmos__line--five {
  transition-delay:360ms
}
.loader-cosmos__sun {
  position:absolute;
  z-index:4;
  inline-size:34px;
  block-size:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  opacity:0;
  transform:scale(.32);
  transition:opacity 280ms ease,transform 440ms var(--ease),filter 360ms ease
}
.loader-cosmos__sun::before {
  content:"";
  inline-size:14px;
  block-size:14px;
  border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#fff1bd,#e4ab48 68%,#9d5d19);
  box-shadow:0 0 16px rgba(240,202,131,.88),0 0 44px rgba(231,191,120,.42)
}
.loader-cosmos__sun::after {
  content:"";
  position:absolute;
  inset:-14px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(231,191,120,.18),transparent 67%)
}
.sky-loader p {
  min-block-size:26px;
  color:#e4dbe9;
  font-size:1.05rem;
  font-weight:520;
  letter-spacing:-.01em;
  transition:opacity 160ms ease,transform 220ms var(--ease)
}
.sky-loader__pulse {
  display:flex;
  gap:6px
}
.sky-loader__pulse i {
  inline-size:5px;
  block-size:5px;
  border-radius:50%;
  background:rgba(216,207,223,.24);
  transition:background-color 240ms ease,box-shadow 240ms ease
}
.sky-loader[data-phase=point] .sky-loader__pulse i:nth-child(1),.sky-loader[data-phase=rings] .sky-loader__pulse i:nth-child(-n+2),.sky-loader[data-phase=points] .sky-loader__pulse i:nth-child(-n+3),.sky-loader[data-phase=ready] .sky-loader__pulse i {
  background:#e7bf78;
  box-shadow:0 0 8px rgba(231,191,120,.4)
}
.sky-loader[data-phase=rings] .loader-cosmos__ring,.sky-loader[data-phase=points] .loader-cosmos__ring,.sky-loader[data-phase=ready] .loader-cosmos__ring {
  opacity:1;
  transform:scale(1)
}
.sky-loader[data-phase=points] .loader-cosmos__point,.sky-loader[data-phase=ready] .loader-cosmos__point {
  opacity:1;
  transform:scale(1)
}
.sky-loader[data-phase=points] .loader-cosmos__line,.sky-loader[data-phase=ready] .loader-cosmos__line {
  stroke-dashoffset:0
}
.sky-loader[data-phase=ready] .loader-cosmos__star {
  opacity:0;
  transform:scale(2.4)
}
.sky-loader[data-phase=ready] .loader-cosmos__sun {
  opacity:1;
  transform:scale(1)
}
.sky-loader.is-completing {
  opacity:0;
  filter:blur(7px)
}
.sky-loader.is-completing .loader-cosmos {
  transform:scale(1.16)
}
.sky-loader.is-completing .loader-cosmos__sun {
  transform:scale(1.5);
  filter:brightness(1.18)
}
.result-header .app-header__inner {
  inline-size:min(100%,var(--reading-width))
}
.result-story {
  z-index:1
}
.story-stage--chapter {
  padding:20px var(--page-gutter) max(32px,env(safe-area-inset-bottom));
  min-block-size:calc(100dvh - var(--gm-header-height));
  overflow:visible
}
.chapter--golden {
  gap:22px
}
.chapter-astro-visual {
  position:relative;
  inline-size:clamp(172px,48vw,220px);
  padding-bottom:26px;
  display:grid;
  place-items:center
}
.chapter-astro-visual>.sign-medallion {
  inline-size:100%
}
.chapter-astro-visual--dual {
  inline-size:min(76vw,286px);
  padding-top:12px
}
.chapter-astro-visual--dual .dual-signs {
  inline-size:100%
}
.chapter-astro-visual--dual .sign-medallion {
  inline-size:clamp(126px,37vw,156px)
}
.story-stage--sun .sign-medallion {
  border-color:rgba(231,191,120,.32);
  background:radial-gradient(circle at 50% 46%,rgba(121,74,166,.22),rgba(17,11,25,.72) 57%,transparent 58%);
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.014),0 0 58px rgba(123,77,168,.17),0 0 96px rgba(231,191,120,.055)
}
.story-stage--sun .sign-medallion::before {
  content:"";
  position:absolute;
  inset:-13%;
  border:1px solid rgba(230,217,245,.08);
  border-radius:50%
}
.story-stage--sun .sign-medallion::after {
  inset:14px;
  border-color:rgba(231,191,120,.13)
}
.story-stage--sun .sign-medallion .astro-glyph {
  inline-size:58%;
  block-size:58%
}
.story-stage--moon .sign-medallion {
  border-color:rgba(190,210,255,.28);
  color:#d9e3ff;
  background:radial-gradient(circle at 43% 39%,rgba(104,126,181,.2),rgba(18,15,31,.74) 58%,transparent 59%);
  box-shadow:inset 0 0 0 10px rgba(222,230,255,.012),0 0 56px rgba(132,157,218,.14),0 0 92px rgba(169,133,255,.06)
}
.story-stage--moon .sign-medallion::before {
  content:"";
  position:absolute;
  inset:-13%;
  border:1px solid rgba(190,210,255,.07);
  border-radius:50%
}
.story-stage--moon .sign-medallion::after {
  inset:14px;
  border-color:rgba(190,210,255,.12)
}
.story-stage--third .sign-medallion {
  border-color:rgba(197,172,246,.28);
  background:radial-gradient(circle at 48% 42%,rgba(105,73,150,.22),rgba(17,12,27,.75) 58%,transparent 59%);
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.012),0 0 58px rgba(112,75,162,.15)
}
.story-stage--ascendant .sign-medallion {
  border-color:rgba(198,177,239,.34);
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.012),0 0 64px rgba(169,133,255,.17)
}
.story-stage--alternative .sign-medallion {
  border-color:rgba(231,191,120,.27)
}
.chapter-kicker--context {
  position:absolute;
  z-index:2;
  left:50%;
  bottom:-2px;
  margin:0;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:9px;
  transform:translateX(-50%)
}
.chapter-kicker--context .astro-emblem {
  --emblem-size:38px
}
.chapter-kicker--context .astro-emblem__halo {
  inset:-12px;
  filter:blur(6px)
}
.chapter-kicker--context .astro-emblem__body {
  border:0;
  box-shadow:none
}
.chapter-kicker--context .eyebrow {
  font-size:.66rem;
  white-space:nowrap
}
.chapter-kicker--solar .astro-emblem__halo {
  background:radial-gradient(circle,rgba(231,191,120,.28),transparent 68%)
}
.chapter-kicker--solar .astro-emblem__body {
  background:radial-gradient(circle,rgba(238,190,103,.2),rgba(45,27,29,.56) 52%,transparent 70%)
}
.chapter-kicker--solar .eyebrow {
  color:#e9c785
}
.chapter-kicker--lunar .astro-emblem__halo {
  background:radial-gradient(circle,rgba(190,210,255,.3),transparent 68%)
}
.chapter-kicker--lunar .astro-emblem__body {
  color:#dbe4ff;
  background:radial-gradient(circle,rgba(190,210,255,.18),rgba(25,25,48,.54) 52%,transparent 70%)
}
.chapter-kicker--lunar .eyebrow {
  color:#cbd7ff
}
.chapter-kicker--third .astro-emblem__body {
  background:radial-gradient(circle,rgba(169,133,255,.17),rgba(29,19,42,.56) 52%,transparent 70%)
}
.chapter-kicker--third .eyebrow {
  color:#dcc9ff
}
.story-stage--chapter .chapter__copy h1,.story-stage--chapter .chapter__copy h2 {
  max-inline-size:14ch;
  margin:0 auto 12px;
  font-size:clamp(2.4rem,10vw,3.15rem);
  line-height:1;
  letter-spacing:-.035em
}
.story-stage--chapter .story-lede {
  max-inline-size:34ch;
  margin:0 auto 24px;
  color:#cfc5d8;
  font-size:1rem;
  line-height:1.55
}
.story-stage--chapter .reading-sample {
  max-inline-size:37rem;
  color:#d5ccdc;
  font-size:1rem;
  line-height:1.7
}
.story-stage--chapter .reading-sample p {
  margin-bottom:18px
}
.story-stage--chapter .story-controls {
  position:static;
  z-index:auto;
  inset:auto;
  inline-size:100%;
  margin:6px 0 0;
  padding:20px 0 max(4px,env(safe-area-inset-bottom));
  border-top:1px solid rgba(239,230,255,.08);
  background:transparent
}
.story-stage--chapter .story-controls .button--primary {
  inline-size:100%
}
.story-stage--chapter .possibility-names {
  margin-bottom:18px
}
.story-stage--chapter .possibility-names strong {
  border-color:rgba(190,210,255,.2);
  background:rgba(190,210,255,.035)
}
.js .landing__brand,.js .landing__art,.js .landing__copy>.eyebrow,.js .landing__copy>h1,.js .landing__copy>.lede,.js .landing__copy>.button,.js .landing__copy>small {
  animation:gmReveal 620ms var(--ease) both
}
.js .landing__art {
  animation-delay:70ms
}
.js .landing__copy>.eyebrow {
  animation-delay:140ms
}
.js .landing__copy>h1 {
  animation-delay:200ms
}
.js .landing__copy>.lede {
  animation-delay:270ms
}
.js .landing__copy>.button {
  animation-delay:340ms
}
.js .landing__copy>small {
  animation-delay:400ms
}
@keyframes gmReveal {
  from {
    opacity:0;
    transform:translateY(10px)
  }
  to {
    opacity:1;
    transform:none
  }
}
.js .story-stage--chapter.is-active .chapter-kicker--context {
  opacity:0;
  transform:translate(-50%,8px);
  animation:chapterContext 440ms 220ms var(--ease) forwards
}
.js .story-stage--sun.is-active .chapter-astro-visual {
  opacity:0;
  transform:scale(.9);
  animation:solarReveal 620ms 100ms var(--ease) forwards
}
.js .story-stage--sun.is-active .chapter-kicker,.js .story-stage--sun.is-active .sign-medallion {
  opacity:1;
  animation:none
}
.js .story-stage--sun.is-active .chapter-kicker {
  transform:translateX(-50%)
}
.js .story-stage--moon.is-active .chapter-astro-visual>.sign-medallion,.js .story-stage--third.is-active .chapter-astro-visual>.sign-medallion {
  animation-delay:100ms
}
.js body[data-just-calculated=true]:not(.is-map-revealed) .story-stage--sun.is-active .chapter-astro-visual {
  animation:none;
  opacity:0;
  transform:scale(.86)
}
.js body[data-just-calculated=true].is-map-revealed .story-stage--sun.is-active .chapter-astro-visual {
  animation:solarRevealFromMap 720ms var(--ease) both
}
@keyframes chapterContext {
  to {
    opacity:1;
    transform:translate(-50%,0)
  }
}
@keyframes solarReveal {
  to {
    opacity:1;
    transform:scale(1)
  }
}
@keyframes solarRevealFromMap {
  0% {
    opacity:0;
    transform:scale(.88);
    filter:blur(9px) brightness(1.35)
  }
  55% {
    opacity:1;
    filter:blur(0) brightness(1.1)
  }
  100% {
    opacity:1;
    transform:scale(1);
    filter:none
  }
}
.js .story-stage--synthesis.is-active .synthesis-point {
  opacity:0;
  transform:translateY(-8px);
  animation:synthesisPointIn 460ms var(--ease) forwards
}
.js .story-stage--synthesis.is-active .synthesis-point--sun {
  animation-delay:420ms
}
.js .story-stage--synthesis.is-active .synthesis-point--moon {
  animation-delay:500ms
}
.js .story-stage--synthesis.is-active .synthesis-point--third {
  animation-delay:580ms
}
.js .story-stage--synthesis.is-active .synthesis-weave__threads path {
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:draw 620ms var(--ease) forwards
}
.js .story-stage--synthesis.is-active .synthesis-weave__threads path:first-child {
  animation-delay:660ms
}
.js .story-stage--synthesis.is-active .synthesis-weave__threads path:nth-child(2) {
  animation-delay:730ms
}
.js .story-stage--synthesis.is-active .synthesis-weave__threads path:last-child {
  animation-delay:800ms
}
.js .story-stage--synthesis.is-active .synthesis-weave__meeting {
  opacity:0;
  transform:translateX(-50%) scale(.3);
  animation:synthesisMeeting 420ms 940ms var(--ease) forwards
}
.js .story-stage--synthesis.is-active .synthesis-reading {
  opacity:0;
  transform:translateY(10px);
  animation:chapterItem 480ms 980ms var(--ease) forwards
}
.js .story-stage--synthesis.is-active .story-controls {
  animation-delay:1120ms
}
@keyframes synthesisPointIn {
  to {
    opacity:1;
    transform:none
  }
}
@keyframes synthesisMeeting {
  to {
    opacity:1;
    transform:translateX(-50%) scale(1)
  }
}
@media(min-width:760px) {
  .landing__cover {
    inline-size:min(100%,1100px);
    padding-block:34px 52px
  }
  .landing__art {
    inset:74px -18vw 2%
  }
  .landing__copy h1 {
    max-inline-size:13ch;
    font-size:clamp(3.5rem,5.2vw,4.65rem)
  }
  .landing__copy .lede {
    font-size:1.08rem
  }
  .landing__copy .button {
    max-inline-size:360px
  }
  .form-step {
    padding-top:42px
  }
  .form-step.is-active {
    gap:30px
  }
  .step-actions,.story-controls {
    display:flex;
    grid-template-columns:none
  }
  .step-actions .button--text,.step-actions .button--primary,.story-controls .button--primary {
    grid-row:auto;
    grid-column:auto
  }
  .precision-choices:not(.treatment-choices) {
    grid-template-columns:1fr
  }
  .precision-choices:not(.treatment-choices) label {
    min-block-size:78px;
    grid-template-columns:24px minmax(0,1fr);
    align-content:center;
    align-items:center
  }
  .story-stage--synthesis {
    padding-top:38px
  }
  .chapter--synthesis {
    gap:24px
  }
  .synthesis-intro h2 {
    max-inline-size:18ch;
    font-size:3.55rem
  }
  .synthesis-weave {
    min-block-size:172px
  }
  .synthesis-reading {
    padding-block:22px
  }
  .story-stage--synthesis .story-controls {
    display:flex
  }
  .story-stage--synthesis .story-controls .button--primary {
    inline-size:auto;
    min-inline-size:280px;
    margin-left:auto
  }
}
@media(min-width:960px) {
  .result-header .app-header__inner {
    inline-size:min(100%,960px)
  }
  .story-stage--chapter {
    padding-bottom:max(38px,env(safe-area-inset-bottom))
  }
  .chapter--golden {
    inline-size:min(100%,960px);
    grid-template-columns:300px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:start;
    column-gap:72px;
    row-gap:22px;
    padding-top:34px
  }
  .chapter--golden .chapter-astro-visual {
    grid-column:1;
    grid-row:1/3;
    inline-size:270px;
    margin-top:16px
  }
  .chapter--golden .chapter-astro-visual--dual {
    inline-size:300px
  }
  .chapter--golden .chapter-astro-visual--dual .sign-medallion {
    inline-size:158px
  }
  .story-stage--chapter .chapter__copy {
    grid-column:2;
    text-align:left
  }
  .story-stage--chapter .chapter__copy h1,.story-stage--chapter .chapter__copy h2,.story-stage--chapter .story-lede,.story-stage--chapter .reading-sample {
    margin-inline:0
  }
  .story-stage--chapter .chapter__copy h1,.story-stage--chapter .chapter__copy h2 {
    font-size:3.85rem
  }
  .story-stage--chapter .story-controls {
    grid-column:2;
    inline-size:100%;
    padding:20px 0 0
  }
  .story-stage--chapter .story-controls .button--primary {
    inline-size:auto;
    min-inline-size:280px;
    margin-left:auto
  }
}
@media(max-height:820px) and (max-width:759px) {
  .landing__cover {
    padding-block:18px 20px
  }
  .landing__art {
    inset:54px -30vw 2%
  }
  .landing__copy h1 {
    font-size:clamp(2.2rem,10vw,2.8rem);
    margin-bottom:14px
  }
  .landing__copy .lede {
    margin-bottom:20px
  }
  .form-step {
    padding-top:18px
  }
  .precision-choices label {
    min-block-size:72px
  }
  .story-stage--sun {
    padding-top:14px
  }
  .chapter-astro-visual {
    inline-size:164px
  }
  .chapter--golden-sun {
    gap:18px
  }
}
@media(prefers-reduced-motion:reduce) {
  .app-atmosphere__bloom,.landing__meteor,.js .landing__brand,.js .landing__art,.js .landing__copy>* {
    animation:none!important
  }
  .sky-loader.is-completing {
    filter:none
  }
  .js .story-stage--sun.is-active .chapter-astro-visual,.js body[data-just-calculated=true].is-map-revealed .story-stage--sun.is-active .chapter-astro-visual {
    animation:none;
    opacity:1;
    transform:none;
    filter:none
  }
  .js .story-stage--chapter.is-active .chapter-kicker--context {
    animation:none;
    opacity:1;
    transform:translateX(-50%)
  }
  .js .story-stage--synthesis.is-active .synthesis-point,.js .story-stage--synthesis.is-active .synthesis-weave__meeting,.js .story-stage--synthesis.is-active .synthesis-reading {
    animation:none;
    opacity:1;
    transform:none
  }
  .js .story-stage--synthesis.is-active .synthesis-weave__meeting {
    transform:translateX(-50%)
  }
  .js .story-stage--synthesis.is-active .synthesis-weave__threads path {
    animation:none;
    stroke-dashoffset:0
  }
}
.no-js body:not([data-just-calculated=true]) .sky-loader {
  display:none
}
/* Phase 04.6D — Mandala astral */
.story-stage--mandala {
  padding:26px 12px max(40px,env(safe-area-inset-bottom));
  overflow:visible
}
.chapter--mandala {
  inline-size:min(100%,1040px);
  gap:24px
}
.mandala-intro {
  padding-inline:12px
}
.mandala-intro h2 {
  max-inline-size:15ch;
  margin:8px auto 12px;
  font-size:clamp(2.25rem,10vw,3.35rem);
  letter-spacing:-.035em
}
.mandala-intro>p:not(.eyebrow) {
  max-inline-size:40ch;
  color:#cfc5d8;
  line-height:1.58;
  text-wrap:pretty
}
.mandala-area {
  inline-size:100%;
  display:grid;
  justify-items:stretch;
  gap:16px
}
.mandala-visual {
  min-inline-size:0
}
.mandala-frame {
  position:relative;
  inline-size:100%;
  aspect-ratio:1;
  border-radius:50%;
  overflow:visible;
  background:radial-gradient(circle at 50% 47%,rgba(93,55,128,.16),rgba(15,10,21,.08) 61%,transparent 72%);
  filter:drop-shadow(0 22px 46px rgba(0,0,0,.38));
  isolation:isolate
}
.mandala-frame::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:8%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(169,133,255,.075),transparent 67%);
  filter:blur(18px)
}
.mandala {
  inline-size:100%;
  block-size:100%;
  overflow:visible
}
.mandala__atmosphere {
  fill:url(#mandala-sky);
  stroke:none
}
.mandala__sky {
  fill:rgba(15,10,21,.32);
  stroke:rgba(231,191,120,.58);
  stroke-width:1.45
}
.mandala__ring {
  fill:none;
  stroke:rgba(235,225,246,.22);
  stroke-width:1
}
.mandala__ring--zodiac-outer {
  stroke:rgba(231,191,120,.36)
}
.mandala__ring--zodiac-inner {
  stroke:rgba(235,225,246,.16)
}
.mandala__orbit {
  fill:none;
  stroke:rgba(222,207,239,.1);
  stroke-width:.9
}
.mandala__orbit--inner {
  stroke:rgba(231,191,120,.12)
}
.mandala__sector {
  stroke:rgba(235,225,246,.15);
  stroke-width:.85
}
.mandala__house-line {
  stroke:rgba(192,167,231,.22);
  stroke-width:.85
}
.mandala__house-number {
  fill:#a99fb3;
  font:600 15px var(--font-body);
  text-anchor:middle;
  dominant-baseline:central
}
.mandala__angle-tick {
  stroke:rgba(231,191,120,.72);
  stroke-width:2
}
.mandala__angle-tick--dsc,.mandala__angle-tick--ic {
  stroke:rgba(216,201,232,.4);
  stroke-width:1.4
}
.mandala__angle {
  fill:#f0ce8d;
  stroke:#0b0710;
  stroke-width:4;
  paint-order:stroke fill;
  font:750 17px var(--font-body);
  letter-spacing:.045em;
  text-anchor:middle;
  dominant-baseline:central
}
.mandala__zodiac {
  color:#e7bf78;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(231,191,120,.12))
}
.mandala__aspect {
  vector-effect:non-scaling-stroke;
  stroke-width:1.15;
  opacity:0;
  transition:opacity var(--motion-control),stroke-width var(--motion-control)
}
.mandala-frame.show-aspects .mandala__aspect--primary {
  opacity:.5
}
.mandala-frame.show-aspects .mandala__aspect--secondary {
  opacity:0
}
.mandala__aspect--flow {
  stroke:#8fbec3
}
.mandala__aspect--dynamic {
  stroke:#dc846f;
  stroke-dasharray:5 4
}
.mandala__aspect--type-conjunction {
  stroke-width:1.7
}
.mandala__leader {
  stroke:rgba(233,223,244,.42);
  stroke-width:1;
  stroke-dasharray:3 4;
  vector-effect:non-scaling-stroke
}
.mandala__leader.mandala__planet--uncertain {
  stroke-dasharray:1 5
}
.mandala__anchor {
  fill:#e2d8e9;
  opacity:.72
}
.mandala__anchor.mandala__planet--uncertain {
  fill:#b99de9
}
.mandala__planet {
  cursor:pointer;
  outline:none;
  transition:opacity var(--motion-control),filter var(--motion-control)
}
.mandala__planet-hit {
  fill:transparent;
  pointer-events:all
}
.mandala__planet-node {
  fill:#17101f;
  stroke:rgba(239,230,255,.68);
  stroke-width:1.3;
  transition:fill var(--motion-control),stroke var(--motion-control),stroke-width var(--motion-control)
}
.mandala__planet--primary .mandala__planet-node {
  fill:#201526;
  stroke:#e7bf78;
  stroke-width:1.7
}
.mandala__planet--secondary .mandala__planet-node {
  stroke:rgba(225,214,236,.62)
}
.mandala__planet--uncertain .mandala__planet-node {
  stroke-dasharray:3 2
}
.mandala__planet-glyph {
  color:#f7f2fa;
  pointer-events:none
}
.mandala__planet--primary .mandala__planet-glyph {
  color:#f0ca83
}
.mandala__planet.is-selected {
  opacity:1!important;
  filter:drop-shadow(0 0 10px rgba(231,191,120,.32))
}
.mandala__planet.is-selected .mandala__planet-node,.mandala__planet:hover .mandala__planet-node {
  fill:#30203d;
  stroke:#f0ca83;
  stroke-width:2.4
}
.mandala-frame[data-active-planet] .mandala__planet:not(.is-selected) {
  opacity:.66
}
.mandala-frame[data-active-planet] .mandala__aspect {
  opacity:.035
}
.mandala-frame.show-aspects[data-active-planet] .mandala__aspect.is-connected {
  opacity:.9;
  stroke-width:1.8
}
.mandala__center-halo {
  fill:rgba(169,133,255,.08);
  stroke:rgba(231,191,120,.08);
  stroke-width:1
}
.mandala__center {
  fill:rgba(9,7,13,.96);
  stroke:rgba(231,191,120,.34);
  stroke-width:1.2
}
.mandala__center-core {
  fill:#f0ca83;
  filter:drop-shadow(0 0 7px rgba(231,191,120,.7))
}
.mandala__aspect-reveal {
  transform-origin:center;
  transform-box:fill-box
}
.mandala-context {
  min-inline-size:0;
  display:grid;
  align-content:start;
  gap:14px
}
.mandala-inspector {
  position:relative;
  inline-size:100%;
  min-block-size:70px;
  padding:12px 8px;
  border-block:1px solid rgba(239,230,255,.11);
  display:flex;
  align-items:center;
  gap:14px
}
.mandala-inspector::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  inline-size:1px;
  block-size:34px;
  transform:translateY(-50%);
  background:#e7bf78;
  box-shadow:0 0 13px rgba(231,191,120,.42)
}
.mandala-inspector .astro-emblem {
  --emblem-size:42px
}
.mandala-inspector p {
  margin:0;
  display:grid
}
.mandala-inspector strong {
  font-size:1rem
}
.mandala-inspector p span {
  color:#aaa0b5;
  font-size:.86rem
}
.mandala-legend {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  color:#94899e;
  font-size:.72rem
}
.mandala-legend span {
  display:inline-flex;
  align-items:center;
  gap:7px
}
.mandala-legend__line {
  inline-size:27px;
  block-size:1px;
  background:#8fbec3
}
.mandala-legend__line--dynamic {
  background:repeating-linear-gradient(90deg,#dc846f 0 5px,transparent 5px 9px)
}
.mandala-caption {
  inline-size:100%;
  margin:0;
  padding:13px 0;
  border:0;
  border-block:1px solid rgba(239,230,255,.09);
  border-radius:0;
  background:transparent
}
.story-stage--mandala .story-controls {
  inline-size:100%;
  padding-inline:12px
}
.mandala[data-state=without-houses] .mandala__orbit {
  stroke:rgba(222,207,239,.14)
}
.js .story-stage--mandala.is-active .mandala-area {
  opacity:1;
  transform:none;
  animation:none
}
.js .story-stage--mandala.is-active .mandala__layer--center {
  opacity:0;
  transform:scale(.55);
  transform-origin:center;
  animation:mandalaCenterIn 260ms 80ms var(--ease) forwards
}
.js .story-stage--mandala.is-active .mandala__sky {
  stroke-dasharray:1785;
  stroke-dashoffset:1785;
  animation:draw 500ms 140ms var(--ease) forwards
}
.js .story-stage--mandala.is-active .mandala__ring,.js .story-stage--mandala.is-active .mandala__orbit {
  opacity:0;
  animation:mandalaIn 360ms 220ms var(--ease) forwards
}
.js .story-stage--mandala.is-active .mandala__layer--zodiac {
  opacity:0;
  animation:mandalaIn 330ms 390ms var(--ease) forwards
}
.js .story-stage--mandala.is-active .mandala__layer--houses {
  opacity:0;
  animation:mandalaIn 330ms 530ms var(--ease) forwards
}
.js .story-stage--mandala.is-active .mandala__layer--planets {
  opacity:0;
  animation:mandalaIn 320ms 680ms var(--ease) forwards
}
.js .story-stage--mandala.is-active .mandala__leader {
  stroke-dasharray:48;
  stroke-dashoffset:48;
  animation:draw 330ms 780ms var(--ease) forwards
}
.js .story-stage--mandala.is-active .mandala__aspect-reveal {
  transform:scale(0);
  animation:mandalaAspectReveal 420ms 900ms var(--ease) forwards
}
.js .story-stage--mandala.is-active .mandala__planet[data-planet=sun] .mandala__planet-node {
  animation:sunGlow 360ms 1180ms var(--ease) both
}
@keyframes mandalaCenterIn {
  to {
    opacity:1;
    transform:scale(1)
  }
}
@keyframes mandalaAspectReveal {
  to {
    transform:scale(1)
  }
}
@media(min-width:760px) {
  .story-stage--mandala {
    padding:34px var(--page-gutter) max(44px,env(safe-area-inset-bottom))
  }
  .chapter--mandala {
    gap:28px
  }
  .mandala-intro h2 {
    font-size:3.45rem
  }
  .mandala-area {
    inline-size:min(100%,720px);
    margin-inline:auto
  }
  .story-stage--mandala .story-controls {
    inline-size:min(100%,720px);
    padding-inline:0;
    display:flex
  }
  .story-stage--mandala .story-controls .button--primary {
    inline-size:auto;
    min-inline-size:280px;
    margin-left:auto
  }
}
@media(min-width:1040px) {
  .story-stage--mandala {
    padding-top:34px
  }
  .chapter--mandala {
    grid-template-columns:minmax(0,650px) minmax(240px,300px);
    grid-template-rows:auto auto auto;
    column-gap:64px;
    row-gap:24px;
    align-items:start
  }
  .mandala-intro {
    grid-column:1/-1;
    padding:0;
    text-align:left
  }
  .mandala-intro h2,.mandala-intro>p:not(.eyebrow) {
    margin-inline:0
  }
  .mandala-intro h2 {
    max-inline-size:none;
    font-size:3.7rem
  }
  .mandala-area {
    grid-column:1/-1;
    inline-size:100%;
    grid-template-columns:minmax(0,650px) minmax(240px,300px);
    gap:64px;
    align-items:center
  }
  .mandala-context {
    padding-top:44px
  }
  .story-stage--mandala .story-controls {
    grid-column:1/-1;
    inline-size:100%;
    padding-top:22px;
    border-top:1px solid rgba(239,230,255,.08)
  }
}
@media(prefers-reduced-motion:reduce) {
  .js .story-stage--mandala.is-active .mandala__layer--center,.js .story-stage--mandala.is-active .mandala__sky,.js .story-stage--mandala.is-active .mandala__ring,.js .story-stage--mandala.is-active .mandala__orbit,.js .story-stage--mandala.is-active .mandala__layer--zodiac,.js .story-stage--mandala.is-active .mandala__layer--houses,.js .story-stage--mandala.is-active .mandala__layer--planets,.js .story-stage--mandala.is-active .mandala__leader,.js .story-stage--mandala.is-active .mandala__aspect-reveal,.js .story-stage--mandala.is-active .mandala__planet[data-planet=sun] .mandala__planet-node {
    animation:none!important;
    opacity:1;
    transform:none;
    stroke-dashoffset:0;
    filter:none
  }
}
/* Phase 04.6E — Premium editorial transition */
.story-stage--premium {
  padding:34px 20px max(52px,env(safe-area-inset-bottom));
  overflow:hidden
}
.chapter--premium {
  inline-size:min(100%,960px);
  gap:0;
  align-content:start
}
.premium-intro {
  position:relative;
  padding-bottom:30px;
  text-align:left
}
.premium-intro::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  inline-size:54px;
  block-size:1px;
  background:linear-gradient(90deg,#e7bf78,rgba(231,191,120,0));
  box-shadow:0 0 14px rgba(231,191,120,.28)
}
.premium-intro h2 {
  max-inline-size:11ch;
  margin:8px 0 16px;
  font-size:clamp(2.65rem,12vw,4rem);
  line-height:.98;
  letter-spacing:-.04em
}
.premium-intro>p:not(.eyebrow) {
  max-inline-size:39ch;
  margin:0;
  color:#d1c6d8;
  font-size:1rem;
  line-height:1.66;
  text-wrap:pretty
}
.premium-preview {
  position:relative;
  inline-size:100%;
  padding:8px 0 0;
  isolation:isolate
}
.premium-preview article {
  position:relative;
  padding:27px 0;
  border-bottom:1px solid rgba(239,230,255,.1);
  filter:none!important;
  opacity:1!important
}
.premium-preview article::before {
  content:"";
  position:absolute;
  left:0;
  top:30px;
  inline-size:4px;
  block-size:4px;
  border-radius:50%;
  background:#e7bf78;
  box-shadow:0 0 12px rgba(231,191,120,.66)
}
.premium-preview article p {
  margin:0 0 8px;
  padding-left:15px;
  color:#d8af69;
  font-size:.68rem;
  font-weight:720;
  letter-spacing:.115em;
  text-transform:uppercase
}
.premium-preview article h3 {
  max-inline-size:21ch;
  margin:0 0 9px;
  font:400 clamp(1.72rem,8vw,2.2rem)/1.06 var(--font-display);
  letter-spacing:-.025em
}
.premium-preview article span {
  display:block;
  max-inline-size:38ch;
  color:#bfb4c8;
  font-size:.94rem;
  line-height:1.58
}
.premium-thread--glimpse {
  padding-bottom:34px!important
}
.premium-thread--glimpse::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  block-size:36%;
  background:linear-gradient(transparent,rgba(12,8,17,.82));
  pointer-events:none
}
.premium-horizon {
  position:relative;
  display:grid;
  gap:0;
  padding:8px 0 68px;
  mask-image:linear-gradient(#000 0%,#000 48%,transparent 100%)
}
.premium-horizon p {
  margin:0;
  padding:17px 0;
  border-bottom:1px solid rgba(239,230,255,.07);
  display:grid;
  gap:5px
}
.premium-horizon span {
  color:#a79baa;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase
}
.premium-horizon strong {
  color:#cbc1d2;
  font:400 1.23rem/1.2 var(--font-display)
}
.premium-fade {
  position:absolute;
  z-index:2;
  inset:auto -20px 0;
  block-size:118px;
  background:linear-gradient(transparent,rgba(11,7,16,.9) 63%,var(--night) 94%);
  pointer-events:none
}
.premium-fade span {
  position:absolute;
  left:50%;
  bottom:15px;
  inline-size:5px;
  block-size:5px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#e7bf78;
  box-shadow:0 0 0 6px rgba(231,191,120,.045),0 0 20px rgba(231,191,120,.42)
}
.premium-conversion {
  position:relative;
  padding:30px 0 0;
  border-top:1px solid rgba(231,191,120,.2);
  text-align:left
}
.premium-lock-mark {
  inline-size:44px;
  block-size:44px;
  border:1px solid rgba(231,191,120,.34);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#e7bf78;
  background:radial-gradient(circle,rgba(231,191,120,.1),transparent 72%);
  box-shadow:0 0 24px rgba(231,191,120,.08)
}
.premium-lock-mark svg {
  inline-size:19px;
  block-size:19px
}
.premium-lock-label {
  margin:17px 0 8px;
  color:#d8af69;
  font-size:.68rem;
  font-weight:720;
  letter-spacing:.11em;
  text-transform:uppercase
}
.premium-conversion h3 {
  max-inline-size:20ch;
  margin:0 0 14px;
  font:400 clamp(1.85rem,8.3vw,2.55rem)/1.08 var(--font-display);
  letter-spacing:-.03em
}
.premium-conversion>p:not(.premium-lock-label):not(.premium-availability):not(.premium-status) {
  max-inline-size:41ch;
  margin:0;
  color:#c9bfce;
  line-height:1.66
}
.premium-depths {
  margin:28px 0 30px;
  border-block:1px solid rgba(239,230,255,.1)
}
.premium-depths p {
  margin:0;
  padding:16px 0;
  display:grid;
  gap:4px
}
.premium-depths p+p {
  border-top:1px solid rgba(239,230,255,.075)
}
.premium-depths strong {
  color:#f2eaf5;
  font-size:.91rem
}
.premium-depths span {
  color:#a99ead;
  font-size:.81rem;
  line-height:1.48
}
.premium-cta {
  inline-size:100%;
  min-block-size:58px;
  padding-inline:18px;
  text-align:center
}
.premium-availability {
  margin:12px 0 0;
  color:#908493;
  font-size:.76rem;
  text-align:center
}
.premium-status {
  margin:14px 0 0;
  padding:12px 0;
  border-block:1px solid rgba(231,191,120,.18);
  color:#cfc4d5;
  font-size:.79rem;
  line-height:1.5;
  text-align:center
}
.premium-status[hidden] {
  display:none
}
.premium-status:focus {
  outline:none
}
.premium-status:focus-visible {
  outline:2px solid #e7bf78;
  outline-offset:4px
}
.js .story-stage--premium.is-active .premium-intro,.js .story-stage--premium.is-active .premium-thread,.js .story-stage--premium.is-active .premium-horizon,.js .story-stage--premium.is-active .premium-conversion {
  opacity:0;
  transform:translateY(10px);
  animation:chapterItem 460ms var(--ease) forwards
}
.js .story-stage--premium.is-active .premium-intro {
  animation-delay:120ms
}
.js .story-stage--premium.is-active .premium-thread--lead {
  animation-delay:300ms
}
.js .story-stage--premium.is-active .premium-thread--glimpse {
  animation-delay:440ms
}
.js .story-stage--premium.is-active .premium-horizon {
  animation-delay:560ms
}
.js .story-stage--premium.is-active .premium-conversion {
  animation-delay:720ms
}
@media(min-width:760px) {
  .story-stage--premium {
    padding:48px var(--page-gutter) max(64px,env(safe-area-inset-bottom))
  }
  .chapter--premium {
    grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr);
    column-gap:68px;
    align-items:start
  }
  .premium-intro,.premium-preview {
    grid-column:1
  }
  .premium-conversion {
    grid-column:2;
    grid-row:1/3;
    margin-top:58px;
    padding:34px 0 0
  }
  .premium-intro h2 {
    font-size:3.75rem
  }
  .premium-preview article h3 {
    font-size:2.18rem
  }
  .premium-fade {
    inset-inline:-24px
  }
  .premium-cta {
    inline-size:auto;
    min-inline-size:310px
  }
  .premium-availability,.premium-status {
    text-align:left
  }
}
@media(min-width:1200px) {
  .story-stage--premium {
    padding-top:62px
  }
  .chapter--premium {
    column-gap:90px
  }
  .premium-conversion {
    margin-top:72px
  }
}
@media(prefers-reduced-motion:reduce) {
  .js .story-stage--premium.is-active .premium-intro,.js .story-stage--premium.is-active .premium-thread,.js .story-stage--premium.is-active .premium-horizon,.js .story-stage--premium.is-active .premium-conversion {
    animation:none!important;
    opacity:1;
    transform:none
  }
}
/* Phase 04.6F — Universal system consolidation */
.golden-master {
  background:var(--night)
}
.app-header {
  position:relative;
  border:0;
  background:transparent
}
.app-header::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse 72% 110% at 50% -36%,rgba(105,70,149,.16),transparent 72%);
  opacity:.72
}
.app-header__inner {
  position:relative
}
.app-header .wordmark {
  min-block-size:44px
}
.form-experience,.result-story {
  background:rgba(5,3,8,.24)
}
.result-story::before {
  inset:0;
  background:radial-gradient(circle at 50% 8%,rgba(169,133,255,.075),transparent 28rem);
  mask-image:linear-gradient(transparent 0,#000 18%,#000 82%,transparent 100%)
}
.site-footer {
  position:relative;
  border:0;
  background:transparent;
  padding-top:40px
}
.site-footer::before {
  content:"";
  position:absolute;
  top:0;
  left:50%;
  inline-size:min(46%,240px);
  block-size:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(231,191,120,.2),transparent)
}
.button,[data-previous-step],[data-result-previous] {
  position:relative!important;
  inset:auto!important
}
.step-actions,.story-controls {
  gap:0
}
[data-previous-step],[data-result-previous] {
  order:2;
  inline-size:auto!important;
  min-inline-size:104px;
  min-block-size:48px;
  margin-block-start:24px;
  padding-inline:8px 14px!important;
  align-self:flex-start;
  justify-self:start;
  color:#bfb5c7!important;
  opacity:.88;
  touch-action:manipulation
}
[data-previous-step] .ui-icon,[data-result-previous] .ui-icon {
  inline-size:18px;
  transition:transform var(--motion-quick) var(--ease)
}
[data-previous-step]:hover .ui-icon,[data-result-previous]:hover .ui-icon {
  transform:translateX(-3px)
}
.step-actions .button--primary,.story-controls .button--primary {
  order:1;
  position:relative!important;
  inset:auto!important
}
.story-controls .button--primary {
  grid-row:1;
  grid-column:1
}
.story-controls .button--text {
  grid-row:2;
  grid-column:1
}
.astro-context-tag {
  position:absolute;
  z-index:2;
  left:50%;
  bottom:-4px;
  display:flex;
  align-items:center;
  transform:translateX(-50%);
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.22))
}
.astro-context-tag .astro-emblem {
  --emblem-size:40px;
  z-index:1
}
.astro-context-tag .astro-emblem__halo {
  inset:-11px;
  filter:blur(6px)
}
.astro-context-tag .astro-emblem__body {
  border-color:rgba(231,216,245,.18);
  background:radial-gradient(circle at 42% 36%,rgba(169,133,255,.23),rgba(17,11,25,.94) 70%);
  box-shadow:inset 0 1px rgba(255,255,255,.05)
}
.astro-context-tag__label {
  min-block-size:36px;
  margin-left:-4px;
  padding:0 13px 0 11px;
  border-block:1px solid rgba(231,216,245,.11);
  display:flex;
  align-items:center;
  color:#dacbea;
  font-size:.66rem;
  font-weight:760;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  background:linear-gradient(90deg,rgba(21,14,29,.84),rgba(21,14,29,.2) 82%,transparent)
}
.astro-context-tag--planet-sun .astro-emblem__body {
  color:#f0ca83;
  border-color:rgba(231,191,120,.34);
  background:radial-gradient(circle,rgba(238,190,103,.2),rgba(35,21,28,.88) 68%)
}
.astro-context-tag--planet-sun .astro-context-tag__label {
  color:#e9c785;
  border-color:rgba(231,191,120,.14)
}
.astro-context-tag--planet-moon .astro-emblem__body {
  color:#dbe4ff;
  border-color:rgba(190,210,255,.26);
  background:radial-gradient(circle,rgba(190,210,255,.17),rgba(20,19,38,.9) 68%)
}
.astro-context-tag--planet-moon .astro-context-tag__label {
  color:#cbd7ff;
  border-color:rgba(190,210,255,.13)
}
.astro-context-tag--angle-asc .astro-emblem__body {
  color:#dfceff;
  border-color:rgba(197,172,246,.28)
}
.astro-context-tag .astro-glyph {
  inline-size:58%;
  block-size:58%;
  overflow:visible
}
.js .map-shell.is-transitioning-to-form .landing__cover {
  opacity:0;
  transform:translateY(-8px);
  transition:opacity var(--motion-quick) var(--ease-in),transform var(--motion-quick) var(--ease-in)
}
.js .form-experience.is-entering .app-header,.js .form-experience.is-entering form {
  animation:systemViewIn var(--motion-view) var(--ease) both
}
.js .form-experience.is-entering form {
  animation-delay:var(--motion-stagger)
}
.js .story-stage.is-leaving {
  transition:opacity var(--motion-quick) var(--ease-in)
}
.js .story-stage.is-leaving .chapter {
  transition:transform var(--motion-quick) var(--ease-in)
}
.js .story-stage--chapter.is-active .astro-context-tag {
  opacity:0;
  transform:translate(-50%,8px);
  animation:astroContextIn var(--motion-view) var(--motion-control) var(--ease) forwards
}
@keyframes systemViewIn {
  from {
    opacity:0;
    transform:translateY(10px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes astroContextIn {
  to {
    opacity:1;
    transform:translate(-50%,0)
  }
}
.mandala-context {
  gap:16px
}
.mandala-inspector {
  padding:14px 8px;
  border:0;
  background:linear-gradient(90deg,rgba(231,191,120,.035),transparent 72%)
}
.mandala-inspector::before {
  block-size:42px;
  background:linear-gradient(#e7bf78,rgba(231,191,120,.15))
}
.mandala-inspector .astro-emblem__body {
  border-color:rgba(231,191,120,.22);
  background:radial-gradient(circle,rgba(231,191,120,.09),rgba(15,10,21,.86) 72%)
}
.mandala-inspector strong {
  color:#f4edf7;
  font-weight:690
}
.mandala-inspector p span {
  margin-top:2px;
  color:#ada2b6
}
.mandala-legend {
  padding:11px 8px;
  border-block:1px solid rgba(239,230,255,.075)
}
.mandala-legend__line {
  opacity:.82
}
.mandala__leader {
  stroke:rgba(233,223,244,.46)
}
.mandala__planet-node {
  transition:fill var(--motion-control),stroke var(--motion-control),stroke-width var(--motion-control)
}
.premium-preview {
  padding-bottom:0
}
.premium-thread--glimpse {
  padding-bottom:28px!important
}
.premium-thread--glimpse::after {
  display:none
}
.premium-horizon {
  margin-top:10px;
  padding:24px 0 6px;
  mask-image:none;
  border-top:1px solid rgba(239,230,255,.1)
}
.premium-horizon .premium-horizon__label {
  padding:0 0 13px;
  border:0;
  color:#9d91a5;
  font-size:.68rem;
  font-weight:720;
  letter-spacing:.105em;
  text-transform:uppercase
}
.premium-horizon .premium-horizon__item {
  position:relative;
  min-block-size:64px;
  padding:14px 40px 14px 0;
  border-bottom:1px solid rgba(239,230,255,.075)
}
.premium-horizon__item span {
  color:#aa9eb1
}
.premium-horizon__item strong {
  color:#ddd4e2;
  font-size:1.15rem
}
.premium-horizon__item>i {
  position:absolute;
  right:6px;
  top:50%;
  inline-size:28px;
  block-size:28px;
  border:1px solid rgba(231,191,120,.22);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#caa96e;
  transform:translateY(-50%);
  background:rgba(231,191,120,.035)
}
.premium-horizon__item>i .ui-icon {
  inline-size:13px;
  block-size:13px
}
.premium-conversion {
  margin-top:38px;
  padding:0;
  text-align:left;
  border-top:0
}
.premium-conversion::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-72px -20px auto;
  block-size:150px;
  background:linear-gradient(180deg,rgba(73,44,99,0),rgba(73,44,99,.12) 48%,rgba(12,8,17,0));
  pointer-events:none
}
.premium-threshold {
  position:relative;
  block-size:46px;
  margin-bottom:15px;
  display:grid;
  place-items:center
}
.premium-threshold::before,.premium-threshold::after {
  content:"";
  position:absolute;
  top:50%;
  inline-size:calc(50% - 34px);
  block-size:1px
}
.premium-threshold::before {
  left:0;
  background:linear-gradient(90deg,transparent,rgba(231,191,120,.34))
}
.premium-threshold::after {
  right:0;
  background:linear-gradient(90deg,rgba(231,191,120,.34),transparent)
}
.premium-lock-mark {
  inline-size:46px;
  block-size:46px;
  border-color:rgba(231,191,120,.42);
  background:#150f1b;
  box-shadow:0 0 0 7px rgba(231,191,120,.035),0 0 24px rgba(231,191,120,.11)
}
.premium-conversion>p:not(.premium-lock-label) {
  color:#cec4d3
}
.premium-depths strong {
  font-weight:690
}
.premium-depths span {
  color:#b0a5b5
}
.premium-action {
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid rgba(239,230,255,.1)
}
.premium-cta:disabled {
  cursor:default;
  opacity:.78;
  color:rgba(23,11,16,.9);
  filter:saturate(.78);
  box-shadow:0 8px 22px rgba(255,116,84,.11),inset 0 1px rgba(255,255,255,.2)
}
.premium-cta:disabled:hover {
  transform:none;
  background:linear-gradient(180deg,#ffa080 0%,#ff8d6d 100%);
  box-shadow:0 8px 22px rgba(255,116,84,.11),inset 0 1px rgba(255,255,255,.2)
}
@media(min-width:760px) {
  .step-actions,.story-controls {
    gap:32px
  }
  .step-actions .button--text,.story-controls .button--text {
    order:1;
    inline-size:auto!important;
    flex:0 0 auto;
    margin-block-start:0
  }
  .step-actions .button--primary,.story-controls .button--primary {
    order:2;
    inline-size:auto;
    min-inline-size:280px;
    margin-left:auto
  }
  .app-header__inner {
    padding-top:15px
  }
  .site-footer {
    padding-top:44px
  }
  .premium-conversion {
    margin-top:58px
  }
  .premium-action {
    margin-top:32px
  }
}
@media(prefers-reduced-motion:reduce) {
  .js .map-shell.is-transitioning-to-form .landing__cover,.js .form-experience.is-entering .app-header,.js .form-experience.is-entering form,.js .story-stage--chapter.is-active .astro-context-tag {
    animation:none!important;
    transition:none!important;
    opacity:1;
    transform:none
  }
  .js .story-stage--chapter.is-active .astro-context-tag {
    transform:translateX(-50%)
  }
  [data-previous-step] .ui-icon,[data-result-previous] .ui-icon {
    transition:none
  }
}
/* 04.6F.1: shared navigation, chapter masthead and explicit locked previews. */
.back-action {
  display:none
}
.story-stage--chapter .chapter--golden {
  inline-size:min(100%,600px);
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto;
  justify-items:center;
  row-gap:24px
}
.chapter--golden .chapter-astro-visual,.story-stage--chapter .chapter__copy,.story-stage--chapter .story-controls {
  grid-column:1;
  grid-row:auto
}
.chapter--golden .chapter-astro-visual {
  margin-inline:auto
}
.story-stage--chapter .chapter__copy {
  text-align:center
}
.story-stage--chapter .chapter__copy h1,.story-stage--chapter .chapter__copy h2,.story-stage--chapter .story-lede {
  margin-inline:auto
}
.story-stage--chapter .reading-sample {
  margin-inline:auto;
  text-align:left
}
.premium-conversion::before {
  display:none
}
.premium-conversion {
  scroll-margin-block-start:24px
}
.premium-conversion:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:10px;
  border-radius:4px
}
.premium-horizon {
  gap:12px
}
.premium-locked-preview {
  display:grid;
  gap:9px;
  padding:20px;
  border:1px solid #51405e;
  border-radius:12px;
  background:#191222;
  color:#eee5f4;
  text-decoration:none;
  cursor:pointer;
  transition:background-color var(--motion-quick),border-color var(--motion-quick)
}
.premium-locked-preview:hover {
  background:#241a30;
  border-color:#b39a79
}
.premium-locked-preview:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:4px
}
.premium-horizon .premium-locked-preview__topic {
  color:#c4b6cc;
  font-size:.7rem;
  line-height:1.5
}
.premium-locked-preview strong {
  font:400 1.25rem/1.2 var(--font-display);
  color:#f1e8f7
}
.premium-locked-preview__lines {
  display:grid;
  gap:7px;
  padding-block:6px
}
.premium-locked-preview__lines i {
  display:block;
  block-size:5px;
  inline-size:86%;
  border-radius:3px;
  background:#3b2e49
}
.premium-locked-preview__lines i+i {
  inline-size:61%
}
.premium-horizon .premium-locked-preview__action {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:6px;
  color:#e7bf78;
  font-size:.77rem;
  letter-spacing:0;
  text-transform:none;
  font-weight:650
}
.premium-locked-preview__action .ui-icon {
  inline-size:17px;
  block-size:17px;
  flex-shrink:0
}
.premium-locked-preview__action .ui-icon:last-child {
  margin-left:auto
}
@media(max-width:759px) {
  .js .back-action:not([hidden]) {
    position:absolute;
    left:var(--page-gutter);
    top:18px;
    display:grid;
    place-items:center;
    inline-size:46px;
    block-size:46px;
    padding:0;
    border:1px solid rgba(239,230,255,.16);
    border-radius:50%;
    color:#d8d0df;
    background:#1a1223;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 4px 12px rgba(0,0,0,.2);
    cursor:pointer;
    touch-action:manipulation;
    transition:transform var(--motion-quick) var(--ease),background-color var(--motion-quick) var(--ease),border-color var(--motion-quick) var(--ease),color var(--motion-quick) var(--ease)
  }
  .back-action .ui-icon {
    inline-size:19px;
    block-size:19px
  }
  .back-action:hover {
    border-color:rgba(231,191,120,.4);
    color:#f2ebf6;
    background:#251a30
  }
  .back-action:active {
    color:#fff8ed;
    background:#140d1b;
    transform:scale(.94);
    transition-duration:var(--motion-instant)
  }
  .back-action:focus-visible {
    outline:2px solid var(--gold);
    outline-offset:3px
  }
  .journey-header .wordmark {
    max-inline-size:calc(100% - 112px)
  }
  .journey-header .wordmark>span {
    font-size:.6rem
  }
  .js .step-actions [data-previous-step],.js .story-controls [data-result-previous],.js .step-actions>span:empty {
    display:none
  }
  .form-experience form {
    padding-bottom:max(32px,env(safe-area-inset-bottom))
  }
  .form-step.is-active {
    min-block-size:0;
    grid-template-rows:auto;
    align-content:start;
    gap:26px
  }
  .question>label,.combobox>label,.time-entry>label,noscript label {
    font-size:.84rem
  }
  .field-help {
    font-size:1rem
  }
  .choice-copy small {
    font-size:.84rem
  }
  .story-stage--chapter .story-lede,.story-stage--chapter .reading-sample,.synthesis-reading p {
    font-size:1.05rem
  }
  .story-stage--mandala {
    padding-inline:4px
  }
  .mandala-intro,.mandala-context,.story-stage--mandala .story-controls {
    padding-inline:var(--page-gutter)
  }
  .mandala__house-number {
    font-size:16px
  }
  .mandala__angle {
    font-size:18px
  }
  .mandala-inspector p span {
    font-size:.9rem
  }
  .mandala-legend {
    font-size:.78rem
  }
  .mandala-caption {
    font-size:.93rem
  }
  .form-step input:not([type=hidden]) {
    scroll-margin-block:20px 38dvh
  }
  .app-atmosphere__bloom {
    animation:none;
    filter:blur(30px);
    opacity:.18
  }
  .landing__meteor {
    animation:none;
    opacity:.22
  }
  .js .form-experience.is-entering .app-header,.js .form-experience.is-entering form {
    animation-duration:180ms
  }
  .js .form-experience.is-entering form {
    animation-delay:30ms
  }
  .js .form-step.is-entering .question__number,.js .form-step.is-entering .question__title,.js .form-step.is-entering .question>*:not(.question__number):not(.question__title),.js .form-step.is-entering .step-actions {
    animation-duration:180ms
  }
  .js .form-step.is-entering .question__title {
    animation-delay:20ms
  }
  .js .form-step.is-entering .question>*:not(.question__number):not(.question__title) {
    animation-delay:40ms
  }
  .js .form-step.is-entering .step-actions {
    animation-delay:60ms
  }
}
@media(prefers-reduced-motion:reduce) {
  .premium-locked-preview,.back-action {
    transition:none
  }
}
/* Phase 05F — server-authorized post-purchase confirmation. */
.post-purchase {
  position:relative;
  z-index:1;
  display:grid;
  min-block-size:calc(100dvh - var(--header-height));
  padding:clamp(42px,10vh,100px) var(--page-gutter) max(48px,env(safe-area-inset-bottom));
  place-items:start center;
  overflow-x:clip
}
.post-purchase__content {
  inline-size:min(100%,560px);
  display:grid;
  justify-items:center;
  text-align:center
}
.post-purchase__constellation {
  position:relative;
  inline-size:132px;
  block-size:132px;
  margin-bottom:34px;
  display:grid;
  place-items:center
}
.post-purchase__orbit {
  position:absolute;
  inset:7px;
  border:1px solid rgba(231,191,120,.3);
  border-radius:50%;
  transform:rotate(-24deg)
}
.post-purchase__orbit::after {
  content:"";
  position:absolute;
  inset:17px -10px;
  border:1px solid rgba(169,133,255,.2);
  border-radius:50%;
  transform:rotate(64deg)
}
.post-purchase__star {
  position:absolute;
  inline-size:5px;
  block-size:5px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 13px rgba(231,191,120,.75)
}
.post-purchase__star--one {
  top:11px;
  left:30px
}
.post-purchase__star--two {
  right:8px;
  bottom:33px;
  inline-size:4px;
  block-size:4px;
  background:#d8c6ff
}
.post-purchase__star--three {
  bottom:14px;
  left:44px;
  inline-size:3px;
  block-size:3px;
  background:#f6e6bd
}
.post-purchase__core {
  position:relative;
  inline-size:64px;
  block-size:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold);
  background:radial-gradient(circle at 44% 38%,rgba(231,191,120,.22),rgba(44,26,50,.9) 67%);
  box-shadow:0 0 0 8px rgba(231,191,120,.035),0 0 36px rgba(231,191,120,.18)
}
.post-purchase__core .ui-icon {
  inline-size:27px;
  block-size:27px
}
.post-purchase__content h1 {
  max-inline-size:13ch;
  margin:12px auto 18px;
  font-size:clamp(2.35rem,10.4vw,4.45rem);
  line-height:1.02
}
.post-purchase__lede {
  max-inline-size:37ch;
  margin:0;
  color:#d2c8da;
  font-size:var(--body-lg);
  line-height:1.62;
  text-wrap:pretty
}
.post-purchase__status {
  min-block-size:2.7em;
  max-inline-size:38ch;
  margin:18px 0 0;
  color:#a99eb0;
  font-size:.86rem;
  line-height:1.5
}
.post-purchase__actions {
  inline-size:100%;
  margin-top:18px;
  display:grid;
  gap:12px
}
.post-purchase__actions .button:not(.button--text) {
  min-block-size:var(--button-height)
}
.post-purchase__content.task-content {
  inline-size:min(100%,var(--utility-width));
  min-inline-size:0
}
.post-purchase__content.task-content h1 {
  max-inline-size:20ch;
  font-size:var(--state-headline);
  line-height:1.15;
  margin:var(--space-3) 0 var(--relation-heading-support)
}
.task-content .post-purchase__lede {
  max-inline-size:45ch;
  font-size:var(--body);
  line-height:1.65
}
.task-content .post-purchase__actions {
  inline-size:min(100%,var(--form-width));
  min-inline-size:0
}
.task-content .post-purchase__actions {
  margin-block-start:var(--relation-support-action)
}
.task-form {
  inline-size:min(100%,var(--form-width));
  min-inline-size:0;
  display:grid;
  gap:var(--form-gap);
  margin-block:var(--space-6);
  text-align:left
}
.form-field {
  display:grid;
  min-inline-size:0;
  gap:var(--field-label-gap)
}
.form-field label {
  font-size:1rem;
  color:var(--ink-soft);
  font-weight:650
}
.form-field .field-error,.form-field .field-help {
  margin:0
}
.golden-master .question>label,.golden-master .time-entry>label,.golden-master .combobox>label {
  font-size:var(--type-label)
}
.golden-master .choice-copy small {
  font-size:var(--type-caption)
}
.golden-master .field-help,.golden-master .field-error {
  font-size:var(--type-helper)
}
.precision-choices[aria-invalid=true] {
  outline:1px solid var(--field-error);
  outline-offset:4px;
  border-radius:var(--radius-md)
}
a:focus-visible,summary:focus-visible {
  outline:3px solid var(--focus-ring);
  outline-offset:4px
}
.task-content>.button--text,.task-content .post-purchase__actions>.button--text {
  justify-content:center
}
.task-content>.button--text {
  margin-block-start:var(--space-4)
}
[data-premium-preparing] [data-preparation-message] {
  min-block-size:4.8em;
  max-inline-size:34ch;
  margin-inline:auto;
  color:var(--ink)
}
.button--secondary:hover {
  background:var(--surface-raised);
  border-color:var(--border-accent)
}
.button:disabled:hover,.button[aria-disabled=true]:hover {
  transform:none
}
.button[aria-disabled=true] {
  pointer-events:none;
  opacity:.55
}
input:disabled,select:disabled {
  cursor:not-allowed;
  opacity:.6
}
input:autofill {
  color:var(--ink);
  background:var(--surface)
}
[data-premium-preparing] [data-preparation-retry].is-preparing::after {
  content:"";
  inline-size:7px;
  block-size:7px;
  flex-shrink:0;
  border-radius:50%;
  background:currentColor;
  animation:premiumActivity 1.4s ease-in-out infinite
}
[data-premium-preparing][aria-busy=true] .post-purchase__core {
  animation:premiumActivity 2.8s ease-in-out infinite
}
@keyframes premiumActivity {
  0%,100% {
    opacity:.45;
    transform:scale(.94)
  }
  50% {
    opacity:1;
    transform:scale(1)
  }
}
@media(prefers-reduced-motion:reduce) {
  [data-premium-preparing] [data-preparation-retry].is-preparing::after,[data-premium-preparing][aria-busy=true] .post-purchase__core {
    animation:none
  }
}
.post-purchase__fallback {
  max-inline-size:36ch;
  margin:22px auto 0;
  color:var(--ink-muted);
  font-size:.85rem
}
.post-purchase__fallback a {
  color:var(--gold)
}
.premium-reading-page .story-stage--premium {
  display:block
}
/* Phase 05I.1 — commercial continuation of the free natal reading. */
.story-stage--premium {
  padding:34px var(--page-gutter) max(56px,env(safe-area-inset-bottom));
  overflow:visible
}
.chapter--premium {
  inline-size:min(100%,880px);
  grid-template-columns:minmax(0,1fr);
  justify-items:stretch;
  align-content:start;
  gap:0
}
.chapter--premium>.premium-intro,.chapter--premium>.premium-preview,.chapter--premium>.premium-conversion {
  grid-column:auto;
  grid-row:auto
}
.story-stage h1[tabindex="-1"]:focus,.story-stage h2[tabindex="-1"]:focus {
  outline:none
}
.premium-intro {
  padding-bottom:28px;
  text-align:left
}
.premium-intro::after {
  inline-size:72px
}
.premium-intro h2 {
  max-inline-size:19ch;
  margin:10px 0 18px;
  font-size:clamp(2.1rem,9vw,4.2rem);
  line-height:1.03;
  letter-spacing:-.035em
}
.premium-intro>p:not(.eyebrow) {
  max-inline-size:48ch;
  color:#ddd3e3;
  font-size:clamp(1rem,4.2vw,1.14rem);
  line-height:1.65
}
.premium-recognition {
  max-inline-size:64ch;
  padding:26px 0 34px;
  color:#bfb3c7
}
.premium-recognition p {
  margin:0;
  font-size:1rem;
  line-height:1.7;
  text-wrap:pretty
}
.premium-preview {
  padding:0;
  border-block:1px solid rgba(239,230,255,.13)
}
.premium-preview__header {
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:25px 0 22px
}
.premium-preview__lock {
  inline-size:42px;
  block-size:42px;
  border:1px solid rgba(231,191,120,.32);
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  color:var(--gold);
  background:rgba(231,191,120,.055)
}
.premium-preview__lock .ui-icon {
  inline-size:18px;
  block-size:18px
}
.premium-preview__header h3 {
  max-inline-size:22ch;
  margin:0 0 6px;
  font-size:clamp(1.55rem,6vw,2.15rem);
  line-height:1.08
}
.premium-chapter-list {
  margin:0;
  padding:0;
  list-style:none;
  border:1px solid #4a3a56;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:#15101c
}
.premium-chapter-list li+li {
  border-top:1px solid rgba(239,230,255,.09)
}
.premium-locked-preview {
  min-block-size:112px;
  padding:17px 15px;
  border:0;
  border-radius:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:start;
  gap:12px;
  color:var(--ink);
  text-decoration:none;
  background:#17111f;
  transition:background-color var(--motion-quick),color var(--motion-quick)
}
.premium-locked-preview:hover {
  background:#201629
}
.premium-locked-preview:active {
  background:#100b16
}
.premium-locked-preview:focus-visible {
  position:relative;
  z-index:1;
  outline:3px solid rgba(231,191,120,.78);
  outline-offset:-3px
}
.premium-locked-preview__copy {
  min-inline-size:0;
  display:grid;
  gap:6px
}
.premium-locked-preview__copy strong {
  font:400 clamp(1.18rem,5.2vw,1.48rem)/1.18 var(--font-display);
  color:#f3edf7;
  text-wrap:balance
}
.premium-locked-preview__copy>span:not(.premium-locked-preview__lines) {
  color:#b4a9bb;
  font-size:.86rem;
  line-height:1.5;
  text-wrap:pretty
}
.premium-locked-preview__lines {
  display:grid;
  gap:6px;
  margin-top:4px;
  padding-block:2px
}
.premium-locked-preview__lines i {
  display:block;
  block-size:4px;
  inline-size:min(88%,330px);
  border-radius:2px;
  background:#3a2b46
}
.premium-locked-preview__lines i+i {
  inline-size:min(58%,220px)
}
.premium-locked-preview__lock {
  inline-size:32px;
  block-size:32px;
  border:1px solid rgba(231,191,120,.24);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#cfad70;
  background:rgba(231,191,120,.035)
}
.premium-locked-preview__lock .ui-icon {
  inline-size:14px;
  block-size:14px
}
.premium-more {
  padding:14px 0 20px
}
.premium-more summary {
  min-block-size:52px;
  padding:0 4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#dfc486;
  font-size:.9rem;
  font-weight:680;
  cursor:pointer;
  list-style:none;
  touch-action:manipulation
}
.premium-more summary::-webkit-details-marker {
  display:none
}
.premium-more summary::after {
  content:"+";
  inline-size:30px;
  block-size:30px;
  border:1px solid rgba(231,191,120,.25);
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 30px;
  color:var(--gold);
  font-size:1rem;
  font-weight:400
}
.premium-more[open] summary::after {
  content:"−"
}
.premium-more summary:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px
}
.premium-chapter-list--additional {
  margin-top:8px
}
.premium-preview__note {
  margin:0;
  padding:16px 0 21px;
  color:#958a9d;
  font-size:.78rem;
  line-height:1.55
}
.premium-value {
  padding:42px 0 38px
}
.premium-value h3 {
  max-inline-size:15ch;
  margin:0 0 20px;
  font-size:clamp(1.9rem,8vw,2.75rem);
  line-height:1.06
}
.premium-value ul {
  margin:0;
  padding:0;
  list-style:none;
  border-block:1px solid rgba(239,230,255,.12)
}
.premium-value li {
  min-block-size:67px;
  padding:15px 0;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:start;
  gap:13px;
  color:#d8cedd;
  font-size:.95rem;
  line-height:1.55
}
.premium-value li+li {
  border-top:1px solid rgba(239,230,255,.08)
}
.premium-value li .ui-icon {
  inline-size:20px;
  block-size:20px;
  margin-top:2px;
  color:var(--gold)
}
.premium-conversion {
  margin-top:30px;
  padding:26px 20px;
  border:1px solid rgba(231,191,120,.38);
  border-radius:var(--radius-lg);
  display:grid;
  gap:28px;
  text-align:left;
  background:#18101f
}
.premium-conversion:focus-visible {
  outline:3px solid rgba(231,191,120,.72);
  outline-offset:4px
}
.premium-lock-label {
  margin:0 0 10px;
  color:#e0bb78;
  font-size:.72rem;
  font-weight:760;
  letter-spacing:.11em;
  text-transform:uppercase
}
.premium-conversion h3 {
  max-inline-size:27ch;
  margin:0 0 12px;
  font:400 clamp(1.72rem,7.2vw,2.4rem)/1.08 var(--font-display);
  letter-spacing:-.025em
}
.premium-offer__copy>p:last-child {
  max-inline-size:45ch;
  margin:0;
  color:#bcb1c3;
  line-height:1.62
}
.premium-offer__purchase {
  min-inline-size:0;
  padding-top:24px;
  border-top:1px solid rgba(239,230,255,.12)
}
.premium-price-label {
  margin:0 0 1px;
  color:#b8adbf;
  font-size:.82rem;
  font-weight:650
}
.premium-price {
  margin:0 0 19px;
  color:#fbf6ff;
  font:400 clamp(2.65rem,12vw,3.6rem)/1 var(--font-display);
  letter-spacing:-.03em
}
.premium-price span {
  font:700 .9rem/1 var(--font-body);
  letter-spacing:.04em;
  vertical-align:.78em
}
.premium-cta {
  inline-size:100%;
  min-block-size:58px;
  padding-inline:16px;
  text-align:center
}
.premium-checkout-note {
  margin:13px 0 0;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  color:#a99ead;
  font-size:.76rem;
  line-height:1.5;
  text-align:left
}
.premium-checkout-note .ui-icon {
  inline-size:16px;
  block-size:16px;
  margin-top:2px;
  flex:0 0 16px;
  color:#cbaa70
}
.js .story-stage--premium.is-active .premium-recognition,.js .story-stage--premium.is-active .premium-preview,.js .story-stage--premium.is-active .premium-value {
  opacity:0;
  transform:translateY(10px);
  animation:chapterItem 460ms var(--ease) forwards
}
.js .story-stage--premium.is-active .premium-recognition {
  animation-delay:250ms
}
.js .story-stage--premium.is-active .premium-preview {
  animation-delay:360ms
}
.js .story-stage--premium.is-active .premium-value {
  animation-delay:480ms
}
.js .story-stage--premium.is-active .premium-conversion {
  animation-delay:600ms
}
@media(min-width:760px) {
  .story-stage--premium {
    padding-top:52px
  }
  .chapter--premium {
    grid-template-columns:minmax(0,1fr);
    column-gap:0
  }
  .premium-intro {
    max-inline-size:760px
  }
  .premium-recognition {
    padding-bottom:42px
  }
  .premium-preview__header {
    align-items:center
  }
  .premium-locked-preview {
    min-block-size:104px;
    padding:18px 22px;
    grid-template-columns:minmax(0,1fr) 36px;
    gap:16px
  }
  .premium-locked-preview__copy>span:not(.premium-locked-preview__lines) {
    font-size:.9rem
  }
  .premium-value {
    padding-block:52px 46px
  }
  .premium-value ul {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:38px
  }
  .premium-value li:nth-child(2) {
    border-top:0
  }
  .premium-value li:nth-child(odd) {
    padding-right:18px
  }
  .premium-value li:nth-child(even) {
    padding-left:18px
  }
  .premium-value li:nth-child(n+3) {
    border-top:1px solid rgba(239,230,255,.08)
  }
  .premium-conversion {
    padding:36px 38px
  }
  .premium-checkout-note {
    justify-content:flex-start
  }
  .premium-price {
    font-size:3.6rem
  }
}
@media(min-width:900px) {
  .premium-conversion {
    grid-template-columns:minmax(0,1fr) minmax(370px,.9fr);
    align-items:center;
    gap:42px
  }
  .premium-offer__purchase {
    padding:0 0 0 28px;
    border-top:0;
    border-left:1px solid rgba(239,230,255,.12)
  }
}
@media(max-width:374px) {
  .premium-locked-preview {
    padding-inline:12px;
    grid-template-columns:minmax(0,1fr) 30px;
    gap:9px
  }
  .premium-conversion {
    padding-inline:16px
  }
  .premium-cta {
    font-size:.92rem
  }
}
@media(prefers-reduced-motion:reduce) {
  .premium-locked-preview {
    transition:none
  }
  .js .story-stage--premium.is-active .premium-recognition,.js .story-stage--premium.is-active .premium-preview,.js .story-stage--premium.is-active .premium-value {
    animation:none!important;
    opacity:1;
    transform:none
  }
}
/* Phase 05I.3 — narrative continuity from discovery to offer. */
.chapter-open-loop {
  max-inline-size:45ch;
  margin:24px 0 0;
  padding-top:20px;
  border-top:1px solid rgba(231,191,120,.18);
  color:#d8cddd;
  font-size:clamp(.98rem,4.1vw,1.06rem);
  line-height:1.65;
  text-wrap:pretty
}
.synthesis-open-loop {
  margin-top:24px!important;
  padding-top:22px;
  border-top:1px solid rgba(231,191,120,.18);
  color:#ddd1e2!important
}
.mandala-help {
  inline-size:100%;
  border-block:1px solid rgba(239,230,255,.09);
  color:#b9aec1
}
.mandala-help summary {
  min-block-size:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#d8cfdf;
  font-size:.9rem;
  font-weight:650;
  cursor:pointer;
  list-style:none
}
.mandala-help summary::-webkit-details-marker {
  display:none
}
.mandala-help summary::after {
  content:"+";
  color:var(--gold);
  font-size:1.15rem;
  font-weight:400
}
.mandala-help[open] summary::after {
  content:"−"
}
.mandala-help p {
  margin:0;
  padding:0 0 16px;
  color:#a99eb3;
  font-size:.86rem;
  line-height:1.58;
  text-wrap:pretty
}
/* Shared visualization: structure < bodies < relations < explicit selection.
   These rules own mandala composition in both free and premium surfaces. */
.mandala-area .mandala-visual {
  inline-size:100%;
  min-inline-size:0
}
.mandala-intro h2 {
  font-size:clamp(1.9rem,8vw,3rem);
  max-inline-size:22ch
}
.mandala-area .mandala-visual>.mandala-shortcuts {
  justify-content:center;
  margin-block-end:var(--space-4)
}
.mandala-area .mandala-context {
  inline-size:100%;
  min-inline-size:0;
  text-align:left;
  display:grid;
  gap:var(--space-4)
}
.mandala-area .mandala-frame {
  filter:none
}
.mandala-area .mandala__orbit {
  stroke:rgba(239,230,255,.08)
}
.mandala-area .mandala__house-line {
  stroke:rgba(169,133,255,.15)
}
.mandala-area .mandala__house-number {
  font-size:20px;
  fill:var(--ink-muted)
}
.mandala-area .mandala__angle {
  font-size:20px;
  fill:var(--ink-soft)
}
.mandala-area .mandala__angle--asc {
  font-weight:750;
  fill:var(--gold)
}
.mandala-area .mandala__leader {
  stroke:rgba(239,230,255,.19);
  stroke-width:1;
  stroke-dasharray:none
}
.mandala-area .mandala__planet-node {
  stroke:rgba(239,230,255,.65)
}
.mandala-area .mandala__planet-glyph {
  color:var(--ink);
  opacity:1
}
.mandala-area .mandala__planet--primary .mandala__planet-node {
  stroke:var(--gold);
  stroke-width:1.8
}
.mandala-area .mandala__planet--uncertain .mandala__planet-node {
  stroke-dasharray:3 3
}
.mandala-area .mandala-frame.show-aspects .mandala__aspect--primary {
  opacity:.26;
  stroke-width:1.1
}
.mandala-area .mandala-frame.show-aspects .mandala__aspect--secondary {
  opacity:.04
}
.mandala-area .mandala__aspect--flow {
  stroke-dasharray:none
}
.mandala-area .mandala__aspect--dynamic {
  stroke-dasharray:5 4
}
.mandala-area .mandala__aspect--contact {
  stroke:var(--gold);
  stroke-dasharray:1 4;
  stroke-linecap:round
}
.mandala-area .mandala-legend__line--contact {
  block-size:2px;
  background:repeating-linear-gradient(90deg,var(--gold) 0 2px,transparent 2px 6px)
}
.mandala-area .mandala-frame[data-active-planet] .mandala__aspect {
  opacity:.025
}
.mandala-area .mandala-frame[data-active-planet] .mandala__planet:not(.is-selected) {
  opacity:.42
}
.mandala-area .mandala-frame[data-active-planet] .mandala__planet.is-related {
  opacity:.88
}
.mandala-area .mandala-frame[data-active-planet] .mandala__planet.is-selected {
  opacity:1
}
.mandala-area .mandala-frame[data-active-planet] .mandala__planet:focus-visible {
  opacity:1
}
.mandala-area .mandala-frame[data-active-planet] .mandala__aspect.is-connected {
  opacity:.9;
  stroke-width:2
}
.mandala-area .mandala__planet.is-selected .mandala__planet-node,.mandala-area .mandala__planet:focus-visible .mandala__planet-node {
  stroke:var(--gold);
  stroke-width:3;
  fill:#352340
}
.mandala-area .mandala-frame[data-active-angle=asc] .mandala__angle--asc {
  fill:var(--ink);
  font-size:20px
}
.mandala-area .mandala__planet {
  transition:opacity var(--motion-control)
}
.mandala-area .mandala-frame[data-active-angle=asc] .mandala__angle-tick--asc {
  stroke:var(--gold);
  stroke-width:3
}
.mandala-area .mandala-inspector {
  margin:0;
  min-block-size:104px;
  padding:var(--space-4) 0;
  align-items:center;
  filter:none
}
.mandala-area .mandala-inspector::before {
  display:none
}
.mandala-area [data-selection-neutral=true] .mandala-inspector__glyph {
  display:none
}
.mandala-area .mandala-inspector p span {
  font-size:var(--type-body-small);
  line-height:1.5;
  color:var(--ink-soft)
}
.mandala-area .mandala-legend {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--space-3);
  margin:0;
  font-size:var(--type-caption);
  color:var(--ink-soft)
}
.mandala-area .mandala-help {
  margin:0
}
.mandala-area .mandala-help summary {
  font-size:var(--type-body);
  min-block-size:48px
}
.mandala-area .mandala-help ol {
  padding-inline-start:var(--space-5);
  margin:0 0 var(--space-4);
  display:grid;
  gap:var(--space-3);
  color:var(--ink-soft);
  font-size:var(--type-body-small);
  line-height:1.6
}
.mandala-area .mandala-help p {
  font-size:var(--type-caption);
  color:var(--ink-muted)
}
.mandala-shortcuts {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2)
}
.mandala-shortcuts button {
  min-inline-size:64px;
  min-block-size:44px;
  padding:8px 14px;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-pill);
  background:var(--surface);
  color:var(--ink-soft);
  font:650 var(--type-body-small)/1.3 var(--font-body);
  cursor:pointer;
  transition:background var(--motion-fast),transform var(--motion-fast)
}
.mandala-shortcuts button:hover,.mandala-shortcuts button[aria-pressed=true] {
  color:var(--ink);
  background:var(--surface-raised);
  border-color:var(--gold)
}
.mandala-shortcuts button:active {
  transform:scale(.97)
}
.mandala-shortcuts button:focus-visible,.mandala-help summary:focus-visible {
  outline:3px solid var(--focus-ring);
  outline-offset:3px
}
@media(min-width:1024px) {
  .chapter--mandala,.premium-sky {
    max-inline-size:var(--visualization-width)
  }
  .chapter--mandala .mandala-area,.premium-sky .mandala-area {
    inline-size:100%;
    grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);
    align-items:center;
    gap:var(--space-10)
  }
  .mandala-area .mandala-visual {
    grid-column:1
  }
  .mandala-area .mandala-context {
    grid-column:2;
    padding-block-start:0
  }
}
@media(max-width:439px) {
  .mandala-area .mandala-frame {
    inline-size:100%;
    max-inline-size:none
  }
  .mandala-area .mandala-context {
    gap:var(--space-3)
  }
}
.result-header .app-header__inner {
  justify-items:center
}
.post-purchase[data-state=confirming] .post-purchase__core {
  animation:confirmationPulse 2.8s var(--ease) infinite
}
.post-purchase[data-state=unavailable] .post-purchase__core {
  color:#c3b8cb;
  background:radial-gradient(circle at 44% 38%,rgba(169,133,255,.17),rgba(35,23,43,.9) 67%);
  box-shadow:0 0 0 8px rgba(169,133,255,.035)
}
@keyframes confirmationPulse {
  50% {
    transform:scale(1.06);
    box-shadow:0 0 0 12px rgba(231,191,120,.025),0 0 43px rgba(231,191,120,.23)
  }
}
@media(min-width:760px) {
  .post-purchase {
    place-items:center;
    padding-top:48px
  }
  .post-purchase__content {
    inline-size:min(100%,620px)
  }
  .post-purchase__constellation {
    inline-size:150px;
    block-size:150px;
    margin-bottom:38px
  }
  .post-purchase__actions {
    inline-size:auto;
    min-inline-size:310px
  }
  .post-purchase__content h1 {
    font-size:clamp(3rem,5.5vw,4.65rem)
  }
}
@media(prefers-reduced-motion:reduce) {
  .post-purchase[data-state=confirming] .post-purchase__core {
    animation:none
  }
}
/* The result header and reading use the same AppAtmosphere surface. */
.result-page .result-header::before {
  content:none
}
.result-page .result-story {
  background:transparent
}
/* Phase 05L.1 — purposeful motion system and progressive revelation. */
.app-atmosphere__bloom {
  animation:none
}
.landing__meteor {
  animation-iteration-count:1
}
.button,.precision-choices label,.premium-locked-preview,.back-action {
  transition-duration:var(--motion-fast)
}
.button:active,.premium-locked-preview:active {
  transform:scale(.975);
  transition-duration:80ms
}
.premium-more summary::after,.mandala-help summary::after {
  transition:transform var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)
}
.premium-more[open] summary::after,.mandala-help[open] summary::after {
  transform:rotate(180deg)
}
.premium-more[open]>.premium-chapter-list,.mandala-help[open]>p {
  animation:disclosureIn var(--motion-standard) var(--ease) both
}
.is-validation-notice input,.is-validation-notice select {
  animation:validationNotice var(--motion-standard) var(--ease)
}
.js .map-shell.is-transitioning-to-form .landing__cover {
  transition-duration:var(--motion-fast);
  transform:translateY(-6px)
}
.js .form-experience.is-entering .app-header,.js .form-experience.is-entering form {
  animation-duration:var(--motion-standard)
}
.js .form-experience.is-entering form {
  animation-delay:40ms
}
.js .form-step.is-exiting {
  transition-duration:var(--motion-fast);
  transform:translateX(-10px)
}
.js .form-step[data-exit-direction="-1"].is-exiting {
  transform:translateX(10px)
}
.js .form-step.is-entering .question__number,.js .form-step.is-entering .question__title,.js .form-step.is-entering .question>*:not(.question__number):not(.question__title),.js .form-step.is-entering .step-actions {
  transform:translateX(calc(var(--enter) * 10px));
  animation-duration:var(--motion-standard)
}
.js .form-step.is-entering .question__title {
  animation-delay:35ms
}
.js .form-step.is-entering .question>*:not(.question__number):not(.question__title) {
  animation-delay:70ms
}
.js .form-step.is-entering .step-actions {
  animation-delay:105ms
}
.sky-loader {
  backdrop-filter:none;
  transition:opacity var(--motion-standard) var(--ease),transform var(--motion-standard) var(--ease)
}
.sky-loader p.is-changing {
  opacity:0;
  transform:translateY(3px)
}
.loader-cosmos,.loader-cosmos__ring,.loader-cosmos__star,.loader-cosmos__point,.loader-cosmos__line,.loader-cosmos__sun {
  transition-duration:var(--motion-standard)
}
.loader-cosmos__line--two {
  transition-delay:55ms
}
.loader-cosmos__line--three {
  transition-delay:110ms
}
.loader-cosmos__line--four {
  transition-delay:165ms
}
.loader-cosmos__line--five {
  transition-delay:220ms
}
.sky-loader[data-phase=points] .loader-cosmos__ring--middle {
  animation:loaderOrbit var(--motion-atmospheric) linear both
}
.sky-loader.is-completing {
  filter:none;
  transform:scale(1.015)
}
.sky-loader.is-completing .loader-cosmos {
  transform:scale(1.08)
}
.sky-loader.is-completing .loader-cosmos__sun {
  transform:scale(1.22);
  filter:none
}
.js .story-stage.is-leaving {
  transition-duration:var(--motion-fast);
  transform:translateX(-10px)
}
.js .story-stage[data-exit-direction="-1"].is-leaving {
  transform:translateX(10px)
}
.js .story-stage--chapter.is-active .chapter-astro-visual {
  opacity:0;
  transform:translateY(8px);
  animation:chapterVisualIn var(--motion-reveal) var(--ease) 40ms forwards
}
.js .story-stage--chapter.is-active .chapter-astro-visual>.sign-medallion,.js .story-stage--chapter.is-active .chapter-astro-visual .dual-signs .sign-medallion {
  opacity:1;
  transform:none;
  animation:none
}
.js .story-stage--chapter.is-active .astro-context-tag {
  animation-duration:var(--motion-standard);
  animation-delay:130ms
}
.js .story-stage--chapter.is-active .chapter__copy>h1,.js .story-stage--chapter.is-active .chapter__copy>h2 {
  animation-delay:170ms;
  animation-duration:var(--motion-standard)
}
.js .story-stage--chapter.is-active .story-lede {
  animation-delay:230ms;
  animation-duration:var(--motion-standard)
}
.js .story-stage--chapter.is-active .reading-sample,.js .story-stage--chapter.is-active .chapter__copy>p:not(.eyebrow):not(.story-lede) {
  animation-delay:290ms;
  animation-duration:var(--motion-standard)
}
.js .story-stage--chapter.is-active .story-controls {
  animation-delay:360ms;
  animation-duration:var(--motion-standard)
}
.js body[data-just-calculated=true].is-map-revealed .story-stage--sun.is-active .chapter-astro-visual {
  animation:solarRevealFromMap var(--motion-reveal) var(--ease) both
}
body[data-just-calculated=true]:not(.is-map-revealed) .result-header,body[data-just-calculated=true]:not(.is-map-revealed) .result-story,body[data-just-calculated=true]:not(.is-map-revealed) .site-footer {
  opacity:0;
  visibility:hidden;
  pointer-events:none
}
.js body[data-just-calculated=true].is-map-revealed .result-header,.js body[data-just-calculated=true].is-map-revealed .result-story,.js body[data-just-calculated=true].is-map-revealed .site-footer {
  animation:resultSurfaceIn var(--motion-fast) var(--ease) both
}
.js .story-stage--synthesis.is-active .synthesis-point {
  animation-duration:var(--motion-standard)
}
.js .story-stage--synthesis.is-active .synthesis-point--sun {
  animation-delay:120ms
}
.js .story-stage--synthesis.is-active .synthesis-point--moon {
  animation-delay:180ms
}
.js .story-stage--synthesis.is-active .synthesis-point--third {
  animation-delay:240ms
}
.js .story-stage--synthesis.is-active .synthesis-weave__threads path {
  animation-duration:var(--motion-reveal)
}
.js .story-stage--synthesis.is-active .synthesis-weave__threads path:first-child {
  animation-delay:260ms
}
.js .story-stage--synthesis.is-active .synthesis-weave__threads path:nth-child(2) {
  animation-delay:310ms
}
.js .story-stage--synthesis.is-active .synthesis-weave__threads path:last-child {
  animation-delay:360ms
}
.js .story-stage--synthesis.is-active .synthesis-weave__meeting {
  animation-duration:var(--motion-standard);
  animation-delay:440ms
}
.js .story-stage--synthesis.is-active .synthesis-reading {
  animation-duration:var(--motion-standard);
  animation-delay:470ms
}
.js .story-stage--synthesis.is-active .story-controls {
  animation-delay:540ms
}
.js .story-stage--mandala.is-active .mandala__layer--center {
  animation-duration:var(--motion-standard);
  animation-delay:70ms
}
.js .story-stage--mandala.is-active .mandala__sky {
  animation-duration:var(--motion-reveal);
  animation-delay:120ms
}
.js .story-stage--mandala.is-active .mandala__ring,.js .story-stage--mandala.is-active .mandala__orbit {
  animation-duration:var(--motion-standard);
  animation-delay:170ms
}
.js .story-stage--mandala.is-active .mandala__layer--zodiac {
  animation-duration:var(--motion-standard);
  animation-delay:250ms
}
.js .story-stage--mandala.is-active .mandala__layer--houses {
  animation-duration:var(--motion-standard);
  animation-delay:320ms
}
.js .story-stage--mandala.is-active .mandala__layer--planets {
  animation-duration:var(--motion-standard);
  animation-delay:390ms
}
.js .story-stage--mandala.is-active .mandala__leader {
  animation-duration:var(--motion-standard);
  animation-delay:440ms
}
.js .story-stage--mandala.is-active .mandala__aspect-reveal {
  animation-duration:var(--motion-standard);
  animation-delay:490ms
}
.js .story-stage--mandala.is-active .mandala__planet[data-planet=sun] .mandala__planet-node {
  animation-duration:var(--motion-standard);
  animation-delay:590ms
}
.mandala-frame.show-aspects:not([data-active-planet]) .mandala__aspect--primary {
  opacity:.43;
  stroke-width:1.05
}
.mandala-frame.show-aspects[data-active-planet] .mandala__planet:not(.is-selected) {
  opacity:.74
}
.js .story-stage--premium.is-active .premium-intro {
  animation-delay:70ms;
  animation-duration:var(--motion-standard)
}
.js .story-stage--premium.is-active .premium-recognition {
  animation-delay:150ms;
  animation-duration:var(--motion-standard)
}
.js .story-stage--premium.is-active .premium-preview {
  animation-delay:220ms;
  animation-duration:var(--motion-standard)
}
.js .story-stage--premium.is-active .premium-value {
  animation-delay:290ms;
  animation-duration:var(--motion-standard)
}
.js .story-stage--premium.is-active .premium-conversion {
  animation-delay:360ms;
  animation-duration:var(--motion-standard)
}
.js .post-purchase-page .app-header,.js .post-purchase-page .post-purchase__constellation,.js .post-purchase-page .post-purchase__content>h1,.js .post-purchase-page .post-purchase__lede,.js .post-purchase-page .post-purchase__actions {
  animation:postPurchaseIn var(--motion-standard) var(--ease) both
}
.js .post-purchase-page .post-purchase__constellation {
  animation-delay:50ms
}
.js .post-purchase-page .post-purchase__content>h1 {
  animation-delay:120ms
}
.js .post-purchase-page .post-purchase__lede {
  animation-delay:180ms
}
.js .post-purchase-page .post-purchase__actions {
  animation-delay:240ms
}
@keyframes disclosureIn {
  from {
    opacity:0;
    transform:translateY(-4px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes validationNotice {
  0% {
    box-shadow:0 0 0 0 rgba(255,145,111,0)
  }
  45% {
    box-shadow:0 0 0 4px rgba(255,145,111,.14)
  }
  100% {
    box-shadow:0 0 0 0 rgba(255,145,111,0)
  }
}
@keyframes loaderOrbit {
  to {
    transform:rotate(1turn)
  }
}
@keyframes chapterVisualIn {
  to {
    opacity:1;
    transform:none
  }
}
@keyframes postPurchaseIn {
  from {
    opacity:0;
    transform:translateY(7px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes resultSurfaceIn {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .app-atmosphere__bloom,.landing__meteor,.loader-cosmos__ring--middle {
    animation:none!important
  }
  .sky-loader,.sky-loader *,.form-step,.form-step *,.story-stage,.story-stage *,.premium-more *,.mandala-help *,.post-purchase-page * {
    animation-duration:.01ms!important;
    animation-delay:0ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    transition-delay:0ms!important
  }
  .sky-loader.is-completing,.js .form-step.is-exiting,.js .story-stage.is-leaving,.js .story-stage--chapter.is-active .chapter-astro-visual,.js .story-stage--chapter.is-active .chapter-astro-visual>.sign-medallion,.js .story-stage--chapter.is-active .chapter-astro-visual .dual-signs .sign-medallion,.js .story-stage--synthesis.is-active .synthesis-point,.js .story-stage--synthesis.is-active .synthesis-reading,.js .story-stage--mandala.is-active .mandala__layer--center,.js .story-stage--mandala.is-active .mandala__ring,.js .story-stage--mandala.is-active .mandala__orbit,.js .story-stage--mandala.is-active .mandala__layer--zodiac,.js .story-stage--mandala.is-active .mandala__layer--houses,.js .story-stage--mandala.is-active .mandala__layer--planets,.js .story-stage--premium.is-active .premium-intro,.js .story-stage--premium.is-active .premium-recognition,.js .story-stage--premium.is-active .premium-preview,.js .story-stage--premium.is-active .premium-value,.js .story-stage--premium.is-active .premium-conversion {
    opacity:1!important;
    transform:none!important;
    filter:none!important
  }
  .astro-context-tag {
    transform:translateX(-50%)!important
  }
  .synthesis-weave__meeting {
    transform:translateX(-50%)!important
  }
  .synthesis-weave__threads path,.mandala__sky,.mandala__leader {
    stroke-dashoffset:0!important
  }
  .js body[data-just-calculated=true].is-map-revealed .result-header,.js body[data-just-calculated=true].is-map-revealed .result-story,.js body[data-just-calculated=true].is-map-revealed .site-footer {
    animation:none!important;
    opacity:1!important
  }
}
