.landscape{animation:scene-breathe 48s ease-in-out infinite alternate;transform-origin:35% 55%}.atmosphere{position:fixed;inset:0;z-index:-3;pointer-events:none;overflow:hidden;contain:strict}.veil{z-index:-2}.grain{z-index:-1}.mist{position:absolute;width:95vw;height:32vh;left:-22%;top:33%;opacity:.23;filter:blur(27px);background:radial-gradient(ellipse at 35% 60%,#e4e6d566,transparent 66%),radial-gradient(ellipse at 73% 55%,#cad7d952,transparent 57%);animation:mist-drift 37s ease-in-out infinite alternate}.mist-two{top:49%;left:-40%;width:110vw;height:22vh;opacity:.18;animation-duration:49s;animation-delay:-21s}.water-glint{position:absolute;left:22%;top:45%;width:21%;height:30%;opacity:0;filter:blur(4px);background:repeating-linear-gradient(178deg,transparent 0 7px,#e1cc8a44 8px,transparent 10px);clip-path:polygon(60% 0,85% 45%,80% 100%,0 100%,23% 53%);animation:water-shimmer 8s ease-in-out infinite alternate}body[data-scene=xingyun] .water-glint{opacity:.3}.lantern-glow{position:absolute;width:24vw;height:38vh;left:-7%;bottom:7%;background:radial-gradient(ellipse,#e2a14a26,transparent 67%);animation:lamplight 6s ease-in-out infinite alternate}.moon-glow{position:absolute;left:9%;top:7%;height:24vw;width:24vw;background:radial-gradient(ellipse,#d4e2ff1a,transparent 64%);opacity:0;animation:lamplight 12s ease-in-out infinite alternate}body[data-scene=wenji] .moon-glow{opacity:1}body[data-scene=wenji] .mist{opacity:.14;top:36%}.motes{position:absolute;inset:0;opacity:.3}.motes i{position:absolute;width:3px;height:3px;background:#f3e3ac;border-radius:50%;left:15%;top:70%;box-shadow:0 0 8px #e7d5a6;animation:mote-rise 17s ease-in-out infinite}.motes i:nth-child(2){left:32%;top:82%;animation-delay:-5s;animation-duration:24s}.motes i:nth-child(3){left:7%;top:60%;animation-delay:-9s}.motes i:nth-child(4){left:42%;top:72%;animation-delay:-13s;animation-duration:20s}.motes i:nth-child(5){left:25%;top:55%;animation-delay:-2s;width:2px;height:2px}.motes i:nth-child(6){left:37%;top:65%;animation-delay:-11s;width:2px;height:2px}.motes i:nth-child(7){left:18%;top:88%;animation-delay:-4s;animation-duration:29s}.motes i:nth-child(8){left:5%;top:77%;animation-delay:-8s;width:2px;height:2px}body[data-scene=wenji] .motes{opacity:.6}body[data-scene=xingyun] .motes{opacity:.13}.ambience-controls{grid-column:1/-1;justify-content:flex-start!important;gap:18px!important;border-top:1px solid var(--line);padding-top:14px}.ambience-controls button{color:#d4c39b;font-size:11px}.music-name{color:#99aa9c;font:11px var(--serif);letter-spacing:2px}.volume-label{display:flex;align-items:center;gap:9px;font-size:10px;color:#b9c1b1}.volume-label input{width:65px;height:3px;accent-color:#d1bc8c}.ai-section{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.ai-section .primary{margin-top:12px}.ai-status{font-size:11px;line-height:1.9;color:var(--muted);margin:8px 0}.ai-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:2.1;color:#e0e3d3}.ai-basis{margin:16px 0;font-size:11px;line-height:2;color:#adbba9}.ai-basis summary{cursor:pointer;color:var(--gold)}.pillars{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.pillars span{border:1px solid var(--line);padding:10px;text-align:center;font-family:var(--serif);min-width:55px}.pillars small{display:block;font:9px var(--sans);color:var(--muted);margin-bottom:6px}.ai-loading{font-size:12px;line-height:2;color:var(--gold);padding:14px 0}.ai-loading:before{content:'◇';display:inline-block;margin-right:10px;animation:thinking-turn 3s linear infinite}.ai-consent{margin-top:15px}.ai-consent input{flex-shrink:0}.pending-tag{color:#e7bd8d!important}.music-bars{display:none}body[data-motion=off] .landscape,body[data-motion=off] .atmosphere *,body[data-hidden=yes] .landscape,body[data-hidden=yes] .atmosphere *{animation-play-state:paused!important}body[data-motion=off] .atmosphere{opacity:0}body[data-motion=off] .landscape{transform:none}.fact-list{font:12px/2 var(--serif);white-space:pre-wrap}.ai-footnote{font-size:10px;line-height:1.9;color:var(--muted)}
@keyframes scene-breathe{from{transform:scale(1.015) translateX(-.2%)}to{transform:scale(1.045) translateX(.2%)}}@keyframes mist-drift{from{transform:translate3d(-4%,1%,0)}to{transform:translate3d(20%,-6%,0)}}@keyframes lamplight{0%,100%{filter:brightness(.85);transform:scale(.97)}47%{filter:brightness(1.2);transform:scale(1.04)}64%{filter:brightness(.95)}}@keyframes water-shimmer{from{transform:translateY(-3px) scaleX(.98);filter:blur(4px) brightness(.7)}to{transform:translateY(4px) scaleX(1.04);filter:blur(5px) brightness(1.2)}}@keyframes mote-rise{0%{transform:translate(0,15px);opacity:0}25%{opacity:.8}70%{opacity:.4}100%{transform:translate(20px,-120px);opacity:0}}@keyframes thinking-turn{to{transform:rotate(360deg)}}@media(max-width:700px){.ambience-controls{flex-wrap:wrap;gap:14px!important}.music-name{font-size:10px}.mist{width:150vw;top:20%;height:20vh}.water-glint{top:25%;width:45%;height:17%}.ai-text{font-size:12px}.landscape{transform-origin:35% 20%}.moon-glow{width:55vw;height:55vw;left:-10%;top:8%}.lantern-glow{bottom:40%;width:50vw}}@media(prefers-reduced-motion:reduce){.atmosphere{display:none}.landscape{animation:none;transform:none}}
/* Enhanced scene motion. Foreground effects are masked away from reading space. */
.landscape{animation:scene-breathe-visible 20s ease-in-out infinite alternate;will-change:transform}
.atmosphere{z-index:0;mask-image:linear-gradient(90deg,#000 0%,#000 43%,#0008 57%,transparent 70%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 43%,#0008 57%,transparent 70%)}
.masthead,main,footer{position:relative;z-index:1}
.mist{width:125vw;height:37vh;top:30%;left:-43%;opacity:.65;filter:blur(17px);background:radial-gradient(ellipse at 20% 60%,#d8e6df90,transparent 49%),radial-gradient(ellipse at 58% 42%,#e2e8df80,transparent 43%),radial-gradient(ellipse at 80% 65%,#d0e0df77,transparent 41%);animation:mist-sweep-visible 15s ease-in-out infinite alternate;will-change:transform}
.mist-two{top:48%;left:-52%;height:25vh;opacity:.52;animation-duration:21s;animation-delay:-11s;filter:blur(22px)}
.atmosphere:before{content:'';position:absolute;width:74vw;height:25vh;left:-12%;bottom:12%;background:radial-gradient(ellipse at 37% 55%,#e1e6df77,transparent 61%);filter:blur(18px);animation:low-cloud-visible 12s ease-in-out infinite alternate;opacity:.48}
.lantern-glow{width:40vw;height:62vh;left:-14%;bottom:0;background:radial-gradient(ellipse,#ffbe5866,transparent 64%);animation:lamp-visible 3.7s ease-in-out infinite alternate;mix-blend-mode:screen}
.water-glint{left:18%;top:44%;width:32%;height:35%;filter:blur(1px);background:repeating-linear-gradient(177deg,transparent 0 6px,#ffe5a277 7px,transparent 10px);animation:river-visible 3.8s ease-in-out infinite alternate;mask-image:linear-gradient(transparent,#0009 35%,#000,transparent)}
.water-glint{display:none}body[data-scene=xingyun] .water-glint{display:block;opacity:.75}
.water-glint:after{content:'';position:absolute;inset:-10%;background:repeating-radial-gradient(ellipse at 50% 10%,transparent 0 16px,#eadcb155 17px,transparent 19px);animation:river-ripples 6s ease-in-out infinite alternate}
.moon-glow{left:4%;top:0;width:40vw;height:40vw;background:radial-gradient(ellipse,#d6e5ff55,transparent 64%);animation:moon-visible 7s ease-in-out infinite alternate;mix-blend-mode:screen}
body[data-scene=wenji] .mist{opacity:.48;top:32%;background:radial-gradient(ellipse at 27% 60%,#b9d7f25c,transparent 46%),radial-gradient(ellipse at 70% 50%,#d5e1ff66,transparent 50%)}
body[data-scene=wenji] .mist-two{top:51%;opacity:.42}
.motes{opacity:.8}.motes i{width:4px;height:4px;box-shadow:0 0 5px #ffedaf,0 0 15px #e9d5a477;animation:mote-visible 8s ease-in-out infinite}
.motes i:nth-child(2){animation-duration:11s;animation-delay:-4s}.motes i:nth-child(3){animation-duration:9s;animation-delay:-7s}.motes i:nth-child(4){animation-duration:12s;animation-delay:-3s}.motes i:nth-child(5){animation-duration:10s;animation-delay:-6s;width:3px;height:3px}.motes i:nth-child(6){animation-duration:13s;animation-delay:-10s;width:3px;height:3px}.motes i:nth-child(7){animation-duration:14s;animation-delay:-5s}.motes i:nth-child(8){animation-duration:9s;animation-delay:-2s;width:3px;height:3px}
body[data-scene=wenji] .motes{opacity:1}body[data-scene=xingyun] .motes{opacity:.45}
#motion-toggle{position:fixed;right:22px;bottom:22px;z-index:4;border:1px solid #c5b28488;background:#15251ee8;padding:10px 15px;color:#f0dfb3;font-size:12px;letter-spacing:1px;box-shadow:0 3px 20px #0003;backdrop-filter:blur(8px)}
body[data-motion=soft] .atmosphere{opacity:.42}body[data-motion=soft] .landscape{animation-duration:42s}body[data-motion=soft] .mist{animation-duration:35s}body[data-motion=soft] .mist-two{animation-duration:45s}
body[data-motion=off] .atmosphere{opacity:0}body[data-motion=off] .landscape,body[data-hidden=yes] .landscape{animation-play-state:paused!important}
body[data-motion=off] .atmosphere:before,body[data-hidden=yes] .atmosphere:before,body[data-motion=off] .water-glint:after,body[data-hidden=yes] .water-glint:after{animation-play-state:paused!important}
@keyframes scene-breathe-visible{from{transform:scale(1.025) translateX(-.7%)}to{transform:scale(1.10) translateX(.7%)}}
@keyframes mist-sweep-visible{0%{transform:translate3d(-8%,8%,0) scaleY(.8)}100%{transform:translate3d(29%,-12%,0) scaleY(1.15)}}
@keyframes low-cloud-visible{from{transform:translate3d(-18%,10%,0)}to{transform:translate3d(30%,-9%,0)}}
@keyframes lamp-visible{0%,100%{opacity:.45;transform:scale(.9)}45%{opacity:.95;transform:scale(1.12)}70%{opacity:.65;transform:scale(1.02)}}
@keyframes river-visible{from{transform:translateY(-6px) scaleX(.93);background-position:0 -12px;opacity:.35}to{transform:translateY(7px) scaleX(1.08);background-position:0 12px;opacity:.8}}
@keyframes river-ripples{from{transform:scale(.88) translateY(-6px);opacity:.25}to{transform:scale(1.18) translateY(6px);opacity:.65}}
@keyframes moon-visible{from{opacity:.35;transform:scale(.9)}to{opacity:.85;transform:scale(1.12)}}
@keyframes mote-visible{0%{transform:translate3d(-10px,40px,0);opacity:0}20%{opacity:1}55%{transform:translate3d(32px,-65px,0);opacity:.8}100%{transform:translate3d(8px,-210px,0);opacity:0}}
@media(max-width:700px){.atmosphere{mask-image:linear-gradient(#000 0%,#000 28%,#0004 43%,transparent 59%);-webkit-mask-image:linear-gradient(#000 0%,#000 28%,#0004 43%,transparent 59%)}.mist{width:170vw;top:16%;left:-65%;height:26vh}.mist-two,body[data-scene=wenji] .mist-two{top:32%;height:20vh}.atmosphere:before{width:130vw;bottom:49%}.water-glint{top:25%;left:0;width:60%;height:24%}.moon-glow{left:-18%;top:3%;width:95vw;height:95vw}body[data-scene=wenji] .mist{top:20%}#motion-toggle{right:14px;bottom:14px;padding:10px 12px;font-size:11px}footer{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){.atmosphere{display:none}.landscape{animation:none;transform:none}}

.moon-glow{display:none}body[data-scene=wenji] .moon-glow{display:block}

/* Only floating motes animate; the scene itself remains completely still. */
.landscape{animation:none!important;transform:none!important;will-change:auto}
.mist,.water-glint,.lantern-glow,.moon-glow,body[data-scene=wenji] .moon-glow,body[data-scene=xingyun] .water-glint,.atmosphere:before{display:none!important;animation:none!important}
.atmosphere{contain:strict}
