@font-face {
  font-family: Amagro;
  src: url("../fonts/Amagro-bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: Onest;
  src: url("../fonts/Onest-Medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: Onest;
  src: url("../fonts/Onest-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

:root {
  --ink: #12062a;
  --muted: #9298ba;
  --purple: #b78ece;
  --pink: #f8b1d8;
  --line: #f2f4f7;
  --shadow: 0 2px 20px rgba(183, 142, 206, 0.28);
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: Onest, "Segoe UI", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.45;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { max-width: 100%; display: block; }

.wrap {
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
}

.site-header { padding: 22px 0 8px; }
.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
}
.logo {
  display: inline-flex;
  justify-self: start;
  color: #12062a;
}
.logo-words {
  display: flex;
  flex-direction: column;
  width: 300px;
  gap: 7px;
}
.logo-words b,
.logo-words small {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
  margin: 0;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
}
.logo-words b {
  font-family: Amagro, Onest, sans-serif;
  font-size: 26px;
  color: #12062a;
}
.logo-words .logo-lite,
.logo-words small { color: #b78ece; }
.logo-words small { font-size: 20px; }
.logo-words small i {
  width: 0.42em;
  flex: none;
}
.nav {
  display: flex;
  justify-content: center;
  gap: 42px;
}
.nav a, .footer-nav a {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.nav a[aria-current="page"], .footer-nav a[aria-current="page"] { color: var(--purple); }
.login {
  justify-self: end;
  padding: 8px 26px;
  border: 1px solid var(--purple);
  border-radius: 30px;
  color: var(--purple);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.login:hover, .btn:hover, .round:hover { background: var(--purple); color: #fff; }
.nav-toggle {
  display: none;
  border: 0;
  background: transparent;
  padding: 8px;
}

.page { padding: 28px 0 72px; }
h1 {
  margin: 0 0 14px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}
h1 span { color: var(--purple); text-transform: none; }
.crumbs { margin: 0 0 22px; color: var(--muted); }
.crumbs a { color: var(--muted); }
.lede { max-width: 820px; margin: 0 0 28px; font-size: 18px; }

.date-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 8px 0 28px;
  padding: 22px 28px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow);
}
.date-bar p { margin: 4px 0 0; }
.date-bar strong { color: var(--purple); font-weight: 700; }
.fields { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.fields[hidden],
.pair-tag[hidden],
.pair-help[hidden],
.journal-row[hidden],
.journal-hero[hidden] { display: none !important; }
.fields input[type="number"],
.fields input[inputmode="numeric"] {
  width: 132px;
  height: 52px;
  padding: 0 16px;
  border: 1px solid var(--muted);
  border-radius: 8px;
  text-align: center;
  background: #fff;
}
.fields input:focus { outline: 2px solid rgba(183, 142, 206, 0.45); border-color: var(--purple); }
.fields input:-webkit-autofill,
.fields input:-webkit-autofill:hover,
.fields input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 40px #fdf3d3 inset;
  box-shadow: 0 0 0 40px #fdf3d3 inset;
  -webkit-text-fill-color: var(--ink);
  border-color: #e3b23c;
}
.fields input:autofill { background: #fdf3d3; }
.switch {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: 8px;
  color: #3c3358;
}
.switch input { order: 2; }
.hand-name { order: 1; }
.hand-left { display: none; }
.switch input:not(:checked) ~ .hand-right { display: none; }
.switch input:not(:checked) ~ .hand-left { display: inline; }
.switch input {
  appearance: none;
  width: 52px;
  height: 28px;
  border-radius: 99px;
  background: #e7e4ef;
  position: relative;
  cursor: pointer;
}
.switch input::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.15s ease;
}
.switch input:checked { background: var(--purple); }
.switch input:checked::after { transform: translateX(24px); }
.btn {
  height: 52px;
  padding: 0 28px;
  border-radius: 8px;
  border: 2px solid var(--purple);
  background: #fff;
  color: var(--purple);
  font-weight: 700;
  cursor: pointer;
}
.error { color: #b4234a; min-height: 1.2em; margin: -12px 0 16px; }
.fields input.is-invalid { border-color: #b4234a; background: #fff6f8; }
.fields input.is-invalid:focus { outline-color: rgba(180, 35, 74, 0.3); border-color: #b4234a; }
.btn.is-loading,
.btn.is-loading:hover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #fff;
  color: var(--purple);
  cursor: progress;
}
.btn.is-loading::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: btn-spin 0.7s linear infinite;
}
@keyframes btn-spin { to { transform: rotate(360deg); } }
.fields input[type="text"]:not([inputmode="numeric"]) {
  width: 180px;
  height: 52px;
  padding: 0 16px;
  border: 1px solid var(--muted);
  border-radius: 8px;
  background: #fff;
}
.date-bar.stack { flex-direction: column; align-items: stretch; }
.prof-who { margin: 0 0 8px; color: #3c3358; }
.prof-nums { margin: 0 0 18px; color: var(--ink); font-weight: 700; }
.reading h3 {
  margin: 18px 0 8px;
  color: #6d4b8a;
  font-size: 18px;
  text-align: left;
  text-transform: none;
}
.pyth-grid, .matrix-board, .energy-row {
  display: grid;
  gap: 10px;
  margin: 8px 0 16px;
}
.pyth-grid, .matrix-board { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.energy-row { grid-template-columns: repeat(9, minmax(0, 1fr)); }
.pyth-cell, .matrix-cell, .energy-cell {
  padding: 12px 10px;
  border-radius: 14px;
  background: #f7f4fb;
  text-align: center;
}
.pyth-cell b, .energy-cell b {
  display: block;
  color: var(--ink);
  font-size: 22px;
  letter-spacing: 0.06em;
}
.pyth-works, .pyth-scores {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
}
.pyth-works { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pyth-scores { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pyth-works div, .pyth-score {
  padding: 10px 8px;
  border: 1px solid #eadff3;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}
.pyth-works b, .pyth-score b {
  display: block;
  color: #6d4b8a;
  font-size: 22px;
  line-height: 1.1;
}
.pyth-works span, .pyth-score span { color: #3c3358; font-size: 12px; line-height: 1.3; }
.pyth-score i { display: block; color: #8a6eaa; font-style: normal; font-size: 11px; }
.pyth-works .fate { background: #f8e7a4; border-color: #e3d08a; }
.pyth-works .fate b { color: #6a5210; }
.pyth-cell.is-empty { background: #fff; border: 1px dashed #d7c4ea; }
.pyth-cell.is-empty b { color: #b7a6cc; letter-spacing: 0; font-size: 18px; }
.pyth-mark {
  display: grid;
  flex: none;
  place-items: center;
  min-width: 54px;
  height: 46px;
  padding: 0 12px;
  white-space: nowrap;
  border: 2px solid #b78ece;
  border-radius: 14px;
  background: #f6effb;
  color: #6d4b8a;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.pyth-stack { display: grid; gap: 12px; }
.pyth-cell {
  display: block;
  text-align: center;
  background: #fff;
  border: 1px solid #eadff3;
}
.pyth-mark.wide { min-width: 64px; font-size: 18px; }
.arc-face, .arc-thumb, .arc-tile-img, .arc-mini {
  object-fit: cover;
  object-position: top;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(40, 16, 60, 0.12);
}
.arc-face { width: 74px; height: 130px; flex: none; }
.arc-thumb { width: 42px; height: 74px; border-radius: 5px; box-shadow: none; }
.arc-row {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  margin: 4px 0 18px;
  padding: 2px 2px 8px;
}
.arc-tile { flex: 0 0 108px; margin: 0; text-align: center; }
.arc-tile-img { width: 108px; height: 164px; border-radius: 10px; }
.arc-tile figcaption { margin-top: 6px; }
.arc-tile figcaption b { display: block; color: #3a2158; font-size: 13px; line-height: 1.25; }
.arc-tile figcaption span { color: #6d4b8a; font-size: 12px; }
.mx-health article { grid-template-columns: minmax(78px, 96px) 1fr; }
.pair-tag {
  align-self: center;
  padding: 6px 14px;
  border-radius: 999px;
  background: #f3e9fb;
  color: #6b3f93;
  font-size: 13px;
  font-weight: 600;
}
.pr-top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 0 18px;
}
.pr-score {
  padding: 18px 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, #b78ece, #8f66ad);
  color: #fff;
  text-align: center;
}
.pr-score b { display: block; font-size: 30px; line-height: 1.1; }
.pr-score span { display: block; margin-top: 6px; font-size: 13px; opacity: .85; }
.pr-score.pr-soft { background: #f6f0fb; color: #12062a; }
.pr-score.pr-soft span { opacity: .6; }
.pr-people {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.pr-person {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid #eadff3;
  background: #fff;
}
.pr-person h4 { margin: 4px 0 12px; font-size: 18px; }
.pr-person dl { margin: 0; }
.pr-person dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  border-top: 1px solid #f3edf8;
}
.pr-person dt { color: #7a6b8a; font-size: 14px; }
.pr-person dd { margin: 0; font-weight: 600; font-size: 14px; text-align: right; }
.pr-map { display: grid; gap: 10px; }
.pr-row {
  display: grid;
  grid-template-columns: 150px 1fr 120px;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #eadff3;
  background: #fff;
}
.pr-name b { display: block; font-size: 15px; }
.pr-name span { font-size: 12px; color: #8b7b9b; }
.pr-bars { display: grid; gap: 6px; }
.pr-bar {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 8px;
  height: 18px;
}
.pr-bar i {
  display: block;
  height: 10px;
  border-radius: 999px;
  background: #d28ab8;
  min-width: 2px;
}
.pr-bar.is-him i { background: #7fa6d8; }
.pr-bar em { font-style: normal; font-size: 12px; font-weight: 600; min-width: 34px; text-align: right; }
.pr-bar u { text-decoration: none; font-size: 11px; color: #8b7b9b; min-width: 22px; }
.pr-bar::before {
  content: "";
  position: absolute;
  left: 0;
  right: 64px;
  height: 10px;
  border-radius: 999px;
  background: #f2ecf7;
}
.pr-bar i { position: relative; }
.pr-tag {
  font-size: 12px;
  color: #6b3f93;
  text-align: right;
}
.pr-tag span { display: block; font-size: 17px; font-weight: 700; color: #12062a; }
.pr-row.is-both { border-color: #cfe6c6; background: #f7fcf5; }
.pr-row.is-gap { border-color: #f0d6a8; background: #fdf8ee; }
.pr-row.is-none { border-color: #e6d4d4; background: #fbf6f6; }
.pr-card.is-both { border-left: 4px solid #8fbf72; }
.pr-card.is-even { border-left: 4px solid #b78ece; }
.pr-card.is-gap { border-left: 4px solid #e3b35a; }
.pr-age { margin: 0 0 10px; color: #7a6b8a; font-size: 13px; }
.pr-note { margin-top: 10px; color: #7a6b8a; font-size: 13px; line-height: 1.5; }
.pr-duo {
  display: grid;
  grid-template-columns: minmax(160px, 205px) minmax(0, 1fr) minmax(160px, 205px);
  grid-template-areas: "she . he" "sidea art sideb";
  column-gap: 12px;
  align-items: center;
  margin: 0 0 18px;
}
.pr-duo-label-she { grid-area: she; margin: 0 0 6px; }
.pr-duo-label-he { grid-area: he; margin: 0 0 6px; }
.pr-duo-she { grid-area: sidea; }
.pr-duo-he { grid-area: sideb; }
.pr-duo-side { display: flex; flex-direction: column; gap: 6px; }
.pr-duo-cell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid #eee6f4;
  border-left: 3px solid var(--c);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(120, 90, 160, 0.06);
}
.pr-duo-cell span { min-width: 0; }
.pr-duo-cell b { display: block; color: #2f2840; font-size: 14px; font-weight: 600; line-height: 1.25; }
.pr-duo-cell small { display: block; color: #8a7fa3; font-size: 11.5px; line-height: 1.3; }
.pr-duo-cell em { flex: none; color: var(--c); font-size: 17px; font-style: normal; font-weight: 700; }
.pr-duo-art { grid-area: art; position: relative; }
.pr-duo-art img { display: block; width: 100%; height: auto; }
.pr-duo-give {
  position: absolute;
  left: 53.2%;
  padding: 3px 10px;
  border: 1.5px solid var(--c);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--c);
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}
@media (max-width: 900px) {
  .pr-duo {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "art art" "she he" "sidea sideb";
    align-items: start;
  }
  .pr-duo-art { margin-bottom: 10px; }
}
@media (max-width: 640px) {
  .pr-duo { column-gap: 8px; }
  .pr-duo-cell { padding: 6px 8px; }
  .pr-duo-cell b { font-size: 13px; }
  .pr-duo-cell small { font-size: 10.5px; }
  .pr-duo-cell em { font-size: 15px; }
  .pr-duo-give { padding: 2px 6px; font-size: 9.5px; border-width: 1px; }
}
.pr-scale {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin: 8px 0 22px;
  padding-top: 16px;
  color: #8b7b9b;
  font-size: 12px;
}
.pr-scale i {
  position: absolute;
  top: 0;
  left: 0;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #b78ece, #8f66ad);
}
.pr-scale::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  border-radius: 999px;
  background: #f2ecf7;
}
.pr-dates {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.pr-dates li {
  padding: 12px 10px;
  border: 1px solid #eadff3;
  border-radius: 14px;
  background: #fff;
  text-align: center;
}
.pr-dates b { display: block; color: #6d4b8a; font-size: 16px; }
.pr-dates span { color: #7a6b8a; font-size: 12px; }
.pair-help {
  margin: 8px 0 28px;
  padding: 18px 20px 8px;
  border-radius: 18px;
  background: #faf7fd;
  border: 1px solid #eadff3;
}
.pair-help h2 { margin: 0 0 8px; font-size: 22px; }
.pair-help details { margin: 0 0 8px; }
.pair-help summary { cursor: pointer; color: #6d4b8a; font-weight: 600; }
.pair-help p { margin: 8px 0 12px; color: #3c3358; }
.pyth-gift {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fdf6e6;
  border-left: 4px solid #e3c35a;
}
.pyth-gift b { color: #8a6a14; }
.mx-cards-read { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.mx-cards-read li { padding: 10px 12px; border-radius: 12px; background: #faf7fd; }
.mx-cards-read b { color: #3a2158; font-size: 14px; }
.mx-cards-read i { display: block; margin: 2px 0 6px; color: #8a6eaa; font-style: normal; font-size: 12px; }
.mx-cards-read span { display: block; margin-top: 4px; color: #3c3358; font-size: 13px; line-height: 1.45; }
.mx-zone-about { margin: 0 0 10px; color: #3a2158; }
.mx-zone-how { margin: 0 0 10px; color: #3c3358; }
.mx-zone-pair { margin: 0 0 10px; }
.mx-zone-plus, .mx-zone-minus { margin-top: 8px; padding: 8px 10px; border-radius: 10px; }
.mx-zone-plus { background: #eef8f2; }
.mx-zone-minus { background: #fdf0f3; }
.mx-zone .mx-do { margin-top: 10px; }
.mx-zone .mx-note { margin: 0 0 10px; }
.mx-dots {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.mx-dots figure { margin: 0; width: 72px; text-align: center; }
.arc-mini { width: 56px; height: 84px; border-radius: 6px; }
.mx-dots figcaption { margin-top: 4px; color: #6d4b8a; font-size: 10px; line-height: 1.2; }
.matrix-cell b {
  display: block;
  color: #6d4b8a;
  font-size: 28px;
  line-height: 1.1;
}
.pyth-cell span, .matrix-cell span, .energy-cell span {
  color: #3c3358;
  font-size: 13px;
}
.matrix-cell.center { background: #fff; box-shadow: var(--shadow); }
.matrix-cell.empty { background: transparent; }
.energy-cell.absent { background: #fff; border: 1px dashed #d7c4ea; }
.energy-cell.strong { background: #f6effb; box-shadow: var(--shadow); }
.destiny-wrap { max-width: 720px; margin: 8px auto 12px; overflow-x: auto; }
.destiny { position: relative; width: 100%; min-width: 560px; aspect-ratio: 1; }
.destiny-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.destiny-lines .frame { fill: none; stroke: #d9c6ea; stroke-width: 0.55; }
.destiny-lines .ring { fill: none; stroke: #eadcf4; stroke-width: 0.45; }
.destiny-lines .male { fill: none; stroke: #7aa2e3; stroke-width: 0.7; }
.destiny-lines .female { fill: none; stroke: #e7a0b4; stroke-width: 0.7; }
.m-node {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 7%;
  aspect-ratio: 1;
  border: 2px solid #cbb6e2;
  border-radius: 50%;
  background: #fff;
  text-align: center;
  transform: translate(-50%, -50%);
}
.m-node.outer { width: 11%; border-width: 3px; }
.m-node.center { width: 13%; background: #f8e7a4; border-color: #d4b44a; }
.m-node.sky { border-color: #7a4eaa; }
.m-node.talent { border-color: #3d6fbf; }
.m-node.matter, .m-node.karma { border-color: #c4526a; }
.m-node.male { border-color: #5b8def; }
.m-node.female { border-color: #e07a9a; }
.m-node.tail { border-color: #c4526a; background: #fff7f8; }
.m-node.coin { border-color: #2f8f6b; }
.m-node.heart { border-color: #e07a9a; background: #fff5f7; }
.m-node.balance { border-color: #6d4b8a; background: #f6effb; }
.m-node b { color: #3a2158; font-size: 15px; line-height: 1; }
.m-node.outer b { font-size: 18px; }
.m-node.center b { font-size: 22px; color: #6a5210; }
.m-node span, .m-node em { color: #5c4d72; font-size: 9px; font-style: normal; line-height: 1.1; }
.m-node.coin em { color: #1f7a4d; font-size: 11px; }
.m-node.heart em { color: #b14b6c; font-size: 11px; }
.m-age {
  position: absolute;
  color: #8a6eaa;
  font-size: 10px;
  font-style: normal;
  line-height: 1;
  white-space: nowrap;
}
.y-top .m-age { bottom: calc(100% + 4px); left: 50%; transform: translateX(-50%); }
.y-bottom .m-age { top: calc(100% + 4px); left: 50%; transform: translateX(-50%); }
.y-left .m-age { right: calc(100% + 4px); top: 50%; transform: translateY(-50%); }
.y-right .m-age { left: calc(100% + 4px); top: 50%; transform: translateY(-50%); }
.y-tl .m-age { right: calc(100% - 4px); bottom: calc(100% - 2px); }
.y-tr .m-age { left: calc(100% - 4px); bottom: calc(100% - 2px); }
.y-bl .m-age { right: calc(100% - 4px); top: calc(100% - 2px); }
.y-br .m-age { left: calc(100% - 4px); top: calc(100% - 2px); }
.y-above .m-age { bottom: calc(100% + 2px); left: 50%; transform: translateX(-50%); }
.y-side-r .m-age { left: calc(100% + 3px); top: 50%; transform: translateY(-50%); }
.y-side-l .m-age { right: calc(100% + 3px); top: 50%; transform: translateY(-50%); }
.m-node.inner .m-age { font-size: 9px; color: #7b6b94; }
.mx-ages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.mx-ages li {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid #eadff3;
  border-radius: 14px;
  background: #faf7fd;
  text-align: center;
}
.mx-ages span { color: #7b6b94; font-size: 11px; }
.mx-ages b { color: #6d4b8a; font-size: 20px; line-height: 1.1; }
.mx-ages i { color: #5c4d72; font-size: 12px; font-style: normal; }
.mx-legend-read {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.mx-legend-read li {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 8px;
  align-items: start;
}
.mx-legend-read i { margin: 3px 0 0; }
.mx-legend-read b { display: block; color: #3a2158; }
.mx-legend-read div { color: #3c3358; font-size: 13px; line-height: 1.4; }
.mx-legend, .mx-chips { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0 0 18px; padding: 0; list-style: none; color: #3c3358; font-size: 13px; }
.mx-legend i, .mx-legend-read i, .mx-chips b {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  border: 2px solid #b78ece;
  border-radius: 50%;
  vertical-align: -1px;
}
.mx-chips b { width: auto; height: auto; padding: 0 6px; border-width: 1px; color: #6d4b8a; font-size: 12px; line-height: 18px; }
.lg-sky { border-color: #7a4eaa; }
.lg-talent { border-color: #3d6fbf; }
.lg-matter { border-color: #c4526a; }
.lg-center { background: #f8e7a4; border-color: #d4b44a; }
.lg-male { border-color: #5b8def; }
.lg-female { border-color: #e07a9a; }
.lg-coin { border-color: #2f8f6b; }
.lg-heart { background: #fff5f7; border-color: #e07a9a; }
.sy-top {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 4px 0 18px;
}
.sy-key {
  padding: 14px 12px;
  border: 1px solid #eadff3;
  border-radius: 16px;
  background: #faf7fd;
  text-align: center;
}
.sy-key b { display: block; color: #6d4b8a; font-size: 30px; line-height: 1.1; }
.sy-key span { display: block; margin-top: 2px; color: #7b6b94; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; }
.sy-key i { display: block; margin-top: 6px; color: #3a2158; font-style: normal; font-size: 14px; }
.sy-key.sy-planet { background: #f8e7a4; border-color: #e3d08a; }
.sy-key.sy-planet b { color: #6a5210; font-size: 22px; padding-top: 6px; }
.sy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 8px 0 12px;
}
.sy-cell {
  position: relative;
  padding: 12px 10px;
  border: 1px solid #eadff3;
  border-radius: 14px;
  background: #fff;
  text-align: center;
}
.sy-cell i { position: absolute; top: 6px; left: 10px; color: #b7a6cc; font-style: normal; font-size: 11px; }
.sy-cell b { display: block; color: var(--ink); font-size: 22px; letter-spacing: 0.06em; }
.sy-cell span { color: #3c3358; font-size: 13px; }
.sy-cell.is-ok { background: #faf7fd; }
.sy-cell.is-loud { background: #f1e6fa; box-shadow: var(--shadow); }
.sy-cell.is-none { border-style: dashed; border-color: #d7c4ea; }
.sy-cell.is-none b { color: #b7a6cc; letter-spacing: 0; font-size: 18px; }
.sy-cell.is-money { outline: 2px solid #e3c35a; outline-offset: -2px; }
.sy-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0 0 18px; padding: 0; list-style: none; color: #3c3358; font-size: 13px; }
.sy-legend i {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  border: 1px solid #eadff3;
  border-radius: 4px;
  vertical-align: -1px;
}
.lg-ok { background: #faf7fd; }
.lg-loud { background: #f1e6fa; }
.lg-none { border-style: dashed; border-color: #d7c4ea; }
.lg-money { border-color: #e3c35a; background: #fff; outline: 1px solid #e3c35a; }
.sy-legend .lg-both { border-color: #cfe6c6; background: #f7fcf5; }
.sy-legend .lg-even { border-color: #eadff3; background: #fff; }
.sy-legend .lg-gap { border-color: #f0d6a8; background: #fdf8ee; }
.sy-legend .lg-thin { border-color: #e6d4d4; background: #fbf6f6; }
.mx-card.sy-none { border-left: 4px solid #d7c4ea; }
.mx-card.sy-loud { border-left: 4px solid #b78ece; }
.mx-card.sy-ok { border-left: 4px solid #eadff3; }
.mx-card.sy-mind { border-left: 4px solid #7a4eaa; }
.mx-card.sy-mission { border-left: 4px solid #c4526a; }
.sy-lead { color: #3a2158; font-size: 17px; }
.mx-title { margin: 26px 0 8px; color: #3a2158; font-size: 22px; text-align: left; text-transform: none; }
.mx-intro { margin: 0 0 10px; color: #3c3358; }
.mx-intro + .mx-intro { margin-top: 0; }
.mx-note p { margin: 6px 0 0; color: #3c3358; }
.mx-card {
  margin: 0 0 12px;
  padding: 14px 14px 12px;
  border: 1px solid #eadff3;
  border-radius: 18px;
  background: #fff;
}
.mx-card header { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 8px; }
.mx-card h3 { margin: 0; color: #2a143f; font-size: 18px; text-align: left; text-transform: none; }
.mx-kicker { margin: 0; color: #8a6eaa; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
.mx-arc { margin: 2px 0 0; color: #6d4b8a; font-weight: 700; }
.mx-badge {
  display: grid;
  flex: none;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 2px solid #b78ece;
  border-radius: 50%;
  background: #f6effb;
  color: #6d4b8a;
  font-weight: 700;
}
.tone-sky .mx-badge { border-color: #7a4eaa; }
.tone-talent .mx-badge { border-color: #3d6fbf; color: #3d6fbf; }
.tone-matter .mx-badge, .tone-karma .mx-badge { border-color: #c4526a; color: #a33b55; }
.tone-center .mx-badge { border-color: #d4b44a; background: #f8e7a4; color: #6a5210; }
.tone-bridge {
  border: 1px solid #eadff3;
  background: linear-gradient(180deg, #faf6fd 0%, #fff 72%);
}
.tone-bridge .pyth-mark {
  border-color: #9b6fb8;
  background: #f3eafb;
  font-size: 13px;
  letter-spacing: -0.02em;
}
.mx-role {
  margin: 0 0 10px;
  color: #6b3fa0;
  font-size: 15px;
  font-weight: 600;
}
.mx-lens {
  grid-template-columns: 1fr 1fr;
  margin: 12px 0 14px;
}
.mx-lens .mx-note { margin: 0; }
.mx-lens .mx-note p { margin: 6px 0 0; color: #3c3358; font-weight: 400; }
.mx-lead {
  margin: 0 0 12px;
  color: #3c3358;
  line-height: 1.55;
}
.mx-points {
  margin: 8px 0 0;
  padding: 0 0 0 1.15em;
  color: #3c3358;
}
.mx-points li {
  margin: 0 0 8px;
  line-height: 1.45;
}
.mx-points li:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  .mx-lens { grid-template-columns: 1fr; }
}
.tone-male .mx-badge { border-color: #5b8def; color: #2d5fbe; }
.tone-female .mx-badge, .tone-love .mx-badge { border-color: #e07a9a; color: #b14b6c; }
.tone-money .mx-badge { border-color: #2f8f6b; color: #1f7a4d; }
.mx-pair, .mx-trio { display: grid; gap: 10px; margin: 10px 0; }
.mx-pair { grid-template-columns: 1fr 1fr; }
.mx-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mx-plus, .mx-minus, .mx-note, .mx-do { border-radius: 14px; padding: 10px 12px; }
.mx-plus { background: #eef8f2; }
.mx-plus b { color: #1f7a4d; }
.mx-minus { background: #fdf0f3; }
.mx-minus b { color: #a33b55; }
.mx-note { background: #f7f4fb; }
.mx-note b, .mx-do b { color: #6d4b8a; }
.mx-do { margin: 0; background: #f6effb; }
.pr-card > .mx-do { margin-top: 10px; }
.pr-card .mx-do p { margin: 6px 0 0; color: #3c3358; }
.mx-tail-verdict { margin: 0 0 14px; border-left: 4px solid #c4526a; }
.mx-tail-verdict .mx-do { margin-top: 10px; }
.mx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mx-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mx-health { display: grid; gap: 8px; }
.mx-health article {
  display: grid;
  grid-template-columns: minmax(78px, 96px) minmax(0, 1fr);
  gap: 14px 16px;
  align-items: start;
  padding: 14px;
  border-radius: 14px;
  background: #faf7fc;
}
.mx-health strong { display: block; color: #3a2158; }
.mx-health span { color: #6d4b8a; font-size: 13px; }
.mx-dots b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 2px solid #b78ece;
  border-radius: 50%;
  background: #fff;
  color: #6d4b8a;
  font-size: 12px;
}
.pyth-notes p, .arc-list p { margin: 0 0 8px; }

.result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin: 12px 0 22px;
}
.result-head h2 { margin: 0; font-size: 34px; text-transform: uppercase; }
.result-head h2 span { color: var(--purple); text-transform: none; }
.result-head .btn { margin-top: 0; flex: none; }
.pills { display: flex; gap: 12px; }
.pill {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 180px;
  padding: 8px 12px;
  border: 1px solid var(--purple);
  border-radius: 24px;
}
.pill i {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(183, 142, 206, 0.28);
  display: grid;
  place-items: center;
  color: var(--purple);
  font-style: normal;
  font-weight: 700;
}
.pill span { display: block; color: var(--muted); font-size: 14px; }

.board {
  margin-bottom: 22px;
  padding: 24px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow);
}
.board h3, .panel h3 {
  margin: 0 0 16px;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.board-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr 0.8fr;
  gap: 28px;
}
.metric-row { display: flex; gap: 12px; flex-wrap: wrap; }
.metric {
  min-width: 160px;
  padding: 10px 16px;
  border: 1px solid var(--purple);
  border-radius: 8px;
}
.metric span { display: block; color: var(--purple); margin-bottom: 4px; }
.body-line { display: flex; align-items: center; gap: 8px; margin: 6px 0; color: var(--muted); }
.swatch { width: 16px; height: 16px; border-radius: 4px; }
.swatch.pink { background: #ffbcad; }
.swatch.green { background: #ace1af; }
.swatch.grey { background: #ccc; }
.swatch.lilac { background: #d7c6ee; }
.swatch.sand { background: #f3d7a1; }

.split { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 18px; }
.panel {
  padding: 24px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow), 0 4px 4px rgba(183, 142, 206, 0.12);
}
.person-cell {
  margin: 0 0 12px;
  padding: 10px 16px;
  border: 1px solid var(--purple);
  border-radius: 8px;
}
.person-cell span { display: block; color: #3c3358; margin-bottom: 2px; }
.person-cell b { color: var(--purple); font-weight: 500; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chips .person-cell { margin: 0; min-width: 140px; }
.chips .person-cell.wide { flex: 1 1 220px; }
.chips .person-cell span { color: var(--purple); }
.chips .person-cell b { color: var(--ink); }

.chakra-layout { position: relative; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 0; align-items: center; }
.chakra-stack { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px; }
.chakra-cell {
  --chakra: #b78ece;
  display: grid;
  grid-template-columns: 18px 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 6px;
  align-items: center;
  width: min(100%, 360px);
  margin: 0;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid #eadff3;
  background: #fff;
  box-shadow: inset 3px 0 0 var(--chakra-soft);
}
.chakra-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--chakra-soft);
  box-shadow: none;
}
.chakra-meta { min-width: 0; }
.chakra-meta span { display: block; color: #3a314c; font-size: 14px; line-height: 1.3; }
.chakra-band {
  display: inline-block;
  margin-top: 2px;
  color: #8a7fa3;
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.02em;
}
.chakra-cell b {
  font-size: 17px;
  font-weight: 600;
  color: #6d4b8a;
  justify-self: end;
}
.chakra-bar {
  grid-column: 1 / -1;
  display: block;
  height: 5px;
  border-radius: 999px;
  background: #f3eef8;
  overflow: hidden;
}
.chakra-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--chakra-soft);
  opacity: 0.85;
}
.tone-red { --chakra: #c97b86; --chakra-soft: #e8c4ca; }
.tone-orange { --chakra: #c99672; --chakra-soft: #edd4c0; }
.tone-yellow { --chakra: #c4b06a; --chakra-soft: #ebe0b8; }
.tone-green { --chakra: #8fad78; --chakra-soft: #d5e4c8; }
.tone-sky { --chakra: #6fa3c4; --chakra-soft: #c5dceb; }
.tone-blue { --chakra: #9585c4; --chakra-soft: #d7d0ea; }
.tone-pink { --chakra: #c995b8; --chakra-soft: #ebd2e3; }
.panel:has(> .chakra-layout) { overflow: hidden; }
.chakra-figure {
  --fig-w: min(460px, calc((100% - 226px) / 0.72));
  position: absolute;
  top: 50%;
  left: calc(290px - var(--fig-w) * 0.28);
  width: var(--fig-w);
  max-width: none;
  height: auto;
  transform: translateY(-50%);
  mix-blend-mode: multiply;
  pointer-events: none;
}
.metric.highlight,
.person-cell.highlight {
  border-color: #b78ece;
  background: linear-gradient(180deg, #f7f1fb 0%, #fff 100%);
}
.metric.highlight b,
.person-cell.highlight b { color: #6d4b8a; font-weight: 700; }
.pdf-sec-kicker {
  margin: 0 0 6px;
  color: #6d4b8a;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mini-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }

.fold {
  margin: 10px 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}
.fold summary {
  cursor: pointer;
  padding: 16px 20px;
  font-weight: 700;
  list-style: none;
}
.fold summary::-webkit-details-marker { display: none; }
.fold summary::after { content: "+"; float: right; color: var(--purple); }
.fold[open] summary::after { content: "–"; }
.fold p { margin: 0; padding: 0 20px 16px; }

.cards, .articles { display: grid; gap: 18px; }
.cards { grid-template-columns: repeat(3, 1fr); }
.service, .article, .spread {
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow);
}
.tag {
  display: inline-block;
  margin-left: auto;
  padding: 4px 14px;
  border-radius: 0 16px;
  background: #c9b0de;
  color: #fff;
  font-size: 14px;
}
.card-top { display: flex; }
.service-art {
  width: 148px;
  height: 148px;
  margin: 8px auto 16px;
  border-radius: 50%;
  object-fit: cover;
}
.service h2, .article h2, .spread h2 {
  margin: 0 0 8px;
  color: var(--purple);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  text-transform: none;
}
.service p, .article p { margin: 0 0 12px; color: #3c3358; }
.card-foot { display: flex; justify-content: flex-end; }
.round {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid var(--purple);
  border-radius: 50%;
  background: #fff;
}
.round img { width: 18px; }

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 22px;
  padding: 14px;
  border: 1px solid #e4d4f2;
  border-radius: 20px;
}
.filters button {
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  padding: 6px 8px;
}
.filters button[aria-pressed="true"] { color: var(--purple); font-weight: 700; }

.deck {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 10px;
  margin-top: 16px;
}
.card-back {
  aspect-ratio: 2 / 3.1;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 42%, rgba(183, 142, 206, 0.45), transparent 28%),
    linear-gradient(160deg, #4a2c22, #2a140f 70%);
  box-shadow: inset 0 0 0 2px rgba(232, 196, 122, 0.45);
}

.site-footer {
  padding: 48px 0 28px;
  background: rgba(183, 142, 206, 0.1);
}
.footer-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
}
.footer-line { width: min(220px, 100%); opacity: 0.8; }
.footer-line-flip { justify-self: end; transform: scaleX(-1); }
.footer-center { text-align: center; }
.footer-nav { display: flex; gap: 28px; justify-content: center; margin-bottom: 12px; }
.footer-shell {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 36px 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(109, 75, 138, 0.18);
}
.footer-brand .footer-logo {
  display: inline-block;
  margin: 0 0 12px;
  color: var(--ink);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.footer-brand p {
  margin: 0 0 18px;
  max-width: 28em;
  color: #3c3358;
  font-size: 15px;
  line-height: 1.5;
}
.footer-brand .socials { justify-content: flex-start; }
.footer-col {
  display: grid;
  align-content: start;
  gap: 10px;
}
.footer-col h2 {
  margin: 0 0 4px;
  color: var(--purple);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: left;
}
.footer-col a {
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.footer-col a:hover,
.footer-col a[aria-current="page"] { color: var(--purple); }
.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  align-items: center;
  padding-top: 18px;
}
.footer-legal p {
  margin: 0;
  color: #6b6280;
  font-size: 14px;
}
.footer-legal a {
  margin-right: 14px;
  color: #6b6280;
  font-size: 14px;
}
.footer-legal a:hover { color: var(--purple); }
.trust-page .essay-body { margin-top: 8px; }
.trust-faq { margin: 28px 0 8px; }
.sitemap-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px 24px;
  margin: 28px 0 12px;
}
.sitemap-grid h2 {
  margin: 0 0 12px;
  color: var(--purple);
  font-size: 18px;
  text-align: left;
  text-transform: none;
}
.sitemap-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sitemap-grid li { margin: 0 0 8px; }
.sitemap-grid a { color: var(--ink); font-size: 15px; }
.sitemap-grid a:hover { color: var(--purple); }
.review-box {
  margin: 24px 0 0;
  padding: 22px 24px;
  border: 1px solid #eadff3;
  border-radius: 18px;
  background: #faf7fc;
}
.review-box h3 {
  margin: 0 0 8px;
  font-size: 20px;
  text-align: left;
  text-transform: none;
}
.review-box p { margin: 0 0 12px; color: #3c3358; }
.review-box textarea {
  width: 100%;
  min-height: 96px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid #d9cce8;
  border-radius: 12px;
  resize: vertical;
  font: inherit;
}
.review-box .review-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.review-box select,
.review-mood select {
  padding: 10px 12px;
  border: 1px solid #d9cce8;
  border-radius: 12px;
  font: inherit;
  background: #fff;
}
.review-box.is-done {
  background: #f3eafb;
  border-color: #e0d0ef;
}
.review-mood {
  display: grid;
  gap: 6px;
  margin: 0 0 12px;
  color: #3c3358;
  font-size: 14px;
  font-weight: 600;
}
.review-sheet textarea {
  width: 100%;
  min-height: 110px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #d9cce8;
  border-radius: 12px;
  resize: vertical;
  font: inherit;
}
.review-thanks {
  margin: 8px 0 0;
  color: #5b3f8c;
  font-weight: 600;
}
.tr-summary {
  margin: 0 0 28px;
  padding: 24px 26px;
  border: 1px solid #eadff3;
  border-radius: 22px;
  background: linear-gradient(180deg, #faf6fd 0%, #fff 100%);
  box-shadow: var(--shadow);
}
.tr-summary h2 {
  margin: 0 0 10px;
  font-size: 26px;
  text-align: left;
  text-transform: none;
}
.tr-summary > p { margin: 0 0 16px; color: #3c3358; max-width: 42em; }
.tr-summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.tr-summary-list li {
  display: grid;
  grid-template-columns: 9.5em 1fr;
  gap: 12px;
  padding: 10px 0 0;
  border-top: 1px solid #efe6f7;
  color: #3c3358;
}
.tr-summary-list li:first-child { border-top: 0; padding-top: 0; }
.tr-summary-list b { color: var(--ink); font-weight: 700; }
.tr-how {
  margin: 0 0 22px;
  padding: 0;
}
.tr-how summary {
  cursor: pointer;
  color: var(--purple);
  font-weight: 700;
  list-style: none;
}
.tr-how summary::-webkit-details-marker { display: none; }
.tr-how[open] summary { margin-bottom: 10px; }
.tr-how .tr-how-body { color: #3c3358; }
.tr-read-q-note {
  margin: 8px 0 0;
  color: #6b6280;
  font-size: 14px;
}
.journal-start {
  margin: 0 0 22px;
  padding: 20px 22px;
  border: 1px solid #eadff3;
  border-radius: 18px;
  background: #faf7fc;
}
.journal-start h2 {
  margin: 0 0 8px;
  font-size: 22px;
  text-align: left;
  text-transform: none;
}
.journal-start > p { margin: 0 0 14px; color: #3c3358; }
.journal-start ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.journal-start li a {
  display: grid;
  grid-template-columns: 2em 1fr;
  gap: 8px;
  color: var(--ink);
  font-weight: 600;
}
.journal-start li a:hover { color: var(--purple); }
.journal-start i {
  color: var(--purple);
  font-style: normal;
  font-weight: 700;
}
.journal-pitch {
  margin: 0 0 18px;
  max-width: 40em;
  color: #3c3358;
}
.essay-byline {
  margin: 28px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: #6b6280;
  font-size: 15px;
}
.essay-byline a { color: var(--purple); }
.socials { display: flex; justify-content: center; gap: 14px; }
.socials a {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--purple);
}
.socials svg { width: 26px; height: 26px; fill: currentColor; }
.effect-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  margin-bottom: 22px;
}
.effect-split { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 18px; }
.code-line {
  display: flex;
  justify-content: space-between;
  margin: 14px 0 0;
  padding: 12px 16px;
  border-radius: 8px;
  background: #f7f4fb;
}
.center-title { text-align: center; }
.life-grid { display: grid; gap: 12px; }
.life-grid.tasks { grid-template-columns: repeat(5, 1fr); }
.life-grid.ages { grid-template-columns: repeat(6, 1fr); }
.life-card {
  padding: 14px 10px 12px;
  border: 1px solid var(--purple);
  border-radius: 8px;
  text-align: center;
  background: #fff;
}
.life-card > span {
  display: block;
  margin-bottom: 10px;
  color: var(--purple);
  font-size: 15px;
  line-height: 1.25;
}
.life-nums, .life-pair { display: flex; justify-content: center; gap: 8px; }
.life-nums b, .life-pair b {
  min-width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #f7f4fb;
  font-size: 20px;
  font-weight: 700;
}
.life-pair div { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.life-pair small { color: var(--muted); font-size: 12px; }

.summary { display: grid; grid-template-columns: 1fr 1.1fr; gap: 18px; margin-bottom: 22px; }
.summary-main { display: flex; flex-direction: column; }
.summary-notes { margin: 0 0 18px; padding: 0; list-style: none; counter-reset: note; }
.summary-notes li {
  position: relative;
  margin: 0 0 12px;
  padding-left: 34px;
  counter-increment: note;
  color: #3c3358;
  line-height: 1.5;
}
.summary-notes li::before {
  content: counter(note);
  position: absolute;
  left: 0;
  top: 1px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f1e8f8;
  color: var(--purple);
  font-size: 13px;
  font-weight: 700;
}
.summary-notes b { display: block; color: #2a2140; }
.summary-poles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.pole {
  padding: 14px 16px;
  border: 1px solid #eadff3;
  border-radius: 14px;
  background: linear-gradient(180deg, #faf7fd 0%, #fff 100%);
  box-shadow: inset 3px 0 0 var(--chakra-soft, #e2d4f0);
}
.pole-label { display: block; color: var(--purple); font-size: 13px; letter-spacing: 0.03em; text-transform: uppercase; }
.pole b { display: flex; align-items: center; gap: 8px; margin: 6px 0 2px; font-size: 18px; color: #2a2140; }
.pole small { display: block; color: var(--muted); font-size: 13px; }
.pole p { margin: 8px 0 0; color: #3c3358; font-size: 14px; line-height: 1.5; }
.summary-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto; }
.summary-actions .btn { height: 48px; margin-top: 0; padding: 0 22px; }
.summary-actions .btn:not(.ghost) { background: var(--purple); color: #fff; }
.summary-actions .btn:not(.ghost):hover { background: #8e63b4; border-color: #8e63b4; }
.more-stats { margin-bottom: 22px; scroll-margin-top: 90px; }
.more-stats .split { margin-bottom: 22px; }
.effect-col { display: flex; flex-direction: column; gap: 18px; }
.effect-col .board { flex: 1; margin: 0; }
.transcript-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0 0 12px;
  color: var(--muted);
}
.transcript-tools p { margin: 0; }
.link-btn {
  padding: 0;
  border: 0;
  background: none;
  color: #6b3fa0;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: #d6c3ea;
  text-underline-offset: 3px;
}
.link-btn:hover { text-decoration-color: currentColor; }

.transcript { margin-top: 28px; }
.transcript > h2 {
  margin: 0 0 18px;
  text-align: center;
  font-size: 34px;
  text-transform: uppercase;
}
.transcript > h2 span { color: var(--purple); text-transform: none; }
.t-row, .t-group { margin: 0 0 12px; }
.t-row {
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}
.t-row summary, .t-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
  font-size: 18px;
}
.t-row summary::-webkit-details-marker,
.t-group summary::-webkit-details-marker { display: none; }
.t-row summary::after, .t-group summary::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--purple);
  border-bottom: 2px solid var(--purple);
  transform: rotate(45deg);
  flex: none;
}
.t-row[open] summary::after, .t-group[open] summary::after { transform: rotate(225deg); margin-top: 6px; }
.t-row summary span { color: #3a314c; }
.t-chakra summary {
  display: flex;
  align-items: center;
  gap: 10px;
}
.t-chakra {
  border-color: #eadff3;
  background: #fff;
  box-shadow: inset 3px 0 0 var(--chakra-soft, #e2d4f0);
}
.t-chakra summary .chakra-dot {
  flex: 0 0 auto;
  background: var(--chakra-soft, #e2d4f0);
}
.t-chakra summary span { flex: 1; color: #3a314c; font-weight: 700; }
.t-row p { margin: 0; padding: 0 18px 16px; color: #3c3358; }
.t-row p a { color: #6b3fa0; text-decoration: underline; text-decoration-color: #d6c3ea; text-underline-offset: 3px; }
.t-row p a:hover { text-decoration-color: currentColor; }
.t-row .t-copy { padding: 0 18px 8px; }
.t-row .t-copy p { margin: 0 0 12px; padding: 0; line-height: 1.55; font-size: 16px; }
.t-advice {
  margin: 4px 0 14px;
  padding: 16px 18px 4px;
  border-radius: 14px;
  background: #f7f4fb;
  border: 1px solid #eadff3;
  border-left: 4px solid var(--chakra-soft, var(--purple));
}
.t-advice-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: #6d4b8a;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.t-advice-title::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d4b8a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.5 10.9c.6.4 1 1.1 1 1.8V16h5v-.3c0-.7.4-1.4 1-1.8A6 6 0 0 0 12 3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.t-row .t-copy .t-advice p { font-size: 15px; }
.t-group {
  border-radius: 18px;
  overflow: hidden;
}
.t-group > summary {
  background: #c5a6de;
  color: #fff;
  font-weight: 700;
  border-radius: 14px;
}
.t-group > summary::after { border-color: #fff; }
.t-group-body { display: flex; flex-direction: column; gap: 10px; padding: 12px 0 0; background: transparent; }
.t-row p + p { padding-top: 0; }
.method { margin: 48px 0 0; }
.method h2 {
  margin: 0 0 16px;
  text-align: center;
  text-transform: uppercase;
  font-size: 32px;
}
.method h2 span { color: var(--purple); text-transform: none; }
.method > p {
  max-width: 820px;
  margin: 0 auto 14px;
  color: #3c3358;
  font-size: 16px;
  line-height: 1.55;
}
.method > p:last-of-type { margin-bottom: 22px; }
.method h3 {
  max-width: 820px;
  margin: 26px auto 10px;
  font-size: 20px;
  line-height: 1.3;
  color: #2a2140;
}
.chakra-guide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0 0 22px;
}
.chakra-guide article {
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid #eadff3;
  background: #fff;
}
.chakra-guide b { display: block; color: #6d4b8a; font-size: 15px; margin-bottom: 4px; }
.chakra-guide p { margin: 0; color: #3c3358; font-size: 14px; line-height: 1.45; }
.tool-guide b a { color: inherit; text-decoration: underline; text-decoration-color: #d6c3ea; text-underline-offset: 3px; }
.tool-guide b a:hover { text-decoration-color: currentColor; }
.method-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}
.method-links a {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 999px;
  background: #f6effb;
  color: #6b3f93;
  font-size: 14px;
  font-weight: 600;
}
.faq h2 { text-align: center; text-transform: uppercase; font-size: 32px; }
.faq h2 span { color: var(--purple); text-transform: none; }
.reading {
  margin-top: 8px;
  padding: 26px 28px 14px;
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow);
}
.reading h2 {
  margin: 0 0 16px;
  font-size: 28px;
  text-align: center;
  text-transform: uppercase;
}
.reading h2 span { color: var(--purple); text-transform: none; }
.reading b { color: #8d62ad; }
.reading p { margin: 0 0 12px; color: #3c3358; }
.draw-row { display: flex; justify-content: center; margin: 8px 0 22px; }
.spread-hint { max-width: 720px; margin: 0 0 8px; color: #3c3358; }
.seo-line { max-width: 820px; margin: 28px 0 0; color: var(--muted); font-size: 14px; }
.pdf-offer {
  margin: 48px 0 0;
  padding: 36px 32px 30px;
  border-radius: 24px;
  background: linear-gradient(180deg, #f7f1fb 0%, #fff 100%);
  box-shadow: var(--shadow);
  text-align: center;
  scroll-margin-top: 90px;
}
.pdf-offer h2 { margin: 8px 0 14px; font-size: 32px; text-transform: uppercase; }
.pdf-offer h2 span { color: var(--purple); text-transform: none; }
.pdf-offer-lede { max-width: 760px; margin: 0 auto 28px; color: #3c3358; font-size: 17px; line-height: 1.55; }
.pdf-offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: left; }
.pdf-offer-grid figure {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 2px 14px rgba(183, 142, 206, 0.22);
}
.pdf-offer-grid img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.pdf-offer-grid figcaption { padding: 14px 18px 18px; }
.pdf-offer-grid figcaption b { display: block; color: #2a2140; font-size: 17px; }
.pdf-offer-grid figcaption span { display: block; margin-top: 4px; color: var(--muted); font-size: 14px; }
.pdf-offer-buy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 22px;
  margin-top: 28px;
}
.pdf-offer-price { margin: 0; color: #3c3358; font-size: 16px; }
.pdf-offer-price b { color: #6d4b8a; font-size: 28px; }
.pdf-offer-price s,
.pay-price s { margin-right: 4px; color: #9a8fae; font-size: 16px; font-weight: 400; }
.pdf-offer-buy .btn { height: 52px; margin: 0; padding: 0 30px; background: var(--purple); color: #fff; }
.pdf-offer-buy .btn:hover { background: #8e63b4; border-color: #8e63b4; }
.pdf-offer-note { margin: 14px 0 0; color: var(--muted); font-size: 13px; }
.promo {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  align-items: center;
  margin-top: 36px;
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow);
}
.promo h2 { margin: 0 0 8px; font-size: 28px; text-transform: uppercase; }
.promo h2 span { color: var(--purple); text-transform: none; }
.promo p { margin: 0 0 16px; color: #3c3358; }
.promo .btn { display: inline-flex; align-items: center; height: 48px; text-decoration: none; }
.promo .btn:hover { background: var(--purple); color: #fff; }
.promo-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  min-height: 140px;
  padding: 18px 24px;
  border-radius: 16px;
  background:
    linear-gradient(160deg, rgba(183, 142, 206, 0.35), rgba(247, 244, 251, 0.2)),
    #f7f4fb;
  overflow: hidden;
}
.promo-square {
  display: grid;
  grid-template-columns: repeat(3, 30px);
  gap: 4px;
  padding: 6px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(109, 75, 138, 0.15);
  transform: rotate(-4deg);
}
.promo-square span {
  display: grid;
  place-items: center;
  height: 30px;
  border-radius: 6px;
  background: #f2ecf7;
  color: #6d4b8a;
  font-weight: 700;
  font-size: 14px;
}
.promo-fan { position: relative; width: 190px; height: 126px; }
.promo-fan img {
  position: absolute;
  left: 50%;
  bottom: 4px;
  width: 64px;
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(60, 51, 88, 0.22);
  transform-origin: 50% 100%;
}
.promo-fan img:nth-child(1) { transform: translateX(calc(-50% - 44px)) rotate(-14deg); }
.promo-fan img:nth-child(2) { transform: translateX(-50%) translateY(-6px); z-index: 1; }
.promo-fan img:nth-child(3) { transform: translateX(calc(-50% + 44px)) rotate(14deg); }
.tool-method { margin: 0; color: var(--muted); font-size: 14px; }
.tool-method a { color: var(--purple); font-weight: 700; white-space: nowrap; }
.num-hero {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 28px;
  align-items: center;
  margin: 0 0 44px;
}
.num-hero .promo-card { flex-direction: column; gap: 22px; min-height: 280px; }
.promo-card.promo-art {
  display: block;
  min-height: 0;
  padding: 0;
  border-radius: 24px;
  background: #efe6f7;
  box-shadow: 0 14px 40px rgba(109, 75, 138, 0.18);
}
.promo-art img { width: 100%; height: auto; animation: promo-float 7s ease-in-out infinite; }
@keyframes promo-float {
  0%, 100% { transform: translateY(0) scale(1.04); }
  50% { transform: translateY(-6px) scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .promo-art img { animation: none; }
}
.num-promise {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
.num-promise li {
  padding: 6px 14px;
  border-radius: 999px;
  background: #f2ecf7;
  color: #6d4b8a;
  font-weight: 700;
  font-size: 15px;
}
.num-promise li:first-letter { text-transform: uppercase; }
.num-hero-btn {
  display: inline-flex;
  align-items: center;
  height: 56px;
  padding: 0 34px;
  background: var(--purple);
  color: #fff;
  font-size: 17px;
  text-decoration: none;
}
.num-hero-btn:hover { background: #8e63b4; border-color: #8e63b4; }
.num-hero-perks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 14px;
}
.num-hero-perks i { width: 4px; height: 4px; border-radius: 50%; background: #c9b3dd; }
.num-hook, .goal-pick, .num-steps { margin: 0 0 44px; }
.num-hook h2, .goal-pick h2, .num-steps h2, .tool-panel h2 { margin: 0 0 14px; font-size: 28px; text-transform: uppercase; }
.num-hook h2 span, .goal-pick h2 span, .num-steps h2 span { color: var(--purple); text-transform: none; }
.num-hook > p { max-width: 820px; margin: 0 0 18px; color: #3c3358; font-size: 17px; line-height: 1.55; }
.num-quotes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.num-quotes figure {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 18px 16px 14px;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}
.num-quotes blockquote {
  position: relative;
  margin: 0;
  padding-top: 18px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.45;
}
.num-quotes blockquote::before {
  content: "«";
  position: absolute;
  top: -8px;
  left: 0;
  color: #c9b3dd;
  font-size: 34px;
  line-height: 1;
}
.num-quotes figcaption { font-size: 13px; }
.num-quotes figcaption a { color: var(--muted); font-weight: 500; transition: color 0.15s ease; }
.num-quotes figure:hover figcaption a,
.num-quotes figcaption a:hover { color: var(--purple); }
.num-quotes-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
  margin: 16px 0 0;
  padding: 18px 22px;
  border-radius: 16px;
  background: linear-gradient(135deg, #f7f1fc 0%, #fbf5fb 100%);
  border: 1px solid #eadff3;
}
.num-quotes-cta p { flex: 1 1 380px; margin: 0; color: #3c3358; font-size: 15px; line-height: 1.5; }
.num-quotes-cta b { display: block; margin-bottom: 2px; color: var(--ink); font-size: 18px; }
.num-quotes-cta .btn { margin: 0; }
.goal-pick { scroll-margin-top: 20px; }
.goal-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.goal-cards button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 20px 20px 16px;
  border: 1px solid #eadff3;
  border-radius: 18px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.goal-cards button:hover { border-color: #cdb4e3; box-shadow: var(--shadow); transform: translateY(-2px); }
.goal-label { color: var(--purple); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.goal-cards b { font-size: 20px; line-height: 1.25; }
.goal-text { color: #3c3358; font-size: 15px; line-height: 1.45; }
.goal-cta {
  display: inline-flex;
  align-items: center;
  height: 40px;
  margin-top: 6px;
  padding: 0 18px;
  border: 2px solid var(--purple);
  border-radius: 8px;
  color: var(--purple);
  font-weight: 700;
  font-size: 14px;
}
.goal-cards small { margin-top: auto; padding-top: 4px; color: var(--muted); font-size: 12px; }
.goal-cards .goal-main {
  grid-column: 1 / -1;
  padding: 26px 28px 20px;
  border: 0;
  background: linear-gradient(135deg, #6d4b8a 0%, #b78ece 100%);
  color: #fff;
}
.goal-main .goal-label, .goal-main small { color: rgba(255, 255, 255, 0.8); }
.goal-main b { font-size: 26px; }
.goal-main .goal-text { max-width: 560px; color: rgba(255, 255, 255, 0.92); font-size: 16px; }
.goal-main .goal-cta { border-color: #fff; background: #fff; color: #6d4b8a; }
.goal-cards .goal-quiet { background: #faf8fc; }
.goal-quiet b { font-size: 18px; }
.goal-cards button[aria-pressed="true"] { border-color: var(--purple); box-shadow: 0 0 0 2px var(--purple) inset; }
.goal-cards button[aria-pressed="true"] .goal-cta { background: var(--purple); color: #fff; }
.goal-cards .goal-main[aria-pressed="true"] { box-shadow: 0 0 0 3px #f2ecf7, 0 0 0 5px var(--purple); }
.goal-cards .goal-main[aria-pressed="true"] .goal-cta { background: #fff; color: #6d4b8a; }
.tool-panel {
  margin: 0 0 18px;
  padding: 26px 28px 20px;
  border-radius: 24px;
  background: linear-gradient(180deg, #f7f4fb 0%, #fff 100%);
  border: 1px solid #eadff3;
  scroll-margin-top: 16px;
}
.tool-panel-kicker { margin: 0 0 6px; color: var(--purple); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.tool-panel h2 { text-transform: none; font-size: 26px; }
.tool-gets-title { margin: 0 0 8px; color: #3c3358; font-weight: 700; }
.tool-gets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 22px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
.tool-gets li { position: relative; padding-left: 24px; color: #3c3358; font-size: 15px; line-height: 1.45; }
.tool-gets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--purple) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.2l2.3 2.2 4.7-4.8' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.tool-gets b { color: var(--ink); }
.tool-panel .date-bar { margin: 0 0 14px; }
.tool-panel .date-bar .btn { background: var(--purple); color: #fff; }
.tool-panel .date-bar .btn:hover { background: #8e63b4; border-color: #8e63b4; }
.num-steps ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}
.num-steps li {
  counter-increment: step;
  padding: 18px;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}
.num-steps li::before {
  content: counter(step);
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #f2ecf7;
  color: #6d4b8a;
  font-weight: 700;
}
.num-steps b { display: block; margin-bottom: 4px; }
.num-steps p { margin: 0; color: #3c3358; font-size: 15px; line-height: 1.45; }
.note-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 22px;
}
.note-filters button {
  border: 1px solid #e4d4f2;
  border-radius: 999px;
  background: #fff;
  padding: 8px 14px;
  color: #3c3358;
  cursor: pointer;
}
.note-filters a {
  border: 1px solid #e4d4f2;
  border-radius: 999px;
  background: #fff;
  padding: 8px 14px;
  color: #3c3358;
}
.note-filters a:hover { border-color: var(--purple); }
.note-filters a[aria-current="page"],
.note-filters button[aria-pressed="true"] {
  border-color: var(--purple);
  background: #f7f4fb;
  color: #6d4b8a;
  font-weight: 700;
}
.note-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.note-card {
  margin: 0;
  padding: 22px 22px 20px;
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow);
  border-top: 4px solid var(--purple);
}
.note-card.wide { grid-column: 1 / -1; }
.note-card.bar-red { border-top-color: #ed2839; }
.note-card.bar-orange { border-top-color: #ed701a; }
.note-card.bar-yellow { border-top-color: #e3ae0a; }
.note-card.bar-green { border-top-color: #8ebb3e; }
.note-card.bar-sky { border-top-color: #019ae3; }
.note-card.bar-blue { border-top-color: #735bc0; }
.note-card.bar-pink { border-top-color: #ff61bb; }
.note-tag {
  margin: 0 0 8px;
  color: var(--purple);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.note-card h2 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 22px;
  text-align: left;
  text-transform: none;
}
.note-card p { margin: 0; color: #3c3358; }
.note-card.wide h2 { font-size: 28px; }
.topic-row {
  display: flex;
  gap: 8px;
  margin: 0 0 28px;
  padding: 16px 10px;
  border: 1px solid #e4d4f2;
  border-radius: 24px;
  overflow-x: auto;
}
.topic-row button {
  flex: 1 0 92px;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.topic-dot {
  width: 52px;
  height: 52px;
  margin: 0 auto 8px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.topic-row button[aria-pressed="true"] { color: var(--purple); font-weight: 700; }
.topic-row button[aria-pressed="true"] .topic-dot { outline: 2px solid var(--purple); outline-offset: 3px; }
.dot-create { background: #e07a5f; }
.dot-match { background: #e08a3c; }
.dot-character { background: #e3b23c; }
.dot-money { background: #7dae4a; }
.dot-meaning { background: #3aa0d8; }
.dot-love { background: #5b6fd6; }
.dot-sense { background: #c46aae; }
.feature {
  display: grid;
  grid-template-columns: 1.35fr 0.75fr;
  gap: 28px;
  margin-bottom: 28px;
}
.feature-card {
  min-height: 300px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 20px;
  background: linear-gradient(165deg, #efe4f8, #f7f4fb 60%, #fff);
  box-shadow: var(--shadow);
}
.feature-card h2, .article-row h2 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 28px;
  text-align: left;
  text-transform: none;
}
.feature-card p { margin: 0; color: #3c3358; }
.side-list h3 {
  margin: 0 0 16px;
  color: var(--purple);
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  text-transform: none;
}
.side-list ol { margin: 0; padding: 0; list-style: none; }
.side-list li { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 14px; }
.side-num {
  width: 28px;
  height: 28px;
  flex: none;
  display: grid;
  place-items: center;
  border: 1px solid var(--purple);
  border-radius: 50%;
  color: var(--purple);
  font-size: 14px;
}
.article-list { display: flex; flex-direction: column; }
.article-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 18px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid #f0eaf6;
}
.article-row h2 { font-size: 22px; }
.article-kicker {
  margin: 0 0 6px;
  color: var(--purple);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.article-row p { margin: 8px 0 0; color: var(--muted); }
.thumb { height: 112px; border-radius: 16px; }
.thumb-match { background: linear-gradient(135deg, #f3d7c4, #e08a3c); }
.thumb-character { background: linear-gradient(135deg, #f8ecc4, #e3b23c); }
.thumb-meaning { background: linear-gradient(135deg, #d7eef8, #3aa0d8); }
.thumb-money { background: linear-gradient(135deg, #e5f0d4, #7dae4a); }
.thumb-love { background: linear-gradient(135deg, #dddff6, #5b6fd6); }
.thumb-create { background: linear-gradient(135deg, #f8ddd4, #e07a5f); }
.service-mark {
  width: 148px;
  height: 148px;
  margin: 8px auto 16px;
  border-radius: 50%;
  border: 1px solid #d7c3ea;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 34%, #d7c3ea 35% 37%, transparent 38%),
    radial-gradient(circle at 50% 50%, #f7f4fb 0 46%, transparent 47%);
}
.hero-split {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 28px;
  align-items: center;
}
.hero-split ul { margin: 0 0 22px; padding-left: 18px; color: #3c3358; }
.hero-split li { margin: 0 0 8px; }
.hero-orb {
  width: min(340px, 100%);
  aspect-ratio: 1;
  margin-left: auto;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 42%, #fff 0 18%, transparent 19%),
    radial-gradient(circle at 50% 48%, #f7f4fb 0 46%, #d4c0ea 58%, #b78ece 78%);
}
.band {
  margin: 36px 0;
  padding: 28px 32px;
  border-radius: 20px;
  background: rgba(183, 142, 206, 0.16);
  text-align: center;
  font-size: 18px;
}
.program {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 28px;
  align-items: start;
}
.program h2, .plain-block h2 { text-transform: uppercase; }
.program h2 span, .plain-block h2 span { color: var(--purple); text-transform: none; }
.note-list { margin: 0; padding: 0; list-style: none; }
.note-list li {
  margin: 0 0 12px;
  padding: 14px 16px;
  border: 1px solid var(--purple);
  border-radius: 8px;
}
.hidden { display: none; }

@media (max-width: 980px) {
  .header-inner { grid-template-columns: 1fr auto; }
  .nav, .login { display: none; }
  .nav.open {
    display: flex;
    flex-direction: column;
    gap: 14px;
    grid-column: 1 / -1;
    align-items: flex-start;
  }
  .nav-toggle { display: block; }
  .summary, .summary-poles, .board-grid, .split, .cards, .mini-grid, .chakra-layout, .effect-grid, .effect-split, .feature, .hero-split, .program, .promo, .journal-hero { grid-template-columns: 1fr; }
  .num-hero { grid-template-columns: 1fr; }
  .num-hero .promo-card { display: none; }
  .num-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pdf-offer-grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
  .pdf-offer { padding: 28px 18px 24px; }
  .pdf-offer h2 { font-size: 26px; }
  .article-row, .note-grid, .journal-row { grid-template-columns: 1fr; }
  .journal-row { gap: 6px; }
  .note-card.wide { grid-column: auto; }
  .hero-orb { margin: 0 auto; }
  .life-grid.tasks, .life-grid.ages { grid-template-columns: repeat(2, 1fr); }
  .chakra-figure { position: static; width: min(100%, 360px); margin: 8px 0 0; transform: none; justify-self: center; }
  .deck { grid-template-columns: repeat(4, 1fr); }
  .footer-inner { grid-template-columns: 1fr; justify-items: center; }
  .footer-line { display: none; }
  .footer-shell { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .sitemap-grid { grid-template-columns: 1fr 1fr; }
  .tr-summary-list li { grid-template-columns: 1fr; gap: 4px; }
  h1, .result-head h2 { font-size: 30px; }
}
@media (max-width: 640px) {
  .footer-shell, .sitemap-grid { grid-template-columns: 1fr; }
  .num-quotes, .goal-cards, .tool-gets, .num-steps ol { grid-template-columns: 1fr; }
  .goal-cards .goal-main { padding: 22px 20px 18px; }
  .goal-main b { font-size: 22px; }
  .tool-panel { padding: 22px 16px 16px; }
  .energy-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sy-top { grid-template-columns: 1fr; }
  .pr-top { grid-template-columns: 1fr; }
  .pr-people { grid-template-columns: 1fr; }
  .pr-dates { grid-template-columns: 1fr 1fr; }
  .pr-row { grid-template-columns: 1fr; gap: 8px; }
  .pr-tag { text-align: left; }
  .chakra-guide { grid-template-columns: 1fr; }
  .account-item { flex-direction: column; align-items: stretch; }
  .mx-pair, .mx-trio, .mx-grid, .mx-grid.three, .mx-legend-read { grid-template-columns: 1fr; }
  .mx-health article { grid-template-columns: 78px minmax(0, 1fr); }
  .mx-ages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pyth-works, .pyth-scores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m-node.outer b { font-size: 15px; }
  .m-node span { font-size: 8px; }
}

.btn.ghost { height: 44px; margin-top: 8px; }
.pay-open {
  margin: 12px 0 0;
  color: #6d4b8a;
  font-weight: 700;
}
.pay-box {
  margin: 28px 0 12px;
  padding: 28px 32px;
  border-radius: 22px;
  background: linear-gradient(180deg, #f6eefc, #fff);
  box-shadow: var(--shadow);
}
.pay-box h3 {
  margin: 6px 0 10px;
  font-size: 28px;
  text-align: left;
  text-transform: none;
}
.pay-box p { margin: 0 0 10px; color: #3c3358; }
.pay-price { margin: 8px 0 18px; font-size: 22px; }
.pay-box .btn { background: var(--purple); color: #fff; }
.pay-box .btn:hover { background: #8e63b4; border-color: #8e63b4; }
.t-locked {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0 0 12px;
  padding: 16px 18px;
  border: 0;
  border-radius: 16px;
  background: #faf7fd;
  box-shadow: var(--shadow);
  color: #3a314c;
  font: inherit;
  font-size: 18px;
  text-align: left;
  cursor: pointer;
}
.t-locked span { flex: 1; }
.t-locked.t-chakra { box-shadow: inset 3px 0 0 var(--chakra-soft, #e2d4f0), var(--shadow); }
.t-locked.t-chakra span { font-weight: 700; }
.t-locked .chakra-dot { flex: none; background: var(--chakra-soft, #e2d4f0); }
.t-locked:hover { background: #f3ecfa; }
.t-locked:hover .lock-mark { opacity: 1; }
.lock-mark {
  width: 18px;
  height: 18px;
  flex: none;
  opacity: 0.8;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d1a24a' stroke-width='2' stroke-linecap='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
}
.pay-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(18, 6, 42, 0.46);
}
.pay-modal[hidden] { display: none; }
.pay-sheet {
  width: min(440px, 100%);
  position: relative;
  padding: 28px 26px 24px;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow);
}
.pay-sheet h3 {
  margin: 6px 0 10px;
  font-size: 26px;
  text-align: left;
  text-transform: none;
}
.pay-sheet p { margin: 0 0 12px; color: #3c3358; }
.pay-sheet form { display: grid; gap: 12px; }
.pay-sheet input {
  width: 100%;
  height: 52px;
  padding: 0 16px;
  border: 1px solid var(--muted);
  border-radius: 8px;
}
.pay-close {
  position: absolute;
  top: 12px;
  right: 14px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.account-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 28px;
}
.account-form input {
  width: min(320px, 100%);
  height: 52px;
  padding: 0 16px;
  border: 1px solid var(--muted);
  border-radius: 8px;
}
.account-list { display: grid; gap: 12px; }
.account-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}
.account-item h2 {
  margin: 4px 0 6px;
  font-size: 22px;
  text-align: left;
  text-transform: none;
}
.account-item p { margin: 0; color: #3c3358; }
.journal-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 30px;
}
.journal-filters button {
  padding: 8px 16px;
  border: 1px solid #e3d5f0;
  border-radius: 999px;
  background: #fff;
  color: #6d4b8a;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.journal-filters button:hover { border-color: #b78ece; }
.journal-filters button[aria-pressed="true"] {
  border-color: #6d4b8a;
  background: #6d4b8a;
  color: #fff;
}
.journal-hero {
  display: grid;
  grid-template-columns: 1.35fr 0.75fr;
  gap: 40px;
  margin: 8px 0 12px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--line);
}
.journal-lead { display: block; }
.journal-lead img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  object-position: 50% 62%;
  margin: 0 0 20px;
  border: 1px solid #eadff3;
  border-radius: 22px;
  box-shadow: var(--shadow);
}
.journal-hero .journal-tag { margin: 0 0 10px; }
.journal-hero h2 {
  margin: 0 0 12px;
  color: var(--ink);
  font-size: 34px;
  line-height: 1.2;
  text-align: left;
  text-transform: none;
}
.journal-lead:hover h2 { color: #5b3f8c; }
.journal-hero p { margin: 0; color: #3c3358; max-width: 38em; }
.journal-hero p.journal-tag { color: #fff; }
.journal-side { display: grid; align-content: start; gap: 0; }
.journal-side a {
  display: block;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
.journal-side a:first-child { padding-top: 0; }
.journal-side .journal-tag { margin: 0 0 8px; }
.journal-side h3 {
  margin: 0;
  font-size: 19px;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
}
.journal-side a:hover h3 { color: #5b3f8c; }
.journal-feed { margin-top: 8px; }
.journal-row {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 26px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.journal-thumb {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 2px 14px rgba(183, 142, 206, 0.22);
  transition: transform 0.25s ease;
}
.journal-row:hover .journal-thumb { transform: scale(1.02); }
.journal-row .journal-meta { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; }
.journal-row time { color: var(--muted); font-size: 13px; }
.journal-row h2 {
  margin: 0 0 6px;
  font-size: 22px;
  text-align: left;
  text-transform: none;
}
.journal-row:hover h2 { color: #5b3f8c; }
.journal-row p { margin: 0; color: #3c3358; }
.journal-tag {
  display: inline-block;
  margin: 0;
  padding: 4px 10px;
  border-radius: 999px;
  background: #6d4b8a;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}
.journal-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.journal-topics li {
  padding: 4px 11px;
  border-radius: 999px;
  background: #f3eafb;
  color: #6b3fa0;
  font-size: 13px;
  font-weight: 600;
}
.essay-meta {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
}
.essay-body { max-width: 42em; }
.essay-body h2 {
  position: relative;
  margin: 34px 0 12px;
  padding-left: 22px;
  color: #5b3f8c;
  font-size: 21px;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
}
.essay-body h2::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.42em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #deb05c;
  box-shadow: 0 0 0 4px #f7ecd6;
}
.essay-body p {
  margin: 0 0 16px;
  color: #3c3358;
  font-size: 17px;
  line-height: 1.65;
}
.essay-body ul { margin: 0 0 16px; padding-left: 22px; color: #3c3358; font-size: 17px; line-height: 1.65; }
.essay-body li { margin: 0 0 10px; }
.essay-body li::marker { color: var(--purple); }
.essay-body a { color: #6b3fa0; text-decoration: underline; text-decoration-color: #d6c3ea; text-underline-offset: 3px; }
.essay-body a:hover { text-decoration-color: currentColor; }
.essay-meta + h1 + .lede { max-width: 42em; color: #6d4b8a; font-size: 19px; line-height: 1.55; }
.essay-meta + h1 + .lede strong { color: #5b3f8c; }
.essay-body strong {
  color: #5b3f8c;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #f1e4fa 60%);
}
.essay-body p.essay-key {
  margin: 22px 0;
  padding: 16px 20px 16px 22px;
  border-left: 4px solid #deb05c;
  border-radius: 0 16px 16px 0;
  background: linear-gradient(90deg, #f6effc 0%, #fbf8fe 100%);
  color: #2f2448;
}
.essay-body p.essay-key strong { background: none; }
.essay-body p.essay-calc {
  position: relative;
  margin: 22px 0;
  padding: 34px 20px 16px;
  border: 1px dashed #c9a8e0;
  border-radius: 16px;
  background: #fdfbff;
  font-variant-numeric: tabular-nums;
}
.essay-body p.essay-calc::before {
  content: "Расчет";
  position: absolute;
  top: 12px;
  left: 20px;
  color: #b8873a;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.essay-fig { margin: 26px 0 30px; }
.essay-fig img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #eadff3;
  border-radius: 18px;
  background: #f6eefc;
  box-shadow: var(--shadow);
}
.essay-fig figcaption {
  margin-top: 12px;
  padding-left: 12px;
  border-left: 2px solid #deb05c;
  color: #6d5a8a;
  font-size: 14px;
  font-style: italic;
  line-height: 1.5;
}
.hvd-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 16px; }
.hvd-split section {
  padding: 18px 20px 6px;
  border: 1px solid #eadff3;
  border-radius: 16px;
  background: linear-gradient(180deg, #faf7fd 0%, #fff 100%);
}
.hvd-split h3 { margin: 0 0 10px; color: #6d4b8a; font-size: 16px; letter-spacing: 0.03em; text-transform: uppercase; }
.hvd-split ul { padding-left: 18px; font-size: 16px; line-height: 1.5; }
.hvd-split li { margin-bottom: 8px; }
@media (max-width: 640px) { .hvd-split { grid-template-columns: 1fr; } }
.essay-cta {
  max-width: 42em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin: 28px 0 0;
  padding: 20px 24px;
  border-radius: 18px;
  background: linear-gradient(180deg, #f6eefc 0%, #fff 100%);
  box-shadow: var(--shadow);
}
.essay-cta p { flex: 1 1 260px; margin: 0; color: #2a2140; font-size: 17px; line-height: 1.5; font-weight: 600; }
.essay-cta .btn { display: inline-flex; align-items: center; height: 48px; margin: 0; background: var(--purple); color: #fff; white-space: nowrap; }
.essay-cta .btn:hover { background: #8e63b4; border-color: #8e63b4; }
.essay-sources { max-width: 42em; margin: 24px 0 0; color: #5c5275; font-size: 14px; line-height: 1.55; }
.essay-sources h2 { margin: 0 0 8px; color: var(--ink); font-size: 16px; }
.essay-sources ol { margin: 0; padding-left: 20px; }
.essay-sources li { margin: 0 0 6px; }
.essay-sources a { color: #6b3fa0; text-decoration: underline; text-decoration-color: #d6c3ea; text-underline-offset: 3px; word-break: break-word; }
.essay-next {
  max-width: 42em;
  margin-top: 36px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.essay-next a {
  display: block;
  margin-top: 8px;
  color: #6d4b8a;
  font-weight: 700;
}
.pdf-only { display: none; }
.pdf-cover {
  margin: 0 0 28px;
  padding: 28px 24px 22px;
  border: 1px solid #eadff3;
  border-radius: 22px;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 97, 187, 0.16), transparent 42%),
    radial-gradient(circle at 88% 12%, rgba(1, 154, 227, 0.14), transparent 40%),
    radial-gradient(circle at 70% 88%, rgba(142, 187, 62, 0.12), transparent 45%),
    linear-gradient(180deg, #f7f1fb 0%, #fff 72%);
}
.pdf-cover-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.pdf-brand {
  margin: 0;
  color: #6d4b8a;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.pdf-badge {
  margin: 0;
  padding: 4px 10px;
  border-radius: 999px;
  background: #efe4f8;
  color: #6d4b8a;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pdf-cover h2 {
  margin: 4px 0 10px;
  font-size: 34px;
  text-transform: uppercase;
}
.pdf-cover h2 span { color: #6d4b8a; text-transform: none; }
.pdf-who { margin: 0; color: #3c3358; font-size: 16px; }
.pdf-cover-line {
  margin: 16px 0 12px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff61bb, #735bc0, #019ae3, #8ebb3e, #e3ae0a, #ed701a, #ed2839);
}
.pdf-cover-hint { margin: 0; color: #7b6b94; font-size: 13px; }
.pdf-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0 0 18px;
}
.pdf-stat {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #eadff3;
  background: #fff;
}
.pdf-stat span {
  display: block;
  margin-bottom: 4px;
  color: #7b6b94;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.pdf-stat b {
  color: #1a1028;
  font-size: 22px;
  font-weight: 700;
}
.pdf-stat.accent-energy { border-color: #c9a8e8; background: #f7f1fb; }
.pdf-stat.accent-energy b { color: #6d4b8a; }
.pdf-stat.accent-pot { border-color: #f0c96a; background: #fff8e8; }
.pdf-stat.accent-pot b { color: #a07810; }
.pdf-stat.accent-yin { border-color: #f5b6d8; background: #fff0f7; }
.pdf-stat.accent-yin b { color: #c44f8a; }
.pdf-stat.accent-yang { border-color: #9ec4f0; background: #eef5ff; }
.pdf-stat.accent-yang b { color: #2d6cb5; }
.pdf-stat.accent-code { border-color: #b8d98a; background: #f3f9ea; }
.pdf-stat.accent-code b { color: #5a8a28; }
.pdf-spine {
  margin: 0 0 22px;
  padding: 18px 18px 12px;
  border: 1px solid #eadff3;
  border-radius: 18px;
  background: linear-gradient(180deg, #fcf9ff 0%, #fff 100%);
}
.pdf-spine h3 { margin: 0 0 12px; }
.pdf-spine-svg { display: block; max-width: 100%; height: auto; }
.pdf-extra {
  margin: 28px 0 0;
  padding: 18px 18px 12px;
  border: 1px solid #eadff3;
  border-radius: 18px;
  background: #faf7fd;
  break-before: page;
}
.pdf-extra h3 { margin: 0 0 10px; }
.pdf-extra p { margin: 0 0 10px; color: #3c3358; }
.pdf-tips {
  margin: 0;
  padding: 0 0 0 18px;
  color: #3c3358;
}
.pdf-tips li { margin: 0 0 10px; padding-left: 4px; }
.pdf-tips li::marker { color: #6d4b8a; font-weight: 700; }
.pdf-sign { margin-top: 16px; color: #7b6b94; font-size: 13px; }
@media print {
  @page { margin: 12mm 11mm; }
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .site-header, .site-footer, .date-bar, .method, .faq, .promo, .pdf-offer, .pay-box, .pay-modal, .t-locked, .crumbs, .error, .no-print, .note-filters, .pair-help, .draw-row, .login, .nav-toggle { display: none !important; }
  .page > h1, .page > .lede { display: none !important; }
  .page { width: auto; padding: 0; max-width: none; }
  .pdf-only { display: block; }
  .pdf-summary { display: grid; }
  .result-head { display: none; }
  body.is-printing .chakra-figure { display: none; }
  body.is-printing .chakra-layout { grid-template-columns: 1fr; }
  body.is-printing .chakra-cell { width: 100%; max-width: none; }
  body.is-printing .board,
  body.is-printing .panel,
  body.is-printing .pdf-block,
  body.is-printing .pdf-spine,
  body.is-printing .pdf-summary {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  body.is-printing .pdf-block[data-pdf="portrait"],
  body.is-printing .pdf-block[data-pdf="tasks"],
  body.is-printing .pdf-block[data-pdf="text"],
  body.is-printing .pdf-extra {
    break-before: page;
    page-break-before: always;
  }
  body.is-printing .board,
  body.is-printing .panel {
    box-shadow: none;
    border: 1px solid #eadff3;
    border-radius: 16px;
    padding: 14px 16px;
    background: #fff;
  }
  body.is-printing .split { gap: 12px; }
  body.is-printing .t-group {
    margin: 0 0 14px;
    padding: 12px 12px 8px;
    border: 1px solid #eadff3;
    border-radius: 14px;
    border-left: 5px solid #b78ece;
    background: #fcfaff;
    break-inside: avoid;
  }
  body.is-printing .t-group > summary {
    background: transparent;
    color: #6d4b8a;
    font-size: 15px;
    padding: 0 0 8px;
  }
  body.is-printing .t-group > summary::after,
  body.is-printing .t-row summary::after { display: none; }
  body.is-printing .t-row {
    border: 1px solid #f0e8f7;
    border-radius: 12px;
    background: #fff;
    break-inside: avoid;
  }
  body.is-printing .t-row summary {
    padding: 10px 12px 6px;
    color: #1a1028;
    font-weight: 700;
  }
  body.is-printing .t-row .t-copy,
  body.is-printing .t-row p { padding-left: 12px; padding-right: 12px; }
  body.is-printing .life-card {
    border: 1px solid #eadff3;
    background: linear-gradient(180deg, #faf7fd 0%, #fff 100%);
  }
  body.is-printing .life-card b { color: #6d4b8a; font-weight: 700; }
  body.is-printing .metric b,
  body.is-printing .person-cell b { font-weight: 700; }
  .mx-card, .board, .panel, .pyth-cell, .sy-key, .tr-card { break-inside: avoid; page-break-inside: avoid; }
  .destiny-wrap { break-inside: avoid; }
  a { color: inherit; text-decoration: none; }
}
.essay-meta + h1 { text-transform: none; }
@media (max-width: 980px) {
  .journal-hero, .journal-row { grid-template-columns: 1fr; }
  .journal-row { gap: 6px; }
  .account-item { flex-direction: column; align-items: stretch; }
}
@media (min-width: 641px) and (max-width: 980px) {
  .journal-row { grid-template-columns: 200px 1fr; gap: 20px; }
}
@media (max-width: 640px) {
  .journal-row { gap: 14px; padding: 22px 0; }
  .journal-hero h2 { font-size: 28px; }
}
.page.essay { width: min(760px, calc(100% - 40px)); }
.page.essay .lede,
.page.essay .essay-body,
.page.essay .essay-cta,
.page.essay .essay-sources,
.page.essay .essay-next { max-width: none; }

mark.hl {
  padding: 0;
  background: none;
  color: inherit;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
mark.hl-task { background: linear-gradient(transparent 60%, #e2cdf4 60%); font-weight: 600; }
mark.hl-plus { background: linear-gradient(transparent 66%, #c9e8d3 66%); }
mark.hl-minus { background: linear-gradient(transparent 66%, #f4ccd6 66%); }
.hl-label, .hl-lead { font-weight: 700; color: #2a2140; }
mark.hl-open { font-weight: 700; }
.hl-label.hl-task { color: #6b3fa0; }
.hl-label.hl-plus { color: #3f8a5c; }
.hl-label.hl-minus { color: #b5536a; }
.hl-legend { margin: 0 0 16px; font-size: 14px; color: #6b6386; line-height: 2; }
.hl-legend mark.hl { margin-left: 6px; font-weight: 600; }

/* Нумерология: оформление каждого метода */
.theme-matrix { --th: #6d4b8a; --th-2: #b78ece; --th-soft: #f4eefa; --th-ink: #3a2158; --th-glow: rgba(183, 142, 206, 0.38); }
.theme-pyth { --th: #2a8471; --th-2: #7cc4b0; --th-soft: #eaf6f1; --th-ink: #1b4a40; --th-glow: rgba(124, 196, 176, 0.38); }
.theme-syutsai { --th: #b4473f; --th-2: #e8a094; --th-soft: #fcf0eb; --th-ink: #5e231e; --th-glow: rgba(232, 160, 148, 0.38); }
.theme-pair { --th: #bf4f7a; --th-2: #eaa3bf; --th-soft: #fceff4; --th-ink: #5e2440; --th-glow: rgba(234, 163, 191, 0.38); }
.theme-profession { --th: #a8680e; --th-2: #e6bf73; --th-soft: #fcf4e3; --th-ink: #553809; --th-glow: rgba(230, 191, 115, 0.42); }

.goal-art {
  position: relative;
  display: block;
  width: calc(100% + 40px);
  margin: -20px -20px 8px;
}
.goal-img {
  display: block;
  width: 100%;
  max-width: none;
  height: 150px;
  border-radius: 18px 18px 0 0;
  object-fit: cover;
  background: var(--th-soft, #f4eefa);
}
.goal-cards button:not(.goal-main) .goal-art::after {
  content: "";
  position: absolute;
  inset: 40% 0 0;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--th, #6d4b8a) 82%, transparent));
}
.goal-cards button:not(.goal-main) .goal-art .goal-label {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 12px;
  z-index: 1;
  color: #fff;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
}
.goal-main .goal-art { display: contents; }
.goal-method {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  color: var(--th-ink, var(--ink));
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
}
.goal-method em {
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--th-soft, #f4eefa);
  color: var(--th, var(--purple));
  font-family: Onest, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.goal-cards button:not(.goal-main) b { font-size: 18px; }
.goal-main .goal-method { color: #fff; font-size: 34px; }
.goal-main .goal-method em { background: rgba(255, 255, 255, 0.2); color: #fff; }
.goal-main b { font-size: 22px; }
.goal-cards button:not(.goal-main) { padding-top: 20px; overflow: hidden; border-top: 4px solid var(--th-2, #eadff3); }
.goal-cards button:not(.goal-main) .goal-label { color: var(--th, var(--purple)); }
.goal-cards button:not(.goal-main) .goal-cta { border-color: var(--th, var(--purple)); color: var(--th, var(--purple)); }
.goal-cards button:not(.goal-main)[aria-pressed="true"] { border-color: var(--th); box-shadow: 0 0 0 2px var(--th) inset; }
.goal-cards button:not(.goal-main)[aria-pressed="true"] .goal-cta { background: var(--th); color: #fff; }
.goal-cards .goal-main { position: relative; overflow: hidden; padding-right: 330px; min-height: 230px; }
.goal-main .goal-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 310px;
  height: 100%;
  margin: 0;
  border-radius: 0;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28%);
  mask-image: linear-gradient(90deg, transparent 0, #000 28%);
}

.num-bundle {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin: 16px 0 0;
  padding: 18px 22px;
  border: 1px solid #ecd9a6;
  border-radius: 20px;
  background: linear-gradient(120deg, #fff9ea 0%, #fff 60%, #f7f1fb 100%);
}
.num-bundle-art { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.num-bundle-art img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.num-bundle h3 { margin: 8px 0 6px; font-size: 22px; text-align: left; text-transform: none; }
.num-bundle p { margin: 0; color: #3c3358; font-size: 15px; line-height: 1.45; }
.num-bundle-buy { display: grid; justify-items: end; gap: 10px; }
.num-bundle-buy .btn { margin: 0; background: var(--purple); color: #fff; }
.num-bundle-plus { margin: -4px 0 0; color: #3c3358; font-size: 14px; white-space: nowrap; }
.num-bundle-plus s { color: #9a8fae; }
.num-bundle-plus b { color: #3a2158; font-size: 17px; }
.num-bundle-buy .btn:hover { background: #8e63b4; border-color: #8e63b4; }
.nr-offer-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8b84a;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.nr-offer-price { display: flex; align-items: baseline; gap: 10px; margin: 0; white-space: nowrap; }
.nr-offer-price s { color: #9a8fae; font-size: 16px; }
.nr-offer-price strong { color: #3a2158; font-size: 28px; }

.tool-panel { position: relative; overflow: hidden; border-top: 4px solid var(--th-2, #eadff3); background: linear-gradient(180deg, var(--th-soft, #f7f4fb) 0%, #fff 100%); }
.tool-panel-img {
  float: right;
  width: 200px;
  height: 150px;
  margin: -6px -8px 8px 18px;
  border-radius: 16px;
  object-fit: cover;
}
.tool-panel .tool-panel-kicker { color: var(--th, var(--purple)); }
.tool-panel .tool-gets li::before { background-color: var(--th, var(--purple)); }
.tool-panel .date-bar .btn { background: var(--th, var(--purple)); border-color: var(--th, var(--purple)); }
.tool-panel .date-bar .btn:hover { filter: brightness(1.08); background: var(--th, var(--purple)); border-color: var(--th, var(--purple)); }
.tool-panel .date-bar { clear: both; }

.num-result { margin-top: 8px; }
.nr-hero {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 26px;
  align-items: center;
  margin: 0 0 18px;
  padding: 20px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 10%, var(--th-glow), transparent 45%),
    linear-gradient(135deg, var(--th-soft) 0%, #fff 100%);
  border: 1px solid var(--th-2);
}
.nr-hero-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; box-shadow: 0 10px 26px rgba(40, 16, 60, 0.12); }
.nr-method { margin: 0 0 4px; color: var(--th); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.nr-hero h2 { margin: 0 0 4px; font-size: 34px; text-transform: uppercase; }
.nr-hero h2 span { color: var(--th); text-transform: none; }
.nr-hero .prof-who { margin: 0 0 14px; }
.nr-keys { display: flex; flex-wrap: wrap; gap: 8px; }
.nr-keys div {
  min-width: 96px;
  padding: 10px 14px;
  border: 1px solid var(--th-2);
  border-radius: 14px;
  background: #fff;
  text-align: center;
}
.nr-keys b { display: block; color: var(--th); font-size: 24px; line-height: 1.1; letter-spacing: 0.02em; }
.nr-keys span { display: block; margin-top: 2px; color: #6b6386; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; }
.nr-actions { display: flex; gap: 10px; margin-top: 14px; }
.nr-actions .btn { margin: 0; border-color: var(--th); color: var(--th); }
.nr-actions .btn:hover { background: var(--th); color: #fff; }

.nr-main {
  margin: 0 0 18px;
  padding: 18px 22px 8px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--th-2);
  box-shadow: inset 4px 0 0 var(--th);
}
.nr-main h3 { margin: 0 0 10px; color: var(--th-ink); font-size: 20px; text-align: left; text-transform: none; }
.nr-main ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.nr-main li { position: relative; margin: 0 0 10px; padding-left: 26px; }
.nr-main li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 16px;
  height: 16px;
  background: var(--th);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.6 6.3 6.9.6-5.2 4.5 1.6 6.7L12 17l-5.9 3.6 1.6-6.7L2.5 9.4l6.9-.6z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.6 6.3 6.9.6-5.2 4.5 1.6 6.7L12 17l-5.9 3.6 1.6-6.7L2.5 9.4l6.9-.6z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nr-main li b { display: block; color: var(--th-ink); }
.nr-main li span { display: block; color: #3c3358; font-size: 15px; line-height: 1.45; }

.nr-toc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 22px;
}
.nr-toc > b { margin-right: 4px; color: #6b6386; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; }
.nr-toc a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid var(--th-2);
  border-radius: 999px;
  background: #fff;
  color: var(--th-ink);
  font-size: 14px;
  text-decoration: none;
}
.nr-toc a:hover { background: var(--th-soft); }
.nr-toc a .nr-ico { width: 16px; height: 16px; }
.nr-toc a.is-locked { border-style: dashed; color: #7b6b94; background: #fbfafc; }
.nr-toc a.is-locked .nr-ico { background: #b7a6cc; }
.nr-toc .lock-mark { width: 14px; height: 14px; }

.nr-ico {
  display: inline-block;
  flex: none;
  width: 22px;
  height: 22px;
  background: var(--th, #6d4b8a);
  -webkit-mask: var(--ico) center / contain no-repeat;
  mask: var(--ico) center / contain no-repeat;
}
.nr-ico[data-icon="star"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.6 5.6 6 .7-4.5 4.1 1.2 6L12 16.4l-5.3 3 1.2-6-4.5-4.1 6-.7z'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="coin"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="heart"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.2A4.3 4.3 0 0 1 12 7a4.3 4.3 0 0 1 7.5 2.8C19.5 15.4 12 20 12 20z'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="bolt"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M13.5 3L5 13.5h6L10 21l8.5-10.5h-6z'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="loop"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M7 8.5a3.5 3.5 0 1 0 0 7c3.5 0 6.5-7 10-7a3.5 3.5 0 1 1 0 7c-3.5 0-6.5-7-10-7z'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="tree"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='4.5' r='2'/%3E%3Ccircle cx='6' cy='12' r='2'/%3E%3Ccircle cx='18' cy='12' r='2'/%3E%3Ccircle cx='12' cy='19.5' r='2'/%3E%3Cpath d='M10.6 6L7.4 10.5M13.4 6l3.2 4.5M7.4 13.5l3.2 4.5M16.6 13.5L13.4 18'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="person"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 20.5a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="compass"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.8 8.2l-2 5.6-5.6 2 2-5.6z'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="grid"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='3'/%3E%3Cpath d='M9.2 3.5v17M14.8 3.5v17M3.5 9.2h17M3.5 14.8h17'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="calendar"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="cross"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 9l6 6M15 9l-6 6'/%3E%3C/svg%3E"); }
.nr-ico[data-icon="book"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M12 6.5C10 5 7 4.5 3.5 5v13.5C7 18 10 18.5 12 20c2-1.5 5-2 8.5-1.5V5C17 4.5 14 5 12 6.5zM12 6.5V20'/%3E%3C/svg%3E"); }

.num-result .mx-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 34px 0 12px;
  padding: 0 0 10px;
  border-bottom: 2px solid var(--th-soft);
  color: var(--th-ink);
  scroll-margin-top: 16px;
}
.nr-num { color: var(--th-2); font-size: 15px; font-weight: 700; letter-spacing: 0.04em; }
.num-result .mx-title .nr-ico { width: 26px; height: 26px; }
.num-result .mx-kicker { color: var(--th); }
.num-result .pyth-mark { border-color: var(--th-2); background: var(--th-soft); color: var(--th); }
.num-result .mx-note, .num-result .mx-do { background: var(--th-soft); }
.num-result .mx-note b, .num-result .mx-do b { color: var(--th); }
.num-result .mx-card { border-color: color-mix(in srgb, var(--th-2) 45%, #fff); }
.num-result .mx-card.sy-ok { border-left: 4px solid var(--th-2); }
.num-result .sy-key { background: var(--th-soft); border-color: var(--th-2); }
.num-result .sy-key b { color: var(--th); }
.num-result .sy-key span { color: color-mix(in srgb, var(--th) 70%, #555); }
.num-result .reading p b, .num-result .nr-offer-card b { color: var(--th); }
.num-result .reading h3 { color: var(--th-ink); }
.num-result .pyth-works div, .num-result .pyth-score { border-color: var(--th-2); }
.num-result .pyth-works b, .num-result .pyth-score b { color: var(--th); }
.num-result .seo-line { color: #7b6b94; }

.theme-pyth .pyth-grid {
  max-width: 520px;
  margin: 0 auto 22px;
  padding: 14px;
  border-radius: 22px;
  background: linear-gradient(135deg, #eaf6f1, #fff);
  border: 1px solid #b9e0d4;
}
.theme-pyth .pyth-cell { border-color: #b9e0d4; }
.theme-pyth .pyth-cell b { color: #1b4a40; }
.theme-pyth .pyth-cell span { color: #2a8471; font-size: 13px; }
.theme-pyth .pyth-cell.is-empty { border-color: #9fd2c3; }
.theme-pyth .pyth-cell.is-empty b { color: #9fc7bb; }

.theme-syutsai .sy-grid {
  max-width: 560px;
  margin: 8px auto 12px;
  padding: 14px;
  border-radius: 22px;
  background: linear-gradient(135deg, #fcf0eb, #fff);
  border: 1px solid #f0c6bc;
}
.theme-syutsai .sy-cell { border-color: #f0c6bc; }
.theme-syutsai .sy-cell.is-ok { background: #fff7f4; }
.theme-syutsai .sy-cell.is-loud { background: #f8dcd4; }
.theme-syutsai .sy-cell.is-none { border-color: #e8a094; }
.theme-syutsai .sy-cell.is-money { outline-color: #d9a441; }
.theme-syutsai .sy-cell i { color: #c98a80; }
.theme-syutsai .sy-legend { justify-content: center; }

.theme-pair .pr-score { background: linear-gradient(135deg, #eaa3bf, #bf4f7a); }
.theme-pair .pr-score.pr-soft { background: #fceff4; }
.theme-pair .pr-score.pr-soft b { color: #bf4f7a; }
.theme-pair .pr-scale i { background: linear-gradient(90deg, #eaa3bf, #bf4f7a); }
.theme-pair .pr-scale::before { background: #fceff4; }

.nr-formula { position: relative; gap: 34px; }
.nr-formula .sy-key { position: relative; }
.nr-formula .sy-key:nth-child(1)::after,
.nr-formula .sy-key:nth-child(2)::after {
  position: absolute;
  top: 50%;
  right: -26px;
  transform: translateY(-50%);
  color: var(--th);
  font-size: 26px;
  font-weight: 700;
}
.nr-formula .sy-key:nth-child(1)::after { content: "+"; }
.nr-formula .sy-key:nth-child(2)::after { content: "="; }
.theme-profession .nr-formula .sy-planet { background: linear-gradient(135deg, #f8e3b0, #fcf4e3); border-color: #e6bf73; }
.theme-profession .nr-formula .sy-planet b { color: #7a4c08; font-size: 30px; padding-top: 0; }

.nr-locked { margin: 30px 0 0; }
.nr-locked-title { margin: 0 0 10px; color: var(--th-ink); font-size: 18px; font-weight: 700; }
.nr-lock-row { gap: 12px; font-size: 17px; box-shadow: inset 3px 0 0 var(--th-2), var(--shadow); }
.nr-lock-row .nr-ico { width: 20px; height: 20px; background: #b7a6cc; }
.nr-offer { margin-top: 18px; border: 1px solid var(--th-2); background: linear-gradient(180deg, var(--th-soft), #fff); }
.nr-offer h3 { color: var(--th-ink); }
.nr-offer-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 12px; margin-top: 14px; }
.nr-offer-grid.is-single { grid-template-columns: minmax(0, 420px); }
.nr-offer-grid.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nr-offer-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 18px 18px 16px;
  border: 1px solid #e3d8ee;
  border-radius: 18px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.nr-offer-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.nr-offer-card b { font-size: 18px; color: #2a2140; }
.nr-offer-card > span:not(.nr-offer-badge):not(.nr-offer-price) { color: #3c3358; font-size: 14px; line-height: 1.45; }
.nr-offer-card .nr-offer-price { margin-top: auto; padding-top: 6px; }
.nr-offer-card.is-best { border: 2px solid #e8b84a; background: linear-gradient(160deg, #fff8e6 0%, #fff 70%); }
.nr-offer-card.is-best .nr-offer-badge { position: absolute; top: -11px; right: 16px; }

.nr-choice { display: grid; gap: 8px; }
.nr-choice-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #e3d8ee;
  border-radius: 14px;
  cursor: pointer;
}
.nr-choice-item:has(input:checked) { border-color: var(--purple); background: #f7f1fb; }
.nr-choice-item input { width: 18px; height: 18px; margin: 0; accent-color: var(--purple); }
.nr-choice-item b { display: block; color: #2a2140; font-size: 15px; }
.nr-choice-item small { display: block; color: #6b6386; font-size: 13px; line-height: 1.35; }
.nr-choice-item em { display: grid; justify-items: end; color: #3a2158; font-style: normal; font-weight: 700; font-size: 18px; white-space: nowrap; }
.nr-choice-item em s { color: #9a8fae; font-weight: 400; font-size: 13px; }
.pay-sheet .nr-choice-item input { width: 18px; height: 18px; padding: 0; }
.nr-extra { display: grid; gap: 8px; padding: 12px 14px; border: 1px dashed #cdb8e2; border-radius: 14px; background: #fbf8fe; }
.nr-extra[hidden] { display: none; }
.nr-extra-title { margin: 0 !important; color: #2a2140 !important; font-size: 14px; font-weight: 700; }
.nr-extra-dates { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 8px; }
.pay-sheet .nr-extra-dates input { height: 44px; padding: 0 12px; }
.nr-extra-roles { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.nr-extra-roles label { display: inline-flex; align-items: center; gap: 8px; color: #3c3358; font-size: 15px; cursor: pointer; }
.pay-sheet .nr-extra-roles input { width: 18px; height: 18px; margin: 0; padding: 0; accent-color: var(--purple); }
.nr-extra-error { margin: 0 !important; color: #b2394f !important; font-size: 13px; }
.nr-extra-error:empty { display: none; }
#num-pay .pay-sheet { max-height: calc(100vh - 40px); overflow-y: auto; }
#num-pay .btn { margin: 0; background: var(--purple); border-color: var(--purple); color: #fff; }
#num-pay .btn:hover { background: #8e63b4; border-color: #8e63b4; }
.nr-pay-note { margin: 12px 0 0 !important; color: var(--muted) !important; font-size: 13px; }
.account-links { display: flex; flex-wrap: wrap; gap: 8px; }
.account-links .btn { margin: 0; }

.nr-cover { display: none; }

@media (max-width: 980px) {
  .goal-cards .goal-main { padding-right: 28px; padding-top: 170px; }
  .goal-main .goal-method { font-size: 28px; }
  .goal-main .goal-img { width: 100%; height: 160px; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
  .num-bundle { grid-template-columns: 1fr; }
  .num-bundle-art { grid-template-columns: repeat(4, 1fr); }
  .num-bundle-buy { justify-items: start; }
  .nr-hero { grid-template-columns: 1fr; }
  .nr-hero-img { max-height: 240px; }
  .nr-offer-grid, .nr-offer-grid.is-three { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .tool-panel-img { float: none; display: block; width: 100%; height: 150px; margin: 0 0 12px; }
  .nr-hero { padding: 14px; }
  .nr-hero h2 { font-size: 26px; }
  .nr-keys div { min-width: 0; flex: 1 1 40%; }
  .nr-formula { gap: 22px; }
  .nr-formula .sy-key:nth-child(1)::after,
  .nr-formula .sy-key:nth-child(2)::after { right: -18px; font-size: 20px; }
  .num-result .mx-title { font-size: 19px; }
}

.theme-matrix { --np-orn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23000' stroke-width='2.2'%3E%3Cpath d='M22 22h56v56H22z'/%3E%3Cpath d='M50 10l40 40-40 40-40-40z'/%3E%3Ccircle cx='50' cy='50' r='12'/%3E%3Ccircle cx='50' cy='50' r='3' fill='%23000'/%3E%3C/svg%3E"); }
.theme-pyth { --np-orn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23000' stroke-width='2.2'%3E%3Crect x='10' y='10' width='24' height='24' rx='5'/%3E%3Crect x='38' y='10' width='24' height='24' rx='5'/%3E%3Crect x='66' y='10' width='24' height='24' rx='5'/%3E%3Crect x='10' y='38' width='24' height='24' rx='5'/%3E%3Crect x='38' y='38' width='24' height='24' rx='5'/%3E%3Crect x='66' y='38' width='24' height='24' rx='5'/%3E%3Crect x='10' y='66' width='24' height='24' rx='5'/%3E%3Crect x='38' y='66' width='24' height='24' rx='5'/%3E%3Crect x='66' y='66' width='24' height='24' rx='5'/%3E%3C/svg%3E"); }
.theme-syutsai { --np-orn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23000' stroke-width='2.2'%3E%3Ccircle cx='50' cy='50' r='38'/%3E%3Ccircle cx='50' cy='50' r='22'/%3E%3Cpath d='M50 28a11 11 0 0 1 0 22a11 11 0 0 0 0 22'/%3E%3Ccircle cx='50' cy='12' r='3' fill='%23000'/%3E%3Ccircle cx='88' cy='50' r='3' fill='%23000'/%3E%3Ccircle cx='50' cy='88' r='3' fill='%23000'/%3E%3Ccircle cx='12' cy='50' r='3' fill='%23000'/%3E%3C/svg%3E"); }
.theme-profession { --np-orn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23000' stroke-width='2.2' stroke-linejoin='round'%3E%3Ccircle cx='50' cy='50' r='40'/%3E%3Cpath d='M50 14l7 29 29 7-29 7-7 29-7-29-29-7 29-7z'/%3E%3Ccircle cx='50' cy='50' r='4'/%3E%3C/svg%3E"); }
.theme-pair { --np-orn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23000' stroke-width='2.2'%3E%3Ccircle cx='37' cy='50' r='25'/%3E%3Ccircle cx='63' cy='50' r='25'/%3E%3Cpath d='M50 40c-4 4-4 16 0 20c4-4 4-16 0-20z' fill='%23000'/%3E%3C/svg%3E"); }
.nr-intro, .nr-close, .nr-schema { display: none; }

/* Нумерология: PDF */
@media print {
  .nr-hero, .nr-toc, .nr-locked, .nr-offer, .num-bundle { display: none !important; }
  body.is-printing-num { background: #fff; }
  body.is-printing-num .page > *:not(.num-result),
  body.is-printing-num .num-result > .seo-line,
  body.is-printing-num .num-result .mx-chips,
  body.is-printing-num .num-result button,
  body.is-printing-num .num-result .nr-ico { display: none !important; }
  body.is-printing-num .page { width: auto; margin: 0; padding: 0; }
  body.is-printing-num .num-result { margin: 0; color: #2a2238; }

  body.is-printing-num .num-result .nr-cover {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 210mm;
    height: 296mm;
    margin: 0;
    padding: 16mm 18mm 13mm;
    overflow: hidden;
    border-radius: 0;
    background:
      radial-gradient(circle at 100% 0%, var(--th-glow), transparent 42%),
      radial-gradient(circle at 0% 100%, var(--th-glow), transparent 40%),
      linear-gradient(180deg, var(--th-soft) 0%, #fff 72%);
    break-after: page;
    page-break-after: always;
  }
  body.is-printing-num .nr-cover::before,
  body.is-printing-num .nr-cover::after {
    content: "";
    position: absolute;
    background: var(--th-2);
    -webkit-mask: var(--np-orn) center / contain no-repeat;
    mask: var(--np-orn) center / contain no-repeat;
    opacity: 0.32;
  }
  body.is-printing-num .nr-cover::before { right: -34mm; top: -30mm; width: 118mm; height: 118mm; }
  body.is-printing-num .nr-cover::after { left: -22mm; bottom: -24mm; width: 70mm; height: 70mm; opacity: 0.22; }
  body.is-printing-num .nr-cover > * { position: relative; z-index: 1; }
  body.is-printing-num .nr-cover-top {
    display: flex;
    justify-content: space-between;
    padding-bottom: 3mm;
    border-bottom: 1px solid var(--th-2);
    color: var(--th);
    font-size: 8.5pt;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
  }
  body.is-printing-num .nr-cover-art {
    width: 138mm;
    margin: 13mm auto 11mm;
    overflow: hidden;
    border: 2mm solid #fff;
    border-radius: 8mm;
    box-shadow: 0 4mm 12mm var(--th-glow);
  }
  body.is-printing-num .nr-cover-img { display: block; width: 100%; margin: 0; border-radius: 0; }
  body.is-printing-num .nr-cover .nr-method { margin: 0 0 3mm; color: var(--th); font-size: 9pt; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
  body.is-printing-num .nr-cover-title { margin: 0; color: var(--th-ink); font-size: 40pt; font-weight: 700; line-height: 1; text-transform: uppercase; }
  body.is-printing-num .nr-cover-title span { display: block; color: var(--th); text-transform: none; }
  body.is-printing-num .nr-cover-who { margin: 5mm 0 7mm; color: #3c3358; font-size: 14pt; font-weight: 700; }
  body.is-printing-num .nr-cover .nr-keys { gap: 3mm; }
  body.is-printing-num .nr-cover .nr-keys div { min-width: 30mm; padding: 3mm 4mm; border: 1px solid var(--th-2); border-radius: 4mm; background: #fff; box-shadow: none; }
  body.is-printing-num .nr-cover .nr-keys b { font-size: 20pt; }
  body.is-printing-num .nr-cover-foot { margin: auto 0 0; padding-top: 4mm; border-top: 1px solid var(--th-2); color: #7b6b94; font-size: 8.5pt; text-align: center; }

  body.is-printing-num .nr-pdf-kicker { margin: 0 0 2mm; color: var(--th); font-size: 8.5pt; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
  body.is-printing-num .nr-pdf-h { margin: 0 0 5mm; color: var(--th-ink); font-size: 24pt; line-height: 1.1; text-align: left; text-transform: none; }
  body.is-printing-num .nr-intro { display: block; }
  body.is-printing-num .nr-intro-text { margin: 0 0 6mm; color: #3c3358; font-size: 11pt; line-height: 1.55; }
  body.is-printing-num .nr-intro-toc { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5mm 8mm; margin: 0 0 6mm; padding: 0; list-style: none; }
  body.is-printing-num .nr-intro-toc li { display: flex; align-items: baseline; gap: 3mm; padding: 2.5mm 0; border-bottom: 1px solid color-mix(in srgb, var(--th-2) 55%, #fff); color: var(--th-ink); font-size: 10.5pt; font-weight: 700; }
  body.is-printing-num .nr-intro-toc span { flex: none; color: var(--th); font-size: 9pt; letter-spacing: 0.06em; }
  body.is-printing-num .nr-intro-how { margin: 0 0 8mm; color: #6b5f86; font-size: 9.5pt; line-height: 1.5; }
  body.is-printing-num .num-result .nr-main {
    margin: 0;
    padding: 6mm 7mm 3mm;
    border: 0;
    border-left: 1.5mm solid var(--th);
    border-radius: 0 5mm 5mm 0;
    background: var(--th-soft);
    box-shadow: none;
    break-inside: avoid;
  }
  body.is-printing-num .num-result .nr-main h3 { margin: 0 0 4mm; font-size: 15pt; }
  body.is-printing-num .num-result .nr-main li span { font-size: 10.5pt; }

  body.is-printing-num .num-result .reading { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; font-size: 10.5pt; line-height: 1.6; }
  body.is-printing-num .nr-intro { padding-top: 4mm; }
  body.is-printing-num .num-result .reading p,
  body.is-printing-num .num-result .reading li { font-size: 10.5pt; line-height: 1.6; }
  body.is-printing-num .num-result .mx-intro { color: #3c3358; }
  body.is-printing-num .num-result .nr-schema,
  body.is-printing-num .num-result .mx-title {
    display: flex;
    align-items: center;
    gap: 4mm;
    margin: 11mm 0 5mm;
    padding: 0 0 3mm;
    border: 0;
    border-bottom: 1.5px solid var(--th-2);
    border-radius: 0;
    background: none;
    color: var(--th-ink);
    font-size: 17pt;
    line-height: 1.15;
    text-align: left;
    text-transform: none;
    break-after: avoid;
    page-break-after: avoid;
    break-inside: avoid;
  }
  body.is-printing-num .num-result .nr-schema { margin-top: 8mm; }
  body.is-printing-num .num-result.theme-matrix .nr-schema { margin-top: 0; break-before: page; page-break-before: always; }
  body.is-printing-num .num-result .nr-schema::after,
  body.is-printing-num .num-result .mx-title::after {
    content: "";
    flex: none;
    width: 9mm;
    height: 9mm;
    margin-left: auto;
    background: var(--th-2);
    -webkit-mask: var(--np-orn) center / contain no-repeat;
    mask: var(--np-orn) center / contain no-repeat;
  }
  body.is-printing-num .num-result .nr-schema .nr-num,
  body.is-printing-num .num-result .mx-title .nr-num {
    display: grid;
    place-items: center;
    flex: none;
    width: 11mm;
    height: 11mm;
    border-radius: 50%;
    background: var(--th);
    color: #fff;
    font-size: 10pt;
    letter-spacing: 0;
  }
  body.is-printing-num .num-result .mx-title + .mx-intro { break-before: avoid; }
  body.is-printing-num .num-result .mx-card {
    margin: 0 0 4mm;
    border: 1px solid color-mix(in srgb, var(--th-2) 60%, #fff);
    border-left: 1mm solid var(--th);
    border-radius: 3mm;
    background: #fff;
    box-shadow: none;
  }
  body.is-printing-num .num-result .mx-grid,
  body.is-printing-num .num-result .mx-pair { gap: 4mm; }
  body.is-printing-num .num-result .destiny-wrap,
  body.is-printing-num .num-result .pyth-grid,
  body.is-printing-num .num-result .sy-grid,
  body.is-printing-num .num-result .sy-top,
  body.is-printing-num .num-result .pr-top { break-inside: avoid; box-shadow: none; }
  body.is-printing-num .num-result .pr-map { break-inside: auto; box-shadow: none; }

  body.is-printing-num .num-result .nr-close {
    display: block;
    margin: 12mm 0 0;
    padding: 0;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  body.is-printing-num .nr-close-list { margin: 0 0 8mm; padding: 0; list-style: none; counter-reset: np; }
  body.is-printing-num .nr-close-list li {
    position: relative;
    margin: 0 0 4mm;
    padding: 4mm 5mm 4mm 17mm;
    border-radius: 4mm;
    background: var(--th-soft);
    color: #2a2238;
    font-size: 10.5pt;
    line-height: 1.55;
    counter-increment: np;
    break-inside: avoid;
  }
  body.is-printing-num .nr-close-list li::before {
    content: counter(np);
    position: absolute;
    left: 5mm;
    top: 4mm;
    display: grid;
    place-items: center;
    width: 8mm;
    height: 8mm;
    border-radius: 50%;
    background: var(--th);
    color: #fff;
    font-size: 10pt;
    font-weight: 700;
  }
  body.is-printing-num .nr-close-sign { margin: 0; padding-top: 4mm; border-top: 1px solid var(--th-2); color: #7b6b94; font-size: 9pt; text-align: center; }

  body.is-printing-num .num-result :is(p, li) { orphans: 3; widows: 3; }
  body.is-printing-num .num-result .mx-intro { break-inside: avoid; page-break-inside: avoid; }
  body.is-printing-num .num-result .pr-duo { grid-template-columns: 1fr 1fr; grid-template-areas: "art art" "she he" "sidea sideb"; align-items: start; break-inside: avoid; page-break-inside: avoid; }
  body.is-printing-num .num-result .pr-duo-art { width: 66%; margin: 0 auto 3mm; }
  body.is-printing-num .num-result .pr-duo-side { gap: 4px; }
  body.is-printing-num .num-result .pr-duo-cell { padding: 4px 10px; box-shadow: none; }
  body.is-printing-num .num-result :is(.mx-card, .mx-zone, .panel, .board, .pr-card) { break-inside: auto; page-break-inside: auto; }
  body.is-printing-num .num-result :is(.mx-grid, .mx-grid.three, .pyth-stack, .mx-health) { display: block; }
  body.is-printing-num .num-result :is(.mx-grid, .pyth-stack, .mx-health) > * { margin: 0 0 4mm; }
  body.is-printing-num .num-result :is(.mx-card, .mx-zone) > header { break-inside: avoid; page-break-inside: avoid; }
  body.is-printing-num .num-result :is(.mx-card, .mx-zone) > :first-child,
  body.is-printing-num .num-result .mx-intro:has(+ :is(.mx-card, .mx-grid, .pyth-stack, .mx-health, .mx-pair, .destiny-wrap, .pyth-grid, .sy-grid, .sy-top, .pr-top, .pr-map)) { break-after: avoid; page-break-after: avoid; }
  body.is-printing-num .num-result .mx-note > b:first-child:has(+ p) { display: block; break-after: avoid; page-break-after: avoid; }
  body.is-printing-num .num-result:not(.theme-profession) .mx-pair { display: inline-grid; width: 100%; vertical-align: top; }
  body.is-printing-num .num-result.theme-profession :is(.mx-note, .mx-pair) { break-inside: auto; page-break-inside: auto; }
  body.is-printing-num .num-result .mx-health article { display: flow-root; }
  body.is-printing-num .num-result .mx-health article > div:first-child { float: left; width: 26mm; margin-right: 5mm; }
  body.is-printing-num .num-result .mx-health article > div:last-child { margin-left: 31mm; }
  body.is-printing-num .num-result .mx-zone-about { break-inside: avoid; break-after: avoid; page-break-after: avoid; }
  body.is-printing-num .num-result .mx-cards-read { display: block; }
  body.is-printing-num .num-result .mx-cards-read li { margin: 0 0 3mm; }
  body.is-printing-num .num-result :is(.mx-note, .mx-pair, .mx-do, .pyth-gift, .pyth-score, .pyth-works, .sy-cell, .pr-row, .mx-ages li, .mx-legend-read li, .mx-cards-read li, .mx-dots figure) { break-inside: avoid; page-break-inside: avoid; }
}

/* Таро: переход в нумерологию */
.num-cross {
  margin-top: 48px;
  padding: 34px;
  border: 1px solid #e6d9f2;
  border-radius: 28px;
  background:
    radial-gradient(circle at 96% 4%, rgba(232, 185, 85, 0.22), transparent 36%),
    radial-gradient(circle at 0% 100%, rgba(248, 177, 216, 0.3), transparent 44%),
    linear-gradient(135deg, #f7f1fc 0%, #efe6f7 55%, #fbf5ff 100%);
  box-shadow: 0 18px 50px rgba(109, 75, 138, 0.16);
}
.num-cross-top { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 34px; align-items: center; }
.num-cross-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #fff;
  color: #6d4b8a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 10px rgba(109, 75, 138, 0.12);
}
.num-cross-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e8b955;
  box-shadow: 0 0 0 4px rgba(232, 185, 85, 0.25);
}
.num-cross h2 { margin: 0 0 14px; color: #2b1747; font-size: 34px; line-height: 1.15; }
.num-cross h2 span {
  display: block;
  background: linear-gradient(90deg, #6d4b8a, #b4609a);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.num-cross-lede { margin: 0 0 12px; color: #3c3358; font-size: 17px; }
.num-cross-gets { display: grid; gap: 9px; margin: 0 0 22px; padding: 0; list-style: none; }
.num-cross-gets li { position: relative; padding-left: 32px; color: #2b1747; font-weight: 600; }
.num-cross-gets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #6d4b8a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat;
}
.num-cross-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(109, 75, 138, 0.16);
}
.num-cross-form .fields { gap: 8px; flex-wrap: nowrap; }
.num-cross-form .fields input[inputmode="numeric"] { width: 74px; height: 50px; padding: 0 8px; border-color: #d9c9e8; border-radius: 12px; }
.num-cross-form .fields input[name="year"] { width: 92px; }
.num-cross-form .btn {
  flex: 1 1 180px;
  height: 50px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #7b4fa6, #b4609a);
  color: #fff;
  box-shadow: 0 8px 20px rgba(123, 79, 166, 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.num-cross-form .btn::after { content: " \2192"; }
.num-cross-form .btn:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(123, 79, 166, 0.45); }
.num-cross-note { margin: 12px 0 0; color: #6b5f86; font-size: 14px; }
.num-cross-error { margin: 10px 0 0; color: #b4234a; font-size: 14px; }
.num-cross-error:empty { display: none; }
.num-cross-art {
  display: block;
  overflow: hidden;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(109, 75, 138, 0.22);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.num-cross-art img { width: 100%; height: auto; transition: transform 0.6s ease; }
.num-cross-art:hover { transform: translateY(-3px); box-shadow: 0 20px 48px rgba(109, 75, 138, 0.3); }
.num-cross-art:hover img { transform: scale(1.03); }
.num-cross-deal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 14px 18px; }
.num-cross-deal b { flex: 1 1 140px; color: #2b1747; font-size: 15px; line-height: 1.25; }
.num-cross-deal .nr-offer-price strong { font-size: 24px; }
.num-cross-pick { margin: 30px 0 12px; color: #6d4b8a; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.num-cross-methods { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.num-cross-methods a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--th-2);
  border-radius: 16px;
  background: #fff;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.num-cross-methods a:hover { transform: translateY(-2px); border-color: var(--th); box-shadow: 0 10px 24px var(--th-glow); }
.num-cross-methods img { flex: none; width: 50px; height: 50px; border-radius: 12px; object-fit: cover; background: var(--th-soft); }
.num-cross-methods b { display: block; color: var(--th-ink); font-size: 14px; line-height: 1.2; }
.num-cross-methods small { display: block; margin-top: 2px; color: #6b5f86; font-size: 12px; line-height: 1.25; }
@media (max-width: 980px) {
  .num-cross-top { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .num-cross-art { order: -1; }
  .num-cross-methods { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .num-cross { margin-top: 32px; padding: 18px; border-radius: 22px; }
  .num-cross h2 { font-size: 26px; }
  .num-cross-lede { font-size: 16px; }
  .num-cross-form .fields { flex: 1 1 100%; min-width: 0; }
  .num-cross-form .fields input[inputmode="numeric"] { flex: 1 1 0; width: auto; min-width: 0; }
  .num-cross-form .fields input[name="year"] { flex-grow: 1.4; width: auto; }
  .num-cross-form .btn { flex-basis: 100%; }
  .num-cross-methods { grid-template-columns: 1fr 1fr; }
}
@media print {
  .num-cross { display: none !important; }
}

/* Шапка: логотип-кнопка */
.site-header .logo {
  position: relative;
  align-items: center;
  gap: 16px;
  padding: 8px 8px 8px 74px;
  border: 1px solid #e3d6f2;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at 72% 70%, rgba(248, 190, 215, 0.5), transparent 52%),
    radial-gradient(ellipse at 30% 20%, rgba(203, 184, 242, 0.45), transparent 55%),
    linear-gradient(100deg, #f3eefc 0%, #fcf5fb 60%, #f2edfb 100%);
  box-shadow: 0 8px 22px rgba(150, 120, 200, 0.2), inset 0 1px 0 #fff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.site-header .logo::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 62px;
  height: 50px;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 52'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23c9b6f2'/%3E%3Cstop offset='0.55' stop-color='%23a98ee0'/%3E%3Cstop offset='1' stop-color='%23f2c3e2'/%3E%3C/linearGradient%3E%3CradialGradient id='p' cx='0.45' cy='0.4' r='0.6'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23eadff8'/%3E%3C/radialGradient%3E%3Cmask id='m'%3E%3Crect width='64' height='52' fill='%23fff'/%3E%3Ccircle cx='31' cy='25' r='19.5' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Ccircle cx='31' cy='25' r='19.5' fill='url(%23p)' opacity='0.9'/%3E%3Ccircle cx='25' cy='26' r='23' fill='url(%23g)' mask='url(%23m)'/%3E%3Cpath d='M38 19.5c.5 3.6 1.9 5 5.5 5.5-3.6.5-5 1.9-5.5 5.5-.5-3.6-1.9-5-5.5-5.5 3.6-.5 5-1.9 5.5-5.5z' fill='%238e6cc9'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 2px 6px rgba(150, 120, 200, 0.25));
}
.site-header .logo::after {
  content: "";
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat,
    linear-gradient(135deg, #e2d4f8 0%, #bfa8ea 100%);
  box-shadow: 0 4px 10px rgba(160, 130, 215, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  transition: transform 0.2s ease;
}
.site-header .logo:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(150, 120, 200, 0.3), inset 0 1px 0 #fff; }
.site-header .logo:hover::after { transform: translateX(2px); }
.site-header .logo-words { width: 196px; gap: 7px; }
.site-header .logo-words b { color: #3a2158; font-family: Onest, sans-serif; font-size: 19px; font-weight: 700; }
.site-header .logo-words .logo-lite { color: #3a2158; }
.site-header .logo-words small { color: #9a7cc4; font-size: 11px; font-weight: 500; }
@media (max-width: 640px) {
  .site-header .logo { gap: 10px; padding: 6px 6px 6px 56px; }
  .site-header .logo::before { left: 6px; width: 48px; height: 38px; }
  .site-header .logo::after { width: 32px; height: 32px; background-size: 15px, auto; }
  .site-header .logo-words { width: 150px; gap: 5px; }
  .site-header .logo-words b { font-size: 15px; }
  .site-header .logo-words small { font-size: 9px; }
}

/* Таро: светлая мистика */
.tr-hero { margin: 0 0 30px; }
.tr-hero .lede { margin-bottom: 18px; color: #3c3358; }
.tr-steps { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tr-steps li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 16px 6px 6px;
  border: 1px solid #ece2f5;
  border-radius: 999px;
  background: #fff;
  color: #4a3a66;
  font-size: 14px;
  box-shadow: 0 2px 10px rgba(109, 75, 138, 0.07);
}
.tr-steps i {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f3eafb, #fbe9f3);
  color: #6d4b8a;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
}
.tr-h { margin: 0 0 18px; color: #3a2158; font-size: 26px; text-transform: none; }

.tr-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tr-group {
  padding: 18px;
  border: 1px solid #efe5f6;
  border-radius: 22px;
  background: linear-gradient(180deg, #fdfaff 0%, #fff 100%);
}
.tr-group-title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; color: #3a2158; font-size: 17px; }
.tr-group-title svg {
  flex: none;
  width: 34px;
  height: 34px;
  padding: 7px;
  border-radius: 50%;
  background: #f5edfb;
  fill: none;
  stroke: #8d62ad;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tr-group-cards { display: grid; gap: 10px; }
.tr-spread {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  width: 100%;
  padding: 8px 14px 8px 8px;
  border: 1px solid #eee6f4;
  border-radius: 16px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.tr-spread img { width: 76px; height: 76px; border-radius: 12px; object-fit: cover; }
.tr-spread-text { display: grid; gap: 2px; min-width: 0; }
.tr-spread b { color: #2f2840; font-size: 16px; }
.tr-spread small { color: #7a6b8a; font-size: 13.5px; line-height: 1.35; }
.tr-spread em {
  justify-self: start;
  margin-top: 4px;
  padding: 2px 9px;
  border-radius: 999px;
  background: #faf3e3;
  color: #a5802f;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}
.tr-spread:hover { border-color: #dcc8ec; box-shadow: 0 8px 22px rgba(109, 75, 138, 0.12); transform: translateY(-1px); }
.tr-spread[aria-pressed="true"] {
  border-color: #b78ece;
  background: linear-gradient(135deg, #faf5fe, #fff 60%);
  box-shadow: 0 0 0 3px rgba(183, 142, 206, 0.22), 0 8px 22px rgba(109, 75, 138, 0.14);
}
.tr-spread[aria-pressed="true"] b { color: #6b3f93; }

.tr-stage {
  position: relative;
  overflow: hidden;
  margin: 34px 0 0;
  padding: 34px 32px 30px;
  border: 1px solid #eadff4;
  border-radius: 30px;
  scroll-margin-top: 16px;
  background:
    radial-gradient(ellipse 60% 50% at 50% 58%, rgba(214, 190, 240, 0.45), transparent 70%),
    radial-gradient(circle at 92% 8%, rgba(232, 196, 120, 0.18), transparent 30%),
    radial-gradient(circle at 6% 92%, rgba(248, 177, 216, 0.22), transparent 36%),
    linear-gradient(180deg, #fcf9ff 0%, #f7f0fc 100%);
  box-shadow: 0 18px 50px rgba(109, 75, 138, 0.14);
}
.tr-stage > * { position: relative; }
.tr-stage > .tr-deco { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.tr-stage > .tr-star {
  position: absolute;
  width: 14px;
  height: 14px;
  background: #e0bf72;
  clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
  pointer-events: none;
  animation: tr-twinkle 4s ease-in-out infinite;
}
.tr-stage > .tr-star.s1 { top: 30px; right: 9%; }
.tr-stage > .tr-star.s2 { top: 44%; left: 2.5%; width: 10px; height: 10px; background: #c9a6e6; animation-delay: 1.2s; }
.tr-stage > .tr-star.s3 { right: 3.5%; bottom: 90px; width: 9px; height: 9px; animation-delay: 2.1s; }
.tr-stage > .tr-star.s4 { top: 24px; left: 22%; width: 8px; height: 8px; background: #f0a7c9; animation-delay: 0.6s; }
.tr-stage > .tr-moon {
  position: absolute;
  top: 26px;
  left: 30px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  box-shadow: inset 8px -4px 0 0 #e6c987;
  opacity: 0.8;
  transform: rotate(-20deg);
  pointer-events: none;
}
@keyframes tr-twinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.85); }
  50% { opacity: 0.9; transform: scale(1.1); }
}
.tr-stage-head { max-width: 760px; margin: 0 auto 14px; text-align: center; }
.tr-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
  color: #a5802f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.tr-kicker::before, .tr-kicker::after { content: ""; width: 24px; height: 1px; background: linear-gradient(90deg, transparent, #d9b66a); }
.tr-kicker::after { transform: scaleX(-1); }
.tr-stage-head h2 { margin: 0 0 8px; color: #3a2158; font-size: 30px; text-transform: none; }
.tr-stage-blurb { margin: 0; color: #5b4d72; font-size: 15px; }
.tr-stage .tune {
  max-width: 640px;
  margin: 0 auto 18px;
  padding: 12px 18px;
  border: 1px dashed #e2d3ef;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: none;
  color: #6b5f86;
  font-size: 14px;
  font-style: italic;
  text-align: center;
}
.tr-question { display: grid; gap: 6px; max-width: 640px; margin: 0 auto 18px; text-align: left; }
.tr-question > span { color: #3a2158; font-size: 15px; font-weight: 700; }
.tr-question > span small { color: #8d7fa6; font-size: 12px; font-weight: 400; }
.tr-question input { width: 100%; height: 48px; padding: 0 16px; border: 1px solid #dccbeb; border-radius: 12px; background: #fff; color: #2a2140; font: inherit; font-size: 16px; }
.tr-question input:focus { outline: 2px solid #cdb4e6; outline-offset: 1px; border-color: #b78ece; }
.tr-question > small { color: #8d7fa6; font-size: 12.5px; }
.tr-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 24px; margin: 0 0 18px; }
.tr-shuffle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  padding: 0 22px;
  border: 1.5px solid #b78ece;
  border-radius: 999px;
  background: #fff;
  color: #6b3f93;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.tr-shuffle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tr-shuffle:hover { background: #f6effb; }
.tr-shuffle.is-calling {
  border-color: transparent;
  background: linear-gradient(135deg, #7b4fa6, #b4609a);
  color: #fff;
  animation: tr-call 2.4s ease-in-out infinite;
}
@keyframes tr-call {
  0%, 100% { box-shadow: 0 8px 20px rgba(123, 79, 166, 0.35), 0 0 0 0 rgba(183, 142, 206, 0.55); }
  50% { box-shadow: 0 8px 20px rgba(123, 79, 166, 0.35), 0 0 0 10px rgba(183, 142, 206, 0); }
}
.tr-shuffle.is-nudge, .tr-open-btn.is-nudge { animation: tr-nudge 0.5s ease; }
@keyframes tr-nudge {
  20%, 60% { transform: translateX(-5px); }
  40%, 80% { transform: translateX(5px); }
}
.tr-count { display: grid; justify-items: center; gap: 7px; }
.tr-count .pick-status { margin: 0; color: #6b3f93; font-weight: 700; }
.tr-dots { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; max-width: 230px; }
.tr-dots i { width: 9px; height: 9px; border: 1.5px solid #cdb4e6; border-radius: 50%; background: #fff; transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
.tr-dots i.is-on { border-color: #d9b66a; background: #e6c987; transform: scale(1.15); }

.tarot-layout { display: grid; gap: 14px; justify-items: center; margin: 0 auto 24px; padding: 22px 0 8px; }
.tr-row { display: flex; justify-content: center; }
.tarot-pick {
  --r: 0deg;
  --y: 0px;
  position: relative;
  width: 84px;
  margin: 0 -3px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  cursor: pointer;
  filter: drop-shadow(0 6px 10px rgba(74, 45, 110, 0.22));
  transform: translateY(var(--y)) rotate(var(--r));
  transition: transform 0.25s ease, filter 0.25s ease, opacity 0.25s ease;
}
.tarot-pick img { width: 100%; height: auto; border-radius: 9px; }
.tarot-layout:not(.is-ready) .tarot-pick { cursor: default; filter: drop-shadow(0 4px 8px rgba(74, 45, 110, 0.15)) saturate(0.8) brightness(1.05); }
.tarot-layout.is-ready .tarot-pick:hover { z-index: 2; filter: drop-shadow(0 12px 16px rgba(74, 45, 110, 0.3)); transform: translateY(calc(var(--y) - 12px)) rotate(var(--r)); }
.tarot-layout .tarot-pick.is-picked {
  z-index: 3;
  filter: drop-shadow(0 0 9px rgba(230, 201, 135, 0.95)) drop-shadow(0 12px 18px rgba(74, 45, 110, 0.3));
  transform: translateY(calc(var(--y) - 18px)) rotate(var(--r));
}
.tarot-pick.is-picked img { outline: 2px solid #e6c987; outline-offset: 2px; }
.tarot-layout.is-full .tarot-pick:not(.is-picked) { opacity: 0.5; }
.tarot-layout.is-full .tarot-pick:not(.is-picked):hover { transform: translateY(var(--y)) rotate(var(--r)); }
.pick-n {
  position: absolute;
  top: -9px;
  right: -7px;
  display: none;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(135deg, #7b4fa6, #b4609a);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 3px 8px rgba(74, 45, 110, 0.35);
}
.tarot-pick.is-picked .pick-n { display: grid; animation: tr-pop 0.3s ease; }
@keyframes tr-pop {
  from { transform: scale(0.3); }
  to { transform: scale(1); }
}
.tarot-layout.is-shuffling .tarot-pick { pointer-events: none; animation: card-mix 0.9s ease-in-out; }
@keyframes card-mix {
  0% { transform: translateY(var(--y)) rotate(var(--r)); }
  45%, 55% { transform: translate(var(--dx), var(--dy)) rotate(var(--rot)); }
  100% { transform: translateY(var(--y)) rotate(var(--r)); }
}
.tarot-layout.is-dealt .tarot-pick { animation: tr-deal 0.45s ease both; animation-delay: calc(var(--i) * 16ms); }
@keyframes tr-deal {
  from { opacity: 0; transform: translateY(calc(var(--y) + 14px)) rotate(var(--r)) scale(0.92); }
  to { opacity: 1; transform: translateY(var(--y)) rotate(var(--r)); }
}

.tr-tray-wrap {
  max-width: 980px;
  margin: 0 auto 20px;
  padding: 14px 18px 14px;
  border: 1px solid #eee3f6;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
}
.tr-tray-title { margin: 0 0 10px; color: #8a7fa3; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-align: center; text-transform: uppercase; }
.tr-tray { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 8px; margin: 0; padding: 0; list-style: none; }
.tr-slot button { display: grid; justify-items: center; gap: 6px; width: 78px; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.tr-slot button:disabled { cursor: default; }
.tr-slot-card {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 70px;
  border: 1.5px dashed #d6c3e8;
  border-radius: 7px;
  background: rgba(247, 240, 252, 0.85);
  transition: transform 0.2s ease;
}
.tr-slot-card img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 6px; }
.tr-slot-card i { position: relative; color: #b79fcf; font-size: 13px; font-style: normal; font-weight: 700; }
.tr-slot.is-filled .tr-slot-card { border: 0; box-shadow: 0 4px 10px rgba(74, 45, 110, 0.25); animation: tr-pop 0.3s ease; }
.tr-slot.is-filled .tr-slot-card i {
  position: absolute;
  top: -8px;
  right: -8px;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(135deg, #7b4fa6, #b4609a);
  color: #fff;
  font-size: 10px;
}
.tr-slot.is-filled button:hover .tr-slot-card { transform: translateY(-3px); }
.tr-slot small { color: #6b5f86; font-size: 11.5px; line-height: 1.25; text-align: center; }
.tr-slot.is-filled small { color: #3a2158; font-weight: 700; }

.tr-open { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; }
.tr-open-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 56px;
  padding: 0 34px;
  border: 0;
  border-radius: 999px;
  background: #e5d9ef;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: not-allowed;
  transition: background 0.3s ease, transform 0.2s ease;
}
.tr-open-btn::after { content: "\2192"; }
.tr-open-btn.is-ready {
  background: linear-gradient(135deg, #7b4fa6 0%, #b4609a 100%);
  cursor: pointer;
  animation: tr-glow 2.4s ease-in-out infinite;
}
.tr-open-btn.is-ready:hover { transform: translateY(-2px); }
@keyframes tr-glow {
  0%, 100% { box-shadow: 0 10px 26px rgba(123, 79, 166, 0.4), 0 0 0 4px rgba(230, 201, 135, 0.4); }
  50% { box-shadow: 0 10px 30px rgba(123, 79, 166, 0.5), 0 0 0 9px rgba(230, 201, 135, 0.12); }
}
.tr-reset { border: 0; background: none; color: #8a7fa3; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tr-reset[hidden] { display: none; }
.tr-hint { margin: 12px 0 0; color: #8a7fa3; font-size: 13px; text-align: center; }

.tr-saved { margin: 34px 0 0; }
.tr-saved[hidden] { display: none; }
.tr-saved-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tr-saved-list li { position: relative; }
.tr-saved-list a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 44px 12px 12px;
  border: 1px solid #eee6f4;
  border-radius: 16px;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.tr-saved-list a:hover { border-color: #dcc8ec; box-shadow: 0 8px 22px rgba(109, 75, 138, 0.12); }
.tr-saved-thumbs { display: flex; flex: none; }
.tr-saved-thumbs img { width: 34px; height: 58px; border: 2px solid #fff; border-radius: 5px; object-fit: cover; box-shadow: 0 2px 6px rgba(74, 45, 110, 0.2); }
.tr-saved-thumbs img + img { margin-left: -14px; }
.tr-saved-text { display: grid; gap: 2px; min-width: 0; }
.tr-saved-text b { color: #3a2158; font-size: 15px; }
.tr-saved-text small { overflow: hidden; color: #6b5f86; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.tr-saved-text em { color: #a5802f; font-size: 12px; font-style: normal; }
.tr-saved-del {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #f6f0fa;
  color: #8a7fa3;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.tr-saved-del:hover { background: #efe3f7; color: #6b3f93; }

.tr-read-head {
  position: relative;
  overflow: hidden;
  margin: 0 0 22px;
  padding: 30px 28px 26px;
  border: 1px solid #eadff4;
  border-radius: 28px;
  background:
    radial-gradient(ellipse 55% 75% at 50% 0%, rgba(214, 190, 240, 0.5), transparent 70%),
    radial-gradient(circle at 95% 90%, rgba(232, 196, 120, 0.18), transparent 30%),
    radial-gradient(circle at 4% 80%, rgba(248, 177, 216, 0.22), transparent 34%),
    #fcf9ff;
  text-align: center;
}
.tr-read-head h1 { margin: 0 0 8px; }
.tr-read-lede { margin: 0; color: #5b4d72; font-size: 16px; }
.tr-read-lede[hidden] { display: none; }
.tr-read-q { max-width: 640px; margin: 14px auto 0; padding: 12px 18px; border: 1px solid #ecdcb8; border-radius: 14px; background: #fffaf0; color: #3a2158; font-size: 17px; font-style: italic; }
.tr-read-q span { display: block; margin: 0 0 2px; color: #b48a3c; font-size: 11.5px; font-style: normal; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.tr-read-q[hidden] { display: none; }

.tr-board {
  margin: 0 0 30px;
  padding: 24px 22px 28px;
  border: 1px solid #eee3f6;
  border-radius: 28px;
  background:
    radial-gradient(ellipse 60% 55% at 50% 50%, rgba(220, 200, 242, 0.4), transparent 72%),
    linear-gradient(180deg, #fdfbff, #f8f2fc);
}
.tr-board-hint { margin: 0 0 22px; color: #8a7fa3; font-size: 13px; text-align: center; }
.tr-tile { display: grid; justify-items: center; align-content: start; gap: 6px; width: 132px; color: inherit; text-align: center; animation: tr-rise 0.5s ease both; animation-delay: var(--d, 0ms); }
.tr-tile-img { position: relative; display: block; width: 100%; border-radius: 12px; box-shadow: 0 10px 22px rgba(74, 45, 110, 0.22); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.tr-tile-img img { width: 100%; height: auto; border-radius: 12px; }
.tr-tile-img img.is-reversed, .tr-card-img img.is-reversed { transform: rotate(180deg); }
.tr-tile-img i {
  position: absolute;
  top: -9px;
  left: -9px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(135deg, #7b4fa6, #b4609a);
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}
.tr-tile:hover .tr-tile-img { box-shadow: 0 0 0 3px rgba(230, 201, 135, 0.6), 0 14px 26px rgba(74, 45, 110, 0.28); transform: translateY(-4px); }
.tr-tile-pos { margin-top: 4px; color: #a5802f; font-size: 11.5px; font-weight: 700; letter-spacing: 0.06em; line-height: 1.25; text-transform: uppercase; }
.tr-tile b { color: #3a2158; font-size: 15px; line-height: 1.2; }
.tr-tile.is-main { width: 170px; }
.tr-tile.is-hero { width: 210px; }
@keyframes tr-rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
.tr-grid { display: grid; grid-template-columns: repeat(var(--n), 132px); justify-content: center; gap: 24px 22px; }
.tr-duo { display: flex; align-items: center; justify-content: center; gap: 26px; }
.tr-duo-mid { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px 20px; max-width: 480px; padding: 20px 18px; border: 1px dashed #e2d3ef; border-radius: 22px; background: rgba(255, 255, 255, 0.45); }
.tr-year { display: grid; grid-template-columns: repeat(6, 118px); justify-content: center; gap: 24px 18px; }
.tr-year .tr-tile { width: 118px; }
.tr-year-total { display: flex; justify-content: center; margin-top: 26px; padding-top: 24px; border-top: 1px dashed #e2d3ef; }
.tr-single { display: grid; justify-items: center; gap: 18px; }
.tr-single .verdict { padding: 12px 30px; border-radius: 999px; font-size: 26px; }
.tr-turn { margin: 0; padding: 6px 18px; border-radius: 999px; background: #fff; color: #6b3f93; font-weight: 700; box-shadow: var(--shadow); }

.tr-chakra-col { position: relative; display: grid; gap: 10px; max-width: 640px; margin: 0 auto; padding: 0; list-style: none; }
.tr-chakra-col::before {
  content: "";
  position: absolute;
  top: 30px;
  bottom: 30px;
  left: 31px;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(180deg, #9b5fd6, #6a5bd0, #3f8fd8, #4fa65a, #d99a1e, #ec8236, #e2526a);
  opacity: 0.5;
}
.tr-chakra-col li { animation: tr-rise 0.5s ease both; animation-delay: var(--d); }
.tr-chakra-col a {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 52px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 8px 16px 8px 18px;
  border: 1px solid #eee6f4;
  border-left: 3px solid var(--c);
  border-radius: 16px;
  background: #fff;
  color: inherit;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.tr-chakra-col a:hover { box-shadow: 0 8px 20px rgba(109, 75, 138, 0.12); transform: translateX(3px); }
.tr-ch-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fff 0 16%, var(--c) 62%);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 16%, transparent), 0 0 14px color-mix(in srgb, var(--c) 55%, transparent);
}
.tr-ch-name { display: grid; }
.tr-ch-name b { color: var(--c); font-size: 16px; }
.tr-ch-name small { color: #7a6b8a; font-size: 12.5px; }
.tr-chakra-col img { width: 52px; height: auto; border-radius: 6px; box-shadow: 0 4px 10px rgba(74, 45, 110, 0.2); }
.tr-ch-card { display: flex; align-items: center; gap: 8px; }
.tr-ch-card i {
  display: grid;
  flex: none;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f5edfb;
  color: #6b3f93;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}
.tr-ch-card b { color: #3a2158; font-size: 15px; }

.tr-cards { display: grid; gap: 18px; margin: 0 0 28px; }
.tr-card {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  padding: 22px 24px;
  border: 1px solid #eee6f4;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 4px 22px rgba(183, 142, 206, 0.16);
  scroll-margin-top: 20px;
  transition: box-shadow 0.4s ease;
}
.tr-card[style*="--c"] { border-left: 4px solid var(--c); }
.tr-card:target { box-shadow: 0 0 0 3px rgba(230, 201, 135, 0.6), 0 10px 30px rgba(109, 75, 138, 0.18); }
.tr-card-img { position: sticky; top: 20px; margin: 0; }
.tr-card-img img { width: 100%; height: auto; border-radius: 14px; box-shadow: 0 10px 22px rgba(74, 45, 110, 0.2); }
.tr-card-pos { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; color: #a5802f; font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.tr-card-pos i {
  display: grid;
  flex: none;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7b4fa6, #b4609a);
  color: #fff;
  font-size: 12px;
  font-style: normal;
  letter-spacing: 0;
}
.tr-card h2 { margin: 0 0 14px; color: #3a2158; font-size: 28px; text-align: left; text-transform: none; }
.tr-card-main {
  position: relative;
  margin: 0 0 16px;
  padding: 14px 18px 14px 22px;
  border-radius: 16px;
  background: linear-gradient(135deg, #f8f1fd, #fdf4f8);
  color: #3a2158;
  font-size: 17px;
  line-height: 1.45;
}
.tr-card-main::before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 0; width: 3px; border-radius: 3px; background: linear-gradient(180deg, #e6c987, #b78ece); }
.tr-card-main span, .tr-card-sec > span { display: block; margin: 0 0 4px; color: #8d62ad; font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.tr-card-sec { margin: 0 0 14px; }
.tr-card-sec p { margin: 0 0 8px; color: #3c3358; }
.tr-card-sec b { color: #8d62ad; }
.tr-card-sec p.tr-advice { padding: 10px 14px; border-left: 3px solid #e6c987; border-radius: 0 12px 12px 0; background: #fbf7ee; color: #3a2158; }
.tr-card-sec p.is-drawn { padding: 10px 14px; border-radius: 12px; background: #fbf7ee; }
.tr-card-up { color: #8a7fa3; font-size: 13px; font-weight: 600; }
.tr-card-up::before { content: "\2191\00a0"; }

.tr-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 28px 0 8px;
  padding: 22px;
  border: 1px solid #eee3f6;
  border-radius: 24px;
  background: linear-gradient(180deg, #fdfbff, #f8f2fc);
}
.tr-actions[hidden] { display: none; }
.tr-act {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 50px;
  padding: 0 22px;
  border: 1.5px solid #d9c6ea;
  border-radius: 999px;
  background: #fff;
  color: #6b3f93;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.tr-act svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tr-act:hover { border-color: #b78ece; box-shadow: 0 6px 16px rgba(109, 75, 138, 0.14); transform: translateY(-1px); }
.tr-act.is-main { border-color: transparent; background: linear-gradient(135deg, #7b4fa6, #b4609a); color: #fff; box-shadow: 0 8px 20px rgba(123, 79, 166, 0.35); }
.tr-act.is-done { border-color: #cfe6c6; background: #f7fcf5; color: #4f8a45; }
.tr-act.is-done svg { fill: currentColor; }
.tr-save-note { max-width: 640px; margin: 10px auto 0; color: #6b5f86; font-size: 14px; text-align: center; }
.tr-save-note:empty { display: none; }
.tr-empty { display: grid; justify-items: center; gap: 14px; padding: 30px; text-align: center; }

.verdict {
  margin: 0;
  padding: 18px 22px;
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow);
  color: var(--purple);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
}
.spread-read { margin: 0 0 28px; }

@media (max-width: 980px) {
  .tr-groups { grid-template-columns: 1fr; }
  .tr-duo { flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .tr-steps li { font-size: 13px; }
  .tr-group { padding: 14px; }
  .tr-spread { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  .tr-spread img { width: 64px; height: 64px; }
  .tr-stage { margin-top: 26px; padding: 26px 12px 22px; border-radius: 24px; }
  .tr-stage-head h2 { font-size: 24px; }
  .tr-stage > .tr-moon { top: 14px; left: 14px; width: 24px; height: 24px; box-shadow: inset 6px -3px 0 0 #e6c987; }
  .tarot-layout { gap: 10px; padding-top: 16px; }
  .tarot-pick { width: 50px; margin: 0 2px; }
  .pick-n { top: -8px; right: -6px; width: 22px; height: 22px; font-size: 11px; }
  .tr-tray-wrap { padding: 12px 6px; }
  .tr-slot button { width: 64px; }
  .tr-slot small { font-size: 10.5px; }
  .tr-open-btn { width: 100%; }
  .tr-read-head { padding: 22px 16px 20px; }
  .tr-board { padding: 18px 10px 22px; }
  .tr-grid { grid-template-columns: repeat(2, minmax(0, 140px)); gap: 22px 16px; }
  .tr-grid .tr-tile { width: 100%; }
  .tr-duo { gap: 16px; }
  .tr-duo > .tr-tile.is-main { width: calc(50% - 8px); max-width: 160px; }
  .tr-duo > .tr-tile:first-child { order: 1; }
  .tr-duo > .tr-tile:last-child { order: 2; }
  .tr-duo-mid { order: 3; width: 100%; padding: 16px 8px; gap: 20px 14px; }
  .tr-duo-mid .tr-tile { width: calc(50% - 7px); max-width: 130px; }
  .tr-year { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 10px; }
  .tr-year .tr-tile { width: 100%; }
  .tr-chakra-col::before { left: 22px; }
  .tr-chakra-col a { grid-template-columns: 18px minmax(0, 1fr) 40px minmax(0, 1fr); gap: 10px; padding: 8px 10px 8px 11px; }
  .tr-ch-dot { width: 18px; height: 18px; }
  .tr-chakra-col img { width: 40px; }
  .tr-ch-name b { font-size: 14px; }
  .tr-ch-name small { font-size: 11px; }
  .tr-ch-card i { display: none; }
  .tr-ch-card b { font-size: 13.5px; }
  .tr-card { grid-template-columns: 1fr; gap: 16px; padding: 18px 16px; }
  .tr-card-img { position: static; width: 150px; }
  .tr-card h2 { font-size: 24px; }
  .tr-act { flex: 1 1 100%; justify-content: center; }
}
@media print {
  .tr-read-head, .tr-board-hint, .tr-card-up, .tr-actions, .tr-save-note { display: none !important; }
  .tr-board, .tr-card, .tr-tile, .tr-chakra-col li { break-inside: avoid; page-break-inside: avoid; }
  .tr-tile, .tr-chakra-col li { animation: none !important; }
  .tr-board { margin: 0 0 6mm; padding: 5mm 4mm; background: #fbf8fe; }
  .tr-tile { width: 96px; gap: 3px; }
  .tr-tile.is-main { width: 118px; }
  .tr-tile.is-hero { width: 150px; }
  .tr-tile-img, .tr-chakra-col img, .tr-card-img img { box-shadow: none; }
  .tr-tile-pos { font-size: 9px; }
  .tr-tile b { font-size: 12px; }
  .tr-grid { grid-template-columns: repeat(var(--n), 96px); gap: 14px; }
  .tr-duo { flex-wrap: nowrap; gap: 14px; }
  .tr-duo-mid { max-width: 340px; gap: 12px; padding: 10px; }
  .tr-year { grid-template-columns: repeat(6, 84px); gap: 12px; }
  .tr-year .tr-tile { width: 84px; }
  .tr-year-total { margin-top: 12px; padding-top: 12px; }
  .tr-chakra-col { gap: 6px; }
  .tr-chakra-col a { padding: 5px 12px; }
  .tr-chakra-col img { width: 38px; }
  .tr-cards { gap: 5mm; }
  .tr-card { grid-template-columns: 30mm minmax(0, 1fr); gap: 6mm; padding: 5mm; box-shadow: none; }
  .tr-card-img { position: static; }
  .tr-card h2 { margin-bottom: 3mm; font-size: 18pt; }
  .tr-card-main { margin-bottom: 3mm; padding: 3mm 4mm 3mm 5mm; font-size: 11pt; }
  .tr-card-sec { margin-bottom: 3mm; }
  .tr-card-sec p { font-size: 10pt; line-height: 1.45; }
}
@media (prefers-reduced-motion: reduce) {
  .tr-stage > .tr-star, .tr-shuffle.is-calling, .tr-open-btn.is-ready, .tr-tile, .tr-chakra-col li, .tarot-layout.is-dealt .tarot-pick { animation: none; }
}
