/* Super Star Trek — Grand Scale Edition | LCARS UI
   Tronsoft Games v1.0.1 | css/game.css
*/


/* ═══════════════════════════════════════════════════════
   LCARS — Library Computer Access and Retrieval System
   USS Enterprise NCC-1701 / Starfleet Interface v1.0
═══════════════════════════════════════════════════════ */
*{box-sizing:border-box;margin:0;padding:0}

:root{
  /* LCARS color palette */
  --lcars-orange:#FF9900;
  --lcars-peach:#FFCC99;
  --lcars-gold:#FFCC00;
  --lcars-red:#CC6666;
  --lcars-pink:#CC99CC;
  --lcars-lilac:#9999CC;
  --lcars-blue:#6699CC;
  --lcars-skyblue:#99CCFF;
  --lcars-cyan:#99CCCC;
  --lcars-green:#66CC66;
  --lcars-alert:#FF5555;
  --lcars-black:#000;
  --lcars-bg:#000011;
  --lcars-panel:#000022;
  --lcars-text:#FFCC99;
  --lcars-dim:#663300;
  /* Race colors mapped to LCARS */
  --klingon:#CC6666;
  --romulan:#CC99CC;
  --borg:#66CC66;
  --ferengi:#FFCC00;
  --dominion:#FF9966;
  --starbase:#99CCFF;
  --star:#CCCCFF;
  --sq-sec:42px;
}

html,body{height:100%;overflow:hidden;background:var(--lcars-black)}
body{font-family:'Antonio',sans-serif;color:var(--lcars-peach);display:flex;flex-direction:column;height:100vh}

/* ── LCARS HEADER BAR ── */
#lcars-header{
  display:flex;align-items:stretch;height:60px;flex-shrink:0;background:var(--lcars-black);
}
.lcars-hdr-left{
  display:flex;align-items:center;gap:0;flex-shrink:0;
}
.lcars-hdr-bump{
  width:60px;height:60px;background:var(--lcars-orange);
  border-radius:30px 0 0 0;flex-shrink:0;
}
.lcars-hdr-bar{
  height:60px;background:var(--lcars-orange);
  display:flex;align-items:flex-end;padding:0 16px 8px;flex-shrink:0;min-width:120px;
}
.lcars-title{
  font-family:'Antonio',sans-serif;font-size:13px;font-weight:700;
  color:var(--lcars-black);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;
}
.lcars-subtitle{
  font-size:9px;color:rgba(0,0,0,.6);letter-spacing:.12em;margin-left:8px;
}
.lcars-hdr-break{width:8px;background:var(--lcars-black)}
.lcars-hdr-stats{
  flex:1;height:60px;background:var(--lcars-peach);
  display:flex;align-items:flex-end;padding:0 10px 7px;gap:14px;overflow:hidden;
}
.hdr-stat{font-size:9px;color:rgba(0,0,0,.55);letter-spacing:.06em;white-space:nowrap}
.hdr-stat span{color:rgba(0,0,0,.85);font-weight:700;font-size:11px}
.lcars-hdr-break2{width:8px;background:var(--lcars-black)}
.lcars-hdr-btns{
  display:flex;align-items:flex-end;padding:0 0 7px;gap:4px;flex-shrink:0;
  background:var(--lcars-peach);padding-right:8px;
}
.lcars-hdr-end{
  width:60px;height:60px;background:var(--lcars-peach);
  border-radius:0 0 0 30px;flex-shrink:0;
}
/* LCARS buttons in header */
.hbtn{
  font-family:'Antonio',sans-serif;font-size:9px;font-weight:700;letter-spacing:.08em;
  padding:4px 10px;border:none;border-radius:10px;cursor:pointer;
  background:var(--lcars-lilac);color:var(--lcars-black);transition:background .1s;white-space:nowrap;
}
.hbtn:hover{background:var(--lcars-pink);color:var(--lcars-black)}
.hbtn.galaxy-btn{background:var(--lcars-gold);color:var(--lcars-black)}
.hbtn.galaxy-btn:hover{background:#ffe033}
.hbtn.danger{background:var(--lcars-red);color:#fff}
.hbtn.danger:hover{background:var(--lcars-alert)}
.hdr-score{
  font-family:'Antonio',sans-serif;font-size:12px;font-weight:700;
  color:var(--lcars-black);background:var(--lcars-gold);
  padding:3px 8px;border-radius:10px;white-space:nowrap;
}

/* ── MAIN LCARS FRAME ── */
#lcars-main{display:flex;flex:1;overflow:hidden;background:var(--lcars-black);gap:0}

/* ── LEFT SIDEBAR ── */
#lcars-left-rail{
  display:flex;flex-direction:column;width:140px;flex-shrink:0;
  background:var(--lcars-black);
}
.lcars-rail-top{
  height:80px;background:var(--lcars-orange);
  border-radius:0 0 0 40px;flex-shrink:0;
}
.lcars-rail-mid{
  flex:1;display:flex;flex-direction:column;gap:4px;padding:4px 0;
  overflow:hidden;
}
.lcars-pill{
  background:var(--lcars-orange);height:28px;border-radius:0 14px 14px 0;
  display:flex;align-items:center;padding:0 12px 0 8px;
  font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--lcars-black);
  cursor:pointer;transition:background .1s;text-transform:uppercase;white-space:nowrap;
  width:135px;
}
.lcars-pill:hover{background:var(--lcars-peach)}
.lcars-pill.blue{background:var(--lcars-blue)}
.lcars-pill.blue:hover{background:var(--lcars-skyblue)}
.lcars-pill.lilac{background:var(--lcars-lilac)}
.lcars-pill.lilac:hover{background:var(--lcars-pink)}
.lcars-pill.green{background:var(--lcars-green)}
.lcars-pill.green:hover{background:#88ee88}
.lcars-pill.red{background:var(--lcars-red)}
.lcars-pill.red:hover{background:var(--lcars-alert)}
.lcars-pill.gold{background:var(--lcars-gold)}
.lcars-pill.gold:hover{background:#ffe033}
.lcars-pill.cyan{background:var(--lcars-cyan)}
.lcars-pill.cyan:hover{background:#bbeeee}
.lcars-pill.inactive{opacity:.4;cursor:default}
.lcars-pill.inactive:hover{background:var(--lcars-orange)}
.lcars-pill.torp-active{background:var(--lcars-alert);animation:lcarsAlert .8s infinite alternate}
@keyframes lcarsAlert{from{background:var(--lcars-alert)}to{background:var(--lcars-red)}}
.lcars-pill.probe-active{background:var(--lcars-cyan);animation:lcarsAlert .8s infinite alternate}
.lcars-rail-bottom{
  height:60px;background:var(--lcars-orange);
  border-radius:0 40px 0 0;flex-shrink:0;
}

/* ── CONTENT AREA ── */
#lcars-content{
  flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;
  padding:0 0 0 6px;
}

/* Horizontal divider bars */
.lcars-hbar{
  height:14px;background:var(--lcars-peach);border-radius:7px;
  margin:3px 0;flex-shrink:0;display:flex;align-items:center;padding:0 10px;
  font-size:8px;font-weight:700;letter-spacing:.15em;color:var(--lcars-black);
  text-transform:uppercase;
}
.lcars-hbar.orange{background:var(--lcars-orange)}
.lcars-hbar.blue{background:var(--lcars-blue)}
.lcars-hbar.lilac{background:var(--lcars-lilac)}
.lcars-hbar.gold{background:var(--lcars-gold)}
.lcars-hbar.red{background:var(--lcars-red)}
.lcars-hbar.cyan{background:var(--lcars-cyan)}

/* ── TOP CONTENT ROW (LRS + Sector + Status) ── */
#top-row{display:flex;gap:6px;flex-shrink:0;padding:2px 6px 2px 0}

/* LRS panel */
#lrs-panel{flex-shrink:0}
.lcars-panel-label{
  font-size:9px;font-weight:700;letter-spacing:.15em;color:var(--lcars-orange);
  text-transform:uppercase;margin-bottom:4px;
}
#lrs-grid{display:grid;grid-template-columns:repeat(10,30px);grid-template-rows:repeat(10,20px);gap:1px}
.lq{
  display:flex;align-items:center;justify-content:center;font-size:7px;
  background:rgba(0,20,40,.8);border:1px solid rgba(255,153,0,.2);
  cursor:pointer;color:rgba(255,153,0,.5);transition:all .1s;user-select:none;
}
.lq:hover{background:rgba(255,153,0,.15);border-color:var(--lcars-orange)}
.lq.current{border-color:var(--lcars-green)!important;background:rgba(102,204,102,.12)!important;color:var(--lcars-green)!important}
.lq.scanned{background:rgba(0,10,30,.9);border-color:rgba(255,153,0,.3)}
.lq.unscanned{opacity:.25}
.lrs-label{font-size:7px;color:rgba(255,153,0,.5);margin-top:3px;text-align:center;letter-spacing:.04em}

/* Sector panel */
#sector-panel{flex-shrink:0}
#sector-grid{
  display:grid;grid-template-columns:repeat(10,var(--sq-sec));
  grid-template-rows:repeat(10,var(--sq-sec));gap:1px;user-select:none;
  border:2px solid var(--lcars-orange);border-radius:2px;
}
.sq{
  width:var(--sq-sec);height:var(--sq-sec);display:flex;align-items:center;
  justify-content:center;font-size:16px;background:#000;
  border:1px solid rgba(255,153,0,.12);cursor:pointer;position:relative;transition:background .1s;
}
.sq:hover{background:rgba(255,153,0,.08);border-color:rgba(255,153,0,.4)}
.sq[data-t="E"]{background:rgba(0,80,0,.4)!important;border-color:rgba(102,204,102,.5)!important}
.sq[data-t="K"]{background:rgba(80,10,10,.3)!important;border-color:rgba(204,102,102,.4)!important;cursor:crosshair}
.sq[data-t="R"]{background:rgba(40,10,60,.3)!important;border-color:rgba(204,153,204,.4)!important;cursor:crosshair}
.sq[data-t="G"]{background:rgba(0,50,20,.3)!important;border-color:rgba(102,204,102,.4)!important;cursor:crosshair}
.sq[data-t="F"]{background:rgba(60,40,0,.3)!important;border-color:rgba(255,204,0,.4)!important;cursor:crosshair}
.sq[data-t="D"]{background:rgba(60,10,0,.3)!important;border-color:rgba(255,153,102,.4)!important;cursor:crosshair}
.sq[data-t="B"]{background:rgba(10,30,60,.3)!important;border-color:rgba(153,204,255,.4)!important}
.sq[data-t="*"]{cursor:default}
.sq[data-t="H"]{background:rgba(30,0,50,.5)!important;border-color:rgba(153,102,204,.5)!important;animation:blackhole .6s infinite alternate;cursor:default}
@keyframes blackhole{from{background:rgba(30,0,50,.5)}to{background:rgba(60,0,80,.8)}}
.sq[data-t="Q"]{background:rgba(0,40,0,.3)!important;border-color:rgba(102,204,102,.4)!important;cursor:pointer}
.sq[data-t="T"]{background:rgba(0,40,30,.3)!important;border-color:rgba(102,204,204,.4)!important;cursor:pointer}
.sq.torp-target{box-shadow:inset 0 0 0 2px var(--lcars-alert)!important;cursor:crosshair!important}
.sq.flash{animation:sqflash .35s}
@keyframes sqflash{0%{background:rgba(255,204,0,.7)}100%{background:transparent}}
.sq.boom{animation:boom .5s}
@keyframes boom{0%{background:rgba(255,80,0,.9)}50%{background:rgba(255,153,0,.4)}100%{background:transparent}}
.sq.torp-path{background:rgba(255,153,0,.25)!important;border-color:rgba(255,153,0,.6)!important}
.sec-col-labels{display:grid;grid-template-columns:repeat(10,var(--sq-sec));gap:1px;
  margin-bottom:2px;text-align:center;font-size:7px;color:rgba(255,153,0,.4)}
.sec-row-labels{position:absolute;left:-18px;top:0;display:grid;
  grid-template-rows:repeat(10,var(--sq-sec));gap:1px;font-size:7px;color:rgba(255,153,0,.4)}
.sec-row-labels span{display:flex;align-items:center;justify-content:center;height:var(--sq-sec)}

/* Status panel */
#status-panel{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
#status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
.stat-box{
  background:rgba(0,0,20,.8);border-left:4px solid var(--lcars-orange);
  padding:5px 8px;border-radius:0 4px 4px 0;
}
.stat-label{font-size:8px;color:rgba(255,153,0,.6);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1px}
.stat-value{font-size:18px;font-weight:700;color:var(--lcars-peach);font-family:'Antonio',sans-serif;line-height:1}
.stat-value.warn{color:var(--lcars-gold)}
.stat-value.crit{color:var(--lcars-alert);animation:blink .7s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.stat-bar{height:3px;background:rgba(255,153,0,.15);margin-top:3px;overflow:hidden}
.stat-bar-fill{height:100%;transition:width .4s,background .4s}

/* Damage indicators */
#damage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.dmg-item{
  background:rgba(0,0,20,.8);border-top:3px solid var(--lcars-lilac);
  padding:3px 4px;text-align:center;
}
.dmg-name{font-size:7px;color:rgba(204,153,204,.6);letter-spacing:.04em;text-transform:uppercase;margin-bottom:1px}
.dmg-val{font-size:9px;font-weight:700}
.dmg-ok{color:var(--lcars-green)} .dmg-dmg{color:var(--lcars-alert)}

/* ── LOG SECTION ── */
#log-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0 6px 0 0}
#log{
  flex:1;overflow-y:auto;background:#000;border:1px solid rgba(255,153,0,.2);
  border-radius:0;padding:6px 8px;font-size:10px;line-height:1.6;font-family:'Share Tech Mono',monospace;
  scrollbar-width:thin;scrollbar-color:rgba(255,153,0,.3) transparent;
  min-height:0;
}
.ll{margin-bottom:0}
.ll.spock{color:var(--lcars-skyblue)}
.ll.scotty{color:var(--lcars-gold)}
.ll.uhura{color:var(--lcars-pink)}
.ll.sulu{color:var(--lcars-cyan)}
.ll.chekov{color:#88ddff}
.ll.system{color:rgba(255,204,153,.35)}
.ll.warn{color:var(--lcars-gold)}
.ll.error{color:var(--lcars-alert)}
.ll.success{color:var(--lcars-green)}
.ll.combat{color:var(--lcars-red)}
.ll.ferengi{color:var(--lcars-gold)}

/* ── MISSION BANNER ── */
#mission-banner{
  display:none;background:#000;border-left:4px solid var(--lcars-blue);
  padding:5px 10px;flex-shrink:0;margin-bottom:3px;
}
#mission-banner.show{display:block}
.mission-title{font-size:9px;font-weight:700;color:var(--lcars-blue);letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px}
.mission-obj{color:rgba(153,204,255,.7);font-size:9px;font-family:'Share Tech Mono',monospace}
.mission-progress{margin-top:4px;height:3px;background:rgba(102,153,204,.2);overflow:hidden}
.mission-progress-fill{height:100%;background:var(--lcars-blue);transition:width .4s}

/* ── PARAM PANEL ── */
#param-panel{
  display:none;background:#000;border:1px solid var(--lcars-orange);
  padding:7px 10px;flex-shrink:0;margin-top:3px;
}
#param-label{font-size:10px;color:var(--lcars-orange);margin-bottom:6px;letter-spacing:.06em;font-weight:700;text-transform:uppercase}
.param-row{display:flex;gap:7px;align-items:center}
#param-input{flex:1;accent-color:var(--lcars-orange)}
#param-val{font-size:14px;color:var(--lcars-peach);min-width:52px;text-align:right;font-weight:700;font-family:'Antonio',sans-serif}
.pbtn{
  font-family:'Antonio',sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;
  padding:5px 14px;border:none;border-radius:12px;cursor:pointer;text-transform:uppercase;
  background:var(--lcars-orange);color:var(--lcars-black);transition:background .1s;
}
.pbtn:hover{background:var(--lcars-peach)}
.pbtn.cancel{background:var(--lcars-red);color:#fff}
.pbtn.cancel:hover{background:var(--lcars-alert)}

/* ── TORPEDO MENU ── */
#torp-menu{
  display:none;background:#000;border:1px solid var(--lcars-red);
  padding:7px 10px;flex-shrink:0;margin-top:3px;
}
#torp-menu-info{font-size:8px;color:rgba(204,102,102,.6);margin-top:5px;font-family:'Share Tech Mono',monospace;letter-spacing:.04em}

/* ── WARP NAV ROW ── */
.warp-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:3px 0}
.warp-row label{font-size:9px;color:rgba(255,153,0,.6);letter-spacing:.06em;text-transform:uppercase}
#warp-slider{accent-color:var(--lcars-orange);width:80px}
#warp-val{font-size:13px;color:var(--lcars-peach);min-width:16px;font-weight:700;font-family:'Antonio',sans-serif}
.qcmd{
  font-family:'Antonio',sans-serif;font-size:9px;font-weight:700;letter-spacing:.06em;
  padding:4px 10px;border:none;border-radius:10px;text-transform:uppercase;
  background:var(--lcars-lilac);color:var(--lcars-black);cursor:pointer;transition:background .1s;
}
.qcmd:hover{background:var(--lcars-pink)}

/* ── CMD INPUT ── */
#cmd-area{display:flex;gap:5px;align-items:center;margin-top:3px;flex-shrink:0}
#cmd-input{
  flex:1;background:#000;border:1px solid rgba(255,153,0,.3);
  padding:4px 8px;color:var(--lcars-orange);font-family:'Share Tech Mono',monospace;font-size:10px;outline:none;
}
#cmd-input:focus{border-color:var(--lcars-orange)}
#cmd-input::placeholder{color:rgba(255,153,0,.25);font-size:9px}

/* ── SCORE & HEADER MISC ── */
.hdr-stat span.crit{color:var(--lcars-alert);animation:blink .7s infinite}

/* ── ERP OVERLAY ── */
#erp-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:160;align-items:center;justify-content:center}
#erp-box{
  background:#000;border:3px solid var(--lcars-orange);
  padding:20px 24px;max-width:460px;width:90%;
}
#erp-box>div:first-child{font-family:'Antonio',sans-serif;font-size:16px;font-weight:700;color:var(--lcars-orange);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}

/* ── MISSION SELECT ── */
#mission-overlay.show{display:flex!important}
.mcard{border:2px solid rgba(255,153,0,.3);border-left:6px solid var(--lcars-orange);padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:all .15s;background:#000}
.mcard:hover{border-color:var(--lcars-orange);background:rgba(255,153,0,.05)}
.mcard-hdr{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5px}
.mcard-name{font-family:'Antonio',sans-serif;font-size:13px;font-weight:700;color:var(--lcars-orange);letter-spacing:.08em;text-transform:uppercase}
.mcard-diff{font-size:9px;padding:2px 8px;border-radius:10px;font-weight:700;letter-spacing:.06em;font-family:'Antonio',sans-serif;text-transform:uppercase}
.diff-1{background:var(--lcars-green);color:#000}
.diff-2{background:var(--lcars-gold);color:#000}
.diff-3{background:var(--lcars-orange);color:#000}
.diff-4{background:var(--lcars-alert);color:#fff}
.mcard-desc{font-size:10px;color:rgba(255,204,153,.6);line-height:1.65;font-family:'Share Tech Mono',monospace}
.mcard-rewards{font-size:9px;color:rgba(255,153,0,.4);margin-top:5px;letter-spacing:.04em;text-transform:uppercase}

/* ── OVERLAYS ── */
#modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:200;align-items:center;justify-content:center}
#modal.show{display:flex}
#modal-box{
  background:#000;border:3px solid var(--lcars-orange);
  padding:0;max-width:580px;width:90%;max-height:80vh;overflow-y:auto;
}
.modal-lcars-top{height:40px;background:var(--lcars-orange);display:flex;align-items:center;padding:0 16px}
#modal-title{font-family:'Antonio',sans-serif;font-size:16px;font-weight:700;color:#000;letter-spacing:.12em;text-transform:uppercase}
#modal-body{padding:16px;font-size:12px;line-height:1.75;color:rgba(255,204,153,.7);font-family:'Share Tech Mono',monospace}
#modal-body h3{font-family:'Antonio',sans-serif;font-size:11px;color:var(--lcars-orange);letter-spacing:.1em;margin:12px 0 4px;text-transform:uppercase}
#modal-body p{margin-bottom:7px}
#modal-body table{width:100%;border-collapse:collapse;margin-bottom:7px;font-size:10px}
#modal-body td{padding:3px 7px;border-bottom:1px solid rgba(255,153,0,.2)}
#modal-body td:first-child{color:var(--lcars-orange);font-weight:700;width:140px}
#modal-close{
  display:block;margin:12px 16px 16px;font-family:'Antonio',sans-serif;font-size:11px;font-weight:700;
  padding:7px 18px;border:none;border-radius:12px;letter-spacing:.08em;text-transform:uppercase;
  background:var(--lcars-orange);color:#000;cursor:pointer;transition:background .1s;
}
#modal-close:hover{background:var(--lcars-peach)}

/* Help */
#help-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:150;align-items:center;justify-content:center;padding:16px}
#help-overlay.show{display:flex}
#help-box{background:#000;border:3px solid var(--lcars-blue);width:100%;max-width:680px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
#help-hdr{padding:0;background:var(--lcars-blue);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 14px}
#help-hdr-title{font-family:'Antonio',sans-serif;font-size:14px;font-weight:700;color:#000;letter-spacing:.12em;text-transform:uppercase}
#help-tabs{display:flex;background:#000;border-bottom:2px solid var(--lcars-blue);flex-shrink:0}
.htab{font-family:'Antonio',sans-serif;font-size:10px;font-weight:700;padding:7px 14px;background:transparent;border:none;border-bottom:3px solid transparent;color:rgba(153,204,255,.5);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:color .15s}
.htab:hover{color:var(--lcars-skyblue)}
.htab.active{color:var(--lcars-blue);border-bottom-color:var(--lcars-blue)}
#help-body{overflow-y:auto;padding:14px 16px;flex:1;font-size:11px;line-height:1.75;scrollbar-width:thin;font-family:'Share Tech Mono',monospace;color:rgba(255,204,153,.65)}
#help-body h3{font-family:'Antonio',sans-serif;font-size:11px;color:var(--lcars-blue);letter-spacing:.1em;margin:12px 0 4px;text-transform:uppercase}
#help-body h3:first-child{margin-top:0}
#help-body p{margin-bottom:7px}
#help-body table{width:100%;border-collapse:collapse;margin-bottom:8px;font-size:10px}
#help-body td{padding:3px 7px;border-bottom:1px solid rgba(102,153,204,.2)}
#help-body td:first-child{color:var(--lcars-blue);font-weight:700;width:130px;white-space:nowrap}
#help-body strong{color:var(--lcars-green)}
#help-close{font-family:'Antonio',sans-serif;font-size:11px;padding:6px 16px;border:none;border-radius:12px;background:var(--lcars-blue);color:#000;cursor:pointer;margin:10px 16px 14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#help-close:hover{background:var(--lcars-skyblue)}

/* History */
#hist-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:150;align-items:center;justify-content:center;padding:16px}
#hist-overlay.show{display:flex}
#hist-box{background:#000;border:3px solid var(--lcars-gold);width:100%;max-width:700px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
#hist-hdr{background:var(--lcars-gold);height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;flex-shrink:0}
#hist-hdr-title{font-family:'Antonio',sans-serif;font-size:14px;font-weight:700;color:#000;letter-spacing:.12em;text-transform:uppercase}
#hist-tabs{display:flex;background:#000;border-bottom:2px solid var(--lcars-gold);flex-shrink:0}
.histab{font-family:'Antonio',sans-serif;font-size:10px;font-weight:700;padding:7px 14px;background:transparent;border:none;border-bottom:3px solid transparent;color:rgba(255,204,0,.4);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:color .15s}
.histab:hover{color:var(--lcars-gold)}
.histab.active{color:var(--lcars-gold);border-bottom-color:var(--lcars-gold)}
#hist-list{overflow-y:auto;flex:1;padding:8px 14px;scrollbar-width:thin}
.hist-entry{border-bottom:1px solid rgba(255,204,0,.15);padding:8px 4px;font-size:10px}
.hist-entry-hdr{display:flex;justify-content:space-between;margin-bottom:3px}
.hist-game-num{font-family:'Antonio',sans-serif;font-size:10px;color:var(--lcars-gold);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hist-date{color:rgba(255,204,0,.4);font-size:9px}
.hist-result{font-weight:700;font-family:'Antonio',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.hist-result.won{color:var(--lcars-green)} .hist-result.lost{color:var(--lcars-alert)}
.hist-stats{color:rgba(255,204,153,.4);font-size:9px;line-height:1.8;font-family:'Share Tech Mono',monospace}
.hist-score{font-family:'Antonio',sans-serif;font-size:13px;font-weight:700;color:var(--lcars-gold);float:right}
.hist-entry.top-score{border-left:3px solid var(--lcars-gold);padding-left:6px}
.hist-empty{color:rgba(255,204,0,.3);text-align:center;padding:30px;font-size:11px;font-family:'Share Tech Mono',monospace}
#hist-close{font-family:'Antonio',sans-serif;font-size:11px;padding:6px 16px;border:none;border-radius:12px;background:var(--lcars-gold);color:#000;cursor:pointer;margin:10px 16px 14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#hist-close:hover{background:#ffe033}
.lb-row{display:flex;align-items:center;gap:8px;padding:5px 4px;border-bottom:1px solid rgba(255,204,0,.12);font-size:10px}
.lb-rank{font-family:'Antonio',sans-serif;font-size:9px;color:rgba(255,204,0,.4);min-width:22px;text-align:right}
.lb-rank.gold{color:#FFD700}.lb-rank.silver{color:#C0C0C0}.lb-rank.bronze{color:#CD7F32}
.lb-name{flex:1;color:rgba(255,204,153,.6);font-family:'Share Tech Mono',monospace}
.lb-score{font-family:'Antonio',sans-serif;font-size:12px;font-weight:700;color:var(--lcars-gold);min-width:70px;text-align:right}
.lb-detail{color:rgba(255,204,0,.4);font-size:9px;min-width:90px;text-align:right;font-family:'Share Tech Mono',monospace}

/* Score breakdown */
.score-breakdown{background:#000;border:1px solid rgba(255,153,0,.25);padding:10px 14px;margin:10px 0;font-size:11px;font-family:'Share Tech Mono',monospace}
.score-line{display:flex;justify-content:space-between;padding:2px 0;color:rgba(255,204,153,.6)}
.score-line.total{border-top:1px solid rgba(255,153,0,.3);margin-top:6px;padding-top:6px;color:var(--lcars-gold);font-weight:700;font-family:'Antonio',sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase}

/* Boarding alert */
#boarding-box{display:none;border-left:4px solid var(--lcars-alert)!important}

/* Galaxy map */
#galaxy-overlay{display:none;position:fixed;inset:0;background:#000;z-index:100;flex-direction:column}
#galaxy-overlay.show{display:flex}
#gmap-header{
  height:50px;background:var(--lcars-orange);display:flex;align-items:center;
  justify-content:space-between;padding:0 16px;flex-shrink:0;
}
#gmap-title{font-family:'Antonio',sans-serif;font-size:16px;font-weight:700;color:#000;letter-spacing:.14em;text-transform:uppercase}
#gmap-info{font-size:9px;color:rgba(0,0,0,.55);letter-spacing:.06em;margin-top:2px}
#gmap-wrap{flex:1;overflow:hidden;position:relative;cursor:grab}
#gmap-wrap.dragging{cursor:grabbing}
#gmap-canvas-wrap{position:absolute;transform-origin:0 0}
#gmap-canvas{display:block}
#gmap-legend{position:absolute;bottom:10px;left:14px;font-size:9px;color:rgba(255,153,0,.6);background:rgba(0,0,10,.9);padding:7px 10px;border:1px solid rgba(255,153,0,.3);font-family:'Share Tech Mono',monospace}
#gmap-legend div{margin-bottom:3px}
#gmap-zoom-btns{position:absolute;top:10px;right:14px;display:flex;flex-direction:column;gap:4px}
.zoom-btn{font-family:'Antonio',sans-serif;font-size:16px;font-weight:700;width:34px;height:34px;border:none;border-radius:17px;background:var(--lcars-orange);color:#000;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}
.zoom-btn:hover{background:var(--lcars-peach)}
#gmap-coords{position:absolute;top:10px;left:14px;font-size:10px;color:var(--lcars-orange);background:rgba(0,0,10,.9);padding:5px 8px;border:1px solid rgba(255,153,0,.3);font-family:'Share Tech Mono',monospace;pointer-events:none}
