:root{
  /* ── Palette as RGB triplets — used via rgba(var(--x-rgb), a) so a theme can
     recolour the whole monitor by overriding just these. Solid aliases below. ── */
  --cyan-rgb:0,212,255;--green-rgb:0,232,122;--red-rgb:255,45,85;--orange-rgb:255,149,0;
  --yellow-rgb:255,214,10;--purple-rgb:191,90,242;--blue-rgb:61,142,255;
  --hi-rgb:255,255,255;   /* highlight overlay */
  --sh-rgb:0,0,0;         /* shadow */
  --bg0-rgb:2,11,23;--bg1-rgb:7,21,38;--bg2-rgb:10,30,54;--bg3-rgb:15,42,72;
  --bg0:rgb(var(--bg0-rgb));--bg1:rgb(var(--bg1-rgb));--bg2:rgb(var(--bg2-rgb));--bg3:rgb(var(--bg3-rgb));
  --bd1:rgba(var(--cyan-rgb),.10);--bd2:rgba(var(--cyan-rgb),.25);--bd3:rgba(var(--cyan-rgb),.5);
  --t1:#e8f4fd;--t2:#88b4cc;--t3:#3f6480;
  --cyan:rgb(var(--cyan-rgb));--green:rgb(var(--green-rgb));--red:rgb(var(--red-rgb));--orange:rgb(var(--orange-rgb));
  --yellow:rgb(var(--yellow-rgb));--purple:rgb(var(--purple-rgb));--blue:rgb(var(--blue-rgb));
  --fs:14px;
  --fd:'Orbitron','Heebo',sans-serif;
  --fb:'Heebo',sans-serif;
  --fm:'Share Tech Mono',monospace;
  --r:8px;--gap:10px;
  --glow-c:0 0 16px rgba(var(--cyan-rgb),.3);--glow-r:0 0 16px rgba(var(--red-rgb),.4);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--fs);scroll-behavior:smooth}
body{background:var(--bg0);color:var(--t1);font-family:'Heebo',sans-serif;min-height:100vh;overflow-x:hidden}
/* Force Google fonts on EVERY element */
*{font-family:inherit}
button,input,select,textarea,option{font-family:'Heebo',sans-serif}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg1)}::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:3px}

/* ── PANEL TITLES (all) ── */
.panel-title,.ep-card-title,.ep-col-title,.ai-insight-title,.reg-title,.rpt-sec-title,.ai-title,
.dr-title,.modal-title,.drag-handle-title,.rd-title,.fdp-title,
h2[style*="Orbitron"],div[style*="Orbitron"]{font-family:'Orbitron','Heebo',sans-serif!important}

/* Larger readable panel titles */
.panel-title{font-family:var(--fd);font-size:12px!important;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.panel-title::after{content:'';flex:1;height:1px;background:var(--bd1)}
.panel-toggle{order:99;flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:rgba(var(--cyan-rgb),.07);border:1px solid var(--bd1);color:var(--t3);font-size:9px;transition:all .25s ease;font-family:'Share Tech Mono',monospace;line-height:1;padding:0;text-indent:0;box-sizing:border-box}
.panel-title:hover .panel-toggle{background:rgba(var(--cyan-rgb),.15);border-color:var(--cyan);color:var(--cyan)}
.ep-card-title{font-family:var(--fd);font-size:11px!important;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;padding:8px 14px;background:rgba(var(--cyan-rgb),.06);border-bottom:1px solid var(--bd1);display:flex;align-items:center;gap:6px;flex-wrap:wrap;white-space:normal;word-break:break-word;overflow-wrap:anywhere;min-width:0;max-width:100%}
.ep-type-name{font-family:var(--fd);font-size:14px!important;font-weight:700;color:var(--t1);margin-bottom:5px;letter-spacing:.5px}
.ai-title{font-family:var(--fd);font-size:14px!important;color:var(--purple);letter-spacing:2px;text-transform:uppercase}
.drag-handle-title{font-family:var(--fd);font-size:11px!important;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;flex:1}
.modal-title{font-family:var(--fd);font-size:13px!important;color:var(--cyan);letter-spacing:2px;text-transform:uppercase}
.dr-title{font-family:var(--fd);font-size:12px!important;color:var(--cyan);letter-spacing:2px;text-transform:uppercase}
.fdp-title{font-family:var(--fd);font-size:11px!important;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;flex:1}
.rd-title{font-family:var(--fd);font-size:11px!important;color:var(--cyan);letter-spacing:2px;text-transform:uppercase}
.stt-title{font-family:var(--fd);font-size:11px!important;color:var(--cyan);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px}
.stt-desc{font-size:13px!important;color:var(--t2);line-height:1.6;font-family:'Heebo',sans-serif}
.ai-insight-title{font-family:var(--fd);font-size:10px!important;color:var(--cyan);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px}
.mtt-ip{font-family:'Share Tech Mono',monospace;font-size:13px!important;color:var(--cyan);margin-bottom:8px;letter-spacing:.5px}
.mtt-row{font-size:13px!important}
.mtt-lbl{font-size:12px!important;color:var(--t3);font-family:'Heebo',sans-serif}
.mtt-val{font-size:13px!important;font-family:'Share Tech Mono',monospace;color:var(--t1)}

/* ── UTILITY — color & cursor ── */
.ptr{cursor:pointer}
.tc{color:var(--cyan)}
.tr{color:var(--red)}
.tg{color:var(--green)}
.to{color:var(--orange)}
.tp{color:var(--purple)}
.ty{color:var(--yellow)}
.td{color:var(--t2)}
.ts{color:var(--t3)}

/* ── UTILITY — flex layouts ── */
.f1{flex:1}
.flex6{display:flex;align-items:center;gap:6px}
.flex8{display:flex;align-items:center;gap:8px}
.flex8mb{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.flex10{display:flex;align-items:center;gap:10px}
.flex-sb{flex-direction:row;align-items:center;justify-content:space-between}
.col-c{display:flex;flex-direction:column;align-items:center;gap:2px}

/* ── UTILITY — component patterns ── */
.icon-btn-sm{background:var(--bg3);border:1px solid var(--bd1);color:var(--t3);width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer}
.info-box{background:var(--bg3);border:1px solid var(--bd1);border-radius:8px;padding:10px 14px;flex:1;min-width:100px;text-align:center}
.stat-box{background:var(--bg3);border:1px solid var(--bd1);border-radius:10px;padding:16px 10px;text-align:center}
.stat-box-sm{background:var(--bg3);border:1px solid var(--bd1);border-radius:8px;padding:10px;text-align:center}
.center-box{text-align:center;padding:8px;background:var(--bg1);border-radius:6px}
.drag-hdr{padding:10px 14px;background:var(--bg2);border-bottom:1px solid var(--bd1);display:flex;align-items:center;justify-content:space-between;cursor:grab}
.divider-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-top:1px solid rgba(var(--hi-rgb),.08)}
.lbl-sm{color:var(--t2);font-weight:600;letter-spacing:.5px}
.section-ttl{font-family:var(--fd);font-size:11px;color:var(--cyan);letter-spacing:2px;text-transform:uppercase}
.icon-lg{font-size:32px;margin-bottom:8px}
.icon-xl{font-size:36px;margin-bottom:10px}
.icon-btn-xs{background:var(--bg3);border:1px solid var(--bd1);color:var(--t3);width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer}
.drag-hdr2{padding:10px 14px;background:var(--bg2);border-bottom:1px solid var(--bd1);cursor:grab;display:flex;align-items:center;justify-content:space-between}
.progress-track{height:14px;border-radius:7px;overflow:hidden;background:var(--bg3);border:1px solid var(--bd1);position:relative}
.card-box{background:var(--bg3);border:1px solid var(--bd1);border-radius:10px;padding:14px 16px}
.card-mb{padding:12px 14px;background:var(--bg3);border:1px solid var(--bd1);border-radius:10px;margin-bottom:14px}
.cell-box{text-align:center;padding:12px 6px;background:rgba(var(--hi-rgb),.025);border:1px solid var(--bd1);border-radius:10px}
.subtle-card{padding:8px 12px;background:rgba(var(--hi-rgb),.02);border:1px solid rgba(var(--hi-rgb),.05);border-radius:8px}
.note-box{font-size:12px;color:var(--t3);background:var(--bg3);padding:8px 10px;border-radius:6px;margin-bottom:6px}
.row-item{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;border-bottom:1px solid rgba(var(--hi-rgb),.04);gap:12px}
.wizard-hero{text-align:center;padding:16px 14px 14px;background:linear-gradient(180deg,rgba(var(--hi-rgb),.03),rgba(var(--hi-rgb),0));border:1px solid var(--bd1);border-radius:12px;margin-bottom:14px}
.bg-green{background:rgba(var(--green-rgb),.1);border-color:rgba(var(--green-rgb),.25)}
.btn-cyan{background:rgba(var(--cyan-rgb),.15);border:1px solid rgba(var(--cyan-rgb),.3);color:var(--cyan);padding:8px 20px;border-radius:8px;cursor:pointer;font-family:'Heebo',sans-serif;font-size:13px}
.toggle-btn{background:var(--bg3);border:1px solid var(--bd1);color:var(--t3);padding:4px 8px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s;margin-inline-start:auto;margin-inline-end:0}

/* ── UTILITY — spacing ── */
.m0{margin:0}
.mx6{margin:0 6px}
.mb14{margin-bottom:14px}
.mb16{margin-bottom:16px}
.mt2{margin-top:2px}
.mt6{margin-top:6px}
.mt8{margin-top:8px}
.mt10{margin-top:10px}
.mt12{margin-top:12px}
.fsh0{flex-shrink:0}
.sep-top{margin-top:6px;padding-top:6px;border-top:1px solid var(--bd1)}

/* ── UTILITY — border-left color strips ── */
.bl-red{border-left:3px solid var(--red);padding-left:12px}
.bl-purple{border-left:3px solid var(--purple);padding-left:12px}
.bl-cyan{border-left:3px solid var(--cyan);padding-left:12px}
.bl-green{border-left:3px solid var(--green);padding-left:12px}
.bl-blue{border-left:3px solid var(--cyan);padding-left:12px}
.bl-orange{border-left:3px solid var(--orange);padding-left:12px}

/* ── UTILITY — typography ── */
.fh{font-family:'Heebo',sans-serif}
.fs11-muted{font-size:11px;color:var(--t3)}
.fs12-muted{font-size:12px;color:var(--t3)}
.fs14{font-size:14px}
.fs16{font-size:16px}
.fs20{font-size:20px}
.fs22{font-size:22px}
.lh16{line-height:1.6}
/* Force right/RTL only when the app is in Hebrew; in English these adapt to LTR */
[dir=rtl] .rtl-r{text-align:right;direction:rtl}
.val-lg{font-size:14px;font-weight:600;color:var(--t1)}
.val-sm{font-size:11px;color:var(--t2);min-width:36px}
.text-sm{margin-bottom:8px;font-size:11px;line-height:1.6}
.tg10{color:var(--green);font-size:10px}
.td10{color:var(--t2);font-size:10px}
.to-bold{color:var(--orange);font-weight:600}
.sub-lbl{font-size:10px;color:var(--t2);font-family:'Heebo',sans-serif;margin-top:2px}
.orb-xs{font-family:'Orbitron',sans-serif;font-size:10px;color:var(--cyan);letter-spacing:1.5px}

/* ── UTILITY — flex with margin ── */
.flex-c{display:flex;align-items:center}
.flex-c4{display:flex;align-items:center;gap:4px}
.flex-c8{display:flex;align-items:center;gap:8px}
.flex-g6{display:flex;gap:6px}
.flex-g10{display:flex;gap:10px}
.flex-g14{display:flex;gap:14px}
.flex-col10{display:flex;flex-direction:column;gap:10px}
.flex-jc6{display:flex;gap:6px;justify-content:center}
.flex-jc10{display:flex;gap:10px;justify-content:center}
.flex6mb4{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.flex6mb8{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.flex10mb{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.jc-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid rgba(var(--hi-rgb),.04)}
.jc-row-sm{display:flex;justify-content:space-between;font-size:12px;padding:3px 0}
.ellipsis-bold{flex:1;color:var(--t1);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── UTILITY — inline icon alignment ── */
.vm{vertical-align:middle}
.vm-r1{vertical-align:middle;border-radius:1px}
.vm-r2{vertical-align:middle;border-radius:2px}

/* ── UTILITY — extra colors ── */
.t1c{color:var(--t1)}
.tbd1{color:var(--bd1)}
.tb{color:var(--blue)}
.tac{text-align:center}
.tac-pulse{text-align:center;animation:defPulseIn .5s ease-out}

/* ── UTILITY — extra font sizes ── */
.fs10{font-size:10px}
.fs11{font-size:11px}
.fs18{font-size:18px}
.fs11-dim{font-size:11px;opacity:.6}
.fs9-muted-dim{font-size:9px;color:var(--t3);opacity:.6}
.fs10-muted{font-size:10px;color:var(--t3)}
.fs10-muted-mt{font-size:10px;color:var(--t3);margin-top:2px}
.fs10-muted-m1{font-size:10px;color:var(--t3);margin:8px 0 4px}
.fs10-muted-m2{font-size:10px;color:var(--t3);margin:10px 0 6px}
.fs11-muted-hdr{font-size:11px;color:var(--t3);margin:8px 0 4px;font-weight:600}
.fs11-muted-m{font-size:11px;color:var(--t3);margin:8px 0 4px}
.fs10-muted-m3{font-size:10px;color:var(--t3);margin:10px 0 4px}
.fs11-muted-mt{font-size:11px;color:var(--t3);margin-top:4px}
.fs10-muted-hdr{font-size:10px;color:var(--t3);margin-bottom:4px;font-weight:600}
.fs10-muted-ms{font-size:10px;color:var(--t3);margin-inline-start:4px}
.fs13{font-size:13px}
.fs9pt{font-size:9pt}
.orb-10-muted{font-size:10px;color:var(--t3);font-family:var(--fd);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.mb4{margin-bottom:4px}
.mb8{margin-bottom:8px}
.mb10{margin-bottom:10px}
.p0{padding:0}
.r1{border-radius:1px}
.vm-r2-me{vertical-align:middle;border-radius:2px;margin-inline-end:5px}
.sq12-b2{width:12px;height:12px;border-width:2px}
.tr11{color:var(--red);font-size:11px}
.tg11{color:var(--green);font-size:11px}
.tc12{color:var(--cyan);font-size:12px}
.to-bold7{color:var(--orange);font-weight:700}
.tge{color:var(--green)}
.tbe{color:var(--cyan)}
.pb-row{padding:6px 0;border-bottom:1px solid rgba(var(--hi-rgb),.04)}
.jc-row-13{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(var(--hi-rgb),.04);font-size:13px;font-family:'Heebo',sans-serif}
/* Status/insight row values: dir="auto" (set in markup) gives each value its own
   direction — dates/IPs/URLs/numbers read LTR, a Hebrew name stays RTL. In Hebrew
   keep them aligned to the RTL start (right) so wide/wrapping values don't drift. */
[dir=rtl] .jc-val{text-align:right}
.jc-val{min-width:0}
.jc-row11-mb{display:flex;justify-content:space-between;font-size:11px;margin-bottom:2px}
.flex6-row11{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px solid rgba(var(--hi-rgb),.03);font-size:11px}
.flex8-mb4{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.flex6-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.flex6-end{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.bar-xs{width:42px;height:5px;background:var(--bg3);border-radius:3px;overflow:hidden}
.bar-sm{flex:1;height:4px;background:var(--bg3);border-radius:2px;overflow:hidden}
.bar-xs2{height:3px;background:var(--bg3);border-radius:2px;overflow:hidden}
.bar-bg1{height:4px;border-radius:2px;background:var(--bg1);overflow:hidden}
.card-center{background:var(--bg3);border:1px solid var(--bd1);border-radius:6px;padding:8px;text-align:center}
.col5-pad{padding:14px 16px;display:flex;flex-direction:column;gap:5px}
.mono{font-family:'Share Tech Mono',monospace}
.mono-t1{color:var(--t1);font-family:'Share Tech Mono',monospace}
.mono-t2{font-family:var(--fm);color:var(--t2)}
.mono-t2b{font-family:'Share Tech Mono',monospace;color:var(--t2)}
.mono-red{color:var(--red);font-family:var(--fm)}
.mono-12{font-family:var(--fm);font-size:12px}
.mono-t1-f1{font-family:var(--fm);color:var(--t1);flex:1}
.mono-t1-12{font-family:'Share Tech Mono',monospace;color:var(--t1);font-size:12px}
.mono-12-muted-mt{font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--t3);margin-top:2px}
.hb-11-muted{font-family:'Heebo',sans-serif;font-size:11px;color:var(--t3);margin-top:3px}
.hb-12-muted{font-family:'Heebo',sans-serif;font-size:12px;color:var(--t3);margin-top:12px}
.hb-ttl{font-family:'Heebo',sans-serif;font-size:11px;font-weight:700;color:var(--cyan);margin-bottom:6px}
.fb-semibold{font-family:var(--fb);font-weight:600;color:var(--t2)}
.val-end{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px;justify-content:flex-end}
.ttl-sm{font-size:11px;font-weight:600;color:var(--cyan);margin-bottom:6px}
.desc-text{font-size:14px;color:var(--t2);line-height:1.75;font-family:'Heebo',sans-serif}
.ellipsis-12{flex:1;min-width:0;font-family:'Heebo',sans-serif;font-size:12px;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── UTILITY — phase 9 ── */
.fmn{font-family:'Share Tech Mono','Heebo',sans-serif;color:var(--t2)}
.mono-t3{color:var(--t3);font-family:'Share Tech Mono',monospace}
.btn-ghost{background:var(--bg3);border:1px solid var(--bd1);color:var(--t2);padding:6px 12px;border-radius:6px;font-family:'Heebo',sans-serif;font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}
.empty-state{color:var(--t3);font-size:12px;text-align:center;padding:14px;font-family:'Heebo',sans-serif}
.wiz-err-title{color:var(--red);font-weight:700;font-size:16px;margin-bottom:6px}
.wiz-desc{color:var(--t2);font-size:13px;line-height:1.7}
.orb-9-cyan{font-family:var(--fd);font-size:9px;color:var(--cyan);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px}
.orb-9-muted{font-family:'Orbitron',sans-serif;font-size:9px;color:var(--t3);letter-spacing:1.4px;margin:0 0 6px;text-transform:uppercase}
.orb-10-muted-mb{font-family:'Orbitron',sans-serif;font-size:10px;color:var(--t3);letter-spacing:1.5px;margin-bottom:8px}
.tab-cell{padding:10px 12px;text-align:center;font-family:'Orbitron',sans-serif;font-size:10px;color:var(--t3);letter-spacing:1px;border-bottom:2px solid var(--bd1);width:70px}
.bar-60{width:60px;height:5px;background:rgba(var(--hi-rgb),.05);border-radius:3px;overflow:hidden}
.p710{padding:7px 10px}
.m-614{margin:6px 0 14px}
.fs24{font-size:24px}
.fs28{font-size:28px}
.tac-p16{text-align:center;padding:16px}
.flex8-mb6{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.tp-fb{color:var(--purple)}
.tp-hx{color:var(--purple)}

/* ── COPY BUTTON ── */
.copy-btn{background:none;border:none;color:var(--t3);cursor:pointer;padding:1px 4px;font-size:12px;border-radius:3px;transition:all .15s;vertical-align:middle;line-height:1;opacity:.6}
.copy-btn:hover{color:var(--cyan);opacity:1;background:rgba(var(--cyan-rgb),.1)}
.copy-btn.copied{color:var(--green)!important;opacity:1}
button{cursor:pointer;border:none;outline:none;font-family:'Heebo',sans-serif}
input,select,textarea{font-family:'Heebo',sans-serif;font-size:inherit;outline:none;border:none;background:none;color:inherit}
