/* Birth Chart design benchmark: pink 2000s astrology fan-site + pale zodiac ring. */
body.archive-birth-chart-fansite {
  --fan-pink-50: #fff8fc;
  --fan-pink-100: #fcebf5;
  --fan-pink-200: #f6d7e9;
  --fan-pink-300: #ecb9d5;
  --fan-pink-500: #bd5f92;
  --fan-wine: #633551;
  --fan-ink: #40263a;
  --fan-blue-100: #e8f4fc;
  --fan-blue-200: #d2e8f7;
  --fan-blue-500: #5f91b3;
  --fan-line: #b77c9c;
  --fan-shadow: #d7aac2;
  margin: 0;
  background-color: #f9edf6;
  background-image: radial-gradient(circle, rgba(151, 89, 126, .22) 1px, transparent 1.4px);
  background-size: 16px 16px;
  color: var(--fan-ink);
  font-family: Verdana, Tahoma, Arial, sans-serif;
}

.archive-birth-chart-fansite * { box-sizing: border-box; }
.archive-birth-chart-fansite a { color: #704066; }
.archive-birth-chart-fansite a:focus-visible,
.archive-birth-chart-fansite button:focus-visible,
.archive-birth-chart-fansite input:focus-visible,
.archive-birth-chart-fansite select:focus-visible {
  outline: 3px solid #77b5d8;
  outline-offset: 2px;
}

.astro-fansite {
  width: min(1540px, calc(100% - 32px));
  margin: 18px auto;
  border: 1px solid #86536f;
  background: #fffafd;
  box-shadow: 0 0 0 4px #f4cfe3, 0 0 0 5px #8f5976;
}

.astro-fansite__masthead {
  position: relative;
  display: grid;
  min-height: 150px;
  place-content: center;
  justify-items: center;
  padding: 28px 80px 22px;
  border-bottom: 1px solid #8f5976;
  background-color: #f8d7e9;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .72) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, .72) 1px, transparent 1px);
  background-size: 22px 22px;
  text-align: center;
}

.astro-fansite__brand {
  color: #864b74;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.8rem, 6vw, 5.9rem);
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0;
  line-height: .88;
  text-decoration: none;
  text-shadow: 2px 2px 0 #fff, 4px 4px 0 #d99abb;
}

.astro-fansite__masthead p {
  margin: 15px 0 0;
  color: #6f4b62;
  font-family: "Courier New", monospace;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.astro-fansite__spark,
.astro-fansite__mail {
  position: absolute;
  top: 50%;
  color: #fff;
  font-size: 3rem;
  text-shadow: 1px 1px 0 #985d7d;
  transform: translateY(-50%);
}
.astro-fansite__spark { left: 38px; }
.astro-fansite__mail { right: 38px; }

.astro-fansite__topnav {
  display: flex;
  min-height: 39px;
  align-items: stretch;
  justify-content: center;
  border-bottom: 1px solid #8f5976;
  background: #6d3b5a;
  overflow-x: auto;
  scrollbar-width: thin;
}
.astro-fansite__topnav a {
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  padding: 0 18px;
  border-inline-end: 1px solid #9f718a;
  color: #fff8fc;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
}
.astro-fansite__topnav a:hover,
.astro-fansite__topnav a[aria-current="page"] { background: #d88aaf; color: #3f2638; }

.astro-fansite__portal {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr) 205px;
  gap: 14px;
  align-items: start;
  padding: 14px;
  background: #fffafd;
}

.astro-fansite__sidebar {
  display: grid;
  gap: 12px;
  position: sticky;
  top: 12px;
}

.astro-pixel-window {
  border: 1px solid #9b607f;
  background: #fff;
  box-shadow: 3px 3px 0 #e6bfd4;
}
.astro-pixel-window > h2,
.chart-window-title {
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 6px 9px;
  border-bottom: 1px solid #9b607f;
  background: #f1bdd8;
  color: #5c304a;
  font-family: Verdana, Tahoma, sans-serif;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}
.astro-pixel-window nav { display: grid; }
.astro-pixel-window nav a {
  display: flex;
  min-height: 31px;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px dotted #dcb1c8;
  color: #6a3a56;
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
}
.astro-pixel-window nav a:hover,
.astro-pixel-window nav a[aria-current="page"] { background: #e8f4fc; color: #315e79; }
.astro-pixel-window p,
.astro-pixel-window ul,
.astro-pixel-window dl { margin: 0; padding: 11px; font-size: .73rem; line-height: 1.55; }
.astro-pixel-window ul { padding-left: 28px; }
.astro-pixel-window dl > div { display: grid; grid-template-columns: 54px 1fr; gap: 5px; padding: 5px 0; border-bottom: 1px dotted #dab3c8; }
.astro-pixel-window dd { margin: 0; overflow-wrap: anywhere; }
.astro-pixel-window--note { background: #edf6fc; }

.astro-fansite__main { min-width: 0; }
.astro-fansite .archive-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1px solid #c78baa;
  background: #f8e0ed;
  font-family: "Courier New", monospace;
  font-size: .72rem;
}
.astro-fansite__pagehead {
  padding: 24px clamp(18px, 4vw, 48px) 26px;
  border: 1px solid #9f6886;
  background-color: #fff;
  background-image: linear-gradient(90deg, transparent 0 97%, #edf6fc 97% 100%);
}
.astro-fansite__pagehead > p { margin: 0 0 9px; color: #a24c7d; font: 700 .72rem/1.2 "Courier New", monospace; }
.astro-fansite__pagehead h1 {
  margin: 0;
  color: #563047;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 7vw, 6.6rem);
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0;
  line-height: .9;
}
.astro-fansite__pagehead > div { max-width: 72ch; margin-top: 18px; color: #684b5d; font-size: .94rem; line-height: 1.72; }

.astro-fansite .archive-tool-sheet {
  display: grid;
  grid-template-columns: minmax(250px, .58fr) minmax(0, 1.42fr);
  gap: 0;
  margin-top: 14px;
  padding: 0;
  border: 1px solid #8f5976;
  border-radius: 0;
  background: #fff;
  box-shadow: 4px 4px 0 #e9c2d6;
  overflow: visible;
}
.astro-fansite .archive-tool-sheet::before { content: none; }
.astro-fansite .tool-inputs,
.astro-fansite .tool-result { min-width: 0; padding: 18px; }
.astro-fansite .tool-inputs {
  display: grid;
  align-content: start;
  gap: 12px;
  border-right: 1px solid #a96f8e;
  background: #fceef6;
}
.astro-fansite .tool-inputs::before,
.astro-fansite .tool-result::before {
  display: block;
  margin: -18px -18px 14px;
  padding: 7px 10px;
  border-bottom: 1px solid #9c6682;
  background: #d7eaf7;
  color: #51405a;
  content: "birth_data.exe";
  font: 800 .72rem/1.2 "Courier New", monospace;
  text-transform: uppercase;
}
.astro-fansite .tool-result::before { background: #f1bdd8; content: "natal_chart.viewer"; }
.astro-fansite .tool-inputs h2,
.astro-fansite .tool-result > h2 {
  margin: 0;
  color: #583249;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: 0;
}
.astro-fansite .tool-inputs > p,
.astro-fansite .tool-result > p { margin: 0; color: #775d6d; font-size: .82rem; line-height: 1.6; }
.astro-fansite .typewritten-label,
.astro-fansite .eyebrow { color: #a04979; font-family: "Courier New", monospace; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.astro-fansite .chart-mode-fields { gap: 8px; }
.astro-fansite .tool-inputs label { display: grid; gap: 5px; color: #5e3b50; font-size: .72rem; font-weight: 800; }
.astro-fansite .tool-inputs input,
.astro-fansite .tool-inputs select {
  width: 100%;
  min-height: 40px;
  padding: 8px 9px;
  border: 1px solid #ad7894;
  border-radius: 0;
  background: #fff;
  color: #3f2937;
  font: 700 .8rem/1.2 Verdana, sans-serif;
}
.astro-fansite .chart-time-toggle { display: flex; }
.astro-fansite .chart-time-toggle input { width: 16px; min-height: 16px; accent-color: #b65388; }
.astro-fansite .button {
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid #70415c;
  border-radius: 0;
  box-shadow: 2px 2px 0 #dba9c3;
  font-size: .76rem;
  font-weight: 900;
}
.astro-fansite .button.primary { background: #b95d8d; color: #fff; }
.astro-fansite .button.secondary { background: #dceef9; color: #3b5264; }
.astro-fansite .button.ghost { background: #fff; color: #644055; }

.astro-fansite .tool-result:not(.has-natal-chart) {
  display: grid;
  min-height: 420px;
  align-content: center;
  justify-items: center;
  background-color: #fffafd;
  background-image: radial-gradient(circle, rgba(157, 102, 132, .18) 1px, transparent 1.2px);
  background-size: 14px 14px;
  text-align: center;
}
.astro-fansite .tool-result:not(.has-natal-chart) > span { color: #bc5e90; font: 800 .7rem/1.2 "Courier New", monospace; text-transform: uppercase; }

.astro-fansite .chart-view-panel.has-natal-chart { padding: 18px; background: #fff; }
.astro-fansite .chart-toolbar { margin: 12px 0; gap: 6px; }
.astro-fansite .chart-toolbar > span,
.astro-fansite .chart-mode-switch { border-color: #bd89a4; border-radius: 0; background: #fff8fc; }
.astro-fansite .chart-mode-button { border-radius: 0; color: #644055; }
.astro-fansite .chart-mode-button.is-active { background: #b85e8c; color: #fff; }
.astro-fansite .natal-chart-layout {
  grid-template-columns: minmax(0, 1fr) minmax(215px, 28%);
  gap: 12px;
}
.astro-fansite .natal-chart-scroll {
  width: 100%;
  padding: 4px;
  border: 1px solid #a86e8c;
  background: #fffdfd;
}
.astro-fansite .natal-chart-scroll::before {
  inset: 4%;
  border: 0;
  background: #fffdfd;
  box-shadow: none;
}
.astro-fansite .natal-chart-svg { width: 98%; max-width: none; color: #482d3d; }
.archive-birth-chart-fansite .zodiac-sector { stroke: none; }
.archive-birth-chart-fansite .zodiac-sector-pink { fill: #f4d5e6; }
.archive-birth-chart-fansite .zodiac-sector-blue { fill: #dcecf7; }
.archive-birth-chart-fansite .chart-ring { stroke: #744c63; stroke-width: 1.25; }
.archive-birth-chart-fansite .chart-ring-405,
.archive-birth-chart-fansite .chart-ring-410 { stroke: #563649; stroke-width: 1.8; }
.archive-birth-chart-fansite .zodiac-boundary,
.archive-birth-chart-fansite .degree-tick,
.archive-birth-chart-fansite .house-line,
.archive-birth-chart-fansite .label-leader { stroke: #85657a; }
.archive-birth-chart-fansite .house-number { fill: #79586d; }
.archive-birth-chart-fansite .zodiac-fire { fill: #a45472; }
.archive-birth-chart-fansite .zodiac-earth { fill: #6b7656; }
.archive-birth-chart-fansite .zodiac-air { fill: #4b7690; }
.archive-birth-chart-fansite .zodiac-water { fill: #52768b; }
.archive-birth-chart-fansite .planet-glyph { fill: #3f2936; }
.archive-birth-chart-fansite .planet-degree { fill: #54394a; }
.archive-birth-chart-fansite .planet-sign-abbr { fill: #7f5b70; }
.archive-birth-chart-fansite .angle-marker line { stroke: #a14f7d; }
.archive-birth-chart-fansite .angle-marker text { fill: #8d416b; }

.astro-fansite .natal-technical-panel {
  display: grid;
  gap: 10px;
  padding: 0 10px 12px;
  border: 1px solid #a86e8c;
  border-radius: 0;
  background: #fff9fc;
}
.astro-fansite .natal-technical-panel .chart-window-title { margin: 0 -10px 2px; }
.chart-big-three { display: grid; gap: 6px; }
.chart-big-three-card {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 7px;
  align-items: center;
  padding: 7px;
  border-bottom: 1px dotted #cfa2b9;
  background: #fff;
}
.chart-big-three-card > span { color: #a85282; font-family: Georgia, serif; font-size: 1.55rem; text-align: center; }
.chart-big-three-card div { display: grid; min-width: 0; }
.chart-big-three-card small { color: #90657d; font: 700 .6rem/1.2 "Courier New", monospace; text-transform: uppercase; }
.chart-big-three-card strong { color: #4f3143; font-family: Georgia, serif; font-size: 1.03rem; }
.chart-big-three-card em { color: #7c6171; font-size: .62rem; font-style: normal; }
.astro-fansite .natal-technical-panel h3 { margin: 3px 0 0; color: #693e57; font-size: .72rem; text-transform: uppercase; }
.astro-fansite .chart-balance-row { grid-template-columns: 56px 1fr 18px; gap: 5px; font-size: .66rem; }
.astro-fansite .chart-balance-row i { height: 6px; border-radius: 0; background: linear-gradient(90deg, #bb668f var(--v), #f2dce8 var(--v)); }
.astro-fansite .chart-sect-note { margin: 0; padding: 7px; background: #e7f3fb; font-size: .66rem; }
.astro-fansite .chart-detail-panel {
  padding: 9px;
  border: 1px solid #c595ad;
  border-radius: 0;
  background: #eef7fc;
  font-size: .67rem;
  line-height: 1.45;
}
.astro-fansite .chart-detail-panel h3 { color: #426b83; font-family: Georgia, serif; font-size: 1.1rem; text-transform: none; }
.astro-fansite .chart-detail-list { gap: 4px; }
.astro-fansite .chart-detail-list div { padding-top: 4px; border-color: #bad3e1; }

.astro-fansite .natal-chart-data-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.astro-fansite .chart-data-window { min-width: 0; border: 1px solid #a86e8c; background: #fff; }
.astro-fansite .chart-data-window .chart-table-wrap { max-height: 330px; border: 0; border-radius: 0; }
.astro-fansite .chart-data-window table { width: 100%; min-width: 390px; border-collapse: collapse; font-size: .65rem; }
.astro-fansite .chart-data-window th,
.astro-fansite .chart-data-window td { padding: 6px 7px; border-bottom: 1px dotted #d5adc1; text-align: left; white-space: nowrap; }
.astro-fansite .chart-data-window th { background: #eef7fc; color: #5b4a62; font-size: .58rem; text-transform: uppercase; }
.astro-fansite .calculation-details { font-size: .7rem; }
.astro-fansite .calculation-details dl > div { grid-template-columns: 130px 1fr; }
.astro-fansite .chart-actions { align-items: stretch; }
.astro-fansite .result-conversion-bridge { border-radius: 0; }

.astro-fansite__guide {
  margin-top: 14px;
  border: 1px solid #9f6886;
  background: #fff;
}
.astro-fansite__guide > header { padding: 17px 20px; border-bottom: 1px solid #9f6886; background: #e6f2fa; }
.astro-fansite__guide > header p { margin: 0; color: #9f4b79; font: 800 .7rem/1.2 "Courier New", monospace; }
.astro-fansite__guide > header h2 { margin: 3px 0 0; color: #513145; font-family: Georgia, serif; font-size: 2rem; }
.astro-fansite__guide-section { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; padding: 21px; border-bottom: 1px dotted #c897b0; }
.astro-fansite__section-number { margin: 0; color: #b05b88; font: 900 .72rem/1 "Courier New", monospace; }
.astro-fansite__guide-section h2 { margin: 0 0 10px; color: #5b354b; font-family: Georgia, serif; font-size: 1.45rem; }
.astro-fansite__guide-section p,
.astro-fansite__guide-section li { color: #604858; font-size: .86rem; line-height: 1.72; }
.astro-fansite .archive-back-notes,
.astro-fansite .archive-related-files,
.astro-fansite .archive-use-note { margin: 20px; }

.astro-fansite__microfooter {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 16px;
  border-top: 1px solid #8f5976;
  background: #6c3b59;
  color: #fff;
  font: 700 .68rem/1.2 "Courier New", monospace;
}

.archive-birth-chart-fansite > .site-footer {
  width: min(1540px, calc(100% - 32px));
  margin: 18px auto 36px;
  border: 1px solid #89536f;
  background: #fffafd;
  color: #5f4354;
}

@media (max-width: 1360px) {
  .astro-fansite__portal { grid-template-columns: 190px minmax(0, 1fr); }
  .astro-fansite__sidebar--right { display: none; }
  .astro-fansite .archive-tool-sheet { grid-template-columns: minmax(235px, .55fr) minmax(0, 1.45fr); }
  .astro-fansite .natal-chart-layout { grid-template-columns: minmax(0, 1fr) 210px; }
}

@media (max-width: 900px) {
  .astro-fansite { width: min(100% - 18px, 760px); margin-top: 9px; }
  .astro-fansite__masthead { min-height: 126px; padding-inline: 54px; }
  .astro-fansite__spark { left: 18px; }
  .astro-fansite__mail { right: 18px; }
  .astro-fansite__portal { grid-template-columns: 1fr; }
  .astro-fansite__sidebar { position: static; }
  .astro-fansite__sidebar--left { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .astro-fansite__sidebar--left .astro-pixel-window--note { display: none; }
  .astro-fansite__main { grid-row: 1; }
  .astro-fansite__sidebar--left { grid-row: 2; }
  .astro-fansite .archive-tool-sheet { grid-template-columns: 1fr; }
  .astro-fansite .tool-inputs { border-right: 0; border-bottom: 1px solid #a96f8e; }
  .astro-fansite .natal-chart-data-grid { grid-template-columns: 1fr; }
  .astro-fansite .chart-data-window .chart-table-wrap { max-height: none; }
}

@media (max-width: 680px) {
  .astro-fansite__masthead { min-height: 112px; padding: 22px 42px 18px; }
  .astro-fansite__masthead p { font-size: .6rem; }
  .astro-fansite__spark,
  .astro-fansite__mail { font-size: 1.6rem; }
  .astro-fansite__topnav { justify-content: flex-start; }
  .astro-fansite__topnav a { padding-inline: 13px; }
  .astro-fansite__portal { padding: 8px; }
  .astro-fansite__pagehead { padding: 20px 16px; }
  .astro-fansite__pagehead h1 { font-size: clamp(2.8rem, 16vw, 4.6rem); }
  .astro-fansite__sidebar--left { grid-template-columns: 1fr; }
  .astro-fansite .chart-mode-fields { grid-template-columns: 1fr; }
  .astro-fansite .natal-chart-layout { grid-template-columns: 1fr; }
  .astro-fansite .natal-chart-scroll { min-width: 620px; }
  .astro-fansite .chart-view-panel.has-natal-chart { overflow-x: auto; }
  .astro-fansite .natal-technical-panel { width: min(100%, calc(100vw - 54px)); }
  .astro-fansite__guide-section { grid-template-columns: 1fr; padding: 17px; }
  .astro-fansite__microfooter { flex-direction: column; }
  .archive-birth-chart-fansite > .site-footer { width: calc(100% - 18px); }
}

/* Route-local reset: older archive rules use oversized editorial headings and
   viewport-width workbenches. Keep the selected fan-site composition contained. */
body.archive-birth-chart-fansite main.astro-fansite {
  display: block;
  padding: 0;
}
body.archive-birth-chart-fansite main.astro-fansite > * {
  margin-block: 0 !important;
}
body.archive-birth-chart-fansite .astro-fansite__portal > *,
body.archive-birth-chart-fansite .astro-fansite__sidebar,
body.archive-birth-chart-fansite .astro-fansite__main,
body.archive-birth-chart-fansite .astro-pixel-window {
  min-width: 0;
  max-width: 100%;
}
body.archive-birth-chart-fansite .astro-pixel-window {
  width: 100% !important;
}
body.archive-birth-chart-fansite .astro-pixel-window > h2,
body.archive-birth-chart-fansite .astro-pixel-window .chart-window-title {
  width: auto !important;
  min-height: 30px;
  margin: 0 !important;
  padding: 6px 9px !important;
  font-family: Verdana, Tahoma, sans-serif !important;
  font-size: .72rem !important;
  line-height: 1.25 !important;
  letter-spacing: .04em !important;
}
body.archive-birth-chart-fansite .astro-pixel-window nav,
body.archive-birth-chart-fansite .astro-pixel-window p,
body.archive-birth-chart-fansite .astro-pixel-window ul,
body.archive-birth-chart-fansite .astro-pixel-window dl {
  width: auto !important;
}
body.archive-birth-chart-fansite .astro-fansite__pagehead h1 {
  max-width: 100%;
  font-size: clamp(3rem, 6.2vw, 5.7rem) !important;
  line-height: .9 !important;
}
body.archive-birth-chart-fansite .astro-fansite__pagehead > div,
body.archive-birth-chart-fansite .astro-fansite__pagehead > div p {
  max-width: 72ch;
  font-size: .94rem !important;
  line-height: 1.72 !important;
}
body.archive-birth-chart-fansite .astro-fansite .archive-tool-sheet {
  grid-column: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 !important;
  transform: none !important;
}
body.archive-birth-chart-fansite .astro-fansite .tool-inputs,
body.archive-birth-chart-fansite .astro-fansite .tool-result {
  width: auto !important;
  max-width: 100% !important;
}
body.archive-birth-chart-fansite .astro-fansite .tool-inputs h2,
body.archive-birth-chart-fansite .astro-fansite .tool-result > h2 {
  font-size: clamp(1.45rem, 2.4vw, 2.2rem) !important;
  line-height: 1.05 !important;
}
body.archive-birth-chart-fansite .astro-fansite__guide > header h2 {
  font-size: 2rem !important;
  line-height: 1.05 !important;
}
body.archive-birth-chart-fansite .astro-fansite__guide-section h2 {
  font-size: 1.45rem !important;
  line-height: 1.15 !important;
}

/* Keep export assets print-ready without allowing their intrinsic pixel size
   to widen the live workbench. Technical tables scroll inside each window. */
body.archive-birth-chart-fansite .share-card-layout,
body.archive-birth-chart-fansite .share-card-preview,
body.archive-birth-chart-fansite .result-share-section {
  min-width: 0;
  max-width: 100%;
}
body.archive-birth-chart-fansite .share-card-preview {
  overflow: hidden;
}
body.archive-birth-chart-fansite .share-card-preview canvas {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
body.archive-birth-chart-fansite .chart-data-window,
body.archive-birth-chart-fansite .chart-data-window .chart-table-wrap {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
body.archive-birth-chart-fansite .chart-data-window .chart-table-wrap {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

/* Portal v5 astrology workbench: bright, technical, and print-clear. */
body.archive-birth-chart-fansite {
  --fan-pink-50: #fffaff;
  --fan-pink-100: #ffd0e7;
  --fan-pink-200: #ff79b8;
  --fan-pink-300: #ff4fa4;
  --fan-pink-500: #85345f;
  --fan-wine: #85345f;
  --fan-ink: #37263a;
  --fan-blue-100: #f5f7ff;
  --fan-blue-200: #76baff;
  --fan-blue-500: #587cff;
  --fan-line: #966fe8;
  --fan-shadow: #c4a6ff;
  background-color: #f5f7ff;
  background-image: radial-gradient(circle, rgba(88, 124, 255, .24) 1px, transparent 1.4px);
  color: #37263a;
}

.archive-birth-chart-fansite a { color: #85345f; }
.archive-birth-chart-fansite a:focus-visible,
.archive-birth-chart-fansite button:focus-visible,
.archive-birth-chart-fansite input:focus-visible,
.archive-birth-chart-fansite select:focus-visible { outline-color: #587cff; }

.astro-fansite {
  border: 2px solid #211820;
  background: #fffaff;
  box-shadow: 7px 7px 0 #76baff, -4px -4px 0 #ff79b8;
}
.astro-fansite__masthead {
  border-bottom: 2px solid #211820;
  background-color: #ffd0e7;
  background-image: linear-gradient(90deg, rgba(255,255,255,.74) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.74) 1px, transparent 1px);
}
.astro-fansite__brand { color: #85345f; text-shadow: 2px 2px 0 #fffaff, 4px 4px 0 #76baff; }
.astro-fansite__masthead p { color: #37263a; }
.astro-fansite__topnav { border-bottom: 2px solid #211820; background: #587cff; }
.astro-fansite__topnav a { border-color: #211820; color: #fffaff; }
.astro-fansite__topnav a:hover,
.astro-fansite__topnav a[aria-current="page"] { background: #ff79b8; color: #211820; }
.astro-fansite__portal { background: #fffaff; }
.astro-pixel-window { border: 2px solid #211820; box-shadow: 3px 3px 0 #c4a6ff; }
.astro-pixel-window > h2,
.chart-window-title { border-color: #211820; background: #76baff; color: #211820; }
.astro-pixel-window nav a { border-color: #d9deee; color: #85345f; }
.astro-pixel-window nav a:hover,
.astro-pixel-window nav a[aria-current="page"] { background: #7de9ef; color: #211820; }
.astro-pixel-window--note { background: #f5f7ff; }

body.archive-birth-chart-fansite .astro-fansite .archive-tool-sheet {
  display: block;
  border: 2px solid #211820;
  background: #fffaff;
  box-shadow: 5px 5px 0 #76baff;
}
.astro-fansite .tool-inputs {
  position: static !important;
  top: auto !important;
  border: 0;
  border-bottom: 2px solid #211820;
  background: #f5f7ff;
}
.astro-fansite .tool-inputs::before,
.astro-fansite .tool-result::before {
  border-color: #211820;
  background: #76baff;
  color: #211820;
}
.astro-fansite .tool-result::before { background: #ff79b8; }
.astro-fansite .chart-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}
.astro-fansite .chart-form-grid__wide { grid-column: 1 / -1; }
.astro-fansite .chart-mode-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.astro-fansite .tool-inputs label { color: #37263a; }
.astro-fansite .tool-inputs input,
.astro-fansite .tool-inputs select {
  border: 2px solid #37263a;
  background: #fffaff;
  color: #211820;
  box-shadow: 2px 2px 0 #d9deee;
}
.astro-fansite .chart-time-toggle { align-items: center; width: max-content; }
.astro-fansite .chart-time-toggle input { accent-color: #ff4fa4; }
.astro-fansite .button { border: 2px solid #211820; box-shadow: 3px 3px 0 #211820; }
.astro-fansite .button.primary { background: #ff4fa4; color: #fffaff; }
.astro-fansite .button.secondary { background: #76baff; color: #211820; }
.astro-fansite .button.ghost { background: #fffaff; color: #37263a; }
.astro-fansite .button:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 #211820; }

.astro-fansite .tool-result:not(.has-natal-chart) {
  min-height: 260px;
  background-color: #fffaff;
  background-image: radial-gradient(circle, rgba(88,124,255,.2) 1px, transparent 1.2px);
}
.astro-fansite .chart-view-panel.has-natal-chart { background: #fffaff; }
.astro-fansite .chart-toolbar > span,
.astro-fansite .chart-mode-switch { border: 2px solid #37263a; background: #f5f7ff; }
.astro-fansite .chart-mode-button { color: #37263a; }
body.archive-birth-chart-fansite .astro-fansite .chart-mode-button {
  border-color: #37263a !important;
  background: #f5f7ff !important;
  color: #37263a !important;
}
body.archive-birth-chart-fansite .astro-fansite .chart-mode-button.is-active {
  background: #587cff !important;
  color: #fffaff !important;
}
body.archive-birth-chart-fansite .astro-fansite :is(.button.primary, .button.secondary, .button.ghost) {
  border-color: #211820 !important;
  color: #211820 !important;
}
body.archive-birth-chart-fansite .astro-fansite .button.primary { background: #ff4fa4 !important; color: #fffaff !important; }
body.archive-birth-chart-fansite .astro-fansite .button.secondary { background: #76baff !important; }
body.archive-birth-chart-fansite .astro-fansite .button.ghost { background: #fffaff !important; }
body.archive-birth-chart-fansite .astro-fansite .share-format-switch button {
  border-color: #211820 !important;
  background: #fffaff !important;
  color: #37263a !important;
}
body.archive-birth-chart-fansite .astro-fansite .share-format-switch button[aria-pressed="true"] {
  background: #c4a6ff !important;
  color: #211820 !important;
}
.astro-fansite .natal-chart-layout { grid-template-columns: minmax(0, 1fr) minmax(230px, 29%); gap: 14px; }
.astro-fansite .natal-chart-scroll { border: 2px solid #211820; background: #fffaff; box-shadow: 4px 4px 0 #ffd0e7; }
.astro-fansite .natal-chart-scroll::before { background: #fffaff; }
.archive-birth-chart-fansite .zodiac-sector-pink { fill: #ffd0e7; }
.archive-birth-chart-fansite .zodiac-sector-blue { fill: #d9deee; }
.archive-birth-chart-fansite .chart-ring { stroke: #37263a; }
.archive-birth-chart-fansite .chart-ring-405,
.archive-birth-chart-fansite .chart-ring-410 { stroke: #211820; }
.archive-birth-chart-fansite .zodiac-boundary,
.archive-birth-chart-fansite .degree-tick,
.archive-birth-chart-fansite .house-line,
.archive-birth-chart-fansite .label-leader { stroke: #85345f; }
.archive-birth-chart-fansite .house-number { fill: #85345f; }
.archive-birth-chart-fansite .zodiac-fire { fill: #ff826f; }
.archive-birth-chart-fansite .zodiac-earth { fill: #8be8c9; }
.archive-birth-chart-fansite .zodiac-air { fill: #587cff; }
.archive-birth-chart-fansite .zodiac-water { fill: #966fe8; }
.archive-birth-chart-fansite .planet-glyph { fill: #211820; }
.archive-birth-chart-fansite .planet-degree { fill: #37263a; }
.archive-birth-chart-fansite .planet-sign-abbr { fill: #85345f; }
.archive-birth-chart-fansite .angle-marker line { stroke: #ff4fa4; }
.archive-birth-chart-fansite .angle-marker text { fill: #85345f; }
.astro-fansite .natal-technical-panel { border: 2px solid #211820; background: #f5f7ff; }
.chart-big-three-card { border-color: #d9deee; background: #fffaff; }
.chart-big-three-card > span { color: #ff4fa4; }
.astro-fansite .chart-balance-row i { background: linear-gradient(90deg, #587cff var(--v), #d9deee var(--v)); }
.astro-fansite .chart-sect-note { background: #7de9ef; }
.astro-fansite .chart-detail-panel { border: 2px solid #587cff; background: #fffaff; }
.astro-fansite .chart-detail-panel h3 { color: #85345f; }

.astro-fansite .natal-chart-data-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "planets planets" "houses aspects";
  gap: 12px;
}
.astro-fansite .chart-data-window { border: 2px solid #211820; background: #fffaff; }
.astro-fansite .chart-data-window--planets { grid-area: planets; }
.astro-fansite .chart-data-window--houses { grid-area: houses; }
.astro-fansite .chart-data-window--aspects { grid-area: aspects; }
.astro-fansite .chart-data-window th { background: #ffd0e7; color: #37263a; }
.astro-fansite .chart-data-window th,
.astro-fansite .chart-data-window td { border-color: #d9deee; }
.astro-fansite__guide { border: 2px solid #211820; }
.astro-fansite__guide > header { border-color: #211820; background: #7de9ef; }
.astro-fansite__microfooter { border-color: #211820; background: #211820; color: #fffaff; }
.archive-birth-chart-fansite > .site-footer { border: 2px solid #211820; background: #fffaff; color: #37263a; }

@media (max-width: 900px) {
  .astro-fansite .tool-inputs { border-right: 0; border-bottom: 2px solid #211820; }
}
@media (max-width: 680px) {
  .astro-fansite .chart-form-grid,
  .astro-fansite .chart-mode-fields { grid-template-columns: minmax(0, 1fr); }
  .astro-fansite .natal-chart-data-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "planets" "houses" "aspects";
  }
}
