/* REALITY FAIL — rare full-cabinet catastrophes. */
#cataclysm3d{position:absolute;inset:14px;z-index:13;width:calc(100% - 28px);height:calc(100% - 28px);border-radius:13px;display:none;background:#02030a;pointer-events:none}
#cataclysm3d.live{display:block;animation:cataclysm-in .42s cubic-bezier(.1,.75,.2,1)}
.reality-fail-ui{position:absolute;inset:14px;z-index:16;display:none;pointer-events:none;border-radius:13px;overflow:hidden}
.reality-fail-ui.live{display:block}
.reality-fail-ui:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.035) 3px 4px),radial-gradient(circle at 50% 50%,transparent 36%,rgba(0,0,0,.46) 100%);mix-blend-mode:screen}
.reality-fail-copy{position:absolute;left:7%;right:7%;top:7%;padding:14px 16px;border-left:4px solid var(--rf-accent,#ff5f68);background:linear-gradient(90deg,rgba(3,5,14,.9),rgba(3,5,14,.35));text-shadow:0 2px 18px #000;transform:skewX(-2deg);animation:rf-copy .58s cubic-bezier(.15,.8,.2,1)}
.reality-fail-copy small{display:block;font:900 .58rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.25em;color:var(--rf-accent,#ff5f68)}
.reality-fail-copy strong{display:block;margin-top:6px;font:950 clamp(1.5rem,6vw,2.45rem)/.9 Inter,system-ui,sans-serif;letter-spacing:-.06em;color:#fff}
.reality-fail-copy span{display:block;margin-top:8px;max-width:28rem;font:800 .72rem/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d9e0f2}
.reality-fail-gauge{position:absolute;left:7%;right:7%;bottom:7%;height:5px;background:rgba(255,255,255,.12);box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.reality-fail-gauge i{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,var(--rf-accent,#ff5f68),#fff);box-shadow:0 0 22px var(--rf-accent,#ff5f68)}
.reality-fail-ui.live .reality-fail-gauge i{animation:rf-countdown var(--rf-duration,12s) linear forwards}
.cabinet.reality-fail{border-color:rgba(255,95,104,.95)!important;box-shadow:0 0 0 5px rgba(255,95,104,.05),0 34px 110px rgba(0,0,0,.7),0 0 120px rgba(255,95,104,.45)!important;animation:rf-cabinet .18s steps(2,end) infinite}
.cabinet.reality-fail #game,.cabinet.reality-fail #overlay{filter:brightness(.25) saturate(1.9) contrast(1.3)}
.rf-whiteout{position:absolute;inset:-5%;z-index:18;pointer-events:none;background:#fff;opacity:0}
.rf-whiteout.fire{animation:rf-whiteout .42s ease-out}
.rf-warning-stripes{position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(-45deg,transparent 0 14px,var(--rf-accent,#ff5f68) 14px 20px);animation:rf-stripes 1.1s linear infinite}
@keyframes cataclysm-in{from{opacity:0;transform:scale(.92) rotate(.4deg);filter:blur(12px) brightness(2)}to{opacity:1;transform:none;filter:none}}
@keyframes rf-copy{from{opacity:0;transform:translateX(-45px) skewX(-7deg)}to{opacity:1;transform:skewX(-2deg)}}
@keyframes rf-countdown{to{transform:scaleX(0)}}
@keyframes rf-whiteout{0%{opacity:0}14%{opacity:.98}100%{opacity:0}}
@keyframes rf-stripes{to{background-position:48px 0}}
@keyframes rf-cabinet{0%,100%{transform:translate(0) skewX(0)}25%{transform:translate(-2px,1px) skewX(-.15deg)}50%{transform:translate(2px,-1px) skewX(.12deg)}75%{transform:translate(-1px,-1px)}}
@media(prefers-reduced-motion:reduce){#cataclysm3d.live,.reality-fail-copy,.reality-fail-gauge i,.rf-warning-stripes,.cabinet.reality-fail{animation:none!important}}
