#soul-content[hidden]{display:none}
#alchemy-content[hidden],#guide-topics[hidden],#guide-pagination[hidden]{display:none}
body[data-room=alchemy] .sanctuary,body[data-room=alchemy] #hotspots,body[data-room=alchemy] .motes,body[data-room=alchemy] #index{display:none}
.alchemy-scene{position:relative;aspect-ratio:3/2;overflow:hidden}
.alchemy-scene>img{width:100%;height:100%;display:block;object-fit:cover}
.alchemy-book{position:absolute;left:30%;top:69%;width:41%;height:17%;border:0;background:transparent;border-radius:35%}
.alchemy-book:hover{box-shadow:0 0 35px #e6be6240;background:#edcd6810}
.room-reading-open{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);min-height:48px;max-width:90%;padding:12px 24px;background:#091216ed;border:1px solid #c8ac73;color:#eedbb5;box-shadow:0 5px 20px #000a;font-size:17px;white-space:nowrap}
.room-reading-open span{margin-left:14px;color:#dcc28b}
.soul-energy{border:0;padding:0;cursor:pointer}
.soul-energy:focus-visible{outline:2px solid #e6ce98;outline-offset:12px}
.room-guide[data-room=soul]{background:linear-gradient(115deg,#091315f7,#101c1df2),url('assets/soul-room.png') center/cover}
.room-guide[data-room=alchemy]{background:linear-gradient(115deg,#101510f7,#161b17f5),url('assets/alchemy-room.png') center/cover}
#guide-topics{position:sticky;top:-58px;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:5px 9px;margin:-8px -15px 30px;padding:18px 10px 14px;background:#0d191bf5;border-bottom:1px solid #bca26960;backdrop-filter:blur(12px)}
#guide-topics button{border:1px solid transparent;background:transparent;color:#c5c8b9;padding:8px 10px;min-height:44px;font-size:14px;line-height:1.3}
#guide-topics button[aria-pressed=true]{color:#f3dbab;border-color:#c4a46290;background:#b59a5018}
#guide-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:32px auto 0;max-width:680px;border-top:1px solid #aa925648;padding-top:16px}
#guide-pagination button{min-height:44px;background:transparent;border:0;color:#e2c894;padding:10px 5px;font-size:15px}
#guide-pagination button:disabled{opacity:.3;cursor:default}
#guide-position{font:12px Arial,sans-serif;color:#b0b7ae}
.room-guide #guide-body strong{color:#f0d9a9}
@media(max-width:640px){.alchemy-scene{aspect-ratio:4/5}.alchemy-book{left:15%;width:70%}#guide-topics{top:-55px;margin-inline:-8px;padding-top:30px;gap:3px;max-height:205px;overflow-y:auto}#guide-topics button{font-size:12px;padding:6px 7px}.room-reading-open{font-size:15px;padding:11px 18px}}
body[data-room=soul] .sanctuary,body[data-room=soul] #hotspots,body[data-room=soul] .motes,body[data-room=soul] #index{display:none}
#soul-content{overflow:hidden;background:#091216;border:1px solid #c9ad7838}
.soul-switch{display:flex;justify-content:center;align-items:center;gap:28px;padding:14px 20px;background:#0b1519;border-bottom:1px solid #c9ad7838}
.soul-switch button{min-height:44px;padding:10px 18px;border:0;border-bottom:1px solid transparent;background:transparent;color:#aebcbf;font-size:17px}
.soul-switch button[aria-pressed=true]{color:#f2dfb8;border-color:#d2b37b}
.soul-switch>span{color:#c8af7e}
.soul-scene{position:relative;aspect-ratio:3/2;overflow:hidden;isolation:isolate}
.soul-scene>img{display:block;width:100%;height:100%;object-fit:cover}
.soul-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 80%,#091216)}
.soul-energy{position:absolute;left:50%;top:57%;width:17%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff 0%,#fffef4ee 24%,#ecf9ffbb 47%,#e0f3ff33 65%,transparent 72%);filter:drop-shadow(0 0 20px #edfcffb0);animation:soul-breathe 7s ease-in-out infinite;transition:filter 1.5s}
.soul-energy:before{content:'';position:absolute;inset:-38%;border-radius:50%;background:radial-gradient(circle,#eaffff25,transparent 69%);filter:blur(12px)}
.soul-energy i{position:absolute;inset:3%;border-radius:50%;border:1px solid #fff9;background:conic-gradient(from 15deg,transparent 0 18%,#fff9 28%,transparent 39% 61%,#e7faffbb 74%,transparent 89%);mask-image:radial-gradient(circle,transparent 56%,#000 65%,transparent 72%);animation:soul-current 13s linear infinite;filter:blur(1px)}
.soul-energy i:nth-child(2){inset:-9%;animation-duration:19s;animation-direction:reverse;opacity:.6;transform:rotateX(30deg)}
.soul-energy i:nth-child(3){inset:-22%;animation-duration:27s;opacity:.3;filter:blur(4px)}
.soul-energy>span{position:absolute;inset:28%;border-radius:50%;background:#fff;box-shadow:0 0 25px 12px #fff8;filter:blur(7px)}
.soul-reflection{position:absolute;left:50%;top:78%;width:27%;height:9%;transform:translateX(-50%);background:radial-gradient(ellipse,#e9fbff77,transparent 68%);filter:blur(8px);animation:soul-floor 7s ease-in-out infinite}
#soul-content[data-view=ego] .soul-energy{filter:drop-shadow(0 0 28px #fff2d9d0)}
.soul-copy{max-width:790px;margin:auto;padding:38px clamp(24px,5vw,66px) 58px;color:#d5dbd6;font-size:18px;line-height:1.85}
.soul-copy>.eyebrow{text-align:center;font-size:10px}
.soul-copy h2{text-align:center;font-size:clamp(32px,4vw,46px);color:#f1e6d0;font-weight:400;margin:12px 0 28px}
.soul-copy h2 em{color:#d9bd87;font-weight:400}
.soul-lead{font-size:24px;line-height:1.6;color:#f1eee0;text-align:center}
.soul-three{margin:30px 0;padding:5px 0 5px 25px;border-left:1px solid #cfb47b70}
.soul-three section{margin:20px 0}.soul-three p{margin-top:5px}
.soul-copy h3{font-size:12px;margin-top:28px}
.soul-closing{text-align:center;color:#e4cea2;font-size:23px;font-style:italic;margin:32px 0 0}
@keyframes soul-breathe{0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.86}50%{transform:translate(-50%,-54%) scale(1.05);opacity:1}}
@keyframes soul-current{to{rotate:360deg}}
@keyframes soul-floor{0%,100%{opacity:.55;scale:.95}50%{opacity:.9;scale:1.08}}
@media(max-width:640px){.soul-scene{aspect-ratio:4/5}.soul-scene>img{object-position:50% 50%}.soul-energy{width:28%;top:58%}.soul-reflection{width:43%}.soul-copy{font-size:17px;padding-top:26px}.soul-lead{font-size:21px}.soul-switch{gap:12px}.soul-switch button{padding-inline:12px}.soul-three{padding-left:18px}}
@media(prefers-reduced-motion:reduce){.soul-energy,.soul-energy i,.soul-reflection{animation:none}.soul-energy{transition:none}}

/* The System opens the temple into the living landscape. */
#system-content[hidden]{display:none}
body[data-room=system] .sanctuary,body[data-room=system] #hotspots,body[data-room=system] .motes,body[data-room=system] #index{display:none}
.system-scene{position:relative;aspect-ratio:16/9;overflow:hidden;background:#131810}
.system-scene>img{display:block;width:100%;height:100%;object-fit:cover}
.system-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 28%,#ffd98c20,transparent 48%);animation:system-breathe 12s ease-in-out infinite alternate}
.room-guide[data-room=system]{background:linear-gradient(115deg,#111c18f7,#18221df5),url('assets/system-sanctuary.png') center/cover}
.room-guide[data-room=system]::backdrop{background:#06100b85;backdrop-filter:blur(3px)}
.room-guide[data-room=system] #guide-topics{background:#111d19fa}
@keyframes system-breathe{from{opacity:.35}to{opacity:1}}
@media(max-width:640px){.system-scene{aspect-ratio:4/5}.system-scene>img{object-fit:cover}.room-guide[data-room=system] #guide-topics{font-size:14px;max-height:210px}.room-guide[data-room=system] #guide-topics button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.system-light{animation:none}}

.system-stage{position:absolute;inset:0}
.system-nature{width:100%;height:100%;object-fit:cover;display:block}
.system-door-world{position:absolute;inset:0;transform-origin:50% 50%;pointer-events:none}
.system-door-surround,.system-door-leaf{position:absolute;background-image:url('assets/system-closed-doors.png');background-repeat:no-repeat}
.system-door-leaf{backface-visibility:hidden;z-index:1}
.system-door-left{transform-origin:left center}
.system-door-right{transform-origin:right center}
.system-enter{position:absolute;inset:10% 17% 6%;display:flex;justify-content:center;align-items:flex-end;background:transparent;border:0;color:#eedbb5;padding:0 0 3%;cursor:pointer}
.system-enter>span{padding:14px 24px;border:1px solid #c8ac73;background:#091216ed;box-shadow:0 5px 20px #000a;font-size:17px}
.system-enter b{font-weight:400;margin-left:16px;color:#dcc28b}
.system-enter:hover>span,.system-enter:focus-visible>span{background:#1b241eef;border-color:#f0d9a9;box-shadow:0 0 24px #d7bb5d33}
.system-enter:focus-visible{outline:2px solid #dec588;outline-offset:4px}
.system-scene[data-entered=opening] .system-enter{opacity:0;transition:opacity .35s;pointer-events:none}
.system-scene [hidden]{display:none}
@media(max-width:640px){.system-stage{width:222.222%;left:50%;right:auto;transform:translateX(-50%)}.system-enter{inset:10% 5% 4%}.system-enter>span{font-size:15px;padding:12px 20px}}
@media(prefers-reduced-motion:reduce){.system-scene[data-entered=opening] .system-enter{transition:none}}

.system-scene[data-entered=false] .system-door-world{background:#14130e}
