body[data-page="zodiac-fortune"] .category-nav { display: none; }
.zodiac-page { --zodiac-navy:#071c3d; --zodiac-gold:#dbab6c; --zodiac-ink:#14284b; background:#071c3d url('/zodiac-fortune/optimized-20261102/background-480.webp') center top/cover no-repeat; color:#fff; overflow:hidden; padding:0 0 24px; }
.zodiac-page * { box-sizing:border-box; }
.zodiac-page [hidden] { display:none !important; }
.zodiac-hero { position:relative; }
.zodiac-intro { position:relative; z-index:2; padding:88px 16px 0; text-align:center; text-shadow:0 2px 8px #031027; }
.zodiac-membership { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid #e2e6efaf; border-radius:30px; padding:7px 14px; color:#e9edf5; font-size:12px; letter-spacing:.08em; background:#092347a6; }
.zodiac-membership svg { width:16px; height:16px; }
.zodiac-page h1 { margin:20px 0 12px; font-family:"Noto Serif KR",Batang,serif; font-size:clamp(29px,8.9vw,40px); font-weight:700; line-height:1.35; letter-spacing:-.025em; color:#fff; white-space:nowrap; }
.zodiac-page h1 em { color:#f3cd98; font-style:normal; }
.zodiac-ornament { display:flex; align-items:center; justify-content:center; gap:12px; color:#e5b375; font-size:19px; }
.zodiac-ornament > span { width:52px; height:1px; background:#d9ad7580; }
.zodiac-subtitle { margin:13px 0 0; font-size:15px; font-weight:600; color:#f9e7cd; line-height:1.6; }
.zodiac-invitation { margin:10px 0 0; font-family:"Noto Serif KR",Batang,serif; font-size:18px; line-height:1.6; color:#f3f3f8; }
.zodiac-scene { position:relative; z-index:1; margin:8px auto 0; width:96%; }
.zodiac-scene img { display:block; width:100%; height:auto; transform:translateX(2%); filter:drop-shadow(0 12px 12px #03102680); }
.zodiac-entry { position:relative; z-index:3; margin:-8px 12px 0; padding:40px 22px 28px; border:0; background:transparent; color:var(--zodiac-ink); text-align:center; isolation:isolate; }
.zodiac-panel-paper { position:absolute; z-index:-2; inset:29px 6px 16px; background:#fffefa; border-radius:14px; box-shadow:0 5px 18px #07172e30; pointer-events:none; }
.zodiac-panel-paper::before { content:""; position:absolute; top:-16px; left:calc(50% - 22px); width:44px; height:32px; background:#fffefa; border-radius:50% 50% 0 0; }
/* Preserve the frame's image ratio; extend only the empty middle of its sides. */
.zodiac-frame-top,.zodiac-frame-bottom { position:absolute; z-index:-1; left:0; width:100%; aspect-ratio:1683/467.5; overflow:hidden; pointer-events:none; }
.zodiac-frame-top { top:0; }.zodiac-frame-bottom { bottom:0; }
.zodiac-frame-top img,.zodiac-frame-bottom img { position:absolute; left:0; display:block; width:100%; height:auto; }
.zodiac-frame-top img { top:0; }.zodiac-frame-bottom img { bottom:0; }
.zodiac-frame-sides { position:absolute; z-index:-1; top:76px; bottom:60px; left:6px; right:6px; border-inline:5px double #e2b25a; pointer-events:none; }
.zodiac-date { display:flex; align-items:center; justify-content:center; gap:13px; color:#435781; }
.zodiac-date time { font-family:Georgia,serif; font-size:20px; font-variant-numeric:tabular-nums; letter-spacing:.025em; }
.zodiac-date > span { height:1px; width:36px; background:#debd96; }
.zodiac-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:15px 0 13px; gap:8px; }
.zodiac-steps li { position:relative; display:flex; align-items:center; flex-direction:column; gap:8px; }
.zodiac-steps li:not(:last-child)::after { content:""; position:absolute; top:21px; right:-7px; width:6px; height:6px; border-right:1.5px solid #1d365e; border-top:1.5px solid #1d365e; transform:rotate(45deg); }
.zodiac-step-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#faf0dc; color:#805318; }
.zodiac-step-icon img { width:27px; height:27px; }
.zodiac-steps strong { font-family:inherit; font-size:14px; font-weight:600; }
.zodiac-primary { position:relative; display:flex; align-items:center; justify-content:center; gap:11px; width:100%; min-height:72px; padding:16px 10px; border:0; background:transparent; color:#fff; text-decoration:none; font-family:"Noto Serif KR",Batang,serif; font-size:clamp(16px,4.6vw,20px); font-weight:700; line-height:1.4; cursor:pointer; isolation:isolate; }
.zodiac-primary::before { content:""; position:absolute; z-index:-2; inset:7px 4px; border-radius:11px; background:linear-gradient(110deg,#09264d,#071936); box-shadow:0 3px 5px #14233a40; pointer-events:none; }
.zodiac-primary .zodiac-button-frame { position:absolute; z-index:-1; top:50%; left:-3%; display:block; width:106%; max-width:none; height:auto; transform:translateY(-50%); pointer-events:none; }
.zodiac-primary .icon { width:19px; height:19px; flex:none; }
.zodiac-primary:hover::before { background:#11335a; }
.zodiac-entry-note { margin:5px 0 0; color:#5d6e92; }
.zodiac-entry-note > span { display:block; color:#d1a373; font-size:18px; line-height:1.4; }
.zodiac-entry-note p { margin:5px 0 0; font-size:12px; line-height:1.7; word-break:keep-all; }
.zodiac-preparing { margin:0 18px 8px; color:#e8ddcf; text-align:center; font-size:10px; line-height:1.7; word-break:keep-all; text-shadow:0 1px 4px #000; }
.zodiac-footnote { display:flex; justify-content:center; align-items:center; gap:11px; margin:25px 0 12px; color:#f2e5d6; font-size:12px; letter-spacing:.1em; }
.zodiac-footnote > span { color:#d6a870; font-size:18px; }
.zodiac-back { display:flex; align-items:center; justify-content:center; gap:5px; color:#bdc9dc; font-size:11px; text-decoration:none; padding:8px; }
.zodiac-back .icon { width:12px; height:12px; }
.zodiac-picker { width:min(414px,calc(100vw - 24px)); max-height:calc(100dvh - 48px); padding:24px 20px 18px; overflow:auto; border:1px solid #d6b78e; border-radius:18px; color:#172b4c; background:#fffefa; box-shadow:0 18px 80px #0006; overscroll-behavior:contain; }
.zodiac-picker::backdrop { background:#031127b8; backdrop-filter:blur(4px); }
.zodiac-picker-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.zodiac-picker-header p { margin:0 0 5px; font-size:11px; color:#a27843; }
.zodiac-picker h2 { margin:0; font-family:inherit; font-size:25px; font-weight:700; color:#172b4c; }
.zodiac-picker-header + p { margin:12px 0 18px; color:#66728b; font-size:12px; line-height:1.7; }
.zodiac-close { display:grid; place-items:center; width:36px; height:36px; padding:8px; border:0; border-radius:50%; color:#273a58; background:#f1eee8; cursor:pointer; }
.zodiac-close .icon { width:20px; height:20px; }
.zodiac-sign-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.zodiac-sign { position:relative; display:flex; flex-direction:column; align-items:center; gap:7px; padding:11px 2px 10px; min-height:76px; background:#fff; border:1px solid #e6dfd4; border-radius:10px; color:#42536d; cursor:pointer; }
.zodiac-sign > span { font-size:29px; line-height:1.2; }
.zodiac-sign > strong { font-family:inherit; font-size:11px; font-weight:600; }
.zodiac-sign[aria-pressed="true"] { color:#fff; border-color:#cb9855; background:#112c50; box-shadow:inset 0 0 0 1px #d8b482; }
.zodiac-selected-check { display:none; position:absolute; right:4px; top:4px; width:13px; height:13px; color:#efd19e; }
.zodiac-sign[aria-pressed="true"] .zodiac-selected-check { display:block; }
.zodiac-selection-note { margin:17px 0 0; padding:11px 8px; background:#f3ecdf; border-radius:8px; text-align:center; font-size:12px; line-height:1.7; min-height:42px; }
.zodiac-picker-preparing { margin:12px 0 16px; font-size:11px; line-height:1.8; text-align:center; color:#707b8e; word-break:keep-all; }
.zodiac-confirm { display:block; width:100%; min-height:44px; padding:11px; border:0; border-radius:8px; font-family:inherit; font-size:14px; font-weight:600; color:#fff; background:#102b4d; cursor:pointer; }
.zodiac-forget { display:block; margin:10px auto 0; min-height:32px; padding:5px 9px; border:0; font-size:11px; background:none; color:#7b7f87; text-decoration:underline; cursor:pointer; }
.zodiac-page :is(button,a):focus-visible,.zodiac-picker :is(button,a):focus-visible { outline:3px solid #d4a05b; outline-offset:3px; }
.zodiac-noscript { padding:18px; font-size:12px; line-height:1.8; }
@media(max-width:360px) { .zodiac-intro { padding-top:68px; }.zodiac-entry { margin-inline:9px; padding-inline:19px; }.zodiac-picker { padding:21px 15px 16px; }.zodiac-sign-grid { gap:7px; }.zodiac-sign > strong { font-size:10px; }.zodiac-invitation { font-size:17px; }.zodiac-steps strong { font-size:12px; }.zodiac-step-icon { width:38px; height:38px; } }
@media(prefers-reduced-motion:reduce) { .zodiac-page *, .zodiac-picker * { scroll-behavior:auto !important; } }

/* Immersive zodiac intro, scoped to this route. */
html:has(body[data-page="zodiac-fortune"]) { height:100%; overflow:hidden; overscroll-behavior:none; scrollbar-gutter:auto; }
body[data-page="zodiac-fortune"] { height:100vh; height:100dvh; min-height:0; overflow:hidden; overscroll-behavior:none; background:#091526; --bottom-nav:0px; }
body[data-page="zodiac-fortune"] .app-shell { height:100%; min-height:0; padding-bottom:0; overflow:clip; background:#071c3d; }
body[data-page="zodiac-fortune"] .zodiac-page { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; padding:calc(6px + env(safe-area-inset-top)) 16px calc(6px + env(safe-area-inset-bottom)); overflow:clip; }
.zodiac-topbar { display:flex; align-items:center; justify-content:space-between; flex:0 0 44px; gap:16px; min-width:0; }
.zodiac-brand { display:flex; align-items:center; min-height:44px; max-width:calc(100% - 60px); text-decoration:none; }
.zodiac-brand img { display:block; width:131px; height:35px; object-fit:contain; filter:brightness(0) invert(1); opacity:.97; }
.zodiac-menu { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; padding:8px; border:0; border-radius:4px; background:transparent; color:#fff2d9; cursor:pointer; }
.zodiac-menu .icon { width:27px; height:27px; }
.zodiac-hero { display:flex; flex-direction:column; flex:1 1 0; min-height:0; min-width:0; }
.zodiac-intro { flex:0 0 auto; padding:2px 0 0; }
.zodiac-membership { padding:3px 11px; min-height:23px; font-size:10px; gap:5px; line-height:1.4; }
.zodiac-membership svg { width:13px; height:13px; }
.zodiac-page h1 { margin:7px 0 2px; font-size:clamp(27px,7.2vw,34px); line-height:1.25; }
.zodiac-ornament { font-size:16px; line-height:1; margin:4px 0; }
.zodiac-ornament > span { width:40px; }
.zodiac-subtitle { margin:5px 0 0; font-size:12px; line-height:1.5; }
.zodiac-invitation { margin:4px 0 0; font-size:13px; line-height:1.5; }
.zodiac-scene { display:flex; align-items:center; justify-content:center; flex:1 1 0; min-height:0; min-width:0; width:100%; margin:4px 0 0; }
.zodiac-scene img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; object-position:center; transform:translateX(2%); }
.zodiac-entry { flex:0 0 auto; margin:0 -4px; padding:54px 20px 22px; }
.zodiac-date time { font-size:17px; line-height:1.25; }
.zodiac-steps { margin:9px 0 7px; gap:8px; }
.zodiac-steps li { gap:4px; }
.zodiac-step-icon { width:32px; height:32px; }
.zodiac-step-icon img { width:22px; height:22px; }
.zodiac-steps li:not(:last-child)::after { top:14px; }
.zodiac-steps strong { font-size:12px; line-height:1.5; }
.zodiac-primary { min-height:66px; padding:10px; font-size:clamp(16px,4vw,19px); }
.zodiac-primary::before { inset:3px 4px; }
.zodiac-entry-note { margin:5px 4px 0; }
.zodiac-entry-note > span { display:none; }
.zodiac-entry-note p { margin:0; font-size:11px; line-height:1.5; }
.zodiac-tail { flex:0 0 auto; padding:2px 0 0; }
.zodiac-footnote { margin:4px 0 0; gap:9px; font-size:10px; line-height:1.5; }
.zodiac-footnote > span { font-size:15px; line-height:1; }
.zodiac-preparing { margin:2px 0 0; font-size:9px; line-height:1.5; }
@media (max-height:760px) { .zodiac-invitation { display:none; } }
@media (max-height:640px) {
  body[data-page="zodiac-fortune"] .zodiac-page { padding-top:calc(4px + env(safe-area-inset-top)); padding-bottom:calc(4px + env(safe-area-inset-bottom)); }
  .zodiac-topbar { flex-basis:40px; }
  .zodiac-page h1 { margin-top:4px; font-size:29px; }
  .zodiac-membership { min-height:20px; padding:2px 9px; font-size:9px; }
  .zodiac-ornament { display:none; }
  .zodiac-subtitle { margin-top:3px; font-size:11px; }
  .zodiac-entry { padding-top:50px; padding-bottom:19px; }
  .zodiac-steps { margin:6px 0 5px; }
  .zodiac-step-icon { width:28px; height:28px; }
  .zodiac-step-icon img { width:19px; height:19px; }
  .zodiac-steps strong { font-size:10px; }
  .zodiac-entry-note { display:none; }
  .zodiac-primary { min-height:58px; }
}
@media (max-height:480px) {
  .zodiac-membership { display:none; }
  .zodiac-page h1 { margin:1px 0; font-size:25px; }
  .zodiac-entry { margin:0; padding:0; }
  .zodiac-entry > :is(.zodiac-panel-paper,.zodiac-frame-sides,.zodiac-frame-top,.zodiac-frame-bottom,.zodiac-date,.zodiac-steps) { display:none; }
  .zodiac-primary { min-height:56px; }
  .zodiac-preparing { display:none; }
}

/* Reading pages share the existing 450px application shell. */
html:has(body[data-page="zodiac-fortune"]) { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:auto; scrollbar-gutter:auto; }
html:has(body[data-zodiac-view="all"]),html:has(body[data-zodiac-view="detail"]) { scrollbar-gutter:stable; }
html:has(body[data-page="zodiac-fortune"]):has(.zodiac-review-dialog[open]) { overflow-y:hidden; }
body[data-page="zodiac-fortune"] { height:auto; min-height:100dvh; overflow:visible; background:#091526; }
body[data-page="zodiac-fortune"] .app-shell { height:auto; min-height:100dvh; padding-bottom:0; overflow:clip; background:#071c3d; }
body[data-zodiac-view="intro"] .zodiac-page { height:100dvh; min-height:680px; }
.zodiac-reading-page { --zodiac-navy:#071c3d; --zodiac-gold:#bd873e; --zodiac-ink:#11284b; position:relative; isolation:isolate; min-height:100dvh; padding:6px 14px 64px; color:var(--zodiac-ink); background:#071c3d; }
.zodiac-reading-page::before { content:""; position:fixed; z-index:-1; top:0; bottom:0; left:50%; width:min(450px,100%); transform:translateX(-50%); pointer-events:none; background-image:url('/zodiac-fortune/pages-v1/reading-background-480.webp'); background-image:image-set(url('/zodiac-fortune/pages-v1/reading-background-480.avif') type('image/avif') 1x,url('/zodiac-fortune/pages-v1/reading-background-900.avif') type('image/avif') 2x); background-size:cover; background-repeat:no-repeat; background-position:center top; }
.zodiac-reading-page .zodiac-topbar { height:50px; margin:0 2px 38px; }
.zodiac-reading-panel { position:relative; padding:32px 15px 22px; border:1px solid #c8934c; border-radius:13px; background:linear-gradient(115deg,#fffefbf5,#fffffffa 50%,#fffdf9f7); box-shadow:0 0 0 3px #fff9e5,0 0 0 4px #cc9a51,0 8px 25px #0004; }
.zodiac-reading-panel::before { content:""; position:absolute; z-index:0; pointer-events:none; inset:4px; border:1px solid #e7c69a; border-radius:8px; }
.zodiac-reading-panel > :not(.zodiac-corner) { position:relative; z-index:1; }
.zodiac-corner { position:absolute; z-index:2; width:29px; height:29px; background:url('/zodiac-fortune/pages-v1/panel-corner.svg') center/contain no-repeat; pointer-events:none; }
.corner-tl { left:3px; top:3px; }.corner-tr { right:3px; top:3px; transform:rotate(90deg); }.corner-br { right:3px; bottom:3px; transform:rotate(180deg); }.corner-bl { left:3px; bottom:3px; transform:rotate(270deg); }
.zodiac-reading-heading { text-align:center; }
.zodiac-reading-heading h1 { margin:0; font-family:"Noto Serif KR",Batang,serif; font-size:clamp(21px,5.5vw,25px); line-height:1.5; letter-spacing:-.055em; font-weight:700; color:#0b2450; word-break:keep-all; }
.zodiac-reading-heading h1 em { color:#a87232; font-style:normal; }
.zodiac-reading-divider { width:100%; height:20px; margin:7px auto 3px; background:url('/zodiac-fortune/pages-v1/section-divider.svg') center/contain no-repeat; }
.zodiac-reading-heading .zodiac-reading-divider { width:74%; }
.zodiac-reading-badge { display:inline-flex; align-items:center; gap:5px; padding:3px 11px; border-radius:24px; background:#fbefdf; color:#90612c; font-size:12px; line-height:1.4; letter-spacing:.035em; }
.zodiac-reading-badge > span { font-size:17px; line-height:1; }
.zodiac-reading-heading time { display:block; margin:4px 0 0; color:#142c56; font-family:Georgia,serif; font-size:17px; font-weight:600; }
.zodiac-reading-lead { margin:12px 0 10px; text-align:center; color:#4d6385; font-size:14px; line-height:1.7; word-break:keep-all; }
.zodiac-demo-notice { margin:15px 0 0; padding:9px 10px; border:1px dashed #d9bd8f; border-radius:7px; background:#fcf6e9; color:#775c34; text-align:center; font-size:12px; line-height:1.65; word-break:keep-all; }
.zodiac-overview-list { list-style:none; padding:0; margin:9px 0 20px; }
 .zodiac-overview-list > li { position:relative; }
.zodiac-overview-list > li:not(:last-child)::after { content:""; position:absolute; pointer-events:none; bottom:0; left:72px; right:0; height:1px; background:linear-gradient(90deg,#e5d8c58a,#d0a86c,#e5d8c58a); }
.zodiac-overview-link { display:grid; grid-template-columns:62px minmax(0,1fr) 18px; align-items:center; gap:10px; min-height:110px; padding:18px 2px; border-radius:7px; text-decoration:none; color:inherit; -webkit-tap-highlight-color:#bd873e22; }
.zodiac-overview-list img { display:block; width:62px; height:62px; object-fit:contain; }
.zodiac-overview-list h2 { font-family:"Noto Serif KR",Batang,serif; margin:0 0 4px; color:#132d55; font-size:19px; line-height:1.3; }
.zodiac-overview-list p { margin:0; font-size:16px; line-height:1.65; color:#4e6384; overflow-wrap:anywhere; word-break:keep-all; }
.zodiac-overview-chevron { justify-self:center; color:#956325; font-size:29px; font-family:Arial,sans-serif; line-height:1; }
@media(hover:hover) { .zodiac-overview-link:hover { background:#bd873e0c; }.zodiac-overview-link:hover .zodiac-overview-chevron { color:#59390f; } }
.zodiac-reading-heading.is-detail { display:flex; flex-direction:column; align-items:center; gap:0; padding-top:0; }
.zodiac-reading-heading.is-detail h1 { margin:14px 0 0; font-size:clamp(23px,6.2vw,28px); letter-spacing:-.05em; line-height:1.5; }
.zodiac-reading-heading.is-detail time { margin-top:4px; font-size:20px; }
.zodiac-detail-icon { display:block; width:88px; height:88px; object-fit:contain; margin:0 auto 11px; }
.zodiac-year-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin:18px 0 20px; }
.zodiac-year-nav a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:5px 2px; border:1px solid #d4b07d; border-radius:7px; background:#fff; color:#18335a; font-family:Georgia,serif; font-size:16px; font-weight:700; text-decoration:none; }
.zodiac-year-nav a:hover { background:#fbf3e8; border-color:#b58136; }
.zodiac-year-list { margin:0 0 23px; padding:0; list-style:none; border-top:1px solid #e6d5bd; }
.zodiac-year-list li { position:relative; padding:23px 0 25px; scroll-margin-top:22px; outline:none; }
.zodiac-year-list li:not(:last-child) { border-bottom:1px solid #e6d5bd; }
.zodiac-year-list h2 { position:relative; margin:0 0 11px; padding-left:14px; color:#142d50; font-family:"Noto Serif KR",Batang,serif; font-size:25px; line-height:1.45; }
.zodiac-year-list h2::before { content:""; position:absolute; left:0; top:.23em; bottom:.19em; width:4px; border-radius:1px; background:#bd873e; }
.zodiac-year-list p { margin:0 0 0 14px; color:#445a77; font-size:16px; line-height:1.9; overflow-wrap:anywhere; word-break:keep-all; }
.zodiac-year-list .zodiac-year-intro { margin-bottom:7px; color:#193657; line-height:1.65; }
.zodiac-year-list li:target h2 { color:#946321; }
.zodiac-year-list li:focus-visible { outline:2px solid #b48539; outline-offset:5px; border-radius:4px; }
.zodiac-return-button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:56px; margin:4px 0 13px; padding:12px; background:linear-gradient(110deg,#0c2c57,#071c3d); color:#fff9e9; border:1px solid #ae7d37; outline:2px solid #e4c28f; outline-offset:2px; border-radius:8px; box-shadow:0 3px 6px #14233a30,inset 0 0 0 3px #112f54,inset 0 0 0 4px #c9a264; font-family:inherit; font-size:18px; font-weight:600; }
.zodiac-return-button .icon { width:19px; height:19px; }
.zodiac-reading-actions { display:grid; grid-template-columns:.85fr 1.15fr; gap:7px; margin-top:18px; }
.zodiac-reading-actions button { display:flex; justify-content:center; align-items:center; gap:5px; min-height:48px; padding:9px 5px; border-radius:7px; font-family:inherit; font-size:13px; line-height:1.5; font-weight:700; cursor:pointer; word-break:keep-all; }
.zodiac-review-button { border:1px solid #1b355d; background:#fff; color:#172f54; }
.zodiac-share-button { border:1px solid #c9ab16; background:#fee500; color:#332008; }
.zodiac-reading-actions .icon { width:20px; height:20px; flex:none; }
.zodiac-kakao-mark { width:24px; height:24px; object-fit:contain; flex:none; }
.zodiac-reading-actions button:disabled { cursor:wait; opacity:.65; }
.zodiac-action-status { font-size:13px; line-height:1.7; text-align:center; color:#4d6385; word-break:keep-all; margin:8px 0 0; }
.zodiac-action-status:empty { display:none; }
.zodiac-reading-footnote { text-align:center; padding-top:8px; }
.zodiac-reading-footnote .zodiac-reading-divider { width:78%; margin-bottom:8px; }
.zodiac-reading-footnote p { margin:0 8px; color:#5c7091; font-size:12px; line-height:1.75; word-break:keep-all; }
.zodiac-empty { padding:38px 2px 36px; text-align:center; }
.zodiac-empty > span { display:block; color:#bd8b42; font-family:Georgia,serif; font-size:53px; line-height:1; margin-bottom:17px; }
.zodiac-empty h2 { margin:0 0 14px; font-size:21px; line-height:1.5; color:#142d50; word-break:keep-all; }
.zodiac-empty p { font-size:16px; line-height:1.8; color:#526888; word-break:keep-all; }
.zodiac-empty a { display:inline-flex; align-items:center; gap:7px; min-height:46px; margin:22px 0 0; border-bottom:1px solid #c49c67; font-size:15px; }
.zodiac-empty .icon { width:17px; height:17px; }
.zodiac-review-dialog { width:min(420px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow-y:auto; padding:20px; border:1px solid #e1dbe9; border-radius:18px; background:#fff; color:#29243b; overscroll-behavior:contain; }
.zodiac-review-dialog::backdrop { background:#061327a6; backdrop-filter:blur(3px); }
.zodiac-review-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
.zodiac-review-dialog > header h2 { margin:0; font-size:20px; }
.zodiac-review-dialog > header button { display:grid; place-items:center; width:44px; height:44px; padding:10px; border:0; border-radius:50%; background:#f6f3fa; color:#665475; }
.zodiac-review-demo { padding:12px 4px 6px; text-align:center; font-size:16px; line-height:1.8; }
.zodiac-review-demo button { min-height:44px; padding:10px 30px; margin-top:22px; border:1px solid #9f8faf; border-radius:8px; color:#4f3b68; }
.zodiac-reading-page :is(a,button):focus-visible,.zodiac-review-dialog :is(a,button,input,textarea):focus-visible { outline:3px solid #b48539; outline-offset:3px; }
@media(max-width:360px) {
  .zodiac-reading-page { padding-inline:11px; }.zodiac-reading-panel { padding-inline:12px; }
  .zodiac-overview-link { grid-template-columns:51px minmax(0,1fr) 15px; column-gap:7px; }.zodiac-overview-list img { width:51px; height:51px; }.zodiac-overview-list h2 { font-size:18px; }.zodiac-overview-list > li:not(:last-child)::after { left:58px; }
  .zodiac-year-list li { padding:21px 0; }.zodiac-year-list h2 { font-size:23px; }.zodiac-year-nav { gap:5px; }.zodiac-year-nav a { font-size:14px; }.zodiac-detail-icon { width:80px; height:80px; }
  .zodiac-reading-heading.is-detail h1 { font-size:24px; }.zodiac-reading-badge { font-size:11px; padding-inline:8px; }.zodiac-reading-actions { gap:6px; }.zodiac-reading-actions button { font-size:12px; }.zodiac-reading-actions .icon { width:17px; height:17px; }
}
@media(prefers-reduced-motion:reduce) { .zodiac-reading-page *, .zodiac-review-dialog * { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

html:has(body[data-zodiac-view="all"]),html:has(body[data-zodiac-view="detail"]){scrollbar-gutter:auto}
[data-zodiac-start]{margin:0}

.zodiac-library-note{margin:18px 0 4px;text-align:center;font-size:12px;line-height:1.8;color:#526888;word-break:keep-all}.zodiac-library-note a{display:inline-flex;align-items:center;min-height:36px;margin-left:4px;color:#795621;text-decoration:underline;text-underline-offset:3px}
