.e2-hero .stone{position:absolute;left:var(--x);top:var(--y);width:var(--size);aspect-ratio:1;min-width:56px;translate:-50% -50%;rotate:var(--angle);border:0;background:none;padding:0;isolation:isolate;z-index:2;transition:scale .35s ease;filter:drop-shadow(9px 17px 10px #35532322);animation:bob var(--duration,7s) ease-in-out infinite;animation-delay:var(--delay,0s)}
.e2-hero .stone:hover,.e2-hero .stone:focus-visible{scale:1.12;z-index:4}
.e2-hero .stone svg{display:block;width:100%;height:100%;pointer-events:none}
.e2-hero .rock{position:absolute;inset:0;transition:opacity .55s,translate .75s,rotate .75s;transform-origin:center}
.e2-hero .gem-art{position:absolute;inset:0;opacity:0;scale:.65;transition:opacity .7s,scale .8s;filter:drop-shadow(0 0 16px #b3e2ab77)}
.e2-hero .stone.open .gem-art{opacity:1;scale:1}
.e2-hero .stone.open .left-rock{opacity:0;translate:-25% 10%;rotate:-30deg}
.e2-hero .stone.open .right-rock{opacity:0;translate:25% 10%;rotate:30deg}
.e2-hero .stone.open{filter:drop-shadow(0 14px 17px #2c714a30)}
.e2-hero .stone .crack{position:absolute;inset:0;filter:drop-shadow(0 0 4px #f7e1a0);opacity:.95;z-index:2}
.e2-hero .stone .crack path{fill:none;stroke:#dfbd74;stroke-width:1.35;stroke-linecap:round;stroke-dasharray:90;animation:vein 4s ease-in-out infinite;animation-delay:var(--delay)}
.e2-hero .stone.open .crack{opacity:0;transition:opacity .4s}
.e2-hero .stone .egg-ring{position:absolute;inset:-5%;border:1px solid #bfa05e75;border-radius:50%;scale:.88;animation:halo 3.8s ease-in-out infinite;animation-delay:var(--delay);pointer-events:none}
.e2-hero .stone.open .egg-ring{border-color:#76ab7977;animation:none;scale:1.09}
.e2-hero .stone-label{position:absolute;bottom:-12px;left:50%;translate:-50% 0;rotate:calc(var(--angle) * -1);color:#456548;font-size:10px;white-space:nowrap;padding:5px 8px;border:1px solid #9dbb9640;background:#fcfff4e6;border-radius:16px;opacity:0;transition:opacity .4s}
.e2-hero .stone.open .stone-label{opacity:1}
.e2-hero .star-beacon{position:absolute;left:74%;top:7%;color:#c29b49;font-size:17px;rotate:calc(var(--angle) * -1);animation:beacon 3.2s ease-in-out infinite;pointer-events:none;filter:drop-shadow(0 0 6px #f2dd96)}
.e2-hero .stone.open .star-beacon{color:#77a77a}
.e2-hero .stone{min-width:55px}
.e2-hero .stone .egg-ring{inset:-4%}
.e2-hero .stone .star-beacon{font-size:16px}
.e2-hero .stone-label{font-size:8px;padding:4px 6px;bottom:-8px}
.e2-hero .stone{min-width:52px}
.hero.e2-hero{height:max(760px,100svh);min-height:760px;max-height:1050px;background:#091d32!important;text-align:left;isolation:isolate;overflow:hidden;color:#eff7f7}
.e2-aurora{position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 68% 32%,#2ecba548,transparent 38%),radial-gradient(ellipse at 85% 65%,#32a5bf40,transparent 38%),radial-gradient(ellipse at 28% 69%,#4662b242,transparent 45%);filter:blur(30px);animation:e2-aurora 24s ease-in-out infinite alternate}
.e2-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}.e2-star{position:absolute;width:var(--s);height:var(--s);left:var(--x);top:var(--y);border-radius:50%;background:#dbf7fa;box-shadow:0 0 6px #e0fff866;animation:e2-twinkle var(--t) ease-in-out infinite;animation-delay:var(--d);opacity:.4}
.e2-meteor{position:absolute;left:var(--mx);top:var(--my);width:140px;height:1px;background:linear-gradient(90deg,#e5fff9,transparent);opacity:0;animation:e2-meteor var(--mt) linear infinite;animation-delay:var(--md)}
.e2-inner{max-width:1200px;width:calc(100% - 64px);height:100%;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;gap:24px;align-items:center;padding-top:64px;padding-bottom:60px}
.e2-copy{padding:0 0 20px clamp(32px,8vw,114px)}.e2-kicker{font-size:12px;letter-spacing:1px;color:#adcbd7;margin:0 0 24px}.e2-copy h1{font-size:clamp(38px,3.4vw,48px);line-height:1.35;color:#e9f4f5;margin:0 0 24px;letter-spacing:0;font-weight:600;text-wrap:unset}.e2-copy h1 em{font-style:normal;color:#a5e6d8}.e2-description{font-size:17px;line-height:1.9;color:#b7cdd8;margin:0 0 30px}.e2-cta{height:44px;padding:0 20px;background:#b4e8d9;border:1px solid #b4e8d9;border-radius:8px;color:#163f46;font-size:14px;font-weight:600}
.e2-field{position:relative;height:560px;min-width:0}.e2-stones{position:absolute;inset:14px 0}.e2-hero .stone{min-width:38px;z-index:2;filter:drop-shadow(8px 15px 14px #00122490);animation:e2-bob calc(var(--duration,7s) * .68) ease-in-out infinite;animation-delay:var(--delay,0s)}
.e2-hero .stone:hover,.e2-hero .stone:focus-visible{z-index:5}.e2-hero .stone[aria-expanded=true]{z-index:6}.e2-hero .stone-label{display:none!important}.e2-hero .star-beacon{color:#cfe8bc;font-size:17px;animation:e2-twinkle 4s ease-in-out infinite}.e2-hero .egg-ring{border-color:#cce5c04d;box-shadow:0 0 12px #a7d6cc22;animation:none}.e2-hero .stone .crack path{animation:none}.e2-hero .gem-art{filter:drop-shadow(0 0 18px #72daca66)}
.e2-hero .stone svg{stroke:none;stroke-width:0}
.e2-popover{position:absolute;z-index:12;width:min(206px,calc(100% - 12px));padding:10px 12px;background:rgba(20,29,40,.82);color:#d3dfe1;border:1px solid #bdd7d325;border-radius:10px;box-shadow:0 8px 22px #00102755;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.e2-popover[hidden]{display:none}.e2-popover h2{font-size:14px;line-height:1.5;margin:0 0 6px;color:#c4e8db}.e2-popover p{font-size:12px;line-height:1.7;margin:0}.e2-popover a{display:inline-flex;align-items:center;height:36px;color:#b7e5d8;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin-top:4px;position:relative}.e2-popover a:before{content:'';position:absolute;inset:-4px 0}
.e2-motion{position:absolute;right:max(32px,calc((100% - 1200px)/2));bottom:20px;border:1px solid #7dbec647;color:#bed9df;background:#102f435c;border-radius:8px;font-size:12px;height:32px;padding:0 12px}
.e2-paused *,.e2-paused *:before,.e2-paused *:after,.e2-hidden *{animation-play-state:paused!important}.e2-paused .e2-meteor{display:none}
body[data-home-study=ring] .e2-stones:before{content:'';position:absolute;inset:12% 7%;border:1px solid #9ed5ce25;border-radius:50%;transform:rotate(-15deg);box-shadow:0 0 60px #75e5d312,inset 0 0 40px #b9eff10b}
body[data-home-study=pile] .e2-stones:after{content:'';position:absolute;z-index:-1;left:2%;right:0;bottom:0;height:12%;background:radial-gradient(ellipse,#113c4c80,transparent 70%);filter:blur(12px)}
@keyframes e2-aurora{from{transform:translate(-2%,2%) rotate(-5deg)}to{transform:translate(4%,-3%) rotate(7deg)}}@keyframes e2-twinkle{0%,100%{opacity:.2}50%{opacity:.8}}@keyframes e2-meteor{0%,75%{opacity:0;transform:translate(0,0) rotate(-28deg)}76%{opacity:.9}84%,100%{opacity:0;transform:translate(-600px,315px) rotate(-28deg)}}@keyframes e2-bob{0%,100%{transform:translate3d(0,3px,0) rotate(-3deg)}50%{transform:translate3d(3px,-9px,0) rotate(3deg)}}
@media(max-width:1050px){.e2-copy h1{font-size:38px}.e2-field{height:490px}.e2-description{font-size:15px}}
@media(max-width:760px){.hero.e2-hero{height:auto;min-height:100svh;max-height:none}.e2-inner{display:flex;flex-direction:column;width:calc(100% - 32px);gap:8px;padding:94px 0 55px}.e2-copy{text-align:center;padding:0}.e2-copy h1{font-size:34px;line-height:1.35;margin-bottom:18px}.e2-kicker{margin-bottom:16px}.e2-description{font-size:14px;line-height:1.8;margin-bottom:22px}.e2-field{height:390px;width:min(460px,100%);margin-top:14px}.e2-popover{width:200px}.e2-star:nth-child(n+78){display:none}.e2-hero .stone{min-width:36px}}
@media(max-width:390px){.e2-copy h1{font-size:30px}.e2-field{height:360px}.e2-description{font-size:13px}}
@media(prefers-reduced-motion:reduce){.e2-hero:not(.e2-manual-motion) *{animation:none!important;transition:none!important}.e2-hero:not(.e2-manual-motion) .e2-meteor{display:none}.e2-aurora{will-change:auto}}

.e2-popover{opacity:0;transform:translateY(5px) scale(.98);transform-origin:center;transition:opacity .22s ease,transform .22s cubic-bezier(.2,.7,.2,1)}.e2-popover.is-visible{opacity:1;transform:none}.e2-popover-head{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.e2-popover-head h2{font-size:13px;margin:0 0 5px;min-width:0}.e2-popover-head a{flex-shrink:0;height:auto;margin:0;font-size:11px;text-decoration:none}.e2-popover p{font-size:11px;line-height:1.65}@media(prefers-reduced-motion:reduce){.e2-popover{transition:none;transform:none}}

.e2-offscreen *,.e2-offscreen *:before,.e2-offscreen *:after{animation-play-state:paused!important}.e2-hero .stone:hover,.e2-hero .stone:focus-visible,.e2-hero .stone[aria-expanded=true]{animation-play-state:paused}

/* Fit the actual web viewport, including WeChat's smaller content area. */
@media(max-width:760px){
 .hero.e2-hero{min-height:calc(100svh - 56px)}
 .e2-inner{height:auto;min-height:calc(100svh - 56px);padding:22px 0 16px;gap:6px;justify-content:flex-start}
 .e2-kicker{font-size:11px;margin-bottom:12px}
 .e2-copy h1{font-size:clamp(26px,7.5vw,32px);line-height:1.3;margin-bottom:12px}
 .e2-description{font-size:13px;line-height:1.7;margin-bottom:16px}
 .e2-cta{height:42px;font-size:13px;padding:0 18px}
 .e2-field{height:clamp(240px,43svh,330px);flex:none;width:min(410px,100%);margin-top:20px}
 .e2-stones{inset:8px 0}
}
@media(max-width:760px) and (max-height:620px){
 .e2-inner{padding-top:14px;gap:2px}
 .e2-kicker{margin-bottom:8px}.e2-description{margin-bottom:12px}
 .e2-copy h1{font-size:27px;margin-bottom:10px}
 .e2-field{height:240px}
}
