/* Selected visual system: Concept B, a dense pink 2002 astrology fan-site. */
body.ll-portalized {
  --ll-white: #fffaff;
  --ll-ice: #f5f7ff;
  --ll-pink: #ff79b8;
  --ll-hot-pink: #ff4fa4;
  --ll-baby-pink: #ffd0e7;
  --ll-blue: #76baff;
  --ll-electric-blue: #587cff;
  --ll-cyan: #7de9ef;
  --ll-lilac: #c4a6ff;
  --ll-violet: #966fe8;
  --ll-mint: #8be8c9;
  --ll-coral: #ff826f;
  --ll-wine: #85345f;
  --ll-ink: #37263a;
  --ll-black: #211820;
  --ll-silver: #d9deee;
  --llp-ink: var(--ll-ink);
  --llp-muted: #715c72;
  --llp-wine: var(--ll-wine);
  --llp-wine-dark: var(--ll-black);
  --llp-pink: var(--ll-pink);
  --llp-pink-soft: var(--ll-baby-pink);
  --llp-pink-pale: var(--ll-white);
  --llp-blue: var(--ll-blue);
  --llp-blue-strong: var(--ll-electric-blue);
  --llp-cream: var(--ll-white);
  --llp-line: var(--ll-wine);
  --llp-shadow: var(--ll-silver);
  --ll-world-primary: var(--ll-pink);
  --ll-world-secondary: var(--ll-blue);
  --ll-world-tertiary: var(--ll-lilac);
  --ll-world-detail: var(--ll-mint);
  margin: 0;
  color: var(--llp-ink);
  background-color: var(--ll-ice);
  background-image: radial-gradient(circle, rgba(88, 124, 255, .22) 1px, transparent 1.3px);
  background-size: 15px 15px;
  font-family: Verdana, Tahoma, Arial, sans-serif;
}

body.ll-portalized * { box-sizing: border-box; }
body.ll-portalized :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #6eafd3;
  outline-offset: 2px;
}
body.ll-portalized :is(img, svg) { max-width: 100%; }
body.ll-portalized :is(p, li, dd) { overflow-wrap: anywhere; }
body.ll-portalized :is(h1, h2, h3, p) { letter-spacing: 0; }

body.ll-portalized > .site-header {
  width: min(1180px, calc(100vw - 24px));
  min-height: 46px;
  margin: 10px auto 0;
  padding: 5px 8px;
  border: 1px solid var(--llp-line);
  background: var(--llp-wine-dark);
  color: #fff;
  box-shadow: 3px 3px 0 var(--llp-shadow);
}
body.ll-portalized > .site-header :is(.brand, .nav-link, .nav-more-label, .my-lunar-link, button) {
  color: #fffafc;
  font-size: .72rem;
}
body.ll-portalized > .site-header .brand img { width: 30px; height: 30px; }
body.ll-portalized > .site-header :is(.site-search-mini, .header-search) {
  min-height: 34px;
  border-color: #d39ab8;
  background: #fff;
}
body.ll-portalized > .site-header :is(input, .site-search-mini input) { color: var(--llp-ink); }
body.ll-portalized > .site-header :is(.my-lunar-link, .account-menu > button) {
  min-height: 34px;
  border: 1px solid #fff;
  background: #c56f9d;
}

.ll-portalized .ll-portal-shell {
  position: relative;
  isolation: isolate;
  width: min(1180px, calc(100vw - 24px));
  margin: 8px auto 18px;
  border: 1px solid var(--llp-line);
  background: #fffafd;
  box-shadow: 0 0 0 4px #f5cfe2, 0 0 0 5px var(--llp-line), 6px 8px 0 rgba(99, 53, 81, .14);
  overflow: visible;
}

.ll-portalized .ll-pixel-field { display: none !important; }

.ll-portalized .ll-portal-lace {
  position: relative;
  z-index: 2;
  height: 25px;
  overflow: hidden;
  background: #dcecf8;
}
.ll-portalized .ll-portal-lace img {
  display: block;
  width: 100%;
  height: 34px;
  object-fit: cover;
  object-position: top;
  filter: sepia(.15) saturate(.65) hue-rotate(290deg) brightness(1.16);
  opacity: .88;
}
.ll-portalized .ll-portal-lace--bottom { transform: rotate(180deg); }

.ll-portalized .ll-portal-masthead {
  display: grid;
  min-height: 142px;
  place-content: center;
  justify-items: center;
  padding: 20px clamp(18px, 4vw, 56px) 18px;
  border-block: 1px solid #c17b9f;
  background-color: #f8d8e9;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.62) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.62) 1px, transparent 1px);
  background-size: 22px 22px;
  text-align: center;
}
.ll-portalized .ll-portal-masthead::before,
.ll-portalized .ll-portal-masthead::after { content: none !important; display: none !important; }
.ll-portalized .ll-portal-masthead > p {
  margin: 0;
  color: #8f4a72;
  font: 800 .68rem/1.2 "Courier New", monospace;
  text-transform: uppercase;
}
.ll-portalized .ll-portal-masthead__rule {
  display: grid;
  width: min(420px, 80%);
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 9px;
  margin: 8px 0 5px;
  color: #a74f7d;
  font: 900 .72rem/1 "Courier New", monospace;
}
.ll-portalized .ll-portal-masthead__rule i { height: 1px; background: #b56a92; }
.ll-portalized .ll-portal-title {
  color: #7c3f66;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.85rem, 6vw, 5.4rem);
  font-style: italic;
  font-weight: 700;
  line-height: .86;
  text-shadow: 2px 2px 0 #fff, 4px 4px 0 #d694b7;
}
.ll-portalized .ll-portal-masthead > span {
  margin-top: 12px;
  color: #6e4a5e;
  font: 700 .76rem/1.35 "Courier New", monospace;
}

.ll-portalized .ll-portal-ticker {
  min-height: 35px;
  padding: 0 10px;
  border-bottom: 1px solid var(--llp-line);
  background: var(--llp-wine);
  color: #fff;
  overflow-x: auto;
}
.ll-portalized .ll-portal-ticker > div {
  display: flex;
  min-width: max-content;
  min-height: 35px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-inline: auto;
  font: 900 .67rem/1 "Courier New", monospace;
}
.ll-portalized .ll-portal-ticker i { width: 5px; height: 5px; background: #f4a9cd; transform: rotate(45deg); }

.ll-portalized .ll-portal-grid {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 210px;
  gap: 12px;
  align-items: start;
  padding: 12px;
  background: #fffafd;
}
.ll-portalized .ll-portal-main { min-width: 0; }
.ll-portalized .ll-portal-sidebar {
  display: grid;
  gap: 10px;
  position: sticky;
  top: 8px;
  min-width: 0;
}

.ll-portalized .ll-web-panel {
  min-width: 0;
  border: 1px solid var(--llp-line);
  background: #fff;
  box-shadow: 3px 3px 0 var(--llp-shadow);
}
.ll-portalized .ll-web-panel__title {
  display: flex;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 5px 8px;
  border-bottom: 1px solid var(--llp-line);
  background: var(--llp-pink);
  color: #5d304a;
  font: 900 .67rem/1.2 Verdana, sans-serif;
  text-align: center;
  text-transform: uppercase;
}
.ll-portalized .ll-web-panel:nth-child(even) .ll-web-panel__title { background: var(--llp-blue); }
.ll-portalized .ll-web-panel__title span { color: #fff; text-shadow: 1px 1px 0 #8f5675; }

.ll-portalized :is(.ll-side-nav, .ll-mini-links) { display: grid; }
.ll-portalized :is(.ll-side-nav, .ll-mini-links) a {
  display: flex;
  min-height: 29px;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  border-bottom: 1px dotted #deb3c9;
  color: #653851;
  font-size: .7rem;
  font-weight: 700;
  text-decoration: none;
}
.ll-portalized .ll-side-nav img { width: 13px; height: 13px; object-fit: contain; }
.ll-portalized :is(.ll-side-nav, .ll-mini-links) a:hover,
.ll-portalized :is(.ll-side-nav, .ll-mini-links) a[aria-current="page"] { background: #e9f4fb; color: #315e77; }

.ll-portalized .ll-widget-kicker {
  margin: 0;
  padding: 8px 9px 3px;
  color: #a04e7a;
  font: 800 .62rem/1.2 "Courier New", monospace;
}
.ll-portalized .ll-widget-feature {
  display: grid;
  gap: 2px;
  padding: 8px 9px;
  border-bottom: 1px dotted #d7abc2;
  color: #654052;
  text-decoration: none;
}
.ll-portalized .ll-widget-feature b { font: 800 .72rem/1.25 Verdana, sans-serif; }
.ll-portalized .ll-widget-feature span { color: #806474; font: .64rem/1.35 Verdana, sans-serif; }
.ll-portalized .ll-status-list { margin: 0; padding: 8px 9px; }
.ll-portalized .ll-status-list > div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 5px;
  padding: 4px 0;
  border-bottom: 1px dotted #d7abc2;
  font: .63rem/1.3 "Courier New", monospace;
}
.ll-portalized .ll-status-list dd { margin: 0; }
.ll-portalized .ll-status-list dd i {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 3px;
  border-radius: 50%;
  background: #75a87a;
}

.ll-portalized .ll-world-widget { padding: 9px; background: #fffafd; }
.ll-portalized .ll-world-widget > a {
  display: block;
  margin-top: 8px;
  padding: 5px;
  border: 1px solid #a76889;
  background: #6b3958;
  color: #fff;
  font: 800 .62rem/1.3 Verdana, sans-serif;
  text-align: center;
  text-decoration: none;
}
.ll-mini-zodiac {
  position: relative;
  width: 148px;
  height: 148px;
  margin: 4px auto;
  border: 12px solid #f5d3e4;
  border-radius: 50%;
  background: #f8fbfd;
  box-shadow: inset 0 0 0 1px #8a6479, 0 0 0 1px #8a6479;
}
.ll-mini-zodiac__orbit { position: absolute; inset: 24px; border: 1px solid #90abc0; border-radius: 50%; }
.ll-mini-zodiac i {
  position: absolute;
  left: calc(50% - 9px);
  top: calc(50% - 8px);
  width: 18px;
  color: #72506a;
  font: 800 7px/1 Verdana, sans-serif;
  text-align: center;
  transform: rotate(calc(var(--z) * 30deg)) translateY(-61px) rotate(calc(var(--z) * -30deg));
}
.ll-mini-zodiac b { position: absolute; inset: 49px 28px; color: #70405e; font: 900 .68rem/1.1 Verdana, sans-serif; text-align: center; }
.ll-mini-zodiac b small { display: block; margin-top: 4px; color: #7794a8; font-size: .48rem; }

.ll-world-widget--tarot figure { margin: 0; text-align: center; }
.ll-world-widget--tarot img { width: 104px; aspect-ratio: 2 / 3.35; border: 1px solid #5a374c; object-fit: cover; }
.ll-world-widget--tarot figcaption { margin-top: 4px; font: 800 .58rem/1.2 "Courier New", monospace; }
.ll-five-element-wheel { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; }
.ll-five-element-wheel span { display: grid; min-height: 46px; place-content: center; border: 1px solid #987188; background: #f8e8f0; font: 700 1.15rem/1 Georgia, serif; text-align: center; }
.ll-five-element-wheel span:last-child { grid-column: 1 / -1; background: #e1edf5; }
.ll-five-element-wheel small { display: block; margin-top: 3px; font: .5rem/1 Verdana, sans-serif; text-transform: uppercase; }
.ll-diary-page { min-height: 150px; padding: 9px; border: 1px solid #a97891; background: repeating-linear-gradient(#fff 0 20px, #dbeaf5 21px); }
.ll-diary-page p { margin: 0 0 13px; color: #aa5983; font: 700 .56rem/1 "Courier New", monospace; }
.ll-diary-page b, .ll-diary-page span, .ll-diary-page i { display: block; font-size: .65rem; line-height: 1.5; }
.ll-diary-page i { margin-top: 12px; color: #94617d; font-family: "Courier New", monospace; }
.ll-report-file { padding: 14px 9px; border: 5px double #7a4d66; background: #fff8f2; text-align: center; }
.ll-report-file span, .ll-report-file i { display: block; font: 700 .54rem/1.3 "Courier New", monospace; }
.ll-report-file b { display: block; margin: 10px 0; color: #7d3f64; font: 700 1.2rem/1 Georgia, serif; }
.ll-file-drawer, .ll-book-stack { display: grid; gap: 4px; }
.ll-file-drawer span, .ll-book-stack span { padding: 7px 8px; border: 1px solid #8a6077; background: #f6d7e7; font: 800 .6rem/1 Verdana, sans-serif; }
.ll-file-drawer span:nth-child(even), .ll-book-stack span:nth-child(even) { margin-left: 13px; background: #dcecf7; }
.ll-profile-pixels { display: grid; grid-template-columns: repeat(2, 42px); place-content: center; gap: 5px; min-height: 115px; }
.ll-profile-pixels i { width: 42px; height: 42px; border: 1px solid #785369; background: #f0bfd9; box-shadow: inset 6px 6px 0 rgba(255,255,255,.45); }
.ll-profile-pixels i:nth-child(even) { background: #cfe5f4; }
.ll-profile-pixels b { grid-column: 1 / -1; color: #78445f; font: 900 .7rem/1 Verdana, sans-serif; text-align: center; }
.ll-room-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.ll-room-grid a { display: grid; min-height: 52px; place-content: center; border: 1px solid #95627e; background: #f4c5dc; color: #5e3049; font: 900 .58rem/1 Verdana, sans-serif; text-decoration: none; }
.ll-room-grid a:nth-child(2), .ll-room-grid a:nth-child(3) { background: #d8ebf7; }

.ll-portalized .ll-portal-main > main {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
}
.ll-portalized .ll-portal-main :is(.archive-shell, .archive-document, .ll-zine-landing, .reports-hub-page, .account-dashboard, .product-tool-page) {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
}
.ll-portalized .ll-portal-main :is(.archive-breadcrumbs, .breadcrumb, .breadcrumbs) {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 8px;
  padding: 7px 9px;
  border: 1px solid #b87798;
  background: #f9deec;
  color: #704259;
  font: 700 .64rem/1.3 "Courier New", monospace;
}

.ll-portalized .ll-portal-main :is(.ll-collage, .ll-structural-visual, .ll-zine-hero-visual, .ll-illustration-frame, .ll-visual-break, .ll-background-word, .ll-world-structure__side, .ll-asset-composition) {
  display: none !important;
}

.ll-portalized--home .ll-portal-main :is(.ll-asset-hero__composition, .ll-asset-hero__moon, .ll-asset-hero__flower, .ll-asset-hero__chrome) {
  display: none !important;
}
.ll-portalized--home .ll-asset-hero {
  display: block;
  min-height: 0;
  padding: 18px;
  border: 1px solid var(--llp-line);
  background: #fff;
  box-shadow: 3px 3px 0 #e7bdd2;
}
.ll-portalized--home .ll-asset-hero::before {
  display: block;
  margin: -18px -18px 16px;
  padding: 6px 9px;
  border-bottom: 1px solid var(--llp-line);
  background: repeating-linear-gradient(90deg, #f1bdd8 0 8px, #f8ddea 8px 16px);
  color: #654052;
  content: "lunar_letter.home";
  font: 800 .62rem/1.2 "Courier New", monospace;
}
.ll-portalized--home .ll-asset-hero__copy {
  display: grid;
  width: 100%;
  max-width: none;
  min-height: 0;
  grid-template-columns: minmax(250px, .8fr) minmax(300px, 1.2fr);
  column-gap: 18px;
  align-items: start;
}
.ll-portalized--home .ll-asset-hero__copy > :not(.ll-home-launchpad) { grid-column: 1; }
.ll-portalized--home .ll-asset-hero__copy .ll-home-launchpad { grid-column: 2; grid-row: 1 / span 8; align-self: stretch; }
.ll-portalized--home .ll-asset-hero__copy h1 { max-width: 11ch; }
.ll-portalized--home .ll-asset-hero__copy h1 span {
  display: inline;
  color: #8a4770;
  -webkit-text-stroke: 0;
  text-shadow: 1px 1px 0 #fff, 3px 3px 0 #dca2bf;
}
.ll-portalized--home .ll-asset-hero__copy h1 span + span::before { content: " "; }
.ll-home-launchpad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 0;
}
.ll-home-launchpad a {
  position: relative;
  display: grid;
  min-height: 62px;
  align-content: center;
  gap: 3px;
  padding: 8px 42px 8px 9px;
  border: 1px solid #a76e8b;
  background: #f8dcea;
  color: #61394f;
  text-decoration: none;
}
.ll-home-launchpad a:nth-child(2), .ll-home-launchpad a:nth-child(3) { background: #e3f0f8; }
.ll-home-launchpad span { font: 800 .55rem/1.2 "Courier New", monospace; }
.ll-home-launchpad b { font: 800 .69rem/1.25 Verdana, sans-serif; }
.ll-home-launchpad i {
  position: absolute;
  right: 9px;
  top: 50%;
  width: 25px;
  height: 25px;
  border: 5px solid #f2b8d5;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px #785269, 0 0 0 1px #785269;
  transform: translateY(-50%);
}
.ll-home-launchpad a:nth-child(2) i { border-radius: 2px; border-width: 1px; background: #8b4c6e; box-shadow: inset 0 0 0 4px #fff, 0 0 0 1px #6d4057; }
.ll-home-launchpad a:nth-child(3) i { border: 0; border-radius: 0; background: linear-gradient(90deg, #82a986 0 20%, #ce8585 20% 40%, #b89a68 40% 60%, #aaa9b7 60% 80%, #7196b4 80%); box-shadow: 0 0 0 1px #745268; }
.ll-home-launchpad a:nth-child(4) i { border: 1px solid #875970; border-radius: 0; background: #fff; box-shadow: inset 0 -7px 0 #f0bed7; }
.ll-portalized--home .ll-world-preview:not(.ll-world-preview--tarot) figure { display: none !important; }
.ll-portalized--home .ll-world-preview:not(.ll-world-preview--tarot) {
  display: block !important;
  background-image: linear-gradient(90deg, rgba(246,198,222,.55) 1px, transparent 1px), linear-gradient(rgba(207,231,246,.45) 1px, transparent 1px);
  background-size: 18px 18px;
}
.ll-portalized .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero, .page-hero, .service-hero, .reports-hub-hero) {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0 0 10px;
  padding: 18px clamp(15px, 3vw, 30px);
  border: 1px solid var(--llp-line);
  background: #fff;
  box-shadow: 3px 3px 0 #e9bfd5;
  overflow: visible;
}
.ll-portalized .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero, .page-hero, .service-hero, .reports-hub-hero)::before {
  display: block;
  margin: -18px calc(clamp(15px, 3vw, 30px) * -1) 16px;
  padding: 6px 9px;
  border-bottom: 1px solid var(--llp-line);
  background: var(--llp-blue);
  color: #594258;
  content: "lunar_letter.page";
  font: 800 .62rem/1.2 "Courier New", monospace;
  text-transform: uppercase;
}
.ll-portalized--tarot .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero)::before { background: #efbed7; content: "tarot_room.index"; }
.ll-portalized--bazi .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero)::before { background: #e2edf4; content: "five_elements.index"; }
.ll-portalized--manifestation .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero)::before { background: #f4c8df; content: "future_letters.diary"; }

.ll-portalized .ll-portal-main :is(h1, .ll-category-wordmark) {
  max-width: none;
  margin: 0;
  color: #5b3049;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.5rem, 5.4vw, 4rem);
  font-style: italic;
  font-weight: 500;
  line-height: .96;
  text-wrap: balance;
}
.ll-portalized .ll-portal-main h2 {
  margin: 0 0 10px;
  color: #60364e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.1;
}
.ll-portalized .ll-portal-main h3 { margin: 0 0 7px; color: #674055; font-size: 1rem; line-height: 1.25; }
.ll-portalized .ll-portal-main :is(p, li, dd) { font-size: .88rem; line-height: 1.7; }
.ll-portalized .ll-portal-main p { max-width: 65ch; }

.ll-portalized .ll-portal-main :is(.ll-zine-deck, .ll-zine-index, .archive-directory, .archive-reference-section, .section-block, .product-tier-grid, .reports-hub-group, .account-universe-section, .account-card, .auth-card, .purchase-panel, .paypal-box, .checkout-summary, .confirmation-card) {
  min-width: 0;
  margin: 10px 0;
  padding: 14px;
  border: 1px solid #a56e8b;
  border-radius: 0;
  background: #fff;
  box-shadow: 3px 3px 0 #e8c2d5;
}
.ll-portalized .ll-portal-main :is(.ll-zine-index, .archive-directory, .reports-hub-grid, .product-tier-grid, .account-grid, .auth-forms) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ll-portalized .ll-portal-main :is(.ll-zine-index-group, .archive-directory > *, .reports-hub-card, .product-tier-grid > *, .account-card, .auth-card) {
  min-width: 0;
  padding: 12px;
  border: 1px solid #c68aa9;
  background: #fff8fc;
}
.ll-portalized .ll-portal-main :is(.ll-zine-index-group, .reports-hub-card, .account-card):nth-child(even) { background: #eef6fb; }

.ll-portalized .ll-portal-main :is(a.button, .button, button, [data-product-action], [data-paypal-start], .product-report-cta) {
  min-height: 38px;
  border: 1px solid #71425d;
  border-radius: 0;
  background: #6a3956;
  color: #fff;
  box-shadow: 2px 2px 0 #daa8c1;
  font: 800 .72rem/1.2 Verdana, sans-serif;
  text-decoration: none;
}
.ll-portalized .ll-portal-main :is(a.button, .button, button, [data-product-action], [data-paypal-start], .product-report-cta):hover { background: #c96f9e; color: #fff; }
.ll-portalized .ll-portal-main :is(input, select, textarea) {
  width: 100%;
  min-height: 39px;
  border: 1px solid #9d6d86;
  border-radius: 0;
  background: #fff;
  color: #42283a;
  font: .82rem/1.35 Verdana, sans-serif;
}
.ll-portalized .ll-portal-main textarea { min-height: 116px; }

.ll-portalized--reports .ll-portal-main :is(.reports-hub-grid, .product-tier-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ll-portalized--reports .ll-portal-main :is(.reports-hub-card, .purchase-panel, .paypal-box) { background: #fffaf5; }
.ll-portalized--reports .ll-portal-main :is(.generic-checkout-flow, .checkout-layout) {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr);
  gap: 12px;
  align-items: start;
}
.ll-portalized--reports .ll-portal-main :is(.purchase-panel, .checkout-summary) { position: sticky; top: 8px; }

.ll-portalized .ll-web-buttons {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  padding: 12px;
  border-top: 1px solid #b17193;
  background: #f8dcea;
}
.ll-portalized .ll-web-buttons a {
  display: grid;
  min-height: 31px;
  place-content: center;
  border: 1px solid #71465e;
  background: #fff;
  color: #63364e;
  text-align: center;
  text-decoration: none;
}
.ll-portalized .ll-web-buttons a:nth-child(even) { background: #dcecf7; }
.ll-portalized .ll-web-buttons b { font: 900 .59rem/1.1 Verdana, sans-serif; }
.ll-portalized .ll-web-buttons span { font: .49rem/1.2 "Courier New", monospace; }
.ll-portalized .ll-portal-signoff {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  border-top: 1px solid #a66888;
  background: var(--llp-wine);
  color: #fff;
  font: 700 .58rem/1.3 "Courier New", monospace;
}
.ll-portalized .ll-portal-signoff a { color: #fbd5e7; }

body.ll-portalized > .site-footer {
  width: min(1180px, calc(100vw - 24px));
  margin: 0 auto 18px;
  border: 1px solid var(--llp-line);
  background: #fffafd;
  color: var(--llp-ink);
}

@media (max-width: 1050px) {
  .ll-portalized .ll-portal-grid { grid-template-columns: 180px minmax(0, 1fr); }
  .ll-portalized .ll-portal-sidebar--right { display: none; }
  .ll-portalized--reports .ll-portal-main :is(.reports-hub-grid, .product-tier-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ll-portalized > .site-header .site-search-mini { width: 42px; }
  body.ll-portalized > .site-header .site-search-mini input { display: none; }
}

@media (max-width: 760px) {
  body.ll-portalized > .site-header,
  .ll-portalized .ll-portal-shell,
  body.ll-portalized > .site-footer { width: calc(100vw - 12px); }
  .ll-portalized .ll-portal-title { font-size: clamp(2.5rem, 14vw, 4rem); }
  .ll-portalized .ll-portal-masthead { min-height: 126px; padding-inline: 12px; }
  .ll-portalized .ll-portal-grid { grid-template-columns: minmax(0, 1fr); padding: 7px; }
  .ll-portalized .ll-portal-sidebar { position: static; }
  .ll-portalized .ll-portal-sidebar--left { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ll-portalized .ll-portal-sidebar--left .ll-web-panel--minor { display: none; }
  .ll-portalized--home .ll-asset-hero__copy { grid-template-columns: minmax(0, 1fr); }
  .ll-portalized--home .ll-asset-hero__copy > :not(.ll-home-launchpad),
  .ll-portalized--home .ll-asset-hero__copy .ll-home-launchpad { grid-column: 1; grid-row: auto; }
  .ll-portalized--home .ll-asset-hero__copy .ll-home-launchpad { margin-top: 14px; }
  .ll-portalized .ll-portal-main :is(.ll-zine-index, .archive-directory, .reports-hub-grid, .product-tier-grid, .account-grid, .auth-forms),
  .ll-portalized--reports .ll-portal-main :is(.reports-hub-grid, .product-tier-grid),
  .ll-portalized--reports .ll-portal-main :is(.generic-checkout-flow, .checkout-layout) { grid-template-columns: minmax(0, 1fr); }
  .ll-portalized--reports .ll-portal-main :is(.purchase-panel, .checkout-summary) { position: static; }
  .ll-portalized .ll-web-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ll-portalized .ll-web-buttons a:last-child { grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  body.ll-portalized > .site-header { min-height: 42px; margin-top: 4px; }
  .ll-portalized .ll-portal-shell { margin-top: 6px; }
  .ll-portalized .ll-portal-lace { height: 18px; }
  .ll-portalized .ll-portal-sidebar--left { grid-template-columns: 1fr; }
  .ll-portalized .ll-portal-sidebar--left .ll-web-panel:not(.ll-web-panel--nav) { display: none; }
  .ll-portalized .ll-side-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ll-portalized .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero, .page-hero, .service-hero, .reports-hub-hero) { padding: 14px 12px; }
  .ll-portalized .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero, .page-hero, .service-hero, .reports-hub-hero)::before { margin: -14px -12px 13px; }
  .ll-portalized .ll-portal-main :is(h1, .ll-category-wordmark) { font-size: clamp(2.25rem, 12vw, 3rem); }
  .ll-portalized .ll-portal-signoff { display: grid; justify-content: center; text-align: center; }
}

/* ================================================================
   PORTAL V5 HIGH-CHROMA IDENTITY
   One shared component language for every generated user route.
   ================================================================ */
.ll-portalized--astrology { --ll-world-primary: var(--ll-blue); --ll-world-secondary: var(--ll-lilac); --ll-world-tertiary: var(--ll-baby-pink); --ll-world-detail: var(--ll-silver); }
.ll-portalized--tarot { --ll-world-primary: var(--ll-hot-pink); --ll-world-secondary: var(--ll-wine); --ll-world-tertiary: var(--ll-lilac); --ll-world-detail: var(--ll-black); }
.ll-portalized--bazi { --ll-world-primary: var(--ll-mint); --ll-world-secondary: var(--ll-coral); --ll-world-tertiary: var(--ll-electric-blue); --ll-world-detail: var(--ll-ice); }
.ll-portalized--manifestation { --ll-world-primary: var(--ll-pink); --ll-world-secondary: var(--ll-lilac); --ll-world-tertiary: var(--ll-cyan); --ll-world-detail: var(--ll-silver); }
.ll-portalized--reports { --ll-world-primary: var(--ll-pink); --ll-world-secondary: var(--ll-blue); --ll-world-tertiary: var(--ll-lilac); --ll-world-detail: var(--ll-silver); }
.ll-portalized--account { --ll-world-primary: var(--ll-baby-pink); --ll-world-secondary: var(--ll-lilac); --ll-world-tertiary: var(--ll-blue); --ll-world-detail: var(--ll-silver); }
.ll-portalized--library { --ll-world-primary: var(--ll-lilac); --ll-world-secondary: var(--ll-cyan); --ll-world-tertiary: var(--ll-pink); --ll-world-detail: var(--ll-silver); }
.ll-portalized--self { --ll-world-primary: var(--ll-lilac); --ll-world-secondary: var(--ll-pink); --ll-world-tertiary: var(--ll-blue); --ll-world-detail: var(--ll-mint); }
.ll-portalized--tools { --ll-world-primary: var(--ll-cyan); --ll-world-secondary: var(--ll-pink); --ll-world-tertiary: var(--ll-lilac); --ll-world-detail: var(--ll-silver); }

body.ll-portalized > .site-header {
  border-color: var(--ll-hot-pink);
  background: var(--ll-black);
  box-shadow: 4px 4px 0 var(--ll-blue);
}
body.ll-portalized > .site-header :is(.my-lunar-link, .account-menu > button) {
  border-color: var(--ll-white);
  background: var(--ll-hot-pink);
  color: var(--ll-black);
}
.ll-portalized .ll-portal-shell {
  border-color: var(--ll-hot-pink);
  background: var(--ll-white);
  box-shadow: 0 0 0 4px var(--ll-baby-pink), 0 0 0 5px var(--ll-hot-pink), 7px 9px 0 rgba(88, 124, 255, .28);
}
.ll-portalized .ll-portal-lace {
  border-block: 1px solid var(--ll-electric-blue);
  background: var(--ll-blue);
}
.ll-portalized .ll-portal-lace img {
  filter: saturate(1.35) hue-rotate(292deg) brightness(1.12);
  opacity: .94;
}
.ll-portalized .ll-portal-masthead {
  min-height: 158px;
  border-color: var(--ll-wine);
  background-color: var(--ll-world-primary);
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.48) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.48) 1px, transparent 1px),
    linear-gradient(90deg, var(--ll-world-primary) 0 40%, var(--ll-world-secondary) 40% 73%, var(--ll-world-tertiary) 73% 100%);
  background-size: 22px 22px, 22px 22px, 100% 100%;
}
.ll-portalized .ll-portal-masthead > p,
.ll-portalized .ll-portal-masthead > span { color: var(--ll-black); }
.ll-portalized .ll-portal-title {
  color: var(--ll-black);
  text-shadow: 2px 2px 0 var(--ll-white), 5px 5px 0 var(--ll-hot-pink);
}
.ll-portalized .ll-portal-masthead__rule { color: var(--ll-black); }
.ll-portalized .ll-portal-masthead__rule i { height: 2px; background: var(--ll-black); }
.ll-portalized .ll-portal-ticker {
  border-color: var(--ll-hot-pink);
  background: var(--ll-black);
}
.ll-portalized .ll-portal-ticker i { background: var(--ll-cyan); }
.ll-portalized .ll-portal-grid {
  background-color: var(--ll-white);
  background-image: linear-gradient(rgba(88,124,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,79,164,.07) 1px, transparent 1px);
  background-size: 24px 24px;
}

/* PortalPanel / PortalTitleBar / PortalModule / ReadingPanel */
.PortalPanel,
.PortalModule,
.ReadingPanel,
.ll-portalized .ll-web-panel,
.ll-portalized .ll-portal-main :is(.ll-zine-index-group, .archive-directory > *, .reports-hub-card, .product-tier-grid > *, .account-card, .auth-card, .purchase-panel, .paypal-box, .checkout-summary, .confirmation-card, .section-block) {
  border: 1px solid var(--ll-wine) !important;
  border-radius: 0 !important;
  background: var(--ll-white) !important;
  box-shadow: 4px 4px 0 var(--ll-silver) !important;
}
.PortalTitleBar,
.ll-portalized .ll-web-panel__title,
.ll-portalized .ll-portal-main :is(.chart-window-title, .section-title, .panel-title) {
  border-color: var(--ll-wine) !important;
  background: var(--ll-world-primary) !important;
  color: var(--ll-black) !important;
}
.ll-portalized .ll-web-panel:nth-child(even) .ll-web-panel__title { background: var(--ll-world-secondary) !important; }
.ll-portalized .ll-web-panel:nth-child(3n) .ll-web-panel__title { background: var(--ll-world-tertiary) !important; }
.ll-portalized :is(.ll-side-nav, .ll-mini-links) a:hover,
.ll-portalized :is(.ll-side-nav, .ll-mini-links) a[aria-current="page"] { background: var(--ll-world-secondary); color: var(--ll-black); }
.ll-portalized .ll-world-widget { background: var(--ll-ice); }
.ll-portalized .ll-world-widget > a { border-color: var(--ll-black); background: var(--ll-electric-blue); color: var(--ll-white); }

.ll-portalized .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero, .page-hero, .service-hero, .reports-hub-hero) {
  border-color: var(--ll-wine);
  background: var(--ll-white);
  box-shadow: 5px 5px 0 var(--ll-silver);
}
.ll-portalized .ll-portal-main :is(.ll-world-structure, .ll-category-frame, .ll-zine-hero, .page-hero, .service-hero, .reports-hub-hero)::before {
  border-color: var(--ll-wine);
  background: repeating-linear-gradient(90deg, var(--ll-world-primary) 0 12px, var(--ll-world-secondary) 12px 24px, var(--ll-world-tertiary) 24px 36px);
  color: var(--ll-black);
}
.ll-portalized .ll-portal-main :is(h1, .ll-category-wordmark) { color: var(--ll-black); }
.ll-portalized .ll-portal-main :is(h2, h3) { color: var(--ll-wine); }
.ll-portalized .ll-portal-main :is(.eyebrow, .product-tool-kicker, .product-tool-index, .typewritten-label) { color: var(--ll-electric-blue); }

/* PortalInput / PortalSelect / PortalTextarea / PortalCheckbox */
.PortalInput,
.PortalSelect,
.PortalTextarea,
.ll-portalized .ll-portal-main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 44px;
  width: 100%;
  border: 1px solid var(--ll-wine) !important;
  border-radius: 0 !important;
  background: var(--ll-white) !important;
  color: var(--ll-ink) !important;
  box-shadow: inset 4px 0 0 var(--ll-world-secondary);
}
.PortalCheckbox,
.ll-portalized .ll-portal-main :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--ll-hot-pink); }
.ll-portalized .ll-portal-main label { color: var(--ll-ink); }

/* PrimaryButton / SecondaryButton / MicroWebButton */
.PrimaryButton,
.ll-portalized .ll-portal-main :is(.button.primary, [data-product-action], [data-paypal-start]) {
  border-color: var(--ll-black) !important;
  background: var(--ll-hot-pink) !important;
  color: var(--ll-black) !important;
  box-shadow: 3px 3px 0 var(--ll-blue) !important;
}
.SecondaryButton,
.ll-portalized .ll-portal-main :is(.button.secondary, .product-report-cta) {
  border-color: var(--ll-black) !important;
  background: var(--ll-blue) !important;
  color: var(--ll-black) !important;
  box-shadow: 3px 3px 0 var(--ll-lilac) !important;
}
.MicroWebButton,
.ll-portalized .ll-portal-main :is(.button.ghost, button:not(.primary):not(.secondary)) {
  border-color: var(--ll-wine) !important;
  background: var(--ll-white) !important;
  color: var(--ll-wine) !important;
}
.ll-portalized .ll-portal-main :is(a.button, .button, button, [data-product-action], [data-paypal-start], .product-report-cta):hover {
  background: var(--ll-violet) !important;
  color: var(--ll-white) !important;
}

/* Collectible report issue family; web art replaces screenshots of old covers. */
.ll-portalized--reports .ll-report-covers:not(.ll-report-covers--v5) img { display: none !important; }
.ll-report-covers--v5 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: end;
}
.ll-report-covers--v5 > span { grid-column: 1 / -1; color: var(--ll-wine); font: 700 .62rem/1.3 "Courier New", monospace; text-align: center; }
.ll-edition-cover {
  position: relative;
  display: grid;
  min-height: 220px;
  align-content: space-between;
  gap: 8px;
  padding: 12px;
  border: 2px solid var(--ll-black);
  background-color: var(--ll-white);
  background-image: linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size: 14px 14px;
  color: var(--ll-black);
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.58), 5px 5px 0 var(--ll-silver);
  overflow: hidden;
}
.ll-edition-cover::before {
  position: absolute;
  width: 76px;
  height: 76px;
  right: -22px;
  top: 42px;
  border: 10px double var(--ll-black);
  border-radius: 50%;
  content: "";
  opacity: .18;
}
.ll-edition-cover > span,
.ll-edition-cover > i { position: relative; z-index: 1; font: 800 .55rem/1.25 "Courier New", monospace; }
.ll-edition-cover > b { position: relative; z-index: 1; width: max-content; padding: 4px 6px; border: 1px solid var(--ll-black); background: var(--ll-white); font: 900 .62rem/1 Verdana, sans-serif; }
.ll-edition-cover > strong { position: relative; z-index: 1; max-width: 10ch; font: 700 clamp(1.05rem, 2vw, 1.65rem)/.95 Georgia, serif; }
.ll-edition-cover > em { position: absolute; width: 11px; height: 11px; left: 12px; bottom: 40px; border: 2px solid var(--ll-white); background: var(--ll-black); box-shadow: 16px 0 0 var(--ll-electric-blue), 32px 0 0 var(--ll-white); }
.ll-edition-cover--quick { min-height: 190px; background-color: var(--ll-pink); }
.ll-edition-cover--in-depth { min-height: 220px; background-color: var(--ll-lilac); }
.ll-edition-cover--complete { min-height: 250px; background-color: var(--ll-electric-blue); color: var(--ll-white); box-shadow: inset 0 0 0 5px rgba(255,255,255,.62), 5px 5px 0 var(--ll-pink); }
.ll-edition-cover--complete > b { color: var(--ll-black); }
.ll-portalized--reports .reports-hub-card,
.ll-portalized--reports .product-tier-grid > article { display: grid; align-content: start; gap: 10px; }
.ll-portalized--reports .reports-hub-card > .ll-edition-cover,
.ll-portalized--reports .product-tier-grid > article > .ll-edition-cover { margin: -11px -11px 4px; }
.ll-portalized--reports .reports-hub-grid,
.ll-portalized--reports .product-tier-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.ll-portalized .ll-small-press .ll-report-stack > a { grid-template-columns: minmax(0, 1fr); align-items: start; }
.ll-portalized .ll-small-press .ll-edition-cover { width: 100%; min-height: 250px; margin: 0 0 8px; }

.ll-portalized .ll-web-buttons a:nth-child(1) { background: var(--ll-blue); }
.ll-portalized .ll-web-buttons a:nth-child(2) { background: var(--ll-hot-pink); }
.ll-portalized .ll-web-buttons a:nth-child(3) { background: var(--ll-mint); }
.ll-portalized .ll-web-buttons a:nth-child(4) { background: var(--ll-lilac); }
.ll-portalized .ll-web-buttons a:nth-child(5) { background: var(--ll-cyan); }
.ll-portalized .ll-web-buttons a { border-color: var(--ll-black); color: var(--ll-black); }
.ll-portalized .ll-portal-signoff { border-color: var(--ll-wine); background: var(--ll-black); color: var(--ll-white); }
.ll-portalized .ll-portal-signoff a { color: var(--ll-cyan); }
body.ll-portalized > .site-footer {
  border-color: var(--ll-hot-pink);
  background: var(--ll-black);
  color: var(--ll-white);
  box-shadow: 4px 4px 0 var(--ll-blue);
}
body.ll-portalized > .site-footer a { color: var(--ll-cyan); }
body.ll-portalized {
  background-color: var(--ll-ice) !important;
  background-image: radial-gradient(circle, rgba(88,124,255,.25) 1px, transparent 1.4px) !important;
}
body.ll-portalized--reports .ll-portal-main .reports-hub-grid,
body.ll-portalized--reports .ll-portal-main .product-tier-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 1040px) {
  .ll-report-covers--v5 { grid-template-columns: repeat(3, minmax(110px, 1fr)); overflow-x: auto; }
  .ll-portalized--reports .reports-hub-grid,
  .ll-portalized--reports .product-tier-grid,
  body.ll-portalized--reports .ll-portal-main .reports-hub-grid,
  body.ll-portalized--reports .ll-portal-main .product-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  .ll-portalized .ll-portal-masthead { min-height: 138px; }
  .ll-report-covers--v5 { grid-template-columns: repeat(3, 170px); }
  .ll-portalized--reports .reports-hub-grid,
  .ll-portalized--reports .product-tier-grid,
  body.ll-portalized--reports .ll-portal-main .reports-hub-grid,
  body.ll-portalized--reports .ll-portal-main .product-tier-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
