/* ═══════════════════════════════════════════════════════════════════════════════
   HUNTER HUD · site-wide material (oldgames.games)
   Ported from the desktop launcher (desktop-launcher/ui/hud/core.css): black carbon,
   power-suit orange, visor yellow, chamfered plates with lit diagonal cuts, corner
   brackets, scan beams and a calm hex field. Loaded LAST on every themed page by
   scripts/build/apply-hunter-hud.cjs together with one family file in
   assets/css/hunter/<family>.css and assets/js/hunter-hud.js.

   Scope: everything lives under html.hunter-hud so a page can opt out (?nohud=1) and
   the untouched page CSS keeps working. Family files re-skin the page's own classes.
   Motion: ambient loops read --hud-play and freeze when the tab is hidden, when an
   emulator canvas is running (html.hud-calm) and under prefers-reduced-motion.
   ═══════════════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Share+Tech+Mono&display=swap');

html.hunter-hud{
  color-scheme:dark;
  --hh-void:#040404;--hh-carbon:#0a0908;--hh-panel:#100d0a;--hh-panel-2:#17120c;--hh-panel-3:#21180e;
  --hh-edge:#33240f;--hh-edge-2:#4d3514;--hh-edge-hot:#8a5212;
  --hh-orange:#ff7a00;--hh-orange-2:#ff9820;--hh-ember:#ff4d00;--hh-red:#ff3b24;
  --hh-yellow:#ffc400;--hh-yellow-2:#ffe27a;--hh-amber:#ffab1f;
  --hh-ink:#fff3df;--hh-ink-2:#f0dcc0;--hh-dim:#c2ab8b;--hh-muted:#8d785c;--hh-faint:#5e4d38;
  --hh-visor:#a6ff4d;
  --hh-glass:rgba(16,13,10,.78);--hh-glass-2:rgba(24,18,12,.7);
  --hh-stroke:rgba(255,122,0,.18);--hh-stroke-2:rgba(255,122,0,.34);
  --hh-font-hud:'Bahnschrift','Rajdhani','Segoe UI',sans-serif;
  --hh-font-text:'Segoe UI','Inter','Rajdhani',system-ui,sans-serif;
  --hh-font-mono:Consolas,'Share Tech Mono','Cascadia Mono',monospace;
  --hh-ease-out:cubic-bezier(.16,1,.3,1);
  --hh-ease-io:cubic-bezier(.65,0,.35,1);
  --hh-cut:12px;
  --hh-hex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='45' height='26' viewBox='0 0 45 26'%3E%3Cpath d='M0 13 7.5 0h15L30 13l-7.5 13h-15ZM30 13h15' fill='none' stroke='%23ff8c1a' stroke-opacity='.10'/%3E%3C/svg%3E");
  --hh-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6Z' fill='%23ff9820'/%3E%3C/svg%3E");
  --hud-play:running;
  background:var(--hh-void);
  scrollbar-color:#61400f #070605;
}
html.hunter-hud.hud-calm,html.hunter-hud.hud-hidden{--hud-play:paused}
/* Keep decorative overlays off game/video surfaces and avoid full-screen compositing during play. */
html.hunter-hud.hud-calm .hud-scanlines,html.hunter-hud.hud-calm .hud-atmos-ember,
html.hunter-hud.hud-calm .hud-pulse,html.hunter-hud.hud-calm .hud-telemetry{display:none}

/* ---------- Ground: the page body goes transparent so the fixed atmosphere (negative z-index) shows through ---------- */
html.hunter-hud body{
  background:transparent!important;
  color:var(--hh-ink);
}
html.hunter-hud ::selection{background:rgba(255,122,0,.45);color:#fff}
html.hunter-hud ::-webkit-scrollbar{width:10px;height:10px}
html.hunter-hud ::-webkit-scrollbar-track{background:#070605;border-left:1px solid #1d150b}
html.hunter-hud ::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#3d2810,#61400f);border:2px solid #070605}
html.hunter-hud ::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,var(--hh-orange),#92500c)}
html.hunter-hud ::-webkit-scrollbar-corner{background:#070605}
html.hunter-hud :focus-visible{outline:2px solid var(--hh-yellow);outline-offset:3px}

/* ---------- Atmosphere (assets/js/hunter-hud.js appends .hud-atmos to the end of body) ---------- */
html.hunter-hud .hud-atmos{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
html.hunter-hud .hud-atmos-ground{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 55% 42% at 88% -8%,rgba(255,122,0,.17),transparent 70%),
    radial-gradient(ellipse 45% 38% at 12% 108%,rgba(255,196,0,.07),transparent 70%),
    linear-gradient(180deg,#080706,#030303);
}
html.hunter-hud .hud-atmos-hex{
  position:absolute;inset:0;opacity:.9;
  background:var(--hh-hex) 0 0/45px 26px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 20%,#000 10%,transparent 75%);
  mask-image:radial-gradient(ellipse 80% 70% at 70% 20%,#000 10%,transparent 75%);
}
html.hunter-hud .hud-atmos-conduit{
  position:absolute;top:-100%;right:min(6vw,72px);width:2px;height:200%;opacity:.5;
  background:linear-gradient(180deg,transparent 0 12%,rgba(255,122,0,.9) 20%,rgba(255,215,70,.95) 24%,transparent 32% 58%,rgba(255,122,0,.75) 68%,transparent 78%);
  animation:hh-conduit 9s linear infinite;animation-play-state:var(--hud-play);
}
html.hunter-hud .hud-atmos-ember{position:absolute;inset:0;width:100%;height:100%}
/* Scanlines + vignette above everything; pointer-events:none keeps the page interactive. */
html.hunter-hud .hud-scanlines{
  position:fixed;inset:0;z-index:2147483000;pointer-events:none;
  background:
    repeating-linear-gradient(180deg,rgba(0,0,0,.06) 0 1px,transparent 1px 3px),
    radial-gradient(ellipse 120% 90% at 50% 45%,transparent 60%,rgba(0,0,0,.42) 100%);
}
/* HUD chrome: top energy line with a travelling beam, viewport corner brackets, telemetry tag. */
html.hunter-hud .hud-topline{
  position:fixed;left:0;right:0;top:0;height:2px;z-index:2147483001;pointer-events:none;overflow:hidden;
  background:linear-gradient(90deg,var(--hh-yellow) 0 56px,var(--hh-orange) 56px 130px,rgba(255,122,0,.25) 130px 45%,transparent 80%);
}
html.hunter-hud .hud-topline:after{
  content:'';position:absolute;left:0;top:0;bottom:0;width:22%;
  background:linear-gradient(90deg,transparent,rgba(255,196,0,.95),transparent);
  animation:hh-scan-x 7.5s var(--hh-ease-io) infinite;animation-play-state:var(--hud-play);
}
html.hunter-hud .hud-corner{position:fixed;z-index:2147483001;pointer-events:none;width:22px;height:22px;border:2px solid var(--hh-orange);opacity:.55}
html.hunter-hud .hud-corner.tl{left:10px;top:10px;border-right:0;border-bottom:0}
html.hunter-hud .hud-corner.tr{right:10px;top:10px;border-left:0;border-bottom:0}
html.hunter-hud .hud-corner.bl{left:10px;bottom:10px;border-right:0;border-top:0}
html.hunter-hud .hud-corner.br{right:10px;bottom:10px;border-left:0;border-top:0}
html.hunter-hud .hud-telemetry{
  position:fixed;right:18px;bottom:12px;z-index:2147483001;pointer-events:none;display:flex;gap:12px;align-items:center;
  font:700 9.5px/1 var(--hh-font-mono);letter-spacing:.2em;color:var(--hh-muted);white-space:nowrap;text-transform:uppercase;
}
html.hunter-hud .hud-telemetry b{font-weight:700;color:var(--hh-yellow)}
html.hunter-hud .hud-telemetry i{display:inline-block;width:6px;height:6px;background:var(--hh-visor);transform:rotate(45deg);box-shadow:0 0 8px var(--hh-visor);animation:hh-pulse 2s ease-in-out infinite;animation-play-state:var(--hud-play)}
@media(max-width:760px){html.hunter-hud .hud-corner,html.hunter-hud .hud-telemetry{display:none}}

/* ---------- Boot sequence (once per session, assets/js/hunter-hud.js) ---------- */
html.hunter-hud .hud-boot{position:fixed;inset:0;z-index:2147483002;pointer-events:none;display:none}
html.hunter-hud.hud-booting .hud-boot{display:block;animation:hh-boot-fade 1.4s linear both}
html.hunter-hud .hud-boot:before{
  content:'';position:absolute;left:0;right:0;top:0;height:30%;
  background:linear-gradient(180deg,transparent,rgba(255,122,0,.10) 70%,rgba(255,210,80,.75) 99%,transparent);
  animation:hh-boot-scan 1.05s var(--hh-ease-io) both;
}
html.hunter-hud .hud-boot:after{
  content:attr(data-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:0;overflow:hidden;white-space:nowrap;border-right:2px solid var(--hh-yellow);
  font:700 14px/1.6 var(--hh-font-mono);letter-spacing:.35em;color:var(--hh-yellow);text-shadow:0 0 16px rgba(255,122,0,.8);
  animation:hh-type .7s steps(12,end) .15s both;
}
html.hunter-hud .hud-boot i{position:absolute;width:48px;height:48px;border:2px solid var(--hh-orange);opacity:0;animation:hh-bracket .9s var(--hh-ease-out) both}
html.hunter-hud .hud-boot i:nth-child(1){left:24%;top:30%;border-right:0;border-bottom:0}
html.hunter-hud .hud-boot i:nth-child(2){right:24%;top:30%;border-left:0;border-bottom:0}
html.hunter-hud .hud-boot i:nth-child(3){left:24%;bottom:30%;border-right:0;border-top:0}
html.hunter-hud .hud-boot i:nth-child(4){right:24%;bottom:30%;border-left:0;border-top:0}

/* ---------- Pointer pulse (one fixed element outside any button) ---------- */
html.hunter-hud .hud-pulse{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;z-index:2147483001;pointer-events:none;opacity:0;border:2px solid var(--hh-yellow);border-radius:50%}
html.hunter-hud .hud-pulse.run{animation:hh-pulse-ring .5s var(--hh-ease-out) both}

/* ---------- Reusable material for family files ---------- */
/* Chamfered plate with lit diagonal cuts, orange corner brackets and the pointer spotlight (--mx/--my set by hunter-hud.js on .hh-lit). */
html.hunter-hud .hh-plate{
  --cut:var(--hh-cut);
  border:1px solid var(--panel-edge,var(--hh-edge-2))!important;border-radius:0!important;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
  background:
    radial-gradient(340px circle at var(--mx,-999px) var(--my,-999px),rgba(255,140,30,.10),transparent 65%),
    linear-gradient(to bottom right,transparent calc(50% - .9px),var(--panel-cut,var(--hh-edge-hot)) calc(50% - .9px) calc(50% + .9px),transparent calc(50% + .9px)) top left/var(--cut) var(--cut) no-repeat border-box,
    linear-gradient(to bottom right,transparent calc(50% - .9px),var(--panel-cut,var(--hh-edge-hot)) calc(50% - .9px) calc(50% + .9px),transparent calc(50% + .9px)) bottom right/var(--cut) var(--cut) no-repeat border-box,
    linear-gradient(var(--panel-accent,var(--hh-orange)),var(--panel-accent,var(--hh-orange))) top right/20px 3px no-repeat border-box,
    linear-gradient(var(--panel-accent,var(--hh-orange)),var(--panel-accent,var(--hh-orange))) top right/3px 20px no-repeat border-box,
    linear-gradient(var(--panel-accent,var(--hh-orange)),var(--panel-accent,var(--hh-orange))) bottom left/20px 3px no-repeat border-box,
    linear-gradient(var(--panel-accent,var(--hh-orange)),var(--panel-accent,var(--hh-orange))) bottom left/3px 20px no-repeat border-box,
    linear-gradient(165deg,var(--panel-top,#19120a),var(--panel-bottom,#0a0807) 72%)!important;
  box-shadow:inset 0 1px rgba(255,180,90,.06)!important;
  backdrop-filter:none!important;
}
html.hunter-hud .hh-plate-sm{--cut:8px}
/* Buttons: carbon plate with a chamfer; .hh-primary is the yellow→orange power button with a sweep on hover. */
html.hunter-hud .hh-btn{
  font-family:var(--hh-font-hud)!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;
  color:var(--hh-ink-2)!important;
  background:linear-gradient(180deg,#1c150c,#0f0b07)!important;
  border:1px solid var(--hh-edge-2)!important;border-radius:0!important;
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
  box-shadow:inset 0 1px rgba(255,190,100,.07)!important;text-shadow:none!important;
  transition:color .18s,background-color .18s,border-color .18s,box-shadow .22s,transform .12s!important;
}
html.hunter-hud .hh-btn:hover{
  color:#fff!important;border-color:var(--hh-orange)!important;
  background:linear-gradient(180deg,#2c1d0c,#170f07)!important;
  box-shadow:inset 0 0 0 1px rgba(255,122,0,.25),inset 0 -14px 22px -14px rgba(255,122,0,.55)!important;transform:none!important;
}
html.hunter-hud .hh-btn:active{transform:translateY(1px)!important}
html.hunter-hud .hh-primary{
  position:relative;overflow:hidden;
  color:#170900!important;font-weight:700!important;
  background:linear-gradient(180deg,var(--hh-yellow) 0%,var(--hh-orange-2) 55%,var(--hh-orange) 100%)!important;
  border:1px solid #ffd24d!important;
  box-shadow:inset 0 1px rgba(255,255,255,.6),inset 0 -3px rgba(130,45,0,.45)!important;
}
html.hunter-hud .hh-primary:after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.65) 48%,transparent 62%);
  transform:translateX(-120%);transition:transform .7s var(--hh-ease-out);
}
html.hunter-hud .hh-primary:hover{
  color:#000!important;border-color:#fff0b3!important;
  background:linear-gradient(180deg,#ffe066 0%,var(--hh-yellow) 45%,var(--hh-orange-2) 100%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.8),inset 0 -3px rgba(130,45,0,.35),inset 0 0 24px rgba(255,255,255,.25)!important;
}
html.hunter-hud .hh-primary:hover:after{transform:translateX(120%)}
html.hunter-hud .hh-danger{color:#ffb39a!important;border-color:#6e2614!important;background:linear-gradient(180deg,#2a0f08,#140705)!important}
html.hunter-hud .hh-danger:hover{color:#fff!important;border-color:var(--hh-red)!important;background:linear-gradient(180deg,#461508,#1f0905)!important}
/* Inputs and selects. */
html.hunter-hud .hh-input{
  font-family:var(--hh-font-hud)!important;color:var(--hh-ink)!important;
  background-color:#0c0a07!important;background-image:linear-gradient(180deg,#0a0806,#130f0a)!important;
  border:1px solid var(--hh-edge-2)!important;border-radius:0!important;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.65)!important;transition:border-color .18s,box-shadow .2s!important;
}
html.hunter-hud .hh-input:hover{border-color:var(--hh-edge-hot)!important}
html.hunter-hud .hh-input:focus{border-color:var(--hh-orange)!important;box-shadow:inset 0 2px 8px rgba(0,0,0,.65),0 0 0 1px rgba(255,122,0,.35),0 0 18px rgba(255,122,0,.2)!important;outline:none!important}
html.hunter-hud .hh-input::placeholder{color:var(--hh-muted)!important}
html.hunter-hud select.hh-input{
  -webkit-appearance:none!important;appearance:none!important;padding-right:30px!important;
  background-image:var(--hh-chevron),linear-gradient(180deg,#0a0806,#130f0a)!important;
  background-repeat:no-repeat,no-repeat!important;background-position:right 11px center,0 0!important;background-size:10px 6px,100% 100%!important;
}
html.hunter-hud select.hh-input option{background:#140f0a;color:var(--hh-ink)}
/* Type: HUD headings, the eyebrow with a lit dash and a diamond, mono paths. */
html.hunter-hud .hh-h{font-family:var(--hh-font-hud)!important;font-weight:600!important;font-stretch:condensed;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--hh-ink)!important;text-shadow:0 0 22px rgba(255,122,0,.25)!important;-webkit-text-fill-color:currentColor!important;background:none!important}
html.hunter-hud .hh-eyebrow{
  display:flex!important;align-items:center;gap:10px;
  font:700 10px/1.2 var(--hh-font-hud)!important;letter-spacing:.32em!important;text-transform:uppercase!important;color:var(--hh-yellow)!important;
}
html.hunter-hud .hh-eyebrow:before{content:'';flex:0 0 18px;height:2px;background:var(--hh-orange);box-shadow:0 0 10px rgba(255,122,0,.8)}
html.hunter-hud .hh-eyebrow:after{content:'';flex:0 0 5px;height:5px;background:var(--hh-yellow);transform:rotate(45deg);opacity:.8}
html.hunter-hud .hh-mono{font-family:var(--hh-font-mono)!important;letter-spacing:.12em;color:var(--hh-orange)!important}
html.hunter-hud .hh-dim{color:var(--hh-dim)!important}
html.hunter-hud .hh-tag{display:inline-block;padding:4px 8px;font:700 10px/1.3 var(--hh-font-mono)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--hh-dim)!important;background:rgba(8,6,4,.9)!important;border:1px solid var(--hh-edge-2)!important;border-radius:0!important;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}
html.hunter-hud .hh-tag.on{color:#e2f6cf!important;border-color:rgba(166,255,77,.4)!important}
/* Diamond status dot (green visor) and the hazard tick strip. */
html.hunter-hud .hh-dot{display:inline-block;width:6px;height:6px;border-radius:0!important;transform:rotate(45deg);background:var(--hh-visor)!important;box-shadow:0 0 8px rgba(166,255,77,.8)!important}
html.hunter-hud .hh-ticks{height:7px;background:repeating-linear-gradient(90deg,var(--hh-orange) 0 13px,transparent 13px 17px)}
/* Header bar treatment: sticky carbon bar with the energy line and travelling beam under it. */
html.hunter-hud .hh-header{
  position:relative;
  background:linear-gradient(180deg,rgba(15,11,8,.96),rgba(8,6,5,.96))!important;
  border:0!important;border-bottom:1px solid var(--hh-edge)!important;border-radius:0!important;
  box-shadow:0 12px 30px rgba(0,0,0,.35)!important;backdrop-filter:blur(8px)!important;
}
html.hunter-hud .hh-header:before{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,var(--hh-yellow) 0 56px,var(--hh-orange) 56px 130px,rgba(255,122,0,.25) 130px 45%,transparent 80%);
}
html.hunter-hud .hh-header:after{
  content:'';position:absolute;left:0;bottom:-2px;width:22%;height:3px;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,transparent,rgba(255,196,0,.95),transparent);
  animation:hh-scan-x 7.5s var(--hh-ease-io) infinite;animation-play-state:var(--hud-play);
}
/* Nav links: mono caps in orange with a yellow underline beam on hover/current. */
html.hunter-hud .hh-navlink{
  position:relative;font-family:var(--hh-font-hud)!important;font-weight:600!important;font-size:12.5px!important;letter-spacing:.12em!important;text-transform:uppercase!important;
  color:var(--hh-dim)!important;background:transparent!important;border:1px solid transparent!important;border-radius:0!important;box-shadow:none!important;
  transition:color .2s,background-color .2s,padding .3s var(--hh-ease-out)!important;
}
html.hunter-hud .hh-navlink:before{content:'';position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--hh-yellow);box-shadow:0 0 12px var(--hh-orange);transition:width .3s var(--hh-ease-out)}
html.hunter-hud .hh-navlink:hover,html.hunter-hud .hh-navlink.on,html.hunter-hud .hh-navlink[aria-current="page"]{color:var(--hh-ink)!important;background:linear-gradient(90deg,rgba(255,122,0,.10),transparent 80%)!important}
html.hunter-hud .hh-navlink:hover:before,html.hunter-hud .hh-navlink.on:before,html.hunter-hud .hh-navlink[aria-current="page"]:before{width:100%}
/* Cover / card image treatment. */
html.hunter-hud .hh-cover{border-radius:0!important;border:1px solid var(--hh-edge-2)!important;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);box-shadow:0 18px 40px rgba(0,0,0,.55)!important}
/* Scroll reveal (hunter-hud.js adds .hh-reveal when the element enters the viewport). */
html.hunter-hud .hh-will-reveal{opacity:0}
html.hunter-hud .hh-reveal{animation:hh-rise .55s var(--hh-ease-out) both}
html.hunter-hud .hh-reveal-x{animation:hh-reveal-x .6s var(--hh-ease-out) both}
/* Ambient loops for family files. */
html.hunter-hud .hh-sheen{
  background-image:linear-gradient(100deg,transparent 35%,rgba(255,230,150,.16) 50%,transparent 65%)!important;background-size:250% 100%!important;background-repeat:no-repeat!important;
  animation:hh-nav-sheen 5.5s var(--hh-ease-io) infinite;animation-play-state:var(--hud-play);
}
html.hunter-hud .hh-live{position:relative;padding-left:20px!important}
html.hunter-hud .hh-live:before{content:'';position:absolute;left:6px;top:calc(50% - 4px);width:8px;height:8px;transform:rotate(45deg);background:var(--hh-yellow);box-shadow:0 0 10px var(--hh-yellow);animation:hh-pulse 2.4s ease-in-out infinite;animation-play-state:var(--hud-play)}
html.hunter-hud .hh-live.red:before{background:var(--hh-red);box-shadow:0 0 12px var(--hh-red);border-radius:50%;transform:none;animation:hh-blink 1.1s steps(2,jump-none) infinite;animation-play-state:var(--hud-play)}

/* ---------- Motion vocabulary ---------- */
@keyframes hh-spin{to{transform:rotate(360deg)}}
@keyframes hh-pulse{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes hh-blink{0%{opacity:1}100%{opacity:0}}
@keyframes hh-conduit{to{transform:translateY(50%)}}
@keyframes hh-scan-x{0%{transform:translateX(-110%)}100%{transform:translateX(560%)}}
@keyframes hh-scan-y{0%{transform:translateY(-100%)}100%{transform:translateY(100vh)}}
@keyframes hh-nav-sheen{0%,55%{background-position:120% 0}100%{background-position:-120% 0}}
@keyframes hh-tank-sheen{0%,60%{background-position:130% 0,0 0}100%{background-position:-130% 0,0 0}}
@keyframes hh-live-ping{0%{box-shadow:0 0 0 0 rgba(255,59,36,.75)}100%{box-shadow:0 0 0 9px rgba(255,59,36,0)}}
@keyframes hh-reveal-x{0%{clip-path:inset(0 100% 0 0);opacity:.2}100%{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes hh-panel-in{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
@keyframes hh-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}100%{opacity:1;transform:none}}
@keyframes hh-slide-in{0%{opacity:0;transform:translateX(-18px)}100%{opacity:1;transform:none}}
@keyframes hh-drop-in{0%{opacity:0;transform:translateY(-12px)}100%{opacity:1;transform:none}}
@keyframes hh-fade{0%{opacity:0}100%{opacity:1}}
@keyframes hh-pulse-ring{0%{opacity:.95;transform:scale(.6)}100%{opacity:0;transform:scale(4.2)}}
@keyframes hh-boot-fade{0%{background:rgba(3,3,3,.9)}55%{background:rgba(3,3,3,.55)}100%{background:rgba(3,3,3,0);opacity:0}}
@keyframes hh-boot-scan{0%{transform:translateY(-100%)}100%{transform:translateY(340%)}}
@keyframes hh-type{0%{width:0}100%{width:21ch}}
@keyframes hh-bracket{0%{opacity:0;transform:scale(1.6)}40%{opacity:1}100%{opacity:0;transform:scale(1)}}
@keyframes hh-flicker{0%,100%{opacity:1}8%{opacity:.35}10%{opacity:1}52%{opacity:.8}54%{opacity:1}}
@keyframes hh-float{50%{transform:translateY(-8px)}}

@media(prefers-reduced-motion:reduce){
  html.hunter-hud *,html.hunter-hud *:before,html.hunter-hud *:after{animation:none!important;transition:none!important}
  html.hunter-hud .hud-boot,html.hunter-hud .hud-pulse,html.hunter-hud .hud-atmos-ember,html.hunter-hud .hud-atmos-conduit{display:none!important}
  html.hunter-hud .hh-will-reveal{opacity:1}
}
