/* =============================================================================
   kaevith.css — THE KAEVITH INCURSION (My Galaxy event layer)
   Purple/void identity, deliberately distinct from the blue galaxy chrome and
   from the red rival palette. Follows the existing sheet vocabulary: 13px radii,
   1px hairline borders, display font for headings, Rajdhani body.
   ============================================================================= */
:root{--xen:#c26bff;--xen-deep:#7a2ac4;--xen-ink:#0b0416}

/* ---- event banner on the My Galaxy screen ---- */
.xen-banner{display:flex;align-items:center;gap:11px;width:100%;text-align:left;margin:0 0 11px;padding:10px 12px;border-radius:13px;cursor:pointer;
  background:linear-gradient(105deg,rgba(122,42,196,.34),rgba(11,4,22,.9) 62%);
  border:1px solid rgba(194,107,255,.5);box-shadow:0 0 24px -10px var(--xen);animation:xenBreathe 3.4s ease-in-out infinite}
@keyframes xenBreathe{0%,100%{box-shadow:0 0 20px -12px var(--xen),0 0 0 1px rgba(194,107,255,.16) inset}50%{box-shadow:0 0 34px -6px rgba(194,107,255,.6),0 0 0 1px rgba(194,107,255,.34) inset}}
.xb-glyph{flex:0 0 auto;font-size:20px;color:#e0b3ff;text-shadow:0 0 14px var(--xen)}
.xb-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.xb-txt b{font-family:var(--font-display);font-size:12.5px;font-weight:800;letter-spacing:.1em;color:#f0dcff}
.xb-txt i{font-style:normal;font-size:11.5px;line-height:1.4;color:#b79ad4}
.xb-cta{flex:0 0 auto;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#e6c8ff;background:rgba(194,107,255,.14);border:1px solid rgba(194,107,255,.5);border-radius:99px;padding:4px 9px;white-space:nowrap}

/* ---- invaded-tile block inside the tile sheet ---- */
.xen-tile{margin:2px 0 12px;padding:11px 12px;border-radius:13px;
  background:linear-gradient(180deg,rgba(122,42,196,.2),rgba(11,4,22,.92));border:1px solid rgba(194,107,255,.45)}
.xt-h{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:11.5px;font-weight:800;letter-spacing:.12em;color:#e6c8ff}
.xt-g{font-size:14px;color:var(--xen);text-shadow:0 0 12px var(--xen)}
.xt-b{margin-top:6px;font-size:12px;line-height:1.5;color:#c3add9}
.xt-b b{color:#f0dcff}
.xt-r{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding-top:8px;border-top:1px solid rgba(194,107,255,.24);font-size:12px;color:#b79ad4}
.xt-r b{font-family:var(--font-display);font-size:16px;color:#e6c8ff;text-shadow:0 0 12px rgba(194,107,255,.6)}

/* ---- the briefing sheet ---- */
.xen-hero{margin:-2px 0 13px;padding:16px 14px 15px;border-radius:14px;text-align:center;
  background:radial-gradient(120% 130% at 50% 0%,rgba(122,42,196,.5),rgba(11,4,22,.96) 70%);
  border:1px solid rgba(194,107,255,.44);box-shadow:0 0 30px -12px var(--xen)}
.xh-tag{font-size:10px;font-weight:800;letter-spacing:.22em;color:#c8a4e8}
.xh-t{font-family:var(--font-display);font-size:22px;font-weight:900;letter-spacing:.05em;color:#f4e6ff;margin-top:5px;text-shadow:0 0 22px rgba(194,107,255,.75)}
.xh-s{margin-top:8px;font-size:12.5px;line-height:1.55;color:#c3add9;text-wrap:pretty}
.xh-s b{color:#f0dcff}

.xen-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.xs-row{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;border-radius:11px;background:rgba(122,42,196,.11);border:1px solid rgba(194,107,255,.24);font-size:12.5px;line-height:1.5;color:#bfa8d6;text-wrap:pretty}
.xs-row b{color:#f0dcff}
.xs-row i{font-style:italic;color:#d9c2f0}
.xs-n{flex:0 0 20px;height:20px;display:grid;place-items:center;border-radius:99px;font-family:var(--font-display);font-size:11px;font-weight:800;color:#0b0416;background:var(--xen);box-shadow:0 0 12px -2px var(--xen)}

.xen-roster{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}
.xr-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:11px;background:rgba(122,42,196,.08);border:1px solid rgba(194,107,255,.2)}
.xr-row.have{background:rgba(194,107,255,.16);border-color:rgba(194,107,255,.5)}
.xr-row img{width:40px;height:40px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 0 8px rgba(194,107,255,.55))}
.xr-m{flex:1;min-width:0}
.xr-n{font-size:12.5px;font-weight:800;color:#f0dcff}
.xr-n i{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#8ff2c4;margin-left:5px}
.xr-c{font-size:11px;color:#a68fc4;margin-top:1px}
/* SCARCITY, ON THE ROW. The top three hulls are deliberately much rarer than the
   two entry chassis, so the roster states the multiplier and the real share of a
   winning roll (fed by GAME.xenSplit, never hand-written). */
.xr-rare{font-weight:800;color:#ffcf7a;white-space:nowrap}
.xr-odds{font-size:10.5px;font-weight:700;letter-spacing:.02em;color:#8ff2c4;margin-top:2px;font-variant-numeric:tabular-nums}
.xen-note-rare{margin:0 0 9px;padding:9px 11px;border-radius:11px;background:rgba(11,4,22,.6);border:1px solid rgba(194,107,255,.26);font-size:11.5px;line-height:1.5;color:#a89bc0;text-wrap:pretty}
.xen-note-rare b{color:#e6d0ff}
.xr-xp{flex:0 0 auto;text-align:right;font-family:var(--font-display);font-size:16px;font-weight:800;color:#e6c8ff;line-height:1.05;text-shadow:0 0 12px rgba(194,107,255,.55)}
.xr-xp i{display:block;font-style:normal;font-family:var(--font-body,inherit);font-size:9.5px;font-weight:700;letter-spacing:.06em;color:#a68fc4;text-shadow:none}

.xen-now{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:11px;background:rgba(11,4,22,.72);border:1px dashed rgba(194,107,255,.44);font-size:12px;color:#a68fc4}
.xen-now b{font-family:var(--font-display);font-size:13.5px;color:#e6c8ff;text-align:right}

/* ---- end-of-battle result: earned a hull, or didn't ---- */
.xres{padding:18px 14px 15px;border-radius:14px;text-align:center;margin:-2px 0 13px}
.xres.won{background:radial-gradient(120% 130% at 50% 0%,rgba(122,42,196,.55),rgba(11,4,22,.96) 72%);border:1px solid rgba(194,107,255,.55);box-shadow:0 0 34px -10px var(--xen)}
.xres.miss{background:linear-gradient(180deg,rgba(30,22,44,.85),rgba(11,4,22,.94));border:1px solid rgba(140,120,170,.3)}
.xres-tag{font-size:10px;font-weight:800;letter-spacing:.2em}
.xres.won .xres-tag{color:#d9a0ff}
.xres.miss .xres-tag{color:#9b8fb0}
.xres-img{width:132px;height:132px;object-fit:contain;margin:8px auto 2px;display:block;filter:drop-shadow(0 0 22px rgba(194,107,255,.75));animation:xresIn .5s cubic-bezier(.2,1.2,.3,1) both}
@keyframes xresIn{from{opacity:0;transform:scale(.68) rotate(-8deg)}to{opacity:1;transform:none}}
.xres-g{font-size:44px;color:#5d5170;margin:8px 0 4px;text-shadow:none}
.xres-t{font-family:var(--font-display);font-size:21px;font-weight:900;letter-spacing:.03em;color:#f4e6ff;text-shadow:0 0 20px rgba(194,107,255,.7)}
.xres-t2{font-family:var(--font-display);font-size:16px;font-weight:800;color:#cfc4e0;margin-top:2px}
.xres-c{font-size:12px;line-height:1.55;color:#a68fc4;margin-top:5px;text-wrap:pretty}
.xres-c b{color:#e6c8ff}
.xres-xp{margin:11px auto 0;max-width:280px;padding:9px 12px;border-radius:11px;background:rgba(194,107,255,.16);border:1px solid rgba(194,107,255,.5);font-family:var(--font-display);font-size:15px;font-weight:800;color:#f0dcff}
.xres-xp i{display:block;font-style:normal;font-family:var(--font-body,inherit);font-size:10.5px;font-weight:600;letter-spacing:.04em;color:#bfa8d6;margin-top:3px}
.xres-note{margin-top:10px;font-size:11.5px;line-height:1.5;color:#9b8fb0;text-wrap:pretty}
.xres-note b{color:#d9c2f0}

/* ---- empire-at-capacity: in-sheet warning + full explainer ---- */
.cap-warn{margin:10px 0 4px;padding:11px 12px;border-radius:12px;background:linear-gradient(180deg,rgba(255,73,95,.1),rgba(20,8,14,.9));border:1px solid rgba(255,73,95,.45)}
.cw-h{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:11.5px;font-weight:800;letter-spacing:.1em;color:#ff9aa4}
.cw-h span{font-size:14px}
.cw-b{margin-top:6px;font-size:12px;line-height:1.55;color:#c3aeb2;text-wrap:pretty}
.cw-b b{color:#ffd9de}
.cw-btn{width:100%;margin-top:9px;padding:9px;border-radius:10px;cursor:pointer;font-family:var(--font-display);font-size:12px;font-weight:800;letter-spacing:.06em;color:#ffd9de;background:rgba(255,73,95,.16);border:1px solid rgba(255,73,95,.5)}
.cw-btn:active{background:rgba(255,73,95,.3)}

.cap-hero{margin:-2px 0 12px;padding:15px 14px;border-radius:14px;text-align:center;background:radial-gradient(120% 130% at 50% 0%,rgba(255,73,95,.28),rgba(14,10,18,.96) 72%);border:1px solid rgba(255,73,95,.45)}
.ch-n{font-family:var(--font-display);font-size:38px;font-weight:900;line-height:1;color:#ff9aa4;text-shadow:0 0 24px rgba(255,73,95,.6)}
.ch-n i{font-style:normal;font-size:20px;color:#8e7078}
.ch-l{margin-top:5px;font-size:10px;font-weight:800;letter-spacing:.2em;color:#b08f96}
.cap-why{font-size:12.5px;line-height:1.6;color:#a9b3c4;margin-bottom:13px;text-wrap:pretty}
.cap-why b{color:#e6edf8}
.cap-opt{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;border-radius:11px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);font-size:12.5px;line-height:1.55;color:#a9b3c4;margin-bottom:7px;text-wrap:pretty}
.cap-opt b{color:#e6edf8}
.co-n{flex:0 0 20px;height:20px;display:grid;place-items:center;border-radius:99px;font-family:var(--font-display);font-size:11px;font-weight:800;color:#12161f;background:#8fc4ff}
.cap-hint{font-size:11.5px;line-height:1.5;color:#8b95a6;margin:0 0 8px}
.cap-hint b{color:#cfe0f5}
.cap-list{display:flex;flex-direction:column;gap:5px}
.cap-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.cr-m{flex:1;min-width:0}
.cr-n{font-size:12.5px;font-weight:700;color:#e6edf8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-n i{font-style:normal;font-size:10px;font-weight:800;color:#ffd24d;margin-left:4px}
.cr-s{font-size:11px;color:#8b95a6;margin-top:1px}
.cr-b{flex:0 0 auto;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:11px;font-weight:800;color:#ff8a96;background:rgba(255,73,95,.1);border:1px solid rgba(255,73,95,.4);white-space:nowrap}
.cr-b.arm{background:rgba(255,73,95,.32);color:#fff}
.cap-none{font-size:12px;color:#8b95a6;padding:10px;text-align:center}
