:root {
  color-scheme: dark;
  --bg: #0b0907;
  --ink: #f0e5ce;
  --ink-muted: #a99d88;
  --gold: #c8a66a;
  --gold-bright: #e0bf80;
  --gold-soft: #8e744a;
  --line: rgba(214, 185, 128, 0.22);
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background: #080706;
}

body {
  min-height: 100svh;
  color: var(--ink);
  font-family: var(--sans);
  overflow-x: hidden;
}

button,
input {
  font: inherit;
}

button,
label {
  color: inherit;
}

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

.app-shell {
  position: relative;
  width: min(100%, 430px);
  min-height: 100svh;
  margin: 0 auto;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 33%, rgba(117, 84, 43, 0.20), transparent 31%),
    radial-gradient(circle at 12% 72%, rgba(104, 72, 33, 0.09), transparent 30%),
    linear-gradient(160deg, #100d09 0%, var(--bg) 58%, #070605 100%);
  box-shadow: 0 0 70px rgba(0, 0, 0, 0.42);
}

.app-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.22;
  pointer-events: none;
  background-image:
    repeating-radial-gradient(circle at 30% 20%, rgba(255,255,255,0.05) 0 0.7px, transparent 0.8px 5px),
    linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,0.015) 50%, transparent 50.2%);
  mix-blend-mode: soft-light;
}

.app-shell::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 15;
  border: 1px solid rgba(200, 166, 106, 0.10);
  border-radius: 24px;
  pointer-events: none;
}

.ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.9;
}

.star {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(241, 221, 177, 0.64);
  box-shadow: 0 0 12px rgba(200, 166, 106, 0.35);
}

.star::after {
  content: "";
  position: absolute;
  inset: -5px;
  border: 1px solid rgba(200, 166, 106, 0.11);
  transform: rotate(45deg);
}

.star-a { top: 17%; left: 15%; }
.star-b { top: 22%; right: 13%; transform: scale(0.7); }
.star-c { top: 54%; left: 8%; transform: scale(0.55); }
.star-d { top: 61%; right: 11%; transform: scale(0.65); }
.star-e { bottom: 17%; left: 20%; transform: scale(0.45); }

.screen {
  position: absolute;
  inset: 0;
  display: flex;
  min-height: 100svh;
  flex-direction: column;
  padding:
    max(24px, env(safe-area-inset-top))
    26px
    max(24px, env(safe-area-inset-bottom));
  opacity: 0;
  transform: translateY(12px) scale(0.995);
  pointer-events: none;
  transition:
    opacity 420ms ease,
    transform 520ms cubic-bezier(.2,.8,.2,1);
}

.screen.is-active {
  position: relative;
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.brand-row {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.brand-mark {
  color: var(--gold);
  font-size: 14px;
}

.brand-name {
  color: #e7d9bc;
  font-family: var(--serif);
  font-size: 12px;
  font-weight: 600;
}

.brand-caption {
  justify-self: end;
  color: rgba(226, 211, 180, 0.42);
  font-size: 9px;
}

.hero-art {
  position: relative;
  width: 100%;
  height: clamp(300px, 39svh, 360px);
  margin-top: 8px;
  display: grid;
  place-items: center;
}

.orbit {
  position: absolute;
  border: 1px solid var(--line);
  border-radius: 50%;
}

.orbit-outer {
  width: min(74vw, 292px);
  aspect-ratio: 1;
  animation: drift 16s linear infinite;
}

.orbit-inner {
  width: min(55vw, 220px);
  aspect-ratio: 1;
  border-style: dashed;
  opacity: 0.45;
  animation: drift-reverse 22s linear infinite;
}

.orbit-outer::before,
.orbit-outer::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 14px rgba(200, 166, 106, 0.5);
}

.orbit-outer::before {
  top: 12%;
  left: 20%;
}

.orbit-outer::after {
  right: 14%;
  bottom: 20%;
  transform: scale(0.55);
}

.axis {
  position: absolute;
  background: linear-gradient(90deg, transparent, rgba(200,166,106,0.13), transparent);
}

.axis-v {
  width: 1px;
  height: min(78vw, 310px);
  background: linear-gradient(180deg, transparent, rgba(200,166,106,0.11), transparent);
}

.axis-h {
  width: min(78vw, 310px);
  height: 1px;
}

.palm-engraving {
  width: 154px;
  height: 216px;
  overflow: visible;
  filter: drop-shadow(0 14px 36px rgba(0,0,0,0.42));
  animation: breathe 5.5s ease-in-out infinite;
}


.landing-gold-atlas {
  position: relative;
  z-index: 2;
  width: min(88%, 430px);
  max-height: 94%;
  object-fit: contain;
  opacity: .92;
  filter: saturate(.92) contrast(1.03) brightness(.86) drop-shadow(0 20px 58px rgba(0,0,0,.48));
  mix-blend-mode: screen;
  mask-image: radial-gradient(circle at 50% 49%, #000 58%, rgba(0,0,0,.88) 72%, transparent 96%);
  -webkit-mask-image: radial-gradient(circle at 50% 49%, #000 58%, rgba(0,0,0,.88) 72%, transparent 96%);
  animation: gold-atlas-breathe 6.5s ease-in-out infinite;
}

@keyframes gold-atlas-breathe {
  0%,100% { transform: scale(.985); opacity: .86; }
  50% { transform: scale(1); opacity: .96; }
}
.palm-outline {
  fill: rgba(19, 15, 11, 0.62);
  stroke: rgba(235, 217, 181, 0.72);
  stroke-width: 1.25;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.palm-line {
  fill: none;
  stroke: rgba(203, 169, 105, 0.80);
  stroke-width: 1.15;
  stroke-linecap: round;
  filter: url(#softGlow);
  stroke-dasharray: 230;
  stroke-dashoffset: 230;
  animation: trace-line 2.8s ease forwards;
}

.line-head { animation-delay: 300ms; }
.line-life { animation-delay: 550ms; }
.line-fate { animation-delay: 800ms; }

.palm-line.faint {
  stroke: rgba(223, 204, 166, 0.35);
  stroke-width: 0.8;
  animation-delay: 900ms;
}

.glyph {
  position: absolute;
  color: rgba(218, 190, 134, 0.58);
  font-family: var(--serif);
  font-size: 14px;
}

.glyph-one { top: 20%; left: 17%; }
.glyph-two { top: 27%; right: 17%; font-size: 12px; }
.glyph-three { bottom: 20%; left: 20%; }
.glyph-four { right: 20%; bottom: 25%; }

.hero-copy,
.hand-question,
.capture-copy,
.teaser-head {
  margin-top: auto;
}

.analysis-core {
  margin: auto 0;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.23em;
  line-height: 1.4;
  text-transform: uppercase;
}

h1,
h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

h1 {
  font-size: clamp(42px, 12vw, 52px);
  line-height: 0.96;
}

h2 {
  font-size: clamp(38px, 11vw, 49px);
  line-height: 0.99;
}

.lead {
  max-width: 330px;
  margin: 18px 0 0;
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.62;
}

.lead.compact {
  max-width: 310px;
}

.action-zone {
  margin-top: 26px;
}

.primary-cta,
.mystic-cta,
.artifact-cta,
.capture-choice-button {
  width: 100%;
  cursor: pointer;
}

.primary-cta,
.mystic-cta {
  position: relative;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px 0 22px;
  border-radius: 2px;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    opacity 240ms ease,
    max-height 280ms ease,
    margin 280ms ease;
}

.primary-cta {
  border: 1px solid rgba(214, 184, 123, 0.57);
  background:
    linear-gradient(90deg, rgba(194, 156, 87, 0.18), rgba(139, 105, 57, 0.07)),
    rgba(30, 23, 16, 0.78);
  color: #f2e8d2;
  font-family: var(--serif);
  font-size: 17px;
}

.primary-cta::before,
.primary-cta::after,
.mystic-cta::before,
.mystic-cta::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  border-color: rgba(224, 198, 147, 0.55);
}

.primary-cta::before,
.mystic-cta::before {
  top: 5px;
  left: 5px;
  border-top: 1px solid;
  border-left: 1px solid;
}

.primary-cta::after,
.mystic-cta::after {
  right: 5px;
  bottom: 5px;
  border-right: 1px solid;
  border-bottom: 1px solid;
}

.primary-cta:active,
.mystic-cta:active,
.artifact-cta:active,
.capture-choice-button:active {
  transform: scale(0.988);
}

.cta-arrow {
  color: var(--gold);
  font-size: 18px;
}

.microcopy {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 11px;
  color: rgba(215, 202, 179, 0.48);
  font-size: 10px;
  letter-spacing: 0.04em;
}

.microcopy .dot {
  color: rgba(200, 166, 106, 0.55);
}

.legal-note {
  margin-top: 17px;
  color: rgba(205, 191, 166, 0.32);
  font-size: 9px;
  line-height: 1.5;
  text-align: center;
}

.back-button {
  width: 40px;
  height: 40px;
  margin: 2px 0 0 -8px;
  border: 0;
  background: transparent;
  color: rgba(237, 224, 198, 0.74);
  font-size: 22px;
  cursor: pointer;
}

.back-button.ghost {
  margin-left: auto;
  color: rgba(214, 197, 167, 0.40);
}

.step-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: rgba(226, 211, 183, 0.43);
  font-size: 9px;
  letter-spacing: 0.12em;
}

.step-current {
  color: var(--gold);
}

.step-rule {
  width: 34px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold-soft), rgba(142,116,74,0.18));
}

.hand-options {
  display: grid;
  gap: 12px;
  margin-top: 38px;
}

.hand-card {
  position: relative;
  min-height: 91px;
  display: grid;
  grid-template-columns: 48px 1fr 24px;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(209, 181, 126, 0.18);
  border-radius: 3px;
  background:
    linear-gradient(95deg, rgba(197, 158, 87, 0.08), transparent 52%),
    rgba(22, 17, 12, 0.67);
  text-align: left;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    transform 180ms ease,
    background 180ms ease;
}

.hand-card::after,
.capture-frame::after,
.rare-card::after,
.teaser-card::after,
.locked-summary::after,
.paywall-card::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(236, 218, 181, 0.035);
  pointer-events: none;
}

.hand-card-symbol {
  width: 44px;
  height: 58px;
  display: grid;
  place-items: center;
  color: rgba(225, 204, 162, 0.76);
  font-family: var(--serif);
  font-size: 34px;
  transform: rotate(-8deg);
}

.left-hand {
  transform: scaleX(-1) rotate(-8deg);
}

.hand-card-copy {
  display: grid;
  gap: 5px;
}

.hand-card-copy strong {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
}

.hand-card-copy small {
  color: rgba(219, 204, 177, 0.48);
  font-size: 10px;
}

.hand-card-arrow,
.capture-choice-arrow {
  color: var(--gold-soft);
  font-size: 17px;
}

.helper-note {
  margin: 15px 2px 0;
  color: rgba(210, 195, 168, 0.42);
  font-size: 10px;
  line-height: 1.55;
}

.hand-question .lead.compact { max-width: 360px; }

.capture-screen .capture-copy {
  margin-top: 24px;
}

.capture-frame {
  position: relative;
  min-height: 242px;
  margin-top: 22px;
  border: 1px solid rgba(204, 177, 126, 0.24);
  border-radius: 4px;
  background:
    radial-gradient(circle at center, rgba(182, 143, 79, 0.06), transparent 52%),
    rgba(19, 15, 11, 0.70);
  overflow: hidden;
  display: grid;
  place-items: center;
}

.capture-guide {
  position: absolute;
  inset: 14px;
  z-index: 5;
  pointer-events: none;
}

.corner {
  position: absolute;
  width: 22px;
  height: 22px;
  border-color: rgba(222, 194, 139, 0.33);
}

.c1 { top: 0; left: 0; border-top: 1px solid; border-left: 1px solid; }
.c2 { top: 0; right: 0; border-top: 1px solid; border-right: 1px solid; }
.c3 { bottom: 0; left: 0; border-bottom: 1px solid; border-left: 1px solid; }
.c4 { bottom: 0; right: 0; border-bottom: 1px solid; border-right: 1px solid; }

.capture-placeholder {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 8px;
  max-width: 250px;
  padding: 0 18px;
  text-align: center;
  color: rgba(230, 216, 188, 0.72);
}

.capture-placeholder strong {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
}

.capture-placeholder small {
  color: rgba(216, 199, 168, 0.40);
  font-size: 10px;
  line-height: 1.45;
}

.capture-placeholder.is-ready {
  align-self: end;
  width: calc(100% - 28px);
  max-width: none;
  margin: 0 14px 14px;
  padding: 11px 14px;
  grid-template-columns: 24px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 1px;
  text-align: left;
  border: 1px solid rgba(220, 183, 112, 0.17);
  border-radius: 12px;
  background: rgba(8, 6, 4, 0.68);
  backdrop-filter: blur(8px);
}

.capture-placeholder.is-ready .capture-palm-mark {
  grid-row: 1 / 3;
  align-self: center;
  font-size: 19px;
  color: rgba(231, 193, 119, 0.86);
}

.capture-placeholder.is-ready strong {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(241, 226, 198, 0.88);
}

.capture-placeholder.is-ready small {
  font-size: 8px;
  color: rgba(220, 201, 169, 0.50);
}

.capture-palm-mark {
  color: rgba(204, 177, 126, 0.62);
  font-size: 44px;
}

#capturePreview,
#particleCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.capture-frame.has-photo::before {
  content: "";
  position: absolute;
  inset: -24px;
  z-index: 0;
  background-image: var(--capture-preview-image);
  background-size: cover;
  background-position: center;
  filter: blur(22px) saturate(0.72) brightness(0.34);
  transform: scale(1.08);
  opacity: 0.72;
}

.capture-frame.has-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8, 6, 4, 0.32), rgba(8, 6, 4, 0.08) 50%, rgba(8, 6, 4, 0.32));
}

#capturePreview {
  z-index: 2;
  object-fit: contain;
  object-position: center;
  filter: sepia(0.08) saturate(0.92) contrast(1.02) brightness(0.88);
}

#particleCanvas {
  z-index: 4;
  pointer-events: none;
}

.scan-line {
  position: absolute;
  z-index: 6;
  left: 8%;
  right: 8%;
  top: 12%;
  height: 1px;
  opacity: 0;
  background:
    radial-gradient(circle, rgba(241, 219, 174, 0.75) 0 1px, transparent 1.4px) 0 0 / 7px 1px repeat-x;
  box-shadow: 0 0 12px rgba(204, 166, 97, 0.22);
}

.scan-line.is-active {
  opacity: 1;
  animation: scan-pass 2.4s cubic-bezier(.4,0,.2,1) forwards;
}

.capture-choice {
  display: grid;
  gap: 9px;
  margin-top: 14px;
}

.capture-choice-button {
  min-height: 62px;
  display: grid;
  grid-template-columns: 34px 1fr 18px;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid rgba(204, 177, 126, 0.16);
  background: rgba(20, 16, 12, 0.62);
  border-radius: 3px;
  text-align: left;
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    background 160ms ease;
}

.capture-choice-button:hover {
  border-color: rgba(214, 185, 128, 0.34);
  background: rgba(27, 20, 14, 0.78);
}

.capture-choice-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(207, 177, 120, 0.20);
  border-radius: 50%;
  color: var(--gold);
}

.capture-choice-button strong,
.capture-choice-button small {
  display: block;
}

.capture-choice-button strong {
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 400;
}

.capture-choice-button small {
  margin-top: 3px;
  color: rgba(219, 202, 172, 0.40);
  font-size: 9px;
}

.file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.mystic-cta {
  margin-top: 12px;
  max-height: 70px;
  overflow: hidden;
  border: 1px solid rgba(220, 190, 132, 0.52);
  background:
    linear-gradient(90deg, rgba(191, 149, 78, 0.18), rgba(103, 76, 42, 0.06)),
    rgba(26, 20, 14, 0.88);
  font-family: var(--serif);
  font-size: 17px;
}

.mystic-cta.is-hidden {
  max-height: 0;
  min-height: 0;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
  border-width: 0;
  pointer-events: none;
}

.mystic-cta-spark {
  color: var(--gold-bright);
}

.capture-meta {
  margin-top: 10px;
}

.oracle-sphere {
  position: relative;
  width: 250px;
  height: 250px;
  margin: 0 auto 34px;
  display: grid;
  place-items: center;
}

.sphere-shell {
  position: relative;
  width: 176px;
  height: 176px;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(223, 195, 143, 0.28);
  border-radius: 50%;
  background:
    radial-gradient(circle at 37% 28%, rgba(246, 225, 183, 0.18), transparent 18%),
    radial-gradient(circle at 50% 50%, rgba(123, 90, 49, 0.22), rgba(24, 18, 13, 0.93) 65%);
  box-shadow:
    inset 0 0 38px rgba(234, 205, 151, 0.06),
    inset -22px -28px 44px rgba(0,0,0,0.35),
    0 0 42px rgba(168, 127, 67, 0.08);
}

.sphere-noise {
  position: absolute;
  inset: 0;
  opacity: 0.22;
  background:
    repeating-radial-gradient(circle at 31% 43%, rgba(238, 213, 167, 0.12) 0 0.8px, transparent 1px 6px);
  animation: sphere-noise 7s linear infinite;
}

.sphere-glint {
  position: absolute;
  width: 70px;
  height: 140px;
  left: 18px;
  top: 3px;
  border-radius: 50%;
  transform: rotate(26deg);
  background: linear-gradient(90deg, rgba(255,255,255,0.11), transparent);
  filter: blur(4px);
  opacity: 0.34;
}

.sphere-symbol {
  position: absolute;
  top: 44px;
  color: rgba(221, 190, 130, 0.34);
  font-size: 17px;
}

.analysis-phrase {
  position: relative;
  z-index: 4;
  width: 132px;
  color: rgba(241, 225, 194, 0.84);
  font-family: var(--serif);
  font-size: 15px;
  line-height: 1.38;
  text-align: center;
  text-wrap: balance;
  opacity: 1;
  filter: blur(0);
  transition:
    opacity 320ms ease,
    filter 420ms ease,
    transform 420ms ease;
}

.analysis-phrase.is-changing {
  opacity: 0;
  filter: blur(7px);
  transform: translateY(4px) scale(0.98);
}

.sphere-halo,
.sphere-orbit,
.sphere-pulse {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.sphere-halo {
  inset: 15px;
  border: 1px solid rgba(207, 177, 120, 0.13);
}

.halo-a {
  animation: drift 13s linear infinite;
}

.halo-b {
  inset: 0;
  border-style: dashed;
  opacity: 0.55;
  animation: drift-reverse 19s linear infinite;
}

.sphere-orbit {
  inset: -24px 33px;
  border: 1px solid rgba(211, 181, 126, 0.12);
  transform: rotate(64deg);
}

.orbit-a {
  animation: sphere-orbit-a 8s linear infinite;
}

.orbit-b {
  transform: rotate(-64deg);
  animation: sphere-orbit-b 10s linear infinite;
}

.sphere-pulse {
  inset: 35px;
  border: 1px solid rgba(224, 195, 137, 0.26);
  opacity: 0;
}

.sphere-pulse.is-live {
  animation: sphere-pulse 1.15s ease-out forwards;
}

.analysis-progress {
  width: 100%;
  height: 2px;
  margin-top: 28px;
  overflow: hidden;
  background: rgba(204, 176, 122, 0.10);
}

.analysis-progress-fill {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, rgba(173, 127, 66, 0.52), rgba(229, 202, 151, 0.85));
  box-shadow: 0 0 9px rgba(212, 178, 116, 0.22);
}

.analysis-progress-fill.is-running {
  animation: analysis-progress 6.7s linear forwards;
}

.analysis-prototype-note {
  margin: 12px auto 0;
  max-width: 310px;
  color: rgba(207, 190, 162, 0.28);
  font-size: 8px;
  line-height: 1.5;
  text-align: center;
}

.rare-card,
.teaser-card,
.locked-summary,
.paywall-card {
  position: relative;
  border: 1px solid rgba(205, 177, 125, 0.16);
  background: rgba(20, 16, 12, 0.76);
}

.rare-card {
  margin-top: 24px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(181, 139, 72, 0.075), transparent 62%),
    rgba(20, 16, 12, 0.78);
}

.rare-label,
.teaser-card-index,
.price-label {
  color: var(--gold);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.dust-copy {
  margin: 11px 0 0;
  color: rgba(241, 228, 202, 0.92);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.45;
}

.dust-copy .dust-letter {
  display: inline;
  opacity: 0;
  filter: blur(5px);
  text-shadow: 0 0 12px rgba(223, 185, 112, 0.18);
  transition:
    opacity 450ms ease,
    filter 650ms ease;
}

.dust-copy .dust-letter.is-visible {
  opacity: 1;
  filter: blur(0);
}

.teaser-grid {
  display: grid;
  gap: 9px;
  margin-top: 11px;
}

.teaser-card {
  padding: 14px 16px;
}

.teaser-card-index {
  display: inline-block;
  margin-bottom: 6px;
}

.teaser-card strong {
  display: block;
  margin-bottom: 5px;
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 400;
}

.teaser-card p {
  margin: 0;
  color: rgba(233, 221, 197, 0.72);
  font-size: 10.5px;
  line-height: 1.55;
}

.locked-summary {
  margin-top: 10px;
  padding: 14px 16px;
}

.locked-summary-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  color: rgba(238, 223, 195, 0.74);
  font-family: var(--serif);
  font-size: 14px;
}

.lock-chip {
  padding: 3px 6px;
  border: 1px solid rgba(207, 175, 115, 0.16);
  color: rgba(214, 188, 139, 0.50);
  background: rgba(14, 11, 8, 0.78);
  font-family: var(--sans);
  font-size: 7px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.locked-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}

.locked-tags span {
  padding: 5px 7px;
  border: 1px solid rgba(202, 173, 118, 0.09);
  color: rgba(209, 194, 168, 0.28);
  background: rgba(14, 11, 8, 0.34);
  font-size: 8px;
  filter: blur(0.15px);
}

.paywall-card {
  margin-top: 10px;
  padding: 16px;
  background:
    linear-gradient(180deg, rgba(194, 156, 87, 0.05), transparent 34%),
    rgba(24, 19, 14, 0.82);
}

.price-line {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 14px;
}

.price-line small {
  display: block;
  margin-top: 5px;
  color: rgba(220, 205, 178, 0.43);
  font-size: 9px;
  line-height: 1.45;
}

.price-line strong {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
  color: #f4e7ca;
}

.artifact-cta {
  position: relative;
  height: 61px;
  margin-top: 14px;
  padding: 1px;
  border: 0;
  border-radius: 3px;
  overflow: hidden;
  background: rgba(113, 83, 43, 0.28);
}

.artifact-border {
  position: absolute;
  inset: -100%;
  background:
    conic-gradient(
      from 0deg,
      transparent 0 23%,
      rgba(236, 208, 152, 0.08) 26%,
      rgba(236, 208, 152, 0.72) 29%,
      rgba(236, 208, 152, 0.11) 32%,
      transparent 35% 100%
    );
  animation: artifact-border-rotate 5.5s linear infinite;
}

.artifact-inner {
  position: absolute;
  inset: 1px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 19px;
  border: 1px solid rgba(222, 193, 138, 0.23);
  background:
    linear-gradient(90deg, rgba(190, 148, 75, 0.15), transparent 62%),
    #17110c;
  color: #f4e8d0;
  font-family: var(--serif);
  font-size: 16px;
}

.cta-price {
  color: var(--gold-bright);
}

.paywall-note {
  margin: 9px 0 0;
  color: rgba(209, 191, 161, 0.30);
  font-size: 8px;
  line-height: 1.5;
  text-align: center;
}

.prototype-note {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid rgba(205, 174, 116, 0.10);
  color: rgba(207, 191, 163, 0.25);
  font-size: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.prototype-note span:last-child {
  text-align: right;
}

.camera-sheet {
  position: absolute;
  inset: 0;
  z-index: 25;
  display: flex;
  min-height: 100svh;
  flex-direction: column;
  padding:
    max(22px, env(safe-area-inset-top))
    18px
    max(24px, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 32%, rgba(95, 70, 39, 0.18), transparent 37%),
    rgba(8, 6, 5, 0.985);
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 260ms ease,
    transform 360ms cubic-bezier(.2,.8,.2,1);
}

.camera-sheet.is-hidden {
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
}

.camera-sheet-top {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: center;
  padding: 3px 5px 16px;
}

.camera-sheet-close {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(212, 185, 132, 0.14);
  border-radius: 50%;
  background: rgba(27, 20, 14, 0.56);
  color: rgba(235, 220, 193, 0.72);
  font-size: 21px;
  cursor: pointer;
}

.camera-sheet-eyebrow {
  display: block;
  margin-bottom: 3px;
  color: var(--gold);
  font-size: 8px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.camera-sheet-top strong {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 400;
}

.camera-video-wrap {
  position: relative;
  flex: 1 1 auto;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(207, 178, 123, 0.18);
  border-radius: 5px;
  background: #050403;
}

#cameraVideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.camera-live-guide {
  position: absolute;
  inset: 18px;
  pointer-events: none;
}

.camera-hand-ghost {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(237, 216, 174, 0.12);
  font-size: 150px;
  filter: grayscale(1);
}

.camera-hint {
  min-height: 34px;
  margin: 12px 8px 4px;
  color: rgba(213, 197, 168, 0.46);
  font-size: 9px;
  line-height: 1.5;
  text-align: center;
}

.camera-shutter {
  position: relative;
  width: 84px;
  height: 84px;
  margin: 8px auto 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.camera-shutter:disabled {
  opacity: 0.35;
  cursor: default;
}

.camera-shutter-ring,
.camera-shutter-core {
  position: absolute;
  border-radius: 50%;
}

.camera-shutter-ring {
  inset: 3px;
  border: 1px solid rgba(229, 205, 160, 0.56);
}

.camera-shutter-core {
  inset: 13px;
  border: 1px solid rgba(214, 184, 126, 0.28);
  background:
    radial-gradient(circle at 42% 35%, rgba(238, 215, 174, 0.32), transparent 28%),
    rgba(153, 112, 58, 0.24);
}

.camera-shutter-label {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(241, 227, 200, 0.72);
  font-family: var(--serif);
  font-size: 11px;
}

.toast {
  position: fixed;
  left: 50%;
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 40;
  width: min(calc(100% - 44px), 360px);
  padding: 12px 14px;
  border: 1px solid rgba(210, 179, 119, 0.26);
  background: rgba(13, 10, 8, 0.95);
  color: rgba(236, 222, 194, 0.78);
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, 8px);
  pointer-events: none;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@keyframes trace-line {
  to { stroke-dashoffset: 0; }
}

@keyframes drift {
  to { transform: rotate(360deg); }
}

@keyframes drift-reverse {
  to { transform: rotate(-360deg); }
}

@keyframes breathe {
  0%, 100% { transform: translateY(2px); }
  50% { transform: translateY(-3px); }
}

@keyframes scan-pass {
  0% { top: 10%; opacity: 0; }
  8% { opacity: 1; }
  92% { opacity: 0.9; }
  100% { top: 88%; opacity: 0; }
}

@keyframes sphere-pulse {
  0% { opacity: 0; transform: scale(0.72); }
  22% { opacity: 0.42; }
  100% { opacity: 0; transform: scale(1.44); }
}

@keyframes sphere-noise {
  to { transform: rotate(360deg) scale(1.06); }
}

@keyframes sphere-orbit-a {
  to { transform: rotate(424deg); }
}

@keyframes sphere-orbit-b {
  to { transform: rotate(-424deg); }
}

@keyframes analysis-progress {
  to { width: 100%; }
}

@keyframes artifact-border-rotate {
  to { transform: rotate(360deg); }
}

@media (min-width: 700px) {
  body {
    padding: 24px 0;
    background:
      radial-gradient(circle at 50% 30%, #1b150f 0%, #080706 45%, #050403 100%);
  }

  .app-shell,
  .camera-sheet {
    min-height: calc(100svh - 48px);
    border-radius: 28px;
  }

  .screen {
    min-height: calc(100svh - 48px);
  }
}

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


/* Block 1B v4 — staged teaser reveal */
.teaser-sequence-head {
  margin-top: 24px;
}

.reveal-progress {
  display: flex;
  gap: 7px;
  margin: 20px 0 16px;
}

.reveal-dot {
  width: 18px;
  height: 2px;
  background: rgba(200, 166, 106, 0.14);
  transition:
    width 260ms ease,
    background 260ms ease,
    box-shadow 260ms ease;
}

.reveal-dot.is-active {
  width: 38px;
  background: rgba(224, 193, 134, 0.72);
  box-shadow: 0 0 10px rgba(200, 166, 106, 0.12);
}

.reveal-dot.is-complete {
  background: rgba(200, 166, 106, 0.35);
}

.reveal-stage {
  display: none;
  opacity: 0;
  transform: translateY(10px);
}

.reveal-stage.is-active {
  display: block;
  animation: reveal-stage-in 520ms cubic-bezier(.2,.8,.2,1) forwards;
}

.reveal-card {
  position: relative;
  padding: 20px 18px 19px;
  border: 1px solid rgba(205, 177, 125, 0.17);
  background:
    linear-gradient(180deg, rgba(181, 139, 72, 0.055), transparent 62%),
    rgba(20, 16, 12, 0.78);
}

.reveal-card::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(236, 218, 181, 0.035);
  pointer-events: none;
}

.reveal-number {
  position: absolute;
  top: 14px;
  right: 15px;
  color: rgba(210, 180, 122, 0.30);
  font-family: var(--serif);
  font-size: 22px;
}

.reveal-card h3,
.paywall-intro h3 {
  margin: 12px 0 10px;
  color: rgba(243, 229, 202, 0.94);
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: -0.025em;
}

.reveal-card > p:not(.dust-copy),
.paywall-intro > p:not(.eyebrow) {
  margin: 0;
  color: rgba(233, 221, 197, 0.73);
  font-size: 12px;
  line-height: 1.66;
}

.reveal-card .reveal-detail {
  margin-top: 12px !important;
  padding-top: 12px;
  border-top: 1px solid rgba(205, 177, 125, 0.10);
  color: rgba(219, 202, 173, 0.48) !important;
}

.sequence-cta {
  width: 100%;
  min-height: 58px;
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px 0 20px;
  border: 1px solid rgba(211, 181, 126, 0.23);
  border-radius: 2px;
  background:
    linear-gradient(90deg, rgba(183, 139, 70, 0.08), transparent 62%),
    rgba(20, 16, 12, 0.70);
  color: rgba(239, 225, 198, 0.84);
  font-family: var(--serif);
  font-size: 15px;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.sequence-cta:hover {
  border-color: rgba(221, 191, 135, 0.46);
  background:
    linear-gradient(90deg, rgba(183, 139, 70, 0.12), transparent 62%),
    rgba(25, 19, 13, 0.82);
}

.sequence-cta:active {
  transform: scale(0.989);
}

.sequence-cta-final {
  border-color: rgba(220, 190, 132, 0.34);
}

.paywall-stage {
  padding-bottom: 4px;
}

.paywall-intro {
  padding: 4px 2px 2px;
  text-align: left;
}

.paywall-sigil {
  width: 44px;
  height: 44px;
  margin-bottom: 17px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(214, 183, 125, 0.18);
  border-radius: 50%;
  color: var(--gold);
  background: rgba(32, 24, 16, 0.64);
  box-shadow: 0 0 28px rgba(173, 128, 63, 0.06);
}

.paywall-intro .eyebrow {
  margin-bottom: 8px;
}

.paywall-stage .locked-summary {
  margin-top: 18px;
}

.paywall-stage .paywall-card {
  margin-top: 10px;
}

@keyframes reveal-stage-in {
  to {
    opacity: 1;
    transform: none;
  }
}

/* Block 1B v5 — owner feedback pass 002 */
.reveal-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  width: 100%;
  margin: 20px 0 16px;
}

.reveal-segment {
  position: relative;
  width: 100%;
  height: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: default;
}

.reveal-segment::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 6px;
  height: 2px;
  background: rgba(200, 166, 106, 0.12);
  transition: background 220ms ease, box-shadow 220ms ease, height 220ms ease, top 220ms ease;
}

.reveal-segment.is-opened::before {
  background: rgba(205, 174, 116, 0.38);
}

.reveal-segment.is-active::before {
  top: 5px;
  height: 3px;
  background: rgba(231, 202, 145, 0.90);
  box-shadow: 0 0 14px rgba(199, 157, 88, 0.15);
}

.reveal-segment.is-available {
  cursor: pointer;
}

.reveal-segment.is-available:hover::before {
  background: rgba(226, 194, 136, 0.66);
}

.reveal-segment:disabled {
  cursor: default;
}

.reveal-nav {
  display: flex;
  align-items: center;
  margin-top: 9px;
}

.reveal-nav-paywall {
  justify-content: center;
  margin-top: 12px;
}

.reveal-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: rgba(218, 198, 164, 0.48);
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: color 180ms ease, transform 180ms ease;
}

.reveal-back:hover {
  color: rgba(235, 216, 183, 0.74);
}

.reveal-back:active {
  transform: translateX(-2px);
}

.paywall-card-light {
  margin-top: 2px;
  padding: 22px 18px 18px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(190, 146, 76, 0.08), transparent 48%),
    rgba(21, 16, 12, 0.78);
}

.paywall-price {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.paywall-price strong {
  color: #f4e7ca;
  font-family: var(--serif);
  font-size: 38px;
  line-height: 1;
  font-weight: 400;
}

.paywall-price span {
  color: rgba(218, 201, 172, 0.42);
  font-size: 9px;
  letter-spacing: 0.03em;
}

.paywall-card-light .artifact-cta {
  margin-top: 17px;
}

.paywall-dev-note {
  margin: 8px 0 0;
  color: rgba(205, 187, 157, 0.24);
  font-size: 7.5px;
  line-height: 1.5;
  text-align: center;
}

/* Block 1B v5 — sign evidence + 10-sign horizon pass 003 */
.photo-quality-guide {
  margin-top: 16px;
  border-top: 1px solid rgba(205, 177, 125, 0.12);
  border-bottom: 1px solid rgba(205, 177, 125, 0.12);
}

.photo-quality-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 9px 0;
}

.photo-quality-item + .photo-quality-item {
  border-top: 1px solid rgba(205, 177, 125, 0.07);
}

.photo-quality-number {
  color: rgba(210, 180, 122, 0.38);
  font-family: var(--serif);
  font-size: 11px;
  line-height: 1.5;
}

.photo-quality-item strong,
.photo-quality-item small {
  display: block;
}

.photo-quality-item strong {
  color: rgba(241, 227, 202, 0.84);
  font-family: var(--serif);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
}

.photo-quality-item small {
  margin-top: 2px;
  color: rgba(218, 201, 172, 0.48);
  font-size: 9px;
  line-height: 1.45;
}

.photo-quality-promise {
  display: flex;
  gap: 8px;
  margin: 12px 0 0;
  color: rgba(226, 210, 181, 0.56);
  font-size: 9px;
  line-height: 1.55;
}

.photo-quality-promise span {
  flex: 0 0 auto;
  color: rgba(213, 177, 111, 0.72);
}

.reveal-progress-wrap {
  margin: 20px 0 16px;
}

.reveal-progress {
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 5px;
  margin: 0;
}

.reveal-segment.is-future::before {
  background: rgba(200, 166, 106, 0.075);
}

.reveal-segment.is-locked-focus::before {
  top: 5px;
  height: 3px;
  background: rgba(211, 178, 117, 0.42);
  box-shadow: 0 0 12px rgba(199, 157, 88, 0.08);
}

.reveal-progress-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
  color: rgba(205, 187, 157, 0.30);
  font-size: 7.5px;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.sign-basis {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 10px 0 11px !important;
  padding: 9px 10px;
  border-left: 1px solid rgba(215, 181, 119, 0.30);
  background: rgba(177, 133, 69, 0.035);
}

.sign-basis span {
  color: rgba(205, 172, 111, 0.55);
  font-size: 7px;
  line-height: 1.2;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.sign-basis strong {
  color: rgba(235, 217, 184, 0.72);
  font-family: var(--serif);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 400;
}

.locked-reveal-card {
  overflow: hidden;
}

.locked-reveal-mask {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
  padding: 12px 10px;
  border-top: 1px solid rgba(205, 177, 125, 0.10);
  color: rgba(225, 207, 174, 0.58);
  font-size: 9px;
  letter-spacing: 0.035em;
}

.locked-reveal-mask span {
  color: rgba(210, 174, 108, 0.74);
}

.locked-reveal-mask strong {
  font-weight: 400;
}



/* Block 1B v5 — visual evidence trace pass 005 */
.sign-basis-block {
  margin: 10px 0 12px;
}

.sign-basis-block .sign-basis {
  margin: 0 !important;
}


/* Block 1B v5 — capture readiness + pre-analysis quality gate pass 007 */
.quality-gate {
  position: fixed;
  inset: 0;
  z-index: 65;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(4, 3, 2, 0.88);
  backdrop-filter: blur(12px);
}

.quality-gate.is-hidden {
  display: none;
}

.quality-gate-panel {
  width: min(100%, 390px);
  padding: 26px 20px 20px;
  border: 1px solid rgba(205, 172, 113, 0.16);
  border-radius: 22px 22px 10px 10px;
  background: radial-gradient(circle at 50% 0%, rgba(128, 87, 43, 0.11), transparent 38%), #0d0a07;
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.48);
}

.quality-gate-orbit {
  position: relative;
  width: 82px;
  height: 82px;
  margin: 0 auto 24px;
  display: grid;
  place-items: center;
}

.quality-gate-orbit span {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(217, 178, 108, 0.14);
  border-radius: 50%;
  animation: quality-orbit 2.4s linear infinite;
}

.quality-gate-orbit span:nth-child(2) { inset: 9px; animation-duration: 1.9s; animation-direction: reverse; }
.quality-gate-orbit span:nth-child(3) { inset: 18px; animation-duration: 1.45s; }

.quality-gate-orbit strong {
  color: rgba(233, 193, 117, 0.88);
  font-size: 18px;
  font-weight: 400;
  text-shadow: 0 0 18px rgba(220, 163, 70, 0.42);
}

@keyframes quality-orbit {
  to { transform: rotate(360deg); }
}

.quality-gate-panel h2 {
  margin: 7px 0 0;
  color: rgba(241, 226, 198, 0.94);
  font-family: var(--serif);
  font-size: 28px;
  line-height: 1.04;
  font-weight: 400;
}

.quality-gate-lead {
  margin: 12px 0 0;
  color: rgba(221, 204, 174, 0.54);
  font-size: 10px;
  line-height: 1.55;
}

.quality-gate-checks {
  margin-top: 20px;
  border-top: 1px solid rgba(205, 177, 125, 0.10);
  border-bottom: 1px solid rgba(205, 177, 125, 0.10);
}

.quality-gate-check {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  min-height: 59px;
  padding: 10px 0;
  opacity: 0.42;
  transition: opacity 220ms ease, transform 220ms ease;
}

.quality-gate-check + .quality-gate-check {
  border-top: 1px solid rgba(205, 177, 125, 0.07);
}

.quality-check-state {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(210, 177, 116, 0.16);
  border-radius: 50%;
  color: rgba(213, 177, 111, 0.55);
  font-family: var(--serif);
  font-size: 9px;
}

.quality-gate-check strong,
.quality-gate-check small { display: block; }

.quality-gate-check strong {
  color: rgba(239, 222, 193, 0.80);
  font-family: var(--serif);
  font-size: 13px;
  font-weight: 400;
}

.quality-gate-check small {
  margin-top: 2px;
  color: rgba(213, 196, 167, 0.42);
  font-size: 8px;
  line-height: 1.4;
}

.quality-gate-check.is-checking {
  opacity: 0.82;
  transform: translateX(2px);
}

.quality-gate-check.is-checking .quality-check-state {
  color: rgba(238, 194, 112, 0.92);
  border-color: rgba(229, 187, 107, 0.42);
  box-shadow: 0 0 16px rgba(217, 160, 70, 0.12);
}

.quality-gate-check.is-passed { opacity: 1; }

.quality-gate-check.is-passed .quality-check-state {
  color: rgba(244, 210, 143, 0.94);
  border-color: rgba(232, 191, 112, 0.34);
  background: rgba(217, 164, 75, 0.07);
}

.quality-gate-check.is-advisory .quality-check-state {
  color: rgba(238, 194, 112, 0.92);
  border-color: rgba(229, 187, 107, 0.42);
}

.quality-gate-check.is-advisory small {
  color: rgba(213, 196, 167, 0.66);
}

.quality-gate-result {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-top: 15px;
  padding: 12px;
  border: 1px solid rgba(210, 176, 112, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.012);
}

.quality-gate-result-mark {
  display: grid;
  place-items: center;
  color: rgba(233, 193, 117, 0.82);
  font-size: 15px;
}

.quality-gate-result strong,
.quality-gate-result small { display: block; }

.quality-gate-result strong {
  color: rgba(241, 226, 198, 0.86);
  font-size: 10px;
  font-weight: 600;
}

.quality-gate-result small {
  margin-top: 2px;
  color: rgba(215, 197, 166, 0.43);
  font-size: 8px;
}

.quality-gate-change-photo {
  width: 100%;
  min-height: 44px;
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(210, 176, 112, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.008);
  color: rgba(226, 209, 180, 0.62);
  font-family: var(--serif);
  font-size: 12px;
  cursor: pointer;
  transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
}

.quality-gate-change-photo:hover,
.quality-gate-change-photo:focus-visible {
  border-color: rgba(221, 182, 111, 0.30);
  background: rgba(217, 164, 75, 0.035);
  color: rgba(244, 225, 192, 0.88);
}

.quality-gate-dev-note {
  margin: 12px 2px 0;
  color: rgba(194, 178, 151, 0.30);
  font-size: 7.5px;
  line-height: 1.5;
}



/* Block 3C.24 — pre-live image-bound UX refinement */
.palm-callouts { position: absolute; inset: 0; pointer-events: none; }
.palm-callout { position: absolute; display: flex; align-items: center; gap: 6px; color: rgba(226, 205, 164, 0.48); font-size: 7px; letter-spacing: .13em; text-transform: uppercase; opacity: 0; animation: callout-in 700ms ease forwards; }
.palm-callout i { position: relative; display: block; width: 28px; height: 1px; background: linear-gradient(90deg, rgba(207,171,104,.08), rgba(225,195,138,.46)); }
.palm-callout i::after { content: ""; position: absolute; right: -2px; top: -2px; width: 5px; height: 5px; border: 1px solid rgba(226,193,130,.50); border-radius: 50%; background: #0b0907; box-shadow: 0 0 10px rgba(209,163,86,.20); }
.palm-callout strong { font-weight: 500; white-space: nowrap; }
.callout-heart { top: 37%; right: 2%; animation-delay: 900ms; }
.callout-head { top: 51%; left: 0; flex-direction: row-reverse; animation-delay: 1120ms; }
.callout-head i { transform: rotate(180deg); }
.callout-life { top: 68%; right: 0; animation-delay: 1340ms; }
@keyframes callout-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

.analysis-palm-stage { width: min(100%, 316px); margin: 0 auto 24px; }
.analysis-photo-frame { position: relative; width: 176px; aspect-ratio: 4 / 5; margin: 0 auto; overflow: hidden; border: 1px solid rgba(223,195,143,.26); border-radius: 88px 88px 22px 22px; background: #100c08; box-shadow: 0 20px 55px rgba(0,0,0,.38), 0 0 34px rgba(168,127,67,.08); }
.analysis-photo-frame img { width: 100%; height: 100%; display: block; object-fit: cover; filter: sepia(.12) saturate(.78) contrast(1.04) brightness(.82); }
.analysis-photo-vignette { position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, transparent 28%, rgba(7,5,3,.22) 72%, rgba(7,5,3,.58) 100%), linear-gradient(180deg, rgba(224,183,108,.05), transparent 34%); pointer-events: none; }
.analysis-scan-band { position: absolute; z-index: 2; left: 5%; right: 5%; top: 8%; height: 18%; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(236,197,126,.035) 15%, rgba(244,211,151,.15) 52%, rgba(227,178,92,.045) 82%, transparent); filter: blur(1px); mix-blend-mode: screen; animation: palm-scan-band 3.15s cubic-bezier(.42,0,.58,1) infinite; }
.analysis-scan-line { position: absolute; z-index: 3; left: 7%; right: 7%; height: 1px; top: 14%; pointer-events: none; background: linear-gradient(90deg, transparent 0%, rgba(232,189,112,.22) 15%, rgba(255,229,175,.95) 50%, rgba(232,189,112,.22) 85%, transparent 100%); box-shadow: 0 0 7px rgba(255,220,154,.72), 0 0 21px rgba(225,166,72,.32); animation: palm-scan 3.15s cubic-bezier(.42,0,.58,1) infinite; }
.analysis-scan-glint { position: absolute; z-index: 4; width: 8px; height: 8px; left: 50%; top: 14%; margin: -4px 0 0 -4px; border-radius: 50%; pointer-events: none; background: rgba(255,231,185,.94); box-shadow: 0 0 9px rgba(255,225,166,.95), 0 0 26px rgba(222,160,63,.55); animation: palm-scan-glint 3.15s cubic-bezier(.42,0,.58,1) infinite; }
.analysis-photo-caption { margin-top: 10px; text-align: center; }
.analysis-photo-caption > span { display: block; color: rgba(207,190,162,.34); font-size: 7px; letter-spacing: .12em; text-transform: uppercase; }
.analysis-photo-caption .analysis-phrase { width: auto; margin-top: 4px; color: rgba(239,219,183,.76); font-size: 12px; }
.analysis-pipeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 20px; }
.analysis-pipeline-step { min-width: 0; padding-top: 8px; border-top: 1px solid rgba(210,177,116,.10); opacity: .34; transition: opacity 220ms ease, border-color 220ms ease; }
.analysis-pipeline-step i, .analysis-pipeline-step strong { display: block; font-style: normal; }
.analysis-pipeline-step i { color: rgba(217,177,111,.56); font-family: var(--serif); font-size: 8px; }
.analysis-pipeline-step strong { margin-top: 3px; color: rgba(235,217,186,.62); font-size: 7px; font-weight: 500; line-height: 1.3; }
.analysis-pipeline-step.is-active { opacity: 1; border-color: rgba(232,191,112,.42); }
.analysis-pipeline-step.is-complete { opacity: .72; border-color: rgba(205,170,105,.24); }
.analysis-progress { position: relative; height: 2px; overflow: hidden; }
.analysis-progress-fill { position: absolute; inset: 0 auto 0 -45%; width: 45%; background: linear-gradient(90deg, transparent, rgba(229,202,151,.86), transparent); box-shadow: 0 0 9px rgba(212,178,116,.22); }
.analysis-progress-fill.is-running { animation: analysis-activity 1.55s ease-in-out infinite; }
.analysis-prototype-note { max-width: 330px; }
@keyframes palm-scan { 0%,100% { top: 12%; opacity: .28; } 48%,52% { opacity: 1; } 50% { top: 82%; } }
@keyframes palm-scan-band { 0%,100% { top: 2%; opacity: .18; } 50% { top: 72%; opacity: .9; } }
@keyframes palm-scan-glint { 0%,100% { top: 12%; opacity: .18; transform: scale(.65); } 48%,52% { opacity: 1; transform: scale(1); } 50% { top: 82%; } }
@keyframes analysis-activity { 0% { left: -45%; } 100% { left: 100%; } }

.quality-gate { background: rgba(4,3,2,.84); }
.quality-gate-panel { max-height: calc(100svh - 32px); overflow-y: auto; }
.quality-gate-photo { position: relative; width: 104px; aspect-ratio: 4 / 5; margin: 0 auto 18px; overflow: hidden; border: 1px solid rgba(221,184,114,.22); border-radius: 52px 52px 14px 14px; background: #0d0a07; box-shadow: 0 14px 40px rgba(0,0,0,.36), 0 0 28px rgba(182,132,61,.07); }
.quality-gate-photo img { width: 100%; height: 100%; display: block; object-fit: cover; filter: sepia(.10) saturate(.80) brightness(.82); }
.quality-gate-photo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at center, transparent 28%, rgba(6,4,3,.44) 100%); pointer-events: none; }
.quality-gate-photo-scan { position: absolute; z-index: 2; left: 8%; right: 8%; top: 14%; height: 1px; background: linear-gradient(90deg, transparent, rgba(241,203,134,.78), transparent); box-shadow: 0 0 11px rgba(222,165,78,.30); animation: quality-photo-scan 2.4s ease-in-out infinite; }
.quality-gate-photo-corner { position: absolute; z-index: 3; width: 13px; height: 13px; border-color: rgba(230,194,128,.50); border-style: solid; }
.quality-gate-photo .corner-a { left: 9px; top: 9px; border-width: 1px 0 0 1px; }
.quality-gate-photo .corner-b { right: 9px; top: 9px; border-width: 1px 1px 0 0; }
.quality-gate-photo .corner-c { right: 9px; bottom: 24px; border-width: 0 1px 1px 0; }
.quality-gate-photo .corner-d { left: 9px; bottom: 24px; border-width: 0 0 1px 1px; }
.quality-gate-photo-badge { position: absolute; z-index: 4; left: 7px; right: 7px; bottom: 6px; display: flex; align-items: center; gap: 5px; padding: 4px 6px; background: rgba(8,6,4,.70); border: 1px solid rgba(218,180,111,.13); backdrop-filter: blur(5px); }
.quality-gate-photo-badge span { color: rgba(235,194,116,.88); font-size: 8px; }
.quality-gate-photo-badge strong { color: rgba(233,215,184,.65); font-size: 5.8px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
@keyframes quality-photo-scan { 0%,100% { top: 14%; opacity: .35; } 50% { top: 76%; opacity: .95; } }

@media (max-height: 720px) {
  .quality-gate-panel { padding-top: 18px; }
  .quality-gate-photo { width: 82px; margin-bottom: 12px; }
  .quality-gate-check { min-height: 50px; }
  .quality-gate-lead, .quality-gate-dev-note { display: none; }
  .analysis-photo-frame { width: 148px; }
  .analysis-palm-stage { margin-bottom: 16px; }
}


/* Block 3C.24A — owner desktop visual preview corrective */
.quality-gate {
  overflow-y: auto;
  overscroll-behavior: contain;
}

.quality-gate-panel {
  max-height: none;
  overflow: visible;
}

.quality-gate-layout {
  display: grid;
  gap: 20px;
}

.quality-gate-visual {
  min-width: 0;
}

.quality-gate-photo {
  width: 148px;
  margin-bottom: 10px;
}

.quality-gate-photo-caption {
  max-width: 240px;
  margin: 0 auto;
  color: rgba(215, 198, 169, 0.43);
  font-size: 8px;
  line-height: 1.5;
  text-align: center;
}

.quality-gate-content {
  min-width: 0;
}

.quality-gate-lead {
  max-width: 460px;
  color: rgba(224, 207, 177, 0.62);
  font-size: 11px;
}

.quality-gate-check small {
  color: rgba(218, 201, 172, 0.52);
  font-size: 8.5px;
}

.analysis-photo-frame {
  width: 204px;
}

@media (min-width: 760px) {
  body {
    padding: 28px 0;
  }

  .app-shell {
    width: min(calc(100% - 56px), 1080px);
    min-height: calc(100svh - 56px);
  }

  .app-shell::after {
    inset: 16px;
    border-radius: 28px;
  }

  .screen {
    min-height: calc(100svh - 56px);
    padding: 36px 54px 34px;
  }

  .screen[data-screen="landing"] {
    display: grid;
    grid-template-columns: minmax(380px, 1.08fr) minmax(350px, 0.92fr);
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    column-gap: 58px;
    align-items: center;
  }

  .screen[data-screen="landing"] .brand-row {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .screen[data-screen="landing"] .hero-art {
    grid-column: 1;
    grid-row: 2 / 5;
    width: 100%;
    height: min(68svh, 620px);
    min-height: 500px;
    margin-top: 0;
  }

  .screen[data-screen="landing"] .hero-copy {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    margin-top: 0;
    padding-bottom: 18px;
  }

  .screen[data-screen="landing"] .action-zone {
    grid-column: 2;
    grid-row: 3;
    margin-top: 0;
  }

  .screen[data-screen="landing"] .legal-note {
    grid-column: 2;
    grid-row: 4;
    margin-top: 18px;
  }

  .screen[data-screen="landing"] .orbit-outer {
    width: min(38vw, 430px);
  }

  .screen[data-screen="landing"] .orbit-inner {
    width: min(29vw, 325px);
  }

  .screen[data-screen="landing"] .axis-v {
    height: min(44vw, 475px);
  }

  .screen[data-screen="landing"] .axis-h {
    width: min(44vw, 475px);
  }

  .screen[data-screen="landing"] .landing-gold-atlas {
    width: min(94%, 560px);
    max-height: 96%;
  }

  .screen[data-screen="landing"] h1 {
    font-size: clamp(56px, 5.2vw, 72px);
    line-height: 0.94;
  }

  .screen[data-screen="landing"] .lead {
    max-width: 420px;
    font-size: 15px;
  }

  .screen[data-screen="landing"] .primary-cta {
    min-height: 66px;
    padding-inline: 26px 22px;
  }

  .quality-gate {
    padding: 30px;
  }

  .quality-gate-panel {
    width: min(100%, 900px);
    padding: 34px;
    border-radius: 28px 28px 14px 14px;
  }

  .quality-gate-layout {
    grid-template-columns: minmax(250px, 0.82fr) minmax(420px, 1.18fr);
    gap: 46px;
    align-items: center;
  }

  .quality-gate-photo {
    width: min(100%, 292px);
    margin: 0 auto 15px;
    border-radius: 116px 116px 28px 28px;
  }

  .quality-gate-photo-caption {
    max-width: 285px;
    font-size: 9px;
  }

  .quality-gate-panel h2 {
    max-width: 500px;
    font-size: clamp(40px, 3.2vw, 52px);
    line-height: 0.98;
  }

  .quality-gate-lead {
    margin-top: 16px;
    font-size: 12px;
    line-height: 1.65;
  }

  .quality-gate-checks {
    margin-top: 24px;
  }

  .quality-gate-check {
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 68px;
    gap: 14px;
  }

  .quality-check-state {
    width: 32px;
    height: 32px;
  }

  .quality-gate-check strong {
    font-size: 15px;
  }

  .quality-gate-check small {
    margin-top: 4px;
    font-size: 9.5px;
  }

  .quality-gate-result {
    margin-top: 18px;
  }

  .analysis-core {
    width: min(100%, 820px);
    margin: auto;
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(330px, 1.1fr);
    column-gap: 52px;
    align-items: center;
  }

  .analysis-palm-stage {
    grid-column: 1;
    grid-row: 1 / span 5;
    width: 100%;
    margin: 0;
  }

  .analysis-photo-frame {
    width: min(100%, 300px);
  }

  .analysis-core > .eyebrow,
  .analysis-core > h2,
  .analysis-core > .analysis-pipeline,
  .analysis-core > .analysis-progress {
    grid-column: 2;
  }

  .analysis-core > .eyebrow {
    align-self: end;
    margin-top: 0;
  }

  .analysis-core > h2 {
    font-size: clamp(44px, 4vw, 58px);
  }

  .analysis-pipeline-step strong {
    font-size: 9px;
  }
}

@media (max-width: 759px) {
  .quality-gate {
    place-items: start center;
    padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
  }

  .quality-gate-panel {
    margin: auto 0;
  }
}

@media (max-height: 720px) and (min-width: 760px) {
  .quality-gate-photo {
    width: 220px;
  }

  .quality-gate-panel {
    padding-block: 24px;
  }
}

/* Block 3C.30 — immersive reading flow + staged perceived progress */
.analysis-progress-orbit {
  --analysis-progress: 8;
  position: relative;
  width: 142px;
  aspect-ratio: 1;
  margin: 24px auto 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    conic-gradient(
      rgba(237, 204, 143, 0.92) calc(var(--analysis-progress) * 1%),
      rgba(198, 162, 102, 0.10) 0
    );
  box-shadow:
    0 0 0 1px rgba(223, 190, 130, 0.08),
    0 0 46px rgba(193, 145, 72, 0.08);
  transition: background 180ms linear;
}

.analysis-progress-orbit::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 40%, rgba(62, 42, 23, 0.38), transparent 54%),
    rgba(13, 10, 7, 0.96);
  border: 1px solid rgba(222, 188, 127, 0.12);
}

.analysis-progress-orbit::after {
  content: "✦";
  position: absolute;
  top: 7px;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(246, 215, 156, 0.86);
  font-size: 11px;
  text-shadow: 0 0 12px rgba(232, 180, 91, 0.34);
}

.analysis-progress-orbit-inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 3px;
}

.analysis-progress-orbit-inner strong {
  color: rgba(245, 229, 200, 0.96);
  font-family: var(--serif);
  font-size: 34px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
}

.analysis-progress-orbit-inner span {
  color: rgba(205, 184, 150, 0.46);
  font-size: 7px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.analysis-progress-note {
  max-width: 360px;
  margin: 18px auto 0;
  color: rgba(235, 220, 194, 0.72);
  font-size: 12px;
  line-height: 1.65;
  text-align: center;
}

.analysis-wait-hint {
  max-width: 330px;
  margin: 9px auto 0;
  color: rgba(205, 185, 153, 0.32);
  font-size: 8.5px;
  line-height: 1.55;
  text-align: center;
}

.reading-thread {
  position: relative;
  height: 18px;
  margin: 18px 0 4px;
  overflow: hidden;
}

.reading-thread::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 8px;
  height: 1px;
  background: linear-gradient(90deg, rgba(213, 178, 116, 0.05), rgba(213, 178, 116, 0.20), rgba(213, 178, 116, 0.05));
}

.reading-thread-glow {
  position: absolute;
  top: 6px;
  left: -10%;
  width: 30%;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(239, 207, 146, 0.94), transparent);
  filter: blur(0.2px);
  box-shadow: 0 0 15px rgba(223, 175, 92, 0.18);
  animation: reading-thread-drift 7.6s ease-in-out infinite alternate;
}

@keyframes reading-thread-drift {
  0% { left: -4%; width: 28%; opacity: .58; }
  48% { left: 37%; width: 32%; opacity: .94; }
  100% { left: 74%; width: 28%; opacity: .62; }
}

.reading-thread-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  color: rgba(202, 178, 139, 0.30);
  font-size: 7px;
  letter-spacing: 0.04em;
}

.reveal-card > p:not(.dust-copy),
.reveal-card .reveal-detail {
  font-size: 13px;
  line-height: 1.72;
}

.reveal-card .reveal-detail {
  margin-top: 10px !important;
  padding-top: 0;
  border-top: 0;
  color: rgba(233, 221, 197, 0.72) !important;
}

.reveal-card .reveal-detail[hidden] { display: none; }

.locked-reveal-mask {
  gap: 4px;
}

.locked-reveal-mask small {
  display: block;
  color: rgba(218, 198, 164, 0.40);
  font-size: 8px;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.paywall-stage .locked-reveal-card > p {
  font-size: 13px;
  line-height: 1.72;
}

@media (min-width: 760px) {
  .analysis-core > .analysis-progress-orbit,
  .analysis-core > .analysis-progress-note,
  .analysis-core > .analysis-wait-hint {
    grid-column: 2;
  }

  .analysis-progress-orbit {
    margin-left: 0;
  }

  .analysis-progress-note,
  .analysis-wait-hint {
    margin-left: 0;
    text-align: left;
  }
}

@media (max-width: 480px) {
  .analysis-progress-orbit { width: 128px; margin-top: 18px; }
  .analysis-progress-orbit-inner strong { font-size: 31px; }
  .analysis-progress-note { font-size: 11.5px; }
  .reveal-card > p:not(.dust-copy), .reveal-card .reveal-detail { font-size: 12.5px; }
}


/* Block 3C.34 — open-ended teaser sequence + full-reading continuation */
.teaser-screen > .step-indicator {
  display: none;
}

.continuation-reveal-card {
  overflow: hidden;
  padding: 24px 22px 22px;
  background:
    radial-gradient(circle at 82% 10%, rgba(211, 169, 94, 0.09), transparent 33%),
    linear-gradient(180deg, rgba(181, 139, 72, 0.075), transparent 58%),
    rgba(20, 16, 12, 0.82);
}

.continuation-reveal-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0 58%, rgba(232, 199, 138, 0.035) 66%, transparent 76%);
}

.continuation-reveal-card > h3 {
  max-width: 760px;
  margin-top: 14px;
  font-size: clamp(24px, 2.3vw, 34px);
}

.continuation-reveal-card > p {
  max-width: 900px;
  color: rgba(239, 225, 199, 0.78) !important;
  font-size: 14px !important;
  line-height: 1.78 !important;
}

.full-reading-promise {
  margin-top: 22px;
  padding: 18px 18px 16px;
  border-top: 1px solid rgba(213, 181, 123, 0.18);
  border-bottom: 1px solid rgba(213, 181, 123, 0.10);
  background: linear-gradient(90deg, rgba(191, 146, 76, 0.06), transparent 72%);
}

.full-reading-kicker {
  display: block;
  margin-bottom: 7px;
  color: rgba(215, 180, 117, 0.70);
  font-size: 8px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.full-reading-promise > strong {
  display: block;
  color: rgba(246, 232, 205, 0.96);
  font-family: var(--serif);
  font-size: clamp(20px, 1.8vw, 27px);
  font-weight: 400;
  line-height: 1.28;
}

.full-reading-promise > p {
  max-width: 880px;
  margin: 9px 0 0;
  color: rgba(225, 209, 180, 0.66);
  font-size: 12px;
  line-height: 1.7;
}

.full-reading-points {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}

.full-reading-points span {
  padding: 6px 9px;
  border: 1px solid rgba(209, 177, 117, 0.14);
  border-radius: 999px;
  color: rgba(224, 205, 170, 0.54);
  background: rgba(9, 7, 5, 0.26);
  font-size: 8px;
  letter-spacing: 0.02em;
}

.paywall-stage .paywall-card-light {
  margin-top: 12px;
}

.paywall-stage .paywall-price > span {
  max-width: 520px;
}

/* Block 3C.37/3C.38 — deeper narrative + focused local palm atlas + paywall de-duplication */
.sign-basis-block {
  display: grid;
  gap: 8px;
}

.palm-guide-open {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border: 0;
  color: rgba(218, 183, 119, 0.72);
  background: transparent;
  font: inherit;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.palm-guide-open:hover { color: rgba(246, 220, 168, 0.96); }
.palm-guide-open:focus-visible,
.palm-guide-close:focus-visible,
.palm-guide-choice:focus-visible {
  outline: 1px solid rgba(232, 197, 130, 0.72);
  outline-offset: 4px;
}

body.palm-guide-opened { overflow: hidden; }

.palm-guide-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 20px;
}

.palm-guide-modal.is-hidden { display: none; }

.palm-guide-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(3, 2, 1, 0.86);
  backdrop-filter: blur(16px);
  cursor: default;
}

.palm-guide-panel {
  position: relative;
  width: min(1020px, calc(100vw - 40px));
  max-height: min(860px, calc(100vh - 40px));
  overflow: auto;
  padding: 26px 28px 28px;
  border: 1px solid rgba(224, 185, 111, 0.26);
  border-radius: 28px;
  background:
    radial-gradient(circle at 46% 38%, rgba(210, 159, 74, 0.09), transparent 43%),
    linear-gradient(180deg, rgba(27, 20, 13, 0.992), rgba(8, 6, 4, 0.997));
  box-shadow: 0 34px 120px rgba(0, 0, 0, 0.7), inset 0 0 0 1px rgba(255, 225, 169, 0.018);
  scrollbar-color: rgba(210, 170, 97, 0.28) transparent;
}

.palm-guide-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.palm-guide-kicker {
  display: block;
  margin-bottom: 7px;
  color: rgba(222, 181, 104, 0.76);
  font-size: 8px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.palm-guide-topline h3 {
  margin: 0;
  color: rgba(250, 235, 207, 0.98);
  font-family: var(--serif);
  font-size: clamp(29px, 3.4vw, 42px);
  font-weight: 400;
  line-height: 1.08;
}

.palm-guide-close {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border: 1px solid rgba(221, 181, 107, 0.22);
  border-radius: 999px;
  color: rgba(235, 212, 170, 0.78);
  background: rgba(12, 9, 6, 0.42);
  font-size: 20px;
  cursor: pointer;
}

.palm-guide-copy {
  max-width: 720px;
  margin: 12px 0 0;
  color: rgba(231, 214, 184, 0.66);
  font-size: 12px;
  line-height: 1.68;
}

.palm-guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(250px, .72fr);
  gap: 22px;
  margin-top: 20px;
  align-items: stretch;
}

.palm-guide-atlas-frame {
  min-width: 0;
  display: grid;
  gap: 10px;
}

.palm-guide-atlas-stage {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(218, 179, 105, 0.16);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 50%, rgba(214, 166, 79, 0.055), transparent 58%),
    #070503;
  box-shadow: inset 0 0 70px rgba(201, 145, 64, 0.025);
}

.palm-guide-atlas-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  filter: saturate(.86) brightness(.92) contrast(1.02);
  opacity: .94;
}

.palm-guide-focus-ring {
  --focus-x: 50%;
  --focus-y: 60%;
  --focus-w: 30%;
  --focus-h: 24%;
  --focus-rotate: 0deg;
  position: absolute;
  left: var(--focus-x);
  top: var(--focus-y);
  width: var(--focus-w);
  height: var(--focus-h);
  border: 1.5px solid rgba(248, 205, 119, 0.78);
  border-radius: 48%;
  transform: translate(-50%, -50%) rotate(var(--focus-rotate));
  box-shadow:
    0 0 0 1px rgba(255, 224, 157, 0.05),
    0 0 22px rgba(239, 178, 78, 0.34),
    inset 0 0 26px rgba(235, 174, 77, 0.07);
  pointer-events: none;
  transition: left 220ms ease, top 220ms ease, width 220ms ease, height 220ms ease, transform 220ms ease;
  animation: palm-guide-focus-breathe 2.8s ease-in-out infinite;
}

.palm-guide-focus-ring::before,
.palm-guide-focus-ring::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 216, 139, 0.95);
  box-shadow: 0 0 13px rgba(255, 194, 84, 0.72);
}
.palm-guide-focus-ring::before { left: 8%; top: 12%; }
.palm-guide-focus-ring::after { right: 8%; bottom: 12%; }

.palm-guide-focus-badge {
  position: absolute;
  left: 18px;
  bottom: 16px;
  max-width: calc(100% - 36px);
  padding: 7px 10px;
  border: 1px solid rgba(222, 181, 107, 0.23);
  border-radius: 999px;
  color: rgba(255, 231, 187, 0.92);
  background: rgba(5, 4, 3, 0.78);
  backdrop-filter: blur(10px);
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .04em;
  pointer-events: none;
}

.palm-guide-atlas-note {
  margin: 0;
  color: rgba(221, 202, 170, 0.50);
  font-size: 10px;
  line-height: 1.55;
}

.palm-guide-navigator {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(218, 179, 105, 0.13);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(50, 34, 17, 0.20), rgba(15, 10, 6, 0.34));
}

.palm-guide-navigator-label {
  color: rgba(217, 177, 103, 0.62);
  font-size: 8px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.palm-guide-choices {
  display: grid;
  gap: 7px;
}

.palm-guide-choice {
  width: 100%;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid rgba(216, 177, 103, 0.15);
  border-radius: 13px;
  color: rgba(229, 211, 177, 0.68);
  background: rgba(11, 8, 5, 0.46);
  font: inherit;
  font-size: 10px;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.palm-guide-choice:hover {
  color: rgba(248, 226, 185, 0.95);
  border-color: rgba(227, 186, 108, 0.38);
  transform: translateX(2px);
}

.palm-guide-choice.is-active {
  color: rgba(255, 238, 202, 0.99);
  border-color: rgba(235, 192, 109, 0.64);
  background: linear-gradient(180deg, rgba(112, 78, 34, 0.34), rgba(46, 31, 14, 0.37));
  box-shadow: inset 0 0 0 1px rgba(240, 197, 112, 0.08), 0 0 24px rgba(190, 126, 43, 0.07);
}

.palm-guide-focus {
  display: grid;
  gap: 7px;
  min-height: 104px;
  margin-top: 2px;
  padding: 15px 15px 16px;
  border-left: 1px solid rgba(229, 189, 111, 0.38);
  background: linear-gradient(90deg, rgba(132, 90, 36, 0.09), transparent 78%);
}

.palm-guide-focus strong {
  color: rgba(248, 228, 190, 0.96);
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.23;
}

.palm-guide-focus p {
  margin: 0;
  color: rgba(230, 213, 184, 0.68);
  font-size: 11px;
  line-height: 1.62;
}

.palm-guide-legend {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: start;
  margin-top: 2px;
  padding-top: 13px;
  border-top: 1px solid rgba(218, 179, 105, 0.10);
  color: rgba(218, 198, 165, 0.48);
}

.palm-guide-legend > span {
  color: rgba(229, 187, 108, 0.72);
  line-height: 1.4;
}

.palm-guide-legend p {
  margin: 0;
  font-size: 9px;
  line-height: 1.55;
}

@keyframes palm-guide-focus-breathe {
  0%,100% { opacity: .72; box-shadow: 0 0 0 1px rgba(255,224,157,.04), 0 0 18px rgba(239,178,78,.26), inset 0 0 22px rgba(235,174,77,.05); }
  50% { opacity: 1; box-shadow: 0 0 0 1px rgba(255,224,157,.08), 0 0 30px rgba(239,178,78,.42), inset 0 0 34px rgba(235,174,77,.09); }
}

@media (max-width: 820px) {
  .palm-guide-panel { width: min(680px, calc(100vw - 24px)); padding: 20px; border-radius: 22px; }
  .palm-guide-layout { grid-template-columns: 1fr; gap: 14px; }
  .palm-guide-atlas-stage { max-width: 620px; margin: 0 auto; }
  .palm-guide-choices { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
  .palm-guide-choice { text-align: center; }
}

@media (max-width: 520px) {
  .palm-guide-modal { padding: 8px; }
  .palm-guide-panel { width: 100%; max-height: calc(100vh - 16px); padding: 16px; border-radius: 18px; }
  .palm-guide-topline h3 { font-size: 28px; }
  .palm-guide-copy { font-size: 11px; }
  .palm-guide-layout { margin-top: 14px; }
  .palm-guide-atlas-note { font-size: 9px; }
  .palm-guide-choices { grid-template-columns: 1fr; }
  .palm-guide-focus-badge { left: 10px; bottom: 10px; font-size: 9px; }
}

.paywall-value {
  max-width: 910px;
  margin: 0 auto 18px;
  text-align: left;
}

.paywall-value > strong {
  display: block;
  color: rgba(246, 232, 205, 0.96);
  font-family: var(--serif);
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 400;
  line-height: 1.24;
}

.paywall-value > p {
  max-width: 880px;
  margin: 9px 0 0;
  color: rgba(225, 209, 180, 0.66);
  font-size: 12px;
  line-height: 1.72;
}

.paywall-card-light .paywall-price {
  padding-top: 16px;
  border-top: 1px solid rgba(213, 181, 123, 0.12);
}

/* Block 3C.67R3 — seamless paid-reading continuation; orchestration stays invisible in product copy */
.premium-buffer-screen { overflow: visible; }
.premium-buffer-shell { width: min(900px, 100%); margin: 0 auto; padding: 42px 0 58px; }
.premium-buffer-head { max-width: 760px; margin: 0 auto 24px; text-align: center; }
.premium-buffer-head h2 {
  margin: 8px 0 12px; color: rgba(247,233,206,.96); font-family: var(--serif);
  font-size: clamp(31px, 4.6vw, 50px); font-weight: 400; line-height: 1.05; letter-spacing: -.04em;
}
.premium-buffer-card {
  position: relative; padding: clamp(22px, 3.5vw, 34px); border: 1px solid rgba(221,181,108,.18);
  background: radial-gradient(circle at 50% 0, rgba(204,150,68,.09), transparent 45%), rgba(15,11,8,.84);
  box-shadow: 0 30px 90px rgba(0,0,0,.24);
}
.premium-buffer-palm {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, 250px); gap: 18px;
  max-width: 790px; margin: 0 auto 26px; align-items: stretch;
}
.premium-buffer-palm .reading-palm-inline-stage img { opacity: .91; }
.premium-buffer-palm-nav {
  display: flex; flex-direction: column; min-width: 0; padding: 16px;
  border: 1px solid rgba(218,179,105,.13); border-radius: 18px; background: rgba(8,6,4,.42);
}
.premium-buffer-palm-nav-label {
  margin-bottom: 10px; color: rgba(219,178,100,.58); font-size: 8px; letter-spacing: .18em; text-transform: uppercase;
}
.premium-buffer-palm-nav .reading-palm-inline-controls { display: grid; gap: 7px; overflow: visible; }
.premium-buffer-palm-nav .reading-palm-inline-choice {
  width: 100%; text-align: left; border-radius: 11px; white-space: normal; line-height: 1.35;
  transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}
.premium-buffer-palm-nav .reading-palm-inline-choice:hover,
.premium-buffer-palm-nav .reading-palm-inline-choice:focus-visible { transform: translateX(2px); }
.premium-buffer-palm-nav > p { margin: auto 0 0; padding-top: 14px; color: rgba(209,190,158,.40); font-size: 9px; line-height: 1.55; }
.premium-buffer-story { max-width: none; margin: 0; }
.premium-buffer-copy { margin-top: 10px; white-space: pre-line; color: rgba(232,218,193,.75); font-size: 13px; line-height: 1.85; }
.premium-buffer-evidence {
  display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; padding-top: 15px; border-top: 1px solid rgba(216,179,111,.09);
}
.premium-buffer-evidence:empty { display: none; }
.premium-buffer-evidence span { padding: 6px 9px; border: 1px solid rgba(213,174,104,.14); color: rgba(222,198,154,.58); background: rgba(9,7,5,.35); font-size: 9px; line-height: 1.3; }
.premium-buffer-next { max-width: 430px; margin: 24px auto 0; }

.input-trust-note,
.stay-on-page-note {
  display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start;
  width: min(520px, 100%); margin: 18px auto 0; padding: 12px 14px;
  border: 1px solid rgba(218,179,105,.22); border-radius: 14px;
  color: rgba(224,207,177,.64); background: rgba(8,6,4,.52); box-shadow: inset 0 0 26px rgba(202,147,66,.025);
}
.input-trust-note-icon, .stay-on-page-note > span { color: rgba(226,184,104,.72); line-height: 1.4; }
.input-trust-note p, .stay-on-page-note p { margin: 0; font-size: 9.5px; line-height: 1.58; }
.stay-on-page-note { margin-top: 16px; text-align: left; }
.stay-on-page-note strong { color: rgba(246,224,184,.88); font-weight: 600; }
.capture-trust-note { margin-top: 14px; }

@media (max-width: 720px) {
  .premium-buffer-shell { padding-top: 24px; }
  .premium-buffer-card { padding: 20px 15px; }
  .premium-buffer-palm { grid-template-columns: 1fr; gap: 10px; }
  .premium-buffer-palm-nav { padding: 12px; }
  .premium-buffer-palm-nav .reading-palm-inline-controls { display: flex; overflow-x: auto; }
  .premium-buffer-palm-nav .reading-palm-inline-choice { width: auto; text-align: center; white-space: nowrap; border-radius: 999px; }
  .premium-buffer-palm-nav > p { padding-top: 10px; }
}

/* Block 3C.42 — local premium leading-hand Atlas product surface */
.premium-analysis-screen,
.premium-result-screen {
  overflow: visible;
}

.premium-analysis-shell {
  width: min(760px, 100%);
  margin: auto;
  padding: 54px 0 34px;
  text-align: center;
}

.premium-analysis-shell h2,
.premium-atlas-head h2 {
  margin: 10px 0 12px;
  color: rgba(247, 233, 206, .96);
  font-family: var(--serif);
  font-size: clamp(34px, 5.3vw, 64px);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -.045em;
}

.premium-analysis-shell .lead,
.premium-atlas-head .lead {
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}

.premium-analysis-visual {
  position: relative;
  width: min(430px, 92vw);
  margin: 34px auto 24px;
  display: grid;
  place-items: center;
}

.premium-analysis-photo-frame {
  position: relative;
  width: min(290px, 62vw);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid rgba(229, 190, 119, .22);
  border-radius: 46% 46% 16px 16px;
  background: rgba(11, 8, 5, .92);
  box-shadow: 0 26px 80px rgba(0,0,0,.42), 0 0 54px rgba(205,151,67,.08);
}

.premium-analysis-photo-frame img {
  width: 100%; height: 100%; display: block; object-fit: contain;
  filter: sepia(.08) saturate(.84) brightness(.78);
}

.premium-analysis-photo-frame::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 50% 46%, transparent 36%, rgba(5,3,2,.45) 100%);
}

.premium-analysis-scan-band {
  position: absolute; z-index: 2; left: 0; right: 0; top: -22%; height: 22%;
  background: linear-gradient(180deg, transparent, rgba(226,184,102,.09), rgba(244,212,150,.17), transparent);
  animation: premium-scan-band 3.3s ease-in-out infinite;
}

.premium-analysis-scan-line {
  position: absolute; z-index: 3; left: 8%; right: 8%; top: 8%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(247,215,151,.9), transparent);
  box-shadow: 0 0 15px rgba(232,176,83,.48);
  animation: premium-scan-line 3.3s ease-in-out infinite;
}

.premium-analysis-glint {
  position: absolute; z-index: 3; width: 5px; height: 5px; border-radius: 50%;
  background: rgba(255,230,174,.95); box-shadow: 0 0 16px rgba(250,204,120,.8);
  left: 48%; top: 23%; animation: premium-glint 2.4s ease-in-out infinite;
}

.premium-analysis-progress {
  position: absolute; right: 2%; bottom: 5%; width: 108px; aspect-ratio: 1;
  display: grid; place-content: center; border-radius: 50%;
  background: conic-gradient(rgba(224,183,108,.9) calc(var(--premium-progress) * 1%), rgba(196,157,91,.10) 0);
  box-shadow: 0 0 45px rgba(208,158,75,.10);
}
.premium-analysis-progress::before { content:""; position:absolute; inset:5px; border-radius:50%; background:#0d0a07; border:1px solid rgba(223,184,111,.14); }
.premium-analysis-progress strong,
.premium-analysis-progress span { position: relative; z-index: 1; display:block; }
.premium-analysis-progress strong { color:#f1dfbc; font-family:var(--serif); font-size:25px; font-weight:400; }
.premium-analysis-progress span { margin-top:2px; color:rgba(218,196,158,.42); font-size:7px; text-transform:uppercase; letter-spacing:.12em; }

.premium-analysis-phrase { display:block; color:rgba(239,222,191,.82); font-family:var(--serif); font-size:18px; font-weight:400; }
.premium-analysis-note { max-width:560px; margin:9px auto 0; color:rgba(220,201,169,.55); font-size:11px; line-height:1.65; }
.premium-analysis-wait { margin:18px auto 0; color:rgba(205,187,156,.32); font-size:9px; letter-spacing:.03em; }

/* Block 3C.67R6B4 — terminal means terminal: keep the real palm, remove all false in-flight signals. */
.premium-analysis-screen.is-terminal .premium-analysis-progress,
.premium-analysis-screen.is-terminal .premium-analysis-scan-band,
.premium-analysis-screen.is-terminal .premium-analysis-scan-line,
.premium-analysis-screen.is-terminal .premium-analysis-glint,
.premium-analysis-screen.is-terminal .premium-analysis-wait,
.premium-analysis-screen.is-terminal .stay-on-page-note { display:none !important; }
.premium-analysis-screen.is-terminal .premium-analysis-photo-frame {
  box-shadow: 0 22px 68px rgba(0,0,0,.38), 0 0 44px rgba(205,151,67,.06);
}
.premium-analysis-screen.is-terminal .premium-analysis-photo-frame img {
  filter: sepia(.05) saturate(.9) brightness(.86);
}

.premium-result-screen { width:min(1020px,100%); margin:0 auto; padding-bottom:70px; }
.premium-atlas-head { max-width:800px; margin:48px auto 32px; text-align:center; }
.premium-atlas-mark { width:54px; height:54px; margin:0 auto 20px; display:grid; place-items:center; border:1px solid rgba(231,194,125,.22); border-radius:50%; color:#e9bf73; font-size:18px; box-shadow:0 0 42px rgba(207,154,69,.08); }
.premium-atlas-chapters { display:grid; gap:14px; }
.premium-atlas-chapter { position:relative; padding:28px 28px 26px; border:1px solid rgba(215,181,119,.15); background:linear-gradient(145deg,rgba(188,139,68,.055),transparent 42%),rgba(18,14,10,.78); }
.premium-atlas-chapter-index { display:block; margin-bottom:8px; color:rgba(222,183,111,.48); font-size:8px; letter-spacing:.18em; text-transform:uppercase; }
.premium-atlas-chapter h3,
.premium-atlas-closing h3 { margin:0 0 14px; color:rgba(247,231,201,.95); font-family:var(--serif); font-size:clamp(25px,3.2vw,36px); font-weight:400; line-height:1.14; letter-spacing:-.025em; }
.premium-atlas-chapter > p,
.premium-atlas-closing > p { margin:0; white-space:pre-line; color:rgba(232,218,193,.72); font-size:13px; line-height:1.82; }
.premium-atlas-evidence { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; padding-top:14px; border-top:1px solid rgba(216,179,111,.09); }
.premium-atlas-evidence span { padding:5px 8px; border:1px solid rgba(213,174,104,.12); color:rgba(218,192,148,.48); font-size:8px; letter-spacing:.03em; }
.premium-atlas-closing { margin-top:22px; padding:36px 32px; border:1px solid rgba(229,190,119,.22); background:radial-gradient(circle at 50% 0,rgba(203,150,69,.11),transparent 52%),rgba(20,15,10,.88); }
.premium-atlas-closing .full-reading-kicker { display:block; margin-bottom:10px; }
.premium-atlas-footer { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; margin:18px auto 0; padding:16px 4px 0; max-width:800px; color:rgba(206,188,157,.33); }
.premium-atlas-footer span { color:rgba(218,177,101,.48); }
.premium-atlas-footer p { margin:0; font-size:8.5px; line-height:1.6; }
.premium-atlas-actions { display:flex; justify-content:space-between; gap:18px; margin-top:22px; }
.premium-atlas-status { max-width:680px; margin:50px auto; padding:34px 28px; text-align:center; border:1px solid rgba(226,188,119,.18); background:rgba(20,15,10,.8); }
.premium-atlas-status.is-hidden { display:none; }
.premium-atlas-status > span { display:block; color:#d8ad65; font-size:28px; margin-bottom:12px; }
.premium-atlas-status strong { color:rgba(245,228,198,.94); font-family:var(--serif); font-size:28px; font-weight:400; }
.premium-atlas-status p { color:rgba(226,208,178,.62); font-size:12px; line-height:1.7; }
.premium-atlas-status .sequence-cta { max-width:360px; margin:22px auto 0; }

@keyframes premium-scan-band { 0%,12%{transform:translateY(0);opacity:0} 20%{opacity:1} 75%{opacity:.9} 88%,100%{transform:translateY(560%);opacity:0} }
@keyframes premium-scan-line { 0%,12%{top:8%;opacity:0} 20%{opacity:1} 78%{opacity:.9} 88%,100%{top:90%;opacity:0} }
@keyframes premium-glint { 0%,100%{opacity:.2;transform:scale(.7)} 45%{opacity:1;transform:scale(1.3)} }

@media (max-width: 640px) {
  .premium-analysis-shell { padding-top:28px; }
  .premium-analysis-progress { width:88px; right:0; bottom:1%; }
  .premium-analysis-progress strong { font-size:21px; }
  .premium-atlas-head { margin-top:34px; }
  .premium-atlas-chapter { padding:22px 18px 20px; }
  .premium-atlas-closing { padding:28px 20px; }
  .premium-atlas-actions { flex-direction:column; align-items:center; }
}

/* Block 3C.44 — whole-palm premium Atlas + unobtrusive visual grounding */
.premium-atlas-coverage {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px;
  max-width:760px;
  margin:18px auto 0;
}
.premium-atlas-coverage[hidden] { display:none; }
.premium-atlas-coverage-label {
  margin-right:3px;
  color:rgba(220,184,116,.46);
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.premium-atlas-coverage-chip {
  padding:5px 8px;
  border:1px solid rgba(214,175,104,.11);
  border-radius:999px;
  color:rgba(224,204,170,.52);
  background:rgba(190,139,65,.025);
  font-size:8px;
  letter-spacing:.02em;
}
.premium-atlas-evidence {
  align-items:center;
}
.premium-atlas-evidence-label {
  padding:0 5px 0 0 !important;
  border:0 !important;
  color:rgba(222,183,111,.34) !important;
  font-size:7px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
}
.premium-atlas-evidence-chip {
  border-radius:999px;
  background:rgba(190,139,65,.025);
}
.premium-atlas-guide-open {
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid rgba(218,179,107,.12);
  border-radius:999px;
  background:rgba(195,143,66,.025);
  color:rgba(226,198,149,.58);
  font-size:9px;
  letter-spacing:.03em;
  text-decoration:none;
}
.premium-atlas-guide-open:hover {
  border-color:rgba(232,193,119,.24);
  background:rgba(206,152,72,.055);
  color:rgba(246,220,168,.94);
}
.premium-atlas-guide-open span:last-child { color:rgba(234,190,109,.55); }

@media (max-width: 680px) {
  .premium-atlas-coverage { margin-top:14px; gap:5px; }
  .premium-atlas-coverage-label { flex-basis:100%; margin:0 0 2px; }
  .premium-atlas-guide-open { margin-top:14px; }
}

/* Block 3C.46 — premium depth / distinctive signature / symbolic life map */
.premium-atlas-signature {
  position:relative;
  margin-top:22px;
  padding:34px 32px 30px;
  border:1px solid rgba(229,190,119,.24);
  background:
    radial-gradient(circle at 88% 12%,rgba(211,157,73,.12),transparent 34%),
    linear-gradient(145deg,rgba(181,128,58,.07),transparent 48%),
    rgba(19,14,10,.9);
}
.premium-atlas-signature[hidden] { display:none; }
.premium-atlas-signature::after {
  content:"✦";
  position:absolute;
  top:24px;
  right:28px;
  color:rgba(227,184,103,.42);
  font-size:14px;
}
.premium-atlas-signature h3,
.premium-life-map-head h3 {
  margin:8px 0 14px;
  color:rgba(247,231,201,.97);
  font-family:var(--serif);
  font-size:clamp(27px,3.5vw,40px);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.025em;
}
.premium-atlas-signature > p,
.premium-life-map-head > p,
.premium-life-period-body > p {
  margin:0;
  white-space:pre-line;
  color:rgba(232,218,193,.72);
  font-size:13px;
  line-height:1.82;
}
.premium-life-map {
  margin-top:22px;
  padding:36px 32px 30px;
  border:1px solid rgba(229,190,119,.2);
  background:
    linear-gradient(180deg,rgba(211,157,73,.055),transparent 26%),
    rgba(16,12,9,.86);
}
.premium-life-map[hidden] { display:none; }
.premium-life-map-head { max-width:850px; }
.premium-life-map-note {
  margin-top:14px !important;
  max-width:760px;
  color:rgba(214,190,151,.43) !important;
  font-size:9px !important;
  line-height:1.65 !important;
  letter-spacing:.02em;
}
.premium-life-map-periods {
  position:relative;
  display:grid;
  gap:0;
  margin-top:28px;
  border-top:1px solid rgba(216,179,111,.12);
}
.premium-life-period {
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:18px;
  padding:24px 0 26px;
  border-bottom:1px solid rgba(216,179,111,.1);
}
.premium-life-period-rail {
  position:relative;
  display:flex;
  justify-content:center;
}
.premium-life-period-rail::before {
  content:"";
  position:absolute;
  top:31px;
  bottom:-27px;
  left:50%;
  width:1px;
  background:linear-gradient(rgba(221,180,103,.34),rgba(221,180,103,.05));
}
.premium-life-period:last-child .premium-life-period-rail::before { display:none; }
.premium-life-period-rail span {
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(224,184,108,.24);
  border-radius:50%;
  background:#15100b;
  color:rgba(232,190,111,.72);
  font-family:var(--serif);
  font-size:12px;
}
.premium-life-period-kicker {
  display:block;
  margin-bottom:7px;
  color:rgba(222,183,111,.48);
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.premium-life-period-body h4 {
  margin:0 0 10px;
  color:rgba(244,227,197,.94);
  font-family:var(--serif);
  font-size:clamp(21px,2.7vw,29px);
  font-weight:400;
  line-height:1.18;
}
.premium-life-period .premium-atlas-guide-open { margin-top:13px; }

@media (max-width:700px) {
  .premium-atlas-signature,
  .premium-life-map { padding:26px 18px 24px; }
  .premium-life-period { grid-template-columns:40px minmax(0,1fr); gap:10px; }
  .premium-life-period-rail span { width:30px; height:30px; }
  .premium-life-period-rail::before { top:29px; }
}

/* Block 3C.49 — second-hand comparative Atlas */
.second-hand-upsell{margin:2.4rem 0 0;padding:1.4rem 1.35rem;border:1px solid rgba(160,129,67,.28);border-radius:24px;background:linear-gradient(145deg,rgba(255,250,236,.92),rgba(244,232,204,.58));box-shadow:0 18px 42px rgba(74,54,24,.08)}
.second-hand-upsell h3{margin:.35rem 0 .6rem;font-size:clamp(1.35rem,3.2vw,2rem);line-height:1.08;font-family:var(--font-display,Georgia,serif)}
.second-hand-upsell p{margin:0;color:var(--ink-soft,#655a49);line-height:1.6}
.second-hand-upsell-price{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.second-hand-upsell-price strong{font-size:1.55rem}.second-hand-upsell-price span{font-size:.88rem;color:var(--ink-soft,#655a49)}
.second-hand-upsell-cta{width:100%}
.second-hand-capture-shell,.comparative-analysis-shell{max-width:760px;margin:0 auto;padding:clamp(1rem,4vw,2.4rem)}
.second-hand-photo-card{position:relative;min-height:320px;margin:1.3rem 0;border-radius:28px;overflow:hidden;border:1px solid rgba(128,101,52,.24);background:rgba(247,239,217,.58);display:grid;place-items:center}
.second-hand-photo-card img{width:100%;height:min(54vh,520px);object-fit:contain;background:#e9e0cb}
.second-hand-photo-placeholder{display:grid;place-items:center;gap:.35rem;text-align:center;color:var(--ink-soft,#655a49)}.second-hand-photo-placeholder>span{font-size:2rem;color:#a9853c}.second-hand-photo-placeholder strong{font-size:1.08rem}.second-hand-photo-placeholder small{max-width:28ch}
.second-hand-file-cta{display:flex;cursor:pointer;justify-content:space-between}.second-hand-check{margin-top:1rem;padding:1rem 1.05rem;border-radius:18px;background:rgba(255,255,255,.58)}.second-hand-check p{margin:.35rem 0 0;color:var(--ink-soft,#655a49)}
.second-hand-genre-note{margin:1rem auto 0;max-width:58ch;text-align:center;font-size:.78rem;line-height:1.5;color:var(--ink-soft,#655a49)}
.comparative-pair-preview{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.8rem;margin:1.35rem 0}.comparative-pair-preview figure{margin:0;padding:.5rem;border-radius:22px;background:rgba(255,255,255,.55);border:1px solid rgba(128,101,52,.2)}.comparative-pair-preview img{width:100%;height:min(36vh,340px);object-fit:contain;border-radius:16px;background:#e9e0cb}.comparative-pair-preview figcaption{text-align:center;margin-top:.45rem;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft,#655a49)}.comparative-link-mark{font-size:1.5rem;color:#a9853c}
.comparative-progress{margin:1rem auto}.comparative-result-content{max-width:860px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 2rem}.comparative-second-atlas,.cross-hand-comparisons{margin-top:2rem}.cross-hand-card{padding:1.25rem 0;border-top:1px solid rgba(128,101,52,.2)}.cross-hand-card-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.55rem}.cross-hand-card-top span{font-variant-numeric:tabular-nums;color:#a9853c}.cross-hand-card-top strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#7a6437}.cross-hand-card h3{margin:.15rem 0 .55rem;font-family:var(--font-display,Georgia,serif);font-size:clamp(1.25rem,2.8vw,1.8rem)}.cross-hand-card>p{line-height:1.67;color:var(--ink,#31291f)}
.cross-hand-evidence-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.9rem 0}
.cross-hand-evidence-group{min-width:0;padding:12px 0 0;border-top:1px solid rgba(216,179,111,.09);background:transparent}
.cross-hand-evidence-label{display:block;margin-bottom:8px;color:rgba(222,183,111,.4);font-size:7px;letter-spacing:.14em;text-transform:uppercase}
.cross-hand-evidence-chips{margin-top:0;padding-top:0;border-top:0}
.cross-hand-signature-evidence{margin-top:18px}
@media(max-width:640px){.comparative-pair-preview{grid-template-columns:1fr 1fr}.comparative-link-mark{display:none}.comparative-pair-preview img{height:230px}.cross-hand-evidence-pair{grid-template-columns:1fr}.second-hand-photo-card{min-height:260px}}

/* Block 3C.50A — second-hand funnel continuity + first-capture visual parity */
.second-hand-narrative-bridge {
  position: relative;
  margin: 30px 0 0;
  padding: 30px 32px 28px;
  border-top: 1px solid rgba(222, 181, 106, 0.18);
  border-bottom: 1px solid rgba(222, 181, 106, 0.12);
  background: linear-gradient(90deg, transparent, rgba(193, 139, 61, 0.045) 48%, transparent);
}
.second-hand-narrative-bridge::before {
  content: "✦";
  position: absolute;
  top: 32px;
  right: 30px;
  color: rgba(229, 188, 108, 0.34);
  font-size: 13px;
}
.second-hand-narrative-bridge h3 {
  max-width: 760px;
  margin: 8px 0 12px;
  color: rgba(247, 231, 201, 0.97);
  font-family: var(--serif);
  font-size: clamp(25px, 3.3vw, 38px);
  font-weight: 400;
  line-height: 1.13;
  letter-spacing: -0.024em;
}
.second-hand-narrative-bridge p {
  max-width: 820px;
  margin: 0;
  color: rgba(231, 215, 188, 0.68);
  font-size: 14px;
  line-height: 1.78;
}

.second-hand-upsell {
  position: relative;
  margin: 16px 0 0;
  padding: 30px 32px 28px;
  overflow: hidden;
  border: 1px solid rgba(225, 183, 105, 0.24);
  border-radius: 4px;
  background:
    radial-gradient(circle at 90% 8%, rgba(211, 157, 73, 0.13), transparent 34%),
    linear-gradient(145deg, rgba(176, 122, 53, 0.08), transparent 48%),
    rgba(18, 13, 9, 0.93);
  box-shadow: 0 24px 62px rgba(0, 0, 0, 0.20);
}
.second-hand-upsell::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(238, 211, 158, 0.035);
  pointer-events: none;
}
.second-hand-upsell h3 {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 8px 0 12px;
  color: rgba(248, 232, 201, 0.98);
  font-family: var(--serif);
  font-size: clamp(28px, 3.6vw, 42px);
  font-weight: 400;
  line-height: 1.10;
  letter-spacing: -0.026em;
}
.second-hand-upsell p {
  position: relative;
  z-index: 1;
  max-width: 830px;
  margin: 0;
  color: rgba(229, 213, 185, 0.70);
  font-size: 13px;
  line-height: 1.72;
}
.second-hand-upsell-price {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin: 22px 0 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(218, 176, 101, 0.12);
}
.second-hand-upsell-price strong {
  color: rgba(246, 222, 176, 0.98);
  font-family: var(--serif);
  font-size: 34px;
  font-weight: 400;
}
.second-hand-upsell-price span {
  color: rgba(222, 202, 169, 0.54);
  font-size: 10px;
  letter-spacing: 0.02em;
}
.second-hand-upsell-cta {
  position: relative;
  z-index: 1;
  width: 100%;
  border-color: rgba(225, 184, 107, 0.30);
  background: linear-gradient(90deg, rgba(177, 126, 55, 0.13), rgba(117, 80, 35, 0.08));
  color: rgba(248, 229, 193, 0.96);
}
.second-hand-upsell-cta:hover {
  border-color: rgba(232, 190, 111, 0.48);
  background: linear-gradient(90deg, rgba(193, 141, 65, 0.19), rgba(130, 89, 39, 0.11));
}

.second-hand-capture-screen .second-hand-step-indicator { margin-top: 10px; }
.second-hand-capture-screen .second-hand-capture-copy { margin-top: 24px; }
.second-hand-capture-frame { min-height: 242px; }
#secondHandPreview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: rgba(12, 9, 7, 0.94);
}
.second-hand-capture-frame #secondHandPlaceholder { transition: opacity 180ms ease; }
.second-hand-check {
  margin-top: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(211, 176, 110, 0.16);
  border-radius: 3px;
  background: rgba(20, 15, 11, 0.78);
}
.second-hand-check strong {
  color: rgba(241, 224, 193, 0.90);
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 400;
}
.second-hand-check p {
  margin: 5px 0 0;
  color: rgba(218, 199, 167, 0.52);
  font-size: 10px;
  line-height: 1.55;
}
.second-hand-capture-screen #secondHandContinueButton { margin-top: 14px; }
.second-hand-capture-meta { margin-top: 13px; }
.second-hand-genre-note {
  margin: 18px auto 0;
  max-width: 64ch;
  color: rgba(211, 192, 159, 0.38);
  font-size: 9px;
  line-height: 1.6;
  text-align: center;
}

@media (max-width: 680px) {
  .second-hand-narrative-bridge,
  .second-hand-upsell { padding: 24px 18px 22px; }
  .second-hand-narrative-bridge::before { top: 25px; right: 18px; }
  .second-hand-upsell-price { align-items: center; }
}

/* Block 3C.50C — second-hand automatic local validation + live comparative wait UX */
.second-hand-photo-placeholder[hidden],
.second-hand-check.is-hidden,
.second-hand-capture-screen #secondHandContinueButton.is-hidden,
.comparative-analysis-screen #comparativeAnalysisBackButton.is-hidden {
  display: none !important;
}

.second-hand-capture-frame.has-photo #secondHandPlaceholder { display: none !important; }
.second-hand-capture-frame.is-validating::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0 42%, rgba(219, 174, 91, 0.11) 49%, rgba(246, 216, 158, 0.28) 50%, rgba(219, 174, 91, 0.10) 52%, transparent 59%);
  animation: secondHandValidationScan 1.65s linear infinite;
}
.second-hand-capture-frame.is-valid {
  border-color: rgba(223, 182, 105, 0.34);
  box-shadow: inset 0 0 42px rgba(179, 125, 52, 0.055);
}
@keyframes secondHandValidationScan {
  from { transform: translateY(-52%); opacity: .25; }
  35% { opacity: .8; }
  to { transform: translateY(52%); opacity: .18; }
}
.second-hand-check {
  position: relative;
  overflow: hidden;
}
.second-hand-capture-frame.is-validating + .capture-choice + .second-hand-check::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(230, 188, 110, 0.72);
  box-shadow: 0 0 16px rgba(230, 188, 110, 0.30);
}

.comparative-analysis-screen {
  position: relative;
  overflow: hidden;
}
.comparative-analysis-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 22% 42%, rgba(178, 124, 52, 0.055), transparent 28%),
    radial-gradient(circle at 78% 42%, rgba(178, 124, 52, 0.055), transparent 28%);
}
.comparative-analysis-shell {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 70px) clamp(18px, 4vw, 46px) clamp(42px, 6vw, 76px);
}
.comparative-analysis-head {
  max-width: 820px;
  margin: 0 auto 28px;
  text-align: center;
}
.comparative-analysis-head h2 {
  margin: 10px auto 14px;
  max-width: 760px;
  color: rgba(247, 231, 201, 0.98);
  font-family: var(--serif);
  font-size: clamp(38px, 5.3vw, 66px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.035em;
}
.comparative-analysis-head .lead {
  max-width: 720px;
  margin-inline: auto;
  color: rgba(225, 207, 176, 0.62);
  line-height: 1.72;
}
.comparative-analysis-board {
  position: relative;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(221, 179, 102, 0.20);
  background:
    radial-gradient(circle at 50% 12%, rgba(205, 150, 67, 0.075), transparent 34%),
    linear-gradient(145deg, rgba(170, 116, 48, 0.035), transparent 46%),
    rgba(15, 11, 8, 0.82);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25), inset 0 0 0 6px rgba(239, 209, 153, 0.012);
}
.comparative-analysis-board::before,
.comparative-analysis-board::after {
  content: "✦";
  position: absolute;
  color: rgba(222, 178, 95, 0.24);
  font-size: 10px;
}
.comparative-analysis-board::before { top: 12px; left: 14px; }
.comparative-analysis-board::after { right: 14px; bottom: 12px; }
.comparative-pair-preview {
  gap: clamp(12px, 2.2vw, 26px);
  margin: 0;
}
.comparative-pair-preview figure {
  position: relative;
  padding: 9px 9px 10px;
  border: 1px solid rgba(220, 179, 103, 0.24);
  border-radius: 3px;
  background: rgba(10, 8, 6, 0.78);
  box-shadow: inset 0 0 0 1px rgba(247, 219, 164, 0.018), 0 18px 45px rgba(0, 0, 0, 0.18);
}
.comparative-pair-preview figure::after {
  content: "";
  position: absolute;
  inset: 5px;
  pointer-events: none;
  border: 1px solid rgba(232, 197, 130, 0.035);
}
.comparative-pair-preview img {
  height: min(39vh, 360px);
  border-radius: 1px;
  background: rgba(8, 7, 6, 0.94);
}
.comparative-pair-preview figcaption {
  margin-top: 9px;
  color: rgba(219, 190, 139, 0.52);
  font-size: 10px;
  letter-spacing: .18em;
}
/* Block 3C.67R6B17 — second-hand wait reuses the exact leading-hand premium scan language. */
.comparative-second-scan-figure { display: grid; justify-items: center; }
.comparative-pair-preview .comparative-second-scan-frame {
  width: min(300px, 68vw);
  margin: 0 auto;
}
.comparative-pair-preview .comparative-second-scan-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
}
@media(max-width:640px) {
  .comparative-pair-preview .comparative-second-scan-frame { width: min(276px, 76vw); }
  .comparative-pair-preview .comparative-second-scan-frame img { height: 100%; }
}
.comparative-link-mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(221, 177, 96, 0.28);
  border-radius: 50%;
  color: rgba(232, 191, 111, 0.92);
  font-size: 17px;
  box-shadow: 0 0 26px rgba(194, 137, 57, 0.08);
}
.comparative-analysis-status {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 4vw, 42px);
  margin-top: 26px;
  padding: 24px 6px 3px;
  border-top: 1px solid rgba(216, 174, 99, 0.13);
}
.comparative-progress {
  position: relative;
  margin: 0 auto;
  filter: drop-shadow(0 0 20px rgba(206, 151, 67, 0.09));
}
.comparative-progress::after {
  content: "";
  position: absolute;
  inset: -8px;
  border: 1px solid rgba(232, 189, 108, 0.10);
  border-radius: 50%;
  border-top-color: rgba(238, 197, 117, 0.42);
  animation: comparativeOrbit 4.2s linear infinite;
}
@keyframes comparativeOrbit { to { transform: rotate(360deg); } }
.comparative-analysis-copy {
  min-width: 0;
}
.comparative-analysis-copy .premium-analysis-phrase {
  display: block;
  margin: 0;
  color: rgba(243, 225, 192, 0.92);
  font-family: var(--serif);
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 400;
  line-height: 1.22;
  transition: opacity 120ms ease, transform 120ms ease;
}
.comparative-analysis-copy .premium-analysis-phrase.is-changing {
  opacity: .38;
  transform: translateY(2px);
}
.comparative-analysis-copy .premium-analysis-note {
  max-width: 650px;
  margin: 8px 0 0;
  color: rgba(219, 201, 171, 0.52);
  font-size: 11px;
  line-height: 1.62;
}
.comparative-live-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
  color: rgba(224, 192, 135, 0.62);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.comparative-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(231, 187, 105, 0.92);
  box-shadow: 0 0 0 0 rgba(231, 187, 105, 0.28);
  animation: comparativeLivePulse 1.8s ease-out infinite;
}
.comparative-live-status.is-stopped .comparative-live-dot { animation: none; opacity: .46; box-shadow: none; }
.comparative-live-status.is-stopped { color: rgba(225, 207, 176, 0.52); }
@keyframes comparativeLivePulse {
  0% { box-shadow: 0 0 0 0 rgba(231, 187, 105, 0.28); opacity: .55; }
  45% { opacity: 1; }
  100% { box-shadow: 0 0 0 10px rgba(231, 187, 105, 0); opacity: .65; }
}
@media(max-width:640px) {
  .comparative-analysis-head { text-align:left; }
  .comparative-analysis-head h2 { font-size: clamp(36px, 11vw, 52px); }
  .comparative-analysis-status { grid-template-columns: 100px minmax(0,1fr); gap: 17px; }
  .comparative-pair-preview img { height: 230px; }
  .comparative-live-status { letter-spacing: .09em; }
}


/* Block 3C.51 — navigation continuity + two-hand deepening semantics */
.screen.is-active { scroll-margin-top: 0; }
.second-hand-upsell-cta span:first-child,
#secondHandContinueButton span:first-child { text-wrap: balance; }

/* BLOCK_3C52_CONTENT_FIT_TRANSITION_CTA_VISUAL_CORRECTIVE
 * Shared transition CTA + R7 state-authority overflow corrective.
 * CTA visual family is OWNER_ACCEPTED and unchanged.
 */
.aip-flow-transition-cta {
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 16px 54px 16px 24px !important;
  border: 1px solid rgba(204, 166, 91, 0.42) !important;
  border-radius: 2px !important;
  background:
    linear-gradient(180deg, rgba(62, 42, 19, 0.88), rgba(40, 28, 15, 0.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(247, 222, 168, 0.05),
    0 8px 26px rgba(0, 0, 0, 0.12) !important;
  color: #eadab7 !important;
  font: inherit !important;
  font-size: clamp(16px, 1.2vw, 19px) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.005em !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition:
    border-color 160ms ease,
    background 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease !important;
}

.aip-flow-transition-cta:hover {
  border-color: rgba(224, 188, 112, 0.68) !important;
  background:
    linear-gradient(180deg, rgba(74, 50, 22, 0.94), rgba(46, 31, 16, 0.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 232, 181, 0.07),
    0 10px 30px rgba(0, 0, 0, 0.16) !important;
  transform: translateY(-1px);
}

.aip-flow-transition-cta:active {
  transform: translateY(0);
}

.aip-flow-transition-cta:focus-visible {
  outline: 1px solid rgba(236, 201, 130, 0.88) !important;
  outline-offset: 3px !important;
}

/*
 * Explicit application state, not opacity, controls settled layout membership.
 * showScreen() keeps the outgoing page aria-hidden=false until its fade-out
 * finishes, then flips it to true. All settled inactive pages are therefore
 * removed from scroll-overflow geometry.
 */
.screen[aria-hidden="true"] {
  display: none !important;
}

/*
 * The normal active screen already becomes position:relative via the canonical
 * .screen.is-active rule. Remove only the artificial full-viewport minimum so
 * page height can follow actual content while retaining existing screen padding.
 */
.screen.is-active[aria-hidden="false"],
.screen.is-active:not([aria-hidden]) {
  min-height: 0 !important;
  min-block-size: 0 !important;
}

@media (max-width: 640px) {
  .aip-flow-transition-cta {
    min-height: 58px !important;
    padding: 14px 42px 14px 18px !important;
    font-size: 16px !important;
  }
}

/* Block 3C.54 staged second-hand Atlas + included synthesis */
.comparative-pair-preview.single-focus{
  grid-template-columns:minmax(0,min(100%,420px));
  justify-content:center;
}
.comparative-pair-preview.single-focus figure{width:100%;}
.staged-synthesis-invite{margin-top:clamp(22px,5vw,42px);}
.staged-synthesis-invite .artifact-cta{margin-top:18px;width:100%;}
@media(max-width:640px){.comparative-pair-preview.single-focus{grid-template-columns:1fr}.comparative-pair-preview.single-focus img{height:260px}}

/* Block 3C.57 — +249 input UX + local deterministic Personal Map preview */
.personal-map-offer {
  margin-top: clamp(26px, 5vw, 48px);
  padding: clamp(24px, 4vw, 34px);
  border: 1px solid rgba(213, 171, 94, 0.32);
  background:
    radial-gradient(circle at 88% 12%, rgba(202, 157, 79, 0.10), transparent 31%),
    linear-gradient(145deg, rgba(33, 23, 12, 0.92), rgba(14, 11, 8, 0.96));
  box-shadow: inset 0 1px 0 rgba(255, 232, 181, 0.04), 0 20px 46px rgba(0, 0, 0, 0.16);
}
.personal-map-offer h3,
.personal-map-next-layer h3 {
  margin: 8px 0 0;
  color: #eee0c2;
  font-family: var(--serif);
  font-size: clamp(28px, 4.5vw, 42px);
  font-weight: 400;
  line-height: 1.08;
}
.personal-map-offer p,
.personal-map-next-layer p {
  margin: 13px 0 0;
  color: rgba(225, 208, 177, 0.66);
  font-size: 13px;
  line-height: 1.72;
}
.personal-map-offer-price {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 20px 0 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(213, 171, 94, 0.16);
}
.personal-map-offer-price strong {
  color: var(--gold-bright);
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
  white-space: nowrap;
}
.personal-map-offer-price span {
  color: rgba(223, 205, 173, 0.48);
  font-size: 10px;
  line-height: 1.55;
}

.personal-map-input-screen,
.personal-map-preview-screen {
  padding-inline: clamp(24px, 6vw, 62px);
}
.personal-map-shell {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: clamp(42px, 7vw, 76px) 0 clamp(36px, 7vw, 70px);
}
.personal-map-head {
  max-width: 790px;
  margin: 0 auto 36px;
  text-align: center;
}
.personal-map-head .premium-atlas-mark { margin-inline: auto; }
.personal-map-head h2 {
  margin: 12px auto 0;
  max-width: 760px;
  color: #f0e3c7;
  font-family: var(--serif);
  font-size: clamp(42px, 6.6vw, 72px);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -0.025em;
}
.personal-map-head .lead { max-width: 720px; margin-inline: auto; }
.personal-map-form {
  width: min(100%, 680px);
  margin: 0 auto;
  display: grid;
  gap: 22px;
}
.personal-map-basis {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
.personal-map-basis legend,
.personal-map-field > span {
  margin-bottom: 8px;
  color: rgba(215, 181, 118, 0.72);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.personal-map-basis label {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  padding: 15px 16px;
  border: 1px solid rgba(208, 171, 105, 0.18);
  background: rgba(23, 17, 11, 0.68);
  cursor: pointer;
}
.personal-map-basis input { margin-top: 3px; accent-color: #c8a66a; }
.personal-map-basis strong { display:block; color:rgba(238,223,193,.88); font-size:13px; font-weight:600; }
.personal-map-basis small { display:block; margin-top:4px; color:rgba(215,198,168,.46); font-size:10px; line-height:1.5; }
.personal-map-field { display:grid; gap:7px; }
.personal-map-field input {
  width: 100%;
  min-height: 58px;
  padding: 13px 15px;
  border: 1px solid rgba(209, 171, 102, 0.23);
  border-radius: 2px;
  outline: none;
  background: rgba(12, 10, 8, 0.78);
  color: #f1e3c5;
  font-size: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.015);
}
.personal-map-field input:focus {
  border-color: rgba(225, 188, 115, 0.68);
  box-shadow: 0 0 0 3px rgba(203, 161, 84, 0.08);
}
.personal-map-field small {
  color: rgba(214, 196, 163, 0.43);
  font-size: 10px;
  line-height: 1.55;
}
.personal-map-validation {
  margin: -5px 0 0;
  color: #d9a986;
  font-size: 12px;
  line-height: 1.55;
}
.personal-map-build { width: 100%; margin-top: 2px; }
.personal-map-privacy-note {
  width: min(100%, 680px);
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  gap: 10px;
  margin: 20px auto 0;
  padding-top: 17px;
  border-top: 1px solid rgba(208, 171, 105, 0.13);
  color: rgba(214, 197, 165, 0.45);
  font-size: 10px;
  line-height: 1.58;
}
.personal-map-privacy-note p { margin: 0; }
.personal-map-privacy-note span { color: rgba(208, 169, 96, 0.58); }

.personal-map-preview-shell { width: min(100%, 1040px); }
.personal-map-profile-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1px;
  overflow: hidden;
  margin: 0 auto 40px;
  border: 1px solid rgba(210, 172, 102, 0.19);
  background: rgba(210, 172, 102, 0.12);
}
.personal-map-profile-card > div {
  min-width: 0;
  padding: 18px 20px;
  background: rgba(13, 10, 8, 0.95);
}
.personal-map-profile-card span,
.personal-map-number-card span,
.personal-map-cycle-card span,
.personal-map-year-card span,
.personal-map-month-card span {
  display:block;
  color: rgba(207, 169, 98, 0.62);
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.personal-map-profile-card strong {
  display:block;
  overflow-wrap:anywhere;
  margin-top:7px;
  color:rgba(237,222,193,.88);
  font-family:var(--serif);
  font-size:18px;
  font-weight:400;
}
.personal-map-preview-section { margin-top: 38px; }
.personal-map-core-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.personal-map-number-card {
  min-height: 150px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:16px 14px;
  border:1px solid rgba(209,170,98,.18);
  background:linear-gradient(180deg,rgba(35,24,12,.62),rgba(14,11,8,.88));
}
.personal-map-number-card > strong {
  color:#e6c989;
  font-family:var(--serif);
  font-size:38px;
  font-weight:400;
  line-height:1;
}
.personal-map-number-card > span { margin-top:12px; min-height:24px; }
.personal-map-number-card small {
  margin-top:auto;
  color:rgba(219,201,169,.42);
  font-size:9px;
  line-height:1.45;
}
.personal-map-cycle-grid,
.personal-map-year-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.personal-map-year-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.personal-map-cycle-card,
.personal-map-year-card {
  min-height: 128px;
  display:flex;
  flex-direction:column;
  padding:16px;
  border-top:1px solid rgba(211,174,103,.28);
  border-bottom:1px solid rgba(211,174,103,.12);
  background:rgba(17,13,9,.58);
}
.personal-map-cycle-card strong,
.personal-map-year-card strong {
  margin-top:12px;
  color:#ead4a8;
  font-family:var(--serif);
  font-size:30px;
  font-weight:400;
}
.personal-map-cycle-card small,
.personal-map-year-card small {
  margin-top:8px;
  color:rgba(218,201,170,.48);
  font-size:10px;
  line-height:1.45;
}
.personal-map-cycle-card em {
  margin-top:auto;
  color:rgba(202,163,91,.45);
  font-size:9px;
  font-style:normal;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.personal-map-month-strip {
  display:grid;
  grid-template-columns:repeat(12,minmax(72px,1fr));
  gap:6px;
  overflow-x:auto;
  padding:2px 0 10px;
  margin-top:12px;
  scrollbar-width:thin;
}
.personal-map-month-card {
  min-height:84px;
  padding:12px 10px;
  border:1px solid rgba(207,168,96,.15);
  background:rgba(18,14,10,.7);
}
.personal-map-month-card span { font-size:8px; letter-spacing:.07em; }
.personal-map-month-card strong {
  display:block;
  margin-top:12px;
  color:#dfbf7e;
  font-family:var(--serif);
  font-size:26px;
  font-weight:400;
}
.personal-map-next-layer {
  margin-top:44px;
  padding:26px 0 0;
  border-top:1px solid rgba(209,171,99,.18);
}
.personal-map-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.personal-map-psychomatrix-section { margin-top:42px; }
.personal-map-psychomatrix-layout {
  margin-top:14px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:18px;
  align-items:stretch;
}
.personal-map-psychomatrix-main,
.personal-map-psychomatrix-lines-wrap {
  border:1px solid rgba(213,171,94,.22);
  background:linear-gradient(180deg,rgba(29,22,12,.82),rgba(13,10,7,.7));
  box-shadow:0 18px 48px rgba(0,0,0,.16);
}
.personal-map-psychomatrix-main { padding:22px; }
.personal-map-psychomatrix-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.personal-map-psychomatrix-heading h3 {
  margin:0;
  font-family:var(--serif);
  color:rgba(245,230,201,.96);
  font-size:clamp(28px,3.2vw,42px);
  font-weight:500;
  line-height:1.05;
}
.personal-map-psychomatrix-heading p {
  max-width:560px;
  margin:9px 0 0;
  color:rgba(215,198,168,.58);
  font-size:11px;
  line-height:1.65;
}
.personal-map-working-numbers {
  flex:0 0 auto;
  min-width:150px;
  padding:12px 14px;
  border-left:1px solid rgba(213,171,94,.2);
}
.personal-map-working-numbers span {
  display:block;
  color:rgba(208,169,96,.62);
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.personal-map-working-numbers strong {
  display:block;
  margin-top:7px;
  color:rgba(238,219,179,.92);
  font-family:var(--serif);
  font-size:20px;
  font-weight:500;
}
.personal-map-psychomatrix {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(213,171,94,.27);
  border-left:1px solid rgba(213,171,94,.27);
}
.personal-map-psy-cell {
  min-height:132px;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:7px;
  border-right:1px solid rgba(213,171,94,.27);
  border-bottom:1px solid rgba(213,171,94,.27);
  background:rgba(18,13,8,.44);
}
.personal-map-psy-cell > span {
  color:rgba(208,169,96,.55);
  font-size:9px;
  letter-spacing:.14em;
}
.personal-map-psy-cell > strong {
  min-height:40px;
  color:rgba(239,215,167,.96);
  font-family:var(--serif);
  font-size:clamp(30px,3.2vw,46px);
  font-weight:500;
  line-height:1;
  overflow-wrap:anywhere;
}
.personal-map-psy-cell.is-empty > strong { color:rgba(215,198,168,.18); }
.personal-map-psy-cell > small {
  color:rgba(215,198,168,.5);
  font-size:9px;
  line-height:1.45;
}
.personal-map-psychomatrix-lines-wrap { padding:22px; }
.personal-map-psychomatrix-lines { margin-top:14px; display:grid; gap:0; }
.personal-map-psy-line {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-top:1px solid rgba(213,171,94,.14);
}
.personal-map-psy-line:first-child { border-top-color:rgba(213,171,94,.24); }
.personal-map-psy-line > div { display:grid; gap:4px; }
.personal-map-psy-line strong { color:rgba(238,223,193,.8); font-size:11px; font-weight:600; }
.personal-map-psy-line span { color:rgba(208,169,96,.48); font-size:8px; letter-spacing:.13em; }
.personal-map-psy-line small { color:rgba(215,198,168,.44); font-size:8px; white-space:nowrap; }
.personal-map-psychomatrix-note {
  margin:12px 0 0;
  color:rgba(215,198,168,.42);
  font-size:9px;
  line-height:1.6;
}

@media (max-width: 980px) {
  .personal-map-psychomatrix-layout { grid-template-columns:1fr; }
  .personal-map-core-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .personal-map-psychomatrix-heading { flex-direction:column; }
  .personal-map-working-numbers { width:100%; min-width:0; padding:10px 0 0; border-left:0; border-top:1px solid rgba(213,171,94,.16); }
  .personal-map-psychomatrix-main, .personal-map-psychomatrix-lines-wrap { padding:16px; }
  .personal-map-psy-cell { min-height:112px; padding:11px; }
  .personal-map-psy-cell > small { font-size:8px; }
  .personal-map-head { text-align:left; }
  .personal-map-head .premium-atlas-mark { margin-inline:0; }
  .personal-map-head h2 { font-size:clamp(38px,12vw,56px); }
  .personal-map-profile-card { grid-template-columns:1fr; }
  .personal-map-core-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .personal-map-cycle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .personal-map-year-grid { grid-template-columns:1fr; }
  .personal-map-number-card { min-height:132px; }
  .personal-map-offer-price { align-items:flex-start; flex-direction:column; gap:5px; }
}

/* Block 3C.61 — +249 browser continuation / result UX */
.personal-map-generate { width:100%; margin-top:20px; }
.personal-map-analysis-shell,
.personal-map-result-shell { width:min(100%,1080px); margin:0 auto; }
.personal-map-analysis-board {
  margin-top:34px; border:1px solid rgba(213,171,94,.18); border-radius:28px;
  background:linear-gradient(145deg,rgba(29,24,18,.78),rgba(9,8,7,.9)); overflow:hidden;
  box-shadow:0 26px 70px rgba(0,0,0,.28);
}
.personal-map-analysis-symbol {
  min-height:210px; display:flex; align-items:center; justify-content:center; gap:28px;
  border-bottom:1px solid rgba(213,171,94,.12); color:rgba(225,190,124,.72);
  font-family:Georgia,serif; font-size:54px; letter-spacing:.05em;
  background:radial-gradient(circle at 50% 40%,rgba(183,132,59,.12),transparent 58%);
}
.personal-map-analysis-symbol i { font-style:normal; font-size:26px; color:rgba(229,195,127,.46); }
.personal-map-analysis-status { display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center; padding:28px; }
.personal-map-progress { --premium-progress:9; flex:0 0 auto; }
.personal-map-result-head { margin-bottom:34px; }
.personal-map-result-hero {
  border:1px solid rgba(213,171,94,.22); border-radius:28px; padding:30px;
  background:linear-gradient(145deg,rgba(41,31,20,.58),rgba(13,11,9,.86));
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}
.personal-map-result-hero h3 { margin:10px 0 14px; font-family:Georgia,serif; font-weight:400; font-size:clamp(28px,4vw,46px); line-height:1.07; color:rgba(244,226,188,.94); }
.personal-map-result-hero > p { margin:0; color:rgba(225,211,183,.72); line-height:1.82; white-space:pre-line; }
.personal-map-result-basis { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(213,171,94,.12); }
.personal-map-result-basis span {
  display:inline-flex; align-items:center; min-height:24px; padding:4px 8px; border-radius:999px;
  border:1px solid rgba(213,171,94,.18); background:rgba(109,75,31,.09); color:rgba(216,186,127,.58);
  font-size:8px; line-height:1.3; letter-spacing:.08em; text-transform:uppercase;
}
.personal-map-result-section { margin-top:44px; }
.personal-map-result-section-head { max-width:780px; margin:12px 0 20px; }
.personal-map-result-section-head h3 { margin:0 0 10px; font-family:Georgia,serif; font-size:clamp(28px,3.5vw,42px); font-weight:400; color:rgba(239,221,184,.9); }
.personal-map-result-section-head p { margin:0; color:rgba(218,202,173,.62); line-height:1.72; }
.personal-map-result-chapters { display:grid; gap:18px; }
.personal-map-result-chapter {
  position:relative; padding:26px 28px; border:1px solid rgba(213,171,94,.14); border-radius:22px;
  background:rgba(18,15,12,.68);
}
.personal-map-result-chapter-index { display:block; color:rgba(203,163,91,.42); font-size:8px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; }
.personal-map-result-chapter h3 { margin:0 0 12px; font-family:Georgia,serif; font-size:clamp(23px,3vw,34px); font-weight:400; color:rgba(241,224,190,.9); }
.personal-map-result-chapter p { margin:0; color:rgba(220,205,177,.68); line-height:1.78; white-space:pre-line; }
.personal-map-result-period-grid,
.personal-map-result-year-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.personal-map-result-year-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.personal-map-result-period-card,
.personal-map-result-year-card,
.personal-map-result-month-card {
  border:1px solid rgba(213,171,94,.14); border-radius:20px; background:rgba(17,14,11,.72); padding:20px;
}
.personal-map-result-period-card > span,
.personal-map-result-year-card > span,
.personal-map-result-month-card > span { display:block; color:rgba(207,169,99,.48); font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.personal-map-result-period-card h4,
.personal-map-result-year-card h4,
.personal-map-result-month-card h4 { margin:9px 0 10px; font-family:Georgia,serif; font-size:22px; font-weight:400; color:rgba(237,219,183,.88); }
.personal-map-result-period-card p,
.personal-map-result-year-card p,
.personal-map-result-month-card p { margin:0; color:rgba(216,201,174,.62); line-height:1.7; white-space:pre-line; }
.personal-map-result-month-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.personal-map-result-month-card { min-height:170px; padding:16px; }
.personal-map-result-month-card h4 { font-size:18px; }
.personal-map-result-month-card p { font-size:12px; line-height:1.65; }
.personal-map-closing-compass { margin-top:46px; }

@media (max-width: 760px) {
  .personal-map-analysis-status { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .personal-map-result-period-grid,.personal-map-result-year-grid,.personal-map-result-month-grid { grid-template-columns:1fr; }
  .personal-map-result-hero,.personal-map-result-chapter { padding:20px; }
  .personal-map-analysis-symbol { min-height:160px; font-size:42px; }
}


/* Block 3C.67R1 — input + reading-shell foundation */
.aip-symbol-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.gender-question { margin-top: 52px; }
.gender-question h2 { max-width: 640px; }
.gender-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 42px;
}
.gender-card {
  position: relative;
  min-height: 238px;
  display: grid;
  align-content: end;
  gap: 16px;
  padding: 22px 16px 20px;
  overflow: hidden;
  border: 1px solid rgba(209,181,126,.18);
  border-radius: 22px;
  color: rgba(243,229,202,.94);
  background:
    radial-gradient(circle at 50% 24%, rgba(218,171,88,.13), transparent 40%),
    linear-gradient(180deg, rgba(44,31,17,.72), rgba(15,11,8,.92));
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.gender-card::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(255,226,170,.04);
  border-radius: 17px;
  pointer-events: none;
}
.gender-card:hover,
.gender-card.is-selected {
  border-color: rgba(231,192,118,.58);
  background:
    radial-gradient(circle at 50% 24%, rgba(231,183,91,.20), transparent 44%),
    linear-gradient(180deg, rgba(58,40,20,.80), rgba(17,12,8,.96));
  box-shadow: 0 16px 42px rgba(0,0,0,.26), inset 0 0 0 1px rgba(236,197,122,.05);
  transform: translateY(-2px);
}
.gender-card-symbol {
  position: relative;
  z-index: 1;
  width: 108px;
  height: 108px;
  justify-self: center;
  display: grid;
  place-items: center;
  color: rgba(239,201,124,.92);
  filter: drop-shadow(0 0 18px rgba(215,159,68,.16));
}
.gender-card-symbol svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  stroke: currentColor;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 10px rgba(220,158,61,.12));
}
.gender-card-copy { position: relative; z-index: 1; display: grid; gap: 5px; text-align: center; }
.gender-card-copy strong { font-family: var(--serif); font-size: 24px; font-weight: 400; }

.hand-options-visual {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.hand-card-visual {
  min-height: 260px;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 14px;
  padding: 15px 14px 17px;
  border-radius: 22px;
  text-align: center;
  overflow: hidden;
}
.hand-card-visual.is-selected,
.hand-card-visual:hover {
  border-color: rgba(229,188,111,.58);
  background:
    radial-gradient(circle at 50% 34%, rgba(218,164,78,.15), transparent 42%),
    rgba(25,18,12,.92);
  box-shadow: 0 18px 44px rgba(0,0,0,.24), inset 0 0 0 1px rgba(241,202,128,.05);
  transform: translateY(-2px);
}
.hand-card-art {
  min-height: 170px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 46%, rgba(213,158,70,.08), transparent 46%),
    linear-gradient(180deg, rgba(10,8,6,.12), rgba(4,3,2,.38));
}
.hand-card-art img {
  display: block;
  width: auto;
  height: 164px;
  max-width: 82%;
  object-fit: contain;
  mix-blend-mode: screen;
  filter: saturate(.90) brightness(.96) contrast(1.03) drop-shadow(0 0 12px rgba(220,158,61,.14));
}
.hand-card-visual .hand-card-copy { justify-items: center; }
.hand-card-visual .hand-card-copy strong { font-size: 22px; }

.capture-palm-mark-realistic,
.camera-hand-ghost-realistic {
  display: grid;
  place-items: center;
}
.capture-palm-mark-realistic {
  width: 58px;
  min-height: 74px;
  justify-self: center;
}
.capture-placeholder-hand,
.camera-hand-ghost-realistic img {
  display: block;
  width: auto;
  height: 68px;
  max-width: 62px;
  object-fit: contain;
  mix-blend-mode: screen;
  filter: saturate(.88) brightness(.98) contrast(1.02) drop-shadow(0 0 9px rgba(220,158,61,.12));
}
.capture-ready-spark { display: none; color: rgba(231,193,119,.92); font-size: 20px; }
.capture-palm-mark-realistic.is-ready .capture-placeholder-hand { display: none; }
.capture-palm-mark-realistic.is-ready .capture-ready-spark { display: inline; }
.camera-hand-ghost-realistic img {
  height: min(54vh, 390px);
  max-width: min(66vw, 310px);
  opacity: .22;
  filter: saturate(.72) brightness(1.08) contrast(1.04) drop-shadow(0 0 18px rgba(220,158,61,.10));
}

body[data-capture-device="desktop"] #openCameraButton,
body[data-capture-device="desktop"] #secondHandOpenCameraButton {
  display: none;
}

.reading-palm-inline {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(230px, .72fr);
  align-items: stretch;
  gap: 16px;
  margin: 14px 0 20px;
}
.reading-palm-inline-stage {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  border: 1px solid rgba(218,179,105,.16);
  border-radius: 20px;
  background: radial-gradient(circle at 50% 50%, rgba(214,166,79,.055), transparent 58%), #070503;
  box-shadow: inset 0 0 58px rgba(201,145,64,.025);
}
.reading-palm-inline-stage img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  opacity: .91;
  filter: saturate(.86) brightness(.90) contrast(1.03);
}
.reading-palm-inline-focus {
  --focus-x: 50%;
  --focus-y: 60%;
  --focus-w: 30%;
  --focus-h: 24%;
  --focus-rotate: 0deg;
  position: absolute;
  left: var(--focus-x);
  top: var(--focus-y);
  width: var(--focus-w);
  height: var(--focus-h);
  border: 1.5px solid rgba(248,205,119,.80);
  border-radius: 48%;
  transform: translate(-50%,-50%) rotate(var(--focus-rotate));
  box-shadow: 0 0 24px rgba(239,178,78,.35), inset 0 0 26px rgba(235,174,77,.07);
  pointer-events: none;
  transition: left .2s ease, top .2s ease, width .2s ease, height .2s ease, transform .2s ease;
  animation: palm-guide-focus-breathe 2.8s ease-in-out infinite;
}
.reading-palm-inline-badge {
  position: absolute;
  left: 11px;
  bottom: 10px;
  max-width: calc(100% - 22px);
  padding: 6px 9px;
  border: 1px solid rgba(222,181,107,.22);
  border-radius: 999px;
  color: rgba(255,231,187,.92);
  background: rgba(5,4,3,.79);
  backdrop-filter: blur(9px);
  font-size: 9px;
  line-height: 1.2;
}
.reading-palm-inline-controls {
  display: grid;
  align-content: center;
  gap: 8px;
  overflow: visible;
  padding: 18px 16px;
  border: 1px solid rgba(218,179,105,.12);
  border-radius: 20px;
  background: rgba(14,10,7,.58);
  scrollbar-width: none;
}
.reading-palm-inline-controls::-webkit-scrollbar { display: none; }
.reading-palm-inline-choice {
  width: 100%;
  min-height: 36px;
  padding: 9px 12px;
  border: 1px solid rgba(216,177,103,.14);
  border-radius: 12px;
  color: rgba(224,205,171,.58);
  background: rgba(12,9,6,.48);
  font: inherit;
  font-size: 9px;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}
.reading-palm-inline-choice:hover,
.reading-palm-inline-choice:focus-visible { transform: translateX(2px); }
.reading-palm-inline-choice.is-active {
  color: rgba(255,235,197,.96);
  border-color: rgba(232,190,108,.52);
  background: rgba(90,61,27,.30);
}

.teaser-screen .reveal-stage.is-active {
  min-height: calc(100svh - 210px);
}

@media (max-width: 720px) {
  .reading-palm-inline {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .reading-palm-inline-stage {
    min-height: 0;
    border-radius: 17px;
  }
  .reading-palm-inline-controls {
    display: flex;
    align-content: stretch;
    overflow-x: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .reading-palm-inline-choice {
    width: auto;
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    text-align: center;
    white-space: nowrap;
  }
}

@media (max-width: 520px) {
  .gender-options,
  .hand-options-visual { gap: 9px; }
  .gender-card { min-height: 206px; padding-inline: 11px; border-radius: 18px; }
  .gender-card-symbol { transform: scale(.88); transform-origin: center bottom; }
  .gender-card-copy strong,
  .hand-card-visual .hand-card-copy strong { font-size: 19px; }
  .hand-card-visual { min-height: 230px; padding-inline: 10px; border-radius: 18px; }
  .hand-card-art { min-height: 148px; }
  .hand-card-art img { height: 148px; max-width: 88%; }
}

.personal-map-analysis-palm { display:grid; place-items:center; width:62px; height:78px; }
.personal-map-analysis-palm svg { width:100%; height:100%; fill:rgba(91,61,27,.12); stroke:rgba(225,190,124,.72); stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.personal-map-analysis-palm .aip-palm-line { fill:none; stroke:rgba(225,190,124,.48); stroke-width:1.25; }

/* Block 3C.67R4 — handoff-defined seamless +59 orchestration only. */
.second-hand-seamless-status{margin-top:16px;padding:15px 16px;border:1px solid rgba(199,161,86,.24);border-radius:18px;background:rgba(17,14,10,.04)}
.second-hand-seamless-status strong{display:block;margin-bottom:5px;font-family:var(--font-display,Georgia,serif);font-size:1.06rem}
.second-hand-seamless-status p{margin:0;line-height:1.55}
.second-hand-end-offer{margin:clamp(24px,5vw,42px) 0 0;padding:22px 0 0;border-top:1px solid rgba(160,129,67,.22)}
.second-hand-end-offer.is-hidden,.second-hand-end-cta.is-hidden{display:none!important}
.second-hand-end-offer h3{margin:.35rem 0 .55rem;font-family:var(--font-display,Georgia,serif);font-size:clamp(1.2rem,3vw,1.65rem)}
.second-hand-end-offer p{margin:0 0 14px;white-space:pre-line;line-height:1.6;color:var(--ink-soft,#655a49)}
.second-hand-end-cta{width:100%;justify-content:space-between}
.premium-atlas-chapters>.second-hand-narrative-bridge{margin-top:8px}
.premium-atlas-chapters>.second-hand-upsell{margin-top:0}

/* Block 3C.67R4 R1 — continuous reading: no visible runtime seams. */
.seamless-reading-pages { display:block; }
.seamless-atlas-page,
.premium-atlas-connections-page,
.second-hand-connections-page {
  max-width: 920px;
  margin: 0 auto;
}
.seamless-atlas-page.is-hidden,
.premium-atlas-connections-page.is-hidden,
.second-hand-connections-page.is-hidden,
.seamless-atlas-next.is-hidden { display:none !important; }
.seamless-atlas-page {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.seamless-atlas-palm {
  grid-template-columns: minmax(0, 1.14fr) minmax(230px, .72fr);
  align-items: stretch;
  gap: 16px;
  margin: 0 0 24px;
}
.seamless-atlas-palm .reading-palm-inline-stage { min-height: 420px; }
.seamless-atlas-palm .reading-palm-inline-stage img { aspect-ratio: 1 / 1; }
.seamless-atlas-palm-nav {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:18px 16px;
  border:1px solid rgba(218,179,105,.12);
  border-radius:20px;
  background:rgba(14,10,7,.58);
}
.seamless-atlas-palm-nav .reading-palm-inline-controls { display:grid; gap:8px; overflow:visible; }
.seamless-atlas-palm-nav .reading-palm-inline-choice { width:100%; text-align:left; border-radius:12px; white-space:normal; }
.seamless-atlas-palm-nav > p { margin:2px 0 0; color:rgba(220,201,169,.42); font-size:9px; line-height:1.55; }
.seamless-atlas-story {
  padding: 28px 30px 30px;
  border: 1px solid rgba(215,181,119,.15);
  background: linear-gradient(145deg,rgba(188,139,68,.055),transparent 42%),rgba(18,14,10,.78);
}
.seamless-atlas-story h3 {
  margin:0 0 14px;
  color:rgba(247,231,201,.95);
  font-family:var(--serif);
  font-size:clamp(25px,3.2vw,36px);
  font-weight:400;
  line-height:1.14;
  letter-spacing:-.025em;
}
.seamless-atlas-story > p:not(.seamless-reading-whisper) {
  margin:0;
  white-space:pre-line;
  color:rgba(232,218,193,.72);
  font-size:13px;
  line-height:1.82;
}
.seamless-reading-whisper {
  margin:22px 0 0;
  padding:17px 18px 16px 22px;
  border-left:1px solid rgba(232,190,108,.48);
  color:rgba(243,221,181,.78);
  font-family:var(--serif);
  font-size:clamp(17px,2vw,21px);
  line-height:1.55;
  background:linear-gradient(90deg,rgba(147,96,38,.11),transparent);
}
.seamless-atlas-next { max-width:920px; margin:20px auto 0; }
.premium-atlas-connections-page,
.second-hand-connections-page { display:grid; gap:16px; }
.premium-atlas-connections-page .premium-atlas-signature,
.premium-atlas-connections-page .premium-life-map,
.premium-atlas-connections-page .premium-atlas-closing,
.second-hand-connections-page .premium-atlas-signature,
.second-hand-connections-page .premium-atlas-closing { margin-top:0; }

.second-hand-context-modal {
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:20px;
}
.second-hand-context-modal.is-hidden { display:none !important; }
.second-hand-context-backdrop { position:absolute; inset:0; border:0; background:rgba(2,2,2,.82); backdrop-filter:blur(11px); cursor:pointer; }
.second-hand-context-panel {
  position:relative;
  z-index:1;
  width:min(760px,100%);
  max-height:min(86svh,760px);
  overflow:auto;
  margin:0;
  padding:34px 34px 28px;
  border-radius:22px;
  background:radial-gradient(circle at 90% 6%,rgba(211,157,73,.16),transparent 32%),linear-gradient(145deg,rgba(176,122,53,.09),transparent 48%),rgba(12,9,6,.985);
  box-shadow:0 30px 100px rgba(0,0,0,.6);
}
.second-hand-context-panel .second-hand-narrative-bridge { margin:0; padding:0; border:0; background:transparent; }
.second-hand-context-panel .second-hand-narrative-bridge::before { display:none; }
.second-hand-context-panel .second-hand-upsell-price { margin-top:24px; }
.second-hand-context-decline { width:100%; margin-top:10px; justify-content:center; }

.seamless-next-layer-wait { width:min(860px,100%); margin:0 auto; }
.seamless-wait-photo { max-width:520px; margin:26px auto 20px; }
.seamless-wait-photo img { width:100%; height:100%; object-fit:contain; }
.seamless-wait-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  max-width:680px;
  margin:26px auto 20px;
}
.seamless-wait-pair img { width:100%; aspect-ratio:4 / 5; object-fit:contain; border:1px solid rgba(218,179,105,.15); border-radius:18px; background:#080604; }

/* Runtime state exists behind the scenes; these old status surfaces are never customer UI in seamless mode. */
#secondHandBackgroundStatus,
#secondHandReadyButton,
#twoHandSynthesisStatusCopy,
#twoHandSynthesisStartButton { display:none !important; }

@media (max-width: 760px) {
  .seamless-atlas-palm { grid-template-columns:1fr; gap:10px; }
  .seamless-atlas-palm .reading-palm-inline-stage { min-height:0; }
  .seamless-atlas-palm-nav { padding:12px 10px; border-radius:16px; }
  .seamless-atlas-palm-nav .reading-palm-inline-controls { display:flex; overflow-x:auto; }
  .seamless-atlas-palm-nav .reading-palm-inline-choice { width:auto; flex:0 0 auto; border-radius:999px; white-space:nowrap; }
  .seamless-atlas-story { padding:22px 18px 21px; }
  .second-hand-context-panel { padding:26px 18px 22px; border-radius:18px; }
  .seamless-wait-pair { grid-template-columns:1fr 1fr; gap:8px; }
}

/* Block 3C.67R5 — seamless numerology / mobile-first human-meaning presentation */
.personal-map-offer[role="dialog"] {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  margin: 0;
  padding: clamp(18px, 4vw, 38px);
  border: 0;
  background: rgba(5, 4, 3, .78);
  backdrop-filter: blur(14px);
}
.personal-map-offer[role="dialog"].is-hidden { display: none !important; }
.personal-map-offer-card {
  width: min(100%, 660px);
  max-height: min(88vh, 760px);
  overflow: auto;
  padding: clamp(24px, 5vw, 42px);
  border: 1px solid rgba(225, 187, 111, .31);
  border-radius: 28px;
  background:
    radial-gradient(circle at 85% 10%, rgba(209, 165, 84, .12), transparent 34%),
    linear-gradient(155deg, rgba(31, 23, 14, .985), rgba(10, 8, 6, .99));
  box-shadow: 0 36px 110px rgba(0, 0, 0, .62), inset 0 1px 0 rgba(255, 234, 190, .05);
}
.personal-map-offer-card h3 { font-size: clamp(30px, 5vw, 48px); }
.personal-map-offer-question {
  padding: 16px 18px;
  border-left: 2px solid rgba(220, 179, 101, .52);
  background: rgba(194, 145, 64, .07);
  color: rgba(239, 221, 187, .78) !important;
  font-family: var(--serif);
  font-size: clamp(17px, 2.4vw, 21px) !important;
}
.personal-map-offer-actions { display: grid; gap: 10px; }
.personal-map-offer-actions .artifact-cta,
.personal-map-offer-actions .reveal-back { width: 100%; }
.personal-map-end-offer {
  margin-top: 30px;
  padding: clamp(20px, 4vw, 30px);
  border-top: 1px solid rgba(218, 178, 104, .22);
  border-bottom: 1px solid rgba(218, 178, 104, .12);
  background: linear-gradient(90deg, rgba(186, 139, 60, .04), rgba(186, 139, 60, .09), rgba(186, 139, 60, .04));
}
.personal-map-end-offer.is-hidden { display: none !important; }
.personal-map-end-offer h3 {
  margin: 8px 0 0;
  color: rgba(242, 224, 189, .92);
  font-family: var(--serif);
  font-size: clamp(25px, 3.8vw, 38px);
  font-weight: 400;
}
.personal-map-end-offer p { margin: 12px 0 20px; color: rgba(221, 204, 173, .64); line-height: 1.72; }

.personal-map-date-wheel {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
.personal-map-date-wheel > legend {
  margin-bottom: 4px;
  color: rgba(215, 181, 118, .72);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.personal-map-wheel-labels {
  display: grid;
  grid-template-columns: .78fr 1.42fr 1fr;
  gap: 9px;
  padding: 0 10px;
  color: rgba(211, 184, 134, .48);
  font-size: 9px;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}
.personal-map-wheel-picker {
  position: relative;
  display: grid;
  grid-template-columns: .78fr 1.42fr 1fr;
  gap: 6px;
  min-height: 180px;
  padding: 0 8px;
  overflow: hidden;
  border: 1px solid rgba(209, 171, 102, .22);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(6, 5, 4, .94), rgba(17, 13, 9, .84) 48%, rgba(6, 5, 4, .94)),
    radial-gradient(circle at 50% 50%, rgba(207, 163, 80, .06), transparent 58%);
  box-shadow: inset 0 0 32px rgba(0, 0, 0, .36);
}
.personal-map-wheel-highlight {
  position: absolute;
  z-index: 0;
  left: 8px;
  right: 8px;
  top: 50%;
  height: 54px;
  transform: translateY(-50%);
  pointer-events: none;
  border-top: 1px solid rgba(226, 188, 114, .34);
  border-bottom: 1px solid rgba(226, 188, 114, .34);
  background: linear-gradient(90deg, rgba(188, 139, 55, .04), rgba(188, 139, 55, .10), rgba(188, 139, 55, .04));
  box-shadow: inset 0 1px 0 rgba(255, 235, 192, .025);
}
.personal-map-wheel-column {
  position: relative;
  z-index: 1;
  height: 180px;
  padding-block: 63px;
  overflow-x: hidden;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  overscroll-behavior: contain;
  scrollbar-width: none;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  mask-image: linear-gradient(to bottom, transparent, #000 23%, #000 77%, transparent);
}
.personal-map-wheel-column::-webkit-scrollbar { display: none; }
.personal-map-wheel-column:focus-visible {
  outline: 1px solid rgba(230, 194, 125, .68);
  outline-offset: -5px;
  border-radius: 10px;
}
.personal-map-wheel-option {
  display: grid;
  place-items: center;
  width: 100%;
  height: 54px;
  margin: 0;
  padding: 0 4px;
  scroll-snap-align: center;
  border: 0;
  outline: 0;
  color: rgba(216, 199, 169, .34);
  background: transparent;
  font: inherit;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  transition: color .16s ease, transform .16s ease, opacity .16s ease;
}
.personal-map-wheel-month .personal-map-wheel-option { font-size: 14px; }
.personal-map-wheel-option.is-selected {
  color: #f4e5c5;
  font-size: 18px;
  font-weight: 600;
  transform: scale(1.035);
  text-shadow: 0 0 18px rgba(222, 176, 90, .15);
}
.personal-map-date-wheel > small { color: rgba(214, 196, 163, .43); font-size: 10px; line-height: 1.55; }

.personal-map-calculation-details {
  margin: 18px 0 0;
  border-top: 1px solid rgba(213, 171, 94, .14);
  border-bottom: 1px solid rgba(213, 171, 94, .09);
}
.personal-map-calculation-details summary {
  cursor: pointer;
  padding: 13px 0;
  color: rgba(228, 199, 143, .68);
  font-size: 11px;
  letter-spacing: .04em;
}
.personal-map-calculation-details[open] summary { color: rgba(239, 214, 165, .86); }
.personal-map-calculation-details .personal-map-working-numbers {
  border: 0;
  padding: 0 0 14px;
}

.personal-map-psy-cell {
  appearance: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: inherit;
  border-top: 0;
  border-left: 0;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.personal-map-psy-cell:hover,
.personal-map-psy-cell:focus-visible,
.personal-map-psy-cell.is-active {
  outline: none;
  background: rgba(202, 155, 77, .12);
  box-shadow: inset 0 0 0 1px rgba(229, 191, 116, .34);
}
.personal-map-psy-cell:active { transform: scale(.985); }
.personal-map-psy-cell > strong {
  order: 0;
  min-height: 0;
  font-size: clamp(17px, 2.2vw, 24px);
  line-height: 1.12;
}
.personal-map-psy-cell > span { order: 1; margin-top: auto; }
.personal-map-psy-cell > small { order: 2; }
.personal-map-psy-detail {
  margin-top: 16px;
  min-height: 128px;
  padding: 18px;
  border: 1px solid rgba(213, 171, 94, .15);
  border-radius: 16px;
  background: rgba(11, 9, 7, .58);
}
.personal-map-psy-detail > span { color: rgba(208, 169, 96, .52); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.personal-map-psy-detail h4 { margin: 7px 0 7px; color: rgba(239, 221, 184, .92); font-family: var(--serif); font-size: 22px; font-weight: 400; }
.personal-map-psy-detail p { margin: 0; color: rgba(218, 202, 173, .6); font-size: 11px; line-height: 1.65; }

.personal-map-number-card {
  min-height: 190px;
  gap: 9px;
  border-radius: 16px;
}
.personal-map-number-card > strong {
  order: 0;
  font-size: clamp(20px, 2.2vw, 27px);
  line-height: 1.12;
  color: rgba(241, 222, 184, .94);
}
.personal-map-number-card .personal-map-number-badge {
  order: 1;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-width: 31px;
  min-height: 31px;
  padding: 4px 9px;
  margin: 0;
  border: 1px solid rgba(217, 178, 105, .25);
  border-radius: 999px;
  color: rgba(232, 193, 119, .88);
  font-family: var(--serif);
  font-size: 17px;
  letter-spacing: 0;
}
.personal-map-number-card > span:not(.personal-map-number-badge) { order: 2; min-height: 0; margin-top: 2px; }
.personal-map-number-card > small { order: 3; margin-top: 0; }
.personal-map-number-card .personal-map-core-description {
  order: 4;
  margin: 0;
  color: rgba(218, 202, 173, .55);
  font-size: 10px;
  line-height: 1.55;
}

.personal-map-cycle-card,
.personal-map-year-card,
.personal-map-month-card { border-radius: 14px; }
.personal-map-cycle-card > strong,
.personal-map-year-card > strong,
.personal-map-month-card > strong {
  order: 0;
  margin-top: 0;
  color: rgba(239, 220, 184, .92);
  font-size: 19px;
  line-height: 1.18;
}
.personal-map-cycle-card > span,
.personal-map-year-card > span,
.personal-map-month-card > span { order: 1; margin-top: 10px; }
.personal-map-cycle-card > small,
.personal-map-year-card > small,
.personal-map-month-card > small { order: 2; }
.personal-map-cycle-card > em { order: 3; }
.personal-map-month-card { min-height: 118px; display: flex; flex-direction: column; }
.personal-map-month-card > strong { font-size: 16px; }

.personal-map-analysis-screen .personal-map-analysis-board { display: none; }
.seamless-next-layer-wait {
  width: min(100%, 780px);
  margin: 0 auto;
  text-align: center;
}
.seamless-next-layer-wait .personal-map-analysis-note { color: rgba(224, 202, 163, .58); }

@media (max-width: 760px) {
  .personal-map-offer[role="dialog"] { padding: 12px; align-items: end; }
  .personal-map-offer-card { width: 100%; max-height: 91vh; padding: 24px 18px 20px; border-radius: 24px 24px 12px 12px; }
  .personal-map-wheel-labels,
  .personal-map-wheel-picker { grid-template-columns: .72fr 1.28fr .92fr; gap: 4px; }
  .personal-map-wheel-picker { min-height: 168px; padding-inline: 5px; border-radius: 14px; }
  .personal-map-wheel-column { height: 168px; padding-block: 57px; }
  .personal-map-wheel-option { height: 54px; font-size: 14px; }
  .personal-map-wheel-option.is-selected { font-size: 17px; }
  .personal-map-psychomatrix { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .personal-map-psy-cell { min-height: 118px; padding: 10px; }
  .personal-map-psy-cell > strong { font-size: 16px; }
  .personal-map-psy-cell > span { font-size: 8px; }
  .personal-map-core-grid { grid-template-columns: 1fr; }
  .personal-map-number-card { min-height: 0; padding: 16px; }
  .personal-map-cycle-grid { grid-template-columns: 1fr; }
  .personal-map-month-strip { grid-template-columns: repeat(12, minmax(132px, 1fr)); }
}

/* Block 3C.67R6B candidate — owner E2E reading-continuity corrective. */
.locked-fourth-sign {
  overflow: hidden;
  padding: 22px 20px 20px;
}
.locked-fourth-sign .locked-sign-basis,
.locked-fourth-sign .locked-reading-preview {
  user-select: none;
  pointer-events: none;
}
.locked-fourth-sign .locked-sign-basis {
  filter: blur(3.8px);
  opacity: .38;
}
.locked-fourth-sign .locked-reading-palm {
  margin-top: 11px;
  opacity: .92;
}
.locked-fourth-sign .locked-reading-palm .reading-palm-inline-stage {
  cursor: default;
}
.locked-fourth-sign .locked-reading-palm .reading-palm-inline-choice {
  cursor: pointer;
}
.locked-fourth-sign > h3 {
  margin-top: 17px;
  max-width: 760px;
}
.locked-fourth-sign > #continuationHook {
  max-width: 820px;
}
.locked-reading-preview {
  display: grid;
  gap: 8px;
  margin-top: 17px;
  padding: 15px 0 5px;
  border-top: 1px solid rgba(205,177,125,.10);
  filter: blur(4.4px);
  opacity: .42;
}
.locked-line {
  display: block;
  width: 76%;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(229,208,169,.62), rgba(193,155,92,.17));
}
.locked-line-long { width: 94%; }
.locked-line-short { width: 58%; }
.locked-fourth-sign .locked-reveal-mask {
  justify-content: flex-start;
  align-items: flex-start;
  gap: 11px;
  margin-top: 14px;
  padding: 14px 0 0;
}
.locked-fourth-sign .locked-reveal-mask > span {
  padding-top: 2px;
  font-size: 14px;
}
.locked-fourth-sign .locked-reveal-mask > div {
  display: grid;
  gap: 4px;
}
.locked-fourth-sign .locked-reveal-mask strong {
  color: rgba(244,226,194,.90);
  font-family: var(--serif);
  font-size: 15px;
}
.locked-fourth-sign .locked-reveal-mask small {
  color: rgba(218,198,164,.48);
  font-size: 9.5px;
  line-height: 1.55;
}
.locked-sign-purchase {
  display: grid;
  gap: 13px;
  margin-top: 19px;
  padding-top: 18px;
  border-top: 1px solid rgba(219,184,120,.16);
}
.locked-sign-purchase .paywall-price {
  margin: 0;
  text-align: left;
}
.locked-sign-purchase .paywall-price strong { font-size: 27px; }
.locked-sign-purchase .artifact-cta { margin-top: 0; }

.premium-buffer-screen .premium-buffer-shell {
  width: min(920px, 100%);
  margin: 0 auto;
  padding: 0 0 58px;
}
.premium-buffer-screen .premium-buffer-head {
  max-width: none;
  margin: 24px 0 0;
  text-align: left;
}
.premium-buffer-screen .premium-buffer-head h2 {
  max-width: 680px;
  white-space: normal;
}
.premium-buffer-thread-meta { margin-bottom: 16px; }
.premium-buffer-screen .premium-buffer-reveal-stage {
  display: block;
  opacity: 1;
  transform: none;
  min-height: calc(100svh - 210px);
}
.premium-buffer-reveal-card { padding: 0; border: 0; background: transparent; }
.premium-buffer-reveal-card .premium-buffer-palm {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(230px, .72fr);
  align-items: stretch;
  gap: 16px;
  margin: 0 0 24px;
}
.premium-buffer-reveal-card .premium-buffer-palm .reading-palm-inline-stage {
  min-height: 420px;
}
.premium-buffer-reveal-card .premium-buffer-palm .reading-palm-inline-controls {
  margin-top: 0;
}
.premium-buffer-reveal-card .premium-buffer-palm.is-connection-page .reading-palm-inline-controls {
  display: none;
}
@media (max-width: 720px) {
  .premium-buffer-reveal-card .premium-buffer-palm {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .premium-buffer-reveal-card .premium-buffer-palm .reading-palm-inline-stage {
    min-height: 0;
  }
}
.premium-buffer-copy > p {
  margin: 0;
  color: rgba(233,221,197,.73);
  font-size: 13px;
  line-height: 1.72;
}
.premium-buffer-copy > .reveal-detail {
  margin-top: 10px;
  color: rgba(233,221,197,.72);
}
.premium-buffer-next { margin-top: 12px; }

.second-hand-interruption-note {
  margin: 13px 0 0 !important;
  padding: 13px 14px;
  border-left: 1px solid rgba(232,190,108,.45);
  background: rgba(188,139,68,.055);
  color: rgba(239,220,186,.78) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
.second-hand-interruption-note + #secondHandNarrativeBridgeText { margin-top: 14px !important; }
.second-hand-reading-pulse {
  position: sticky;
  top: 12px;
  z-index: 14;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 11px;
  align-items: start;
  width: min(760px, calc(100% - 8px));
  margin: -12px auto 22px;
  padding: 12px 14px;
  border: 1px solid rgba(225,184,108,.24);
  border-radius: 16px;
  background: rgba(13,10,7,.93);
  box-shadow: 0 16px 42px rgba(0,0,0,.28), 0 0 28px rgba(190,139,67,.06);
  backdrop-filter: blur(14px);
}
.second-hand-reading-pulse.is-hidden { display: none !important; }
.second-hand-reading-pulse-mark {
  color: rgba(235,193,112,.88);
  line-height: 1.4;
}
.second-hand-reading-pulse strong {
  display: block;
  color: rgba(248,230,198,.92);
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 400;
}
.second-hand-reading-pulse p {
  margin: 3px 0 0;
  color: rgba(220,201,170,.58);
  font-size: 9.5px;
  line-height: 1.55;
}

@media (max-width: 520px) {
  .locked-fourth-sign { padding-inline: 16px; }
  .premium-buffer-screen .premium-buffer-head { margin-top: 16px; }
  .premium-buffer-copy > p { font-size: 12.5px; }
  .second-hand-reading-pulse { top: 8px; margin-bottom: 16px; }
}

/* Block 3C.67R6B3 — embed Luna continuity inside the same reading page grammar. */
.premium-buffer-connection {
  display: grid;
  gap: 7px;
  margin-top: 18px;
  padding: 15px 16px 14px;
  border-left: 1px solid rgba(232,190,108,.46);
  background: linear-gradient(90deg, rgba(188,139,68,.06), transparent 86%);
}
.premium-buffer-connection > span {
  color: rgba(211,171,98,.60);
  font-size: 8px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.premium-buffer-connection > strong {
  color: rgba(247,229,196,.91);
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
}
.premium-buffer-connection > p {
  margin: 0;
  color: rgba(226,211,184,.67);
  font-size: 11px;
  line-height: 1.7;
}

/* Block 3C.67R6B5 — additional Luna pages inherit the primary 01–03 sign grammar exactly. */
.premium-buffer-screen .premium-buffer-shell {
  width: 100%;
  max-width: none;
  padding: 0 0 58px;
}
.premium-buffer-screen .premium-buffer-head {
  max-width: none;
  margin: 24px 0 0;
  text-align: left;
}
.premium-buffer-screen .premium-buffer-reveal-stage {
  min-height: calc(100svh - 210px);
}
.premium-buffer-reveal-card {
  position: relative;
  padding: 20px 18px 19px;
  border: 1px solid rgba(205,177,125,.17);
  background: linear-gradient(180deg,rgba(181,139,72,.055),transparent 62%),rgba(20,16,12,.78);
}
.premium-buffer-reveal-card::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(236,218,181,.035);
  pointer-events: none;
}
.premium-buffer-reveal-card .premium-buffer-palm {
  display: grid;
  grid-template-columns: minmax(0,1.14fr) minmax(230px,.72fr);
  align-items: stretch;
  gap: 16px;
  margin: 14px 0 20px;
}
.premium-buffer-reveal-card .premium-buffer-palm .reading-palm-inline-stage {
  min-height: 420px;
}
.premium-buffer-reveal-card .premium-buffer-palm .reading-palm-inline-controls {
  display: grid;
  align-content: center;
  gap: 8px;
  overflow: visible;
  padding: 18px 16px;
  border: 1px solid rgba(218,179,105,.12);
  border-radius: 20px;
  background: rgba(14,10,7,.58);
}
.premium-buffer-copy > p {
  margin: 0;
  color: rgba(233,221,197,.73);
  font-size: 12px;
  line-height: 1.66;
}
.premium-buffer-copy > .reveal-detail,
.premium-buffer-copy > .premium-buffer-connection {
  margin-top: 12px !important;
  padding-top: 12px;
  border-top: 1px solid rgba(205,177,125,.10);
  border-left: 0;
  background: transparent;
  color: rgba(219,202,173,.48) !important;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.66;
}
.premium-buffer-next { margin-top: 12px; }

/* The staged Sol shell may show only the user's actual uploaded image. Never substitute a decorative/demo palm. */
.premium-analysis-photo-missing {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: none;
  place-content: center;
  gap: 8px;
  padding: 28px 24px;
  text-align: center;
  color: rgba(220,199,163,.56);
}
.premium-analysis-photo-missing > span { color: rgba(229,188,111,.70); font-size: 18px; }
.premium-analysis-photo-missing > strong { color: rgba(240,220,184,.78); font-family: var(--serif); font-size: 17px; font-weight: 400; line-height: 1.3; }
.premium-analysis-photo-missing > small { color: rgba(211,192,160,.42); font-size: 9px; line-height: 1.55; }
.premium-analysis-photo-frame.is-photo-missing img { display: none; }
.premium-analysis-photo-frame.is-photo-missing .premium-analysis-photo-missing { display: grid; }
.premium-analysis-photo-frame.is-photo-missing::after { opacity: .35; }

@media (max-width: 720px) {
  .premium-buffer-reveal-card .premium-buffer-palm {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .premium-buffer-reveal-card .premium-buffer-palm .reading-palm-inline-stage { min-height: 0; }
  .premium-buffer-reveal-card .premium-buffer-palm .reading-palm-inline-controls {
    display: flex;
    align-content: stretch;
    overflow-x: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .premium-buffer-reveal-card .premium-buffer-palm .reading-palm-inline-choice {
    width: auto;
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    text-align: center;
    white-space: nowrap;
  }
}


/* Block 3C.67R6B9 — quiet Sol entry on the same reading page grammar as Luna. */
.premium-result-screen {
  width: min(920px, 100%);
  padding-bottom: 58px;
}
.premium-result-screen .premium-atlas-head {
  max-width: none;
  margin: 24px 0 20px;
  text-align: left;
}
.premium-result-screen .premium-atlas-mark {
  display: none;
}
.premium-result-screen .premium-atlas-head h2 {
  max-width: 680px;
  margin: 8px 0 12px;
  font-size: clamp(38px, 11vw, 49px);
  line-height: .99;
  letter-spacing: -.045em;
}
.premium-result-screen .premium-atlas-head .lead {
  max-width: 430px;
  margin: 0;
  color: var(--ink-muted);
  font-size: 12px;
  line-height: 1.62;
}
.premium-result-screen .premium-atlas-coverage {
  margin: 16px 0 0;
  text-align: left;
}
.premium-result-screen .seamless-atlas-page.reveal-card {
  padding: 20px 18px 19px !important;
  border: 1px solid rgba(205, 177, 125, 0.17) !important;
  background:
    linear-gradient(180deg, rgba(181, 139, 72, 0.055), transparent 62%),
    rgba(20, 16, 12, 0.78) !important;
}
.premium-result-screen .seamless-atlas-page.reveal-card::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(236, 218, 181, 0.035);
  pointer-events: none;
}
.premium-result-screen .seamless-atlas-page .seamless-atlas-palm {
  margin: 14px 0 20px;
}
.premium-result-screen .seamless-atlas-story-inline {
  padding: 0;
  border: 0;
  background: transparent;
}
.premium-result-screen .seamless-atlas-story-inline h3 {
  margin: 12px 0 10px;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.premium-result-screen .seamless-atlas-story-inline > p:not(.seamless-reading-whisper) {
  margin: 0;
  color: rgba(233, 221, 197, 0.73);
  font-size: 12px;
  line-height: 1.66;
}
.premium-result-screen .seamless-atlas-story-inline .premium-atlas-evidence {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(205, 177, 125, 0.10);
}
@media (max-width: 720px) {
  .premium-result-screen .premium-atlas-head { margin-top: 16px; }
  .premium-result-screen .premium-atlas-head h2 { font-size: clamp(38px, 11vw, 49px); }
}

/* Block 3C.67R6B10 — first Sol signs use the exact Luna sign-page scaffold, not an entry page. */
.premium-result-screen .premium-atlas-head.teaser-sequence-head {
  max-width: none;
  margin: 24px 0 0;
  text-align: left;
}
.premium-result-screen .premium-atlas-head.teaser-sequence-head h2 {
  max-width: none;
  margin: 0;
  font-size: clamp(38px, 11vw, 49px);
  line-height: .99;
  letter-spacing: -.045em;
}
.premium-result-screen .premium-atlas-head.teaser-sequence-head .lead {
  max-width: 310px;
  margin: 18px 0 0;
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.62;
}
.premium-result-screen .premium-atlas-reading-thread[hidden],
.premium-result-screen .premium-atlas-reading-thread-meta[hidden] {
  display: none;
}
.premium-result-screen .canonical-reading-sign {
  padding: 20px 18px 19px !important;
  border: 1px solid rgba(205, 177, 125, 0.17) !important;
  background:
    linear-gradient(180deg, rgba(181, 139, 72, 0.055), transparent 62%),
    rgba(20, 16, 12, 0.78) !important;
}
.premium-result-screen .canonical-reading-sign h3 {
  margin: 12px 0 10px;
  color: rgba(243, 229, 202, 0.94);
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: normal;
}
.premium-result-screen .canonical-reading-sign > p:not(.dust-copy) {
  margin: 0;
  color: rgba(233, 221, 197, 0.72);
  font-size: 13px;
  line-height: 1.72;
  white-space: normal;
}
.premium-result-screen .canonical-reading-sign > .reveal-detail {
  margin-top: 10px !important;
  padding-top: 0;
  border-top: 0;
  color: rgba(233, 221, 197, 0.72) !important;
}
.premium-result-screen .premium-atlas-sign-nav {
  display: flex;
  align-items: center;
  margin-top: 9px;
}
.premium-result-screen .premium-atlas-sign-nav.is-hidden { display: none; }
.premium-result-screen #premiumAtlasFooter.is-hidden,
.premium-result-screen #premiumAtlasActions.is-hidden { display: none; }
@media (max-width: 720px) {
  .premium-result-screen .premium-atlas-head.teaser-sequence-head { margin-top: 24px; }
  .premium-result-screen .premium-atlas-head.teaser-sequence-head .lead { font-size: 14px; }
}

/* Block 3C.67R6B11 — reading-column width parity with mobile-first acceptance. */
.premium-result-screen {
  width: 100%;
  margin: 0;
}
.premium-result-screen > .premium-atlas-head,
.premium-result-screen > .premium-atlas-reading-thread,
.premium-result-screen > .premium-atlas-reading-thread-meta,
.premium-result-screen > .premium-atlas-content {
  width: min(920px, 100%);
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
}
.premium-result-screen .premium-atlas-head.teaser-sequence-head {
  margin: 24px auto 0;
}
.premium-result-screen .premium-atlas-reading-thread {
  margin: 18px auto 4px;
}
.premium-result-screen .premium-atlas-reading-thread-meta {
  margin: 0 auto 16px;
}
.premium-result-screen .premium-atlas-content,
.premium-result-screen .premium-atlas-chapters,
.premium-result-screen .canonical-reading-sign {
  min-width: 0;
}
.premium-result-screen .canonical-reading-sign,
.premium-result-screen .premium-atlas-sign-nav,
.premium-result-screen .seamless-atlas-next {
  width: 100%;
}
@media (max-width: 720px) {
  .premium-result-screen > .premium-atlas-head,
  .premium-result-screen > .premium-atlas-reading-thread,
  .premium-result-screen > .premium-atlas-reading-thread-meta,
  .premium-result-screen > .premium-atlas-content {
    width: 100%;
  }
  .premium-result-screen .premium-atlas-head.teaser-sequence-head {
    margin-top: 24px;
  }
}

/* Block 3C.67R6B12 — exact shared screen-content width parity; mobile geometry unchanged. */
.premium-buffer-screen .premium-buffer-shell,
.premium-result-screen > .premium-atlas-head,
.premium-result-screen > .premium-atlas-reading-thread,
.premium-result-screen > .premium-atlas-reading-thread-meta,
.premium-result-screen > .premium-atlas-content {
  width: 100%;
  max-width: none;
}

@media (max-width: 720px) {
  .premium-buffer-screen .premium-buffer-shell,
  .premium-result-screen > .premium-atlas-head,
  .premium-result-screen > .premium-atlas-reading-thread,
  .premium-result-screen > .premium-atlas-reading-thread-meta,
  .premium-result-screen > .premium-atlas-content {
    width: 100%;
    max-width: none;
  }
}

/* Block 3C.67R6B13 — remove the last nested 920px Sol sign/CTA ceiling; mobile unchanged. */
.premium-result-screen .seamless-atlas-page.canonical-reading-sign,
.premium-result-screen .seamless-atlas-next {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 720px) {
  .premium-result-screen .seamless-atlas-page.canonical-reading-sign,
  .premium-result-screen .seamless-atlas-next {
    width: 100%;
    max-width: none;
  }
}

/* Block 3C.67R6B14 — mobile evidence-zone controls must stay visible and touchable under the palm. */
@media (max-width: 720px) {
  .reading-palm-inline-controls {
    gap: 8px;
    margin: 8px 0 2px;
    padding: 2px 0 4px;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .reading-palm-inline-choice {
    min-height: 44px;
    padding: 10px 13px;
    scroll-snap-align: start;
  }
}

/* Block 3C.67R6B16 — second-hand R6B15 sign-page presentation parity; leading pages unchanged. */
.comparative-result-screen.premium-result-screen {
  width: 100%;
  margin: 0;
}
.comparative-result-screen.premium-result-screen > .comparative-atlas-head,
.comparative-result-screen.premium-result-screen > .premium-atlas-reading-thread,
.comparative-result-screen.premium-result-screen > .premium-atlas-reading-thread-meta,
.comparative-result-screen.premium-result-screen > .comparative-result-content {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
}
.comparative-result-screen.premium-result-screen .comparative-result-content,
.comparative-result-screen.premium-result-screen .comparative-second-atlas,
.comparative-result-screen.premium-result-screen .premium-atlas-chapters,
.comparative-result-screen.premium-result-screen .canonical-reading-sign {
  min-width: 0;
  max-width: none;
}
.comparative-result-screen.premium-result-screen .comparative-result-content {
  padding: 0;
}
.comparative-result-screen.premium-result-screen .comparative-second-atlas {
  margin-top: 0;
}
.comparative-result-screen.premium-result-screen .seamless-atlas-page.canonical-reading-sign,
.comparative-result-screen.premium-result-screen .premium-atlas-sign-nav,
.comparative-result-screen.premium-result-screen .seamless-atlas-next,
.comparative-result-screen.premium-result-screen .second-hand-connections-page {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.comparative-result-screen.premium-result-screen .premium-atlas-sign-nav.is-hidden,
.comparative-result-screen.premium-result-screen #comparativeAtlasFooter.is-hidden,
.comparative-result-screen.premium-result-screen #comparativeAtlasActions.is-hidden {
  display: none;
}
@media (max-width: 720px) {
  .comparative-result-screen.premium-result-screen > .comparative-atlas-head,
  .comparative-result-screen.premium-result-screen > .premium-atlas-reading-thread,
  .comparative-result-screen.premium-result-screen > .premium-atlas-reading-thread-meta,
  .comparative-result-screen.premium-result-screen > .comparative-result-content,
  .comparative-result-screen.premium-result-screen .seamless-atlas-page.canonical-reading-sign,
  .comparative-result-screen.premium-result-screen .premium-atlas-sign-nav,
  .comparative-result-screen.premium-result-screen .seamless-atlas-next,
  .comparative-result-screen.premium-result-screen .second-hand-connections-page {
    width: 100%;
    max-width: none;
  }
}

/* Block 3C.67R6B18A — second-hand narrative arc, pre-comparison numerology bridge, one-call paged comparison. */
.second-hand-transition-hook {
  margin: 18px 0 0 !important;
  padding: 16px 18px;
  border-left: 1px solid rgba(216, 175, 92, .46);
  background: linear-gradient(90deg, rgba(216,175,92,.075), transparent 82%);
  color: rgba(244, 226, 190, .82) !important;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(15px, 1.9vw, 18px);
  line-height: 1.55;
}
.second-hand-atlas-integrations {
  margin: clamp(34px, 5vw, 62px) 0;
  padding-top: clamp(24px, 4vw, 40px);
  border-top: 1px solid rgba(206, 160, 74, .22);
}
.second-hand-atlas-integrations > h3 {
  max-width: 760px;
  margin: 8px 0 10px;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(27px, 4vw, 44px);
  line-height: 1.06;
  color: rgba(250, 233, 198, .96);
}
.second-hand-atlas-integrations-intro {
  max-width: 760px;
  margin: 0 0 26px;
  color: rgba(233, 221, 197, .7);
  line-height: 1.7;
}
.second-hand-integration-periods { display: grid; gap: 0; }
.second-hand-integration-period { margin: 0; }
.second-hand-integration-pair {
  margin: 13px 0 0 !important;
  color: rgba(216, 175, 92, .82) !important;
  font-size: 13px;
  line-height: 1.5;
}
.numerology-bridge-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(3, 2, 1, .78);
  backdrop-filter: blur(12px);
}
.numerology-bridge-modal.is-hidden { display: none; }
.numerology-bridge-card {
  position: relative;
  width: min(620px, 100%);
  max-height: min(86vh, 760px);
  overflow: auto;
  padding: clamp(26px, 5vw, 46px);
  border: 1px solid rgba(216, 175, 92, .36);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 0%, rgba(216,175,92,.11), transparent 44%),
    linear-gradient(150deg, rgba(24,18,10,.985), rgba(10,8,5,.99));
  box-shadow: 0 34px 110px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,235,194,.025);
  color: rgba(244, 229, 199, .9);
}
.numerology-bridge-card h3 {
  margin: 10px 0 16px;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.03;
  color: #f4ddaf;
}
.numerology-bridge-card p { margin: 0 0 13px; line-height: 1.72; color: rgba(235,220,192,.76); }
.numerology-bridge-card .numerology-bridge-question { color: rgba(239,200,117,.88); font-family: var(--font-display, Georgia, serif); font-size: clamp(17px, 2.2vw, 21px); line-height: 1.55; }
.numerology-bridge-card small { display: block; margin-top: 14px; color: rgba(222,203,169,.5); line-height: 1.5; }
.numerology-bridge-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(216,175,92,.28);
  background: rgba(255,255,255,.025);
  color: rgba(244,229,199,.8);
  cursor: pointer;
  font-size: 22px;
}
.numerology-bridge-price { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:22px 0 18px; }
.numerology-bridge-price strong { font-size: 26px; color: #efc875; }
.numerology-bridge-price span { max-width: 46ch; color: rgba(222,203,169,.62); font-size: 13px; line-height: 1.45; }
.numerology-bridge-actions { display:grid; gap:10px; }
.numerology-bridge-actions .artifact-cta,
.numerology-bridge-actions .reveal-back { width:100%; }
.two-hand-paged-result .cross-hand-comparisons,
.two-hand-paged-result > .premium-atlas-signature,
.two-hand-paged-result > .premium-atlas-closing,
.two-hand-paged-result > .two-hand-result-nav,
.two-hand-paged-result > .personal-map-end-offer,
.two-hand-paged-result > .premium-atlas-footer,
.two-hand-paged-result > .premium-atlas-actions {
  width: min(980px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}
.two-hand-paged-result .cross-hand-card.is-hidden,
.two-hand-paged-result > .premium-atlas-signature.is-hidden,
.two-hand-paged-result > .premium-atlas-closing.is-hidden { display:none; }
.two-hand-page-bridge {
  margin: 26px 0 0;
  padding: 18px 20px;
  border-top: 1px solid rgba(216,175,92,.22);
  color: rgba(244,229,199,.74);
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(18px, 2.5vw, 24px);
  line-height: 1.48;
}
.two-hand-result-nav { display:flex; align-items:center; gap:12px; margin-top:22px; margin-bottom:26px; }
.two-hand-result-nav .two-hand-result-next { flex:1; margin:0; }
.two-hand-result-nav .reveal-back { flex:0 0 auto; }
@media (max-width: 720px) {
  .numerology-bridge-modal { padding: 10px; align-items: end; }
  .numerology-bridge-card { width:100%; max-height:90vh; padding:24px 18px 20px; border-radius:24px 24px 18px 18px; }
  .two-hand-paged-result .cross-hand-comparisons,
  .two-hand-paged-result > .premium-atlas-signature,
  .two-hand-paged-result > .premium-atlas-closing,
  .two-hand-paged-result > .two-hand-result-nav,
  .two-hand-paged-result > .personal-map-end-offer,
  .two-hand-paged-result > .premium-atlas-footer,
  .two-hand-paged-result > .premium-atlas-actions { width:100%; }
  .two-hand-result-nav { align-items:stretch; flex-direction:column-reverse; }
  .two-hand-result-nav .reveal-back,
  .two-hand-result-nav .two-hand-result-next { width:100%; }
}

/* Block 3C.67R6B18C / R6B18C1 — compact sign body + signature printable-artifact control. */
.premium-buffer-reveal-card > p[data-premium-buffer-narrative]:not(.reveal-detail) {
  margin: 0;
  color: rgba(233,221,197,.73);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.66;
}
.printable-pdf-download {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 30px;
  align-items: center;
  gap: 14px;
  width: min(100%, 660px);
  min-height: 86px;
  margin: 26px auto 18px;
  padding: 14px 18px;
  overflow: hidden;
  text-align: left;
  color: rgba(244,229,196,.96);
  border: 1px solid rgba(214,174,101,.42);
  border-radius: 18px;
  background:
    radial-gradient(circle at 12% 50%, rgba(221,178,98,.16), transparent 34%),
    linear-gradient(135deg, rgba(52,35,20,.74), rgba(21,17,13,.96) 64%);
  box-shadow: 0 18px 46px rgba(0,0,0,.24), inset 0 1px rgba(255,236,190,.08);
}
.printable-pdf-download::before {
  content: "";
  position: absolute;
  inset: 6px;
  z-index: -1;
  border: 1px solid rgba(214,174,101,.11);
  border-radius: 13px;
  pointer-events: none;
}
.printable-pdf-download:hover {
  border-color: rgba(231,195,126,.64);
  transform: translateY(-1px);
  box-shadow: 0 22px 52px rgba(0,0,0,.28), 0 0 34px rgba(184,133,58,.08), inset 0 1px rgba(255,236,190,.11);
}
.printable-pdf-sigil {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(222,182,107,.38);
  border-radius: 50%;
  color: rgba(236,199,128,.96);
  font-size: 17px;
  box-shadow: 0 0 0 5px rgba(182,126,49,.05), inset 0 0 18px rgba(216,165,77,.06);
}
.printable-pdf-copy { display: grid; gap: 3px; min-width: 0; }
.printable-pdf-copy strong {
  color: rgba(247,234,208,.98);
  font-family: var(--serif);
  font-size: clamp(16px,1.8vw,20px);
  font-weight: 500;
  line-height: 1.15;
}
.printable-pdf-copy small {
  color: rgba(203,188,161,.66);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.42;
}
.printable-pdf-arrow {
  justify-self: end;
  color: rgba(231,194,124,.82);
  font-family: var(--serif);
  font-size: 20px;
}
.printable-pdf-download:disabled { opacity: .62; cursor: wait; transform: none; }
.printable-pdf-download.is-hidden { display: none; }
@media (max-width: 620px) {
  .printable-pdf-download { width: 100%; grid-template-columns: 36px minmax(0,1fr) 24px; gap: 11px; min-height: 78px; padding: 12px 14px; border-radius: 15px; }
  .printable-pdf-sigil { width: 32px; height: 32px; font-size: 14px; }
  .printable-pdf-copy strong { font-size: 16px; }
  .printable-pdf-copy small { font-size: 10px; }
}


/* Block 3C.67R6B18C2 — primary sign typography parity + prepared printable artifact state. */
.teaser-screen [data-reveal-stage="1"] .reveal-card-primary > .dust-copy {
  margin: 0;
  color: rgba(233,221,197,.73);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.72;
}
.printable-pdf-download.is-ready {
  border-color: rgba(231,190,110,.58);
  box-shadow: 0 18px 46px rgba(0,0,0,.24), 0 0 34px rgba(215,171,91,.11), inset 0 1px rgba(255,236,190,.10);
}
.printable-pdf-download.is-ready .printable-pdf-sigil {
  box-shadow: 0 0 22px rgba(221,178,98,.20), inset 0 0 0 1px rgba(255,237,198,.08);
}
.printable-pdf-download.is-preparing .printable-pdf-sigil {
  animation: printable-artifact-breathe 1.8s ease-in-out infinite;
}
@keyframes printable-artifact-breathe {
  0%,100% { transform: scale(.96); opacity: .68; }
  50% { transform: scale(1.04); opacity: 1; }
}
@media (max-width:720px) {
  .teaser-screen [data-reveal-stage="1"] .reveal-card-primary > .dust-copy { font-size: 12.5px; }
}


/* Block 3C.67R6B19 — deterministic Personal Map / interactive Pythagorean grid foundation. */
.personal-map-psychomatrix-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  align-items: stretch;
}
.personal-map-psychomatrix-side {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.personal-map-psy-detail {
  margin-top: 0;
  min-height: 0;
  flex: 1 1 auto;
  padding: 24px;
  border-color: rgba(213, 171, 94, .22);
  border-radius: 0;
  background: linear-gradient(180deg, rgba(29,22,12,.82), rgba(13,10,7,.7));
  box-shadow: 0 18px 48px rgba(0,0,0,.16);
}
.personal-map-psy-detail h4 { font-size: clamp(28px, 3vw, 40px); line-height: 1.05; }
.personal-map-psy-detail p { margin-top: 12px; font-size: 12px; line-height: 1.72; }
.personal-map-psy-detail-trace {
  display: block;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(213,171,94,.14);
  color: rgba(208,169,96,.58);
  font-size: 9px;
  line-height: 1.55;
  letter-spacing: .04em;
}
.personal-map-psychomatrix-lines-wrap {
  padding: 0;
  border-radius: 0;
  overflow: hidden;
}
.personal-map-psychomatrix-lines-wrap > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 18px;
  color: rgba(239,221,184,.88);
  font-size: 11px;
}
.personal-map-psychomatrix-lines-wrap > summary::-webkit-details-marker { display: none; }
.personal-map-psychomatrix-lines-wrap > summary::after { content: "＋"; color: rgba(208,169,96,.65); font-size: 14px; }
.personal-map-psychomatrix-lines-wrap[open] > summary::after { content: "−"; }
.personal-map-psychomatrix-lines-wrap > summary small { color: rgba(215,198,168,.42); font-size: 9px; font-weight: 400; }
.personal-map-psychomatrix-lines-wrap .personal-map-psychomatrix-lines { margin: 0; padding: 0 18px 12px; }
.personal-map-psy-cell.is-selected,
.personal-map-psy-cell.is-active {
  outline: none;
  background: rgba(202,155,77,.14);
  box-shadow: inset 0 0 0 1px rgba(229,191,116,.46), 0 0 28px rgba(180,128,54,.08);
}
.personal-map-psy-cell > em {
  order: 3;
  align-self: flex-start;
  margin-top: 2px;
  color: rgba(232,193,119,.84);
  font-family: var(--serif);
  font-size: 15px;
  font-style: normal;
}
@media (max-width: 980px) {
  .personal-map-psychomatrix-layout { grid-template-columns: 1fr; }
  .personal-map-psy-detail { min-height: 190px; border-radius: 16px; }
  .personal-map-psychomatrix-lines-wrap { border-radius: 16px; }
}
@media (max-width: 700px) {
  .personal-map-psychomatrix-side { gap: 10px; }
  .personal-map-psy-detail { min-height: 0; padding: 18px; }
  .personal-map-psy-detail h4 { font-size: 26px; }
}


/* Block 3C.67R6B19C — owner-accepted theme-first numerology UX + wheel-entry corrective. */
.personal-map-entry-shell { width:min(100%,1180px); }
.personal-map-entry-head { max-width:900px; text-align:left; margin-inline:0; }
.personal-map-entry-head .premium-atlas-mark { margin-inline:0; }
.personal-map-entry-head h2 { max-width:840px; margin-inline:0; }
.personal-map-entry-head .lead { max-width:720px; margin-inline:0; }
.personal-map-entry-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:24px; align-items:stretch; }
.personal-map-entry-card,.personal-map-entry-preview { border:1px solid rgba(213,171,94,.2); background:linear-gradient(145deg,rgba(29,22,12,.74),rgba(11,9,7,.9)); }
.personal-map-entry-card { padding:28px; }
.personal-map-entry-card .personal-map-form { width:100%; margin:0; }
.personal-map-entry-preview { padding:28px; display:flex; flex-direction:column; }
.personal-map-entry-preview-list { margin-top:18px; display:grid; gap:0; }
.personal-map-entry-preview-list article { display:grid; grid-template-columns:58px minmax(0,1fr); gap:16px; padding:20px 0; border-top:1px solid rgba(213,171,94,.13); }
.personal-map-entry-preview-list article:first-child { border-top:0; }
.personal-map-entry-icon { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(226,184,105,.34); border-radius:14px; color:#e6c27d; font-family:var(--serif); font-size:12px; line-height:1.05; text-align:center; }
.personal-map-entry-grid-icon { font-size:25px; }
.personal-map-entry-preview strong { color:#f0dfbd; font-family:var(--serif); font-size:21px; font-weight:400; }
.personal-map-entry-preview p { margin:5px 0 0; color:rgba(218,202,173,.56); font-size:11px; line-height:1.6; }
.personal-map-entry-preview blockquote { margin:auto 0 0; padding:28px 0 0; border-top:1px solid rgba(213,171,94,.13); color:rgba(232,202,145,.72); font-family:var(--serif); font-size:18px; font-style:italic; line-height:1.55; }
.personal-map-entry-privacy { display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; padding:14px 15px; border:1px solid rgba(213,171,94,.12); background:rgba(32,24,14,.46); color:rgba(218,202,173,.5); font-size:10px; line-height:1.55; }
.personal-map-entry-privacy p { margin:0; }
.personal-map-entry-privacy span { color:#d7ac61; }
.personal-map-date-wheel-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:12px; }
.personal-map-date-wheel-head legend { color:rgba(239,222,188,.9); font-family:var(--serif); font-size:20px; }
.personal-map-date-wheel-head small { color:rgba(218,202,173,.42); font-size:10px; }
.personal-map-wheel-picker { border-color:rgba(220,178,100,.22); background:linear-gradient(180deg,rgba(8,7,6,.96),rgba(23,16,9,.86),rgba(8,7,6,.96)); }
.personal-map-wheel-highlight { border-top-color:rgba(239,190,102,.58); border-bottom-color:rgba(239,190,102,.58); background:linear-gradient(90deg,transparent,rgba(204,149,65,.16),transparent); box-shadow:0 0 25px rgba(203,151,68,.09); }
.personal-map-wheel-option.is-selected { color:#fff0ce; text-shadow:0 0 18px rgba(229,183,96,.24); }

.personal-map-theme-first-shell { width:min(100%,1180px); }
.personal-map-theme-first-head { max-width:1040px; margin-bottom:22px; text-align:left; }
.personal-map-theme-first-head .premium-atlas-mark { margin-inline:0; }
.personal-map-theme-first-head h2 { max-width:1040px; margin-inline:0; font-size:clamp(44px,5.6vw,72px); }
.personal-map-theme-first-head .lead { max-width:760px; margin-inline:0; }
.personal-map-profile-card-compact { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); margin-bottom:20px; }
.personal-map-theme-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:0 0 24px; }
.personal-map-theme-nav button { min-width:0; min-height:76px; display:grid; grid-template-columns:30px minmax(0,1fr); grid-template-rows:auto auto; column-gap:10px; align-items:center; padding:13px 14px; border:1px solid rgba(213,171,94,.18); border-radius:15px; background:rgba(14,11,8,.7); color:rgba(235,216,179,.78); text-align:left; cursor:pointer; }
.personal-map-theme-nav button > span { grid-row:1/3; display:grid; place-items:center; width:28px; height:28px; color:rgba(224,181,100,.82); font-size:20px; }
.personal-map-theme-nav button strong { color:inherit; font-family:var(--serif); font-size:17px; font-weight:400; }
.personal-map-theme-nav button small { color:rgba(215,198,168,.42); font-size:9px; line-height:1.35; }
.personal-map-theme-nav button.is-active { border-color:rgba(235,190,106,.66); background:linear-gradient(145deg,rgba(102,69,25,.48),rgba(36,26,13,.78)); box-shadow:inset 0 0 0 1px rgba(244,205,130,.14),0 0 24px rgba(198,141,54,.08); color:#f3ddb1; }
.personal-map-theme-first-shell .personal-map-psychomatrix-section { margin-top:0; }
.personal-map-theme-first-shell .personal-map-psychomatrix-main { border-radius:18px; }
.personal-map-theme-first-shell .personal-map-psychomatrix-layout { grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr); gap:14px; }
.personal-map-theme-first-shell .personal-map-psychomatrix-heading h3 { font-size:clamp(27px,2.5vw,36px); }
.personal-map-theme-first-shell .personal-map-psychomatrix { border-radius:12px; overflow:hidden; }
.personal-map-theme-first-shell .personal-map-psy-cell { position:relative; min-height:138px; justify-content:flex-start; padding:16px; }
.personal-map-theme-first-shell .personal-map-psy-cell > strong { min-height:0; padding-right:44px; color:rgba(242,222,183,.94); font-size:clamp(19px,2vw,25px); line-height:1.15; }
.personal-map-theme-first-shell .personal-map-psy-cell.is-empty > strong { color:rgba(242,222,183,.58); }
.personal-map-psy-count { position:absolute; top:14px; right:14px; width:31px; height:31px; display:grid!important; place-items:center; margin:0!important; border:1px solid rgba(223,180,100,.34); border-radius:999px; color:#e7bd70!important; font-family:var(--serif); font-size:16px!important; letter-spacing:0!important; }
.personal-map-theme-first-shell .personal-map-psy-cell > small { margin-top:auto; max-width:18ch; color:rgba(218,202,173,.48); font-size:9px; line-height:1.45; }
.personal-map-theme-first-shell .personal-map-psy-cell.is-selected { background:radial-gradient(circle at 25% 25%,rgba(192,132,45,.23),rgba(31,22,12,.82)); box-shadow:inset 0 0 0 1px rgba(242,196,111,.62),0 0 30px rgba(183,125,43,.1); }
.personal-map-theme-first-shell .personal-map-psy-detail { border-radius:18px; padding:26px; }
.personal-map-psy-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-top:8px; padding-bottom:17px; border-bottom:1px solid rgba(213,171,94,.13); }
.personal-map-psy-detail-head h4 { margin:0; }
.personal-map-psy-detail-subtitle { margin:6px 0 0!important; color:rgba(218,202,173,.54)!important; font-size:11px!important; }
.personal-map-psy-count-badge { flex:0 0 auto; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(231,185,101,.4); border-radius:999px; color:#e7bd70; font-family:var(--serif); font-size:20px; font-weight:400; }
.personal-map-psy-detail-body { display:grid; margin-top:5px; }
.personal-map-psy-detail-body section { display:grid; grid-template-columns:minmax(120px,.36fr) minmax(0,1fr); gap:18px; padding:18px 0; border-top:1px solid rgba(213,171,94,.11); }
.personal-map-psy-detail-body section:first-child { border-top:0; }
.personal-map-psy-detail-body strong { color:rgba(239,221,184,.88); font-family:var(--serif); font-size:17px; font-weight:400; }
.personal-map-psy-detail-body p { margin:0!important; color:rgba(220,204,175,.65)!important; font-size:11px!important; line-height:1.65!important; }
.personal-map-psychomatrix-lines-wrap { border-radius:14px; }

.personal-map-period-explorer { padding:24px; border:1px solid rgba(213,171,94,.18); border-radius:18px; background:linear-gradient(145deg,rgba(27,20,12,.62),rgba(11,9,7,.75)); }
.personal-map-period-head h3 { margin:7px 0 0; color:#efe0bf; font-family:var(--serif); font-size:clamp(25px,3vw,34px); font-weight:400; }
.personal-map-period-head p { margin:8px 0 0; color:rgba(218,202,173,.5); font-size:11px; line-height:1.55; }
.personal-map-period-tabs { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:24px; border-top:1px solid rgba(213,171,94,.18); }
.personal-map-period-tabs button { position:relative; min-width:0; padding:19px 12px 12px; border:0; border-bottom:1px solid rgba(213,171,94,.13); background:transparent; color:rgba(218,202,173,.48); text-align:left; cursor:pointer; }
.personal-map-period-tabs button::before { content:""; position:absolute; top:-5px; left:12px; width:9px; height:9px; border-radius:999px; background:#51493c; box-shadow:0 0 0 4px rgba(11,9,7,1); }
.personal-map-period-tabs button.is-active::before { background:#f0c478; box-shadow:0 0 0 4px rgba(11,9,7,1),0 0 17px rgba(236,184,89,.65); }
.personal-map-period-tabs button strong { display:block; color:inherit; font-family:var(--serif); font-size:16px; font-weight:400; }
.personal-map-period-tabs button span { margin-top:5px; color:inherit; font-size:9px; letter-spacing:0; text-transform:none; }
.personal-map-period-tabs button.is-active { color:#f0d9a9; }
.personal-map-period-detail { min-height:150px; padding:22px 0 0; }
.personal-map-period-detail > span { color:rgba(208,169,96,.58); font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.personal-map-period-detail h4 { margin:8px 0; color:#f0dfbc; font-family:var(--serif); font-size:27px; font-weight:400; }
.personal-map-period-detail p { max-width:850px; margin:0; color:rgba(220,204,175,.62); font-size:11px; line-height:1.65; }
.personal-map-period-detail small { display:block; margin-top:13px; color:rgba(220,204,175,.62); font-size:11px; line-height:1.65; }
.personal-map-secondary-calculations { margin-top:18px; border-top:1px solid rgba(213,171,94,.15); border-bottom:1px solid rgba(213,171,94,.1); }
.personal-map-secondary-calculations > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 0; color:rgba(232,211,171,.7); }
.personal-map-secondary-calculations > summary::-webkit-details-marker { display:none; }
.personal-map-secondary-calculations > summary span { font-family:var(--serif); font-size:17px; }
.personal-map-secondary-calculations > summary small { color:rgba(218,202,173,.36); font-size:9px; }
.personal-map-secondary-body { display:grid; gap:28px; padding:8px 0 24px; }
.personal-map-next-layer-compact { margin-top:28px; }
.personal-map-next-layer-compact h3 { max-width:760px; }

@media (max-width:980px) {
  .personal-map-entry-layout { grid-template-columns:1fr; }
  .personal-map-entry-preview { min-height:0; }
  .personal-map-theme-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .personal-map-theme-nav button:last-child { grid-column:1/-1; }
  .personal-map-theme-first-shell .personal-map-psychomatrix-layout { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .personal-map-entry-card,.personal-map-entry-preview { padding:18px; border-radius:16px; }
  .personal-map-entry-head h2,.personal-map-theme-first-head h2 { font-size:clamp(38px,12vw,54px); }
  .personal-map-date-wheel-head { align-items:flex-start; flex-direction:column; gap:4px; }
  .personal-map-theme-nav { display:flex; gap:8px; overflow-x:auto; padding-bottom:5px; scrollbar-width:none; }
  .personal-map-theme-nav::-webkit-scrollbar { display:none; }
  .personal-map-theme-nav button,.personal-map-theme-nav button:last-child { flex:0 0 180px; grid-column:auto; }
  .personal-map-profile-card-compact { grid-template-columns:1fr; }
  .personal-map-theme-first-shell .personal-map-psy-cell { min-height:112px; padding:11px; }
  .personal-map-theme-first-shell .personal-map-psy-cell > strong { font-size:15px; padding-right:31px; }
  .personal-map-psy-count { width:25px; height:25px; top:9px; right:9px; font-size:13px!important; }
  .personal-map-psy-detail-body section { grid-template-columns:1fr; gap:6px; padding:14px 0; }
  .personal-map-period-explorer { padding:18px; }
  .personal-map-period-tabs { grid-template-columns:repeat(4,minmax(108px,1fr)); overflow-x:auto; }
  .personal-map-period-detail { min-height:170px; }
  .personal-map-secondary-calculations > summary { align-items:flex-start; flex-direction:column; gap:4px; }
}

/* Block 3C.67R6B19D — interaction semantics + matrix connections + typography corrective. */
.personal-map-mode-nav {
  width: min(100%, 760px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 24px;
}
.personal-map-mode-nav button {
  min-width: 0;
  min-height: 70px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(213,171,94,.18);
  border-radius: 15px;
  background: rgba(14,11,8,.7);
  color: rgba(235,216,179,.76);
  text-align: left;
  cursor: pointer;
}
.personal-map-mode-nav button > span {
  grid-row: 1/3;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: rgba(224,181,100,.82);
  font-size: 18px;
}
.personal-map-mode-nav button strong {
  color: inherit;
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 400;
}
.personal-map-mode-nav button small {
  color: rgba(215,198,168,.42);
  font-size: 9px;
  line-height: 1.35;
}
.personal-map-mode-nav button.is-active {
  border-color: rgba(235,190,106,.66);
  background: linear-gradient(145deg,rgba(102,69,25,.48),rgba(36,26,13,.78));
  box-shadow: inset 0 0 0 1px rgba(244,205,130,.14),0 0 24px rgba(198,141,54,.08);
  color: #f3ddb1;
}

.personal-map-theme-first-shell .personal-map-psychomatrix-layout {
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  gap: 14px;
}
.personal-map-theme-first-shell .personal-map-psy-cell {
  transition: opacity .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.personal-map-theme-first-shell .personal-map-psy-cell > strong {
  max-width: calc(100% - 38px);
  padding-right: 0;
  font-size: clamp(16px, 1.55vw, 20px);
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
.personal-map-theme-first-shell .personal-map-psy-cell > small {
  max-width: 20ch;
  font-size: 8.5px;
  line-height: 1.35;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.personal-map-theme-first-shell .personal-map-psy-cell.is-linked {
  opacity: 1;
  background: radial-gradient(circle at 28% 24%,rgba(196,137,48,.28),rgba(31,22,12,.84));
  box-shadow: inset 0 0 0 1px rgba(244,198,112,.72), 0 0 30px rgba(184,126,42,.12);
}
.personal-map-theme-first-shell .personal-map-psy-cell.is-dimmed {
  opacity: .32;
  box-shadow: none;
}
.personal-map-theme-first-shell .personal-map-psy-cell.is-dimmed:hover,
.personal-map-theme-first-shell .personal-map-psy-cell.is-dimmed:focus-visible { opacity: .62; }

.personal-map-connection-controls {
  padding: 18px;
  border: 1px solid rgba(213,171,94,.18);
  border-radius: 18px;
  background: linear-gradient(180deg,rgba(27,20,12,.66),rgba(13,10,7,.72));
}
.personal-map-connection-controls[hidden] { display: none !important; }
.personal-map-connection-controls h4 {
  margin: 7px 0 0;
  color: #efe0bf;
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 400;
}
.personal-map-connection-controls > p {
  margin: 7px 0 0;
  color: rgba(218,202,173,.5);
  font-size: 10px;
  line-height: 1.55;
}
.personal-map-connection-controls .personal-map-psychomatrix-lines {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin-top: 14px;
  padding: 0 0 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(208,169,96,.34) transparent;
}
.personal-map-psy-line-button {
  flex: 0 0 170px;
  min-width: 0;
  min-height: 68px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 11px 12px;
  border: 1px solid rgba(213,171,94,.16);
  border-radius: 12px;
  background: rgba(12,9,7,.58);
  color: rgba(235,216,179,.68);
  text-align: left;
  cursor: pointer;
}
.personal-map-psy-line-button strong {
  color: inherit;
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.15;
}
.personal-map-psy-line-button small {
  color: rgba(215,198,168,.38);
  font-size: 8px;
  line-height: 1.35;
}
.personal-map-psy-line-button.is-active {
  border-color: rgba(235,190,106,.58);
  background: rgba(104,70,26,.36);
  color: #f2d9aa;
}
.personal-map-psy-link-badge {
  flex: 0 0 auto;
  min-width: 48px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0 9px;
  border: 1px solid rgba(231,185,101,.32);
  border-radius: 999px;
  color: rgba(231,189,112,.82);
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 400;
}
.personal-map-theme-first-shell .personal-map-psy-detail h4 {
  font-size: clamp(27px, 2.7vw, 36px);
}
.personal-map-theme-first-shell .personal-map-psy-detail-body strong { font-size: 16px; }
.personal-map-theme-first-shell .personal-map-psy-detail-body p {
  font-size: 10.5px !important;
  line-height: 1.58 !important;
}

@media (max-width: 980px) {
  .personal-map-mode-nav { width: 100%; }
  .personal-map-theme-first-shell .personal-map-psychomatrix-layout { grid-template-columns: 1fr; }
  .personal-map-connection-controls .personal-map-psychomatrix-lines { padding-bottom: 7px; }
}
@media (max-width: 700px) {
  .personal-map-mode-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 5px;
    scrollbar-width: none;
  }
  .personal-map-mode-nav::-webkit-scrollbar { display: none; }
  .personal-map-mode-nav button { flex: 0 0 175px; }
  .personal-map-theme-first-shell .personal-map-psy-cell > strong {
    max-width: calc(100% - 30px);
    font-size: 14px;
    line-height: 1.08;
  }
  .personal-map-theme-first-shell .personal-map-psy-cell > small { font-size: 7.5px; }
  .personal-map-connection-controls { padding: 15px; }
  .personal-map-psy-line-button { flex-basis: 156px; }
}


/* Block 3C.67R6B19E — progressive square → connections → periods + Luna-ready interpretation surface. */
.personal-map-theme-first-shell .personal-map-psychomatrix-section { margin-top: 0; }
.personal-map-theme-first-shell .personal-map-psychomatrix-layout { grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); gap: 14px; }
.personal-map-theme-first-shell .personal-map-psy-cell { display: grid; grid-template-rows: auto 1fr; align-content: stretch; gap: 12px; min-height: 136px; }
.personal-map-psy-cell-head { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.personal-map-theme-first-shell .personal-map-psy-cell-head > strong { min-width: 0; color: rgba(242,222,183,.94); font-family: var(--serif); font-size: clamp(16px,1.45vw,20px); font-weight: 400; line-height: 1.08; overflow-wrap: normal; word-break: normal; hyphens: none; }
.personal-map-theme-first-shell .personal-map-psy-cell.is-empty .personal-map-psy-cell-head > strong { color: rgba(242,222,183,.58); }
.personal-map-theme-first-shell .personal-map-psy-count { position: static; top: auto; right: auto; flex: 0 0 30px; width: 30px; height: 30px; font-size: 14px!important; }
.personal-map-theme-first-shell .personal-map-psy-cell > small { align-self: end; margin-top: 0; max-width: 22ch; }

.personal-map-connections-explorer { padding: 24px; border: 1px solid rgba(213,171,94,.18); border-radius: 18px; background: linear-gradient(145deg,rgba(27,20,12,.62),rgba(11,9,7,.75)); }
.personal-map-connections-head h3 { margin: 7px 0 0; color: #efe0bf; font-family: var(--serif); font-size: clamp(27px,3vw,36px); font-weight: 400; }
.personal-map-connections-head p { max-width: 820px; margin: 8px 0 0; color: rgba(218,202,173,.5); font-size: 11px; line-height: 1.58; }
.personal-map-connections-explorer .personal-map-connection-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-top: 20px; overflow: visible; padding: 0; }
.personal-map-connections-explorer .personal-map-psy-line-button { width: auto; min-width: 0; min-height: 82px; padding: 13px 14px; }
.personal-map-connections-explorer .personal-map-psy-line-button strong { font-size: 15px; line-height: 1.16; }
.personal-map-connections-explorer .personal-map-psy-line-button small { font-size: 8.5px; line-height: 1.4; }
.personal-map-connection-detail { margin-top: 14px; min-height: 0; }
.personal-map-connection-detail .personal-map-psy-detail-body { grid-template-columns: 1fr; }
.personal-map-connection-detail .personal-map-psy-detail-body p { max-width: 900px; }

[data-interpretive-slot] .personal-map-psy-detail-body p,
.personal-map-period-detail[data-interpretive-slot] p { text-wrap: pretty; }

@media (max-width: 980px) {
  .personal-map-theme-first-shell .personal-map-psychomatrix-layout { grid-template-columns: 1fr; }
  .personal-map-connections-explorer .personal-map-connection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .personal-map-connections-explorer { padding: 18px; }
  .personal-map-connections-explorer .personal-map-connection-grid { grid-template-columns: 1fr; }
  .personal-map-theme-first-shell .personal-map-psy-cell { min-height: 108px; padding: 10px; gap: 8px; }
  .personal-map-theme-first-shell .personal-map-psy-cell-head > strong { font-size: 13.5px; }
  .personal-map-theme-first-shell .personal-map-psy-count { flex-basis: 26px; width: 26px; height: 26px; font-size: 12px!important; }
  .personal-map-theme-first-shell .personal-map-psy-cell > small { font-size: 7.5px; }
}


/* Block 3C.67R6B19F — clarity polish: raw psychomatrix digits, no title/count collision, technical math out of the reading flow. */
.personal-map-theme-first-shell .personal-map-psy-cell {
  grid-template-rows: auto 1fr auto;
  min-height: 142px;
}
.personal-map-theme-first-shell .personal-map-psy-cell-head {
  display: block;
  min-width: 0;
}
.personal-map-theme-first-shell .personal-map-psy-cell-head > strong {
  display: block;
  max-width: 100%;
  padding-right: 0;
  font-size: clamp(14px,1.25vw,18px);
  line-height: 1.12;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.personal-map-theme-first-shell .personal-map-psy-count {
  position: static;
  display: none;
}
.personal-map-theme-first-shell .personal-map-psy-cell > small {
  align-self: start;
  margin-top: 0;
  max-width: 20ch;
}
.personal-map-theme-first-shell .personal-map-psy-sequence {
  align-self: end;
  margin-top: 10px;
  color: rgba(235,191,108,.92);
  font-family: var(--serif);
  font-size: clamp(16px,1.55vw,21px);
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .08em;
  white-space: normal;
  overflow-wrap: anywhere;
}
.personal-map-theme-first-shell .personal-map-psy-cell.is-empty .personal-map-psy-sequence {
  color: rgba(218,202,173,.28);
}
.personal-map-calculation-details-secondary {
  margin: 0;
  border-top: 0;
  border-bottom: 1px solid rgba(213,171,94,.10);
  padding-bottom: 16px;
}
.personal-map-calculation-details-secondary summary {
  color: rgba(232,211,171,.58);
}
@media (max-width: 620px) {
  .personal-map-theme-first-shell .personal-map-psy-cell { min-height: 114px; }
  .personal-map-theme-first-shell .personal-map-psy-cell-head > strong { font-size: 13px; }
  .personal-map-theme-first-shell .personal-map-psy-sequence { margin-top: 7px; font-size: 15px; }
}


/* Block 3C.67R6B20A — carry-forward psychomatrix label polish bundled with entitlement continuity. */
.personal-map-theme-first-shell .personal-map-psy-cell-head {
  padding-top: 4px;
}
.personal-map-theme-first-shell .personal-map-psy-cell-head > strong {
  line-height: 1.04;
}
.personal-map-theme-first-shell .personal-map-psy-cell > small {
  margin-top: 6px;
}
.personal-map-theme-first-shell .personal-map-psy-sequence {
  margin-top: 16px;
}
@media (max-width: 620px) {
  .personal-map-theme-first-shell .personal-map-psy-cell-head { padding-top: 2px; }
  .personal-map-theme-first-shell .personal-map-psy-cell > small { margin-top: 4px; }
  .personal-map-theme-first-shell .personal-map-psy-sequence { margin-top: 12px; }
}


/* Block 3C.67R6B20B — explicit title/badge safe-area; provider-stage preparation keeps visible cell hierarchy stable. */
.personal-map-theme-first-shell .personal-map-psy-cell-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) 34px;
  column-gap: 14px;
  align-items: start;
  min-height: 36px;
  padding-top: 0;
}
.personal-map-theme-first-shell .personal-map-psy-cell-head > strong {
  grid-column: 1;
  align-self: start;
  max-width: 100%;
  padding-right: 0;
  line-height: 1.04;
}
.personal-map-theme-first-shell .personal-map-psy-count {
  grid-column: 2;
  grid-row: 1;
  display: inline-flex;
  position: static;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin: 0;
  flex: none;
}
.personal-map-theme-first-shell .personal-map-psy-cell > small { margin-top: 9px; }
.personal-map-theme-first-shell .personal-map-psy-sequence { margin-top: 18px; }
@media (max-width: 620px) {
  .personal-map-theme-first-shell .personal-map-psy-cell-head { grid-template-columns:minmax(0,1fr) 28px; column-gap:9px; min-height:30px; }
  .personal-map-theme-first-shell .personal-map-psy-count { width:26px; height:26px; }
  .personal-map-theme-first-shell .personal-map-psy-cell > small { margin-top:6px; }
  .personal-map-theme-first-shell .personal-map-psy-sequence { margin-top:13px; }
}


/* Block 3C.67R6B20C — restore natural cell composition: title up, count badge back down, raw sequence stays separate. */
.personal-map-theme-first-shell .personal-map-psy-cell-head {
  display: block;
  min-height: 0;
  padding-top: 0;
}
.personal-map-theme-first-shell .personal-map-psy-cell-head > strong {
  display: block;
  max-width: 100%;
  padding-right: 0;
  line-height: 1.04;
  transform: translateY(-5px);
}
.personal-map-theme-first-shell .personal-map-psy-count {
  position: absolute;
  top: 52px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
}
.personal-map-theme-first-shell .personal-map-psy-cell > small {
  margin-top: 0;
  padding-right: 42px;
}
.personal-map-theme-first-shell .personal-map-psy-sequence {
  margin-top: auto;
}
@media (max-width: 620px) {
  .personal-map-theme-first-shell .personal-map-psy-cell-head > strong { transform: translateY(-3px); }
  .personal-map-theme-first-shell .personal-map-psy-count { top: 45px; right: 10px; width: 26px; height: 26px; }
  .personal-map-theme-first-shell .personal-map-psy-cell > small { padding-right: 36px; }
}

/* Block 3C.67R6B21A — staged Personal Map visual rehearsal (NO SPEND). */
.personal-map-rehearsal-stamp {
  display: grid;
  gap: 5px;
  margin: 0 0 22px;
  padding: 12px 14px;
  border: 1px dashed rgba(219, 175, 92, .34);
  border-radius: 12px;
  background: rgba(111, 76, 31, .08);
  color: rgba(222, 192, 134, .68);
  text-align: left;
}
.personal-map-rehearsal-stamp strong {
  color: rgba(241, 211, 153, .90);
  font-size: 8px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.personal-map-rehearsal-stamp span {
  font-size: 10px;
  line-height: 1.55;
}

.personal-map-wait-head { margin-bottom: 18px; }
.personal-map-wait-visual {
  position: relative;
  width: min(58vw, 310px);
  aspect-ratio: 1;
  margin: 22px auto 24px;
  display: grid;
  place-items: center;
  isolation: isolate;
}
.personal-map-wait-grid {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, 28px);
  grid-template-rows: repeat(3, 28px);
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(221, 177, 92, .30);
  border-radius: 22px;
  background: radial-gradient(circle at 50% 45%, rgba(118, 79, 30, .15), rgba(11, 9, 7, .72) 72%);
  box-shadow: 0 0 0 1px rgba(255,255,255,.012) inset, 0 24px 80px rgba(0,0,0,.36), 0 0 48px rgba(173, 116, 41, .08);
  transform: rotate(45deg);
}
.personal-map-wait-grid i {
  position: relative;
  display: block;
  border-radius: 7px;
  border: 1px solid rgba(225, 185, 105, .25);
  background: linear-gradient(145deg, rgba(218, 169, 79, .08), rgba(56, 38, 18, .03));
  box-shadow: 0 0 0 rgba(230, 186, 102, 0);
  animation: personal-map-cell-breathe 3.6s ease-in-out infinite;
}
.personal-map-wait-grid i:nth-child(2), .personal-map-wait-grid i:nth-child(6), .personal-map-wait-grid i:nth-child(8) { animation-delay: -.9s; }
.personal-map-wait-grid i:nth-child(3), .personal-map-wait-grid i:nth-child(5), .personal-map-wait-grid i:nth-child(7) { animation-delay: -1.8s; }
.personal-map-wait-grid i:nth-child(4), .personal-map-wait-grid i:nth-child(9) { animation-delay: -2.7s; }
.personal-map-wait-orbit {
  position: absolute;
  inset: 13%;
  z-index: 1;
  border: 1px solid rgba(218, 173, 91, .20);
  border-radius: 50%;
  box-shadow: 0 0 42px rgba(164, 111, 42, .05) inset;
}
.personal-map-wait-orbit::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  top: -4px;
  left: 50%;
  margin-left: -3px;
  border-radius: 50%;
  background: rgba(244, 208, 138, .92);
  box-shadow: 0 0 10px rgba(244, 208, 138, .8), 0 0 32px rgba(202, 144, 52, .35);
}
.personal-map-wait-orbit-a { animation: personal-map-orbit 8.8s linear infinite; }
.personal-map-wait-orbit-b { inset: 23%; opacity: .52; animation: personal-map-orbit-reverse 6.4s linear infinite; }
.personal-map-wait-thread {
  position: absolute;
  z-index: 2;
  width: 84%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(235, 195, 118, .12), rgba(247, 215, 151, .72), rgba(235, 195, 118, .12), transparent);
  box-shadow: 0 0 12px rgba(222, 174, 86, .18);
  animation: personal-map-thread 4.2s ease-in-out infinite;
}
.personal-map-wait-spark {
  position: absolute;
  z-index: 5;
  color: rgba(239, 199, 119, .56);
  font-size: 12px;
  text-shadow: 0 0 14px rgba(225, 168, 68, .34);
  animation: personal-map-spark 3.4s ease-in-out infinite;
}
.personal-map-wait-spark-a { left: 11%; top: 31%; }
.personal-map-wait-spark-b { right: 12%; bottom: 29%; animation-delay: -1.7s; }
.personal-map-wait-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: min(100%, 760px);
  margin: 0 auto 22px;
}
.personal-map-wait-stage {
  display: grid;
  gap: 7px;
  min-height: 82px;
  padding: 14px 13px;
  border-top: 1px solid rgba(216, 174, 94, .13);
  opacity: .34;
  transition: opacity .25s ease, border-color .25s ease, transform .25s ease;
}
.personal-map-wait-stage span {
  color: rgba(213, 169, 88, .52);
  font-family: var(--serif);
  font-size: 10px;
}
.personal-map-wait-stage strong {
  color: rgba(232, 213, 178, .72);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.45;
}
.personal-map-wait-stage.is-active {
  opacity: 1;
  border-color: rgba(231, 186, 101, .52);
  transform: translateY(-2px);
}
.personal-map-wait-stage.is-complete {
  opacity: .68;
  border-color: rgba(214, 175, 104, .26);
}
.personal-map-wait-stage.is-complete span::after { content: " · готово"; font-family: var(--sans); font-size: 7px; letter-spacing: .06em; text-transform: uppercase; }

.personal-map-sol-full-screen,
.personal-map-synthesis-screen { padding-block: clamp(34px, 6vw, 76px); }
.personal-map-sol-full-shell,
.personal-map-synthesis-shell { width: min(100%, 1080px); margin: 0 auto; }
.personal-map-sol-pattern-grid,
.personal-map-synthesis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.personal-map-sol-pattern-card,
.personal-map-synthesis-card {
  min-height: 190px;
  padding: 22px;
  border: 1px solid rgba(213, 171, 94, .16);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(35, 27, 18, .54), rgba(11, 9, 7, .82));
}
.personal-map-sol-pattern-card > span,
.personal-map-synthesis-card > span {
  display: block;
  margin-bottom: 9px;
  color: rgba(210, 166, 84, .55);
  font-size: 8px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.personal-map-sol-pattern-card h4,
.personal-map-synthesis-card h4 {
  margin: 0 0 10px;
  color: rgba(240, 222, 185, .91);
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 400;
  line-height: 1.15;
}
.personal-map-sol-pattern-card p,
.personal-map-synthesis-card p {
  margin: 0;
  color: rgba(221, 205, 176, .62);
  font-size: 11px;
  line-height: 1.72;
}
.personal-map-synthesis-tension-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#personalMapSynthesisTensionsSection.is-hidden,
#personalMapSynthesisFooter.is-hidden,
#personalMapSynthesisPdfFinal.is-hidden {
  display:none !important;
}

@keyframes personal-map-orbit { to { transform: rotate(360deg); } }
@keyframes personal-map-orbit-reverse { to { transform: rotate(-360deg); } }
@keyframes personal-map-thread {
  0%,100% { opacity: .24; transform: rotate(-8deg) scaleX(.78); }
  50% { opacity: .9; transform: rotate(8deg) scaleX(1); }
}
@keyframes personal-map-spark { 0%,100% { opacity: .22; transform: scale(.8); } 50% { opacity: .9; transform: scale(1.15); } }
@keyframes personal-map-cell-breathe {
  0%,100% { border-color: rgba(225, 185, 105, .18); box-shadow: 0 0 0 rgba(230, 186, 102, 0); }
  50% { border-color: rgba(235, 196, 119, .48); box-shadow: 0 0 18px rgba(213, 157, 65, .10); }
}

@media (prefers-reduced-motion: reduce) {
  .personal-map-wait-grid i,
  .personal-map-wait-orbit,
  .personal-map-wait-thread,
  .personal-map-wait-spark { animation: none !important; }
}

@media (max-width: 760px) {
  .personal-map-wait-visual { width: min(72vw, 270px); margin-top: 12px; }
  .personal-map-wait-stages { grid-template-columns: 1fr; gap: 0; }
  .personal-map-wait-stage { min-height: 0; grid-template-columns: 26px 1fr; align-items: center; gap: 8px; padding: 10px 5px; }
  .personal-map-wait-stage strong { font-size: 10px; }
  .personal-map-sol-pattern-grid,
  .personal-map-synthesis-grid,
  .personal-map-synthesis-tension-grid { grid-template-columns: 1fr; }
}

/* Block 3C.67R6B21D — numerology bridge CTA hierarchy polish. */
.numerology-bridge-actions {
  gap: 12px;
  margin-top: 4px;
}
.numerology-bridge-actions [data-action="numerology-bridge-interest"] {
  min-height: 64px;
  height: auto;
  margin-top: 0;
  padding: 0 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(239, 200, 117, .52);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 0%, rgba(244, 207, 126, .16), transparent 68%),
    linear-gradient(135deg, rgba(112, 79, 36, .72), rgba(45, 31, 17, .92));
  box-shadow:
    0 16px 36px rgba(0, 0, 0, .28),
    0 0 24px rgba(194, 143, 62, .07),
    inset 0 1px 0 rgba(255, 237, 198, .12);
  color: rgba(250, 235, 203, .98);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: .01em;
  text-align: center;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.numerology-bridge-actions [data-action="numerology-bridge-interest"]:hover {
  transform: translateY(-1px);
  border-color: rgba(244, 207, 126, .72);
  background:
    radial-gradient(circle at 50% 0%, rgba(244, 207, 126, .21), transparent 70%),
    linear-gradient(135deg, rgba(126, 89, 40, .78), rgba(51, 35, 18, .94));
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .32),
    0 0 30px rgba(210, 158, 73, .10),
    inset 0 1px 0 rgba(255, 239, 202, .14);
}
.numerology-bridge-actions [data-action="numerology-bridge-interest"]:focus-visible {
  outline: 2px solid rgba(239, 200, 117, .66);
  outline-offset: 3px;
}
.numerology-bridge-actions [data-action="numerology-bridge-continue"] {
  min-height: 50px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(216, 175, 92, .22);
  border-radius: 10px;
  background: rgba(255, 244, 218, .025);
  color: rgba(231, 214, 182, .72);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 520;
  line-height: 1.35;
  letter-spacing: .015em;
  text-align: center;
  transition: transform 180ms ease, color 180ms ease, border-color 180ms ease, background 180ms ease;
}
.numerology-bridge-actions [data-action="numerology-bridge-continue"]:hover {
  transform: translateY(-1px);
  border-color: rgba(216, 175, 92, .38);
  background: rgba(255, 244, 218, .045);
  color: rgba(242, 225, 193, .9);
}
.numerology-bridge-actions [data-action="numerology-bridge-continue"]:active {
  transform: translateY(0) scale(.99);
}
.numerology-bridge-actions [data-action="numerology-bridge-continue"]:focus-visible {
  outline: 1px solid rgba(216, 175, 92, .52);
  outline-offset: 3px;
}
@media (max-width: 720px) {
  .numerology-bridge-actions [data-action="numerology-bridge-interest"] {
    min-height: 62px;
    padding: 0 18px;
    font-size: 13px;
  }
  .numerology-bridge-actions [data-action="numerology-bridge-continue"] {
    min-height: 48px;
    padding: 0 14px;
    font-size: 11px;
  }
}

/* Block 3C.67R6B22A - final synthesis PDF culmination + user-facing copy cleanup. */
.personal-map-synthesis-pdf-final {
  position: relative;
  overflow: hidden;
  margin-top: clamp(34px,6vw,64px);
  padding: clamp(28px,5vw,46px);
  border: 1px solid rgba(213,171,94,.24);
  border-radius: 22px;
  background: radial-gradient(circle at 82% 18%, rgba(199,147,67,.13), transparent 34%), linear-gradient(145deg, rgba(26,18,10,.96), rgba(8,7,5,.98));
  box-shadow: 0 28px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(239,205,139,.05);
}
.personal-map-synthesis-pdf-final::before { content:""; position:absolute; inset:0; background:url("./assets/palm-guide-atlas-gold-v1.png") right -70px center / 430px auto no-repeat; opacity:.10; pointer-events:none; }
.personal-map-synthesis-pdf-final::after { content:"1 2 3\A4 5 6\A7 8 9"; white-space:pre; position:absolute; right:5%; top:12%; color:rgba(213,171,94,.07); font-family:Georgia,serif; font-size:38px; line-height:1.65; letter-spacing:.48em; pointer-events:none; }
.personal-map-synthesis-pdf-final > * { position:relative; z-index:1; }
.personal-map-synthesis-pdf-final .premium-atlas-mark { margin-bottom:16px; }
.personal-map-synthesis-pdf-final .eyebrow { margin-bottom:18px; }
.personal-map-synthesis-pdf-final .printable-pdf-download { width:min(100%,680px); min-height:74px; margin-top:0; border-color:rgba(225,181,100,.42); background:linear-gradient(135deg,rgba(65,43,20,.94),rgba(34,24,14,.96)); box-shadow:0 18px 40px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,223,158,.10); }
.personal-map-synthesis-pdf-final .printable-pdf-download:hover:not(:disabled), .personal-map-synthesis-pdf-final .printable-pdf-download:focus-visible:not(:disabled) { transform:translateY(-1px); border-color:rgba(239,196,112,.72); box-shadow:0 22px 46px rgba(0,0,0,.30),0 0 0 1px rgba(239,196,112,.12) inset; }
.personal-map-synthesis-pdf-final .printable-pdf-copy strong { font-size:clamp(15px,2vw,18px); letter-spacing:.01em; }
@media (max-width:720px) { .personal-map-synthesis-pdf-final { border-radius:18px; padding:24px 20px; } .personal-map-synthesis-pdf-final::before { background-size:320px auto; right:-110px; } .personal-map-synthesis-pdf-final::after { font-size:28px; right:1%; opacity:.7; } .personal-map-synthesis-pdf-final .printable-pdf-download { min-height:68px; } }

/* Block 3C.67R6B23F3 — one complete synthesis page + bottom PDF culmination. */
.personal-map-synthesis-tensions-final { margin-bottom: clamp(34px, 5vw, 58px); }
.personal-map-synthesis-screen .personal-map-synthesis-pdf-final { margin-top: clamp(34px, 5vw, 58px); }

.personal-map-page-transition {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(104, 70, 27, .24), transparent 24%),
    rgba(7, 6, 5, .94);
  transition: opacity 240ms ease, visibility 0s linear 240ms;
}
.personal-map-page-transition.is-active {
  visibility: visible;
  opacity: 1;
  transition: opacity 220ms ease;
}
.personal-map-page-transition-thread {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(76vw, 760px);
  height: 1px;
  opacity: .2;
  transform: translate(-50%, -50%) scaleX(.18);
  background: linear-gradient(90deg, transparent, rgba(232,190,108,.36), rgba(249,218,155,.96), rgba(232,190,108,.36), transparent);
  box-shadow: 0 0 18px rgba(229,178,83,.32);
  transition: transform 560ms cubic-bezier(.2,.8,.2,1), opacity 360ms ease;
}
.personal-map-page-transition-sigil {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(224,179,95,.32);
  border-radius: 50%;
  color: rgba(245,211,143,.94);
  font-size: 18px;
  opacity: .55;
  transform: scale(.82) rotate(-18deg);
  box-shadow: 0 0 38px rgba(195,132,39,.10), inset 0 0 24px rgba(195,132,39,.06);
  transition: transform 560ms cubic-bezier(.2,.8,.2,1), opacity 360ms ease;
}
.personal-map-page-transition.is-active .personal-map-page-transition-thread { opacity: .92; transform: translate(-50%, -50%) scaleX(1); }
.personal-map-page-transition.is-active .personal-map-page-transition-sigil { opacity: 1; transform: scale(1) rotate(0deg); }
.personal-map-page-transition[data-direction="back"] .personal-map-page-transition-sigil { transform: scale(.82) rotate(18deg); }
.personal-map-page-transition.is-active[data-direction="back"] .personal-map-page-transition-sigil { transform: scale(1) rotate(0deg); }

@media (prefers-reduced-motion: reduce) {
  .personal-map-page-transition,
  .personal-map-page-transition-thread,
  .personal-map-page-transition-sigil { transition: none !important; }
}

/* Block 3C.67R6B23M — compact linked upsells: one idea, one sentence, one CTA. */
.sales-modal-source-copy { display: none !important; }
.second-hand-context-panel { width:min(620px,100%); max-height:min(78svh,620px); padding:28px 30px 24px; }
.second-hand-context-panel .second-hand-narrative-bridge h3 { font-size:clamp(22px,3vw,30px); line-height:1.08; margin-bottom:10px; }
.second-hand-context-panel .second-hand-narrative-bridge p { font-size:14px; line-height:1.55; }
.second-hand-context-panel .second-hand-upsell-price { margin-top:18px; }
.numerology-bridge-card { width:min(560px,100%); max-height:min(78vh,620px); padding:clamp(22px,4vw,34px); }
.numerology-bridge-card h3 { font-size:clamp(24px,3.8vw,34px); line-height:1.08; margin:8px 0 12px; }
.numerology-bridge-card p { line-height:1.55; margin-bottom:10px; }
.numerology-bridge-price { margin:16px 0 14px; }
.personal-map-offer-card { width:min(100%,580px); padding:clamp(22px,4vw,34px); }
.personal-map-offer-card h3 { font-size:clamp(24px,3.8vw,34px); line-height:1.08; }
@media (max-width:760px) {
  .second-hand-context-panel,.numerology-bridge-card,.personal-map-offer-card { padding:22px 18px 18px; }
}

/* POST_FREEZE_UPSELL_VISUAL_REFERENCE_CORRECTIVE_V2
 * Root cause: the first visual unification used the later Personal Map offer
 * instead of the owner-accepted pre-comparison +249 numerology bridge as the
 * visual authority. Only the +59 contextual offer is adapted here. The +249
 * numerology bridge itself remains unchanged.
 */
.second-hand-context-modal {
  padding: 22px;
  background: rgba(3, 2, 1, .78);
  backdrop-filter: blur(12px);
}
.second-hand-context-backdrop {
  background: transparent;
  backdrop-filter: none;
}
.second-hand-context-panel {
  position: relative;
  width: min(560px, 100%);
  max-height: min(78vh, 620px);
  overflow: auto;
  margin: 0;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid rgba(216, 175, 92, .36);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 0%, rgba(216, 175, 92, .11), transparent 44%),
    linear-gradient(150deg, rgba(24, 18, 10, .985), rgba(10, 8, 5, .99));
  box-shadow: 0 34px 110px rgba(0, 0, 0, .58), inset 0 0 0 1px rgba(255, 235, 194, .025);
  color: rgba(244, 229, 199, .9);
}
.second-hand-context-panel::after {
  display: none;
}
.second-hand-context-close {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(216, 175, 92, .28);
  border-radius: 999px;
  background: rgba(255, 255, 255, .025);
  color: rgba(244, 229, 199, .8);
  cursor: pointer;
  font-size: 22px;
}
.second-hand-context-panel .second-hand-narrative-bridge h3 {
  margin: 8px 0 12px;
  color: #f4ddaf;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(24px, 3.8vw, 34px);
  line-height: 1.08;
}
.second-hand-context-panel .second-hand-narrative-bridge p {
  margin: 0 0 10px;
  color: rgba(235, 220, 192, .76);
  font-size: 14px;
  line-height: 1.55;
}
.second-hand-context-panel .second-hand-upsell-price {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin: 16px 0 14px;
  padding-top: 0;
  border-top: 0;
}
.second-hand-context-panel .second-hand-upsell-price strong {
  color: #efc875;
  font-family: inherit;
  font-size: 26px;
  font-weight: 700;
  white-space: nowrap;
}
.second-hand-context-panel .second-hand-upsell-price span {
  max-width: 46ch;
  color: rgba(222, 203, 169, .62);
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: normal;
}
.second-hand-context-panel .second-hand-upsell-cta {
  min-height: 64px;
  height: auto;
  margin-top: 0;
  padding: 0 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(239, 200, 117, .52);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 0%, rgba(244, 207, 126, .16), transparent 68%),
    linear-gradient(135deg, rgba(112, 79, 36, .72), rgba(45, 31, 17, .92));
  box-shadow:
    0 16px 36px rgba(0, 0, 0, .28),
    0 0 24px rgba(194, 143, 62, .07),
    inset 0 1px 0 rgba(255, 237, 198, .12);
  color: rgba(250, 235, 203, .98);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: .01em;
  text-align: center;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.second-hand-context-panel .second-hand-upsell-cta:hover {
  transform: translateY(-1px);
  border-color: rgba(244, 207, 126, .72);
  background:
    radial-gradient(circle at 50% 0%, rgba(244, 207, 126, .21), transparent 70%),
    linear-gradient(135deg, rgba(126, 89, 40, .78), rgba(51, 35, 18, .94));
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .32),
    0 0 30px rgba(210, 158, 73, .10),
    inset 0 1px 0 rgba(255, 239, 202, .14);
}
.second-hand-context-panel .second-hand-upsell-cta:focus-visible {
  outline: 2px solid rgba(239, 200, 117, .66);
  outline-offset: 3px;
}
.second-hand-context-panel .second-hand-context-decline {
  min-height: 50px;
  width: 100%;
  margin-top: 12px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(216, 175, 92, .22);
  border-radius: 10px;
  background: rgba(255, 244, 218, .025);
  color: rgba(231, 214, 182, .72);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 520;
  line-height: 1.35;
  letter-spacing: .015em;
  text-align: center;
  transition: transform 180ms ease, color 180ms ease, border-color 180ms ease, background 180ms ease;
}
.second-hand-context-panel .second-hand-context-decline:hover {
  transform: translateY(-1px);
  border-color: rgba(216, 175, 92, .38);
  background: rgba(255, 244, 218, .045);
  color: rgba(242, 225, 193, .9);
}
.second-hand-context-panel .second-hand-context-decline:active {
  transform: translateY(0) scale(.99);
}
.second-hand-context-panel .second-hand-context-decline:focus-visible {
  outline: 1px solid rgba(216, 175, 92, .52);
  outline-offset: 3px;
}
@media (max-width: 720px) {
  .second-hand-context-modal {
    padding: 10px;
    align-items: end;
  }
  .second-hand-context-panel {
    width: 100%;
    max-height: 90vh;
    padding: 22px 18px 18px;
    border-radius: 24px 24px 18px 18px;
  }
  .second-hand-context-panel .second-hand-upsell-cta {
    min-height: 62px;
    padding: 0 18px;
    font-size: 13px;
  }
  .second-hand-context-panel .second-hand-context-decline {
    min-height: 48px;
    padding: 0 14px;
    font-size: 11px;
  }
}

/* POST_FREEZE_UPSELL_REFERENCE_REFINEMENT_V4
 * Owner corrective after V3 overreach. The accepted V2 +249 geometry and
 * scale are restored byte-for-byte above. Only the heading's font character
 * is aligned with the accepted +59 heading: family, weight, letter-spacing.
 * No size, line-height, margin, card geometry, price row or action geometry
 * is changed here.
 */
.numerology-bridge-card h3 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.024em;
}
