/* --text / --font not defined in :root elsewhere — seeded here for all menu screens */
:root{
  --text:#eaf2f8;
  --font:'Montserrat','Inter',sans-serif;
}

/* ── Menu open button ── */
.qw-open-btn{
  position:fixed; top:14px; left:14px; z-index:10010;
  font-family:'Exo 2',sans-serif; font-weight:700; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(255,255,255,.6); background:rgba(8,14,22,.66);
  border:1px solid rgba(255,255,255,.14); border-radius:6px; padding:8px 16px;
  cursor:pointer; pointer-events:auto; backdrop-filter:blur(4px); transition:all .18s ease;
}
.qw-open-btn:hover{ color:#fff; border-color:rgba(232,80,0,.45); background:rgba(16,24,34,.85); }

/* ── Blur overlay behind the menu ── */
.menu-blur-overlay{
  position:fixed; inset:0; z-index:10011; background:rgba(2,5,9,.82);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s ease, visibility 0s linear .3s;
}
.menu-blur-overlay.visible{
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  opacity:1; visibility:visible; pointer-events:auto; transition:opacity .3s ease;
}

/* ── Menu panel ── */
.menu-panel{
  position:fixed; inset:0; z-index:10012; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.menu-panel.visible{ opacity:1; pointer-events:auto; }
.menu-panel__inner{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;
  max-height:calc(100vh - 40px); overflow-y:auto; overflow-x:hidden; scrollbar-width:none;
}
.menu-panel__inner::-webkit-scrollbar{ display:none; }
.menu-panel__eyebrow{
  font-size:9px; font-weight:600; letter-spacing:.28em; text-transform:uppercase;
  color:#e85000; margin-bottom:12px; opacity:.8;
}
.menu-panel__title{
  position:relative; font-family:'Exo 2','Manrope',sans-serif;
  font-size:clamp(40px,7vw,84px); font-weight:800; letter-spacing:.06em; line-height:.92;
  text-align:center; color:var(--text); margin-bottom:16px; text-transform:uppercase;
}
.menu-panel__title em{ font-style:normal; color:#e85000; }
.menu-panel__title-glow{
  position:absolute; top:0; left:0; right:0; height:55%;
  background:radial-gradient(ellipse 55% 70% at 50% 22%, rgba(232,80,0,.22), transparent);
  filter:blur(40px); z-index:0; pointer-events:none;
}
.menu-panel__sep{
  width:1px; height:14px; margin-bottom:12px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.1), transparent);
}
.menu-panel__nav{
  list-style:none; display:flex; flex-direction:column; align-items:stretch; gap:7px;
  width:340px; padding:10px 0; margin:0;
}

/* ── Nav buttons ── */
.menu-panel-btn{
  box-sizing:border-box; margin:0; padding:13px 24px; border:1px solid transparent;
  border-radius:6px; background:transparent; cursor:pointer; font-family:var(--font);
  font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.5); display:flex; align-items:center; justify-content:center;
  text-align:center; width:100%; position:relative; overflow:hidden;
  transition:color .18s ease, background .2s ease, border-color .2s ease, transform .18s ease;
}
.menu-panel-btn::before{
  content:''; position:absolute; left:0; top:50%; z-index:0;
  transform:translateY(-50%) scaleY(0); transform-origin:center; width:2px; height:56%;
  background:#e85000; border-radius:0 2px 2px 0; transition:transform .18s ease;
}
.menu-panel-btn::after{
  content:''; position:absolute; inset:0; z-index:0;
  background:rgba(232,80,0,.1); opacity:0; transition:opacity .2s ease;
}
.menu-panel-btn__inner, .menu-panel-btn__arrow{ position:relative; z-index:1; }
.menu-panel-btn:hover, .menu-panel-btn:focus-visible{
  color:var(--text); border-color:rgba(232,80,0,.45); transform:translateX(4px); outline:none;
}
.menu-panel-btn:hover::before, .menu-panel-btn:focus-visible::before{ transform:translateY(-50%) scaleY(1); }
.menu-panel-btn:hover::after,  .menu-panel-btn:focus-visible::after { opacity:1; }
.menu-panel-btn:active{ transform:translateX(2px) scale(.985); }
.menu-panel-btn--primary{
  color:var(--text); font-size:14px; font-weight:700;
  background:linear-gradient(135deg, rgba(232,80,0,.2) 0%, rgba(232,80,0,.07) 100%);
  border-color:rgba(232,80,0,.3);
}
.menu-panel-btn--primary:hover, .menu-panel-btn--primary:focus-visible{
  background:linear-gradient(135deg, rgba(232,80,0,.35) 0%, rgba(232,80,0,.15) 100%);
  border-color:#e85000; box-shadow:0 0 18px rgba(232,80,0,.18);
}
.menu-panel-btn--danger{ color:rgba(255,80,60,.7); border-color:rgba(255,80,60,.2); }
.menu-panel-btn--danger:hover, .menu-panel-btn--danger:focus-visible{
  color:#ff503c; border-color:rgba(255,80,60,.6); background:rgba(255,80,60,.08);
}
.menu-panel-btn:disabled{ opacity:.4; cursor:not-allowed; }
.menu-panel-btn:disabled:hover{ transform:none; border-color:transparent; color:rgba(255,255,255,.5); }
.menu-panel-btn:disabled:hover::before{ transform:translateY(-50%) scaleY(0); }
.menu-panel-btn:disabled:hover::after{ opacity:0; }
.menu-panel-btn__inner{ display:flex; flex-direction:column; align-items:center; }
.menu-panel-btn__sub{
  font-size:9px; font-weight:400; letter-spacing:.14em; color:rgba(255,255,255,.28);
  margin-top:2px; text-transform:uppercase; transition:color .18s ease;
}
.menu-panel-btn:hover .menu-panel-btn__sub, .menu-panel-btn:focus-visible .menu-panel-btn__sub{ color:rgba(255,255,255,.45); }
.menu-panel-btn__arrow{
  position:absolute; right:22px; font-size:12px; color:rgba(255,255,255,.18);
  transition:color .18s ease, transform .2s ease;
}
.menu-panel-btn:hover .menu-panel-btn__arrow, .menu-panel-btn:focus-visible .menu-panel-btn__arrow{
  color:#e85000; transform:translateX(3px);
}
.menu-panel__footer{
  margin-top:28px; font-size:10px; font-weight:400; letter-spacing:.14em;
  color:rgba(255,255,255,.18); text-transform:uppercase; text-align:center;
}

/* ── Round-2 fixes: cursor / fonts / blur / sizing ── */
/* Restore system pointer while any menu/overlay is open (body has cursor:none in gameplay) */
body.qw-ui-active{ cursor:default !important; }
body.qw-ui-active button{ cursor:pointer !important; }
/* Explicit fonts across every menu screen */
.menu-panel, .settings-overlay, .save-slots-overlay, .crew-overlay, .nar-overlay, .game-over-overlay{ font-family:'Montserrat','Inter',sans-serif; }
.menu-panel__title, .settings-title, .save-slots-title, .crew-title, .nar-title, .nar-content-title, .crew-card__name, .game-over-title{ font-family:'Exo 2','Manrope',sans-serif !important; }
/* Opaque dark scene hides the still-running parallax behind */
.menu-blur-overlay{ background:rgba(3,6,14,.5) !important; }
.menu-blur-overlay.visible{ backdrop-filter:blur(2px) !important; -webkit-backdrop-filter:blur(2px) !important; }
/* Hide gameplay + HUD while a menu/overlay is open */
body.qw-ui-active .hud2-frame,
body.qw-ui-active .cursor-dot,
body.qw-ui-active .ship-sprite-cursor,
body.qw-ui-active .food-dot,
body.qw-ui-active .enemy-dot,
body.qw-ui-active .heal-soul-dot,
body.qw-ui-active #boss-hp-bar,
body.qw-ui-active .boss-entity{ display:none !important; }
/* Nav sizing fix: slightly larger, closer to original proportions */
.menu-panel__nav{ width:360px; }
.menu-panel-btn{ font-size:14px; }
.menu-panel__eyebrow{ font-size:10px; }
/* Fix: overflow:hidden on .menu-panel__inner clipped the title-glow blur into a hard rectangle */
.menu-panel__inner{ overflow:visible !important; max-height:none !important; }
.menu-panel__title-glow{ height:70%; background:radial-gradient(ellipse 70% 80% at 50% 18%, rgba(232,80,0,.28), transparent 72%) !important; }
