/* Preserve the outgoing document while its successor fades into view. */
.hf-page-frame{position:fixed;inset:0;width:100%;height:100%;height:100dvh;border:0;background:#10110d;z-index:10000;opacity:0;pointer-events:none;transition:opacity .34s cubic-bezier(.22,.65,.3,1)}
.hf-page-frame.hf-page-ready{opacity:1;pointer-events:auto}
html[data-hf-parked] .lab-audio{z-index:10050}
#hf-parked-page[hidden]{display:none!important}
.hf-reel-loader{position:fixed;z-index:10100;top:50%;left:50%;transform:translate(-50%,-50%);width:272px;max-width:calc(100vw - 36px);padding:9px 18px 18px;border:1px solid #71874a;border-radius:13px;background:#111b12f2;color:#e4eccb;box-shadow:0 16px 65px #0008;display:flex;align-items:center;flex-direction:column;gap:5px;text-align:center;font:11px/1.6 ui-monospace,monospace;pointer-events:none;opacity:1;transition:opacity .16s ease,transform .16s ease;animation:hf-monster-pop .18s ease-out both}
.hf-reel-loader[hidden]{display:none}
.hf-reel-loader svg{width:224px;max-width:100%;height:auto;overflow:visible}
.hf-monster-caption{font-weight:700;min-height:35px;display:grid;align-content:center;max-width:230px}
.hf-monster-recipe{font-size:9px;letter-spacing:.4px;color:#9baa7d}
.hf-reel-loader a{color:#d2ff38;pointer-events:auto;min-height:44px;padding:10px}
.hf-reel-loader a[hidden]{display:none}
.hf-snack-monster{transform-origin:105px 120px;animation:hf-monster-wobble .38s ease-in-out infinite alternate}
.hf-loader-jaw{transform-origin:108px 94px;animation:hf-monster-chew .24s ease-in-out infinite alternate}
.hf-loader-eyes{transform-origin:100px 65px;animation:hf-monster-eyes .72s ease-in-out infinite}
.hf-film-feed{animation:hf-monster-film .38s linear infinite}
.hf-stuck-reel{transform-origin:53px 94px;animation:hf-monster-reel .85s linear infinite}
.hf-burp-stars{opacity:0;transform-origin:180px 45px}
.hf-monster-done .hf-burp-stars{animation:hf-monster-burp .5s ease-out both}
.hf-monster-done .hf-loader-eyes{animation:none;transform:scaleY(1.15)}
.hf-reel-loader.hf-monster-away{opacity:0;transform:translate(-50%,-44%);animation:none}
@keyframes hf-monster-pop{from{opacity:1;transform:translate(-50%,-46%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes hf-monster-wobble{from{transform:rotate(-3deg) translateY(1px)}to{transform:rotate(3deg) translateY(-2px)}}
@keyframes hf-monster-chew{to{transform:translateY(6px) rotate(3deg)}}
@keyframes hf-monster-eyes{0%,70%,100%{transform:scaleY(1)}80%{transform:scaleY(.3)}90%{transform:scaleY(1.15)}}
@keyframes hf-monster-film{to{transform:translateX(-22px)}}
@keyframes hf-monster-reel{to{transform:rotate(-360deg)}}
@keyframes hf-monster-burp{0%{opacity:0;transform:translate(-7px,10px) scale(.5)}35%{opacity:1}100%{opacity:0;transform:translate(15px,-20px) scale(1.3)}}
/* Native full-document navigations can blend too in supporting browsers. */
/* Full page entries use the short body fade below; internal links crossfade above. */
::view-transition-old(root){animation:hf-document-out .28s ease both}
::view-transition-new(root){animation:hf-document-in .32s ease both}
@keyframes hf-document-out{to{opacity:0}}
@keyframes hf-document-in{from{opacity:0}to{opacity:1}}
html:not([data-hf-parked]) body{animation:hf-document-in .28s ease both}
h1[tabindex="-1"]:focus{outline:none}
@media(max-width:540px){.hf-reel-loader{width:236px;padding:6px 13px 13px}.hf-reel-loader svg{width:190px}.hf-monster-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.hf-page-frame,.hf-reel-loader{transition:none}.hf-reel-loader,.hf-snack-monster,.hf-loader-jaw,.hf-loader-eyes,.hf-film-feed,.hf-stuck-reel,.hf-monster-done .hf-burp-stars,html:not([data-hf-parked]) body{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none}.hf-monster-done .hf-loader-eyes{transform:none}}
