.hb-portal[hidden],.hb-portal [hidden] { display:none !important; }
.hb-portal { position:fixed; inset:0; z-index:9999; overflow:hidden; display:grid; place-items:center; color:#f6ffdd; background:#061c10; isolation:isolate; animation:hb-palette 1.8s ease-in-out forwards; }
.hb-portal-speed { position:absolute; inset:-80%; z-index:-1; background:repeating-conic-gradient(from 10deg at 50% 50%,transparent 0deg 8deg,#caff332a 8.4deg 9deg,transparent 9.5deg 14deg,#fbff760c 14deg 15deg); animation:hb-rush .6s linear infinite; }
.hb-portal::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at center,#0a0b07 0 12%,transparent 67%); }
.hb-portal-core { text-align:center; padding:24px; width:100%; }
.hb-portal-kicker { display:block; font:800 clamp(12px,2vw,20px)/1.5 system-ui; letter-spacing:.23em; }
.hb-portal-word { display:block; position:relative; margin:20px 0; color:#f5ed19; font:italic 950 clamp(58px,15vw,220px)/1 Impact,'Arial Black',sans-serif; letter-spacing:-.04em; text-shadow:5px 5px 0 #ec237c,-3px -3px 0 #cfeb3a; animation:hb-liquid .55s ease-in-out infinite alternate; }
.hb-portal-velocity { display:inline-block; padding:8px 16px; background:#ece82b; color:#0a0b07; transform:rotate(-3deg); font:900 12px/1.2 system-ui; letter-spacing:.12em; }
.hb-portal-state { margin:28px auto 0; max-width:420px; font:500 13px/1.7 system-ui; color:#d8d9b2; }
.hb-portal-recovery { display:flex; gap:12px; justify-content:center; margin-top:20px; }
.hb-portal-recovery button { color:#f4f1b2; background:#191b10; border:1px solid #e3e029; border-radius:12px; padding:12px 16px; }
.hb-portal-error .hb-portal-speed,.hb-portal-error .hb-portal-word { animation:none; }
@keyframes hb-palette { 0% { background:#062313; } 45% { background:#3c3c0a; } 100% { background:#181605; } }
@keyframes hb-rush { from { transform:scale(.65) rotate(0); opacity:.3; } to { transform:scale(1.45) rotate(6deg); opacity:1; } }
@keyframes hb-liquid { from { transform:perspective(600px) rotate(-4deg) skewX(-7deg) scale(1,.97); } to { transform:perspective(600px) rotate(-1deg) skewX(1deg) scale(1.03,1.05); } }
@media(prefers-reduced-motion:reduce) { .hb-portal,.hb-portal-speed,.hb-portal-word { animation:none; } .hb-portal { background:#151406; } }
