@import url('https://tarotconjose.com/assets/theme-v2.php?v=1');

:root {
  color-scheme: dark;
  --fondo: #07131f;
  --fondo2: #102a3a;
  --morado: #1f7a7a;
  --morado-oscuro: #0e4657;
  --rosa: #d46a5b;
  --dorado: #d6a15c;
  --texto: #f6f1e8;
  --gris: #b8c8cc;
  --gris-suave: #a9bdc3;
  --fondo-rgb: 7, 19, 31;
  --fondo2-rgb: 16, 42, 58;
  --morado-rgb: 31, 122, 122;
  --morado-oscuro-rgb: 14, 70, 87;
  --rosa-rgb: 212, 106, 91;
  --dorado-rgb: 214, 161, 92;
  --texto-rgb: 246, 241, 232;
  --gris-rgb: 184, 200, 204;
  --gris-suave-rgb: 169, 189, 195;
  --bg: var(--fondo, #0d0719);
  --panel: rgba(var(--fondo2-rgb, 34, 20, 58), 0.78);
  --panel-strong: var(--fondo2, #24153e);
  --text: var(--texto, #fbf6ff);
  --muted: var(--gris, #c7b8d5);
  --gold: var(--dorado, #edc878);
  --violet: var(--morado, #9d76d5);
  --line: rgba(var(--dorado-rgb, 237, 200, 120), 0.24);
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.36);
  font-family: Georgia, 'Times New Roman', serif;
}

* { box-sizing: border-box; }

body {
  min-height: 100vh;
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 85% 8%, rgba(var(--morado-rgb,117,72,169), 0.32), transparent 32rem),
    radial-gradient(circle at 10% 45%, rgba(var(--dorado-rgb,214,154,91), 0.14), transparent 28rem),
    var(--bg);
}

a { color: inherit; }

.topbar,
main {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 78px;
}

.brand {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  text-decoration: none;
  font-size: 1.08rem;
  letter-spacing: 0.03em;
}

.brand-mark { color: var(--gold); }

.language {
  display: flex;
  gap: 8px;
  color: var(--muted);
  font-family: system-ui, sans-serif;
  font-size: 0.85rem;
}

.language a { text-decoration: none; }
.language a[aria-current='page'] { color: var(--gold); }

.written-intake[hidden] { display: none !important; }
.written-intake { display: grid; gap: .75rem; margin-top: 1.1rem; }
.ritual-table { display: grid; justify-items: center; gap: .75rem; margin: -1rem auto 1.5rem; color: var(--gold); font-size: .92rem; }
.ritual-deck { position: relative; width: 96px; height: 70px; }
.ritual-deck i { position: absolute; left: 29px; top: 4px; width: 40px; height: 60px; border: 1px solid rgba(235,193,106,.8); border-radius: 6px; background: linear-gradient(145deg,#3b1d5a,#160d2a); box-shadow: 0 8px 18px rgba(0,0,0,.35); transform-origin: 50% 100%; }
.ritual-deck i:nth-child(1) { animation: tarot-shuffle 1.25s ease-in-out 3; }
.ritual-deck i:nth-child(2) { animation: tarot-shuffle 1.25s .16s ease-in-out 3 reverse; }
.ritual-deck i:nth-child(3) { animation: tarot-shuffle 1.25s .32s ease-in-out 3; }
@keyframes tarot-shuffle { 0%,100% { transform: translateX(0) rotate(0); } 45% { transform: translateX(-28px) rotate(-10deg); } 70% { transform: translateX(27px) rotate(9deg); } }

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  gap: 48px;
  align-items: center;
  min-height: 480px;
  padding: 64px 0;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--gold);
  font-family: system-ui, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

h1,
h2 { margin-top: 0; font-weight: 500; }

h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(2.7rem, 7vw, 5.7rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.intro {
  max-width: 640px;
  color: var(--muted);
  font-family: system-ui, sans-serif;
  font-size: 1.06rem;
  line-height: 1.75;
}

.trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 30px;
  color: var(--muted);
  font-family: system-ui, sans-serif;
  font-size: 0.86rem;
}

.orb {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(237, 200, 120, 0.19), rgba(121, 76, 168, 0.12) 40%, transparent 68%);
  box-shadow: inset 0 0 70px rgba(237, 200, 120, 0.08);
}

.orb-inner {
  display: grid;
  place-items: center;
  width: 58%;
  aspect-ratio: 1;
  border: 1px solid rgba(237, 200, 120, 0.4);
  border-radius: 50%;
  color: var(--gold);
  font-size: clamp(4rem, 10vw, 8rem);
  filter: drop-shadow(0 0 22px rgba(237, 200, 120, 0.32));
}

.reading-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding-bottom: 34px;
}

.reading-card,
.human-service,
.consultation-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(var(--morado-rgb, 44, 25, 70), 0.62), var(--panel));
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
}

.reading-card { padding: 30px; }
.card-symbol { margin-bottom: 28px; color: var(--gold); font-size: 1.5rem; }
.reading-card h2 { margin-bottom: 12px; font-size: 1.65rem; }
.reading-card p,
.human-service p,
.development-note {
  color: var(--muted);
  font-family: system-ui, sans-serif;
  line-height: 1.65;
}

.primary,
.secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 18px;
  padding: 0 22px;
  border: 1px solid var(--gold);
  border-radius: 999px;
  cursor: pointer;
  font-family: system-ui, sans-serif;
  font-weight: 700;
  text-decoration: none;
}

.primary { color: var(--fondo, #24152d); background: var(--gold); }
.secondary { color: var(--gold); background: transparent; }
.primary:disabled { cursor: not-allowed; opacity: 0.5; }

.human-service {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 10px 0 30px;
  padding: 32px;
}

.human-service h2 { margin-bottom: 8px; font-size: 2rem; }
.human-service p { max-width: 690px; margin-bottom: 0; }

.ai-notice {
  max-width: 820px;
  margin: 0 auto;
  padding: 30px 0 60px;
  color: #9f91ad;
  font-family: system-ui, sans-serif;
  font-size: 0.82rem;
  line-height: 1.6;
  text-align: center;
}

.notification-control { margin-top: 14px; max-width: 460px; }
.notification-control small { display: block; margin-top: 8px; color: var(--muted); line-height: 1.45; }
.notification-status { min-height: 1.3em; margin: 7px 0 0; color: #d8c6ff; font-size: .92rem; }
.notification-button:disabled { opacity: .78; cursor: default; }

.app-download-banner { position:sticky; top:0; z-index:1000; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:13px; align-items:center; padding:12px max(16px,env(safe-area-inset-left)); color:var(--text); background:linear-gradient(100deg,var(--fondo2),var(--morado)); border-bottom:1px solid var(--line); box-shadow:0 8px 25px rgba(0,0,0,.28); }
.app-download-banner[hidden] { display:none; }
.app-download-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#2a123d; background:var(--gold); font-size:1.3rem; }
.app-download-copy { display:grid; gap:2px; }
.app-download-copy strong { font-size:1rem; }
.app-download-copy span { color:var(--muted); font:.86rem/1.35 system-ui,sans-serif; }
.app-download-install { width:auto; margin:0; padding:10px 15px; white-space:nowrap; }
.app-download-close { width:34px; height:34px; border:0; border-radius:999px; color:#fff; background:rgba(255,255,255,.12); font-size:1.5rem; cursor:pointer; }
.account-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--gold);border-radius:999px;color:var(--gold)!important;background:rgba(237,200,120,.08);font-weight:800;text-decoration:none}.account-link:hover{background:var(--gold);color:#24132f!important}
.install-help{width:min(92vw,520px);padding:0;border:1px solid rgba(237,200,120,.45);border-radius:24px;color:#fff;background:#24132f;box-shadow:0 24px 80px rgba(0,0,0,.55)}.install-help::backdrop{background:rgba(8,4,15,.78);backdrop-filter:blur(5px)}.install-help-card{position:relative;display:grid;gap:16px;padding:28px}.install-help-card h2,.install-help-card p{margin:0}.install-help-card ol{display:grid;gap:12px;margin:0;padding-left:24px;color:#eadff0;line-height:1.5}.install-help-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#24132f;background:var(--gold);font-size:1.7rem;font-weight:900}.install-help-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:999px;color:#fff;background:rgba(255,255,255,.1);font-size:1.5rem;cursor:pointer}.auth-biometric-note{margin:2px 0 8px;padding:11px 13px;border:1px solid rgba(237,200,120,.24);border-radius:12px;color:var(--muted);background:rgba(237,200,120,.06);font:.86rem/1.45 system-ui,sans-serif}
@media(max-width:650px){.app-download-banner{grid-template-columns:auto 1fr auto}.app-download-install{grid-column:1/-1;width:100%}.app-download-close{grid-column:3;grid-row:1}.app-download-copy{grid-column:2;grid-row:1}.app-download-icon{grid-column:1;grid-row:1}}

.consultation-page { display: grid; place-items: center; padding: 24px; }
.consultation-shell { width: min(760px, 100%); }
.back-link { display: inline-block; margin-bottom: 20px; color: var(--muted); font-family: system-ui, sans-serif; text-decoration: none; }
.customer-quick-nav{position:relative;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;font-family:system-ui,sans-serif}.customer-quick-nav .back-link{margin:10px 0 0}.customer-quick-nav details{position:relative}.customer-quick-nav summary{list-style:none;cursor:pointer;padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--gold);background:rgba(var(--fondo2-rgb,34,20,58),.92);font-weight:800}.customer-quick-nav summary::-webkit-details-marker{display:none}.customer-quick-nav details>div{position:absolute;top:calc(100% + 8px);right:0;display:grid;gap:3px;width:min(290px,82vw);padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong);box-shadow:var(--shadow)}.customer-quick-nav details>div strong{padding:9px 11px;color:var(--text)}.customer-quick-nav details>div a{padding:10px 11px;border-radius:10px;color:var(--muted);text-decoration:none}.customer-quick-nav details>div a:hover{color:var(--text);background:rgba(var(--morado-rgb,117,72,169),.18)}
.consultation-card { padding: clamp(26px, 6vw, 54px); }
.consultation-card h1 { font-size: clamp(2.2rem, 8vw, 4.2rem); }
.consultation-card label { display: block; margin: 30px 0 12px; font-family: system-ui, sans-serif; font-weight: 700; }
.consultation-card textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 16px;
  outline: none;
  padding: 18px;
  color: var(--text);
  background: rgba(var(--fondo-rgb, 7, 4, 14), 0.72);
  font: 1rem/1.6 system-ui, sans-serif;
}
.consultation-card textarea:focus { border-color: var(--gold); }
.consultation-card input[type="date"],.consultation-card input[type="text"] { width:100%; margin:0 0 22px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:rgba(var(--fondo-rgb,7,4,14),.72); color:var(--text); color-scheme:dark; }
.consultation-ritual { display:grid; grid-template-columns:76px 1fr; gap:16px; align-items:center; margin:4px 0 24px; padding:14px; border:1px solid var(--line); border-radius:18px; background:rgba(var(--morado-rgb,122,73,155),.13); }
.consultation-ritual img { width:76px; aspect-ratio:1; object-fit:cover; border-radius:50%; border:2px solid var(--gold); }
.consultation-ritual p { margin:0; line-height:1.6; }
.mode-picker { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:24px 0 4px; padding:0; border:0; }
.mode-picker legend { grid-column:1/-1; margin-bottom:10px; font:700 1rem system-ui,sans-serif; }
.mode-option { display:flex!important; gap:12px; align-items:flex-start; margin:0!important; padding:16px; border:1px solid var(--line); border-radius:16px; cursor:pointer; background:rgba(var(--fondo-rgb,7,4,14),.56); }
.mode-option:has(input:checked) { border-color:var(--gold); background:rgba(var(--dorado-rgb,237,200,120),.1); }
.mode-option input { margin-top:4px; accent-color:var(--gold); }
.mode-option span { display:flex; flex-direction:column; gap:6px; }
.mode-option small { color:var(--muted); font: .82rem/1.45 system-ui,sans-serif; }
.development-note { margin-top: 24px; font-size: 0.82rem; }
.purchase-choice { margin:24px 0; padding:20px; border:1px solid rgba(var(--dorado-rgb,237,200,120),.3); border-radius:20px; color:var(--text); background:linear-gradient(145deg,rgba(var(--morado-rgb,31,122,122),.22),rgba(var(--fondo2-rgb,16,42,58),.88)); box-shadow:0 16px 40px rgba(var(--fondo-rgb,7,19,31),.28); }
.purchase-choice h2 { margin:4px 0 16px; font-size:clamp(1.3rem,3vw,1.75rem); }
.purchase-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.purchase-choice-once,.purchase-choice-plan { display:flex; flex-direction:column; gap:7px; min-height:118px; padding:15px; border:1px solid rgba(var(--dorado-rgb,237,200,120),.22); border-radius:15px; color:var(--text); background:linear-gradient(150deg,rgba(var(--fondo2-rgb,16,42,58),.9),rgba(var(--fondo-rgb,7,19,31),.72)); text-decoration:none; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.purchase-choice-once.is-selected { border-color:var(--gold); background:linear-gradient(145deg,rgba(var(--dorado-rgb,237,200,120),.17),rgba(var(--morado-rgb,31,122,122),.22)); box-shadow:inset 0 0 0 1px rgba(var(--dorado-rgb,237,200,120),.12); }
.purchase-choice-plan:hover { border-color:var(--gold); background:linear-gradient(145deg,rgba(var(--morado-rgb,31,122,122),.34),rgba(var(--fondo2-rgb,16,42,58),.94)); transform:translateY(-2px); }
.purchase-choice-grid span { color:var(--gold); font:700 .7rem/1 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.purchase-choice-grid strong { color:var(--text); font:700 .9rem/1.35 system-ui,sans-serif; }
.purchase-choice-grid p,.purchase-choice-note { margin:0; color:var(--muted); font:.76rem/1.45 system-ui,sans-serif; }
.purchase-choice-note { margin-top:12px; }
@media(max-width:700px){.purchase-choice-grid{grid-template-columns:1fr}}

.reading-shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 34px 0 70px; }
.consultant-stage { display:flex; align-items:center; gap:18px; width:max-content; max-width:100%; margin:8px 0 24px; padding:10px 20px 10px 10px; border:1px solid var(--line); border-radius:999px; background:rgba(var(--fondo2-rgb,31,17,53),.82); box-shadow:var(--shadow); }
.avatar-frame { position:relative; width:92px; height:92px; flex:0 0 92px; }
.avatar-frame img { width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:50% 34%; border:2px solid var(--gold); }
.voice-ring { position:absolute; inset:-5px; border:2px solid transparent; border-radius:50%; pointer-events:none; }
.consultant-identity { display:flex; flex-direction:column; gap:5px; font-family:system-ui,sans-serif; }
.consultant-identity strong { font-size:1rem; }
.consultant-status { color:var(--gold); font-size:.82rem; }
.consultant-stage.is-speaking .voice-ring,.consultant-stage.is-listening .voice-ring { border-color:var(--gold); animation:avatarPulse 1.1s infinite; }
.consultant-stage.is-speaking .avatar-frame img { filter:brightness(1.08); }
.session-gate { display:flex; align-items:center; justify-content:space-between; gap:28px; margin:0 0 28px; padding:clamp(22px,4vw,34px); border:1px solid var(--line); border-radius:24px; background:linear-gradient(135deg,rgba(var(--morado-rgb,59,34,88),.38),rgba(var(--fondo2-rgb,24,13,42),.96)); box-shadow:var(--shadow); }
.checkout-price{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:15px 18px;border:1px solid rgba(237,200,120,.45);border-radius:14px;background:rgba(237,200,120,.08)}.checkout-price span{color:var(--muted)}.checkout-price strong{color:var(--gold);font-size:1.25rem}.payment-notice{padding:13px 16px;border:1px solid rgba(237,200,120,.55);border-radius:12px;background:rgba(237,200,120,.1);line-height:1.5}
.session-gate[hidden] { display:none!important; }
.session-gate h2 { margin:5px 0 8px; font-size:clamp(1.65rem,4vw,2.35rem); }
.session-gate p:last-child { max-width:700px; margin:0; color:var(--muted); font:.94rem/1.6 system-ui,sans-serif; }
.session-gate .primary { flex:none; width:auto; min-width:220px; margin:0; }
.session-locked .live-video,.session-locked .ritual-table,.session-locked .tarot-spread,.session-locked .reveal-controls,.session-locked .demo-chat { opacity:.38; filter:saturate(.55); pointer-events:none; user-select:none; }
.reading-header { max-width: 760px; margin: 28px 0 24px; }
.reading-header h1 { font-size: clamp(2.5rem, 7vw, 5rem); margin: 8px 0 14px; }
.reading-header > p:last-child { color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.question-summary { border-left: 2px solid var(--gold); padding: 4px 0 4px 18px; margin: 24px 0 34px; }
.question-summary span, .card-reading span { color: var(--gold); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.question-summary p { margin: 7px 0 0; }
.tarot-spread { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tarot-card { animation: rise .7s both; animation-delay: var(--delay); }
.tarot-card.is-concealed .card-face { background-image:radial-gradient(circle at 50% 42%,rgba(237,200,120,.16),transparent 24%),repeating-linear-gradient(45deg,#281743 0 8px,#160d2a 8px 16px); }
.tarot-card.is-concealed .card-face>* { opacity:0; }
.tarot-card.is-concealed .card-reading { visibility:hidden; }
.tarot-card.is-revealed .card-face { animation:cardReveal .75s both; }
.reveal-controls { display:flex; justify-content:center; margin:8px 0 24px; }
.reveal-controls[hidden] { display:none!important; }
.mode-video .consultant-stage { width:100%; border-radius:28px; padding:18px; background:linear-gradient(135deg,rgba(var(--morado-rgb,41,23,67),.28),rgba(var(--fondo-rgb,17,9,30),.94)); }
.mode-video .avatar-frame { width:170px; height:210px; flex-basis:170px; }
.mode-video .avatar-frame img { border-radius:22px; object-position:50% 28%; }
.mode-video .consultant-identity strong { font-size:1.25rem; }
.video-workspace { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr); gap:18px; align-items:stretch; margin:0 0 28px; }
.live-video { position:relative; overflow:hidden; width:100%; min-height:560px; margin:0; border:1px solid var(--line); border-radius:28px; background:#07040d; box-shadow:var(--shadow); }
.live-video-placeholder { position:absolute; inset:0; display:grid; place-content:center; gap:14px; padding:24px; color:var(--muted); text-align:center; font:600 .95rem/1.5 system-ui,sans-serif; }
.video-loader { width:34px; height:34px; margin:auto; border:3px solid rgba(237,200,120,.2); border-top-color:var(--gold); border-radius:50%; animation:videoSpin .9s linear infinite; }
.live-video-frame { position:absolute; inset:0; width:100%; height:100%; border:0; background:#07040d; }
.live-video-frame iframe { width:100%!important; height:100%!important; border:0!important; }
.shuffle-cue { position:absolute; inset:auto 18px 18px; z-index:3; display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid rgba(237,200,120,.55); border-radius:18px; background:rgba(10,5,18,.88); backdrop-filter:blur(8px); box-shadow:0 12px 34px rgba(0,0,0,.35); }
.shuffle-cue[hidden] { display:none!important; }
.shuffle-cue p { margin:0; color:#f5ead1; font:600 .88rem/1.45 system-ui,sans-serif; }
.shuffle-cue-deck { position:relative; width:58px; height:42px; flex:0 0 58px; }
.shuffle-cue-deck i { position:absolute; left:12px; top:4px; width:32px; height:38px; border:1px solid var(--gold); border-radius:5px; background:repeating-linear-gradient(45deg,#35204f 0 5px,#160d2a 5px 10px); box-shadow:0 6px 14px rgba(0,0,0,.35); }
.shuffle-cue-deck i:nth-child(1) { animation:shuffleLeft 1.15s ease-in-out infinite; }
.shuffle-cue-deck i:nth-child(2) { animation:shuffleRight 1.15s ease-in-out infinite; }
.shuffle-cue-deck i:nth-child(3) { transform:translateY(-2px); }
.live-video.is-shuffling .live-video-frame { transform:scale(1.025); filter:brightness(.78) saturate(.9); transition:.35s ease; }
.live-video.is-ready .live-video-placeholder { display:none; }
.live-video.has-error { min-height:260px; }
.live-video.has-error .video-loader { display:none; }
.panel-label { position:absolute; z-index:4; top:12px; left:12px; padding:7px 11px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(9,5,17,.74); backdrop-filter:blur(10px); color:#fff; font:700 .74rem/1 system-ui,sans-serif; letter-spacing:.04em; }
.session-side-scenes { display:block; min-height:560px; }
.session-side-scenes { position:relative; padding-top:54px; padding-bottom:64px; }
.scene-clock { position:absolute; z-index:8; top:8px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:9px; min-width:176px; justify-content:center; padding:10px 16px; border:1px solid rgba(237,200,120,.45); border-radius:999px; color:var(--gold); background:rgba(8,4,16,.9); box-shadow:0 8px 28px rgba(0,0,0,.35); }
.scene-clock strong { font-size:1.08rem; font-variant-numeric:tabular-nums; }
.scene-clock.is-warning { color:#ffca6a; border-color:#ff9c42; }
.scene-clock.is-critical { color:#fff; border-color:#ff4f64; background:#781b2b; animation:timeAlert .75s ease-in-out infinite alternate; }
.scene-extension { position:absolute; z-index:8; left:10px; right:10px; bottom:9px; display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.scene-extension .extension-status { flex-basis:100%; text-align:center; }
.standalone-session-tools { position:relative; display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 20px; padding:12px 14px; border:1px solid var(--line); border-radius:18px; background:rgba(8,4,16,.72); }
.standalone-session-tools .scene-clock,.standalone-session-tools .scene-extension { position:static; transform:none; }
.global-session-tools { position:sticky; z-index:30; top:8px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 18px; padding:10px 14px; border:1px solid var(--line); border-radius:18px; background:rgba(8,4,16,.94); box-shadow:0 12px 34px rgba(0,0,0,.35); backdrop-filter:blur(14px); }
.global-session-tools .scene-clock,.global-session-tools .scene-extension { position:static; inset:auto; transform:none; }
.global-session-tools .scene-extension { flex:1; justify-content:flex-end; }
.global-session-tools .extension-status { flex-basis:100%; }
.card-camera-panel { position:relative; overflow:hidden; min-width:0; border:1px solid var(--line); border-radius:22px; background:#08050e; box-shadow:var(--shadow); }
.card-camera-panel { height:100%; min-height:560px; }
.table-surface { position:absolute; inset:0; display:grid; place-items:center; padding:48px 12px 14px; background:radial-gradient(circle at 50% 25%,rgba(119,74,154,.28),transparent 48%),linear-gradient(145deg,#21102d,#100817); }
.card-camera-panel .ritual-deck { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-45%); transition:.45s ease; }
.card-camera-panel.has-cards .ritual-deck { opacity:.18; transform:translate(-50%,-45%) scale(.82); }
.card-camera-panel .tarot-spread { width:100%; gap:8px; align-items:center; }
.card-camera-panel .tarot-card { min-width:0; }
.card-camera-panel .tarot-spread:has(.tarot-card:nth-child(4)) { grid-template-columns:repeat(4,minmax(0,1fr)); max-height:430px; overflow:auto; padding:4px; }
.card-camera-panel .tarot-spread:has(.tarot-card:nth-child(4)) .card-face { min-height:118px; padding:8px; }
.card-camera-panel .tarot-spread:has(.tarot-card:nth-child(4)) .card-face h2 { font-size:.64rem; }
.tarot-card[role="button"] { cursor:pointer; transition:transform .18s ease,filter .18s ease; }
.tarot-card[role="button"]:hover,.tarot-card[role="button"]:focus-visible { transform:translateY(-5px); filter:brightness(1.12); outline:2px solid var(--gold); outline-offset:3px; border-radius:14px; }
.tarot-card.is-selected-card { pointer-events:none; }
.card-camera-panel .card-face { min-height:190px; border-radius:12px; }
.card-camera-panel .card-face h2 { font-size:.78rem; }
.card-camera-panel .card-reading { display:none; }
.numerology-board { min-height:100%; padding:42px 24px 24px; border:1px solid rgba(202,169,101,.35); border-radius:22px; background:radial-gradient(circle at 50% 22%,rgba(122,73,155,.28),transparent 46%),linear-gradient(145deg,rgba(24,12,42,.98),rgba(10,6,20,.98)); }
.numerology-board .panel-label { position:static; display:inline-block; margin-bottom:18px; }
.number-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.number-grid article { min-height:105px; padding:14px; border:1px solid rgba(237,200,120,.24); border-radius:16px; background:rgba(255,255,255,.035); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; }
.number-grid strong { color:var(--gold); font:700 1.35rem/1 Georgia,serif; }
.number-grid span { color:var(--text); font:600 .75rem/1.3 system-ui,sans-serif; }
.numerology-board>p { margin:18px 4px 0; color:var(--muted); font:.8rem/1.5 system-ui,sans-serif; text-align:center; }
.numerology-live { margin-top:16px; padding:14px; border:1px solid rgba(237,200,120,.36); border-radius:14px; background:rgba(0,0,0,.22); }
.numerology-live strong { display:block; margin-bottom:7px; color:var(--gold); font:.78rem system-ui,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.numerology-live p { margin:0; color:#fff; font:.9rem/1.5 system-ui,sans-serif; }
.palmistry-board { position:relative; min-height:100%; padding:50px 18px 18px; border:1px solid rgba(202,169,101,.35); border-radius:22px; background:radial-gradient(circle at 50% 22%,rgba(122,73,155,.25),transparent 46%),linear-gradient(145deg,#180c2a,#090512); }
.palmistry-standalone { width:min(820px,100%); min-height:0; margin:20px auto 28px; }
.palm-instruction,.palm-privacy,.palm-status { color:var(--muted); font:.84rem/1.5 system-ui,sans-serif; }
.palm-camera-wrap { overflow:hidden; aspect-ratio:4/3; max-height:285px; border-radius:16px; background:#050308; }
.palm-camera { width:100%; height:100%; object-fit:cover; }
.palm-previews { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px; }
.palm-previews figure { margin:0; min-height:90px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.03); }
.palm-previews img { display:block; width:100%; height:100px; object-fit:cover; }
.palm-previews img:not([src]) { display:none; }
.palm-previews figcaption { padding:6px; color:var(--muted); text-align:center; font:.72rem system-ui,sans-serif; }
.palm-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.palm-actions button { width:100%; margin:0; }
.palm-result { max-height:230px; overflow:auto; padding:14px; border-left:2px solid var(--gold); color:#fff; background:rgba(0,0,0,.2); white-space:pre-wrap; font:.86rem/1.55 system-ui,sans-serif; }
.offers-phase .session-side-scenes,.offers-phase>.reading-shell>.tarot-spread,.offers-phase .standalone-session-tools,.offers-phase .global-session-tools,.offers-phase .palmistry-standalone { display:none!important; }
.dream-board { min-height:100%; padding:42px 24px 24px; border:1px solid rgba(138,162,215,.34); border-radius:22px; background:radial-gradient(circle at 50% 32%,rgba(86,98,163,.4),transparent 40%),linear-gradient(155deg,rgba(19,15,48,.98),rgba(7,6,20,.98)); }
.dream-board .panel-label { position:static; display:inline-block; margin-bottom:12px; }
.dream-symbol { position:relative; height:150px; display:grid; place-items:center; overflow:hidden; }
.dream-symbol span { color:#f0dca0; font:4.8rem/1 Georgia,serif; text-shadow:0 0 30px rgba(240,220,160,.4); }
.dream-symbol i { position:absolute; width:5px; height:5px; border-radius:50%; background:#fff2c2; box-shadow:0 0 12px #fff; }
.dream-symbol i:nth-child(2){top:28%;left:23%}.dream-symbol i:nth-child(3){top:16%;right:25%}.dream-symbol i:nth-child(4){bottom:20%;right:18%}
.dream-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dream-steps span { padding:12px 10px; border:1px solid rgba(186,195,231,.18); border-radius:14px; background:rgba(255,255,255,.035); text-align:center; color:var(--text); font:600 .75rem/1.35 system-ui,sans-serif; }
.dream-board>p { margin:18px 4px 0; color:var(--muted); font:.8rem/1.5 system-ui,sans-serif; text-align:center; }
.card-face { position: relative; isolation: isolate; overflow: hidden; aspect-ratio: 1 / 1.12; border: 1px solid rgba(202,169,101,.72); border-radius: 20px; padding: 18px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; text-align: center; background-image: linear-gradient(to bottom,rgba(14,7,25,.04) 38%,rgba(14,7,25,.94) 96%),url('major-arcana-atlas-v1.png'); background-size: 400% 300%; background-position: var(--card-position); box-shadow: 0 22px 60px rgba(0,0,0,.35); }
.card-strength.is-revealed .card-face {
  background-image:linear-gradient(to bottom,rgba(14,7,25,0) 68%,rgba(14,7,25,.74) 100%),url('major-arcana-atlas-v1.png');
  filter:brightness(1.12) saturate(1.08);
}
.card-strength.is-revealed .card-face h2,.card-strength.is-revealed .card-number { filter:none; }
.card-face::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(14,7,25,.18),transparent 20%,transparent 80%,rgba(14,7,25,.18)); }
.card-number { align-self: flex-start; color: var(--gold); font-family: Georgia,serif; }
.card-face h2 { width:calc(100% + 12px); padding:18px 6px 2px; font-family: Georgia,serif; font-size: clamp(1.35rem,3vw,1.9rem); margin: auto -6px -2px; text-shadow:0 2px 12px #08030e; }
.card-reading { padding: 18px 7px; }
.card-reading p { color: var(--muted); line-height: 1.65; }
.demo-chat { margin-top: 42px; padding: clamp(20px,4vw,38px); border: 1px solid var(--line); border-radius: 24px; background: rgba(var(--fondo2-rgb,31,17,53),.8); }
.demo-chat h2 { margin-top: 0; font-family: Georgia,serif; font-size: 1.8rem; }
.voice-controls { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 8px; }
.voice-controls .primary,.voice-controls .secondary { width:auto; margin:0; }
.voice-note { margin:0 0 18px; color:var(--muted); font: .85rem/1.5 system-ui,sans-serif; }
.talk-button.is-listening { animation:pulse 1.2s infinite; box-shadow:0 0 0 0 rgba(237,200,120,.45); }
.chat-log { display: flex; flex-direction: column; gap: 12px; max-height: 340px; overflow: auto; padding: 6px 0 18px; }
.chat-bubble { max-width: 78%; padding: 13px 16px; border-radius: 17px; line-height: 1.55; margin: 0; }
.chat-bubble.guide { background: rgba(122,73,155,.3); border: 1px solid var(--line); align-self: flex-start; }
.chat-bubble.client { background: var(--gold); color: #1b1128; align-self: flex-end; }
.chat-form { display: flex; gap: 10px; }
.chat-form input { flex: 1; border-radius: 999px; border: 1px solid var(--line); background: rgba(var(--fondo-rgb,17,10,32),.82); color: var(--text); padding: 0 18px; min-width: 0; }
.chat-form .primary { width: auto; margin: 0; }
.session-end { display:block; margin:14px 0 0 auto; padding:8px 2px; border:0; background:transparent; color:var(--muted); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.session-end:hover { color:var(--gold); }
.review-consent { display:flex; align-items:flex-start; gap:10px; margin-top:14px; max-width:680px; color:var(--muted); font:.78rem/1.45 system-ui,sans-serif; cursor:pointer; }
.review-consent input { flex:none; width:18px; height:18px; margin-top:1px; accent-color:var(--gold); }
.session-feedback { margin-top:24px; padding:clamp(20px,4vw,34px); border:1px solid var(--line); border-radius:24px; background:rgba(var(--fondo2-rgb,31,17,53),.86); }
.session-feedback[hidden] { display:none!important; }
.session-feedback h2 { margin:0 0 18px; }
.feedback-form fieldset { border:0; padding:0; margin:0 0 16px; }
.feedback-form legend { margin-bottom:8px; color:var(--muted); font:.82rem system-ui,sans-serif; }
.rating-options { display:flex; flex-wrap:wrap; gap:8px; }
.rating-options input { position:absolute; opacity:0; }
.rating-options span { display:block; padding:9px 12px; border:1px solid var(--line); border-radius:999px; cursor:pointer; }
.rating-options input:checked+span { color:#1b1128; background:var(--gold); border-color:var(--gold); }
.feedback-form>label { display:flex; flex-direction:column; gap:8px; color:var(--muted); font:.82rem/1.4 system-ui,sans-serif; }
.feedback-form>label+label { margin-top:14px; }
.feedback-form .feedback-publish-consent { flex-direction:row; align-items:flex-start; padding:14px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.04); cursor:pointer; }
.feedback-publish-consent input { flex:none; width:18px; height:18px; margin:1px 0 0; accent-color:var(--gold); }
.feedback-form textarea { width:100%; border:1px solid var(--line); border-radius:14px; background:rgba(var(--fondo-rgb,17,10,32),.82); color:var(--text); padding:12px; resize:vertical; }
.feedback-form .secondary { width:auto; margin-top:14px; }
.feedback-status { min-height:1.4em; color:var(--gold); font:.82rem system-ui,sans-serif; }
.testimonials { margin:clamp(40px,7vw,76px) 0; }
.testimonials>h2 { max-width:760px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin-top:22px; }
.testimonial-card { margin:0; padding:22px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,rgba(var(--morado-rgb,44,25,70),.22),rgba(var(--fondo2-rgb,31,17,53),.86)); box-shadow:var(--shadow); }
.testimonial-card p { font-size:1.02rem; line-height:1.65; }
.testimonial-card footer { color:var(--gold); font-weight:700; }
.testimonial-stars { color:var(--gold); letter-spacing:3px; }
.session-heading { display:flex; align-items:baseline; justify-content:space-between; gap:18px; }
.session-clock { flex:none; color:var(--gold); font:600 .82rem/1.2 system-ui,sans-serif; }
.session-clock strong { font-variant-numeric:tabular-nums; }
.session-tools { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; }
.session-extend { border:1px solid var(--gold); border-radius:999px; padding:8px 12px; color:var(--gold); background:rgba(237,200,120,.08); cursor:pointer; font:600 .78rem/1 system-ui,sans-serif; }
.session-extend:hover:not(:disabled) { color:#1b1128; background:var(--gold); }
.session-extend:disabled { opacity:.48; cursor:not-allowed; }
.extension-status { flex-basis:100%; min-height:1.2em; color:var(--muted); text-align:right; font:.75rem/1.3 system-ui,sans-serif; }
.demo-chat.is-ended .voice-controls,.demo-chat.is-ended .chat-form,.demo-chat.is-ended .session-end { display:none; }
.closing-offers { margin:28px 0 0; padding:clamp(24px,4vw,38px); border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,rgba(var(--morado-rgb,44,25,70),.24),rgba(var(--fondo2-rgb,31,17,53),.92)); box-shadow:var(--shadow); }
.closing-offers[hidden] { display:none!important; }
.closing-phase .ritual-table,.closing-phase .reading-header,.closing-phase .question-summary,.closing-phase .reveal-controls { display:none!important; }
.closing-phase .consultant-stage { display:none; }
.closing-phase .live-video { display:block; margin-top:0; }
.closing-phase .closing-offers { margin-top:10px; }
.closing-offers h2 { margin:0 0 10px; font-size:clamp(1.8rem,4vw,2.6rem); }
.closing-offers>p:not(.eyebrow) { color:var(--muted); font: .95rem/1.6 system-ui,sans-serif; }
.offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:22px; }
.offer-card { display:flex; flex-direction:column; gap:8px; min-height:112px; padding:18px; border:1px solid var(--line); border-radius:18px; color:var(--text); background:rgba(7,4,14,.38); cursor:pointer; text-align:left; text-decoration:none; font:inherit; }
.offer-card:hover,.offer-card.is-selected { border-color:var(--gold); background:rgba(237,200,120,.1); }
.offer-card strong { color:var(--gold); font:700 1rem/1.35 system-ui,sans-serif; }
.offer-card span { color:var(--muted); font:.84rem/1.5 system-ui,sans-serif; }
.offer-reply { margin:18px 0 0; padding:14px 16px; border-left:2px solid var(--gold); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes pulse { 70% { box-shadow:0 0 0 14px rgba(237,200,120,0); } 100% { box-shadow:0 0 0 0 rgba(237,200,120,0); } }
@keyframes avatarPulse { 70% { transform:scale(1.11); opacity:0; } 100% { transform:scale(1); opacity:0; } }
@keyframes cardReveal { from { opacity:.2; transform:rotateY(88deg) scale(.94); } to { opacity:1; transform:rotateY(0) scale(1); } }
@keyframes videoSpin { to { transform:rotate(360deg); } }
@keyframes shuffleLeft { 0%,100% { transform:translate(0,0) rotate(0); } 50% { transform:translate(-12px,2px) rotate(-8deg); } }
@keyframes shuffleRight { 0%,100% { transform:translate(0,0) rotate(0); } 50% { transform:translate(12px,2px) rotate(8deg); } }
@keyframes timeAlert { from { box-shadow:0 0 0 0 rgba(255,79,100,.18); } to { box-shadow:0 0 0 9px rgba(255,79,100,0); } }
@media (max-width: 760px) { .tarot-spread { grid-template-columns: 1fr; } .tarot-card { display: grid; grid-template-columns: minmax(130px, .65fr) 1fr; gap: 12px; align-items: center; } .chat-form { flex-direction: column; } .chat-form input { min-height: 52px; } .session-heading { align-items:flex-start; flex-direction:column; gap:4px; } }
@media (max-width: 720px) { .video-workspace{grid-template-columns:1fr}.live-video{min-height:auto;aspect-ratio:16/10}.session-side-scenes{min-height:360px}.card-camera-panel{min-height:360px}.card-camera-panel .tarot-spread{grid-template-columns:repeat(3,1fr)}.card-camera-panel .tarot-card{display:block}.card-camera-panel .card-face{min-height:200px} }
@media (max-width: 620px) { .global-session-tools{top:4px;align-items:stretch;flex-direction:column}.global-session-tools .scene-clock{width:100%}.global-session-tools .scene-extension{width:100%;justify-content:center}.global-session-tools .session-extend{width:100%} }
@media (max-width: 640px) { .session-side-scenes{grid-template-columns:1fr;grid-template-rows:190px 330px}.card-camera-panel .tarot-spread{grid-template-columns:repeat(3,1fr)}.card-camera-panel .card-face{min-height:185px}.panel-label{font-size:.68rem}.mode-video .demo-chat .chat-form,.mode-video .demo-chat .voice-controls,.mode-video .demo-chat .voice-note{display:none} }

@media (max-width: 760px) {
  .hero { grid-template-columns: 1fr; min-height: auto; padding: 44px 0; }
  .orb { width: min(300px, 80vw); margin: 0 auto; }
  .reading-grid { grid-template-columns: 1fr; }
  .human-service { align-items: flex-start; flex-direction: column; }
  .human-service .secondary { width: 100%; }
}
.membership-promo,.subscription-shell{width:min(1120px,calc(100% - 32px));margin:50px auto;padding:clamp(24px,5vw,48px);box-sizing:border-box;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(44,25,70,.94),rgba(20,11,36,.92));box-shadow:var(--shadow)}.membership-promo>h2,.subscription-shell>h1{font-size:clamp(2rem,5vw,3.4rem);margin:.25em 0}.membership-promo>p,.subscription-shell>p{color:var(--muted);line-height:1.6}.membership-grid,.subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.membership-grid article,.subscription-card{display:flex;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:20px;background:rgba(8,4,16,.35)}.membership-grid h3,.subscription-card h2{margin:0 0 10px}.membership-grid strong,.subscription-card>strong{color:var(--gold);font-size:1.65rem}.membership-grid small{font-size:.8rem}.membership-grid p,.subscription-card p{color:var(--muted);line-height:1.5;flex:1}.membership-grid .primary,.subscription-card .primary{display:block;text-align:center;text-decoration:none}.membership-note{font-size:.8rem;margin-top:18px}@media(max-width:800px){.membership-grid,.subscription-grid{grid-template-columns:1fr}}
.auth-shell{width:min(620px,calc(100% - 32px));margin:0 auto;padding:40px 0 80px}.auth-shell>a{color:var(--gold)}.auth-card{margin-top:22px;padding:clamp(24px,5vw,42px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(var(--morado-rgb,75,44,130),.55),rgba(var(--fondo-rgb,11,6,20),.96));box-shadow:var(--shadow)}.auth-card h1{margin-top:0;color:var(--text)}.auth-card form{display:grid;gap:16px}.auth-card label:not(.auth-check){display:grid;gap:7px;color:var(--muted);font:.86rem system-ui}.auth-card input:not([type=checkbox]),.auth-card select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:13px;background:rgba(var(--fondo-rgb,11,6,20),.72);color:var(--text)}.auth-check{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font:.82rem/1.45 system-ui}.auth-error{color:var(--rosa,#ffb4b4)}.auth-card button{width:100%}

.recorder-page { min-height:100vh; padding:24px; }
.membership-app{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(237,200,120,.06)}.membership-app div{display:flex;flex-direction:column;gap:5px}.membership-app span{color:var(--muted);font:.82rem/1.45 system-ui}.membership-app button{flex:none}@media(max-width:640px){.membership-app{align-items:stretch;flex-direction:column}.membership-app button{width:100%}}
.passkey-button{width:100%;padding:13px 16px;border:1px solid var(--gold);border-radius:13px;color:var(--fondo,#24132f);background:linear-gradient(135deg,var(--dorado,#edc878),var(--rosa,#f2a7d5));font-weight:900;cursor:pointer}.passkey-button:disabled{opacity:.55;cursor:wait}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font:.8rem system-ui}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}.passkey-panel{display:grid;gap:12px;margin:18px 0;padding:17px;border:1px solid var(--line);border-radius:16px;background:rgba(var(--dorado-rgb,237,200,120),.05)}.passkey-panel h2,.passkey-panel p{margin:0}.passkey-panel h2{font-size:1.15rem}.passkey-panel small{color:var(--muted)}
.recorder-shell { width:min(820px,100%); margin:0 auto; padding:20px 0 60px; }
.recorder-shell > h1 { font-size:clamp(2.5rem,7vw,4.8rem); }
.recorder-intro { max-width:720px; color:var(--muted); font:1rem/1.7 system-ui,sans-serif; }
.recorder-card,.recording-result { margin-top:30px; padding:clamp(18px,4vw,34px); border:1px solid var(--line); border-radius:24px; background:rgba(var(--fondo2-rgb,31,17,53),.86); box-shadow:var(--shadow); }
.camera-preview-wrap { position:relative; overflow:hidden; aspect-ratio:16/9; border-radius:18px; background:#08050e; }
.camera-preview-wrap video,.recording-result video { width:100%; height:100%; object-fit:cover; }
.camera-preview-wrap video { transform:scaleX(-1); }
.recording-badge { position:absolute; top:14px; left:14px; padding:7px 11px; border-radius:999px; color:#fff; background:#a82d3b; font:700 .78rem system-ui,sans-serif; }
.recording-progress { height:7px; overflow:hidden; margin-top:20px; border-radius:999px; background:rgba(255,255,255,.1); }
.recording-progress span { display:block; width:0; height:100%; background:var(--gold); transition:width .3s linear; }
.recording-time { color:var(--muted); font-family:system-ui,sans-serif; }
.recorder-card h2,.recording-result h2 { margin:22px 0 8px; font-size:1.8rem; }
#stage-instruction { color:var(--muted); font:1rem/1.65 system-ui,sans-serif; }
.recorder-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.recorder-actions .primary,.recorder-actions .secondary { width:auto; margin:0; }
.permission-note { margin:18px 0 0; color:#9f91ad; font:.78rem/1.5 system-ui,sans-serif; }
.recording-result video { max-height:520px; border-radius:18px; background:#08050e; }
@media (max-width:600px) { .recorder-page{padding:14px}.camera-preview-wrap{aspect-ratio:9/12}.recorder-actions>*{width:100%!important} }
@media (max-width:600px) { .mode-picker{grid-template-columns:1fr}.mode-video .consultant-stage{align-items:flex-end}.mode-video .avatar-frame{width:130px;height:165px;flex-basis:130px} }
@media (max-width:700px) { .offer-grid{grid-template-columns:1fr} }
@media (max-width:700px) { .session-gate{align-items:stretch;flex-direction:column}.session-gate .primary{width:100%} }


/* Customer console */
.customer-console{margin:0;min-height:100vh;background:#0d0717;color:#f6efff;font-family:Inter,"Segoe UI",system-ui,sans-serif}.customer-sidebar{position:fixed;inset:0 auto 0 0;width:260px;padding:1.5rem 1rem;box-sizing:border-box;background:linear-gradient(180deg,#1d0e31,#10081c);border-right:1px solid rgba(226,188,105,.28);display:flex;flex-direction:column;z-index:80}.customer-brand{font-family:Georgia,serif;font-size:1.3rem;color:#e2bc69;text-decoration:none;padding:.65rem .8rem 1.5rem}.customer-sidebar nav{display:flex;flex-direction:column;gap:.25rem}.customer-sidebar nav a,.customer-signout{padding:.75rem .85rem;border-radius:.65rem;color:#e9def4;text-decoration:none}.customer-sidebar nav a:hover{background:rgba(148,76,188,.22);color:#fff}.customer-signout{margin-top:auto;border:1px solid rgba(255,255,255,.1)}.customer-main{margin-left:260px;padding:2rem;max-width:1280px}.console-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.console-top small{color:#d7ae5e;letter-spacing:.14em}.console-top h1{margin:.35rem 0;font-size:clamp(1.75rem,4vw,2.65rem)}.console-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.console-stat,.console-panel{background:linear-gradient(145deg,rgba(45,22,72,.96),rgba(25,13,43,.96));border:1px solid rgba(226,188,105,.2);border-radius:1rem;padding:1.25rem;box-shadow:0 14px 35px rgba(0,0,0,.2)}.console-stat span,.detail-grid span{display:block;color:#b9a9c8;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.console-stat strong{display:block;font-size:1.55rem;margin:.45rem 0}.console-panel{margin-top:1rem;scroll-margin-top:1rem}.console-panel h2{margin-top:0;color:#f5e6b8}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-title a,.console-panel>a{color:#e2bc69}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.detail-grid p{background:rgba(255,255,255,.035);padding:.85rem;border-radius:.7rem;margin:0}.console-table{overflow:auto}.console-table table{width:100%;border-collapse:collapse;min-width:600px}.console-table th,.console-table td{text-align:left;padding:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.customer-menu-toggle{display:none}.customer-console .primary,.customer-console .passkey-button{display:inline-flex;justify-content:center;padding:.75rem 1rem;border:0;border-radius:.7rem;background:linear-gradient(135deg,#8448b0,#c95b98);color:#fff;text-decoration:none;cursor:pointer}.customer-console form label{display:block;margin:.8rem 0}.customer-console select{width:100%;max-width:360px;padding:.7rem;border-radius:.6rem;background:#170d27;color:#fff;border:1px solid rgba(255,255,255,.15)}
@media(max-width:820px){.customer-menu-toggle{display:flex;position:sticky;top:0;z-index:90;width:100%;padding:.9rem 1rem;border:0;background:#1b0e2c;color:#fff;justify-content:center;gap:.6rem}.customer-sidebar{display:none;position:fixed;top:49px;width:min(320px,88vw);box-shadow:20px 0 45px rgba(0,0,0,.45)}.customer-sidebar.is-open{display:flex}.customer-main{margin-left:0;padding:1rem}.console-top{align-items:flex-start;flex-direction:column}.console-top .primary{width:100%;box-sizing:border-box}.console-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.panel-title{align-items:flex-start;flex-direction:column}}

/* Dynamic theme bridge: values come from the main site's administrator settings. */
.customer-console{background:var(--fondo,#0d0717);color:var(--texto,#f6efff)}
.customer-sidebar{background:linear-gradient(180deg,var(--fondo2,#1d0e31),var(--fondo,#10081c));border-right-color:rgba(var(--dorado-rgb,226,188,105),.28)}
.customer-brand,.panel-title a,.console-panel>a{color:var(--dorado,#e2bc69)}
.customer-sidebar nav a,.customer-signout{color:var(--texto,#f6efff)}
.customer-signout,.console-table th,.console-table td{border-color:var(--line)}
.console-top small,.console-stat strong{color:var(--dorado,#e2bc69)}
.console-stat span,.detail-grid span,.console-panel p,.customer-console form label{color:var(--gris,#c7b8d5)}
.customer-sidebar nav a:hover{background:rgba(var(--morado-rgb,148,76,188),.22)}
.console-stat,.console-panel{background:linear-gradient(145deg,rgba(var(--morado-rgb,45,22,72),.24),rgba(var(--fondo2-rgb,25,13,43),.96));border-color:var(--line)}
.detail-grid p{background:rgba(var(--dorado-rgb,226,188,105),.035)}
.console-panel h2{color:var(--dorado,#f5e6b8)}
.customer-console .primary,.customer-console .passkey-button{background:linear-gradient(135deg,var(--morado,#8448b0),var(--rosa,#c95b98));color:var(--texto,#fff)}
.customer-console select{background:var(--fondo,#170d27);color:var(--texto,#fff);border-color:var(--line)}
@media(max-width:820px){.customer-menu-toggle{background:var(--fondo2,#1b0e2c);color:var(--texto,#fff)}}
.customer-nav-group{display:block;margin:1rem .85rem .25rem;color:var(--dorado,#e2bc69);font-size:.68rem;font-weight:800;letter-spacing:.12em;opacity:.82}.account-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.account-area-card{padding:1.35rem;border:1px solid rgba(var(--dorado-rgb,226,188,105),.24);border-radius:1rem;background:linear-gradient(145deg,rgba(var(--fondo2-rgb,45,22,72),.96),rgba(var(--fondo-rgb,25,13,43),.96));box-shadow:0 14px 35px rgba(0,0,0,.2)}.account-area-card.personal{border-top:3px solid var(--dorado,#e2bc69)}.account-area-card.virtual{border-top:3px solid var(--rosa,#c95b98)}.account-area-card small{color:var(--dorado,#e2bc69);font-weight:800;letter-spacing:.12em}.account-area-card h2{margin:.55rem 0;color:var(--texto,#fff)}.account-area-card p{color:var(--gris,#b9a9c8);line-height:1.55}.account-area-card .primary{margin-top:.35rem}@media(max-width:820px){.account-area-grid{grid-template-columns:1fr}.customer-sidebar nav{overflow-y:auto;padding-bottom:1rem}.customer-nav-group{margin-top:.8rem}}

/* Service selection and customer promotions */
.service-switcher{margin:0 0 22px;padding:clamp(20px,4vw,34px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(var(--morado-rgb,75,44,130),.34),rgba(var(--fondo-rgb,11,6,20),.92));box-shadow:var(--shadow)}
.service-switcher h1{margin:.25rem 0 1.2rem;font-size:clamp(1.65rem,4vw,2.5rem)}
.service-switcher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.service-switcher-grid a{display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;color:var(--text);background:rgba(var(--fondo-rgb,11,6,20),.45);text-decoration:none;font:700 .88rem/1.35 system-ui,sans-serif}
.service-switcher-grid a:hover,.service-switcher-grid a.is-active{border-color:var(--gold);background:rgba(var(--dorado-rgb,237,200,120),.12)}
.service-switcher-grid small{margin-top:5px;color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
.promo-entry{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr);gap:7px 14px;align-items:center;margin:16px 0;padding:17px;border:1px dashed rgba(var(--dorado-rgb,237,200,120),.55);border-radius:14px;background:rgba(var(--dorado-rgb,237,200,120),.055)}
.promo-entry label{color:var(--gold);font:700 .82rem system-ui,sans-serif}
.promo-entry input{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--fondo);color:var(--text);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.promo-entry p{grid-column:1/-1;margin:2px 0 0;color:var(--muted);font:.78rem/1.45 system-ui,sans-serif}
.welcome-gift{padding:14px 16px;border-left:3px solid var(--gold);border-radius:8px;background:rgba(var(--dorado-rgb,237,200,120),.08);color:var(--text);line-height:1.55}
.console-gift{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 1rem;padding:1.25rem;border:1px solid var(--dorado);border-radius:1rem;background:linear-gradient(135deg,rgba(var(--dorado-rgb,226,188,105),.14),rgba(var(--morado-rgb,132,72,176),.18))}

/* All overlays and commercial panels inherit the palette selected in site settings. */
.install-help{border-color:var(--line);color:var(--text);background:var(--panel-strong)}
.install-help::backdrop{background:rgba(var(--fondo-rgb,8,4,15),.82)}
.install-help-card ol{color:var(--muted)}
.install-help-icon{color:var(--fondo);background:var(--gold)}
.install-help-close{color:var(--text);background:rgba(var(--texto-rgb,255,255,255),.1)}
.membership-promo,.subscription-shell{background:linear-gradient(145deg,rgba(var(--morado-rgb,44,25,70),.22),rgba(var(--fondo2-rgb,20,11,36),.94))}
.membership-grid article,.subscription-card{background:rgba(var(--fondo-rgb,8,4,16),.35)}
.membership-app{background:rgba(var(--dorado-rgb,237,200,120),.06)}
.offer-card{background:rgba(var(--fondo-rgb,7,4,14),.38)}
.offer-card:hover,.offer-card.is-selected{background:rgba(var(--dorado-rgb,237,200,120),.1)}
.review-consent,.feedback-form>label{color:var(--muted)}
.console-gift div{display:flex;flex-direction:column;gap:6px}.console-gift strong{color:var(--dorado);font-size:1.15rem}.console-gift span{color:var(--gris)}.console-gift code{width:max-content;padding:7px 10px;border-radius:7px;background:var(--fondo);color:var(--texto);font-weight:900;letter-spacing:.08em}
@media(max-width:720px){.service-switcher-grid{grid-template-columns:1fr 1fr}.promo-entry{grid-template-columns:1fr}.console-gift{align-items:stretch;flex-direction:column}.console-gift .primary{width:100%;box-sizing:border-box}}
@media(max-width:440px){.service-switcher-grid{grid-template-columns:1fr}}
.ready-session-dialog{width:min(520px,calc(100% - 28px));padding:0;border:1px solid var(--dorado);border-radius:24px;color:var(--texto);background:var(--fondo2);box-shadow:0 28px 90px rgba(0,0,0,.58)}
.ready-session-dialog::backdrop{background:rgba(var(--fondo-rgb,8,4,15),.84);backdrop-filter:blur(5px)}
.ready-session-card{display:flex;flex-direction:column;align-items:center;padding:clamp(26px,6vw,46px);text-align:center;background:radial-gradient(circle at 50% 0,rgba(var(--dorado-rgb,226,188,105),.19),transparent 48%)}
.ready-session-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:14px;border-radius:50%;color:var(--fondo);background:var(--dorado);font-size:1.7rem;box-shadow:0 0 28px rgba(var(--dorado-rgb,226,188,105),.35)}
.ready-session-card small{color:var(--dorado);font-weight:900;letter-spacing:.14em}.ready-session-card h2{margin:.55rem 0 .7rem;font-size:clamp(1.65rem,5vw,2.35rem)}.ready-session-card p{margin:.25rem 0 1rem;color:var(--gris);line-height:1.6}.ready-session-card .primary{width:100%;box-sizing:border-box;margin-top:.5rem}.ready-session-card .ready-session-count{color:var(--texto);font-weight:800}.ready-session-later{margin-top:12px;border:0;color:var(--dorado);background:transparent;text-decoration:underline;cursor:pointer}
