.sim-section-lbl { font-family:'Orbitron',monospace;font-size:9px;letter-spacing:2px;color:var(--textsoft);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,0.07); }
.sim-row { display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,0.04); }
.sim-ico { font-size:14px;width:20px;text-align:center;flex-shrink:0; }
.sim-info { flex:1;min-width:0; }
.sim-name { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textmid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.sim-stat { font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--textsoft); }
.sim-max-btn { font-family:'Share Tech Mono',monospace;font-size:9px;padding:2px 5px;border-radius:3px;cursor:pointer;border:1px solid rgba(212,146,10,0.3);color:var(--gold);background:rgba(212,146,10,0.08);flex-shrink:0; }
.sim-max-btn:hover { background:rgba(212,146,10,0.18); }
.sim-empty { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textsoft);padding:12px 0;text-align:center;font-style:italic; }
.sim-atk-list { max-height:200px;overflow-y:auto;margin-bottom:4px; }
.sim-presets { display:flex;flex-wrap:wrap;gap:4px;margin:6px 0; }
.sim-preset-btn { font-family:'Share Tech Mono',monospace;font-size:9px;padding:3px 8px;border-radius:4px;cursor:pointer;border:1px solid rgba(255,255,255,0.12);color:var(--textmid);background:rgba(255,255,255,0.04);transition:all 0.15s; }
.sim-preset-btn:hover { border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),0.08); }
.sim-def-row { display:flex;align-items:center;gap:8px;margin-top:4px;font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textmid); }
.sim-verdict { font-family:'Orbitron',monospace;font-size:16px;font-weight:700;text-align:center;margin-bottom:8px;letter-spacing:1px; }
.sim-bar-wrap { height:12px;background:rgba(255,255,255,0.07);border-radius:6px;margin:6px 0;overflow:hidden;display:flex; }
.sim-bar-labels { display:flex;justify-content:space-between;font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textmid); }
.sim-losses { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textsoft);margin-top:8px;text-align:center;line-height:1.5; }
/* Active commanders indicator */
.gcmd-wrap { margin:0 0 6px; }
.gcmd-list { display:flex;flex-direction:column;gap:3px; }
.gcmd-item { display:flex;align-items:center;gap:7px;padding:4px 7px;background:rgba(var(--accent-rgb),0.05);border:1px solid rgba(var(--accent-rgb),0.12);border-radius:5px; }
.gcmd-item.villain { background:rgba(220,60,60,0.05);border-color:rgba(220,60,60,0.18); }
.gcmd-av { font-size:15px; }
.gcmd-body { flex:1;min-width:0; }
.gcmd-nm { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textbright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.gcmd-bns { font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--success); }
.gcmd-lv { font-family:'Orbitron',monospace;font-size:9px;font-weight:700;color:var(--gold2);flex-shrink:0; }
.gcmd-tokens { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--gold2);text-align:center;padding:4px;background:rgba(212,146,10,0.06);border:1px solid rgba(212,146,10,0.12);border-radius:4px;margin-top:3px; }
.gcmd-empty { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textsoft);padding:5px 0;text-align:center;line-height:1.6; }
/* Mission rewards preview */
.gmt.sim-tab { color:var(--success); border-color:rgba(46,204,136,0.35); }
.gmt.sim-tab:hover { background:rgba(46,204,136,0.1); border-color:var(--success); }
/* Simulator */
.sim-col-lbl  { font-family:'Orbitron',monospace;font-size:9px;letter-spacing:2px;color:var(--textsoft);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,0.07); }
.sim-unit-row { display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,0.04); }
.sim-unit-name{ font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--textmid);flex:1; }
.sim-unit-stats{ font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textsoft);width:80px;text-align:right; }
.sim-input    { width:60px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:3px;color:var(--textbright);font-family:'Share Tech Mono',monospace;font-size:10px;padding:2px 5px;text-align:right; }
.sim-result   { border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:12px 14px;background:rgba(255,255,255,0.03); }
.sim-res-bar-wrap { height:10px;background:rgba(255,255,255,0.07);border-radius:5px;margin:6px 0;overflow:hidden;display:flex; }
.sim-res-atk  { background:rgba(var(--accent-rgb),0.7);height:100%;transition:width 0.4s; }
.sim-res-def  { background:rgba(192,57,43,0.7);height:100%;transition:width 0.4s; }
.sim-win-pct  { font-family:'Orbitron',monospace;font-size:16px;font-weight:700;text-align:center;margin-bottom:4px; }
/* Profile title */
.player-title { font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--gold);letter-spacing:1px; }
.player-motto { font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--textsoft);font-style:italic; }
/* Profile edit — title list */
.pe-title-list { max-height:200px; overflow-y:auto; display:flex; flex-direction:column; gap:3px; }
.pe-title-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:5px 8px; border-radius:4px; cursor:pointer;
  border:1px solid transparent; transition:all 0.15s;
  background:rgba(255,255,255,0.02);
}
.pe-title-row:hover { background:rgba(var(--accent-rgb),0.08); border-color:rgba(var(--accent-rgb),0.2); }
.pe-title-row.pe-title-active { background:rgba(var(--accent-rgb),0.15); border-color:rgba(var(--accent-rgb),0.4); }
.pe-title-row.pe-title-locked { opacity:0.4; cursor:default; }
.pe-title-row.pe-title-locked:hover { background:rgba(255,255,255,0.02); border-color:transparent; }
.pe-title-name { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--text); }
.pe-title-active .pe-title-name { color:var(--accent2); }
.pe-title-locked .pe-title-name { color:var(--textsoft); }
.pe-title-cond { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); }
.pe-title-cond.pe-title-ok { color:var(--success); }
.pe-title-locked .pe-title-cond { color:var(--danger); opacity:0.7; }
/* Profile KPIs */
.pe-kpi {
  background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06);
  border-radius:6px; padding:8px 4px; text-align:center;
}
.pe-kpi-val { font-family:'Orbitron',monospace; font-size:12px; font-weight:700; color:var(--gold); }
.pe-kpi-lbl { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); text-transform:uppercase; letter-spacing:0.5px; margin-top:2px; }
/* Profile section headers */
.pe-section-hdr {
  font-family:'Orbitron',monospace; font-size:10px; font-weight:600; letter-spacing:1px;
  color:var(--textmid); padding:8px 10px; cursor:pointer; list-style:none;
  background:rgba(255,255,255,0.02); border-bottom:1px solid rgba(255,255,255,0.04);
}
.pe-section-hdr::-webkit-details-marker { display:none; }
.pe-section-hdr::before { content:'▸ '; color:var(--accent); transition:transform 0.2s; }
details[open] > .pe-section-hdr::before { content:'▾ '; }
/* Profile buildings grid */
.pe-bld-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:6px 8px; }
.pe-bld {
  display:flex; align-items:center; gap:4px; padding:4px 6px;
  background:rgba(255,255,255,0.02); border-radius:4px;
  font-family:'Share Tech Mono',monospace; font-size:9px;
}
.pe-bld-ico { font-size:12px; flex-shrink:0; }
.pe-bld-name { flex:1; color:var(--textmid); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pe-bld-lv { color:var(--gold); font-weight:bold; }
/* Offline report */
.offline-row  { display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.05); }
.offline-ico  { font-size:18px;width:28px;text-align:center;flex-shrink:0; }
.offline-lbl  { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textmid);flex:1; }
.offline-val  { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--gold2);font-weight:bold; }

/* ── SG-1 member selection ── */
.sg1-member { cursor:pointer; transition:all 0.2s; border:1px solid transparent; border-radius:6px; padding:2px; }
.sg1-member:hover { background:rgba(var(--accent2-rgb),0.06); border-color:rgba(var(--accent2-rgb),0.2); }
.sg1-member.selected { background:rgba(212,146,10,0.12); border-color:var(--gold); box-shadow:0 0 10px rgba(212,146,10,0.2); }
.sg1-member.selected .ts-ok { color:var(--gold2); font-size:9px; }
.ts-bonus { font-size:9px; color:var(--accent3); font-family:'Share Tech Mono',monospace; }
.sg1-member.selected .ts-bonus { color:var(--gold2); }

/* ── PvP target buttons ── */
.pvp-target-btn {
  cursor:pointer; padding:7px 10px; margin-bottom:4px;
  background:var(--surface2); border:1px solid var(--border); border-radius:6px;
  transition:all 0.18s;
}
.pvp-target-btn:hover { border-color:var(--danger); background:rgba(224,80,80,0.08); }
.pvp-target-btn.active { border-color:var(--danger); background:rgba(224,80,80,0.12); box-shadow:0 0 8px rgba(224,80,80,0.2); }
.pvp-target-btn .pb-name { font-family:'Orbitron',monospace; font-size:9px; font-weight:700; color:var(--danger); letter-spacing:1px; }
.pvp-target-btn .pb-code { font-size:9px; color:var(--textsoft); margin-top:2px; font-family:'Share Tech Mono',monospace; }

/* ── Gate spark particles ── */
.ovw-layout { display:flex; flex-direction:column; gap:0; }
/* Compact slots row */
.ovw-slots-row {
  display:flex; gap:8px; padding:8px 14px;
  background:rgba(4,8,15,0.70); border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.ovw-slot-hdr { font-family:'Orbitron',monospace; font-size:10px; letter-spacing:1.5px; color:var(--textsoft); text-transform:uppercase; margin-bottom:2px; }
.ovw-slot {
  flex:1; background:rgba(10,18,32,0.85); border:1px solid var(--border);
  border-radius:6px; padding:7px 10px; box-shadow:var(--inset);
  backdrop-filter:blur(4px);
}
.ovw-slot.active-build { border-color:var(--warn); background:rgba(224,144,32,0.08); }
.ovw-slot-bld { display:flex; align-items:center; gap:7px; }
.ovw-slot-icon { font-size:18px; }
.ovw-slot-name { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--textbright); }
.ovw-slot-eta { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--warn); }
.ovw-slot-bar { height:6px; background:rgba(255,255,255,0.05); border-radius:3px; overflow:hidden; margin-top:5px; }
.ovw-slot-fill { height:100%; background:linear-gradient(90deg,var(--warn),var(--gold)); border-radius:2px; }
.ovw-slot-empty { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); font-style:italic; display:flex; align-items:center; gap:5px; }
/* OGame-style building grid */
.ovw-bld-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(90px, 1fr));
  gap:6px; padding:10px 14px;
}
.ovw-bld-card {
  background:rgba(10,18,32,0.85); border:1px solid var(--border);
  border-radius:6px; padding:8px 6px; text-align:center; cursor:pointer;
  transition:all 0.15s; position:relative; backdrop-filter:blur(4px);
}
.ovw-bld-card:hover { background:rgba(var(--accent-rgb),0.10); border-color:var(--border2); transform:translateY(-1px); }
.ovw-bld-card-icon { font-size:20px; margin-bottom:3px; }
.ovw-bld-card-name { font-family:'Orbitron',monospace; font-size:var(--fs-xs); font-weight:700; color:var(--textmid); line-height:1.3; margin-bottom:3px; }
.ovw-bld-card-lv { font-family:'Share Tech Mono',monospace; font-size:12px; font-weight:bold; color:var(--accent2); }
.ovw-bld-card-prog { position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--warn),var(--gold)); border-radius:0 0 4px 4px; }

/* Institut Altérien */
.gap-wrap { display:flex; flex-direction:column; gap:8px; }
.gap-title { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--textmid); }
.gap-threat-badge { display:inline-block; font-family:'Share Tech Mono',monospace; font-size:10px; letter-spacing:1px; padding:2px 7px; border-radius:3px; margin-left:6px; }
.gap-threat-badge.n,.gap-threat-badge.l { color:var(--success); background:rgba(46,204,136,0.1); border:1px solid rgba(46,204,136,0.3); }
.gap-threat-badge.m { color:var(--warn); background:rgba(240,160,40,0.1); border:1px solid rgba(240,160,40,0.3); }
.gap-threat-badge.h { color:var(--danger); background:rgba(220,60,60,0.1); border:1px solid rgba(220,60,60,0.3); }
.gap-units-lbl { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textmid); letter-spacing:1.5px; text-transform:uppercase; margin:4px 0 2px; }
.gap-unit-row { display:flex; align-items:center; gap:5px; padding:3px 0; border-bottom:1px solid rgba(var(--accent-rgb),0.12); }
.gap-unit-ico { font-size:14px; width:20px; text-align:center; flex-shrink:0; }
.gap-unit-name { font-family:'Orbitron',monospace; font-size:9px; font-weight:700; color:var(--textmid); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gap-unit-avail { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textmid); min-width:24px; text-align:right; }
.gap-unit-inp { width:44px; background:rgba(6,12,28,0.95); border:1px solid rgba(var(--accent-rgb),0.3); color:#c8dcf0; font-family:'Share Tech Mono',monospace; font-size:10px; text-align:center; padding:2px 3px; border-radius:3px; }
.gap-unit-inp:focus { outline:none; border-color:var(--accent); box-shadow:0 0 12px rgba(var(--accent-rgb),0.25), 0 0 4px rgba(var(--accent-rgb),0.15); background:rgba(var(--accent-rgb),0.04); }
.gap-max-btn { font-size:10px; padding:2px 5px; background:rgba(var(--accent-rgb),0.08); border:1px solid rgba(var(--accent-rgb),0.3); color:var(--accent); border-radius:3px; cursor:pointer; }
.gap-stats { background:rgba(4,8,20,0.65); border-radius:4px; padding:6px 8px; font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textmid); display:flex; justify-content:space-between; }
.gap-stats span { color:#c8dcf0; }
.gap-launch-btn { font-family:'Orbitron',monospace; font-size:9px; font-weight:700; padding:9px; background:rgba(180,40,40,0.12); border:1px solid rgba(200,60,60,0.45); color:var(--danger); border-radius:4px; cursor:pointer; letter-spacing:1px; transition:all 0.15s; width:100%; }
.gap-launch-btn:hover:not(:disabled) { background:rgba(200,50,50,0.25); border-color:var(--danger); }
.gap-launch-btn:disabled { opacity:0.35; cursor:not-allowed; }
.gap-back-link { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); cursor:pointer; text-align:center; }
.gap-back-link:hover { color:var(--accent); }
.gap-no-troops { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); font-style:italic; text-align:center; padding:8px; }

/* ══ OVERVIEW DASHBOARD ══ */
.ov-queues-block { padding:10px 12px 4px; }
.ov-queues-title { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:2.5px; color:var(--accent2); text-transform:uppercase; margin-bottom:8px; padding-bottom:6px; border-bottom:1px solid rgba(var(--accent-rgb),0.25); }
.ov-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:12px 12px 8px; }
.ov-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:10px 12px 8px; }
.ov-card { background:rgba(7,13,30,0.92); border:1px solid rgba(var(--accent-rgb),0.28); border-radius:8px; padding:14px 16px; box-shadow:0 2px 12px rgba(0,0,0,0.3); }
.ov-card-inner { padding:8px 14px; }
.ov-card-title { font-family:'Orbitron',monospace; font-size:13px; font-weight:700; color:var(--accent2); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:10px; padding-bottom:7px; border-bottom:1px solid rgba(var(--accent-rgb),0.22); }
.ov-stat-row { display:flex; justify-content:space-between; align-items:center; padding:4px 0; }
.ov-stat-lbl { font-family:'Rajdhani',sans-serif; font-size:14px; font-weight:500; color:var(--text); }
.ov-stat-val { font-family:'Share Tech Mono',monospace; font-size:13px; color:var(--gold2); font-weight:bold; }
.ov-stat-val.good { color:var(--success); text-shadow:0 0 6px rgba(68,255,170,0.3); }
.ov-stat-val.dim  { color:var(--textmid); }
.ov-events { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 12px 8px; }
.ov-event-card {
  --card-glow-rgb:68,170,255;
  background:rgba(6,11,26,0.9); border:1px solid rgba(var(--accent-rgb),0.25); border-radius:8px;
  padding:14px 16px; min-height:88px; display:flex; flex-direction:column; justify-content:center;
  box-shadow:0 2px 12px rgba(0,0,0,0.25); position:relative; overflow:hidden;
  transition:transform 0.22s ease, filter 0.22s ease, box-shadow 0.22s ease;
}
.ov-event-card:hover {
  transform:translateY(-3px); filter:brightness(1.12);
  box-shadow:0 6px 24px rgba(0,0,0,0.4), 0 0 16px 2px rgba(var(--card-glow-rgb),0.2);
}
/* Active glow pulse */
.ov-event-card.ov-active {
  border-color:rgba(var(--card-glow-rgb),0.5);
  animation:cardGlow 2.8s ease-in-out infinite;
}
/* Empty state */
.ov-event-card.ov-empty {
  border-style:dashed; border-color:rgba(var(--accent-rgb),0.18);
  background:rgba(6,11,26,0.5);
}
.ov-event-card.ov-empty:hover { transform:none; filter:none; box-shadow:0 2px 12px rgba(0,0,0,0.25); }
/* Background illustration overlay */
.ov-event-card.has-bg-illus { background-size:auto 150%; background-position:right center; background-repeat:no-repeat; }
.ov-event-card.has-bg-illus::after {
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(90deg, rgba(4,8,20,0.92) 0%, rgba(4,8,20,0.7) 30%, rgba(4,8,20,0.3) 60%, rgba(4,8,20,0.08) 100%);
}
.ov-event-card.has-bg-illus > *:not(.ov-pct-badge) { position:relative; z-index:1; }
.ov-event-card.has-bg-illus > .ov-pct-badge { z-index:3; }
.ov-event-card.has-bg-illus .ov-event-name { text-shadow:0 1px 6px rgba(0,0,0,0.8), 0 0 20px rgba(0,0,0,0.5); }
.ov-event-card.has-bg-illus .ov-event-eta  { text-shadow:0 1px 4px rgba(0,0,0,0.8), 0 0 12px rgba(0,0,0,0.4); }
/* Title with colored glow */
.ov-event-title { font-family:'Orbitron',monospace; font-size:12px; font-weight:700; letter-spacing:2px; margin-bottom:6px; padding-right:48px; }
.ov-active .ov-event-title { text-shadow:0 0 10px rgba(var(--card-glow-rgb),0.6); }
/* Name & ETA */
.ov-event-name { font-family:'Rajdhani',sans-serif; font-size:16px; font-weight:600; color:var(--textbright); line-height:1.15; }
.ov-event-eta  { font-family:'Share Tech Mono',monospace; font-size:13px; color:var(--warn); margin-top:5px; text-shadow:0 0 6px rgba(255,204,85,0.25); }
.ov-active .ov-event-eta { animation:timerPulse 2s ease-in-out infinite; }
/* Progress bar — enhanced */
.ov-prog-bg {
  height:10px; background:rgba(255,255,255,0.07); border-radius:5px; overflow:hidden; margin-top:7px; position:relative;
}
.ov-prog-fill {
  height:100%; border-radius:5px; position:relative; overflow:hidden;
  box-shadow:0 0 8px 1px rgba(var(--card-glow-rgb),0.35);
  background-image:repeating-linear-gradient(
    -45deg, transparent, transparent 4px, rgba(255,255,255,0.08) 4px, rgba(255,255,255,0.08) 8px
  );
  background-size:30px 30px;
  animation:barStripes 1.2s linear infinite;
}
.ov-prog-fill::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.28) 50%, transparent 100%);
  animation:shimmerSweep 2s ease-in-out infinite;
}
/* Percentage badge */
.ov-pct-badge {
  position:absolute; top:8px; right:10px; z-index:2;
  font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--textbright);
  background:rgba(0,0,0,0.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  padding:3px 8px; border-radius:4px; border:1px solid rgba(var(--card-glow-rgb),0.35);
  animation:badgeFadeIn 0.3s ease-out;
}
/* Empty state */
.ov-empty-event { text-align:center; opacity:0.40; }
.ov-empty-event-ico { font-size:24px; margin-bottom:5px; filter:grayscale(0.6) opacity(0.6); }
.ov-empty-event-lbl { font-family:'Share Tech Mono',monospace; font-size:13px; color:var(--textmid); }
.ov-report-row { background:rgba(6,11,26,0.75); border:1px solid rgba(var(--accent-rgb),0.18); border-left:3px solid var(--success); border-radius:5px; padding:8px 12px; display:flex; align-items:center; gap:12px; }
.ov-report-planet { font-family:'Rajdhani',sans-serif; font-size:14px; font-weight:600; color:var(--text); flex:1; }
.ov-report-loot { font-family:'Share Tech Mono',monospace; font-size:13px; color:var(--gold2); font-weight:bold; }
.ov-report-date { font-family:'Share Tech Mono',monospace; font-size:12px; color:var(--textmid); }

/* ══ ALLIANCE / RANKINGS ══ */
.rnk-layout { display:flex; height:100%; gap:0; overflow:hidden; }
.rnk-main   { flex:1; display:flex; flex-direction:column; overflow:hidden; }
.rnk-header { padding:14px 20px 10px; border-bottom:1px solid rgba(var(--accent-rgb),0.18); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.rnk-title  { font-family:'Orbitron',monospace; font-size:16px; font-weight:700; color:var(--accent2); letter-spacing:3px; }
.rnk-subtitle { font-family:'Share Tech Mono',monospace; font-size:13px; color:var(--textsoft); }
.rnk-my-rank  { font-family:'Orbitron',monospace; font-size:12px; color:var(--gold2); background:rgba(212,146,10,0.1); border:1px solid rgba(212,146,10,0.3); border-radius:4px; padding:6px 14px; }
.rnk-table-wrap { flex:1; overflow-y:auto; padding:0 0 10px; }
.rnk-table { width:100%; border-collapse:collapse; }
.rnk-th { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--accent2); letter-spacing:1.5px; text-transform:uppercase; padding:12px 14px; border-bottom:2px solid rgba(var(--accent-rgb),0.3); text-align:left; position:sticky; top:0; z-index:10; background:rgba(4,8,15,0.98); backdrop-filter:blur(6px); }
.rnk-th.num { text-align:right; }
.rnk-search { width:calc(100% - 28px); margin:0 14px 6px; padding:8px 12px 8px 32px; font-family:'Share Tech Mono',monospace; font-size:13px; color:var(--text); background:rgba(var(--accent-rgb),0.06); border:1px solid rgba(var(--accent-rgb),0.2); border-radius:6px; outline:none; transition:border-color 0.2s; }
.rnk-search:focus { border-color:var(--accent); background:rgba(var(--accent-rgb),0.1); }
.rnk-tr { border-bottom:1px solid rgba(var(--accent-rgb),0.08); cursor:pointer; transition:background 0.15s ease; }
.rnk-tr:nth-child(even) { background:rgba(var(--accent-rgb),0.03); }
.rnk-tr:hover { background:rgba(var(--accent-rgb),0.10); }
.rnk-tr.active { background:rgba(var(--accent-rgb),0.12); box-shadow:inset 3px 0 0 var(--accent); }
.rnk-tr.is-me  { background:rgba(212,146,10,0.07); }
.rnk-tr.is-me:hover { background:rgba(212,146,10,0.12); }
.rnk-tr.is-me.active { background:rgba(212,146,10,0.14); box-shadow:inset 3px 0 0 var(--gold); }
.rnk-td { font-family:'Share Tech Mono',monospace; font-size:14px; color:var(--text); padding:11px 14px; vertical-align:middle; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rnk-td.num { text-align:right; color:var(--gold2); font-weight:700; }
.rnk-td.dim { color:var(--textmid); }
.rnk-rank { font-family:'Orbitron',monospace; font-size:14px; font-weight:700; }
.rnk-rank.gold   { color:var(--gold2); text-shadow:0 0 8px rgba(240,176,48,0.5); }
.rnk-rank.silver { color:#a0b0c0; }
.rnk-rank.bronze { color:#c07040; }
.rnk-rank.dim    { color:var(--textsoft); }
.rnk-name { font-family:'Rajdhani',sans-serif; font-size:14px; font-weight:600; color:var(--textbright); }
.rnk-name.is-me { color:var(--gold2); }
.rnk-me-tag { font-size:9px; background:rgba(212,146,10,0.2); border:1px solid rgba(212,146,10,0.4); color:var(--gold); padding:1px 4px; border-radius:2px; margin-left:5px; vertical-align:middle; }
.rnk-bar-wrap { width:80px; height:4px; background:rgba(255,255,255,0.06); border-radius:2px; display:inline-block; vertical-align:middle; }
.rnk-bar { height:100%; border-radius:2px; }
/* Profile panel */
.rnk-profile { width:240px; flex-shrink:0; border-left:1px solid rgba(var(--accent-rgb),0.18); display:flex; flex-direction:column; overflow-y:auto; background:rgba(4,8,20,0.6); }
.rnk-profile.hidden { display:none; }
.rnk-prof-head { padding:16px 14px 10px; border-bottom:1px solid rgba(var(--accent-rgb),0.15); }
.rnk-prof-icon { font-size:28px; text-align:center; margin-bottom:6px; }
.rnk-prof-name { font-family:'Orbitron',monospace; font-size:10px; font-weight:700; color:var(--textbright); text-align:center; letter-spacing:2px; margin-bottom:2px; }
.rnk-prof-sub  { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); text-align:center; }
.rnk-prof-section { padding:10px 14px 4px; }
.rnk-prof-lbl { font-family:'Orbitron',monospace; font-size:var(--fs-xs); color:var(--textmid); letter-spacing:1.5px; margin-bottom:5px; }
.rnk-prof-stat { display:flex; justify-content:space-between; padding:3px 0; border-bottom:1px solid rgba(var(--accent-rgb),0.12); }
.rnk-prof-stat-lbl { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textmid); }
.rnk-prof-stat-val { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--gold2); font-weight:bold; }
.rnk-diplo-btn { margin:10px 14px; padding:8px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; letter-spacing:1.5px; background:rgba(var(--accent-rgb),0.12); border:1px solid rgba(var(--accent-rgb),0.4); color:var(--accent2); border-radius:4px; cursor:pointer; text-align:center; transition:all 0.2s; }
.rnk-diplo-btn:hover { background:rgba(var(--accent-rgb),0.22); border-color:var(--accent); }
/* ── Galactic Market ── */
.mkt-layout { display:flex; flex-direction:column; height:100%; overflow:hidden; }
.mkt-header { padding:14px 20px 10px; border-bottom:1px solid rgba(255,255,255,0.06); flex-shrink:0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.mkt-title { font-family:'Orbitron',monospace; font-size:13px; font-weight:700; color:var(--textmid); letter-spacing:2px; }
.mkt-tabs { display:flex; gap:4px; }
.mkt-tab { padding:5px 12px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; letter-spacing:1px; cursor:pointer; border-radius:4px; border:1px solid rgba(255,255,255,0.1); color:var(--textsoft); background:transparent; transition:all 0.2s; position:relative; overflow:hidden; }
.mkt-tab:hover { border-color:rgba(var(--accent-rgb),0.4); box-shadow:0 0 8px rgba(var(--accent-rgb),0.12); }
.mkt-tab.active { background:rgba(var(--accent-rgb),0.15); border-color:var(--accent); color:var(--accent); text-shadow:0 0 8px rgba(var(--accent-rgb),0.4); box-shadow:0 0 12px rgba(var(--accent-rgb),0.15); }
.mkt-body { flex:1; overflow-y:auto; padding:12px 16px; display:flex; flex-direction:column; gap:10px; }
/* Offer table */
.mkt-table { width:100%; border-collapse:collapse; }
.mkt-th { font-family:'Orbitron',monospace; font-size:var(--fs-xs); letter-spacing:1px; color:var(--textsoft); padding:6px 8px; border-bottom:1px solid rgba(255,255,255,0.06); text-align:left; }
.mkt-tr { border-bottom:1px solid rgba(255,255,255,0.04); transition:background 0.15s; }
.mkt-tr:hover { background:rgba(255,255,255,0.03); }
.mkt-tr.mine { background:rgba(212,146,10,0.05); }
.mkt-td { padding:8px; font-family:'Share Tech Mono',monospace; font-size:11px; color:#a8c0d8; vertical-align:middle; }
.mkt-res-stack { display:flex; flex-direction:column; gap:2px; }
.mkt-res-line { display:flex; align-items:center; gap:4px; font-size:10px; }
.mkt-res-line .metal { color:#b0c8e8; } .mkt-res-line .naq { color:#f0b030; } .mkt-res-line .naqria { color:#60c8ff; }
.mkt-seller { font-size:9px; color:var(--textmid); font-family:'Rajdhani',sans-serif; font-weight:600; }
.mkt-time { font-size:10px; color:var(--textsoft); }
.mkt-accept-btn { padding:5px 10px; font-family:'Orbitron',monospace; font-size:var(--fs-xs); font-weight:700; letter-spacing:1px; cursor:pointer; border-radius:4px; border:1px solid rgba(46,204,136,0.4); background:rgba(46,204,136,0.1); color:var(--success); transition:all 0.2s; }
.mkt-accept-btn:hover { background:rgba(46,204,136,0.25); }
.mkt-cancel-btn { padding:5px 10px; font-family:'Orbitron',monospace; font-size:var(--fs-xs); font-weight:700; letter-spacing:1px; cursor:pointer; border-radius:4px; border:1px solid rgba(255,80,80,0.35); background:rgba(255,80,80,0.08); color:var(--danger); transition:all 0.2s; }
.mkt-cancel-btn:hover { background:rgba(255,80,80,0.2); }
/* Create offer form */
.mkt-form { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:6px; padding:14px 16px; display:flex; flex-direction:column; gap:12px; }
.mkt-form-title { font-family:'Orbitron',monospace; font-size:9px; font-weight:700; color:var(--accent); letter-spacing:1.5px; }
.mkt-form-row { display:flex; gap:16px; flex-wrap:wrap; }
.mkt-form-col { flex:1; min-width:160px; display:flex; flex-direction:column; gap:6px; }
.mkt-form-lbl { font-family:'Orbitron',monospace; font-size:10px; color:var(--textsoft); letter-spacing:1px; }
.mkt-form-inputs { display:flex; flex-direction:column; gap:5px; }
.mkt-inp-row { display:flex; align-items:center; gap:6px; }
.mkt-inp-icon { font-size:10px; width:16px; }
.mkt-inp { flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:3px; color:#d0e8ff; font-family:'Share Tech Mono',monospace; font-size:9px; padding:5px 7px; }
.mkt-inp:focus { outline:none; border-color:var(--accent); box-shadow:0 0 12px rgba(var(--accent-rgb),0.25), 0 0 4px rgba(var(--accent-rgb),0.15); background:rgba(var(--accent-rgb),0.04); }
.mkt-submit-btn { padding:9px; font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:1.5px; cursor:pointer; border-radius:4px; border:1px solid rgba(var(--accent-rgb),0.4); background:rgba(var(--accent-rgb),0.12); color:var(--accent); transition:all 0.2s; }
.mkt-submit-btn:hover { background:rgba(var(--accent-rgb),0.25); }
.mkt-empty { padding:32px; text-align:center; font-family:'Share Tech Mono',monospace; font-size:9px; color:var(--textsoft); }
/* Market filter bar */
.mkt-filter-bar { display:flex; gap:4px; margin-bottom:10px; flex-wrap:wrap; }
.mkt-filter-btn { padding:4px 10px; font-family:'Orbitron',monospace; font-size:9px; font-weight:700; letter-spacing:1px; cursor:pointer; border-radius:4px; border:1px solid rgba(255,255,255,0.1); color:var(--textsoft); background:transparent; transition:all 0.2s; }
.mkt-filter-btn.active { background:rgba(var(--accent-rgb),0.15); border-color:var(--accent); color:var(--accent); }
/* ── Distinctions / Achievements ── */
.dist-layout { display:flex; flex-direction:column; height:100%; overflow:hidden; }
.dist-header { padding:18px 24px 12px; border-bottom:1px solid rgba(255,255,255,0.06); flex-shrink:0; }
.dist-title { font-family:'Orbitron',monospace; font-size:14px; font-weight:700; color:var(--textmid); letter-spacing:2px; }
.dist-subtitle { font-family:'Share Tech Mono',monospace; font-size:9px; color:var(--textsoft); margin-top:4px; }
.dist-progress-bar { height:4px; background:rgba(255,255,255,0.06); border-radius:2px; margin-top:10px; overflow:hidden; }
.dist-progress-fill { height:100%; background:linear-gradient(90deg,var(--accent),var(--gold)); border-radius:2px; transition:width 0.6s ease; }
.dist-body { flex:1; overflow-y:auto; padding:12px 16px; display:flex; flex-direction:column; gap:16px; }
.dist-cat-title { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--textsoft); letter-spacing:2px; padding:4px 0 8px; border-bottom:1px solid rgba(255,255,255,0.06); }
.dist-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.dist-card { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:6px; padding:12px; display:flex; flex-direction:column; gap:6px; transition:all 0.3s; position:relative; overflow:hidden; }
.dist-card.unlocked { background:rgba(212,146,10,0.06); border-color:rgba(212,146,10,0.3); }
.dist-card.unlocked:hover { background:rgba(212,146,10,0.12); border-color:rgba(212,146,10,0.5); }
.dist-card.locked { opacity:0.45; filter:grayscale(0.6); }
.dist-card.is-new { animation:achUnlock 0.6s ease; }
.dist-card-icon { font-size:24px; }
.dist-card-name { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--textmid); letter-spacing:0.5px; }
.dist-card.unlocked .dist-card-name { color:var(--gold2); }
.dist-card-desc { font-family:'Share Tech Mono',monospace; font-size:12px; color:var(--textmid); line-height:1.6; }
.dist-card-reward { display:flex; flex-wrap:wrap; gap:4px; margin-top:2px; }
.dist-reward-chip { font-family:'Share Tech Mono',monospace; font-size:var(--fs-xs); padding:2px 6px; border-radius:10px; background:rgba(255,255,255,0.06); color:var(--gold2); }
.dist-claim-btn { margin-top:4px; padding:5px 8px; font-family:'Orbitron',monospace; font-size:var(--fs-xs); font-weight:700; letter-spacing:1px; cursor:pointer; border-radius:4px; border:1px solid rgba(212,146,10,0.4); background:rgba(212,146,10,0.12); color:var(--gold); transition:all 0.2s; text-align:center; }
.dist-claim-btn:hover { background:rgba(212,146,10,0.28); }
.dist-claim-btn.claimed { border-color:rgba(255,255,255,0.1); background:transparent; color:var(--textsoft); cursor:default; }
.dist-lock-icon { position:absolute; top:10px; right:10px; font-size:10px; opacity:0.3; }
/* ── PvP Attack panel ── */
.rnk-atk-btn { margin:4px 14px 0; padding:8px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; letter-spacing:1.5px; background:rgba(255,60,60,0.12); border:1px solid rgba(255,80,80,0.4); color:var(--danger); border-radius:4px; cursor:pointer; text-align:center; transition:all 0.2s; }
.rnk-atk-btn:hover { background:rgba(255,60,60,0.28); border-color:var(--danger); }
.atk-panel { padding:14px 16px; display:flex; flex-direction:column; gap:10px; overflow-y:auto; max-height:calc(100% - 20px); }
.atk-panel-title { font-family:'Orbitron',monospace; font-size:13px; font-weight:700; color:var(--danger); letter-spacing:2px; border-bottom:1px solid rgba(255,80,80,0.3); padding-bottom:8px; }
.atk-unit-row {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:8px 10px; border-radius:6px;
  background:rgba(var(--accent-rgb),0.04); border:1px solid rgba(var(--accent-rgb),0.12);
  transition:background 0.15s;
}
.atk-unit-row:hover { background:rgba(var(--accent-rgb),0.08); }
.atk-unit-left { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.atk-unit-icon { font-size:18px; flex-shrink:0; }
.atk-unit-name { font-size:13px; color:var(--textbright); font-family:'Rajdhani',sans-serif; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.atk-unit-avail { font-size:11px; color:var(--textsoft); font-family:'Share Tech Mono',monospace; }
.atk-unit-controls { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.atk-unit-input {
  width:48px; background:rgba(10,20,50,0.9); border:1px solid rgba(var(--accent-rgb),0.35);
  border-radius:4px; color:var(--textbright); font-family:'Share Tech Mono',monospace;
  font-size:13px; text-align:center; padding:5px 4px; flex-shrink:0;
}
.atk-unit-input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 12px rgba(var(--accent-rgb),0.25), 0 0 4px rgba(var(--accent-rgb),0.15); background:rgba(var(--accent-rgb),0.04); }
.atk-power {
  display:flex; justify-content:center; align-items:center;
  background:rgba(8,14,32,0.7); border:1px solid rgba(var(--accent-rgb),0.25);
  border-radius:6px; padding:10px 14px; font-family:'Share Tech Mono',monospace; font-size:13px;
}
.atk-actions { display:flex; gap:8px; }
.atk-btn {
  flex:1; padding:10px 8px; font-family:'Orbitron',monospace; font-size:12px; font-weight:700;
  letter-spacing:1.5px; cursor:pointer; border-radius:5px; border:1px solid;
  text-align:center; transition:all 0.2s;
}
.atk-btn-go { background:rgba(255,60,60,0.15); border-color:rgba(255,80,80,0.5); color:var(--danger); }
.atk-btn-go:hover { background:rgba(255,60,60,0.35); }
.atk-btn-cancel { background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.15); color:var(--textsoft); }
.atk-btn-cancel:hover { background:rgba(255,255,255,0.10); }
.atk-result { padding:14px; display:flex; flex-direction:column; gap:10px; }
.atk-result-banner { text-align:center; padding:12px; border-radius:5px; font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:2px; }
.atk-result-banner.victory { background:rgba(46,204,136,0.10); border:1px solid rgba(46,204,136,0.35); color:var(--success); }
.atk-result-banner.defeat  { background:rgba(255,60,60,0.10); border:1px solid rgba(255,80,80,0.35); color:var(--danger); }
.atk-result-section { background:rgba(255,255,255,0.03); border-radius:4px; padding:8px 10px; }
.atk-result-lbl { font-family:'Orbitron',monospace; font-size:var(--fs-xs); color:var(--textsoft); letter-spacing:1px; margin-bottom:5px; }
.atk-result-val { font-family:'Share Tech Mono',monospace; font-size:11px; color:#b8cce0; }
.atk-result-good { color:var(--success); } .atk-result-bad { color:var(--danger); }
/* ── Spy panel ── */
.rnk-spy-btn { margin:4px 14px 8px; padding:8px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; letter-spacing:1.5px; background:rgba(46,204,136,0.10); border:1px solid rgba(46,204,136,0.35); color:var(--success); border-radius:4px; cursor:pointer; text-align:center; transition:all 0.2s; }
.rnk-spy-btn:hover { background:rgba(46,204,136,0.22); }
.spy-panel { padding:12px 14px; display:flex; flex-direction:column; gap:10px; }
.spy-panel-title { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--success); letter-spacing:1.5px; border-bottom:1px solid rgba(46,204,136,0.2); padding-bottom:6px; }
.spy-unit-row { display:flex; align-items:center; justify-content:space-between; padding:8px; background:rgba(46,204,136,0.05); border:1px solid rgba(46,204,136,0.15); border-radius:4px; cursor:pointer; transition:all 0.2s; }
.spy-unit-row:hover,.spy-unit-row.sel { background:rgba(46,204,136,0.15); border-color:rgba(46,204,136,0.4); box-shadow:0 0 10px rgba(46,204,136,0.15); transform:translateX(2px); }
.spy-unit-name { font-family:'Rajdhani',sans-serif; font-size:10px; font-weight:600; color:#b8ffd8; }
.spy-unit-stat { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); }
.spy-count-row { display:flex; align-items:center; gap:8px; }
.spy-count-lbl { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); flex:1; }
.spy-count-inp { width:44px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:3px; color:#d0e8ff; font-family:'Share Tech Mono',monospace; font-size:9px; text-align:center; padding:3px; }
.spy-detect-bar { background:rgba(8,14,32,0.6); border:1px solid rgba(46,204,136,0.2); border-radius:4px; padding:7px 10px; font-family:'Share Tech Mono',monospace; font-size:11px; }
/* Intel report */
.intel-report { padding:12px 14px; display:flex; flex-direction:column; gap:8px; }
.intel-banner { text-align:center; padding:10px; border-radius:4px; font-family:'Orbitron',monospace; font-size:9px; font-weight:700; letter-spacing:2px; }
.intel-banner.success { background:rgba(46,204,136,0.10); border:1px solid rgba(46,204,136,0.3); color:var(--success); }
.intel-banner.caught  { background:rgba(255,60,60,0.10);  border:1px solid rgba(255,80,80,0.3); color:var(--danger); }
.intel-section { background:rgba(255,255,255,0.03); border-radius:4px; padding:8px 10px; }
.intel-lbl { font-family:'Orbitron',monospace; font-size:var(--fs-xs); color:var(--textsoft); letter-spacing:1px; margin-bottom:4px; }
.intel-val { font-family:'Share Tech Mono',monospace; font-size:11px; color:#b8cce0; line-height:1.7; }
.intel-troop-row { display:flex; justify-content:space-between; font-size:10px; }
/* ── Galaxy system overview ── */
.intel-res-bar-wrap { margin:3px 0; }
.intel-res-bar-label { display:flex; justify-content:space-between; font-family:'Share Tech Mono',monospace; font-size:9px; color:var(--textmid); margin-bottom:2px; }
.intel-res-bar-track { background:rgba(255,255,255,0.06); border-radius:2px; height:5px; overflow:hidden; }
.intel-res-bar-fill { height:100%; border-radius:2px; transition:width 0.4s ease; }
.intel-power-badges { display:flex; gap:6px; margin-top:4px; }
.intel-power-badge { flex:1; text-align:center; padding:5px; border-radius:4px; font-family:'Orbitron',monospace; font-size:9px; font-weight:700; }
.intel-power-badge.atk { background:rgba(255,60,60,0.12); border:1px solid rgba(255,80,80,0.35); color:var(--danger); }
.intel-power-badge.def-weak { background:rgba(46,204,136,0.12); border:1px solid rgba(46,204,136,0.4); color:var(--success); }
.intel-power-badge.def-strong { background:rgba(255,60,60,0.08); border:1px solid rgba(255,80,80,0.3); color:var(--danger); }
/* ── Attack panel intel band ── */
.atk-intel-band { padding:6px 10px; border-radius:4px; font-family:'Share Tech Mono',monospace; font-size:9px; display:flex; align-items:center; gap:6px; }
.atk-intel-band.favorable { background:rgba(46,204,136,0.10); border:1px solid rgba(46,204,136,0.35); color:var(--success); }
.atk-intel-band.unfavorable { background:rgba(255,60,60,0.08); border:1px solid rgba(255,80,80,0.3); color:var(--danger); }
/* Battle report defeat variant */
.battle-report.defeat { border-left-color:var(--danger); }
.battle-report.pvp    { border-left-color:var(--warn); }
.br-result.defeat { color:var(--danger); } .br-result.pvp { color:var(--warn); }
/* Attack reports zone */
.fleet-reports-header { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--textsoft); letter-spacing:2px; padding:10px 4px 6px; border-top:1px solid rgba(255,255,255,0.06); margin-top:8px; }
/* Commanders section */
.cmd-tokens-bar  { display:flex; align-items:center; gap:12px; padding:14px 18px 8px; border-bottom:1px solid rgba(255,255,255,0.1); }
.cmd-section-hdr { padding:12px 18px 4px; font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:3px; }
.cmd-grid        { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; padding:12px 18px; }
.cmd-card        { background:rgba(10,18,32,0.9); border:1px solid rgba(255,255,255,0.12); border-radius:12px; display:flex; flex-direction:column; cursor:pointer; transition:all 0.25s ease; position:relative; overflow:hidden; aspect-ratio:2/3; backdrop-filter:blur(6px); }
.cmd-card::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent); transition:left 0.5s; pointer-events:none; z-index:3; }
.cmd-card:hover::before { left:100%; }
.cmd-card.has-img { background-size:cover; background-position:center top; padding:0; justify-content:flex-end; }
.cmd-card:not(.has-img) { padding:16px 12px; gap:8px; justify-content:center; }
.cmd-card:hover  { border-color:rgba(var(--accent-rgb),0.6); box-shadow:0 6px 24px rgba(0,0,0,0.4), 0 0 14px rgba(var(--accent-rgb),0.15); transform:translateY(-3px); }
.cmd-card.villain:hover { border-color:rgba(220,60,60,0.6); box-shadow:0 0 12px rgba(220,60,60,0.15); }
.cmd-card.owned  { border-color:rgba(var(--accent-rgb),0.6); }
.cmd-card.villain.owned { border-color:rgba(220,60,60,0.6); }
.cmd-info        { background:linear-gradient(transparent, rgba(0,0,0,0.85) 30%, rgba(0,0,0,0.95)); padding:28px 10px 10px; display:flex; flex-direction:column; gap:4px; }
.cmd-avatar      { font-size:36px; text-align:center; line-height:1.1; }
.cmd-name        { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:#eef6ff; text-align:center; line-height:1.3; text-shadow:0 1px 4px rgba(0,0,0,0.8); }
.cmd-faction     { font-size:9px; font-weight:700; text-align:center; padding:2px 8px; border-radius:10px; margin:0 auto; letter-spacing:1px; }
.cmd-faction.hero    { background:rgba(var(--accent-rgb),0.2); color:var(--accent2); border:1px solid rgba(var(--accent-rgb),0.35); }
.cmd-faction.villain { background:rgba(220,60,60,0.2); color:#ff9999; border:1px solid rgba(220,60,60,0.35); }
.cmd-effect      { font-family:'Share Tech Mono',monospace; font-size:11px; font-weight:700; color:var(--success); text-align:center; text-shadow:0 0 6px rgba(80,250,123,0.4); }
.cmd-xp-bar      { height:5px; background:rgba(255,255,255,0.1); border-radius:3px; overflow:hidden; }
.cmd-xp-fill     { height:100%; background:linear-gradient(90deg,var(--accent),var(--success)); border-radius:3px; }
.cmd-xp-lbl      { font-size:10px; color:var(--textmid); text-align:center; font-family:'Share Tech Mono',monospace; }
.cmd-btn         { font-family:'Share Tech Mono',monospace; font-size:10px; font-weight:700; padding:8px 6px; border-radius:6px; cursor:pointer; border:1px solid rgba(var(--accent-rgb),0.5); color:var(--accent2); background:rgba(var(--accent-rgb),0.1); text-align:center; margin-top:auto; transition:all 0.15s; }
.cmd-btn:hover:not(:disabled) { background:rgba(var(--accent-rgb),0.22); }
.cmd-btn:disabled { opacity:0.4; cursor:not-allowed; border-color:rgba(255,255,255,0.12); color:var(--textsoft); background:none; }
.cmd-detail-overlay { position:fixed; inset:0; z-index:9200; background:rgba(0,0,0,0.78); display:flex; align-items:center; justify-content:center; }
.cmd-detail-box { background:#070f1c; border:1px solid rgba(var(--accent-rgb),0.45); border-radius:16px; padding:30px; max-width:460px; width:92%; position:relative; max-height:90vh; overflow-y:auto; }
.cmd-detail-lvl-row { display:flex; justify-content:space-between; gap:4px; margin:8px 0 2px; }
.rnk-loading { font-family:'Share Tech Mono',monospace; font-size:9px; color:var(--textsoft); text-align:center; padding:40px; }

/* Alliance section (legacy placeholder styles kept for compat) */
.alliance-layout { display:flex; align-items:center; justify-content:center; flex:1; padding:40px; }
.alliance-card { background:var(--surface2); border:1px solid var(--border); border-radius:12px; padding:32px 40px; max-width:460px; width:100%; text-align:center; }
.alc-icon { font-size:40px; margin-bottom:12px; }
.alc-title { font-family:'Orbitron',monospace; font-size:14px; font-weight:700; color:var(--textbright); letter-spacing:3px; margin-bottom:6px; }
.alc-sub { font-family:'Share Tech Mono',monospace; font-size:9px; color:var(--textsoft); letter-spacing:1px; margin-bottom:12px; }
.alc-desc { font-size:13px; color:var(--textmid); line-height:1.7; margin-bottom:20px; }
.alc-btns { display:flex; gap:10px; justify-content:center; }
.alc-btn { padding:10px 24px; font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:1.5px; border-radius:6px; cursor:pointer; transition:all 0.2s; border:1px solid; }
.alc-btn.create { border-color:var(--gold); color:var(--gold); background:rgba(224,168,48,0.08); }
.alc-btn.create:hover { background:rgba(224,168,48,0.16); }
.alc-btn.join { border-color:var(--accent); color:var(--accent2); background:rgba(var(--accent2-rgb),0.08); }
.alc-btn.join:hover { background:rgba(var(--accent2-rgb),0.16); }

/* ══ QUESTS ══ */
.quest-tabs { display:flex; border-bottom:1px solid var(--border); background:rgba(4,8,15,0.8); flex-shrink:0; }
.quest-tab { padding:10px 20px; font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:1.5px; color:var(--textsoft); border:none; border-bottom:2px solid transparent; cursor:pointer; background:none; transition:all 0.2s; }
.quest-tab.active { color:var(--gold); border-bottom-color:var(--gold); }
.quest-tab:hover { color:var(--textbright); }
.quest-grid { display:flex; flex-direction:column; gap:12px; padding:16px; }
.quest-card { background:var(--surface2); border:1px solid var(--border); border-radius:10px; padding:14px 16px; display:flex; align-items:center; gap:14px; }
.quest-card.completed { border-color:rgba(0,220,120,0.3); background:rgba(0,220,120,0.04); }
.quest-ico { font-size:24px; flex-shrink:0; }
.quest-info { flex:1; }
.quest-title { font-family:'Orbitron',monospace; font-size:9px; font-weight:700; letter-spacing:2px; color:var(--textbright); }
.quest-desc { font-family:'Share Tech Mono',monospace; font-size:12px; color:var(--textmid); margin-top:2px; }
.quest-prog-bar { height:4px; background:rgba(255,255,255,0.1); border-radius:2px; margin-top:6px; }
.quest-prog-fill { height:100%; border-radius:2px; background:linear-gradient(90deg,var(--accent),var(--accent2)); transition:width 0.4s; }
.quest-rewards { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--gold2); margin-top:4px; }
.quest-claim-btn { padding:8px 14px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; letter-spacing:1px; border-radius:6px; cursor:pointer; border:1px solid var(--gold); color:var(--gold); background:rgba(224,168,48,0.08); white-space:nowrap; flex-shrink:0; }
.quest-claim-btn:disabled { opacity:0.4; cursor:default; }
.quest-claim-btn.ready { background:rgba(224,168,48,0.18); animation:pulseGold 1.5s infinite; }
.quest-claim-btn.claimed { border-color:var(--success); color:var(--success); background:rgba(0,220,120,0.08); cursor:default; }
@keyframes pulseGold { 0%,100%{box-shadow:0 0 6px rgba(224,168,48,0.3)} 50%{box-shadow:0 0 14px rgba(224,168,48,0.7)} }

/* ══ ALLIANCE REDESIGN ══ */
.al-layout { display:flex; flex-direction:column; height:100%; }
.al-tabs { display:flex; border-bottom:1px solid var(--border); background:rgba(4,8,15,0.8); flex-shrink:0; }
.al-tab { padding:10px 20px; font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:1.5px; color:var(--textsoft); border-bottom:2px solid transparent; cursor:pointer; transition:all 0.2s; }
.al-tab.active { color:var(--accent2); border-bottom-color:var(--accent); }
.al-body { flex:1; overflow-y:auto; padding:16px; }
.al-no-alliance { display:flex; gap:24px; flex-wrap:wrap; }
.al-create-form { background:var(--surface2); border:1px solid var(--border); border-radius:12px; padding:24px; min-width:280px; flex:1; }
.al-form-title { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:2px; color:var(--textbright); margin-bottom:16px; }
.al-field { display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.al-field label { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); letter-spacing:1px; }
.al-field input, .al-field textarea { background:rgba(255,255,255,0.05); border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--textbright); font-size:11px; font-family:'Share Tech Mono',monospace; outline:none; }
.al-field textarea { resize:vertical; min-height:60px; }
.al-submit-btn { padding:10px 20px; font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:1.5px; border-radius:6px; cursor:pointer; border:1px solid var(--gold); color:var(--gold); background:rgba(224,168,48,0.1); margin-top:8px; width:100%; }
.al-submit-btn:hover { background:rgba(224,168,48,0.2); }
.al-list-panel { flex:1; min-width:240px; }
.al-list-head { font-family:'Orbitron',monospace; font-size:9px; font-weight:700; letter-spacing:2px; color:var(--textbright); margin-bottom:10px; }
.al-list-item { background:var(--surface2); border:1px solid var(--border); border-radius:8px; padding:12px 14px; display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.al-list-tag { font-family:'Orbitron',monospace; font-size:10px; font-weight:700; color:var(--gold2); background:rgba(224,168,48,0.1); border-radius:4px; padding:2px 8px; flex-shrink:0; }
.al-list-info { flex:1; }
.al-list-name { font-family:'Orbitron',monospace; font-size:9px; color:var(--textbright); }
.al-list-meta { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textmid); margin-top:2px; }
.al-join-btn { padding:6px 14px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; letter-spacing:1px; border-radius:6px; cursor:pointer; border:1px solid var(--accent); color:var(--accent2); background:rgba(var(--accent-rgb),0.08); white-space:nowrap; }
.al-join-btn:hover { background:rgba(var(--accent-rgb),0.18); }
.al-header-bar { background:var(--surface2); border:1px solid var(--border); border-radius:10px; padding:14px 18px; display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.al-tag-badge { font-family:'Orbitron',monospace; font-size:14px; font-weight:900; color:var(--gold); padding:4px 10px; border:2px solid var(--gold); border-radius:6px; }
.al-info { flex:1; }
.al-name-title { font-family:'Orbitron',monospace; font-size:12px; font-weight:700; color:var(--textbright); }
.al-meta-line { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); margin-top:2px; }
.al-leave-btn { padding:6px 12px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; letter-spacing:1px; border-radius:6px; cursor:pointer; border:1px solid var(--danger); color:var(--danger); background:transparent; }
.al-leave-btn:hover { background:rgba(255,60,60,0.1); }
.al-section-title { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; letter-spacing:2px; color:var(--textbright); margin:14px 0 8px; text-transform:uppercase; }
.al-member-list { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.al-member-row { display:flex; align-items:center; gap:10px; background:var(--surface2); border-radius:6px; padding:8px 12px; }
.al-member-crown { color:var(--gold); font-size:12px; width:16px; text-align:center; }
.al-member-name { font-size:11px; color:var(--textbright); flex:1; }
.al-member-role { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); padding:1px 6px; border:1px solid var(--border); border-radius:3px; }
.al-member-kick { padding:3px 8px; font-size:11px; border:1px solid var(--danger); color:var(--danger); background:transparent; border-radius:4px; cursor:pointer; }
.al-chat-box { background:rgba(4,8,15,0.6); border:1px solid var(--border); border-radius:8px; height:180px; overflow-y:auto; padding:10px; margin-bottom:8px; display:flex; flex-direction:column; gap:4px; }
.al-chat-msg { font-size:10px; }
.al-chat-name { color:var(--accent2); font-weight:bold; margin-right:6px; }
.al-chat-ts { color:var(--textsoft); font-size:11px; margin-left:6px; }
.al-chat-input-row { display:flex; gap:8px; }
.al-chat-inp { flex:1; background:rgba(255,255,255,0.05); border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--textbright); font-size:11px; outline:none; }
.al-chat-send { padding:8px 14px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; border-radius:6px; cursor:pointer; border:1px solid var(--accent); color:var(--accent2); background:rgba(var(--accent-rgb),0.1); }
/* Alliance Diplomacy */
.al-diplo-section { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.al-diplo-row { display:flex; align-items:center; gap:10px; background:var(--surface2); border-radius:6px; padding:9px 12px; border-left:3px solid transparent; }
.al-diplo-tag { font-family:'Orbitron',monospace; font-size:9px; font-weight:700; color:var(--gold2); background:rgba(224,168,48,0.1); border-radius:3px; padding:2px 6px; flex-shrink:0; }
.al-diplo-name { font-size:11px; color:var(--textbright); flex:1; }
.al-diplo-status { font-family:'Share Tech Mono',monospace; font-size:11px; white-space:nowrap; }
.al-diplo-empty { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); padding:8px 4px; }
.al-diplo-btn { padding:4px 10px; font-family:'Orbitron',monospace; font-size:9px; font-weight:700; letter-spacing:1px; border-radius:4px; cursor:pointer; border:1px solid rgba(255,255,255,0.2); color:var(--textmid); background:transparent; white-space:nowrap; }
.al-diplo-btn-cancel { border-color:rgba(255,60,60,0.4); color:var(--danger); }
.al-diplo-btn-war { border-color:rgba(255,60,60,0.5); color:var(--danger); background:rgba(255,60,60,0.08); }
.al-diplo-btn-nap { border-color:rgba(0,220,120,0.4); color:var(--success); background:rgba(0,220,120,0.06); }
.al-diplo-actions { background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.08); border-radius:8px; padding:12px 14px; margin-top:8px; }
.al-diplo-select { width:100%; background:rgba(255,255,255,0.05); border:1px solid var(--border); border-radius:6px; padding:7px 10px; color:var(--textbright); font-size:11px; outline:none; }

/* ══ DEFENSE ALERT ══ */
.def-alert-bar { display:flex; align-items:center; gap:12px; border-radius:8px; padding:10px 14px; margin-bottom:14px; border:1px solid rgba(255,60,60,0.3); background:rgba(255,60,60,0.06); }
.def-alert-bar.active { border-color:rgba(0,220,120,0.4); background:rgba(0,220,120,0.06); }
.def-alert-ico { font-size:18px; }
.def-alert-txt { flex:1; }
.def-alert-title { font-family:'Orbitron',monospace; font-size:11px; font-weight:700; color:var(--textbright); letter-spacing:1.5px; }
.def-alert-sub { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); margin-top:2px; }
.def-alert-btn { padding:7px 14px; font-family:'Orbitron',monospace; font-size:10px; font-weight:700; letter-spacing:1px; border-radius:6px; cursor:pointer; border:1px solid var(--danger); color:var(--danger); background:transparent; white-space:nowrap; }
.def-alert-btn.active { border-color:var(--success); color:var(--success); background:rgba(0,220,120,0.08); }
.def-alert-btn:hover { background:rgba(255,60,60,0.1); }
.def-alert-btn.active:hover { background:rgba(0,220,120,0.12); }

/* ══ NEW PLAYER GUIDE ══ */
.npg-card { background:linear-gradient(135deg,rgba(var(--accent-rgb),0.08),rgba(10,18,32,0.95)); border:1px solid rgba(var(--accent-rgb),0.4); border-radius:10px; padding:18px 20px; margin-bottom:14px; box-shadow:0 2px 16px rgba(0,0,0,0.3); }
.npg-title { font-family:'Orbitron',monospace; font-size:12px; font-weight:700; letter-spacing:2.5px; color:var(--accent2); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.npg-steps { display:flex; flex-direction:column; gap:8px; }
.npg-step { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:8px; background:rgba(255,255,255,0.03); cursor:pointer; transition:background 0.2s; }
.npg-step:hover { background:rgba(var(--accent-rgb),0.1); }
.npg-step-num { width:26px; height:26px; border-radius:50%; border:2px solid; display:flex; align-items:center; justify-content:center; font-family:'Orbitron',monospace; font-size:13px; font-weight:700; flex-shrink:0; }
.npg-step-num.done { background:var(--success); border-color:var(--success); color:#000; }
.npg-step-num.todo { border-color:rgba(var(--accent-rgb),0.5); color:var(--accent); }
.npg-step-txt { flex:1; }
.npg-step-lbl { font-family:'Rajdhani',sans-serif; font-size:14px; font-weight:600; color:var(--textbright); }
.npg-step-sub { font-family:'Share Tech Mono',monospace; font-size:12px; color:var(--textmid); margin-top:2px; }
.npg-step-action { font-family:'Orbitron',monospace; font-size:13px; color:var(--accent); white-space:nowrap; }
/* ══ EVENT POPUP ══ */
/* ══ OVERVIEW QUEST MINI ══ */
.ov-quest-mini { background:var(--surface2); border:1px solid rgba(var(--accent-rgb),0.25); border-radius:10px; padding:14px 16px; margin-bottom:14px; box-shadow:0 2px 12px rgba(0,0,0,0.25); }
.oqm-title { font-family:'Orbitron',monospace; font-size:13px; font-weight:700; letter-spacing:2.5px; color:var(--textbright); margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; }
.oqm-row { display:flex; align-items:center; gap:10px; margin-bottom:5px; }
.oqm-ico { font-size:16px; width:20px; text-align:center; }
.oqm-lbl { font-family:'Rajdhani',sans-serif; font-size:14px; font-weight:500; color:var(--text); flex:1; }
.oqm-pct { font-family:'Share Tech Mono',monospace; font-size:13px; color:var(--gold2); font-weight:bold; }
.oqm-bar { height:7px; background:rgba(255,255,255,0.08); border-radius:4px; margin:2px 0 6px 30px; }
.oqm-bfill { height:100%; border-radius:3px; background:linear-gradient(90deg,var(--accent),var(--gold)); }
.msg-bar         { display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid rgba(255,255,255,0.1); }
.msg-tab         { font-family:'Share Tech Mono',monospace; font-size:15px; padding:9px 20px; border-radius:6px; border:1px solid rgba(255,255,255,0.15); cursor:pointer; color:var(--textmid); background:none; transition:all .2s; }
.msg-tab:hover   { background:rgba(255,255,255,0.05); }
.msg-tab.active  { background:rgba(var(--accent-rgb),0.18); color:var(--accent); border-color:var(--accent); }
.msg-compose-btn { margin-left:auto; font-family:'Share Tech Mono',monospace; font-size:15px; padding:9px 22px; background:rgba(var(--accent-rgb),0.15); border:1px solid var(--accent); border-radius:6px; color:var(--accent); cursor:pointer; transition:all .2s; }
.msg-compose-btn:hover { background:rgba(var(--accent-rgb),0.3); }
.msg-compose-panel { padding:20px; border-bottom:1px solid rgba(255,255,255,0.1); display:flex; flex-direction:column; gap:12px; }
.msg-compose-panel input,.msg-compose-panel textarea { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.15); border-radius:6px; color:var(--textbright); font-family:'Share Tech Mono',monospace; font-size:15px; padding:12px 14px; width:100%; box-sizing:border-box; }
.msg-compose-panel textarea { resize:vertical; min-height:120px; }
.msg-compose-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:4px; }
.msg-list        { overflow-y:auto; flex:1; }
.msg-row         { padding:14px 18px; border-bottom:1px solid rgba(255,255,255,0.06); cursor:pointer; transition:background .15s; }
.msg-row:hover   { background:rgba(255,255,255,0.04); }
.msg-row.unread  { background:rgba(var(--accent-rgb),0.07); }
.msg-row-head    { display:flex; align-items:center; gap:12px; }
.msg-dot         { width:10px; height:10px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.msg-row.read .msg-dot { background:transparent; border:1px solid rgba(255,255,255,0.2); }
.msg-from        { font-family:'Share Tech Mono',monospace; font-size:16px; color:var(--textbright); font-weight:bold; flex:1; }
.msg-subject     { font-family:'Share Tech Mono',monospace; font-size:15px; color:var(--textmid); flex:2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.msg-time        { font-size:14px; color:var(--textsoft); flex-shrink:0; font-family:'Share Tech Mono',monospace; }
.msg-del         { font-size:16px; color:var(--danger); cursor:pointer; padding:0 8px; flex-shrink:0; }
.msg-del:hover   { color:#ff6666; }
.msg-body-expand { font-family:'Share Tech Mono',monospace; font-size:15px; color:var(--textmid); padding:14px 16px 10px 32px; line-height:1.7; white-space:pre-wrap; border-top:1px solid rgba(255,255,255,0.06); margin-top:8px; }
.msg-empty       { padding:50px; text-align:center; font-family:'Share Tech Mono',monospace; font-size:16px; color:var(--textsoft); }

/* ── Beginner Shield + Vacation banners ── */
.shield-banner   { display:flex;align-items:center;gap:10px;background:rgba(0,200,100,0.07);border:1px solid rgba(0,200,100,0.3);border-radius:6px;padding:9px 13px;margin-bottom:10px; }
.vacation-banner { display:flex;align-items:center;gap:10px;background:rgba(var(--accent-rgb),0.07);border:1px solid rgba(var(--accent-rgb),0.35);border-radius:6px;padding:9px 13px;margin-bottom:10px; }
.banner-ico      { font-size:18px;flex-shrink:0; }
.banner-txt      { flex:1; }
.banner-title    { font-family:'Orbitron',monospace;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--textbright); }
.banner-sub      { font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--textmid);margin-top:2px; }
.banner-btn      { font-family:'Share Tech Mono',monospace;font-size:9px;padding:4px 10px;border-radius:4px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.06);color:var(--textmid);cursor:pointer;flex-shrink:0; }
.banner-btn:hover{ color:var(--textbright);border-color:rgba(255,255,255,0.35); }
.banner-btn.danger{ border-color:rgba(192,57,43,0.4);color:var(--danger); }

/* ── Reports section — REDESIGN v2 ── */
@keyframes repSlideIn { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
@keyframes repPulseGlow { 0%,100%{box-shadow:0 0 8px rgba(var(--rep-rgb,255,255,255),0.15)} 50%{box-shadow:0 0 18px rgba(var(--rep-rgb,255,255,255),0.35)} }
@keyframes repDotPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.3)} }

.rep-bar         { display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,0.08);flex-wrap:wrap;background:rgba(0,0,0,0.15); }
.rep-tab         { font-family:'Orbitron',monospace;font-size:12px;font-weight:700;padding:10px 22px;border-radius:8px;border:1px solid rgba(255,255,255,0.1);cursor:pointer;color:var(--textmid);background:rgba(255,255,255,0.02);transition:all .25s ease;letter-spacing:1px;text-transform:uppercase;position:relative;overflow:hidden; }
.rep-tab::after  { content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:currentColor;transition:all .25s;transform:translateX(-50%); }
.rep-tab:hover   { background:rgba(255,255,255,0.06);color:var(--textbright);transform:translateY(-1px); }
.rep-tab:hover::after { width:60%; }
.rep-tab.active  { background:rgba(192,57,43,0.2);color:var(--danger);border-color:rgba(192,57,43,0.6);box-shadow:0 0 15px rgba(192,57,43,0.2),inset 0 0 15px rgba(192,57,43,0.05); }
.rep-tab.active::after { width:80%;background:var(--danger); }
.rep-tab[data-tab="spy"].active   { background:rgba(0,200,100,0.15);color:var(--success);border-color:rgba(0,200,100,0.5);box-shadow:0 0 15px rgba(0,200,100,0.15),inset 0 0 15px rgba(0,200,100,0.05); }
.rep-tab[data-tab="spy"].active::after { background:var(--success); }
.rep-tab[data-tab="mission"].active { background:rgba(212,175,55,0.15);color:var(--gold2);border-color:rgba(212,175,55,0.5);box-shadow:0 0 15px rgba(212,175,55,0.15),inset 0 0 15px rgba(212,175,55,0.05); }
.rep-tab[data-tab="mission"].active::after { background:var(--gold2); }
.rep-tab[data-tab="orbital"].active { background:rgba(100,160,255,0.15);color:var(--accent);border-color:rgba(100,160,255,0.5);box-shadow:0 0 15px rgba(100,160,255,0.15),inset 0 0 15px rgba(100,160,255,0.05); }
.rep-tab[data-tab="orbital"].active::after { background:var(--accent); }
.rep-tab[data-tab="event"].active { background:rgba(255,140,0,0.15);color:#ff8c00;border-color:rgba(255,140,0,0.5);box-shadow:0 0 15px rgba(255,140,0,0.15),inset 0 0 15px rgba(255,140,0,0.05); }
.rep-tab[data-tab="event"].active::after { background:#ff8c00; }
.rep-tab[data-tab="raid"].active  { background:rgba(220,50,50,0.15);color:#e74c3c;border-color:rgba(220,50,50,0.5);box-shadow:0 0 15px rgba(220,50,50,0.15),inset 0 0 15px rgba(220,50,50,0.05); }
.rep-tab[data-tab="raid"].active::after { background:#e74c3c; }

.rep-row         { margin:5px 10px;padding:16px 20px;border-radius:12px;border-left:4px solid transparent;cursor:pointer;transition:all .25s ease;background:linear-gradient(135deg,rgba(255,255,255,0.02),rgba(255,255,255,0.005));position:relative;overflow:hidden; }
.rep-row::before { content:'';position:absolute;inset:0;border-radius:12px;opacity:0;transition:opacity .3s;pointer-events:none;background:radial-gradient(ellipse at 0% 50%,rgba(var(--rep-rgb,255,255,255),0.06),transparent 70%); }
.rep-row::after  { content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.03),transparent);transition:left 0.5s;pointer-events:none; }
.rep-row:hover::after { left:120%; }
.rep-row:hover   { background:linear-gradient(135deg,rgba(255,255,255,0.05),rgba(255,255,255,0.02));transform:translateX(6px); }
.rep-row:hover::before { opacity:1; }
.rep-row.row-vic { border-left-color:var(--success);--rep-rgb:0,200,100; }
.rep-row.row-def { border-left-color:var(--danger);--rep-rgb:192,57,43; }
.rep-row.row-spy { border-left-color:var(--accent);--rep-rgb:100,160,255; }
.rep-row.row-pve { border-left-color:#ff8c00;--rep-rgb:255,140,0; }
.rep-row.row-event { border-left-color:#ff8c00;--rep-rgb:255,140,0; }
.rep-row.unread  { background:rgba(192,57,43,0.05); }
.rep-row.expanded{ background:linear-gradient(135deg,rgba(255,255,255,0.04),rgba(255,255,255,0.015));border-left-width:4px; }
.rep-row.expanded::before { opacity:1; }

.rep-row-head    { display:flex;align-items:center;gap:10px; }
.rep-dot         { width:12px;height:12px;border-radius:50%;flex-shrink:0;transition:all .3s; }
.rep-dot.vic     { background:var(--success);box-shadow:0 0 10px rgba(0,200,100,0.6),0 0 20px rgba(0,200,100,0.2);animation:repDotPulse 2s ease-in-out infinite; }
.rep-dot.def     { background:var(--danger);box-shadow:0 0 10px rgba(192,57,43,0.6),0 0 20px rgba(192,57,43,0.2);animation:repDotPulse 2s ease-in-out infinite; }
.rep-dot.spy     { background:var(--accent);box-shadow:0 0 10px rgba(100,160,255,0.6),0 0 20px rgba(100,160,255,0.2);animation:repDotPulse 2.5s ease-in-out infinite; }
.rep-dot.pve     { background:#ff8c00;box-shadow:0 0 10px rgba(255,140,0,0.6),0 0 20px rgba(255,140,0,0.2); }
.rep-dot.event   { background:#ff8c00;box-shadow:0 0 10px rgba(255,140,0,0.6),0 0 20px rgba(255,140,0,0.2); }
.rep-dot.read    { background:transparent;border:2px solid rgba(255,255,255,0.15);box-shadow:none;animation:none; }
.rep-ico         { font-size:20px;flex-shrink:0; }
.rep-vs          { font-family:'Share Tech Mono',monospace;font-size:16px;color:var(--textbright);flex:1;letter-spacing:0.3px; }
.rep-result      { font-family:'Orbitron',monospace;font-size:12px;font-weight:700;padding:5px 14px;border-radius:6px;letter-spacing:1px;text-transform:uppercase; }
.rep-result.vic  { color:var(--success);background:rgba(0,200,100,0.12);border:1px solid rgba(0,200,100,0.3);box-shadow:0 0 10px rgba(0,200,100,0.1); }
.rep-result.def  { color:var(--danger);background:rgba(192,57,43,0.12);border:1px solid rgba(192,57,43,0.3);box-shadow:0 0 10px rgba(192,57,43,0.1); }
.rep-time        { font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--textsoft);flex-shrink:0;opacity:0.7; }

.rep-detail      { font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--textmid);padding:10px 16px 8px 30px;line-height:1.7; }
.rep-empty       { padding:60px 20px;text-align:center;font-family:'Share Tech Mono',monospace;font-size:14px;color:var(--textsoft); }
.rep-empty::before { content:'📭 ';font-size:28px;display:block;margin-bottom:8px; }

.rep-card        { background:linear-gradient(145deg,rgba(6,12,28,0.85),rgba(10,18,35,0.65));border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:22px 24px;margin-top:12px;backdrop-filter:blur(6px);animation:repSlideIn .3s ease-out;box-shadow:0 4px 20px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.04); }

.rep-ratio-row   { display:flex;align-items:center;gap:12px;margin-bottom:6px;padding:8px 0; }
.rep-r-atk       { font-family:'Orbitron',monospace;font-size:14px;color:var(--success);white-space:nowrap;flex-shrink:0;font-weight:700;text-shadow:0 0 8px rgba(0,200,100,0.3); }
.rep-r-def       { font-family:'Orbitron',monospace;font-size:14px;color:var(--danger);white-space:nowrap;flex-shrink:0;font-weight:700;text-shadow:0 0 8px rgba(192,57,43,0.3); }
.rep-ratio-bar   { flex:1;height:12px;background:rgba(255,255,255,0.06);border-radius:6px;overflow:hidden;display:flex;box-shadow:inset 0 1px 3px rgba(0,0,0,0.4); }
.rep-ratio-fill-a{ background:linear-gradient(90deg,rgba(0,200,100,0.9),rgba(0,200,100,0.4));height:100%;transition:width .6s ease;box-shadow:0 0 8px rgba(0,200,100,0.4); }
.rep-ratio-fill-d{ background:linear-gradient(90deg,rgba(192,57,43,0.4),rgba(192,57,43,0.9));height:100%;transition:width .6s ease;box-shadow:0 0 8px rgba(192,57,43,0.4); }
.rep-ratio-pct   { font-family:'Share Tech Mono',monospace;font-size:15px;color:var(--textmid);margin-bottom:10px;padding:10px 14px;background:linear-gradient(135deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.06);border-radius:8px;text-align:center;letter-spacing:0.5px; }

.rep-sec-lbl     { font-family:'Orbitron',sans-serif;font-size:12px;font-weight:700;letter-spacing:2.5px;color:var(--textsoft);margin:14px 0 8px;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:6px;position:relative; }
.rep-sec-lbl::after { content:'';position:absolute;bottom:-1px;left:0;width:40px;height:2px;background:rgba(var(--accent-rgb),0.5);border-radius:1px; }

.rep-troop-tbl   { width:100%;border-collapse:collapse;font-family:'Share Tech Mono',monospace;font-size:14px;margin:4px 0; }
.rep-troop-tbl th{ font-family:'Orbitron',monospace;color:var(--textsoft);font-size:11px;letter-spacing:1.5px;text-align:left;padding:8px 14px 8px 0;border-bottom:1px solid rgba(255,255,255,0.1);text-transform:uppercase; }
.rep-troop-tbl td{ color:var(--textmid);padding:10px 14px 10px 0;border-bottom:1px solid rgba(255,255,255,0.04);transition:background .15s; }
.rep-troop-tbl tr:last-child td { border-bottom:none; }
.rep-troop-tbl tr:hover td { background:rgba(255,255,255,0.03); }
.rep-troop-ico   { font-size:18px;vertical-align:middle;margin-right:6px; }
.rep-t-lost      { color:var(--danger) !important;font-weight:700;text-shadow:0 0 6px rgba(192,57,43,0.3); }
.rep-t-surv      { color:var(--success) !important;font-weight:700;text-shadow:0 0 6px rgba(0,200,100,0.3); }
.rep-t-zero      { color:var(--textsoft) !important; }

.rep-loot        { font-family:'Share Tech Mono',monospace;font-size:16px;color:var(--gold2);margin-top:12px;padding:14px 18px;background:linear-gradient(135deg,rgba(212,175,55,0.1),rgba(212,175,55,0.03));border:1px solid rgba(212,175,55,0.2);border-radius:10px;box-shadow:0 0 12px rgba(212,175,55,0.08);text-shadow:0 0 8px rgba(212,175,55,0.2); }
.rep-loot-none   { font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--textsoft);margin-top:12px;padding:10px 16px;border:1px solid rgba(255,255,255,0.04);border-radius:8px;font-style:italic;background:rgba(255,255,255,0.015); }
.rep-loot-inline { font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--gold2);margin-left:auto;white-space:nowrap;text-shadow:0 0 6px rgba(212,175,55,0.3); }

.rep-rp          { font-family:'Share Tech Mono',monospace;font-size:14px;color:var(--textmid);font-style:italic;border-left:4px solid var(--textsoft);padding:12px 18px;margin-bottom:16px;background:linear-gradient(90deg,rgba(255,255,255,0.03),transparent);border-radius:0 8px 8px 0;line-height:1.6; }
.rep-divider     { height:1px;background:linear-gradient(90deg,rgba(255,255,255,0.08),rgba(255,255,255,0.02));margin:14px 0; }

.rep-chevron     { font-size:16px;color:var(--textsoft);transition:transform .3s ease,opacity .3s;opacity:0.4;flex-shrink:0; }
.rep-row:hover .rep-chevron { opacity:0.8; }
.rep-row.expanded .rep-chevron { transform:rotate(180deg);opacity:1;color:var(--textbright); }

.rep-faction-badge { font-family:'Share Tech Mono',monospace;font-size:12px;padding:5px 12px;border-radius:6px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);display:inline-block;margin:3px 4px;transition:all .2s; }
.rep-faction-badge:hover { background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.2); }
.rep-faction-row { display:flex;flex-wrap:wrap;gap:6px;margin:10px 0; }

.rep-bonus-card  { margin:12px 0;padding:14px 18px;background:linear-gradient(135deg,rgba(100,160,255,0.08),rgba(100,160,255,0.02));border:1px solid rgba(100,160,255,0.2);border-radius:10px;box-shadow:0 0 10px rgba(100,160,255,0.05); }
.rep-bonus-title { font-family:'Orbitron',monospace;font-size:12px;font-weight:700;color:var(--accent);margin-bottom:8px;letter-spacing:1.5px;text-shadow:0 0 8px rgba(100,160,255,0.3); }
.rep-bonus-line  { font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--textmid);padding:3px 0; }

.rep-def-mult    { font-family:'Share Tech Mono',monospace;font-size:14px;color:var(--textsoft);margin:6px 0 8px;text-align:center;padding:6px;background:rgba(255,255,255,0.02);border-radius:6px; }
.rep-recovery    { margin:10px 0;padding:12px 18px;background:linear-gradient(135deg,rgba(80,200,120,0.1),rgba(80,200,120,0.03));border:1px solid rgba(80,200,120,0.25);border-radius:10px;font-family:'Share Tech Mono',monospace;font-size:14px;color:var(--success);box-shadow:0 0 10px rgba(80,200,120,0.08); }
.rep-recovery span { color:var(--textsoft); }

.rep-chips       { display:flex;flex-wrap:wrap;gap:8px;margin:8px 0; }
.rep-chip        { font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--textmid);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:6px 14px;transition:all .2s; }
.rep-chip:hover  { background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.2);transform:translateY(-1px); }
.rep-chip-lost   { color:var(--danger);border-color:rgba(192,57,43,0.3);background:rgba(192,57,43,0.08); }
.rep-chip-enemy  { color:var(--warn);border-color:rgba(255,140,0,0.25);background:rgba(255,140,0,0.06);font-family:'Share Tech Mono',monospace;font-size:13px;display:inline-block;padding:4px 10px;border-radius:6px;margin:2px; }

.rep-banner      { font-family:'Orbitron',monospace;font-size:18px;font-weight:700;letter-spacing:3px;text-align:center;padding:14px;margin:14px 0 4px;border-radius:10px;text-transform:uppercase; }
.rep-banner.vic  { color:var(--success);background:linear-gradient(135deg,rgba(0,200,100,0.12),rgba(0,200,100,0.04));border:1px solid rgba(0,200,100,0.3);box-shadow:0 0 20px rgba(0,200,100,0.1);text-shadow:0 0 15px rgba(0,200,100,0.4); }
.rep-banner.def  { color:var(--danger);background:linear-gradient(135deg,rgba(192,57,43,0.12),rgba(192,57,43,0.04));border:1px solid rgba(192,57,43,0.3);box-shadow:0 0 20px rgba(192,57,43,0.1);text-shadow:0 0 15px rgba(192,57,43,0.4); }

.rep-phase       { font-family:'Orbitron',monospace;font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--textbright);margin:8px 0 4px;display:flex;align-items:center;gap:10px;text-transform:uppercase; }
.rep-phase-num   { display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(var(--accent-rgb),0.15);border:1px solid rgba(var(--accent-rgb),0.35);color:var(--accent);font-size:12px;font-weight:700;flex-shrink:0; }
.rep-meta-row    { font-family:'Share Tech Mono',monospace;font-size:14px;color:var(--textmid);display:flex;justify-content:space-between;gap:12px;padding:6px 0;flex-wrap:wrap; }

.rep-counter-btn { font-family:'Orbitron',monospace;font-size:11px;font-weight:700;letter-spacing:1px;padding:8px 16px;border-radius:8px;border:1px solid rgba(var(--accent-rgb),0.35);background:rgba(var(--accent-rgb),0.08);color:var(--accent);cursor:pointer;transition:all .2s; }
.rep-counter-btn:hover { background:rgba(var(--accent-rgb),0.15);border-color:rgba(var(--accent-rgb),0.5);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.2); }

.rep-spy-res     { font-family:'Share Tech Mono',monospace;font-size:16px;color:var(--textmid);display:flex;gap:20px;flex-wrap:wrap;padding:8px 0; }
.rep-spy-power   { font-family:'Share Tech Mono',monospace;font-size:16px;color:var(--textmid);margin-top:8px;display:flex;gap:20px; }
.rep-spy-tech    { font-family:'Share Tech Mono',monospace;font-size:15px;color:var(--purple);margin-top:12px;padding:10px 16px;border-radius:8px;background:linear-gradient(135deg,rgba(160,80,255,0.08),rgba(160,80,255,0.02));border:1px solid rgba(160,80,255,0.2); }
.rep-spy-info    { font-family:'Share Tech Mono',monospace;font-size:16px;color:var(--textmid); }
.rep-spy-actions { margin-top:14px;display:flex;gap:8px; }

/* ── Alliance Wars ── */
.war-card        { background:rgba(192,57,43,0.06);border:1px solid rgba(192,57,43,0.3);border-radius:8px;padding:12px 14px;margin-bottom:8px; }
.war-card.peace  { background:rgba(0,200,100,0.05);border-color:rgba(0,200,100,0.25); }
.war-card.pending{ background:rgba(212,146,10,0.06);border-color:rgba(212,146,10,0.3); }
.war-vs          { font-family:'Orbitron',monospace;font-size:11px;font-weight:700;color:var(--textbright);margin-bottom:6px; }
.war-score       { font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--textmid);margin-bottom:8px; }
.war-actions     { display:flex;gap:6px;flex-wrap:wrap; }
.war-btn         { font-family:'Share Tech Mono',monospace;font-size:9px;padding:4px 10px;border-radius:4px;cursor:pointer; }
.war-btn.declare { background:rgba(192,57,43,0.15);border:1px solid rgba(192,57,43,0.5);color:var(--danger); }
.war-btn.accept  { background:rgba(0,200,100,0.12);border:1px solid rgba(0,200,100,0.4);color:var(--success); }
.war-btn.reject  { background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.15);color:var(--textmid); }
.war-btn.surr    { background:rgba(212,146,10,0.1);border:1px solid rgba(212,146,10,0.35);color:var(--gold); }
.war-sub-bar     { display:flex;gap:4px;padding-bottom:8px; }
.war-sub-tab     { font-family:'Share Tech Mono',monospace;font-size:9px;padding:3px 9px;border-radius:3px;border:1px solid rgba(255,255,255,0.12);cursor:pointer;color:var(--textmid);background:none; }
.war-sub-tab.active { background:rgba(192,57,43,0.18);color:var(--danger);border-color:rgba(192,57,43,0.5); }
.war-score-bar-wrap { display:flex;height:20px;border-radius:4px;overflow:hidden;margin:6px 0; }
.war-sb-us   { background:rgba(var(--accent-rgb),0.45);display:flex;align-items:center;padding:0 6px;min-width:0; }
.war-sb-them { background:rgba(192,57,43,0.45);display:flex;align-items:center;justify-content:flex-end;padding:0 6px;min-width:0; }
.war-sb-us span,.war-sb-them span { font-family:'Share Tech Mono',monospace;font-size:10px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
/* Rankings tabs */
.rnk-tab-bar     { display:flex;gap:6px;padding:10px 14px 6px;flex-wrap:wrap; }
.rnk-tab-btn     { font-family:'Share Tech Mono',monospace;font-size:12px;padding:6px 14px;border-radius:4px;border:1px solid rgba(255,255,255,0.12);cursor:pointer;color:var(--textmid);background:none;transition:all 0.2s; }
.rnk-tab-btn.active { background:rgba(var(--accent-rgb),0.18);color:var(--accent);border-color:var(--accent); }

/* Profil joueur overlay */
.prof-loading    { padding:40px; text-align:center; font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textsoft); }
/* Profile card — redesigned */
.prof-header     { padding:18px 20px 16px; border-bottom:1px solid rgba(var(--accent-rgb),0.15); background:linear-gradient(135deg,rgba(8,18,42,0.9),rgba(4,10,28,0.95)); display:flex; align-items:flex-start; gap:16px; position:relative; }
.prof-avatar     { width:60px; height:60px; border-radius:10px; overflow:hidden; border:2px solid rgba(var(--accent-rgb),0.4); display:flex; align-items:center; justify-content:center; font-size:28px; flex-shrink:0; background:#04080f; box-shadow:0 0 16px rgba(var(--accent-rgb),0.2); }
.prof-avatar img { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.prof-head-info  { flex:1; min-width:0; }
.prof-name       { font-family:'Orbitron',monospace; font-size:15px; font-weight:700; color:var(--textbright); letter-spacing:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-shadow:0 0 10px rgba(var(--accent-rgb),0.4); }
.prof-rank-line  { display:flex; align-items:center; gap:8px; margin-top:5px; }
.prof-medal      { font-family:'Orbitron',monospace; font-size:12px; font-weight:700; color:var(--gold2); }
.prof-score      { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--accent); }
.prof-days       { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); margin-left:auto; }
.prof-alliance-line { display:flex; align-items:center; gap:6px; margin-top:6px; }
.prof-alliance-tag  { font-family:'Orbitron',monospace; font-size:10px; font-weight:700; color:var(--gold); background:rgba(255,192,64,0.1); border:1px solid rgba(255,192,64,0.3); border-radius:4px; padding:1px 6px; }
.prof-alliance-name { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textmid); }
.prof-close      { font-size:18px; color:var(--textsoft); cursor:pointer; padding:4px; flex-shrink:0; line-height:1; position:absolute; top:12px; right:14px; }
.prof-close:hover{ color:var(--danger); }
/* Info banner */
.prof-banner     { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:1px; background:rgba(255,255,255,0.05); border-bottom:1px solid rgba(var(--accent-rgb),0.1); }
.prof-kpi        { padding:8px 0; text-align:center; background:rgba(4,8,18,0.7); }
.prof-kpi-val    { font-family:'Orbitron',monospace; font-size:13px; font-weight:700; color:var(--textbright); }
.prof-kpi-lbl    { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); letter-spacing:1px; margin-top:2px; text-transform:uppercase; }
/* Body */
.prof-body       { padding:12px 16px; display:flex; flex-direction:column; gap:8px; }
.prof-section    { }
.prof-sec-title  { font-family:'Orbitron',monospace; font-size:10px; letter-spacing:2px; color:var(--textsoft); margin-bottom:5px; padding-bottom:3px; border-bottom:1px solid rgba(255,255,255,0.05); }
.prof-grid4      { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.prof-grid2      { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.prof-bld        { display:flex; flex-direction:column; align-items:center; padding:5px 4px; background:rgba(255,255,255,0.02); border-radius:5px; border:1px solid rgba(255,255,255,0.05); }
.prof-bld-ico    { font-size:14px; line-height:1; margin-bottom:2px; }
.prof-bld-lv     { font-family:'Share Tech Mono',monospace; font-size:9px; color:var(--gold2); font-weight:700; }
.prof-bld-name   { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); text-align:center; white-space:nowrap; margin-top:1px; }
.prof-stat       { display:flex; justify-content:space-between; align-items:center; padding:4px 8px; background:rgba(255,255,255,0.02); border-radius:4px; }
.prof-stat-lbl   { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textmid); }
.prof-stat-val   { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textbright); font-weight:bold; }
.prof-divider    { height:1px; background:rgba(255,255,255,0.06); }
/* Fauteuil highlight */
.prof-fauteuil   { display:flex; align-items:center; gap:8px; padding:5px 10px; background:rgba(255,192,64,0.06); border:1px solid rgba(255,192,64,0.2); border-radius:5px; }
.prof-fauteuil-ico { font-size:16px; }
.prof-fauteuil-info { flex:1; }
.prof-fauteuil-name { font-family:'Orbitron',monospace; font-size:10px; color:var(--gold); letter-spacing:1px; }
.prof-fauteuil-val  { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--gold2); font-weight:700; margin-top:1px; }
/* Actions */
.prof-actions    { display:flex; gap:6px; padding:10px 16px 14px; border-top:1px solid rgba(255,255,255,0.06); }
.prof-btn        { flex:1; font-family:'Share Tech Mono',monospace; font-size:10px; font-weight:700; padding:8px 4px; border-radius:6px; border:1px solid; cursor:pointer; text-align:center; transition:all 0.15s; letter-spacing:0.5px; }
.prof-btn:hover       { opacity:0.85; transform:translateY(-1px); }
.prof-btn-warn        { border-color:var(--warn) !important; color:var(--warn) !important; }
.prof-antifarm-msg    { font-family:'Share Tech Mono',monospace; font-size:9px; padding:7px 16px 10px; line-height:1.5; }
.prof-af-block        { color:var(--danger); background:rgba(255,119,119,0.06); border-top:1px solid rgba(255,119,119,0.15); }
.prof-af-warn         { color:var(--warn);   background:rgba(255,204,85,0.06);  border-top:1px solid rgba(255,204,85,0.15); }
.prof-btn-msg    { background:rgba(var(--accent-rgb),0.12); border-color:var(--accent); color:var(--accent); }
.prof-btn-spy    { background:rgba(255,192,64,0.08); border-color:var(--gold); color:var(--gold); }
.prof-btn-atk    { background:rgba(255,100,100,0.1); border-color:var(--danger); color:var(--danger); }
.player-link     { color:var(--textbright); cursor:pointer; text-decoration:none; border-bottom:1px dotted rgba(255,255,255,0.3); padding-bottom:1px; transition:color 0.15s, border-color 0.15s; }
.player-link:hover{ color:var(--accent); border-bottom-color:var(--accent); }

/* ══ TOOLTIP EDGE FIX ══ */
.gap-xs { gap:4px; } .gap-sm { gap:8px; }
.font-mono { font-family:'Share Tech Mono',monospace; }
.font-orb { font-family:'Orbitron',monospace; }
.text-gold { color:var(--gold2); } .text-success { color:var(--success); }
.text-danger { color:var(--danger); } .text-soft { color:var(--textsoft); }
.mt-xs { margin-top:4px; } .mt-sm { margin-top:8px; }
.mb-xs { margin-bottom:4px; } .mb-sm { margin-bottom:8px; }
.p-sm { padding:8px; } .p-md { padding:14px; }

/* ══ SKIP LINK (accessibility) ══ */
.skip-link {
  position:absolute; top:-100%; left:50%; transform:translateX(-50%);
  background:var(--accent); color:#fff; padding:8px 16px; border-radius:4px;
  font-family:'Orbitron',monospace; font-size:var(--fs-sm); z-index:10000;
  text-decoration:none;
}
.skip-link:focus { top:8px; }

/* ══ UPGRADE SUGGESTIONS ══ */
.ov-suggest-block { padding:8px 16px; }
.ov-suggest-title {
  font-family:'Orbitron',monospace; font-size:11px; font-weight:700;
  letter-spacing:2px; color:var(--accent); margin-bottom:8px; opacity:0.8;
}
.ov-suggest-grid { display:flex; gap:8px; flex-wrap:wrap; }
.ov-suggest-card {
  display:flex; align-items:center; gap:8px; padding:8px 12px;
  background:rgba(var(--accent-rgb),0.05); border:1px solid rgba(var(--accent-rgb),0.15);
  border-radius:8px; transition:all 0.2s; flex:1; min-width:140px;
}
.ov-suggest-card:hover { border-color:rgba(var(--accent-rgb),0.4); background:rgba(var(--accent-rgb),0.1); }
.ov-suggest-ico { font-size:20px; }
.ov-suggest-name { font-family:'Share Tech Mono',monospace; font-size:11px; color:var(--textbright); }
.ov-suggest-cost { font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--textsoft); }

/* ══════════════════════════════════════
   SECTION BACKGROUNDS — Themed per section
   ══════════════════════════════════════ */
.sec-full { position:relative; }
#sf_fleet::before, #sf_alliance::before, #sf_market::before,
#sf_reports::before, #sf_commanders::before, #sf_rankings::before,
#sf_codex::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
}
#sf_fleet::before {
  background:
    radial-gradient(2px 2px at 12% 18%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1.5px 1.5px at 38% 55%, rgba(255,255,255,0.5), transparent),
    radial-gradient(2px 2px at 72% 30%, rgba(255,255,255,0.6), transparent),
    radial-gradient(1.5px 1.5px at 55% 75%, rgba(255,255,255,0.45), transparent),
    radial-gradient(2px 2px at 88% 60%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 22% 85%, rgba(255,255,255,0.4), transparent),
    radial-gradient(2px 2px at 65% 12%, rgba(var(--accent-rgb),0.5), transparent),
    radial-gradient(1.5px 1.5px at 30% 42%, rgba(var(--accent-rgb),0.35), transparent),
    repeating-linear-gradient(0deg, transparent, transparent 4px, rgba(140,200,255,0.04) 4px, rgba(140,200,255,0.04) 5px);
  animation:loStarTwinkle 6s ease-in-out infinite;
}
#sf_alliance::before {
  background:radial-gradient(ellipse at 30% 20%, rgba(120,80,200,0.2) 0%, transparent 55%),
             radial-gradient(ellipse at 70% 75%, rgba(60,120,220,0.15) 0%, transparent 50%),
             radial-gradient(ellipse at 50% 50%, rgba(90,60,180,0.08) 0%, transparent 70%);
}
#sf_market::before {
  background:radial-gradient(ellipse at 50% 25%, rgba(255,192,64,0.12) 0%, transparent 50%),
             radial-gradient(ellipse at 30% 80%, rgba(255,192,64,0.08) 0%, transparent 40%),
             radial-gradient(ellipse at 80% 60%, rgba(255,220,80,0.06) 0%, transparent 45%);
}
#sf_reports::before {
  background:repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(255,70,70,0.04) 3px, rgba(255,70,70,0.04) 4px),
             radial-gradient(ellipse at 50% 30%, rgba(255,60,60,0.06) 0%, transparent 60%);
}
#sf_commanders::before {
  background:radial-gradient(ellipse at 40% 30%, rgba(255,200,60,0.12) 0%, transparent 50%),
             radial-gradient(2px 2px at 18% 20%, rgba(255,200,60,0.6), transparent),
             radial-gradient(2px 2px at 78% 35%, rgba(255,200,60,0.5), transparent),
             radial-gradient(1.5px 1.5px at 45% 65%, rgba(255,200,60,0.4), transparent),
             radial-gradient(2px 2px at 62% 80%, rgba(255,200,60,0.35), transparent);
}
#sf_rankings::before {
  background:repeating-linear-gradient(0deg, transparent, transparent 30px, rgba(var(--accent-rgb),0.04) 30px, rgba(var(--accent-rgb),0.04) 31px),
             repeating-linear-gradient(90deg, transparent, transparent 30px, rgba(var(--accent-rgb),0.03) 30px, rgba(var(--accent-rgb),0.03) 31px);
}
#sf_codex::before {
  background:radial-gradient(ellipse at 50% 35%, rgba(0,229,255,0.1) 0%, transparent 50%),
             radial-gradient(ellipse at 20% 70%, rgba(0,229,255,0.06) 0%, transparent 40%);
}
/* Grid background for planet sections (overview/infra) */
#planetSection { position:relative; }
#planetSection::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 40px, rgba(var(--accent-rgb),0.06) 40px, rgba(var(--accent-rgb),0.06) 41px),
    repeating-linear-gradient(90deg, transparent, transparent 40px, rgba(var(--accent-rgb),0.04) 40px, rgba(var(--accent-rgb),0.04) 41px);
}

/* ══════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ══════════════════════════════════════ */

/* Tablet: ≤1024px — see sgc-layout.css */
