/* xskx · alliance command · S3-aligned theme
   deep portal base + golden Season 3 accents · production styles
   ───────────────────────────────────────────────────────────────
   Phase 1 (Foundation): import shared tokens + xskx theme.
   New tokens use --sp-*, --type-*, --r-*, --ease-*, --dur-*,
   --xskx-* prefixes. Legacy variables below remain in use
   for Phase 1; Phase 2 begins migration.
   ─────────────────────────────────────────────────────────── */

@import url('https://guides.server1606.com/assets/tokens/base.css');
@import url('https://guides.server1606.com/assets/tokens/xskx.css');

:root{
  /* base */
  --bg:oklch(13% .018 252);
  --bg-2:oklch(17% .022 252);
  --panel:oklch(20% .024 252);
  --panel-2:oklch(24% .026 252);
  --panel-3:oklch(30% .032 252);

  /* accents */
  --cyan:oklch(76% .105 243);
  --cyan-soft:oklch(86% .058 240);
  --cyan-deep:oklch(48% .078 243);
  --pink:oklch(72% .13 23);
  --pink-soft:oklch(84% .066 23);
  --violet:oklch(68% .12 296);
  --gold:oklch(82% .142 86);
  --lime:oklch(79% .15 139);
  --warn:oklch(76% .135 64);
  --danger:oklch(68% .16 18);
  --team-b:oklch(78% .09 231);
  --rank:oklch(76% .135 64);
  --accent:oklch(66% .16 54);
  --accent2:oklch(77% .125 73);

  /* text */
  --txt:oklch(94% .012 252);
  --txt-2:oklch(73% .035 252);
  --txt-3:oklch(56% .04 252);

  /* legacy aliases (used by sub-pages + JS-inline) — KEEP DEFINED */
  --sand:var(--cyan-soft);
  --sand-mid:var(--txt-2);
  --ember:var(--pink);
  --ember-hot:var(--cyan);
  --bronze:var(--violet);
  --night:var(--bg);
  --night2:var(--bg-2);
  --mute:var(--txt-3);
  --err:var(--danger);

  --line:oklch(100% .005 252 / .09);
  --line-2:oklch(100% .005 252 / .17);
  --focus:oklch(83% .08 240);
  --surface:oklch(20% .024 252 / .86);
  --surface-strong:oklch(23% .026 252 / .94);
  --shadow:0 22px 70px rgba(0,0,0,.38);
  --btn-glow:0 0 0 1px oklch(82% .142 86 / .20),0 10px 28px oklch(66% .16 54 / .18);
  --btn-glow-strong:0 0 0 1px oklch(82% .142 86 / .34),0 14px 34px oklch(66% .16 54 / .28),0 0 22px oklch(82% .142 86 / .10);
  --btn-glow-cyan:0 0 0 1px oklch(76% .105 243 / .28),0 12px 30px oklch(76% .105 243 / .16);
  --radius:8px;
  --radius-sm:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{background:var(--bg);color:var(--txt);font-family:'Inter','Exo 2',system-ui,sans-serif;overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased}
body{font-size:16px;line-height:1.5}
.hidden{display:none !important}
.skip-link{position:fixed;left:16px;top:12px;z-index:10000;transform:translateY(-150%);background:var(--txt);color:var(--bg);border-radius:var(--radius-sm);padding:10px 14px;font-weight:800;text-decoration:none}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
button,input,select,a{touch-action:manipulation}

/* ambient — S3 desert glow */
.ambient{position:fixed;inset:0;z-index:0;pointer-events:none}
.ambient .sky{position:absolute;inset:0;background:
  radial-gradient(ellipse 70% 38% at 18% 0%,rgba(232,114,12,.12),transparent 56%),
  radial-gradient(ellipse 56% 34% at 88% 8%,rgba(123,191,255,.10),transparent 52%),
  linear-gradient(180deg,#101827 0%,#070a10 72%)}
.ambient svg{position:absolute;bottom:0;left:0;width:100%;height:42%}
.ambient .d1{fill:rgba(232,114,12,.05)}
.ambient .d2{fill:rgba(255,215,0,.035)}
.ambient .d3{fill:rgba(5,8,15,.88)}
#stars{position:fixed;inset:0;z-index:1;pointer-events:none}
.radar{position:fixed;top:62%;left:50%;width:1200px;height:1200px;transform:translate(-50%,-50%);
  border-radius:50%;z-index:1;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(123,191,255,.045) 30deg,transparent 60deg);
  animation:spin 22s linear infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* chrome — top bar with pill controls */
.chrome{position:fixed;top:14px;left:18px;right:18px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.chrome-grp{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pill{font-family:'Orbitron',sans-serif;font-size:10.5px;letter-spacing:.22em;
  border:1px solid rgba(255,255,255,.11);color:var(--txt-2);
  min-height:44px;padding:10px 14px;border-radius:var(--radius);background:rgba(8,14,26,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:6px;cursor:default;transition:.18s;line-height:1.15}
.pill.hot{color:var(--gold);border-color:rgba(255,215,0,.28);background:rgba(255,215,0,.06)}
.pill.me{color:var(--txt);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.045)}
.pill.me .rk{color:var(--rank);font-weight:700}
.pill.me .dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}
a.pill,button.pill{cursor:pointer;border-style:solid;color:var(--txt)}
a.pill:hover,button.pill:hover{border-color:rgba(232,114,12,.44);color:var(--txt);background:rgba(232,114,12,.10)}
button.pill.ghost{background:transparent;font:inherit;font-family:'Orbitron',sans-serif;font-size:10.5px;letter-spacing:.22em}

main{position:relative;z-index:5;max-width:1180px;margin:0 auto;padding:96px 28px 64px}
.is-authed.tab-activity main{
  max-width:min(1480px, calc(100vw - 40px));
  padding-left:20px;
  padding-right:20px;
}

/* hero (pre-auth state) */
.hero{text-align:center;padding:34px 0 18px}
.hero .crest{width:52px;height:52px;margin:0 auto 12px;border-radius:14px;display:grid;place-items:center;font-family:'Orbitron',sans-serif;font-size:22px;font-weight:900;color:#151006;background:linear-gradient(135deg,var(--gold),var(--accent2));box-shadow:0 16px 34px rgba(232,114,12,.24)}
.hero h1{font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(54px,8vw,96px);
  letter-spacing:.12em;line-height:1;
  color:var(--gold);
  filter:drop-shadow(0 0 24px rgba(255,215,0,.42))}
.hero .tag{margin-top:14px;font-family:'Orbitron',sans-serif;font-size:11px;letter-spacing:.28em;color:var(--gold)}

/* gate */
.gate{margin:30px auto 0;max-width:560px;
  background:linear-gradient(180deg,var(--surface-strong),rgba(8,14,26,.92));
  border:1px solid var(--line-2);border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:26px 30px}
.gate label{display:block;text-align:center;font-family:'Orbitron',sans-serif;font-size:10px;letter-spacing:.45em;color:var(--gold);margin-bottom:14px;font-weight:700}
.gate-bubble{display:inline-flex;align-items:center;justify-content:center;min-height:28px;margin:0 auto 12px;padding:0 12px;border:1px solid rgba(102,211,255,.32);border-radius:999px;background:rgba(102,211,255,.10);color:#9bdcff;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gate-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;padding:4px;border:1px solid rgba(255,215,0,.18);border-radius:var(--radius-sm);background:rgba(255,255,255,.035)}
.gate-switch button{min-height:38px;border:0;border-radius:6px;background:transparent;color:var(--txt-3);cursor:pointer;font-family:'Orbitron',sans-serif;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.gate-switch button.active{background:linear-gradient(135deg,rgba(255,215,0,.20),rgba(232,114,12,.16));color:var(--txt);box-shadow:inset 0 0 0 1px rgba(255,215,0,.28)}
.gate .input-wrap{border-bottom:1px solid rgba(255,215,0,.34);padding:6px 0}
.gate .input-wrap + .input-wrap{margin-top:10px}
.gate input{width:100%;background:transparent;border:none;outline:none;
  font-family:'Orbitron',sans-serif;font-size:22px;color:var(--gold);text-align:center;letter-spacing:.18em}
.gate input::placeholder{color:rgba(255,215,0,.17);letter-spacing:.4em}
.gate .btn{margin-top:18px;width:100%;min-height:48px;background:linear-gradient(135deg,var(--gold),var(--accent2));
  color:#151006;border:none;padding:13px;font-family:'Orbitron',sans-serif;font-weight:800;letter-spacing:.3em;font-size:12px;
  border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--btn-glow);transition:.2s;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}
.gate .btn:hover{filter:brightness(1.08);box-shadow:var(--btn-glow-strong);transform:translateY(-1px)}
.gate .btn:disabled{opacity:.55;cursor:wait;transform:none}
.gate .btn-ghost{width:100%;margin-top:10px}
.gate .help{margin-top:12px;text-align:center;color:var(--txt-3);font-size:11px;letter-spacing:.12em}
.gate .err{margin-top:10px;text-align:center;color:var(--danger);font-size:12px;min-height:1em;letter-spacing:.04em}

/* status strip */
.status{margin:30px 0 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.stat-cell{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.2)}
.stat-cell::before{content:"";position:absolute;inset:0;background:radial-gradient(280px 180px at 100% 0%,rgba(255,215,0,.10),transparent 60%);pointer-events:none}
.stat-cell:nth-child(2)::before{background:radial-gradient(280px 180px at 100% 0%,rgba(255,212,92,.10),transparent 60%)}
.stat-cell:nth-child(3)::before{background:radial-gradient(280px 180px at 100% 0%,rgba(232,114,12,.11),transparent 60%)}
.stat-cell:nth-child(4)::before{background:radial-gradient(280px 180px at 100% 0%,rgba(255,212,92,.10),transparent 60%)}
.stat-cell:nth-child(5)::before{background:radial-gradient(280px 180px at 100% 0%,rgba(168,255,92,.10),transparent 60%)}
.stat-cell .lbl{font-family:'Orbitron',sans-serif;font-size:9.5px;letter-spacing:.28em;color:var(--txt-3);margin-bottom:8px;font-weight:700}
.stat-cell .val{font-family:'Orbitron',sans-serif;font-size:24px;color:var(--txt);font-weight:800;letter-spacing:.02em;line-height:1}
.stat-cell:nth-child(1) .val{color:var(--cyan)}
.stat-cell:nth-child(2) .val{color:var(--gold)}
.stat-cell:nth-child(3) .val{color:var(--accent2)}
.stat-cell:nth-child(4) .val{color:var(--gold)}
.stat-cell:nth-child(5) .val{color:var(--lime)}
.stat-cell .delta{font-size:11.5px;color:var(--txt-2);margin-top:8px}

/* tile grid */
.tiles{margin-top:18px;display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:14px;align-items:start}
.tile-column{display:flex;flex-direction:column;gap:14px;min-width:0}
.tile-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tile{position:relative;border-radius:var(--radius);overflow:hidden;
  background:var(--surface);
  border:1px solid var(--line);padding:18px 20px;
  transition:.25s;grid-column:span 4}
.tile.span4{grid-column:span 4}
.tile.span6{grid-column:span 6}
.tile.span8{grid-column:span 8}
.tile.span12{grid-column:span 12}
.tile::before{content:"";position:absolute;inset:0;background:radial-gradient(320px 200px at 100% 0%,rgba(232,114,12,.09),transparent 60%);pointer-events:none}
.tile h3{font-family:'Orbitron',sans-serif;font-size:12px;letter-spacing:.18em;color:var(--txt);margin-bottom:12px;display:flex;align-items:center;gap:8px;font-weight:700}
.tile h3 .ico,.nav-mark{width:28px;height:24px;border-radius:7px;display:inline-grid;place-items:center;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0;color:#101722;background:linear-gradient(135deg,var(--gold),var(--accent2));font-weight:800;flex-shrink:0}
.tile h3 .lock{margin-left:auto;font-size:10px;color:var(--txt-2);letter-spacing:.18em;opacity:.8;font-weight:700;padding:3px 9px;border-radius:7px;background:rgba(255,255,255,.045)}
.tile .body{color:var(--txt-2);font-size:12.5px;line-height:1.55;position:relative}
.tile.locked{opacity:.4;filter:grayscale(.4);pointer-events:none}
.tile.locked::after{content:"LOCKED · RANK POLICY";position:absolute;top:10px;right:16px;font-family:'Orbitron',sans-serif;font-size:9px;letter-spacing:.25em;color:var(--txt-3)}
.loading{color:var(--txt-3);font-size:12px;letter-spacing:.05em;padding:6px 0}

/* roster */
.roster-list{display:flex;flex-direction:column;gap:0}
.roster-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.roster-row:last-child{border-bottom:none}
.roster-row.me{color:var(--txt);background:linear-gradient(90deg,rgba(92,224,255,.16),transparent);margin:0 -8px;padding:7px 10px;border-radius:7px;border:none}
.roster-row .lhs{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.roster-row .rk{font-family:'Orbitron',sans-serif;font-size:9.5px;letter-spacing:.18em;color:var(--rank);min-width:22px;font-weight:700}
.roster-row .rk.r5{color:var(--gold)}
.roster-row .name{color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roster-row .pwr{color:var(--cyan);font-family:'Orbitron',sans-serif;font-size:11px;font-weight:600}

/* squads */
.squads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.sq{background:rgba(92,224,255,.06);border:1px solid var(--line);border-radius:9px;padding:9px 11px}
.sq .n{font-family:'Orbitron',sans-serif;font-size:10px;letter-spacing:.22em;color:var(--cyan)}
.sq .m{color:var(--txt-2);font-size:11px;margin-top:2px}

/* big number */
.big{display:flex;align-items:baseline;gap:10px;margin:6px 0 10px;position:relative}
.big .num{font-family:'Orbitron',sans-serif;font-size:34px;font-weight:900;line-height:1;
  color:var(--gold);
  text-shadow:0 0 40px rgba(255,215,0,.16)}
.big .unit{font-family:'Orbitron',sans-serif;font-size:11px;letter-spacing:.25em;color:var(--txt-3);font-weight:700}

/* feed */
.feed{display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.5;position:relative}
.feed > div{color:var(--txt-2);padding:6px 0;border-bottom:1px solid var(--line)}
.feed > div:last-child{border-bottom:none}
.feed b{color:var(--cyan);font-family:'Orbitron',sans-serif;font-size:10.5px;margin-right:7px;letter-spacing:.1em;font-weight:700}

/* secondary buttons */
.btn-ghost{margin-top:10px;min-height:44px;background:rgba(255,255,255,.045);color:var(--txt);border:1px solid rgba(255,255,255,.13);
  font-family:'Orbitron',sans-serif;font-size:10.5px;letter-spacing:.20em;padding:10px 14px;border-radius:var(--radius-sm);cursor:pointer;width:100%;
  transition:.18s;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}
.btn-ghost,
a.btn-ghost,
button.btn-ghost{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
}
.btn-ghost:hover:not(:disabled){background:rgba(232,114,12,.12);border-color:rgba(232,114,12,.46);color:var(--txt);box-shadow:0 6px 18px rgba(232,114,12,.18)}
.btn-ghost:disabled{opacity:.45;cursor:not-allowed}

/* admin matrix (admin.html) */
.admin-wrap{margin-top:18px;border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(165deg,var(--surface-strong),rgba(10,14,32,.92));
  border:1px solid var(--line-2);padding:24px 28px}
.admin-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.admin-wrap h2{font-family:'Orbitron',sans-serif;font-size:14px;letter-spacing:.28em;color:var(--txt);font-weight:800}
.admin-wrap .sub{color:var(--txt-2);font-size:12.5px;letter-spacing:.04em;max-width:520px;margin-top:6px}
.admin-wrap .tag{font-family:'Orbitron',sans-serif;font-size:10px;letter-spacing:.3em;color:var(--gold);
  border:1px solid rgba(255,215,0,.28);padding:5px 12px;border-radius:24px;background:rgba(255,215,0,.06);font-weight:700}
.matrix{display:grid;grid-template-columns:120px repeat(var(--cols,8),minmax(92px,1fr));gap:10px 14px;align-items:center;font-size:12px;overflow-x:auto}
.matrix.cols-5{grid-template-columns:120px repeat(5,1fr)}
.matrix.cols-8{grid-template-columns:120px repeat(8,1fr)}
.matrix .h{font-family:'Orbitron',sans-serif;font-size:9.5px;letter-spacing:.24em;color:var(--txt-3);text-align:center;font-weight:700}
.matrix .h.lhs{text-align:left}
.matrix .rk{font-family:'Orbitron',sans-serif;letter-spacing:.18em;color:var(--cyan);font-weight:700;font-size:11px}
.matrix .rk.super{color:var(--gold)}
.matrix .rk small{display:block;font-size:9px;color:var(--txt-3);letter-spacing:.18em;margin-top:2px;font-weight:400}
.slider-cell{position:relative}
.slider-cell input[type=range]{width:100%}
.slider{position:relative;height:18px;background:rgba(255,255,255,.04);border-radius:18px;border:1px solid var(--line);cursor:pointer}
.slider .fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:18px;transition:width .15s}
.slider.full .fill{background:linear-gradient(90deg,var(--gold),var(--accent2))}
.slider .knob{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--txt);
  transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(92,224,255,.55);transition:left .15s}
.perm-switch,
.perm-static{
  min-height:38px;
  width:100%;
  border-radius:var(--radius-sm);
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
  color:var(--txt-2);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:'Orbitron',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.2em;
  line-height:1;
}
.perm-switch{cursor:pointer;transition:.15s}
.perm-switch:hover{border-color:rgba(92,224,255,.42);box-shadow:0 0 18px rgba(92,224,255,.12)}
.perm-switch.on,
.perm-static.on{
  border-color:rgba(108,255,153,.42);
  background:linear-gradient(180deg,rgba(108,255,153,.15),rgba(108,255,153,.06));
  color:var(--lime);
}
.perm-switch.off{
  border-color:rgba(255,102,128,.34);
  background:linear-gradient(180deg,rgba(255,102,128,.12),rgba(255,102,128,.04));
  color:var(--danger);
}
.perm-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 12px currentColor;
  flex:0 0 auto;
}
.mission-server-form{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  gap:10px;
  align-items:center;
  margin:8px 0 16px;
}
.mission-server-form input{
  min-height:44px;
  width:100%;
  border:1px solid var(--line-2);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.035);
  color:var(--txt);
  outline:none;
  padding:0 14px;
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  letter-spacing:.06em;
}
.mission-server-form input:focus{
  border-color:rgba(92,224,255,.52);
  box-shadow:0 0 0 3px rgba(92,224,255,.12);
}
.mission-server-form input::placeholder{color:var(--txt-3)}
.mission-server-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:10px;
}
.mission-server-chip{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.035);
  padding:10px 11px;
}
.mission-server-chip b{
  display:block;
  color:var(--gold);
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}
.mission-server-chip span{
  display:block;
  color:var(--txt-3);
  font-size:11px;
  margin-top:2px;
}
.mission-server-delete{
  min-height:30px;
  border:1px solid rgba(255,102,128,.34);
  border-radius:var(--radius-sm);
  background:rgba(255,102,128,.08);
  color:var(--danger);
  cursor:pointer;
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.mission-server-delete:hover:not(:disabled){
  border-color:rgba(255,102,128,.62);
  background:rgba(255,102,128,.14);
}
.mission-server-delete:disabled{opacity:.5;cursor:not-allowed}
.mission-server-empty{
  grid-column:1/-1;
  border:1px dashed var(--line);
  border-radius:var(--radius-sm);
  color:var(--txt-3);
  padding:18px;
  text-align:center;
  font-size:12px;
}

/* toast */
#toast-host{position:fixed;left:50%;top:60px;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{padding:12px 18px;border:1px solid var(--cyan);background:rgba(92,224,255,.14);color:var(--cyan);
  font-family:'Orbitron',sans-serif;font-size:11px;letter-spacing:.18em;border-radius:var(--radius);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 0 30px rgba(92,224,255,.18);cursor:pointer;font-weight:700}
.toast.demo{animation:tPulse 2.4s ease-in-out infinite}
.toast.error{border-color:var(--danger);color:var(--danger);background:rgba(255,102,128,.12)}
.toast.ok{border-color:var(--lime);color:var(--lime);background:rgba(168,255,92,.12)}
@keyframes tPulse{0%,100%{box-shadow:0 0 16px rgba(92,224,255,.18)}50%{box-shadow:0 0 36px rgba(92,224,255,.4)}}

footer{margin:40px 0 22px;text-align:center;color:var(--txt-3);font-family:'Orbitron',sans-serif;font-size:10px;letter-spacing:.4em;position:relative;z-index:5;font-weight:700}

/* page-nav (rank-gated quick links) */
.page-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.page-nav-pill{font-family:'Orbitron',sans-serif;font-size:10.5px;letter-spacing:.18em;
  border:1px solid rgba(255,255,255,.11);color:var(--txt-2);
  min-height:44px;padding:10px 16px;border-radius:var(--radius);background:rgba(8,14,26,.72);backdrop-filter:blur(10px);
  text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:.18s;font-weight:700}
.page-nav-pill:hover{border-color:rgba(232,114,12,.44);color:var(--txt);background:rgba(232,114,12,.10);box-shadow:0 6px 18px rgba(232,114,12,.12)}
.page-nav-pill.ds{border-color:rgba(255,215,0,.28);color:var(--gold);background:rgba(255,215,0,.06)}
.page-nav-pill.ds:hover{border-color:var(--gold);color:var(--txt)}
.page-nav-pill.ms{border-color:rgba(123,191,255,.26);color:var(--cyan);background:rgba(30,144,255,.055)}
.page-nav-pill.ms:hover{border-color:var(--cyan);color:var(--txt)}
.page-nav-pill.tab.active{border-color:rgba(255,215,0,.48);color:var(--txt);background:rgba(255,215,0,.11)}
.tab-panel{margin-top:0}
.tab-panel > .tile{margin-top:18px}
.tab-panel[data-tab-panel="players"],
.tab-panel[data-tab-panel="career"]{
  max-width:980px;
  margin:0 auto;
}
.tab-panel[data-tab-panel="players"] .top10-list,
.tab-panel[data-tab-panel="career"] .top10-list{max-height:720px}
.tab-panel[data-tab-panel="players"] .top10-list,
.tab-panel[data-tab-panel="career"] .top10-list{gap:9px}
.tab-panel[data-tab-panel="players"] .top10-row,
.tab-panel[data-tab-panel="career"] .top10-row{padding:14px 16px;gap:9px}
.tab-panel[data-tab-panel="players"] .top10-head,
.tab-panel[data-tab-panel="career"] .top10-head{gap:12px}
.tab-panel[data-tab-panel="players"] .top10-pos,
.tab-panel[data-tab-panel="career"] .top10-pos{font-size:13px;min-width:34px}
.tab-panel[data-tab-panel="players"] .top10-rk,
.tab-panel[data-tab-panel="career"] .top10-rk{font-size:10.5px;min-width:34px;padding:5px 9px}
.tab-panel[data-tab-panel="players"] .top10-name,
.tab-panel[data-tab-panel="career"] .top10-name{font-size:15px}
.tab-panel[data-tab-panel="players"] .top10-powers{font-size:12.5px;gap:16px}
.tab-panel[data-tab-panel="players"] .top10-powers em{font-size:8.5px}
.tab-panel[data-tab-panel="career"] .career-lv{font-size:14px}
.tab-panel[data-tab-panel="career"] .career-meta{font-size:12px;padding-left:82px}
.tab-panel[data-tab-panel="players"] .top10-bar-wrap,
.tab-panel[data-tab-panel="career"] .top10-bar-wrap{height:5px}

.tab-panel[data-tab-panel="home"] .tiles{
  max-width:1040px;
  margin:22px auto 0;
  grid-template-columns:1fr;
}
.tab-panel[data-tab-panel="home"] .tile-column-side{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);
  gap:18px;
  align-items:start;
}
.tab-panel[data-tab-panel="home"] .tile{
  min-height:0;
}

/* member roster */
.member-roster-tile{display:block}
.top10-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:500px;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(255,215,0,.45) rgba(255,255,255,.04)}
.top10-list::-webkit-scrollbar{width:8px}
.top10-list::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:8px}
.top10-list::-webkit-scrollbar-thumb{background:rgba(255,215,0,.45);border-radius:8px}
.top10-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);
  border:1px solid var(--line);background:rgba(255,255,255,.02);transition:.18s}
.top10-row:hover{background:rgba(92,224,255,.05);border-color:var(--line-2)}
.top10-row.me{background:linear-gradient(90deg,rgba(92,224,255,.16),transparent);border-color:rgba(92,224,255,.32)}
.top10-head{display:flex;align-items:center;gap:8px}
.top10-pos{font-family:'Orbitron',sans-serif;font-size:11px;letter-spacing:.06em;color:var(--txt-3);min-width:22px;text-align:right;font-weight:800}
.top10-pos.gold{color:var(--gold)}.top10-pos.silver{color:#cfe0ff}.top10-pos.bronze{color:#ffb487}
.top10-rk{font-family:'Orbitron',sans-serif;font-size:9.5px;letter-spacing:.16em;color:var(--rank);min-width:24px;font-weight:800;padding:3px 7px;border-radius:6px;background:rgba(255,175,58,.16);text-align:center}
.top10-rk.r5{color:var(--gold);background:rgba(255,212,92,.16)}
.top10-name{flex:1;color:var(--txt);font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.top10-name{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  font-family:inherit;
  cursor:pointer;
}
.player-troop-trigger,
.player-profile-trigger{
  border-radius:5px;
  transition:color .16s ease,text-shadow .16s ease;
}
.player-troop-trigger:hover,
.player-troop-trigger:focus-visible,
.player-profile-trigger:hover,
.player-profile-trigger:focus-visible,
.activity-player-cell:hover .activity-player,
.activity-player-cell:focus-visible .activity-player{
  color:var(--cyan);
  text-shadow:0 0 12px rgba(92,224,255,.28);
  outline:none;
}
.player-troop-trigger:disabled{
  cursor:wait;
  opacity:.65;
}
.top10-pwr{font-family:'Orbitron',sans-serif;font-size:11px;color:var(--cyan);font-weight:700}
.top10-powers{
  display:flex;
  align-items:flex-end;
  gap:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  color:var(--cyan);
  text-align:right;
  white-space:nowrap;
}
.top10-powers span{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1px;
}
.top10-powers em{
  font-family:'Orbitron',sans-serif;
  font-style:normal;
  font-size:7.5px;
  letter-spacing:.16em;
  color:var(--txt-3);
}
.top10-powers span:last-child{
  color:var(--gold);
}
.top10-bar-wrap{height:3px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden}
.top10-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .45s ease}
.top10-row.me .top10-bar{background:linear-gradient(90deg,var(--gold),var(--accent2))}
.player-troop-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  min-height:24px;
  padding:5px 8px;
  margin-left:82px;
  border-radius:7px;
  border:1px solid rgba(92,224,255,.16);
  background:linear-gradient(90deg,rgba(92,224,255,.08),rgba(255,215,0,.035));
  color:var(--txt-2);
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
}
.player-troop-line[hidden]{display:none}
.player-troop-line b{
  color:var(--txt);
  font-size:12px;
}
.player-troop-line em{
  margin-left:auto;
  color:var(--txt-3);
  font-style:normal;
}
.player-troop-line .pt-chip{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  padding:2px 6px;
  border-radius:5px;
  background:rgba(92,224,255,.12);
  color:var(--cyan);
  font-family:'Orbitron',sans-serif;
  font-size:8px;
  letter-spacing:.16em;
  font-weight:800;
}
.player-troop-line .pt-delta{
  padding:2px 6px;
  border-radius:999px;
  font-weight:800;
}
.player-troop-line.up .pt-delta{color:var(--lime);background:rgba(110,231,117,.13)}
.player-troop-line.down .pt-delta{color:var(--danger);background:rgba(255,91,112,.13)}
.player-troop-line.loading b{color:var(--cyan)}
.player-troop-line.error{
  border-color:rgba(255,91,112,.3);
  background:rgba(255,91,112,.08);
}
.player-troop-line.error b{color:var(--danger)}

/* player profile detail card */
body.profile-card-open{
  overflow:hidden;
}
body.profile-card-open main,
body.profile-card-open header.chrome,
body.profile-card-open footer,
body.profile-card-open .ambient,
body.profile-card-open #stars,
body.profile-card-open .radar{
  filter:blur(6px) saturate(.85);
  transition:filter .18s ease;
}
.player-profile-modal{
  position:fixed;
  inset:0;
  z-index:9000;
  display:grid;
  place-items:center;
  padding:22px;
}
.player-profile-scrim{
  position:absolute;
  inset:0;
  background:oklch(6% .014 252 / .72);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.player-profile-card{
  position:relative;
  width:min(860px,100%);
  max-height:min(86vh,860px);
  overflow:auto;
  border:1px solid oklch(76% .105 243 / .28);
  border-radius:12px;
  background:
    linear-gradient(135deg, oklch(76% .105 243 / .11), transparent 34%),
    linear-gradient(180deg, oklch(14% .020 252 / .98), oklch(8.5% .014 252 / .98));
  box-shadow:0 28px 90px oklch(0% 0 0 / .56), inset 0 1px 0 oklch(100% .005 252 / .06);
}
.player-profile-close{
  position:sticky;
  top:12px;
  float:right;
  z-index:3;
  width:36px;
  height:36px;
  margin:12px 12px 0 0;
  border:1px solid oklch(100% .005 252 / .12);
  border-radius:9px;
  background:oklch(9% .014 252 / .82);
  color:var(--txt);
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
.profile-card-shell{
  padding:26px 28px 28px;
}
.profile-card-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 138px;
  gap:18px;
  align-items:start;
  padding-right:34px;
  padding-bottom:18px;
  border-bottom:1px solid oklch(100% .005 252 / .08);
}
.profile-card-kicker,
.profile-card-tags{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.profile-card-kicker span,
.profile-card-tags span{
  min-height:24px;
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:7px;
  border:1px solid oklch(100% .005 252 / .08);
  background:oklch(100% .005 252 / .035);
  color:var(--txt-3);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.profile-card-kicker .profile-flag{
  color:var(--cyan);
  border-color:oklch(76% .105 243 / .24);
  background:oklch(76% .105 243 / .11);
}
.profile-cache-chip{
  color:var(--gold) !important;
  border-color:oklch(82% .142 86 / .24) !important;
  background:oklch(82% .142 86 / .10) !important;
}
.profile-card-id h2{
  margin:10px 0 10px;
  color:var(--txt);
  font-family:'Fraunces',serif;
  font-size:clamp(32px,4.5vw,50px);
  line-height:1;
  font-weight:700;
}
.profile-card-tags .alliance{
  color:var(--gold);
  border-color:oklch(82% .142 86 / .24);
  background:oklch(82% .142 86 / .10);
}
.profile-likes{
  position:relative;
  min-height:112px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  padding:16px;
  text-align:left;
  border:1px solid oklch(76% .105 243 / .18);
  border-radius:12px;
  background:oklch(100% .005 252 / .035);
  overflow:hidden;
}
.profile-likes b{
  position:relative;
  color:var(--cyan);
  font-family:'Orbitron',sans-serif;
  font-size:22px;
  font-weight:900;
}
.profile-card-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:12px;
  margin-top:16px;
}
.profile-panel{
  min-width:0;
  padding:16px;
  border:1px solid oklch(100% .005 252 / .08);
  border-radius:10px;
  background:oklch(100% .005 252 / .028);
}
.profile-panel-label{
  display:block;
  color:var(--txt-3);
  font-family:'Orbitron',sans-serif;
  font-size:9px;
  font-weight:850;
  letter-spacing:.18em;
}
.profile-panel b{
  display:block;
  margin-top:8px;
  color:var(--txt);
  font-family:'Orbitron',sans-serif;
  font-size:24px;
  font-weight:900;
}
.profile-panel em{
  display:block;
  margin-top:3px;
  color:var(--txt-3);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  font-style:normal;
}
.profile-panel-power b{color:var(--cyan)}
.profile-panel-kills b{color:var(--gold)}
.profile-panel-vip{
  grid-column:1 / -1;
}
.profile-vip-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.profile-vip-head b{
  margin:0;
  color:var(--gold);
  font-size:16px;
}
.profile-vip-bar{
  height:10px;
  margin:14px 0 8px;
  overflow:hidden;
  border-radius:999px;
  background:oklch(100% .005 252 / .07);
}
.profile-vip-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cyan),var(--gold));
  box-shadow:0 0 18px oklch(76% .105 243 / .32);
}
.profile-delta{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  padding:3px 7px;
  border-radius:999px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:900;
}
.profile-delta.up{
  color:var(--lime);
  background:oklch(76% .15 142 / .13);
  border:1px solid oklch(76% .15 142 / .24);
}
.profile-troop-button{
  width:100%;
  min-height:38px;
  margin-top:14px;
  border:1px solid oklch(76% .105 243 / .28);
  border-radius:8px;
  background:oklch(76% .105 243 / .10);
  color:var(--cyan);
  font-family:'Orbitron',sans-serif;
  font-size:10px;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}
.profile-troop-button:hover,
.profile-troop-button:focus-visible{
  border-color:var(--cyan);
  background:oklch(76% .105 243 / .17);
  outline:none;
}
.profile-troop-result{
  margin-top:10px;
}
.profile-troop-result.loading,
.profile-troop-result.error{
  color:var(--txt-3);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
}
.profile-troop-result.error{color:var(--danger)}
.profile-troop-pill{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 10px;
  align-items:center;
  padding:10px;
  border:1px solid oklch(76% .105 243 / .18);
  border-radius:9px;
  background:oklch(76% .105 243 / .07);
  font-family:'JetBrains Mono',monospace;
}
.profile-troop-pill span{
  color:var(--txt-3);
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.profile-troop-pill b{
  margin:0;
  color:var(--cyan);
  font-size:17px;
  text-align:right;
}
.profile-troop-pill em,
.profile-troop-pill i{
  color:var(--txt-3);
  font-size:10px;
  font-style:normal;
}
.profile-troop-pill small{
  color:var(--lime);
  text-align:right;
  font-weight:900;
}
.profile-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.profile-stat{
  min-width:0;
  padding:12px;
  border:1px solid oklch(100% .005 252 / .07);
  border-radius:9px;
  background:oklch(100% .005 252 / .026);
}
.profile-stat span{
  display:block;
  color:var(--txt-3);
  font-family:'Orbitron',sans-serif;
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.18em;
}
.profile-stat b{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:8px;
  color:var(--txt);
  font-size:17px;
  font-weight:850;
}
.profile-stat b .profile-delta{
  margin-top:0;
}
.profile-gift-box{
  position:relative;
  width:18px;
  height:16px;
  display:inline-block;
  border-radius:3px;
  background:linear-gradient(90deg,var(--gold) 0 38%, oklch(96% .12 95) 38% 48%, var(--gold) 48%);
  box-shadow:0 0 16px oklch(82% .142 86 / .24);
  animation:profile-gift-pop 2.4s ease-in-out infinite;
}
.profile-gift-box::before{
  content:"";
  position:absolute;
  left:-2px;
  top:-5px;
  width:22px;
  height:5px;
  border-radius:3px;
  background:linear-gradient(90deg,var(--gold) 0 39%, oklch(96% .12 95) 39% 48%, var(--gold) 48%);
}
.profile-week-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid oklch(100% .005 252 / .08);
}
.profile-week-strip div{
  min-width:0;
  padding:10px 12px;
  border-radius:8px;
  background:oklch(100% .005 252 / .026);
}
.profile-week-strip span{
  display:block;
  color:var(--txt-3);
  font-family:'Orbitron',sans-serif;
  font-size:8px;
  font-weight:850;
  letter-spacing:.16em;
}
.profile-week-strip b{
  display:block;
  margin-top:6px;
  color:var(--txt);
  font-size:15px;
}
.profile-card-loading,
.profile-card-error{
  min-height:260px;
  display:grid;
  place-items:center;
  gap:8px;
  padding:34px;
  text-align:center;
}
.profile-card-loading span{
  width:42px;
  height:42px;
  border-radius:50%;
  border:2px solid oklch(76% .105 243 / .18);
  border-top-color:var(--cyan);
  animation:profile-spin .9s linear infinite;
}
.profile-card-loading b,
.profile-card-error b{
  color:var(--txt);
  font-size:18px;
}
.profile-card-loading em,
.profile-card-error span{
  color:var(--txt-3);
  font-style:normal;
}
.activity-player-cell{
  cursor:pointer;
  border-radius:7px;
}
.activity-player-cell:focus-visible{
  outline:1px solid oklch(76% .105 243 / .48);
  outline-offset:-4px;
}
@keyframes profile-gift-pop{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(-2px) rotate(-2deg)}
}
@keyframes profile-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){
  .profile-gift-box,
  .profile-card-loading span{animation:none}
}
@media (max-width:640px){
  .tab-panel[data-tab-panel="players"] .player-troop-line{
    margin-left:0;
    gap:6px;
  }
  .tab-panel[data-tab-panel="players"] .player-troop-line em{
    width:100%;
    margin-left:0;
  }
  .player-profile-modal{
    padding:10px;
    place-items:end center;
  }
  .player-profile-card{
    max-height:92vh;
    border-radius:12px 12px 0 0;
  }
  .profile-card-shell{
    padding:18px 14px 20px;
  }
  .profile-card-hero{
    grid-template-columns:1fr;
    padding-right:38px;
  }
  .profile-likes{
    min-height:96px;
  }
  .profile-card-grid,
  .profile-stat-grid,
  .profile-week-strip{
    grid-template-columns:1fr;
  }
  .profile-panel-vip{
    grid-column:auto;
  }
}

/* alliance strength ranking reuses member ranking rows */
.alliance-ranking.top10-list{max-height:500px}
.alliance-h2h-host{
  display:block;
  margin-bottom:10px;
}
.alliance-h2h-host:empty{
  display:none;
}
.alliance-h2h{
  display:grid;
  gap:10px;
  margin-bottom:8px;
  padding:10px;
  border:1px solid rgba(92,224,255,.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 20% 0%, rgba(92,224,255,.12), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  overflow:hidden;
}
.h2h-title{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  font-family:'Orbitron',sans-serif;
}
.h2h-title span{
  color:var(--txt);
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
}
.h2h-title b{
  color:var(--gold);
  font-size:9px;
  letter-spacing:.18em;
}
.h2h-title em{
  margin-left:auto;
  color:var(--txt-3);
  font-style:normal;
  font-size:9px;
  letter-spacing:.12em;
  white-space:nowrap;
}
.h2h-arena{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  perspective:900px;
}
.alliance-h2h-card{
  position:relative;
  min-width:0;
  min-height:122px;
  display:flex;
  flex-direction:column;
  gap:5px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  padding:12px 10px 10px;
  color:var(--txt);
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.022)),
    rgba(6,12,18,.42);
  text-align:left;
  cursor:pointer;
  transform:translateY(0) rotateX(0);
  animation:h2h-float 5.6s ease-in-out infinite;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.alliance-h2h-card:nth-child(2){animation-delay:.35s}
.alliance-h2h-card:nth-child(3){animation-delay:.7s}
.alliance-h2h-card:hover,
.alliance-h2h-card:focus-visible{
  transform:translateY(-3px) rotateX(2deg);
  border-color:rgba(92,224,255,.36);
  box-shadow:0 12px 26px rgba(0,0,0,.22),0 0 22px rgba(92,224,255,.10);
  outline:none;
}
.alliance-h2h-card.gold{border-color:rgba(255,215,0,.26)}
.alliance-h2h-card.silver{border-color:rgba(175,205,255,.20)}
.alliance-h2h-card.bronze{border-color:rgba(255,145,76,.22)}
.alliance-h2h-card.own{
  background:
    linear-gradient(145deg, rgba(92,224,255,.13), rgba(255,215,0,.055)),
    rgba(6,12,18,.45);
}
.h2h-rank{
  font-family:'Orbitron',sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  color:var(--gold);
}
.h2h-tag{
  overflow:hidden;
  color:var(--txt);
  font-family:'Orbitron',sans-serif;
  font-size:18px;
  font-weight:900;
  letter-spacing:.04em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.h2h-power{
  color:var(--cyan);
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.h2h-refresh{
  position:absolute;
  top:10px;
  right:10px;
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(92,224,255,.28);
  border-radius:7px;
  background:rgba(92,224,255,.08);
  color:var(--cyan);
  font-family:'JetBrains Mono',monospace;
  font-size:15px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}
.h2h-refresh:hover,
.h2h-refresh:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(255,215,0,.45);
  background:rgba(255,215,0,.10);
  color:var(--gold);
  outline:none;
}
.h2h-refresh:disabled{
  cursor:wait;
  opacity:.72;
}
.h2h-refresh.loading{
  animation:h2h-refresh-spin .8s linear infinite;
}
.h2h-meta{
  min-height:26px;
  color:var(--txt-3);
  font-size:10px;
  line-height:1.25;
}
.h2h-track{
  height:5px;
  margin-top:auto;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.07);
}
.h2h-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cyan),var(--gold));
  animation:h2h-pulse 2.7s ease-in-out infinite;
}
.alliance-h2h-card .alliance-troop-detail{
  padding-left:0;
  margin-top:4px;
}
.alliance-h2h-card .troop-summary{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.alliance-h2h-card .troop-summary span{
  padding:5px 6px;
}
.alliance-h2h-card .troop-summary b{
  font-size:9.5px;
}
.alliance-h2h-card .troop-summary em{
  font-size:8px;
}
.alliance-rank-row{cursor:default}
.alliance-rank-row:focus-visible{outline:2px solid rgba(92,224,255,.7);outline-offset:2px}
.alliance-rank-row .top10-rk{min-width:48px}
.alliance-rank-row .top10-name{text-transform:none}
.alliance-rank-meta{margin-top:-3px;padding-left:62px;color:var(--txt-3);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alliance-rank-row.own .top10-bar{background:linear-gradient(90deg,var(--cyan),var(--gold))}
.alliance-troop-detail{display:none;padding-left:62px}
.alliance-troop-detail.open{display:block}
.troop-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:2px 0 1px}
.troop-summary span{min-width:0;padding:7px 8px;border:1px solid rgba(92,224,255,.14);border-radius:7px;background:rgba(92,224,255,.055)}
.troop-summary b{display:block;font-family:'Orbitron',sans-serif;font-size:11px;color:var(--cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.troop-summary em{display:block;margin-top:2px;font-style:normal;font-size:9.5px;color:var(--txt-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.troop-loading,.troop-error{display:inline-flex;margin-top:1px;font-size:11px;color:var(--txt-3)}
.troop-error{color:var(--red)}
@keyframes h2h-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes h2h-pulse{
  0%,100%{filter:brightness(1);opacity:.86}
  50%{filter:brightness(1.18);opacity:1}
}
@keyframes h2h-refresh-spin{
  to{transform:rotate(360deg)}
}
@media(max-width:720px){
  .h2h-arena{
    grid-template-columns:1fr;
  }
  .alliance-h2h-card{
    min-height:104px;
  }
  .h2h-title{
    flex-wrap:wrap;
  }
  .h2h-title em{
    width:100%;
    margin-left:0;
  }
}

/* Activity ranking stays inside its own scrollport so search jumps are stable. */
.tab-panel[data-tab-panel="activity"] .activity-table-wrap{
  max-height:min(70vh, 760px) !important;
  overflow:auto !important;
  scrollbar-width:thin;
  scrollbar-color:oklch(76% .105 243 / .35) transparent;
}

/* Absolute final component priority. */
body[data-page] .tile,
body[data-page] .stat-cell,
body[data-page] .member-card,
body[data-page] .mission-card,
body[data-page] .admin-wrap{
  border:1px solid var(--x-line,rgba(238,226,200,.15)) !important;
  border-radius:0 !important;
  background:var(--x-panel,#191914) !important;
  box-shadow:none !important;
}
body[data-page] .top10-list,
body[data-page] .activity-table-wrap{
  border:1px solid var(--x-line,rgba(238,226,200,.15)) !important;
  border-radius:0 !important;
  background:var(--x-panel-soft,#171713) !important;
}
body[data-page] .top10-row{
  border:0 !important;
  border-bottom:1px solid var(--x-line,rgba(238,226,200,.15)) !important;
  border-radius:0 !important;
  background:transparent !important;
}
body[data-page] .activity-table thead th{
  border-bottom:1px solid var(--x-line-strong,rgba(240,183,93,.32)) !important;
  background:#211f18 !important;
  color:var(--x-amber,#e2b45f) !important;
}
body[data-page] .activity-row,
body[data-page] .activity-table tbody tr.activity-row{
  border-radius:0 !important;
  background:transparent !important;
}
body[data-page] .activity-row:nth-child(even),
body[data-page] .activity-table tbody tr.activity-row:nth-child(even){
  background:rgba(238,226,200,.018) !important;
}
body[data-page] .activity-row:hover,
body[data-page] .activity-table tbody tr.activity-row:hover,
body[data-page] .top10-row:hover{
  background:rgba(226,180,95,.055) !important;
}

/* Absolute final Activity performance guard.
   Keep the 100-row ranking as one stable table and avoid delayed row/bar paint. */
.tab-panel[data-tab-panel="activity"] .activity-table-wrap{
  height:min(70vh, 760px) !important;
  max-height:min(70vh, 760px) !important;
  overflow:auto !important;
  contain:layout paint !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table{
  display:table !important;
  width:100% !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  contain:none !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table thead{
  display:table-header-group !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody{
  display:table-row-group !important;
  contain:none !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody tr.activity-row{
  display:table-row !important;
  contain:none !important;
  content-visibility:visible !important;
  transform:none !important;
  will-change:auto !important;
  transition:none !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody td{
  display:table-cell !important;
  width:auto !important;
  padding:12px 14px !important;
  border-bottom:1px solid var(--x-line, rgba(238,226,200,.15)) !important;
}
.tab-panel[data-tab-panel="activity"] .activity-stack,
.tab-panel[data-tab-panel="activity"] .activity-player-thp,
.tab-panel[data-tab-panel="activity"] .activity-bar-fill,
.tab-panel[data-tab-panel="activity"] .activity-player-thp-track span{
  animation:none !important;
  transition:none !important;
  transform:none !important;
  will-change:auto !important;
}
@media(max-width:640px){
  .tab-panel[data-tab-panel="activity"] .activity-table thead{
    display:none !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table,
  .tab-panel[data-tab-panel="activity"] .activity-table tbody{
    display:block !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table tbody tr.activity-row{
    display:grid !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table tbody td{
    display:block !important;
    padding:0 !important;
  }
}

/* Final Activity performance guard.
   Keep the 100-row ranking as one stable table and avoid delayed row/bar paint. */
.tab-panel[data-tab-panel="activity"] .activity-table-wrap{
  height:min(70vh, 760px) !important;
  max-height:min(70vh, 760px) !important;
  overflow:auto !important;
  contain:layout paint !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table{
  display:table !important;
  width:100% !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  contain:none !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table thead{
  display:table-header-group !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody{
  display:table-row-group !important;
  contain:none !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody tr.activity-row{
  display:table-row !important;
  contain:none !important;
  content-visibility:visible !important;
  transform:none !important;
  will-change:auto !important;
  transition:none !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody td{
  display:table-cell !important;
  width:auto !important;
  padding:12px 14px !important;
  border-bottom:1px solid var(--x-line, rgba(238,226,200,.15)) !important;
}
.tab-panel[data-tab-panel="activity"] .activity-stack,
.tab-panel[data-tab-panel="activity"] .activity-player-thp,
.tab-panel[data-tab-panel="activity"] .activity-bar-fill,
.tab-panel[data-tab-panel="activity"] .activity-player-thp-track span{
  animation:none !important;
  transition:none !important;
  transform:none !important;
  will-change:auto !important;
}
@media(max-width:640px){
  .tab-panel[data-tab-panel="activity"] .activity-table thead{
    display:none !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table,
  .tab-panel[data-tab-panel="activity"] .activity-table tbody{
    display:block !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table tbody tr.activity-row{
    display:grid !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table tbody td{
    display:block !important;
    padding:0 !important;
  }
}

/* Final Activity performance guard.
   Keep the 100-row ranking as one stable table and avoid delayed row/bar paint. */
.tab-panel[data-tab-panel="activity"] .activity-table-wrap{
  height:min(70vh, 760px) !important;
  max-height:min(70vh, 760px) !important;
  overflow:auto !important;
  contain:layout paint !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table{
  display:table !important;
  width:100% !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  contain:none !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table thead{
  display:table-header-group !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody{
  display:table-row-group !important;
  contain:none !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody tr.activity-row{
  display:table-row !important;
  contain:none !important;
  content-visibility:visible !important;
  transform:none !important;
  will-change:auto !important;
  transition:none !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody td{
  display:table-cell !important;
  width:auto !important;
  padding:12px 14px !important;
  border-bottom:1px solid var(--x-line, rgba(238,226,200,.15)) !important;
}
.tab-panel[data-tab-panel="activity"] .activity-stack,
.tab-panel[data-tab-panel="activity"] .activity-player-thp,
.tab-panel[data-tab-panel="activity"] .activity-bar-fill,
.tab-panel[data-tab-panel="activity"] .activity-player-thp-track span{
  animation:none !important;
  transition:none !important;
  transform:none !important;
  will-change:auto !important;
}

@media(max-width:640px){
  .tab-panel[data-tab-panel="activity"] .activity-table thead{
    display:none !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table,
  .tab-panel[data-tab-panel="activity"] .activity-table tbody{
    display:block !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table tbody tr.activity-row{
    display:grid !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table tbody td{
    display:block !important;
    padding:0 !important;
  }
}

/* Final field-guide component alignment: cards, rankings and data tables. */
body[data-page]{
  --x-panel:#191914;
  --x-panel-raised:#211f18;
  --x-panel-soft:#171713;
  --x-line:rgba(238,226,200,.15);
  --x-line-strong:rgba(240,183,93,.32);
  --x-ink:#eee2c8;
  --x-muted:#a89b80;
  --x-copper:#c76437;
  --x-amber:#e2b45f;
}

body[data-page] .tile,
body[data-page] .stat-cell,
body[data-page] .member-card,
body[data-page] .mission-card,
body[data-page] .admin-wrap{
  border:1px solid var(--x-line) !important;
  border-radius:0 !important;
  background:var(--x-panel) !important;
  box-shadow:none !important;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)) !important;
}
body[data-page] .tile::after,
body[data-page] .stat-cell::after,
body[data-page] .member-card::after{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:54px;
  height:2px;
  background:var(--x-copper);
  pointer-events:none;
}
body[data-page] .tile h3{
  margin:-2px -2px 16px;
  padding:0 0 11px;
  border-bottom:1px solid var(--x-line);
  color:var(--x-ink) !important;
  font-family:var(--ops-head,"Arial Narrow",sans-serif) !important;
  font-size:15px !important;
  font-weight:900 !important;
}
body[data-page] .tile h3 .ico,
body[data-page] .nav-mark{
  width:30px;
  height:25px;
  border:1px solid var(--x-line-strong);
  border-radius:0 !important;
  background:rgba(226,180,95,.10) !important;
  color:var(--x-amber) !important;
}
body[data-page] .tile h3 .lock{
  border:1px solid var(--x-line);
  border-radius:0;
  background:transparent;
  color:var(--x-muted);
}

body[data-page] .stat-cell{
  min-height:112px;
  padding:17px 18px 15px !important;
}
body[data-page] .stat-cell::before{display:none !important}
body[data-page] .stat-cell .lbl{
  margin-bottom:12px;
  color:var(--x-muted) !important;
  font-family:var(--ops-mono,monospace) !important;
  font-size:9px !important;
  letter-spacing:1px !important;
}
body[data-page] .stat-cell .val{
  color:var(--x-ink) !important;
  font-family:var(--ops-head,"Arial Narrow",sans-serif) !important;
  font-size:28px;
}
body[data-page] .stat-cell .delta{color:var(--x-muted)}

body[data-page] .top10-list{
  gap:0 !important;
  padding-right:0;
  border:1px solid var(--x-line);
  background:var(--x-panel-soft);
}
body[data-page] .top10-row{
  position:relative;
  gap:7px;
  padding:12px 14px !important;
  border:0 !important;
  border-bottom:1px solid var(--x-line) !important;
  border-radius:0 !important;
  background:transparent !important;
}
body[data-page] .top10-row:last-child{border-bottom:0 !important}
body[data-page] .top10-row:hover{
  background:rgba(226,180,95,.055) !important;
}
body[data-page] .top10-row.me{
  background:rgba(199,100,55,.10) !important;
  box-shadow:inset 3px 0 0 var(--x-copper);
}
body[data-page] .top10-pos,
body[data-page] .top10-rk{
  font-family:var(--ops-mono,monospace) !important;
}
body[data-page] .top10-rk,
body[data-page] .activity-rank,
body[data-page] .activity-career-gain{
  border:1px solid var(--x-line-strong);
  border-radius:0 !important;
  background:rgba(226,180,95,.08);
  color:var(--x-amber);
}
body[data-page] .top10-bar-wrap,
body[data-page] .activity-bar-track,
body[data-page] .activity-player-thp-track{
  border-radius:0 !important;
  background:rgba(238,226,200,.08) !important;
}
body[data-page] .top10-bar,
body[data-page] .activity-bar-fill,
body[data-page] .activity-player-thp-track span{
  border-radius:0 !important;
  background:linear-gradient(90deg,var(--x-copper),var(--x-amber)) !important;
}

body[data-page] .activity-table-wrap{
  border:1px solid var(--x-line) !important;
  border-radius:0 !important;
  background:var(--x-panel-soft) !important;
}
body[data-page] .activity-table{
  color:var(--x-ink);
  font-family:var(--ops-body,system-ui,sans-serif) !important;
}
body[data-page] .activity-table thead th{
  padding-top:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--x-line-strong);
  background:#211f18 !important;
  color:var(--x-amber) !important;
  font-family:var(--ops-mono,monospace) !important;
  letter-spacing:1px;
}
body[data-page] .activity-table tbody td{
  border-bottom:1px solid var(--x-line) !important;
}
body[data-page] .activity-row{
  background:transparent !important;
  box-shadow:inset 2px 0 0 transparent;
}
body[data-page] .activity-row:nth-child(even){
  background:rgba(238,226,200,.018) !important;
}
body[data-page] .activity-row:hover{
  background:rgba(226,180,95,.055) !important;
  box-shadow:inset 2px 0 0 var(--x-copper);
}
body[data-page] .activity-stack{
  gap:6px;
  padding:8px 10px;
  border-left:1px solid var(--x-line);
  background:rgba(238,226,200,.018);
}
body[data-page] .activity-stack-label,
body[data-page] .activity-num,
body[data-page] .activity-career-cell,
body[data-page] .activity-scan{
  font-family:var(--ops-mono,monospace) !important;
}
body[data-page] .activity-stack-row.score .activity-stack-label,
body[data-page] .activity-stack-row.stamina .activity-stack-label{
  color:var(--x-amber);
}
body[data-page] .activity-stack-row.kills .activity-stack-label{color:#cf6a58}
body[data-page] .activity-player{font-weight:800;color:var(--x-ink)}
body[data-page] .activity-sub,
body[data-page] .activity-scan span{color:var(--x-muted)}

body[data-page] .member-card{
  position:relative;
  background:var(--x-panel) !important;
}
body[data-page] .member-card.team-a,
body[data-page] .member-card.team-b{
  border-color:var(--x-line-strong) !important;
  background:var(--x-panel-raised) !important;
}

@media(max-width:640px){
  body[data-page] .activity-table tbody tr.activity-row{
    border:1px solid var(--x-line);
    border-radius:0;
    background:var(--x-panel) !important;
    clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  }
  body[data-page] .activity-stack{border-left:0;border-top:1px solid var(--x-line)}
}
.career-ranking.top10-list{max-height:320px}
.career-lv{font-family:'Orbitron',sans-serif;font-size:12px;color:var(--gold);font-weight:800;white-space:nowrap}
.career-meta{margin-top:-3px;padding-left:62px;color:var(--txt-3);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.career-rank-row .top10-bar{background:linear-gradient(90deg,var(--violet),var(--gold))}
.activity-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.activity-toolbar .btn-ghost,
.activity-toolbar .filter-select{
  width:auto;
  margin-top:0;
}
.activity-toolbar .filter-select{
  min-height:44px;
}
.activity-view-tabs{
  display:inline-flex;
  min-height:44px;
  padding:3px;
  gap:3px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:oklch(11% .018 252 / .70);
}
.activity-view-tab{
  min-width:76px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--txt-3);
  cursor:pointer;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
}
.activity-view-tab.active{
  background:linear-gradient(135deg, oklch(72% .13 230 / .20), oklch(82% .142 86 / .16));
  color:var(--txt);
  box-shadow:inset 0 0 0 1px oklch(76% .105 243 / .26);
}
.activity-search{
  display:inline-grid;
  grid-template-columns:auto minmax(180px,240px);
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:3px 5px 3px 12px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:oklch(11% .018 252 / .70);
}
.activity-search span{
  color:var(--txt-3);
  font-family:'JetBrains Mono',monospace;
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.activity-search input{
  width:100%;
  min-height:34px;
  border:0;
  border-radius:6px;
  outline:none;
  background:oklch(100% .005 252 / .055);
  color:var(--txt);
  padding:0 10px;
  font:700 12px 'Inter',sans-serif;
}
.activity-search input:focus{
  box-shadow:inset 0 0 0 1px oklch(76% .105 243 / .42), 0 0 0 3px oklch(76% .105 243 / .10);
}
.activity-table-wrap{
  max-height:720px;
  overflow-y:auto;
  overflow-x:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:oklch(16% .02 252 / .48);
}
.activity-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:0;
  table-layout:fixed;
  font-size:12.5px;
}
.activity-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:11px 14px;
  background:oklch(18% .023 252 / .96);
  border-bottom:1px solid var(--line-2);
  color:var(--txt-3);
  font-family:'Inter',system-ui,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:left;
  white-space:nowrap;
}
.activity-table th:first-child,
.activity-table td:first-child{width:54px;text-align:right}
.activity-table th:nth-child(2),
.activity-table td:nth-child(2){width:19%}
.activity-table th:nth-child(3),
.activity-table td:nth-child(3){width:70px}
.activity-table th:nth-child(4),
.activity-table td:nth-child(4){width:auto}
.activity-table th:nth-child(5),
.activity-table td:nth-child(5){width:90px}
.activity-table th:nth-child(6),
.activity-table td:nth-child(6){width:108px}
.activity-table tbody td{
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
}
.activity-table tbody tr:last-child td{border-bottom:none}
.activity-row{background:rgba(255,255,255,.012);transition:background .18s ease}
.activity-row:hover{background:rgba(92,224,255,.045)}
.activity-row.search-hit{
  background:linear-gradient(90deg, oklch(76% .105 243 / .14), oklch(82% .142 86 / .08)) !important;
  outline:1px solid oklch(76% .105 243 / .42);
  outline-offset:-1px;
}
.activity-pos{
  font-weight:900;
  color:var(--txt-3);
  white-space:nowrap;
}
.activity-pos.gold{color:var(--gold)}
.activity-pos.silver{color:#cfe0ff}
.activity-pos.bronze{color:#ffb487}
.activity-player{
  color:var(--txt);
  font-size:13px;
  font-weight:750;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.activity-player-thp{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:4px;
  max-width:220px;
  margin-top:6px;
  margin-bottom:5px;
}
.activity-player-thp-head{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  color:var(--gold);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
}
.activity-player-thp-head b{
  color:var(--txt-3);
  font-family:'Orbitron',sans-serif;
  font-size:8px;
  letter-spacing:.18em;
}
.activity-player-thp-head em{
  color:var(--txt);
  font-style:normal;
  font-weight:800;
}
.activity-player-thp .activity-stack-delta{
  margin-left:auto;
}
.activity-player-thp-track{
  display:block;
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:oklch(100% .005 252 / .07);
}
.activity-player-thp-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--accent2));
}
.activity-player-thp.empty .activity-player-thp-track span{
  background:transparent;
}
.activity-sub{
  min-height:15px;
  margin-top:2px;
  color:var(--txt-3);
  font-size:10.5px;
  white-space:nowrap;
}
.activity-rank{
  display:inline-flex;
  min-width:34px;
  justify-content:center;
  padding:4px 8px;
  border-radius:6px;
  border:1px solid oklch(76% .135 64 / .24);
  background:oklch(76% .135 64 / .12);
  color:var(--rank);
  font-size:10px;
  font-weight:850;
}
.activity-rank.r5{
  border-color:oklch(82% .142 86 / .34);
  background:oklch(82% .142 86 / .14);
  color:var(--gold);
}
.activity-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--txt-3);
  box-shadow:0 0 0 3px oklch(100% .005 252 / .035);
}
.activity-dot.good{background:var(--lime)}
.activity-dot.warn{background:var(--warn)}
.activity-dot.low{background:var(--txt-3)}
.activity-num,
.activity-career-cell,
.activity-scan{
  font-family:'JetBrains Mono',monospace;
  text-align:right;
  white-space:nowrap;
}
.activity-num b,
.activity-career-cell b,
.activity-scan b{
  display:block;
  color:inherit;
  font-weight:800;
}
.activity-num span,
.activity-scan span{
  display:block;
  color:var(--txt-3);
  font-size:10px;
  margin-top:2px;
}
.activity-num.cyan{color:var(--cyan)}
.activity-num.gold{color:var(--gold)}
.activity-num.violet{color:var(--violet)}
.activity-career-cell{
  color:var(--violet);
}
.activity-career-cell b{
  color:var(--txt);
}
.activity-career-gain{
  display:inline-flex;
  justify-content:center;
  min-width:30px;
  margin-top:5px;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid oklch(68% .12 296 / .30);
  background:oklch(68% .12 296 / .14);
  color:var(--violet);
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:800;
  line-height:1.15;
}
.activity-scan b{color:var(--txt)}
.activity-empty{
  padding:28px 14px !important;
  text-align:center !important;
  color:var(--txt-3);
}
.activity-graph-wrap{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:
    radial-gradient(circle at 14% 0%, oklch(76% .105 243 / .10), transparent 34%),
    radial-gradient(circle at 86% 12%, oklch(82% .142 86 / .09), transparent 32%),
    linear-gradient(180deg, oklch(17% .024 252 / .82), oklch(12% .018 252 / .88));
  overflow:hidden;
}
.activity-graph-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:15px 18px;
  border-bottom:1px solid var(--line);
}
.activity-graph-head b{
  display:block;
  color:var(--txt);
  font-family:'Orbitron',sans-serif;
  font-size:12px;
  letter-spacing:.16em;
}
.activity-graph-head span{
  display:block;
  margin-top:3px;
  color:var(--txt-3);
  font-size:11px;
}
#activity-graph-range{
  font-family:'JetBrains Mono',monospace;
  color:var(--cyan);
  white-space:nowrap;
}
.activity-graph-canvas{padding:16px}
.activity-graph-summary{
  display:grid;
  grid-template-columns:1.6fr 1fr .8fr;
  gap:10px;
  margin-bottom:12px;
}
.activity-graph-summary > div{
  min-width:0;
  padding:12px 14px;
  border:1px solid oklch(100% .005 252 / .07);
  border-radius:8px;
  background:oklch(9% .014 252 / .34);
}
.activity-graph-summary span{
  display:block;
  color:var(--txt-3);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.activity-graph-summary b{
  display:block;
  margin-top:4px;
  overflow:hidden;
  color:var(--txt);
  font-size:15px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.activity-graph-stage{
  min-height:340px;
  border:1px solid oklch(100% .005 252 / .065);
  border-radius:12px;
  background:
    linear-gradient(135deg, oklch(100% .005 252 / .04), transparent 38%),
    oklch(8.5% .014 252 / .42);
  overflow:hidden;
  box-shadow:inset 0 1px 0 oklch(100% .005 252 / .06);
}
.activity-graph-stage svg{
  display:block;
  width:100%;
  height:auto;
  min-height:340px;
}
.activity-graph-field{
  fill:oklch(100% .005 252 / .018);
  stroke:oklch(100% .005 252 / .045);
  stroke-width:1;
}
.activity-graph-grid line{
  stroke:oklch(100% .005 252 / .055);
  stroke-width:1;
}
.activity-graph-day text{
  fill:oklch(78% .035 252 / .70);
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  font-weight:700;
  text-anchor:middle;
}
.activity-graph-area{
  fill:url(#activityAreaGlow);
  stroke:none !important;
}
.activity-graph-line{
  fill:none;
  stroke:var(--line);
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.78;
  filter:drop-shadow(0 0 7px color-mix(in oklab, var(--line), transparent 56%));
  animation:activityLineIn 560ms var(--ease-glide, ease) both;
  animation-delay:var(--delay, 0ms);
}
.activity-graph-series.leader .activity-graph-line{
  stroke-width:5;
  opacity:1;
  filter:url(#activityGlow);
}
.activity-graph-series circle{
  fill:var(--line);
  stroke:oklch(10% .014 252);
  stroke-width:2;
}
.activity-graph-endlabel rect{
  fill:oklch(8% .012 252 / .82);
  stroke:color-mix(in oklab, var(--line), transparent 56%);
}
.activity-graph-endlabel text{
  fill:var(--txt);
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  font-weight:750;
}
@keyframes activityLineIn{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:.78;transform:none}
}
.activity-graph-legend{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  padding:12px 0 0;
}
.activity-graph-legend-item{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:0;
  padding:8px 10px;
  border:1px solid oklch(100% .005 252 / .055);
  border-radius:8px;
  background:oklch(100% .005 252 / .025);
  color:var(--txt);
  font-size:11px;
}
.activity-graph-legend-item span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--line);
  box-shadow:0 0 8px var(--line);
}
.activity-graph-legend-item b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.activity-graph-legend-item em{
  color:var(--txt-3);
  font-family:'JetBrains Mono',monospace;
  font-style:normal;
}
.activity-graph-empty{
  display:grid;
  min-height:280px;
  place-items:center;
  color:var(--txt-3);
  font-family:'JetBrains Mono',monospace;
}

/* balance bar */
.balance-wrap{margin:12px 0 0;padding:14px 18px;
  background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:11px}
.balance-label{display:flex;justify-content:space-between;font-family:'Orbitron',sans-serif;
  font-size:10px;letter-spacing:.22em;color:var(--txt-3);margin-bottom:8px;font-weight:700}
.balance-bar{display:flex;height:22px;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.bal-a{background:linear-gradient(90deg,var(--accent),var(--gold));transition:flex .3s ease;min-width:4px}
.bal-sep{width:2px;background:var(--bg);flex-shrink:0}
.bal-b{background:linear-gradient(90deg,#3dafd6,var(--team-b));transition:flex .3s ease;min-width:4px}

/* member grid (ds-prep) */
.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:11px;margin-top:4px}
.member-card{background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);padding:14px 15px;transition:.18s;position:relative}
.member-card:hover{border-color:var(--line-2)}
.member-card.team-a{border-color:rgba(92,224,255,.45);background:linear-gradient(150deg,rgba(92,224,255,.10),rgba(13,19,48,.9))}
.member-card.team-b{border-color:rgba(255,92,200,.45);background:linear-gradient(150deg,rgba(255,92,200,.08),rgba(13,19,48,.9))}
.mc-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.mc-rk{font-family:'Orbitron',sans-serif;font-size:9.5px;letter-spacing:.18em;color:var(--rank);min-width:22px;font-weight:700}
.mc-rk.r5{color:var(--gold)}
.mc-name{flex:1;color:var(--txt);font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-pwr{font-family:'Orbitron',sans-serif;font-size:11px;color:var(--cyan);font-weight:700}
.mc-bar-wrap{height:3px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden;margin-bottom:8px}
.mc-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--gold))}
.mc-meta{color:var(--txt-2);font-size:11px;letter-spacing:.04em;margin-bottom:10px}
.mc-btns{display:flex;gap:6px}
.mc-btn{font-family:'Orbitron',sans-serif;font-size:9.5px;letter-spacing:.16em;min-height:44px;padding:8px 0;border-radius:var(--radius-sm);
  border:1px solid var(--line);background:transparent;color:var(--txt-3);cursor:pointer;transition:.15s;flex:1;text-align:center;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1.15}
.mc-btn:hover{border-color:var(--line-2);color:var(--txt)}
.mc-btn.active-a{background:rgba(92,224,255,.18);border-color:var(--cyan);color:var(--cyan);box-shadow:0 4px 12px rgba(92,224,255,.18)}
.mc-btn.active-b{background:rgba(255,92,200,.16);border-color:var(--pink);color:var(--pink);box-shadow:0 4px 12px rgba(255,92,200,.18)}
.ds-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.ds-action-bar{margin-top:22px;padding:16px 20px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}

/* mission cards */
.mission-filters{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.filter-select{font-family:'Orbitron',sans-serif;font-size:10px;letter-spacing:.16em;
  min-height:44px;background:rgba(13,19,48,.78);border:1px solid var(--line);color:var(--txt);
  padding:10px 34px 10px 14px;border-radius:var(--radius);cursor:pointer;outline:none;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239aa6d0'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;transition:.15s;font-weight:600}
.filter-select:focus{border-color:rgba(92,224,255,.5)}
.filter-select option{background:#0d1330;color:var(--txt)}
.mission-stats{display:flex;gap:18px;margin:0 0 14px;
  font-family:'Orbitron',sans-serif;font-size:10px;letter-spacing:.22em;color:var(--txt-3);font-weight:700}
.mission-stats b{color:var(--cyan);font-weight:800}
.mission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:11px}
.mission-card{background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;position:relative;
  transition:.2s;overflow:hidden}
.mission-card::before{content:"";position:absolute;inset:0;background:radial-gradient(220px 140px at 100% 0%,rgba(92,224,255,.10),transparent 60%);pointer-events:none}
.mission-card:hover{border-color:var(--line-2);transform:translateY(-1px);box-shadow:0 8px 28px rgba(0,0,0,.4)}
.mission-card.gold-star{border-color:rgba(255,212,92,.32)}
.mission-card.gold-star::before{background:radial-gradient(220px 140px at 100% 0%,rgba(255,212,92,.14),transparent 60%)}
.mc-type-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;position:relative}
.type-badge{font-family:'Orbitron',sans-serif;font-size:9px;letter-spacing:.26em;padding:3px 9px;border-radius:12px;border:1px solid;font-weight:700}
.type-badge.gold{color:var(--gold);border-color:rgba(255,212,92,.45);background:rgba(255,212,92,.10)}
.type-badge.mission{color:var(--cyan);border-color:rgba(92,224,255,.32);background:rgba(92,224,255,.06)}
.tier-pips{display:flex;gap:3px;align-items:center}
.tier-pip{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.tier-pip.on{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 6px rgba(92,224,255,.5)}
.gold-star .tier-pip.on{background:var(--gold);border-color:var(--gold);box-shadow:0 0 6px rgba(255,212,92,.55)}
.mc-kd{font-family:'Orbitron',sans-serif;font-size:9px;letter-spacing:.3em;color:var(--txt-3);margin-bottom:6px;position:relative;font-weight:700}
.mc-coord{font-family:'Orbitron',sans-serif;font-size:26px;font-weight:800;letter-spacing:.06em;
  color:var(--cyan);text-shadow:0 0 14px rgba(92,224,255,.32);line-height:1.1;margin:4px 0 8px;position:relative}
.gold-star .mc-coord{color:var(--gold);text-shadow:0 0 14px rgba(255,212,92,.4)}
.mc-time{color:var(--txt-3);font-size:10.5px;margin-bottom:10px;letter-spacing:.04em;position:relative}
.copy-btn{width:100%;min-height:44px;background:transparent;border:1px solid var(--line);color:var(--txt-2);
  font-family:'Orbitron',sans-serif;font-size:9.5px;letter-spacing:.18em;padding:9px;border-radius:var(--radius-sm);cursor:pointer;transition:.15s;font-weight:700;position:relative;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}
.copy-btn:hover{border-color:rgba(92,224,255,.45);color:var(--cyan);background:rgba(92,224,255,.06)}
.copy-btn.copied{border-color:var(--lime);color:var(--lime);background:rgba(168,255,92,.08)}

body[data-page="mission"] main{
  max-width:min(1360px, calc(100vw - 40px));
}
.mission-console{
  margin:18px 0 14px;
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  background:linear-gradient(180deg,oklch(20% .024 252 / .94),oklch(15% .02 252 / .92));
  box-shadow:0 22px 62px rgba(0,0,0,.26);
  padding:18px;
}
.mission-console-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}
.mission-console-head h2{
  font-family:'Orbitron',sans-serif;
  font-size:14px;
  letter-spacing:.24em;
  color:var(--txt);
}
.mission-console-head span{
  display:block;
  margin-top:4px;
  color:var(--txt-3);
  font-size:11px;
  letter-spacing:.08em;
}
.mission-console-head .pill{
  min-height:38px;
  padding:8px 14px;
}
.mission-control-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:10px;
}
.mission-console .filter-select{
  width:100%;
  background-color:oklch(17% .022 252 / .88);
}
.mission-console .mission-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:12px 0 0;
}
.mission-console .mission-stats span{
  min-height:54px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:oklch(100% .005 252 / .035);
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
}
.mission-console .mission-stats b{
  font-family:'Inter',sans-serif;
  font-size:18px;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
}
.mission-priority{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:12px;
  align-items:stretch;
  margin:14px 0;
}
.mission-priority-head{
  border:1px solid rgba(255,212,92,.22);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,212,92,.12),rgba(92,224,255,.05));
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mission-priority-head span{
  font-family:'Orbitron',sans-serif;
  font-size:10px;
  letter-spacing:.26em;
  color:var(--gold);
  font-weight:800;
}
.mission-priority-head b{
  margin-top:6px;
  color:var(--txt-2);
  font-size:12px;
  line-height:1.35;
}
.mission-priority-list{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.mission-priority-item{
  min-width:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
  color:var(--txt);
  min-height:86px;
  padding:12px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:"kind kingdom" "coord coord" "age age";
  gap:4px 9px;
  cursor:pointer;
  text-align:left;
  transition:.16s ease-out;
}
.mission-priority-item:hover{
  border-color:rgba(92,224,255,.42);
  transform:translateY(-1px);
  background:oklch(23% .026 252 / .92);
}
.mission-priority-item.gold-star{
  border-color:rgba(255,212,92,.30);
}
.mission-priority-kind{
  grid-area:kind;
  align-self:center;
  color:var(--txt-3);
  font-family:'JetBrains Mono',monospace;
  font-size:9px;
  font-weight:800;
}
.mission-priority-item b{
  grid-area:kingdom;
  color:var(--txt-2);
  font-size:11px;
  text-align:right;
}
.mission-priority-item strong{
  grid-area:coord;
  color:var(--cyan);
  font-size:23px;
  line-height:1;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.mission-priority-item.gold-star strong{
  color:var(--gold);
}
.mission-priority-item em{
  grid-area:age;
  color:var(--txt-3);
  font-size:10px;
  font-style:normal;
}
.mission-board{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mission-sector{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:oklch(16% .02 252 / .90);
  overflow:hidden;
}
.mission-sector-head{
  min-height:58px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,oklch(22% .026 252 / .92),oklch(17% .022 252 / .72));
}
.mission-sector-head span{
  font-family:'Orbitron',sans-serif;
  font-size:9px;
  letter-spacing:.22em;
  color:var(--txt-3);
  font-weight:800;
}
.mission-sector-head b{
  display:block;
  margin-top:1px;
  font-size:20px;
  color:var(--txt);
  font-variant-numeric:tabular-nums;
}
.mission-sector-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.mission-sector-meta span{
  min-height:28px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 9px;
  background:oklch(100% .005 252 / .035);
}
.mission-sector-rows{
  display:flex;
  flex-direction:column;
}
.mission-row{
  display:grid;
  grid-template-columns:minmax(180px,1.1fr) minmax(150px,.8fr) minmax(90px,.45fr) 96px;
  align-items:center;
  gap:12px;
  min-height:62px;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
}
.mission-row:last-child{border-bottom:none}
.mission-row:hover{
  background:oklch(100% .005 252 / .035);
}
.mission-row-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.mission-row .tier-pips{
  display:flex;
  gap:4px;
}
.mission-row-coord{
  display:flex;
  align-items:baseline;
  gap:10px;
  min-width:0;
}
.mission-row-coord span{
  color:var(--txt-3);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:800;
}
.mission-row-coord b{
  color:var(--cyan);
  font-size:22px;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.mission-row.gold-star .mission-row-coord b{
  color:var(--gold);
}
.mission-row-time{
  color:var(--txt-3);
  font-size:11px;
  text-align:right;
}
.mission-copy{
  width:96px;
  min-height:36px;
  margin:0;
  padding:8px;
}
.mission-empty{
  border:1px dashed var(--line-2);
  border-radius:var(--radius);
  padding:32px 18px;
  color:var(--txt-3);
  text-align:center;
}
@media(max-width:980px){
  body[data-page="mission"] main{
    max-width:100vw;
    padding-left:12px;
    padding-right:12px;
  }
  .mission-control-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mission-console .mission-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .mission-priority{
    grid-template-columns:1fr;
  }
  .mission-priority-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mission-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 10px;
  }
  .mission-row-main,
  .mission-row-coord{
    grid-column:1;
  }
  .mission-row-time{
    grid-column:1;
    text-align:left;
  }
  .mission-copy{
    grid-column:2;
    grid-row:1 / span 3;
    align-self:stretch;
  }
}
@media(max-width:620px){
  .mission-console-head{
    flex-direction:column;
  }
  .mission-console-head .pill{
    width:100%;
  }
  .mission-control-grid,
  .mission-console .mission-stats,
  .mission-priority-list{
    grid-template-columns:1fr;
  }
  .mission-sector-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .mission-sector-meta{
    justify-content:flex-start;
  }
  .mission-row{
    grid-template-columns:1fr;
    padding:12px;
  }
  .mission-copy{
    grid-column:auto;
    grid-row:auto;
    width:100%;
  }
}

@media(max-width:880px){
  .tiles{grid-template-columns:1fr}
  .tile-pair{grid-template-columns:1fr}
  .tile,.tile.span4,.tile.span6,.tile.span8{grid-column:auto}
  .status{grid-template-columns:repeat(2,1fr)}
  .matrix.cols-5{grid-template-columns:90px repeat(5,1fr);font-size:11px}
  .matrix.cols-8{grid-template-columns:90px repeat(8,minmax(84px,1fr));font-size:11px}
  .mission-server-form{grid-template-columns:1fr}
  .chrome{position:relative;top:auto;left:auto;right:auto;margin:12px 12px 0;gap:6px}
  main{padding-top:24px}
  .pill{font-size:9.5px;padding:8px 10px;letter-spacing:.14em}
  .member-grid{grid-template-columns:1fr 1fr}
  .mission-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .ds-action-bar{flex-direction:column;align-items:stretch}
  .ds-action-bar .chrome-grp{flex-wrap:wrap;gap:8px}
}
@media(max-width:1120px){
  .is-authed.tab-activity main{
    max-width:100vw;
    padding-left:10px;
    padding-right:10px;
  }
  .tab-panel[data-tab-panel="activity"] > .tile{
    padding-left:12px;
    padding-right:12px;
  }
  .activity-table{
    font-size:11.5px;
  }
  .activity-table thead th,
  .activity-table tbody td{
    padding-left:8px;
    padding-right:8px;
  }
  .activity-table th:first-child,
  .activity-table td:first-child{width:44px}
  .activity-table th:nth-child(3),
  .activity-table td:nth-child(3){width:56px}
  .activity-table th:nth-child(5),
  .activity-table td:nth-child(5){width:74px}
  .activity-table th:nth-child(6),
  .activity-table td:nth-child(6){width:86px}
  .activity-player{max-width:132px}
}
@media(max-width:520px){
  main{padding-left:14px;padding-right:14px}
  .status{grid-template-columns:1fr}
  .hero h1{font-size:clamp(44px,16vw,62px)}
  .hero .tag,.gate label,footer{letter-spacing:.18em}
  .gate{padding:22px 18px}
  .gate input{font-size:18px}
  .mission-stats{flex-direction:column;gap:6px}
  .member-grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.001ms !important}
  .radar,#stars{display:none}
}

/* Cross-page UX polish for inline DS/Admin components. */
.how-card,.metric,.panel-ds,.status-box,.share-link,.history-panel,.admin-wrap,.tile,.stat-cell,.mission-card,.member-card,.ds-action-bar{border-radius:var(--radius) !important}
.how-node,.tool,.history-refresh,.history-status,.squad,.type-badge,.mc-btn,.copy-btn,.filter-select,.btn-ghost{border-radius:var(--radius-sm) !important}
.ds-submit,.start-form input,.rescan-form input,.alliance-suggestions{border-radius:var(--radius) !important}
.section-icon{font-family:'JetBrains Mono',monospace !important;font-size:12px !important;font-weight:800 !important;letter-spacing:0 !important}

/* Impeccable product pass: restrained operator desk, fewer decorative effects. */
body{
  background:
    radial-gradient(900px 520px at 88% -18%,oklch(66% .16 54 / .13),transparent 64%),
    linear-gradient(180deg,var(--bg-2),var(--bg));
}
.ambient .sky{
  background:
    linear-gradient(180deg,oklch(18% .024 252) 0%,oklch(13% .018 252) 72%),
    radial-gradient(ellipse 70% 38% at 18% 0%,oklch(66% .16 54 / .10),transparent 58%);
}
.ambient svg,.radar{opacity:.55}
.pill,.page-nav-pill,.btn-ghost,.gate .btn,.filter-select,.copy-btn,.tool,.ds-submit,.history-refresh,.matrix .h,.matrix .rk,.tile h3,.stat-cell .lbl,.big .unit,.feed b,.top10-rk,.top10-pos,.admin-wrap h2,.admin-wrap .tag{
  font-family:'Inter',system-ui,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero h1,.hero .crest,.stat-cell .val,.big .num,.mc-coord,.metric b,.ds-hero h1{
  font-family:'Orbitron',system-ui,sans-serif;
}
.hero h1{
  color:var(--gold);
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  filter:none;
  text-shadow:0 18px 44px oklch(66% .16 54 / .20);
}
.stat-cell .val,.big .num,.ds-big .n,.ds-hero h1,.ds-hero h1 .accent{
  color:var(--txt);
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  text-shadow:none;
}
.stat-cell:nth-child(1) .val,.top10-pwr,.mc-pwr,.dtable .power,.mission-stats b{color:var(--cyan)}
.stat-cell:nth-child(2) .val,.stat-cell:nth-child(4) .val,.big .num,.mc-coord,.gold-star .mc-coord{color:var(--gold)}
.stat-cell:nth-child(3) .val{color:var(--accent2)}
.stat-cell:nth-child(5) .val{color:var(--lime)}
.chrome{
  padding:8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:oklch(15% .018 252 / .84);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.pill{
  border-radius:8px;
  background:transparent;
  border-color:transparent;
}
a.pill,button.pill,.page-nav-pill,.btn-ghost,.gate .btn,.ds-submit,.tool,.copy-btn,.mc-btn,.history-refresh,.share-link button{
  position:relative;
  isolation:isolate;
}
a.pill::after,button.pill::after,.page-nav-pill::after,.btn-ghost::after,.gate .btn::after,.ds-submit::after,.tool::after,.copy-btn::after,.mc-btn::after,.history-refresh::after,.share-link button::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  opacity:.45;
  box-shadow:var(--btn-glow);
  transition:opacity .18s ease,box-shadow .18s ease,transform .18s ease;
  z-index:-1;
}
.pill::after{
  opacity:.18;
}
a.pill:hover::after,button.pill:hover::after,.page-nav-pill:hover::after,.btn-ghost:hover:not(:disabled)::after,.gate .btn:hover::after,.ds-submit:hover:not(:disabled)::after,.tool:hover::after,.copy-btn:hover::after,.mc-btn:hover::after,.history-refresh:hover::after,.share-link button:hover::after{
  opacity:1;
  box-shadow:var(--btn-glow-strong);
}
.copy-btn:hover::after,.tool:hover::after,.history-refresh:hover::after,.share-link button:hover::after{
  box-shadow:var(--btn-glow-cyan);
}
.copy-btn.copied::after,.mc-btn.active-a::after,.mc-btn.active-b::after{
  opacity:1;
}
.pill.hot{
  background:oklch(82% .142 86 / .10);
  border-color:oklch(82% .142 86 / .24);
}
.is-authed main{padding-top:88px}
.is-authed .hero{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  justify-content:start;
  text-align:left;
  gap:14px;
  padding:8px 0 18px;
}
.is-authed .hero .crest{
  width:44px;
  height:44px;
  margin:0;
  border-radius:10px;
  font-size:18px;
  box-shadow:none;
}
.is-authed .hero h1{
  font-size:2rem;
  letter-spacing:.08em;
}
.is-authed .hero .tag{
  grid-column:2;
  margin-top:-12px;
  letter-spacing:.14em;
  color:var(--txt-3);
}
.command-brief{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  max-width:1040px;
  margin:8px auto 20px;
  padding:22px 24px;
  background:linear-gradient(135deg,oklch(23% .026 252 / .92),oklch(18% .022 252 / .88));
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  box-shadow:0 18px 50px oklch(5% .02 252 / .26);
}
.command-brief .eyebrow{
  color:var(--gold);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.command-brief h2{
  margin-top:2px;
  color:var(--txt);
  font-size:1.35rem;
  line-height:1.15;
  font-weight:800;
}
.brief-signals{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.brief-signals span{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  color:var(--txt-2);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:oklch(100% .005 252 / .035);
  font-size:.78rem;
}
.brief-signals b{
  color:var(--gold);
  font-family:'JetBrains Mono',monospace;
  font-size:.75rem;
}

.live-map-card{
  max-width:1040px;
  margin:0 auto 22px;
  padding:22px 24px;
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  background:linear-gradient(135deg,oklch(22% .026 252 / .90),oklch(17% .022 252 / .86));
  box-shadow:0 18px 50px oklch(5% .02 252 / .22);
}
.live-map-main{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:22px;
  margin-bottom:18px;
}
.live-map-main .eyebrow{
  color:var(--gold);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.live-map-main h2{
  margin-top:2px;
  color:var(--txt);
  font-size:1.25rem;
  line-height:1.15;
  font-weight:800;
}
.live-map-main p{
  margin-top:5px;
  color:var(--txt-2);
  font-size:13.5px;
  max-width:58ch;
}
.live-map-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.live-map-actions .btn-ghost{
  margin:0;
  min-width:132px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.15;
  white-space:nowrap;
}
.live-map-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px;
}
.live-map-stats div{
  min-height:72px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:oklch(100% .005 252 / .035);
}
.live-map-stats span{
  display:block;
  color:var(--txt-3);
  font-family:'Orbitron',sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.live-map-stats b{
  display:block;
  margin-top:6px;
  color:var(--cyan);
  font-family:'Orbitron',sans-serif;
  font-size:20px;
  line-height:1;
}
.live-map-stats b.ok{color:var(--lime)}
.live-map-stats b.warn{color:var(--gold)}
.live-map-stats b.bad{color:var(--danger)}

.page-nav{
  max-width:1040px;
  margin:0 auto 18px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:oklch(15% .02 252 / .72);
}
.page-nav-pill{
  background:oklch(100% .005 252 / .04);
  border-color:var(--line);
  min-height:42px;
  padding:10px 13px;
  letter-spacing:.12em;
}
.nav-mark,.tile h3 .ico{
  background:oklch(82% .142 86 / .16);
  color:var(--gold);
  border:1px solid oklch(82% .142 86 / .22);
}
.status{
  max-width:1040px;
  margin:0 auto 10px;
  grid-template-columns:repeat(auto-fit,minmax(185px,1fr));
  gap:14px;
}
.stat-cell{
  box-shadow:none;
  background:oklch(100% .005 252 / .035);
  padding:18px 20px;
}
.stat-cell::before,.tile::before,.mission-card::before{display:none}
.tiles{
  gap:12px;
  align-items:start;
}
.tile-column,.tile-pair{
  gap:12px;
}
.tile{
  box-shadow:none;
  background:oklch(19% .022 252 / .82);
  padding:22px 24px;
}
.tile h3{
  font-size:12.5px;
  margin-bottom:16px;
}
.tile .body{
  font-size:13.5px;
  line-height:1.65;
  max-width:56ch;
}
.big{
  margin:8px 0 14px;
}
.big .num{
  font-size:38px;
}
.member-roster-tile{
  grid-row:auto;
}
.top10-list{
  max-height:610px;
}
.top10-row,.mission-card,.member-card{
  background:oklch(100% .005 252 / .035);
}
.top10-row:hover,.mission-card:hover,.member-card:hover{
  background:oklch(100% .005 252 / .055);
  transform:none;
}
.top10-row.me,.roster-row.me{
  background:oklch(76% .105 243 / .12);
}
.top10-bar,.top10-row.me .top10-bar,.mc-bar-fill,.balance-bar .bal-a,.slider .fill,.slider.full .fill{
  background:var(--gold);
}
.career-rank-row .top10-bar{
  background:linear-gradient(90deg,var(--violet),var(--gold));
}
.bal-b{background:var(--cyan)}
.btn-ghost:hover:not(:disabled),.page-nav-pill:hover,a.pill:hover,button.pill:hover{
  box-shadow:none;
  background:oklch(82% .142 86 / .12);
}
.gate .btn,.ds-submit{
  box-shadow:var(--btn-glow);
}
.btn-ghost,.page-nav-pill,.copy-btn,.mc-btn,.tool,.history-refresh,.share-link button{
  box-shadow:0 0 0 1px oklch(100% .005 252 / .02);
}
.btn-ghost:hover:not(:disabled),.page-nav-pill:hover,.copy-btn:hover,.mc-btn:hover,.tool:hover,.history-refresh:hover,.share-link button:hover{
  transform:translateY(-1px);
}
.pill.hot,.page-nav-pill.ds,.gate .btn,.ds-submit{
  text-shadow:0 0 14px oklch(82% .142 86 / .28);
}
.page-nav-pill,.tool,.history-refresh,.share-link button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.15;
}
.ds-submit,.tool,.history-refresh,.share-link button{
  min-height:44px;
}
.share-link button{
  white-space:nowrap;
}
.alliance-suggestion{
  min-height:44px;
  align-items:center !important;
}
.metric::before{display:none !important}
.metric{
  border-color:var(--line-2) !important;
  background:oklch(100% .005 252 / .04) !important;
}
.section-header{
  align-items:flex-start;
}
.section-icon{
  border-radius:var(--radius-sm) !important;
  box-shadow:none !important;
}
@media(max-width:880px){
  .chrome{
    margin:12px 12px 0;
    border-radius:10px;
  }
  .command-brief{
    align-items:flex-start;
    flex-direction:column;
  }
  .live-map-main{
    flex-direction:column;
  }
  .live-map-actions{
    justify-content:flex-start;
  }
  .live-map-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .brief-signals{
    justify-content:flex-start;
  }
}
@media(max-width:520px){
  .is-authed .hero{
    grid-template-columns:auto 1fr;
    gap:10px;
  }
  .is-authed .hero h1{
    font-size:1.5rem;
  }
  .command-brief{
    padding:15px;
  }
  .live-map-card{
    padding:15px;
  }
  .live-map-stats{
    grid-template-columns:1fr;
  }
  .live-map-actions .btn-ghost{
    width:100%;
  }
  .brief-signals span{
    width:100%;
  }
}

/* xskx command cleanup: calmer, roomier dashboard rhythm */
.is-authed .hero{
  max-width:1040px;
  margin:0 auto;
}
.tab-panel[data-tab-panel="home"]{
  padding-bottom:10px;
}
.tab-panel[data-tab-panel="home"] .tile-column-side{
  width:100%;
}
.tab-panel[data-tab-panel="players"] > .tile,
.tab-panel[data-tab-panel="activity"] > .tile,
.tab-panel[data-tab-panel="career"] > .tile{
  padding:24px;
}
.is-authed.tab-activity .tab-panel[data-tab-panel="activity"]{
  max-width:none;
  margin:0;
}
.tab-panel[data-tab-panel="players"] .top10-list,
.tab-panel[data-tab-panel="career"] .top10-list{
  max-height:none;
  padding-right:0;
}
.alliance-ranking.top10-list{
  max-height:560px;
}
.career-ranking.top10-list{
  max-height:none;
}
.stat-cell .lbl{
  letter-spacing:.18em;
}
.stat-cell .delta{
  line-height:1.35;
}

@media(max-width:980px){
  .tab-panel[data-tab-panel="home"] .tile-column-side{
    grid-template-columns:1fr;
  }
  .page-nav{
    justify-content:flex-start;
  }
}
@media(max-width:640px){
  main{
    padding-left:16px;
    padding-right:16px;
  }
  .page-nav{
    padding:6px;
  }
  .page-nav-pill{
    width:100%;
    justify-content:flex-start;
  }
  .live-map-stats{
    grid-template-columns:1fr;
  }
  .tab-panel[data-tab-panel="players"] .top10-head,
  .tab-panel[data-tab-panel="career"] .top10-head{
    align-items:flex-start;
  }
  .tab-panel[data-tab-panel="players"] .top10-powers{
    gap:10px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PHASE 2 OVERRIDES — Color + Type Cleanup
   ───────────────────────────────────────────────────────────────────────────
   - Orbitron CONFINED to .pill + .nav-mark + rank-markers (.rk, .top10-rk,
     .mc-rk, .matrix .rk). All other usages remapped to Inter weight 700/800.
   - Hero display (.hero h1 + .hero .crest) → Fraunces.
   - Polish: tabular-nums for counters, text-wrap balance for headlines.
   - Body counters keep tracking-tight (Inter renders <14px better than
     Orbitron).
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hero display → Fraunces */
.hero .crest{
  font-family:'Fraunces','Inter',serif;
  font-optical-sizing:auto;
  font-variation-settings:"opsz" 144;
  font-weight:700;
}
.hero h1{
  font-family:'Fraunces','Inter',serif;
  font-optical-sizing:auto;
  font-variation-settings:"opsz" 144;
  font-weight:600;
  letter-spacing:-.02em;
}
.hero .tag{
  font-family:'Inter',sans-serif;
  font-weight:600;
  letter-spacing:.22em;
}

/* Gate (UID input + button) → Inter (Orbitron in input fields = unreadable) */
.gate label{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.32em;
}
.gate input{
  font-family:'Inter',sans-serif;
  font-weight:500;
  letter-spacing:.12em;
  font-variant-numeric:tabular-nums;
}
.gate .btn{
  font-family:'Inter',sans-serif;
  font-weight:800;
  letter-spacing:.22em;
}

/* Stat cells → Inter */
.stat-cell .lbl{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.22em;
}
.stat-cell .val{
  font-family:'Inter',sans-serif;
  font-weight:800;
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
}

/* Tile headers → Inter (mark `.ico` keeps Orbitron via existing rule) */
.tile h3{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.14em;
}
.tile.locked::after{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.22em;
}

/* Roster: name body Inter (.rk stays Orbitron — it's a rank marker) */
.roster-row .pwr{
  font-family:'Inter',sans-serif;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}

/* Squads → Inter */
.sq .n{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.18em;
}

/* Big number → Inter weight 800 (was Orbitron 900) */
.big .num{
  font-family:'Inter',sans-serif;
  font-weight:800;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.big .unit{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.22em;
}

/* Feed → Inter */
.feed b{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.08em;
}

/* Ghost button → Inter */
.btn-ghost{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.18em;
}

/* Admin / Matrix headers → Inter */
.admin-wrap h2{
  font-family:'Inter',sans-serif;
  font-weight:800;
  letter-spacing:-.01em;
}
.admin-wrap .tag{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.22em;
}
.matrix .h{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.20em;
}
/* matrix .rk keeps Orbitron — rank marker */

/* Footer → Inter (subtle) */
footer{
  font-family:'Inter',sans-serif;
  font-weight:600;
  letter-spacing:.30em;
}

/* Top10 list — .top10-rk stays Orbitron, position+pwr → Inter */
.top10-pos{
  font-family:'Inter',sans-serif;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.top10-pwr{
  font-family:'Inter',sans-serif;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}

/* Career level value → Inter */
.career-lv{
  font-family:'Inter',sans-serif;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

/* Balance labels → Inter */
.balance-label{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.10em;
}

/* Mission cards — .mc-rk stays Orbitron, rest → Inter */
.mc-pwr{
  font-family:'Inter',sans-serif;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.mc-btn{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.14em;
}
.filter-select{
  font-family:'Inter',sans-serif;
  font-weight:600;
  letter-spacing:.10em;
}
.mc-kd{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.22em;
}
.mc-coord{
  font-family:'Inter',sans-serif;
  font-weight:800;
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
}
.type-badge{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.22em;
}

/* Polish (Emil): text-wrap balance + tabular-nums for any leftover counters */
h1, h2{ text-wrap:balance; }
.lm-stats b, .live-map-stats b{ font-variant-numeric:tabular-nums; }

/* ─── Phase 2 marker-restore ──────────────────────────────────────────
   Pre-existing override block (lines 495+) bundled .pill + rank-markers
   into Inter. Design spec says markers stay Orbitron. Restore here.
   ──────────────────────────────────────────────────────────────────── */
.pill,
a.pill,
button.pill,
button.pill.ghost,
.matrix .rk,
.top10-rk,
.roster-row .rk,
.mc-rk{
  font-family:'Orbitron',sans-serif;
  font-weight:700;
}
.pill{ letter-spacing:.22em; }

/* ═══════════════════════════════════════════════════════════════════════════
   PHASE 3 OVERRIDES — Motion Refit
   ───────────────────────────────────────────────────────────────────────────
   Token-driven motion tiers (see base.css):
   --dur-1 + --ease-out          → hover/focus/color (atom)
   --dur-2 + --ease-out/spring   → tile lift, panel slide (transition)
   --dur-3 + --ease-glide        → tab-panel reveal (ceremony)

   View-Transitions-API choreography for tab switches wired in app.js.
   ═══════════════════════════════════════════════════════════════════════════ */

/* atom-tier */
.pill,
a.pill,
button.pill,
.page-nav-pill,
.btn-ghost,
.tool,
.copy-btn,
.filter-select,
.mc-btn,
.history-refresh,
.share-link button,
.top10-row,
.gate input,
.gate .btn,
.ds-submit,
.alliance-suggestion,
.matrix-toggle,
.slider .knob,
.feed > div{
  transition-duration: var(--dur-1);
  transition-timing-function: var(--ease-out);
}

/* transition-tier — tile lift */
.tile{
  transition:
    border-color var(--dur-2) var(--ease-out),
    box-shadow   var(--dur-2) var(--ease-out),
    background   var(--dur-2) var(--ease-out),
    transform    var(--dur-2) var(--ease-spring);
}

/* slider fill + balance bars (data-driven) */
.slider .fill,
.top10-bar,
.bal-a,
.bal-b{
  transition-duration: var(--dur-2);
  transition-timing-function: var(--ease-glide);
}

/* ceremony-tier — tab-panel reveal */
@keyframes xskx-vp-in{
  from{ opacity:0; transform: translateY(8px); }
  to  { opacity:1; transform: none; }
}
.tab-panel:not(.hidden){
  animation: xskx-vp-in var(--dur-3) var(--ease-glide) both;
}

/* View-Transitions-API choreography */
::view-transition-old(root),
::view-transition-new(root){
  animation-duration: var(--dur-3);
  animation-timing-function: var(--ease-glide);
}

/* Reduced-motion override */
@media (prefers-reduced-motion: reduce){
  .tab-panel:not(.hidden){ animation: none; }
  ::view-transition-old(root),
  ::view-transition-new(root){ animation-duration: 1ms; }
}

/* ─── Phase 4a — Language switch pill ─────────────────────────────────
   Compact 2-char pill, always visible right of logout. EN | DE cycle.
   ──────────────────────────────────────────────────────────────────── */
button.pill[data-lang-switch]{
  min-width: 52px;
  letter-spacing: .22em;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PHASE 4b — DS-PREP page variant (extracted from ds-prep.html inline <style>)
   ───────────────────────────────────────────────────────────────────────────
   Scoped via body[data-page="dsprep"] to keep selectors page-isolated even
   when class names collide with other surfaces. Original animation @keyframes
   already define `spin` (file-level) — re-named here to ds-spin to prevent
   collision with xskx-vp-in motion tier.
   ═══════════════════════════════════════════════════════════════════════════ */

body[data-page="dsprep"] .ds-hero{padding:38px 0 18px;text-align:center}
body[data-page="dsprep"] .ds-hero .badge{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.32em;color:var(--gold);text-transform:uppercase;margin-bottom:18px}
body[data-page="dsprep"] .ds-hero .badge::before,
body[data-page="dsprep"] .ds-hero .badge::after{content:"";width:28px;height:1px;background:var(--gold);opacity:.55}
body[data-page="dsprep"] .ds-hero h1{font-family:'Fraunces','Inter',serif;font-optical-sizing:auto;font-variation-settings:"opsz" 144;font-weight:600;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.05;letter-spacing:-.02em;margin:0 auto 18px;color:var(--gold);text-wrap:balance}
body[data-page="dsprep"] .ds-hero h1 .accent{display:block;font-size:.6em;letter-spacing:.04em;color:var(--accent2);font-family:'Fraunces','Inter',serif;font-style:italic;font-weight:500}
body[data-page="dsprep"] .ds-hero .sub{max-width:680px;margin:0 auto;color:var(--txt-2);font-size:14px;line-height:1.65}

body[data-page="dsprep"] .start-form{display:grid;grid-template-columns:140px 1fr auto;gap:10px;margin:24px auto 0;max-width:760px}
body[data-page="dsprep"] .start-form input{background:rgba(7,10,20,.6);border:1px solid var(--line-2);color:var(--txt);border-radius:var(--r-md);padding:13px 16px;font-family:'JetBrains Mono',monospace;font-size:13.5px;outline:none;transition-duration:var(--dur-1);transition-timing-function:var(--ease-out)}
body[data-page="dsprep"] .start-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(92,224,255,.14)}
body[data-page="dsprep"] .alliance-field{position:relative}
body[data-page="dsprep"] .alliance-field input{width:100%}
body[data-page="dsprep"] .alliance-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;display:none;max-height:300px;overflow:auto;background:rgba(13,19,48,.98);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--elev-2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body[data-page="dsprep"] .alliance-suggestions.visible{display:block}
body[data-page="dsprep"] .alliance-suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--txt);font:inherit;text-align:left;cursor:pointer;font-family:'Inter',sans-serif}
body[data-page="dsprep"] .alliance-suggestion:last-child{border-bottom:none}
body[data-page="dsprep"] .alliance-suggestion:hover{background:rgba(92,224,255,.10);color:var(--cyan)}
body[data-page="dsprep"] .alliance-suggestion b{font-family:'JetBrains Mono',monospace;color:var(--cyan);font-size:13px}
body[data-page="dsprep"] .alliance-suggestion span,
body[data-page="dsprep"] .alliance-empty{font-size:11px;color:var(--txt-3)}
body[data-page="dsprep"] .alliance-empty{padding:12px 14px}

body[data-page="dsprep"] .ds-submit{font-family:'Inter',sans-serif;font-weight:800;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;padding:13px 22px;border-radius:var(--r-md);cursor:pointer;border:0;background:linear-gradient(135deg,var(--gold),var(--accent2));color:#151006;box-shadow:0 8px 22px rgba(232,114,12,.26);transition-duration:var(--dur-1);transition-timing-function:var(--ease-out);white-space:nowrap}
body[data-page="dsprep"] .ds-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 12px 30px rgba(232,114,12,.38)}
body[data-page="dsprep"] .ds-submit:disabled{opacity:.6;cursor:wait;transform:none}
body[data-page="dsprep"] .ds-submit.loading{padding-left:38px;position:relative}
body[data-page="dsprep"] .ds-submit.loading::before{content:"";position:absolute;left:14px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ds-spin .8s linear infinite}
@keyframes ds-spin{to{transform:rotate(360deg)}}

body[data-page="dsprep"] .how-card{margin:18px auto 0;max-width:880px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px;display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
body[data-page="dsprep"] .how-kicker{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px;font-weight:600}
body[data-page="dsprep"] .how-card h2{font-family:'Inter',sans-serif;font-size:14px;letter-spacing:.10em;text-transform:uppercase;color:var(--txt);margin-bottom:7px;font-weight:800}
body[data-page="dsprep"] .how-card p{color:var(--txt-2);font-size:12.5px;line-height:1.6}
body[data-page="dsprep"] .how-graphic{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr;align-items:center}
body[data-page="dsprep"] .how-node{min-height:74px;border:1px solid var(--line-2);border-radius:var(--r-md);background:rgba(255,255,255,.03);display:grid;place-items:center;text-align:center;padding:10px;font-family:'Inter',sans-serif;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-2)}
body[data-page="dsprep"] .how-node b{display:block;font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--cyan);letter-spacing:.02em;margin-bottom:4px;font-weight:800}
body[data-page="dsprep"] .how-arrow{height:1px;background:linear-gradient(90deg,rgba(92,224,255,.1),var(--cyan));position:relative}
body[data-page="dsprep"] .how-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border-left:8px solid var(--cyan);border-top:4px solid transparent;border-bottom:4px solid transparent}

body[data-page="dsprep"] .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0 22px}
body[data-page="dsprep"] .metric{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;overflow:hidden}
body[data-page="dsprep"] .metric::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold),var(--accent2))}
body[data-page="dsprep"] .metric:nth-child(2)::before{background:linear-gradient(180deg,var(--gold),var(--accent2))}
body[data-page="dsprep"] .metric:nth-child(3)::before{background:linear-gradient(180deg,var(--lime),var(--cyan))}
body[data-page="dsprep"] .metric:nth-child(4)::before{background:linear-gradient(180deg,var(--accent),var(--gold))}
body[data-page="dsprep"] .metric b{font-family:'Inter',sans-serif;font-size:1.55rem;color:var(--txt);letter-spacing:-.01em;font-weight:800;display:block;font-variant-numeric:tabular-nums}
body[data-page="dsprep"] .metric span{display:block;font-family:'Inter',sans-serif;font-weight:700;font-size:10px;letter-spacing:.22em;color:var(--txt-3);text-transform:uppercase;margin-top:6px}

body[data-page="dsprep"] .panel-ds{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--elev-2)}
body[data-page="dsprep"] .panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,215,0,.055),transparent)}
body[data-page="dsprep"] .panel-title{font-family:'Inter',sans-serif;font-size:13px;font-weight:800;letter-spacing:.10em;color:var(--txt);text-transform:uppercase}
body[data-page="dsprep"] .panel-sub{color:var(--txt-3);font-size:12px;margin-top:4px}
body[data-page="dsprep"] .tools{display:flex;gap:8px;flex-wrap:wrap}
body[data-page="dsprep"] .tool{font-family:'Inter',sans-serif;font-weight:700;letter-spacing:.10em;text-transform:uppercase;font-size:10.5px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--txt);border-radius:var(--r-sm);padding:8px 13px;cursor:pointer;transition-duration:var(--dur-1);transition-timing-function:var(--ease-out)}
body[data-page="dsprep"] .tool:hover{border-color:rgba(92,224,255,.45);color:var(--cyan);background:rgba(92,224,255,.08)}

body[data-page="dsprep"] .table-wrap{overflow:auto}
body[data-page="dsprep"] .dtable{width:100%;border-collapse:collapse;font-size:13px}
body[data-page="dsprep"] .dtable th{background:rgba(7,10,20,.4);color:var(--cyan);font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:13px 14px;text-align:left;border-bottom:1px solid var(--line-2);white-space:nowrap}
body[data-page="dsprep"] .dtable td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--txt)}
body[data-page="dsprep"] .dtable tr:hover td{background:rgba(92,224,255,.04)}
body[data-page="dsprep"] .dtable .rank{font-family:'JetBrains Mono',monospace;color:var(--txt-3)}
body[data-page="dsprep"] .dtable .power{font-family:'JetBrains Mono',monospace;color:var(--cyan);font-weight:700}
body[data-page="dsprep"] .dtable .muted{color:var(--txt-3)}
body[data-page="dsprep"] .squad{display:inline-flex;border-radius:999px;padding:3px 10px;font-size:10.5px;border:1px solid var(--line-2);font-family:'Inter',sans-serif;font-weight:700;letter-spacing:.06em}
body[data-page="dsprep"] .squad.Aircraft{color:var(--team-b);background:rgba(125,211,252,.10);border-color:rgba(125,211,252,.32)}
body[data-page="dsprep"] .squad.Tank{color:var(--gold);background:rgba(255,212,92,.10);border-color:rgba(255,212,92,.32)}
body[data-page="dsprep"] .squad.Infantry{color:var(--lime);background:rgba(168,255,92,.10);border-color:rgba(168,255,92,.32)}

body[data-page="dsprep"] .status-box{display:none;margin:0 0 18px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-md);padding:13px 18px;color:var(--cyan);font-size:13px;position:relative;overflow:hidden}
body[data-page="dsprep"] .status-box::after{content:"";display:none;position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:ds-loadbar 1.15s ease-in-out infinite}
body[data-page="dsprep"] .status-box.loading::after{display:block}
body[data-page="dsprep"] .status-box.err{border-color:rgba(255,102,128,.45);color:var(--danger)}
body[data-page="dsprep"] .status-box.ok{border-color:rgba(168,255,92,.45);color:var(--lime)}
@keyframes ds-loadbar{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
body[data-page="dsprep"] .scan-working .metric{animation:ds-pulseMetric 1.35s ease-in-out infinite}
@keyframes ds-pulseMetric{50%{border-color:rgba(92,224,255,.32);box-shadow:0 0 24px rgba(92,224,255,.08)}}

body[data-page="dsprep"] .rescan-form{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px;align-items:center}
body[data-page="dsprep"] .rescan-form input{flex:1;min-width:220px;background:rgba(7,10,20,.6);border:1px solid var(--line-2);color:var(--txt);border-radius:var(--r-md);padding:12px 16px;font-family:'JetBrains Mono',monospace;font-size:13px;outline:none;transition-duration:var(--dur-1);transition-timing-function:var(--ease-out)}
body[data-page="dsprep"] .rescan-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(92,224,255,.14)}
body[data-page="dsprep"] .scan-complete .rescan-form{display:none}

body[data-page="dsprep"] .section-header{display:flex;align-items:center;gap:14px;margin:30px 0 18px}
body[data-page="dsprep"] .section-icon{width:44px;height:44px;border-radius:var(--r-md);background:linear-gradient(135deg,rgba(255,215,0,.14),rgba(232,114,12,.10));border:1px solid rgba(255,215,0,.28);display:flex;align-items:center;justify-content:center;font-size:1.3rem}
body[data-page="dsprep"] .section-header h2{font-family:'Inter',sans-serif;font-size:1.1rem;letter-spacing:.10em;text-transform:uppercase;color:var(--txt);font-weight:800}
body[data-page="dsprep"] .section-header p{color:var(--txt-3);font-size:12px}

body[data-page="dsprep"] .footer-note{margin-top:20px;color:var(--txt-3);font-size:12px;text-align:center}

body[data-page="dsprep"] .share-link{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-md);padding:10px 14px;margin:14px 0 0;font-family:'JetBrains Mono',monospace;font-size:12px}
body[data-page="dsprep"] .share-link .lbl{color:var(--cyan);font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;flex-shrink:0}
body[data-page="dsprep"] .share-link code{flex:1;color:var(--txt);background:none;padding:0;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-page="dsprep"] .share-link button{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.18em;padding:6px 11px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:rgba(92,224,255,.08);color:var(--cyan);cursor:pointer;font-weight:700;text-transform:uppercase;transition-duration:var(--dur-1);transition-timing-function:var(--ease-out)}
body[data-page="dsprep"] .share-link button:hover{background:rgba(92,224,255,.16);border-color:var(--cyan)}
body[data-page="dsprep"] .share-link button.copied{background:rgba(168,255,92,.10);border-color:var(--lime);color:var(--lime)}

body[data-page="dsprep"] .history-section{margin:32px 0 0}
body[data-page="dsprep"] .history-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-top:14px}
body[data-page="dsprep"] .history-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,212,92,.06),transparent)}
body[data-page="dsprep"] .history-title{font-family:'Inter',sans-serif;font-size:13px;font-weight:800;letter-spacing:.10em;color:var(--txt);text-transform:uppercase}
body[data-page="dsprep"] .history-title .lbl{display:inline-block;font-size:9.5px;letter-spacing:.22em;color:var(--gold);background:rgba(255,212,92,.14);padding:2px 9px;border-radius:var(--r-sm);margin-left:9px;vertical-align:middle;font-weight:700}
body[data-page="dsprep"] .history-refresh{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.18em;padding:7px 13px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:rgba(92,224,255,.06);color:var(--cyan);cursor:pointer;font-weight:700;text-transform:uppercase;transition-duration:var(--dur-1);transition-timing-function:var(--ease-out)}
body[data-page="dsprep"] .history-refresh:hover{background:rgba(92,224,255,.14);border-color:var(--cyan)}
body[data-page="dsprep"] .history-list{padding:6px 0;max-height:420px;overflow-y:auto}
body[data-page="dsprep"] .history-row{display:grid;grid-template-columns:90px 92px 1fr 100px 110px;gap:14px;align-items:center;padding:11px 18px;border-bottom:1px solid var(--line);transition-duration:var(--dur-1);transition-timing-function:var(--ease-out);cursor:pointer}
body[data-page="dsprep"] .history-row:last-child{border-bottom:none}
body[data-page="dsprep"] .history-row:hover{background:rgba(92,224,255,.05)}
body[data-page="dsprep"] .history-time{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--txt-3)}
body[data-page="dsprep"] .history-ka{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--cyan);font-weight:700}
body[data-page="dsprep"] .history-ka .k{color:var(--txt-3);font-size:10.5px;letter-spacing:.06em;margin-right:6px}
body[data-page="dsprep"] .history-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--txt-2);flex-wrap:wrap}
body[data-page="dsprep"] .history-meta .who{font-weight:600;color:var(--txt)}
body[data-page="dsprep"] .history-meta .rk{font-family:'Orbitron',sans-serif;font-size:9.5px;letter-spacing:.18em;color:var(--rank);padding:2px 7px;border-radius:var(--r-sm);background:rgba(255,175,58,.16);font-weight:800}
body[data-page="dsprep"] .history-meta .rk.r5{color:var(--gold);background:rgba(255,212,92,.16)}
body[data-page="dsprep"] .history-status{font-family:'Inter',sans-serif;font-size:9.5px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-sm);text-align:center}
body[data-page="dsprep"] .history-status.completed{color:var(--lime);background:rgba(168,255,92,.12);border:1px solid rgba(168,255,92,.32)}
body[data-page="dsprep"] .history-status.running,
body[data-page="dsprep"] .history-status.queued{color:var(--cyan);background:rgba(92,224,255,.10);border:1px solid rgba(92,224,255,.32)}
body[data-page="dsprep"] .history-status.created{color:var(--warn);background:rgba(255,180,92,.10);border:1px solid rgba(255,180,92,.32)}
body[data-page="dsprep"] .history-stats{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-family:'JetBrains Mono',monospace}
body[data-page="dsprep"] .history-stats .members{font-size:12.5px;color:var(--cyan);font-weight:700}
body[data-page="dsprep"] .history-stats .power{font-size:10.5px;color:var(--txt-3)}
body[data-page="dsprep"] .history-empty{padding:30px 20px;text-align:center;color:var(--txt-3);font-size:13px}

@media(max-width:820px){
  body[data-page="dsprep"] .history-row{grid-template-columns:80px 1fr 90px;gap:8px;padding:10px 12px}
  body[data-page="dsprep"] .history-row .history-meta,
  body[data-page="dsprep"] .history-row .history-stats{display:none}
  body[data-page="dsprep"] .metrics{grid-template-columns:repeat(2,1fr)}
  body[data-page="dsprep"] .start-form{grid-template-columns:1fr}
  body[data-page="dsprep"] .how-card{grid-template-columns:1fr}
  body[data-page="dsprep"] .how-graphic{grid-template-columns:1fr;gap:8px}
  body[data-page="dsprep"] .how-arrow{width:1px;height:24px;margin:0 auto;background:linear-gradient(180deg,rgba(92,224,255,.1),var(--cyan))}
  body[data-page="dsprep"] .how-arrow::after{right:-4px;top:auto;bottom:-1px;border-top:8px solid var(--cyan);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0}
  body[data-page="dsprep"] .panel-head{flex-direction:column}
  body[data-page="dsprep"] .hide-sm{display:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   PHASE 6 — Polish Pass
   ───────────────────────────────────────────────────────────────────────────
   - Ambient reduction: Radar only (stars + dunes hidden per design decision)
   - Hairline borders @2dppx
   - Focus-ring standardized via :focus-visible
   - Extended text-wrap:balance for h3 + card titles
   - Empty/Loading/Error states
   ═══════════════════════════════════════════════════════════════════════════ */

/* Ambient — Radar only */
#stars{ display: none !important; }
.ambient svg{ display: none !important; }
.ambient .sky{
  background:
    radial-gradient(ellipse 70% 38% at 18% 0%, oklch(82% .140 86 / .08), transparent 56%),
    radial-gradient(ellipse 56% 34% at 88% 8%, oklch(76% .105 243 / .06), transparent 52%),
    linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 72%);
}

/* Hairline borders on HiDPI displays */
@media (min-resolution: 2dppx){
  :root{
    --bd-1: 0.5px;
  }
  /* Strengthen line-strong slightly so it stays visible at hairline */
  .pill, .gate, .tile, .stat-cell, .matrix .slider-cell,
  body[data-page="dsprep"] .panel-ds,
  body[data-page="dsprep"] .metric,
  body[data-page="dsprep"] .how-card,
  body[data-page="dsprep"] .history-panel{
    border-width: 0.5px;
  }
}

/* Focus-ring — consistent via :focus-visible */
:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
/* Remove the legacy .skip-link outline override (handled by :focus-visible) */

/* Extended text-wrap balance */
.tile h3,
.command-brief h2,
.live-map-card h2,
.admin-wrap h2,
body[data-page="dsprep"] .ds-hero h1,
body[data-page="dsprep"] .how-card h2,
body[data-page="dsprep"] .section-header h2{
  text-wrap: balance;
}

/* ─── Empty / Loading / Error states (universal) ─────────────────────── */
.xskx-empty,
.xskx-error{
  padding: var(--sp-6) var(--sp-5);
  text-align: center;
  border: 1px dashed var(--line-2);
  border-radius: var(--r-md);
  color: var(--txt-2);
  font-size: var(--type-sm);
  line-height: var(--lh-loose);
  background: oklch(15% .018 252 / .4);
}
.xskx-empty__icon,
.xskx-error__icon{
  display: block;
  font-family: 'Orbitron', sans-serif;
  font-size: var(--type-xl);
  font-weight: 700;
  color: var(--gold);
  margin-bottom: var(--sp-2);
  opacity: .55;
  letter-spacing: .12em;
}
.xskx-empty__title,
.xskx-error__title{
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  color: var(--txt);
  font-size: var(--type-md);
  margin-bottom: var(--sp-1);
  letter-spacing: -.005em;
}
.xskx-error{
  border-color: oklch(68% .16 18 / .35);
  background: oklch(20% .060 18 / .15);
}
.xskx-error__icon{ color: var(--danger); }

/* Skeleton shimmer for loading rows */
@keyframes xskx-skel{
  0%   { background-position:  100% 50%; }
  100% { background-position: -100% 50%; }
}
.xskx-skel{
  background:
    linear-gradient(90deg,
      transparent 0%,
      oklch(100% .005 252 / .04) 50%,
      transparent 100%);
  background-size: 200% 100%;
  animation: xskx-skel 1.6s ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ACTIVITY TABLE — 6-column layout with stable stacked metrics
   ───────────────────────────────────────────────────────────────────────────
   Columns: # · Player · Rank · Score/THP/Stamina/Kills · Career · Scan.
   The metric stack reserves fixed room for labels and values; bars use the
   remaining minmax track so they cannot overlap text.
   ═══════════════════════════════════════════════════════════════════════════ */

.activity-stack-cell{
  vertical-align: middle;
  padding: 9px 14px !important;
}
.activity-stack{
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.activity-stack-row{
  display: grid !important;
  grid-template-columns: 64px minmax(120px, 1fr) 118px !important;
  gap: 10px !important;
  align-items: center;
  font-size: 11px;
  min-width: 0;
}
.activity-stack-label{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: 'Orbitron', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  color: var(--txt-3);
  text-transform: uppercase;
  white-space: nowrap;
}
.activity-stack-row.score .activity-stack-label{ color: var(--cyan); }
.activity-stack-row.thp  .activity-stack-label{ color: var(--gold); }
.activity-stack-row.stamina .activity-stack-label{ color: var(--accent2, var(--gold)); }
.activity-stack-row.kills .activity-stack-label{ color: var(--danger); }

.activity-stack-row .activity-bar-track{
  width: auto !important;
  min-width: 0 !important;
  height: 6px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: oklch(100% .005 252 / .07) !important;
  box-shadow: none !important;
}
.activity-stack-row .activity-bar-fill{
  height: 100% !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  transition: width var(--dur-2, 240ms) var(--ease-glide, ease) !important;
}
.activity-stack-row .activity-bar-fill.score{ background: linear-gradient(90deg, var(--cyan), var(--cyan-soft)) !important; }
.activity-stack-row .activity-bar-fill.thp{ background: linear-gradient(90deg, var(--gold), var(--accent2)) !important; }
.activity-stack-row .activity-bar-fill.stamina{ background: linear-gradient(90deg, oklch(72% .145 50), var(--gold)) !important; }
.activity-stack-row .activity-bar-fill.kills{ background: linear-gradient(90deg, var(--danger), oklch(78% .14 50)) !important; }

.activity-stack-val{
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: var(--txt);
  font-variant-numeric: tabular-nums;
  text-align: right;
  display: block;
  line-height: 1.1;
  white-space: nowrap;
}
.activity-stack-val b{
  display: block;
  font: inherit;
  color: inherit;
}
.activity-stack-val.thp-val{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.activity-stack-val.thp-val b{
  display: inline;
}
.activity-stack-delta{
  display: block;
  margin-top: 3px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}
.activity-stack-delta.up,
.activity-stack-delta.down{
  padding: 2px 6px;
  border-radius: 4px;
}
.activity-stack-val.thp-val .activity-stack-delta{
  display: inline-flex;
  align-items: center;
  margin-top: 0;
  padding: 1px 5px;
  border-radius: 999px;
  font-size: 9px;
  line-height: 1;
}
.activity-stack-delta.up{
  color: var(--lime);
  background: oklch(78% .15 139 / .14);
  border: 1px solid oklch(78% .15 139 / .25);
}
.activity-stack-delta.down{
  color: var(--danger);
  background: oklch(68% .16 18 / .14);
  border: 1px solid oklch(68% .16 18 / .25);
}
.activity-stack-delta.sub{
  color: var(--txt-3);
  font-weight: 500;
}

/* Activity dot — keep semantic colors */
.activity-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--txt-3);
  flex-shrink: 0;
}
.activity-dot.good{ background: var(--lime); box-shadow: 0 0 6px var(--lime); }
.activity-dot.warn{ background: var(--gold); box-shadow: 0 0 6px var(--gold); }
.activity-dot.low { background: var(--danger); }

/* ═══════════════════════════════════════════════════════════════════════════
   Permission-gated visibility — hide tiles/tabs entirely when both view=0+op=0
   ═══════════════════════════════════════════════════════════════════════════ */
.perm-hidden{
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LIVE MAP TAB — snapshot preview + stats panel
   ═══════════════════════════════════════════════════════════════════════════ */

.livemap-tile{ position: relative; padding: 18px 20px 20px; }
.livemap-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:14px;
  align-items:stretch;
  margin-top:8px;
}
.livemap-preview{
  position: relative;
  min-height: 360px;
  border-radius: var(--r-md);
  overflow: hidden;
  background:
    radial-gradient(circle at 52% 48%, oklch(74% .105 243 / .16), transparent 0 17%, transparent 35%),
    linear-gradient(145deg, oklch(13% .018 252), oklch(7% .012 252));
  border: 1px solid var(--line-2);
  box-shadow: inset 0 0 0 1px oklch(100% .005 252 / .025);
}
.livemap-grid{
  position: absolute; inset: 0;
  background-image:
    linear-gradient(oklch(76% .105 243 / .07) 1px, transparent 1px),
    linear-gradient(90deg, oklch(76% .105 243 / .07) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  pointer-events: none;
}
.livemap-sweep{
  position:absolute;
  inset:10%;
  border-radius:50%;
  border:1px solid oklch(76% .105 243 / .14);
  background:
    radial-gradient(circle, transparent 0 35%, oklch(76% .105 243 / .10) 36% 37%, transparent 38% 55%, oklch(76% .105 243 / .08) 56% 57%, transparent 58%);
  opacity:.9;
}
.livemap-axis{
  position:absolute;
  background:oklch(76% .105 243 / .18);
}
.livemap-axis-x{ left:6%; right:6%; top:50%; height:1px; }
.livemap-axis-y{ top:8%; bottom:8%; left:50%; width:1px; }
.livemap-quadrants{
  position:absolute;
  inset:14px 16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  color:var(--txt-3);
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.22em;
  opacity:.62;
}
.livemap-quadrants span:nth-child(2),
.livemap-quadrants span:nth-child(4){ text-align:right; }
.livemap-quadrants span:nth-child(3),
.livemap-quadrants span:nth-child(4){ align-self:end; }
.livemap-home{
  position: absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display: flex;
  align-items: center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:oklch(9% .014 252 / .88);
  border:1px solid oklch(82% .142 86 / .34);
  box-shadow:0 10px 34px oklch(0% 0 0 / .28);
  pointer-events: none;
}
.livemap-home-dot{
  width:10px;
  height:10px;
  border-radius: 50%;
  background:var(--gold);
  box-shadow:
    0 0 0 4px oklch(82% .142 86 / .12),
    0 0 18px oklch(82% .142 86 / .52);
}
.livemap-home b{
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--gold);
}
.livemap-blip{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:
    0 0 0 4px oklch(76% .105 243 / .10),
    0 0 14px oklch(76% .105 243 / .44);
  animation: livemap-pulse 3.2s ease-in-out infinite;
  animation-delay:var(--d);
}
@keyframes livemap-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.28); }
}
@media (prefers-reduced-motion: reduce) {
  .livemap-blip{ animation: none; }
}
.livemap-panel{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  border-radius:var(--r-md);
  border:1px solid var(--line-2);
  background:oklch(10% .014 252 / .84);
}
.livemap-actions{
  display: flex;
  gap: 8px;
  margin-top:auto;
}
.livemap-actions .btn-ghost{
  flex:1 1 0;
  min-width:0;
  margin-top: 0;
  width: auto;
  padding: 8px 14px;
  min-height: 40px;
  background: oklch(13% .014 252);
  font-size:9.5px;
  letter-spacing:.16em;
}
.livemap-line{
  font-size: 12.5px;
  line-height:1.45;
  color: var(--txt-2);
  margin: 0;
  min-height: 36px;
}
.livemap-tile .live-map-stats{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.livemap-tile .live-map-stats > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background: oklch(14% .016 252 / .64);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 11px 12px;
}
.livemap-tile .live-map-stats span{
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--txt-3);
  font-weight: 700;
}
.livemap-tile .live-map-stats b{
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--txt);
  font-variant-numeric: tabular-nums;
}
.livemap-readout{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.livemap-readout span{
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:8px 10px;
  color:var(--txt-3);
  background:oklch(11% .012 252 / .52);
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-align:center;
}
@media(max-width:920px){
  .livemap-shell{ grid-template-columns:1fr; }
  .livemap-preview{ min-height:300px; }
  .livemap-tile .live-map-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px){
  .livemap-preview{ min-height:230px; }
  .livemap-actions{ flex-direction:column; }
  .livemap-readout{ grid-template-columns:1fr 1fr; }
  .livemap-tile .live-map-stats{ grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Player Roster — scrollable cap (page stays compact even with 100+ members)
   ═══════════════════════════════════════════════════════════════════════════ */
.tab-panel[data-tab-panel="players"] #top10-list,
.tab-panel[data-tab-panel="activity"] .activity-table-wrap,
.tab-panel[data-tab-panel="career"] #career-ranking{
  max-height: 70vh !important;
  overflow-y: auto !important;
  scrollbar-width: thin;
  scrollbar-color: oklch(76% .105 243 / .35) transparent;
}

/* Activity rows are rendered as one complete table. Keeping the large table
   inside an animated 70vh scroller makes browsers rasterize rows on demand. */
.tab-panel[data-tab-panel="activity"]:not(.hidden){
  animation:none !important;
  transform:none !important;
}
.tab-panel[data-tab-panel="activity"] > .tile,
.tab-panel[data-tab-panel="activity"] .activity-table-wrap,
.tab-panel[data-tab-panel="activity"] .activity-table{
  contain:none !important;
  transform:none !important;
  will-change:auto !important;
}
.tab-panel[data-tab-panel="players"] #top10-list::-webkit-scrollbar,
.tab-panel[data-tab-panel="activity"] .activity-table-wrap::-webkit-scrollbar,
.tab-panel[data-tab-panel="career"] #career-ranking::-webkit-scrollbar{
  width: 8px;
}
.tab-panel[data-tab-panel="players"] #top10-list::-webkit-scrollbar-thumb,
.tab-panel[data-tab-panel="activity"] .activity-table-wrap::-webkit-scrollbar-thumb,
.tab-panel[data-tab-panel="career"] #career-ranking::-webkit-scrollbar-thumb{
  background: oklch(76% .105 243 / .35);
  border-radius: 999px;
}

@media (max-width: 1100px){
  .activity-stack-row{ grid-template-columns: 54px minmax(90px, 1fr) 104px !important; gap: 8px !important; }
}
@media (max-width: 820px){
  .activity-stack-row{ grid-template-columns: 1fr auto !important; gap: 5px 10px !important; }
  .activity-stack-label{ font-size: 8.5px; letter-spacing: .14em; }
  .activity-stack-row .activity-bar-track{ grid-column: 1 / -1; }
  .activity-stack-val{ text-align: right; }
  .activity-stack-delta{ font-size: 9.5px; }
}

@media (max-width: 640px){
  .is-authed.tab-activity main{
    padding-left: 8px;
    padding-right: 8px;
  }
  .tab-panel[data-tab-panel="activity"] > .tile{
    padding: 14px 10px;
  }
  .activity-toolbar{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .activity-toolbar .filter-select,
  .activity-view-tabs,
  .activity-search,
  .activity-toolbar .btn-ghost{
    width: 100%;
  }
  .activity-search{
    grid-column: 1 / -1;
    grid-template-columns: 56px minmax(0, 1fr);
  }
  .activity-toolbar .btn-ghost{
    grid-column: 1 / 2;
  }
  .activity-table-wrap{
    max-height: 70vh !important;
    overflow-x: hidden !important;
  }
  .activity-table,
  .activity-table tbody{
    display: block;
    width: 100%;
  }
  .activity-table thead{
    display: none;
  }
  .activity-table tbody tr.activity-row{
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 48px;
    grid-template-areas:
      "pos player rank"
      "stack stack stack"
      "career career scan";
    gap: 10px 10px;
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    background: rgba(255,255,255,.012);
  }
  .activity-table tbody td{
    display: block;
    width: auto !important;
    padding: 0 !important;
    border-bottom: 0 !important;
    min-width: 0;
  }
  .activity-table tbody td:nth-child(1){
    grid-area: pos;
    align-self: center;
    text-align: left;
  }
  .activity-table tbody td:nth-child(2){
    grid-area: player;
    align-self: center;
  }
  .activity-table tbody td:nth-child(3){
    grid-area: rank;
    align-self: center;
    text-align: right;
  }
  .activity-table tbody td:nth-child(4){
    grid-area: stack;
  }
  .activity-table tbody td:nth-child(5){
    grid-area: career;
  }
  .activity-table tbody td:nth-child(6){
    grid-area: scan;
  }
  .activity-player{
    max-width: none;
    font-size: 14px;
  }
  .activity-player-thp{
    max-width: none;
    margin-top: 5px;
    margin-bottom: 4px;
  }
  .activity-player-thp-head{
    gap: 6px;
  }
  .activity-player-thp .activity-stack-delta{
    margin-left: 4px;
    max-width: 78px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .activity-sub{
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .activity-stack{
    gap: 8px;
    padding: 10px;
    border: 1px solid oklch(100% .005 252 / .055);
    border-radius: 8px;
    background: oklch(9% .014 252 / .26);
  }
  .activity-stack-row{
    grid-template-columns: 58px minmax(70px, 1fr) 74px !important;
    gap: 8px !important;
  }
  .activity-stack-row .activity-bar-track{
    grid-column: auto;
  }
  .activity-stack-label{
    font-size: 8px;
    letter-spacing: .11em;
  }
  .activity-stack-val{
    font-size: 12px;
  }
  .activity-stack-delta.sub{
    font-size: 9px;
  }
  .activity-career-cell,
  .activity-scan{
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    min-height: 30px;
    padding: 6px 8px !important;
    border: 1px solid oklch(100% .005 252 / .055) !important;
    border-radius: 7px;
    background: oklch(100% .005 252 / .032);
    text-align: left;
  }
  .activity-career-cell::before{
    content: "CAREER";
    color: var(--txt-3);
    font: 800 8px 'Orbitron', sans-serif;
    letter-spacing: .16em;
  }
  .activity-scan::before{
    content: "SCAN";
    color: var(--txt-3);
    font: 800 8px 'Orbitron', sans-serif;
    letter-spacing: .16em;
  }
  .activity-career-cell b,
  .activity-scan b,
  .activity-scan span{
    display: inline;
    margin: 0;
  }
  .activity-career-gain{
    margin-top: 0;
  }
}

/* Final alliance H2H override: this sits after broad top10 cleanup rules. */
.alliance-h2h-host > .alliance-h2h,
.alliance-ranking.top10-list > .alliance-h2h{
  display:grid !important;
  flex:0 0 auto;
  gap:12px;
  margin:0 0 10px;
  padding:14px;
  border:1px solid rgba(92,224,255,.22);
  border-radius:10px;
  background:
    radial-gradient(circle at 18% 8%, rgba(92,224,255,.16), transparent 34%),
    radial-gradient(circle at 88% 0%, rgba(255,215,0,.10), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  overflow:visible;
}
.alliance-h2h-host .h2h-title,
.alliance-ranking .h2h-title{
  min-height:24px;
}
.alliance-h2h-host .h2h-arena,
.alliance-ranking .h2h-arena{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.alliance-h2h-host .alliance-h2h-card,
.alliance-ranking .alliance-h2h-card{
  display:flex !important;
  min-height:136px;
  padding:14px 48px 12px 13px;
  border-radius:10px;
  cursor:default;
  background:
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.024)),
    rgba(8,14,20,.58);
}
.alliance-h2h-host .alliance-h2h-card.gold,
.alliance-ranking .alliance-h2h-card.gold{
  transform:translateY(-3px);
}
.alliance-h2h-host .h2h-tag,
.alliance-ranking .h2h-tag{
  font-size:20px;
}
.alliance-h2h-host .h2h-power,
.alliance-ranking .h2h-power{
  margin-top:1px;
}
.alliance-h2h-host .h2h-stat-rotator,
.alliance-ranking .h2h-stat-rotator{
  position:relative;
  display:block;
  min-height:34px;
  margin:3px 0 2px;
  overflow:hidden;
}
.alliance-h2h-host .h2h-stat-rotator span,
.alliance-ranking .h2h-stat-rotator span{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  opacity:0;
  transform:translateY(10px);
  animation:h2h-stat-cycle 21s ease-in-out infinite;
}
.alliance-h2h-host .h2h-stat-rotator span:nth-child(2),
.alliance-ranking .h2h-stat-rotator span:nth-child(2){animation-delay:3s}
.alliance-h2h-host .h2h-stat-rotator span:nth-child(3),
.alliance-ranking .h2h-stat-rotator span:nth-child(3){animation-delay:6s}
.alliance-h2h-host .h2h-stat-rotator span:nth-child(4),
.alliance-ranking .h2h-stat-rotator span:nth-child(4){animation-delay:9s}
.alliance-h2h-host .h2h-stat-rotator span:nth-child(5),
.alliance-ranking .h2h-stat-rotator span:nth-child(5){animation-delay:12s}
.alliance-h2h-host .h2h-stat-rotator span:nth-child(6),
.alliance-ranking .h2h-stat-rotator span:nth-child(6){animation-delay:15s}
.alliance-h2h-host .h2h-stat-rotator span:nth-child(7),
.alliance-ranking .h2h-stat-rotator span:nth-child(7){animation-delay:18s}
.alliance-h2h-host .h2h-stat-rotator b,
.alliance-ranking .h2h-stat-rotator b{
  color:var(--txt);
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  font-weight:900;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.alliance-h2h-host .h2h-stat-rotator em,
.alliance-ranking .h2h-stat-rotator em{
  margin-top:3px;
  color:var(--txt-3);
  font-style:normal;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.alliance-h2h-host .h2h-stat-rotator.troops-loaded b,
.alliance-ranking .h2h-stat-rotator.troops-loaded b{
  color:var(--cyan);
}
.alliance-h2h-host .h2h-troop-delta,
.alliance-ranking .h2h-troop-delta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:24px;
  margin-top:2px;
  padding:4px 7px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:7px;
  background:rgba(255,255,255,.035);
  color:var(--txt-3);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.alliance-h2h-host .h2h-troop-delta b,
.alliance-ranking .h2h-troop-delta b{
  color:inherit;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  white-space:nowrap;
}
.alliance-h2h-host .h2h-troop-delta span,
.alliance-ranking .h2h-troop-delta span{
  overflow:hidden;
  color:var(--txt-3);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.alliance-h2h-host .h2h-troop-delta.up,
.alliance-ranking .h2h-troop-delta.up{
  border-color:rgba(108,255,153,.30);
  background:rgba(108,255,153,.10);
  color:var(--lime);
}
.alliance-h2h-host .h2h-troop-delta.down,
.alliance-ranking .h2h-troop-delta.down{
  border-color:rgba(255,102,128,.34);
  background:rgba(255,102,128,.10);
  color:var(--danger);
}
.alliance-h2h-host .h2h-troop-delta.flat,
.alliance-ranking .h2h-troop-delta.flat{
  border-color:rgba(92,224,255,.20);
  background:rgba(92,224,255,.07);
  color:var(--cyan);
}
.alliance-h2h-host .h2h-track,
.alliance-ranking .h2h-track{
  height:6px;
}
@keyframes h2h-stat-cycle{
  0%,10%{
    opacity:1;
    transform:translateY(0);
  }
  14%,100%{
    opacity:0;
    transform:translateY(-10px);
  }
}
@media(max-width:720px){
  .alliance-h2h-host .h2h-arena,
  .alliance-ranking .h2h-arena{
    grid-template-columns:1fr !important;
  }
  .alliance-h2h-host .alliance-h2h-card,
  .alliance-ranking .alliance-h2h-card{
    min-height:110px;
  }
}

/* Must remain late so mobile Activity card rules keep the same scroll target. */
.tab-panel[data-tab-panel="activity"] .activity-table-wrap{
  max-height:min(70vh, 760px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
}

/* Final field-guide priority after every legacy and responsive rule. */
body[data-page] .tile,
body[data-page] .stat-cell,
body[data-page] .member-card,
body[data-page] .mission-card,
body[data-page] .admin-wrap{
  border:1px solid var(--x-line,rgba(238,226,200,.15)) !important;
  border-radius:0 !important;
  background:var(--x-panel,#191914) !important;
  box-shadow:none !important;
}
body[data-page] .top10-list,
body[data-page] .activity-table-wrap{
  border:1px solid var(--x-line,rgba(238,226,200,.15)) !important;
  border-radius:0 !important;
  background:var(--x-panel-soft,#171713) !important;
}
body[data-page] .top10-row{
  border:0 !important;
  border-bottom:1px solid var(--x-line,rgba(238,226,200,.15)) !important;
  border-radius:0 !important;
  background:transparent !important;
}
body[data-page] .activity-table thead th{
  border-bottom:1px solid var(--x-line-strong,rgba(240,183,93,.32)) !important;
  background:#211f18 !important;
  color:var(--x-amber,#e2b45f) !important;
}
body[data-page] .activity-row,
body[data-page] .activity-table tbody tr.activity-row{
  border-radius:0 !important;
  background:transparent !important;
}
body[data-page] .activity-row:nth-child(even),
body[data-page] .activity-table tbody tr.activity-row:nth-child(even){
  background:rgba(238,226,200,.018) !important;
}
body[data-page] .activity-row:hover,
body[data-page] .activity-table tbody tr.activity-row:hover,
body[data-page] .top10-row:hover{
  background:rgba(226,180,95,.055) !important;
}

/* Absolute final Activity performance guard.
   Keep the 100-row ranking as one stable table and avoid delayed row/bar paint. */
.tab-panel[data-tab-panel="activity"] .activity-table-wrap{
  height:min(70vh, 760px) !important;
  max-height:min(70vh, 760px) !important;
  overflow:auto !important;
  contain:layout paint !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table{
  display:table !important;
  width:100% !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  contain:none !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table thead{
  display:table-header-group !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody{
  display:table-row-group !important;
  contain:none !important;
  content-visibility:visible !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody tr.activity-row{
  display:table-row !important;
  contain:none !important;
  content-visibility:visible !important;
  transform:none !important;
  will-change:auto !important;
  transition:none !important;
}
.tab-panel[data-tab-panel="activity"] .activity-table tbody td{
  display:table-cell !important;
  width:auto !important;
  padding:12px 14px !important;
  border-bottom:1px solid var(--x-line, rgba(238,226,200,.15)) !important;
}
.tab-panel[data-tab-panel="activity"] .activity-stack,
.tab-panel[data-tab-panel="activity"] .activity-player-thp,
.tab-panel[data-tab-panel="activity"] .activity-bar-fill,
.tab-panel[data-tab-panel="activity"] .activity-player-thp-track span{
  animation:none !important;
  transition:none !important;
  transform:none !important;
  will-change:auto !important;
}
@media(max-width:640px){
  .tab-panel[data-tab-panel="activity"] .activity-table thead{
    display:none !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table,
  .tab-panel[data-tab-panel="activity"] .activity-table tbody{
    display:block !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table tbody tr.activity-row{
    display:grid !important;
  }
  .tab-panel[data-tab-panel="activity"] .activity-table tbody td{
    display:block !important;
    padding:0 !important;
  }
}
