/* v9 restores the original page composition and actual IP globe inside a smaller crystal. */
.psy-welcome-art:has(.oraclys-orbit-home){pointer-events:auto;max-width:580px}
.oraclys-orbit-home{position:relative;width:100%;min-width:0}
.oraclys-orbit-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:1;min-width:0;overflow:visible}
.oraclys-orbit-nebula{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse at 53% 48%,#9482b51c 0%,#5a426b0a 45%,transparent 70%);filter:blur(13px);pointer-events:none}
.oraclys-orbit-track{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#baa37a4a;stroke-width:1;overflow:visible;pointer-events:none}
.oraclys-orbit-track.is-back{z-index:40;opacity:.45;stroke-dasharray:2 9}
.oraclys-orbit-track.is-front{z-index:190;opacity:.75;filter:drop-shadow(0 0 3px #a58abb30)}
.oraclys-crystal-core{position:absolute;left:50%;top:48%;width:37%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:150;pointer-events:none;filter:drop-shadow(-8px 12px 16px #000a)}
.oraclys-crystal-core:before{content:'';position:absolute;inset:-22%;border-radius:50%;background:radial-gradient(circle,#bc9ce11e,transparent 69%);pointer-events:none}
.oraclys-crystal-core .earth-experience{width:100%;margin:0}
.oraclys-crystal-core .earth-orbit{display:none}
.oraclys-crystal-core .earth-depth{transform:rotateX(var(--moon-rx)) rotateY(var(--moon-ry))}
/* Match the native raster's upper-right key light; preserve its dark limb.
   The texture-loading surface and rendered globe both have radius 47%. */
.oraclys-crystal-core .earth-canvas{filter:saturate(.92) contrast(1.12) brightness(1.05)}
.oraclys-crystal-core .earth-canvas:not([data-ready="true"]){clip-path:circle(47% at 50% 50%);background:radial-gradient(ellipse at 70% 25%,#c5d5ec65,transparent 20%),radial-gradient(circle at 65% 30%,#4b607d,#26354e 30%,#0b1122 63%,#02040c 90%)}
.oraclys-crystal-glass{position:absolute;z-index:5;inset:3%;border-radius:50%;border:1px solid #c2d6ef38;background:radial-gradient(ellipse at 69% 23%,#f6f8ff78 0%,#d9e6ff30 5%,transparent 19%),radial-gradient(ellipse at 78% 34%,#b8d4ff12,transparent 43%),radial-gradient(ellipse at 22% 82%,#09051738,transparent 49%);box-shadow:inset -2px 2px 4px #d9e9ff69,inset 7px -8px 16px #02030d91,inset 1px -1px 3px #c5a6e04d,0 0 12px #adc9ef19;pointer-events:none}
.oraclys-crystal-glass:after{content:'';position:absolute;inset:4%;border-radius:50%;border:1px solid transparent;border-top-color:#e2ecff59;transform:rotate(33deg);mask-image:linear-gradient(100deg,transparent 35%,#000 72%,transparent 96%)}
.oraclys-orbit-node{--node-size:clamp(34px,4.4vw,52px);position:absolute;display:grid;place-items:center;left:50%;top:48%;width:var(--node-size);min-width:44px;min-height:52px;margin:0;padding:0;border:0;border-radius:50%;background:none;color:#cdbda5;cursor:pointer;will-change:transform,left,top;transform-origin:center;touch-action:manipulation}
.oraclys-orbit-node>.oraclys-cast-portrait{width:var(--node-size);height:auto;aspect-ratio:2/3;border-radius:46% 46% 39% 39%;box-shadow:0 0 17px #c8b6e122,inset 0 0 0 1px #d0b98c6b;mask-image:linear-gradient(#000 78%,transparent 100%);filter:saturate(.72) brightness(.94);transition:filter .25s}
.oraclys-orbit-node:hover>.oraclys-cast-portrait,.oraclys-orbit-node:focus-visible>.oraclys-cast-portrait{filter:saturate(.95) brightness(1.18)}
.oraclys-orbit-node:focus-visible{outline:1px solid #dfc799;outline-offset:6px}
.oraclys-orbit-label{position:absolute;left:50%;top:calc(100% + 1px);transform:translateX(-50%);width:max-content;max-width:130px;box-sizing:border-box;padding:4px 8px;border:1px solid #b69a6b40;border-radius:5px;background:#15101ee8;color:#e0cda9;font:10px/1.5 system-ui,sans-serif;opacity:0;visibility:hidden;pointer-events:none;text-align:center}
.oraclys-orbit-node:hover>.oraclys-orbit-label,.oraclys-orbit-node:focus-visible>.oraclys-orbit-label{opacity:1;visibility:visible}
.oraclys-orbit-location{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 10px;font:10px/1.6 system-ui,sans-serif;color:#9e91a4;margin:-12px 0 0;text-align:center;min-height:17px}
.oraclys-orbit-location[hidden]{display:none}
.oraclys-orbit-location strong{font-weight:400;color:#dec69d;letter-spacing:.04em}
.oraclys-orbit-hint{font:10px/1.7 system-ui,sans-serif;color:#a494a7;letter-spacing:.03em;text-align:center;margin:12px 0 0}
.oraclys-orbit-analysis{position:relative;margin:0 auto;width:min(490px,100%)}
.oraclys-orbit-analysis .oraclys-orbit-stage{height:300px;aspect-ratio:auto}
.oraclys-orbit-analysis .oraclys-orbit-node{--node-size:43px;cursor:default}
.has-cast .oraclys-lab-traditions{display:none}
.has-cast .oraclys-lab-scene{margin:0 0 14px}
.oraclys-character-dialog{position:fixed;width:min(760px,calc(100vw - 32px));max-height:90dvh;box-sizing:border-box;padding:38px 30px 28px;border:1px solid #bfa37566;border-radius:20px;background:radial-gradient(ellipse at 0 20%,#5a3b5433,transparent 70%),#14101b;color:#dfd1bd;box-shadow:0 30px 100px #000a;overflow:auto}
.oraclys-character-dialog::backdrop{background:#07050de0;backdrop-filter:blur(8px)}
.oraclys-character-close{position:absolute;right:10px;top:8px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#c9ae7d10;color:#ddc7a1;font:25px/1 system-ui;cursor:pointer}
.oraclys-character-close:focus-visible{outline:2px solid #e7c995;outline-offset:3px}
.oraclys-character-layout{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);align-items:center;gap:30px}
.oraclys-character-layout figure,.oraclys-story-character{margin:0;min-width:0;text-align:center}
.oraclys-cast-portrait.oraclys-character-art{width:100%;height:auto;aspect-ratio:2/3;border-radius:12px}
.oraclys-character-layout figcaption,.oraclys-story-character figcaption{margin-top:12px;font:11px/1.7 system-ui,sans-serif;color:#ac9c87}
.oraclys-character-layout figcaption strong,.oraclys-story-character figcaption strong{display:block;color:#dec59c;font-weight:400}
.oraclys-character-layout figcaption span,.oraclys-story-character figcaption span{display:block;margin-top:3px}
.oraclys-character-copy{min-width:0}
.oraclys-character-kicker{font:10px/1.5 system-ui,sans-serif;letter-spacing:.05em;color:#a89a86;margin:0 0 10px}
.oraclys-character-copy h2{font-family:var(--serif);font-weight:400;font-size:35px;line-height:1.3;margin:0;color:#edd4aa}
.oraclys-character-school{font-size:14px;color:#ceb58d;margin:8px 0 20px}
.oraclys-character-copy>p:not([class]){font-size:13px;line-height:1.95;color:#c3b6a7;margin:0}
.oraclys-character-prop{margin-top:22px;padding-top:15px;border-top:1px solid #c3a37233}
.oraclys-character-prop small{display:block;font:10px/1.5 system-ui,sans-serif;color:#9f8e79}
.oraclys-character-prop strong{display:block;margin-top:5px;font-size:14px;line-height:1.7;font-weight:400;color:#dfc89f}
.oraclys-character-prop .oraclys-costume-label{margin-top:12px}
.oraclys-character-prop>span{display:block;font:12px/1.7 system-ui,sans-serif;color:#c5b69e;margin-top:4px}

.oraclys-story-character{width:100%;max-width:260px;margin:10px auto 20px}
.oraclys-story-character .oraclys-character-art,.oraclys-character-layout .oraclys-character-art{transform-origin:0 0}
.oraclys-story-presenter .oraclys-cast-portrait{display:none}
.oraclys-story-presenter .oraclys-reader-card{padding-bottom:13px}
.oraclys-story-presenter .oraclys-reader-card.is-full strong{font-size:30px}
@media(max-width:700px){
 .psy-welcome-art:has(.oraclys-orbit-home){width:min(430px,100%);max-width:100%;margin:-10px auto 19px}
 .oraclys-orbit-node{--node-size:36px}
 .oraclys-orbit-location{font-size:9px;margin-top:-8px}
 .oraclys-orbit-hint{font-size:9px;margin-top:8px}
 .oraclys-character-dialog{padding:34px 22px 25px;width:calc(100vw - 28px);border-radius:14px}
 .oraclys-character-layout{grid-template-columns:1fr;gap:20px}
 .oraclys-character-layout figure{width:152px;margin:auto}
 .oraclys-character-copy h2{font-size:28px}
 .oraclys-character-school{margin-bottom:13px}
 .oraclys-character-prop{margin-top:14px;padding-top:12px}
 .oraclys-story-character{width:140px;margin:5px auto 14px}
 .oraclys-story-character figcaption{font-size:10px;margin-top:7px}
 .oraclys-story-presenter .oraclys-reader-card.is-full strong{font-size:25px}
 .oraclys-orbit-analysis .oraclys-orbit-stage{height:255px}
 .oraclys-orbit-analysis .oraclys-orbit-node{--node-size:34px}
}
@media(max-width:390px){.oraclys-orbit-node{--node-size:32px}.oraclys-orbit-analysis .oraclys-orbit-stage{height:225px}.oraclys-orbit-label{max-width:88px;font-size:9px}}
@media(max-height:700px) and (min-width:701px){.oraclys-orbit-analysis .oraclys-orbit-stage{height:240px}.oraclys-orbit-analysis{max-width:420px}}
html[data-motion="off"] .oraclys-crystal-core .earth-depth{transform:none}
@media(prefers-reduced-motion:reduce){.oraclys-orbit-node>.oraclys-cast-portrait{transition:none}.oraclys-crystal-core .earth-depth{transform:none}}
@media print{.oraclys-character-dialog{display:none!important}}
/* Home hero v3 (2026-10-17): live Earth, ten orbiting objects and light streams. Adapted from
   the designer package integration/live-hero.css; the package's own pause button is not used
   (the site-wide motion control drives it). Default is the orbit home; switch with HOME_HERO in council-landing.js. */
.henoraclys-live-slot{width:100%;min-width:0;aspect-ratio:1}
.henoraclys-live{width:100%;min-width:0;position:relative;color:#e9dfcb}
/* Backdrop blends into the page (Henry, 2026-10-17): no opaque disc. The stage itself is
   transparent and unclipped (objects, glow and tooltips are never cut by a circle); the dark
   veil layer is masked by a radial fade, opaque behind the Earth, half dark behind the orbiting
   objects and fully transparent at 94 % of the radius, so no edge shows against the nebula.
   Without mask support, a plain radial gradient with the same stops replaces it. */
.henoraclys-live-stage{position:relative;isolation:isolate;aspect-ratio:1;width:100%;overflow:visible;background:none}
.henoraclys-live-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(#020713df,#020713e8),var(--veil-image,none) center/cover;z-index:-1;pointer-events:none;-webkit-mask-image:radial-gradient(circle closest-side,#000 0,#000 46%,#0009 72%,#0000 94%);mask-image:radial-gradient(circle closest-side,#000 0,#000 46%,#0009 72%,#0000 94%)}
@supports not ((mask-image:none) or (-webkit-mask-image:none)){.henoraclys-live-stage:before{background:radial-gradient(circle closest-side,#020713e6 0,#020713e6 46%,#0207138a 72%,#02071300 94%)}}
.henoraclys-live-earth{position:absolute;left:22%;top:22%;width:56%;height:56%;z-index:1;opacity:0;transition:opacity .6s}
.henoraclys-live-stage[data-ready=true] .henoraclys-live-earth{opacity:1}
.henoraclys-live-capture{display:none!important}
.henoraclys-live-aura{position:absolute;left:24%;top:24%;width:52%;height:52%;border-radius:50%;box-shadow:0 0 22px 3px #467fbc24,0 0 68px 8px #225b8c14;z-index:0;pointer-events:none}
.henoraclys-live-energy{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.henoraclys-live-tool{position:absolute;transform:translate(-50%,-50%);min-width:44px;min-height:44px;aspect-ratio:1;display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation;border-radius:12px;-webkit-tap-highlight-color:transparent}
.henoraclys-live-tool img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;pointer-events:none}
.henoraclys-live-tool:focus-visible{outline:2px solid #e7c993;outline-offset:5px}
.henoraclys-live-tooltip{position:absolute;bottom:-27px;left:50%;transform:translateX(-50%);background:#09101fe8;border:1px solid #ac946a70;border-radius:7px;padding:5px 9px;color:#f1dfb8;font:12px/1.3 system-ui,sans-serif;white-space:nowrap;opacity:0;pointer-events:none}
.henoraclys-live-tool:is(:hover,:focus-visible) .henoraclys-live-tooltip{opacity:1}
/* Lower objects: tooltip above (live-hero.js sets data-tip). The stage no longer clips its
   children (overflow visible, no circle), so tooltips are never cut; this placement and body
   overflow-x:hidden keep them on screen without a horizontal scroll. */
.henoraclys-live-tool[data-tip=above] .henoraclys-live-tooltip{bottom:auto;top:-27px}
@media(prefers-reduced-motion:reduce){.henoraclys-live-earth{transition:none}}
/* Full circle below the masthead (Henry, 2026-10-17). content-journey.css lifts the home art
   with a negative top margin (v32, for the old orbit's empty upper space), which put the live
   circle's top under the sticky masthead on desktop. The live home starts at its row top
   instead; phones already use margin-top 0. Only the art column moves; the hint stays below. */
html[data-mode="journey"] .psy-welcome-art:has(.oraclys-orbit-home.oraclys-live-home){margin-top:0}
