/* Host integration only. The supplied inspector and its assets remain unchanged. */
[hidden] { display:none !important; }
.media-carousel { margin-top:42px; border-top:1px solid var(--border-muted); }
.media-stage,.dojo-stage { position:relative; aspect-ratio:16/9; overflow:hidden; background:#080b10; }
.media-stage > img,.media-stage > video,.dojo-stage > img,.dojo-stage > video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.media-stage .media-layer { opacity:0; }
.media-stage .media-poster { z-index:0; }
.media-stage .contour-layer { z-index:5; }
.media-actions { display:none; align-items:center; justify-content:space-between; gap:16px; padding:8px 22px; border-bottom:1px solid var(--border-muted); }
.enhanced .media-actions { display:flex; }
.media-toggle,.media-enlarge,.dojo-toggle { min-height:44px; border:0; background:transparent; font-size:13px; color:#d4cbdc; text-decoration:underline; text-underline-offset:4px; padding:7px 0; }
.media-toggle:disabled,.dojo-toggle:disabled { color:var(--text-muted); cursor:default; text-decoration:none; }
.dojo-stage { border:1px solid var(--border-muted); border-radius:12px; }
.dojo-stage video { opacity:0; }
.dojo-toggle { display:none; }
.enhanced .dojo-toggle { display:block; margin-top:8px; }
.dojo-film figcaption { margin-top:8px; }
.interactive-deck { display:grid; place-items:center; min-height:480px; }
.card-launch { position:relative; display:block; width:min(260px,75%); aspect-ratio:157/267; padding:0; border:1px solid #806445; border-radius:18px; overflow:hidden; background:#0d0e16; box-shadow:0 24px 70px #0009,0 0 50px #906dc114; transform:rotate(-4deg); transition:transform 240ms ease,box-shadow 240ms ease; }
.card-launch img { position:absolute; width:255%; max-width:none; height:auto; left:50%; top:50%; transform:translate(-50%,-50%); }
.card-launch:hover,.card-launch:focus-visible { transform:rotate(0) translateY(-4px); box-shadow:0 30px 70px #000a,0 0 40px #35f0e816; }
.card-launch:disabled { cursor:default; }
#card-inspector-dialog { width:100vw; height:100svh; max-width:none; max-height:none; margin:0; border:0; padding:0; background:radial-gradient(ellipse at center,#20162975,#080911a3 72%); overflow:hidden; animation:none; }
#card-inspector-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
#card-inspector-dialog::backdrop { background:#03030880; backdrop-filter:blur(18px); }
.inspection-top,.inspection-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px max(24px,env(safe-area-inset-right)); }
.inspection-top h2 { font-size:21px; margin:0; letter-spacing:-.02em; }
.inspection-close { flex:none; width:48px; height:48px; background:transparent; border:1px solid #6b5579; border-radius:50%; font-size:30px; }
.inspection-reset { display:none; }
.inspection-reset:focus-visible { outline:2px solid var(--accent-cyan); outline-offset:-3px; }
.inspection-bottom { padding-top:12px; padding-bottom:max(16px,env(safe-area-inset-bottom)); }
.inspection-bottom p { margin:0; color:var(--text-secondary); font-size:13px; }
.inspection-putback,.inspection-retry { min-height:46px; padding:10px 18px; border:1px solid #6b5579; border-radius:7px; background:#1b1227; color:var(--text-primary); font-size:14px; }
.inspection-stage { position:relative; min-height:0; transform-origin:center; }
.inspection-stage iframe { display:block; width:100%; height:100%; border:0; background:transparent; }
.inspection-loading { position:absolute; width:min(500px,80%); height:100%; left:50%; transform:translateX(-50%); object-fit:contain; pointer-events:none; }
.inspection-status { position:absolute; left:24px; right:24px; bottom:14px; margin:0; text-align:center; color:var(--text-secondary); font-size:14px; }
.inspection-retry { display:block; margin:12px auto 0; }
@media(max-width:700px) {
 .media-carousel { margin-top:30px; }
 .media-actions { padding:6px 14px; gap:12px; }
 .media-toggle,.media-enlarge { font-size:12px; }
 .interactive-deck { min-height:430px; }
 .card-launch { width:230px; }
 .inspection-top,.inspection-bottom { padding-inline:16px; gap:12px; }
 .inspection-top h2 { font-size:18px; }
 .inspection-bottom { align-items:flex-start; }
 .inspection-bottom p { max-width:155px; font-size:12px; }
 .inspection-putback { padding-inline:12px; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .card-launch { transition:none; } }

/* Requested presentation controls: only this carousel has navigation arrows. */
.media-stage:focus-visible { outline:2px solid var(--accent-cyan); outline-offset:4px; }
.media-arrow { display:none; position:absolute; z-index:8; top:50%; transform:translateY(-50%); width:48px; height:72px; padding:0; border:0; color:#eee8fa; background:linear-gradient(90deg,#08091170,transparent); font:54px/1 Arial,sans-serif; opacity:.34; transition:opacity 160ms,background 160ms; }
.enhanced .media-arrow { display:block; }
.media-prev { left:0; }.media-next { right:0; background:linear-gradient(270deg,#08091170,transparent); }
.media-stage:hover .media-arrow,.media-arrow:focus-visible,.media-arrow:active { opacity:.92; }
.media-actions { position:relative; flex-direction:row; gap:8px; min-height:44px; padding:0 10px; }
.media-progress-row { display:contents; }
.media-position-row { display:flex; flex:1; min-width:0; align-items:center; gap:8px; }
.media-progress { position:absolute; top:0; left:0; appearance:none; width:100%; height:2px; border:0; border-radius:0; background:#494151; color:#cabece; opacity:.55; }
.media-progress::-webkit-progress-bar { background:#494151; border-radius:6px; }
.media-progress::-webkit-progress-value { background:linear-gradient(90deg,#795793,#c9adcf); border-radius:6px; }
.media-progress::-moz-progress-bar { background:#c9adcf; }
.media-toggle { display:grid; place-items:center; order:2; width:44px; height:44px; padding:0; text-decoration:none; flex:none; color:var(--text-muted); }
.media-glyph { display:block; width:11px; height:13px; border-left:3px solid currentColor; border-right:3px solid currentColor; }
.media-toggle[data-paused="true"] .media-glyph { width:0; height:0; border:6px solid transparent; border-left:10px solid currentColor; border-right:0; margin-left:3px; }
.media-position-row { justify-content:space-between; min-height:44px; margin-top:0; }
.media-dots { display:flex; gap:0; margin-left:0; }
.media-dots button { display:grid; place-items:center; width:30px; height:44px; border:0; background:transparent; padding:0; }
.media-dots span { width:5px; height:5px; background:#716778; border-radius:50%; transition:background 140ms,box-shadow 140ms; }
.media-dots [aria-pressed="true"] span { background:#c9adcf; box-shadow:0 0 5px #caa4e833; }
.media-enlarge { display:grid; place-items:center; flex:none; width:44px; height:44px; min-height:44px; padding:0; color:var(--text-muted); font-size:21px; text-decoration:none; }
.media-toggle:hover,.media-enlarge:hover { color:var(--text-primary); }
.runtime-frame.media-carousel figcaption { padding:14px 20px; gap:32px; font-size:14px; }
.dojo-film { margin:0; }
.card-launch { z-index:2; border-radius:16px; border-color:#8c734d; box-shadow:0 24px 70px #0009,0 0 25px #ac864d18; }
.card-launch img { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; transform:none; }
.card-launch:hover,.card-launch:focus-visible { box-shadow:0 24px 70px #0009,0 0 2px 1px #efcc86,0 0 24px #daa95d66,0 0 58px #d9aa4933; }
.card-launch.is-inspecting { opacity:0; transition:none; }
.inspection-loading { width:min(430px,80%,calc((100svh - 156px) * .5)); height:auto; max-height:none; aspect-ratio:780/1337; top:50%; left:50%; transform:translate(-50%,-50%); border-radius:3%; object-fit:contain; animation:card-preparing 1.15s ease-in-out infinite alternate; }
@keyframes card-preparing { from { filter:brightness(.95) drop-shadow(0 0 8px #d5ad4a18); } to { filter:brightness(1.12) drop-shadow(0 0 16px #d5ad4a44); } }
@media(prefers-reduced-motion:reduce) { .inspection-loading { animation:none; } }
.inspection-bottom-copy { min-width:0; }
.inspection-bottom .inspection-status { position:static; display:flex; align-items:center; gap:12px; text-align:left; margin:0; font-size:13px; line-height:1.5; color:#d3c5df; }
.loading-brand { display:block; flex:none; width:36px; height:36px; background:#47eae6; mask:url('loading-bagua.png') center/contain no-repeat; filter:drop-shadow(0 0 5px #40e3e8aa); animation:bagua-counterclockwise 3s linear infinite; animation-play-state:paused; }
.inspection-status[data-active="true"] .loading-brand { animation-play-state:running; }
@keyframes bagua-counterclockwise { from { transform:rotate(0deg); } to { transform:rotate(-360deg); } }
.loading-dots { display:inline-flex; width:3ch; font-family:ui-monospace,Consolas,monospace; white-space:pre; }
.loading-dots i { display:block; flex:none; width:1ch; font-style:normal; opacity:0; }.loading-dots i.is-lit { opacity:1; }
.inspection-status.is-error .loading-brand { display:none; }
#card-inspector-dialog[data-waiting="true"] .inspection-bottom p { display:none; }
@media(max-width:700px) { .inspection-bottom .inspection-status { gap:9px; font-size:12px; }.loading-brand { width:29px; height:29px; }.inspection-status > span:last-child { max-width:155px; } }
@media(prefers-reduced-motion:reduce) { .loading-brand { animation:none; } }
.interactive-deck { position:relative; isolation:isolate; overflow:hidden; }
.deck-dust { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; }
.deck-ray { position:absolute; z-index:0; left:12%; top:-5%; width:52%; height:105%; transform:rotate(-23deg); mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent); pointer-events:none; }
.deck-ray-light { position:absolute; inset:0; background:linear-gradient(180deg,#d8b77d26,transparent 86%); filter:blur(18px); mask-image:linear-gradient(0deg,transparent,#000 20%,#000 75%,transparent); }
.deck-ray-two { left:47%; width:30%; transform:rotate(25deg); opacity:.6; }
#card-inspector-dialog { background:transparent; }
#card-inspector-dialog::backdrop { background:#0906118f; backdrop-filter:blur(20px); }
#card-inspector-dialog::backdrop { transition:background 360ms ease,backdrop-filter 360ms ease; }
#card-inspector-dialog[data-closing="true"]::backdrop { background:#09061100; backdrop-filter:blur(0); }
.inspection-top,.inspection-bottom { transition:opacity 360ms ease; }
#card-inspector-dialog[data-closing="true"] .inspection-top,#card-inspector-dialog[data-closing="true"] .inspection-bottom { opacity:0; pointer-events:none; }
.inspection-bottom p.canvas-focused { color:#74e6de; text-decoration:underline; text-underline-offset:5px; }
.session-option { overflow:hidden; }
.session-option > .session-layout { --table-opacity:0; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; opacity:var(--table-opacity); pointer-events:none; border-radius:inherit; mask-image:radial-gradient(ellipse 150px 160px at var(--card-x,50%) var(--card-y,50%),#000 5%,#0008 48%,transparent 100%); transition:opacity 220ms ease-out; }
.session-option.is-surface-active > .session-layout { --table-opacity:.36; }
/* Separate layers let the full idle table fade smoothly into the pointer spotlight. */
.session-option > .session-layout-idle { --table-opacity:.42; mask-image:none; -webkit-mask-image:none; }
.session-option.is-surface-active > .session-layout-idle { --table-opacity:.42; }
html.ready-fades .session-option > .session-layout[data-ready-state="ready"],html.ready-fades .session-option > .session-layout[data-ready-state="error"] { opacity:var(--table-opacity); }
@media (hover:hover) and (pointer:fine) and (min-width:701px) {
 .session-option:not(.is-surface-active)::after { opacity:1; background:linear-gradient(135deg,#b3802b20,#ffe6a509 36%,#37200a29); }
}
.session-option header,.session-option .session-description,.session-option > button { position:relative; z-index:2; }
.reading-keepsakes { align-items:start; gap:52px; }
.dojo-film { position:sticky; top:24px; }
.deliverables { list-style:none; margin:0; padding:0 0 0 23px; border-left:1px solid #6c5779; }
.deliverables li { position:relative; margin:0 0 24px; }
.deliverables li::before { content:""; position:absolute; width:7px; height:7px; border:1px solid #c9a768; background:#19121f; border-radius:50%; left:-28px; top:11px; box-shadow:0 0 10px #b89a4433; }
.deliverables h3 { font-size:23px; margin:0 0 8px; }
.deliverables p,.future-reading p { font-size:15px; color:var(--text-secondary); margin:0; }
.future-reading { border-top:1px solid var(--border-muted); padding-top:20px; margin-top:26px; }
.future-reading h3 { font-size:17px; margin:0 0 8px; }
.faq { position:relative; isolation:isolate; }
.faq-constellation { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.faq h2,.faq-items { position:relative; z-index:1; }
.faq h2 { align-self:start; }
.faq-items { padding-left:24px; }
.faq details[open] summary { color:#dcd1ed; }
@media(max-width:700px) {
 .media-actions { padding-inline:10px; }
 .media-arrow { width:44px; height:60px; font-size:44px; }
 .media-dots button { width:26px; }.media-dots { margin-left:0; }
 .media-enlarge { font-size:21px; }
 .runtime-frame.media-carousel figcaption { padding:12px 14px; gap:12px; font-size:13px; }
 .dojo-film { position:static; }
 .reading-keepsakes { gap:30px; }
 .deliverables h3 { font-size:21px; }
 .deliverables p { font-size:14px; }
 .faq h2 { max-width:100%; font-size:31px; }
 .faq-items { padding-left:20px; }
 .session-option > .session-layout { mask-image:radial-gradient(ellipse 105px 130px at var(--card-x,50%) var(--card-y,50%),#000 5%,#0008 45%,transparent 100%); }
}

/* Mobile inspection keeps the reading field and accessible glyphs in charge. */
@media (max-width:700px), (max-width:1000px) and (max-height:500px) and (pointer:coarse) {
 #card-inspector-dialog { height:100dvh; }
 #card-inspector-dialog[open] { grid-template-rows:auto minmax(0,1fr); }
 .inspection-top { position:relative; display:flex; justify-content:center; width:100%; min-height:60px; gap:0; padding:8px 60px; padding-top:max(8px,env(safe-area-inset-top)); }
 .inspection-top h2 { width:100%; margin:0; font-size:16px; line-height:1.3; text-align:center; }
 .inspection-reset { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; color:var(--text-primary); background:transparent; font:22px/1 Arial,sans-serif; }
 .inspection-reset:disabled { opacity:.35; }
 .inspection-close { width:44px; height:44px; padding:0; border:0; font-size:22px; }
 .inspection-reset,.inspection-close { position:absolute; top:max(8px,env(safe-area-inset-top)); margin:0; }
 .inspection-reset { left:max(8px,env(safe-area-inset-left)); }
 .inspection-close { right:max(8px,env(safe-area-inset-right)); }
 .inspection-bottom { position:absolute; inset:auto 12px max(10px,env(safe-area-inset-bottom)); z-index:6; padding:0; pointer-events:none; }
 .inspection-bottom p,.inspection-putback { display:none; }
 .inspection-bottom .inspection-status { padding:10px 12px; border-radius:7px; background:#1b1227; }
 .inspection-status > span:last-child { max-width:none; }
}

/* The prompt stays on the lower third of the same physical card back. */
.card-reveal-prompt { --reveal-gold:#f0dbaa; --reveal-edge:#eac573c9; position:absolute; z-index:3; left:7%; right:7%; bottom:17%; padding:13px 8px; border:1px solid var(--reveal-edge); border-radius:5px; color:var(--reveal-gold); background:linear-gradient(125deg,#181724e6,#0a111ce6); box-shadow:0 0 7px #eac57342,inset 0 0 12px #eac57312; font:600 clamp(15px,1.25vw,18px)/1.35 var(--font-body); letter-spacing:.025em; text-align:center; text-shadow:0 0 7px #eac57338; pointer-events:none; opacity:0; transition:opacity 240ms ease; }
.card-reveal-prompt::before,.card-reveal-prompt::after { content:''; position:absolute; inset:4px auto 4px 4px; width:7px; border-block:1px solid var(--reveal-gold); border-left:1px solid var(--reveal-gold); opacity:.55; }
.card-reveal-prompt::after { left:auto; right:4px; transform:scaleX(-1); }
.card-reveal-prompt[data-phase="cycle"] { transition-duration:2s; }
@media(prefers-reduced-motion:reduce) { .card-reveal-prompt { transition:none; } }

/* Naked Tarot's two booking surfaces: gold glass inside, atmosphere outside. */
.session-option,.session-option + .session-option {
 --offer-gold:#eac573; --offer-core:#fff0c8; --offer-cloud:#deb05866; --offer-aura-size:28px; --offer-cloud-reach:32px; --offer-feather:18px;
 overflow:visible; border-color:var(--offer-gold); background:linear-gradient(135deg,#2c2117,#0c0d13 57%,#211a16);
 box-shadow:inset 0 1px 0 #fff1ca66,inset 0 0 24px #cfa54e0c,0 0 3px #ffdf9a55,0 0 12px #ddb56226,0 0 26px #d7a84c10,0 16px 35px #0005;
}
.session-option::after { border-radius:inherit; }
.session-option > .offer-atmosphere { position:absolute; inset:calc(-1 * var(--offer-aura-size)); padding:var(--offer-aura-size); border-radius:40px; pointer-events:none; z-index:-1; mask-image:linear-gradient(0deg,transparent,#000 var(--offer-feather),#000 calc(100% - var(--offer-feather)),transparent); clip-path:var(--offer-outside-clip); }
.offer-clouds,.offer-stardust { position:absolute; inset:0; pointer-events:none; border-radius:inherit; mask-image:linear-gradient(90deg,transparent,#000 var(--offer-feather),#000 calc(100% - var(--offer-feather)),transparent); }
/* Edge mist forms, smolders outward, then dissipates; perimeter sway stays small. */
.offer-cloud-puff { position:absolute;left:0;top:0;width:118px;height:40px;transform:translate(-50%,-50%) rotate(var(--mist-angle,0deg)); }
.offer-cloud-puff::before,.offer-cloud-puff::after { content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 55% 50%,#fff4d999 0%,#f3d39866 11%,#dbb37933 29%,#c8a47116 49%,#b78d4c06 67%,transparent 87%);filter:blur(3px);animation:offer-radiate var(--cloud-billow) ease-out var(--cloud-phase) infinite;animation-play-state:paused; }
.offer-cloud-puff::after { inset:14% 12% 14% -16%;filter:blur(5px);animation-delay:calc(var(--cloud-phase) - 3s);animation-duration:calc(var(--cloud-billow) + 2s); }
.offer-cloud-puff.is-small-wisp { width:92px;height:30px; }
.offer-stardust i { position:absolute;left:0;top:0;width:2px;height:2px;border-radius:50%;background:var(--offer-core);box-shadow:0 0 4px #ffde9c66;opacity:.25;animation:offer-ember var(--dust-period) ease-out var(--dust-delay) infinite;animation-play-state:paused; }
.is-offer-animated .offer-cloud-puff,.is-offer-animated .offer-cloud-puff::before,.is-offer-animated .offer-cloud-puff::after,.is-offer-animated .offer-stardust i { animation-play-state:running; }
@keyframes offer-edge-sway { from { offset-distance:calc(var(--cloud-index) * 10% - 1%); } to { offset-distance:calc(var(--cloud-index) * 10% + 1%); } }
@keyframes offer-radiate { 0% { transform:translate(-4px,0) scale(.65,.6);opacity:0; } 18% { opacity:.48; } 55% { transform:translate(2px,calc(var(--mist-rise) * .6)) scale(1.05,.95);opacity:.3; } 100% { transform:translate(6px,var(--mist-rise)) scale(1.35,1.18);opacity:0; } }
@keyframes offer-ember { 0%,100% { opacity:0;transform:translateY(0) scale(.5); } 22% { opacity:.55;transform:translateY(-2px) scale(1); } 85% { opacity:.12;transform:translateY(-11px) scale(.7); } 99% { opacity:0;transform:translateY(-13px) scale(.5); } }
.session-option,.session-option + .session-option { --mist-rise:-18px; }
@media(max-width:700px) { .session-option,.session-option + .session-option { --offer-aura-size:18px;--offer-cloud-reach:21px;--offer-feather:12px;--mist-rise:-11px; } .offer-cloud-puff { width:98px;height:30px; }.offer-cloud-puff.is-small-wisp { width:78px;height:24px; } }
@media(prefers-reduced-motion:reduce) { .offer-cloud-puff,.offer-cloud-puff::before,.offer-cloud-puff::after,.offer-stardust i { animation:none; } .offer-cloud-puff::before,.offer-cloud-puff::after { opacity:.2; } }
.session-option > .offer-scroll-glint { display:none; position:absolute; inset:0; z-index:1; overflow:hidden; border-radius:inherit; pointer-events:none; opacity:var(--offer-glint-power,0); transition:opacity 180ms ease; mix-blend-mode:screen; }
.offer-scroll-glint::before { content:'';position:absolute;inset:-15%;background:linear-gradient(115deg,transparent 41%,#e8baff85 47%,#8ecfff99 49%,#91ecdd8c 50%,#ffedae99 52%,#f4aac470 54%,transparent 59%);transform:translateX(var(--offer-glint-x,-90%)); }
@media (hover:none), (pointer:coarse), (max-width:700px) {
 .session-option > .session-layout:not(.session-layout-idle) { display:none; }
 .session-option > .session-layout-idle,.session-option.is-surface-active > .session-layout-idle { display:block; --table-opacity:.42; opacity:var(--table-opacity); mask-image:none; -webkit-mask-image:none; transform:translateZ(0); }
 .offer-cloud-puff::after { display:none; }
 .offer-cloud-puff::before { filter:none; }
 .offers-scrolling .offer-cloud-puff::before,.offers-scrolling .offer-stardust i { animation-play-state:paused; }
 .session-option::after,.session-option:hover::after,.session-option:focus-within::after { opacity:1; background:linear-gradient(135deg,#b3802b20,#ffe6a509 36%,#37200a29); }
 .session-option > .offer-scroll-glint { display:block; }
}
@media(prefers-reduced-motion:reduce) { .session-option > .offer-scroll-glint { opacity:0; transition:none; } }
.motion-paused .session-option > .offer-scroll-glint { opacity:0;transition:none; }
@media(max-width:700px), (max-width:1000px) and (max-height:500px) and (pointer:coarse) {
 #card-inspector-dialog[data-full-card="true"][open] { grid-template-rows:minmax(0,1fr); }
 #card-inspector-dialog[data-full-card="true"] .inspection-top,#card-inspector-dialog[data-full-card="true"] .inspection-bottom { display:none; }
}

.session-option:hover,.session-option:focus-within { border-color:var(--offer-gold); }
