/* Original crystal colors are independent of the surrounding appearance preference. */
.crystal-preview{position:relative;overflow:hidden;background:#ece9e1 url('/assets/kaleidoscope/poster.png') center/cover}
.crystal-preview canvas{display:block;width:100%;height:100%;opacity:0;filter:none;transition:none}
.crystal-preview canvas[data-crystal-state=ready]{opacity:1}
.kaleido-window>.crystal-preview{width:100%;aspect-ratio:1;border-radius:50%}
.kaleido-window canvas{border-radius:0;background:none;aspect-ratio:auto}
.kaleido-window .soft-button{min-height:44px;white-space:normal}
.tour-kaleidoscope{display:none;position:absolute;inset:0;overflow:hidden;background:#000;color:#fff;text-align:center;flex-direction:column;justify-content:space-between;padding:4cqw}
.tour-kaleidoscope>.crystal-preview{position:absolute;inset:0}
.tour-kaleidoscope>span,.tour-kaleidoscope>small{position:relative;text-shadow:0 1px 5px #000}
.tour-kaleidoscope>span{font:2cqw var(--serif);letter-spacing:.2em}
.tour-kaleidoscope>small{font:1.4cqw var(--sans);letter-spacing:.06em}
.tour-stage[data-scene=kaleidoscope] .tour-kaleidoscope{display:flex}
.device-phone-screen .tour-kaleidoscope{padding:18cqw 5cqw 8cqw}
.device-phone-screen .tour-kaleidoscope>span{font-size:6cqw}
.device-phone-screen .tour-kaleidoscope>small{font-size:3cqw;line-height:1.5}
@media(prefers-reduced-motion:reduce){.crystal-preview canvas{transition:none}}
