:root{--bg-deep: #02030a;--bg-mid: #0a0e1f;--bg-navy: #0d1330;--gold: #e8c878;--gold-bright: #fff4cf;--gold-soft: #d4b86a;--ink: #e8e4d8;--muted: #6b6555;font-family:"Noto Serif SC",Songti SC,STSong,SimSun,serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden}body{background:radial-gradient(ellipse at 50% 35%,#131a38 0%,var(--bg-navy) 35%,var(--bg-mid) 65%,var(--bg-deep) 100%);color:var(--ink);display:flex;align-items:center;justify-content:center;min-height:100dvh;-webkit-user-select:none;user-select:none;touch-action:none}.embers{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.ember{position:absolute;bottom:-10px;width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:0;animation:rise linear infinite}@keyframes rise{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:.6}90%{opacity:.35}to{transform:translateY(-105vh) translate(var(--drift, 20px));opacity:0}}.vignette{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#0000 30%,#0000008c);opacity:0;transition:opacity .3s ease-in}.vignette.active{opacity:1}.flash{position:fixed;inset:0;z-index:50;pointer-events:none;background:radial-gradient(circle at 50% 50%,#fffae6fa,#f5d27a99 30%,#f5d27a00 65%);opacity:0}.flash.fire{animation:flash .28s ease-out}@keyframes flash{0%{opacity:0;transform:scale(.85)}12%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.scene-container{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:100dvh}.cinematic-stage{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100dvh;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));gap:1.5rem}.cinematic-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:#061226;opacity:1;transition:opacity .45s ease;pointer-events:none}.cinematic-stage:has(.landing-header.dim):before{opacity:0}.cinematic-stage:has(.landing-header.dim) .landing-reference{opacity:0;pointer-events:none}.landing-reference{position:fixed;inset:0;z-index:2;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}.landing-reference>img{width:100vw;height:100vh;object-fit:cover;object-position:center;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.landing-reference .card-perspective{position:absolute;top:46.25%;left:50%;width:39.2%;height:46.7%;transform:translate(-50%,-50%);opacity:1;z-index:10;perspective:none}.landing-reference .card-perspective:before{display:none}.landing-reference .card{cursor:pointer;background:transparent!important;border:none!important;box-shadow:none!important}.landing-reference .face,.landing-reference .back,.landing-reference .mystery-card-art,.landing-reference .mystery-card-half,.landing-reference .mystery-card-yinyang,.landing-reference .mystery-card-art:before,.landing-reference .mystery-card-art:after{background:transparent!important;border:none!important;box-shadow:none!important;visibility:hidden}.landing-reference .mystery-card-half img,.landing-reference .mystery-card-art img{display:none}.landing-header,.landing-footer{display:flex;flex-direction:column;align-items:center;text-align:center;transition:opacity .4s ease;z-index:5}.landing-header{margin-top:clamp(2.5rem,9vh,5rem);opacity:0;pointer-events:none}.landing-title{font-size:clamp(1.8rem,7vw,2.8rem);font-weight:700;letter-spacing:.45em;text-indent:.45em;color:var(--gold);text-shadow:0 0 18px rgba(232,200,120,.35),0 0 40px rgba(232,200,120,.15);line-height:1.2}.landing-sub{margin-top:.9rem;font-size:clamp(.85rem,3.6vw,1.05rem);letter-spacing:.35em;text-indent:.35em;color:var(--gold-soft);font-weight:400;opacity:.85}.landing-footer{margin-top:clamp(.5rem,2.5vh,1.2rem);gap:1rem;opacity:0;pointer-events:none}.landing-hint{font-size:clamp(.8rem,3.4vw,.95rem);letter-spacing:.45em;text-indent:.45em;color:var(--gold);opacity:.82;transition:opacity .4s ease}.landing-heroes{display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:.72}.lh-portrait-row{display:flex;align-items:flex-end;justify-content:center;gap:clamp(1.5rem,6vw,3rem)}.lh-portrait-wrap{display:flex;flex-direction:column;align-items:center;gap:.3rem}.lh-portrait{width:clamp(56px,17vw,92px);height:clamp(56px,17vw,92px);object-fit:cover;object-position:center 22%;border:1px solid rgba(232,200,120,.72);border-radius:50%;padding:3px;background:#080d20;opacity:.9;filter:saturate(.8) drop-shadow(0 0 8px rgba(232,200,120,.22));transition:opacity .4s ease}.lh-name{font-size:clamp(.7rem,2.8vw,.85rem);letter-spacing:.2em;color:var(--gold);opacity:.9}.lh-quote{max-width:7.5rem;font-size:clamp(.55rem,2.1vw,.68rem);letter-spacing:.08em;color:var(--gold-soft);opacity:.72;white-space:nowrap}.lh-separator{font-size:clamp(1rem,4vw,1.3rem);color:var(--gold-soft);opacity:.6;margin-bottom:1.8rem}.lh-note{font-size:clamp(.6rem,2.5vw,.72rem);letter-spacing:.3em;text-indent:.3em;color:var(--muted)}.landing-header.dim,.landing-footer.dim{opacity:0;pointer-events:none}.card-perspective{position:absolute;top:20.2%;left:50%;z-index:10;width:min(40vw,410px);height:calc(min(40vw,410px)*1.54);transform:translate(-50%);opacity:0;perspective:1200px;perspective-origin:50% 45%}.card-perspective:before{content:"";position:absolute;left:50%;top:50%;pointer-events:none;width:132%;height:114%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(245,210,122,.16) 0%,rgba(245,210,122,.07) 34%,transparent 70%);filter:blur(18px);opacity:.78}.card-perspective>.card{z-index:1}.card{position:relative;width:100%;height:100%;max-height:calc(100dvh - 8rem);transform-style:preserve-3d;will-change:transform,opacity;cursor:pointer}.face{position:absolute;inset:0;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(245,210,122,.25);box-shadow:0 18px 40px #0009}.back{background:none;border:none;box-shadow:none}.back:before{display:none}.mystery-card-art{position:relative;width:100%;height:100%;overflow:hidden;border-radius:16px;background:radial-gradient(circle at 50% 45%,rgba(30,52,83,.78),transparent 52%),linear-gradient(145deg,#111d38,#050a18);border:1px solid rgba(245,210,122,.62);box-shadow:inset 0 0 0 5px #070c1ce6,inset 0 0 0 6px #f5d27a6b,0 0 24px #f5d27a38;-webkit-user-select:none;user-select:none;pointer-events:none}.mystery-card-art:before,.mystery-card-art:after{content:"";position:absolute;z-index:3;pointer-events:none}.mystery-card-art:before{inset:12px;border:1px solid rgba(245,210,122,.5);border-radius:10px}.mystery-card-art:after{inset:20px;border:1px solid rgba(245,210,122,.2);border-radius:7px}.mystery-card-half{position:absolute;inset:7px;overflow:hidden;opacity:.83}.mystery-card-half img{position:absolute;width:155%;max-width:none;height:100%;object-fit:contain;object-position:center;filter:saturate(.7) brightness(.62) contrast(1.1)}.mystery-card-sunce{clip-path:polygon(0 0,100% 0,50% 52%,50% 100%,0 100%);background:linear-gradient(145deg,#621b16a8,#0b1022b3)}.mystery-card-sunce img{left:-12%}.mystery-card-zhouyu{clip-path:polygon(100% 0,100% 100%,50% 100%,50% 52%);background:linear-gradient(225deg,#cdba8f7a,#102039c2)}.mystery-card-zhouyu img{right:-12%}.mystery-card-yinyang{position:absolute;z-index:4;top:50%;left:50%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid var(--gold);border-radius:50%;background:linear-gradient(90deg,#0b1228 0 50%,#e4c878 50% 100%);box-shadow:0 0 0 5px #050a18bf,0 0 12px #f5d27a99}.mystery-card-yinyang:before,.mystery-card-yinyang:after{content:"";position:absolute;left:50%;width:50%;height:50%;transform:translate(-50%);border-radius:50%}.mystery-card-yinyang:before{top:0;background:#0b1228;box-shadow:0 0 0 7px #e4c878 inset}.mystery-card-yinyang:after{bottom:0;background:#e4c878;box-shadow:0 0 0 7px #0b1228 inset}.front{transform:rotateY(180deg);background:radial-gradient(circle at 50% 30%,#2a2418,#14110a 75%),#0a0805;flex-direction:column;gap:1rem}.front:before{content:"";position:absolute;inset:8px;border-radius:12px;border:1px solid rgba(245,210,122,.4)}.name{font-size:clamp(2.2rem,9vw,3rem);font-weight:700;letter-spacing:.35em;text-indent:.35em;color:var(--gold-bright);text-shadow:0 0 18px rgba(245,210,122,.5);opacity:0;transition:opacity .5s ease .1s}.card.settled .name{opacity:1}.title-line{font-size:.8rem;letter-spacing:.4em;color:var(--muted);opacity:0;transition:opacity .5s ease .25s}.card.settled .title-line{opacity:1}.sheen{position:absolute;inset:0;border-radius:16px;overflow:hidden;pointer-events:none;opacity:0}.sheen:after{content:"";position:absolute;top:-50%;left:-60%;width:50%;height:200%;background:linear-gradient(100deg,transparent 0%,rgba(255,244,207,.12) 45%,rgba(255,244,207,.35) 50%,rgba(255,244,207,.12) 55%,transparent 100%);transform:skew(-18deg)}.card.settled .sheen{opacity:1}.card.settled .sheen:after{animation:sheen-sweep 4.5s ease-in-out infinite}@keyframes sheen-sweep{0%{left:-60%}55%,to{left:160%}}.card.idle{animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.card.card-approach{animation:card-approach .6s cubic-bezier(.22,.61,.36,1) forwards}@keyframes card-approach{0%{transform:translateZ(0) scale(1) rotateY(0)}to{transform:translateZ(300px) scale(1.4) rotateY(8deg);opacity:0}}.hint{position:absolute;bottom:max(5rem,calc(env(safe-area-inset-bottom) + 4rem));left:50%;transform:translate(-50%);font-size:.85rem;letter-spacing:.3em;color:var(--muted);text-align:center;transition:opacity .4s ease;z-index:5;white-space:nowrap}.hint.dim{opacity:0}.scroll-perspective{position:fixed;inset:0;z-index:15;display:flex;align-items:center;justify-content:center;pointer-events:none}.scroll-perspective[hidden]{display:none}.scroll-anchor{position:fixed;inset:0;width:100%;height:100dvh;pointer-events:none}.scroll-art{position:absolute;top:50%;left:50%;display:block;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.scroll-art[hidden]{display:none}.closed-scroll{width:min(28vw,180px);max-height:58dvh;transform:translate(-50%,-50%);opacity:0}.closed-scroll-fly-in{animation:closed-scroll-fly-in .72s cubic-bezier(.22,.61,.36,1) forwards}@keyframes closed-scroll-fly-in{0%{transform:translate(-50%,-50%) scale(.12) rotate(-5deg);opacity:0}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}.closed-scroll-settled{transform:translate(-50%,-50%);opacity:1}.closed-scroll-opening{animation:closed-scroll-opening 1.4s ease-in forwards}@keyframes closed-scroll-opening{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(.92);opacity:0}}.open-scroll{width:min(84vw,760px);max-width:84vw;max-height:76dvh;transform:translate(-50%,-50%) scaleX(.12);transform-origin:50% 50%;opacity:0;clip-path:inset(0 50% 0 50%)}.open-scroll-reveal{animation:open-scroll-reveal 2.8s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes open-scroll-reveal{0%{transform:translate(-50%,-50%) scaleX(.12);clip-path:inset(0 50% 0 50%);opacity:0}20%{opacity:1}to{transform:translate(-50%,-50%) scaleX(1);clip-path:inset(0 0 0 0);opacity:1}}.open-scroll-settled{transform:translate(-50%,-50%) scaleX(1);opacity:1;clip-path:inset(0 0 0 0)}.scene2-layer{position:fixed;inset:0;z-index:16;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .8s ease;perspective:1200px}.scene2-layer[hidden]{display:none}.scene2-layer.s2-enter{opacity:1}.float-container{position:relative;width:min(82vw,720px);max-width:82vw;animation:s2-drift 4.5s ease-in-out infinite,s2-rotate 6.5s ease-in-out infinite,s2-breathe 5.5s ease-in-out infinite;will-change:transform;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.float-container.s2-pressed{animation-play-state:paused;transform:translateY(3px) scale(.995)}@keyframes s2-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes s2-rotate{0%,to{transform:rotate(-.4deg)}50%{transform:rotate(.5deg)}}@keyframes s2-breathe{0%,to{transform:scale(.998)}50%{transform:scale(1.012)}}.s2-scroll{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.s2-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;z-index:2}.s2-instructions{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:3;opacity:0;transition:opacity .6s ease}.s2-instructions.s2-text-visible{opacity:1}.s2-instructions.s2-fade{opacity:0;transition:opacity .4s ease}.s2-title{font-size:clamp(1rem,4.5vw,1.3rem);font-weight:700;letter-spacing:.2em;color:#1e140ab3;margin-bottom:.5rem}.s2-sub{font-size:clamp(.7rem,3vw,.85rem);letter-spacing:.25em;color:#3c281473;font-weight:400}.s2-focus-overlay{position:absolute;inset:0;z-index:20;background:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);transition:background .5s ease,backdrop-filter .5s ease,-webkit-backdrop-filter .5s ease;pointer-events:none}.s2-focus-overlay.s2-focus-active{background:#00000052;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.living-layer.s2-ambient-dim{opacity:.15;transition:opacity .4s ease}.s2-hero-layer{position:absolute;inset:0;z-index:30;pointer-events:none}.s2-halo{position:absolute;top:50%;left:50%;width:260px;height:260px;margin-left:-130px;margin-top:-130px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,210,100,.35) 0%,rgba(255,190,80,.18) 30%,rgba(255,180,60,.06) 60%,transparent 100%);opacity:0;transform:scale(.4);transition:opacity .5s ease,transform .5s ease;pointer-events:none}.s2-halo.s2-halo-active{opacity:1;transform:scale(1)}.s2-brush{position:absolute;width:clamp(48px,14vw,100px);height:auto;pointer-events:none;opacity:0;z-index:31;transform-origin:30% 85%;transition:left .6s cubic-bezier(.25,1,.5,1),top .6s cubic-bezier(.25,1,.5,1),opacity .25s ease}.s2-brush.s2-brush-entrance{animation:brush-hero-in 1.8s cubic-bezier(.22,.61,.36,1) forwards;filter:drop-shadow(0 0 10px rgba(255,210,130,.7)) drop-shadow(0 0 24px rgba(255,190,80,.4)) drop-shadow(0 2px 4px rgba(0,0,0,.3))}@keyframes brush-hero-in{0%{opacity:0;top:55%;left:52%;transform:rotate(-15deg) scale(.2) translateY(30px)}12%{opacity:1}35%{opacity:1;top:42%;left:47%;transform:rotate(-30deg) scale(3.3)}50%{opacity:1;top:41%;left:47%;transform:rotate(-32deg) scale(3.4)}85%{opacity:1;top:41.5%;left:47%;transform:rotate(-30deg) scale(3.3) translateY(-2px)}to{opacity:1;top:41%;left:47%;transform:rotate(-31deg) scale(3.35)}}.s2-brush.s2-brush-return{animation:brush-hero-return .7s cubic-bezier(.25,1,.5,1) forwards;filter:none}@keyframes brush-hero-return{0%{opacity:1;top:41%;left:47%;transform:rotate(-31deg) scale(3.35)}to{opacity:1;bottom:22%;top:58%;left:56%;transform:rotate(-35deg) scale(1)}}.s2-brush.s2-brush-visible{opacity:1;top:58%;left:56%;transform:rotate(-35deg) scale(1);animation:brush-float 3.5s ease-in-out infinite;filter:none}.s2-brush.s2-brush-hide{opacity:0;transition:opacity .25s ease;animation:none}@keyframes brush-float{0%,to{transform:rotate(-35deg) translateY(0) rotate(0) scale(1)}50%{transform:rotate(-35deg) translateY(-3px) rotate(1deg) scale(1)}}.s2-droplet{position:absolute;width:8px;height:8px;border-radius:50%/40% 40% 60% 60%;background:#0a0805eb;box-shadow:0 2px 4px #00000080;top:50%;left:49%;opacity:0;pointer-events:none;z-index:32}.s2-droplet.s2-droplet-fall{animation:droplet-fall .7s cubic-bezier(.4,0,.9,.6) forwards}@keyframes droplet-fall{0%{opacity:0;transform:translateY(-5px) scale(.3)}15%{opacity:1;transform:translateY(-3px) scale(.5)}35%{opacity:1;transform:translateY(0) scale(.9)}50%{opacity:1;transform:translateY(2px) scale(1)}to{opacity:.85;transform:translateY(55px) scale(.7)}}.s2-ink-bloom{position:absolute;width:22px;height:22px;border-radius:50%;top:calc(50% + 55px);left:calc(49% - 7px);background:radial-gradient(circle,rgba(10,8,5,.8) 0%,rgba(10,8,5,.4) 40%,rgba(10,8,5,.1) 70%,transparent 100%);opacity:0;pointer-events:none;z-index:32}.s2-ink-bloom.s2-bloom-active{animation:ink-bloom .8s ease-out forwards}@keyframes ink-bloom{0%{opacity:0;transform:scale(.15)}25%{opacity:.9;transform:scale(.6)}50%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.ambient-bird{position:absolute;width:clamp(28px,7vw,55px);height:auto;opacity:0;pointer-events:none}.ambient-bird-path-a{top:30%;left:10%;animation:amb-bird-a 11s ease-in-out forwards}@keyframes amb-bird-a{0%{transform:translate(0) scale(.5);opacity:0}8%{opacity:.7}50%{transform:translate(35vw,-12vh) scale(.7) rotate(-4deg);opacity:.7}92%{opacity:.6}to{transform:translate(70vw,-5vh) scale(.6) rotate(-2deg);opacity:0}}.ambient-bird-path-b{top:55%;right:8%;left:auto;animation:amb-bird-b 10s ease-in-out forwards}@keyframes amb-bird-b{0%{transform:translate(0) scale(.5);opacity:0}8%{opacity:.65}50%{transform:translate(-30vw,-15vh) scale(.65) rotate(5deg);opacity:.65}92%{opacity:.5}to{transform:translate(-60vw,-8vh) scale(.55) rotate(3deg);opacity:0}}.ambient-bird-path-c{top:40%;left:25%;animation:amb-bird-c 12s ease-in-out forwards}@keyframes amb-bird-c{0%{transform:translate(0) scale(.4);opacity:0}10%{opacity:.6}50%{transform:translate(20vw,-20vh) scale(.6) rotate(-6deg);opacity:.6}90%{opacity:.5}to{transform:translate(45vw,-35vh) scale(.5) rotate(-3deg);opacity:0}}.ambient-petal{position:absolute;width:clamp(14px,4vw,28px);height:auto;opacity:0;pointer-events:none;animation:amb-petal-drift ease-in-out forwards}@keyframes amb-petal-drift{0%{transform:translate(0) rotate(0) scale(.5);opacity:0}10%{opacity:.6}90%{opacity:.4}to{transform:translate(var(--dx, 5vw),var(--dy, 30vh)) rotate(var(--rot, 40deg)) scale(.6);opacity:0}}.living-layer{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden;transition:opacity .4s ease}.living-petal{position:absolute;width:clamp(18px,5vw,36px);height:auto;opacity:0;animation:petal-drift ease-out forwards}@keyframes petal-drift{0%{transform:translate(0) rotate(0) scale(.4);opacity:0}12%{opacity:.85}to{transform:translate(var(--dx, 5vw),var(--dy, -20vh)) rotate(var(--rot, 60deg)) scale(.7);opacity:0}}.living-bird{position:absolute;width:clamp(40px,12vw,90px);height:auto;opacity:0}.bird-path-1{top:48%;left:45%;animation:bird-fly-1 3.8s cubic-bezier(.22,.61,.36,1) forwards}@keyframes bird-fly-1{0%{transform:translate(0) scale(.3);opacity:0}8%{opacity:.9}50%{transform:translate(18vw,-22vh) scale(.8) rotate(-5deg);opacity:.9}to{transform:translate(38vw,-48vh) scale(1.1) rotate(-8deg);opacity:0}}.bird-path-2{top:52%;left:40%;animation:bird-fly-2 3.8s cubic-bezier(.22,.61,.36,1) forwards}@keyframes bird-fly-2{0%{transform:translate(0) scale(.25);opacity:0}8%{opacity:.85}50%{transform:translate(-15vw,-18vh) scale(.7) rotate(6deg);opacity:.85}to{transform:translate(-35vw,-45vh) scale(1.05) rotate(10deg);opacity:0}}.scroll-text{position:absolute;top:14%;left:0;right:0;text-align:center;z-index:2;transition:opacity .5s ease;pointer-events:none;line-height:1.5}.scroll-text.fade{opacity:0}.summon-title{font-size:clamp(1rem,5vw,1.4rem);font-weight:700;letter-spacing:.25em;text-indent:.25em;color:#2a1a0a;text-shadow:0 1px 3px rgba(245,210,122,.4);margin-bottom:.6rem}.summon-sub{font-size:clamp(.65rem,2.8vw,.8rem);letter-spacing:.3em;color:#3c281480;font-weight:400}.hint-stroke{position:absolute;top:28%;left:50%;transform:translate(-50%);width:40%;height:42%;z-index:1;pointer-events:none;animation:hint-pulse 3s ease-in-out;opacity:0}@keyframes hint-pulse{0%,to{opacity:0}20%,70%{opacity:1}90%{opacity:0}}.hint-stroke .hint-path{stroke-dasharray:260;stroke-dashoffset:260;animation:hint-draw 3s ease-in-out}@keyframes hint-draw{0%{stroke-dashoffset:260}30%{stroke-dashoffset:0}70%{stroke-dashoffset:0}to{stroke-dashoffset:-260}}.hint-stroke.hidden{opacity:0!important;transition:opacity .3s ease}.ink-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;touch-action:none;cursor:crosshair}.ink-canvas.glowing{filter:drop-shadow(0 0 4px rgba(245,210,122,.6))}.ink-canvas.bright-glow{filter:drop-shadow(0 0 8px rgba(255,244,207,.9)) drop-shadow(0 0 16px rgba(245,210,122,.5))}.stroke-particles{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:visible}.stroke-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 6px 1px #f5d27ab3;transform:translate(-50%,-50%);animation:stroke-particle-rise forwards ease-out}@keyframes stroke-particle-rise{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(calc(-50% + var(--drift-x, 0px)),calc(-50% + var(--drift-y, -30px))) scale(0);opacity:0}}.scroll-anchor.shake-1{animation:scroll-shake-1 .25s ease-in-out}@keyframes scroll-shake-1{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(.8deg)}75%{transform:translate(4px) rotate(.2deg)}}.scroll-anchor.shake-2{animation:scroll-shake-2 .3s ease-in-out}@keyframes scroll-shake-2{0%,to{transform:translate(0)}20%{transform:translate(-7px) rotate(1.2deg)}40%{transform:translate(6px) rotate(-.3deg)}60%{transform:translate(-4px) rotate(.6deg)}80%{transform:translate(2px) rotate(0)}}.scroll-anchor.launching{animation:scroll-launch .55s cubic-bezier(.55,.06,.68,.19) forwards}@keyframes scroll-launch{0%{transform:scale(1);opacity:1}to{transform:translateZ(-1200px) scale(.05) rotate(-1deg);opacity:.3}}.army-stage{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;overflow:hidden}.ink-smoke{position:absolute;top:50%;left:50%;width:0;height:0;z-index:11}.ink-smoke-particle{position:absolute;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,rgba(15,12,8,.8) 0%,rgba(245,210,122,.15) 50%,transparent 100%);transform:translate(-50%,-50%) scale(.5);animation:ink-smoke-spread forwards ease-out}@keyframes ink-smoke-spread{0%{transform:translate(-50%,-50%) scale(.3);opacity:.9}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(var(--scale, 1.5));opacity:0}}.army-layers{position:relative;width:100%;height:100%;z-index:12}.silhouette{position:absolute;bottom:0;background:linear-gradient(180deg,#0a0805f2,#0a0805b3);filter:blur(1px);opacity:0;animation:sil-appear .6s ease-out forwards}@keyframes sil-appear{0%{opacity:0;transform:translateY(40px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.silhouette.banner{width:14px;height:70%;bottom:10%;background:linear-gradient(180deg,#0a0805d9,#0a080599);clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);transform-origin:bottom center;animation:sil-appear .6s ease-out forwards,banner-sway 3s ease-in-out infinite alternate .6s}@keyframes banner-sway{0%{transform:rotate(calc(var(--sway, 2deg) * -1))}to{transform:rotate(var(--sway, 2deg))}}.silhouette.cavalry{width:36px;height:24%;bottom:8%;border-radius:50% 50% 30% 30%/60% 60% 40% 40%;background:linear-gradient(180deg,#0a0805e6,#0a0805a6)}.silhouette.soldier{width:8px;height:12%;bottom:15%;border-radius:40% 40% 10% 10%;transform:scale(var(--scale, 1));background:linear-gradient(180deg,#0a0805d9,#0a080580)}.army-stage.surging .army-layers{animation:army-surge 1s cubic-bezier(.34,.03,.35,1) forwards}@keyframes army-surge{0%{transform:scale(.7) translateY(20px);filter:blur(2px)}to{transform:scale(2.5) translateY(-30px);filter:blur(.5px)}}.army-stage.dispersing{animation:army-disperse .5s ease-out forwards}@keyframes army-disperse{0%{opacity:1}to{opacity:0;transform:scale(3)}}.dust-mist{position:absolute;inset:0;z-index:13;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 70%,rgba(120,100,70,.15) 0%,transparent 60%),radial-gradient(ellipse at 30% 60%,rgba(80,60,40,.1) 0%,transparent 50%)}.dust-mist.active{animation:dust-rise 1.5s ease-out forwards}@keyframes dust-rise{0%{opacity:0;transform:translateY(30px)}40%{opacity:.7}to{opacity:0;transform:translateY(-20px)}}#heroWrap{z-index:20}#heroCard{opacity:0}.card.hero-burst{animation:hero-burst .6s cubic-bezier(.18,.9,.32,1.1) forwards}@keyframes hero-burst{0%{transform:translateZ(-200px) scale(.3) rotateY(180deg);opacity:0}40%{transform:translateZ(120px) scale(1.3) rotateY(180deg);opacity:1}to{transform:translateZ(90px) scale(1.18) rotateY(180deg);opacity:1}}.card.settled{animation:settled-float 5s ease-in-out infinite}@keyframes settled-float{0%,to{transform:translateZ(90px) scale(1.18) rotateY(180deg) translateY(0)}50%{transform:translateZ(90px) scale(1.18) rotateY(180deg) translateY(-6px)}}.again{position:absolute;bottom:max(2rem,env(safe-area-inset-bottom));left:50%;transform:translate(-50%) translateY(8px);font-family:inherit;font-size:1rem;letter-spacing:.25em;color:var(--gold-bright);background:transparent;border:1px solid rgba(245,210,122,.5);border-radius:999px;padding:.7em 1.8em;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s ease,border-color .3s ease,box-shadow .3s ease;z-index:25}.again.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.again:hover{border-color:var(--gold-bright);box-shadow:0 0 18px #f5d27a4d}.again:active{transform:translate(-50%) translateY(1px)}.float-container.s3-still{animation:none;transition:transform .6s ease;transform:translateY(0) rotate(0) scale(1)}.living-layer.s3-fade-ambient{opacity:0;transition:opacity .8s ease}.s3-glow-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;opacity:0;transition:opacity .8s ease;filter:blur(1px);mix-blend-mode:screen}.s3-glow-canvas.s3-glow-active{opacity:1;animation:s3-glow-pulse 1.2s ease-in-out infinite alternate}@keyframes s3-glow-pulse{0%{filter:blur(1px) brightness(1)}to{filter:blur(2px) brightness(1.4)}}.float-container.s3-shake-1{animation:s3-shake-1 .25s ease-in-out!important}@keyframes s3-shake-1{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-5px) rotate(.9deg)}40%{transform:translate(4px) rotate(-.6deg)}60%{transform:translate(-3px) rotate(.4deg)}80%{transform:translate(2px) rotate(-.2deg)}}.float-container.s3-shake-2{animation:s3-shake-2 .3s ease-in-out!important}@keyframes s3-shake-2{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-9px) rotate(1.6deg)}25%{transform:translate(8px) rotate(-1.2deg)}38%{transform:translate(-7px) rotate(1deg)}52%{transform:translate(5px) rotate(-.7deg)}68%{transform:translate(-3px) rotate(.4deg)}82%{transform:translate(2px) rotate(-.2deg)}}.float-container.s3-gold-edge{box-shadow:0 0 20px #c8a03c66,0 0 40px #c8a03c33,inset 0 0 15px #c8a03c26;transition:box-shadow .3s ease}.scene2-layer.s3-darken{background:#00000059;transition:background .5s ease}.s2-canvas.s3-canvas-bright{filter:drop-shadow(0 0 6px rgba(255,210,100,.7)) drop-shadow(0 0 14px rgba(245,190,60,.4));transition:filter .4s ease}.s3-pull-particle{position:fixed;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#ffd264e6,#c8a03c80);box-shadow:0 0 6px #ffd26499;pointer-events:none;z-index:40;animation:s3-pull .7s ease-in forwards;animation-delay:var(--delay, 0s)}@keyframes s3-pull{0%{transform:translate(0) scale(1);opacity:.9}to{transform:translate(var(--pull-x),var(--pull-y)) scale(.2);opacity:0}}.float-container.s3-freeze{animation:none!important;transition:none!important}.float-container.s3-retreat{animation:s3-retreat .6s cubic-bezier(.7,0,.84,0) forwards!important;transform-origin:50% 50%}@keyframes s3-retreat{0%{transform:scale(1) perspective(800px) translateZ(0);opacity:1;filter:none}30%{transform:scale(.35) perspective(800px) translateZ(-300px);opacity:.9;filter:brightness(1.2)}60%{transform:scale(.12) perspective(800px) translateZ(-600px);opacity:.75;filter:brightness(1.4) drop-shadow(0 0 8px rgba(200,160,60,.6))}85%{transform:scale(.05) perspective(800px) translateZ(-900px);opacity:.6;filter:brightness(1.6) drop-shadow(0 0 12px rgba(200,160,60,.8))}to{transform:scale(.035) perspective(800px) translateZ(-1100px);opacity:.55;filter:brightness(1.8) drop-shadow(0 0 16px rgba(255,210,100,.9)) drop-shadow(0 0 30px rgba(200,160,60,.5))}}.pre-reveal{position:fixed;inset:0;z-index:19;display:flex;align-items:center;justify-content:center;pointer-events:none}.pr-ripple{position:absolute;top:50%;left:50%;width:80vmin;max-width:500px;height:auto;transform:translate(-50%,-50%) scale(.04);opacity:0;transition:transform 1.5s cubic-bezier(.25,.46,.45,.94),opacity .6s ease}.pr-ripple-grow .pr-ripple{transform:translate(-50%,-50%) scale(1);opacity:.85}.pr-mist{position:absolute;top:50%;left:50%;width:110vmin;max-width:700px;height:auto;transform:translate(-50%,-50%) scale(.8);opacity:0;transition:opacity 1.8s ease,transform 2.5s ease-out}.pr-mist-fade .pr-mist{opacity:.65;transform:translate(-50%,-50%) scale(1.05)}.zhouyu-entrance{position:fixed;top:50%;left:50%;width:22vmin;max-width:140px;height:auto;transform:translate(-50%,-42%) scale(.18);opacity:0;filter:blur(6px);z-index:20;pointer-events:none;transition:transform 1s cubic-bezier(.34,.07,.28,1),opacity .8s ease,filter 1s ease,width 1s ease-out}.zhouyu-arrive{width:55vmin;max-width:360px;transform:translate(-50%,-50%) scale(1);opacity:1;filter:blur(0px)}.zy-pluck-pulse{animation:zy-pluck-scale .65s ease-out}@keyframes zy-pluck-scale{0%{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-50%,-50%) scale(1.015)}to{transform:translate(-50%,-50%) scale(1)}}.zy-breathing{animation:zy-breathe 4.5s ease-in-out infinite}@keyframes zy-breathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.006)}}.zy-glint{position:fixed;top:50%;left:50%;width:90px;height:2px;transform:translate(-50%,-2%) scaleX(0);transform-origin:center;background:linear-gradient(90deg,transparent 0%,rgba(120,180,220,.7) 35%,rgba(220,180,80,.9) 50%,rgba(120,180,220,.7) 65%,transparent 100%);border-radius:50%;filter:blur(.5px);z-index:21;opacity:0;pointer-events:none;transition:transform .45s ease-out,opacity .4s ease}.zy-glint-flash{transform:translate(-50%,-2%) scaleX(1);opacity:1}.zy-pluck-ripple{position:fixed;top:50%;left:50%;width:40px;height:auto;transform:translate(-50%,-2%) scale(.1);opacity:0;z-index:19;pointer-events:none;transition:transform 1.8s ease-out,opacity 1.6s ease}.zy-ripple-expand{transform:translate(-50%,-2%) scale(3.5);opacity:.5}.pr-mist-push .pr-mist{opacity:1;animation:pr-mist-shove 1.8s ease-out}@keyframes pr-mist-shove{0%{transform:translate(-50%,-50%) scale(1.05)}40%{transform:translate(-50%,-50%) scale(1.18)}to{transform:translate(-50%,-50%) scale(1.08)}}.zy-displaced-petal{position:fixed;width:22px;height:auto;z-index:19;opacity:0;pointer-events:none;animation:zy-petal-drift 2.4s ease-out forwards}@keyframes zy-petal-drift{0%{transform:translate(0) rotate(0) scale(.5);opacity:0}15%{opacity:.7}to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1);opacity:0}}.zy-reveal-title{position:fixed;top:50%;left:50%;transform:translate(-50%,calc(-50% + 30vmin));font-size:clamp(2rem,7vw,3.5rem);font-weight:700;letter-spacing:.3em;color:#f5d27af2;text-shadow:0 0 18px rgba(200,160,60,.5),0 2px 8px rgba(0,0,0,.7);opacity:0;z-index:22;pointer-events:none;transition:opacity .8s ease}.zy-reveal-quote{position:fixed;top:50%;left:50%;transform:translate(-50%,calc(-50% + 38vmin));font-size:clamp(.85rem,3.5vw,1.15rem);font-weight:400;letter-spacing:.25em;color:#dcc8aad9;text-shadow:0 0 12px rgba(0,0,0,.6);opacity:0;z-index:22;pointer-events:none;transition:opacity .8s ease}.zy-reveal-visible{opacity:1}body.dev-env-plate-active .scene-container,body.dev-env-plate-active .vignette,body.dev-env-plate-active .flash{visibility:hidden}body.dev-env-plate-active .embers .ember{animation-play-state:paused}body.dev-env-plate-active .dev-env-plate{opacity:1}.dev-preview-sc,.dev-preview-zy,.dev-env-plate{display:none!important}.dev-preview-sc{position:fixed;bottom:12px;right:12px;z-index:9999;padding:6px 12px;font-size:11px;font-family:system-ui,sans-serif;letter-spacing:.05em;color:#f5d27ae6;background:#140f0ab3;border:1px solid rgba(200,160,60,.4);border-radius:4px;cursor:pointer;opacity:.5;transition:opacity .2s ease;pointer-events:auto}.dev-preview-sc:hover{opacity:1}.dev-preview-zy{position:fixed;bottom:12px;right:120px;z-index:9999;padding:6px 12px;font-size:11px;font-family:system-ui,sans-serif;letter-spacing:.05em;color:#f5d27ae6;background:#140f0ab3;border:1px solid rgba(200,160,60,.4);border-radius:4px;cursor:pointer;opacity:.5;transition:opacity .2s ease;pointer-events:auto}.dev-preview-zy:hover{opacity:1}.dev-env-plate{position:fixed;bottom:12px;right:228px;z-index:9999;padding:6px 12px;font-size:11px;font-family:system-ui,sans-serif;letter-spacing:.05em;color:#f5d27ae6;background:#140f0ab3;border:1px solid rgba(200,160,60,.4);border-radius:4px;cursor:pointer;opacity:.5;transition:opacity .2s ease;pointer-events:auto}.dev-env-plate:hover{opacity:1}.sc-pre-reveal{position:fixed;inset:0;z-index:19;pointer-events:none;display:flex;align-items:center;justify-content:center;background:transparent;box-shadow:none;border:none;outline:none;filter:none}.hero-video-blend{width:auto;height:auto;max-height:72vh;max-width:88vw;object-fit:contain;pointer-events:none;display:block;position:relative;z-index:1;background:transparent;box-shadow:none;border:none;outline:none;filter:none;opacity:1;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.04) 1%,rgba(0,0,0,.1) 3%,rgba(0,0,0,.2) 6%,rgba(0,0,0,.32) 10%,rgba(0,0,0,.45) 14%,rgba(0,0,0,.58) 18%,rgba(0,0,0,.7) 22%,rgba(0,0,0,.82) 27%,rgba(0,0,0,.92) 32%,black 38%,black 62%,rgba(0,0,0,.92) 68%,rgba(0,0,0,.82) 73%,rgba(0,0,0,.7) 78%,rgba(0,0,0,.58) 82%,rgba(0,0,0,.45) 86%,rgba(0,0,0,.32) 90%,rgba(0,0,0,.2) 94%,rgba(0,0,0,.1) 97%,rgba(0,0,0,.04) 99%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.04) 1%,rgba(0,0,0,.1) 3%,rgba(0,0,0,.2) 5%,rgba(0,0,0,.32) 9%,rgba(0,0,0,.45) 13%,rgba(0,0,0,.58) 17%,rgba(0,0,0,.7) 21%,rgba(0,0,0,.82) 26%,rgba(0,0,0,.92) 31%,black 37%,black 63%,rgba(0,0,0,.92) 69%,rgba(0,0,0,.82) 74%,rgba(0,0,0,.7) 79%,rgba(0,0,0,.58) 83%,rgba(0,0,0,.45) 87%,rgba(0,0,0,.32) 91%,rgba(0,0,0,.2) 95%,rgba(0,0,0,.1) 97%,rgba(0,0,0,.04) 99%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.04) 1%,rgba(0,0,0,.1) 3%,rgba(0,0,0,.2) 6%,rgba(0,0,0,.32) 10%,rgba(0,0,0,.45) 14%,rgba(0,0,0,.58) 18%,rgba(0,0,0,.7) 22%,rgba(0,0,0,.82) 27%,rgba(0,0,0,.92) 32%,black 38%,black 62%,rgba(0,0,0,.92) 68%,rgba(0,0,0,.82) 73%,rgba(0,0,0,.7) 78%,rgba(0,0,0,.58) 82%,rgba(0,0,0,.45) 86%,rgba(0,0,0,.32) 90%,rgba(0,0,0,.2) 94%,rgba(0,0,0,.1) 97%,rgba(0,0,0,.04) 99%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.04) 1%,rgba(0,0,0,.1) 3%,rgba(0,0,0,.2) 5%,rgba(0,0,0,.32) 9%,rgba(0,0,0,.45) 13%,rgba(0,0,0,.58) 17%,rgba(0,0,0,.7) 21%,rgba(0,0,0,.82) 26%,rgba(0,0,0,.92) 31%,black 37%,black 63%,rgba(0,0,0,.92) 69%,rgba(0,0,0,.82) 74%,rgba(0,0,0,.7) 79%,rgba(0,0,0,.58) 83%,rgba(0,0,0,.45) 87%,rgba(0,0,0,.32) 91%,rgba(0,0,0,.2) 95%,rgba(0,0,0,.1) 97%,rgba(0,0,0,.04) 99%,transparent 100%);mask-composite:intersect}.hero-reveal-text{position:absolute;right:36px;bottom:8vh;z-index:30;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:6px;pointer-events:none}.hero-video-blend::-webkit-media-controls,.hero-video-blend::-webkit-media-controls-enclosure{display:none!important}.hero-reveal-name{font-family:Songti SC,STSong,"Noto Serif SC",serif;writing-mode:vertical-rl;text-orientation:upright;font-size:26px;font-weight:500;color:#c8aa72;opacity:0;letter-spacing:.18em;line-height:1.2;transform:translateY(5px);transition:opacity .4s ease,transform .4s ease}.hero-reveal-quote{font-family:Songti SC,STSong,"Noto Serif SC",serif;writing-mode:vertical-rl;text-orientation:upright;font-size:14px;font-weight:400;color:#a99672;opacity:0;letter-spacing:.22em;line-height:1.3;transform:translateY(5px);transition:opacity .5s ease,transform .5s ease}.hero-reveal-name.visible{opacity:.88;transform:translateY(0)}.hero-reveal-quote.visible{opacity:.72;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.card.idle{animation:none!important}.card.card-approach{transform:translateZ(200px) scale(1.3)!important;opacity:0!important;transition:all .3s ease}.closed-scroll-fly-in,.closed-scroll-opening,.open-scroll-reveal,.scroll-anchor.shake-1,.scroll-anchor.shake-2,.scroll-anchor.launching,.army-stage.surging .army-layers,.army-stage.dispersing,.card.hero-burst,.card.settled,.flash.fire,.ink-smoke-particle,.stroke-particle,.silhouette,.dust-mist.active,.hint-stroke,.hint-stroke .hint-path{animation:none!important}.closed-scroll-fly-in,.closed-scroll-settled{transform:translate(-50%,-50%);opacity:1}.open-scroll-reveal,.open-scroll-settled{clip-path:inset(0 0 0 0);opacity:1}.card.settled{transform:translateZ(90px) scale(1.18) rotateY(180deg)}.card.hero-burst{transform:translateZ(90px) scale(1.18) rotateY(180deg)!important;opacity:1!important}.hint-stroke{opacity:.3}.ember{animation:none!important;opacity:.3}}
