﻿:root {
  color-scheme: light;
  --ink: #2e3931;
  --ink-soft: #59645a;
  --muted: #8a8d80;
  --paper: #f8f6f1;
  --white: #fffefa;
  --line: #e9e5dc;
  --sage: #dce4d7;
  --sage-dark: #526452;
  --gold: #d5b978;
  --serif: "Iowan Old Style", "Apple Garamond", "Baskerville", "Times New Roman", serif;
  --sans: "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.site-header { height: 78px; max-width: 1280px; margin: 0 auto; padding: 0 56px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-family: var(--serif); font-size: 22px; font-weight: 600; letter-spacing: -.04em; }
.brand-mark { color: #b4965b; font-family: var(--sans); font-size: 21px; }
.site-nav { display: flex; gap: 38px; margin-left: 84px; color: #636960; font-size: 16px; }
.site-nav a, .text-link, .pillar-card a, .guide-card a { transition: color .2s ease; }
.site-nav a:hover, .text-link:hover, .pillar-card a:hover, .guide-card a:hover { color: #a17f3e; }
.header-cta { border: 1px solid #d7d6cc; border-radius: 30px; padding: 11px 17px; font-size: 16px; transition: background .2s ease, border-color .2s ease; }
.header-cta:hover { background: #eeece4; border-color: #c8c6b9; }
.header-cta span { margin-left: 8px; }

.hero { max-width: 1280px; min-height: 565px; padding: 86px 56px 0; margin: 0 auto; position: relative; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; }
.cosmic-particles { position: absolute; z-index: 1; inset: 0; }
.cosmic-particles canvas { display: block; }
.hero-copy { position: relative; z-index: 2; padding-top: 9px; }
.eyebrow { margin: 0; color: #927d50; font-size: 16px; font-weight: 700; letter-spacing: .18em; }
.hero .eyebrow { display: flex; align-items: center; gap: 9px; }
.hero .eyebrow span { width: 5px; height: 5px; border-radius: 50%; background: var(--gold); }
.hero h1 { margin: 25px 0 20px; font-family: var(--serif); font-weight: 500; font-size: clamp(53px, 6vw, 73px); letter-spacing: -.07em; line-height: 1.16; }
.title-dot { color: #c0a66a; }
.hero-description { color: #687168; font-size: 16px; line-height: 2; }
.hero-actions { margin-top: 31px; display: flex; align-items: center; gap: 25px; }
.button { min-height: 48px; display: inline-flex; justify-content: center; align-items: center; gap: 25px; border: 0; border-radius: 4px; padding: 0 21px; font-size: 16px; font-weight: 600; transition: transform .2s ease, background .2s ease; cursor: pointer; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: #fffefa; }
.button-dark:hover { background: #435147; }
.button:disabled { opacity: .65; cursor: wait; transform: none; }
.button span { font-size: 16px; font-weight: 400; }
.text-link { font-size: 16px; color: #687168; }
.hero-note { margin-top: 37px; color: #8c8b7e; font-size: 16px; }
.tiny-star { color: #b99b5b; margin-right: 5px; }
.hero-bottom { position: absolute; bottom: 0; left: 56px; right: 56px; height: 64px; border-top: 1px solid #e7e3da; display: flex; align-items: center; gap: 18px; color: #888b80; font-size: 16px; letter-spacing: .01em; }
.bottom-divider { height: 13px; width: 1px; background: #d9d5cb; }
.hero-bottom-mark { color: #b49a60; font-size: 16px; margin-left: auto; }

.sky-art { position: relative; z-index: 2; width: min(100%, 505px); height: 430px; margin: -11px 0 0 auto; overflow: hidden; }
.sky-glow { position: absolute; width: 370px; height: 370px; left: 68px; top: 18px; border-radius: 50%; background: radial-gradient(circle, rgba(232,225,205,.76) 0, rgba(241,237,226,.54) 39%, rgba(248,246,241,0) 71%); }
.orbit { position: absolute; border: 1px solid rgba(157,151,127,.34); border-radius: 50%; left: 68px; top: 5px; width: 355px; height: 355px; }
.orbit-one { transform: rotate(25deg) scaleX(.77); }
.orbit-two { transform: rotate(-38deg) scaleX(.72); }
.orbit-three { transform: rotate(82deg) scaleX(.82); }
.chart-ring { position: absolute; left: 125px; top: 61px; width: 240px; height: 240px; border: 1px solid rgba(126,134,117,.54); border-radius: 50%; transform: rotate(14deg); }
.chart-ring::before, .chart-ring::after { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(151,151,130,.4); border-radius: 50%; }
.chart-ring::after { inset: 40px; border-color: rgba(151,151,130,.31); }
.chart-line { position: absolute; left: 50%; top: 0; height: 100%; width: 1px; background: rgba(151,151,130,.34); transform-origin: center; }
.chart-line-a { transform: rotate(45deg); }
.chart-line-b { transform: rotate(90deg); }
.chart-line-c { transform: rotate(135deg); }
.chart-line-d { transform: rotate(22.5deg); height: 84%; top: 8%; }
.chart-center { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 67px; height: 67px; border: 1px solid rgba(155,138,94,.52); border-radius: 50%; background: #f4f0e4; color: #a28b56; font-family: var(--serif); font-size: 26px; }
.sky-star { position: absolute; color: #9a895b; }
.star-a { top: 32px; left: 250px; font-size: 16px; }
.star-b { top: 149px; right: 31px; font-size: 21px; }
.star-c { top: 280px; left: 58px; font-size: 16px; }
.star-d { top: 65px; right: 103px; font-size: 30px; color: #c6a85e; }
.planet { position: absolute; z-index: 2; border-radius: 50%; background: #c7ad70; box-shadow: 0 0 0 5px rgba(199,173,112,.12); }
.planet-one { width: 8px; height: 8px; top: 71px; left: 164px; }
.planet-two { width: 6px; height: 6px; top: 276px; right: 100px; background: #758372; box-shadow: 0 0 0 5px rgba(117,131,114,.12); }
.planet-three { width: 10px; height: 10px; top: 218px; left: 379px; background: #a8877b; box-shadow: 0 0 0 5px rgba(168,135,123,.12); }
.sky-caption { position: absolute; bottom: 48px; left: 187px; color: #9b9787; font-size: 16px; letter-spacing: .22em; }
.hero-bottom { z-index: 2; }

.intro-strip { min-height: 115px; background: #eeeee7; display: flex; align-items: center; justify-content: center; gap: clamp(35px, 8vw, 115px); padding: 22px 30px; }
.intro-strip > div { display: flex; align-items: center; gap: 13px; }
.strip-icon { color: #a58c54; font-family: var(--serif); font-size: 16px; }
.intro-strip strong, .intro-strip small { display: block; }
.intro-strip strong { font-family: var(--serif); font-size: 16px; font-weight: 600; }
.intro-strip small { margin-top: 6px; color: #85897f; font-size: 16px; }

.section-wrap { max-width: 1120px; margin: 0 auto; }
.difference-section { padding: 78px 30px 76px; display: grid; grid-template-columns: minmax(0, 1fr) 238px; gap: 49px; align-items: center; }
.difference-copy h2 { margin: 12px 0 13px; font-family: var(--serif); font-size: 34px; font-weight: 500; letter-spacing: -.055em; line-height: 1.3; }
.difference-lead { max-width: 640px; margin: 0; color: #73796f; font-size: 16px; line-height: 1.85; }
.difference-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 23px; }
.difference-card { min-height: 121px; padding: 15px 13px; border: 1px solid #e7e4dc; background: rgba(255,254,250,.64); }
.difference-card > span { color: #9a8758; font-size: 16px; font-weight: 700; letter-spacing: .08em; }
.difference-card p { margin: 9px 0 0; color: #72786f; font-size: 16px; line-height: 1.8; }
.difference-card-highlight { border-color: #cdd4c8; background: #eef0e9; }
.difference-promise { display: flex; gap: 11px; align-items: flex-start; margin-top: 20px; }
.difference-promise > span { color: #a18a52; font-size: 17px; }
.difference-promise p { margin: 0; color: #71776d; font-size: 16px; line-height: 1.85; }
.difference-promise strong { color: var(--ink); font-weight: 600; }
.difference-cta { margin-top: 20px; }
.difference-reassurance { margin: 11px 0 0; color: #929287; font-size: 16px; }
.difference-aside { min-height: 243px; padding: 24px 19px; display: flex; flex-direction: column; justify-content: center; background: #e9ece5; }
.aside-mark { height: 35px; color: #ac9862; font-family: var(--serif); font-size: 51px; line-height: 1; }
.difference-aside > p { margin: 9px 0 16px; color: #657064; font-family: var(--serif); font-size: 19px; line-height: 1.65; }
.difference-aside > p strong { color: #344238; font-weight: 600; }
.aside-caption { color: #878d82; font-size: 16px; line-height: 1.8; }
.term-section { padding: 10px 30px 83px; }
.term-heading { margin-bottom: 21px; }
.term-heading h2 { margin: 10px 0 8px; font-family: var(--serif); font-size: 29px; font-weight: 500; letter-spacing: -.045em; }
.term-heading > p:last-child { margin: 0; color: #81847b; font-size: 16px; }
.term-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.term-card { display: flex; align-items: flex-start; gap: 12px; min-height: 158px; padding: 17px; border: 1px solid #e7e4dc; background: rgba(255,254,250,.72); }
.term-symbol { flex: 0 0 33px; display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid #dcd8c9; border-radius: 50%; color: #9a8758; font-size: 16px; }
.term-symbol-moon { color: #758576; }
.term-symbol-star { color: #ad9155; }
.term-label { margin: 1px 0 5px; color: #a18c59; font-size: 16px; font-weight: 700; letter-spacing: .1em; }
.term-card h3 { margin: 0; color: #3f4b41; font-family: var(--serif); font-size: 16px; font-weight: 600; }
.term-card div > p:last-child { margin: 8px 0 0; color: #737a70; font-size: 16px; line-height: 1.8; }
.term-note { margin: 14px 0 0; color: #96968b; font-size: 16px; line-height: 1.7; }
.reading-topics { padding: 62px 30px 67px; background: #efeee8; }
.topics-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
.topics-heading h2 { margin: 9px 0 7px; color: #364238; font-family: var(--serif); font-size: 29px; font-weight: 500; letter-spacing: -.045em; }
.topics-heading > div > p:last-child { max-width: 650px; margin: 0; color: #7c8177; font-size: 16px; line-height: 1.8; }
.topics-all-link { flex: 0 0 auto; padding: 9px 12px; border: 1px solid #d8d9cf; color: #62705f; font-size: 16px; }
.topics-all-link span { margin-left: 8px; color: #a38d59; }
.lumi-question { display: grid; grid-template-columns: 83px minmax(0, 1fr) auto; align-items: center; gap: 17px; margin-bottom: 14px; padding: 17px 20px; border: 1px solid #e3dece; background: linear-gradient(110deg, #f8f5eb, #fffefa 62%, #edf0e9); }
.lumi-art { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.lumi-art svg { width: 70px; height: 70px; image-rendering: pixelated; filter: drop-shadow(0 3px 1px rgba(62,73,59,.12)); animation: lumi-bob 1.1s steps(2, end) infinite alternate; }
.lumi-name { color: #8b7950; font-size: 16px; font-weight: 700; letter-spacing: .08em; }
@keyframes lumi-bob { to { transform: translateY(-3px); } }
.lumi-copy { min-width: 0; }
.lumi-copy .eyebrow { font-size: 16px; }
.lumi-copy h3 { margin: 5px 0 3px; color: #3f4b41; font-family: var(--serif); font-size: 17px; font-weight: 600; }
.lumi-dialogue { margin: 0; color: #8a8b80; font-size: 16px; }
.lumi-prompt { margin: 9px 0 0; color: #5e6b5e; font-size: 16px; font-weight: 600; line-height: 1.8; }
.lumi-draw-button { min-height: 37px; padding: 0 13px; border: 1px solid #d7d9cc; border-radius: 3px; background: #fffefa; color: #62705f; font-size: 16px; white-space: nowrap; cursor: pointer; transition: background .2s, transform .2s; }
.lumi-draw-button:hover { transform: translateY(-1px); background: #f0f1e9; }
.lumi-draw-button span { margin-left: 5px; color: #a38d59; font-size: 16px; }
.topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.topic-card { display: flex; min-height: 215px; flex-direction: column; padding: 17px; border: 1px solid #e2e0d7; background: rgba(255,254,250,.8); }
.topic-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.topic-icon { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #e0ddcf; border-radius: 50%; color: #9a8758; font-family: var(--serif); font-size: 16px; }
.topic-status { display: inline-block; padding: 5px 7px; border-radius: 12px; background: #ecefe8; color: #687565; font-size: 16px; white-space: nowrap; }
.topic-status-live { background: #e7ede3; color: #5e745d; }
.topic-status-building { background: #f1eade; color: #94774b; }
.topic-status-upcoming { background: #efede9; color: #858277; }
.topic-kicker { margin: 13px 0 4px; color: #a08d5e; font-size: 16px; font-weight: 700; letter-spacing: .12em; }
.topic-card h3 { margin: 0; color: #3f4b41; font-family: var(--serif); font-size: 16px; font-weight: 600; letter-spacing: -.02em; }
.topic-card > p:not(.topic-kicker) { margin: 8px 0 14px; color: #747a70; font-size: 16px; line-height: 1.8; }
.topic-card > a, .topic-coming-soon { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #65745f; font-size: 16px; text-decoration: underline; text-decoration-color: #c9c3ae; text-underline-offset: 3px; }
.topic-card > a span { color: #a38d59; font-size: 16px; text-decoration: none; }
.topic-card-upcoming { border-style: dashed; background: rgba(255,254,250,.48); }
.topic-coming-soon { color: #919084; text-decoration: none; }
.topics-note { margin: 13px 0 0; color: #929287; font-size: 16px; line-height: 1.8; }
.chart-section { padding: 99px 30px 104px; }
.section-heading { margin-bottom: 34px; }
.section-heading h2, .guide-header h2 { margin: 11px 0 10px; font-family: var(--serif); font-size: 35px; font-weight: 500; letter-spacing: -.05em; }
.section-heading > p:last-child { margin: 0; color: #81847b; font-size: 16px; }
.chart-layout { display: grid; grid-template-columns: 1.07fr .93fr; gap: 26px; align-items: stretch; }
.birth-form { padding: 28px 30px 27px; background: var(--white); border: 1px solid #eeece4; box-shadow: 0 12px 40px rgba(52,58,45,.035); }
.account-panel { margin: 0 0 24px; padding: 18px; border: 1px solid rgba(137,112,167,.22); border-radius: 16px; background: linear-gradient(135deg,rgba(103,70,139,.08),rgba(232,201,129,.08)); }
.account-panel > div:first-child { display: grid; gap: 5px; }
.account-panel small { color: #777d72; line-height: 1.5; }
.account-panel p { margin: 12px 0 0; }
.account-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.account-actions :is(a,button) { min-height: 42px; padding: 10px 14px; border: 1px solid rgba(80,69,93,.2); border-radius: 12px; background: #fff; color: #342b3b; font: inherit; text-decoration: none; cursor: pointer; }
.account-login { background: #fff !important; }
.account-login-kakao { border-color: #fee500 !important; background: #fee500 !important; color: #191600 !important; }
.account-save-consent { display: flex; gap: 9px; align-items: flex-start; margin-top: 14px; line-height: 1.5; }
#account-status { min-height: 1.4em; color: #6f5a79; font-size: 14px; }
.saved-birth-dialog { width: min(440px,calc(100vw - 32px)); padding: 0; border: 1px solid rgba(214,184,235,.35); border-radius: 22px; background: #171321; color: #fff7e8; box-shadow: 0 28px 90px rgba(0,0,0,.5); }
.saved-birth-dialog::backdrop { background: rgba(4,3,10,.72); backdrop-filter: blur(5px); }
.saved-birth-dialog form { padding: 30px; text-align: center; }
.saved-birth-dialog h2 { margin: 12px 0; font-size: 24px; }
.saved-birth-dialog p { color: rgba(255,247,232,.72); line-height: 1.65; }
.saved-birth-symbol { color: #e8c981; font-size: 28px; }
.saved-birth-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
.saved-birth-actions button { min-height: 48px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.form-heading { display: flex; align-items: center; gap: 12px; padding-bottom: 23px; border-bottom: 1px solid #efede7; }
.form-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; background: #eff1e9; color: #87917e; font-size: 17px; }
.form-heading strong, .form-heading small { display: block; }
.form-heading strong { font-size: 16px; }
.form-heading small { margin-top: 6px; color: #96968b; font-size: 16px; }
.form-fields { display: grid; grid-template-columns: 1fr 1fr; column-gap: 15px; row-gap: 17px; padding: 23px 0 16px; }
.field { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.field > span { color: #555f54; font-size: 16px; font-weight: 600; }
.field > span small { color: #98988d; font-size: 16px; font-weight: 400; }
.birth-date-fields { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 8px; }
.birth-date-part { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.birth-date-part > span { color: #7c8177; font-size: 16px; }
.birth-date-hint { color: #929287; font-size: 16px; line-height: 1.6; }
.birth-time-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.birth-time-field legend { margin-bottom: 8px; color: #555f54; font-size: 16px; font-weight: 600; }
.birth-time-inputs { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto; align-items: center; gap: 5px; }
.birth-time-inputs > input[type="number"] { width: 100%; min-width: 0; height: 43px; outline: none; border: 1px solid #e8e6df; border-radius: 2px; background: #fffefa; padding: 0 8px; color: #555f54; font-size: 16px; text-align: center; }
.birth-time-inputs > input[type="number"]:focus { border-color: #a8ad9b; }
.birth-time-inputs > span { color: #777d72; }
.birth-period-toggle { display: flex; height: 43px; border: 1px solid #e8e6df; border-radius: 2px; background: #fffefa; }
.birth-period-option { min-width: 39px; padding: 0 7px; border: 0; background: transparent; color: #777d72; font: inherit; font-size: 16px; cursor: pointer; }
.birth-period-option.is-selected { background: #e9ede5; color: #465644; font-weight: 700; }
.birth-period-option:focus-visible { position: relative; z-index: 1; outline: 2px solid #87917e; outline-offset: 1px; }
.field-wide { grid-column: 1 / -1; }
.field[hidden] { display: none; }
.field input, .field select { width: 100%; height: 43px; outline: none; border: 1px solid #e8e6df; border-radius: 2px; background: #fffefa; padding: 0 11px; color: #555f54; font-size: 16px; transition: border-color .2s; }
.field input:focus, .field select:focus { border-color: #a8ad9b; }
.field input::placeholder { color: #b2b0a6; }
.field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%237d8176' stroke-width='1.2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }
.privacy-note { margin: 5px 0 17px; color: #898c82; font-size: 16px; line-height: 1.8; }
.privacy-note span { color: #9b8a5c; margin-right: 4px; }
.consent-field { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 16px; color: #606a5f; font-size: 16px; line-height: 1.7; cursor: pointer; }
.consent-field input { flex: 0 0 auto; width: 14px; height: 14px; margin: 1px 0 0; accent-color: #526452; }
.submit-button { width: 100%; }
.form-status { min-height: 0; margin: 0; color: #62705f; font-size: 16px; line-height: 1.7; }
.form-status:not(:empty) { margin-top: 15px; padding: 12px 14px; border-left: 2px solid #b9a36b; background: #f6f4ec; }

.result-preview { position: relative; min-height: 492px; padding: 22px 25px; overflow: hidden; background: #e8ebe3; text-align: center; }
.preview-top { display: flex; align-items: center; justify-content: space-between; color: #798276; font-size: 16px; letter-spacing: .11em; }
.preview-status { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 20px; background: rgba(255,255,250,.5); color: #7d8577; font-size: 16px; letter-spacing: 0; }
.preview-status i { width: 5px; height: 5px; border-radius: 50%; background: #a9a783; }
.preview-sky { position: relative; width: 200px; height: 200px; margin: 23px auto 11px; }
.preview-orbit { position: absolute; inset: 18px 2px; border: 1px solid rgba(129,138,122,.35); border-radius: 50%; transform: rotate(28deg); }
.preview-orbit-b { transform: rotate(-34deg); }
.preview-orbit-c { inset: 25px 28px; transform: rotate(75deg); }
.preview-wheel { position: absolute; display: grid; place-items: center; inset: 33px; border: 1px solid rgba(129,138,122,.45); border-radius: 50%; background: rgba(244,244,234,.36); }
.preview-wheel::before, .preview-wheel::after { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(129,138,122,.3); border-radius: 50%; }
.preview-wheel::after { inset: 42px; }
.preview-wheel span { color: #a8935e; font-size: 17px; }
.preview-star { position: absolute; color: #9b8c61; }
.ps-a { left: 22px; top: 33px; font-size: 17px; }
.ps-b { right: 13px; top: 83px; font-size: 16px; }
.ps-c { right: 33px; bottom: 29px; font-size: 24px; }
.result-preview h3 { margin: 0 0 10px; font-family: var(--serif); font-size: 21px; font-weight: 500; line-height: 1.35; }
.result-preview > p { max-width: 310px; margin: 0 auto; color: #788076; font-size: 16px; line-height: 1.8; }
.result-preview.has-results { min-height: 0; }
.result-preview.has-results .preview-sky { display: none; }
.result-preview.has-results .preview-rule { margin-top: 15px; }
.calculation-progress { display: flex; align-items: center; gap: 15px; max-width: 350px; margin: 17px auto 0; padding: 13px 14px; border: 1px solid rgba(126,135,118,.2); background: rgba(255,255,250,.48); text-align: left; }
.calculation-progress[hidden] { display: none; }
.record-visual-stage{position:relative;min-height:430px;margin:18px -10px -8px;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 52% 44%,#2c203e 0,#100d20 48%,#070711 82%);color:#fff7ef;isolation:isolate}.record-visual-stage[hidden]{display:none}.record-visual-stars{position:absolute;inset:0;opacity:.55;background-image:radial-gradient(#fff 0 1px,transparent 1.5px),radial-gradient(#f27649 0 1px,transparent 1.6px);background-size:67px 79px,109px 91px;animation:record-stars 8s ease-in-out infinite alternate}.record-visual-planets{position:absolute;inset:0}.record-visual-planets i{position:absolute;border-radius:50%;opacity:.42;box-shadow:inset -10px -12px 20px #05050c66,0 0 26px currentColor;transition:.6s}.record-visual-planets i:nth-child(1){width:105px;height:92px;left:-34px;top:105px;color:#f27649;background:#f27649}.record-visual-planets i:nth-child(2){width:54px;height:50px;right:24px;top:82px;color:#a58bdc;background:#a58bdc}.record-visual-planets i:nth-child(3){width:42px;height:39px;right:30px;bottom:76px;color:#73c6c5;background:#73c6c5}.record-visual-planets i:nth-child(4){width:32px;height:30px;left:30px;bottom:68px;color:#e28161;background:#e28161}.record-visual-planets i.is-checked{opacity:.95;transform:scale(1.12)}.record-visual-planets i.is-retrograde{animation:record-retro 1.5s ease-in-out infinite}.record-visual-speech{position:absolute;z-index:4;left:50%;top:24px;transform:translateX(-50%);width:min(84%,360px);min-height:66px!important;margin:0!important;padding:13px 16px;border:1px solid #c7b7d244;border-radius:20px;background:#100d1acc!important;color:#fff7ef!important;font-size:14px!important;line-height:1.55!important;display:grid;place-items:center;backdrop-filter:blur(12px)}.record-visual-circle{position:absolute;left:50%;top:51%;width:min(66vw,245px);aspect-ratio:1;transform:translate(-50%,-50%) rotateX(58deg);filter:drop-shadow(0 0 18px #8f75c966);transition:.7s}.record-visual-circle.is-awake{filter:drop-shadow(0 0 30px #f2764988);transform:translate(-50%,-50%) rotateX(49deg) scale(1.04)}.record-visual-ring{position:absolute;inset:3%;border:1px solid #aa96c277;border-radius:50%}.record-visual-ring.ring-b{inset:15%;border-style:dashed;animation:record-spin 18s linear infinite}.record-visual-ring.ring-c{inset:28%;border-color:#f2764988;animation:record-spin 11s linear infinite reverse}.record-visual-circle.is-dasha .ring-b{animation-duration:5s}.record-visual-chart{position:absolute;inset:32%;border:1px solid #f0e9df55;transform:rotate(45deg);transition:.6s}.record-visual-chart:before{content:"";position:absolute;inset:0;border:1px solid #f0e9df33;transform:rotate(45deg)}.record-visual-chart.is-checked{border-color:#f27649;box-shadow:0 0 22px #f2764966}.record-visual-node{position:absolute;width:10px;height:10px;border:1px solid #c7bbd4;border-radius:50%;background:#0b0916}.record-visual-node:nth-of-type(5){left:49%;top:1%}.record-visual-node:nth-of-type(6){right:8%;top:29%}.record-visual-node:nth-of-type(7){right:18%;bottom:13%}.record-visual-node:nth-of-type(8){left:18%;bottom:13%}.record-visual-node:nth-of-type(9){left:4%;top:42%}.record-visual-node.is-on{background:#f27649;box-shadow:0 0 14px #f27649;transform:scale(1.35)}.record-visual-lumi{position:absolute;z-index:3;right:14px;top:43%;width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 0 14px #f2764966);animation:record-lumi 3.6s ease-in-out infinite}.record-visual-copy{position:absolute;z-index:4;left:8%;right:8%;bottom:35px;display:grid;gap:5px}.record-visual-copy small{color:#f27649;font:600 10px/1.4 monospace;letter-spacing:.14em}.record-visual-copy strong{font:500 20px/1.3 Georgia,"Noto Serif KR",serif}.record-visual-progress{position:absolute;left:8%;right:8%;bottom:18px;height:2px;background:#ffffff18}.record-visual-progress i{display:block;width:0;height:100%;background:#f27649;box-shadow:0 0 10px #f27649;transition:width .5s}.record-guided-reading > :not(.ai-interpretation){display:none!important}.record-guided-reading{padding-top:0!important;border:0!important;background:transparent!important}.record-guided-active .report-library{display:none}@keyframes record-spin{to{transform:rotate(360deg)}}@keyframes record-stars{to{opacity:.82;transform:translateY(-4px)}}@keyframes record-lumi{50%{transform:translate(-4px,-10px) rotate(3deg)}}@keyframes record-retro{50%{transform:translateX(-8px) scale(1.1)}}@media(prefers-reduced-motion:reduce){.record-visual-stage *{animation:none!important;transition:none!important}}
.pixel-companion { display: flex; flex: 0 0 50px; flex-direction: column; align-items: center; gap: 4px; color: #78836d; font-size: 16px; white-space: nowrap; }
.pixel-companion svg { width: 42px; height: 42px; image-rendering: pixelated; animation: pixel-float .8s steps(2, end) infinite alternate; }
.progress-copy { min-width: 0; flex: 1; }
.progress-copy strong, .progress-copy > span { display: block; }
.progress-copy strong { color: #526452; font-size: 16px; line-height: 1.6; }
.progress-copy > span { margin-top: 3px; color: #82877c; font-size: 16px; line-height: 1.7; }
.progress-track { height: 6px; margin-top: 9px; overflow: hidden; border-radius: 5px; background: #e1e5dc; }
.progress-track > span { display: block; height: 100%; min-width: 7%; border-radius: inherit; background: repeating-linear-gradient(90deg, #71816f 0 8px, #a6b29d 8px 12px); transition: width .35s ease; }
.progress-copy small { display: block; margin-top: 5px; color: #999887; font-size: 16px; }
@keyframes pixel-float { to { transform: translateY(-4px); } }
.chart-results { max-width: 390px; margin: 16px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; text-align: left; }
.chart-results[hidden] { display: none; }
.chart-results > div { padding: 9px 10px; border: 1px solid rgba(126,135,118,.2); background: rgba(255,255,250,.28); text-align: left; }
.chart-results dt { color: #798276; font-size: 16px; }
.chart-results dd { margin: 4px 0 0; color: #445248; font-family: var(--serif); font-size: 16px; }
.chart-results > div > p { margin: 6px 0 0; color: #687368; font-size: 16px; line-height: 1.7; }
.preview-rule { height: 1px; max-width: 290px; margin: 19px auto 13px; background: rgba(126,135,118,.2); }
.preview-legend { display: flex; justify-content: center; gap: 19px; color: #7f867a; font-size: 16px; }
.preview-legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend-dot { width: 5px; height: 5px; border-radius: 50%; background: #a8945f; }
.legend-dot-muted { background: #a5ada0; }

.reading-section { margin-top: 36px; padding: 28px; border: 1px solid #e9e5dc; background: #fffefa; }
.reading-section[hidden] { display: none; }
.cosmic-current { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); overflow: hidden; margin: 0 0 28px; border: 1px solid #202b48; background: #10162c; color: #f1ecdf; }
.cosmic-scene { position: relative; min-height: 350px; overflow: hidden; background: #10162c; }
.cosmic-scene > svg { display: block; width: 100%; height: 100%; min-height: 350px; }
.cosmic-caption { position: absolute; right: 17px; bottom: 14px; left: 17px; display: flex; justify-content: space-between; gap: 9px; color: #c4bfd1; font-size: 16px; }
.cosmic-current-copy { align-self: center; padding: 30px; }
.cosmic-current-copy .eyebrow { color: #d6be83; }
.cosmic-current-copy h3 { margin: 12px 0 11px; color: #fff7e8; font-family: var(--serif); font-size: clamp(22px, 2.4vw, 30px); font-weight: 500; line-height: 1.4; }
.cosmic-current-copy > p:not(.eyebrow) { color: #c0c3d0; font-size: 16px; line-height: 1.9; }
.cosmic-steps { display: grid; gap: 8px; margin: 17px 0; }
.cosmic-steps > div { display: grid; gap: 4px; padding: 9px 11px; border: 1px solid rgba(211,204,226,.14); background: rgba(255,255,255,.035); }
.cosmic-steps span { color: #cfb97e; font-size: 16px; }
.cosmic-steps strong { color: #e0deea; font-size: 16px; font-weight: 500; }
.cosmic-live { margin-top: 19px; padding-top: 17px; border-top: 1px solid rgba(211,204,226,.2); }
.cosmic-live-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cosmic-live-heading h4 { margin: 6px 0 0; color: #f4efe3; font-size: 16px; font-weight: 600; }
.cosmic-check-button { min-height: 37px; padding: 0 12px; border: 1px solid rgba(218,198,143,.55); border-radius: 3px; background: rgba(206,181,116,.1); color: #f0d99f; font-size: 16px; cursor: pointer; }
.cosmic-check-button:hover { background: rgba(206,181,116,.2); }
.cosmic-check-button:disabled { opacity: .6; cursor: wait; }
.cosmic-check-button span { margin-left: 5px; }
.cosmic-cost-note, .cosmic-live-status, .cosmic-as-of { color: #b5b8c7; font-size: 16px; line-height: 1.8; }
.cosmic-cost-note { margin: 10px 0; }
.cosmic-live-status { margin: 0; }
.cosmic-planet-status { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.cosmic-planet-status[hidden] { display: none; }
.cosmic-planet-status li { padding: 6px 8px; border: 1px solid rgba(227,192,137,.35); background: rgba(227,192,137,.08); color: #efd6a0; font-size: 16px; }
.cosmic-as-of { margin: 8px 0 0; color: #9096ac; }
.destiny-story { position: relative; margin: 0 0 28px; padding: 27px 30px 24px; overflow: hidden; border: 1px solid #d9d5c6; background: linear-gradient(120deg, #f0f0e8 0%, #fbf8ed 65%, #f4ecdc 100%); }
.destiny-story::after { position: absolute; top: -48px; right: -35px; width: 180px; height: 180px; border: 1px solid rgba(154,135,83,.17); border-radius: 50%; content: ""; pointer-events: none; }
.first-take-label { color: #9a8150; font-size: 16px; font-weight: 700; letter-spacing: .08em; }
.first-take-label span { margin-right: 5px; }
.destiny-story h3 { position: relative; z-index: 1; margin: 10px 0 9px; color: #35453a; font-family: var(--serif); font-size: clamp(23px, 3vw, 34px); font-weight: 600; letter-spacing: -.04em; line-height: 1.35; }
.destiny-story p { position: relative; z-index: 1; }
.destiny-story-line { max-width: 800px; margin: 13px 0 10px; color: #405244; font-size: clamp(19px, 2.6vw, 28px); font-weight: 700; line-height: 1.6; letter-spacing: -.025em; }
.destiny-story-evidence { margin: 0; color: #8a887d; font-size: 16px; line-height: 1.7; }
.destiny-story-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 18px; }
.destiny-story-grid article { padding: 13px 14px; border: 1px solid rgba(216,213,198,.9); background: rgba(255,254,250,.67); }
.destiny-story-grid article > span { color: #9a8150; font-size: 16px; font-weight: 700; }
.destiny-story-grid article > p { margin: 6px 0 0; color: #626e61; font-size: 16px; line-height: 1.8; }
.destiny-story-note { margin: 13px 0 0; color: #8a887d; font-size: 16px; line-height: 1.7; }
.reading-header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 21px; }
.reading-header h3 { margin: 9px 0 0; font-family: var(--serif); font-size: 25px; font-weight: 500; letter-spacing: -.04em; }
.reading-header > p { margin: 0 0 2px; color: #888a80; font-size: 16px; line-height: 1.8; text-align: right; }
.reading-header-aside { text-align: right; }
.reading-header-aside p { margin: 0 0 7px; color: #888a80; font-size: 16px; line-height: 1.8; }
.reading-header-aside a { color: #78836d; font-size: 16px; text-decoration: underline; text-decoration-color: #c9c3ae; text-underline-offset: 3px; }
.reading-header-aside a span { color: #a38d59; }
.print-chart-button { display: block; margin: 0 0 8px auto; padding: 8px 11px; border: 1px solid #d9ddcf; border-radius: 3px; background: #f6f7f1; color: #526452; font-size: 16px; cursor: pointer; }
.print-chart-button:hover { background: #ecefe8; }
.reading-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.reading-card { padding: 19px 20px; border: 1px solid #eeece5; background: #fbfaf6; }
.reading-kicker { color: #9a8758; font-size: 16px; letter-spacing: .04em; }
.reading-card h4 { display: flex; align-items: baseline; justify-content: space-between; gap: 9px; margin: 10px 0; font-size: 16px; font-weight: 600; }
.reading-card h4 small { color: #96968b; font-size: 16px; font-weight: 400; }
.reading-card .reading-evidence { margin: 0 0 8px; padding: 7px 8px; border-left: 2px solid #c9b987; background: #f3f2eb; color: #77796d; font-size: 16px; line-height: 1.6; }
.reading-card > p:not(.reflection) { margin: 0; color: #6f776e; font-size: 16px; line-height: 1.9; }
.reading-card .reflection { margin: 13px 0 0; padding-top: 11px; border-top: 1px solid #eae7df; color: #667062; font-size: 16px; line-height: 1.8; }
.reflection strong { display: block; margin-bottom: 3px; color: #9a8758; font-size: 16px; font-weight: 600; }
.personal-guide { margin-top: 14px; padding: 24px; border: 1px solid #e5e2d8; background: #f7f6f0; }
.personal-guide-heading { max-width: 680px; margin-bottom: 17px; }
.personal-guide-heading h4 { margin: 7px 0; color: #414c42; font-family: var(--serif); font-size: 21px; font-weight: 500; }
.personal-guide-heading > p:last-child, .personal-guide-grid p, .personal-guide-note { color: #72796f; font-size: 16px; line-height: 1.9; }
.personal-guide-heading > p:last-child { margin: 0; }
.personal-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.personal-guide-grid article { padding: 14px 15px; border: 1px solid #e8e5dc; background: rgba(255,254,250,.78); }
.personal-guide-grid h5 { margin: 0 0 6px; color: #526452; font-size: 16px; font-weight: 600; }
.personal-guide-grid p { margin: 0; }
.personal-guide-grid p strong { color: #526452; font-weight: 600; }
.personal-guide-note { margin: 14px 0 0; padding-top: 11px; border-top: 1px solid #e5e2d8; }
.reading-source-credit { margin: 8px 0 0; color: #8a887d; font-size: 16px; line-height: 1.7; }
.reading-source-credit a { color: #687565; text-decoration: underline; text-underline-offset: 2px; }
.d1-chart { margin-top: 22px; padding: 23px; border: 1px solid #e9e5dc; background: #f7f6f0; }
.d1-chart-heading, .house-chart-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; }
.d1-chart-heading h4, .house-chart-heading h4 { margin: 7px 0 0; color: #414c42; font-family: var(--serif); font-size: 19px; font-weight: 500; }
.d1-chart-heading > p, .house-chart-heading > p { margin: 0 0 2px; color: #898c82; font-size: 16px; line-height: 1.7; }
.planet-table-wrap { margin-top: 15px; overflow-x: auto; }
.planet-table { width: 100%; border-collapse: collapse; text-align: left; }
.planet-table th, .planet-table td { padding: 9px 10px; border-bottom: 1px solid #e9e6dc; font-size: 16px; white-space: nowrap; }
.planet-table thead th { color: #85897f; font-size: 16px; font-weight: 600; }
.planet-table tbody th { color: #4d594e; font-weight: 600; }
.planet-table tbody td { color: #727a70; }
.motion-label { display: inline-block; padding: 4px 7px; border-radius: 12px; background: #ecefe8; color: #687565; font-size: 16px; }
.motion-retrograde { background: #f1e8dc; color: #98744e; }
.house-chart-heading { margin-top: 24px; }
.house-chart-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 13px 0 0; padding: 0; list-style: none; }
.house-chart-grid li { display: flex; min-height: 120px; flex-direction: column; align-items: flex-start; gap: 6px; padding: 11px 12px; border: 1px solid #e8e5dc; background: rgba(255,254,250,.76); }
.house-chart-grid li span { color: #929388; font-size: 16px; line-height: 1.5; }
.house-chart-grid li strong { color: #4f5d50; font-size: 16px; font-weight: 600; }
.house-chart-grid li p { margin: 0; color: #6f776e; font-size: 16px; line-height: 1.75; }
.d1-chart-note { margin: 13px 0 0; color: #888b81; font-size: 16px; line-height: 1.8; }
.planet-readings { margin-top: 14px; padding: 23px; border: 1px solid #e9e5dc; background: #fffefa; }
.planet-readings-heading { max-width: 720px; margin-bottom: 15px; }
.planet-readings-heading h4 { margin: 7px 0; color: #414c42; font-family: var(--serif); font-size: 19px; font-weight: 500; }
.planet-readings-heading > p:last-child { margin: 0; color: #7b8177; font-size: 16px; line-height: 1.8; }
.planet-reading-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.planet-reading-grid article { padding: 13px; border: 1px solid #e9e5dc; background: #fbfaf6; }
.planet-reading-grid h5 { margin: 0 0 8px; color: #526452; font-size: 16px; font-weight: 600; }
.planet-reading-grid article > p { margin: 0; color: #6f776e; font-size: 16px; line-height: 1.8; }
.planet-reading-grid .planet-reading-evidence { margin-bottom: 7px; color: #8a887d; font-size: 16px; }
.planet-reading-grid .planet-reading-combination { margin-top: 8px; padding-top: 7px; border-top: 1px solid #eae7df; }
.planet-reading-grid .planet-reading-motion { margin-top: 8px; padding: 8px 9px; border-left: 2px solid #c8b88f; background: #f5f2e9; }
.planet-reading-grid .planet-reading-prompt { margin-top: 8px; padding-top: 7px; border-top: 1px solid #eae7df; color: #667062; }
.planet-reading-prompt strong, .planet-reading-prompt span { display: block; }
.planet-reading-prompt strong { margin-bottom: 3px; color: #9a8758; font-size: 16px; font-weight: 600; }
.subtitle-analyzer { margin-top: 28px; padding: 21px; border: 1px solid #e5e2d8; background: #f8f7f1; }
.subtitle-analyzer h3 { margin: 6px 0 8px; color: #414c42; font-family: var(--serif); font-size: 20px; font-weight: 500; }
.subtitle-analyzer > p:not(.eyebrow) { max-width: 760px; color: #72796f; font-size: 16px; line-height: 1.8; }
.subtitle-file-label { display: block; margin: 14px 0 6px; color: #526452; font-size: 16px; font-weight: 600; }
.subtitle-analyzer input[type="file"] { width: 100%; padding: 10px; border: 1px solid #e5e2d8; background: #fffefa; color: #626c62; font-size: 16px; }
.subtitle-analyzer input[type="text"], .subtitle-analyzer select { width: 100%; padding: 10px; border: 1px solid #e5e2d8; background: #fffefa; color: #626c62; font: inherit; font-size: 16px; }
.subtitle-analyzer #subtitle-file-status, .subtitle-analyzer #subtitle-analysis-status { margin: 8px 0; }
.subtitle-file-list { max-height: 220px; overflow: auto; padding-left: 20px; color: #626c62; font-size: 16px; line-height: 1.8; }
.subtitle-file-list .unmatched { color: #a0644d; }
.subtitle-ai-note { padding: 9px 11px; background: #f1f1ea; }
.subtitle-consent { margin: 10px 0; }
.subtitle-consent input { flex: 0 0 auto; }
.subtitle-analyzer #subtitle-analyze-button { min-height: 40px; padding: 0 15px; font-size: 16px; }
.subtitle-analyzer #subtitle-analyze-button:disabled { opacity: .5; cursor: not-allowed; }
.subtitle-analysis-results, .subtitle-backlog { margin-top: 12px; }
.subtitle-analysis-card { margin-top: 8px; padding: 12px; border: 1px solid #e5e2d8; background: #fffefa; }
.subtitle-analysis-card h4 { margin: 0 0 6px; color: #526452; font-size: 16px; }
.subtitle-analysis-card p, .subtitle-analysis-card li { color: #626c62; font-size: 16px; line-height: 1.8; }
.subtitle-analysis-card details { margin-top: 7px; color: #526452; font-size: 16px; }
.subtitle-backlog summary { color: #526452; font-size: 16px; cursor: pointer; }
.subtitle-backlog-item { margin: 8px 0; padding: 10px; background: #fffefa; color: #626c62; font-size: 16px; line-height: 1.8; }
.subtitle-backlog-item a { color: #526452; }
.dasa-panel { margin-top: 14px; padding: 21px 23px; border: 1px solid #e9e5dc; background: #fffefa; }
.dasa-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.dasa-heading h4 { margin: 7px 0 0; color: #414c42; font-family: var(--serif); font-size: 19px; font-weight: 500; }
.dasa-status { padding: 5px 9px; border-radius: 14px; background: #ecefe8; color: #687565; font-size: 16px; white-space: nowrap; }
.dasa-status-locked { background: #f1e8dc; color: #98744e; }
.dasa-intro, .dasa-note { margin: 11px 0 0; color: #7b8177; font-size: 16px; line-height: 1.8; }
.dasa-periods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 15px 0 0; padding: 0; list-style: none; }
.dasa-periods[hidden] { display: none; }
.dasa-periods li { display: flex; min-height: 83px; flex-direction: column; justify-content: center; gap: 6px; padding: 11px 13px; border: 1px solid #e9e5dc; background: #f8f7f1; }
.dasa-periods li span { color: #9a8758; font-size: 16px; }
.dasa-periods li strong { color: #414c42; font-family: var(--serif); font-size: 16px; font-weight: 600; }
.dasa-periods li small { color: #858a80; font-size: 16px; }
.life-manual, .ai-interpretation { margin-top: 14px; padding: 23px; border: 1px solid #e9e5dc; background: #fffefa; }
.ai-interpretation { border-color: #d9daca; background: #f8f8f2; }
.ai-privacy-note { margin: 0 0 11px; padding: 11px 13px; border-left: 3px solid #9a8758; background: #f0efe7; color: #6f705f; font-size: 16px; line-height: 1.8; }
.ai-privacy-note a { color: #526452; text-decoration: underline; text-underline-offset: 2px; }
.ai-consent-field { margin-bottom: 11px; }
.ai-interpretation-button { min-height: 41px; padding: 10px 15px; font-size: 16px; }
.ai-interpretation-button:disabled { cursor: not-allowed; opacity: .5; }
.ai-interpretation-status { margin: 9px 0 0; color: #73796f; font-size: 16px; line-height: 1.8; }
.ai-interpretation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }
.ai-interpretation-grid[hidden] { display: none; }
.ai-interpretation-grid article { padding: 15px; border: 1px solid #e5e4d9; background: #fffefa; }
.ai-interpretation-grid h5 { margin: 0 0 10px; color: #414c42; font-size: 16px; font-weight: 600; }
.ai-interpretation-grid p { margin: 0; color: #626c62; font-size: 16px; line-height: 1.9; }
.ai-interpretation-grid .ai-evidence { margin-bottom: 9px; padding: 8px 10px; background: #f1f1ea; color: #777466; font-size: 16px; }
.ai-interpretation-grid .ai-action { margin-top: 10px; padding: 9px 10px; background: #f0f2ec; color: #526452; }
.life-manual-heading { max-width: 760px; margin-bottom: 16px; }
.life-manual-heading h4 { margin: 7px 0; color: #414c42; font-family: var(--serif); font-size: 19px; font-weight: 500; }
.life-manual-heading > p:last-child { margin: 0; color: #7b8177; font-size: 16px; line-height: 1.8; }
.life-manual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.life-manual-grid article { padding: 14px; border: 1px solid #e9e5dc; background: #fbfaf6; }
.life-manual-grid h5 { margin: 0 0 8px; color: #526452; font-size: 16px; font-weight: 600; }
.life-manual-grid article > p { margin: 0; color: #626c62; font-size: 16px; line-height: 1.9; }
.life-manual-grid .life-manual-evidence { margin-bottom: 9px; padding: 8px; background: #f1f1ea; color: #817e70; font-size: 16px; }
.life-manual-grid .life-manual-interpretation { color: #455448; font-size: 16px; font-weight: 600; }
.life-manual-grid .life-manual-pattern { margin-top: 8px; }
.life-manual-grid .life-manual-action { margin-top: 8px; padding: 9px 10px; background: #f0f2ec; color: #536653; }
.life-manual-grid .life-manual-reflection { margin-top: 9px; padding-top: 8px; border-top: 1px solid #e9e5dc; color: #526452; font-weight: 600; }
.medical-warning { margin: 0 0 13px; padding: 12px 14px; border-left: 3px solid #af6b52; background: #f8eee8; color: #784632; font-size: 16px; line-height: 1.8; }
.medical-warning strong { display: block; margin-bottom: 3px; }
.api-source-warning { margin: 0 0 9px; padding: 10px 13px; border: 1px solid #e8e3d5; background: #f8f6ef; color: #71684f; font-size: 16px; line-height: 1.8; }
.api-predictions { margin-top: 0; padding: 0; border: 0; background: transparent; }
.api-prediction-list { display: grid; gap: 7px; }
.api-prediction-item { border: 1px solid #e7e4dc; background: #fbfaf6; }
.api-prediction-item summary { padding: 11px 13px; color: #526452; font-size: 16px; font-weight: 600; cursor: pointer; }
.api-prediction-item pre { max-height: 430px; overflow: auto; margin: 0; padding: 13px; border-top: 1px solid #e9e5dc; background: #f4f3ed; color: #555d54; font: 9px/1.65 Consolas, "Courier New", monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.premium-data-note { margin: 0; padding: 12px 14px; background: #f4f3ed; color: #73796f; font-size: 16px; line-height: 1.8; }
.calculation-backlog { margin-top: 18px; border: 1px solid #e5e2d8; background: #f8f7f1; }
.calculation-backlog > summary { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 15px 17px; color: #71776d; font-size: 16px; line-height: 1.8; cursor: pointer; list-style: none; }
.calculation-backlog > summary::-webkit-details-marker { display: none; }
.calculation-backlog > summary::after { content: "＋"; align-self: flex-end; margin-top: -25px; color: #526452; font-size: 16px; }
.calculation-backlog[open] > summary::after { content: "−"; }
.calculation-backlog > summary .eyebrow { margin: 0; }
.calculation-backlog > summary strong { color: #414c42; font-size: 16px; font-weight: 600; }
.calculation-backlog > summary strong small { margin-left: 5px; color: #87897d; font-size: 16px; font-weight: 400; }
.calculation-backlog-content { padding: 0 17px 17px; }
.calculation-backlog-content .api-predictions { padding-top: 15px; border-top: 1px solid #e5e2d8; }
.prompt-backlog { margin-top: 18px; padding-top: 15px; border-top: 1px solid #e5e2d8; }
.prompt-backlog h4 { margin: 6px 0; color: #414c42; font-family: var(--serif); font-size: 16px; font-weight: 500; }
.prompt-backlog p:last-child { margin: 0; color: #72796f; font-size: 16px; line-height: 1.8; }
.prompt-backlog pre { max-height: 360px; overflow: auto; margin: 11px 0 0; padding: 12px; background: #f0efe7; color: #555d54; font: 9px/1.8 Consolas, "Courier New", monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.reading-footnote { margin: 16px 0 0; color: #96968b; font-size: 16px; line-height: 1.8; }

.pillars-section { padding: 88px 30px 73px; background: #efeee8; }
.section-heading-center { text-align: center; margin-bottom: 39px; }
.pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pillar-card { min-height: 280px; padding: 26px 24px 22px; border: 1px solid #e2e0d7; background: rgba(255,254,250,.5); }
.pillar-number { color: #9a8a60; font-size: 16px; letter-spacing: .14em; }
.pillar-symbol { display: grid; place-items: center; width: 43px; height: 43px; margin: 18px 0 14px; border: 1px solid #ddd9c9; border-radius: 50%; color: #9c8755; font-family: var(--serif); font-size: 20px; }
.symbol-moon { color: #7f8d7e; }
.symbol-star { color: #b0935a; }
.pillar-card h3 { margin: 0 0 10px; font-family: var(--serif); font-size: 17px; font-weight: 600; }
.pillar-card h3 small { margin-left: 6px; color: #96968b; font-family: var(--sans); font-size: 16px; font-weight: 400; }
.pillar-card p { min-height: 55px; margin: 0; color: #7a8077; font-size: 16px; line-height: 1.9; }
.pillar-card a, .guide-card a { display: inline-block; margin-top: 13px; color: #70776b; font-size: 16px; }
.pillar-card a span, .guide-card a span { margin-left: 5px; color: #aa925c; }
.gentle-note { margin: 25px 0 0; color: #898b81; text-align: center; font-size: 16px; }
.gentle-note span { margin-right: 5px; color: #b29a60; }

.guide-section { padding: 99px 30px 84px; }
.guide-header { display: flex; align-items: end; justify-content: space-between; margin-bottom: 30px; }
.guide-header h2 { margin-bottom: 0; }
.guide-header-actions { display: flex; align-items: center; gap: 17px; }
.guide-pdf-button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid #ddd9cc; border-radius: 3px; color: #687365; font-size: 16px; white-space: nowrap; transition: background .2s ease; }
.guide-pdf-button:hover { background: #efeee7; }
.guide-pdf-button span { color: #a38d59; font-size: 16px; }
.guide-intro { padding-bottom: 5px; color: #85887f; font-size: 16px; line-height: 1.8; text-align: right; }
.guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.guide-card { overflow: hidden; border: 1px solid #ece9e1; background: var(--white); }
.guide-art { height: 157px; position: relative; display: grid; place-items: center; overflow: hidden; }
.guide-art-one { background: #e2e6dc; }
.guide-art-two { background: #e9e4d8; }
.guide-art-three { background: #e5e8e2; }
.guide-art-sun { position: relative; z-index: 1; color: #ab9561; font-size: 43px; }
.guide-art-caption { position: absolute; bottom: 15px; left: 18px; color: rgba(74,87,75,.65); font-size: 16px; letter-spacing: .2em; }
.guide-art-one::before, .guide-art-one::after { content: ""; position: absolute; width: 100px; height: 100px; border: 1px solid rgba(125,137,118,.3); border-radius: 50%; }
.guide-art-one::after { width: 140px; height: 140px; }
.guide-moon { position: relative; z-index: 1; color: #9c8c64; font-size: 54px; }
.guide-orbit { position: absolute; width: 220px; height: 100px; border: 1px solid rgba(132,131,105,.32); border-radius: 50%; transform: rotate(-24deg); }
.guide-lagna { position: relative; z-index: 1; color: #748273; font-family: var(--serif); font-size: 44px; }
.guide-art-three::before, .guide-art-three::after { content: ""; position: absolute; width: 125px; height: 125px; border: 1px solid rgba(125,137,118,.3); transform: rotate(45deg); }
.guide-art-three::after { width: 88px; height: 88px; }
.guide-card-body { padding: 19px 19px 21px; }
.article-category { color: #a28c59; font-size: 16px; }
.guide-card h3 { min-height: 42px; margin: 9px 0; font-family: var(--serif); font-size: 16px; font-weight: 600; line-height: 1.45; }
.guide-card p { min-height: 53px; margin: 0; color: #7c8178; font-size: 16px; line-height: 1.8; }
.guide-card a { margin-top: 15px; }
.guide-disclaimer { margin: 21px 0 0; color: #a0a095; font-size: 16px; text-align: center; }
.faq-section { max-width: 740px; margin: 59px auto 0; }
.faq-section h3 { margin: 11px 0 17px; font-family: var(--serif); font-size: 24px; font-weight: 500; letter-spacing: -.03em; }
.faq-section details { border-top: 1px solid #e7e4dc; padding: 15px 0; }
.faq-section details:last-of-type { border-bottom: 1px solid #e7e4dc; }
.faq-section summary { position: relative; padding-right: 24px; color: #4f5b50; font-size: 16px; font-weight: 600; cursor: pointer; list-style: none; }
.faq-section summary::-webkit-details-marker { display: none; }
.faq-section summary::after { content: "+"; position: absolute; right: 3px; top: -3px; color: #9a875a; font-size: 17px; font-weight: 400; }
.faq-section details[open] summary::after { content: "−"; }
.faq-section details p { max-width: 660px; margin: 12px 0 0; color: #7c8178; font-size: 16px; line-height: 1.9; }

.closing-section { min-height: 352px; padding: 50px 20px 47px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #344238; color: #f8f6ef; text-align: center; }
.closing-star { margin-bottom: 13px; color: #cfb772; font-size: 19px; }
.closing-section .eyebrow { color: #c2b587; font-size: 16px; }
.closing-section h2 { margin: 14px 0 10px; font-family: var(--serif); font-size: 34px; font-weight: 500; letter-spacing: -.04em; line-height: 1.25; }
.closing-section > p:not(.eyebrow) { color: #c2c8bf; font-size: 16px; }
.button-light { margin-top: 12px; background: #f2eee1; color: #3b473d; }
.button-light:hover { background: #fffdf5; }
.site-footer { max-width: 1280px; min-height: 81px; margin: 0 auto; padding: 15px 56px; display: flex; align-items: center; gap: 17px; }
.footer-brand { font-size: 18px; }
.footer-brand .brand-mark { font-size: 17px; }
.footer-copy, .footer-legal { color: #929388; font-size: 16px; }
.footer-legal { margin-left: auto; }

@media (max-width: 900px) {
  .site-header { padding: 0 30px; }
  .site-nav { gap: 20px; margin-left: 25px; }
  .hero { padding-left: 30px; padding-right: 30px; }
  .hero-bottom { left: 30px; right: 30px; }
  .sky-art { transform: scale(.88); transform-origin: top right; margin-right: -25px; }
  .cosmic-current { grid-template-columns: 1fr; }
  .cosmic-scene { min-height: 300px; }
  .cosmic-scene > svg { min-height: 300px; }
  .chart-section, .pillars-section, .guide-section { padding-left: 30px; padding-right: 30px; }
  .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chart-layout { gap: 15px; }
  .birth-form { padding-left: 22px; padding-right: 22px; }
  .pillar-card { padding-left: 17px; padding-right: 17px; }
}
@media (max-width: 680px) {
  html { scroll-padding-top: 67px; }
  .site-header { height: 65px; padding: 0 20px; }
  .brand { font-size: 20px; }
  .site-nav { display: none; }
  .header-cta { padding: 9px 12px; font-size: 16px; }
  .hero { min-height: 685px; padding: 58px 22px 0; display: block; }
  .hero h1 { margin-top: 21px; font-size: clamp(51px, 12vw, 67px); }
  .hero-description { font-size: 16px; }
  .hero-actions { gap: 14px; margin-top: 24px; }
  .button { min-height: 45px; gap: 13px; padding: 0 15px; font-size: 16px; }
  .text-link { font-size: 16px; }
  .hero-note { margin-top: 19px; font-size: 16px; }
  .sky-art { position: absolute; width: 360px; height: 300px; right: 0; bottom: 22px; margin: 0; transform: scale(.77); transform-origin: bottom right; }
  .cosmic-current-copy { padding: 23px 19px; }
  .cosmic-scene, .cosmic-scene > svg { min-height: 235px; }
  .cosmic-caption { font-size: 16px; }
  .cosmic-live-heading { align-items: flex-start; flex-direction: column; }
  .cosmic-check-button { width: 100%; }
  .hero-bottom { left: 22px; right: 22px; height: 49px; gap: 9px; font-size: 16px; }
  .hero-bottom-mark { display: none; }
  .intro-strip { display: grid; grid-template-columns: 1fr; gap: 17px; padding: 23px 28px; }
  .intro-strip small { margin-top: 3px; }
  .reading-topics { padding: 49px 19px 52px; }
  .topics-heading { display: block; }
  .topics-heading h2 { font-size: 25px; }
  .topics-heading > div > p:last-child { font-size: 16px; }
  .topics-all-link { display: inline-block; margin-top: 13px; }
  .lumi-question { grid-template-columns: 58px minmax(0, 1fr); gap: 10px; padding: 13px; }
  .lumi-art svg { width: 54px; height: 54px; }
  .lumi-copy h3 { font-size: 16px; }
  .lumi-prompt { font-size: 16px; line-height: 1.7; }
  .lumi-dialogue { font-size: 16px; }
  .lumi-draw-button { grid-column: 2; justify-self: start; min-height: 34px; }
  .topic-grid { grid-template-columns: 1fr; gap: 8px; }
  .topic-card { min-height: 0; padding: 15px; }
  .topic-card > p:not(.topic-kicker) { margin-bottom: 12px; font-size: 16px; }
  .chart-section { padding: 69px 19px 71px; }
  .section-heading h2, .guide-header h2 { font-size: 30px; }
  .section-heading > p:last-child { font-size: 16px; line-height: 1.8; }
  .chart-layout { grid-template-columns: 1fr; }
  .birth-form { padding: 22px 18px; }
  .form-heading small { font-size: 16px; }
  .birth-date-fields { gap: 7px; }
  .birth-date-hint { font-size: 16px; }
  .result-preview { min-height: 465px; }
  .calculation-progress { gap: 10px; padding: 11px 10px; }
  .pixel-companion { flex-basis: 43px; }
  .pixel-companion svg { width: 36px; height: 36px; }
  .progress-copy strong { font-size: 16px; }
  .progress-copy > span { font-size: 16px; }
  .reading-section { margin-top: 20px; padding: 19px 15px; }
  .destiny-story { margin: 0 0 20px; padding: 21px 17px 18px; }
  .destiny-story h3 { font-size: 24px; }
  .destiny-story-line { font-size: 20px; }
  .destiny-story-grid { grid-template-columns: 1fr; gap: 7px; }
  .destiny-story-grid article { padding: 11px 12px; }
  .reading-header { display: block; }
  .reading-header-aside { margin-top: 12px; text-align: left; }
  .reading-header-aside p { font-size: 16px; }
  .print-chart-button { margin: 0 0 8px; }
  .reading-header h3 { font-size: 22px; }
  .reading-header > p { margin-top: 9px; text-align: left; }
  .reading-grid { grid-template-columns: 1fr; }
  .personal-guide { padding: 19px; }
  .personal-guide-grid { grid-template-columns: 1fr; }
  .planet-readings { padding: 17px 12px; }
  .planet-reading-grid { grid-template-columns: 1fr; }
  .reading-card { padding: 17px 15px; }
  .d1-chart { padding: 17px 12px; }
  .d1-chart-heading, .house-chart-heading { display: block; }
  .d1-chart-heading > p, .house-chart-heading > p { margin-top: 7px; }
  .planet-table th, .planet-table td { padding: 8px 6px; font-size: 16px; }
  .planet-table thead th { font-size: 16px; }
  .house-chart-grid { grid-template-columns: 1fr; }
  .dasa-panel { padding: 17px 14px; }
  .dasa-periods { grid-template-columns: 1fr; }
  .dasa-periods li { min-height: 70px; }
  .life-manual, .ai-interpretation { padding: 17px 13px; }
  .life-manual-grid { grid-template-columns: 1fr; }
  .ai-interpretation-grid { grid-template-columns: 1fr; }
  .calculation-backlog-content { padding: 0 12px 13px; }
  .pillars-section { padding: 68px 19px 53px; }
  .pillar-grid { grid-template-columns: 1fr; gap: 10px; }
  .pillar-card { min-height: auto; padding: 21px; }
  .pillar-card p { min-height: auto; }
  .section-heading-center { margin-bottom: 28px; }
  .difference-section { padding: 57px 20px 42px; grid-template-columns: 1fr; gap: 20px; }
  .difference-copy h2 { font-size: 30px; }
  .difference-grid { grid-template-columns: 1fr; }
  .difference-card { min-height: 0; padding: 14px; }
  .difference-card p { font-size: 16px; }
  .difference-aside { min-height: 0; }
  .difference-aside > p { font-size: 18px; }
  .difference-cta { width: 100%; }
  .term-section { padding: 0 20px 59px; }
  .term-heading h2 { font-size: 25px; }
  .term-grid { grid-template-columns: 1fr; }
  .term-card { min-height: 0; padding: 15px; }
  .term-card div > p:last-child { font-size: 16px; }
  .gentle-note { line-height: 1.8; }
  .guide-section { padding: 70px 19px 61px; }
  .guide-header { align-items: start; gap: 12px; }
  .guide-header-actions { align-items: end; flex-direction: column; gap: 8px; }
  .guide-intro { font-size: 16px; }
  .guide-grid { grid-template-columns: 1fr; gap: 13px; }
  .guide-art { height: 170px; }
  .guide-card h3, .guide-card p { min-height: auto; }
  .guide-disclaimer { text-align: left; line-height: 1.8; }
  .faq-section { margin-top: 45px; }
  .faq-section h3 { font-size: 22px; }
  .closing-section { min-height: 330px; }
  .closing-section h2 { font-size: 31px; }
  .site-footer { padding: 20px 22px; flex-wrap: wrap; gap: 7px 12px; }
  .footer-copy { font-size: 16px; }
  .footer-legal { width: 100%; margin: 5px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .pixel-companion svg { animation: none; }
  .lumi-art svg { animation: none; }
  .cosmic-particles { display: none; }
}
@media print {
  @page { size: auto; margin: 14mm; }
  body { background: #fff; }
  body * { visibility: hidden !important; }
  #chart-reading, #chart-reading * { visibility: visible !important; }
  #chart-reading, #chart-reading[hidden] { position: absolute !important; inset: 0 auto auto 0; display: block !important; width: 100%; margin: 0; padding: 0; border: 0; background: #fff; box-shadow: none; }
  #chart-reading .print-chart-button, #chart-reading a { display: none !important; }
  #chart-reading .reading-header { margin-bottom: 12px; }
  #chart-reading .destiny-story { break-inside: avoid; margin-bottom: 16px; padding: 15px; background: #f7f6f0; }
  #chart-reading .destiny-story h3 { margin: 6px 0; font-size: 21px; }
  #chart-reading .destiny-story-line { margin: 8px 0; font-size: 16px; }
  #chart-reading .destiny-story-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-top: 9px; }
  #chart-reading .destiny-story-grid article { padding: 7px; }
  #chart-reading .destiny-story-grid article > p { font-size: 7px; }
  #chart-reading .destiny-story-evidence, #chart-reading .destiny-story-note { font-size: 7px; }
  #chart-reading .reading-grid { gap: 7px; }
  #chart-reading .reading-card, #chart-reading .dasa-panel { break-inside: avoid; }
  #chart-reading .d1-chart { padding: 12px; }
  #chart-reading .d1-chart-heading, #chart-reading .house-chart-heading { break-after: avoid; }
  #chart-reading .planet-table-wrap { overflow: visible; }
  #chart-reading .planet-table th, #chart-reading .planet-table td { padding: 5px 6px; font-size: 8px; }
  #chart-reading .planet-table tr { break-inside: avoid; }
  #chart-reading .house-chart-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #chart-reading .house-chart-grid li { min-height: 0; break-inside: avoid; padding: 7px; }
  #chart-reading .house-chart-grid li p { font-size: 7.5px; }
  #chart-reading .dasa-periods { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #chart-reading .personal-guide { break-before: page; padding: 0; border: 0; background: #fff; }
  #chart-reading .personal-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  #chart-reading .personal-guide-grid article { break-inside: avoid; padding: 9px; background: #fff; }
  #chart-reading .personal-guide-heading h4 { font-size: 18px; }
  #chart-reading .personal-guide-heading > p:last-child, #chart-reading .personal-guide-grid p, #chart-reading .personal-guide-note { font-size: 8px; }
  #chart-reading .reading-source-credit { font-size: 7px; }
  #chart-reading .planet-readings { break-before: page; padding: 0; border: 0; }
  #chart-reading .calculation-backlog { display: none !important; }
  #chart-reading .planet-reading-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  #chart-reading .planet-reading-grid article { break-inside: avoid; padding: 8px; background: #fff; }
  #chart-reading .planet-reading-grid article > p { font-size: 8px; }
  #chart-reading .planet-reading-grid .planet-reading-evidence { font-size: 7px; }
  #chart-reading .planet-reading-grid .planet-reading-motion { padding: 6px; background: #f5f2e9 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
.source-panel { margin-block: 28px; padding: 24px; border: 1px solid #ded8cc; border-radius: 18px; background: #faf8f2; }
.source-panel p { line-height: 1.8; }
.source-panel select, .source-panel input { max-width: 100%; padding: 10px; margin: 8px 12px 8px 0; }
#cooking-videos li { margin-block: 14px; line-height: 1.6; }
#cooking-videos small { color: #625b50; }



/* Conversation: editorial frame with a quiet violet accent. */
#akasha-conversation { margin:64px auto; padding:40px; background:var(--white); border:1px solid var(--line); border-radius:24px; box-shadow:0 16px 48px rgba(46,39,58,.05); color:#393344; }
#akasha-conversation h2 { margin:0 0 12px; font-family:var(--serif); font-size: 32px; font-weight:500; letter-spacing:-.04em; }
#akasha-conversation > p { max-width:650px; font-size: 16px; line-height:1.8; color:#77717e; margin:0 0 28px; }
#akasha-conversation > label { display:block; font-size: 16px; line-height:1.8; color:#716977; }
#akasha-conversation select { display:block; width:min(100%,360px); margin:8px 0 18px; padding:12px 14px; border:1px solid #dfd9e7; border-radius:12px; background:#faf8fc; color:#4b405a; }
#akasha-conversation > label:has(input) { padding:14px 16px; background:#f6f3f9; border-radius:12px; font-size: 16px; }
#akasha-conversation input[type=checkbox] { accent-color:#76608f; margin-right:7px; }
#akasha-conversation [role=log] { display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-height:160px; max-height:420px; overflow:auto; margin:26px 0; padding:24px; background:#f8f6fa; border:1px solid #eee9f2; border-radius:18px; }
#akasha-conversation [role=log] p { max-width:85%; margin:0; padding:16px 20px; background:white; border:1px solid #e8e2ee; border-radius:16px 16px 16px 4px; color:#51475c; font-size: 16px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
#akasha-conversation [role=log] p.conversation-user { align-self:flex-end; background:#76608f; color:white; border-color:#76608f; border-radius:16px 16px 4px 16px; }
#akasha-conversation form { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:end; }
#akasha-conversation form label { grid-column:1/-1; font-size: 16px; font-weight:600; }
#akasha-conversation textarea { width:100%; resize:vertical; min-height:104px; padding:16px; font:14px/1.8 var(--sans); border:1px solid #dcd4e5; border-radius:14px; background:#fff; color:#393344; }
#akasha-conversation textarea:focus, #akasha-conversation select:focus { outline:2px solid #a48aba; outline-offset:3px; }
#akasha-conversation form button { margin:0; padding:15px 22px; border:0; border-radius:12px; background:#76608f; color:white; font-size: 16px; cursor:pointer; }
#akasha-conversation .conversation-choices { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
#akasha-conversation .conversation-choices button { margin:0; padding:10px 14px; border:1px solid #e2dbe9; border-radius:24px; background:#fff; color:#6b597e; font-size: 16px; cursor:pointer; }
#akasha-conversation .conversation-choices button:hover { background:#f0eaf5; }
#akasha-conversation .conversation-reset { margin:24px 0 16px; padding:0; border:0; background:none; color:#89818f; font-size: 16px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
#akasha-conversation > p:last-child { margin:0; padding-top:16px; border-top:1px solid var(--line); }
#akasha-conversation small { font-size: 16px; line-height:1.8; }
@media(max-width:640px) { #akasha-conversation { padding:24px 18px; margin:36px auto; border-radius:18px; } #akasha-conversation h2 {font-size: 26px;} #akasha-conversation [role=log] {padding:14px;} #akasha-conversation [role=log] p {max-width:95%;padding:12px 14px;} #akasha-conversation form {grid-template-columns:1fr;} #akasha-conversation form button {justify-self:end;} }

#place-lookup-status {font-size: 16px;line-height:1.7;color:#76608f;}
#place-lookup-options {display:flex;flex-wrap:wrap;gap:6px;}
#place-lookup-options button {padding:8px 12px;border:1px solid #ded6e7;border-radius:10px;background:#fff;font-size: 16px;cursor:pointer;}

/* Larger screen typography for comfortable Korean reading. */
@media screen {
 body {font-size: 17px;line-height:1.8;}
 main p, main li {font-size: 17px;line-height:1.85;}
 main small, main label, #place-lookup-status {font-size: 16px;line-height:1.8;}
 input, select, textarea, button {font-size: 16px;}
 #birth-form input, #birth-form select {font-size: 17px;}
 #akasha-conversation > p, #akasha-conversation [role=log] p {font-size: 18px;line-height:1.9;}
 #akasha-conversation > label, #akasha-conversation > label:has(input), #akasha-conversation form label {font-size: 16px;line-height:1.8;}
 #akasha-conversation textarea, #akasha-conversation select {font-size: 18px;line-height:1.8;}
 #akasha-conversation form button, #akasha-conversation .conversation-choices button, #place-lookup-options button {font-size: 16px;}
 #akasha-conversation .conversation-reset, #akasha-conversation small {font-size: 16px;}
}

@media screen { .site-nav {gap:24px;margin-left:32px;flex-wrap:wrap;} .hero-bottom {height:auto;min-height:64px;flex-wrap:wrap;padding-block:12px;} .topic-card h3, .term-card h3 {font-size:21px;line-height:1.5;} .topic-status {white-space:normal;} }

#akasha-conversation {background:#fffdf7;color:#3f4b41;border-color:#deded0;box-shadow:none;}
#akasha-conversation > p {color:#687168;}
#akasha-conversation [role=log] {background:#f3f3eb;border-color:#e1e2d5;}
#akasha-conversation [role=log] p {color:#455344;border-color:#dfe3d5;}
#akasha-conversation [role=log] p.conversation-user, #akasha-conversation form button {background:#526452;border-color:#526452;color:white;}
#akasha-conversation > label:has(input) {background:#f0f1e8;color:#65705e;}
#akasha-conversation textarea {border-color:#d8ddcf;}
#akasha-conversation .conversation-choices button {color:#526452;border-color:#d8ddcf;}
.friend-picker {margin:28px 0;}.friend-picker > p {font-weight:600;color:#526452;}
.friend-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.friend-card {display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 12px;background:#f8f6ef;border:2px solid transparent;border-radius:18px;color:#526452;cursor:pointer;}
.friend-card[aria-pressed=true] {border-color:#75896a;background:#edf1e5;}.friend-card:hover {background:#edf1e5;}.friend-card:focus-visible {outline:3px solid #a38d59;outline-offset:3px;}
.friend-art {position:relative;width:100px;height:108px;display:block;}.friend-art svg {width:96px;height:96px;animation:friend-float 3s ease-in-out infinite;}.friend-card:nth-child(2) svg {animation-delay:-1s;}.friend-card:nth-child(3) svg {animation-delay:-2s;}
.friend-symbol {position:absolute;right:0;top:0;color:#a38d59;font-size:28px;}.friend-card strong {font-size:21px;}.friend-card > span:not(.friend-art) {font-size:16px;line-height:1.6;}.friend-state {color:#6f7d63;font-size:15px;}
@keyframes friend-float {50% {transform:translateY(-6px);}}
@media(max-width:640px){.friend-grid {gap:8px;}.friend-card {padding:18px 6px;}.friend-art {width:66px;height:76px;}.friend-art svg {width:64px;height:64px;}.friend-card > span:not(.friend-art){font-size:15px;}.friend-state {font-size:13px;}}
@media(prefers-reduced-motion:reduce){.friend-art svg {animation:none;}}

.natal-chart-panel{max-width:760px;margin:0 auto 40px;padding:24px;text-align:center}.natal-chart-panel svg{width:100%;height:auto;display:block}.natal-chart-panel p{font-size:16px;line-height:1.7}#natal-wheel{max-width:620px;margin:20px auto}

#chart-guide-badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.chart-guide-badge{padding:12px 20px;border:1px solid var(--border,#c9bedf);border-radius:24px;background:var(--card,#f4eff9);font:inherit;color:inherit;cursor:pointer}#chart-guide-reading{text-align:left;padding:20px;border-radius:18px;background:var(--card,#f4eff9);margin-top:20px}

#divisional-chart-panel{background:var(--paper,#f8f6f0);border:1px solid rgba(45,59,50,.18);border-radius:22px;padding:28px;margin:24px auto;text-align:left}#divisional-chart-panel h3{text-align:center}#divisional-chart-panel>label:not(.consent-field){display:inline-flex;flex-direction:column;gap:8px;margin:12px 16px 16px 0;font-size:16px}#divisional-chart-panel select{padding:12px 16px;border:1px solid rgba(45,59,50,.25);border-radius:12px;background:#fff;color:#2d3b32;font:inherit;min-width:150px}#divisional-output{text-align:center;margin-top:20px}#divisional-output img{border-radius:16px}#divisional-chart-panel .button{background:#2d3b32;color:#f8f6f0;border-radius:12px;padding:14px 22px}#divisional-chart-panel .consent-field{line-height:1.7;font-size:15px}@media(max-width:600px){#divisional-chart-panel{padding:18px;margin:16px 0}#divisional-chart-panel>label:not(.consent-field){display:flex;margin-right:0}#divisional-chart-panel select{width:100%}.natal-chart-panel{padding:16px}#divisional-chart-panel .button{width:100%}}

.chart-guide-badge[aria-pressed='true']{background:#2d3b32;color:#f8f6f0;border-color:#2d3b32}.chart-guide-badge:focus-visible{outline:3px solid #a58a52;outline-offset:3px}

#house-guide-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.house-chart-details{text-align:left;margin:20px 0}.house-chart-details summary{cursor:pointer}

/* Approved lucky pixel companions: crop one shared trio asset per card. */
.friend-art.friend-pixel { width:100%; max-width:150px; height:auto; aspect-ratio:16/27; overflow:hidden; border-radius:12px; background:#fff6df; }
.friend-pixel img,.friend-pixel video { position:absolute; top:0; width:300%; max-width:none; height:100%; object-fit:fill; image-rendering:pixelated; pointer-events:none; }
.friend-pixel-0 img,.friend-pixel-0 video {left:0;}
.friend-pixel-1 img,.friend-pixel-1 video {left:-100%;}
.friend-pixel-2 img,.friend-pixel-2 video {left:-200%;}
.friend-pixel video {opacity:0;}
.friend-pixel.is-playing video {opacity:1;}
.friend-pixel.is-playing img {visibility:hidden;}
@media(max-width:640px){.friend-art.friend-pixel{max-width:104px;}}
@media(prefers-reduced-motion:reduce){.friend-pixel video{display:none;}.friend-pixel.is-playing img{visibility:visible;}}

/* Detailed report keeps narrative readable; source records are optional. */
#ai-interpretation-grid{display:block}#ai-interpretation-grid>article{margin:24px 0;padding:24px;border:1px solid var(--line,#ddd);border-radius:16px}#ai-interpretation-grid p{white-space:pre-line;line-height:1.85}#ai-interpretation-grid h4{margin-top:36px;font-size:1.3rem}#ai-interpretation-grid details{margin-top:16px;font-size:.88rem}#report-history{margin:24px 0}[hidden]{display:none!important}

/* Report files remain accessible before a new birth chart is calculated. */
.report-library { margin: 1.5rem 0; padding: 1rem 1.2rem; border: 1px solid #bcaea04d; border-radius: 16px; }
.report-library-tools { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.report-library p { font-size: .88rem; margin-bottom: 0; }
.report-tool { display: inline-flex; align-items: center; padding: .6rem .9rem; border: 1px solid #9e8778; border-radius: 10px; background: #fffaf3; color: #3f3030; font: inherit; font-size: .88rem; cursor: pointer; }
.report-tool[hidden] { display: none; }
.ai-interpretation-grid > .report-tool { justify-self: start; grid-column: 1 / -1; }
#report-history > details { margin-top: 1rem; padding: 1rem; border: 1px solid #bcaea066; border-radius: 16px; min-width: 0; overflow-wrap: anywhere; }
#report-history > details > summary { cursor: pointer; font-weight: 600; }
#report-history.report-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
#report-history.report-comparison > details { max-height: 75vh; overflow: auto; }
#report-history.report-comparison .ai-interpretation-grid { grid-template-columns: minmax(0,1fr); }
@media(max-width: 720px) { #report-history.report-comparison { grid-template-columns: minmax(0,1fr); } }

/* Akashya mobile night world ------------------------------------------------ */
:root {
  --night-ink: #070811;
  --night-violet: #171126;
  --night-blue: #101a34;
  --starlight: #fff7e8;
  --glass-paper: rgba(255, 252, 245, .94);
}

.mobile-cosmos { display: none; }
.brand-word { font-family: var(--sans); font-weight: 650; letter-spacing: .08em; text-transform: lowercase; }

@media (max-width: 680px) {
  body { overflow-x: clip; background: var(--night-ink); }
  button, .button { min-height: 48px; }
  .site-header {
    position: sticky;
    z-index: 30;
    top: 0;
    width: 100%;
    color: var(--starlight);
    background: rgba(7, 8, 17, .86);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    backdrop-filter: blur(16px);
  }
  .brand { min-height: 48px; }
  .brand-mark { color: #ffd867; filter: drop-shadow(0 0 8px rgba(255, 216, 103, .7)); }
  .header-cta { min-height: 48px; display: inline-flex; align-items: center; color: var(--starlight); border-color: rgba(255,255,255,.22); }
  .header-cta:is(:hover, :focus-visible, :active) { color: #251a19; background: #fff1d6; border-color: #fff1d6; }

  .hero {
    min-height: 780px;
    padding: 58px 20px 24px;
    display: flex;
    flex-direction: column;
    color: var(--starlight);
    background:
      radial-gradient(circle at 78% 20%, rgba(90, 61, 153, .22), transparent 28%),
      radial-gradient(circle at 18% 62%, rgba(24, 79, 112, .18), transparent 34%),
      linear-gradient(180deg, #05060b 0%, var(--night-ink) 55%, var(--night-violet) 100%);
    isolation: isolate;
  }
  .hero-copy { z-index: 5; max-width: 500px; padding-top: 0; }
  .hero .eyebrow { color: #ffc6ec; text-shadow: 0 0 16px rgba(255, 128, 214, .35); }
  .hero h1 { margin: 20px 0 18px; font-size: clamp(43px, 13vw, 61px); line-height: 1.08; letter-spacing: -.065em; }
  .hero-description { color: rgba(255, 247, 232, .78); line-height: 1.75; }
  .hero-actions { display: grid; grid-template-columns: 1fr; align-items: stretch; gap: 12px; margin-top: 24px; }
  .hero-actions .button { width: 100%; min-height: 58px; border-radius: 18px; background: rgba(255, 248, 230, .96); color: #15121f; box-shadow: 0 14px 40px rgba(0,0,0,.28); }
  .hero-actions .text-link { min-height: 48px; display: flex; align-items: center; justify-content: center; color: rgba(255,247,232,.76); }
  .hero-note { max-width: 28rem; margin-top: 15px; color: rgba(255,247,232,.58); line-height: 1.7; }
  .hero-note, .hero-bottom { display: none; }
  .sky-art, .cosmic-particles { display: none; }

  .mobile-cosmos { position: absolute; z-index: 2; inset: 0; display: block; overflow: hidden; pointer-events: none; }
  .living-planet {
    --float-x: 0px;
    --float-y: 0px;
    --float-r: 0deg;
    position: absolute;
    display: block;
    transform: translate3d(var(--float-x), var(--float-y), 0) rotate(var(--float-r));
    border-radius: 52% 48% 43% 57% / 58% 55% 45% 42%;
    filter: saturate(1.08) drop-shadow(0 0 18px var(--planet-glow));
    opacity: .94;
    will-change: transform;
  }
  .living-planet::before,
  .living-planet::after {
    position: absolute;
    top: 49%;
    width: 7%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(26, 22, 48, .8);
    box-shadow: 0 0 7px rgba(255,255,255,.26);
    content: "";
  }
  .living-planet::before { left: 37%; }
  .living-planet::after { right: 37%; }
  .living-planet i,
  .living-planet b { position: absolute; display: block; width: 8%; height: 18%; top: -10%; border-radius: 999px; background: inherit; }
  .living-planet i { left: 37%; transform: rotate(-8deg); }
  .living-planet b { right: 37%; transform: rotate(8deg); }
  .living-planet--near { width: 210px; height: 235px; left: -124px; bottom: 25px; }
  .living-planet--mid { width: 82px; height: 66px; }
  .living-planet--far { width: 39px; height: 32px; opacity: .72; filter: blur(.25px) saturate(1.08) drop-shadow(0 0 10px var(--planet-glow)); }
  .living-planet--gold { --planet-glow: rgba(255, 215, 77, .7); background: linear-gradient(145deg,#fff39a,#ffd84f 52%,#ffad36); }
  .living-planet--cyan { --planet-glow: rgba(55,231,255,.48); right: 18px; bottom: 86px; background: linear-gradient(145deg,#74eee9,#48bfc8 68%,#acdcd2); }
  .living-planet--pink { --planet-glow: rgba(255,132,170,.52); right: 104px; bottom: 22px; width: 104px; height: 83px; background: linear-gradient(145deg,#ff9cb9,#ff9b70 60%,#ffd38a); }
  .living-planet--lime { --planet-glow: rgba(255,151,59,.52); left: 42%; bottom: 116px; width: 61px; height: 49px; background: linear-gradient(145deg,#ffd36f,#ff9b43 63%,#ef7252); }
  .living-planet--violet { --planet-glow: rgba(225,112,72,.46); right: 10px; bottom: 190px; background: linear-gradient(145deg,#ffbc77,#d97957 65%,#a94e45); }
  .living-planet--blue { --planet-glow: rgba(255,173,74,.4); left: 60%; bottom: 210px; width: 27px; height: 24px; background: linear-gradient(145deg,#ffe09a,#e99a45); }
  .living-planet--magenta { --planet-glow: rgba(255, 92, 151, .4); right: 45%; bottom: 234px; width: 23px; height: 19px; opacity: .46; background: linear-gradient(145deg,#ffafc5,#e96d91 62%,#b94d72); }
  .living-planet--amber { --planet-glow: rgba(255, 159, 51, .42); left: 23%; bottom: 264px; width: 16px; height: 14px; opacity: .38; background: linear-gradient(145deg,#ffe274,#ff9e32 64%,#ff6b55); }
  .living-planet--mint { --planet-glow: rgba(207, 105, 53, .34); right: 31%; bottom: 176px; width: 13px; height: 12px; opacity: .34; background: linear-gradient(145deg,#f4b070,#c86c3e 62%,#814238); }

  .intro-strip, .reading-topics, .term-section, .chart-section, .guide-section { background: var(--night-ink); color: var(--starlight); }
  .difference-section, .pillars-section { background: var(--night-violet); color: var(--starlight); }
  .chart-section { scroll-margin-top: 66px; background: var(--night-ink); }
  .birth-form, .result-preview, .reading-section, .report-library { border-radius: 22px; }
  :is(.reading-topics, .difference-section, .term-section, .chart-section, .pillars-section, .guide-section) :is(h2, h3, strong) { color: #fff3dd; }
  :is(.reading-topics, .difference-section, .term-section, .chart-section, .pillars-section, .guide-section) p { color: rgba(255,247,232,.68); }
  .intro-strip { border-color: rgba(255,255,255,.08); }
  .intro-strip small, .intro-strip strong { color: rgba(255,247,232,.72); }
  .topic-card, .lumi-question, .difference-card, .difference-aside, .term-card, .pillar-card, .guide-card, .faq-section details {
    border-color: rgba(255,255,255,.1);
    background: rgba(255,255,255,.045);
  }
  .topic-card-upcoming, .difference-card-highlight { background: rgba(255,153,74,.06); }
  .topic-card > a, .topic-coming-soon, .pillar-card a, .guide-card a, .faq-section summary { color: #ffd1a0; }
  .term-symbol { background: rgba(255,255,255,.07); }

  .birth-form {
    background: rgba(255, 255, 255, .065);
    color: var(--starlight);
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.28);
  }
  .birth-form :is(input, select, details, .birth-period-toggle) { background: rgba(255,255,255,.07); color: var(--starlight); border-color: rgba(255,255,255,.14); }
  .birth-form .birth-time-inputs > input[type="number"] { background: rgba(255,255,255,.07); color: var(--starlight); border-color: rgba(255,255,255,.14); }
  .birth-form input::placeholder { color: rgba(255,247,232,.42); }
  .birth-form select option { color: #251a19; background: #fff8eb; }
  .birth-form small, .birth-form label, .birth-form legend { color: rgba(255,247,232,.68); }
  .birth-period-option { color: rgba(255,247,232,.68); background: transparent; }
  .birth-period-option.is-selected { color: #241817; background: #ffc16f; }
  .submit-button { background: #ffad58; color: #241817; }

  .result-preview {
    background: rgba(255, 255, 255, .055);
    color: var(--starlight);
    border: 1px solid rgba(255,255,255,.1);
  }
  .result-preview > p { color: rgba(255,247,232,.62); }
  .reading-section { background: #fffefa; color: #3f4b41; border-color: #e9e5dc; }
  .reading-section :is(h2, h3, h4, p, li) { color: inherit; }
  .chart-guide-badge:not([aria-pressed='true']) { background: #f4eff9; color: #526452; border-color: #c9bedf; }
  #chart-guide-reading { background: #f4eff9; color: #3f4b41; }
  .preview-label { color: rgba(255,247,232,.56); }
  .preview-status { color: #ffd39a; background: rgba(255,153,74,.1); border: 1px solid rgba(255,190,110,.14); }
  .preview-status i { background: #ffad58; box-shadow: 0 0 10px rgba(255,173,88,.72); }
  .preview-orbit { border-color: rgba(255,195,116,.24); }
  .preview-wheel { background: radial-gradient(circle, rgba(255,173,88,.16), rgba(255,173,88,.035) 62%, transparent 63%); border-color: rgba(255,195,116,.34); box-shadow: 0 0 44px rgba(255,127,54,.1); }
  .preview-wheel::before, .preview-wheel::after { border-color: rgba(255,195,116,.18); }
  .preview-wheel span, .preview-star { color: #ffc071; text-shadow: 0 0 12px rgba(255,162,78,.5); }
  .preview-legend { color: rgba(255,247,232,.57); }
  .calculation-progress { color: rgba(255,247,232,.72); background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); }
  .preview-rule { border-color: rgba(255,255,255,.1); }

  .guide-card-body, .faq-section { color: var(--starlight); }
  .faq-section details { padding-inline: 14px; border-radius: 12px; margin-bottom: 8px; }
  .guide-disclaimer, .term-note, .gentle-note { color: rgba(255,247,232,.58); }
  #akasha-conversation { background: rgba(255,255,255,.05); color: var(--starlight); border-color: rgba(255,255,255,.1); }

  #birth-form :is(input, select, button, summary) { min-height: 48px; }
  #birth-form button[type="submit"] { min-height: 58px; width: 100%; border-radius: 14px; }
  .form-fields { grid-template-columns: 1fr; }
  .birth-time-inputs { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9px; }
  .birth-time-inputs > :is(input, button) { min-width: 0; width: 100%; }
  .birth-time-inputs > span { display: none; }
  .birth-period-toggle { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; height: auto; }
  .birth-period-toggle button { min-width: 0; width: 100%; }
  .consent-field { align-items: flex-start; gap: 10px; }
  .consent-field input[type="checkbox"] { flex: 0 0 24px; width: 24px; height: 24px; margin-top: 2px; }
  .lumi-draw-button, .topic-card a, .pillar-card a, .guide-card a { min-height: 48px; display: inline-flex; align-items: center; }
  .guide-header { min-width: 0; flex-wrap: wrap; }
  .guide-header-actions { width: 100%; min-width: 0; align-items: stretch; }
  .guide-header-actions > * { width: 100%; max-width: 100%; }

  .closing-section {
    min-height: 390px;
    background: var(--night-violet);
    background-image:
      radial-gradient(circle at 72% 30%, rgba(255, 143, 70, .15), transparent 24%),
      linear-gradient(180deg, var(--night-violet), var(--night-ink));
    border-top: 1px solid rgba(255,255,255,.07);
  }
  .closing-star, .closing-section .eyebrow { color: #ffc06d; text-shadow: 0 0 16px rgba(255,151,65,.34); }
  .closing-section > p:not(.eyebrow) { color: rgba(255,247,232,.68); }
  .closing-section .button-light { min-height: 52px; border-radius: 14px; background: #fff1d6; color: #251a19; }

  #vedic-features {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 52px 20px 76px;
    color: var(--starlight);
    background: var(--night-ink);
    border: 0;
    border-radius: 0;
  }
  #vedic-features h2, #vedic-features h3 { color: #fff4dc; }
  #vedic-features p, #vedic-features label, #vedic-features small { color: rgba(255,247,232,.7); }
  #vedic-features > p:first-of-type { margin-bottom: 26px; }
  #vedic-features :is(input, select, details) {
    background: rgba(255, 255, 255, .06);
    color: var(--starlight);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
  }
  #vedic-features :is(input, select) { min-height: 48px; padding: 10px 12px; }
  #vedic-features select option { color: #251a19; background: #fff8eb; }
  #vedic-features details { margin-block: 18px; padding: 16px; }
  #vedic-features summary { min-height: 48px; display: flex; align-items: center; color: #ffd39a; cursor: pointer; }
  #vedic-features .feature-group { margin-block: 24px; padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.035); }
  #vedic-features .feature-group .button { margin: 6px 8px 0 0; border: 1px solid rgba(255,180,103,.3); border-radius: 999px; background: rgba(255,153,74,.13); color: #ffd3a1; }
  #vedic-features .consent-field input[type="checkbox"] { accent-color: #ff9d52; }
}

@media (max-width: 340px) {
  .site-header { padding-inline: 14px; }
  .header-cta { padding-inline: 10px; font-size: 14px; }
  .hero { padding-inline: 16px; }
  .birth-date-fields { grid-template-columns: 1fr 1fr; }
  .birth-date-fields .birth-date-part:first-child { grid-column: 1 / -1; }
  .living-planet--near { left: -148px; }
}

@media (prefers-reduced-motion: reduce) {
  .living-planet { transform: none !important; will-change: auto; }
}
.record-entry{margin-top:1.5rem;max-width:42rem}.record-conversation{display:flex;align-items:flex-end;gap:.85rem;margin-bottom:1rem}.record-lumi{display:flex;flex:0 0 92px;flex-direction:column;align-items:center;animation:record-lumi-float 2.7s ease-in-out infinite}.record-lumi img{width:92px;height:92px;object-fit:cover;object-position:center;border-radius:50%;filter:drop-shadow(0 0 14px rgba(255,152,86,.28));mix-blend-mode:screen}.record-lumi .lumi-name{margin-top:-7px;color:#ffd1a0;font-size:.72rem;font-weight:800;letter-spacing:.1em}.record-bubble{position:relative;min-width:0;max-width:31rem;padding:1rem 1.15rem;border:1px solid rgba(255,209,160,.26);border-radius:20px 20px 20px 5px;background:rgba(15,13,29,.78);box-shadow:0 14px 38px rgba(0,0,0,.2);backdrop-filter:blur(12px)}.record-bubble::before{content:"";position:absolute;left:-8px;bottom:10px;width:15px;height:15px;border-left:1px solid rgba(255,209,160,.26);border-bottom:1px solid rgba(255,209,160,.26);background:rgba(15,13,29,.9);transform:rotate(45deg)}.record-speaker{display:block;margin-bottom:.3rem;color:#ff9856;font-size:.72rem;font-weight:800;letter-spacing:.12em}.record-question{margin:0;color:#fff5e8;font-size:1.08rem;font-weight:700;line-height:1.55}.record-question.is-entering{animation:record-bubble-in .42s cubic-bezier(.2,.8,.2,1) both}.record-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.record-options button{min-height:48px;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(9,10,20,.5);color:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.record-options button:hover{transform:translateY(-2px);border-color:rgba(255,152,86,.72)}.record-options button[aria-pressed="true"]{border-color:#ff9856;background:rgba(255,152,86,.16)}.record-answer-form{margin-top:1rem}.record-answer-form label{display:block;margin-bottom:.45rem}.record-answer-form textarea{box-sizing:border-box;width:100%;padding:.8rem;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.94);color:#25212b}.record-answer-form .button{margin-top:.65rem}.record-progress{font-size:.9rem;opacity:.76}.record-entry #record-continue{display:inline-flex}.record-entry #record-continue[hidden],.record-answer-form[hidden]{display:none}@keyframes record-lumi-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes record-bubble-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:680px){.record-conversation{align-items:flex-end;gap:.55rem}.record-lumi{flex-basis:72px}.record-lumi img{width:72px;height:72px}.record-bubble{padding:.85rem 1rem}.record-options{grid-template-columns:1fr}.record-options button{width:100%}}@media(prefers-reduced-motion:reduce){.record-lumi,.record-question.is-entering{animation:none}}
.record-typing{display:inline-flex;align-items:center;gap:.32rem;min-height:1.55em}.record-typing i{width:.46rem;height:.46rem;border-radius:50%;background:#ff9856;box-shadow:0 0 9px rgba(255,152,86,.7);animation:record-typing-pop .72s ease-in-out infinite}.record-typing i:nth-child(2){animation-delay:.12s}.record-typing i:nth-child(3){animation-delay:.24s}@keyframes record-typing-pop{0%,60%,100%{opacity:.28;transform:translateY(0) scale(.72)}30%{opacity:1;transform:translateY(-4px) scale(1)}}@media(prefers-reduced-motion:reduce){.record-typing i{animation:none;opacity:.7}}
.record-entry [hidden]{display:none!important}
.record-offer{margin-top:24px;padding:24px;border:1px solid rgba(121,83,159,.28);border-radius:24px;background:linear-gradient(145deg,#f7f0ff,#fffaf4);color:#332940}
.record-offer-eyebrow{margin:0 0 8px;font-size:.78rem;letter-spacing:.08em;color:#775d8f}
.record-offer h4{margin:0 0 16px;font-size:clamp(1.35rem,3vw,2rem);color:#332940}
.record-offer-primary{width:100%;font-size:1rem}
.record-bundle-offer{margin-top:14px;border-top:1px solid rgba(121,83,159,.18);padding-top:14px}
.record-bundle-offer summary{cursor:pointer;font-weight:700;color:#5e4774}
.record-bundle-offer p{color:#5c5363}
.record-offer-bundle{width:100%;border:1px solid #82649d;background:#fff;color:#4b365e}
.record-guided-preview>.preview-top,.record-guided-preview>.preview-sky,.record-guided-preview>h3,.record-guided-preview>p,.record-guided-preview>.calculation-progress,.record-guided-preview>.chart-results,.record-guided-preview>.preview-rule,.record-guided-preview>.preview-legend{display:none!important}.record-guided-preview{padding:12px!important;background:#070711!important}.record-guided-preview .record-visual-stage{margin:0;min-height:520px}
.record-guided-reading .ai-interpretation>.life-manual-heading,.record-guided-reading .ai-interpretation>.ai-privacy-note{display:none!important}.record-guided-reading .ai-interpretation{margin-top:0;border:0;background:#fffefa}
