/* Consultation surfaces inherit their brand; diagrams, cards and timing keep their own rules. */
html:root .px-app{--gold:var(--px-accent);--gold-light:var(--px-accent);--gold-main:var(--px-accent);--text-main:var(--px-text);--text-muted:var(--px-muted);--text-primary:var(--px-text);--text-secondary:var(--px-muted);--bg-primary:var(--px-bg);--bg-dark:var(--px-bg);--bg-card:var(--px-surface);--border-color:var(--px-line);color:var(--px-text);isolation:isolate}
html:root .px-app:where([id],.app-container,.numerology-container,.oracle-wrapper,.widget-container,.egipcio-app-container,.maya-app-container,.ct-page){background:radial-gradient(ellipse at 50% 0,var(--px-soft),transparent 70%),var(--px-bg)!important;border-radius:var(--px-radius);border-color:var(--px-line)!important;margin-left:auto;margin-right:auto}
html:root .px-app :is(.app-title,.hero-title,.oraculo-title,.oracle-title,.cafe-hero__title,.cosmica-hero__title,.tp-hero__title,.colores-hero__title,.result-section-title,.result-title,.lectura-titulo){font-family:var(--px-heading)!important;color:var(--px-accent)!important;line-height:1.2;letter-spacing:.015em;text-shadow:none}
html:root .px-app :is(h1,h2,h3){text-wrap:balance}
html:root .px-app :is(.app-subtitle,.hero-subtitle,.oraculo-subtitle,.oracle-subtitle,.cafe-hero__subtitle,.cosmica-hero__subtitle,.tp-hero__subtitle,.colores-hero__subtitle){color:var(--px-muted)!important;line-height:1.7;max-width:66ch;margin-left:auto;margin-right:auto;text-wrap:pretty}
html:root .px-app :is(.question-section,.input-section,.form-card,.birth-form,.glass-panel,.result-card,.info-card,.reading-box,.reading-content,.reading-result,.cafe-reading__card,.cosmica-reading__card,.tp-reading__card,.interpretation-section){border-color:var(--px-line)!important;box-shadow:0 14px 40px #0002;background-color:var(--px-surface)!important;border-radius:var(--px-radius)}
html:root .px-app :is(textarea,input[type=text],input[type=number],input[type=date],input[type=time],select):not([hidden]){background-color:var(--px-surface)!important;border-color:var(--px-line)!important;color:var(--px-text)!important;caret-color:var(--px-accent);min-height:44px;font-size:max(16px,1em);line-height:1.5;box-shadow:none}
html:root .px-app :is(textarea,input,select)::placeholder{color:var(--px-muted)!important;opacity:.78}
html:root .px-app :is(textarea,input,select,button,a):focus-visible{outline:2px solid var(--px-accent)!important;outline-offset:4px}
html:root .px-app :is(.btn-primary,.btn-consult,.consult-btn,.calculate-btn,.cafe-btn--primary,.cosmica-btn--primary,.tp-btn--primary,.colores-btn--primary,.btn-consultar,.btn-oracle,.main-button){background:linear-gradient(120deg,var(--px-accent),color-mix(in srgb,var(--px-accent) 75%,white))!important;color:#1a1721!important;border-color:var(--px-accent)!important;text-shadow:none!important;min-height:48px;border-radius:calc(var(--px-radius) + 4px);font-weight:650;box-shadow:0 8px 25px #0002}
html:root .px-app :is(.btn-secondary,.new-query-btn,.new-reading-btn,.cafe-btn--secondary,.cosmica-btn--secondary,.tp-btn--secondary,.colores-btn--secondary,.btn-nueva-consulta,.reset-button){background:var(--px-soft)!important;color:var(--px-accent)!important;border-color:var(--px-line)!important;min-height:44px;box-shadow:none}
html:root .px-app :is(.loading-text,.reading-loading p,.cafe-reading__loading p,.cosmica-reading__loading p,.tp-reading__loading p){color:var(--px-muted)!important;line-height:1.7}
html:root .px-app :is(.reading-text,.result-text,.texto-lectura,.result-interpretation,.interpretation-text,.cafe-reading__text,.cosmica-reading__text,.tp-reading__text,.colores-reading__text,.lectura-contenido,.message-body,.taReadingHtml){font-size:clamp(16px,1.2vw,18px)!important;line-height:1.9!important;color:var(--px-text)!important;text-align:left;overflow-wrap:anywhere}
html:root .px-app .px-result :is(h2,h3,h4){font-family:var(--px-heading);color:var(--px-accent);line-height:1.35}
html:root .px-app .px-result :is(p,li){text-wrap:pretty}
html:root .px-app .px-result strong{color:var(--px-accent)}
html:root .px-app .arit-num-palabras{color:var(--px-muted)!important}
html:root .px-app :is(#ca-birth-summary,#asc-birth-summary,#p-result-question,.card-symbolism){color:var(--px-muted)!important}
html:root .px-app #cap-result-label{color:var(--px-accent)!important}
html:root .px-app :is(.car-card__mensaje,#hj-years-label,#ht-years-label){color:var(--px-text)!important}
html:root #zener-app.px-app{--ink:var(--px-text);--ink-dim:var(--px-muted);--ink-faint:var(--px-muted);--paper:var(--px-bg);--paper-dark:var(--px-surface);--red:#ffb0a7;--green:#80d6b2}
html:root #zener-app.px-app :is(.intro-box,.card-back,.choice-btn,.reveal-card,.report-card){background:var(--px-surface)!important;color:var(--px-text)!important;border-color:var(--px-line)!important}
html:root #zener-app.px-app :is(.lab-stamp,.zener-subtitle,.intro-desc,.rounds-label,.test-counter,.card-instruction,.report-label,.esp-meter-labels,.history-title,.history-item.miss){color:var(--px-muted)!important}
html:root #zener-app.px-app :is(.report-value,.verdict-value){color:var(--px-text)!important}
html:root .px-app :is(.ta-draw-error,.error-message,.error-msg)[role=alert]{line-height:1.6}
/* Each identity has its own framing and editorial rhythm. */
html[data-px-theme=active] .px-app :is(.hero-section,.app-header,.header-section){border-bottom:1px solid var(--px-line);padding-bottom:28px;margin-bottom:30px}
html[data-px-theme=ki] .px-app :is(.question-section,.input-section,.form-card,.reading-result,.result-card){border-width:1px;border-style:solid;border-left:3px solid #af705e!important}
html[data-px-theme=oui] .px-app :is(.hero-section,.app-header,.header-section){padding-top:28px;padding-bottom:24px}
html[data-px-theme=oui] .px-app :is(.app-title,.hero-title,.oracle-title){font-size:clamp(32px,4.5vw,54px)!important;font-weight:500!important}
html[data-px-theme=si] .px-app :is(.hero-section,.app-header,.header-section){border-top:1px solid var(--px-line);border-bottom:1px solid var(--px-line);padding-top:24px;padding-bottom:24px}
html[data-px-theme=sim] .px-app :is(.question-section,.input-section,.form-card,.reading-result){border-radius:26px 10px 26px 10px}
html[data-px-theme=xai] .px-app :is(.hero-section,.app-header,.header-section){border-bottom:1px solid var(--px-line);padding-bottom:25px}
html:root .px-app .ct-window{background:var(--px-surface);border:1px solid var(--px-line);border-radius:var(--px-radius)}
html:root .px-app .ct-msg{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
html:root .px-app .ct-msg.assistant{background:var(--px-soft);color:var(--px-text);border-color:var(--px-line)}
html:root .px-app .ct-msg.user{background:color-mix(in srgb,var(--px-accent) 16%,var(--px-surface));color:var(--px-text);border-color:var(--px-line)}
html:root .px-app .ct-input{color:var(--px-text)!important;background:var(--px-surface)!important}
@media(max-width:640px){html:root .px-app :is(.app-title,.hero-title,.oraculo-title,.oracle-title){font-size:clamp(27px,7vw,38px)!important;overflow-wrap:anywhere}html:root .px-app .px-result{scroll-margin-top:90px}html:root .px-app :is(.reading-text,.result-text,.texto-lectura,.interpretation-text){line-height:1.8!important}}

html:root .px-app #crystalMessage{color:var(--px-text)!important;text-shadow:0 1px 4px #000!important}

