/* Reusable SVG/CSS journeys: no video or large animation files. */
.card-journey-page{margin:0;min-height:100dvh;background:#000;color:#eee;font-family:Georgia,serif;overflow:hidden}.card-journey-page #card-journey,.card-journey-dialog{--journey-duration:3800ms;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0!important;background:#000!important;color:#eee!important;overflow:hidden!important;isolation:isolate}.card-journey-dialog::backdrop{background:#000}.journey-art{position:absolute;inset:0;display:grid;place-items:center;perspective:700px;background:radial-gradient(ellipse at center,#dce5f524,#000 64%);overflow:hidden}.journey-art svg{width:min(92vmin,700px);height:min(92vmin,700px);fill:none;stroke:#e6ebf4;stroke-width:.7;opacity:.7;will-change:transform,opacity}.journey-rings circle:nth-child(2n){stroke-dasharray:3 11}.journey-rings circle:nth-child(3n){stroke-dasharray:35 14}.journey-orbit{stroke:#fff8;transform-origin:200px 200px;animation:journey-orbit 3s linear infinite}.journey-brand{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:35px;text-align:center;pointer-events:none;animation:journey-reveal var(--journey-duration) ease both}.journey-brand img{max-width:145px;max-height:110px;object-fit:contain}.journey-brand img[hidden]{display:none}.journey-brand h1{font:bold italic clamp(22px,4vw,40px)/1.25 Georgia,serif;color:#eee!important;max-width:700px;margin:0;text-shadow:0 0 28px #ffffff55}.journey-black{position:absolute;inset:0;background:#000;pointer-events:none;animation:journey-black var(--journey-duration) ease both}.journey-controls{position:absolute;z-index:4;bottom:max(28px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;justify-content:space-between;gap:20px}.journey-controls :is(a,button){color:#ddd!important;background:#0008!important;border:1px solid #ffffff40!important;border-radius:22px!important;padding:11px 17px!important;font:13px Georgia,serif!important;text-decoration:none;cursor:pointer;min-height:44px}.journey-controls :focus-visible{outline:2px solid white;outline-offset:4px}
[data-effect=time] .journey-art svg{animation:journey-time var(--journey-duration) cubic-bezier(.26,.1,.43,1) both}[data-effect=portal] .journey-art svg{animation:journey-portal var(--journey-duration) ease-in-out both}[data-effect=sweep] .journey-art svg{animation:journey-sweep var(--journey-duration) ease-in-out both}[data-effect=sweep] .journey-art::after{content:'';position:absolute;inset:-100%;background:linear-gradient(115deg,transparent 43%,#ffffff09 46%,#ffffff85 50%,#ffffff09 54%,transparent 57%);animation:journey-glide var(--journey-duration) ease-in-out both}[data-effect=fade] .journey-art,[data-effect=fade] .journey-brand{display:none}[data-effect=fade] .journey-black{animation:none;background:#000}
@keyframes journey-time{0%{transform:rotate(0) scale(.2);opacity:0}18%{opacity:.85}65%{transform:rotate(-600deg) scale(2.2);opacity:.8}100%{transform:rotate(-1000deg) scale(7);opacity:0}}@keyframes journey-portal{0%{transform:rotateX(65deg) rotateY(-30deg) scale(.25);opacity:0}20%{opacity:.8}72%{transform:rotateX(0) rotateY(0) scale(2);opacity:.9}100%{transform:scale(5);opacity:0}}@keyframes journey-sweep{0%{transform:translateX(-45%) rotateY(65deg) scale(.65);opacity:0}25%{opacity:.6}75%{transform:translateX(25%) rotateY(-25deg) scale(1.8);opacity:.75}100%{transform:translateX(80%) rotateY(-65deg) scale(3);opacity:0}}@keyframes journey-glide{from{transform:translateX(-45%)}to{transform:translateX(45%)}}@keyframes journey-reveal{0%,12%{opacity:0;transform:scale(.92)}38%,70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.06)}}@keyframes journey-black{0%{opacity:1}24%,66%{opacity:0}100%{opacity:1}}@keyframes journey-orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.journey-art,.journey-brand{display:none!important}.journey-black{animation:none!important}.journey-orbit{animation:none!important}}


/* Cinematic illustrated scenes: suppress all inherited generic spinning art. */
.journey-art .scene-illustration{position:relative;width:min(85vmin,540px);height:min(85vmin,540px);stroke:none;opacity:1;overflow:visible;transform-origin:center;will-change:transform,opacity}
[data-effect=time] .journey-art .scene-illustration{animation:earth-spin var(--journey-duration) ease-in both!important}
[data-effect=dunk] .journey-art .scene-illustration{animation:fireball-entry var(--journey-duration) ease-in-out both!important}
[data-effect=garden] .journey-art .scene-illustration{animation:tree-entrance var(--journey-duration) ease-out both!important}
[data-effect=casino] .journey-art .scene-illustration{animation:slots-shake var(--journey-duration) ease-in-out both!important}
[data-effect=calm] .journey-art .scene-illustration{animation:water-scene var(--journey-duration) ease-in-out both!important}
[data-effect=pulse] .journey-art .scene-illustration{animation:line-scene var(--journey-duration) ease both!important}
[data-effect=architect] .journey-art .scene-illustration{animation:blueprint-scene var(--journey-duration) ease both!important}
[data-effect=music] .journey-art .scene-illustration{animation:vinyl-scene var(--journey-duration) linear both!important}
[data-effect=market] .journey-art .scene-illustration{animation:market-scene var(--journey-duration) ease both!important}
[data-effect=funding] .journey-art .scene-illustration{animation:tree-entrance var(--journey-duration) ease-out both!important}
[data-effect=canvas] .journey-art{background:radial-gradient(circle,#67401b 0%,#000 72%)}
.confetti-explosion{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.confetti-explosion span{position:absolute;left:50%;top:50%;width:clamp(6px,1.4vmin,15px);height:clamp(9px,2.7vmin,24px);background:var(--c);opacity:0;box-shadow:0 0 12px var(--c);animation:confetti-pop var(--journey-duration) cubic-bezier(.12,.65,.25,1) both;animation-delay:calc(var(--j) * 5ms)}
.smoke-plume{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.smoke-plume span{position:absolute;left:calc(50% + var(--x));top:calc(50% + var(--y));width:23vmin;height:23vmin;border-radius:50%;background:radial-gradient(circle,#6c9e78a1,#1c6b4955 48%,transparent 70%);filter:blur(13px);opacity:0;animation:smoke-rise var(--journey-duration) ease-out both;animation-delay:calc(var(--j)*75ms)}
[data-effect=smoke] .journey-art{background:radial-gradient(circle,#102e1e,#000 72%)}
[data-effect=dunk] .journey-art{background:radial-gradient(circle,#5b1d04,#000 70%)}
[data-effect=garden] .journey-art{background:linear-gradient(#061009,#0e2411 85%,#000)}
[data-effect=casino] .journey-art{background:radial-gradient(circle,#492019,#000 72%)}
[data-effect=calm] .journey-art{background:radial-gradient(circle,#0f4651,#000 72%)}
[data-effect=music] .journey-art{background:radial-gradient(circle,#2a103c,#000 72%)}
[data-effect=architect] .journey-art{background:radial-gradient(circle,#123454,#000 72%)}
[data-effect=pulse] .journey-art{background:radial-gradient(circle,#0c2b34,#000 72%)}
[data-effect=funding] .journey-art{background:radial-gradient(circle,#283014,#000 72%)}
[data-effect=market] .journey-art{background:radial-gradient(circle,#372515,#000 72%)}
.fire-flames{transform-origin:200px 200px;animation:flame-flicker .28s ease-in-out infinite alternate}
.tree-grow{transform-origin:200px 340px;animation:tree-grow var(--journey-duration) cubic-bezier(.15,.45,.23,1) both}
.drop{animation:drop-fall var(--journey-duration) ease-in both}
.calm-water{animation:wave-grow var(--journey-duration) ease-out both;transform-origin:200px 210px}
.vinyl{transform-origin:200px 200px;animation:record-spin 2.2s linear infinite}
.casino-reels{animation:reel-flash .35s steps(2) infinite}
@keyframes earth-spin{0%{opacity:0;transform:rotate(-30deg) rotateY(0) scale(.35)}12%{opacity:1}75%{transform:rotate(590deg) rotateY(30deg) scale(1.1);opacity:1}100%{transform:rotate(1160deg) rotateY(85deg) scale(0);opacity:0}}
@keyframes fireball-entry{0%{opacity:0;transform:translateY(30vmin) scale(.15)}20%{opacity:1}65%{transform:translateY(0) scale(1)}85%{transform:scale(1.5)}100%{transform:scale(3);opacity:0}}
@keyframes flame-flicker{from{transform:rotate(-3deg) scale(.97)}to{transform:rotate(3deg) scale(1.06)}}
@keyframes tree-entrance{0%{opacity:0;transform:scale(.25)}20%{opacity:1}78%{transform:scale(1.12);opacity:1}89%{transform:scale(1.26)}100%{transform:scale(2.4);opacity:0}}
@keyframes tree-grow{0%,12%{transform:scaleY(.03) scaleX(.4)}66%{transform:scaleY(1) scaleX(1)}100%{transform:scale(1)}}
@keyframes confetti-pop{0%,16%{opacity:0;transform:rotate(var(--angle)) translateX(0) scale(.1)}20%{opacity:1}75%{opacity:1;transform:rotate(var(--angle)) translateX(calc(var(--travel) * .55)) rotate(420deg)}100%{opacity:0;transform:rotate(var(--angle)) translateX(var(--travel)) rotate(720deg)}}
@keyframes smoke-rise{0%{opacity:0;transform:translateY(15vmin) scale(.08)}22%{opacity:.55}63%{opacity:.9;transform:translateY(-10vmin) scale(1.7)}100%{opacity:0;transform:translateY(-42vmin) scale(3.1)}}
@keyframes slots-shake{0%{opacity:0;transform:scale(.35) rotate(-15deg)}22%{opacity:1}38%,58%{transform:translateX(-8px) scale(1)}48%,66%{transform:translateX(8px) scale(1)}85%{transform:scale(1.2)}100%{transform:scale(2);opacity:0}}
@keyframes reel-flash{from{filter:brightness(.85)}to{filter:brightness(1.8)}}
@keyframes water-scene{0%{opacity:0;transform:scale(.4)}20%{opacity:1}82%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:scale(2)}}
@keyframes wave-grow{0%,17%{opacity:0;transform:scale(.1)}36%{opacity:1}100%{transform:scale(1.5);opacity:0}}
@keyframes drop-fall{0%{transform:translateY(-90px);opacity:0}28%{transform:translateY(90px);opacity:1}42%,100%{opacity:0}}
@keyframes line-scene{0%{opacity:0;transform:scaleX(.05)}38%,80%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.8)}}
@keyframes blueprint-scene{0%{opacity:0;transform:perspective(650px) rotateY(85deg) scale(.5)}35%{opacity:1;transform:rotateY(0) scale(1)}78%{opacity:1}100%{opacity:0;transform:scale(2)}}
@keyframes vinyl-scene{0%{opacity:0;transform:scale(.25)}20%{opacity:1}82%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:scale(2.5)}}
@keyframes record-spin{to{transform:rotate(360deg)}}
@keyframes market-scene{0%{opacity:0;transform:rotate(-40deg) scale(.1)}34%{opacity:1;transform:rotate(0) scale(1)}80%{opacity:1;transform:rotate(12deg) scale(1.2)}100%{opacity:0;transform:rotate(80deg) scale(0)}}
@media(prefers-reduced-motion:reduce){.journey-art .scene-illustration,.confetti-explosion,.smoke-plume{display:none!important}}

/* Examine the Past: a directional, deep rotating time tunnel; no text or spinning globe. */
[data-effect=time] .journey-art{background:radial-gradient(ellipse at center,#345014 0%,#111908 29%,#030603 60%,#000 85%);perspective:900px}
.ep-tunnel{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;transform-style:preserve-3d;animation:ep-tunnel-flight var(--journey-duration) cubic-bezier(.18,.46,.65,1) both}
.ep-loop{position:absolute;width:var(--size);height:calc(var(--size)*.72);border:clamp(2px,.42vmin,5px) solid #a7c93b;border-top-color:#f0db4b;border-left-color:#5da63a;border-bottom-color:#d3b93d;border-radius:50%;box-shadow:0 0 13px #bad447aa,inset 0 0 10px #e0d24b70;opacity:0;transform:rotate(var(--tilt)) rotateX(65deg);animation:ep-loop-flight var(--journey-duration) cubic-bezier(.18,.39,.75,1) both;animation-delay:calc(var(--n)*-115ms)}
.ep-loop:nth-child(3n){border-style:dashed;border-width:2px}
.ep-core{position:absolute;width:7vmin;height:7vmin;border-radius:50%;background:radial-gradient(circle,#fffed1,#c7d13e 35%,#234411 70%,transparent 80%);box-shadow:0 0 50px #bfd344;animation:ep-core-flight var(--journey-duration) ease-in both}
@keyframes ep-tunnel-flight{0%{opacity:0;transform:scale(.35) rotate(0)}13%{opacity:1}73%{opacity:1;transform:scale(1.45) rotate(620deg)}95%{opacity:.7;transform:scale(4.3) rotate(1140deg)}100%{opacity:0;transform:scale(5.4) rotate(1300deg)}}
@keyframes ep-loop-flight{0%{opacity:0;transform:rotate(var(--tilt)) rotateX(68deg) scale(.3)}20%{opacity:.85}72%{opacity:1;transform:rotate(calc(var(--tilt) + 260deg)) rotateX(39deg) scale(1.2)}100%{opacity:0;transform:rotate(calc(var(--tilt) + 450deg)) rotateX(15deg) scale(3)}}
@keyframes ep-core-flight{0%,15%{opacity:0;transform:scale(.15)}35%{opacity:1}83%{opacity:.9;transform:scale(2)}100%{opacity:0;transform:scale(25)}}
.card-journey-dialog.journey-leaving{background:#000!important}
.card-journey-dialog.journey-leaving .journey-art,.card-journey-dialog.journey-leaving .journey-controls{opacity:0!important;visibility:hidden!important}
.card-journey-dialog.journey-leaving .journey-black{animation:none!important;opacity:1!important;background:#000!important}
@media(prefers-reduced-motion:reduce){.ep-tunnel{display:none!important}}

.ep-core{display:grid;place-items:center;background:transparent!important;box-shadow:none!important;width:clamp(90px,18vmin,190px)!important;height:clamp(90px,18vmin,190px)!important;z-index:2}
.ep-core img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 18px #cad943);animation:ep-earth-rush var(--journey-duration) cubic-bezier(.3,.5,.7,1) both}
@keyframes ep-earth-rush{0%{opacity:0;transform:rotate(0) scale(.4)}15%{opacity:1}55%{transform:rotate(550deg) scale(1)}80%{opacity:1;transform:rotate(1800deg) scale(1.1)}100%{opacity:0;transform:rotate(2800deg) scale(.04)}}
[data-effect=time] .ep-tunnel{animation:ep-tunnel-fast var(--journey-duration) cubic-bezier(.4,.2,.8,1) both}
@keyframes ep-tunnel-fast{0%{opacity:0;transform:scale(.3) rotate(0)}12%{opacity:1}45%{transform:scale(1) rotate(480deg)}75%{transform:scale(1.9) rotate(1650deg)}93%{opacity:1;transform:scale(4) rotate(2900deg)}100%{opacity:0;transform:scale(5) rotate(3300deg)}}

[data-effect=dunk] .bb-real-ball{display:block;position:relative;width:clamp(110px,32vmin,310px);height:clamp(110px,32vmin,310px);object-fit:contain;filter:drop-shadow(0 0 16px #e35c20);animation:bb-ball-beats var(--journey-duration) ease-in-out both}
@keyframes bb-ball-beats{0%{opacity:0;transform:translateY(11vmin) scale(.35)}15%{opacity:1;transform:translateY(3vmin) scale(.72)}25%{transform:translateY(1vmin) scale(.9)}34%{transform:translateY(0) scale(.8)}44%{transform:scale(1.06)}54%{transform:scale(.94)}64%{transform:scale(1.22)}73%{transform:scale(1.12)}82%{opacity:1;transform:scale(1.72)}91%{opacity:.9;transform:scale(2.5)}100%{opacity:0;transform:scale(3.8)}}

[data-effect=dunk] .journey-art{background:radial-gradient(ellipse at 50% 85%,#6c2b11 0%,#1d100b 42%,#030303 82%)}
.bb-spotlight-scene{position:absolute;inset:0;overflow:hidden;animation:bb-light-intro var(--journey-duration) ease both}
.bb-spotlight-scene .beam{position:absolute;top:-30%;left:50%;height:120%;width:27vmin;transform-origin:50% 0;background:linear-gradient(180deg,#ffdcab55 0%,#ffae5033 38%,transparent 95%);filter:blur(12px);clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);mix-blend-mode:screen}
.bb-spotlight-scene .one{animation:bb-beam-left 4.2s ease-in-out infinite alternate}
.bb-spotlight-scene .two{animation:bb-beam-right 3.7s ease-in-out infinite alternate}
.bb-spotlight-scene .three{animation:bb-beam-left 5s ease-in-out infinite alternate-reverse;left:28%}
.bb-spotlight-scene .four{animation:bb-beam-right 4.6s ease-in-out infinite alternate-reverse;left:70%}
.bb-spotlight-scene .quick{width:16vmin;background:linear-gradient(#ffe6bd9c,#ff9f4160,transparent);animation:bb-fast-searchlight 1.05s ease-in-out infinite alternate}
.bb-haze{position:absolute;inset:35% 0 0;background:radial-gradient(ellipse at bottom,#f383362e,transparent 67%);filter:blur(18px)}
@keyframes bb-beam-left{from{transform:rotate(-34deg)}to{transform:rotate(13deg)}}
@keyframes bb-beam-right{from{transform:rotate(30deg)}to{transform:rotate(-16deg)}}
@keyframes bb-fast-searchlight{from{transform:rotate(-59deg)}to{transform:rotate(53deg)}}
@keyframes bb-light-intro{0%{opacity:0}16%,68%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.bb-spotlight-scene{display:none!important}}

[data-effect=dunk] .journey-black{animation:bb-quick-black var(--journey-duration) linear both!important}
@keyframes bb-quick-black{0%{opacity:1}12%,62%{opacity:0}100%{opacity:1}}
[data-effect=dunk] .bb-spotlight-scene{animation:bb-quick-lights var(--journey-duration) ease both!important}
@keyframes bb-quick-lights{0%{opacity:0}12%,62%{opacity:1}92%,100%{opacity:0}}
