/* Monochrome opening, with spectral light kept around the performance. */
body.heaven-active{overflow:hidden}
dialog.heaven-entrance{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#050505;color:#fafafa;overflow:auto;isolation:isolate;font-family:var(--sans,Arial,sans-serif);transition:opacity .5s,transform .5s;--intro-progress:0}
.heaven-entrance::backdrop{background:#050505}.heaven-entrance[open]{display:flex;flex-direction:column}.heaven-entrance :focus-visible{outline:2px solid white;outline-offset:5px}
.heaven-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 70% 45%,#24242b60,transparent 62%)}
.heaven-horizon{position:absolute;inset:59% -35% -80%;background:repeating-radial-gradient(ellipse at center,transparent 0 57px,#ffffff0c 58px,transparent 59px 62px);transform:perspective(500px) rotateX(65deg)}
.heaven-aurora{position:absolute;inset:12% -15% -30% 35%;background:conic-gradient(from 35deg,#ff5b8812,#fdd95b10,#58e9c510,#4ab7ff16,#b980ff18,#ff5b8812);filter:blur(100px);opacity:.6}
.heaven-topline{position:sticky;top:0;z-index:5;background:#050505ee;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:max(20px,env(safe-area-inset-top)) clamp(20px,4vw,64px);border-bottom:1px solid #ffffff15}
.heaven-brand{display:flex;align-items:center;gap:18px;font-size:28px;font-weight:700;letter-spacing:-.06em}.heaven-brand>span{font-size:12px;letter-spacing:.12em;font-weight:500;color:#a6a6ad}
.heaven-entrance button{min-height:44px;font:600 14px/1.4 var(--sans,Arial,sans-serif);border:1px solid #ffffff30;border-radius:999px;padding:12px 20px;cursor:pointer;background:#131313;color:#eee}
.heaven-entrance button:hover{border-color:#ffffff85;background:#232323}.heaven-entrance button:disabled{opacity:.6;cursor:default}
.heaven-film{flex:1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:20px;width:min(100%,1500px);margin:auto;padding:24px clamp(24px,7vw,100px);box-sizing:border-box}
.heaven-wordmark{position:relative;z-index:2;max-width:540px}.heaven-eyebrow{font-size:12px;letter-spacing:.2em;color:#a8a8b1;margin:0 0 24px}
.heaven-wordmark h2{font:550 clamp(3rem,5.7vw,6.2rem)/1.02 var(--sans,Arial,sans-serif);letter-spacing:-.065em;margin:0 0 24px;color:#fafafa}.heaven-wordmark h2 span{color:#99999f}
#heaven-description{font-size:16px;line-height:1.7;color:#b0b0b8;margin:0 0 28px}.heaven-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.heaven-entrance .heaven-listen{background:#f5f5f5;color:#080808;border-color:#f5f5f5;padding:15px 24px}.heaven-entrance .heaven-listen:hover{background:#fff;box-shadow:0 0 24px #bdadff28}
.heaven-listen::before{content:'';display:inline-block;vertical-align:-2px;width:14px;height:14px;margin-right:10px;background:currentColor;clip-path:polygon(15% 0,100% 50%,15% 100%)}.intro-playing .heaven-listen::before{clip-path:polygon(10% 0,40% 0,40% 100%,10% 100%,10% 0,60% 0,90% 0,90% 100%,60% 100%,60% 0)}
.heaven-entrance .heaven-motion{border-color:transparent;background:none;color:#b0b0b8;padding-inline:10px}#heaven-state{font-size:14px;line-height:1.6;min-height:3.2em;max-width:340px;color:#96969d;margin:18px 0 0}
.heaven-stage{position:relative;isolation:isolate;width:100%;max-width:min(680px,calc(100dvh - 260px));aspect-ratio:1;justify-self:center}.heaven-performer{position:absolute;inset:1% 1% 3%;opacity:0}
.heaven-picture,.heaven-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.heaven-picture{filter:grayscale(.85);opacity:.9}.heaven-canvas{opacity:0}.heaven-canvas.ready{opacity:1}.heaven-performer:has(.heaven-canvas.ready) .heaven-picture{opacity:0}
.heaven-orbit{position:absolute;inset:2% 6% 18%;border:1px solid #ffffff17;border-radius:50%;background:radial-gradient(ellipse,transparent 58%,#ffffff04 69%,transparent 70%)}
.heaven-orbit::after{content:'';position:absolute;inset:-1%;border-radius:50%;background:conic-gradient(transparent 0 60%,#a5ccff60 72%,#dca5ff85 77%,transparent 82%);mask:radial-gradient(ellipse,transparent 68%,#000 68.3% 68.7%,transparent 69%)}
.heaven-floor{position:absolute;inset:83% 8% 0;border-radius:50%;border:1px solid #b1b0ff60;box-shadow:0 0 45px #b499ff10,inset 0 0 30px #7ed9ff12;background:radial-gradient(ellipse,#c6b4ff15,transparent 68%)}
.heaven-floor::after{content:'';position:absolute;inset:20% 10%;border:1px solid #ffffff2a;border-radius:50%}
.heaven-beam{position:absolute;inset:-8% 10% 11%;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);background:linear-gradient(transparent,#ffffff03 30%,#cecaff0c);opacity:.7;pointer-events:none}
.heaven-scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff04 6px);mask:linear-gradient(transparent,#000 30%,#000 65%,transparent)}
.heaven-spectrum{position:absolute;inset:auto 15% 12%;height:32px;display:flex;align-items:end;gap:4px;opacity:.55}.heaven-spectrum i{height:100%;flex:1;border-radius:3px;background:hsl(var(--hue) 78% 72%);transform:scaleY(calc(.035 + var(--level,0)*.965));transform-origin:bottom;transition:transform .09s linear}
.heaven-stage-label{position:absolute;inset:auto 0 -4%;text-align:center;font-size:12px;letter-spacing:.17em;color:#92929c}
.heaven-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px clamp(24px,4vw,64px) max(20px,env(safe-area-inset-bottom));border-top:1px solid #ffffff15;background:transparent;margin:0}.heaven-track{min-width:0}.heaven-track-label{display:block;font-size:12px;letter-spacing:.13em;color:#85858e}.heaven-track strong{display:block;font-size:16px;font-weight:500;margin-top:6px;color:#ededf1;overflow-wrap:anywhere}.heaven-art-note{font-size:12px;line-height:1.65;color:#85858e;text-align:right;margin:0}
.heaven-film-progress{height:2px;flex-shrink:0;background:#242426}.heaven-film-progress span{display:block;height:100%;background:linear-gradient(90deg,#ff749b,#f8d977,#93e8c0,#83caff,#c89cff);transform:scaleX(var(--intro-progress));transform-origin:left;transition:transform .1s linear}
.heaven-entrance.is-departing{opacity:0;transform:scale(1.02);pointer-events:none}
.heaven-replay{font:500 14px/1.5 var(--sans,Arial,sans-serif);color:#ddd;padding:10px 16px;min-height:44px;border:1px solid #444;border-radius:14px;background:#151515}
.is-arriving .heaven-performer{animation:cam-assemble 2.25s cubic-bezier(.2,.65,.2,1) both}.is-arriving .heaven-wordmark{animation:cam-opening-copy .9s ease both}.is-arriving .heaven-floor{animation:cam-opening-floor 2s ease both}
.intro-reacting .heaven-floor{box-shadow:0 0 calc(25px + var(--cam-bass)*65px) #b499ff35,inset 0 0 30px #7ed9ff20;transform:scale(calc(1 + var(--cam-bass)*.04))}.intro-reacting .heaven-beam{opacity:calc(.5 + var(--cam-energy)*.5)}
@keyframes cam-assemble{from{opacity:0;transform:translateY(12px) scale(.97);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes cam-opening-copy{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes cam-opening-floor{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@media(max-width:760px){.heaven-topline{padding:16px 20px}.heaven-brand{gap:12px;font-size:24px}.heaven-brand>span{font-size:12px;letter-spacing:.04em;max-width:85px}.heaven-film{display:flex;flex-direction:column-reverse;justify-content:center;gap:22px;padding:20px 22px}.heaven-stage{width:min(100%,350px);max-width:none;flex-shrink:0}.heaven-wordmark{text-align:center;width:100%}.heaven-eyebrow{margin-bottom:12px}.heaven-wordmark h2{font-size:clamp(36px,9.5vw,56px);margin-bottom:14px}.heaven-wordmark h2 br{display:none}.heaven-wordmark h2 span{display:block}#heaven-description{margin-bottom:18px}.heaven-actions{justify-content:center}#heaven-state{margin:12px auto 0;min-height:0}.heaven-stage-label{font-size:12px;letter-spacing:.1em}.heaven-bottom{padding:18px 22px}.heaven-art-note{max-width:140px}.heaven-track strong{font-size:14px}.heaven-spectrum{gap:3px}}
@media(max-width:760px) and (max-height:800px){.heaven-stage{width:min(66vw,260px)}.heaven-film{gap:16px;padding-top:12px}.heaven-wordmark h2{font-size:36px}.heaven-eyebrow{display:none}#heaven-description{margin-bottom:12px}.heaven-bottom{padding-block:14px}}
@media(max-height:620px) and (min-width:761px){.heaven-stage{max-width:420px}.heaven-film{padding-block:12px}.heaven-wordmark h2{font-size:52px}}
.intro-still *,.intro-still *::after{animation:none!important;transition:none!important}.intro-still .heaven-performer{opacity:1;transform:none;filter:none}.intro-still .heaven-floor{transform:none}.intro-still .heaven-spectrum i{transform:scaleY(.04)}
@media(prefers-reduced-motion:reduce){.heaven-entrance,.heaven-entrance *{animation:none!important;transition:none!important}.heaven-performer{opacity:1;transform:none!important;filter:none}.heaven-floor{transform:none!important}}
@media(forced-colors:active){.heaven-atmosphere,.heaven-stage{display:none}.heaven-film{display:block}.heaven-entrance,.heaven-bottom{background:Canvas;color:CanvasText}.heaven-entrance button{border:1px solid ButtonText}.heaven-wordmark h2,.heaven-wordmark h2 span,#heaven-description,#heaven-state,.heaven-track strong{color:CanvasText}}
/* The performance is the focal point; the page underneath is already usable. */
.heaven-film{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px;padding-inline:clamp(24px,5vw,80px)}.heaven-atmosphere{background:radial-gradient(ellipse at 70% 42%,#06496770,transparent 58%),linear-gradient(140deg,#03050a,#090b18)}.heaven-picture{filter:none;opacity:1}.heaven-wordmark h2{font-size:clamp(44px,5.3vw,80px);letter-spacing:-.05em}.heaven-wordmark h2 span{color:#8edfff}.heaven-eyebrow{font-size:14px;color:#80d8f5}.heaven-stage{max-width:min(740px,calc(100dvh - 190px))}.heaven-beam{background:linear-gradient(transparent,#48dfff09 30%,#79dfff24)}.heaven-stage-label{font-size:14px;color:#a1d6e9}.heaven-countdown{font-size:14px;color:#b9c5d3;white-space:nowrap}.heaven-countdown b{font-size:24px;color:#8edfff;margin-right:4px}.heaven-art-note{font-size:14px}.heaven-entrance.is-departing{transition:opacity .4s,transform .4s}.autoplay-ready{box-shadow:0 0 0 3px #a9e4ff50}.is-arriving .heaven-performer{animation-duration:2s}@media(max-width:760px){.heaven-film{display:flex;padding-inline:20px}.heaven-stage{max-width:none}.heaven-wordmark h2{font-size:36px}.heaven-bottom{flex-wrap:wrap;gap:12px}.heaven-art-note{display:none}.heaven-countdown{font-size:14px}}
