/* Local motion layer. Existing typography and page content are preserved. */
body{isolation:isolate;--motion-gold:226,195,152;--cursor-x:50%;--cursor-y:50%}
.ambient-stage{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
.ambient-stage canvas{width:100%;height:100%;display:block}
.ambient-wash{position:absolute;inset:-12%;background:radial-gradient(ellipse at 75% 20%,#9d547022,transparent 50%),radial-gradient(ellipse at 16% 76%,#4c969518,transparent 42%);animation:ambient-breathe 18s ease-in-out infinite alternate}
[data-scene="gold"] .ambient-wash{background:radial-gradient(ellipse at 84% 17%,#b8893c25,transparent 46%),radial-gradient(ellipse at 8% 60%,#9b753219,transparent 47%)}
[data-scene="gold"]{background:#0b1119}
.ambient-beam{position:absolute;top:-60%;right:12%;height:165%;width:36%;transform:rotate(-29deg);background:linear-gradient(90deg,transparent,#cba05208 35%,#f1d2a01b 55%,transparent 77%);filter:blur(32px);animation:beam-drift 23s ease-in-out infinite alternate}
.ambient-beam.second{right:62%;opacity:.4;animation-delay:-8s}
.art-cloud{position:absolute;top:1%;left:0;width:360px;height:160px;overflow:hidden;opacity:.17;filter:saturate(.65)}
.art-cloud img{max-width:none;width:1540px;height:auto}
.art-cloud.right{left:auto;right:0;top:auto;bottom:9%;transform:scaleX(-1);opacity:.1}
.art-seal{position:absolute;top:105px;right:-44px;width:380px;height:380px;overflow:hidden;opacity:.09;animation:seal-float 18s ease-in-out infinite alternate}
.art-seal img{position:absolute;max-width:none;width:516.13%;height:auto;left:-38.17%;top:-104.30%}
[data-scene="gold"] .art-seal{right:2%;top:135px;opacity:.13;width:330px;height:330px}
.sakura-layer{position:fixed;inset:0;overflow:hidden;z-index:11;pointer-events:none;contain:strict;mask-image:linear-gradient(90deg,#0005,#000b 45%,#000)}
.sakura-path{position:absolute;top:-35px;left:var(--petal-x);width:var(--petal-size);height:var(--petal-size);animation:petal-journey var(--petal-time) linear var(--petal-delay) infinite;opacity:var(--petal-opacity)}
.sakura-path .sakura{position:relative!important;top:auto!important;width:100%;height:70%;margin:0;background:linear-gradient(120deg,#ffd0dea8,#e7afa1a6);border-radius:14px 2px;animation:sway-3 4s ease-in-out infinite alternate;box-shadow:0 0 7px #dfb2a722}
.sakura-path:nth-child(4n){filter:blur(1.2px)}
.sakura-path:nth-child(3n) .sakura{animation-name:sway-6}
.portal-content,.scene-caption,.scene-floor{z-index:2}
.scene-mist{inset:-8%;animation:mist-drift 22s ease-in-out infinite alternate;background:radial-gradient(ellipse at 6% 91%,#539f9b22,transparent 46%),radial-gradient(ellipse at 68% 71%,#dcd5df1b,transparent 38%)}
.scene-art img{transform:scale(1.035) translate3d(var(--scene-x,0px),var(--scene-y,0px),0);transition:transform 1.4s cubic-bezier(.2,.7,.25,1);will-change:transform}
.scene-art:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 -110px 100px -75px #0b1119}
.portrait-frame{box-shadow:0 16px 70px #b87d9514}
.portrait-frame img{transform:scale(1.035) translate3d(var(--scene-x,0px),var(--scene-y,0px),0);transition:transform 1.4s ease-out}
.site-header{backdrop-filter:blur(14px)}
.site-header nav a:before{content:"";position:absolute;bottom:1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .28s}
.site-header nav a:hover:before,.site-header nav a:focus-visible:before{transform:scaleX(1)}
.site-header nav a[aria-current]{text-shadow:0 0 18px #e2c39860}
.identity-portal,.button,.episode-card,.story-card,.work-card,.award-row{--cursor-x:50%;--cursor-y:50%;transition:transform .35s cubic-bezier(.2,.7,.25,1),border-color .35s,box-shadow .35s,background-color .35s}
.identity-portal,.episode-card,.story-card{background-image:radial-gradient(350px circle at var(--cursor-x) var(--cursor-y),#e2c3980b,transparent 70%),linear-gradient(125deg,#142432eb,#171e2bc9)}
.singer-portal{background-image:radial-gradient(300px circle at var(--cursor-x) var(--cursor-y),#eabccb18,transparent 70%),linear-gradient(105deg,#312631e8,#22202dde)}
.identity-portal:hover,.identity-portal:focus-visible{box-shadow:0 0 28px #e2c39813,inset 0 0 28px #e2c39808}
.identity-portal:focus-visible,.button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.identity-portal .enter b,.library-entry b,.button>span,.quiet-link>span,.episode-bottom b{display:inline-block;transition:transform .3s}
.identity-portal:hover .enter b,.identity-portal:focus-visible .enter b,.button:hover>span,.button:focus-visible>span,.quiet-link:hover>span,.episode-card:hover .episode-bottom b{transform:translateX(5px)}
.library-entry:hover b{transform:translate(3px,-3px)}
.button{position:relative;overflow:hidden;box-shadow:0 4px 22px #0002}
.button:after{content:"";position:absolute;inset:-100%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#fff2 50%,transparent 58%);transform:translateX(-80%);transition:transform .65s}
.button:hover:after,.button:focus-visible:after{transform:translateX(80%)}
.button:hover,.button:focus-visible{box-shadow:0 0 28px #e2c39824;transform:translateY(-2px)}
.button.rose:hover{box-shadow:0 0 28px #f0b6c931}
.library-head{position:relative}
.library-nav{position:sticky;top:0;z-index:8;backdrop-filter:blur(18px);background:#0b1119e3;box-shadow:0 8px 22px #0b11192b}
.library-nav a{position:relative;padding:7px 12px;margin:-7px -12px;transition:background .25s,box-shadow .25s}
.library-nav a.is-active{background:#e2c39812;box-shadow:inset 0 -1px #e2c398}
.profile-nav a.is-active{border-color:#e2c39885;box-shadow:inset 2px 0 #e2c398;padding-left:12px;color:var(--gold)}
.collection-section{scroll-margin-top:96px}
.work-card{padding:0 0 22px;position:relative;background:linear-gradient(180deg,transparent,#101a22a8);overflow:hidden}
.work-card .work-meta,.work-card h3,.work-card p,.work-card>a{margin-left:14px;margin-right:14px}
.work-card:focus-within,.work-card:hover{border-color:#e2c39891;box-shadow:0 15px 42px #0004;transform:translateY(-5px)}
.work-card img{transition:transform .65s cubic-bezier(.2,.7,.25,1),filter .5s}
.work-card:hover img{transform:scale(1.035);filter:brightness(1.08)}
.work-card>a,.story-card>a,.award-listen{padding:7px 12px;border:1px solid #e2c3983d;background:#d8b58208;transition:background .25s,border-color .25s,box-shadow .25s;align-self:flex-start;justify-self:start}
.work-card>a:hover,.story-card>a:hover,.award-listen:hover,.work-card>a:focus-visible,.story-card>a:focus-visible,.award-listen:focus-visible{background:#e2c39819;border-color:#e2c398b0;box-shadow:0 0 20px #e2c39815}
.story-list{perspective:1400px}
.story-card{position:relative;min-height:340px;padding:30px 28px 30px 35px;isolation:isolate;border-color:#a78a5759;background:linear-gradient(90deg,#050a0e 0,#151d24 7px,#b7964f27 10px,#111b25 15px,#14212cbf 42px,#131a24e8);box-shadow:5px 6px 0 -2px #131920,6px 7px 0 -2px #a48a4e40,0 18px 35px #0003;transform-origin:left center}
.story-card:before{content:"";position:absolute;inset:12px 11px 12px 21px;border:1px solid #d7b36b26;z-index:-1;pointer-events:none}
.story-card:after{content:"";position:absolute;left:16px;right:0;bottom:0;height:60px;z-index:-1;opacity:.18;background:url("assets/opt/cloud-footer.webp?v=a264aa071b") center bottom/100% auto no-repeat;pointer-events:none}
.story-card:hover,.story-card:focus-within{transform:translateY(-6px) rotateY(-3deg);border-color:#cfad6b9c;box-shadow:7px 8px 0 -2px #131920,8px 9px 0 -2px #a48a4e70,0 22px 40px #0005}
.story-card>a{margin-top:23px}
.episode-card:hover,.episode-card:focus-visible{transform:translateY(-4px);box-shadow:0 14px 35px #0004}
.award-row:hover,.award-row:focus-within{background-color:#e2c39808}
.prose-section,.performer-intro{position:relative}
.motion-reveal{opacity:1;transform:none}
.motion-reveal.is-waiting{opacity:0;transform:translateY(22px)}
.motion-reveal.is-visible{animation:page-rise .75s cubic-bezier(.2,.7,.25,1) backwards;animation-delay:var(--reveal-delay,0ms)}
body.motion-ready:not(.motion-paused) .portal-content{animation:page-rise .85s cubic-bezier(.2,.7,.25,1) both}
body.motion-ready:not(.motion-paused) .library-head,body.motion-ready:not(.motion-paused) .profile-hero>div:first-child,body.motion-ready:not(.motion-paused) .activity-heading{animation:page-rise .75s ease-out both}
.media-loading{animation:media-shimmer 1.6s ease-in-out infinite;background:#263542!important}
.media-loading img{opacity:0}
.scene-art img,.portrait-frame img{transition:opacity .65s,transform 1.4s cubic-bezier(.2,.7,.25,1)}
.media-fallback{display:flex;align-items:center;justify-content:center;min-height:160px;padding:24px;color:var(--muted);border:1px solid var(--border);font-size:14px}
.load-notice{position:fixed;left:50%;top:18px;transform:translate(-50%,-20px);z-index:50;display:flex;gap:12px;align-items:center;padding:11px 18px;background:#101b29f5;border:1px solid #e2c39850;box-shadow:0 10px 35px #0005;font-size:14px;color:var(--gold);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.load-notice.is-loading{opacity:1;transform:translate(-50%,0)}
.load-notice img{width:45px;height:28px;object-fit:contain}
.load-notice:after{content:"";width:15px;height:15px;border:1px solid #e2c39840;border-top-color:var(--gold);border-radius:50%;animation:loading-turn 1s linear infinite}
.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;z-index:40;transform-origin:left;transform:scaleX(var(--read-progress,0));background:linear-gradient(90deg,#a8834a,var(--gold),#ffe8bf);box-shadow:0 0 10px #e2c39888;pointer-events:none}
.motion-tools{position:fixed;right:22px;bottom:22px;z-index:20;display:flex;gap:8px;align-items:center}
.motion-toggle,.back-top{border:1px solid #e2c39855;background:#101b29e8;backdrop-filter:blur(12px);color:var(--gold);min-height:42px;padding:9px 14px;font:14px/1.4 var(--sans);cursor:pointer;box-shadow:0 4px 22px #0003;transition:border-color .25s,background .25s,opacity .25s}
.motion-toggle:hover,.back-top:hover{background:#243040;border-color:var(--gold)}
.motion-toggle:focus-visible,.back-top:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.motion-toggle span{display:inline-block;margin-right:8px;min-width:12px}
.back-top{font-size:20px;width:42px;padding:6px;display:none}
.back-top.is-shown{display:block}
.link-hint{position:fixed;z-index:60;max-width:calc(100vw - 24px);padding:7px 12px;background:#101b29f5;border:1px solid #e2c39870;box-shadow:0 5px 20px #0005;color:var(--ink);font-size:13px;pointer-events:none;opacity:0;transition:opacity .15s}
.link-hint.is-shown{opacity:1}
.site-footer{position:relative;z-index:2;padding-bottom:76px;background:#0b1119c9}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important}
.motion-paused .motion-reveal,.motion-paused .portal-content,.motion-paused .library-head,.motion-paused .profile-hero>div,.motion-paused .activity-heading{opacity:1!important;transform:none!important;animation:none!important}
.motion-paused .scene-art img,.motion-paused .portrait-frame img{transform:none;will-change:auto}
.motion-paused .sakura-layer{opacity:0}
.motion-paused .motion-reveal.is-waiting{opacity:1;transform:none}
@keyframes petal-journey{0%{transform:translate3d(0,-25px,0) rotate(-25deg)}50%{transform:translate3d(calc(var(--petal-drift) * .35),52vh,0) rotate(70deg)}100%{transform:translate3d(var(--petal-drift),calc(100vh + 60px),0) rotate(160deg)}}
@keyframes ambient-breathe{to{transform:translate3d(-3%,2%,0);opacity:.6}}
@keyframes mist-drift{to{transform:translate3d(5%,-2%,0);opacity:.55}}
@keyframes beam-drift{to{transform:translateX(80px) rotate(-23deg);opacity:.5}}
@keyframes seal-float{to{transform:translate3d(0,20px,0) rotate(4deg)}}
@keyframes page-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes media-shimmer{50%{background-color:#405363}}
@keyframes loading-turn{to{transform:rotate(360deg)}}
@media(max-width:760px){.art-cloud{width:200px;opacity:.1}.art-cloud img{width:950px}.art-seal,[data-scene="gold"] .art-seal{width:220px;height:220px;right:-70px;top:170px;opacity:.08}.ambient-beam{width:70%;opacity:.6}.motion-tools{right:12px;bottom:12px}.motion-toggle{font-size:12px;min-height:40px;padding:9px 12px}.back-top{height:40px;min-height:40px;width:40px}.story-card{min-height:305px;padding-left:34px}.library-nav{gap:24px}.work-card .work-meta,.work-card h3,.work-card p,.work-card>a{margin-left:10px;margin-right:10px}.load-notice{top:8px;font-size:13px;white-space:nowrap}.site-footer{padding-bottom:75px}}
@media(hover:none){.work-card:hover,.story-card:hover,.episode-card:hover{transform:none}.link-hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.sakura-layer{display:none}.scene-art img,.portrait-frame img{transform:none;will-change:auto}.motion-reveal.is-waiting{opacity:1;transform:none}.motion-reveal.is-visible,.portal-content,.library-head,.profile-hero>div,.activity-heading{opacity:1!important;transform:none!important}}
.motion-hidden *,.motion-hidden *:before,.motion-hidden *:after{animation-play-state:paused!important}

@media(min-width:761px){.scene-floor>span:last-child{margin-right:125px}}
.motion-toggle .motion-label{margin:0;min-width:0}
@media(max-width:760px){.motion-toggle{width:40px;padding:9px}.motion-toggle .motion-label{display:none}.motion-toggle span[aria-hidden]{margin:0;font-size:16px}.motion-tools{gap:6px}}
/* 花瓣摆动用的两段关键帧，原来来自 vendor/sakura/sakura.css?v=1a09c127a1（Sakura.js，MIT 许可，见 vendor/sakura/LICENSE）。
   网站只用到这两段，搬过来后每页少加载一个样式文件（Claude, 2026-09-28）。 */
@keyframes sway-3 { 0% { transform: rotate(25deg); } 40% { transform: rotate(74deg); } 100% { transform: rotate(37deg); } }
@keyframes sway-6 { 0% { transform: rotate(65deg); } 40% { transform: rotate(92deg); } 100% { transform: rotate(58deg); } }
