/* NextCast — spatial prediction experience */
.topbar{position:relative;z-index:12;background:#090c15ed;backdrop-filter:blur(18px)}.spatial-hero.hero{position:relative;isolation:isolate;min-height:640px;height:calc(100svh - 100px);max-height:950px;border:0;border-radius:0;margin:-28px -42px 0;padding:0;overflow:hidden;background:radial-gradient(ellipse at 73% 50%,#211539 0%,#0c1020 40%,#080c16 78%)}.spatial-hero.hero:before{background-image:url('./assets/nextcast-hero.png');background-position:70% 50%;opacity:.72;transition:opacity .7s;z-index:0;transform:none}.spatial-hero.hero.webgl-ready:before{opacity:0}.spatial-hero.hero:after{inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#080c16e0 0%,#080c1660 30%,transparent 58%),linear-gradient(0deg,#0a0d14 0%,transparent 19%);opacity:1}.spatial-canvas{position:absolute;inset:0;z-index:1;overflow:hidden}.spatial-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y}.spatial-grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.55' filter='url(%23n)'/%3E%3C/svg%3E")}.spatial-caption{position:absolute;top:34px;left:44px;right:44px;display:flex;justify-content:space-between;z-index:4;color:#6e7a94;font-size:9px;letter-spacing:2px;text-transform:uppercase}.spatial-copy{position:absolute;top:50%;left:5%;transform:translateY(calc(-48% - var(--scene-scroll,0)*32px));max-width:48%;z-index:4;pointer-events:none}.spatial-copy .eyebrow{font-size:10px;letter-spacing:2.3px;color:#b7a9db;margin-bottom:28px}.spatial-hero.hero h1{max-width:100%;font-size:clamp(60px,6.8vw,104px);line-height:1.01;letter-spacing:-5px;font-weight:500;margin:0 0 24px;text-wrap:balance;color:#f1edf9;text-shadow:0 4px 60px #080c16}.spatial-hero.hero p{max-width:330px;font-size:13px;line-height:1.8;color:#9ca4bc;margin-bottom:30px}.spatial-actions{display:flex;gap:12px;flex-wrap:wrap;pointer-events:auto}.spatial-actions button{display:flex;align-items:center;justify-content:space-between;gap:22px;border-radius:999px;min-height:47px;padding:0 21px;font-size:11px;font-weight:500;transition:transform .3s,background .3s;max-width:100%}.spatial-primary{background:#cfbfff;color:#18122a;box-shadow:0 8px 35px #a38bd722}.spatial-secondary{border:1px solid #7b71934d;background:#11152277;color:#d1c9e5;backdrop-filter:blur(10px)}.spatial-actions button:hover{transform:translateY(-3px)}.spatial-actions i{font-style:normal;font-size:20px}.spatial-bottom{position:absolute;bottom:33px;left:44px;right:44px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;color:#777e96}.spatial-scroll{display:flex;align-items:center;gap:10px;padding:10px 0;color:#b6adc9;font-size:9px;letter-spacing:.5px}.spatial-scroll i{font-style:normal;font-size:16px}.spatial-motion{display:flex;align-items:center;gap:8px;color:#9f95b4;font-size:9px}.spatial-motion i{font-style:normal;font-size:15px;border:1px solid #4a425b;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.spatial-transition{padding:30px 0 36px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);margin-bottom:32px;color:#858099}.spatial-transition span{font-size:9px;letter-spacing:2px;color:#a88bdf;white-space:nowrap}.spatial-transition p{margin:0;font-size:12px}.spatial-transition>i{margin-left:auto;font-style:normal;color:#c6b4eb;font-size:21px}.spatial-hero~.btc-terminal{box-shadow:0 0 55px #8e58c50a}.card{transform-style:preserve-3d}.viewing-spatial .tabbar{opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:opacity .3s,transform .3s}.viewing-spatial .gift-mini{opacity:0;pointer-events:none}.spatial-hero .spatial-copy:lang(zh),.spatial-hero .spatial-copy:lang(zh-TW){max-width:42%}.spatial-hero h1:lang(zh),.spatial-hero h1:lang(zh-TW){font-size:clamp(60px,6.2vw,88px);letter-spacing:-2px;line-height:1.14}[dir=rtl] .spatial-copy{right:5%;left:auto}@media(max-width:850px){.spatial-hero.hero{margin:-24px -24px 0}.spatial-caption{left:26px;right:26px}.spatial-bottom{left:26px;right:26px}.spatial-copy{left:5%;max-width:53%}.spatial-hero.hero h1{font-size:65px;letter-spacing:-3px}}@media(max-width:850px){.spatial-hero.hero{margin:-16px -16px 0;min-height:680px;height:calc(100svh - 66px);max-height:880px;background:radial-gradient(ellipse at 50% 57%,#271b41,#0b101c 65%)}.spatial-hero.hero:before{background-position:65% center;background-size:auto 68%;background-repeat:no-repeat}.spatial-hero.hero:after{background:linear-gradient(0deg,#0a0d14,transparent 22%,transparent 62%,#080c1677 82%)}.spatial-caption{top:22px;left:23px;right:23px;font-size:7px;letter-spacing:1.3px}.spatial-caption span:last-child{max-width:45%;text-align:right}.spatial-copy,.spatial-hero .spatial-copy:lang(zh),.spatial-hero .spatial-copy:lang(zh-TW){top:74px;left:23px;max-width:calc(100% - 46px);width:calc(100% - 46px);transform:none}.spatial-copy .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:15px}.spatial-hero.hero h1,.spatial-hero h1:lang(zh),.spatial-hero h1:lang(zh-TW){font-size:clamp(43px,11.8vw,61px);line-height:1.06;letter-spacing:-2.6px;max-width:94%;margin-bottom:14px}.spatial-hero.hero p{font-size:11px;line-height:1.7;max-width:270px;color:#9c97b1;margin:0}.spatial-actions{position:absolute;top:calc(100svh - 290px);left:0;width:100%;flex-wrap:nowrap;gap:9px}.spatial-actions button{min-height:43px;font-size:9px;padding:0 15px;gap:10px;flex:1;white-space:normal;text-align:start;line-height:1.5}.spatial-actions i{font-size:17px}.spatial-bottom{left:23px;right:23px;bottom:24px}.spatial-scroll{font-size:8px;gap:7px}.spatial-motion{font-size:8px}.spatial-motion i{width:25px;height:25px}.spatial-transition{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:22px;padding:23px 0}.spatial-transition span{grid-column:1;font-size:8px}.spatial-transition p{grid-column:1;font-size:11px}.spatial-transition>i{grid-column:2;grid-row:1/3}.viewing-spatial .topbar{border-bottom-color:#ffffff05}[dir=rtl] .spatial-copy{right:23px;left:auto}}@media(prefers-reduced-motion:reduce){.spatial-actions button{transition:none}}

.spatial-hero.hero h1{white-space:pre-line}@media(max-width:850px){.spatial-hero.hero h1:lang(zh),.spatial-hero.hero h1:lang(zh-TW){font-size:49px;letter-spacing:-2px}}

/* Immersive impact — preview */
.spatial-hero.hero{background:radial-gradient(ellipse at 73% 49%,#291b4c 0%,#10152b 43%,#070b15 83%)}.spatial-hero.hero:after{background:linear-gradient(90deg,#070b16e8 0%,#080c1655 32%,transparent 55%),linear-gradient(0deg,#0a0d14 0%,transparent 17%)}.spatial-copy{z-index:5}.spatial-hero.hero h1{font-weight:500;letter-spacing:-5.5px;text-shadow:0 4px 55px #03050f88}.spatial-caption{color:#7e80a4}.spatial-primary{background:linear-gradient(120deg,#e4d9ff,#b49ae9);box-shadow:0 0 35px #ab7aec28,inset 0 1px 0 #fff7}.spatial-motion{min-height:36px}.spatial-scroll{min-height:36px}.spatial-bottom{bottom:26px}@media(max-width:850px){.spatial-hero.hero{height:calc(100svh - 66px);min-height:600px;max-height:950px;background:radial-gradient(ellipse at 50% 55%,#26183e,#090e1e 65%)}.spatial-hero.hero:after{background:linear-gradient(0deg,#0a0d14,transparent 22%,transparent 61%,#080d1e99 81%)}.spatial-copy,.spatial-hero .spatial-copy:lang(zh),.spatial-hero .spatial-copy:lang(zh-TW){top:61px;left:22px;width:calc(100% - 44px);max-width:calc(100% - 44px);position:absolute;transform:none;bottom:0;pointer-events:none}.spatial-copy .eyebrow{margin-bottom:13px;font-size:8px;letter-spacing:1.5px}.spatial-hero.hero h1,.spatial-hero.hero h1:lang(zh),.spatial-hero.hero h1:lang(zh-TW){font-size:clamp(44px,12vw,56px);letter-spacing:-2.2px;margin-bottom:12px;line-height:1.06;max-width:94%}.spatial-hero.hero p{font-size:11px;line-height:1.7;max-width:285px}.spatial-actions{position:absolute;top:auto;bottom:84px;left:0;width:100%;gap:9px;pointer-events:auto}.spatial-actions button{font-size:10px;min-height:46px;padding:0 15px;background-clip:padding-box}.spatial-secondary{background:#151729cf;backdrop-filter:blur(16px)}.spatial-bottom{bottom:21px;left:22px;right:22px}.spatial-motion,.spatial-scroll{font-size:9px}.spatial-motion i{width:28px;height:28px}}

@media(max-width:850px){.spatial-copy,.spatial-hero .spatial-copy:lang(zh),.spatial-hero .spatial-copy:lang(zh-TW){top:45px}.spatial-hero.hero p{font-size:10px;max-width:278px;line-height:1.65}}

/* Mobile swipe parallax: preserve vertical scrolling and pinch zoom. */
.spatial-hero,.spatial-canvas,.spatial-canvas canvas{touch-action:pan-y pinch-zoom}

/* Scroll narrative and mobile render budget */
.spatial-copy{transform:translateY(-48%)}.spatial-copy>.eyebrow,.spatial-copy>h1,.spatial-copy>p{opacity:var(--story-copy-alpha,1);transform:translate3d(0,var(--story-copy-shift,0px),0);will-change:transform,opacity}.spatial-grain{display:none}.feed>.card{content-visibility:auto;contain-intrinsic-size:auto 300px}@media(max-width:850px){.spatial-copy,.spatial-hero .spatial-copy:lang(zh),.spatial-hero .spatial-copy:lang(zh-TW){transform:none}.spatial-hero.hero:after{background:linear-gradient(0deg,#0a0d14,transparent 22%,transparent 61%,#080d1e99 81%)}.topbar{backdrop-filter:none}.spatial-secondary{backdrop-filter:none}}

/* Press-and-drag fallback for desktop previews, with native vertical touch scroll. */
.spatial-hero{cursor:auto}.spatial-hero.is-scene-hover canvas{cursor:grab}.spatial-hero.is-scene-dragging,.spatial-hero.is-scene-dragging canvas{cursor:grabbing;user-select:none;-webkit-user-select:none}.spatial-hero button{cursor:pointer}

/* Optional device-tilt control shares the bottom action rail. */
.spatial-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.spatial-sensor{display:grid;place-items:center;width:40px;min-height:42px;color:#bdb0d7;border-radius:50%;border:1px solid transparent;background:transparent;flex-shrink:0}.spatial-sensor[hidden]{display:none}.spatial-sensor svg{width:22px;height:22px}.spatial-sensor[data-state=active]{color:#d7c2ff;background:#aa77ef1a;border-color:#9e7bce4d}.spatial-sensor:disabled{opacity:.45}.spatial-sensor:focus-visible{outline:1px solid #d2b6ff;outline-offset:2px}@media(max-width:850px){.spatial-bottom{gap:6px}.spatial-controls{gap:1px}.spatial-controls .spatial-motion span{max-width:76px;line-height:1.4;text-align:start}.spatial-scroll{min-width:0}.spatial-sensor{width:38px}}

/* Preserve the composition while aligning intermediate screen sizes and safe areas. */
@media(min-width:541px) and (max-width:850px){.spatial-hero.hero{margin:-24px -24px 0}}
@media(max-width:850px){.spatial-hero.hero{height:calc(100svh - var(--site-header-height,66px))}.spatial-copy>p{text-shadow:0 1px 5px #070b16,0 1px 12px #070b16}.spatial-bottom{bottom:calc(21px + env(safe-area-inset-bottom))}.spatial-actions{bottom:calc(84px + env(safe-area-inset-bottom))}.spatial-motion,.spatial-scroll{min-height:44px}.spatial-sensor{min-height:44px;width:42px}}

.spatial-hero.hero.webgl-ready:before{opacity:0;transition:none}
@media(min-width:541px) and (max-width:850px){.spatial-actions{max-width:480px;left:50%;transform:translateX(-50%)}.topbar{padding-top:calc(18px + env(safe-area-inset-top))}}
[dir=rtl] .spatial-hero.hero h1{letter-spacing:0}[dir=rtl] .eyebrow{letter-spacing:.2px}

.spatial-caption span:first-child{direction:ltr;unicode-bidi:isolate}
@media(max-width:850px){.spatial-hero.hero h1:lang(nl),.spatial-hero.hero h1:lang(de),.spatial-hero.hero h1:lang(id),.spatial-hero.hero h1:lang(es),.spatial-hero.hero h1:lang(tr){font-size:clamp(34px,10.2vw,52px)}.spatial-hero.hero h1:lang(ko){font-size:clamp(34px,9.5vw,48px);line-height:1.15;letter-spacing:-.5px;word-break:keep-all}.spatial-hero.hero h1:lang(hi),.spatial-hero.hero h1:lang(bn),.spatial-hero.hero h1:lang(th){letter-spacing:0;line-height:1.15}}

/* Text-only hero actions. */
.spatial-actions button{justify-content:center;gap:0}
