:root{
  --eod-font: system-ui, -apple-system, Segoe UI, Roboto, Arial;
  --eod-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --eod-bgA: rgba(5,11,16,.90);
  --eod-bgB: rgba(7,16,24,.88);
  --eod-panel-bg: rgba(7,16,24,.92);
  --eod-panel-hi: rgba(11,24,34,.92);
  --eod-stroke: rgba(125,231,255,.78);
  --eod-text: rgba(215,247,255,.96);
  --eod-subtext: rgba(184,255,250,.88);
  --eod-danger: rgba(255,90,122,.96);
  --eod-amber: rgba(255,193,7,.95);
  --eod-ok: rgba(102,255,204,.95);

  --eod-radius-sm: 12px;
  --eod-radius-md: 14px;
  --eod-radius-lg: 16px;

  --eod-shadow: 0 10px 32px rgba(0,0,0,.46);
}

#ui-root{font-family:var(--eod-font); color:var(--eod-text);}

/* HUD scaffold */

.eod-movable-hud{position:absolute;pointer-events:auto;touch-action:none;transform-origin:top left;z-index:20;}
.eod-movable-hud.is-editing{outline:2px solid rgba(125,231,255,.48);outline-offset:3px;box-shadow:0 0 0 4px rgba(125,231,255,.08), 0 12px 28px rgba(0,0,0,.42);}

.eod-menu-fab{position:absolute;left:0;top:0;width:clamp(50px, 11vw, 62px);height:clamp(50px, 11vw, 62px);border-radius:999px;pointer-events:auto;touch-action:manipulation;appearance:none;border:1px solid rgba(125,231,255,.28);background:linear-gradient(180deg,var(--eod-bgB),var(--eod-bgA));box-shadow:0 10px 24px rgba(0,0,0,.38);color:rgba(215,247,255,.96);font:900 clamp(10px, 2.3vw, 11px)/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;z-index:24;transform-origin:top left;display:flex;align-items:center;justify-content:center;}
.eod-menu-fab:active{transform:translateY(1px);}

.eod-hud-edit-strip{position:absolute;left:50%;bottom:calc(78px + var(--safe-bottom, 0px));transform:translateX(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(125,231,255,.22);background:linear-gradient(180deg,var(--eod-bgB),var(--eod-bgA));box-shadow:0 12px 32px rgba(0,0,0,.42);pointer-events:auto;z-index:26;max-width:min(96vw, 760px);}
.eod-hud-edit-title{font:900 12px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(215,247,255,.92);white-space:nowrap;}
.eod-hud-scale-wrap{display:flex;align-items:center;gap:8px;font:800 11px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(215,247,255,.82);}
.eod-hud-scale-wrap input[type=range]{width:min(160px, 32vw);}
.eod-hud-edit-btn{appearance:none;border:none;background:rgba(125,231,255,.10);border:1px solid rgba(125,231,255,.28);border-radius:10px;color:rgba(215,247,255,.92);font:900 11px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;cursor:pointer;}
.eod-hud-edit-btn:hover{background:rgba(125,231,255,.14);}
.eod-hud-editing .eod-movable-hud{cursor:grab;}
.eod-hud-editing .eod-movable-hud:not(.is-editing){outline:1px dashed rgba(125,231,255,.16);outline-offset:2px;}
.eod-hud-editing .eod-movable-hud:not(.is-editing):hover{outline-color:rgba(125,231,255,.26);}
.eod-hud-lock{position:absolute;top:calc(10px + var(--safe-top, 0px));right:calc(10px + var(--safe-right, 0px));width:30px;height:30px;border-radius:999px;border:1px solid rgba(125,231,255,.18);background:rgba(7,16,24,.56);color:rgba(215,247,255,.76);font:900 14px/1 var(--eod-font);display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;z-index:30;box-shadow:0 8px 22px rgba(0,0,0,.28);opacity:.86;}
.eod-hud-lock:hover{opacity:1;background:rgba(7,16,24,.72);}
.eod-hud-lock.is-unlocked{border-color:rgba(255,193,7,.24);color:rgba(255,226,134,.92);}
.eod-hud-lock.is-locked{border-color:rgba(125,231,255,.24);color:rgba(215,247,255,.92);}
.eod-hud{position:absolute;inset:0;pointer-events:none;}
.eod-hud .row{display:flex;gap:10px;align-items:flex-start;}

.eod-pill{
  pointer-events:none;
  background:linear-gradient(180deg,var(--eod-bgB),var(--eod-bgA));
  border:1px solid rgba(125,231,255,.20);
  border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  padding:8px 10px;
  backdrop-filter: blur(2px);
}

.eod-pill.tight{padding:6px 8px;border-radius:12px;}

.eod-pill .title{font:700 12px/1 var(--eod-font);letter-spacing:.06em;text-transform:uppercase;color:rgba(215,247,255,.88);}
.eod-pill .mono{font-family:var(--eod-mono);}
.eod-pill .val{font:700 14px/1.1 var(--eod-mono);}
.eod-pill .sub{font:600 12px/1.2 var(--eod-font);color:rgba(215,247,255,.75);}

/* Top lanes */
.eod-hud-top{position:absolute;left:calc(10px + var(--safe-left, 0px));top:calc(10px + var(--safe-top, 0px));right:calc(10px + var(--safe-right, 0px));display:flex;justify-content:space-between;gap:10px;}
.eod-hud-top .left{display:flex;gap:10px;align-items:flex-start;}
.eod-hud-top .center{display:flex;gap:10px;align-items:flex-start;justify-content:center;flex:1;}
.eod-hud-top .right{display:flex;gap:10px;align-items:flex-start;justify-content:flex-end;}

/* Meters */
.eod-meters{display:flex;flex-direction:column;gap:8px;min-width:180px;}
.eod-meter{display:flex;align-items:center;gap:8px;}
.eod-meter .lbl{font:800 11px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(215,247,255,.78);min-width:28px;}
.eod-meter .bar{flex:1;height:10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);overflow:hidden;}
.eod-meter .fill{height:100%;width:50%;background:rgba(102,255,204,.85);}
.eod-meter.hp .fill{background:rgba(102,255,204,.85);} /* cyan */
.eod-meter.sh .fill{background:rgba(125,231,255,.70);} /* stroke */
.eod-meter.en .fill{background:rgba(255,193,7,.70);} /* amber */
.eod-meter .num{font:800 12px/1 var(--eod-mono);color:rgba(215,247,255,.92);min-width:66px;text-align:right;}

/* Debug line */
.eod-debug-pill{min-width:220px;max-width:min(420px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));pointer-events:auto;}
.eod-debug-pill pre{margin:6px 0 0 0;white-space:pre-wrap; font:700 12px/1.25 var(--eod-mono);color:rgba(215,247,255,.78);text-shadow:0 1px 0 rgba(0,0,0,.8);}
.eod-net-tray{position:absolute;min-width:336px;max-width:min(420px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));max-height:min(46vh, 360px);overflow:visible;pointer-events:auto;z-index:24;transition:transform .22s ease, box-shadow .18s ease, border-color .18s ease;transform-origin:right center;}
.eod-net-tray.is-collapsed{transform:translateX(100%);}
.eod-net-tray.is-open{box-shadow:0 12px 32px rgba(0,0,0,.40);border-color:rgba(125,231,255,.28);}
.eod-net-tray-handle{position:absolute;left:-30px;top:18px;width:30px;height:92px;border:1px solid rgba(125,231,255,.22);border-right:none;border-radius:12px 0 0 12px;background:linear-gradient(180deg,rgba(18,35,48,.98),rgba(8,18,26,.98));color:rgba(215,247,255,.90);font:900 11px/1 var(--eod-font);letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;box-shadow:0 10px 24px rgba(0,0,0,.30);}
.eod-net-tray-body{padding-left:0;display:flex;flex-direction:column;min-height:196px;}
.eod-net-tray-hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:6px;}
.eod-net-tray-hdr .sub{font:700 11px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(125,231,255,.72);}
.eod-net-tray pre{margin:0;overflow:auto;max-height:min(40vh, 300px);padding-right:4px;white-space:pre-wrap;font:700 11px/1.24 var(--eod-mono);color:rgba(215,247,255,.82);text-shadow:0 1px 0 rgba(0,0,0,.75);}
.eod-net-tray .title,.eod-net-tray .sub,.eod-net-tray-controls,.eod-net-tray pre{padding-left:8px;padding-right:2px;}
.eod-net-tray pre::-webkit-scrollbar{width:8px;height:8px;}
.eod-net-tray pre::-webkit-scrollbar-thumb{background:rgba(125,231,255,.20);border-radius:999px;}

/* Toasts */
.eod-toasts{position:absolute;left:calc(10px + var(--safe-left, 0px));right:calc(10px + var(--safe-right, 0px));bottom:calc(10px + var(--safe-bottom, 0px));display:flex;flex-direction:column;gap:8px;align-items:flex-start;pointer-events:none;}
.eod-toast{pointer-events:none;max-width:min(560px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));}
.eod-toast .msg{font:800 12px/1.15 var(--eod-font);letter-spacing:.02em;color:rgba(215,247,255,.92);}
.eod-enemy-hp-toast{min-width:min(340px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));display:flex;flex-direction:column;gap:6px;}
.eod-enemy-hp-toast .hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.eod-enemy-hp-toast .label{font:800 11px/1 var(--eod-font);letter-spacing:.08em;color:rgba(255,245,205,.94);}
.eod-enemy-hp-toast .value{font:800 11px/1 var(--eod-font);color:rgba(255,236,170,.96);}
.eod-enemy-hp-toast .sub{font:800 10px/1 var(--eod-font);letter-spacing:.06em;color:rgba(214,232,241,.75);}
.eod-enemy-hp-toast .bar{position:relative;height:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09);}
.eod-enemy-hp-toast .fill{height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg, rgba(255,118,118,.95), rgba(255,214,102,.95));transition:width 80ms linear;}
.eod-enemy-hp-toast[data-state='critical'] .fill,.eod-enemy-hp-toast[data-state='dead'] .fill{background:linear-gradient(90deg, rgba(255,70,118,.98), rgba(255,140,90,.95));}
.eod-enemy-hp-toast[data-state='dead'] .label,.eod-enemy-hp-toast[data-state='dead'] .value{color:rgba(255,170,170,.94);}
.eod-mission-card{max-width:min(620px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));border-color:rgba(102,255,204,.26);background:linear-gradient(180deg, rgba(10,24,26,.96), rgba(7,16,24,.96));box-shadow:0 12px 30px rgba(0,0,0,.42), inset 0 0 0 1px rgba(102,255,204,.04);}
.eod-mission-card.success{border-color:rgba(102,255,204,.26);}
.eod-mission-card.fail{border-color:rgba(255,106,132,.34);background:linear-gradient(180deg, rgba(28,12,18,.96), rgba(14,10,18,.96));box-shadow:0 12px 30px rgba(0,0,0,.46), inset 0 0 0 1px rgba(255,106,132,.06);}
.eod-mission-card.elite{box-shadow:0 12px 34px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,211,127,.08);}
.eod-mission-card.boss .title{color:rgba(255,225,154,.98);}
.eod-mission-card .kicker{font:900 10px/1 var(--eod-font);letter-spacing:.14em;text-transform:uppercase;color:rgba(102,255,204,.82);margin-bottom:4px;}
.eod-mission-card.fail .kicker{color:rgba(255,135,156,.86);}
.eod-mission-card .title{font:900 13px/1.08 var(--eod-font);letter-spacing:.05em;text-transform:uppercase;color:rgba(215,247,255,.96);margin-bottom:5px;}
.eod-mission-card .meta{font:900 10px/1 var(--eod-font);letter-spacing:.12em;text-transform:uppercase;color:rgba(125,231,255,.76);margin-bottom:6px;}
.eod-mission-card.fail .meta{color:rgba(255,181,192,.76);}
.eod-mission-card .summary{font:800 12px/1.25 var(--eod-font);color:rgba(215,247,255,.90);margin-bottom:6px;}
.eod-mission-card.fail .summary{color:rgba(255,214,220,.90);}
.eod-mission-card .reward{font:800 12px/1.25 var(--eod-font);color:rgba(215,247,255,.84);}
.eod-mission-card.fail .reward{color:rgba(255,190,204,.82);}

/* Bottom cluster: radar + comms + small panels */
.eod-hud-bottom{position:absolute;left:calc(10px + var(--safe-left, 0px));right:calc(10px + var(--safe-right, 0px));bottom:calc(10px + var(--safe-bottom, 0px));display:flex;justify-content:space-between;align-items:flex-end;gap:10px;pointer-events:none;}
.eod-hud-bottom .left{display:flex;gap:10px;align-items:flex-end;pointer-events:none;}
.eod-hud-bottom .right{display:flex;gap:10px;align-items:flex-end;justify-content:flex-end;pointer-events:none;}

.eod-radar-pill{width:156px;min-width:156px;}

.eod-ship-pill{min-width:220px;max-width:min(260px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));}
.eod-ship-pill .val{font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eod-ship-pill .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eod-missile-pill{min-width:220px;max-width:min(280px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));border-color:rgba(159,246,255,.24);background:linear-gradient(180deg,rgba(14,28,38,.96),rgba(7,16,24,.96));}
.eod-missile-pill .val{font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eod-missile-pill .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eod-missile-pill .hint{color:rgba(159,246,255,.72);font-size:11px;}
.eod-radar-wrap{width:140px;height:140px;display:flex;align-items:center;justify-content:center;}
.eod-radar-svg{width:140px;height:140px;display:block;}
.eod-radar-meta{display:flex;justify-content:space-between;gap:8px;margin-top:6px;}
.eod-radar-meta .mono{font:800 12px/1 var(--eod-mono);color:rgba(215,247,255,.80);}

.eod-btn-pill{pointer-events:auto;cursor:pointer;user-select:none;}
.eod-btn-pill:active{transform:translateY(1px);}

/* Reticle (cursor/aim) */
.eod-reticle{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:99990;}
.eod-reticle .ring{position:absolute;left:0;top:0;width:46px;height:46px;border-radius:999px;border:2px solid rgba(125,231,255,.35);box-shadow:0 0 18px rgba(125,231,255,.10);transform:translate(-50%,-50%);}
.eod-reticle .dot{position:absolute;left:0;top:0;width:6px;height:6px;border-radius:999px;background:rgba(215,247,255,.92);box-shadow:0 0 10px rgba(125,231,255,.22);transform:translate(-50%,-50%);}
.eod-reticle .tickH,.eod-reticle .tickV{position:absolute;left:0;top:0;background:rgba(125,231,255,.45);transform:translate(-50%,-50%);}
.eod-reticle .tickH{width:18px;height:2px;}
.eod-reticle .tickV{width:2px;height:18px;}

/* Building tip (DOM/CSS only) */
.eod-tip{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(84px + var(--safe-bottom, 0px));width:min(620px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));max-width:min(620px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));pointer-events:auto;display:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;border:1px solid rgba(125,231,255,.22);background:linear-gradient(180deg,rgba(7,16,24,.94),rgba(5,11,16,.94));box-shadow:0 14px 34px rgba(0,0,0,.42);backdrop-filter:blur(3px);z-index:99994;}
.eod-tip.is-pinned{border-color:rgba(102,255,204,.26);box-shadow:0 14px 34px rgba(0,0,0,.42), inset 0 0 0 1px rgba(102,255,204,.06);}
.eod-tip.is-focus,.eod-tip-btn.is-focus{box-shadow:0 0 0 2px rgba(125,231,255,.30),0 0 0 4px rgba(125,231,255,.10),0 14px 34px rgba(0,0,0,.42);border-color:rgba(125,231,255,.60);}
.eod-tip-copy{pointer-events:none;min-width:0;display:flex;flex-direction:column;gap:4px;}
.eod-tip-kicker{font:900 10px/1 var(--eod-font);letter-spacing:.12em;text-transform:uppercase;color:rgba(184,255,250,.72);}
.eod-tip-title{font:900 13px/1.05 var(--eod-font);letter-spacing:.05em;text-transform:uppercase;color:rgba(215,247,255,.92);word-break:break-word;}
.eod-tip-meta{font:800 12px/1.2 var(--eod-font);color:rgba(215,247,255,.80);word-break:break-word;}
.eod-tip-actions{display:flex;align-items:center;justify-content:flex-end;}
.eod-tip-btn{appearance:none;border:none;background:rgba(125,231,255,.10);border:1px solid rgba(125,231,255,.28);border-radius:12px;color:rgba(215,247,255,.94);font:900 11px/1 var(--eod-font);letter-spacing:.10em;text-transform:uppercase;padding:11px 14px;cursor:pointer;pointer-events:auto;white-space:nowrap;display:none;align-items:center;justify-content:center;min-height:44px;min-width:140px;flex:0 0 auto;}
.eod-tip-btn:hover{background:rgba(125,231,255,.14);}

/* Comms panel */
.eod-comms-panel{position:absolute;right:calc(10px + var(--safe-right, 0px));bottom:calc(172px + var(--safe-bottom, 0px));width:min(380px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 20px));display:none;pointer-events:auto;}
.eod-comms-panel .hdr{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;}
.eod-comms-panel .hdr .lhs{display:flex;flex-direction:column;gap:4px;}
.eod-comms-panel .hdr .title{font:900 12px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(215,247,255,.92);}
.eod-comms-panel .state{font:900 11px/1 var(--eod-font);letter-spacing:.10em;text-transform:uppercase;color:rgba(125,231,255,.82);}
.eod-comms-panel .hint{font:700 12px/1.3 var(--eod-font);color:rgba(215,247,255,.72);margin:0 0 10px 0;}
.eod-comms-panel .close,.eod-comms-fbtn{appearance:none;border:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:rgba(215,247,255,.88);font:900 11px/1 var(--eod-font);padding:8px 10px;cursor:pointer;}
.eod-comms-faction{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.eod-comms-faction .label{font:900 11px/1 var(--eod-font);letter-spacing:.10em;text-transform:uppercase;color:rgba(215,247,255,.80);}
.eod-comms-faction .buttons{display:flex;gap:8px;}
.eod-comms-fbtn{flex:1;padding:10px 8px;}
.eod-comms-fbtn.active{border-color:rgba(125,231,255,.32);background:rgba(125,231,255,.12);}
.eod-comms-fbtn.disabled,.eod-comms-fbtn:disabled{opacity:.52;cursor:default;}
.eod-comms-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto;padding-right:2px;}
.eod-comms-row{appearance:none;width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);cursor:pointer;text-align:left;color:inherit;}
.eod-comms-row:hover{background:rgba(255,255,255,.06);}
.eod-comms-row .l{display:flex;flex-direction:column;gap:4px;min-width:0;}
.eod-comms-row .k{font:900 11px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(215,247,255,.88);}
.eod-comms-row .s{font:700 11px/1.2 var(--eod-font);color:rgba(215,247,255,.70);}
.eod-comms-row .d{font:800 12px/1 var(--eod-mono);color:rgba(215,247,255,.78);white-space:nowrap;}
.eod-comms-row.tracked{border-color:rgba(125,231,255,.30);background:rgba(125,231,255,.06);}

/* Touch controls (DOM sticks + buttons) */
.eod-touch{position:absolute;inset:0;pointer-events:none;}
.eod-stick-zone{position:absolute;pointer-events:auto;touch-action:none;}
.eod-stick-base, .eod-stick-knob{position:absolute;border-radius:999px;transform:translate(-50%,-50%);}
.eod-stick-base{width:120px;height:120px;background:rgba(7,16,24,.22);border:2px solid rgba(125,231,255,.22);backdrop-filter: blur(1px);display:none;}
.eod-stick-knob{width:44px;height:44px;background:rgba(125,231,255,.14);border:2px solid rgba(125,231,255,.38);display:none;}

.eod-touch-btn{position:absolute;pointer-events:auto;touch-action:manipulation;appearance:none;border:none;background:rgba(7,16,24,.50);
  border:1px solid rgba(255,255,255,.14);border-radius:14px;min-width:52px;min-height:52px;
  color:rgba(215,247,255,.92);font:900 12px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.eod-touch-btn:active{transform:translateY(1px);}

/* Small screens tighten */
@media (max-width: 560px){
  .eod-menu-fab{width:52px;height:52px;font-size:10px;}
  .eod-hud-lock{width:28px;height:28px;font-size:13px;}
  .eod-hud-edit-strip{bottom:calc(70px + var(--safe-bottom, 0px));gap:8px;padding:9px 10px;max-width:calc(100vw - 12px);}
  .eod-hud-scale-wrap input[type=range]{width:min(132px, 42vw);}
  .eod-hud-edit-btn{padding:9px 10px;}
  .eod-pill{padding:7px 9px;border-radius:13px;}
  .eod-meters{min-width:160px;}
  .eod-radar-pill{width:140px;min-width:140px;}
  .eod-ship-pill{min-width:190px;max-width:220px;}
  .eod-net-tray{min-width:300px;max-height:min(52vh, 340px);}
  .eod-net-tray pre{max-height:min(44vh, 278px);font-size:10px;}
  .eod-radar-wrap{width:124px;height:124px;}
  .eod-radar-svg{width:124px;height:124px;}
}

/* Buff strip (active powerups) */
.eod-buffs{display:flex;gap:6px;align-items:center;margin-top:6px;}
.eod-buff{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.eod-buff img{width:18px;height:18px;display:block;image-rendering:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));}
.eod-buff .t{display:flex;flex-direction:column;gap:1px;}
.eod-buff .sec{font:900 11px/1 var(--eod-mono);color:rgba(215,247,255,.86);}
.eod-buff .lvl{font:900 10px/1 var(--eod-font);letter-spacing:.06em;text-transform:uppercase;color:rgba(215,247,255,.62);}

/* Overheat bar */
.eod-meter .bar.thin{height:6px;}
.eod-meter.heat .fill{background:var(--eod-amber);}
.eod-meter.heat .num{min-width:78px;font-size:11px;color:rgba(215,247,255,.72);}

/* Respawn / Game Over overlay */
.eod-respawn-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:99995;background:rgba(0,0,0,.55);backdrop-filter: blur(2px);}
.eod-respawn-overlay .inner{display:flex;flex-direction:column;align-items:center;gap:10px;}
.eod-respawn-overlay .num{font:900 86px/1 var(--eod-mono);color:rgba(215,247,255,.98);text-shadow:0 8px 26px rgba(0,0,0,.65);}
.eod-respawn-overlay .lbl{font:900 14px/1 var(--eod-font);letter-spacing:.12em;text-transform:uppercase;color:rgba(215,247,255,.82);}

/* Inventory / Transfer DOM modals */
.eod-modal-backdrop{position:absolute;inset:0;display:none;background:rgba(0,0,0,.58);pointer-events:auto;z-index:99996;backdrop-filter:blur(2px);}
.eod-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(980px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 16px));max-width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 16px);max-height:calc(var(--app-height,100vh) - var(--safe-top,0px) - var(--safe-bottom,0px) - 16px);display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:12px;pointer-events:auto;}
.eod-scaleable-modal{--eod-content-scale:0.90;}
.eod-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.eod-modal-titlewrap{min-width:0;display:flex;flex-direction:column;gap:4px;}
.eod-modal-title{font:900 clamp(18px, 4.5vw, 28px)/1 var(--eod-font);letter-spacing:.02em;color:var(--eod-text);}
.eod-modal-sub{font:800 clamp(11px, 2.8vw, 14px)/1.2 var(--eod-mono);color:rgba(184,255,250,.86);white-space:pre-wrap;}
.eod-modal-close,.eod-modal-btn,.eod-modal-tab,.eod-slot{appearance:none;border:none;outline:none;}
.eod-modal-close,.eod-modal-btn,.eod-modal-tab{background:rgba(125,231,255,.08);border:1px solid rgba(125,231,255,.22);color:rgba(215,247,255,.94);border-radius:calc(14px * var(--eod-content-scale));font:900 calc(13px * var(--eod-content-scale))/1 var(--eod-font);letter-spacing:.05em;cursor:pointer;}
.eod-modal-close{padding:12px 14px;white-space:nowrap;min-width:96px;}
.eod-modal-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.eod-content-scale-wrap{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;width:100%;}
.eod-content-scale-title{font:900 11px/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(215,247,255,.78);margin-right:auto;}
.eod-content-scale-readout{min-width:52px;text-align:center;font:900 13px/1 var(--eod-mono);color:rgba(215,247,255,.92);}
.eod-scale-btn{min-width:56px;}
.eod-modal-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(8px * var(--eod-content-scale));}
.eod-modal-tab{min-height:calc(52px * var(--eod-content-scale));padding:calc(10px * var(--eod-content-scale)) calc(8px * var(--eod-content-scale));text-align:center;}
.eod-modal-tab.is-active{border-color:rgba(102,255,204,.52);box-shadow:inset 0 0 0 1px rgba(102,255,204,.20);background:rgba(102,255,204,.10);}
.eod-modal-body{display:flex;flex-direction:column;gap:calc(12px * var(--eod-content-scale));min-height:0;overflow:auto;padding-right:2px;overscroll-behavior:contain;}
.eod-grid-panel{display:flex;flex-direction:column;gap:calc(10px * var(--eod-content-scale));min-width:0;}
.eod-slot-grid{display:grid;gap:calc(8px * var(--eod-content-scale));min-width:0;}
.eod-slot-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.eod-slot{min-width:0;min-height:calc(70px * var(--eod-content-scale));padding:calc(8px * var(--eod-content-scale)) calc(8px * var(--eod-content-scale)) calc(6px * var(--eod-content-scale));border-radius:calc(16px * var(--eod-content-scale));background:rgba(255,255,255,.04);border:1px solid rgba(125,231,255,.16);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;color:var(--eod-text);gap:calc(6px * var(--eod-content-scale));overflow:hidden;}
.eod-slot:hover{background:rgba(255,255,255,.06);}
.eod-slot.is-selected{border-color:rgba(102,255,204,.56);background:rgba(102,255,204,.10);box-shadow:inset 0 0 0 1px rgba(102,255,204,.20);}
.eod-slot.is-focus,.eod-modal-btn.is-focus,.eod-modal-close.is-focus,.eod-modal-tab.is-focus{box-shadow:0 0 0 2px rgba(125,231,255,.30), 0 0 0 4px rgba(125,231,255,.10);border-color:rgba(125,231,255,.60);}
.eod-slot.is-zero .eod-slot-qty{opacity:.66;}
.eod-slot:disabled,.eod-modal-btn:disabled,.eod-modal-close:disabled,.eod-modal-tab:disabled{opacity:.48;cursor:default;}
.eod-slot[hidden]{display:none!important;}
.eod-slot-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:calc(34px * var(--eod-content-scale));height:calc(28px * var(--eod-content-scale));padding:0 calc(8px * var(--eod-content-scale));border-radius:calc(10px * var(--eod-content-scale));background:rgba(125,231,255,.10);border:1px solid rgba(125,231,255,.18);font:900 calc(12px * var(--eod-content-scale))/1 var(--eod-mono);color:rgba(215,247,255,.88);overflow:hidden;}

.eod-item-badge-art{display:none;position:absolute;inset:2px;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 0 8px rgba(125,231,255,.10));}
.eod-item-badge-code{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;}
.eod-slot-badge.has-icon,.eod-details-badge.has-icon{padding:0;}
.eod-slot-badge.has-icon .eod-item-badge-art,.eod-details-badge.has-icon .eod-item-badge-art{display:block;}
.eod-slot-badge.has-icon .eod-item-badge-code,.eod-details-badge.has-icon .eod-item-badge-code{display:none;}

.eod-slot-name{display:block;width:100%;font:800 calc(11px * var(--eod-content-scale))/1.15 var(--eod-font);color:rgba(215,247,255,.86);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eod-slot-qty{display:block;width:100%;font:900 calc(16px * var(--eod-content-scale))/1 var(--eod-mono);color:rgba(215,247,255,.98);text-align:right;}
.eod-details-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:calc(12px * var(--eod-content-scale));align-items:center;padding:calc(12px * var(--eod-content-scale));border-radius:calc(16px * var(--eod-content-scale));background:rgba(255,255,255,.04);border:1px solid rgba(125,231,255,.16);min-height:calc(84px * var(--eod-content-scale));}
.eod-details-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:calc(52px * var(--eod-content-scale));height:calc(52px * var(--eod-content-scale));border-radius:calc(14px * var(--eod-content-scale));background:rgba(125,231,255,.10);border:1px solid rgba(125,231,255,.18);font:900 calc(16px * var(--eod-content-scale))/1 var(--eod-mono);color:rgba(215,247,255,.92);overflow:hidden;}
.eod-details-copy{min-width:0;display:flex;flex-direction:column;gap:calc(6px * var(--eod-content-scale));}
.eod-details-title{font:900 calc(15px * var(--eod-content-scale))/1.1 var(--eod-font);color:rgba(215,247,255,.96);}
.eod-details-text{font:800 calc(12px * var(--eod-content-scale))/1.35 var(--eod-font);color:rgba(184,255,250,.82);white-space:pre-wrap;word-break:break-word;}
.eod-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--eod-content-scale));flex-wrap:wrap;}
.eod-pager{display:flex;align-items:center;gap:calc(8px * var(--eod-content-scale));}
.eod-page-text{min-width:48px;text-align:center;font:900 calc(14px * var(--eod-content-scale))/1 var(--eod-mono);color:rgba(215,247,255,.92);}
.eod-modal-btn{padding:calc(12px * var(--eod-content-scale)) calc(14px * var(--eod-content-scale));min-height:calc(48px * var(--eod-content-scale));display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}
.eod-modal-btn.small{min-width:calc(52px * var(--eod-content-scale));padding:calc(10px * var(--eod-content-scale)) calc(12px * var(--eod-content-scale));}
.eod-modal-btn.accent,.eod-modal-btn.action{background:rgba(102,255,204,.10);border-color:rgba(102,255,204,.24);}
.eod-transfer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.78fr) minmax(0,1fr);gap:calc(12px * var(--eod-content-scale));align-items:start;}
.eod-transfer-pane{min-width:0;}
.eod-transfer-center{min-width:0;}
.eod-transfer-center-head{display:flex;flex-direction:column;gap:calc(8px * var(--eod-content-scale));padding:calc(10px * var(--eod-content-scale)) calc(12px * var(--eod-content-scale));border-radius:calc(16px * var(--eod-content-scale));background:rgba(255,255,255,.04);border:1px solid rgba(125,231,255,.16);}
.eod-transfer-flow{font:800 calc(12px * var(--eod-content-scale))/1.3 var(--eod-font);color:rgba(184,255,250,.82);word-break:break-word;}
.eod-pane-head{display:flex;align-items:center;justify-content:space-between;gap:calc(8px * var(--eod-content-scale));}
.eod-pane-label{font:900 calc(13px * var(--eod-content-scale))/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(215,247,255,.88);}
.eod-amt-wrap{display:flex;flex-direction:column;gap:calc(10px * var(--eod-content-scale));padding:calc(10px * var(--eod-content-scale)) calc(12px * var(--eod-content-scale));border-radius:calc(16px * var(--eod-content-scale));background:rgba(255,255,255,.04);border:1px solid rgba(125,231,255,.16);}
.eod-amount-label{font:900 calc(11px * var(--eod-content-scale))/1 var(--eod-font);letter-spacing:.08em;text-transform:uppercase;color:rgba(215,247,255,.72);text-align:center;}
.eod-amount-text{text-align:center;font:900 calc(18px * var(--eod-content-scale))/1 var(--eod-mono);color:rgba(215,247,255,.96);}
.eod-amt-row{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(8px * var(--eod-content-scale));}
.eod-transfer-actions{display:grid;grid-template-columns:1fr;gap:calc(10px * var(--eod-content-scale));}

@media (max-width: 900px){
  .eod-transfer-main{grid-template-columns:1fr;}
}
@media (max-width: 700px){
  .eod-tip{bottom:calc(72px + var(--safe-bottom, 0px));width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 12px);max-width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 12px);grid-template-columns:1fr;align-items:stretch;gap:10px;padding:10px;}
  .eod-tip-actions{justify-content:stretch;}
  .eod-tip-btn{width:100%;min-width:0;}
  .eod-modal-card{width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 10px);max-height:calc(var(--app-height,100vh) - var(--safe-top,0px) - var(--safe-bottom,0px) - 10px);padding:10px;border-radius:14px;gap:8px;}
}
@media (max-width: 560px){
  .eod-modal-card{padding:9px;}
  .eod-modal-title{font-size:clamp(17px, 4.8vw, 24px);}
  .eod-modal-sub{font-size:11px;}
  .eod-content-scale-wrap{justify-content:stretch;}
  .eod-content-scale-title{width:100%;margin-right:0;}
  .eod-scale-btn,.eod-content-scale-readout{flex:1 1 0;min-width:0;}
  .eod-modal-tabs{gap:6px;}
  .eod-modal-tab{font-size:12px;}
  .eod-slot-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
  .eod-transfer-actions{grid-template-columns:1fr;}
  .eod-modal-close,.eod-modal-btn{font-size:12px;}
}


/* Building panel DOM/CSS */
.eod-building-panel-card{width:min(760px, calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 16px));max-width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 16px);--eod-content-scale:0.88;}
.eod-building-panel-body{gap:10px;}
.eod-building-role-card{min-height:unset;}
.eod-building-lines-card{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(125,231,255,.16);min-height:0;}
.eod-building-lines{font:800 13px/1.35 var(--eod-mono);color:rgba(215,247,255,.92);white-space:pre-wrap;word-break:break-word;max-height:38vh;overflow:auto;padding-right:2px;}
.eod-building-panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.eod-building-panel-btn{min-width:0;white-space:normal;text-align:center;}

@media (max-width: 700px){
  .eod-building-panel-card{width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 10px);--eod-content-scale:0.82;}
  .eod-building-lines{max-height:30vh;font-size:12px;}
  .eod-building-panel-actions{grid-template-columns:1fr;}
}


.eod-movable-hud,.eod-pill,.eod-pill *,.eod-net-tray,.eod-net-tray *{cursor:default;}
.eod-net-tray-handle,.eod-net-tray-btn,.eod-btn-pill,.eod-tip-btn,.eod-comms-row,.eod-comms-fbtn,.eod-modal-close,.eod-modal-btn,.eod-modal-tab{cursor:pointer;}
.eod-net-tray-controls{display:flex;gap:8px;align-items:center;margin:0 0 8px 0;flex-wrap:wrap;}
.eod-net-tray-btn{appearance:none;border:1px solid rgba(125,231,255,.22);background:rgba(125,231,255,.08);color:rgba(215,247,255,.92);border-radius:10px;padding:7px 10px;font:900 11px/1 var(--eod-font);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
.eod-net-tray-btn.is-active{background:rgba(125,231,255,.18);border-color:rgba(125,231,255,.36);box-shadow:0 0 0 1px rgba(125,231,255,.12) inset;}
@media (max-width: 900px){
  .eod-net-tray{display:none !important;}
}
