/* ====================================================================
   西洋星盤「星座宇宙」theme (2026-10-28)
   Active only on <html class="theme-astro"> (App\Support\AstroTheme::active(): page in PAGES +
   setting astrology.theme / preview cookie). Classic theme never loads this file.
   Scope: /astrology/start and /astrology/{id} (+ /zh-CN), with nav, notice bar, footer, cookie banner.
   Script public/js/astro-cosmos.js draws the background star field + constellation lines.

   Palette (distinct from tarot's blue-violet nebula and love's wine night):
     base      #070a1c deep space / #0d1230 indigo ink / #151c45 panel
     text      #ecebf4 starlight white / #aeb6da mist / #8a93bc dim
     accent    #e9c77b starlight gold (lines, headings) + #5ed6c4 aurora teal (focus, selection, soft aspects)
     elements  fire #f0906a / earth #d9bc7e / air #bcc8f0 / water #6fa0f0
   Section 1 is the site-wide dark re-skin (derived from the love theme's component overrides,
   recoloured); section 2+ is the astrology signature layer.
   ==================================================================== */

/* ---- 1. Site component re-skin (nav, buttons, forms, paywall, footer...) ---- */
html.theme-astro {
  --ac-void: #0c0f1e;
  --ac-night: #101429;
  --ac-wine: #161d38;
  --ac-wine-2: #1d2548;
  --ac-rose: #273058;
  --ac-rose-2: #364277;
  --ac-moon: #dfe1ed;
  --ac-mute: #babdd2;
  --ac-faint: #9ca0b6;
  --ac-gold: #d4b46a;
  --ac-gold-d: #b8924a;
  --ac-gold-l: #e8d2a0;
  --ac-thread: #4bcfbe;
  --ac-thread-hi: #f0a7a3;
  --ac-line: rgba(212, 180, 106, .18);
  --ac-line-2: rgba(212, 180, 106, .34);
  --ac-panel: linear-gradient(180deg, rgba(24, 31, 60, .96) 0%, rgba(17, 22, 45, .96) 100%);
  --ac-btn: linear-gradient(180deg, #ecd39a 0%, #d9ba73 48%, #bf9e51 100%);
  --ac-btn-ink: #121939;
  --ac-btn-bd: #8c7132;

  --color-paper-50: #131933;
  --color-paper-100: #101429;
  --color-paper-200: #1a213d;
  --color-paper-300: #20274a;
  --color-paper-400: #273058;
  --color-paper-500: #364277;
  --color-paper: #101429;

  --color-ink-50: #131933;
  --color-ink-100: #20274a;
  --color-ink-200: #313b67;
  --color-ink-300: #505d9b;
  --color-ink-400: #9ca0b6;
  --color-ink-500: #babdd2;
  --color-ink-600: #c4c7d8;
  --color-ink-700: #cdcfe1;
  --color-ink-800: #d8dae6;
  --color-ink-900: #dfe1ed;
  --color-ink-950: #273058;

  --color-brand-50: #181e38;
  --color-brand-100: #1e2542;
  --color-brand-200: #3e4978;
  --color-brand-300: #8a6a3e;
  --color-brand-400: #b8924a;
  --color-brand-500: #c6a65a;
  --color-brand-600: #d4b46a;
  --color-brand-700: #dfc485;
  --color-brand-800: #e8d2a0;
  --color-brand-900: #f0e1bf;
  --color-brand-950: #e2e4f0;

  --color-accent: #d4b46a;
  --color-accent-dark: #b8924a;

  --color-cinnabar: #e8848a;
  --color-cinnabar-50: #131a39;
  --color-cinnabar-100: #182044;
  --color-cinnabar-200: #f0a7a3;
  --color-cinnabar-300: #e8848a;
  --color-cinnabar-400: #66d6c7;
  --color-cinnabar-500: #4bcfbe;
  --color-cinnabar-600: #33beab;
  --color-cinnabar-700: #f4bcb6;
  --color-rose-500: #f0a0a4;

  --color-jade: #cdcfe1;
  --color-jade-50: #161b32;
  --color-jade-500: #cdcfe1;
  --color-jade-700: #dee0ea;
  --color-emerald-50: #161b32;
  --color-emerald-100: #1a2039;
  --color-emerald-200: #30395e;
  --color-emerald-500: #cdcfe1;
  --color-emerald-600: #455186;
  --color-emerald-700: #d6d8e4;
  --color-emerald-800: #dfe1ed;
  --color-amber-50: #171d35;
  --color-amber-100: #1c223d;
  --color-amber-200: #333c67;
  --color-amber-500: #d4b46a;
  --color-amber-600: #d4b46a;
  --color-amber-700: #e8d2a0;
  --color-amber-800: #f0e1bf;
  --color-red-50: #131a39;
  --color-red-100: #182044;
  --color-red-200: #273367;
  --color-red-600: #f0a0a4;
  --color-red-700: #f4b4b4;
  --color-red-800: #f8caca;

  --xd-paper: #101429;
  --xd-paper-2: #12172e;
  --xd-paper-3: #141a35;
  --xd-paper-4: #20274a;
  --xd-sheet: #141a35;
  --xd-ink: #dfe1ed;
  --xd-ink-2: #d8dae6;
  --xd-ink-3: #c7c9db;
  --xd-ink-4: #babdd2;
  --xd-ink-5: #9ca0b6;
  --xd-gold: #d4b46a;
  --xd-gold-2: #b8924a;
  --xd-gold-ink: #dfc485;
  --xd-gold-light: #e8d2a0;
  --xd-cinnabar: #4bcfbe;
  --xd-cinnabar-2: #33beab;
  --xd-cinnabar-ink: #f0a7a3;
  --xd-rule: rgba(212, 180, 106, .18);
  --xd-rule-2: rgba(212, 180, 106, .32);
  --xd-rule-ink: rgba(223, 225, 237, .08);
  --xd-grain: none;
  --xd-shadow-sheet: 0 22px 50px -30px rgba(8, 2, 4, .85);
  --xd-shadow-lift: 0 26px 60px -28px rgba(8, 2, 4, .9), 0 0 0 1px rgba(212, 180, 106, .24);
  --xd-frame: inset 0 0 0 1px rgba(212, 180, 106, .2);

  background: var(--ac-void);
  color-scheme: dark;
}

html.theme-astro body,
html.theme-astro.ui-v2 body {
  background: transparent;
  background-image: none;
  color: var(--ac-moon);
}
html.theme-astro body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -3;
  pointer-events: none;
  background:
    radial-gradient(60vmax 40vmax at 92% 6%, rgba(54, 66, 119, .42), transparent 64%),
    radial-gradient(50vmax 34vmax at 4% 46%, rgba(35, 45, 88, .38), transparent 70%),
    radial-gradient(60vmax 36vmax at 60% 104%, rgba(26, 34, 72, .55), transparent 72%),
    linear-gradient(180deg, #10152b 0%, #0f1325 46%, #0c0f1e 100%);
}

html.theme-astro .ac-sky {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  display: block;
}

html.theme-astro ::selection { background: rgba(212, 180, 106, .34); color: #ffffff; }
html.theme-astro :focus-visible { outline: 2px solid var(--ac-gold-l); outline-offset: 3px; }
html.theme-astro .scroll-progress,
html.theme-astro.ui-v2 .scroll-progress {
  height: 2px;
  background: linear-gradient(90deg, rgba(75, 207, 190, .5), var(--ac-thread) 70%, var(--ac-gold));
  box-shadow: none;
}

html.theme-astro body > nav,
html.theme-astro.ui-v2 body > nav {
  background-color: rgba(13, 17, 35, .8) !important;
  background-image: none !important;
  -webkit-backdrop-filter: blur(14px) saturate(110%);
  backdrop-filter: blur(14px) saturate(110%);
  border-bottom: 0;
  box-shadow: 0 1px 0 rgba(212, 180, 106, .16), 0 12px 30px -24px rgba(0, 0, 0, .9) !important;
}
html.theme-astro body > nav .hidden.md\:flex > div > button,
html.theme-astro body > nav .hidden.md\:flex > a:not(.rounded-full):not([class*="btn"]) { color: #d3d5e4; }
/* 「免費註冊 / 送 1 次解鎖」的朱紅小字在深色導覽列上看不清 → 淺色 */
html.theme-astro body > nav .xd-nav-login .xd-nav-gift { color: var(--ac-thread-hi); }
html.theme-astro body > nav .hidden.md\:flex > div > button:hover,
html.theme-astro body > nav .hidden.md\:flex > a:not(.rounded-full):not([class*="btn"]):hover { color: var(--ac-gold-l); text-shadow: none; }

html.theme-astro body > nav a.rounded-full.bg-ink-950 {
  background: rgba(29, 37, 72, .85);
  color: var(--ac-gold-l);
  box-shadow: 0 0 0 1px rgba(212, 180, 106, .5);
}

html.theme-astro body > nav [x-show].absolute.rounded-xl,
html.theme-astro.ui-v2 body > nav [x-show].absolute.rounded-xl {
  background-color: #10152b;
  background-image: radial-gradient(120% 80% at 0% 0%, rgba(54, 66, 119, .28), transparent 60%);
  border-color: rgba(212, 180, 106, .22);
  border-radius: 14px;
  box-shadow: 0 0 0 1px rgba(212, 180, 106, .08), 0 30px 60px -24px rgba(0, 0, 0, .9);
}
html.theme-astro body > nav .bg-gradient-to-r.via-accent { background-image: linear-gradient(90deg, transparent, rgba(212, 180, 106, .5), transparent); }
html.theme-astro body > nav .bg-ink-950 { background-color: #1d2548; }
html.theme-astro body > nav .text-accent { color: var(--ac-gold-l); }

html.theme-astro body > nav [style*="color:#8A6D1F"] { color: var(--ac-gold) !important; }
html.theme-astro body > nav [style*="color:#B4242C"] { color: #f0a7a3 !important; }
html.theme-astro body > nav [style*="#c9a227"] { box-shadow: 0 0 0 2px var(--ac-gold) !important; }

html.theme-astro body > nav [style*="#fff8e8"] {
  background: linear-gradient(135deg, rgba(39, 48, 88, .6), rgba(22, 29, 56, .6)) !important;
  box-shadow: 0 0 0 1px rgba(212, 180, 106, .42), 0 8px 20px -12px rgba(0, 0, 0, .7) !important;
}
html.theme-astro body > nav [style*="#8f1c22"] { background: #2daa99 !important; box-shadow: none !important; }
html.theme-astro .text-emerald-600 { color: #cdcfe1; }
html.theme-astro body > nav .text-paper-100\/75 { color: rgba(223, 225, 237, .8); }
html.theme-astro body > nav .btn-ink-gold [style*="color:#4a3208"] { color: var(--ac-btn-ink) !important; }
html.theme-astro body > nav .btn-ink-gold [style*="color:#6b4a10"] { color: rgba(18, 25, 57, .78) !important; }

html.theme-astro body > nav > div.md\:hidden,
html.theme-astro body > nav [x-show].md\:hidden {
  background-color: rgba(12, 16, 33, .98) !important;
  border-color: rgba(212, 180, 106, .16) !important;
}
html.theme-astro body > nav .ring-1.bg-paper-50\/70 { background-color: rgba(29, 37, 72, .6); }
html.theme-astro body > nav button.md\:hidden { color: #d3d5e4; }
html.theme-astro body > nav button.md\:hidden:hover { background-color: rgba(223, 225, 237, .07); }

html.theme-astro body > nav [data-zh-toggle],
html.theme-astro body > nav a[hreflang] { color: #d3d5e4; border-color: rgba(212, 180, 106, .32); background-color: rgba(29, 37, 72, .6); }

html.theme-astro .btn-ink-cinnabar,
html.theme-astro.ui-v2 .btn-ink-cinnabar,
html.theme-astro .btn-ink-gold,
html.theme-astro.ui-v2 .btn-ink-gold {
  color: var(--ac-btn-ink);
  background: var(--ac-btn);
  border-color: var(--ac-btn-bd);
  box-shadow: inset 0 1px 0 rgba(230, 232, 245, .55), 0 10px 24px -14px rgba(0, 0, 0, .8);
  text-shadow: none;
}
html.theme-astro .btn-ink-cinnabar:hover,
html.theme-astro .btn-ink-gold:hover {
  color: #0c1129;
  border-color: #6e5826;
  box-shadow: inset 0 1px 0 rgba(230, 232, 245, .6), 0 0 0 1px rgba(232, 210, 160, .25), 0 14px 28px -14px rgba(0, 0, 0, .9);
}
html.theme-astro .btn-ghost { color: #d3d5e4; }
html.theme-astro .btn-ghost:hover { background: rgba(223, 225, 237, .06); }

html.theme-astro [data-free-mode-bar].xd-mix-bar {
  background: linear-gradient(90deg, rgba(14, 18, 39, .97), rgba(19, 25, 53, .97) 50%, rgba(14, 18, 39, .97));
  color: #d3d5e4;
  border-bottom: 1px solid rgba(212, 180, 106, .18);
}
html.theme-astro .xd-mix-bar .mb-dot { background: var(--ac-thread); box-shadow: none; }
html.theme-astro .xd-mix-bar a { color: var(--ac-gold-l); }
html.theme-astro .xd-mix-bar .mb-close { color: #b4b7cb; }
html.theme-astro [data-free-mode-bar]:not(.xd-mix-bar) {
  background: linear-gradient(90deg, #131a39 0%, #1d2548 50%, #131a39 100%) !important;
  background-image: linear-gradient(90deg, #131a39 0%, #1d2548 50%, #131a39 100%) !important;
  color: #dbdde9 !important;
  box-shadow: inset 0 -1px 0 rgba(212, 180, 106, .3);
}
html.theme-astro [data-free-mode-bar]:not(.xd-mix-bar) > span > span:first-child { color: #121939 !important; background: #e8d2a0 !important; border-color: transparent !important; }

html.theme-astro .card {
  background: rgba(17, 22, 45, .97);
  border: 1px solid rgba(212, 180, 106, .22);
  color: var(--ac-moon);
}
html.theme-astro [role="status"] > .rounded-xl.shadow-lg { background: rgba(18, 24, 49, .98) !important; }

html.theme-astro #line-side-tab > a { box-shadow: 0 0 0 1px rgba(212, 180, 106, .35), 0 10px 26px -12px rgba(0, 0, 0, .85) !important; }
html.theme-astro #line-side-tab > button {
  background: #161d38 !important;
  color: #d3d5e4 !important;
  border-color: rgba(212, 180, 106, .32) !important;
}

html.theme-astro body > footer {
  position: relative;
  color: var(--ac-mute);
  background:
    radial-gradient(120% 70% at 50% 100%, rgba(35, 45, 88, .45), transparent 62%),
    linear-gradient(180deg, rgba(12, 15, 30, 0) 0%, rgba(12, 15, 30, .86) 30%, #0a0d1b 100%);
  border-top: 1px solid rgba(212, 180, 106, .12);
}
html.theme-astro body > footer > img,
html.theme-astro body > footer > .absolute.inset-0 { display: none; }
html.theme-astro body > footer h4 { color: var(--ac-moon); }
html.theme-astro body > footer .footer-link,
html.theme-astro.ui-v2 body > footer .footer-link { color: #b4b7cb; }
html.theme-astro body > footer .footer-link:hover,
html.theme-astro.ui-v2 body > footer .footer-link:hover { color: var(--ac-gold-l); text-shadow: none; }
html.theme-astro body > footer .footer-link::after { background: linear-gradient(90deg, rgba(212, 180, 106, .7), transparent); }
html.theme-astro body > footer .cloud-divider {
  height: 1px;
  margin: 0 auto;
  max-width: 80rem;
  background: linear-gradient(90deg, transparent, rgba(212, 180, 106, .3), rgba(75, 207, 190, .3), transparent);
}
html.theme-astro body > footer > .container-wide:first-of-type,
html.theme-astro.ui-v2 body > footer > .container-wide:first-of-type { border-top: 0; }
html.theme-astro body > footer .text-ink-500 { color: var(--ac-mute); }
html.theme-astro body > footer img.master-float { filter: none; }

html.theme-astro main > section.bg-candle-glow { background: none; }
html.theme-astro main > section:first-child > [aria-hidden="true"].absolute.inset-0,
html.theme-astro main > section:first-child > img[src*="coin-icon"] { display: none; }

html.theme-astro .xd-cover-scroll { filter: drop-shadow(0 20px 26px rgba(8, 2, 4, .55)); }
html.theme-astro .xd-start-title h1 span { color: var(--ac-gold); }
html.theme-astro .xd-start-tagline { color: var(--ac-mute); }

html.theme-astro .xd-svc-steps li::before { background: #33beab; color: #e8eaf5; }

html.theme-astro form.card-paper,
html.theme-astro.ui-v2 form.card-paper {
  background: var(--ac-panel);
  background-image: var(--ac-panel);
  box-shadow: inset 0 0 0 1px rgba(212, 180, 106, .26), inset 0 0 0 5px rgba(17, 22, 45, .6), inset 0 0 0 6px rgba(212, 180, 106, .1), 0 30px 60px -34px rgba(8, 2, 4, .9);
  color: var(--ac-moon);
}
html.theme-astro form.card-paper label.text-ink-700,
html.theme-astro form.card-paper > div > label { color: #d3d5e4; }

html.theme-astro main input[type="text"],
html.theme-astro main input[type="email"],
html.theme-astro main input[type="tel"],
html.theme-astro main select,
html.theme-astro main textarea,
html.theme-astro.ui-v2 main input[type="text"],
html.theme-astro.ui-v2 main select,
html.theme-astro.ui-v2 main textarea {
  background-color: rgba(7, 10, 21, .5);
  border-color: rgba(212, 180, 106, .3);
  color: var(--ac-moon);
}
html.theme-astro main input::placeholder,
html.theme-astro main textarea::placeholder { color: #898ca5; opacity: 1; }
html.theme-astro main input:focus,
html.theme-astro main select:focus,
html.theme-astro main textarea:focus {
  border-color: var(--ac-gold) !important;
  box-shadow: 0 0 0 3px rgba(212, 180, 106, .18) !important;
}
html.theme-astro main select option { background: #101429; color: var(--ac-moon); }

html.theme-astro form.card-paper .peer + span {
  background-color: rgba(223, 225, 237, .035);
  border-color: rgba(212, 180, 106, .28);
  color: #cdcfe1;
}
html.theme-astro form.card-paper .peer + span:hover { background-color: rgba(223, 225, 237, .07); }
html.theme-astro form.card-paper .peer:checked + span,
html.theme-astro.ui-v2 form.card-paper .peer:checked + span {
  background: linear-gradient(180deg, #2d3763 0%, #222b50 100%);
  border-color: var(--ac-gold);
  color: var(--ac-gold-l);
  box-shadow: inset 0 0 0 1px rgba(212, 180, 106, .55), 0 6px 16px -10px rgba(0, 0, 0, .7);
}
html.theme-astro form.card-paper .peer:focus-visible + span { outline: 2px solid var(--ac-gold-l); outline-offset: 2px; }
html.theme-astro form.card-paper button.bg-ink-950 { background: linear-gradient(180deg, #2d3763 0%, #222b50 100%); }
html.theme-astro form.card-paper button.hover\:bg-paper-300:hover { background-color: rgba(223, 225, 237, .07); }

html.theme-astro .wheel { background: rgba(7, 10, 21, .5); border-color: rgba(212, 180, 106, .3); }
html.theme-astro .wheel-item { color: #7e829a; }
html.theme-astro .wheel-item.is-active { color: var(--ac-moon); }
html.theme-astro .wheel-col-label { color: #aeb1c6; }
html.theme-astro .wheel-center {
  border-color: rgba(212, 180, 106, .55);
  background: linear-gradient(90deg, rgba(75, 207, 190, .1), rgba(212, 180, 106, .09) 50%, rgba(75, 207, 190, .1));
}
html.theme-astro .wheel-other-input { background: rgba(7, 10, 21, .5); border-color: rgba(212, 180, 106, .4); color: var(--ac-moon); }

html.theme-astro form.card-paper p.bg-brand-50\/70 { background: rgba(212, 180, 106, .08); border-color: rgba(212, 180, 106, .35); color: var(--ac-gold-l); }

html.theme-astro .ask-field { border-color: rgba(212, 180, 106, .34); background: rgba(223, 225, 237, .03); }
html.theme-astro .ask-field.is-shake { border-color: #e8848a; box-shadow: 0 0 0 3px rgba(232, 132, 138, .18); }
html.theme-astro .ask-label { color: var(--ac-moon); }
html.theme-astro .ask-intro,
html.theme-astro .ask-hint,
html.theme-astro .ask-note { color: var(--ac-mute); }
html.theme-astro .ask-chip,
html.theme-astro .ask-pill { background: rgba(223, 225, 237, .04); border-color: rgba(212, 180, 106, .3); color: #d3d5e4; }
html.theme-astro .ask-chip:hover,
html.theme-astro .ask-pill:hover { background: rgba(223, 225, 237, .08); border-color: rgba(212, 180, 106, .55); }
html.theme-astro .ask-chip.is-on {
  background: linear-gradient(180deg, #2d3763 0%, #222b50 100%);
  color: var(--ac-gold-l);
  border-color: var(--ac-gold);
}
html.theme-astro .ask-none { border-color: rgba(186, 189, 210, .42); color: var(--ac-mute); }
html.theme-astro .ask-none:hover { background: rgba(223, 225, 237, .05); }
html.theme-astro .ask-none.is-on { background: linear-gradient(180deg, #2d3763 0%, #222b50 100%); color: var(--ac-gold-l); border-color: var(--ac-gold); }
html.theme-astro .ask-mic,
html.theme-astro .mic-dictate { background: #161d38; color: var(--ac-gold-l); border-color: rgba(212, 180, 106, .5); box-shadow: none; }
html.theme-astro .ask-count { color: #898ca5; }
html.theme-astro .ask-error { color: #f0a0a4; }

html.theme-astro .quick-pill { background: rgba(223, 225, 237, .04); border-color: rgba(212, 180, 106, .3); color: #d3d5e4; }

html.theme-astro form.card-paper button[type="submit"].btn-ink-cinnabar { font-size: 1.0625rem; }

html.theme-astro [data-price-note] {
  background: rgba(212, 180, 106, .07) !important;
  border-color: rgba(212, 180, 106, .38) !important;
}
html.theme-astro [data-price-note] > p:first-child { color: var(--ac-gold-l) !important; }
html.theme-astro [data-price-note] > p + p { color: var(--ac-mute) !important; }
html.theme-astro [data-price-note] a { color: var(--ac-gold-l) !important; }

html.theme-astro form [role="alert"][style*="#FDF3F3"] { background: rgba(75, 207, 190, .12) !important; border-color: rgba(232, 132, 138, .5) !important; color: #f4c4c0 !important; }

html.theme-astro form.card-paper [role="status"].bg-paper-50\/80 { background: rgba(212, 180, 106, .07); }

html.theme-astro main .text-ink-400 { color: var(--ac-faint); }

html.theme-astro .sc-wrap {
  background: radial-gradient(56rem 24rem at 88% 0%, rgba(54, 66, 119, .22), transparent 70%), radial-gradient(36rem 20rem at 0% 38%, rgba(35, 45, 88, .2), transparent 70%);
  border-top: 1px solid rgba(212, 180, 106, .14);
}
html.theme-astro .sc-cloud { display: none; }
html.theme-astro .sc-cover { border-color: rgba(212, 180, 106, .28); background: #161d38; box-shadow: 0 22px 50px -28px rgba(8, 2, 4, .95); }
html.theme-astro .sc-toc-box { border-color: rgba(212, 180, 106, .22); background: rgba(17, 22, 45, .8); }
html.theme-astro .sc-lead { border-color: rgba(212, 180, 106, .42); background: linear-gradient(to right, rgba(39, 48, 88, .45), transparent 78%); }
html.theme-astro .sc-term {
  border-color: rgba(212, 180, 106, .2);
  background: linear-gradient(160deg, rgba(29, 37, 72, .7), rgba(17, 22, 45, .7));
  box-shadow: 0 10px 24px -18px rgba(0, 0, 0, .9);
}
html.theme-astro .sc-term:hover { border-color: rgba(212, 180, 106, .45); }
html.theme-astro .sc-faq-list,
html.theme-astro .sc-faq-item { border-color: rgba(212, 180, 106, .2); }
html.theme-astro .sc-q { border-color: #4bcfbe; color: #f0a7a3; }
html.theme-astro .sc-faq-item[open] .sc-q { background: #33beab; border-color: #33beab; color: #e8eaf5; }
html.theme-astro .sc-a-mark { background: rgba(223, 225, 237, .07); color: #cdcfe1; }
html.theme-astro .sc-cta-icon { background: rgba(39, 48, 88, .7); color: var(--ac-gold-l); }
html.theme-astro .sc-toc::before { background: linear-gradient(to bottom, rgba(75, 207, 190, .1), rgba(75, 207, 190, .5), rgba(75, 207, 190, .1)); }
html.theme-astro .sc-toc a.is-active::before { box-shadow: 0 0 0 3px rgba(212, 180, 106, .16); }
html.theme-astro .sc-lib-icon { background: linear-gradient(145deg, #273058, #161d38); color: var(--ac-gold-l); box-shadow: inset 0 0 0 1px rgba(212, 180, 106, .35); }
html.theme-astro .sc-wrap .card-paper,
html.theme-astro.ui-v2 .sc-wrap .card-paper,
html.theme-astro section[aria-labelledby^="related-heading"] .card-paper,
html.theme-astro.ui-v2 section[aria-labelledby^="related-heading"] .card-paper {
  background: rgba(18, 24, 49, .9);
  box-shadow: inset 0 0 0 1px rgba(212, 180, 106, .16), 0 18px 40px -26px rgba(0, 0, 0, .85);
}
html.theme-astro .sc-wrap .card-paper:hover,
html.theme-astro.ui-v2 .sc-wrap .card-paper:hover,
html.theme-astro.ui-v2 section[aria-labelledby^="related-heading"] .card-paper:hover { box-shadow: inset 0 0 0 1px rgba(212, 180, 106, .38), 0 18px 40px -22px rgba(0, 0, 0, .9); }
html.theme-astro section[aria-labelledby^="related-heading"] { background: transparent; }

html.theme-astro [data-paywall-state] > .card-paper { background: var(--ac-panel) !important; box-shadow: inset 0 0 0 1px rgba(212, 180, 106, .26), 0 30px 60px -36px rgba(0, 0, 0, .9) !important; }
html.theme-astro [data-paywall-state] > .card-paper > img { opacity: .05 !important; }
html.theme-astro [data-paywall-state] .input { background: rgba(7, 10, 21, .5); color: var(--ac-moon); border-color: rgba(212, 180, 106, .3); }
html.theme-astro [data-paywall-state] input[type="checkbox"] { accent-color: #d4b46a; }
html.theme-astro [data-paywall-state] a.underline { color: var(--ac-gold-l); }
html.theme-astro [data-paywall-state] [style*="color:#2E7D4F"] { color: #cdcfe1 !important; }
html.theme-astro [data-paywall-state] [style*="#EEF7F0"] { background: rgba(29, 37, 72, .85) !important; border: 1px solid rgba(205, 207, 225, .36) !important; }
html.theme-astro [data-paywall-state] [style*="rgb(236 212 128"] { background: rgba(17, 22, 45, .85) !important; border-color: rgba(212, 180, 106, .36) !important; box-shadow: none !important; }
html.theme-astro [data-paywall-state] [style*="#fff8e8"] { background: linear-gradient(150deg, rgba(39, 48, 88, .92), rgba(22, 29, 56, .92)) !important; box-shadow: 0 0 0 1px rgba(212, 180, 106, .58), 0 14px 30px -20px rgba(0, 0, 0, .9) !important; }
html.theme-astro [data-paywall-state] [style*="#d63840"] { background: #33beab !important; color: #e8eaf5 !important; box-shadow: none !important; }
html.theme-astro [data-paywall-state] [style*="color:var(--color-cinnabar)"] { color: var(--ac-gold-l) !important; }
html.theme-astro [data-paywall-state] [style*="dashed rgb(46 125 79"] { background: rgba(17, 22, 45, .8) !important; border-color: rgba(205, 207, 225, .32) !important; }
html.theme-astro [data-pay-skip] > button,
html.theme-astro [data-pay-skip] > p[style*="#7A6F5C"] { color: var(--ac-mute) !important; }
html.theme-astro [data-pay-skip] > [x-show]:not(p),
html.theme-astro [data-pay-skip] [style*="#F7F1E3"],
html.theme-astro [data-pay-skip] [style*="rgb(247, 241, 227)"] { background: rgba(18, 24, 49, .95) !important; border-color: rgba(212, 180, 106, .3) !important; }
html.theme-astro [data-pay-skip] [style*="color:#2A241A"] { color: var(--ac-moon) !important; }
html.theme-astro [data-pay-skip] [style*="color:#7A6F5C"] { color: var(--ac-mute) !important; }
html.theme-astro [data-pay-skip] button[style*="#FBF8F1"] { background: rgba(29, 37, 72, .8) !important; color: #d3d5e4 !important; border-color: rgba(212, 180, 106, .3) !important; }
html.theme-astro [data-pay-skip] textarea { background: rgba(7, 10, 21, .5) !important; color: var(--ac-moon) !important; border-color: rgba(212, 180, 106, .3) !important; }
html.theme-astro [data-unlock-preview] { background: rgba(17, 22, 45, .85) !important; border: 1px solid rgba(212, 180, 106, .36) !important; }
html.theme-astro [data-unlock-preview] .text-ink-900 { color: var(--ac-moon) !important; }
html.theme-astro [data-unlock-preview] .text-ink-600 { color: var(--ac-mute) !important; }

html.theme-astro main [style*="background:#F7F1E3"],
html.theme-astro main [style*="background:#FBF8F1"],
html.theme-astro main [style*="background:#FFFDF8"],
html.theme-astro main [style*="rgb(247, 241, 227)"],
html.theme-astro main [style*="rgb(251, 248, 241)"] {
  background: rgba(18, 24, 49, .94) !important;
  border-color: rgba(212, 180, 106, .32) !important;
}
html.theme-astro main a[style*="background:#fff;"],
html.theme-astro main [style*="background:#fff;"] {
  background: rgba(29, 37, 72, .55) !important;
  border-color: rgba(212, 180, 106, .3) !important;
}
html.theme-astro main a[style*="background:#fff;"]:hover { border-color: rgba(212, 180, 106, .6) !important; }
html.theme-astro main [style*="rgba(200,164,82,.07)"] { background: rgba(212, 180, 106, .07) !important; }

html.theme-astro main [style*="color:#2A241A"],
html.theme-astro main [style*="color:#0F0D08"],
html.theme-astro main [style*="color:#3A3226"] { color: var(--ac-moon) !important; }
html.theme-astro main [style*="color:#7A6F5C"],
html.theme-astro main [style*="color:#5A5040"],
html.theme-astro main [style*="color:#9A8F7C"],
html.theme-astro main [style*="color:#7A6E54"] { color: var(--ac-mute) !important; }
html.theme-astro main [style*="color:#8A6D1F"],
html.theme-astro main [style*="color:#826024"] { color: var(--ac-gold) !important; }
html.theme-astro main [style*="color:#B4242C"],
html.theme-astro main [style*="color:#A8322A"] { color: #f0a7a3 !important; }
html.theme-astro main [style*="color:#2E7D4F"] { color: #cdcfe1 !important; }

html.theme-astro main button[style*="background:#0F0D08"] {
  background: linear-gradient(180deg, #2d3763 0%, #222b50 100%) !important;
  color: var(--ac-gold-l) !important;
  border-color: var(--ac-gold) !important;
}
html.theme-astro main button[style*="background:#FBF8F1"] { background: rgba(223, 225, 237, .04) !important; color: #d3d5e4 !important; border-color: rgba(212, 180, 106, .3) !important; }
html.theme-astro main button[style*="background:#FBF8F1"]:hover { background: rgba(223, 225, 237, .08) !important; }
html.theme-astro main button[style*="background:transparent;color:#7A6F5C"] { color: var(--ac-mute) !important; }

html.theme-astro main input[style*="#FFFDF8"] { background: rgba(7, 10, 21, .5) !important; color: var(--ac-moon) !important; border-color: rgba(212, 180, 106, .32) !important; }

html.theme-astro .btn-outline {
  background: rgba(223, 225, 237, .03);
  border-color: rgba(212, 180, 106, .42);
  color: #d3d5e4;
}
html.theme-astro .btn-outline:hover { background: rgba(223, 225, 237, .08); border-color: var(--ac-gold); color: var(--ac-gold-l); }

html.theme-astro main .bg-ink-900,
html.theme-astro main .hover\:bg-ink-800:hover { background-color: #090c16; }
html.theme-astro main a[data-track-channel="threads"] { box-shadow: 0 0 0 1px rgba(212, 180, 106, .38); }

html.theme-astro main .prose-bazi blockquote,
html.theme-astro main .reading-body-card blockquote { border-left-color: rgba(75, 207, 190, .7); background: rgba(39, 48, 88, .35); color: #d3d5e4; }
html.theme-astro main .prose-bazi a { color: var(--ac-gold-l); }
html.theme-astro main .prose-bazi mark { background: rgba(212, 180, 106, .2); color: var(--ac-moon); }

html.theme-astro .prose-bazi.is-streaming > *:last-child::after { color: #e8848a; }

html.theme-astro .badge-accent,
html.theme-astro.ui-v2 .badge-accent { color: #121939; }
html.theme-astro main .text-cinnabar { color: #ec8f94; }

html.theme-astro main section > [aria-hidden="true"].absolute.inset-0.-z-10 { display: none; }

@media (max-width: 767px), (pointer: coarse) {
  html.theme-astro body > nav [x-show].absolute.rounded-xl { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

html.theme-astro main [data-relay-offer] {
  background: linear-gradient(180deg, rgba(45, 55, 99, .92) 0%, rgba(29, 37, 72, .92) 100%) !important;
  border-color: rgba(240, 167, 163, .7) !important;
}

/* ====================================================================
   2. Signature layer
   ==================================================================== */
html.theme-astro {
  --ac-void: #070a1c;
  --ac-night: #0d1230;
  --ac-moon: #ecebf4;
  --ac-mute: #aeb6da;
  --ac-faint: #8a93bc;
  --ac-gold: #e9c77b;
  --ac-gold-l: #f2dca0;
  --ac-thread: #5ed6c4;
  --ac-teal: #5ed6c4;
  --color-ink-900: #ecebf4;
  --xd-ink: #ecebf4;
  background: var(--ac-void);
}
/* deep space: indigo wash with two faint nebula glows (teal low-left, violet-rose high-right) */
html.theme-astro body::before {
  background:
    radial-gradient(56vmax 38vmax at 88% 4%, rgba(122, 92, 170, .22), transparent 66%),
    radial-gradient(48vmax 34vmax at 2% 58%, rgba(46, 150, 150, .16), transparent 70%),
    radial-gradient(70vmax 40vmax at 50% 110%, rgba(30, 40, 96, .6), transparent 72%),
    linear-gradient(180deg, #0d1230 0%, #0a0e26 50%, #070a1c 100%);
}
/* astrolabe linework: concentric engraved rings with degree ticks + a tilted armillary band, turning very slowly */
html.theme-astro body::after {
  content: "";
  position: fixed;
  z-index: -2;
  pointer-events: none;
  width: clamp(420px, 52vw, 820px);
  aspect-ratio: 1;
  top: clamp(-260px, -16vw, -120px);
  right: clamp(-320px, -18vw, -140px);
  opacity: .16;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'><g fill='none' stroke='%23e9c77b'><circle cx='200' cy='200' r='196' stroke-width='.8'/><circle cx='200' cy='200' r='188' stroke-width='.5' stroke-dasharray='.6 3.06'/><circle cx='200' cy='200' r='176' stroke-width='.6'/><circle cx='200' cy='200' r='140' stroke-width='.5'/><circle cx='200' cy='200' r='96' stroke-width='.5' stroke-dasharray='2 6'/><ellipse cx='200' cy='200' rx='176' ry='62' stroke-width='.6' transform='rotate(-23.4 200 200)'/><ellipse cx='200' cy='200' rx='62' ry='176' stroke-width='.4' transform='rotate(-23.4 200 200)'/><path d='M4 200h392M200 4v392' stroke-width='.35'/></g><g fill='%235ed6c4'><circle cx='361' cy='131' r='2.2'/><circle cx='39' cy='269' r='1.6'/></g></svg>") center / contain no-repeat;
  animation: acTurn 260s linear infinite;
  will-change: transform;
}
@keyframes acTurn { to { transform: rotate(360deg); } }
/* film grain over everything (very faint, static) */
html.theme-astro body > main::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .5;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .045 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");
}

/* focus + selection in aurora teal (gold stays for lines and headings) */
html.theme-astro :focus-visible { outline-color: var(--ac-teal); }
html.theme-astro ::selection { background: rgba(94, 214, 196, .3); }
html.theme-astro form.card-paper .peer:checked + span,
html.theme-astro.ui-v2 form.card-paper .peer:checked + span,
html.theme-astro .ask-chip.is-on,
html.theme-astro .ask-none.is-on {
  background: linear-gradient(180deg, #1c2a5a 0%, #152048 100%);
  border-color: var(--ac-teal);
  color: #dff7f2;
  box-shadow: inset 0 0 0 1px rgba(94, 214, 196, .5), 0 6px 16px -10px rgba(0, 0, 0, .7);
}
html.theme-astro main input:focus,
html.theme-astro main select:focus,
html.theme-astro main textarea:focus {
  border-color: var(--ac-teal) !important;
  box-shadow: 0 0 0 3px rgba(94, 214, 196, .18) !important;
}
html.theme-astro .wheel-center {
  border-color: rgba(94, 214, 196, .55);
  background: linear-gradient(90deg, rgba(94, 214, 196, .08), rgba(233, 199, 123, .1) 50%, rgba(94, 214, 196, .08));
}

/* headings: serif display for page titles, 黑體 elsewhere (site default); gold kicker line */
html.theme-astro .xd-start-title h1,
html.theme-astro main h1.font-display-tc { color: var(--ac-moon); letter-spacing: .08em; }
html.theme-astro .xd-start-title h1 span { color: var(--ac-gold); }
html.theme-astro .hx-kicker { color: var(--ac-gold); }
html.theme-astro .hx-seal-dot { background: var(--ac-teal); box-shadow: 0 0 10px rgba(94, 214, 196, .7); }

/* form card: indigo panel with an engraved double frame */
html.theme-astro form.card-paper,
html.theme-astro.ui-v2 form.card-paper {
  background: linear-gradient(180deg, rgba(21, 28, 69, .95) 0%, rgba(13, 18, 48, .96) 100%);
  box-shadow: inset 0 0 0 1px rgba(233, 199, 123, .26), inset 0 0 0 5px rgba(13, 18, 48, .7), inset 0 0 0 6px rgba(94, 214, 196, .12), 0 30px 60px -34px rgba(2, 4, 16, .95);
}
/* constellation-line divider above the form (draws the Big Dipper's handle) */
html.theme-astro .xd-svc-main > .max-w-2xl::before {
  content: "";
  display: block;
  height: 26px;
  margin: 0 auto .9rem;
  max-width: 320px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 26'><path d='M0 13h96M224 13h96' stroke='%23e9c77b' stroke-opacity='.3' stroke-width='.8'/><path d='M110 18 132 8l26 6 22-10 30 12' fill='none' stroke='%23e9c77b' stroke-width='.9'/><g fill='%23e9c77b'><circle cx='110' cy='18' r='2'/><circle cx='132' cy='8' r='2.6'/><circle cx='158' cy='14' r='1.8'/><circle cx='180' cy='4' r='2.4'/></g><circle cx='210' cy='16' r='2.4' fill='%235ed6c4'/></svg>") center / contain no-repeat;
}

/* reading text: chapter headings get a teal four-point star instead of the cinnabar diamond,
   and a short constellation line under the title instead of the dotted rule */
html.theme-astro main .prose-bazi h2,
html.theme-astro main .prose-bazi h3 {
  color: var(--ac-moon);
  border-bottom: 0;
  padding-bottom: .95rem;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 12'><path d='M2 9 26 4l22 5 22-7 26 6h34' fill='none' stroke='%23e9c77b' stroke-opacity='.65' stroke-width='.9'/><g fill='%23e9c77b'><circle cx='2' cy='9' r='1.5'/><circle cx='26' cy='4' r='2'/><circle cx='48' cy='9' r='1.4'/><circle cx='70' cy='2' r='1.8'/></g><circle cx='96' cy='8' r='1.8' fill='%235ed6c4'/></svg>") left bottom / 132px 12px no-repeat;
}
html.theme-astro main .prose-bazi h2::before,
html.theme-astro main .prose-bazi h3::before,
html.theme-astro.ui-v2 main .prose-bazi h2::before,
html.theme-astro.ui-v2 main .prose-bazi h3::before {
  top: .78em;
  bottom: auto;
  left: -1.05rem;
  width: .72rem;
  height: .72rem;
  border-radius: 0;
  box-shadow: none;
  transform: translateY(-50%);
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M6 0 7.1 4.9 12 6 7.1 7.1 6 12 4.9 7.1 0 6 4.9 4.9Z' fill='%235ed6c4'/></svg>") center / contain no-repeat;
}
html.theme-astro main .prose-bazi strong { color: var(--ac-gold-l); }
html.theme-astro main .prose-bazi blockquote,
html.theme-astro main .reading-body-card blockquote { border-left-color: rgba(94, 214, 196, .7); background: rgba(94, 214, 196, .06); color: #dfe3f4; }
html.theme-astro .prose-bazi.is-streaming > *:last-child::after { color: var(--ac-teal); }

/* footer: constellation line instead of the red thread */
html.theme-astro body > footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 56px;
  pointer-events: none;
  opacity: .8;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='56' viewBox='0 0 1200 56'><path d='M0 28h470M730 28h470' stroke='%23e9c77b' stroke-opacity='.22' stroke-width='.8'/><path d='M490 38 528 18l44 14 36-22 40 18 34-8 40 16' fill='none' stroke='%23e9c77b' stroke-opacity='.75' stroke-width='1'/><g fill='%23e9c77b'><circle cx='490' cy='38' r='2.2'/><circle cx='528' cy='18' r='2.8'/><circle cx='572' cy='32' r='2'/><circle cx='608' cy='10' r='3'/><circle cx='648' cy='28' r='2.2'/><circle cx='682' cy='20' r='2'/></g><circle cx='722' cy='36' r='2.8' fill='%235ed6c4'/></svg>") center top / 1200px 56px no-repeat;
}

/* background canvas (astro-cosmos.js) */
html.theme-astro .ac-sky { z-index: -1; }

@media (max-width: 767px) {
  html.theme-astro body::after { width: 360px; top: -140px; right: -170px; opacity: .13; }
}
@media (prefers-reduced-motion: reduce) {
  html.theme-astro body::after { animation: none; }
}

/* 2026-10-28 配色檢查:導覽列 FREE 角標原本是灰藍底白字(像預設色)→ 極光青底深靛字,跟星座宇宙的強調色一致 */
html.theme-astro body > nav span.bg-emerald-600 { background: #5ed6c4; color: #0c0f1e; box-shadow: 0 0 0 1px #0c0f1e; }

/* 2026-10-28 老闆:星盤頁不要水墨山水 → 「延伸閱讀」與正文封面的米色水墨圖在夜空主題改成月夜版畫(反相灰階 + 靛藍上色),
   原圖不動、只在 theme-astro 生效;?astro_theme=classic 照舊是原色水墨 */
html.theme-astro section[aria-labelledby^="related-heading"] .aspect-\[16\/9\],
html.theme-astro .sc-cover { position: relative; isolation: isolate; background: #161d38; }
html.theme-astro section[aria-labelledby^="related-heading"] .aspect-\[16\/9\] img,
html.theme-astro .sc-cover img { filter: invert(1) grayscale(1) brightness(.92) contrast(1.12); }
html.theme-astro section[aria-labelledby^="related-heading"] .aspect-\[16\/9\]::after,
html.theme-astro .sc-cover::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(160deg, #46528f 0%, #29305f 55%, #2f7f86 135%);
  mix-blend-mode: color;
}
