/* Styles stay dormant outside the hidden elevator event. */
.elevator-car.ritual-awake{border-color:#c49f68;box-shadow:0 0 28px #d17b2728}
.elevator-car.ritual-armed{border-color:#db995c;box-shadow:0 0 32px #d1623e40}
.elevator-car.ritual-armed .elevator-display{color:#f5b886;text-shadow:0 0 12px #cd62268c}
.elevator-car.ritual-devil .elevator-doors>span{background:#2b1917;border-color:#9f4836;color:#f2a18c;transition:color .2s,background .2s,border-color .2s}
.elevator-car.ritual-devil .elevator-devil-icon{width:26px;height:26px;max-width:100%;max-height:100%;filter:drop-shadow(0 0 4px #ce382388)}
.hell-event{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;color:#ebd5b4;isolation:isolate;font-family:Arial,Helvetica,sans-serif;color-scheme:dark;overscroll-behavior:none;--hell-immersed:0;--hell-controls-entry:0}
.hell-event:not([open]){display:none}
.hell-event::backdrop{background:transparent}
.hell-entry-backdrop{position:absolute;inset:0;z-index:0;background:#030202;opacity:var(--hell-immersed);pointer-events:none}
.hell-entry-threshold{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden;--hell-enter:0}
.hell-entry-threshold[hidden]{display:none}
.hell-entry-threshold>span{position:absolute;top:-5%;bottom:-5%;width:16%;background:linear-gradient(90deg,#010202,#252922 80%,#89734c 97%,#c4a86a);box-shadow:0 0 35px 12px #000b;will-change:transform}
.hell-entry-threshold>span:first-child{left:0;transform:translateX(calc(var(--hell-enter)*-130%))}
.hell-entry-threshold>span:last-child{right:0;transform:translateX(calc(var(--hell-enter)*130%)) scaleX(-1)}
.hell-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hell-scene{position:absolute;inset:0;z-index:1;overflow:hidden;outline:none;--hell-opening:0;--hell-reveal:0;--hell-red:.05;--hell-brake:0;--hell-pressure:0;--hell-door-strain:0px;background:#050303;contain:layout paint;transform-origin:50% 50%;transform:translate3d(0,var(--hell-entry-y,0px),0) scale(var(--hell-entry-scale,1));filter:blur(var(--hell-entry-blur,0px));opacity:var(--hell-screen-opacity,0);will-change:transform,opacity}
.hell-realm{position:absolute;inset:-2%;overflow:hidden;transform:scale(calc(1.12 - var(--hell-reveal)*.12));filter:brightness(var(--hell-realm-light,.68));background:#160704}
.hell-realm picture,.hell-realm img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hell-realm::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#05000032,transparent 42%,#05000048),radial-gradient(ellipse at 50% 39%,#1305026b,transparent 65%)}
.hell-lava-glow{position:absolute;inset:35% -8% -10%;mix-blend-mode:screen;background:radial-gradient(ellipse at 40% 100%,#bd32074d,transparent 62%);animation:hell-lava-breathe 7s ease-in-out infinite alternate}
.hell-fog{position:absolute;inset:-10%;opacity:.5;background:radial-gradient(ellipse at 30% 70%,#9c2b1c22,transparent 45%),radial-gradient(ellipse at 74% 30%,#ba6b2420,transparent 40%);animation:hell-drift 17s ease-in-out infinite alternate}
.hell-shaft{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 35%,#23221f,#070708 75%)}
.hell-shaft[hidden]{display:none}
.hell-shaft-rail{position:absolute;top:-100%;bottom:-100%;width:8%;border-inline:2px solid #74706b40;background:repeating-linear-gradient(0deg,#121212 0,#121212 320px,#625446 324px,#d0a26d 327px,#493725 330px,#131211 337px,#121212 360px);transform:translate3d(0,var(--hell-rail-y,0px),0);will-change:transform}
.hell-shaft-left{left:1%}.hell-shaft-right{right:1%}
.hell-shaft-rift{position:absolute;inset:-8%;opacity:var(--hell-breach,0);background:radial-gradient(ellipse at 50% 110%,#ffeaa1 0%,#dc480b 13%,#71172a 34%,transparent 69%),repeating-linear-gradient(0deg,transparent 0 47px,#f766282b 48px 50px,transparent 52px 94px);transform:scaleY(calc(1 + var(--hell-pressure)*.3));mix-blend-mode:screen}
.hell-shaft-rift::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,transparent 35%,#9b315580 65%,#ef742f66 93%);opacity:calc(.3 + var(--hell-void,0)*.7)}
.hell-cabin{position:absolute;inset:-1%;transform:translate3d(var(--hell-shake-x,0px),var(--hell-shake-y,0px),0) rotate(var(--hell-tilt,0deg)) scale(var(--hell-car-scale,1));opacity:calc(1 - var(--hell-reveal));will-change:transform;filter:brightness(1);transition:filter 1s}
.hell-cabin-top{position:absolute;left:8%;right:8%;top:0;height:17%;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:4vh 5vw 1.8vh;border:1px solid #b39b7652;border-bottom:3px solid #746049;background:linear-gradient(105deg,#262925,#45453b 26%,#20231f 70%,#33352d);box-shadow:0 8px 22px #0009,inset 0 -1px #d4b78060}
.hell-cabin-top::after{content:"";position:absolute;bottom:3px;left:14%;right:14%;height:3px;background:#fce8b5;box-shadow:0 0 16px 3px #d5be8859;opacity:calc(.65 - var(--hell-damage,0)*.58)}
.hell-building-mark{font-family:Georgia,'Times New Roman',serif;font-size:clamp(15px,2.3vw,31px);letter-spacing:.14em;color:#d8c5a3;white-space:nowrap}.hell-building-mark b{font-weight:400;color:#f8e1ba}
.hell-cabin-label{font-size:9px;font-weight:400;letter-spacing:.23em;line-height:1.9;color:#b9ad95;text-align:right}
.hell-indicator{display:flex;align-items:center;justify-content:center;gap:18px;padding:8px 22px;min-width:160px;border:1px solid #75634c;border-radius:2px;background:#060807;box-shadow:inset 0 3px 15px #000,0 1px #d5c5a126;font-family:'Courier New',monospace;color:#f5c67c;text-shadow:0 0 16px #df99478c;font-variant-numeric:tabular-nums}
.hell-level{min-width:3ch;text-align:center;font-size:clamp(25px,4.5vh,47px);line-height:1.15;letter-spacing:.03em}
.hell-direction{font-size:25px;font-weight:400;line-height:1}
.hell-destination{font-size:12px;border-left:1px solid #c3aa6940;padding-left:14px;align-self:center;color:#b2a28b;text-shadow:none}
.hell-cabin-side{position:absolute;top:0;bottom:0;width:9%;z-index:6;border-inline:1px solid #7b705548;box-shadow:inset 0 0 30px #000c;background:linear-gradient(90deg,#111512,#343931 34%,#191e19 67%,#060907)}
.hell-cabin-left{left:0}.hell-cabin-right{right:0;transform:scaleX(-1)}
.hell-cabin-side::after{content:"";position:absolute;top:19%;bottom:10%;left:57%;width:2px;background:#c5a87666;box-shadow:0 0 7px #cf9d4840}
.hell-door-frame{position:absolute;inset:17% 9% 7%;overflow:hidden;border:2px solid #080a08;box-shadow:0 0 0 5px #48483b,inset 0 0 40px #000;background:transparent}
.hell-door{position:absolute;top:0;bottom:0;width:50.15%;overflow:hidden;background:repeating-linear-gradient(90deg,#ffffff03 0px,transparent 1px,transparent 3px),linear-gradient(98deg,#393d34 0%,#626456 20%,#333a30 62%,#20271f 100%);box-shadow:inset 0 0 40px #0006;will-change:transform}
.hell-door::before{content:"";position:absolute;inset:6% 10%;border:1px solid #bdae8121;border-bottom-color:#d4c19040;box-shadow:inset 0 0 0 6px #111a111a}
.hell-door::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0000008c,transparent 45%,#f0dec714);opacity:.9}
.hell-door-left{left:0;border-right:2px solid #080b08;transform:translateX(calc(var(--hell-opening)*-102% - var(--hell-door-strain)))}
.hell-door-right{right:0;border-left:1px solid #9690784d;background:repeating-linear-gradient(90deg,#ffffff03 0px,transparent 1px,transparent 3px),linear-gradient(85deg,#1d241c,#5c6051 70%,#31392d);transform:translateX(calc(var(--hell-opening)*102% + var(--hell-door-strain)))}
.hell-door-engraving{position:absolute;top:43%;left:0;right:0;text-align:center;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(66px,14vw,200px);color:#ffffff06;text-shadow:1px 1px #0003;user-select:none}
.hell-door-seam{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:#030503;box-shadow:0 0 12px #000;opacity:calc(1 - var(--hell-opening))}
.hell-cabin-threshold{position:absolute;inset:auto 8% 0;height:7%;background:repeating-linear-gradient(0deg,#282b22 0,#282b22 3px,#474534 4px,#151b15 5px);border-top:2px solid #908264;box-shadow:0 -6px 16px #0008;z-index:5}
.hell-loose-panel{position:absolute;top:16%;left:11%;width:29%;height:12px;z-index:7;transform-origin:0 50%;transform:translateY(calc(var(--hell-damage,0)*10px)) rotate(calc(var(--hell-damage,0)*9deg + var(--hell-flex,0)*2deg));opacity:var(--hell-damage,0);background:linear-gradient(#b5a17a,#24251e 40%,#0c100b 80%,#705b36);border-bottom:1px solid #ac7443;box-shadow:0 12px 18px #000c}
.hell-cabin-fracture{position:absolute;inset:12% 5% 3%;z-index:7;pointer-events:none;opacity:calc(var(--hell-damage,0)*.75);background:linear-gradient(112deg,transparent 2%,#ffb454a8 2.15%,#090904 2.4%,transparent 2.7%),linear-gradient(74deg,transparent 96%,#0a0603 96.2%,#ff762589 96.45%,transparent 96.7%)}
.hell-pressure-field{position:absolute;inset:-8%;z-index:8;pointer-events:none;opacity:calc(var(--hell-breach,0)*.48);background:radial-gradient(ellipse at 50% 50%,transparent 43%,#b25e9d26 55%,transparent 59%,#d73e131f 65%,transparent 71%,#e7963538 87%);transform:scale(calc(1 + var(--hell-void,0)*.11));mix-blend-mode:screen}
.hell-pressure-field::before,.hell-pressure-field::after{content:"";position:absolute;top:0;bottom:0;width:19%;background:repeating-linear-gradient(0deg,transparent 0 73px,#eab4882e 75px,#bf422c1a 81px,transparent 99px);mask-image:linear-gradient(90deg,#000,transparent);transform:translateY(var(--hell-rail-y,0px))}
.hell-pressure-field::before{left:0}.hell-pressure-field::after{right:0;scale:-1 1}
.hell-emergency-light{position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#f3300830,transparent 70%);opacity:var(--hell-red);mix-blend-mode:screen}
.hell-brake-glow{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:var(--hell-brake);background:linear-gradient(90deg,#ff862254,transparent 15%,transparent 85%,#ff86223b);mix-blend-mode:screen}
.hell-particles,.hell-vignette,.hell-darkness{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hell-particles{z-index:7}.hell-vignette{z-index:9;box-shadow:inset 0 0 10vw 3vw #0009;background:radial-gradient(ellipse at 50% 46%,transparent 35%,#0008 100%)}
.hell-darkness{z-index:10;background:#020101;opacity:var(--hell-blackout,0)}
.hell-event-caption{position:absolute;z-index:11;inset:42% 20px auto;text-align:center;opacity:calc(var(--hell-caption,0)*(1 - var(--hell-door-gap,0)));transform:translateY(calc((1 - var(--hell-caption,0))*12px));pointer-events:none;text-shadow:0 2px 24px #000}
.hell-event-caption span{display:block;font-family:'Courier New',monospace;font-size:11px;letter-spacing:.7em;margin-bottom:16px;color:#caa07c}
.hell-event-caption strong{display:block;font-weight:400;font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,5.4vw,72px);letter-spacing:.18em;color:#f2d2ae}
.hell-event-caption i{display:block;height:1px;width:42px;margin:25px auto 0;background:#d2874d}
.hell-final-clock{position:absolute;z-index:12;left:50%;bottom:calc(50% + 49px);width:clamp(134px,25vh,238px);max-width:48vw;aspect-ratio:1;transform:translate(-50%,16px);opacity:0;filter:drop-shadow(0 8px 40px #000c);transition:opacity 3s ease,transform 4s ease}
.hell-final-clock svg{display:block;width:100%;height:100%;overflow:visible}
.hell-clock-ring{fill:#3b3025;stroke:#ac7850;stroke-width:.7}.hell-clock-face{fill:#100e0deb;stroke:#65533d;stroke-width:.6}.hell-hour-mark{stroke:#c6b093;stroke-width:1.2}.hell-minute-mark{stroke:#806f5c;stroke-width:.5}.hell-clock-digits{font:18px Georgia,'Times New Roman',serif;fill:#dbc9ac;text-anchor:middle}.hell-hour-hand{fill:#c1aa89;stroke:#f3dec0;stroke-width:.3}.hell-minute-hand{fill:#edddc1}.hell-clock-pin{fill:#aa7850;stroke:#e2c39a;stroke-width:1}
.hell-coordinates{position:absolute;z-index:12;top:50%;left:50%;display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,34px);transform:translate(-50%,-35%);opacity:0;transition:opacity 2.8s,transform 3s;white-space:nowrap;text-shadow:0 2px 20px #000;font-family:'Courier New',monospace}
.hell-coordinates>span{display:flex;flex-direction:column;gap:12px;text-align:center;min-width:3.3ch}
.hell-coordinates small{font-size:10px;font-weight:400;letter-spacing:.3em;color:#c3926c}.hell-coordinates b{font-size:clamp(24px,4.2vw,49px);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#f8dec1}.hell-coordinates>i{width:1px;height:27px;background:linear-gradient(transparent,#c5956066,transparent)}
.hell-controls{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:20;display:flex;gap:8px;opacity:calc(var(--hell-controls-entry)*.8);transition:opacity .5s}
.hell-music-credit{position:absolute;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:20;width:fit-content;max-width:calc(100% - 32px);margin:0;padding:6px 9px;border-radius:3px;background:#080907d9;color:#cbbda6;font:10px/1.6 Arial,Helvetica,sans-serif;opacity:var(--hell-controls-entry);text-wrap:balance}
.hell-music-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}.hell-music-credit a:hover{color:#fff0d6}.hell-music-credit a:focus-visible{outline:2px solid #eec78a;outline-offset:3px}
.hell-controls button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;min-height:44px;border:1px solid #c2aa822e;border-radius:3px;background:#0b0b09bb;color:#d8c7ad;font:11px Arial,Helvetica,sans-serif;letter-spacing:.04em;cursor:pointer;box-shadow:none;backdrop-filter:blur(8px)}
.hell-controls svg{width:17px;height:17px;flex-shrink:0}.hell-controls kbd{margin-left:8px;border:1px solid #cab18a33;padding:2px 4px;border-radius:2px;font:9px Arial,Helvetica,sans-serif;color:#a49279}
.hell-controls button:hover{background:#25201ae6;color:#fff0d6;border-color:#d8b98b7a}.hell-controls button:focus-visible{outline:2px solid #eec78a;outline-offset:4px}.hell-controls:focus-within,.hell-controls:hover{opacity:1!important}.hell-controls.is-resting{opacity:0}.hell-controls .needs-gesture{border-color:#d5ad64;animation:hell-sound-invitation 2.5s infinite}.hell-controls button:disabled{opacity:.6;cursor:default}
.hell-scene[data-phase=failure] .hell-indicator{color:#ef8265;text-shadow:0 0 14px #b83514;animation:hell-failing-light 2.6s linear infinite}
.hell-scene[data-phase=hang] .hell-indicator{color:#a94c32;text-shadow:0 0 5px #8a321a}
.hell-scene[data-phase=hang] .hell-door-frame{box-shadow:0 0 0 5px #232019,inset 0 0 40px #000}
.hell-cabin-top{transform:translateY(calc(var(--hell-damage,0)*5px + var(--hell-shock,0)*4px)) rotate(calc(var(--hell-flex,0)*.6deg));transform-origin:20% 20%}
.hell-cabin-left{transform:translateX(calc(var(--hell-flex,0)*-5px)) skewY(calc(var(--hell-flex,0)*.5deg))}
.hell-cabin-right{transform:translateX(calc(var(--hell-flex,0)*5px)) scaleX(-1) skewY(calc(var(--hell-flex,0)*-.5deg))}
.hell-cabin-threshold{transform:translateY(calc(var(--hell-shock,0)*9px)) rotate(calc(var(--hell-flex,0)*-.45deg))}
.hell-scene:is([data-phase=descent],[data-phase=impact],[data-phase=opening],[data-phase=reveal],[data-phase=final]) .hell-indicator{color:#ff9573;text-shadow:0 0 14px #ff4424;border-color:#a34931}
.hell-vignette::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,transparent 24%,#09000066 100%);opacity:var(--hell-distress,0)}
.hell-scene[data-phase=impact] .hell-event-caption{opacity:0;transition-duration:.2s}
.hell-scene[data-phase=reveal] .hell-final-clock,.hell-scene[data-phase=final] .hell-final-clock{opacity:1;transform:translate(-50%,0)}
.hell-scene[data-phase=reveal] .hell-coordinates,.hell-scene[data-phase=final] .hell-coordinates{opacity:1;transform:translate(-50%,-50%);transition-delay:.8s}
.hell-scene[data-phase=final] .hell-cabin,.hell-scene[data-phase=final] .hell-shaft{visibility:hidden}
.hell-scene[data-phase=final] .hell-event-caption{display:none}
@keyframes hell-failing-light{0%,38%,100%{opacity:1}50%,72%{opacity:.2}}
@keyframes hell-lava-breathe{from{opacity:.3}to{opacity:.7}}
@keyframes hell-drift{from{transform:translateX(-2%)}to{transform:translateX(2%)}}
@keyframes hell-sound-invitation{50%{box-shadow:0 0 16px #d5ad6430}}
/* Photographic material and local light response, driven by the ride clock. */
.hell-scene{--hell-alarm:0;--hell-ambient:1;--hell-power:1;--hell-haze:0;--hell-light-x:50%;--hell-optical-blur:0px}
.hell-cabin{inset:-1.5%;filter:brightness(var(--hell-ambient)) blur(var(--hell-optical-blur));transition:none}
.hell-cabin-top{background-image:linear-gradient(102deg,#060706db,#e5dfc333 31%,#060808ae 72%,#0009),url('/assets/hell/brushed-metal-v1.webp');background-size:cover;border-color:#b6a5804a;border-bottom-color:#aea084;box-shadow:0 10px 24px #000c,inset 0 -2px 2px #e2d6b43d,inset 0 2px #ece5c626}
.hell-cabin-top::after{height:3px;background:#fff3d1;opacity:var(--hell-power);box-shadow:0 1px 7px #fff4cbbb,0 5px 28px 8px #ffe4ae3d}
.hell-indicator{position:relative;overflow:hidden;box-shadow:inset 0 3px 15px #000,0 1px #d5c5a155,0 -2px 3px #000a}
.hell-indicator::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(155deg,#efe4c317,transparent 43%,#0303035c 45%,transparent 80%);border:1px solid #d9caad16}
.hell-door{background-image:linear-gradient(96deg,#050605d9 0%,#e4dbc24a 17%,#1515105e 39%,#090d09b0 76%,#040504eb 100%),url('/assets/hell/brushed-metal-v1.webp');background-size:100% 100%,cover;background-position:center;box-shadow:inset 3px 0 6px #000b,inset -3px 0 5px #000c}
.hell-door-right{background-image:linear-gradient(83deg,#000d,#dbd1ae36 52%,#13171190 74%,#010502e6),url('/assets/hell/brushed-metal-v1.webp');background-size:100% 100%,cover;background-position:50%,76% 50%}
.hell-door::before{inset:0;border:0;box-shadow:inset 0 10px 19px #000c,inset 0 -7px 12px #000c;background:radial-gradient(ellipse at 34% -35%,#fff2d326,transparent 62%);opacity:calc(.5 + var(--hell-power)*.5)}
.hell-door::after{background:linear-gradient(0deg,#020302b3,transparent 38%,#d5b37f06 66%,#0009);opacity:1}
.hell-door-engraving{color:#cebfa018;text-shadow:0 -1px 1px #0009,0 1px #f2debe14;letter-spacing:-.04em}
.hell-door-sheen{position:absolute;z-index:1;inset:0;pointer-events:none;opacity:var(--hell-alarm);mix-blend-mode:screen;background:radial-gradient(ellipse at var(--hell-light-x) -8%,#ff8d5775,transparent 47%),linear-gradient(96deg,transparent 2%,#ed281c3d 17%,#ff301717 26%,transparent 42%,#cd160919 81%,transparent);will-change:opacity}
.hell-door-right .hell-door-sheen{background:radial-gradient(ellipse at 0% 0%,#ff633d69,transparent 51%),linear-gradient(83deg,transparent 25%,#b60a1517 63%,#fa332841 72%,transparent 90%)}
.hell-cabin-side{background-image:linear-gradient(90deg,#020403e8,#d0c29b42 32%,#080b08ce 61%,#010301f2),url('/assets/hell/brushed-metal-v1.webp');background-size:cover;box-shadow:inset -7px 0 12px #000b,1px 0 2px #d0be8654}
.hell-cabin-side::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 35%,#ff734961 61%,#c7192240 77%,transparent),radial-gradient(ellipse at 100% 15%,#fb281c7a,transparent 73%);opacity:var(--hell-alarm);mix-blend-mode:screen}
.hell-cabin-side::after{width:1px;background:#e0d5b65c;box-shadow:1px 0 3px #000,0 0 6px #e7b26822}
.hell-door-frame{border-color:#080908;box-shadow:0 0 0 3px #8a8070,0 0 0 6px #171c16,0 6px 18px #000,inset 0 0 24px #000}
.hell-cabin-threshold{background-image:repeating-linear-gradient(0deg,#010201b3 0,#141512c7 2px,#c0bca168 3px,#292c2066 4px,#0203029c 6px),url('/assets/hell/brushed-metal-v1.webp');background-size:100% 100%,cover;box-shadow:0 -6px 12px #0008,inset 0 3px 1px #d1c6a63d}
.hell-cabin-threshold::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at var(--hell-light-x) 0%,#ee3c2385,transparent 67%);mix-blend-mode:screen;opacity:var(--hell-alarm)}
.hell-alarm-fixture{position:absolute;z-index:10;left:14%;top:1.4%;width:clamp(68px,6.5vw,104px);aspect-ratio:2.124;pointer-events:none;transform-origin:25% 5%;transform:rotate(calc(var(--hell-damage,0)*4deg + var(--hell-flex,0)*2.8deg + var(--hell-shock,0)*3deg))}
.hell-alarm-fixture img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(calc(.14 + var(--hell-alarm)*2.5)) saturate(calc(.25 + var(--hell-alarm)));position:relative;z-index:1}
.hell-alarm-halo{position:absolute;inset:-90% -120%;opacity:var(--hell-alarm);background:radial-gradient(ellipse,#ff471a6e, #e31c1333 27%,transparent 65%);mix-blend-mode:screen}
.hell-alarm-halo::after{content:"";position:absolute;inset:34% -12%;background:radial-gradient(ellipse,#ff77263d,transparent 69%)}
.hell-emergency-light{opacity:var(--hell-alarm);background:radial-gradient(ellipse at 18% 4%,#fc211948,transparent 49%),radial-gradient(ellipse at 83% 15%,#e31d1221,transparent 59%);mix-blend-mode:screen}
.hell-brake-glow{background:radial-gradient(ellipse at 3% 28%,#ff981f7a,transparent 28%),radial-gradient(ellipse at 98% 30%,#ff6b214f,transparent 24%)}
.hell-loose-panel{height:17px;background-image:linear-gradient(#cfc1a966,#070906d9 43%,#060905 69%,#917d4955),url('/assets/hell/brushed-metal-v1.webp');background-size:cover;border-bottom-color:#c8a780;box-shadow:0 10px 12px #000d,inset 0 -1px 1px #ce8e5c3d}
.hell-cabin-fracture{inset:16% 8.8% 6.8%;background:none;box-shadow:-1px 0 1px #d89b5154,1px 0 1px #fbbc6052,inset 0 10px 10px #0009;opacity:var(--hell-damage)}
.hell-cabin-air{position:absolute;inset:-5%;z-index:6;pointer-events:none;opacity:var(--hell-haze);background:radial-gradient(ellipse at 14% 17%,#b6a79445,transparent 39%),radial-gradient(ellipse at 86% 43%,#806c5d29,transparent 52%),linear-gradient(180deg,#cfb7930c,transparent 63%,#91745419);transform:translateX(var(--hell-drift-x,0px));mix-blend-mode:screen}
.hell-lens-bloom{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:calc(var(--hell-alarm)*(1 - var(--hell-reveal)));background:radial-gradient(ellipse at 18% 6%,#fd362e23,transparent 31%),linear-gradient(172deg,transparent 15%,#f0362305 22%,transparent 35%);mix-blend-mode:screen}
.hell-shaft-rift{background:radial-gradient(ellipse at 50% 105%,#ffdf9b 0%,#b6340d 14%,#3d1111 39%,transparent 70%)}
.hell-shaft-rift::after{background:radial-gradient(ellipse at 50% 48%,transparent 58%,#e464282b 86%,#ffa94e66)}
.hell-pressure-field{background:radial-gradient(ellipse at 50% 50%,transparent 64%,#bf6a2230 86%,#ffb06c22);opacity:calc(var(--hell-breach,0)*.4)}
.hell-pressure-field::before,.hell-pressure-field::after{display:none}
.hell-door-seam{width:calc(2px + var(--hell-breach,0)*3px);background:#e1833b;box-shadow:0 0 12px 2px #d9542380,0 0 35px 7px #e7562224;opacity:calc((1 - var(--hell-opening))*(.03 + var(--hell-brake)*.34 + var(--hell-breach,0)*.25)*(1 - var(--hell-door-gap,0)))}
.hell-scene[data-phase=final] .hell-cabin-air,.hell-scene[data-phase=final] .hell-lens-bloom{display:none}
.hell-paused,.hell-paused *{animation-play-state:paused!important}
@media(max-width:700px){.hell-cabin-top{left:6%;right:6%;height:19%;padding:54px 15px 10px;gap:8px;justify-content:center}.hell-building-mark{position:absolute;left:14px;bottom:15px;font-size:13px;letter-spacing:.05em}.hell-cabin-label{display:none}.hell-indicator{min-width:135px;padding:7px 13px;gap:10px;margin-left:44px}.hell-level{font-size:29px}.hell-direction{font-size:20px}.hell-destination{font-size:10px;padding-left:10px}.hell-door-frame{inset:19% 7% 6%}.hell-cabin-side{width:7%}.hell-cabin-threshold{left:6%;right:6%;height:6%}.hell-door-engraving{font-size:70px}.hell-controls{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));gap:6px}.hell-controls button{padding:9px 10px;min-height:40px;font-size:10px}.hell-controls kbd{display:none}.hell-final-clock{bottom:calc(50% + 42px)}.hell-coordinates>span{gap:9px}.hell-vignette{box-shadow:inset 0 0 18vw 4vw #0007}.hell-realm img{object-position:50% 50%}}
@media(max-height:500px){.hell-cabin-top{height:23%;padding-top:8px}.hell-door-frame{top:23%}.hell-final-clock{width:28vh;max-width:130px;bottom:calc(50% + 25px)}.hell-coordinates b{font-size:27px}.hell-coordinates small{font-size:8px}.hell-coordinates>span{gap:6px}.hell-controls button{padding:8px}.hell-event-caption strong{font-size:34px}}
.hell-reduced-motion,.hell-reduced-motion *{animation:none!important;will-change:auto!important}
.hell-reduced-motion .hell-cabin{transform:none!important}.hell-reduced-motion .hell-realm{transform:none}.hell-reduced-motion .hell-particles{display:none}.hell-reduced-motion .hell-shaft-rail{transform:none!important}
.hell-reduced-motion .hell-cabin-top,.hell-reduced-motion .hell-cabin-threshold,.hell-reduced-motion .hell-loose-panel,.hell-reduced-motion .hell-pressure-field,.hell-reduced-motion .hell-shaft-rift,.hell-reduced-motion .hell-alarm-fixture{transform:none!important}
.hell-reduced-motion .hell-cabin-left{transform:none!important}.hell-reduced-motion .hell-cabin-right{transform:scaleX(-1)!important}.hell-reduced-motion .hell-pressure-field::before,.hell-reduced-motion .hell-pressure-field::after{display:none}
@media(prefers-reduced-motion:reduce){.hell-scene,.hell-scene *{animation:none!important;will-change:auto!important}.hell-cabin{transform:none!important}.hell-realm{transform:none}.hell-particles{display:none}.hell-event-caption,.hell-final-clock,.hell-coordinates{transition-property:opacity}}

/* A briefly unlatched door reveals the upward-running guide rail. */
.hell-shaft-center{left:46%;width:8%;background-image:linear-gradient(90deg,#000b,transparent 45%,#a0927755 49%,#020302 54%),repeating-linear-gradient(0deg,#161614 0px,#161614 280px,#9d8e7044 282px,#706852 302px,#090908 312px,#161614 360px);filter:blur(.7px)}
/* Original supplied image: lit and feathered into the shaft, never over the doors. */
.hell-shaft-visitor{position:absolute;inset:-18% -4%;overflow:hidden;pointer-events:none;opacity:var(--hell-visitor,0);transform:translate3d(0,calc(var(--hell-visitor-y,0%)*.16),0);-webkit-mask-image:linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent)}
.hell-shaft-visitor img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:brightness(.82) saturate(.62) contrast(1.08);user-select:none}
.hell-shaft-visitor::after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,#e960231a,transparent 48%,#07040380);pointer-events:none}
.hell-reduced-motion .hell-shaft-visitor{display:none}
@media(prefers-reduced-motion:reduce){.hell-shaft-visitor{display:none}}
.hell-door-left{transform:translateX(calc(var(--hell-opening)*-102% - var(--hell-door-strain) - var(--hell-door-gap,0)*clamp(50px,11vw,172px))) skewY(calc(var(--hell-flex,0)*-.4deg))}
.hell-door-right{transform:translateX(calc(var(--hell-opening)*102% + var(--hell-door-strain) + var(--hell-door-gap,0)*clamp(50px,11vw,172px))) skewY(calc(var(--hell-flex,0)*.4deg))}
.hell-loose-panel{transform:translate3d(calc(var(--hell-panel-drop,0)*21vw),calc(var(--hell-damage,0)*10px + var(--hell-panel-drop,0)*76vh),0) rotate(calc(var(--hell-damage,0)*9deg + var(--hell-flex,0)*2deg + var(--hell-panel-drop,0)*171deg));will-change:transform}
.hell-reduced-motion .hell-shaft-center{transform:none!important}

.hell-reduced-motion .hell-event-caption{transform:none}

/* A small, motionless block silhouette shares the landscape's crop. */
.hell-realm img{object-position:50% 50%}
.hell-watcher{position:absolute;inset:0;width:100%;height:100%;fill:#080505;opacity:var(--hell-watcher,0);pointer-events:none;filter:blur(.3px)}
.hell-intercom{position:absolute;z-index:20;right:max(24px,env(safe-area-inset-right));bottom:max(84px,calc(env(safe-area-inset-bottom) + 68px));display:flex;align-items:center;gap:12px;min-height:58px;padding:13px 16px;border:1px solid #927b595e;border-radius:4px;background:linear-gradient(125deg,#38382ff2,#121510f5);box-shadow:inset 0 1px #e9d6ad24,0 5px 22px #0006;color:#d6c3a2;opacity:var(--hell-controls-entry);font:11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-align:left;cursor:pointer}
.hell-intercom svg{width:22px;height:22px;color:#dcaa66;flex-shrink:0}
.hell-intercom small{display:block;margin-top:4px;font-size:10px;letter-spacing:.02em;color:#b7aa96;min-width:86px}
.hell-intercom i{width:5px;height:5px;border-radius:50%;background:#8f7752;box-shadow:0 0 5px #b98e4933}
.hell-intercom[data-state=calling] i{background:#f4c771;box-shadow:0 0 9px #e2a750}
.hell-intercom[data-state=offline] i{background:#913d2c}
.hell-intercom:disabled{cursor:wait}
.hell-intercom:hover:not(:disabled){border-color:#c6a574;color:#fff0d4}
.hell-intercom:focus-visible{outline:2px solid #eec78a;outline-offset:4px}
@media(max-width:700px){.hell-intercom{right:14px;bottom:max(92px,calc(env(safe-area-inset-bottom) + 78px));padding:10px 12px;min-height:52px;gap:8px}}
@media(max-height:500px){.hell-intercom{bottom:58px;min-height:44px;padding:8px 10px}}
.hell-return-ride{position:absolute;z-index:20;left:50%;bottom:max(80px,calc(env(safe-area-inset-bottom) + 65px));transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:8px;width:270px;max-width:calc(100% - 40px);padding:16px 22px;border:1px solid #c6b07575;border-radius:3px;background:linear-gradient(135deg,#292b1cf0,#10190bf5);box-shadow:0 10px 35px #0008;color:#e7d4a7;cursor:pointer;backdrop-filter:blur(8px)}
.hell-return-ride[hidden]{display:none}.hell-return-ride>span{font:8px Arial,sans-serif;letter-spacing:.24em;color:#b6a675}.hell-return-ride strong{font:20px Georgia,serif;font-weight:400}.hell-return-ride i{margin-left:12px;font-style:normal}.hell-return-ride small{font:10px Arial,sans-serif;color:#a9b395}.hell-return-ride:hover{border-color:#f5d392;background:#303920}.hell-return-ride:focus-visible{outline:2px solid #ebcd87;outline-offset:5px}
@media(max-width:700px){.hell-return-ride{bottom:92px;width:238px;padding:12px 16px}.hell-event:has(.hell-scene[data-phase=final]) .hell-intercom{display:none}}
@media(max-height:500px){.hell-return-ride{bottom:53px;left:20px;transform:none;width:215px;gap:5px;padding:10px 14px}.hell-return-ride strong{font-size:17px}}
