/* Highgarden jetpack HUD — v15. New file; replaces the plain #flight panel while body.fly. */
body.fly #flight{display:none!important}
body.fly #reticle{display:none!important}
#jetpack-hud{--hud-gold:#efcf91;--hud-brass:#d8b55f;--hud-cream:#fff5d8;--hud-blue:#9cc3e3;--hud-amber:#ffb347;--hud-ink:rgba(9,24,20,.9);--hud-serif:Georgia,'Iowan Old Style',serif;--hud-mono:ui-monospace,'SF Mono',Menlo,monospace;position:fixed;inset:0;z-index:8;pointer-events:none;color:var(--hud-cream);font-family:var(--hud-serif);font-size:12px;line-height:1.2}
#jetpack-hud[hidden]{display:none!important}
#jetpack-hud *{box-sizing:border-box}
#jetpack-hud button{pointer-events:auto;cursor:pointer;color:inherit;font:inherit;border-radius:3px;border:1px solid rgba(216,181,95,.6);background:linear-gradient(150deg,rgba(29,56,47,.96),rgba(9,24,20,.96));padding:6px 10px;box-shadow:inset 0 0 0 2px rgba(8,16,14,.5),0 6px 18px rgba(0,0,0,.35);transition:border-color .15s,transform .15s,background .15s;touch-action:none;-webkit-user-select:none;user-select:none}
#jetpack-hud button:hover,#jetpack-hud button:focus-visible{border-color:#ffe08a;background:linear-gradient(150deg,rgba(39,76,63,.98),rgba(12,34,28,.98));outline:2px solid rgba(255,245,216,.9);outline-offset:2px;color:var(--hud-cream)}
#jetpack-hud button.held,#jetpack-hud button:active{transform:translateY(2px);border-color:#ffe7a8;background:linear-gradient(150deg,rgba(62,100,84,.98),rgba(16,42,34,.98));box-shadow:inset 0 3px 10px rgba(0,0,0,.6),0 0 16px rgba(239,207,145,.5)}
.jh-panel{background:var(--hud-ink);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(216,181,95,.42);border-radius:10px 3px 10px 3px;box-shadow:inset 0 0 0 2px rgba(216,181,95,.08),0 10px 30px rgba(0,0,0,.42)}
.jh-label{display:block;font:700 9px/1.2 var(--hud-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--hud-brass)}
.jh-num{font-family:var(--hud-mono);font-variant-numeric:tabular-nums;font-size:20px;color:var(--hud-cream)}
.jh-num small{font-size:10px;color:rgba(255,245,216,.65);margin-left:3px;font-family:var(--hud-mono)}
.jh-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Frame + reticle (from the React HUD) */
.jh-frame{position:absolute;inset:96px 22px 150px;border-top:1px solid rgba(156,195,227,.28);border-bottom:1px solid rgba(156,195,227,.2)}
.jh-frame::before,.jh-frame::after,.jh-frame i,.jh-frame b{content:'';position:absolute;width:52px;height:52px}
.jh-frame::before{top:-1px;left:0;border-top:2px solid #fff7df;border-left:2px solid #fff7df}
.jh-frame::after{right:0;bottom:-1px;border-right:2px solid #fff7df;border-bottom:2px solid #fff7df}
.jh-frame i{top:-1px;right:0;border-top:1px solid rgba(156,195,227,.55);border-right:1px solid rgba(156,195,227,.55)}
.jh-frame b{left:0;bottom:-1px;border-left:1px solid rgba(156,195,227,.4);border-bottom:1px solid rgba(156,195,227,.4)}
.jh-reticle{position:absolute;top:50%;left:50%;width:32px;height:32px;border:1px solid rgba(216,181,95,.62);border-radius:50%;transform:translate(-50%,-50%)}
.jh-reticle::before,.jh-reticle::after{content:'';position:absolute;background:rgba(255,245,216,.72)}
.jh-reticle::before{top:15px;left:-7px;width:44px;height:1px}
.jh-reticle::after{top:-7px;left:15px;width:1px;height:44px}
.jh-reticle i{position:absolute;inset:11px;border:1px solid rgba(156,195,227,.8);border-radius:50%}
#jetpack-hud.boost .jh-reticle{border-color:#ffb347;box-shadow:0 0 18px rgba(255,179,71,.45)}

/* Compass */
.jh-compass{position:absolute;top:100px;left:50%;transform:translateX(-50%);width:320px;height:40px;overflow:hidden;padding:0}
.jh-compass::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--hud-gold);z-index:2;box-shadow:0 0 6px var(--hud-gold)}
.jh-compass::after{content:'';position:absolute;left:50%;top:0;width:0;height:0;border:6px solid transparent;border-top:8px solid var(--hud-gold);transform:translateX(-50%);z-index:2}
.jh-compass-track{position:absolute;top:0;left:0;height:100%;will-change:transform}
.jh-tick{position:absolute;bottom:4px;width:1px;height:8px;background:rgba(156,195,227,.5);transform:translateX(-50%)}
.jh-tick.major{height:14px;background:rgba(255,245,216,.8)}
.jh-tick span{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font:700 10px var(--hud-serif);letter-spacing:.1em;color:var(--hud-cream)}
.jh-tick.minor span{font:400 8px var(--hud-mono);color:rgba(156,195,227,.7)}
.jh-heading{position:absolute;top:144px;left:50%;transform:translateX(-50%);font:600 11px var(--hud-mono);color:var(--hud-blue);letter-spacing:.12em;white-space:nowrap}
.jh-heading b{color:var(--hud-cream)}

/* Exit */
.jh-exit{position:absolute;top:110px;right:24px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%!important;border:3px solid #fff8e8!important;background:radial-gradient(circle at 38% 32%,#8c382c,#32130f 70%)!important;box-shadow:inset 0 0 0 4px rgba(216,181,95,.72),0 0 0 2px rgba(9,15,14,.72),0 12px 34px rgba(0,0,0,.58)!important;padding:0!important}
.jh-exit span{margin-top:-4px;font:300 40px/1 ui-sans-serif,system-ui,sans-serif;text-shadow:0 2px 8px rgba(0,0,0,.72)}
.jh-exit:hover,.jh-exit:focus-visible{background:radial-gradient(circle at 38% 32%,#b84b39,#421712 70%)!important;transform:scale(1.06)}

/* Instruments (bottom right) */
.jh-instruments{position:absolute;right:22px;bottom:72px;width:250px;padding:12px 14px;display:grid;gap:10px}
.jh-fuel{display:grid;gap:5px}
.jh-fuel-head{display:flex;justify-content:space-between;align-items:baseline}
.jh-fuel-head .jh-num{font-size:14px}
.jh-gauge{position:relative;height:12px;border:1px solid rgba(216,181,95,.55);border-radius:2px;background:repeating-linear-gradient(90deg,transparent 0 9%,rgba(216,181,95,.25) 9% 10%),rgba(0,0,0,.35);overflow:hidden}
.jh-gauge i{position:absolute;inset:1px;transform-origin:left;background:linear-gradient(90deg,#8fd4a3,#efcf91);transition:transform .12s linear,background .3s}
#jetpack-hud.lowfuel .jh-gauge i{background:linear-gradient(90deg,#ff8a3c,var(--hud-amber))}
#jetpack-hud.lowfuel .jh-fuel .jh-label{color:var(--hud-amber)}
.jh-fuel-warn{display:none;font:700 9px var(--hud-serif);letter-spacing:.16em;color:var(--hud-amber)}
#jetpack-hud.lowfuel .jh-fuel-warn{display:inline;animation:jhBlink 1s steps(2) infinite}
@keyframes jhBlink{50%{opacity:.25}}
.jh-readouts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jh-readout{display:grid;gap:3px}
.jh-alt-ft{font:400 10px var(--hud-mono);color:var(--hud-blue)}
.jh-speedrow{display:flex;align-items:center;gap:4px}
.jh-speedrow button{padding:2px 8px;font:700 12px var(--hud-mono);line-height:1}
.jh-boost{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;font:700 12px var(--hud-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--hud-gold)}
.jh-boost kbd{font:700 9px var(--hud-mono);color:rgba(255,245,216,.7);border:1px solid rgba(240,231,212,.4);border-radius:3px;padding:2px 5px;letter-spacing:0;text-transform:none}
#jetpack-hud.boost .jh-boost{border-color:#ffb347;color:#fff;background:linear-gradient(150deg,#7a3f14,#3a1a05);box-shadow:0 0 22px rgba(255,160,60,.6),inset 0 0 12px rgba(255,200,120,.4)}
.jh-xp{display:grid;gap:4px}
.jh-xp-head{display:flex;justify-content:space-between;align-items:baseline}
.jh-xp-head .jh-num{font-size:12px;color:var(--hud-blue)}
.jh-xp-bar{height:6px;border-radius:3px;background:rgba(0,0,0,.4);border:1px solid rgba(156,195,227,.35);overflow:hidden}
.jh-xp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#4facfe,#9cc3e3);transition:width .5s ease;box-shadow:0 0 8px #4facfe}
.jh-xp-name{font:italic 10px var(--hud-serif);color:rgba(255,245,216,.7)}

/* Key tiles (bottom left) */
.jh-guide{position:absolute;left:22px;bottom:72px;display:flex;gap:10px;font-family:var(--hud-mono)}
.jh-keys,.jh-mouse,.jh-height{min-height:92px;padding:0 10px;display:grid;place-content:center}
.jh-keys{width:130px;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(2,28px);gap:3px}
.jh-keys kbd:first-child{grid-column:2}
.jh-keys>span{grid-column:3}
#jetpack-hud kbd{min-width:26px;min-height:24px;display:inline-grid;place-items:center;padding:0 6px;border:1px solid rgba(240,231,212,.46);border-bottom-color:rgba(216,181,95,.72);border-radius:3px;background:rgba(240,231,212,.08);color:#f5ecd8;font:700 9px/1 var(--hud-mono);box-shadow:inset 0 -2px 0 rgba(0,0,0,.28);transition:background .08s,transform .08s}
#jetpack-hud kbd.on{background:var(--hud-gold);color:#1a2a20;border-color:#ffe7a8;transform:translateY(1px);box-shadow:0 0 12px rgba(239,207,145,.7),inset 0 0 0 1px #fff8}
.jh-mouse{width:104px;grid-auto-flow:column;align-items:center;gap:8px}
.jh-mouse svg{width:30px;height:40px;fill:rgba(111,149,190,.09);stroke:#c7d6e6;stroke-width:1.6}
.jh-mouse span{color:rgba(255,245,216,.76);font:700 9px var(--hud-serif);letter-spacing:.12em;text-transform:uppercase}
.jh-height{width:126px;gap:6px;padding:0 12px}
.jh-height>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.jh-height kbd{min-width:62px}
.jh-height b{color:var(--hud-brass);font-size:16px}
.jh-height .jh-esc kbd{min-width:62px}
.jh-height .jh-esc b{font:400 9px var(--hud-serif);letter-spacing:.1em;color:rgba(255,245,216,.7)}

/* Landing pads (bottom centre) */
.jh-pads{position:absolute;left:414px;right:292px;bottom:72px;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:6px;padding:8px 10px;min-height:92px}
.jh-pads .jh-label{width:100%;text-align:center;margin-bottom:2px}
.jh-pad{padding:6px 11px;font:600 11px var(--hud-serif);letter-spacing:.04em;border-radius:14px!important;display:inline-flex;align-items:center;gap:6px}
.jh-pad::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--hud-blue);box-shadow:0 0 6px var(--hud-blue)}
.jh-pad.visited::before{background:var(--hud-gold);box-shadow:0 0 6px var(--hud-gold)}
.jh-pad.visited{border-color:rgba(239,207,145,.8)}

/* Toast (outside hidden root so it survives exit) */
#jetpack-hud-toast{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%);z-index:9;pointer-events:none;padding:14px 26px;border:1px solid rgba(216,181,95,.7);background:rgba(9,24,20,.92);backdrop-filter:blur(12px);border-radius:4px;color:#fff5d8;font:400 22px Georgia,serif;letter-spacing:.02em;text-align:center;box-shadow:0 0 0 3px rgba(216,181,95,.15),0 18px 50px rgba(0,0,0,.5);opacity:0;transition:opacity .25s}
#jetpack-hud-toast.show{opacity:1}
#jetpack-hud-toast small{display:block;font:700 9px Georgia,serif;letter-spacing:.2em;text-transform:uppercase;color:#d8b55f;margin-bottom:6px}

/* Action button flame glow while boosting */
body.fly.jet-boost #jetpack.action-btn{border-color:#ffb347;box-shadow:0 0 0 1px #5a3d12,0 2px 0 #2a1a08,0 0 28px #ff9a32dd,0 0 60px #ff9a3266,inset 0 8px 14px #0008;animation:jhFlame .35s ease-in-out infinite alternate}
body.fly.jet-boost #jetpack .action-name{color:#ffd28a}
@keyframes jhFlame{from{box-shadow:0 0 0 1px #5a3d12,0 2px 0 #2a1a08,0 0 22px #ff9a32cc,0 0 40px #ff9a3244,inset 0 8px 14px #0008}to{box-shadow:0 0 0 1px #5a3d12,0 2px 0 #2a1a08,0 0 34px #ffc060ee,0 0 80px #ff9a3288,inset 0 8px 14px #0008}}

/* Mobile pads */
.jh-mobile{display:none}
@media (max-width:700px){
  .jh-frame{inset:250px 10px 236px;border-top:0}
  .jh-compass{top:86px;width:220px;height:34px}
  .jh-heading{top:124px;font-size:10px}
  .jh-exit{top:100px;right:12px;width:46px;height:46px}
  .jh-exit span{font-size:30px}
  .jh-guide{display:none}
  .jh-instruments{right:10px;left:10px;top:150px;bottom:auto;width:auto;padding:8px 10px;gap:4px 10px;grid-template-columns:1.3fr 1fr 1fr;align-items:end}
  .jh-fuel{grid-column:1}
  .jh-readouts{display:contents}
  .jh-readout{gap:2px}
  .jh-num{font-size:15px}
  .jh-fuel-head .jh-num{font-size:12px}
  .jh-alt-ft{font-size:9px}
  .jh-speedrow{display:none}
  .jh-boost{display:none}
  .jh-xp{grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}
  .jh-xp-head{display:contents}
  .jh-xp-head .jh-num{font-size:10px;order:3}
  .jh-xp-bar{height:5px}
  .jh-xp-name{display:none}
  .jh-pads{left:10px;right:10px;bottom:224px;transform:none;min-height:0;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding:6px 8px;pointer-events:auto;-webkit-overflow-scrolling:touch}
  .jh-pads::-webkit-scrollbar{display:none}
  .jh-pads .jh-label{display:none}
  .jh-pad{flex:0 0 auto;font-size:11px;padding:8px 12px}
  .jh-mobile{display:flex;position:absolute;left:12px;right:12px;bottom:48px;justify-content:space-between;align-items:flex-end;pointer-events:none}
  .jh-dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);gap:4px}
  .jh-dpad button{min-width:52px;min-height:52px;font:700 20px ui-sans-serif,system-ui,sans-serif;padding:0;border-radius:8px}
  .jh-dpad .u{grid-column:2;grid-row:1}.jh-dpad .l{grid-column:1;grid-row:2}.jh-dpad .r{grid-column:3;grid-row:2}.jh-dpad .d{grid-column:2;grid-row:3}
  .jh-dpad .c{grid-column:2;grid-row:2;pointer-events:none;display:grid;place-items:center;font:700 8px var(--hud-serif);letter-spacing:.1em;color:var(--hud-brass);text-transform:uppercase}
  .jh-vert{display:grid;gap:4px}
  .jh-vert button{min-width:84px;min-height:52px;font:700 11px var(--hud-serif);letter-spacing:.12em;text-transform:uppercase;padding:0;border-radius:8px}
  .jh-vert .jh-mboost{color:var(--hud-gold);border-color:#ffb347}
  #jetpack-hud.boost .jh-vert .jh-mboost{background:linear-gradient(150deg,#7a3f14,#3a1a05);color:#fff;box-shadow:0 0 22px rgba(255,160,60,.6)}
  #jetpack-hud-toast{top:52%;font-size:17px;padding:10px 18px;max-width:80vw}
}
@media (prefers-reduced-motion:reduce){
  #jetpack-hud *,#jetpack-hud-toast{transition:none!important;animation:none!important}
  body.fly.jet-boost #jetpack.action-btn{animation:none!important}
}

/* V1.4: jetpack keeps only the original flight controls. The instrument cluster (fuel, altitude, speed, boost, explorer
   rank), the landing-pad menu, and the compass strip with its heading readout are retired. */
#jetpack-hud .jh-instruments,#jetpack-hud .jh-pads,#jetpack-hud .jh-compass,#jetpack-hud .jh-heading,#jetpack-hud-toast{display:none!important}
