.err-stage{--err-ground-h:clamp(120px, 22vh, 190px);isolation:isolate;min-height:calc(100dvh - 68px);padding:18px 16px calc(var(--err-ground-h) + 18px);color:#f8fafc;background:linear-gradient(#0b1026 0%,#1e1b4b 38%,#4c1d95 66%,#c2410c 92%,#fb923c 100%);flex-direction:column;align-items:center;font-family:Be Vietnam Pro,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.err-stage.standalone{min-height:100dvh}.err-stage.scene-broken{background:linear-gradient(#12030a 0%,#3b0a1a 40%,#7f1d1d 72%,#ea580c 100%)}.err-stage.scene-charging{background:linear-gradient(#03142b 0%,#0c4a6e 45%,#0e7490 75%,#f59e0b 100%)}.err-stage.scene-locked{background:linear-gradient(#0b1026 0%,#172554 45%,#1e3a8a 72%,#d97706 100%)}.err-sky{z-index:-1;pointer-events:none;position:absolute;inset:0}.err-moon{aspect-ratio:1;background:radial-gradient(circle at 35% 35%,#fefce8,#fde68a 60%,#f59e0b);border-radius:50%;width:clamp(54px,9vw,96px);position:absolute;top:9%;right:9%;box-shadow:0 0 40px 10px #fde68a59}.err-moon:after{content:"";aspect-ratio:1;background:#d9770659;border-radius:50%;width:22%;position:absolute;inset:22% 18% auto auto;box-shadow:-18px 22px 0 -2px #d9770640}.err-stars,.err-stars.far{background-image:radial-gradient(2px 2px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 28% 42%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 44% 12%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 63% 30%,#fde68a 50%,#0000 51%),radial-gradient(1.5px 1.5px at 78% 52%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 90% 22%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 6% 60%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 52% 58%,#c4b5fd 50%,#0000 51%);animation:3.2s ease-in-out infinite alternate err-twinkle;position:absolute;inset:0 0 35%}.err-stars.far{opacity:.6;animation-delay:-1.6s;transform:translate(7%,9%)scale(.8)}.err-hills{left:-5%;right:-5%;bottom:calc(var(--err-ground-h) - 6px);opacity:.85;background:radial-gradient(60% 100% at 18% 100%,#312e81 98%,#0000 100%),radial-gradient(55% 90% at 62% 100%,#3b0764 98%,#0000 100%),radial-gradient(50% 80% at 96% 100%,#1e1b4b 98%,#0000 100%);height:26%;position:absolute}.err-hud{z-index:2;justify-content:space-between;align-items:center;gap:10px;width:min(1100px,100%);display:flex;position:relative}.err-lives,.err-chip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.04em;text-transform:uppercase;background:#0f172a8c;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:800;display:inline-flex}.err-lives b{color:#fde68a;margin-right:2px}.err-heart{fill:#ef4444;stroke:#7f1d1d;stroke-width:1.5px;filter:drop-shadow(0 2px #00000059);width:20px;height:20px}.err-heart.empty{fill:#ffffff1f;stroke:#ffffff73}.err-chip{color:#fed7aa;font-variant-numeric:tabular-nums}.err-center{z-index:2;text-align:center;flex-direction:column;align-items:center;max-width:680px;margin:auto 0;padding-top:12px;display:flex;position:relative}.err-badge{color:#78350f;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#fde047,#f59e0b);border:2px solid #92400e;border-radius:999px;padding:7px 18px;font-size:clamp(13px,2.4vw,16px);font-weight:900;animation:2.6s ease-in-out infinite err-wobble;display:inline-block;transform:rotate(-2deg);box-shadow:0 4px #92400e,0 10px 22px -8px #0009}.err-code{letter-spacing:-.02em;justify-content:center;gap:.02em;margin:14px 0 4px;font-size:clamp(88px,22vw,200px);font-weight:900;line-height:.95;display:flex;position:relative}.err-code span{color:#fff7ed;-webkit-text-stroke:clamp(2px, .5vw, 4px) #7c2d12;text-shadow:0 4px #ea580c,0 8px #c2410c,0 12px #9a3412,0 16px #7c2d12,0 26px 30px #0000008c;animation:1.8s cubic-bezier(.3,1.6,.5,1) infinite err-bounce;animation-delay:calc(var(--i) * .14s);display:inline-block}.err-code.glitch span{animation:1.8s cubic-bezier(.3,1.6,.5,1) infinite err-bounce,2.4s step-end infinite err-glitch;animation-delay:calc(var(--i) * .14s), calc(var(--i) * .3s)}.err-title{text-shadow:0 3px #00000059;color:#fff;margin:6px 0 0;font-size:clamp(22px,4.4vw,36px);font-weight:900;line-height:1.2}.err-lead{color:#e2e8f0;max-width:54ch;margin:10px 0 0;font-size:clamp(14.5px,2.2vw,17px);line-height:1.6}.err-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;display:flex}.err-btn{cursor:pointer;min-height:48px;font:inherit;letter-spacing:.03em;text-transform:uppercase;background:linear-gradient(#f8fafc,#cbd5e1);border:2px solid #1e293b;border-radius:14px;justify-content:center;align-items:center;padding:0 22px;font-size:15px;font-weight:900;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex;box-shadow:0 5px #334155,0 12px 20px -10px #000000b3;color:#0f172a!important;text-decoration:none!important}.err-btn.primary{text-shadow:0 2px #7c2d1299;background:linear-gradient(#fdba74,#f97316 55%,#ea580c);border-color:#7c2d12;box-shadow:0 5px #7c2d12,0 12px 22px -8px #ea580ccc;color:#fff!important}.err-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}.err-btn:active{transform:translateY(4px);box-shadow:0 1px #334155}.err-btn.primary:active{box-shadow:0 1px #7c2d12}.err-btn:focus-visible{outline-offset:3px;outline:3px solid #fde047}.err-ref{color:#cbd5e1;margin:16px 0 0;font-size:12.5px}.err-ref code{color:#fde68a;background:#0f172a99;border-radius:6px;padding:2px 8px}.err-ground{height:var(--err-ground-h);z-index:1;background:repeating-linear-gradient(100deg,#0000 0 18px,#ffffff0d 18px 20px),linear-gradient(#4d7c0f 0,#3f6212 14%,#365314 40%,#713f12 78%,#451a03 100%);border-top:6px solid #65a30d;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 8px #84cc16}.err-props{width:clamp(64px,11vw,110px);position:absolute;bottom:58%;left:clamp(4%,10vw,16%)}.err-props svg{filter:drop-shadow(0 8px 6px #00000073);width:100%;height:auto;display:block}.err-hero{filter:drop-shadow(0 10px 6px #00000080);width:auto;height:clamp(110px,20vh,170px);position:absolute;bottom:50%;left:clamp(18%,22vw,28%)}.err-zombie{aspect-ratio:272/320;height:clamp(120px,21vh,180px);position:absolute;bottom:48%}.err-zombie.still{right:clamp(6%,14vw,20%)}.err-zombie.walking{animation:16s linear infinite err-cross;right:-20%}.scene-slow .err-zombie.walking{animation-duration:34s}.scene-slow .err-zombie .kit-zsprite{animation-duration:1.6s}.scene-broken .err-zombie.still{animation:.35s ease-in-out infinite alternate err-shake}.err-bubble{z-index:2;color:#7c2d12;background:#fff;border:3px solid #1e293b;border-radius:50% 50% 50% 8px;place-items:center;width:40px;height:40px;font-size:22px;font-weight:900;animation:1.4s ease-in-out infinite err-wobble;display:grid;position:absolute;top:-18%;left:18%}.err-lock{transform-origin:50% 0;animation:2.4s ease-in-out infinite err-shake-y}.err-led{fill:#22c55e;animation:.5s steps(2,end) infinite err-blink}.scene-broken .err-led{fill:#ef4444}.err-crack{animation:.9s steps(2,end) infinite err-spark}.err-charge{fill:#22c55e;transform-box:fill-box;transform-origin:0;animation:2.8s ease-in-out infinite err-fill}.err-hourglass{animation:3s ease-in-out infinite err-flip}@keyframes err-twinkle{0%{opacity:.45}to{opacity:1}}@keyframes err-wobble{0%,to{transform:rotate(-2deg)scale(1)}50%{transform:rotate(2deg)scale(1.04)}}@keyframes err-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)}60%{transform:translateY(0)scaleY(.94)}}@keyframes err-glitch{0%,88%,to{filter:none;translate:0}90%{filter:hue-rotate(160deg);translate:-5px 1px}94%{filter:hue-rotate(-90deg);translate:4px -2px}}@keyframes err-cross{0%{transform:translate(0)}to{transform:translate(-140vw)}}@keyframes err-shake{0%{translate:-3px}to{translate:3px}}@keyframes err-shake-y{0%,70%,to{rotate:none}76%{rotate:-9deg}84%{rotate:7deg}92%{rotate:-4deg}}@keyframes err-blink{50%{opacity:.2}}@keyframes err-spark{50%{opacity:0}}@keyframes err-fill{0%{fill:#ef4444;transform:scaleX(.08)}50%{fill:#f59e0b}to{fill:#22c55e;transform:scaleX(1)}}@keyframes err-flip{0%,70%{rotate:none}to{rotate:180deg}}@media (max-width:640px){.err-stage{min-height:calc(100dvh - 124px)}.err-lives b{display:none}.err-hero{left:30%}.err-props{left:4%}.err-btn{min-height:44px;padding:0 16px;font-size:14px}}@media (prefers-reduced-motion:reduce){.err-stage *,.err-stage :before,.err-stage :after{animation:none!important}.err-zombie.walking{right:12%}}
