/* Cosmic V3 — shared actions and member-page geometry. */
:root{--ui-content:1176px;--ui-title-accent:#d6bfe8;--ui-reading-text:#edeaf0;--ui-reading-title:46px;--ui-reading-advice:23px;--ui-title:42px;--ui-title-mobile:36px;--ui-action-height:44px;--ui-action-radius:999px;--ui-action-font:13px;--ui-focus:#d2b4e7;--ui-motion:280ms;--ui-ease:cubic-bezier(.22,1,.36,1);--ui-ink:#18121f;--ui-paper:#f5f0fa;--ui-muted:#c3b2d0}
.member-home :is(.app-main,.settings-main,.room-main){max-width:var(--ui-content)}
.member-home :is(.app-heading,.settings-heading){padding:32px 0 28px}
.member-home :is(.app-heading,.settings-heading) h1{font:400 var(--ui-title)/1.15 var(--font-heading);letter-spacing:-1px;margin:10px 0 0}
.member-home :is(.member-nav,.member-footer){max-width:var(--ui-content)}
:is(.member-home,.onboarding) :is(.pill,.dashboard-cta,.room-button,.setting-buttons button){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-action-height);padding:12px 23px;border:1px solid transparent;border-radius:var(--ui-action-radius);background:var(--ui-paper);color:var(--ui-ink);font:500 var(--ui-action-font)/1.4 var(--font-body);text-decoration:none;cursor:pointer;transition:background var(--ui-motion) var(--ui-ease),color var(--ui-motion) var(--ui-ease),border-color var(--ui-motion) var(--ui-ease),box-shadow var(--ui-motion) var(--ui-ease);transform:none}
:is(.member-home,.onboarding) :is(.pill,.dashboard-cta,.room-button,.setting-buttons button):hover{background:#e9dff1;box-shadow:0 3px 18px #c4a4db10;transform:none}
:is(.member-home,.onboarding) :is(.pill,.dashboard-cta,.room-button,.setting-buttons button):active{background:#dccde7}
:is(.text-button,.app-link,.moon-explore,.setting-buttons button:first-child){display:inline-flex;align-items:center;justify-content:center;min-height:var(--ui-action-height);padding:8px 2px;background:transparent;color:var(--ui-muted);font:var(--ui-action-font)/1.4 var(--font-body);text-decoration:none;border:0;box-shadow:none;cursor:pointer;transition:color var(--ui-motion),background var(--ui-motion)}
:is(.text-button,.app-link,.moon-explore,.setting-buttons button:first-child):hover{color:#fff;background:transparent;box-shadow:none}
:is(.pill,.dashboard-cta,.room-button,.text-button,.app-link,.moon-explore,.setting-buttons button):focus-visible{outline:2px solid var(--ui-focus);outline-offset:4px}
:is(button,.pill)[disabled],:is(button,.pill)[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}
:is(button,.pill)[aria-busy=true]{cursor:progress}
.google-signin.pill{background:transparent;border-color:#ffffff2b;color:#efe7f5}.google-signin.pill:hover{background:#ffffff07}
.setting-buttons button:first-child{padding-inline:18px}
.moon-dialog.cosmic-modal{background:#000}.moon-dialog-film:after{background:linear-gradient(transparent,#000)}
.moon-dialog-tabs button,.life-tabs button{min-height:40px}
.moon-dialog-close{width:40px;height:40px}.moon-dialog-close span:before,.moon-dialog-close span:after{left:12px;top:19px}
@media(max-width:600px){.member-home :is(.app-heading,.settings-heading){padding:24px 0}.member-home :is(.app-heading,.settings-heading) h1{font-size:var(--ui-title-mobile)}.member-home .app-heading{gap:16px}}
@media(prefers-reduced-motion:reduce){:is(.pill,.dashboard-cta,.room-button,.text-button,.app-link,.moon-explore,.setting-buttons button){transition:none}}

/* Reading text stays neutral and bright; lavender is an accent. */
.moon-card .moon-reading p,.moon-dialog p,.moon-dialog-reading p,.moon-facts p{color:#e0dfe3}
.moon-card .moon-reading h3,.moon-dialog h2,.moon-dialog h3,.moon-facts h4{color:#f5f3f7}
.moon-card #moon-light,.moon-card .moon-sign,.moon-dialog #moon-dialog-meta,.moon-dialog #moon-explanation,.moon-dialog .moon-panel-note{color:#c8c6cd}
.moon-dialog .moon-source,.moon-photo figcaption,.moon-film-caption small{color:#aaa7af}
.moon-dialog .moon-phase-guide figcaption{color:#dedbe2}
.moon-dialog-tabs button{color:#cbc7d0}.moon-dialog-tabs button[aria-selected=true]{color:#fff}
.moon-dialog .moon-dialog-eyebrow{color:#bcb7c3}
.moon-dialog-reading{background:linear-gradient(105deg,rgba(139,103,169,.095) 0%,rgba(105,79,128,.045) 48%,rgba(164,137,180,.015) 100%);border-color:rgba(201,177,219,.12);box-shadow:inset 0 1px 0 rgba(237,220,250,.025)}
.personal-dashboard .day-highlight{border-bottom-color:transparent;background-clip:padding-box}
/* A reserved scrollbar track keeps the member frame still when content opens. */
html{scrollbar-gutter:stable}

/* A reserved eyebrow line aligns profile headings with the daily pages. */
.member-home .settings-heading::before{content:"";display:block;height:16px}
.member-home .app-heading .profile-breadcrumb{display:block;font:11px/16px var(--font-body);color:var(--ui-muted);margin:0}

.member-home .app-heading .profile-breadcrumb{padding:0;border:0;width:fit-content}
.member-home :is(.app-heading,.settings-heading,.moi-hero) h1 em{font-weight:400;background:linear-gradient(135deg,#fff 30%,var(--accent));background-clip:text;-webkit-background-clip:text;color:transparent}
.member-home .app-heading>div>p{font:14px/1.7 var(--font-body);color:#c8c2ce;margin:10px 0 0}

/* One black information-card treatment for Moon, horoscope and natal readings. */
dialog.cosmic-modal{background:#000;color:#f5f3f7;border:1px solid #dfd1ed28;box-shadow:0 40px 140px #000b,0 0 0 1px #ffffff04;transition:opacity var(--modal-duration) var(--modal-ease),transform var(--modal-duration) var(--modal-ease)}
dialog.cosmic-modal::backdrop{transition:background var(--modal-duration),backdrop-filter var(--modal-duration)}
dialog.cosmic-modal .moon-dialog-close:hover{transform:none;background:#29222dcc}
.reading-dialog .reader-header{padding:var(--modal-padding);padding-right:64px}
.reading-dialog .reader-header h2,.moon-dialog h2{font:400 36px/1.12 var(--font-heading);letter-spacing:-.6px}
.reading-dialog .reader-kicker{font:10px/1.6 var(--font-body);letter-spacing:1.4px;color:#bcb7c3;margin-bottom:12px}
.reading-dialog .reader-tabs{justify-content:center;flex-basis:52px;padding:5px var(--modal-padding);gap:8px;border-bottom:1px solid #ffffff0e}
.reading-dialog .reader-tabs button{font-size:12px;padding:8px 20px}
.reading-dialog .reader-content{padding:24px var(--modal-padding)}
.reading-dialog .reader-copy,.moon-dialog-reading{padding:19px 22px;border:1px solid rgba(201,177,219,.12);border-radius:14px;background:linear-gradient(105deg,rgba(139,103,169,.095),rgba(105,79,128,.045) 48%,rgba(164,137,180,.015));box-shadow:inset 0 1px 0 rgba(237,220,250,.025)}
.reading-dialog .reader-copy .reader-lead{font-size:26px;line-height:1.4;margin-bottom:18px}
.reading-dialog .reader-copy .reader-prose{font-size:16px;line-height:1.8;color:#e0dfe3}
@media(max-width:600px){.reading-dialog .reader-header h2,.moon-dialog h2{font-size:33px}.reading-dialog .reader-tabs{flex-basis:48px;padding-inline:14px;gap:2px}.reading-dialog .reader-tabs button{padding:8px 12px;font-size:11px}.reading-dialog .reader-content{padding:22px var(--modal-padding)}.reading-dialog .reader-copy,.moon-dialog-reading{padding:17px}.reading-dialog .reader-copy .reader-lead{font-size:24px}.reading-dialog .reader-copy .reader-prose{font-size:15px;line-height:1.75}}
@media(max-height:560px){.reading-dialog .reader-header{padding-block:18px}.reading-dialog .reader-header h2,.moon-dialog h2{font-size:28px}.reading-dialog .reader-tabs{flex-basis:42px}.reading-dialog .reader-content{padding:14px var(--modal-padding)}.reading-dialog .reader-copy,.moon-dialog-reading{padding:12px 16px}.reading-dialog .reader-copy .reader-lead{font-size:22px;margin-bottom:12px}.reading-dialog .reader-copy .reader-prose{font-size:14px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){dialog.cosmic-modal,dialog.cosmic-modal::backdrop{transition:none}}

/* Clear daily navigation, within the shared frame. */
.identity-disclosure{color:#e2d5ed;text-decoration:underline;text-underline-offset:3px}
.daily-domain-link{display:block;width:fit-content;margin:10px 0 18px;color:#e2d5ed;font:13px/1.6 var(--font-body);text-underline-offset:4px}
#fil-du-jour,#domaines{scroll-margin-top:28px}
.planet-section .planet-hint{max-width:360px;text-align:right;color:#c6becd}
@media(max-width:600px){.planet-section .section-heading{align-items:flex-start;flex-direction:column}.planet-section .planet-hint{text-align:left;max-width:none}}
#fil-du-jour:focus{outline:none}
.planet-visual{display:flex;align-items:center;justify-content:center;width:76px;height:44px;flex:none;transition:transform 300ms var(--ui-ease)}
.planet-image{display:block;width:42px;height:42px;object-fit:contain;background:none;border:0;box-shadow:none}
.planet-image-ringed{width:72px}
.planet-choice:hover .planet-visual{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.planet-visual{transition:none}.planet-choice:hover .planet-visual{transform:none}}

/* Useful labels and shared navigation keep comfortable reading and touch sizes. */
.member-nav nav a,.member-nav .profile-link{display:inline-flex;align-items:center;min-height:44px}
.member-home .member-nav .nav-logo{font-size:24px;white-space:nowrap}
@media(max-width:700px){.member-home .member-nav .nav-logo{font-size:22px}}
.moon-card #moon-light,.moon-card .moon-sign,.planet-section .planet-hint{font-size:13px;line-height:1.6}
.moon-card .moon-reading p{font-size:14px;line-height:1.75}
.planet-choice .planet-sign{font-size:13px;line-height:1.5}
.moon-dialog-tabs button,.life-tabs button{min-height:44px}
.reading-dialog .reader-tabs button{min-height:44px;font-size:13px}
@media(max-width:600px){.reading-dialog .reader-tabs button{padding-inline:10px;font-size:12px}.member-nav nav{column-gap:18px}}
.moon-photo-notice{display:flex;align-items:center;justify-content:center;width:180px;height:180px;padding:22px;box-sizing:border-box;font:13px/1.7 var(--font-body);color:#c8c2ce}
.moon-photo figcaption{width:180px;min-height:34px;font-size:11px;line-height:1.5}
.planet-choice:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-4px}
.moon-dialog-close{width:44px;height:44px}
.moon-dialog-close span:before,.moon-dialog-close span:after{left:14px;top:21px}
/* Short screens keep the same frame, with an animation view and semantic pages. */
.moon-page-controls{grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;font:12px/1.5 var(--font-body);color:#c8bfd1}
.moon-page-controls button{min-height:44px;padding:10px 14px;border:0;border-radius:999px;background:#ffffff05;color:#f3edf7;font:13px/1.4 var(--font-body);cursor:pointer}
.moon-compact .moon-dialog-content{grid-template-rows:minmax(0,1fr) auto}
.moon-compact .moon-dialog-tabs{margin-top:58px;padding-inline:12px;flex-basis:48px}
.moon-compact .moon-dialog-tabs button{padding-inline:10px;font-size:12px}
.moon-compact .moon-animation-panel .moon-dialog-film{height:100%;width:100%;border-radius:0}
.moon-compact .moon-animation-panel video{width:100%;height:100%;object-fit:contain}
.moon-compact .moon-film-caption{inset:auto 0 6px;font-size:12px}
.moon-compact .moon-film-caption button{min-height:44px;font-size:12px}
.moon-compact .moon-facts p,.moon-compact .moon-dialog-reading p{font-size:14px;line-height:1.7}
.moon-compact .moon-dialog-content{padding:16px}
.moon-compact .moon-dialog-current{margin-bottom:12px}
.moon-compact h2{font-size:30px;margin:6px 0}
.moon-compact .moon-dialog-reading{padding:14px;margin-bottom:12px}
.moon-compact .moon-dialog-reading h3{font-size:24px}
@media(max-height:440px){.moon-compact .moon-dialog-tabs{margin-top:8px;margin-right:66px}.moon-compact .moon-dialog-content{padding-block:12px}.moon-compact .moon-dialog-current{margin-bottom:12px}}

/* One visual rhythm across the member dashboard, daily reading and birth portrait. */
:root{--ui-section-gap:32px;--ui-card-gap:20px;--ui-overview-min:544px}
.personal-dashboard{gap:var(--ui-card-gap);grid-template-areas:'identity reading moon'}
.personal-dashboard .birth-identity{grid-area:identity;gap:28px}
.personal-dashboard .day-highlight{grid-area:reading}
.personal-dashboard .moon-card{grid-area:moon}
.personal-dashboard .identity-items{flex:0;justify-content:flex-start;gap:24px}
.personal-dashboard .identity-item{padding:0}
.personal-dashboard .identity-item summary{gap:6px}
.planet-section{margin-top:var(--ui-section-gap)}
.personal-dashboard .day-highlight h2{margin-top:28px}
.personal-dashboard .day-highlight p{font-size:16px;line-height:1.8;color:#e1dae7}
.personal-dashboard .moon-reading{border-top:0;padding-top:0;margin-top:18px}
.personal-dashboard .moon-explore{margin-top:16px}
:is(.life-tabs button,.natal-picker button,button.portrait-anchor){transition:background var(--ui-motion) var(--ui-ease),border-color var(--ui-motion) var(--ui-ease),color var(--ui-motion) var(--ui-ease)}
:is(.life-tabs button,.natal-picker button)[aria-pressed=true]{color:#fff;border-color:#d2b4e73d;background-color:#b594cf18}
@media(min-width:1051px){
 .personal-dashboard,.room-horoscope .horoscope-explore{min-height:var(--ui-overview-min)}
 .room-horoscope .horoscope-explore{grid-template-rows:auto minmax(min-content,1fr)}
 .room-horoscope .horoscope-reading{padding:28px 32px 16px}
 .room-horoscope .horoscope-reading h3{margin:16px 0 18px}
 .personal-dashboard{grid-template-columns:.9fr 1.45fr 1.05fr}
 .personal-dashboard .moon-card{padding:22px}
 .personal-dashboard .moon-card-heading>span:first-child{font-size:23px}
 .personal-dashboard .moon-photo{margin:4px auto 6px}
 .personal-dashboard .moon-photo img,.personal-dashboard .moon-photo-notice{width:120px;height:120px}
 .personal-dashboard .moon-photo figcaption{width:180px}
 .personal-dashboard .moon-card h2{font-size:28px;margin:6px 0}
 .personal-dashboard .moon-card .lunar-track{margin-top:10px}
 .personal-dashboard .moon-reading{margin-top:12px}
 .personal-dashboard .moon-reading h3{margin-bottom:8px}
 .personal-dashboard .moon-reading p{font-size:14px;line-height:1.65}
 .personal-dashboard .moon-explore{margin-top:8px}
 .personal-dashboard .day-highlight h2{margin:22px 0 20px}
 .personal-dashboard .dashboard-cta{margin-top:24px}
}
@media(min-width:601px) and (max-width:1050px){.personal-dashboard{grid-template-areas:'identity reading' 'moon moon'}}
@media(max-width:600px){.personal-dashboard{gap:16px;grid-template-areas:'reading' 'identity' 'moon'}.personal-dashboard .day-highlight h2{margin-top:24px}.personal-dashboard .identity-items{gap:18px}}
@media(prefers-reduced-motion:reduce){:is(.life-tabs button,.natal-picker button,button.portrait-anchor){transition:none}}
/* Member audit repairs: readable shared readers without enlarging their frame. */
.reading-dialog .reader-header{padding:24px 28px 18px;padding-right:76px}
.reading-dialog .reader-header h2{font-size:34px;line-height:1.12;margin:0}
.reading-dialog .reader-kicker{font-size:12px;line-height:1.5;letter-spacing:1px;margin:0 0 10px}
.reading-dialog .reader-tabs{display:flex;flex-wrap:wrap;align-content:start;justify-content:flex-start;flex:0 0 auto;gap:2px 6px;padding:0 28px 10px;border:0}
.reading-dialog .reader-tabs button{font-size:14px;line-height:1.3;min-height:44px;padding:8px 12px;white-space:normal}
.reading-dialog .reader-content{padding:10px 28px 22px}
.reading-dialog .reader-copy{padding:18px 20px;margin:0}
.reading-dialog .reader-copy .reader-prose{font:400 17px/1.65 var(--font-body);color:#edeaf0;max-width:65ch;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.reading-dialog .reader-controls{padding-top:12px;font-size:13px}
@media(max-width:600px){
 .reading-dialog .reader-header{padding:18px 18px 12px;padding-right:64px}
 .reading-dialog .reader-header h2{font-size:28px;line-height:1.1}
 .reading-dialog .reader-kicker{font-size:12px;letter-spacing:.3px;margin-bottom:8px}
 .reading-dialog .reader-tabs{padding:0 14px 8px;gap:0 3px}
 .reading-dialog .reader-tabs button{font-size:13px;padding:8px 10px}
 .reading-dialog .reader-content{padding:8px 14px 14px}
 .reading-dialog .reader-copy{padding:14px 12px}
 .reading-dialog .reader-copy .reader-prose{font-size:16px;line-height:1.6}
 .reading-dialog .reader-controls{padding-top:8px}
}
@media(max-height:560px){
 .reading-dialog .reader-header{padding-top:12px;padding-bottom:8px}
 .reading-dialog .reader-header h2{font-size:25px}
 .reading-dialog .reader-kicker{margin-bottom:4px}
 .reading-dialog .reader-content{padding-top:4px;padding-bottom:8px}
 .reading-dialog .reader-copy{padding:10px 12px}
 .reading-dialog .reader-copy .reader-prose{font-size:16px;line-height:1.5}
}
/* Unavailable data has its own compact state, not empty reading slots. */
.room-horoscope .horoscope-explore.is-unavailable{display:block;min-height:0}
.room-horoscope .horoscope-explore.is-unavailable .horoscope-selector{display:none}
.room-horoscope .horoscope-reading.is-unavailable{height:auto;min-height:0;padding:28px}
.horoscope-reading.is-unavailable .domain-guidance,.horoscope-reading.is-unavailable #domain-deepen,.horoscope-reading.is-unavailable #domain-label{display:none}
.room-horoscope .horoscope-reading.is-unavailable h3{margin:0 0 16px}
.horoscope-reading.is-unavailable .domain-controls{margin-top:18px}
.horoscope-reading.is-unavailable .domain-controls .app-link{font-size:14px;text-decoration:underline}
.moon-card.is-unavailable{justify-content:center}
.moon-card.is-unavailable #moon-explore,.moon-card.is-unavailable .lunar-track{display:none}
.moon-card.is-unavailable #moon-retry{font-size:14px;text-decoration:underline;margin-top:12px}
:is(.room-aujourd-hui,.room-horoscope,.room-theme-natal) .app-kicker{font-size:12px;line-height:1.5;letter-spacing:1px}
:is(.room-aujourd-hui,.room-horoscope) .app-date span,:is(.room-aujourd-hui,.room-horoscope) .app-date small{font-size:12px;line-height:1.6}
.room-aujourd-hui .identity-intro>a,.room-aujourd-hui .identity-explanation>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.room-aujourd-hui .identity-caption,.room-aujourd-hui .identity-explanation p{font-size:14px;line-height:1.6}
.room-aujourd-hui .identity-label{font-size:14px;line-height:1.6}
.room-horoscope .daily-domain-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin:4px 0 12px}
.room-theme-natal .app-heading .profile-breadcrumb{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.member-home .moon-photo figcaption{font-size:12px;letter-spacing:0}
@media(max-width:600px){.settings-main .profile-theme-entry{gap:14px;padding:24px}.settings-main .profile-theme-intro p{margin-bottom:18px;line-height:1.7}.settings-main .profile-theme-entry h2{font-size:30px}}
@media(max-width:380px){.room-horoscope .app-heading{display:block}.room-horoscope .app-date{text-align:left;margin-top:12px}.room-horoscope .app-date small{display:none}}
#settings-dialog .format-note,#settings-dialog .place-attribution{font-size:12px}
#settings-dialog .unknown-setting,#settings-dialog details,#settings-dialog #edit-label{font-size:14px;line-height:1.6}
#settings-dialog .unknown-setting,#settings-dialog summary{min-height:44px;align-items:center}
#settings-dialog summary{display:flex}
.saved-confirm.cosmic-modal{height:auto;max-height:calc(100dvh - 24px);width:min(480px,calc(100vw - 24px));padding:26px;background:#060509;color:#eee8f3}
.saved-confirm h2{font:400 30px/1.15 var(--font-heading);margin:0 0 16px}
.saved-confirm p{font:16px/1.7 var(--font-body);margin:0 0 24px}
.saved-confirm .saved-confirm-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.saved-confirm::backdrop{background:#06050aaa;backdrop-filter:blur(8px)}

/* Readable secondary information across the member pages. */
.saved-card .app-kicker{font-size:12px;line-height:1.5}.saved-remove{font-size:14px;min-height:44px}.room-theme-natal .natal-footnote .text-button,.room-theme-natal .chart-hint{font-size:14px}.room-theme-natal .facet-description{font-size:16px;line-height:1.65}

.room-saved-readings .app-kicker{font-size:12px;line-height:1.5}.room-theme-natal .portrait-anchor span,.room-theme-natal .portrait-anchor small{font-size:13px;line-height:1.45}
