/* Legible text and tactile colour states in the existing plum/rose palette. */
.body-page{background:#fcf7f4;color:#35233e;border-radius:20px;padding:36px; margin-top:24px;margin-bottom:40px}
.body-page>h1,.body-page h2,.body-page h3{color:#452454}
.body-page>p,.body-page .body-lead,.body-page .body-sound-premium>p,.body-page .body-sound-controls p{color:#443548;font-size:18px;line-height:1.8;max-width:72ch}
.body-page .label{color:#694471;font-size:13px;line-height:1.6}
.body-page .body-sound-card{background:#fffaf7;border:1px solid #c7a8cd;padding:26px;border-radius:16px;box-shadow:0 8px 28px #42204d08}
.body-page .body-sound-card h2,.body-page .body-sound-card h3{font-size:28px;line-height:1.25;color:#4b2859;overflow-wrap:anywhere}
.body-page .body-sound-card p,.body-page .body-sound-card li{color:#443548;font-size:17px;line-height:1.8}
.body-page .body-sound-card .micro{font-size:14px;color:#625065;line-height:1.65}
.body-page .body-sound-card .body-free,.body-eco-teaser .body-free{background:#eee0f0;border-color:#c5a4cc;color:#512f61;font-size:12px;line-height:1.6}
.body-page .body-sound-card .btn{display:flex;min-height:48px;white-space:normal;line-height:1.5;text-align:left}
.body-page details{margin-top:20px}.body-page summary{cursor:pointer;font-size:17px;line-height:1.6;color:#513160;font-weight:600}.body-page details p{margin-top:16px}
.body-page audio{width:100%;min-height:54px;color-scheme:light}
.eco-explainer{background:#eee2f0;border:1px solid #cfb5d4;border-radius:16px;padding:26px;margin:30px 0;color:#443548}
.eco-explainer h2{font:30px/1.3 Georgia,serif;margin:0 0 15px}.eco-explainer li,.eco-explainer p{font-size:17px;line-height:1.8;color:#443548}.eco-explainer li{padding:5px 0}.eco-explainer ol{padding-left:23px}.eco-explainer p{max-width:72ch}
.light-paths button{background:#e9d9ef;color:#35213e;border:1px solid #c7a7d2;border-radius:18px;min-height:110px;transition:background-color .2s,border-color .2s,box-shadow .2s}
.light-paths button:nth-child(even){background:#f0dce5;border-color:#d5acbf}.light-paths button:nth-child(3n){background:#e0d8ef;border-color:#bfaed1}
.light-paths button strong{color:#35213e;font-size:19px;line-height:1.5}.light-paths button small{color:#57415f;font-size:16px;line-height:1.65}.light-paths button>span,.light-paths button>b{color:#684271}
.light-paths button:hover,.light-paths button:focus-visible{background:#f7edf9;border-color:#85519a;box-shadow:0 5px 18px #663e7a20}
.light-paths button:active{background:#d4b7e0}.light-paths button[aria-pressed=true]{background:#744184;border-color:#744184}.light-paths button[aria-pressed=true] :is(strong,small,span,b){color:#fff8ff}
.route-steps{gap:12px;flex-wrap:wrap}.route-steps a{background:#e4cee9;color:#4d2d5b;border:1px solid #c6a2cd;border-radius:999px;min-height:48px;padding:13px 22px;font-size:16px;font-weight:600;line-height:1.4;transition:background-color .2s,border-color .2s}
.route-steps a:nth-child(2){background:#f0d9e3;border-color:#d0a3b8}.route-steps a:nth-child(3){background:#ddd6ef;border-color:#baa9d0}
.route-steps a:hover,.route-steps a:focus-visible{background:#fbf1fc;border-color:#7e508f}.route-steps a:active{background:#d1b2de}
:is(.light-free-page,.author-free-card,.quiet-free-link,.body-page,.body-eco-teaser) .btn{background:#744184;color:#fff8ff;border-color:#744184;min-height:48px;transition:background-color .2s,border-color .2s,box-shadow .2s}
:is(.light-free-page,.author-free-card,.quiet-free-link,.body-page,.body-eco-teaser) .btn:hover{background:#855298;border-color:#855298;box-shadow:0 4px 16px #59326c22}
:is(.light-free-page,.author-free-card,.quiet-free-link,.body-page,.body-eco-teaser) .btn:active{background:#623473;border-color:#623473}
:is(.light-free-page,.body-page,.body-eco-teaser) .btn.outline{background:#f0dce6;color:#512d61;border-color:#caa5c7}
:is(.light-free-page,.body-page,.body-eco-teaser) .btn.outline:hover{background:#faeef7;border-color:#88549b}
.light-free-reading .textlink{display:inline-flex;background:#ead9ef;color:#512d61;border:1px solid #c8a9d0;border-radius:999px;padding:12px 20px;min-height:48px;align-items:center;transition:background-color .2s}
.light-free-reading .textlink:hover{background:#fbf0fc}.light-free-reading .textlink:active{background:#d6bce0}
.body-eco-teaser p{font-size:17px;line-height:1.75;color:#443548}.light-free-page>p{font-size:18px;line-height:1.8}
@media(max-width:800px){.body-page{padding:24px 18px}.body-page .body-sound-grid{grid-template-columns:1fr}.eco-explainer{padding:22px}.route-steps a{width:100%;border-radius:16px}.light-paths button strong{font-size:18px}.body-page .body-sound-card{padding:23px}}
@media(prefers-reduced-motion:reduce){.light-paths button,.route-steps a,.light-free-reading .textlink,.body-page .btn{transition:none}}
/* Premium games keep their existing light cards and plum/rose identity. */
body:not(.light-home) #main .body-page :is(h1,h2,h3,h4){color:#452454}
body:not(.light-home) #main .body-page :is(p,li,label,legend,small){color:#443548}
body:not(.light-home) #main .body-page .label{color:#694471}
body:not(.light-home) #main .body-page .micro{color:#625065}
body:not(.light-home) #main .body-page .textlink{color:#643374}
body:not(.light-home) #main .body-page .body-game-card{color:#35233e}
body:not(.light-home) #main .body-page .body-game-card :is(h2,h3,strong){color:#452454}
body:not(.light-home) #main .body-page .body-game-result{color:#443548}
body:not(.light-home) #main .body-page .body-preferences :is(select,option){background:#fffaf6;color:#35233e;color-scheme:light}
body:not(.light-home) #main .body-page .btn{background:#744184;color:#fff8ff;border-color:#744184}
body:not(.light-home) #main .body-page .btn:hover{background:#855298;color:#fff8ff}
body:not(.light-home) #main .body-page .btn.outline{background:#f0dce6;color:#512d61;border-color:#caa5c7}
body:not(.light-home) #main .body-page .btn.outline:hover{background:#e5c8da;color:#512d61}
body:not(.light-home) #main .body-page .body-game-tabs .btn[aria-pressed=true]{background:#744184;color:#fff8ff;border-color:#744184}
body:not(.light-home) #main .body-page :is(button,a,select):focus-visible{outline:3px solid #9352a3;outline-offset:4px}
body #main .body-game-entry>div :is(h3,p){color:#443548}
body #main .body-game-entry>div .btn.outline{color:#512d61;border-color:#ac87b7;background:#f0dce6}
body #main .body-game-entry>div .btn.outline:hover{background:#e5c8da;color:#512d61}
/* Readable privacy and conversation cards within Mi comunidad. */
body:not(.light-home) #main :is(.my-community-care,.weekly-circle-panel){color:#412447}
body:not(.light-home) #main :is(.my-community-care,.weekly-circle-panel) :is(h2,h3,h4,p,li,small,strong,summary){color:#412447}
body:not(.light-home) #main :is(.my-community-care,.weekly-circle-panel) :is(.textlink,a:not(.btn),.label){color:#643374}
body:not(.light-home) #main :is(.my-community-care,.weekly-circle-panel) .btn{background:#744184;color:#fff8ff;border-color:#744184}
body:not(.light-home) #main :is(.my-community-care,.weekly-circle-panel) .btn.outline{background:#f0dce6;color:#512d61;border-color:#caa5c7}
/* Six approved scenes, shared by territory cards and their interior headers. */
.territory-art{position:relative;width:100%;height:100%;overflow:hidden;container-type:size;background:#39283b}
.territory-art:before{content:'';position:absolute;left:50%;top:50%;width:calc(max(100cqw,100cqh) + 8px);height:calc(max(100cqw,100cqh) + 8px);transform:translate(-50%,-50%);background-image:url('art/territorios-ambientes-v58.webp');background-repeat:no-repeat;background-size:300% 200%;background-position:var(--scene-x) var(--scene-y)}
.territory-art-mascara{--scene-x:0%;--scene-y:0%}.territory-art-piel{--scene-x:50%;--scene-y:0%}.territory-art-deseos{--scene-x:100%;--scene-y:0%}.territory-art-limites{--scene-x:0%;--scene-y:100%}.territory-art-palabras{--scene-x:50%;--scene-y:100%}.territory-art-capitulo{--scene-x:100%;--scene-y:100%}
.module-header .module-header-image{height:auto;aspect-ratio:1}

/* Shared legibility rules for every confirmed light surface. */
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result){color:#35233e}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) :is(h1,h2,h3,h4,h5,p,li,dt,dd,label,legend,summary,small,strong,b,em,span,blockquote){color:#443548}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) :is(.label,.micro,.badge){color:#625065}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) :is(a:not(.btn),button:not(.btn),.textlink){color:#643374}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,option){background:#fffaf7;color:#35233e;color-scheme:light}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) :is(input,textarea)::placeholder{color:#6d5873;opacity:1}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) .btn{background:#744184;color:#fff8ff;border-color:#744184}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) .btn :is(span,strong,small,b){color:inherit}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) .btn.outline{background:#f0dce6;color:#512d61;border-color:#b38cbd}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) .btn:hover{background:#855298;color:#fff8ff}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) .btn.outline:hover{background:#e5c8da;color:#512d61}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) .btn[aria-pressed=true]{background:#744184;color:#fff8ff;border-color:#744184}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) .body-premium{background:#351827;color:#ffe0a8}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) .body-free{background:#edf5ed;color:#23482d}
#site-content #main :is(.body-page,.body-game-entry>div,.body-eco-teaser,.body-checkin,.body-checkout,.compass-card,.compass-error,.exercise-compass-panel,.exercise-compass-summary,.my-community-care,.weekly-circle-panel,.quiet-forum-entry,.program-mode-toolbar,.exercise-entry,.exercise-agreement,.exercise-takeaway,.exercise-case .case-story,.perspective,.reflection,.choice,.before-entry,.security-panel,.free-mini-card,.free-exercise-grid article,.light-offer,.price-card:not(.featured),.pricing-proposal,.checkout-status,.billing-status-card,.book-chapters,.book-sample,.book-purchase-info,body:not(.light-home) .light-sample,body:not(.light-home) .light-path-result) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #9352a3;outline-offset:4px}
#site-content dialog{color:#35233e}
#site-content dialog :is(h1,h2,h3,p,li,label,legend,summary,small){color:#443548}
#site-content dialog :is(.textlink,a:not(.btn)){color:#643374}
#site-content dialog .btn{background:#744184;color:#fff8ff;border-color:#744184}
#site-content dialog .btn.outline{background:#f0dce6;color:#512d61;border-color:#b38cbd}
#site-content dialog .program-mode-option :is(strong,small,b){color:#fff4e7}
#site-content #main .light-paths button{color:#35213e}
#site-content #main .light-paths button :is(strong,small,span,b){color:#443548}
#site-content #main .light-paths button[aria-pressed=true] :is(strong,small,span,b){color:#fff8ff}
#site-content #main .light-paths button{background:#e9d9ef;border-color:#b38cbd}
#site-content #main .light-paths button:nth-child(even){background:#f0dce5}
#site-content #main .light-paths button:nth-child(3n){background:#e0d8ef}
#site-content #main .light-paths button:hover{background:#f7edf9}
#site-content #main .light-paths button[aria-pressed=true]{background:#744184;border-color:#744184}

/* Explicit colour pairs for light offer tables, and the dark featured card. */
#site-content #main .billing-compare tbody{background:#fffaf5;color:#35233e}
#site-content #main .billing-compare :is(tbody th,tbody td,caption){color:#443548;opacity:1}
#site-content #main .price-card:not(.featured) :is(h3,p,li,strong,span,small){opacity:1}
#site-content #main .price-card.featured :is(h3,p,li,strong,span,small){color:#f5e8f4;opacity:1}
#site-content #main .price-card.featured .btn{background:#744184;color:#fff8ff}

/* Keep plan introductions readable on the light pricing panel. */
#site-content #main .pricing-heading :is(h2,h3,p,.label){color:#35233e;opacity:1}
#site-content #main .pricing-heading h2 em{color:#6b3474;opacity:1}
#site-content #main .pricing-heading .pricing-proposal{color:#513659;opacity:1}
.body-game-entry>div:only-child{grid-column:1/-1}
