/* The approved flattened artwork stays intact; semantic controls share its coordinates. */
body:has(.home-reference-page.active) { background:#fff6fa; }
body:has(.home-reference-page.active) main { width:100%;max-width:none;padding:0;margin:0; }
.home-reference-page { padding:0; }
.home-reference-page .reading { width:min(1080px,calc(100% - 32px));margin:36px auto 0; }
.home-reading-workspace .drawn {
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);
  gap:24px;align-items:start;justify-items:center;
}
.home-reading-workspace .drawn-card { width:min(100%,330px); }
.home-reading-workspace .drawn-card .card-face { width:100%;height:auto;aspect-ratio:5/8; }
.home-reference-page .home-reference-cosmos {
  position:relative;isolation:isolate;width:100%;aspect-ratio:1672/941;
  margin:0;padding:0;overflow:hidden;background:none;
}
.home-reference-page .home-reference-cosmos::before,
.home-reference-page .home-reference-cosmos::after { content:none; }
.home-approved-artwork { display:block;position:absolute;inset:0;width:100%;height:100%; }
.home-reference-page .home-reference-hero {
  position:absolute;inset:0;min-height:0;padding:0;border:0;border-radius:0;
  background:none!important;box-shadow:none;overflow:visible;pointer-events:none;
}
.home-reference-page .home-reference-hero::after { content:none; }
.home-reference-orbit { display:none; }
.home-reference-page .home-reference-copy { position:static;max-width:none; }
.home-reference-copy h1,.home-reference-copy>p {
  position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);
}
.home-reference-page .home-reference-copy .reference-primary {
  position:absolute;left:14.11%;top:42.61%;width:23.92%;height:8.50%;min-width:0;
  padding:0;border:0;border-radius:999px;background:transparent;color:transparent;
  font-size:0;box-shadow:none;pointer-events:auto;
}
.home-reference-page .home-reference-quick-entries {
  position:absolute;left:4.25%;top:59.09%;width:91.57%;height:25.08%;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.1%;margin:0;padding:0;z-index:3;
}
.home-reference-page .home-reference-quick-entries button {
  position:relative;min-height:0;margin:0;padding:0;border:0;border-radius:20px;
  background:transparent!important;color:transparent;box-shadow:none;
}
.home-reference-page .home-reference-quick-entries button>* { opacity:0;pointer-events:none; }
/* A transparent source-coordinate layer. Every painted child is clipped to an
   exposed old card face; the flowers/clouds are still the untouched original. */
.home-entry-registered-art {
  position:absolute;inset:0;display:block;width:100%;height:100%;z-index:3;
  opacity:1;pointer-events:none;overflow:hidden;
}
.home-entry-registered-art * { pointer-events:none; }
.home-entry-halo { opacity:.18; }
.home-entry-sheen { opacity:.12;transform-box:fill-box; }
.home-entry-twinkle { opacity:.55; }
.home-reference-page.active .home-entry-halo { animation:home-entry-halo-breathe 3.6s ease-in-out infinite; }
.home-reference-page.active .home-entry-sheen { animation:home-entry-sheen-pass 5.4s ease-in-out infinite; }
.home-reference-page.active .home-entry-twinkle { animation:home-entry-star-twinkle 3.2s ease-in-out infinite; }
.home-reference-page.active .twinkle-two { animation-delay:-1.1s; }
.home-reference-page.active .twinkle-three { animation-delay:-2.2s; }
@keyframes home-entry-halo-breathe { 0%,100% { opacity:.12; } 50% { opacity:.32; } }
@keyframes home-entry-sheen-pass { 0%,18% { transform:translateX(-120%);opacity:0; } 45% { opacity:.3; } 72%,100% { transform:translateX(120%);opacity:0; } }
@keyframes home-entry-star-twinkle { 0%,100% { opacity:.22; } 50% { opacity:.9; } }
@media (prefers-reduced-motion:reduce) {
  .home-reference-page.active .home-entry-registered-art * { animation:none; }
  .home-entry-sheen { opacity:.12;transform:none; }
}
.home-reference-page .home-reference-quick-entries button .home-timeline-copy {
  position:absolute;left:8.8%;top:43%;width:43%;height:26%;
  display:block;margin:0;padding:0;opacity:1;pointer-events:none;
  background:linear-gradient(110deg,#fff9f8,#fff3f7);color:#7c3456;
  font-size:1.2vw;line-height:1.4;text-align:left;white-space:nowrap;
}
.home-reference-page .home-reference-zodiac-orbit {
  position:absolute;left:4.25%;top:86.61%;width:91.57%;height:11.16%;
  display:block;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;z-index:3;
}
.home-reference-zodiac-orbit>*:not(button) { opacity:0;pointer-events:none; }
.home-reference-page .home-reference-zodiac-orbit::after { content:none; }
.home-reference-page .home-reference-zodiac-orbit button {
  position:absolute;right:1.83%;top:27.62%;width:16.08%;height:49.52%;
  margin:0;padding:0;border:0;border-radius:999px;background:transparent;
  color:transparent;font-size:0;box-shadow:none;
}
body:has(.home-reference-page.active) .head {
  position:absolute;inset:0 0 auto;aspect-ratio:1672/941;min-height:0;
  background:none;border:0;backdrop-filter:none;pointer-events:none;z-index:10;
}
body:has(.home-reference-page.active) .reference-header {
  position:absolute;inset:0;width:100%;height:100%;max-width:none;min-height:0;
  margin:0;padding:0;display:block;
}
body:has(.home-reference-page.active) .brand {
  position:absolute;left:13.55%;top:1.70%;width:24%;height:7.75%;padding:0;
  background:none;border:0;pointer-events:auto;
}
body:has(.home-reference-page.active) .brand>* { opacity:0; }
body:has(.home-reference-page.active) .brand::after { content:none; }
body:has(.home-reference-page.active) .nav-row { display:contents; }
body:has(.home-reference-page.active) .nav-row button {
  position:absolute;top:2.90%;height:5.74%;margin:0;padding:0;
  border:0;border-radius:4px;background:none;color:transparent;font-size:0;
  box-shadow:none;pointer-events:auto;
}
body:has(.home-reference-page.active) .nav-row button::after { content:none; }
body:has(.home-reference-page.active) .nav-row button:nth-child(1) { left:39.95%;width:4.2%; }
body:has(.home-reference-page.active) .nav-row button:nth-child(2) { left:45.25%;width:7.0%; }
body:has(.home-reference-page.active) .nav-row button:nth-child(3) { left:53.05%;width:5.7%; }
body:has(.home-reference-page.active) .nav-row button:nth-child(4) { left:59.40%;width:5.6%; }
body:has(.home-reference-page.active) .nav-row button:nth-child(5) { left:65.65%;width:6.7%; }
body:has(.home-reference-page.active) .nav-row button:nth-child(6) { left:73.25%;width:5.8%; }
body:has(.home-reference-page.active) .nav-row button:nth-child(7) { left:79.65%;width:5.8%; }
body:has(.home-reference-page.active) .reference-moon {
  position:absolute;left:87.08%;top:2.23%;width:3.53%;height:6.38%;
  padding:0;border:0;background:none;color:transparent;font-size:0;pointer-events:auto;
}
.home-reference-page button:hover,
body:has(.home-reference-page.active) .reference-header button:hover { transform:none; }
.home-reference-page button:focus-visible,
body:has(.home-reference-page.active) .reference-header button:focus-visible {
  outline:3px solid #be286f;outline-offset:3px;box-shadow:0 0 0 7px #fff9;
}
.home-mobile-controls { display:none; }
@media (max-width:760px) {
  .home-reading-workspace .drawn { grid-auto-flow:row;grid-template-columns:minmax(0,1fr);gap:28px; }
  /* Keep the exact art at its original ratio and provide full-sized touch targets below it. */
  .home-mobile-controls { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:20px 16px;background:#fff6fa; }
  .home-mobile-controls button { min-height:48px;padding:10px;border:1px solid #e9b4c9;border-radius:14px;background:#fffafd;color:#7d163e;font-size:16px; }
  .home-mobile-controls button:last-child { grid-column:1/-1;background:linear-gradient(100deg,#f977aa,#b34bdd);color:white;border-color:transparent; }
}
