:root {
  --bg:    #070b12;
  --bg2:   #0b1220;
  --bg3:   #0f182a;
  --card:  #0d1625;
  --border:#162030;
  --borderb:#1e3050;
  --cyan:  #00e5ff;
  --cyand: #005a66;
  --red:   #ff2d55;
  --gold:  #ffc43d;
  --purp:  #b44afa;
  --grn:   #00ff88;
  --blue:  #3399ff;
  --text:  #bdd3e8;
  --textd: #4a6a8a;
  --textb: #e8f4ff;
  --font1: 'Orbitron', monospace;
  --font2: 'Share Tech Mono', monospace;
  --font3: 'Rajdhani', sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden}
body{background:var(--bg);color:var(--text);font-family:var(--font3);font-size:15px;display:flex;flex-direction:column}

/* ── DICE BAR ── */
#dicebar{background:var(--bg2);border-bottom:1px solid var(--borderb);padding:10px 20px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:relative;z-index:50;flex-shrink:0}
#dicebar .dbl{font-family:var(--font1);font-size:10px;letter-spacing:3px;color:var(--cyan);text-transform:uppercase;white-space:nowrap}
.poolctrl{display:flex;align-items:center;gap:6px}
.pbtn{width:26px;height:26px;background:var(--bg3);border:1px solid var(--border);color:var(--cyan);
  font-size:16px;cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:var(--font2)}
.pbtn:hover{background:var(--cyand);border-color:var(--cyan)}
#pdisplay{font-family:var(--font1);font-size:20px;color:var(--cyan);min-width:32px;text-align:center}
.mbtn{padding:4px 12px;background:var(--bg3);border:1px solid var(--border);color:var(--textd);cursor:pointer;border-radius:3px;font-family:var(--font3);font-size:13px;font-weight:600;transition:all .15s}
.mbtn.on{background:var(--cyand);border-color:var(--cyan);color:var(--cyan)}
.mbtn:hover:not(.on){color:var(--text);border-color:var(--textd)}
#rollbtn{padding:5px 18px;background:transparent;border:2px solid var(--cyan);color:var(--cyan);cursor:pointer;border-radius:3px;font-family:var(--font1);font-size:11px;font-weight:700;letter-spacing:2px;transition:all .15s;white-space:nowrap}
#rollbtn:hover{background:var(--cyan);color:var(--bg);box-shadow:0 0 14px rgba(0,229,255,.4)}
#dresults{display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex:1;min-height:26px}
.die{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--font2);font-size:13px;font-weight:bold;border-radius:3px;border:1px solid var(--border);background:var(--bg3);color:var(--textd);transition:all .2s}
.die.hit{background:rgba(0,255,136,.12);border-color:var(--grn);color:var(--grn)}
.die.one{background:rgba(255,45,85,.12);border-color:var(--red);color:var(--red)}
#dsummary{font-family:var(--font2);font-size:12px;white-space:nowrap;padding:5px 10px;border-radius:3px;border:1px solid var(--border);background:var(--bg3)}
#dsummary .sh{color:var(--grn);font-size:15px;font-weight:bold}
#dsummary .sg{color:var(--red)}

/* ── SIDEBAR TOGGLE ── */
#sidebar-toggle{background:none;border:1px solid var(--border);color:var(--cyan);font-size:18px;cursor:pointer;padding:2px 8px;border-radius:3px;transition:all .15s;font-family:var(--font2);line-height:1;flex-shrink:0}
#sidebar-toggle:hover{background:var(--cyand);border-color:var(--cyan)}

/* ── LAYOUT ── */
#layout{display:flex;flex:1;overflow:hidden}
#sidebar{width:210px;min-width:210px;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding:0 0 20px;transition:width .25s ease,min-width .25s ease,padding .25s ease,opacity .2s ease}
#sidebar.collapsed{width:0;min-width:0;padding:0;overflow:hidden;border-right:none;opacity:0}
#content{flex:1;overflow-y:auto;padding:24px}

/* ── SIDEBAR ── */
.slogo{padding:18px 18px 16px;border-bottom:1px solid var(--border);margin-bottom:8px}
.slogo h1{font-family:var(--font1);font-size:12px;color:var(--cyan);letter-spacing:1px;line-height:1.4}
.slogo .sub{font-size:10px;color:var(--textd);letter-spacing:2px;font-family:var(--font2);margin-top:3px}
.navbtn{display:flex;align-items:center;gap:10px;padding:10px 18px;background:none;border:none;color:var(--textd);cursor:pointer;font-family:var(--font3);font-size:15px;font-weight:500;width:100%;text-align:left;transition:all .15s;border-left:3px solid transparent}
.navbtn:hover{color:var(--text);background:rgba(255,255,255,.02)}
.navbtn.on{color:var(--cyan);background:rgba(0,229,255,.05);border-left-color:var(--cyan)}
.navbtn .ico{font-size:15px;width:18px;text-align:center}
.navbtn .badge{margin-left:auto;background:var(--cyand);color:var(--cyan);font-size:10px;font-family:var(--font2);padding:1px 6px;border-radius:10px;min-width:20px;text-align:center}

/* ── SECTIONS ── */
.sec{display:none}.sec.on{display:block}
.shdr{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.shdr .ico2{width:38px;height:38px;background:var(--cyand);border:1px solid var(--cyan);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--cyan);flex-shrink:0}
.stitle{font-family:var(--font1);font-size:16px;color:var(--textb);letter-spacing:2px}
.ssub{font-size:12px;color:var(--textd);margin-top:2px;font-family:var(--font2)}

/* ── TABS ── */
.tabs{display:flex;gap:1px;margin-bottom:18px;border-bottom:1px solid var(--border)}
.tbtn{padding:8px 18px;background:none;border:none;color:var(--textd);cursor:pointer;font-family:var(--font3);font-size:14px;font-weight:600;transition:all .15s;border-bottom:2px solid transparent;margin-bottom:-1px}
.tbtn:hover{color:var(--text)}
.tbtn.on{color:var(--cyan);border-bottom-color:var(--cyan)}
.tpanel{display:none}.tpanel.on{display:block}

/* ── CARDS & FORMS ── */
.card{background:var(--card);border:1px solid var(--border);border-radius:7px;padding:18px;margin-bottom:14px}
.ctitle{font-family:var(--font2);font-size:11px;color:var(--cyan);letter-spacing:2px;margin-bottom:12px;display:flex;align-items:center;gap:8px;text-transform:uppercase}
.ctitle::after{content:'';flex:1;height:1px;background:var(--border)}
.frow{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:12px}
.fg{display:flex;flex-direction:column;gap:4px}
.fg label{font-size:10px;color:var(--textd);letter-spacing:1px;text-transform:uppercase;font-family:var(--font2)}
.fg input,.fg select{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:6px 9px;border-radius:3px;font-family:var(--font3);font-size:14px;font-weight:500;transition:border-color .15s}
.fg input:focus,.fg select:focus{outline:none;border-color:var(--cyan)}
.fg select option{background:var(--bg2)}
.cbg{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.cbi{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;font-weight:500}
.cbi input[type=checkbox]{accent-color:var(--cyan);width:14px;height:14px}

/* ── BUTTONS ── */
.btn{padding:7px 18px;border-radius:3px;cursor:pointer;font-family:var(--font3);font-size:14px;font-weight:700;letter-spacing:.5px;transition:all .15s;border:none;display:inline-flex;align-items:center;gap:5px}
.bpri{background:var(--cyan);color:var(--bg)}
.bpri:hover{background:#33eeff;box-shadow:0 0 12px rgba(0,229,255,.4)}
.bsec{background:transparent;border:1px solid var(--borderb);color:var(--text)}
.bsec:hover{border-color:var(--cyan);color:var(--cyan)}
.bdng{background:transparent;border:1px solid var(--red);color:var(--red)}
.bdng:hover{background:var(--red);color:white}
.bsm{padding:4px 10px;font-size:12px}
.brow{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

/* ── NPC CARD ── */
.ncard{background:var(--card);border:1px solid var(--border);border-top:2px solid var(--borderb);border-radius:7px;overflow:hidden;margin-bottom:14px;animation:fadeIn .3s ease;transition:border-color .3s,background .3s,box-shadow .3s}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ncard:hover:not(.dead):not(.ko){border-color:var(--borderb)}
/* KO/Dead states */
.ncard.dead{border-color:var(--red)!important;border-top-color:var(--red)!important;background:rgba(255,45,85,.06)!important;box-shadow:0 0 20px rgba(255,45,85,.12) inset}
.ncard.ko{border-color:var(--blue)!important;border-top-color:var(--blue)!important;background:rgba(51,153,255,.06)!important;box-shadow:0 0 20px rgba(51,153,255,.12) inset}
.ncard.dead .nhdr{background:linear-gradient(135deg,#1a0510,#0d0815)}
.ncard.ko .nhdr{background:linear-gradient(135deg,#051a28,#04101e)}
.ncard-status{font-family:var(--font2);font-size:10px;letter-spacing:2px;padding:2px 8px;border-radius:2px;display:none}
.ncard.dead .ncard-status.dead-lbl{display:inline;background:rgba(255,45,85,.2);color:var(--red);border:1px solid var(--red)}
.ncard.ko .ncard-status.ko-lbl{display:inline;background:rgba(51,153,255,.2);color:var(--blue);border:1px solid var(--blue)}

.nhdr{background:linear-gradient(135deg,#0c1520,#0a1018);padding:11px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:8px;flex-wrap:wrap}
.nhdr-left{flex:1}
.nhdr-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nname{font-family:var(--font1);font-size:15px;color:var(--textb);letter-spacing:.5px}
.nmeta{font-size:11px;color:var(--textd);font-family:var(--font2);margin-top:2px}
.nbadge{font-family:var(--font2);font-size:9px;padding:2px 7px;border-radius:2px;border:1px solid;letter-spacing:1px;text-transform:uppercase}
.nbadge.lt{border-color:var(--gold);color:var(--gold);background:rgba(255,196,61,.07)}
.nbadge.dk{border-color:#00bfff;color:#00bfff;background:rgba(0,191,255,.07)}
.nbadge.ad{border-color:var(--purp);color:var(--purp);background:rgba(180,74,250,.07)}
.nbadge.mg{border-color:#e879f9;color:#e879f9;background:rgba(232,121,249,.07)}
.nbody{padding:13px 15px}

/* ── ATTRIBUTES ── */
.agrid{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin-bottom:12px}
.abox{text-align:center;background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:5px 3px}
.albl{font-family:var(--font2);font-size:8px;color:var(--textd);letter-spacing:1px;display:block;margin-bottom:2px}
.aval{font-family:var(--font1);font-size:15px;color:var(--cyan);display:block;line-height:1}
.abox.amag .aval{color:var(--purp)}
.abox.aess .aval{color:var(--grn);font-size:12px;font-family:var(--font2);margin-top:2px}

/* ── STATS ROW ── */
.srow{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:7px;margin-bottom:10px}
.si{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:5px 9px;display:flex;align-items:center;gap:8px}
.sil{font-size:9px;color:var(--textd);font-family:var(--font2);text-transform:uppercase;letter-spacing:.5px;flex:1}
.siv{font-family:var(--font1);font-size:12px;color:var(--textb)}
.siv .sub{font-family:var(--font2);font-size:10px;color:var(--textd);margin-left:4px}

/* ── EDGE COUNTER ── */
.edge-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.edge-lbl{font-family:var(--font2);font-size:9px;color:var(--gold);text-transform:uppercase;letter-spacing:1px}
.edge-pips{display:flex;gap:3px}
.edge-pip{width:14px;height:14px;border:1px solid #665500;background:var(--bg3);border-radius:2px;cursor:pointer;transition:all .15s}
.edge-pip.on{background:var(--gold);border-color:var(--gold);box-shadow:0 0 5px rgba(255,196,61,.4)}
.edge-pip:hover{border-color:var(--gold)}
.edge-reset{font-family:var(--font2);font-size:9px;color:var(--textd);background:none;border:1px solid var(--border);padding:2px 6px;border-radius:2px;cursor:pointer;transition:all .15s}
.edge-reset:hover{border-color:var(--gold);color:var(--gold)}

/* ── TAGS ── */
.nlbl{font-family:var(--font2);font-size:9px;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;margin:9px 0 5px;padding-bottom:3px;border-bottom:1px solid var(--border)}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.tag{font-family:var(--font2);font-size:10px;padding:2px 7px;background:var(--bg3);border:1px solid var(--border);border-radius:2px}
.tag.sk{border-color:#1a4060;color:#6aafcf}
.tag.ar{border-color:#1a3050;color:#6aaacf}
.tag.au{border-color:#2c1a50;color:#9f70cf}
.tag.sp{border-color:#3c1a50;color:#cf70e8}
.tag.pw{border-color:#1a3020;color:#70cf9f}
.tag.gr{border-color:#2a2a1a;color:#cfcf70}
.tag.pr{border-color:#3a2010;color:#cfaa50}
.tag.lt{border-color:#1a3a1a;color:#70cf70}

/* ── WEAPON TAGS ── */
.wtag{display:flex;align-items:center;gap:5px;background:var(--bg3);border:1px solid #501c1c;border-radius:2px;padding:2px 8px;cursor:pointer;transition:all .15s;font-family:var(--font2);font-size:10px}
.wtag:hover{border-color:var(--red);background:rgba(255,45,85,.08)}
.wtag .wname{color:#cf7070}
.wtag .wsep{color:var(--border)}
.wtag .wdmg{color:var(--red);font-weight:bold}
.wtag .wtype-k{color:var(--red)}
.wtag .wtype-b{color:var(--gold)}

/* ── WEAPON POPUP ── */
#wpop{position:fixed;background:var(--bg2);border:1px solid var(--borderb);border-top:2px solid var(--red);border-radius:5px;padding:12px 15px;z-index:900;min-width:250px;box-shadow:0 6px 30px rgba(0,0,0,.7);display:none}
.wpop-name{font-family:var(--font1);font-size:11px;color:var(--textb);margin-bottom:2px;letter-spacing:.5px}
.wpop-note{font-family:var(--font2);font-size:9px;color:var(--textd);margin-bottom:8px}
.wpop-dmg{display:flex;gap:12px;margin-bottom:10px;align-items:center}
.wpop-dmg-val{font-family:var(--font1);font-size:16px;color:var(--red)}
.wpop-dmg-type{font-family:var(--font2);font-size:9px;padding:2px 6px;border-radius:2px;border:1px solid}
.wpop-dmg-type.k{border-color:var(--red);color:var(--red);background:rgba(255,45,85,.1)}
.wpop-dmg-type.b{border-color:var(--gold);color:var(--gold);background:rgba(255,196,61,.1)}
.wpop-table{width:100%;border-collapse:collapse;font-family:var(--font2);font-size:10px}
.wpop-table th{color:var(--textd);font-size:9px;padding:3px 8px;text-align:center;border-bottom:1px solid var(--border);letter-spacing:.5px}
.wpop-table td{padding:4px 8px;text-align:center;border-bottom:1px solid rgba(22,32,48,.5)}
.wpop-table td.ar-good{color:var(--cyan);font-weight:bold}
.wpop-table td.ar-med{color:var(--text)}
.wpop-table td.ar-bad{color:var(--textd)}
.wpop-table td.ar-none{color:var(--border)}
.wpop-close{position:absolute;top:6px;right:8px;color:var(--textd);cursor:pointer;font-size:14px;background:none;border:none}
.wpop-close:hover{color:var(--text)}

/* ── CONDITION MONITOR ── */
.cmbox{margin-bottom:10px}
.cmrow{display:flex;align-items:center;gap:0;margin-bottom:5px;flex-wrap:wrap;gap:2px}
.cmlbl{font-size:9px;font-family:var(--font2);color:var(--textd);width:60px;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px}
.cmgroups{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.cmg{display:flex;align-items:center;gap:2px}
/* CM boxes */
.cmb{width:14px;height:14px;border:1px solid var(--border);border-radius:2px;background:var(--bg3);cursor:pointer;transition:background .1s,border-color .1s;flex-shrink:0}
.cmb:hover{border-color:var(--textd)}
/* Penalty group colors when filled */
.cmb.ph.on.pg0{background:#804020;border-color:#aa5530}
.cmb.ph.on.pg1{background:#993020;border-color:#cc4428}
.cmb.ph.on.pg2{background:#bb2020;border-color:var(--red)}
.cmb.ph.on.pg3{background:#dd1818;border-color:var(--red);box-shadow:0 0 3px rgba(255,45,85,.4)}
.cmb.ph.on.pg4{background:var(--red);border-color:var(--red);box-shadow:0 0 5px rgba(255,45,85,.6)}
.cmb.st.on.pg0{background:#806020;border-color:#aa8830}
.cmb.st.on.pg1{background:#997020;border-color:#ccaa00}
.cmb.st.on.pg2{background:#bb9000;border-color:var(--gold)}
.cmb.st.on.pg3{background:#ddaa00;border-color:var(--gold);box-shadow:0 0 3px rgba(255,196,61,.4)}
.cmb.st.on.pg4{background:var(--gold);border-color:var(--gold);box-shadow:0 0 5px rgba(255,196,61,.6)}
/* Penalty label */
.cmp{font-family:var(--font1);font-size:8px;color:var(--textd);margin:0 2px 0 3px;letter-spacing:0;padding:1px 3px;border-radius:2px;border:1px solid transparent;flex-shrink:0;min-width:16px;text-align:center}
.cmp.active-ph{color:var(--red);border-color:rgba(255,45,85,.35);background:rgba(255,45,85,.1)}
.cmp.active-st{color:var(--gold);border-color:rgba(255,196,61,.35);background:rgba(255,196,61,.1)}
.cmcnt{font-family:var(--font2);font-size:9px;color:var(--textd);margin-left:6px}

/* ── LOOT ── */
.loot-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}

/* ── NPC ACTIONS ── */
.nacts{display:flex;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
/* ── NPC TYPE-COLORED HEADERS ── */
.nhdr.sp-lt{border-left:5px solid var(--gold)!important;background:linear-gradient(135deg,#1a150a,#0a1018)!important}
.nhdr.sp-rg{border-left:5px solid var(--grn)!important;background:linear-gradient(135deg,#081610,#0a1018)!important}
.nhdr.sp-dk{border-left:5px solid var(--purp)!important;background:linear-gradient(135deg,#130a1a,#0a1018)!important}
.nhdr.sp-mg{border-left:5px solid #e879f9!important;background:linear-gradient(135deg,#180a1a,#0a1018)!important}
.nhdr.sp-ad{border-left:5px solid var(--red)!important;background:linear-gradient(135deg,#1a0508,#0a1018)!important}
.nbadge.rg{border-color:var(--grn);color:var(--grn);background:rgba(0,255,136,.07)}
.nbadge.veh{border-color:var(--grn);color:var(--grn);background:rgba(0,255,136,.07)}
/* ── WEAPON BOX COLORS ── */
.wtag.wt-k{border-color:#601515;background:rgba(255,45,85,.07)}
.wtag.wt-k:hover{border-color:var(--red);background:rgba(255,45,85,.14)}
.wtag.wt-k .wname{color:#e87070}
.wtag.wt-k .wdmg{color:var(--red)}
.wtag.wt-b{border-color:#104060;background:rgba(51,153,255,.07)}
.wtag.wt-b:hover{border-color:var(--blue);background:rgba(51,153,255,.14)}
.wtag.wt-b .wname{color:#6699ff}
.wtag.wt-b .wdmg{color:#6699ff}
.wtag.wt-b .wtype-b{color:#6699ff}
.wtag.wt-unarmed{border-color:#504010;background:rgba(255,196,61,.05)}
.wtag.wt-unarmed:hover{border-color:var(--gold);background:rgba(255,196,61,.1)}
.wtag.wt-unarmed .wname{color:var(--gold)}
.wtag.wt-unarmed .wdmg{color:var(--gold)}
/* ── DRONE BOXES ── */
.drone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:6px;margin-top:5px}
.drone-box{background:var(--bg3);border:1px solid #1a3a20;border-radius:4px;padding:7px 9px}
.drone-name{font-family:var(--font2);font-size:9px;color:var(--grn);letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}
.drone-type-badge{font-family:var(--font2);font-size:7px;color:#4a9a5a;margin-bottom:5px;display:block}
.drone-stats{display:flex;gap:4px;flex-wrap:wrap}
.dstat{background:var(--bg2);border:1px solid var(--border);border-radius:2px;padding:2px 5px;font-family:var(--font2);font-size:8px;text-align:center;min-width:30px}
.dstat-l{color:var(--textd);display:block;font-size:7px;line-height:1.2}
.dstat-v{color:var(--textb);font-size:11px;display:block;line-height:1.4}
/* ── VEHICLE CARDS ── */
.v-section-hdr{font-family:var(--font2);font-size:10px;color:var(--grn);letter-spacing:2px;text-transform:uppercase;margin:14px 0 8px;padding:7px 0 7px 10px;border-left:3px solid var(--grn);border-bottom:1px solid #1a3a20}
.vcard{background:var(--card);border:1px solid #1a3a20;border-left:5px solid var(--grn);border-radius:7px;overflow:hidden;margin-bottom:10px;animation:fadeIn .3s ease}
.vhdr{background:linear-gradient(135deg,#081610,#0a1018);padding:10px 14px;border-bottom:1px solid #1a3a20;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.vname{font-family:var(--font1);font-size:14px;color:var(--textb)}
.vmeta{font-size:10px;color:var(--textd);font-family:var(--font2);margin-top:2px}
.vbody{padding:12px 14px}
.vbadge{font-family:var(--font2);font-size:8px;padding:2px 6px;border-radius:2px;border:1px solid var(--grn);color:var(--grn);background:rgba(0,255,136,.07);letter-spacing:1px}
/* ── CM FORMULA BUTTON ── */
.cm-info{cursor:pointer;color:var(--cyan);opacity:.8;font-family:var(--font2);font-size:9px;text-decoration:underline dotted}
.cm-info:hover{opacity:1}
/* ── INFO POPUP (generic) ── */
.pophdr{padding:8px 12px;font-family:var(--font1);font-size:11px;font-weight:700;color:var(--cyan);border-bottom:1px solid var(--border);letter-spacing:.5px}
.popbody{padding:10px 12px}
.poprow{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:10px;border-bottom:1px solid rgba(255,255,255,.04)}
.popl{color:var(--textd);font-family:var(--font2)}
.popv{color:var(--text);font-family:var(--font3);font-weight:600}

/* ── CAST ── */
.cempty{text-align:center;padding:50px 20px;color:var(--textd)}
.cempty .ei{font-size:44px;margin-bottom:10px;opacity:.25}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.ctabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.ctab{padding:5px 13px;background:var(--bg3);border:1px solid var(--border);color:var(--textd);cursor:pointer;border-radius:3px;font-size:12px;font-weight:600;transition:all .15s;font-family:var(--font3)}
.ctab:hover{border-color:var(--borderb);color:var(--text)}
.ctab.on{background:rgba(0,229,255,.08);border-color:var(--cyan);color:var(--cyan)}
.ctabadd{padding:4px 9px;background:none;border:1px dashed var(--border);color:var(--textd);cursor:pointer;border-radius:3px;font-size:11px;transition:all .15s;font-family:var(--font3)}
.ctabadd:hover{border-color:var(--cyan);color:var(--cyan)}

/* ── CONTACT ── */
.concard{background:var(--card);border:1px solid var(--border);border-radius:7px;padding:14px;margin-bottom:10px;display:flex;gap:14px}
.loybar{display:flex;flex-direction:column;align-items:center;gap:3px}
.lpip{width:9px;height:9px;border-radius:50%;border:1px solid var(--border);background:var(--bg3)}
.lpip.on{background:var(--cyan);border-color:var(--cyan)}
.coninfo{flex:1}
.conname{font-family:var(--font1);font-size:13px;color:var(--textb);margin-bottom:3px}
.contype{font-family:var(--font2);font-size:10px;color:var(--cyan);margin-bottom:5px;letter-spacing:1px}
.constats{display:flex;gap:12px}
.cstat{font-family:var(--font2);font-size:11px;color:var(--textd)}
.cstat span{color:var(--text);font-size:13px}
.condesc{font-size:12px;color:var(--textd);margin-top:5px;line-height:1.5}

/* ── RUN ── */
.runcard{background:var(--card);border:1px solid var(--border);border-radius:7px;overflow:hidden;margin-bottom:14px}
.runhdr{background:linear-gradient(135deg,#1a0a2e,#0a1628);padding:13px 17px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.runtitle{font-family:var(--font1);font-size:14px;color:var(--textb);letter-spacing:.5px}
.runthreat{font-family:var(--font2);font-size:9px;padding:2px 9px;border-radius:2px;letter-spacing:1px;text-transform:uppercase}
.runthreat.l{background:rgba(0,255,136,.08);color:var(--grn);border:1px solid rgba(0,255,136,.25)}
.runthreat.m{background:rgba(255,196,61,.08);color:var(--gold);border:1px solid rgba(255,196,61,.25)}
.runthreat.h{background:rgba(255,45,85,.08);color:var(--red);border:1px solid rgba(255,45,85,.25)}
.runbody{padding:14px 17px}
.rdet{display:flex;gap:10px;margin-bottom:7px;align-items:flex-start}
.rdetl{font-size:9px;font-family:var(--font2);color:var(--textd);width:95px;flex-shrink:0;padding-top:1px;text-transform:uppercase;letter-spacing:.5px}
.rdetv{font-size:13px;color:var(--text);flex:1;font-weight:500}

/* ── FAQ ── */
.faqtxt{max-width:680px;line-height:1.7;font-size:14px;margin-bottom:22px}
.faqtxt p{margin-bottom:10px}
.faqtxt ul{padding-left:18px;margin-bottom:10px}
.faqtxt li{margin-bottom:5px}
.faqtxt strong{color:var(--cyan)}
.faqitem{background:var(--card);border:1px solid var(--border);border-radius:5px;margin-bottom:8px;overflow:hidden}
.faqq{padding:11px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;transition:background .15s;user-select:none}
.faqq:hover{background:rgba(255,255,255,.02)}
.faqa{padding:0 14px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;font-size:13px;color:var(--textd);line-height:1.7}
.faqa.op{max-height:300px;padding:0 14px 12px}

/* ── SETTINGS ── */
.scard{background:var(--card);border:1px solid var(--border);border-radius:7px;padding:18px;margin-bottom:14px;max-width:580px}
.stg{font-family:var(--font2);font-size:11px;color:var(--cyan);letter-spacing:1px;text-transform:uppercase;margin-bottom:11px}
.rdg{display:flex;flex-direction:column;gap:8px}
.ri{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;font-weight:500}
.ri input{accent-color:var(--cyan);margin-top:2px}
.ri label{cursor:pointer}
.ri .rdsc{font-size:11px;color:var(--textd);margin-top:2px;line-height:1.4}
.nukecard{background:rgba(255,45,85,.04);border:1px solid rgba(255,45,85,.25);border-radius:7px;padding:18px;max-width:580px}
.nuketitle{font-family:var(--font2);font-size:11px;color:var(--red);letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.nukedesc{font-size:13px;color:var(--textd);margin-bottom:12px;line-height:1.6}

/* ── MODAL ── */
.movl{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:1000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.movl.op{display:flex}
.modal{background:var(--bg2);border:1px solid var(--borderb);border-radius:9px;padding:24px;max-width:400px;width:90%;box-shadow:0 0 40px rgba(0,0,0,.6)}
.mtitle{font-family:var(--font1);font-size:14px;color:var(--textb);margin-bottom:10px;letter-spacing:1px}
.mbody{font-size:13px;color:var(--textd);line-height:1.6;margin-bottom:18px}
.macts{display:flex;gap:8px;justify-content:flex-end}
.minput{margin-bottom:14px}
.minput input{width:100%;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:3px;font-family:var(--font3);font-size:14px}
.minput input:focus{outline:none;border-color:var(--cyan)}

/* ── TOAST ── */
.toast{position:fixed;bottom:18px;right:18px;background:var(--bg2);border:1px solid var(--cyan);border-radius:5px;padding:9px 16px;font-family:var(--font3);font-size:13px;font-weight:600;color:var(--cyan);z-index:2000;opacity:0;transform:translateY(8px);transition:all .3s;pointer-events:none}
.toast.sh{opacity:1;transform:translateY(0)}

/* ── STATUS TAGS ── */
.status-area{margin-bottom:8px}
.status-tag{display:flex;align-items:flex-start;gap:7px;background:rgba(255,119,34,.07);border:1px solid rgba(255,119,34,.3);border-radius:2px;padding:4px 8px;margin-bottom:3px;flex-wrap:wrap;animation:fadeIn .2s ease}
.st-name{font-family:var(--font2);font-size:9px;color:#ff9944;letter-spacing:1px;font-weight:bold;white-space:nowrap;flex-shrink:0;margin-top:1px}
.st-desc{color:var(--textd);font-size:10px;flex:1;min-width:120px}
.st-mec{font-family:var(--font2);font-size:9px;color:var(--red);white-space:nowrap;flex-shrink:0}
.st-rm{background:none;border:none;color:var(--textd);cursor:pointer;font-size:11px;flex-shrink:0;padding:0 2px;transition:color .12s}
.st-rm:hover{color:var(--red)}
.status-sel{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:4px 7px;border-radius:2px;font-family:var(--font3);font-size:11px;width:100%}

/* ── NOTES ── */
.notes-field{width:100%;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:6px 9px;border-radius:3px;font-family:var(--font3);font-size:12px;resize:vertical;min-height:42px;margin-bottom:8px;transition:border-color .15s}
.notes-field:focus{outline:none;border-color:var(--cyan)}

/* ── EDGE PIPS EXPANDED ── */
.edge-pips{display:flex;gap:2px;flex-wrap:nowrap}
.edge-pip{width:13px;height:13px;border:1px solid #665500;background:var(--bg3);border-radius:2px;cursor:pointer;transition:all .12s;flex-shrink:0}
.edge-pip.on{background:var(--gold);border-color:var(--gold);box-shadow:0 0 4px rgba(255,196,61,.35)}
.edge-pip:hover{border-color:var(--gold)}
.edge-action-sel{background:var(--bg3) !important}

/* ── HACK POPUP ── */
#hpop{position:fixed;background:var(--bg2);border:1px solid var(--borderb);border-top:2px solid var(--purp);border-radius:5px;padding:12px 15px;z-index:901;min-width:260px;max-width:300px;box-shadow:0 6px 30px rgba(0,0,0,.7);display:none}
.hpop-title{font-family:var(--font1);font-size:11px;color:var(--purp);margin-bottom:3px;letter-spacing:.5px}
.hpop-note{font-family:var(--font2);font-size:9px;color:var(--textd);margin-bottom:8px;line-height:1.5}
.hpop-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-bottom:8px}
.hs{background:var(--bg3);border:1px solid var(--border);border-radius:2px;padding:4px 6px;text-align:center}
.hsl{font-family:var(--font2);font-size:7px;color:var(--textd);display:block;letter-spacing:.5px}
.hsv{font-family:var(--font1);font-size:13px;color:var(--purp)}
.hpop-action{font-family:var(--font2);font-size:9px;color:var(--cyan);margin:5px 0 2px;letter-spacing:.5px}
.hpop-desc{font-size:11px;color:var(--textd);line-height:1.5}
.hpop-close{position:absolute;top:6px;right:8px;color:var(--textd);cursor:pointer;font-size:14px;background:none;border:none}
.hpop-close:hover{color:var(--text)}

/* ── ACTION/FIREMODE SECTIONS ── */
.act-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:600px){.act-cols{grid-template-columns:1fr}}
.act-section{border:1px solid var(--border);border-radius:5px;padding:10px 12px}
.act-section-title{font-family:var(--font2);font-size:10px;color:var(--cyan);letter-spacing:1px;margin-bottom:9px;padding-bottom:4px;border-bottom:1px solid var(--border)}
.act-item{margin-bottom:7px;padding-bottom:7px;border-bottom:1px solid rgba(22,32,48,.5)}
.act-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.act-name{font-family:var(--font2);font-size:10px;color:var(--textb);letter-spacing:.5px;margin-bottom:2px}
.act-desc{font-size:11px;color:var(--textd);line-height:1.5}

/* ── FLOATING WINDOWS ── */
.float-win{position:fixed;background:var(--bg2);border:1px solid var(--borderb);border-radius:7px;box-shadow:0 8px 40px rgba(0,0,0,.7);z-index:500;min-width:360px;min-height:200px;display:flex;flex-direction:column;overflow:hidden}
.float-win-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;z-index:2;opacity:.4;transition:opacity .15s}
.float-win-resize:hover,.float-win-resize:active{opacity:1}
.float-win-resize::after{content:'';position:absolute;right:3px;bottom:3px;width:10px;height:10px;border-right:2px solid var(--cyan);border-bottom:2px solid var(--cyan)}
.float-win-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg3);border-bottom:1px solid var(--border);cursor:grab;user-select:none;flex-shrink:0}
.float-win-hdr:active{cursor:grabbing}
.float-win-title{font-family:var(--font1);font-size:10px;color:var(--cyan);letter-spacing:2px}
.float-win-actions{display:flex;gap:6px}
.float-win-btn{background:none;border:1px solid var(--border);color:var(--textd);cursor:pointer;font-size:12px;padding:1px 6px;border-radius:2px;transition:all .12s;font-family:var(--font2)}
.float-win-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.float-win-btn.close:hover{border-color:var(--red);color:var(--red)}
.float-win-body{flex:1;overflow-y:auto;padding:16px}

/* ── SNAP PREVIEW ── */
.snap-preview{position:fixed;background:rgba(0,229,255,.08);border:2px solid var(--cyan);border-radius:6px;z-index:9998;pointer-events:none;display:none;transition:all .15s ease}

/* ── WINDOW STATES ── */
.float-win.maximized,.float-win.snapped{border-radius:0;transition:all .2s ease}
.float-win-btn.minimize{font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
.float-win-btn.maximize{font-size:11px}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--borderb);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--textd)}

@media(max-width:680px){
  #sidebar{width:52px;min-width:52px}
  .navbtn .lbl{display:none}.navbtn .badge{display:none}
  .slogo{padding:10px}.slogo h1,.slogo .sub{display:none}
  #content{padding:12px}
  .agrid{grid-template-columns:repeat(5,1fr)}
  .float-win{min-width:280px;min-height:180px}
}
@media(pointer:coarse){
  .btn,.navbtn,.pbtn,.mbtn,#rollbtn,#sidebar-toggle,.ctab,.ctabadd,.tbtn,.float-win-btn{min-height:40px}
  .cmb{width:22px;height:22px}
  .edge-pip{width:20px;height:20px}
  .float-win-hdr{padding:12px 14px}
  .float-win{touch-action:none}
  .float-win-resize{width:30px;height:30px;opacity:.6}
  .float-win-resize::after{right:5px;bottom:5px;width:14px;height:14px;border-width:3px}
}
