.launchMembership .membershipRegularPrice { margin: 18px 0 4px; color: #d9c7a9; font-size: 15px; }
.launchMembership .membershipOfferDetail { font-weight: 700; line-height: 1.6; }
.launchMembership .subscriptionPrice { align-items: baseline; flex-wrap: wrap; gap: 8px; }
.launchMembership .paymentPlanTabs { margin: 24px 0; }
.launchMembership .paymentPlanTabs button { min-width: 0; padding: 16px 12px; line-height: 1.5; }
.launchMembership .paymentPlanTabs strong { font-size: 16px; }
.launchMembership .paymentPlanTabs small { display: block; font-size: 14px; }
.launchMembership .paymentConsent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; font-size: 14px; line-height: 1.7; }
.launchMembership .paymentConsent input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 3px; }
.launchMembership .tossSubscribeButton { font-size: 16px; line-height: 1.5; min-height: 52px; white-space: normal; }
.launchMembership .tossSubscribeButton:disabled { opacity: .55; cursor: not-allowed; }
.membershipBillingMethods { display: flex; gap: 10px; margin: 16px 0; }
.membershipBillingMethods button { background: #fffaf0; color: #252936; padding: 10px 24px; border: 1px solid #b2a180; border-radius: 12px; }
.membershipBillingMethods button[aria-pressed="true"] { background: #252936; color: #fff; }
.communityMembership .communityPageHero { margin-bottom: 24px; }
.communityMembership .subscriptionCard { margin: 0; }
.membershipHelp, .membershipCheck { line-height: 1.8; font-size: 15px; }
.membershipHelp { margin: 24px 0; text-align: center; }
.membershipExpired { color: #efd398; }
.checkoutDialog .checkoutSummary { flex-wrap: wrap; gap: 8px; }
.checkoutDialog .checkoutTerms { font-size: 14px; line-height: 1.7; }
.googleButton { display: block; width: 100%; min-height: 52px; padding: 14px 20px; border: 1px solid #747775; border-radius: 12px; background: #fff; color: #1f1f1f; font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; }
.googleButton:disabled { background: #f4f3ef; color: #686b6b; border-color: #b5b8b6; cursor: not-allowed; }
.googleButton:focus-visible { outline: 3px solid #a9762d; outline-offset: 3px; }
.authMethodHelp { margin: 12px 0 0; color: #626763; font-size: 14px; line-height: 1.7; text-align: center; }
.membershipPaymentOptions { margin: 22px 0; padding: 20px; border: 1px solid #bca67b80; border-radius: 16px; background: #f6f0e5; color: #252936; color-scheme: light; }
.membershipPaymentHeading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.membershipPaymentHeading h3, .checkoutMethodTitle { color: #252936; margin: 0; font-size: 17px; line-height: 1.5; }
.membershipPaymentHeading > span { color: #74664e; font-size: 14px; }
.membershipPaymentOptions p, .checkoutMethodHelp { margin: 14px 0 0; font-size: 14px; line-height: 1.7; color: #555c58; }
.checkoutMethodHelp { margin-bottom: 14px; }
.membershipPaymentOptions > small, .membershipPaymentOptions small { font-size: 14px; line-height: 1.7; }
.membershipPaymentTypes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 16px 0; list-style: none; }
.membershipPaymentTypes li { color: #252936; padding: 12px 8px; border-radius: 10px; background: #ede6d8; font-size: 14px; text-align: center; }
.membershipBillingMethods { flex-wrap: wrap; }
.membershipBillingMethods button { flex: 1 1 130px; min-height: 64px; padding: 12px; font: inherit; }
.membershipBillingMethods strong, .membershipBillingMethods small { display: block; color: inherit; }
.membershipBillingMethods strong { font-size: 15px; }
.membershipPaymentAlternative { display: block; width: 100%; padding: 12px 0 0; border: 0; background: transparent; color: #66502e; font: inherit; font-size: 14px; line-height: 1.7; text-align: left; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.membershipPaymentOptions button:focus-visible { outline: 3px solid #a9762d; outline-offset: 3px; }
@media (max-width: 380px) { .launchMembership .paymentPlanTabs { gap: 6px; } .launchMembership .subscriptionPrice strong { font-size: 38px; } }
.communityBrowseBody, .communityMembershipHint, .communityStatusNote { width: min(calc(100% - 36px), 820px); margin: 0 auto 24px; }
.communityBrowse { min-height: 0; }
.communityBrowse .communityPageHero p, .communityHome .communityHero > p:last-child, .communityHome .communityAction p, .communityHome .communityShare p { font-size: 16px; line-height: 1.7; }
.communityBrowse .communityPageHero small, .communityTabs button { font-size: 14px; }
.communityBrowseNote { display: flex; align-items: baseline; gap: 12px; color: #e6cda5; font-size: 14px; line-height: 1.7; }
.communityBrowseNote span { color: #bcc0cb; }
.communityPreviewTabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 6px; margin-bottom: 16px; background: #252936; border-radius: 14px; }
.communityPreviewTabs button { min-height: 48px; padding: 8px; background: transparent; border: 0; border-radius: 10px; color: #d6d8df; font: inherit; font-size: 14px; }
.communityPreviewTabs button[aria-pressed="true"] { background: #e6cda5; color: #252936; font-weight: 700; }
.communityPreviewCard { border-radius: 22px; padding: 30px; color: #252936; }
.communityPreviewCard h2 { margin: 12px 0; font-size: clamp(22px, 5vw, 28px); }
.communityPreviewCard p { font-size: 16px; line-height: 1.7; }
.communityPreviewIcon { font-size: 30px; color: #806336; }
.communityLetterSample { margin: 24px 0; padding: 22px; background: #ffffff80; border: 1px solid #bca67b66; border-radius: 14px; }
.communityLetterSample small { font-size: 14px; color: #736044; }
.communityLetterSample blockquote { margin: 14px 0; font-size: 17px; line-height: 1.9; word-break: keep-all; overflow-wrap: anywhere; }
.communityLetterSample > span { font-size: 14px; color: #655d51; }
.communityPreviewCard .communityPreviewDetail { font-size: 14px; color: #655d51; }
.communityPreviewCard .communityPrimary { min-height: 50px; font-size: 16px; width: 100%; }
.communityPreviewFoot, .communityChartNote { color: #bcc0cb; font-size: 14px; line-height: 1.8; margin: 20px 0; }
.communityChartFeatures { list-style: none; padding: 0; margin: 24px 0; }
.communityChartFeatures li { padding: 18px 0; border-top: 1px solid #bca67b66; }
.communityChartFeatures strong, .communityChartFeatures span { display: block; font-size: 16px; line-height: 1.7; }
.communityChartFeatures span { font-size: 14px; color: #655d51; margin-top: 4px; }
.communityMembershipHint { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding: 22px; box-sizing: border-box; border: 1px solid #ddc39144; border-radius: 16px; color: #f4e5c7; }
.communityMembershipHint strong { font-size: 16px; }
.communityMembershipHint p { font-size: 14px; color: #bcc0cb; line-height: 1.7; margin: 6px 0 0; }
.communityMembershipHint button, .communityStatusNote button { background: transparent; color: #e6cda5; border: 1px solid #ddc39166; border-radius: 10px; min-height: 44px; padding: 10px 16px; font: inherit; font-size: 14px; }
.communityStatusNote { color: #bcc0cb; font-size: 14px; line-height: 1.8; }
.communityStatusNote button { margin-left: 8px; }
.communityUpgradeDialog { background: #f6f0e5; color: #252936; width: min(600px, calc(100% - 32px)); max-height: calc(100dvh - 40px); box-sizing: border-box; overflow-y: auto; border: 1px solid #b2a180; border-radius: 22px; padding: 24px; }
.communityUpgradeDialog::backdrop { background: #0d111bdd; }
.communityUpgradeHead { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.communityUpgradeHead h2 { font-size: 24px; line-height: 1.4; margin: 0; }
.communityUpgradeHead button { flex: 0 0 44px; min-height: 44px; }
.communityUpgradeLead { font-size: 16px; line-height: 1.7; margin-bottom: 24px; }
.communityUpgradeDialog .subscriptionCard { width: 100%; max-width: none; box-sizing: border-box; margin: 0; }
.communityKeepBrowsing { display: block; border: 0; background: transparent; color: #555c68; font: inherit; font-size: 16px; min-height: 48px; margin: 16px auto 0; text-decoration: underline; }
.communityGuestOffer { text-align: center; padding: 24px 12px; border-top: 1px solid #bca67b66; }
.communityGuestOffer p { font-size: 16px; line-height: 1.7; }
.communityGuestOffer strong { font-size: 34px; }
.communityGuestOffer small { display: block; font-size: 14px; margin: 12px 0 24px; color: #655d51; }
.communityGuestOffer .communityPrimary { display: block; text-decoration: none; font-size: 16px; padding: 16px; }
.communityPublicHeader { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; }
.communityPublicHeader > a:last-child { color: #e6cda5; padding: 12px 4px; font-size: 14px; }
.communityPublicHeader .brandImage { max-width: min(220px, 55vw); }
.communityPublicFooter { display: flex; justify-content: center; flex-wrap: wrap; gap: 24px; padding: 24px; }
.communityPublicFooter a { color: #bcc0cb; font-size: 14px; }
.communityExploreLink { display: block; margin: 18px auto 0; padding: 12px; text-align: center; color: #5f4c30; font-size: 16px; text-underline-offset: 4px; }
.communityPreviewTabs button:focus-visible, .communityPreviewCard button:focus-visible, .communityUpgradeDialog :focus-visible, .communityMembershipHint button:focus-visible { outline: 3px solid #a9762d; outline-offset: 3px; }
@media (max-width: 480px) { .communityPreviewCard { padding: 22px; } .communityLetterSample { padding: 18px; } .communityBrowseNote { display: block; } .communityBrowseNote span { display: block; margin-top: 4px; } .communityUpgradeDialog { padding: 18px; } .communityUpgradeDialog .subscriptionCard { padding: 20px; } .communityPublicHeader { padding: 18px; } }

/* Comfortable reading for detailed daily interpretations. */
.readingContent .readingIntro, .readingContent .readingSections p, .readingContent .readingCaution p { font-size: 16px; line-height: 1.95; word-break: keep-all; overflow-wrap: anywhere; }
.readingContent .readingSections article { padding: 24px 2px; }

.playMembership { color: #f7f0df; background: #17191f; padding: 24px; border: 1px solid #bfa775; border-radius: 18px; }
.playMembership h2,.playMembership p,.playMembership small,.playMembership strong { color: inherit; }
.playMembership .membershipPlans { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.playMembership .membershipPlans button { display: flex; flex-direction: column; gap: 8px; padding: 16px; color:#252936; background:#f6f0e5; border:2px solid transparent; border-radius:12px; }
.playMembership .membershipPlans button.selected { border-color:#d3b774; background:#e4d4af; }
.playMembership a { color:#ecd9ab; text-decoration:underline; }
.playBillingActions { display:flex; gap:12px; margin:16px 0; }
.playBillingActions button { color:#252936; background:#f6f0e5; border:0; padding:12px 16px; border-radius:8px; }
.playMembership button:disabled { opacity:.6; }
.playMembership .membershipConsent { display:flex; align-items:flex-start; gap:8px; margin:16px 0; }
.musicServiceLinks {display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;}
.musicServiceLinks a {background:#252936;color:#f6f0e5;padding:12px 16px;border-radius:10px;text-decoration:none;}
.musicServiceLinks small {width:100%;font-size:13px;line-height:1.6;}

/* Bank transfer checkout and restricted operator controls. */
.bankDepositor,.bankSettingsForm>label,.bankAdminOrder form>label { display:block; font-size:15px; line-height:1.7; margin:14px 0; }
.bankDepositor input,.bankSettingsForm input:not([type=checkbox]),.bankSettingsForm textarea,.bankAdminOrder input:not([type=checkbox]) { display:block; box-sizing:border-box; width:100%; padding:12px; margin-top:6px; border:1px solid #bca67b; border-radius:8px; background:#fffdf8; color:#252936; font:inherit; min-height:46px; }
.bankTransferPending { margin:24px 0; padding:22px; border:1px solid #bca67b; border-radius:14px; background:#ede4d2; color:#252936; }
.bankTransferPending h3 { font-size:21px; margin:0 0 12px; }
.bankTransferAmount strong { font-size:28px; }
.bankAccountDetails { display:grid; grid-template-columns:80px minmax(0,1fr); gap:10px 16px; padding:16px 0; }
.bankAccountDetails dt { color:#655d51; }.bankAccountDetails dd { margin:0; font-weight:650; overflow-wrap:anywhere; }
.bankOrderNumber { display:block; overflow-wrap:anywhere; font-size:12px; line-height:1.7; }
.bankTransferActions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:18px 0; }
.bankTransferActions .tossSubscribeButton { flex:1 1 200px; margin:0; }
.bankHelpLink { display:inline-block; margin:12px; color:#5f4c30; text-decoration:underline; }
.bankAdmin { margin-top:28px; padding:20px; border:1px solid #bca67b; border-radius:12px; background:#f4eedf; color:#252936; }
.bankAdmin>summary { cursor:pointer; font-size:17px; font-weight:650; padding:8px 0; }
.bankAdmin h3 { margin-top:24px; font-size:19px; }.bankAdmin p { font-size:14px; line-height:1.8; }
.bankAdminOrder { border-top:1px solid #bca67b80; padding:20px 0; }
.bankAdminOrderHeading { display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:space-between; }
.bankAdminOrderHeading span { font-size:13px; }.bankAdminHistory { margin-top:24px; }
.bankAdmin .paymentConsent { display:flex; gap:8px; align-items:flex-start; }.bankAdmin .paymentConsent input { flex:none; margin-top:5px; }
.bankTransferPending button:focus-visible,.bankAdmin :focus-visible { outline:3px solid #a9762d; outline-offset:3px; }
@media(max-width:480px) { .bankAdmin,.bankTransferPending { padding:16px; }.bankAccountDetails { grid-template-columns:70px minmax(0,1fr); gap:10px; } }
.bankAdminPageBody { max-width:760px; margin:0 auto; padding:24px 20px 48px; color:#f6f0e5; }
.bankAdminPageBody>h1 { color:#f6f0e5; font-size:28px; line-height:1.4; }.bankAdminPageBody>.membershipPaymentAlternative { color:#ecd9ab; margin-top:20px; }
.bankAdmin .bankAdminToolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.bankAdminToolbar h2 { color:#252936; font-size:20px; line-height:1.5; margin:0; }
.bankAdmin .bankAdminToolbar button { color:#514733; font-size:14px; margin:0; }
.bankAdmin .bankAdminOrderHeading strong { font-size:20px; line-height:1.5; }
.bankAdmin .bankAdminOrderHeading span { align-self:center; color:#514733; background:#e8ddc2; padding:4px 9px; border-radius:20px; }
.bankAdmin .bankOrderMeta,.bankAdmin .bankApprovalAction p { color:#60594e; font-size:14px; }
.bankAdmin .tossSubscribeButton { background:#244665; color:#fff; opacity:1; border:0; min-height:48px; }
.bankAdmin .tossSubscribeButton:disabled { background:#6c7986; color:#fff; opacity:1; }
.bankApprovalAction .tossSubscribeButton { width:100%; font-size:18px; margin:4px 0 12px; }
.bankAdmin .paymentConsent,.bankAdmin label,.bankAdmin .cancelSubscription,.bankAdmin .membershipPaymentAlternative,.bankAdmin .bankHelpLink { color:#38332b; }
.bankAdmin .cancelSubscription { font-size:14px; }.bankAdmin .paymentConsent input { width:18px; height:18px; }
.bankOrderDetails,.bankAdminSettings,.bankAdminHistory { color:#38332b; margin-top:16px; }
.bankOrderDetails>summary,.bankAdminSettings>summary,.bankAdminHistory>summary { cursor:pointer; color:#514733; font-size:15px; line-height:1.7; }
.bankAdminSettings { border-top:1px solid #bca67b80; padding-top:16px; margin-top:24px; }
.bankAdmin .bankAdminNotice { color:#244d35; background:#e3efdf; padding:12px; border-radius:8px; }
