:root{
    --lcars-orange:#ff9c33; --lcars-gold:#ffcc66; --lcars-blue:#6699ff;
    --lcars-lav:#cc99ff; --lcars-red:#ee3d3d; --lcars-pink:#ff88aa; --lcars-teal:#66cccc;
    --bg:#000; --panel:#0a0a12;
  }
  *{box-sizing:border-box}
  html,body{margin:0;height:100%}
  body{background:var(--bg);color:#e8e8f0;font-family:"Antonio","Arial Narrow",Arial,sans-serif;letter-spacing:.5px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  .wrap{max-width:1180px;margin:0 auto;padding:8px 14px 16px}

  /* Top bar */
  .topbar{display:flex;align-items:stretch;gap:6px;margin-bottom:8px;height:52px}
  .cap{width:52px;background:var(--lcars-orange);border-radius:40px 0 0 40px}
  .cap.r{border-radius:0 40px 40px 0;width:36px;background:var(--lcars-lav)}
  .title{flex:1;background:var(--lcars-orange);color:#000;display:flex;flex-direction:column;justify-content:center;padding:4px 18px}
  .title h1{margin:0;font-size:23px;font-weight:700;letter-spacing:3px;text-transform:uppercase;line-height:1}
  .title .sub{font-size:10px;letter-spacing:4px;color:#3a1e00;text-transform:uppercase;margin-top:3px}
  .elbow{width:110px;background:var(--lcars-blue);position:relative}
  .elbow .pill{position:absolute;right:8px;top:6px;font-size:11px;color:#001;letter-spacing:2px;cursor:pointer}

  /* Red alert */
  .redalert{display:none;align-items:center;justify-content:center;gap:22px;background:var(--lcars-red);color:#fff;font-weight:700;letter-spacing:5px;text-transform:uppercase;font-size:18px;padding:9px 12px;border-radius:8px;margin-bottom:10px;box-shadow:0 0 22px rgba(238,61,61,.6)}
  .redalert.show{display:flex;animation:redflash .7s steps(1) infinite}
  @keyframes redflash{0%{background:var(--lcars-red);box-shadow:0 0 26px rgba(238,61,61,.85)}50%{background:#7a1414;box-shadow:0 0 6px rgba(238,61,61,.25)}}
  body.alert{animation:edgeflash 1s ease-in-out infinite}
  @keyframes edgeflash{0%,100%{box-shadow:none}50%{box-shadow:inset 0 0 60px rgba(238,61,61,.35)}}

  /* Status strip */
  .statusstrip{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
  .schip{background:var(--panel);border-left:7px solid var(--lcars-teal);border-radius:0 10px 10px 0;padding:4px 10px;flex:1;min-width:96px}
  .schip .lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#9aa0c8}
  .schip .val{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
  .schip.cond{border-color:var(--lcars-gold)}
  .bar{height:7px;background:#14172a;border-radius:6px;overflow:hidden;margin-top:4px}
  .bar>i{display:block;height:100%;border-radius:6px;transition:width .2s}
  .cond .val.GREEN{color:#38c172}.cond .val.YELLOW{color:var(--lcars-gold)}
  .cond .val.RED{color:var(--lcars-red)}.cond .val.DOCKED{color:var(--lcars-teal)}

  /* Tabs */
  .tabs{display:flex;gap:6px;margin-bottom:8px}
  .tab{flex:1;background:#2a2e44;color:#c8cce8;border:none;border-radius:14px 14px 0 0;padding:9px 8px;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase;cursor:pointer;position:relative;transition:background .1s}
  .tab:hover{background:#3a3f5e}
  .tab.active{background:var(--lcars-orange);color:#000}
  .tab.lrs.active{background:var(--lcars-lav)}
  .tab.dmg.active{background:var(--lcars-teal)}
  .tab .badge{position:absolute;top:5px;right:10px;background:var(--lcars-red);color:#fff;font-size:11px;padding:1px 7px;border-radius:10px;letter-spacing:1px}

  .screen{display:none}
  .screen.active{display:block}
  .panel{background:var(--panel);border-left:12px solid var(--lcars-orange);border-radius:0 14px 14px 0;padding:10px 12px}
  .panel h2{margin:0 0 8px;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--lcars-orange)}
  .panel.lav{border-color:var(--lcars-lav)}.panel.lav h2{color:var(--lcars-lav)}
  .panel.teal{border-color:var(--lcars-teal)}.panel.teal h2{color:var(--lcars-teal)}

  .screenrow{display:grid;grid-template-columns:1fr 260px;gap:14px}
  @media(max-width:820px){.screenrow{grid-template-columns:1fr}}

  /* SRS grid */
  #srs{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;width:100%;max-width:min(430px,38vh);margin:0 auto}
  .cell{background:#05060d;border:1px solid #14172a;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:clamp(15px,3.4vw,26px);cursor:pointer;user-select:none;aspect-ratio:1/1;transition:background .08s,box-shadow .08s}
  .cell:hover{background:#10132a}
  .cell.empty:hover{box-shadow:inset 0 0 0 2px var(--lcars-teal)}
  .cell.ent{color:#fff;text-shadow:0 0 10px #7bdcff}
  .cell.kling{color:var(--lcars-red);text-shadow:0 0 10px #ff5a5a}
  .cell.base{color:var(--lcars-teal);text-shadow:0 0 10px #66ffff}
  .cell.star{color:var(--lcars-gold);text-shadow:0 0 8px #ffcc66;cursor:default}
  body.mode-torp .cell.empty:hover,body.mode-torp .cell.kling:hover,body.mode-torp .cell.star:hover{box-shadow:inset 0 0 0 2px var(--lcars-red)}

  /* LRS galaxy */
  #galaxy{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;width:100%;max-width:min(450px,42vh);margin:0 auto}
  .qcell{background:#05060d;border:1px solid #14172a;border-radius:4px;aspect-ratio:1.1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:1px;color:#8890b8;cursor:pointer;transition:background .08s,box-shadow .08s}
  .qcell .code{font-weight:700}
  .qcell .cost{font-size:9px;color:#5a6088;letter-spacing:0}
  .qcell.unknown{color:#3a4060}
  .qcell.here{outline:2px solid var(--lcars-gold);color:var(--lcars-gold)}
  .qcell.hask .code{color:var(--lcars-red)}
  .qcell:hover{background:#141834;box-shadow:inset 0 0 0 2px var(--lcars-lav)}
  .qcell.here:hover{box-shadow:none;cursor:default}

  .legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#9aa0c8;margin-top:6px;justify-content:center}
  .legend span b{font-size:15px;margin-right:3px}
  .hint{font-size:11px;color:#7a80a8;letter-spacing:1px;margin:5px 2px 0;min-height:14px}

  /* command buttons */
  .cmds{display:flex;flex-direction:column;gap:6px}
  button.lc{border:none;border-radius:14px;padding:8px 8px;font-family:inherit;font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#000;background:var(--lcars-gold);cursor:pointer;transition:filter .1s,transform .05s}
  button.lc:hover{filter:brightness(1.12)}button.lc:active{transform:translateY(1px)}
  button.lc.b{background:var(--lcars-blue)}button.lc.o{background:var(--lcars-orange)}
  button.lc.l{background:var(--lcars-lav)}button.lc.r{background:var(--lcars-red);color:#fff}
  button.lc.t{background:var(--lcars-teal)}button.lc.g{background:#38c172}
  button.lc:disabled{background:#2a2e44;color:#5a5f80;cursor:not-allowed;filter:none}
  button.lc.armed{outline:3px solid #fff;filter:brightness(1.2)}

  /* Damage screen */
  .dmgtable{display:flex;flex-direction:column;gap:5px}
  .drow{display:grid;grid-template-columns:170px 1fr 90px 100px;gap:10px;align-items:center;background:#05060d;border-radius:8px;padding:5px 12px}
  @media(max-width:820px){.drow{grid-template-columns:1fr 90px 90px;grid-template-areas:"name status status" "bar bar bar" "sp repair repair"}.drow .dname{grid-area:name}.drow .dbar{grid-area:bar}.drow .dstat{grid-area:status;text-align:right}.drow .drepair{grid-area:repair}}
  .dname{font-size:14px;letter-spacing:1px}
  .dbar{height:10px;background:#14172a;border-radius:6px;overflow:hidden}
  .dbar>i{display:block;height:100%;transition:width .25s}
  .dstat{font-size:12px;font-weight:700;text-align:center;letter-spacing:1px}
  .drepair button{padding:6px 6px;font-size:11px;border-radius:12px}
  .repairnote{font-size:11px;color:#9aa0c8;line-height:1.5;margin-top:8px}

  /* Log */
  .panel.log{border-color:#38c172;margin-top:8px}
  .foot{margin-top:8px !important}
  .panel.log h2{color:#5fd68a}
  #log{height:70px;overflow-y:auto;background:#05060d;border-radius:8px;padding:6px 12px;font-family:"Courier New",monospace;font-size:12px;line-height:1.4}
  #log .l{margin:0}
  #log .sys{color:var(--lcars-gold)}#log .warn{color:var(--lcars-orange)}#log .bad{color:var(--lcars-red)}#log .good{color:#5fd68a}#log .info{color:#9aa8d8}

  .overlay{position:fixed;inset:0;background:rgba(0,0,10,.86);display:none;align-items:center;justify-content:center;z-index:50}
  .overlay.show{display:flex}
  .modal{max-width:460px;text-align:center;padding:34px 30px;border-radius:20px;background:#0a0a16;border:3px solid var(--lcars-orange)}
  .modal h2{font-size:30px;letter-spacing:4px;margin:0 0 10px;text-transform:uppercase}
  .modal.win h2{color:#5fd68a}.modal.lose h2{color:var(--lcars-red)}
  .modal p{color:#c8cce8;line-height:1.6;font-size:15px;white-space:pre-line}
  .modal button{margin-top:18px}
  .foot{text-align:center;margin-top:14px}
  .sound-tgl{cursor:pointer;color:#7a80a8;font-size:12px;letter-spacing:2px;margin-left:16px}
