:root{--flight:0;--temple:1;--temple-left:34%;--temple-width:66%}
.temple-viewport{position:absolute;left:calc(var(--temple-left)*(1 - var(--flight)));top:0;width:calc(var(--temple-width) + (100% - var(--temple-width))*var(--flight));height:100%;opacity:var(--temple);pointer-events:none}
#temple-canvas{display:block;width:100%;height:100%;outline:none}
.world{clip-path:circle(calc(2% + var(--reveal,0)*130%) at 50% 48%)}
.portal-bloom{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,#fff5dc 0%,#f1d3a075 23%,#cfaa6333 45%,transparent 72%);opacity:var(--bloom,0);pointer-events:none}
.temple-failed .temple-viewport{display:none}
.temple-failed .world{opacity:.65;transform:none;clip-path:none}
.temple-failed .hand,.temple-failed .halo,.temple-failed .aura{display:none}
.middle h2{font-size:clamp(64px,6.6vw,108px)}
@media(max-width:900px){:root{--temple-left:32%;--temple-width:68%}}
@media(max-width:600px){:root{--temple-left:0%;--temple-width:100%}.temple-viewport{top:calc(30%*(1 - var(--flight)));height:calc(70% + 30%*var(--flight))}.middle h2{font-size:56px}.middle p{max-width:290px}.middle{top:17%}}
