/* SWGOH edition theme: deep-space dark, holo-blue (Light Side), crimson (Dark Side) and Imperial gold. Loaded only by the SWGOH edition
   (unlayered, so it wins over the shared layers) and scoped to :root[data-edition="swgoh"]. Pure CSS art — no game assets. */
:root[data-edition="swgoh"] {
  color-scheme: dark;
  --gold: #f4c542; --holo: #4db4ff; --crimson: #ff5a5f; --space: #04060d; --panel: #0b1124; --panel-2: #121a33;
  --accent: var(--gold); --on-accent: #1a1300;
  --bg: var(--space); --surface: var(--panel); --surface-2: var(--panel-2); --line: #243056;
  --text: #e8eefc; --muted: #8e9bbd; --top: #070b1a;
  --font: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
}
[data-edition="swgoh"] body {
  background-color: var(--space);
  background-image:
    radial-gradient(1.2px 1.2px at 12% 18%, #fff9, transparent), radial-gradient(1px 1px at 78% 8%, #fff8, transparent), radial-gradient(1.4px 1.4px at 44% 62%, #fffa, transparent),
    radial-gradient(1px 1px at 90% 70%, #fff7, transparent), radial-gradient(1.2px 1.2px at 28% 88%, #fff8, transparent), radial-gradient(1px 1px at 63% 36%, #fff6, transparent),
    radial-gradient(900px 420px at 88% -8%, #1b3a8a55, transparent), radial-gradient(700px 400px at 0% 100%, #5a122644, transparent);
  background-size: 340px 340px, 420px 420px, 380px 380px, 300px 300px, 460px 460px, 360px 360px, auto, auto;
  background-attachment: fixed;
}
[data-edition="swgoh"] h1, [data-edition="swgoh"] h2 { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
[data-edition="swgoh"] h1 { color: var(--gold); text-shadow: 0 0 18px #f4c54233; }
[data-edition="swgoh"] h2 { font-size: 1.05rem; color: var(--holo); }
[data-edition="swgoh"] a { color: var(--holo); }
[data-edition="swgoh"] .topbar { border-block-end: 1px solid var(--gold); box-shadow: 0 1px 24px #f4c54222; }
[data-edition="swgoh"] .brand span { text-transform: uppercase; letter-spacing: .18em; font-weight: 800; color: var(--gold); }
[data-edition="swgoh"] .card { background: linear-gradient(160deg, #0f1730, #0a1022); border: 1px solid var(--line); border-radius: 4px;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); box-shadow: inset 0 0 0 1px #4db4ff0d; }
[data-edition="swgoh"] .btn { border-radius: 3px; text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; font-weight: 700; border: 1px solid #36457a; background: #111a36; color: var(--text); }
[data-edition="swgoh"] .btn:hover { border-color: var(--holo); box-shadow: 0 0 12px #4db4ff44; }
[data-edition="swgoh"] .btn.primary { background: linear-gradient(180deg, #ffd860, #d9a521); color: #1a1300; border-color: #ffe08a; }
[data-edition="swgoh"] .btn.danger { color: var(--crimson); border-color: #7a2a33; }
[data-edition="swgoh"] input, [data-edition="swgoh"] select, [data-edition="swgoh"] textarea { background: #0a1124; border: 1px solid #2c3a68; color: var(--text); border-radius: 3px; }
[data-edition="swgoh"] input:focus, [data-edition="swgoh"] select:focus, [data-edition="swgoh"] textarea:focus { outline: 2px solid var(--holo); outline-offset: 1px; }
[data-edition="swgoh"] .side-head { margin: .9rem .6rem .25rem; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); opacity: .85; }
[data-edition="swgoh"] .side-head:first-child { margin-top: .2rem; }
[data-edition="swgoh"] .side-link { border-radius: 3px; border-inline-start: 2px solid transparent; }
[data-edition="swgoh"] .side-link[aria-current="page"] { background: linear-gradient(90deg, #f4c5421f, transparent); border-inline-start-color: var(--gold); color: var(--gold); }
[data-edition="swgoh"] .tabs a[aria-current="page"] { color: var(--gold); border-block-end-color: var(--gold); }
[data-edition="swgoh"] .stats .stat b { color: var(--gold); text-shadow: 0 0 12px #f4c54233; }
[data-edition="swgoh"] .tag { border-radius: 2px; text-transform: uppercase; letter-spacing: .05em; font-size: .68rem; }
[data-edition="swgoh"] .tag-gl { background: #f4c54226; color: var(--gold); border: 1px solid #f4c54266; }
[data-edition="swgoh"] .warn { color: var(--crimson); }
[data-edition="swgoh"] .num { font-variant-numeric: tabular-nums; text-align: end; }
[data-edition="swgoh"] .footer { border-block-start: 1px solid var(--line); }

/* ---- home ---- */
[data-edition="swgoh"] .sw-hero { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; align-items: center; padding: clamp(1.2rem, 4vw, 2.4rem); margin-block-end: var(--gap);
  border: 1px solid #36457a; background: radial-gradient(600px 240px at 20% 0%, #1b3a8a44, transparent), radial-gradient(500px 240px at 100% 100%, #7a122644, transparent), #0a1022;
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 28px 100%, 0 calc(100% - 28px)); }
[data-edition="swgoh"] .sw-hero-art { display: grid; gap: .6rem; }
[data-edition="swgoh"] .sw-hero-text h1 { font-size: clamp(1.5rem, 4vw, 2.4rem); margin: 0 0 .4rem; }
[data-edition="swgoh"] .sw-search { display: flex; gap: .5rem; margin-block: .8rem; max-inline-size: 38rem; }
[data-edition="swgoh"] .sw-search input { flex: 1; min-inline-size: 0; padding: .7rem .9rem; }
[data-edition="swgoh"] .sw-rank { list-style: none; counter-reset: r; margin: 0; padding: 0; display: grid; gap: .2rem; }
[data-edition="swgoh"] .sw-rank li { counter-increment: r; display: grid; grid-template-columns: 1.6rem 1fr auto auto; gap: .6rem; align-items: center; padding: .4rem .2rem; border-block-end: 1px solid #1a2547; }
[data-edition="swgoh"] .sw-rank li::before { content: counter(r); color: var(--gold); font-weight: 800; }
[data-edition="swgoh"] .sw-sections { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .6rem; margin-block: var(--gap); }
[data-edition="swgoh"] .sw-tile { display: grid; justify-items: center; gap: .4rem; padding: 1rem .6rem; border: 1px solid #2c3a68; background: #0d1530; text-decoration: none; color: var(--text); text-transform: uppercase; letter-spacing: .08em; font-size: .78rem;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
[data-edition="swgoh"] .sw-tile:hover { border-color: var(--gold); color: var(--gold); }
[data-edition="swgoh"] .sw-tile .hexlogo { color: var(--gold); inline-size: 34px; block-size: 34px; }
[data-edition="swgoh"] .sw-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: .7rem; margin-block: var(--gap); }
[data-edition="swgoh"] .sw-guild-card { display: flex; gap: .8rem; align-items: center; text-decoration: none; color: var(--text); }
[data-edition="swgoh"] .sw-guild-card:hover { border-color: var(--gold); }

/* ---- player / guild / alliance header ---- */
[data-edition="swgoh"] .sw-player { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; padding: 1.2rem 1.4rem; border: 1px solid #36457a; }
[data-edition="swgoh"] .sw-player.side-light { background: radial-gradient(500px 200px at 0% 0%, #1d4f9a55, transparent), #0a1126; border-color: #2f6fc0; }
[data-edition="swgoh"] .sw-player.side-dark { background: radial-gradient(500px 200px at 0% 0%, #8a1c2c55, transparent), #0a1126; border-color: #a23446; }
[data-edition="swgoh"] .sw-player.side-neutral { background: radial-gradient(500px 200px at 0% 0%, #6a561a44, transparent), #0a1126; }
[data-edition="swgoh"] .sw-player h1 { margin: 0 0 .2rem; }
[data-edition="swgoh"] .emb { stroke: currentColor; fill: currentColor; }
[data-edition="swgoh"] .emb-light, [data-edition="swgoh"] .side-light .emb { color: var(--holo); filter: drop-shadow(0 0 8px #4db4ff88); }
[data-edition="swgoh"] .emb-dark, [data-edition="swgoh"] .side-dark .emb { color: var(--crimson); filter: drop-shadow(0 0 8px #ff5a5f88); }
[data-edition="swgoh"] .emb-neutral { color: var(--gold); filter: drop-shadow(0 0 8px #f4c54266); }
[data-edition="swgoh"] .emb path[fill="none"], [data-edition="swgoh"] .emb circle[fill="none"] { fill: none; }
[data-edition="swgoh"] .unit-hero { display: flex; gap: 1.4rem; align-items: center; flex-wrap: wrap; padding: 1.2rem; }
[data-edition="swgoh"] .unit-art .uc { zoom: 1.7; }
[data-edition="swgoh"] .join-req .row { align-items: flex-start; gap: 1rem; }

/* ---- unit tiles (portraits): round gear frames, side emblem, relic hexagon — modelled on the in-game look, drawn in pure CSS ---- */
[data-edition="swgoh"] .uc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(5.4rem, 1fr)); gap: .9rem .5rem; justify-items: center; }
[data-edition="swgoh"] .uc { --r1: #c9ced8; --r2: #6c7385; --a: #2b3358; --b: #0b0f20; --glow: transparent; display: grid; justify-items: center; gap: .15rem; inline-size: 5.2rem; text-decoration: none; color: var(--text); position: relative;
  --ship: polygon(0 20%, 78% 20%, 100% 50%, 78% 80%, 0 80%, 12% 50%); }
[data-edition="swgoh"] .uc.light { --a: #3a8be0; --b: #0a2147; }
[data-edition="swgoh"] .uc.dark { --a: #d23a4a; --b: #2c0810; }
[data-edition="swgoh"] .uc.neutral { --a: #bfa045; --b: #231b08; }
/* gear tiers: grey, green, blue, purple, violet, gold, orange, radiant gold */
[data-edition="swgoh"] .uc.g1 { --r1: #d8dce6; --r2: #7b8294; }
[data-edition="swgoh"] .uc.g2, [data-edition="swgoh"] .uc.g3 { --r1: #8be3a1; --r2: #2f8f4f; }
[data-edition="swgoh"] .uc.g4, [data-edition="swgoh"] .uc.g5 { --r1: #8cc6ff; --r2: #2a64c4; }
[data-edition="swgoh"] .uc.g6, [data-edition="swgoh"] .uc.g7 { --r1: #c9a2ff; --r2: #6a36c8; }
[data-edition="swgoh"] .uc.g8, [data-edition="swgoh"] .uc.g9 { --r1: #e0a0ff; --r2: #8d2fd0; }
[data-edition="swgoh"] .uc.g10, [data-edition="swgoh"] .uc.g11 { --r1: #ffe38a; --r2: #b58012; }
[data-edition="swgoh"] .uc.g12 { --r1: #ffcf70; --r2: #c4561a; }
[data-edition="swgoh"] .uc.g13, [data-edition="swgoh"] .uc.g0 { --r1: #fff2b8; --r2: #d9a521; }
[data-edition="swgoh"] .uc.has-relic.light { --r1: #d9f4ff; --r2: #3aa6e8; --glow: #4db4ffcc; }
[data-edition="swgoh"] .uc.has-relic.dark { --r1: #ffd2d2; --r2: #e03a3a; --glow: #ff4d4dcc; }
[data-edition="swgoh"] .uc.has-relic.neutral { --r1: #fff2b8; --r2: #d9a521; --glow: #f4c542aa; }
[data-edition="swgoh"] .uc.is-gl { --glow: #ff9d2ecc; }
[data-edition="swgoh"] .uc.not7 { opacity: .78; }
[data-edition="swgoh"] .uc-art { position: relative; display: grid; inline-size: 4.5rem; block-size: 4.5rem; }
[data-edition="swgoh"] .uc-frame { position: relative; display: grid; place-items: center; inline-size: 4.5rem; block-size: 4.5rem; border-radius: 50%; overflow: hidden;
  background: conic-gradient(from 20deg, var(--r1), var(--r2), var(--r1), var(--r2), var(--r1)); box-shadow: 0 0 14px -2px var(--glow), 0 2px 6px #000a; }
[data-edition="swgoh"] .uc.g12 .uc-frame, [data-edition="swgoh"] .uc.g13 .uc-frame { outline: 2px solid var(--r2); outline-offset: 1px; }
[data-edition="swgoh"] .uc-ring { position: absolute; inset: 4px; border-radius: 50%; background: radial-gradient(circle at 50% 28%, var(--a), var(--b) 88%); box-shadow: inset 0 0 0 1px #0008; }
[data-edition="swgoh"] .uc-img { position: absolute; inset: 4px; inline-size: calc(100% - 8px); block-size: calc(100% - 8px); object-fit: cover; border-radius: 50%; z-index: 1; }
[data-edition="swgoh"] .uc.ship { inline-size: 7rem; --r1: var(--a); --r2: var(--b); }
[data-edition="swgoh"] .uc.ship.light { --r1: #8fd0ff; --r2: #2a78d6; }
[data-edition="swgoh"] .uc.ship.dark { --r1: #ff9a9a; --r2: #c4303f; }
[data-edition="swgoh"] .uc.ship.neutral { --r1: #ffe08a; --r2: #b58012; }
[data-edition="swgoh"] .uc.ship .uc-art { inline-size: 6.8rem; block-size: 4.6rem; margin-block: 0 .5rem; }
[data-edition="swgoh"] .uc.ship .uc-frame { inline-size: 6.8rem; block-size: 4.6rem; border-radius: 12px; box-shadow: 0 0 12px -2px var(--r2), 0 2px 6px #000a; outline: 0; }
[data-edition="swgoh"] .uc.ship .uc-ring { inset: 3px; border-radius: 9px; }
[data-edition="swgoh"] .uc.ship .uc-img { inset: 3px; inline-size: calc(100% - 6px); block-size: calc(100% - 6px); border-radius: 9px; object-fit: cover; }
[data-edition="swgoh"] .uc-grid:has(.uc.ship) { grid-template-columns: repeat(auto-fill, minmax(7.4rem, 1fr)); }
[data-edition="swgoh"] .uc.ship .uc-name { max-inline-size: 7rem; font-size: .72rem; -webkit-line-clamp: 3; }
[data-edition="swgoh"] .uc-glyph { position: relative; z-index: 1; display: grid; place-items: center; line-height: 1; color: #fff; text-shadow: 0 2px 8px #000a; }
[data-edition="swgoh"] .uc-glyph b { font-size: 1.35rem; letter-spacing: .02em; }
[data-edition="swgoh"] .uc-glyph small { font-size: .7rem; opacity: .8; }
[data-edition="swgoh"] .uc-side { position: absolute; inset-block-start: -.15rem; inset-inline-start: -.15rem; z-index: 3; display: grid; place-items: center; inline-size: 1.2rem; block-size: 1.2rem; border-radius: 50%; background: #05070f; border: 1px solid var(--r2); }
[data-edition="swgoh"] .uc-side .emb { filter: none; inline-size: .85rem; block-size: .85rem; }
[data-edition="swgoh"] .uc-gear { position: absolute; inset-block-end: -.35rem; inset-inline: 0; margin-inline: auto; inline-size: max-content; z-index: 3; padding: 0 .3rem; font: 700 .62rem/1.1rem Georgia, serif; text-align: center; background: linear-gradient(180deg, #1b2342, #05070f); color: var(--r1); border: 1px solid var(--r2); border-radius: 3px; }
[data-edition="swgoh"] .uc-relic { position: absolute; inset-block-end: -.5rem; inset-inline: 0; margin-inline: auto; z-index: 3; inline-size: 1.7rem; block-size: 1.95rem; display: grid; place-items: center; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: linear-gradient(160deg, var(--r1), var(--r2)); filter: drop-shadow(0 0 5px var(--glow)); }
[data-edition="swgoh"] .uc-relic b { display: grid; place-items: center; inline-size: 1.38rem; block-size: 1.6rem; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: #070b1a; color: #fff; font-size: .82rem; font-weight: 800; }
[data-edition="swgoh"] .uc-lvl { position: absolute; inset-block-end: 0; inset-inline-end: -.1rem; z-index: 3; min-inline-size: 1.25rem; block-size: 1.25rem; display: grid; place-items: center; border-radius: 50%; font-size: .62rem; font-weight: 700; background: #05070f; color: #dfe6fb; border: 1px solid #36457a; }
[data-edition="swgoh"] .uc-pips { display: flex; gap: 1px; margin-block-start: .55rem; }
[data-edition="swgoh"] .uc-pips i { inline-size: .5rem; block-size: .5rem; background: #2a3150; clip-path: polygon(50% 0, 62% 34%, 98% 36%, 70% 58%, 80% 92%, 50% 72%, 20% 92%, 30% 58%, 2% 36%, 38% 34%); }
[data-edition="swgoh"] .uc-pips i.on { background: var(--gold); box-shadow: 0 0 4px #f4c54299; }
[data-edition="swgoh"] .uc-marks { display: flex; gap: 2px; min-block-size: .9rem; }
[data-edition="swgoh"] .uc-marks em { font-style: normal; font-size: .58rem; font-weight: 800; padding: 0 .22rem; border-radius: 2px; background: #1a2547; color: #cfd8f5; }
[data-edition="swgoh"] .uc-marks .gl { background: #ff9d2e; color: #1a0e00; }
[data-edition="swgoh"] .uc-marks .ult { background: #b05cff; color: #fff; }
[data-edition="swgoh"] .uc-marks .z { background: #f4c542; color: #1a1300; }
[data-edition="swgoh"] .uc-marks .o { background: #ff7a2e; color: #1a0a00; }
[data-edition="swgoh"] .uc-name { font-size: .68rem; line-height: 1.15; text-align: center; max-inline-size: 5.2rem; color: #c9d3f0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
[data-edition="swgoh"] a.uc:hover .uc-name { color: var(--gold); }
[data-edition="swgoh"] a.uc:hover .uc-frame { filter: drop-shadow(0 0 8px var(--ring)); }
[data-edition="swgoh"] .uc-grid.owners { grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr)); }
[data-edition="swgoh"] .owner { display: grid; justify-items: center; gap: .2rem; font-size: .8rem; }
[data-edition="swgoh"] .squad-members { grid-template-columns: repeat(auto-fit, minmax(5.4rem, 6rem)); justify-content: start; }
[data-edition="swgoh"] .squad-unit { display: grid; justify-items: center; gap: .2rem; }
[data-edition="swgoh"] .squad-unit.miss .uc { filter: grayscale(.85) brightness(.7); }

/* ---- mods ---- */
[data-edition="swgoh"] .mod-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(5.6rem, 1fr)); gap: .6rem; }
[data-edition="swgoh"] .mod-tile { display: grid; justify-items: center; gap: .1rem; padding: .5rem .3rem; background: #0a1124; border: 1px solid #243056; border-radius: 4px; text-align: center; }
[data-edition="swgoh"] .mod-tile small { font-size: .62rem; color: var(--muted); }
[data-edition="swgoh"] .mod-spd { color: var(--gold); }
[data-edition="swgoh"] .mod-ico { display: grid; justify-items: center; }
[data-edition="swgoh"] .mi { inline-size: 2.8rem; block-size: 2.8rem; fill: #55608a; stroke: #05070f; stroke-width: 1.2; }
[data-edition="swgoh"] .mi .cut { fill: #05070f; stroke: none; }
[data-edition="swgoh"] .mi .mi-l { fill: #fff; stroke: none; font-size: 11px; font-weight: 800; }
[data-edition="swgoh"] .mi-dots { font-size: .7rem; color: var(--gold); line-height: .6; letter-spacing: -.1em; }
[data-edition="swgoh"] .ms-health { fill: #3fae62; } [data-edition="swgoh"] .ms-offense { fill: #d8453d; } [data-edition="swgoh"] .ms-defense { fill: #d98a2b; } [data-edition="swgoh"] .ms-speed { fill: #38a7e8; }
[data-edition="swgoh"] .ms-critchance { fill: #9a63e8; } [data-edition="swgoh"] .ms-critdmg { fill: #e05ca0; } [data-edition="swgoh"] .ms-potency { fill: #2fc4b5; } [data-edition="swgoh"] .ms-tenacity { fill: #9bc83a; }

/* ---- storage ---- */
[data-edition="swgoh"] .inv-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: .3rem .9rem; }
[data-edition="swgoh"] .inv-list li { display: grid; grid-template-columns: 1fr auto auto; gap: .6rem; align-items: center; padding: .35rem .2rem; border-block-end: 1px solid #1a2547; }
[data-edition="swgoh"] .inv-list meter { inline-size: 5rem; block-size: .6rem; }
[data-edition="swgoh"] .stat.cur b { color: var(--holo); }

@media (max-width: 760px) {
  [data-edition="swgoh"] .sw-hero { grid-template-columns: 1fr; }
  [data-edition="swgoh"] .sw-hero-art { grid-auto-flow: column; justify-content: start; }
  [data-edition="swgoh"] .sw-rank li { grid-template-columns: 1.4rem 1fr auto; }
  [data-edition="swgoh"] .sw-rank li .muted { display: none; }
}

/* ---- mega menu (section bar under the header with wide panels) ---- */
[data-edition="swgoh"] .megabar { position: sticky; top: 3.1rem; z-index: 9; background: linear-gradient(180deg, #0a1022, #070b1a); border-block-end: 1px solid #243056; box-shadow: 0 8px 24px -12px #000c; }
[data-edition="swgoh"] .mega-tabs { list-style: none; margin: 0; padding: 0 var(--gap); display: flex; gap: .15rem; overflow-x: auto; scrollbar-width: none; }
[data-edition="swgoh"] .mega-item { flex: none; }
[data-edition="swgoh"] .mega-btn { display: flex; align-items: center; gap: .5rem; padding: .7rem 1rem; background: none; border: 0; border-block-end: 2px solid transparent; color: #c9d3f0; cursor: pointer; font: 700 .78rem var(--font); letter-spacing: .14em; text-transform: uppercase; }
[data-edition="swgoh"] .mega-btn:hover, [data-edition="swgoh"] .mega-btn[aria-expanded="true"] { color: var(--gold); background: linear-gradient(180deg, transparent, #f4c5421a); border-block-end-color: var(--gold); }
[data-edition="swgoh"] .mega-btn.is-current { color: var(--holo); border-block-end-color: var(--holo); }
[data-edition="swgoh"] .mega-btn:focus-visible { outline: 2px solid var(--holo); outline-offset: -2px; }
[data-edition="swgoh"] .mega-glyph { color: var(--gold); font-size: 1rem; }
[data-edition="swgoh"] .mega-caret { inline-size: .45rem; block-size: .45rem; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .7; transition: transform .15s; }
[data-edition="swgoh"] .mega-btn[aria-expanded="true"] .mega-caret { transform: rotate(-135deg) translateY(-2px); }
[data-edition="swgoh"] .mega-panel { position: absolute; inset-inline: 0; inset-block-start: 100%; z-index: 20; border-block-end: 1px solid var(--gold);
  background: radial-gradient(700px 220px at 8% 0%, #1b3a8a44, transparent), radial-gradient(600px 220px at 100% 100%, #7a122633, transparent), linear-gradient(180deg, #0c1328f7, #070b1af7);
  backdrop-filter: blur(10px); box-shadow: 0 24px 40px -16px #000d; animation: mega-in .14s ease-out; }
@keyframes mega-in { from { opacity: 0; transform: translateY(-6px); } }
[data-edition="swgoh"] .mega-inner { display: grid; grid-template-columns: 13rem 1fr; gap: 1.5rem; max-inline-size: 78rem; margin-inline: auto; padding: 1.4rem var(--gap) 1.6rem; }
[data-edition="swgoh"] .mega-title { margin: 0; align-self: start; padding-block-start: .3rem; font-size: 1.15rem; color: var(--gold); letter-spacing: .14em; text-shadow: 0 0 18px #f4c54255; }
[data-edition="swgoh"] .mega-title span { display: block; font-size: 2.2rem; line-height: 1.1; color: var(--holo); text-shadow: 0 0 20px #4db4ff77; }
[data-edition="swgoh"] .mega-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .5rem .9rem; }
[data-edition="swgoh"] .mega-links a { display: grid; gap: .1rem; padding: .6rem .8rem; text-decoration: none; color: var(--text); background: #0d1530b3; border: 1px solid #22305c; border-inline-start: 3px solid #36457a;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); transition: border-color .12s, background .12s, transform .12s; }
[data-edition="swgoh"] .mega-links a b { font-size: .92rem; letter-spacing: .02em; }
[data-edition="swgoh"] .mega-links a small { color: var(--muted); font-size: .74rem; line-height: 1.3; }
[data-edition="swgoh"] .mega-links a:hover, [data-edition="swgoh"] .mega-links a:focus-visible { border-color: var(--gold); border-inline-start-color: var(--gold); background: linear-gradient(90deg, #f4c5421f, #0d1530); transform: translateX(2px); outline: 0; }
[data-edition="swgoh"] .mega-links a:hover b { color: var(--gold); }
@media (max-width: 760px) {
  [data-edition="swgoh"] .megabar { top: 2.9rem; }
  [data-edition="swgoh"] .mega-btn { padding: .65rem .75rem; letter-spacing: .08em; }
  [data-edition="swgoh"] .mega-panel { position: fixed; inset-block-start: 5.9rem; inset-block-end: 0; overflow-y: auto; }
  [data-edition="swgoh"] .mega-inner { grid-template-columns: 1fr; gap: .6rem; padding-block: 1rem; }
  [data-edition="swgoh"] .mega-title span { display: inline; font-size: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) { [data-edition="swgoh"] .mega-panel { animation: none; } }

/* the extra mega bar must not take the stretchy grid row of the base layout: stack header, bar, content and footer in a flex column instead */
:root[data-edition="swgoh"] body, [data-edition="swgoh"] body.has-gp { display: flex; flex-direction: column; }
[data-edition="swgoh"] body > .shell { flex: 1 0 auto; inline-size: 100%; }
[data-edition="swgoh"] body > .footer { flex: none; }
@media (min-width: 761px) { [data-edition="swgoh"] .mega-tabs { overflow: visible; } }

/* ---- game-mode reference ---- */
[data-edition="swgoh"] .modes-grid { grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); }
[data-edition="swgoh"] .mode-glyph { display: grid; place-items: center; inline-size: 2.6rem; block-size: 2.6rem; font-size: 1.5rem; color: var(--gold); border: 1px solid #36457a; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: #0a1124; }
[data-edition="swgoh"] .mode-unit { flex: none; }
[data-edition="swgoh"] .mode-unit .uc { zoom: .8; }
[data-edition="swgoh"] .squad { padding-block: .6rem; border-block-end: 1px solid #1a2547; }

/* ---- database ---- */
[data-edition="swgoh"] .db-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: .7rem; margin-block: var(--gap); }
[data-edition="swgoh"] .db-grid.wide { grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
[data-edition="swgoh"] .db-card { display: grid; justify-items: center; align-content: start; gap: .25rem; padding: .7rem .5rem; text-align: center; text-decoration: none; color: var(--text); background: #0d1530; border: 1px solid #22305c;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }
[data-edition="swgoh"] a.db-card:hover { border-color: var(--gold); }
[data-edition="swgoh"] .db-card b { font-size: .8rem; line-height: 1.2; }
[data-edition="swgoh"] .db-card small { font-size: .7rem; }
[data-edition="swgoh"] .db-icon { inline-size: 3.6rem; block-size: 3.6rem; object-fit: contain; background: radial-gradient(circle at 50% 30%, #1d2a55, #0a1022); border: 1px solid #2c3a68; border-radius: 8px; }
[data-edition="swgoh"] .db-icon.big { inline-size: 5.5rem; block-size: 5.5rem; }
[data-edition="swgoh"] .db-icon.sm { inline-size: 1.9rem; block-size: 1.9rem; border-radius: 5px; }
[data-edition="swgoh"] .db-icon.portrait { border-radius: 50%; inline-size: 4.4rem; block-size: 4.4rem; object-fit: cover; }
[data-edition="swgoh"] .db-icon.ph { display: inline-block; }

/* ---- relics / mod tools ---- */
[data-edition="swgoh"] .uc-relic.static { position: relative; inset: auto; margin: 0; display: inline-grid; --r1: #d9f4ff; --r2: #3aa6e8; --glow: #4db4ffaa; }
[data-edition="swgoh"] .relic-mat { display: inline-flex; align-items: center; gap: .25rem; padding: .15rem .4rem .15rem .15rem; background: #0a1124; border: 1px solid #243056; border-radius: 6px; font-size: .78rem; text-decoration: none; color: var(--text); }
[data-edition="swgoh"] a.relic-mat:hover { border-color: var(--gold); }
[data-edition="swgoh"] .primary-stat th { color: var(--gold); }

/* icons that are not available on the asset CDN are drawn: glyph tiles and the placeholder shown when an image fails */
[data-edition="swgoh"] .db-icon.glyph { display: inline-grid; place-items: center; font-size: 1.7rem; color: var(--gold); background: radial-gradient(circle at 50% 30%, #243564, #0a1022); }
[data-edition="swgoh"] .db-icon.glyph.t-stamina { color: #5be08f; } [data-edition="swgoh"] .db-icon.glyph.t-stim { color: #ffcf70; } [data-edition="swgoh"] .db-icon.glyph.t-medpack { color: #ff7a7a; } [data-edition="swgoh"] .db-icon.glyph.t-tech { color: #7fd0ff; }
[data-edition="swgoh"] .db-icon.glyph.t-art-common { color: #aeb8d4; } [data-edition="swgoh"] .db-icon.glyph.t-art-uncommon { color: #5be08f; } [data-edition="swgoh"] .db-icon.glyph.t-art-rare { color: #5aa8ff; } [data-edition="swgoh"] .db-icon.glyph.t-art-epic { color: #c78bff; } [data-edition="swgoh"] .db-icon.glyph.t-art-legendary { color: #ffb347; }
[data-edition="swgoh"] .db-icon.sm.glyph { font-size: 1rem; }
[data-edition="swgoh"] .db-icon.ph { display: inline-grid; place-items: center; }
[data-edition="swgoh"] .db-icon.ph::after { content: "✦"; color: #36457a; font-size: 1.3rem; }
[data-edition="swgoh"] .db-icon.glyph { position: relative; }
[data-edition="swgoh"] .db-icon.glyph i { position: absolute; inset-block-end: 2px; inset-inline: 0; text-align: center; font: 700 .6rem/1 Georgia, serif; color: #cfd8f5; font-style: normal; letter-spacing: .1em; }
[data-edition="swgoh"] .db-icon.glyph.tier-2 { border-color: #4fbf72; } [data-edition="swgoh"] .db-icon.glyph.tier-3 { border-color: #4d9bff; } [data-edition="swgoh"] .db-icon.glyph.tier-4 { border-color: #a574ff; } [data-edition="swgoh"] .db-icon.glyph.tier-5 { border-color: #ffd25a; }

/* ---- Conquest artifacts / modifiers ---- */
[data-edition="swgoh"] .art-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr)); gap: .8rem; }
[data-edition="swgoh"] .art-card { --c: #aeb8d4; background: linear-gradient(160deg, #0f1730, #0a1022); border: 1px solid #22305c; border-inline-start: 4px solid var(--c); padding: .7rem .8rem; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); }
[data-edition="swgoh"] .art-card.r-rare, [data-edition="swgoh"] .art-emb.r-rare { --c: #5aa8ff; }
[data-edition="swgoh"] .art-card.r-epic, [data-edition="swgoh"] .art-emb.r-epic { --c: #c78bff; }
[data-edition="swgoh"] .art-card.r-legendary, [data-edition="swgoh"] .art-emb.r-legendary { --c: #ffb347; }
[data-edition="swgoh"] .art-card.r-common, [data-edition="swgoh"] .art-emb.r-common { --c: #aeb8d4; }
[data-edition="swgoh"] .art-card header { display: flex; align-items: center; gap: .7rem; margin-block-end: .4rem; }
[data-edition="swgoh"] .art-card h3 { margin: 0; font-size: 1rem; color: var(--c); letter-spacing: .04em; text-transform: uppercase; }
[data-edition="swgoh"] .art-emb { --c: #aeb8d4; flex: none; display: grid; place-items: center; inline-size: 2.8rem; block-size: 3.1rem; font-size: 1.4rem; color: var(--c); background: radial-gradient(circle at 50% 30%, color-mix(in oklch, var(--c) 35%, #0a1022), #070b1a);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
[data-edition="swgoh"] .art-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
[data-edition="swgoh"] .art-card li { --c: #aeb8d4; display: grid; grid-template-columns: 6.2rem 1fr; gap: .5rem; font-size: .82rem; line-height: 1.3; padding: .25rem 0; border-block-start: 1px solid #1a2547; }
[data-edition="swgoh"] .art-card li.r-rare { --c: #5aa8ff; }
[data-edition="swgoh"] .art-card li.r-epic { --c: #c78bff; }
[data-edition="swgoh"] .art-card li.r-legendary { --c: #ffb347; }
[data-edition="swgoh"] .art-rar { color: var(--c); font-weight: 700; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
[data-edition="swgoh"] .art-pips { color: var(--gold); font-size: .8rem; letter-spacing: .15em; }
[data-edition="swgoh"] .cons-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .3rem .7rem .3rem .3rem; background: #0a1124; border: 1px solid #243056; border-radius: 6px; }

/* ---- gear tiers: frame colour + T-badge so the tiers are told apart at a glance ---- */
[data-edition="swgoh"] .gt { --r1: #8a93a8; --r2: #555e75; }
[data-edition="swgoh"] .gt-1, [data-edition="swgoh"] .gt-2 { --r1: #d8dce6; --r2: #7b8294; }
[data-edition="swgoh"] .gt-3, [data-edition="swgoh"] .gt-4 { --r1: #8be3a1; --r2: #2f8f4f; }
[data-edition="swgoh"] .gt-5, [data-edition="swgoh"] .gt-6, [data-edition="swgoh"] .gt-7 { --r1: #8cc6ff; --r2: #2a64c4; }
[data-edition="swgoh"] .gt-8, [data-edition="swgoh"] .gt-9, [data-edition="swgoh"] .gt-10 { --r1: #c9a2ff; --r2: #6a36c8; }
[data-edition="swgoh"] .gt-11 { --r1: #ffe38a; --r2: #b58012; }
[data-edition="swgoh"] .gt-12 { --r1: #ffb86b; --r2: #c4561a; }
[data-edition="swgoh"] .gt-13 { --r1: #fff2b8; --r2: #d9a521; }
[data-edition="swgoh"] .db-card.gt { border-block-start: 3px solid var(--r2); }
[data-edition="swgoh"] .gt-art { position: relative; display: inline-grid; }
[data-edition="swgoh"] .gt .db-icon { border-color: var(--r2); box-shadow: 0 0 10px -3px var(--r1); }
[data-edition="swgoh"] .gt-badge { position: absolute; inset-block-end: -.35rem; inset-inline-end: -.4rem; padding: 0 .3rem; font: 800 .62rem/1.05rem var(--font); font-style: normal; color: #0a0e1c; background: linear-gradient(180deg, var(--r1), var(--r2)); border-radius: 3px; }
[data-edition="swgoh"] .tier-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-block: .5rem; }
[data-edition="swgoh"] .gt-chip { padding: .2rem .6rem; font: 800 .75rem var(--font); text-decoration: none; color: var(--r1, #8a93a8); border: 1px solid var(--r2, #555e75); border-radius: 4px; background: #0a1124; }
[data-edition="swgoh"] .gt-chip.on, [data-edition="swgoh"] .gt-chip:hover { color: #0a0e1c; background: linear-gradient(180deg, var(--r1, #cfd8f5), var(--r2, #7a86a8)); }

/* ---- vector icons (artifacts, mod sets) ---- */
[data-edition="swgoh"] .art-ico { inline-size: 1.7rem; block-size: 1.7rem; }
[data-edition="swgoh"] .art-emb { inline-size: 3.1rem; block-size: 3.4rem; }
[data-edition="swgoh"] .set-badge { --c: #aeb8d4; display: inline-grid; place-items: center; inline-size: 2.1rem; block-size: 2.3rem; vertical-align: middle; color: var(--c); background: radial-gradient(circle at 50% 30%, color-mix(in oklch, var(--c) 30%, #0a1022), #070b1a);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
[data-edition="swgoh"] .set-ico { inline-size: 1.25rem; block-size: 1.25rem; }
[data-edition="swgoh"] .set-badge.ms-health { --c: #3fae62; } [data-edition="swgoh"] .set-badge.ms-offense { --c: #d8453d; } [data-edition="swgoh"] .set-badge.ms-defense { --c: #d98a2b; } [data-edition="swgoh"] .set-badge.ms-speed { --c: #38a7e8; }
[data-edition="swgoh"] .set-badge.ms-critchance { --c: #9a63e8; } [data-edition="swgoh"] .set-badge.ms-critdmg { --c: #e05ca0; } [data-edition="swgoh"] .set-badge.ms-potency { --c: #2fc4b5; } [data-edition="swgoh"] .set-badge.ms-tenacity { --c: #9bc83a; }
[data-edition="swgoh"] .set-field > span { display: flex; align-items: center; gap: .4rem; }
[data-edition="swgoh"] .pre { white-space: pre-line; }

/* ---- Territory Battles ---- */
[data-edition="swgoh"] .star-row { color: var(--gold); letter-spacing: .08em; text-shadow: 0 0 8px #f4c54266; }
[data-edition="swgoh"] .tb-planets { display: grid; grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr)); gap: .9rem; }
[data-edition="swgoh"] .tb-planet { background: linear-gradient(160deg, #0f1730, #0a1022); border: 1px solid #22305c; border-inline-start: 4px solid var(--holo); padding: .8rem .9rem; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); }
[data-edition="swgoh"] .tb-planet.is-bonus { border-inline-start-color: var(--gold); }
[data-edition="swgoh"] .tb-planet header { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-block-end: .3rem; }
[data-edition="swgoh"] .tb-planet h3 { margin: 0; font-size: 1.02rem; color: var(--holo); text-transform: uppercase; letter-spacing: .05em; }
[data-edition="swgoh"] .tb-stars { list-style: none; margin: .4rem 0; padding: 0; display: grid; gap: .15rem; }
[data-edition="swgoh"] .tb-stars li { display: flex; justify-content: space-between; gap: 1rem; font-size: .84rem; padding: .15rem .4rem; background: #0a1124; border-radius: 3px; }
[data-edition="swgoh"] .tb-planet details { margin-block: .35rem; }
[data-edition="swgoh"] .tb-planet summary { cursor: pointer; }
[data-edition="swgoh"] .tb-special { margin-block: .5rem; padding: .5rem .6rem; background: #0b1328; border: 1px dashed #36457a; }
[data-edition="swgoh"] .req .uc-grid { margin-block: .3rem; }

/* ---- Conquest ---- */
[data-edition="swgoh"] .cq-sectors { display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: .9rem; margin-block: var(--gap); }
[data-edition="swgoh"] .cq-sector { background: linear-gradient(160deg, #0f1730, #0a1022); border: 1px solid #22305c; border-inline-start: 4px solid var(--holo); padding: .8rem .9rem; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); }
[data-edition="swgoh"] .cq-sector.is-legend { border-inline-start-color: #ff9d2e; box-shadow: inset 0 0 40px -20px #ff9d2e66; }
[data-edition="swgoh"] .cq-sector header { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
[data-edition="swgoh"] .cq-sector h3 { margin: 0; color: var(--gold); letter-spacing: .08em; }
[data-edition="swgoh"] .cq-types { list-style: none; margin: .4rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
[data-edition="swgoh"] .cq-types li { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .55rem; font-size: .8rem; background: #0a1124; border: 1px solid #243056; border-radius: 4px; }
[data-edition="swgoh"] .cq-types .cq-boss { border-color: #a23446; color: #ff9aa2; }
[data-edition="swgoh"] .cq-types .cq-artifact { border-color: #6a36c8; color: #d0b0ff; }
[data-edition="swgoh"] .cq-types .cq-merchant { border-color: #b58012; color: #ffe08a; }

/* ---- recommended squads on Territory Battle missions ---- */
[data-edition="swgoh"] .rec { margin-block: .5rem; padding: .5rem .6rem; background: #0a1124; border: 1px solid #22305c; }
[data-edition="swgoh"] .rec h4 { margin: 0 0 .3rem; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
[data-edition="swgoh"] .rec-squad { padding-block: .35rem; border-block-start: 1px solid #1a2547; }
[data-edition="swgoh"] .rec-squad.auto { border-inline-start: 3px solid var(--holo); padding-inline-start: .5rem; }
[data-edition="swgoh"] .rec .uc { zoom: .82; }

/* ---- war planner (TW / TB): visual commands, board, cards inside chat ---- */
[data-edition="swgoh"] .cmd-defend { --k: #4db4ff; } [data-edition="swgoh"] .cmd-attack { --k: #ff5a5f; } [data-edition="swgoh"] .cmd-platoon { --k: #5be08f; } [data-edition="swgoh"] .cmd-deploy { --k: #f4c542; }
[data-edition="swgoh"] .cmd-special { --k: #c78bff; } [data-edition="swgoh"] .cmd-hold { --k: #aeb8d4; } [data-edition="swgoh"] .cmd-support { --k: #ff9ac8; }
[data-edition="swgoh"] .cmd-ico { flex: none; display: inline-grid; place-items: center; inline-size: 2.6rem; block-size: 2.9rem; color: var(--k, #aeb8d4); background: radial-gradient(circle at 50% 30%, color-mix(in oklch, var(--k, #aeb8d4) 30%, #0a1022), #070b1a);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); filter: drop-shadow(0 0 6px color-mix(in oklch, var(--k, #aeb8d4) 55%, transparent)); }
[data-edition="swgoh"] .cmd-svg { inline-size: 1.5rem; block-size: 1.5rem; } [data-edition="swgoh"] .cmd-svg.sm { inline-size: 1.05rem; block-size: 1.05rem; vertical-align: -.2em; }
[data-edition="swgoh"] .cmd-legend { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .5rem; }
[data-edition="swgoh"] .cmd-chip { display: flex; align-items: center; gap: .6rem; padding: .35rem .6rem; background: #0a1124; border: 1px solid #22305c; border-inline-start: 4px solid var(--k); }
[data-edition="swgoh"] .cmd-chip small { display: block; color: var(--muted); font-size: .72rem; line-height: 1.2; }
[data-edition="swgoh"] .cmd { --k: #aeb8d4; background: linear-gradient(160deg, #101a36, #0a1022); border: 1px solid #22305c; border-inline-start: 5px solid var(--k); padding: .7rem .8rem; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); display: grid; gap: .45rem; }
[data-edition="swgoh"] .cmd header { display: flex; align-items: center; gap: .7rem; }
[data-edition="swgoh"] .cmd header b { color: var(--k); text-transform: uppercase; letter-spacing: .08em; font-size: 1.05rem; }
[data-edition="swgoh"] .cmd-zone { display: block; color: var(--text); font-size: .85rem; }
[data-edition="swgoh"] .cmd-st { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; padding: .1rem .5rem; border: 1px solid var(--k); color: var(--k); border-radius: 3px; }
[data-edition="swgoh"] .cmd.st-done { opacity: .72; }
[data-edition="swgoh"] .cmd.st-done .cmd-st { background: var(--k); color: #0a0e1c; }
[data-edition="swgoh"] .cmd-note { margin: 0; }
[data-edition="swgoh"] .cmd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: .8rem; }
[data-edition="swgoh"] .cmd-btn { border-color: var(--k); color: var(--k); }
[data-edition="swgoh"] .plan-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr)); gap: .8rem; }
[data-edition="swgoh"] .pl-zone { background: linear-gradient(160deg, #0f1730, #0a1022); border: 1px solid #22305c; padding: .6rem .7rem; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); }
[data-edition="swgoh"] .pl-zone.ships { border-block-start: 3px solid var(--holo); } [data-edition="swgoh"] .pl-zone.chars { border-block-start: 3px solid var(--gold); }
[data-edition="swgoh"] .pl-zone header { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-block-end: .3rem; }
[data-edition="swgoh"] .pl-lane { margin-block: .3rem; padding-inline-start: .5rem; border-inline-start: 3px solid var(--k); }
[data-edition="swgoh"] .pl-lane h4 { margin: 0 0 .2rem; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--k); }
[data-edition="swgoh"] .pl-order { display: flex; align-items: flex-start; gap: .5rem; padding: .25rem 0; border-block-start: 1px solid #1a2547; }
[data-edition="swgoh"] .pl-order .cmd-ico { inline-size: 1.7rem; block-size: 1.9rem; } [data-edition="swgoh"] .pl-order .cmd-svg { inline-size: 1rem; block-size: 1rem; }
[data-edition="swgoh"] .pl-order.st-done { opacity: .65; }
[data-edition="swgoh"] .uc-grid.mini { grid-template-columns: repeat(5, 1fr); gap: .2rem; justify-items: start; }
[data-edition="swgoh"] .uc-grid.mini .uc { zoom: .5; }
[data-edition="swgoh"] .bubble.has-cmd { max-inline-size: min(34rem, 100%); }
[data-edition="swgoh"] .bubble .cmd-wrap { display: grid; gap: .4rem; margin-block-start: .4rem; }
[data-edition="swgoh"] .bubble .cmd .uc { zoom: .75; }
[data-edition="swgoh"] .mode-glyph.big { inline-size: 3.4rem; block-size: 3.4rem; font-size: 1.9rem; }

/* ---- gear planner ---- */
[data-edition="swgoh"] .gp-hero { display: flex; gap: 1.4rem; align-items: center; flex-wrap: wrap; padding: 1.2rem 1.4rem; background: radial-gradient(560px 220px at 0% 0%, #1b3a8a44, transparent), #0a1126; border: 1px solid #36457a; }
[data-edition="swgoh"] .gp-unit { flex: none; min-inline-size: 6rem; display: grid; place-items: center; }
[data-edition="swgoh"] .gp-unit .uc { zoom: 1.5; }
[data-edition="swgoh"] .gp-form { display: flex; flex-wrap: wrap; align-items: end; gap: .7rem; }
[data-edition="swgoh"] .gp-pick { flex: 1 1 18rem; }
[data-edition="swgoh"] .gp-pick select { inline-size: 100%; }
[data-edition="swgoh"] .gp-arrow { align-self: center; color: var(--gold); font-size: 1.4rem; padding-block-start: 1rem; }
[data-edition="swgoh"] .gp-quick { gap: .4rem; }
[data-edition="swgoh"] .gp-stats .stat meter { inline-size: 100%; block-size: .5rem; }
[data-edition="swgoh"] .gp-stats .stat.ok b { color: #5be08f; }
[data-edition="swgoh"] .gp-track { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)); gap: .6rem; counter-reset: none; }
[data-edition="swgoh"] .gp-step { padding: .55rem .6rem; background: #0a1124; border: 1px solid #1d2850; border-block-start: 3px solid var(--r2); }
[data-edition="swgoh"] .gp-step.off { opacity: .42; filter: grayscale(.6); }
[data-edition="swgoh"] .gp-step.on { background: linear-gradient(160deg, #101a36, #0a1022); box-shadow: 0 0 14px -6px var(--r1); }
[data-edition="swgoh"] .gp-step header { display: flex; justify-content: space-between; align-items: baseline; margin-block-end: .35rem; }
[data-edition="swgoh"] .gp-step header b { font: 800 1rem Georgia, serif; color: var(--r1); letter-spacing: .06em; }
[data-edition="swgoh"] .gp-slots { display: flex; flex-wrap: wrap; gap: .3rem; }
[data-edition="swgoh"] .gp-slot { position: relative; display: inline-grid; text-decoration: none; }
[data-edition="swgoh"] .gp-slot em { position: absolute; inset-block-end: -.25rem; inset-inline-end: -.2rem; font: 800 .6rem/1rem var(--font); font-style: normal; padding: 0 .2rem; background: #05070f; color: var(--r1); border: 1px solid var(--r2); border-radius: 3px; }
[data-edition="swgoh"] .gp-parts { display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: .6rem; }
[data-edition="swgoh"] .gp-part { display: flex; align-items: center; gap: .7rem; padding: .5rem .7rem; text-decoration: none; color: var(--text); background: #0a1124; border: 1px solid #22305c; border-inline-start: 4px solid #36457a; }
[data-edition="swgoh"] .gp-part.ok { border-inline-start-color: #3fae62; } [data-edition="swgoh"] .gp-part.miss { border-inline-start-color: #e0453d; }
[data-edition="swgoh"] .gp-part:hover { border-color: var(--gold); }
[data-edition="swgoh"] .gp-part b { font-size: .86rem; line-height: 1.2; }
[data-edition="swgoh"] .gp-part meter { display: block; inline-size: 100%; block-size: .45rem; margin-block: .25rem; }
[data-edition="swgoh"] .gp-part small { font-size: .74rem; }
[data-edition="swgoh"] .gp-n { flex: none; font: 800 1.2rem var(--font); color: var(--gold); }
[data-edition="swgoh"] .ok-text { color: #5be08f; }

/* Conquest: season cards, hero, feats, rank rewards */
[data-edition="swgoh"] .cq-seasons { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: .8rem; margin-block: var(--gap); }
[data-edition="swgoh"] .cq-season { display: flex; align-items: center; gap: .8rem; text-decoration: none; color: inherit; border-inline-start: 4px solid var(--holo); }
[data-edition="swgoh"] .cq-season:hover { border-color: var(--gold); }
[data-edition="swgoh"] .cq-season .grow { display: flex; flex-direction: column; gap: .15rem; }
[data-edition="swgoh"] .cq-season-art { inline-size: 4.2rem; flex: none; }
[data-edition="swgoh"] .cq-season-no { display: grid; place-items: center; inline-size: 3.6rem; block-size: 3.6rem; border-radius: 50%; border: 2px solid #2c3a68; color: var(--gold); font-weight: 700; font-size: 1.3rem; }
[data-edition="swgoh"] .cq-hero { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
[data-edition="swgoh"] .cq-hero-art { inline-size: 6.5rem; display: flex; flex-direction: column; align-items: center; gap: .25rem; }
[data-edition="swgoh"] .cq-feat-group { margin-block: 1rem; padding-block-start: .5rem; border-block-start: 1px solid #22305c; }
[data-edition="swgoh"] .cq-feat-group h3 { color: var(--gold); letter-spacing: .08em; margin: 0 0 .3rem; }
[data-edition="swgoh"] .cq-kind { margin: .6rem 0 .3rem; font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; color: var(--holo); }
[data-edition="swgoh"] .cq-kind-boss { color: #ff9aa2; }
[data-edition="swgoh"] .cq-kind-miniboss { color: #ffb36b; }
[data-edition="swgoh"] .cq-feat-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; grid-template-columns: 1fr; }
[data-edition="swgoh"] .cq-feat { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem .7rem; padding: .5rem .8rem; background: #0a1124; border: 1px solid #243056; border-inline-start: 3px solid var(--holo); border-radius: 4px; }
[data-edition="swgoh"] .cq-feat-boss { border-inline-start-color: #c4465a; }
[data-edition="swgoh"] .cq-feat-miniboss { border-inline-start-color: #e08a3a; }
[data-edition="swgoh"] .cq-feat .grow { display: flex; flex-direction: column; min-inline-size: 12rem; }
[data-edition="swgoh"] .cq-feat .grow small { line-height: 1.3; }
[data-edition="swgoh"] .cq-feat-ico { color: var(--holo); font-size: 1.1rem; }
[data-edition="swgoh"] .cq-feat-q { font-weight: 700; color: var(--gold); white-space: nowrap; }
[data-edition="swgoh"] .cq-hint { flex-basis: 100%; margin: 0; font-size: .85rem; }
[data-edition="swgoh"] .cq-hint-avoid { color: #ffb36b; }
[data-edition="swgoh"] .cq-who { flex-basis: 100%; }
[data-edition="swgoh"] .cq-who summary { cursor: pointer; color: var(--holo); font-size: .85rem; font-weight: 600; }
[data-edition="swgoh"] .cq-who h5 { margin: .6rem 0 .3rem; font-size: .8rem; color: var(--gold); letter-spacing: .04em; }
[data-edition="swgoh"] .cq-who-units { grid-template-columns: repeat(auto-fill, 4.3rem); gap: .3rem .2rem; justify-content: start; }
[data-edition="swgoh"] .cq-who-units .uc { zoom: .75; }
[data-edition="swgoh"] .cq-ranks { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
[data-edition="swgoh"] .cq-rank { background: #0a1124; border: 1px solid #243056; border-radius: 6px; padding: .6rem .8rem; }
[data-edition="swgoh"] .cq-rank h3 { margin: 0 0 .4rem; color: var(--gold); }
[data-edition="swgoh"] .cq-rank-items { display: flex; flex-direction: column; gap: .3rem; }
[data-edition="swgoh"] .cq-item { display: flex; align-items: center; gap: .5rem; font-size: .85rem; }
[data-edition="swgoh"] .cq-item.is-shard .cq-item-name { color: var(--gold); }
[data-edition="swgoh"] .cq-item b { margin-inline-start: auto; }
[data-edition="swgoh"] .cq-item-wrap { display: block; }
[data-edition="swgoh"] .cq-box { margin: .2rem 0 .3rem 2.4rem; font-size: .8rem; }
[data-edition="swgoh"] .cq-box summary { cursor: pointer; color: var(--holo); }
[data-edition="swgoh"] .cq-box-items { display: grid; gap: .25rem; margin-block-start: .3rem; }

/* Conquest feats: calmer rows, a pill-shaped "who can do it" toggle, a panel for the unit grid */
[data-edition="swgoh"] .cq-feat { background: linear-gradient(90deg, #0e1731, #0a1124 40%); }
[data-edition="swgoh"] .cq-feat-ico { display: grid; place-items: center; inline-size: 2rem; block-size: 2rem; border-radius: 50%; background: #13204a; border: 1px solid #2c3a68; font-size: .95rem; }
[data-edition="swgoh"] .cq-feat-boss .cq-feat-ico { background: #3a1420; border-color: #a23446; color: #ff9aa2; }
[data-edition="swgoh"] .cq-feat-miniboss .cq-feat-ico { background: #3a2412; border-color: #b4691f; color: #ffb36b; }
[data-edition="swgoh"] .cq-feat-q { padding: .1rem .55rem; border-radius: 999px; background: #2a2208; border: 1px solid #8a6d1c; }
[data-edition="swgoh"] .cq-who summary { display: inline-flex; align-items: center; gap: .4rem; padding: .15rem .7rem; border: 1px solid #2c3a68; border-radius: 999px; background: #0d1838; list-style: none; }
[data-edition="swgoh"] .cq-who summary::-webkit-details-marker { display: none; }
[data-edition="swgoh"] .cq-who summary::before { content: "▸"; }
[data-edition="swgoh"] .cq-who[open] summary::before { content: "▾"; }
[data-edition="swgoh"] .cq-who[open] { padding: .3rem 0 .2rem; }
[data-edition="swgoh"] .cq-who h5 { padding-block-start: .5rem; border-block-start: 1px solid #1c2a52; }
[data-edition="swgoh"] .cq-who-units { padding: .5rem; background: #070d20; border: 1px solid #1c2a52; border-radius: 8px; max-block-size: 22rem; overflow: auto; }
[data-edition="swgoh"] .cq-jump { display: flex; flex-wrap: wrap; gap: .4rem; margin-block: .5rem; position: sticky; inset-block-start: 0; z-index: 2; background: #0b1226; padding-block: .4rem; }
[data-edition="swgoh"] .cq-jump a { padding: .2rem .7rem; border: 1px solid #2c3a68; border-radius: 999px; background: #0d1838; text-decoration: none; font-size: .85rem; }
[data-edition="swgoh"] .cq-jump a:hover { border-color: var(--gold); }
[data-edition="swgoh"] .cq-feat-group { scroll-margin-block-start: 4rem; }
[data-edition="swgoh"] .cq-shard { display: flex; align-items: center; gap: .6rem; padding: .3rem .5rem; background: linear-gradient(90deg, #1a1430, #0a1124); border: 1px solid #5a3a8a; border-radius: 8px; }
[data-edition="swgoh"] .cq-shard-art { inline-size: 4rem; flex: none; }
[data-edition="swgoh"] .cq-shard-art .uc { zoom: .7; }
[data-edition="swgoh"] .cq-shard-art .squad-unit { filter: none; }
[data-edition="swgoh"] .cq-shard-q { margin-inline-start: auto; color: var(--gold); font-size: 1.1rem; }

/* Campaigns: normal / hard blocks per node */
[data-edition="swgoh"] .camp-nodes { grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); }
[data-edition="swgoh"] .camp-diff { margin-block-start: .5rem; padding: .5rem .6rem; background: #0a1124; border: 1px solid #243056; border-inline-start: 3px solid var(--holo); border-radius: 6px; display: grid; gap: .4rem; }
[data-edition="swgoh"] .camp-diff.is-hard { border-inline-start-color: #c4465a; background: #160d18; }
[data-edition="swgoh"] .tag.tag-hard { background: #3a1420; border-color: #a23446; color: #ff9aa2; }
[data-edition="swgoh"] .camp-shards { display: flex; flex-wrap: wrap; gap: .3rem .6rem; }
[data-edition="swgoh"] .camp-shard { display: inline-flex; align-items: center; gap: .2rem; }
[data-edition="swgoh"] .camp-shard .cq-shard-art { inline-size: 3.6rem; }
[data-edition="swgoh"] .camp-shard b { color: var(--gold); }
[data-edition="swgoh"] .camp-farm-unit { display: grid; justify-items: center; gap: .1rem; }
[data-edition="swgoh"] .camp-farm-unit small { font-size: .65rem; text-align: center; }
[data-edition="swgoh"] .cq-season-art .db-icon.portrait, [data-edition="swgoh"] .cq-hero-art .db-icon.portrait { inline-size: 4.2rem; block-size: 4.2rem; border-radius: 50%; object-fit: contain; border: 2px solid #2c3a68; background: radial-gradient(circle at 50% 30%, #1d2a55, #0a1022); }
[data-edition="swgoh"] .cq-hero-art .db-icon.portrait { inline-size: 5.5rem; block-size: 5.5rem; }
[data-edition="swgoh"] .cq-shard-art .db-icon.portrait { inline-size: 3.4rem; block-size: 3.4rem; border-radius: 50%; object-fit: contain; border: 2px solid #5a3a8a; }
[data-edition="swgoh"] .cq-shard-art { inline-size: 3.6rem; }

/* Eras list: the headline units instead of the era number */
[data-edition="swgoh"] .era-faces { display: inline-flex; flex: none; min-inline-size: 3.2rem; }
[data-edition="swgoh"] .era-face { inline-size: 3rem; block-size: 3rem; border-radius: 50%; object-fit: cover; border: 2px solid #2c3a68; background: radial-gradient(circle at 50% 30%, #1d2a55, #0a1022); }
[data-edition="swgoh"] .era-face + .era-face { margin-inline-start: -.9rem; }
[data-edition="swgoh"] .era-face:first-child { border-color: var(--gold); position: relative; z-index: 3; }
[data-edition="swgoh"] .era-face:nth-child(2) { z-index: 2; }
[data-edition="swgoh"] .camp-missions { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr)); }
[data-edition="swgoh"] .camp-mission { background: #070d20; border: 1px solid #1c2a52; border-radius: 8px; padding: .6rem .7rem; display: grid; gap: .35rem; align-content: start; }
[data-edition="swgoh"] .camp-mission header { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
[data-edition="swgoh"] .camp-mission b { color: var(--gold); }
[data-edition="swgoh"] .camp-rewards { display: grid; gap: .25rem; }
[data-edition="swgoh"] .camp-first { display: grid; gap: .25rem; padding-block-start: .4rem; border-block-start: 1px dashed #243056; }
[data-edition="swgoh"] .cq-mod-ico { inline-size: 1.9rem; block-size: 1.9rem; flex: none; display: inline-grid; place-items: center; }
[data-edition="swgoh"] .cq-mod-ico .mi { inline-size: 100%; block-size: 100%; }
[data-edition="swgoh"] .cq-item.is-mod { color: #d6c8ff; }
[data-edition="swgoh"] .unit-dot { display: grid; justify-items: center; gap: .15rem; inline-size: 4.6rem; text-decoration: none; color: var(--text); }
[data-edition="swgoh"] .unit-dot .db-icon.portrait { inline-size: 3.2rem; block-size: 3.2rem; border-radius: 50%; object-fit: contain; border: 2px solid #2c3a68; }
[data-edition="swgoh"] .unit-dot small { font-size: .65rem; text-align: center; line-height: 1.1; color: #c9d3f0; }
[data-edition="swgoh"] .unit-dot.miss .db-icon { filter: grayscale(.85) brightness(.7); }
[data-edition="swgoh"] .unit-dot.have .db-icon { border-color: #3fae6a; }
[data-edition="swgoh"] .camp-shard { align-items: flex-end; }

/* Journey requirements */
[data-edition="swgoh"] .jt-req { list-style: none; margin: .3rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
[data-edition="swgoh"] .jt-req li { padding: .2rem .7rem; border: 1px solid #2c3a68; border-radius: 999px; background: #0d1838; font-size: .85rem; }
[data-edition="swgoh"] .jt-req li b { color: var(--gold); }
[data-edition="swgoh"] .jt-req li.rl { border-color: #6a36c8; background: #1a1040; }
[data-edition="swgoh"] .jt-units { display: flex; flex-wrap: wrap; gap: .8rem 1rem; }
[data-edition="swgoh"] .jt-unit { display: grid; justify-items: center; gap: .25rem; max-inline-size: 7rem; }
[data-edition="swgoh"] .jt-state { font-size: .68rem; text-align: center; line-height: 1.15; }
[data-edition="swgoh"] .jt-state.ok { color: #6fd596; }
[data-edition="swgoh"] .jt-state.bad { color: #ff9aa2; }
[data-edition="swgoh"] .jt-desc h5 { margin: .6rem 0 .2rem; color: var(--gold); }
[data-edition="swgoh"] .jt-desc p { margin: .15rem 0; }
[data-edition="swgoh"] .jt-desc .jt-li { padding-inline-start: .8rem; color: #c9d3f0; }
[data-edition="swgoh"] .jt-need { font-size: .72rem; font-weight: 700; color: var(--gold); padding: .05rem .5rem; border: 1px solid #36457a; border-radius: 999px; background: #0d1838; white-space: nowrap; }
[data-edition="swgoh"] .jt-need.rl { border-color: #6a36c8; background: #1a1040; color: #d6c8ff; }
[data-edition="swgoh"] .jt-unlock { border-inline-start: 4px solid var(--gold); }

/* mega menu: equal-height tiles in a regular grid */
[data-edition="swgoh"] .mega-links { grid-auto-rows: 1fr; align-items: stretch; }
[data-edition="swgoh"] .mega-links li { display: flex; min-inline-size: 0; }
[data-edition="swgoh"] .mega-links li > a { flex: 1; align-content: start; min-block-size: 3.9rem; }
[data-edition="swgoh"] .mega-links a small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
[data-edition="swgoh"] .mega-links a b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Stores: slots and offers */
[data-edition="swgoh"] .shop-slots { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); margin-block: var(--gap); }
[data-edition="swgoh"] .shop-slot { background: #0a1124; border: 1px solid #243056; border-inline-start: 3px solid var(--holo); border-radius: 6px; padding: .6rem .7rem; display: grid; gap: .35rem; align-content: start; }
[data-edition="swgoh"] .shop-slot h3 { margin: 0; font-size: .8rem; color: var(--gold); letter-spacing: .08em; text-transform: uppercase; }
[data-edition="swgoh"] .shop-offer { display: flex; align-items: center; gap: .5rem; padding: .25rem .4rem; background: #070d20; border: 1px solid #1c2a52; border-radius: 6px; }
[data-edition="swgoh"] .shop-offer.is-shard { border-color: #5a3a8a; background: linear-gradient(90deg, #1a1430, #070d20); }
[data-edition="swgoh"] .shop-ico { flex: none; display: inline-flex; }
[data-edition="swgoh"] .shop-name { flex: 1; min-inline-size: 0; font-size: .82rem; line-height: 1.2; }
[data-edition="swgoh"] .shop-name a { color: inherit; text-decoration: none; }
[data-edition="swgoh"] .shop-name b { color: var(--gold); }
[data-edition="swgoh"] .shop-price { text-align: end; font-weight: 700; color: var(--gold); white-space: nowrap; font-size: .85rem; }
[data-edition="swgoh"] .shop-price small { display: block; font-weight: 400; color: var(--muted); font-size: .65rem; }
[data-edition="swgoh"] .relic-bonus { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; }
[data-edition="swgoh"] .relic-bonus li { padding: .1rem .5rem; background: #0d1838; border: 1px solid #2c3a68; border-radius: 999px; font-size: .78rem; white-space: nowrap; }
[data-edition="swgoh"] .relic-bonus li b { color: var(--gold); }

/* Raid bonuses */
[data-edition="swgoh"] .raid-bonus-list { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr)); }
[data-edition="swgoh"] .raid-bonus { background: #0a1124; border: 1px solid #243056; border-inline-start: 3px solid var(--holo); border-radius: 8px; padding: .7rem .8rem; display: grid; gap: .45rem; align-content: start; }
[data-edition="swgoh"] .raid-bonus.is-hero { border-inline-start-color: var(--gold); }
[data-edition="swgoh"] .raid-bonus header { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
[data-edition="swgoh"] .raid-bonus h3 { margin: 0; font-size: .95rem; color: var(--gold); }
[data-edition="swgoh"] .raid-bonus p { margin: 0; font-size: .82rem; }
[data-edition="swgoh"] .raid-units { display: flex; flex-wrap: wrap; gap: .5rem .4rem; }

/* Star Pass: plans, perks, badges */
[data-edition="swgoh"] .pr-hero { text-align: center; padding-block: 1rem; }
[data-edition="swgoh"] .pr-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin-block: var(--gap); align-items: stretch; }
[data-edition="swgoh"] .pr-card { --pc: #6b7794; position: relative; display: flex; flex-direction: column; gap: .6rem; padding: 1rem 1rem 1.1rem; background: linear-gradient(170deg, #0f1730, #0a1022); border: 1px solid #22305c; border-block-start: 4px solid var(--pc); border-radius: 10px; }
[data-edition="swgoh"] .pr-card.is-current { box-shadow: 0 0 0 2px var(--pc), 0 0 28px -8px var(--pc); }
[data-edition="swgoh"] .pr-card h2 { margin: 0; color: var(--pc); letter-spacing: .06em; }
[data-edition="swgoh"] .pr-card header p { margin: 0; }
[data-edition="swgoh"] .pr-card header .tag { position: absolute; inset-block-start: .8rem; inset-inline-end: .8rem; }
[data-edition="swgoh"] .pr-price { margin: 0; font-size: 1.5rem; }
[data-edition="swgoh"] .pr-perks { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; flex: 1; }
[data-edition="swgoh"] .pr-perks li { display: flex; justify-content: space-between; gap: .6rem; padding-block: .25rem; border-block-end: 1px dashed #1c2a52; font-size: .85rem; }
[data-edition="swgoh"] .pr-buy { display: grid; gap: .4rem; margin-block-start: auto; }
[data-edition="swgoh"] .pk-yes { color: #6fd596; }
[data-edition="swgoh"] .pk-no { color: var(--muted); }
[data-edition="swgoh"] .plan-slate { --pc: #8b97b5; }
[data-edition="swgoh"] .plan-teal { --pc: #36c2b0; }
[data-edition="swgoh"] .plan-blue { --pc: #4aa3ff; }
[data-edition="swgoh"] .plan-violet { --pc: #a87cff; }
[data-edition="swgoh"] .plan-gold { --pc: #ffcf4a; }
[data-edition="swgoh"] .pr-table th.plan-teal, [data-edition="swgoh"] .pr-table th.plan-blue, [data-edition="swgoh"] .pr-table th.plan-violet, [data-edition="swgoh"] .pr-table th.plan-gold, [data-edition="swgoh"] .pr-table th.plan-slate { color: var(--pc); }
[data-edition="swgoh"] .pr-my { border-inline-start: 4px solid var(--pc); }
[data-edition="swgoh"] .pr-my h2 { color: var(--pc); }
[data-edition="swgoh"] .pr-edit { padding: .6rem .8rem; border: 1px solid #22305c; border-inline-start: 4px solid var(--pc); border-radius: 8px; display: grid; gap: .5rem; }
[data-edition="swgoh"] .pr-edit h3 { margin: 0; color: var(--pc); }
[data-edition="swgoh"] .pr-pay { display: grid; gap: .6rem; }
[data-edition="swgoh"] .plan-badge { display: inline-flex; align-items: center; gap: .25rem; padding: .1rem .6rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: var(--pc); border: 1px solid var(--pc); border-radius: 999px; background: #0d1838; vertical-align: middle; }

/* Bots page and the Telegram Mini App */
[data-edition="swgoh"] .bot-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); margin-block: var(--gap); }
[data-edition="swgoh"] .bot-card { display: grid; gap: .6rem; align-content: start; border-inline-start: 4px solid #36457a; }
[data-edition="swgoh"] .bot-card.is-linked { border-inline-start-color: #6fd596; }
[data-edition="swgoh"] .bot-code b { font-size: 2rem; letter-spacing: .2em; color: var(--gold); }
[data-edition="swgoh"] .ma-card { text-align: center; display: grid; gap: .6rem; }
[data-edition="swgoh"] .ma-me h1 { margin: 0; }
[data-edition="swgoh"] .ma-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; font-size: .8rem; }
[data-edition="swgoh"] .ma-stats b { display: block; font-size: 1.15rem; color: var(--gold); }
[data-edition="swgoh"] .ma-search { display: flex; gap: .5rem; align-items: center; }
[data-edition="swgoh"] .ma-search .field { flex: 1; }
[data-edition="swgoh"] .ma-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr)); gap: .6rem; margin-block: var(--gap); }
[data-edition="swgoh"] .ma-tile { display: grid; justify-items: center; gap: .2rem; padding: .8rem .4rem; text-decoration: none; color: inherit; }
[data-edition="swgoh"] .ma-tile span { font-size: 1.5rem; color: var(--holo); }
@media (max-width: 480px) { [data-edition="swgoh"] .ma-grid { grid-template-columns: repeat(3, 1fr); } }

/* Interactive Territory Battle map */
[data-edition="swgoh"] .tbm-bar { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; justify-content: space-between; margin-block: var(--gap) .6rem; }
[data-edition="swgoh"] .tbm-bar .tier-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
[data-edition="swgoh"] .tbm-bar button.gt-chip { cursor: pointer; font: inherit; }
[data-edition="swgoh"] .tbm-bar button.gt-chip:not(.on) { opacity: .6; }
[data-edition="swgoh"] .tbm-legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .78rem; color: var(--muted); }
[data-edition="swgoh"] .tbm-legend .lg { display: inline-block; inline-size: .8rem; block-size: .8rem; border-radius: 50%; margin-inline-end: .35rem; border: 2px solid; vertical-align: -.1rem; }
[data-edition="swgoh"] .lg-chars { border-color: #4aa3ff; } [data-edition="swgoh"] .lg-ships { border-color: #ffa24a; } [data-edition="swgoh"] .lg-mixed { border-color: #a87cff; } [data-edition="swgoh"] .lg-bonus { border-color: #ffcf4a; box-shadow: 0 0 0 2px #ffcf4a55; }
[data-edition="swgoh"] .lg-ok { background: #3fae6a; border-color: #3fae6a; } [data-edition="swgoh"] .lg-part { background: #e0a43a; border-color: #e0a43a; } [data-edition="swgoh"] .lg-none { background: #c4465a; border-color: #c4465a; }
[data-edition="swgoh"] .tbm-stage { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
[data-edition="swgoh"] .tbm-map { border: 1px solid #22305c; border-radius: 12px; overflow: hidden; background: #070b1a; }
[data-edition="swgoh"] .tbm-svg { display: block; inline-size: 100%; block-size: auto; }
[data-edition="swgoh"] .tbm-phase { fill: #9fb0e0; font-size: 15px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
[data-edition="swgoh"] .tbm-name { fill: #dbe4ff; font-size: 12.5px; paint-order: stroke; stroke: #070b1a; stroke-width: 3px; }
[data-edition="swgoh"] .tbm-glyph { fill: #fff; font-size: 22px; opacity: .92; pointer-events: none; }
[data-edition="swgoh"] .tbm-node { cursor: pointer; outline: none; }
[data-edition="swgoh"] .tbm-node, [data-edition="swgoh"] .tbm-edge, [data-edition="swgoh"] .tbm-phase { transition: opacity .2s; }
[data-edition="swgoh"] .tbm-node:hover .tbm-ring, [data-edition="swgoh"] .tbm-node:focus-visible .tbm-ring { stroke-width: 4; opacity: 1; }
[data-edition="swgoh"] .tbm-node.is-active .tbm-ring { stroke-width: 5; opacity: 1; }
[data-edition="swgoh"] .tbm-node.is-active .tbm-name { fill: #ffcf4a; }
[data-edition="swgoh"] .tbm-node.is-dim, [data-edition="swgoh"] .tbm-phase.is-dim { opacity: .22; }
[data-edition="swgoh"] .tbm-badge circle { stroke-width: 1.5; } [data-edition="swgoh"] .tbm-badge text { fill: #ffcf4a; font-size: 11px; font-weight: 700; }
[data-edition="swgoh"] .tbm-dot { stroke: #070b1a; stroke-width: 2; fill: #6b7794; }
[data-edition="swgoh"] .tbm-r-ok .tbm-dot { fill: #3fae6a; } [data-edition="swgoh"] .tbm-r-part .tbm-dot { fill: #e0a43a; } [data-edition="swgoh"] .tbm-r-none .tbm-dot { fill: #c4465a; }
[data-edition="swgoh"] .tbm-panel { max-block-size: 82vh; overflow: auto; position: sticky; inset-block-start: .8rem; }
[data-edition="swgoh"] .tbm-panel.is-page { position: static; max-block-size: none; }
[data-edition="swgoh"] .tbm-panel.is-loading { opacity: .55; }
[data-edition="swgoh"] .tbm-zone h2 { margin: 0 0 .3rem; color: var(--gold); letter-spacing: .05em; }
[data-edition="swgoh"] .tbm-zone h3 { margin: 1rem 0 .4rem; font-size: .95rem; color: var(--holo); text-transform: uppercase; letter-spacing: .08em; }
[data-edition="swgoh"] .tbm-stars { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; margin-block: .5rem; }
[data-edition="swgoh"] .tbm-stars div { background: #0a1124; border: 1px solid #243056; border-radius: 6px; padding: .35rem .5rem; display: grid; }
[data-edition="swgoh"] .tbm-stars .star-row { color: var(--gold); }
[data-edition="swgoh"] .tbm-mission { background: #0a1124; border: 1px solid #243056; border-inline-start: 3px solid var(--holo); border-radius: 6px; padding: .55rem .7rem; margin-block: .5rem; }
[data-edition="swgoh"] .tbm-cand { margin-block: .4rem; }
[data-edition="swgoh"] .tbm-ready-ok { border-color: #3fae6a; color: #6fd596; } [data-edition="swgoh"] .tbm-ready-part { border-color: #e0a43a; color: #ffd07a; } [data-edition="swgoh"] .tbm-ready-none { border-color: #c4465a; color: #ff9aa2; }
@media (max-width: 900px) { [data-edition="swgoh"] .tbm-stage { grid-template-columns: 1fr; } [data-edition="swgoh"] .tbm-panel { position: static; max-block-size: none; } }
@media (prefers-reduced-motion: reduce) { [data-edition="swgoh"] .tbm-node, [data-edition="swgoh"] .tbm-edge, [data-edition="swgoh"] .tbm-phase { transition: none; } }

[data-edition="swgoh"] .chal-task { display: flex; gap: 14px; align-items: center; }
[data-edition="swgoh"] .chal-art { inline-size: 72px; block-size: 72px; border-radius: 50%; object-fit: cover; flex: none; border: 2px solid var(--accent, #f0c040); background: #0b1226; }
[data-edition="swgoh"] .chal-text { min-inline-size: 0; }

[data-edition="swgoh"] .jg-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: .5rem 1rem; }
[data-edition="swgoh"] .jg-tab { margin-block-end: 1.6rem; scroll-margin-top: 4rem; }
[data-edition="swgoh"] .jg-tier { margin-block-end: 1rem; }
[data-edition="swgoh"] .jg-tier h3 { margin-block-end: .1rem; }
[data-edition="swgoh"] .jg-legends .jg-card { border-color: #f4c54266; background: linear-gradient(135deg, #f4c5421a, transparent 60%), var(--card, #0e1530); }
[data-edition="swgoh"] .jg-soon { border-color: #f4c54288; }

/* ---- unit portraits: the form tells who is who ----
   Galactic Legends: round, a golden ornamental ring and a crown. Ordinary characters: light side = rounded square, dark side = chamfered (cut corners),
   no side = rounded square in gold. Ships keep their own wide frame (light / dark colours). */
[data-edition="swgoh"] .uc:not(.ship):not(.is-gl) .uc-frame,
[data-edition="swgoh"] .uc:not(.ship):not(.is-gl) .uc-ring { border-radius: 20%; }
[data-edition="swgoh"] .uc:not(.ship):not(.is-gl) .uc-img { border-radius: 16%; }
[data-edition="swgoh"] .uc.dark:not(.ship):not(.is-gl) .uc-art { filter: drop-shadow(0 0 5px #ff4d4d66); }
[data-edition="swgoh"] .uc.dark:not(.ship):not(.is-gl) .uc-frame,
[data-edition="swgoh"] .uc.dark:not(.ship):not(.is-gl) .uc-ring,
[data-edition="swgoh"] .uc.dark:not(.ship):not(.is-gl) .uc-img { border-radius: 0; clip-path: polygon(24% 0, 76% 0, 100% 24%, 100% 76%, 76% 100%, 24% 100%, 0 76%, 0 24%); }
[data-edition="swgoh"] .uc.light:not(.ship):not(.is-gl) .uc-art { filter: drop-shadow(0 0 5px #4db4ff66); }
[data-edition="swgoh"] .uc.dark:not(.ship):not(.is-gl) .uc-frame { outline: 0; }
[data-edition="swgoh"] .uc.is-gl:not(.ship) .uc-frame { box-shadow: 0 0 18px 2px #ffb53f88, 0 2px 6px #000a; }
[data-edition="swgoh"] .uc.is-gl:not(.ship) .uc-art::before { content: ''; position: absolute; inset: -6px; border-radius: 50%;
  background: conic-gradient(from 0deg, #fff3b0, #f0a020, #fff3b0, #c77a10, #fff3b0, #f0a020, #fff3b0);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px)); mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
  filter: drop-shadow(0 0 6px #ffb53f); pointer-events: none; }
[data-edition="swgoh"] .uc.is-gl:not(.ship) .uc-art::after { content: '♛'; position: absolute; inset-block-start: -15px; inset-inline-start: 50%; transform: translateX(-50%);
  font-size: 1rem; line-height: 1; color: #ffd36b; text-shadow: 0 0 6px #ff9d2e, 0 1px 2px #000; z-index: 3; pointer-events: none; }
[data-edition="swgoh"] .uc.is-gl.light:not(.ship) .uc-ring { box-shadow: inset 0 0 0 2px #4db4ffaa; }
[data-edition="swgoh"] .uc.is-gl.dark:not(.ship) .uc-ring { box-shadow: inset 0 0 0 2px #ff4d4daa; }
[data-edition="swgoh"] .uc.is-gl:not(.ship) { padding-block-start: .45rem; }
/* a tile without roster data (catalog, guides) has no real gear: the frame takes the colour of the side instead of gold */
[data-edition="swgoh"] .uc.bare.light:not(.ship) { --r1: #d9f4ff; --r2: #3aa6e8; --glow: #4db4ff99; }
[data-edition="swgoh"] .uc.bare.dark:not(.ship) { --r1: #ffd2d2; --r2: #e03a3a; --glow: #ff4d4d99; }
[data-edition="swgoh"] .uc.bare.neutral:not(.ship) { --r1: #fff2b8; --r2: #d9a521; --glow: #f4c54266; }
[data-edition="swgoh"] .uc.bare.is-gl:not(.ship) { --glow: #ffb53fcc; }

[data-edition="swgoh"] .ev-h { margin-block: 1.4rem .4rem; padding-block-end: .3rem; border-block-end: 1px solid #f4c54244; color: var(--gold); }
[data-edition="swgoh"] .ev-card { display: flex; gap: .8rem; align-items: flex-start; }
[data-edition="swgoh"] .ev-icon { flex: none; inline-size: 56px; block-size: 56px; object-fit: contain; border-radius: 10px; background: #0b1226; }
[data-edition="swgoh"] .ev-noicon { display: grid; place-items: center; font-size: 1.6rem; color: var(--gold); }
[data-edition="swgoh"] .ev-when { font-size: .88rem; margin-block: .25rem; }
[data-edition="swgoh"] .ev-items { display: flex; flex-wrap: wrap; gap: .3rem; margin-block-start: .3rem; }
[data-edition="swgoh"] .ev-legend, [data-edition="swgoh"] .ev-legendary { border-color: #f4c54266; }
[data-edition="swgoh"] .ev-bonus { border-color: #4db4ff55; }
/* the side is also readable from the name plate, whatever the gear colour of the frame is */
[data-edition="swgoh"] .uc .uc-name { border-block-end: 2px solid transparent; padding-block-end: 1px; }
[data-edition="swgoh"] .uc.light .uc-name { border-block-end-color: #4db4ff; }
[data-edition="swgoh"] .uc.dark .uc-name { border-block-end-color: #ff4d4d; }
[data-edition="swgoh"] .uc.neutral .uc-name { border-block-end-color: #d9a521; }

[data-edition="swgoh"] .jg-pv-head { gap: 1rem; align-items: center; flex-wrap: wrap; }
[data-edition="swgoh"] .jg-pv-art { inline-size: 160px; block-size: 160px; object-fit: contain; border-radius: 12px; background: #0b1226; }
[data-edition="swgoh"] .jg-quest { margin-block-start: .6rem; }
[data-edition="swgoh"] .jg-quest h4 { margin-block-end: .1rem; }

[data-edition="swgoh"] .ev-card { flex-wrap: wrap; }
[data-edition="swgoh"] .ev-banner { flex: 0 0 100%; inline-size: 100%; block-size: 110px; object-fit: cover; border-radius: 10px; background: #0b1226; margin-block-end: .2rem; }
[data-edition="swgoh"] .ev-card > .grow { flex: 1 1 100%; }
[data-edition="swgoh"] .ev-img.ph { display: inline-block; background: linear-gradient(135deg, #17234a, #0b1226); }
[data-edition="swgoh"] .ev-faces { display: flex; flex-wrap: wrap; gap: .35rem; margin-block: .35rem; }
[data-edition="swgoh"] .ev-face { inline-size: 48px; block-size: 48px; border-radius: 50%; object-fit: cover; border: 2px solid #4db4ffaa; background: #0b1226; }

/* ---- name plates: close to the stars, readable, the side shown by a thin line under the text ---- */
[data-edition="swgoh"] .uc-pips { margin-block: .45rem .2rem; }
[data-edition="swgoh"] .uc .uc-marks { position: absolute; inset-block-start: 3.7rem; inset-inline: 0; justify-content: center; min-block-size: 0; z-index: 4; pointer-events: none; }
[data-edition="swgoh"] .uc.ship .uc-marks { inset-block-start: 3.95rem; }
[data-edition="swgoh"] .uc-marks em { box-shadow: 0 1px 3px #000a; }
[data-edition="swgoh"] .uc .uc-name { border-block-end: 0; padding: 0; font-size: .72rem; font-weight: 600; line-height: 1.2; min-block-size: 2.4em; color: #e4eaff; text-shadow: 0 1px 2px #000, 0 0 6px #0008;
  text-decoration: underline 1.5px transparent; text-underline-offset: 3px; text-decoration-skip-ink: none; }
[data-edition="swgoh"] .uc.light .uc-name { text-decoration-color: #4db4ff; }
[data-edition="swgoh"] .uc.dark .uc-name { text-decoration-color: #ff5a5a; }
[data-edition="swgoh"] .uc.neutral .uc-name { text-decoration-color: #d9a521; }
[data-edition="swgoh"] .uc.ship .uc-name { min-block-size: 2.4em; }
[data-edition="swgoh"] .uc.is-gl:not(.ship) .uc-name { color: #ffe9b0; }
[data-edition="swgoh"] .uc-grid { row-gap: .7rem; }

/* ---- mods: the picture of a mod and its stats ---- */
[data-edition="swgoh"] .mod-pic { display: inline-grid; justify-items: center; gap: 0; }
[data-edition="swgoh"] .mod-pic .mi { inline-size: 2.6rem; block-size: 2.6rem; filter: drop-shadow(0 0 4px #0009); }
[data-edition="swgoh"] .mod-sec { display: flex; flex-wrap: wrap; gap: .25rem; }
[data-edition="swgoh"] .mod-chip { display: inline-flex; gap: .3rem; align-items: baseline; padding: .12rem .45rem; border-radius: 999px; background: #121b3a; border: 1px solid #243056; font-size: .82rem; color: #b9c4e6; white-space: nowrap; }
[data-edition="swgoh"] .mod-chip b { color: #fff; font-weight: 700; }
[data-edition="swgoh"] .mod-chip sup { color: var(--gold); font-size: .62rem; }
[data-edition="swgoh"] .mod-chip.is-speed { background: #12331f; border-color: #2f8f4f; color: #9be3b0; }
[data-edition="swgoh"] .mod-chip.is-speed b { color: #7dffa6; }
[data-edition="swgoh"] .mod-settag { display: inline-block; margin: .1rem; border-inline-start: 4px solid var(--c, #55608a); }
[data-edition="swgoh"] .mod-settag.ms-health { --c: #3fae62; } [data-edition="swgoh"] .mod-settag.ms-offense { --c: #d8453d; } [data-edition="swgoh"] .mod-settag.ms-defense { --c: #d98a2b; } [data-edition="swgoh"] .mod-settag.ms-speed { --c: #4db4ff; }
[data-edition="swgoh"] .mod-settag.ms-critchance { --c: #f4c542; } [data-edition="swgoh"] .mod-settag.ms-critdmg { --c: #ff8a3d; } [data-edition="swgoh"] .mod-settag.ms-potency { --c: #b05cff; } [data-edition="swgoh"] .mod-settag.ms-tenacity { --c: #2fc4b2; }
[data-edition="swgoh"] .mod-tile small { font-size: .66rem; line-height: 1.15; }
