/* NEONFALL — neon UI. Al menu-UI er DOM, selve spillet er canvas. */
* { margin:0; padding:0; box-sizing:border-box; -webkit-user-select:none; user-select:none; }

:root{
  --cyan:#35e0ff; --pink:#ff2e7e; --gold:#ffc748; --green:#7dff6a; --purple:#c07bff;
  --bg:#04060f; --panel:rgba(8,14,30,.92); --line:rgba(53,224,255,.35);
}

html,body{ height:100%; background:#000; overflow:hidden; }
body{ font-family:'Rajdhani',sans-serif; color:#cfeaff; }

/* TRUE WIDESCREEN: stage fylder HELE vinduet — ingen letterbox. Spillets logiske
   bredde (CFG.W) beregnes af viewport-formatet i boot, så intet strækkes. */
#stage{
  position:relative;
  width:100vw;
  height:100vh;
  background:var(--bg);
  overflow:hidden;
}
#game{ position:absolute; inset:0; width:100%; height:100%; display:block; }

/* ── Overlays ─────────────────────────────── */
#vig{ position:absolute; inset:0; pointer-events:none; z-index:5;
  background:radial-gradient(ellipse at center, transparent 55%, rgba(0,0,10,.55) 100%); }
#crt{ position:absolute; inset:0; pointer-events:none; z-index:6; opacity:.5; display:none;
  background:repeating-linear-gradient(0deg, rgba(0,0,0,.22) 0 1px, transparent 1px 3px); }
body.crt-on #crt{ display:block; }

#ui{ position:absolute; inset:0; z-index:10; pointer-events:none; }
#ui .screen{ position:absolute; inset:0; display:none; pointer-events:auto;
  flex-direction:column; align-items:center; justify-content:center; }
#ui .screen.open{ display:flex; }
#ui .screen.solid{ background:radial-gradient(ellipse at 50% 30%, rgba(10,20,45,.94), rgba(3,5,12,.97)); }
#ui .screen.dim{ background:rgba(2,4,10,.62); backdrop-filter:blur(3px); }
/* pausen må IKKE blurre sidepanelerne — det er jo dér infoen bor: dæmp kun midten */
#ui .screen.pausedim{ background:radial-gradient(ellipse at 50% 45%, rgba(2,4,10,.78) 0%, rgba(2,4,10,.55) 45%, rgba(2,4,10,.12) 78%, rgba(2,4,10,0) 100%); }
.card.focus{ outline:3px solid #eaffff; outline-offset:3px; box-shadow:0 0 26px rgba(234,255,255,.5); transform:translateY(-6px) scale(1.03); }

/* ⚡ EVOLUTIONS-kort: gylden puls — man skal kunne SE at det her er noget særligt */
.card.evo{ border-color:#ffd75e !important; animation:evoPulse 1.5s ease-in-out infinite; }
@keyframes evoPulse{
  0%, 100%{ box-shadow:0 0 16px rgba(255,215,94,.35), inset 0 0 22px rgba(255,215,94,.07); }
  50%{ box-shadow:0 0 30px rgba(255,215,94,.65), inset 0 0 30px rgba(255,215,94,.14); }
}
.evo-tag{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:10px; letter-spacing:.22em;
  color:#0a1220; background:linear-gradient(90deg,#ffd75e,#ffb020); padding:3px 10px; border-radius:4px;
  display:inline-block; margin-bottom:6px; }
.evo-pips{ font-family:'Orbitron',sans-serif; font-size:10.5px; font-weight:700; color:#ffd75e;
  letter-spacing:.14em; margin-bottom:4px; }
/* trin 1 = NYT system (grøn-cyan opdagelse) — først trin 2+ er gylden EVOLUTION */
.card.evo.new{ border-color:#7dff6a !important; animation:evoPulseNew 1.5s ease-in-out infinite; }
@keyframes evoPulseNew{
  0%, 100%{ box-shadow:0 0 16px rgba(125,255,106,.3), inset 0 0 22px rgba(125,255,106,.06); }
  50%{ box-shadow:0 0 28px rgba(125,255,106,.55), inset 0 0 28px rgba(125,255,106,.12); }
}
.evo-tag.new{ background:linear-gradient(90deg,#7dff6a,#35e0ff); }
.evo-pips.new{ color:#7dff6a; }

/* ★ OVERDRIVE: paragon-trinnene efter MAXED — gyldne pips + core-knap */
.odrow{ display:flex; align-items:center; gap:10px; margin:6px 0 4px; }
.od-t{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:10.5px; letter-spacing:.16em; color:#ffd75e; }
.pip.od{ border-color:#7a5c1e; background:#241a08; }
.pip.od.on{ background:#ffd75e; border-color:#ffd75e; box-shadow:0 0 7px rgba(255,215,94,.7); }
.nbtn.buy.odb{ border-color:#ffd75e; color:#ffd75e; }
.nbtn.buy.odb.off{ opacity:.45; }

/* rune-chips m. effekt-tekst PÅ chippen (native title-tooltip var ubrugelig) */
.runechip.rc2{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:1px; text-align:left; }
.runechip.rc2 em{ font-style:normal; font-size:10px; font-weight:600; color:#8fb4d4; letter-spacing:.02em; }

/* ── Widescreen-forside: kort-layout + levende verden bagved ── */
/* safe center: bliver indholdet højere end vinduet, SCROLLES der i stedet for at toppen klippes af */
#ui .screen.menusheer{ background:radial-gradient(ellipse at 50% 20%, rgba(3,6,14,.82), rgba(3,5,12,.6));
  overflow-y:auto; justify-content:center; justify-content:safe center; padding:18px 0 26px; }
.mgrid{ display:grid; grid-template-columns:330px minmax(420px, 560px) 330px; gap:18px;
  align-items:start; justify-content:center; width:100%; max-width:1400px; margin-top:6px; }
/* klassisk spilmenu: knap-søjle t.v. + ét panel t.h. */
.mlayout{ display:flex; gap:20px; width:min(1140px, 94vw); align-items:stretch; margin-top:10px; }
.mside{ display:flex; flex-direction:column; gap:10px; width:280px; flex:none; }
.mside .sidebtn{ position:relative; text-align:left; font-size:17px; padding:14px 20px; letter-spacing:.07em;
  background:linear-gradient(90deg, rgba(53,224,255,.08), rgba(6,12,26,.62)); border-radius:10px;
  transition:transform .12s, box-shadow .12s, background .12s; }
.mside .sidebtn::before{ content:''; position:absolute; left:0; top:16%; bottom:16%; width:3px;
  border-radius:3px; background:#35e0ff; opacity:0; transition:opacity .12s; }
.mside .sidebtn:hover, .mside .sidebtn.focus, .mside .sidebtn.on{
  background:linear-gradient(90deg, rgba(53,224,255,.22), rgba(6,12,26,.72));
  box-shadow:0 0 18px -4px rgba(53,224,255,.7); transform:translateX(4px); }
.mside .sidebtn:hover::before, .mside .sidebtn.focus::before, .mside .sidebtn.on::before{ opacity:1; }
.mside .sidebtn.focus{ outline:2px solid #eaffff; outline-offset:2px; }
.mside .sidebtn.primary{ font-size:23px; padding:19px 20px; border-color:#35e0ff;
  box-shadow:0 0 26px -6px rgba(53,224,255,.75), 0 6px 18px rgba(0,0,0,.5); }
.mpanel{ flex:1; min-height:430px; }
.cs-name{ cursor:text; border-bottom:1px dashed rgba(140,180,220,.35); }
.cs-input{ background:rgba(8,14,28,.95); border:1px solid #35e0ff; border-radius:6px; color:#eaffff;
  font:600 14px Rajdhani, sans-serif; padding:2px 8px; width:110px; }
.mcard{ border:1px solid rgba(53,224,255,.22); border-radius:14px; background:rgba(6,12,26,.72);
  padding:16px 18px; box-shadow:0 8px 30px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.04); }
.mcard.center{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.mc-h{ font-family:'Orbitron',sans-serif; font-weight:700; font-size:11px; letter-spacing:.16em;
  color:#5f86a8; margin-bottom:8px; }
.mc-note{ font-size:13px; color:#8fb4d4; line-height:1.5; }
/* forsidens co-op-sæder: tomme = matte, claimede lyser i spillerens farve */
.coopslot{ display:flex; align-items:center; gap:8px; margin:0 0 7px; padding:7px 11px;
  border:1px solid rgba(140,180,220,.16); border-radius:9px; opacity:.5;
  font-size:14px; letter-spacing:.4px; color:#dff6ff; transition:opacity .2s, box-shadow .2s; }
.coopslot.on{ opacity:1; border-color:var(--pc);
  box-shadow:0 0 14px -5px var(--pc), inset 0 0 20px -13px var(--pc); }
.coopslot .cs-dot{ width:10px; height:10px; border-radius:50%; background:var(--pc);
  box-shadow:0 0 8px var(--pc); flex:none; }
.coopslot .cs-ship{ margin-left:auto; opacity:.78; font-size:12px; letter-spacing:.08em; }
.nbtn.mwide{ display:block; width:100%; margin:0 0 8px; text-align:center; }
.roadrow.left{ justify-content:flex-start; margin-top:4px; }
.nselect{ pointer-events:auto; font-family:'Rajdhani',sans-serif; font-weight:600; font-size:13px;
  color:#dff6ff; background:rgba(8,14,28,.95); border:1px solid #1e3a55; border-radius:7px;
  padding:5px 8px; max-width:210px; }
.nselect:focus{ outline:none; border-color:#35e0ff; }

/* ── Neon text & logo ─────────────────────── */
.logo{ font-family:'Orbitron',sans-serif; font-weight:900; font-size:clamp(48px,9vw,110px);
  letter-spacing:.1em; color:#eaffff; line-height:1;
  text-shadow:0 0 8px var(--cyan), 0 0 24px var(--cyan), 0 0 70px rgba(53,224,255,.8), 0 0 120px rgba(53,224,255,.4); }
.logo .pk{ color:#ffd7e9; text-shadow:0 0 8px var(--pink),0 0 24px var(--pink),0 0 70px rgba(255,46,126,.8); }
.logo .flick{ animation:flick 4.2s infinite; }
@keyframes flick{ 0%,86%,90%,94%,100%{opacity:1} 88%,92%{opacity:.25} }
.tagline{ font-family:'Orbitron',sans-serif; font-weight:600; letter-spacing:.55em; text-indent:.55em;
  font-size:clamp(10px,1.3vw,15px); color:#7fd6ee; margin:14px 0 4px; opacity:.9; }

.h1{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:clamp(22px,3vw,34px);
  letter-spacing:.18em; color:#eaffff; text-shadow:0 0 10px var(--cyan),0 0 34px rgba(53,224,255,.6); }

/* ── Buttons ──────────────────────────────── */
.nbtn{ pointer-events:auto; cursor:pointer; display:inline-block; text-align:center;
  font-family:'Orbitron',sans-serif; font-weight:800; letter-spacing:.14em;
  color:var(--cyan); background:rgba(10,26,44,.55); border:1.5px solid var(--cyan);
  border-radius:6px; padding:13px 34px; font-size:15px; text-transform:uppercase;
  box-shadow:0 0 12px rgba(53,224,255,.35), inset 0 0 14px rgba(53,224,255,.12);
  transition:all .12s ease; text-decoration:none; }
.nbtn:hover{ color:#031018; background:var(--cyan);
  box-shadow:0 0 24px rgba(53,224,255,.9), 0 0 60px rgba(53,224,255,.45); }
.nbtn.big{ font-size:20px; padding:17px 58px; }
.nbtn.pink{ color:var(--pink); border-color:var(--pink);
  box-shadow:0 0 12px rgba(255,46,126,.35), inset 0 0 14px rgba(255,46,126,.12); }
.nbtn.pink:hover{ background:var(--pink); color:#fff; box-shadow:0 0 24px rgba(255,46,126,.9); }
.nbtn.gold{ color:var(--gold); border-color:var(--gold);
  box-shadow:0 0 12px rgba(255,199,72,.35), inset 0 0 14px rgba(255,199,72,.12); }
.nbtn.gold:hover{ background:var(--gold); color:#221600; box-shadow:0 0 24px rgba(255,199,72,.9); }
.nbtn.ghostb{ opacity:.75; border-color:#4a6b8a; color:#9db8d0; box-shadow:none; }
.nbtn.ghostb:hover{ background:#22384f; color:#dff2ff; }
.nbtn:disabled, .nbtn.off{ opacity:.35; cursor:default; }
.btnrow{ display:flex; gap:18px; margin-top:26px; flex-wrap:wrap; justify-content:center; }

/* ── Menu extras ──────────────────────────── */
.menustats{ display:flex; flex-wrap:wrap; gap:20px 34px; margin-top:30px; }
.nbtn.mini{ white-space:nowrap; }
.menustats .ms{ text-align:center; }
.menustats .ms b{ display:block; font-family:'Orbitron',sans-serif; font-size:22px; color:#fff;
  text-shadow:0 0 10px var(--cyan); }
.menustats .ms span{ font-size:13px; letter-spacing:.2em; color:#6f95b5; text-transform:uppercase; }
.hint{ margin-top:28px; font-size:15px; letter-spacing:.12em; color:#7fa8c8; }
.hint b{ color:#dff6ff; }
.coffee{ position:absolute; right:22px; bottom:18px; font-size:14px; padding:9px 18px; }
.vertag{ position:absolute; left:22px; bottom:18px; color:#3d5a75; font-size:13px; letter-spacing:.15em; }

/* ── Panels / hangar ──────────────────────── */
.panel{ width:min(1240px,94%); max-height:92%; background:var(--panel); border:1px solid var(--line);
  border-radius:10px; box-shadow:0 0 40px rgba(53,224,255,.14), inset 0 0 60px rgba(53,224,255,.04);
  padding:22px 26px; display:flex; flex-direction:column; }
.phead{ display:flex; align-items:center; gap:22px; margin-bottom:16px; }
.phead .h1{ margin-right:auto; }
.cur{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:18px; color:var(--gold);
  text-shadow:0 0 10px rgba(255,199,72,.7); }
.cur.core{ color:var(--purple); text-shadow:0 0 10px rgba(192,123,255,.7); }
.tabs{ display:flex; gap:10px; margin-bottom:14px; }
.tab{ pointer-events:auto; cursor:pointer; font-family:'Orbitron',sans-serif; font-weight:700; font-size:13px;
  letter-spacing:.16em; padding:9px 22px; color:#7fa8c8; border:1px solid #29455f; border-radius:5px; background:transparent; }
.tab.on{ color:var(--cyan); border-color:var(--cyan); box-shadow:0 0 12px rgba(53,224,255,.35); }
.pbody{ overflow-y:auto; overflow-x:hidden; padding-right:6px; }
.pbody::-webkit-scrollbar{ width:9px; } .pbody::-webkit-scrollbar-thumb{ background:#1c344f; border-radius:5px; }

.upgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.up{ border:1px solid #1e3a55; border-radius:8px; padding:12px 14px; background:rgba(12,22,42,.6);
  transition:border-color .12s; position:relative; }
.up:hover{ border-color:var(--line); }
.up .nm{ font-family:'Orbitron',sans-serif; font-weight:700; font-size:14px; letter-spacing:.08em; color:#dff6ff; }
.up .ic{ margin-right:7px; }
.up .fx{ font-size:14px; color:#8fb4d4; margin:4px 0 8px; min-height:19px; }
.pips{ display:flex; gap:3px; margin-bottom:9px; flex-wrap:wrap; }
.pip{ width:14px; height:7px; border-radius:2px; background:#152a40; border:1px solid #24455f; }
.pip.on{ background:var(--cyan); border-color:var(--cyan); box-shadow:0 0 7px rgba(53,224,255,.8); }
.up .buy{ width:100%; padding:8px 0; font-size:13px; }
.up.maxed .nm{ color:var(--gold); }
.maxtag{ text-align:center; font-family:'Orbitron',sans-serif; color:var(--gold); font-size:13px; letter-spacing:.2em;
  padding:8px 0; text-shadow:0 0 8px rgba(255,199,72,.6); }
.up.locked{ opacity:.62; }
.locktag{ text-align:center; font-size:13.5px; color:#c07bff; padding:7px 0; letter-spacing:.05em; }

.shipgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ship{ border:1px solid #1e3a55; border-radius:8px; padding:14px; background:rgba(12,22,42,.6); text-align:center; position:relative; }
.ship canvas{ width:110px; height:110px; margin-bottom:4px; }
.ship .nm{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:17px; letter-spacing:.12em; color:#fff; }
.ship .ds{ font-size:14px; color:#8fb4d4; margin:3px 0; min-height:20px; }
.ship .st{ font-size:13.5px; color:#67e6a0; margin-bottom:3px; min-height:18px; }
.ship .ul{ font-size:13.5px; color:var(--purple); margin-bottom:10px; }
.ship .ul b{ letter-spacing:.08em; }
.ship.sel{ border-color:var(--cyan); box-shadow:0 0 22px rgba(53,224,255,.3), inset 0 0 30px rgba(53,224,255,.06); }
.ship.locked{ opacity:.6; }
.seltag{ font-family:'Orbitron',sans-serif; color:var(--cyan); font-size:13px; letter-spacing:.25em; padding:8px 0;
  text-shadow:0 0 10px rgba(53,224,255,.8); }

/* ── Settings ─────────────────────────────── */
.setrow{ display:flex; align-items:center; gap:16px; padding:10px 4px; border-bottom:1px solid rgba(30,58,85,.5); }
.setrow label.t{ flex:1; font-size:16.5px; font-weight:600; letter-spacing:.06em; color:#cfeaff; }
.setrow input[type=range]{ width:220px; accent-color:var(--cyan); pointer-events:auto; }
.setrow select{ background:#0c1a30; color:var(--cyan); border:1px solid var(--line); border-radius:4px;
  padding:6px 10px; font-family:'Rajdhani',sans-serif; font-size:15px; pointer-events:auto; }
.setrow input[type=checkbox]{ width:20px; height:20px; accent-color:var(--cyan); pointer-events:auto; }
.setrow .mini{ padding:7px 16px; font-size:12px; }
#ioArea{ width:100%; height:74px; background:#060d1a; color:#9fd8ee; border:1px solid #1e3a55; border-radius:6px;
  font-family:monospace; font-size:11px; padding:8px; margin-top:8px; pointer-events:auto; -webkit-user-select:text; user-select:text; }

/* ── Card choice ──────────────────────────── */
#cards .h1{ margin-bottom:8px; }
.cardsub{ color:#7fa8c8; letter-spacing:.2em; font-size:13px; text-transform:uppercase; margin-bottom:24px; }
.cardrow{ display:flex; gap:26px; }
.card{ pointer-events:auto; cursor:pointer; width:250px; min-height:290px; padding:22px 18px; text-align:center;
  background:linear-gradient(180deg, rgba(14,26,48,.96), rgba(7,12,26,.96));
  border:1.5px solid var(--cyan); border-radius:12px; transition:transform .12s ease, box-shadow .12s ease;
  box-shadow:0 0 18px rgba(53,224,255,.22); display:flex; flex-direction:column; align-items:center; }
.card:hover{ transform:translateY(-10px) scale(1.04); box-shadow:0 0 40px rgba(53,224,255,.55); }
.card .ric{ font-size:44px; margin:12px 0 14px; filter:drop-shadow(0 0 10px rgba(53,224,255,.8)); }
.card .rnm{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:16.5px; letter-spacing:.1em; color:#fff; }
.card .rds{ font-size:15.5px; color:#a9cbe4; margin-top:10px; line-height:1.45; }
.card .rar{ margin-top:auto; padding-top:14px; font-family:'Orbitron',sans-serif; font-size:11px; letter-spacing:.3em; color:#5f86a8; }
.card.r1{ border-color:var(--gold); box-shadow:0 0 18px rgba(255,199,72,.25); }
.card.r1:hover{ box-shadow:0 0 44px rgba(255,199,72,.6); }
.card.r1 .rar{ color:var(--gold); } .card.r1 .ric{ filter:drop-shadow(0 0 10px rgba(255,199,72,.9)); }
.card.r2{ border-color:var(--purple); box-shadow:0 0 22px rgba(192,123,255,.35); }
.card.r2:hover{ box-shadow:0 0 50px rgba(192,123,255,.7); }
.card.r2 .rar{ color:var(--purple); } .card.r2 .ric{ filter:drop-shadow(0 0 12px rgba(192,123,255,1)); }
.reroll{ margin-top:26px; font-size:13px; padding:9px 22px; }

/* ── Summary ──────────────────────────────── */
.sumgrid{ display:grid; grid-template-columns:auto auto; gap:9px 38px; margin:24px 0 6px; font-size:19px; }
.sumgrid .k{ color:#6f95b5; letter-spacing:.1em; text-transform:uppercase; font-size:14.5px; align-self:center; }
.sumgrid .v{ font-family:'Orbitron',sans-serif; font-weight:800; color:#fff; text-align:right;
  text-shadow:0 0 10px rgba(53,224,255,.6); }
.sumgrid .v.gold{ color:var(--gold); text-shadow:0 0 10px rgba(255,199,72,.6); }
.sumgrid .v.purple{ color:var(--purple); text-shadow:0 0 10px rgba(192,123,255,.6); }
.deadline{ font-family:'Orbitron',sans-serif; font-size:15px; letter-spacing:.3em; color:var(--pink);
  text-shadow:0 0 12px rgba(255,46,126,.7); margin-top:4px; }

/* ── Toasts ───────────────────────────────── */
#toasts{ position:absolute; left:50%; top:12%; transform:translateX(-50%); z-index:40; pointer-events:none;
  display:flex; flex-direction:column; align-items:center; gap:8px; }
.toast{ font-family:'Orbitron',sans-serif; font-weight:700; font-size:14px; letter-spacing:.14em;
  color:var(--cyan); background:rgba(6,12,26,.88); border:1px solid var(--line); border-radius:6px;
  padding:9px 20px; box-shadow:0 0 16px rgba(53,224,255,.3); animation:toastin .25s ease, toastout .4s ease 2.2s forwards; }
@keyframes toastin{ from{ opacity:0; transform:translateY(-12px);} }
@keyframes toastout{ to{ opacity:0; transform:translateY(-8px);} }

/* ── Loadout (body-panel + inventory) ─────── */
:root{ --r0:#b8c7d9; --r1:#5d8bff; --r2:#ffe34d; --r3:#ff8c2e; }
.lo{ display:flex; flex-direction:column; gap:12px; }
.lo-pilot{ display:flex; align-items:center; gap:14px; padding:10px 12px; border:1px solid #1e3a55; border-radius:8px;
  background:rgba(12,22,42,.6); flex-wrap:wrap; }
.lo-plvl{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:15px; color:#eaffff;
  text-shadow:0 0 8px rgba(53,224,255,.6); }
.lo-pbar{ flex:1; min-width:120px; height:9px; background:#0c1830; border:1px solid #24455f; border-radius:5px; overflow:hidden; }
.lo-pbar i{ display:block; height:100%; background:var(--cyan); box-shadow:0 0 8px rgba(53,224,255,.8); }
.lo-pxp{ font-size:13px; color:#8fb4d4; }
.lo-next{ font-size:13px; color:#c07bff; }
.lo-main{ display:grid; grid-template-columns:250px 1fr 240px; gap:12px; align-items:start; }
.lo-h{ font-family:'Orbitron',sans-serif; font-weight:700; font-size:13px; letter-spacing:.14em; color:#7fa8c8;
  margin-bottom:8px; display:flex; align-items:center; gap:10px; }
.lo-count{ color:#3d5a75; }
.lo-slots{ display:flex; flex-direction:column; gap:6px; }
.slotrow{ display:flex; gap:10px; align-items:center; padding:8px 10px; border:1px solid #1e3a55; border-radius:7px;
  background:rgba(12,22,42,.6); cursor:pointer; }
.slotrow.locked{ opacity:.55; cursor:default; }
.slotrow.sel{ border-color:var(--cyan); box-shadow:0 0 10px rgba(53,224,255,.3); }
.slotrow .sr-ic{ font-size:20px; }
.slotrow .sr-body{ display:flex; flex-direction:column; min-width:0; }
.slotrow b{ font-family:'Orbitron',sans-serif; font-size:11.5px; letter-spacing:.1em; color:#7fa8c8; }
.slotrow .sr-item{ font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.invgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.invit{ display:flex; flex-direction:column; gap:2px; padding:8px 10px; border:1.5px solid var(--r0); border-radius:7px;
  background:rgba(10,16,32,.75); cursor:pointer; transition:transform .08s; }
.invit:hover{ transform:translateY(-2px); }
.invit.sel{ box-shadow:0 0 12px rgba(255,255,255,.25); }
.invit.r1{ border-color:var(--r1); } .invit.r2{ border-color:var(--r2); } .invit.r3{ border-color:var(--r3);
  box-shadow:0 0 10px rgba(255,140,46,.35); }
.invit .ii-ic{ font-size:16px; }
.invit .ii-nm{ font-size:13.5px; font-weight:600; line-height:1.2; min-height:32px; }
.invit .ii-lv{ font-size:11.5px; color:#5f86a8; letter-spacing:.08em; }
.lo-detail{ border:1px solid #1e3a55; border-radius:8px; background:rgba(12,22,42,.7); padding:12px;
  position:sticky; top:0; }
.dt-name{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:15px; line-height:1.25; }
.dt-sub{ font-size:12px; color:#5f86a8; letter-spacing:.1em; margin:4px 0 10px; text-transform:uppercase; }
.dt-afx{ font-size:14px; color:#bfe0f5; padding:2px 0; }
.dt-afx.dim{ color:#5f86a8; font-size:13px; }
.dt-pow{ font-size:13.5px; color:var(--r3); margin-top:8px; line-height:1.35; }
.dt-cmp{ font-size:12px; color:#7fa8c8; margin-top:12px; padding-top:8px; border-top:1px solid #1e3a55; }
.dt-btns{ display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
.lo-empty{ font-size:14px; color:#5f86a8; line-height:1.5; padding:8px; }

/* ── Paperdoll (v2) ───────────────────────── */
:root{ --r4:#3ddc84; }
.lo2{ display:grid; grid-template-columns:430px 1fr; gap:14px; align-items:start; }
.lo2 > *{ min-width:0; }
.lo2-left{ display:flex; flex-direction:column; gap:12px; }

/* v4.8: GEAR/CHARMS = 3 faste kolonner (venstre · fliser · detalje) — intet scroller, intet blandes */
.lo3{ display:grid; grid-template-columns:360px minmax(0,1fr) 280px; gap:14px; align-items:start; }
.lo3 > *{ min-width:0; }
.invtools{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
.invtiles{ display:grid; grid-template-columns:repeat(auto-fill,minmax(50px,1fr)); gap:6px; }
.invt{ position:relative; aspect-ratio:1/1; border:2px solid currentColor; border-radius:9px;
  background:rgba(10,18,34,.88); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:transform .08s; overflow:hidden; }
.invt:hover{ transform:translateY(-2px); }
.invt.hi{ box-shadow:0 0 12px -2px currentColor; }
.invt.sel{ outline:2px solid #eaffff; outline-offset:1px; box-shadow:0 0 14px rgba(234,255,255,.4); }
.invt.eqd{ background:rgba(20,40,66,.95); }
.invt.lowreq{ opacity:.5; }
.invt-ic{ font-size:20px; line-height:1; }
.invt.unid .invt-ic{ color:var(--gold); font-family:'Orbitron',sans-serif; font-weight:800; font-size:19px; }
.invt-eq{ position:absolute; top:2px; right:4px; font-size:10px; color:var(--cyan); }
.invt-lk{ position:absolute; top:2px; left:4px; font-size:10px; }
.invt-sk{ position:absolute; bottom:1px; left:0; right:0; text-align:center; font-size:9px;
  letter-spacing:1px; color:#9fb6cf; pointer-events:none; }
.pd{ position:relative; height:368px; border:1px solid #1e3a55; border-radius:10px;
  background:radial-gradient(ellipse at 50% 45%, rgba(20,40,70,.5), rgba(8,14,28,.7));
  overflow:hidden; }
.pd-ship{ position:absolute; left:50%; top:50%; transform:translate(-50%,-56%); width:170px; height:170px;
  pointer-events:none; }
.pd-name{ position:absolute; left:50%; top:63%; transform:translateX(-50%);
  font-family:'Orbitron',sans-serif; font-weight:800; font-size:13px; letter-spacing:.3em; color:#7fd6ee;
  text-shadow:0 0 10px rgba(53,224,255,.5); pointer-events:none; }
.pd-slot{ position:absolute; width:150px; display:flex; gap:8px; align-items:center; padding:7px 9px;
  border:1.5px solid #24455f; border-radius:8px; background:rgba(8,14,28,.9); cursor:pointer;
  transition:box-shadow .1s, border-color .1s; z-index:2; }
.pd-slot:hover{ border-color:var(--cyan); }
.pd-slot.emp{ border-style:dashed; }
.pd-slot.lk{ opacity:.5; border-style:dashed; cursor:default; }
.pd-slot.sel{ box-shadow:0 0 16px rgba(255,255,255,.3); }
.pd-slot .ps-ic{ font-size:18px; }
.pd-slot .ps-tx{ display:flex; flex-direction:column; min-width:0; }
.pd-slot b{ font-family:'Orbitron',sans-serif; font-size:10px; letter-spacing:.12em; color:#7fa8c8; }
.pd-slot i{ font-style:normal; font-size:12.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pd-slot.rb0{ border-color:var(--r0); } .pd-slot.rb1{ border-color:var(--r1); box-shadow:0 0 10px rgba(93,139,255,.25); }
.pd-slot.rb2{ border-color:var(--r2); box-shadow:0 0 10px rgba(255,227,77,.3); }
.pd-slot.rb3{ border-color:var(--r3); box-shadow:0 0 12px rgba(255,140,46,.4); }
.pd-slot.rb4{ border-color:var(--r4); box-shadow:0 0 12px rgba(61,220,132,.4); }
.invit.r4{ border-color:var(--r4); box-shadow:0 0 10px rgba(61,220,132,.3); }
.invit.eqd{ background:rgba(16,30,52,.9); }
.setbox{ border:1px solid #1e3a55; border-radius:9px; padding:10px 12px; background:rgba(12,22,42,.6); }
.sb-row{ font-size:13.5px; color:#8fb4d4; margin-bottom:8px; }
.sb-row b{ color:var(--r4); font-family:'Orbitron',sans-serif; font-size:12px; letter-spacing:.08em; }
.dt-set{ margin-top:10px; padding-top:8px; border-top:1px solid #1e3a55; font-size:13px; color:#8fb4d4; }
.dt-set b{ color:var(--r4); font-family:'Orbitron',sans-serif; font-size:12px; letter-spacing:.06em; }
.dt-piece{ font-size:12.5px; color:#4a6b8a; padding:1px 0 0 6px; }
.dt-piece.on{ color:var(--r4); }
.dt-sb{ font-size:12.5px; color:#4a6b8a; padding-top:2px; }
.dt-sb.on{ color:#9fe8bd; }

/* ── Pause-lydpanel + admin ───────────────── */
.pausesnd{ width:min(460px,84%); margin-top:26px; background:rgba(8,14,28,.85); border:1px solid #1e3a55;
  border-radius:11px; padding:12px 18px 14px; }
.pausesnd .ps-h{ font-family:'Orbitron',sans-serif; font-size:11px; letter-spacing:.3em; color:#5f86a8;
  margin:2px 0 8px; padding-bottom:5px; border-bottom:1px solid rgba(30,58,85,.6); }
.pausesnd .ps-gap{ margin-top:16px; }
.pausesnd .setrow{ border-bottom:none; padding:5px 0; }
/* SOUND: stram to-kolonne-grid — labels og sliders flugter altid */
.psgrid{ display:grid; grid-template-columns:100px 1fr; gap:9px 14px; align-items:center; }
.psgrid label.t{ font-size:14.5px; font-weight:600; letter-spacing:.05em; color:#cfeaff; }
.psgrid input[type=range]{ width:100%; accent-color:var(--cyan); pointer-events:auto; }
.ps-track{ display:flex; gap:8px; align-items:center; min-width:0; }
.ps-track .nselect{ flex:1; max-width:none; min-width:0; }
/* pausens hovedknapper: ÉN søjle, ENS størrelse — resume beholder kun sin farve */
.pbtns{ display:flex; flex-direction:column; gap:10px; width:min(560px,88%); margin:4px auto 8px; }
.pbtns .nbtn{ width:100%; padding:13px 20px; font-size:15px; letter-spacing:.1em; }
.pbtns .nbtn.big{ font-size:15px; padding:13px 20px; }

/* VISUALS: ens toggle-knapper på række */
.ps-toggles{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.ps-toggles.four{ grid-template-columns:repeat(4,1fr); }
.ps-toggles.four .nbtn{ font-size:10px; padding:8px 2px; letter-spacing:.04em; }
.ps-lab{ white-space:normal; }
.ps-toggles .nbtn{ width:100%; padding:8px 4px; font-size:11.5px; white-space:nowrap; }
/* CONTROLLER: chips i grid i stedet for tekstvæg */
.ps-keys{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.ps-keys span{ font-size:11.5px; color:#8fb4d4; line-height:1.35; background:rgba(20,34,56,.55);
  border:1px solid rgba(30,58,85,.6); border-radius:7px; padding:5px 8px; }
.ps-keys b{ color:#dff6ff; }
.ps-lab{ width:100%; margin-top:10px; }
/* 🏆 grail: ufundne legendaries står dæmpet — jagten er synlig */
.cdx-unfound{ opacity:.5; }
/* ✎ skibs-navngivning + 📜 service record */
.nm-ed{ margin-left:8px; background:none; border:1px solid rgba(140,180,220,.3); border-radius:5px;
  color:#8fb4d4; font-size:11px; padding:1px 6px; cursor:pointer; pointer-events:auto; }
.nm-ed:hover{ border-color:var(--cyan); color:var(--cyan); }
.nm-sub{ color:#5f86a8; font-size:.75em; font-weight:600; }
.nm-inp{ width:100%; background:rgba(8,14,28,.95); border:1px solid var(--cyan); border-radius:7px;
  color:#eaffff; font-family:'Orbitron',sans-serif; font-size:15px; padding:5px 9px; pointer-events:auto; }
.shiprec{ font-size:11px; color:#8fb4d4; line-height:1.5; background:rgba(14,22,40,.55);
  border:1px solid rgba(30,58,85,.55); border-radius:7px; padding:5px 9px; margin:7px 0 2px; }
/* 🛩 skibs-aspekter i SHIPS-fanen */
.asph{ font-size:10.5px; color:#5f86a8; letter-spacing:.18em; margin-top:9px; }
.asprow{ display:flex; gap:6px; margin-top:5px; }
.asprow .aspbtn{ flex:1; font-size:10.5px; padding:6px 4px; white-space:nowrap; }
/* 🎚 SOUND LAB: højre-panel m. event-rækker — vælg, gem, test */
#sndlab{ position:absolute; right:10px; top:10px; bottom:10px; width:430px; z-index:60; display:none;
  overflow-y:auto; background:rgba(5,9,20,.97); border:1px solid var(--cyan); border-radius:11px;
  box-shadow:0 0 30px rgba(53,224,255,.3); padding:12px 14px; pointer-events:auto; }
#sndlab .sl-top{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
#sndlab .sl-top b{ font-family:'Orbitron',sans-serif; color:var(--cyan); letter-spacing:.1em; font-size:14px; }
#sndlab .sl-top span{ flex:1; font-size:10.5px; color:#5f86a8; line-height:1.3; }
#sndlab .sl-row{ display:grid; grid-template-columns:132px 1fr 34px; gap:7px; align-items:center;
  padding:5px 0; border-bottom:1px solid rgba(30,58,85,.45); }
#sndlab .sl-n{ font-size:12.5px; font-weight:600; color:#cfeaff; line-height:1.25; }
#sndlab .sl-sel{ max-width:none; width:100%; min-width:0; font-size:12px; padding:4px 6px; }
#sndlab .sl-play{ padding:5px 0; font-size:12px; width:34px; }
#cmdpanel{ position:absolute; left:8px; top:8px; bottom:8px; width:400px; z-index:45; display:none;
  overflow-y:auto; background:rgba(5,9,20,.97); border:1px solid #b36bff; border-radius:10px;
  box-shadow:0 0 30px rgba(179,107,255,.35); padding:10px 12px; pointer-events:auto; }
#cmdpanel .cmd-top{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
#cmdpanel .cmd-top b{ font-family:'Orbitron',sans-serif; color:#b36bff; letter-spacing:.1em; }
#cmdpanel .cmd-top span{ flex:1; font-size:11px; color:#5f86a8; }
.cmd-grp{ margin-bottom:10px; display:flex; flex-wrap:wrap; gap:5px; }
.cmd-h{ width:100%; font-family:'Orbitron',sans-serif; font-size:10.5px; letter-spacing:.2em; color:#7fa8c8;
  border-bottom:1px solid #1e3a55; padding-bottom:3px; margin-bottom:2px; }
.cmd-btn{ pointer-events:auto; cursor:pointer; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:12.5px;
  min-height:28px; padding:5px 10px; background:#101c30 !important; color:#bfe0f5 !important;
  border:1.5px solid #4a7ab0 !important; border-radius:5px; }
.cmd-btn:hover{ border-color:#b36bff; color:#fff; box-shadow:0 0 8px rgba(179,107,255,.4); }
.cmd-btn.wide{ width:100%; }
.cmd-btn.pinkish{ border-color:#ff5db1; color:#ff9dce; }
.cmd-btn.on{ border-color:#3ddc84; color:#7dff6a; box-shadow:0 0 8px rgba(61,220,132,.4); }
.cmd-btn.cmd-x{ width:26px; }

/* ── Mini music player ────────────────────── */
#mplayer{ position:absolute; right:0.8%; bottom:10px; z-index:30; display:flex; align-items:center; gap:8px;
  padding:7px 11px; background:rgba(6,10,22,.92); border:1px solid var(--line); border-radius:9px;
  box-shadow:0 0 16px rgba(53,224,255,.15); pointer-events:auto; }
#mplayer #mpEq{ width:72px; height:24px; }
#mplayer #mpName{ font-family:'Orbitron',sans-serif; font-weight:700; font-size:10.5px; letter-spacing:.06em;
  color:#7fd6ee; max-width:130px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mp-btn{ pointer-events:auto; cursor:pointer; background:transparent; border:1px solid #29455f; border-radius:5px;
  color:var(--cyan); font-size:13px; width:28px; height:26px; line-height:1; transition:all .1s; }
.mp-btn:hover{ border-color:var(--cyan); box-shadow:0 0 8px rgba(53,224,255,.4); }
#mplayer #mpVol{ width:64px; accent-color:var(--cyan); pointer-events:auto; }

/* ── Summary-score + item-tooltip ─────────── */
.sum-score{ display:flex; align-items:baseline; gap:12px; margin-top:10px; }
.sum-score span#sumScore{ font-family:'Orbitron',sans-serif; font-weight:900; font-size:clamp(34px,4.6vw,54px);
  color:#ffe34d; text-shadow:0 0 16px rgba(255,227,77,.8), 0 0 50px rgba(255,227,77,.35); }
.sum-score em{ font-style:normal; font-family:'Orbitron',sans-serif; font-size:13px; letter-spacing:.35em; color:#8a7a3a; }
.sum-best{ font-family:'Orbitron',sans-serif; font-size:13px; letter-spacing:.12em; color:#7dff6a;
  text-shadow:0 0 10px rgba(125,255,106,.7); }
.si-it.clickable{ cursor:pointer; transition:transform .08s, box-shadow .08s; }
.si-it.clickable:hover{ transform:translateY(-2px); box-shadow:0 0 14px rgba(255,255,255,.25); }
#itip{ position:absolute; z-index:60; display:none; width:250px; pointer-events:none;
  border:1px solid #1e3a55; border-radius:8px; background:rgba(8,14,28,.97); padding:12px;
  box-shadow:0 8px 30px rgba(0,0,0,.7), 0 0 20px rgba(53,224,255,.12); }

/* ── Leaderboard ──────────────────────────── */
.lbrow{ display:flex; align-items:center; gap:12px; padding:8px 10px; border-bottom:1px solid rgba(30,58,85,.4);
  font-size:15px; }
.lbrow.me{ background:rgba(53,224,255,.08); border-radius:6px; box-shadow:inset 0 0 12px rgba(53,224,255,.1); }
.lb-rank{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:13px; color:#5f86a8; width:44px; }
.lbrow:nth-child(1) .lb-rank{ color:#ffe34d; } .lbrow:nth-child(2) .lb-rank{ color:#b8c7d9; }
.lbrow:nth-child(3) .lb-rank{ color:#ff8c2e; }
.lb-flag{ font-size:17px; }
.lb-name{ flex:1; font-weight:700; color:#dff6ff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lb-sec{ font-size:12px; color:#7fa8c8; letter-spacing:.08em; }
.lb-score{ font-family:'Orbitron',sans-serif; font-weight:800; color:#35e0ff; text-shadow:0 0 8px rgba(53,224,255,.5); }

/* ── Stat sheet + level req + warp ────────── */
.statsheet{ display:flex; flex-wrap:wrap; gap:5px; align-items:center; padding:7px 12px;
  border:1px solid #1e3a55; border-radius:8px; background:rgba(12,22,42,.6); }
.ss-dps{ font-family:'Orbitron',sans-serif; font-weight:900; font-size:19px; color:#35e0ff;
  text-shadow:0 0 12px rgba(53,224,255,.7); margin-right:8px; }
.ss-chip{ font-size:12.5px; color:#a9cbe4; background:rgba(8,14,28,.85); border:1px solid #24455f;
  border-radius:5px; padding:4px 9px; }
.ss-chip b{ font-family:'Orbitron',sans-serif; font-size:9.5px; letter-spacing:.1em; color:#5f86a8; margin-right:5px; }
.invit.lowreq{ opacity:.65; }
.reqbad{ color:#ff5d7a; font-weight:700; }
.warprow{ display:flex; align-items:center; gap:12px; margin-top:14px; min-height:34px; }
.warplbl{ font-family:'Orbitron',sans-serif; font-weight:700; font-size:13px; letter-spacing:.14em; color:#7fd6ee; }
.warplbl b{ color:#fff; text-shadow:0 0 8px rgba(53,224,255,.7); }

/* ── Black Market ─────────────────────────── */
.shoprow{ display:flex; gap:10px; }
.shoprow.wrap{ flex-wrap:wrap; }
.shopit{ flex:1; min-width:200px; max-width:280px; border:1.5px solid #24455f; border-radius:9px;
  padding:11px 13px; background:rgba(8,14,28,.85); display:flex; flex-direction:column; gap:5px; }
.shopit .sh-nm{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:13.5px; }
.shopit .sh-own{ float:right; color:#8fb4d4; font-size:12px; }
.shopit .sh-sub{ font-size:11.5px; color:#5f86a8; letter-spacing:.08em; text-transform:uppercase; }
.shopit .sh-ds{ font-size:13px; color:#a9cbe4; line-height:1.35; flex:1; }
.shopit .nbtn{ margin-top:6px; }

/* ── Bullet-time inventory: blur bag popup'en, spillet kravler bagved ── */
#hangar.live{ background:rgba(3,6,14,.38); backdrop-filter:blur(8px) saturate(1.15); }
#hangar.live .panel{ box-shadow:0 0 60px rgba(53,224,255,.2), 0 20px 60px rgba(0,0,0,.6); }

/* ── Charm bay ────────────────────────────── */
.charmbay{ border:1px solid #1e3a55; border-radius:9px; padding:10px 12px; background:rgba(12,22,42,.6); }
.bayrow{ display:flex; flex-direction:column; gap:6px; }
.cslot{ padding:8px 10px; border:1.5px dashed #24455f; border-radius:7px; background:rgba(8,14,28,.85);
  font-size:13px; font-weight:600; color:#3d5a75; cursor:pointer; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; transition:box-shadow .1s; }
.cslot:hover{ box-shadow:0 0 10px rgba(53,224,255,.2); }
.cslot.fil{ border-style:solid; }
.cslot.lk{ opacity:.5; cursor:default; }
.cslot.sel{ box-shadow:0 0 14px rgba(255,255,255,.3); }

/* ── Sockets & runewords ──────────────────── */
.sockrow{ display:flex; gap:6px; margin:10px 0 6px; }
.sock{ width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  border:1.5px dashed #35506b; border-radius:7px; color:#35506b; font-size:15px;
  font-family:'Orbitron',sans-serif; font-weight:800; }
.sock.fil{ border-style:solid; background:rgba(8,14,28,.9); font-size:11px;
  box-shadow:0 0 8px rgba(255,255,255,.12); }
.invit.rw{ border-color:#9ff3ff; box-shadow:0 0 12px rgba(159,243,255,.4); }
.pd-slot.rbw{ border-color:#9ff3ff; box-shadow:0 0 14px rgba(159,243,255,.45); }
.ii-sk{ color:#7fd6ee; letter-spacing:1px; }
.runebox{ border:1px solid #1e3a55; border-radius:9px; padding:10px 12px; background:rgba(12,22,42,.6); }
.runerow{ display:flex; flex-wrap:wrap; gap:7px; }
.runechip{ pointer-events:auto; cursor:pointer; font-family:'Orbitron',sans-serif; font-weight:800; font-size:12px;
  letter-spacing:.08em; padding:7px 11px; border:1.5px solid; border-radius:7px; background:rgba(8,14,28,.9);
  transition:transform .08s, box-shadow .08s; }
.runechip:hover{ transform:translateY(-2px); box-shadow:0 0 12px rgba(255,255,255,.25); }
.runechip i{ font-style:normal; opacity:.75; font-size:11px; }
.cdx-row{ font-size:13px; color:#8fb4d4; padding:7px 0; border-bottom:1px solid rgba(30,58,85,.4); }
.cdx-row b{ font-family:'Orbitron',sans-serif; font-size:12px; letter-spacing:.08em; margin-right:6px; }
.cdx-rune{ display:inline-block; font-family:'Orbitron',sans-serif; font-weight:800; font-size:10px;
  border:1px solid; border-radius:4px; padding:1px 5px; margin:0 2px; }
.cdx-slots{ float:right; font-size:11px; color:#4a6b8a; letter-spacing:.08em; }

/* ── LOADOUT-underfaner + inventory-filtre + STATS-info ── */
.lo-subnav{ display:flex; gap:8px; margin:2px 0 0; }

/* ⚿ HUNT BOARD: jagt-kortene på menuen — hvad/hvorfor/hvordan på ét blik */
#gateRow{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; align-items:stretch; }
.huntcard{ border:1px solid #2a4562; border-radius:9px; padding:9px 14px; background:rgba(10,18,34,.72);
  display:flex; flex-direction:column; gap:3px; min-width:250px; max-width:330px; text-align:left; }
.huntcard.armed{ border-color:#ffd75e; box-shadow:0 0 14px rgba(255,215,94,.25); }
.hc-t{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:12px; letter-spacing:.16em; }
.hc-p{ font-size:13px; color:#dff6ff; letter-spacing:.1em; }
.hc-p .hc-k{ color:#8fb4d4; letter-spacing:0; }
.hc-d{ font-size:12px; color:#8fb4d4; line-height:1.35; }
.huntcard .nbtn{ margin-top:6px; align-self:flex-start; font-size:11px; padding:6px 14px; }
.lo-subnav .nbtn{ flex:0 0 auto; }
.invfilters{ display:flex; flex-wrap:wrap; gap:5px; margin:8px 0; }
.invfbtn{ pointer-events:auto; cursor:pointer; font-family:'Orbitron',sans-serif; font-weight:700; font-size:10px;
  letter-spacing:.06em; padding:4px 9px; border:1px solid #1e3a55; border-radius:6px;
  background:rgba(10,18,34,.85); color:#6f96b8; transition:all .1s; }
.invfbtn:hover{ border-color:#35e0ff; color:#bfe8ff; }
.invfbtn.on{ border-color:#35e0ff; color:#0a1220; background:#35e0ff; box-shadow:0 0 10px rgba(53,224,255,.5); }
/* sværhedsgrads-chip: navnet + de FAKTISKE tal på selve knappen (ingen hover-tooltip) */
.mdbtn{ display:flex; flex-direction:column; align-items:center; gap:1px; padding:6px 13px; line-height:1.25; }
.mdbtn b{ font-size:11px; letter-spacing:.1em; }
.mdbtn i{ font-family:'Rajdhani',sans-serif; font-style:normal; font-weight:600; font-size:10.5px;
  letter-spacing:.02em; opacity:.85; white-space:nowrap; }
.mdbtn .mdb-good{ color:#7dff6a; }
.mdbtn.on i{ opacity:.95; }
.mdbtn.on .mdb-good{ color:#0a2e12; }
.statinfo{ margin-top:4px; display:grid; grid-template-columns:1fr 1fr; gap:2px 22px; align-items:start; }
.si-row{ display:grid; grid-template-columns:88px 110px 1fr; gap:9px; align-items:baseline;
  padding:5px 11px; border:1px solid rgba(30,58,85,.5); border-radius:8px; background:rgba(12,22,42,.5); }
.si-row b{ font-family:'Orbitron',sans-serif; font-size:11px; letter-spacing:.08em; color:#35e0ff; }
.si-v{ font-family:'Orbitron',sans-serif; font-weight:800; font-size:12.5px; color:#eaf6ff; }
.si-d{ font-size:12.5px; color:#8fb4d4; line-height:1.4; }
.craftrow{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin:10px 0; }

/* ── Sector map (menu-roadmap) ── */
.roadrow{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; justify-content:center; margin-top:12px; }
.road-h{ font-family:'Orbitron',sans-serif; font-weight:700; font-size:10px; letter-spacing:.14em; color:#5f86a8; margin-right:4px; }
.road-chip{ font-family:'Orbitron',sans-serif; font-weight:700; font-size:10px; letter-spacing:.05em;
  color:#8fb4d4; border:1px solid #1e3a55; border-radius:6px; padding:4px 8px; background:rgba(10,18,34,.7); }
.road-chip.skull{ border-color:#ff5d7a88; color:#ffb3c2; }
.road-chip.more{ color:#4a6b8a; border-style:dashed; }
.road-chip.unlocked{ pointer-events:auto; cursor:pointer; }
.road-chip.unlocked:hover{ box-shadow:0 0 10px rgba(53,224,255,.4); transform:translateY(-1px); }
.road-chip.on{ background:rgba(53,224,255,.14); box-shadow:0 0 12px rgba(53,224,255,.35) inset; }
/* hold-to-identify: progress-bar i bunden af item-kortet */
.invit{ position:relative; overflow:hidden; }
.idbar{ position:absolute; left:0; bottom:0; height:4px; width:0%; background:#ffe34d;
  box-shadow:0 0 10px rgba(255,227,77,.8); pointer-events:none; }

/* ── Update-toast: ny build deployet ── */
.updtoast{ position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:9999;
  font-family:'Rajdhani',sans-serif; font-weight:600; font-size:14px; color:#dff6ff;
  background:rgba(8,16,32,.96); border:1px solid #35e0ff; border-radius:10px; padding:10px 16px;
  box-shadow:0 0 24px rgba(53,224,255,.35); display:flex; gap:12px; align-items:center;
  animation:updIn .4s ease-out; pointer-events:auto; }
@keyframes updIn{ from{ transform:translate(-50%, 60px); opacity:0; } to{ transform:translate(-50%,0); opacity:1; } }
.upd-x{ pointer-events:auto; cursor:pointer; background:none; border:none; color:#5f86a8; font-size:14px; }
.upd-x:hover{ color:#fff; }
.cdx-desc{ font-size:12px; color:#5f86a8; margin-top:2px; }
.cdx-note{ font-size:11.5px; color:#4a6b8a; margin-top:8px; font-style:italic; }
.rw-ready{ font-family:'Orbitron',sans-serif; font-size:10px; letter-spacing:.2em; color:#7dff6a;
  text-shadow:0 0 8px rgba(125,255,106,.7); margin-left:8px; animation:flick 2s infinite; }

/* ── Cloud save ───────────────────────────── */
.cl-hint{ display:block; font-size:12px; font-weight:500; color:#5f86a8; letter-spacing:.02em; }
.codein{ width:190px; background:#0c1a30; color:var(--cyan); border:1px solid var(--line); border-radius:5px;
  padding:8px 10px; font-family:'Orbitron',sans-serif; font-size:14px; letter-spacing:.12em; text-transform:uppercase;
  pointer-events:auto; -webkit-user-select:text; user-select:text; }
.codein::placeholder{ color:#2c4a66; }
.cloudcode{ margin:10px 0; padding:16px; text-align:center; border:1px solid var(--gold); border-radius:9px;
  background:rgba(24,18,6,.5); box-shadow:0 0 18px rgba(255,199,72,.15), inset 0 0 30px rgba(255,199,72,.05); }
.cloudcode.fresh{ animation:ccpulse 1.2s ease 2; }
@keyframes ccpulse{ 0%,100%{ box-shadow:0 0 18px rgba(255,199,72,.15);} 50%{ box-shadow:0 0 40px rgba(255,199,72,.6);} }
.cc-label{ font-family:'Orbitron',sans-serif; font-size:11px; letter-spacing:.22em; color:#c9a15a; margin-bottom:8px; }
.cc-code{ font-family:'Orbitron',sans-serif; font-weight:900; font-size:clamp(22px,3vw,34px); letter-spacing:.14em;
  color:#ffe9b0; text-shadow:0 0 12px rgba(255,199,72,.9), 0 0 40px rgba(255,199,72,.4);
  -webkit-user-select:text; user-select:text; margin-bottom:8px; }
.cc-sub{ font-size:13px; color:#8fb4d4; margin-bottom:12px; }

/* ── Summary: pilot + loot ────────────────── */
.sum-pilot{ display:flex; align-items:center; gap:14px; width:min(560px,80%); margin-top:14px; }
.sum-items{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; max-width:760px; margin-top:14px; }
.sum-items .si-h{ width:100%; text-align:center; font-family:'Orbitron',sans-serif; font-size:12px;
  letter-spacing:.25em; color:#5f86a8; }
.si-it{ font-size:13.5px; font-weight:600; padding:5px 12px; border:1px solid; border-radius:6px;
  background:rgba(10,16,32,.8); }

body.playing, body.playing #game{ cursor:none; }
