/* D2AA live CSS bundle.
 * Generated by scripts/build-live-bundles.mjs from the original D2AA live assets.
 * Keep D2AA.html pointed at this bundle; edit source files above and rebuild when needed.
 * Sources: src/live-sources/beta2.css, src/live-sources/beta2-themes.css, src/live-sources/beta2-groups.css, src/live-sources/beta2-tags.css, src/live-sources/beta2-shell.css, src/live-sources/beta2-grid-view.css, src/live-sources/beta2-grid-cleanup.css, src/live-sources/beta2-ui-polish.css, src/live-sources/beta2-workflow.css, src/live-sources/beta2-open-grid.css, src/live-sources/beta2-tag-popover.css, src/live-sources/beta2-archetypes.css, src/live-sources/beta2-refresh-key.css, src/live-sources/beta2-feed-drawer.css, src/live-sources/beta2-feed-clean.css, src/live-sources/d2aa-ux-v64.css, src/live-sources/d2aa-ux-v65.css, src/live-sources/d2aa-ux-v66.css, src/live-sources/d2aa-ux-v68.css, src/live-sources/d2aa-ux-v69.css, src/live-sources/d2aa-ux-v70.css, src/live-sources/d2aa-ux-v71.css, src/live-sources/d2aa-ux-v72.css, src/live-sources/d2aa-ux-v73.css, src/live-sources/d2aa-ux-v75.css, src/live-sources/d2aa-ux-v76.css, src/live-sources/d2aa-layout-fix.css, src/live-sources/d2aa-card-badges.css
 */

/* ===== beta2.css ===== */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@600;700&family=Rajdhani:wght@400;500;600;700&display=swap');

:root {
  --bg: #060914;
  --bg-2: #0b1020;
  --panel: rgba(12, 17, 31, 0.9);
  --panel-2: rgba(18, 24, 42, 0.76);
  --panel-3: rgba(255, 255, 255, 0.038);
  --border: rgba(122, 207, 255, 0.22);
  --border-strong: rgba(122, 207, 255, 0.46);
  --text: #edf7ff;
  --muted: #9bb0c5;
  --accent: #62dcff;
  --accent-strong: #a6f2ff;
  --warn: #ffd76a;
  --danger: #ff6b8a;
  --ok: #8dffcb;
  --shadow: 0 18px 58px rgba(0, 0, 0, 0.38);
  --rail: clamp(250px, 15.4vw, 315px);
  --gap: 14px;
}

body[data-theme='solstice'] {
  --bg: #130c05;
  --bg-2: #211304;
  --panel: rgba(42, 25, 10, 0.9);
  --panel-2: rgba(54, 34, 14, 0.76);
  --border: rgba(255, 196, 91, 0.25);
  --border-strong: rgba(255, 216, 125, 0.5);
  --accent: #ffc45b;
  --accent-strong: #ffe19a;
}

body[data-theme='nebula'] {
  --bg: #080611;
  --bg-2: #111022;
  --panel: rgba(18, 15, 34, 0.91);
  --panel-2: rgba(30, 24, 50, 0.76);
  --border: rgba(184, 112, 255, 0.25);
  --border-strong: rgba(216, 161, 255, 0.52);
  --accent: #b870ff;
  --accent-strong: #e0b4ff;
}

body[data-theme='aurora'] {
  --bg: #041015;
  --bg-2: #071b21;
  --panel: rgba(8, 31, 38, 0.9);
  --panel-2: rgba(13, 45, 52, 0.76);
  --border: rgba(86, 255, 203, 0.25);
  --border-strong: rgba(134, 255, 220, 0.52);
  --accent: #56ffcb;
  --accent-strong: #9ffff0;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--text);
  font-family: 'Rajdhani', system-ui, sans-serif;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 31rem),
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--accent-strong) 14%, transparent), transparent 28rem),
    linear-gradient(135deg, var(--bg), var(--bg-2));
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.28;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 82%);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent 82%);
}

button, input, select { font: inherit; }
button { color: inherit; }

.app-shell {
  width: min(1920px, calc(100vw - 20px));
  min-height: 100vh;
  margin: 0 auto;
  padding: 10px 0 14px;
  display: grid;
  grid-template-columns: var(--rail) minmax(0, 1fr) var(--rail);
  gap: var(--gap);
  align-items: start;
}

.panel {
  position: relative;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: linear-gradient(180deg, var(--panel), color-mix(in srgb, var(--panel) 72%, transparent));
  box-shadow: var(--shadow);
  overflow: hidden;
}

.panel::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--accent) 12%, transparent), transparent 34%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 12%, transparent), transparent 44%);
  opacity: 0.8;
}

.panel > * { position: relative; }

.left-rail,
.right-rail {
  position: sticky;
  top: 10px;
  padding: 12px;
  overflow: visible;
}

.table-stage { min-width: 0; }
.table-panel { padding: 12px; }

h1, h2 {
  margin: 0;
  font-family: 'Orbitron', 'Rajdhani', sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
h1 { font-size: clamp(25px, 2.45vw, 40px); line-height: 1.02; }
h2 { font-size: 12px; color: var(--accent); }

.eyebrow {
  margin: 0 0 6px;
  color: var(--accent-strong);
  font-family: 'Orbitron', sans-serif;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.muted { color: var(--muted); line-height: 1.28; font-size: 13px; }
.compact { margin-block: 7px 0; }

.brand-block,
.card-block,
.control-block { margin-bottom: 10px; }
.brand-block .muted { margin-bottom: 0; }
.card-block,
.control-block {
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
  border-radius: 15px;
  background: var(--panel-2);
}

.help-list {
  margin: 7px 0 0;
  padding-left: 15px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.2;
}
.help-list li + li { margin-top: 4px; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.action-card {
  width: 100%;
  min-height: 46px;
  margin-top: 7px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  text-align: left;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel-3);
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.action-card:hover { transform: translateY(-1px); border-color: var(--border-strong); background: rgba(255,255,255,.065); }
.action-card--upload { border-color: color-mix(in srgb, var(--accent) 52%, var(--border)); }
.action-card--danger { border-color: color-mix(in srgb, var(--danger) 42%, var(--border)); }
.action-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--accent-strong);
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  font-size: 18px;
  font-weight: 700;
}
.action-title { display: block; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.05; }
.action-sub { display: block; color: var(--muted); font-size: 12px; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.theme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 8px; }
.theme-btn {
  min-height: 38px;
  border: 1px solid var(--border);
  border-radius: 13px;
  color: var(--text);
  background: var(--panel-3);
  cursor: pointer;
}
.theme-btn:hover { border-color: var(--border-strong); }
.theme-btn.is-active { border-color: var(--accent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 58%, transparent), 0 0 22px color-mix(in srgb, var(--accent) 10%, transparent); }
.theme-title { display:block; font-weight:700; line-height: 1.05; }
.theme-hint { display:block; color:var(--muted); font-size:11px; line-height:1.05; }

.summary-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:7px; margin-bottom:10px; }
.summary-card { padding:8px; border:1px solid var(--border); border-radius:14px; background:var(--panel-3); min-width:0; }
.summary-label { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.11em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.summary-card strong { display:block; margin-top:2px; font-size:22px; line-height:1; color:var(--accent-strong); }

.field-label { display:block; margin:8px 0 5px; color:var(--accent-strong); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.text-field,
.select-field {
  width:100%;
  height:34px;
  padding:0 9px;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:11px;
  outline: none;
  background:rgba(0,0,0,.22);
}
.text-field:focus,
.select-field:focus { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent); }
.range-row { display:grid; grid-template-columns: 1fr 42px; gap:8px; align-items:center; }
#tol { width:100%; accent-color: var(--accent); }
#tolOut { color:var(--accent-strong); font-weight:700; text-align:right; }

.filter-group + .filter-group { margin-top: 8px; }
.segmented { display:flex; flex-wrap:wrap; gap:6px; }
.seg-btn {
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:29px;
  max-width:100%;
  padding:5px 8px;
  border:1px solid var(--border);
  border-radius:999px;
  color:var(--text);
  background:var(--panel-3);
  cursor:pointer;
  font-size:12px;
  line-height:1;
}
.seg-btn:hover { border-color: var(--border-strong); }
.seg-btn.is-active { color:var(--accent-strong); border-color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, transparent); }
.seg-icon { width:14px; height:14px; object-fit:contain; flex:0 0 14px; }
.seg-mask { width:14px; height:14px; flex:0 0 14px; background:currentColor; mask-repeat:no-repeat; mask-position:center; mask-size:contain; -webkit-mask-repeat:no-repeat; -webkit-mask-position:center; -webkit-mask-size:contain; }

.table-topbar { display:flex; justify-content:space-between; gap:14px; align-items:flex-end; padding:0 3px 10px; }
.table-count { color:var(--accent-strong); font-weight:700; }
.table-wrap {
  overflow-x:hidden;
  overflow-y:auto;
  max-height: calc(100vh - 78px);
  border-radius:16px;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--accent) 62%, transparent) rgba(255,255,255,.06);
}
.table-wrap::-webkit-scrollbar { width: 10px; }
.table-wrap::-webkit-scrollbar-track { background: rgba(255,255,255,.045); border-radius: 999px; }
.table-wrap::-webkit-scrollbar-thumb { background: linear-gradient(var(--accent), var(--accent-strong)); border: 2px solid color-mix(in srgb, var(--panel) 80%, transparent); border-radius: 999px; }
.table-wrap::-webkit-scrollbar-thumb:hover { background: var(--accent-strong); }

.armor-grid {
  width: 100%;
  min-width: 0;
  display:grid;
  grid-template-columns:
    38px
    minmax(150px, 1.25fr)
    54px
    minmax(220px, 1.45fr)
    52px
    minmax(70px, .48fr)
    minmax(78px, .58fr)
    66px;
  gap:7px;
  align-items:center;
}
.armor-grid > * { min-width: 0; }
.armor-grid--header {
  position:sticky;
  top:0;
  z-index:5;
  padding:8px 7px;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  background:color-mix(in srgb, var(--panel) 94%, black 6%);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-bottom:1px solid var(--border);
}
.armor-row { min-height:48px; padding:7px; border-bottom:1px solid rgba(255,255,255,.055); }
.armor-row:nth-child(even) { background:rgba(255,255,255,.025); }
.armor-row:hover { background: color-mix(in srgb, var(--accent) 7%, transparent); }
.armor-row.is-dupe { background:linear-gradient(90deg, color-mix(in srgb, var(--warn) 8%, transparent), transparent 55%); }
.center { text-align:center; justify-self:center; }
.right { text-align:right; justify-self:end; }
.item-name { font-weight:700; line-height:1.05; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.item-meta { margin-top:2px; color:var(--muted); font-size:12px; line-height:1.05; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.item-id { margin-top:1px; color:color-mix(in srgb, var(--muted) 72%, transparent); font-family:ui-monospace, SFMono-Regular, Consolas, monospace; font-size:10px; line-height:1.05; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tag-cell { font-size:18px; }
.tier { color:var(--accent-strong); letter-spacing:0; white-space:nowrap; font-size:13px; }
.total-value { font-size: 16px; font-weight: 700; }

.stat-chips { display:flex; flex-wrap:wrap; gap:5px; align-items:center; min-width:0; }
.stat-chip {
  width:50px;
  min-width:50px;
  height:21px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  padding:0 5px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.045);
}
.stat-chip img { width:13px; height:13px; flex:0 0 13px; object-fit:contain; }
.stat-chip strong { width:21px; font-size:13px; line-height:1; text-align:right; font-family:ui-monospace, SFMono-Regular, Consolas, monospace; }
.stat-cyan { color:#76e9ff; border-color: rgba(118,233,255,.32); }
.stat-green { color:#91ffbf; border-color: rgba(145,255,191,.28); }
.stat-yellow { color:#ffe187; border-color: rgba(255,225,135,.28); }
.stat-red { color:#ff8da0; border-color: rgba(255,141,160,.28); }

.rarity-ico-inline { height:13px; width:auto; vertical-align:-2px; }
.group-badge,
.ok-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:48px;
  min-height:23px;
  padding:2px 7px;
  border-radius:999px;
  font-weight:700;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  white-space:nowrap;
}
.group-badge { cursor:pointer; color:var(--warn); border-color:color-mix(in srgb, var(--warn) 55%, var(--border)); }
.group-badge:hover { background: color-mix(in srgb, var(--warn) 10%, transparent); }
.ok-badge { color:var(--ok); min-width:32px; }
.badge-icon { height:13px; width:auto; }
.copy-btn {
  min-height:28px;
  padding:4px 7px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  cursor:pointer;
  font-size:12px;
  white-space:nowrap;
}
.copy-btn:hover { border-color:var(--accent); color:var(--accent-strong); }

.empty-state { padding:64px 20px; text-align:center; color:var(--muted); border:1px dashed var(--border); border-radius:16px; background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015)); }
.empty-state p:first-child { margin:0 0 6px; color:var(--text); font-size:18px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.empty-state .muted { max-width:620px; margin-inline:auto; }
.empty-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:18px auto 10px; }
.empty-action { min-height:38px; border:1px solid var(--border); border-radius:11px; background:rgba(255,255,255,.045); color:var(--text); padding:8px 12px; cursor:pointer; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.empty-action:hover { border-color:var(--accent); color:var(--accent-strong); background:color-mix(in srgb,var(--accent) 12%,transparent); }
.empty-action--primary { border-color:color-mix(in srgb,var(--accent) 56%,var(--border)); background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,transparent),rgba(255,255,255,.045)); }
.empty-status { min-height:18px; margin-top:8px!important; font-size:12px; }
.empty-state.is-hidden { display:none; }

@media (max-height: 820px) and (min-width: 1261px) {
  .app-shell { padding-top: 8px; gap: 12px; }
  .left-rail, .right-rail { top: 8px; padding: 10px; }
  .brand-block, .card-block, .control-block { margin-bottom: 8px; }
  .card-block, .control-block { padding: 9px; }
  h1 { font-size: clamp(23px, 2.2vw, 34px); }
  .muted, .help-list { font-size: 12px; }
  .action-card { min-height: 42px; }
  .summary-card strong { font-size: 19px; }
  .seg-btn { min-height: 27px; padding-block: 4px; }
  .table-wrap { max-height: calc(100vh - 68px); }
}

@media (max-width: 1440px) {
  :root { --rail: clamp(238px, 16vw, 290px); --gap: 12px; }
  .armor-grid {
    grid-template-columns: 34px minmax(135px, 1.15fr) 48px minmax(210px, 1.38fr) 46px minmax(62px, .42fr) minmax(70px, .5fr) 60px;
    gap: 6px;
  }
  .stat-chip { width:48px; min-width:48px; padding-inline:4px; }
  .stat-chip strong { width:20px; font-size:12px; }
}

@media (max-width: 1260px) {
  .app-shell { grid-template-columns: 1fr 1fr; width: min(1120px, calc(100vw - 20px)); }
  .table-stage { grid-column: 1 / -1; order:3; }
  .left-rail, .right-rail { position:relative; top:auto; }
  .table-wrap { max-height: 70vh; }
}

@media (max-width: 760px) {
  .app-shell { width:min(720px, calc(100vw - 18px)); display:flex; flex-direction:column; padding-block:10px 18px; }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .armor-grid--header { display:none; }
  .armor-grid { grid-template-columns:38px 1fr auto; grid-template-areas:'tag item tier' 'tag stats stats' 'tag total group' 'tag rank copy'; gap: 8px; }
  .armor-row { padding: 10px 8px; }
  .armor-row > :nth-child(1) { grid-area:tag; }
  .armor-row > :nth-child(2) { grid-area:item; }
  .armor-row > :nth-child(3) { grid-area:tier; }
  .armor-row > :nth-child(4) { grid-area:stats; }
  .armor-row > :nth-child(5) { grid-area:total; justify-self:start; }
  .armor-row > :nth-child(6) { grid-area:group; justify-self:start; }
  .armor-row > :nth-child(7) { grid-area:rank; justify-self:start; }
  .armor-row > :nth-child(8) { grid-area:copy; justify-self:start; }
  .empty-state { padding:38px 12px; }
  .empty-actions { display:grid; grid-template-columns:1fr; }
  .empty-action { width:100%; text-align:center; }
}


/* ===== beta2-themes.css ===== */
/* Beta2 theme overrides: six Destiny shader-inspired palettes.
   Default is Calus Royal: purple, ivory, and gold. */

:root,
body[data-theme='calus'],
body[data-theme='eclipse'] {
  --bg: #120b1e;
  --bg-2: #24163a;
  --panel: rgba(24, 16, 40, 0.92);
  --panel-2: rgba(45, 31, 70, 0.78);
  --panel-3: rgba(255, 246, 222, 0.052);
  --border: rgba(229, 197, 111, 0.30);
  --border-strong: rgba(255, 231, 153, 0.58);
  --text: #fff8e7;
  --muted: #cdbfd8;
  --accent: #d7b65a;
  --accent-strong: #fff1b6;
  --warn: #ffd166;
  --danger: #ff6f91;
  --ok: #a7ffd5;
  --theme-glow: 161 105 255;
  --theme-metal: 229 197 111;
}

body[data-theme='taken'] {
  --bg: #020306;
  --bg-2: #0a0e13;
  --panel: rgba(5, 8, 12, 0.94);
  --panel-2: rgba(17, 22, 28, 0.80);
  --panel-3: rgba(255, 255, 255, 0.055);
  --border: rgba(210, 236, 255, 0.22);
  --border-strong: rgba(247, 252, 255, 0.60);
  --text: #f7fbff;
  --muted: #a9b8c3;
  --accent: #e6f7ff;
  --accent-strong: #ffffff;
  --warn: #f4f1dc;
  --danger: #ff5f84;
  --ok: #8af7ff;
  --theme-glow: 146 235 255;
  --theme-metal: 255 255 255;
}

body[data-theme='trials'] {
  --bg: #050403;
  --bg-2: #15110a;
  --panel: rgba(10, 9, 7, 0.93);
  --panel-2: rgba(31, 25, 14, 0.78);
  --panel-3: rgba(255, 225, 140, 0.050);
  --border: rgba(255, 205, 91, 0.28);
  --border-strong: rgba(255, 231, 160, 0.62);
  --text: #fff7df;
  --muted: #ccbfa2;
  --accent: #f6c74f;
  --accent-strong: #ffe8a1;
  --warn: #ffcf5e;
  --danger: #ff725c;
  --ok: #d2ff91;
  --theme-glow: 255 199 79;
  --theme-metal: 255 231 160;
}

body[data-theme='void'] {
  --bg: #060315;
  --bg-2: #10102d;
  --panel: rgba(13, 8, 34, 0.93);
  --panel-2: rgba(29, 20, 61, 0.78);
  --panel-3: rgba(210, 104, 255, 0.045);
  --border: rgba(192, 103, 255, 0.28);
  --border-strong: rgba(242, 160, 255, 0.62);
  --text: #f8edff;
  --muted: #c4acd3;
  --accent: #b968ff;
  --accent-strong: #f0b7ff;
  --warn: #ffd36d;
  --danger: #ff66cc;
  --ok: #85e9ff;
  --theme-glow: 185 104 255;
  --theme-metal: 240 183 255;
}

body[data-theme='iron'] {
  --bg: #0c0b0a;
  --bg-2: #1a1712;
  --panel: rgba(20, 18, 15, 0.93);
  --panel-2: rgba(42, 36, 27, 0.78);
  --panel-3: rgba(224, 156, 82, 0.048);
  --border: rgba(201, 139, 72, 0.26);
  --border-strong: rgba(234, 177, 105, 0.58);
  --text: #f4eadb;
  --muted: #bcae9c;
  --accent: #c98b48;
  --accent-strong: #f0bd7d;
  --warn: #f1bc63;
  --danger: #e55c4f;
  --ok: #c7ee9b;
  --theme-glow: 229 92 79;
  --theme-metal: 201 139 72;
}

body[data-theme='vanguard'] {
  --bg: #050d18;
  --bg-2: #0b1b31;
  --panel: rgba(8, 18, 33, 0.93);
  --panel-2: rgba(17, 35, 61, 0.78);
  --panel-3: rgba(255, 133, 54, 0.044);
  --border: rgba(255, 133, 54, 0.26);
  --border-strong: rgba(255, 180, 92, 0.58);
  --text: #eef6ff;
  --muted: #aab9c8;
  --accent: #ff8536;
  --accent-strong: #ffbf7d;
  --warn: #ffbd66;
  --danger: #ff5f6d;
  --ok: #8ffff0;
  --theme-glow: 255 133 54;
  --theme-metal: 255 191 125;
}

body {
  background:
    radial-gradient(circle at 8% 0%, rgb(var(--theme-glow, 161 105 255) / .26), transparent 31rem),
    radial-gradient(circle at 88% 12%, rgb(var(--theme-metal, 229 197 111) / .16), transparent 28rem),
    linear-gradient(135deg, var(--bg), var(--bg-2));
}

.panel::before {
  background:
    linear-gradient(115deg, rgb(var(--theme-glow, 161 105 255) / .14), transparent 34%),
    radial-gradient(circle at top right, rgb(var(--theme-metal, 229 197 111) / .14), transparent 44%);
}

.theme-btn {
  position: relative;
  overflow: hidden;
}

.theme-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .65;
  background: linear-gradient(135deg, rgb(var(--theme-glow, 161 105 255) / .12), rgb(var(--theme-metal, 229 197 111) / .10));
  pointer-events: none;
}

.theme-btn > * { position: relative; }

.select-field--themed {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 34px;
  border-color: color-mix(in srgb, var(--accent) 34%, var(--border));
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(0,0,0,.18)),
    linear-gradient(90deg, transparent calc(100% - 32px), color-mix(in srgb, var(--accent) 17%, transparent) calc(100% - 32px)),
    rgba(0,0,0,.22);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--accent-strong) 50%),
    linear-gradient(135deg, var(--accent-strong) 50%, transparent 50%),
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(0,0,0,.18));
  background-position:
    calc(100% - 18px) 14px,
    calc(100% - 12px) 14px,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    100% 100%;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent);
}

.select-field--themed:hover {
  border-color: var(--border-strong);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent),
    0 0 18px color-mix(in srgb, var(--accent) 10%, transparent);
}

.select-field--themed option {
  color: #f7f7f7;
  background: #16131f;
}


/* ===== beta2-groups.css ===== */
/* Beta2 duplicate-group row banding + rarity gradients
   Stronger alternating group/single bands with rarity gradients underneath. */

#rows {
  background:
    linear-gradient(180deg, rgba(255,255,255,.020), transparent 42px),
    rgba(0,0,0,.060);
}

.armor-row {
  --rarity-rgb: 164 171 181;
  --rarity-alpha: .12;
  --band-alpha: .09;
  --band-rgb: 255 255 255;
  --edge-rgb: var(--band-rgb);
  position: relative;
  isolation: isolate;
  transition: background .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.armor-row.rarity-basic,
.armor-row.rarity-common { --rarity-rgb: 188 196 204; --rarity-alpha: .09; }
.armor-row.rarity-uncommon { --rarity-rgb: 73 214 118; --rarity-alpha: .13; }
.armor-row.rarity-rare { --rarity-rgb: 73 147 255; --rarity-alpha: .15; }
.armor-row.rarity-legendary { --rarity-rgb: 157 91 255; --rarity-alpha: .17; }
.armor-row.rarity-exotic { --rarity-rgb: 255 196 59; --rarity-alpha: .19; }

.armor-row::before {
  content: '';
  position: absolute;
  inset: 1px 0;
  z-index: -1;
  opacity: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgb(var(--edge-rgb) / .62) 0 4px, transparent 4px),
    linear-gradient(90deg, rgb(var(--rarity-rgb) / var(--rarity-alpha)), transparent 34%),
    linear-gradient(90deg, rgb(var(--band-rgb) / var(--band-alpha)), transparent 72%),
    rgba(255,255,255,.012);
}

.armor-row.band-solo { --band-alpha: .025; --band-rgb: 255 255 255; --edge-rgb: 122 122 132; }
.armor-row.band-solo.band-b { --band-alpha: .090; --band-rgb: 0 0 0; --edge-rgb: 84 84 92; }

.armor-row.band-a { --band-rgb: 72 190 255; --edge-rgb: 72 190 255; --band-alpha: .155; }
.armor-row.band-b { --band-rgb: 255 205 91; --edge-rgb: 255 205 91; --band-alpha: .145; }
.armor-row.band-c { --band-rgb: 126 255 190; --edge-rgb: 126 255 190; --band-alpha: .130; }
.armor-row.band-d { --band-rgb: 255 113 177; --edge-rgb: 255 113 177; --band-alpha: .135; }

.armor-row.is-dupe::before {
  background:
    linear-gradient(90deg, rgb(var(--edge-rgb) / .86) 0 5px, transparent 5px),
    linear-gradient(90deg, rgb(255 215 106 / .145), transparent 56%),
    linear-gradient(90deg, rgb(var(--rarity-rgb) / var(--rarity-alpha)), transparent 38%),
    linear-gradient(90deg, rgb(var(--band-rgb) / var(--band-alpha)), transparent 76%),
    rgba(255,255,255,.018);
}

.armor-row.band-start {
  border-top: 1px solid rgb(var(--edge-rgb) / .46);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .035);
}

.armor-row.band-start::after { display: none; content: none; }

.armor-row.rarity-legendary .rarity-ico-inline,
.armor-row.rarity-exotic .rarity-ico-inline {
  filter: drop-shadow(0 0 5px rgb(var(--rarity-rgb) / .44));
}

.armor-row:hover::before {
  background:
    linear-gradient(90deg, rgb(var(--edge-rgb) / .95) 0 5px, transparent 5px),
    linear-gradient(90deg, rgb(var(--rarity-rgb) / calc(var(--rarity-alpha) + .07)), transparent 42%),
    linear-gradient(90deg, rgb(var(--band-rgb) / calc(var(--band-alpha) + .055)), transparent 76%),
    rgba(255,255,255,.055);
}

.armor-row.band-solo:hover::before {
  background:
    linear-gradient(90deg, rgb(var(--edge-rgb) / .55) 0 4px, transparent 4px),
    linear-gradient(90deg, rgb(var(--rarity-rgb) / calc(var(--rarity-alpha) + .035)), transparent 38%),
    linear-gradient(90deg, rgb(var(--band-rgb) / calc(var(--band-alpha) + .025)), transparent 64%),
    rgba(255,255,255,.032);
}


/* ===== beta2-tags.css ===== */
.tag-btn {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--border) 76%, transparent);
  border-radius: 11px;
  color: var(--muted);
  background: rgba(255,255,255,.03);
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.tag-btn:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  color: var(--accent-strong);
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}
.tag-btn.has-tag {
  border-color: color-mix(in srgb, var(--accent) 48%, var(--border));
  background: color-mix(in srgb, var(--accent) 9%, rgba(255,255,255,.04));
}
.location-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 4px;
  padding: 0 5px;
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  border-radius: 999px;
  color: var(--accent-strong);
  background: rgba(255,255,255,.035);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.copy-btn.copy-btn--vault {
  border-color: color-mix(in srgb, var(--warn) 45%, var(--border));
  color: var(--warn);
}
.copy-btn.copy-btn--disabled {
  opacity: .52;
  cursor: not-allowed;
}
.copy-btn.copy-btn--disabled:hover {
  border-color: var(--border);
  color: inherit;
}


/* ===== beta2-shell.css ===== */
:root{
  --topbar-h:72px;
  --drawer-w:min(430px,calc(100vw - 28px));
}

body.shell-enhanced{
  min-height:100vh;
  overflow:hidden;
}

body.shell-enhanced .app-shell{
  display:block;
  height:calc(100vh - var(--topbar-h));
  padding:12px 18px 18px;
  margin:0;
  max-width:none;
}

body.shell-enhanced .left-rail,
body.shell-enhanced .right-rail{
  display:block;
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  opacity:0;
  pointer-events:none;
}

body.shell-enhanced .table-stage{
  height:100%;
  min-width:0;
}

body.shell-enhanced .table-panel{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  max-width:1720px;
  margin:0 auto;
}

body.shell-enhanced .table-wrap{
  flex:1;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--accent) 62%,transparent) rgba(255,255,255,.06);
}

body.shell-enhanced .table-wrap::-webkit-scrollbar{width:10px;}
body.shell-enhanced .table-wrap::-webkit-scrollbar-track{background:rgba(255,255,255,.045);border-radius:999px;}
body.shell-enhanced .table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),var(--accent-strong));border-radius:999px;}

body.shell-enhanced .armor-grid{
  grid-template-columns:46px minmax(210px,1.25fr) 76px minmax(250px,.9fr) 72px 80px 96px 98px;
  gap:8px;
}

.d2aa-top-shell{
  position:sticky;
  top:0;
  z-index:120;
  height:var(--topbar-h);
  display:grid;
  grid-template-columns:minmax(190px,260px) minmax(320px,1fr) auto;
  align-items:center;
  gap:14px;
  padding:10px 18px;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 95%,black),color-mix(in srgb,var(--panel) 90%,black));
  box-shadow:0 16px 48px rgba(0,0,0,.32);
}

.shell-brand{display:flex;align-items:center;gap:10px;min-width:0;}
.shell-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,transparent),rgba(255,255,255,.035));color:var(--accent-strong);font-weight:900;box-shadow:inset 0 0 24px rgba(255,255,255,.035);}
.shell-title{min-width:0;}
.shell-title strong{display:block;font-size:15px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.shell-title span{display:block;margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.shell-search-wrap{min-width:0;display:block;}
.shell-search-row{position:relative;display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.07);padding:7px 10px;min-width:0;}
.shell-search-icon{color:var(--accent-strong);font-size:15px;opacity:.9;}
#smartSearch{width:100%;min-width:90px;flex:1 1 auto;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:14px;}
#smartSearch::placeholder{color:color-mix(in srgb,var(--muted) 86%,transparent);}
.shell-search-help{border:0;background:rgba(255,255,255,.055);color:var(--muted);width:26px;height:26px;border-radius:9px;cursor:pointer;flex:0 0 auto;}
.shell-search-help:hover{color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 14%,transparent);}
.shell-active-filters{display:flex;align-items:center;justify-content:flex-end;gap:4px;max-width:42%;min-width:0;overflow:hidden;white-space:nowrap;flex:0 1 auto;}
.shell-active-filters.is-empty{display:none;}
.shell-chip{display:inline-flex;align-items:center;gap:3px;max-width:115px;padding:2px 6px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:999px;background:rgba(255,255,255,.04);color:var(--muted);font-size:10px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;}
.shell-chip strong{color:var(--accent-strong);font-weight:800;}

.shell-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;}
.shell-btn{min-height:38px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.045);color:var(--text);padding:7px 10px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:700;font-size:12px;white-space:nowrap;}
.shell-btn:hover,.shell-btn.is-active{border-color:var(--accent);color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 13%,transparent);}
.shell-btn--primary{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,transparent),rgba(255,255,255,.04));}

.shell-drawer-layer{position:fixed;inset:0;z-index:140;display:none;}
.shell-drawer-layer.is-open{display:block;}
.shell-scrim{position:absolute;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.shell-drawer{position:absolute;top:12px;right:12px;width:var(--drawer-w);max-height:calc(100vh - 24px);display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 97%,black),color-mix(in srgb,var(--accent) 9%,var(--panel)));box-shadow:0 30px 90px rgba(0,0,0,.58);overflow:hidden;}
.shell-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);}
.shell-drawer-head h2{margin:0;font-size:16px;}
.shell-drawer-close{width:32px;height:32px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;}
.shell-drawer-close:hover{border-color:var(--accent);color:var(--accent-strong);}
.shell-drawer-body{padding:12px;overflow:auto;display:grid;gap:12px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 62%,transparent) rgba(255,255,255,.06);}
.shell-panel{display:none;gap:12px;}
.shell-panel.is-active{display:grid;}
.shell-panel .card-block,.shell-panel .control-block,.shell-panel .summary-grid{margin:0;opacity:1;pointer-events:auto;clip:auto;clip-path:none;position:static;width:auto;height:auto;overflow:visible;}
.shell-panel .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.shell-panel .segmented{max-height:none;}

.search-help-pop{position:fixed;z-index:160;left:50%;top:86px;transform:translateX(-50%);width:min(760px,calc(100vw - 34px));border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 98%,black),color-mix(in srgb,var(--accent) 10%,var(--panel)));box-shadow:0 24px 70px rgba(0,0,0,.52);padding:14px;display:none;}
.search-help-pop.is-open{display:block;}
.search-help-pop h3{margin:0 0 8px;font-size:14px;}
.search-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12px;color:var(--muted);}
.search-help-grid code{color:var(--accent-strong);background:rgba(255,255,255,.055);padding:1px 5px;border-radius:6px;}

@media (max-width:1100px){
  .d2aa-top-shell{grid-template-columns:1fr; height:auto; min-height:var(--topbar-h); align-items:stretch;}
  body.shell-enhanced .app-shell{height:calc(100vh - 150px);padding:10px;}
  .shell-actions{justify-content:flex-start;overflow:auto;padding-bottom:2px;}
  .shell-active-filters{max-width:55%;}
  body.shell-enhanced .armor-grid{grid-template-columns:38px minmax(180px,1fr) 62px minmax(210px,.9fr) 58px 70px 78px 86px;}
}

@media (max-width:760px){
  body.shell-enhanced{overflow:auto;}
  body.shell-enhanced .app-shell{height:auto;}
  .shell-active-filters{display:none;}
  .shell-search-help,.shell-btn span:not(.shell-btn-icon){display:none;}
  .shell-btn{padding:8px 10px;}
  .search-help-grid{grid-template-columns:1fr;}
}


/* ===== beta2-grid-view.css ===== */
body.grid-view .table-panel{overflow:hidden;}
body.grid-view .table-topbar{padding-bottom:10px;}
body.grid-view .armor-grid--header{display:none;}
body.grid-view #rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px;padding:10px;align-content:start;}
body.grid-view .table-wrap{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));}

.d2aa-grid-overview{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 10px 0;}
body.grid-view .d2aa-grid-overview{display:grid;}
.grid-class-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:48px;border:1px solid var(--border);border-radius:13px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.022));padding:7px 9px;cursor:pointer;}
.grid-class-card:hover,.grid-class-card.is-active{border-color:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,transparent),rgba(255,255,255,.035));}
.grid-class-icon{width:28px;height:28px;background:var(--accent-strong);mask:center/contain no-repeat;webkit-mask:center/contain no-repeat;opacity:.9;}
.grid-class-title{font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.grid-class-meta{margin-top:2px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.grid-class-total{display:grid;place-items:center;min-width:34px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));color:var(--accent-strong);font-weight:900;font-size:12px;background:rgba(255,255,255,.035);}

.grid-card{--group-glow:color-mix(in srgb,var(--accent) 55%,transparent);--rarity-glow:rgba(150,120,255,.32);position:relative;min-height:218px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:inset 0 -4px 0 var(--rarity-glow),0 14px 34px rgba(0,0,0,.28);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;}
.grid-card.is-dupe{box-shadow:inset 0 -5px 0 var(--group-glow),0 0 0 1px color-mix(in srgb,var(--group-glow) 34%,transparent),0 16px 38px rgba(0,0,0,.34);}
.grid-card.rarity-exotic{--rarity-glow:rgba(218,166,59,.50);}
.grid-card.rarity-legendary{--rarity-glow:rgba(105,65,165,.52);}
.grid-card.rarity-rare{--rarity-glow:rgba(65,115,190,.44);}
.grid-card-top{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:8px;padding:8px;align-items:center;}
.grid-item-icon{position:relative;width:54px;height:54px;border-radius:8px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 28%,#15151f),#08080d);font-size:24px;font-weight:900;color:var(--accent-strong);}
.grid-item-icon img{width:100%;height:100%;object-fit:cover;display:block;}
.grid-light{position:absolute;right:2px;bottom:2px;min-width:30px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.28);color:#ffe187;font-size:10px;font-weight:950;line-height:1;box-shadow:0 1px 8px rgba(0,0,0,.45);}
.grid-item-title{min-width:0;}
.grid-item-name{font-weight:850;font-size:12px;line-height:1.05;min-height:26px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.grid-icon-row{display:flex;align-items:center;gap:5px;margin-top:5px;min-height:18px;overflow:hidden;}
.grid-mini-icon{width:15px;height:15px;object-fit:contain;opacity:.9;flex:0 0 auto;}
.grid-mask-icon{width:15px;height:15px;background:var(--muted);mask:center/contain no-repeat;webkit-mask:center/contain no-repeat;opacity:.85;flex:0 0 auto;}
.grid-location{font-size:13px;opacity:.9;}
.grid-tag{align-self:start;width:28px;height:28px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.04);display:grid;place-items:center;font-size:14px;cursor:pointer;}
.grid-tag:hover{border-color:var(--accent);color:var(--accent-strong);}
.grid-body{display:grid;gap:7px;padding:0 8px 8px;}
.grid-primary-row{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.grid-total{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-strong);font-size:16px;font-weight:950;}
.grid-tier{font-size:12px;letter-spacing:-.04em;color:var(--accent-strong);text-shadow:0 0 10px color-mix(in srgb,var(--accent) 30%,transparent);}
.grid-rank{color:var(--muted);font-size:11px;letter-spacing:-.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.grid-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.grid-stat{height:25px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:900;}
.grid-stat img{width:13px;height:13px;object-fit:contain;}
.grid-stat.stat-cyan{color:#76e9ff;border-color:rgba(118,233,255,.32);background:rgba(118,233,255,.06);}
.grid-stat.stat-green{color:#91ffbf;border-color:rgba(145,255,191,.28);background:rgba(145,255,191,.055);}
.grid-stat.stat-yellow{color:#ffe187;border-color:rgba(255,225,135,.28);background:rgba(255,225,135,.055);}
.grid-stat.stat-red{color:#ff8da0;border-color:rgba(255,141,160,.28);background:rgba(255,141,160,.05);}
.grid-power-pill{color:#ffe187;border:1px solid rgba(255,225,135,.28);background:rgba(255,225,135,.055);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900;white-space:nowrap;line-height:1;}
.grid-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 8px 8px;}
.grid-actions--single{grid-template-columns:1fr;}
.grid-action{height:28px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:5px;}
.grid-action:hover{border-color:var(--accent);color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 12%,transparent);}
.grid-action[disabled]{opacity:.55;cursor:not-allowed;}
.grid-action--group{border-color:color-mix(in srgb,var(--group-glow) 58%,var(--border));background:color-mix(in srgb,var(--group-glow) 11%,transparent);color:var(--accent-strong);}
.grid-action-slot-icon{width:14px;height:14px;background:currentColor;mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat;opacity:.95;flex:0 0 auto;}
.grid-action.is-success{color:#91ffbf;border-color:rgba(145,255,191,.5);}
.grid-action.is-error{color:#ff8da0;border-color:rgba(255,141,160,.5);}

.shell-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.035);}
.shell-view-toggle button{min-height:36px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--muted);padding:7px 10px;cursor:pointer;font-weight:800;font-size:12px;}
.shell-view-toggle button:last-child{border-right:0;}
.shell-view-toggle button.is-active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-strong);}

@media (max-width:900px){body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));}.d2aa-grid-overview{grid-template-columns:1fr;}.grid-card{min-height:218px;}}


/* ===== beta2-grid-cleanup.css ===== */
/* Final grid-card cleanup overrides.
   Keep light/power on the item-icon overlay only.
   Keep duplicate group identity on the group action button only. */
body.grid-view .grid-power-pill,
body.grid-view .grid-group-row,
body.grid-view .grid-group{
  display:none !important;
}

body.grid-view .grid-icon-row{
  padding-right:2px;
}

body.grid-view .grid-card{
  min-height:210px;
}

@media (max-width:900px){
  body.grid-view .grid-card{min-height:210px;}
}


/* ===== beta2-ui-polish.css ===== */
/* D2AA beta2 UI/UX polish pass.
   Goal: keep the DIM-like grid/table plan, but reduce visual noise, tighten spacing,
   improve scan readability, and make primary actions feel intentional. */
:root{
  --topbar-h:64px;
  --ui-radius:14px;
  --ui-radius-sm:9px;
  --ui-soft-border:color-mix(in srgb,var(--border) 72%,transparent);
  --ui-hover:color-mix(in srgb,var(--accent) 11%,transparent);
}

body.shell-enhanced .app-shell{
  padding:10px 14px 14px;
  height:calc(100vh - var(--topbar-h));
}

.d2aa-top-shell{
  height:var(--topbar-h);
  grid-template-columns:minmax(174px,230px) minmax(300px,1fr) auto;
  gap:10px;
  padding:8px 14px;
  box-shadow:0 10px 34px rgba(0,0,0,.34);
}
.shell-mark{width:38px;height:38px;border-radius:12px;font-size:13px;}
.shell-title strong{font-size:14px;letter-spacing:.01em;}
.shell-title span{font-size:10px;margin-top:3px;}
.shell-search-row{border-radius:13px;padding:6px 9px;min-height:38px;}
#smartSearch{font-size:13px;}
.shell-search-help{width:24px;height:24px;border-radius:8px;}
.shell-actions{gap:6px;}
.shell-btn{min-height:34px;border-radius:10px;padding:6px 9px;font-size:11px;}
.shell-view-toggle{border-radius:10px;}
.shell-view-toggle button{min-height:34px;padding:6px 9px;font-size:11px;}
.shell-chip{max-width:100px;padding:2px 6px;font-size:9px;}

body.shell-enhanced .table-panel{
  border-radius:18px;
  border-color:color-mix(in srgb,var(--accent) 16%,var(--border));
  box-shadow:0 16px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
}
.table-topbar{
  min-height:54px;
  padding:11px 14px !important;
  border-bottom:1px solid var(--ui-soft-border);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.table-topbar h2{font-size:16px;margin:2px 0 0;}
.table-topbar .eyebrow{font-size:10px;letter-spacing:.16em;}
.table-count{border-radius:999px;padding:6px 10px;font-size:11px;background:rgba(255,255,255,.045);border:1px solid var(--ui-soft-border);}
body.grid-view .table-topbar h2::after{content:' Grid';}
body:not(.grid-view) .table-topbar h2::after{content:' Table';}

.d2aa-grid-overview{gap:7px;padding:8px 10px 0;}
.grid-class-card{min-height:44px;border-radius:12px;padding:6px 8px;gap:7px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));}
.grid-class-card:hover{transform:translateY(-1px);}
.grid-class-card.is-active{box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 75%,transparent);}
.grid-class-icon{width:25px;height:25px;}
.grid-class-title{font-size:11px;}
.grid-class-meta{font-size:9px;}
.grid-class-total{min-width:31px;height:25px;font-size:11px;}

body.grid-view #rows{
  grid-template-columns:repeat(auto-fill,minmax(176px,1fr));
  gap:8px;
  padding:9px 10px 12px;
}
.grid-card{
  min-height:204px;
  border-radius:13px;
  background:linear-gradient(180deg,rgba(255,255,255,.058),rgba(255,255,255,.019));
  box-shadow:inset 0 -3px 0 var(--rarity-glow),0 10px 26px rgba(0,0,0,.26);
  transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease;
}
.grid-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 34%,var(--border));
  background:linear-gradient(180deg,rgba(255,255,255,.072),rgba(255,255,255,.024));
}
.grid-card.is-dupe{box-shadow:inset 0 -4px 0 var(--group-glow),0 0 0 1px color-mix(in srgb,var(--group-glow) 24%,transparent),0 12px 30px rgba(0,0,0,.3);}
.grid-card.is-dupe:hover{box-shadow:inset 0 -4px 0 var(--group-glow),0 0 0 1px color-mix(in srgb,var(--group-glow) 45%,transparent),0 16px 36px rgba(0,0,0,.36);}
.grid-card-top{grid-template-columns:50px minmax(0,1fr) 26px;gap:7px;padding:7px;}
.grid-item-icon{width:50px;height:50px;border-radius:8px;}
.grid-light{right:1px;bottom:1px;height:15px;min-width:28px;font-size:9px;border-radius:5px;}
.grid-item-name{font-size:11px;line-height:1.08;min-height:24px;}
.grid-icon-row{gap:4px;margin-top:4px;min-height:17px;}
.grid-mini-icon,.grid-mask-icon{width:14px;height:14px;}
.grid-location{font-size:12px;}
.grid-tag{width:25px;height:25px;border-radius:8px;font-size:13px;}
.grid-body{gap:6px;padding:0 7px 7px;}
.grid-primary-row{gap:5px;}
.grid-total{min-width:38px;height:27px;font-size:15px;}
.grid-tier{font-size:11px;letter-spacing:-.05em;}
.grid-rank{font-size:10px;max-width:46px;}
.grid-stats{gap:3px;}
.grid-stat{height:23px;border-radius:7px;font-size:10px;gap:3px;}
.grid-stat img{width:12px;height:12px;}
.grid-actions{gap:5px;padding:0 7px 7px;}
.grid-action{height:27px;border-radius:8px;font-size:11px;}
.grid-action--group{font-weight:900;}
.grid-action-slot-icon{width:13px;height:13px;}

body.shell-enhanced .table-wrap::-webkit-scrollbar{width:8px;}
body.shell-enhanced .table-wrap::-webkit-scrollbar-track{background:rgba(255,255,255,.035);}
body.shell-enhanced .table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent-strong) 80%,var(--accent)));}

.shell-drawer{border-radius:18px;width:min(410px,calc(100vw - 24px));}
.shell-drawer-head{padding:12px 14px;}
.shell-drawer-head h2{font-size:15px;}
.shell-drawer-body{padding:10px;gap:10px;}
.shell-panel .card-block,.shell-panel .control-block{
  border-radius:14px;
  border-color:var(--ui-soft-border);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.shell-panel .card-block h2,.shell-panel .control-block h2{font-size:13px;margin-bottom:8px;}
.action-card{border-radius:12px !important;min-height:42px !important;}
.action-icon{width:30px !important;height:30px !important;border-radius:9px !important;}
.action-title{font-size:12px !important;}
.action-sub{font-size:10px !important;}
.segmented{gap:5px;}
.segmented button{border-radius:9px;padding:6px 8px;font-size:11px;}
.text-field,.select-field{border-radius:10px !important;min-height:36px !important;font-size:12px !important;}

@media (min-width:1500px){
  body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(184px,1fr));}
}

@media (max-width:1100px){
  :root{--topbar-h:126px;}
  .d2aa-top-shell{gap:8px;padding:8px 10px;}
  body.shell-enhanced .app-shell{height:calc(100vh - var(--topbar-h));padding:8px 10px 10px;}
}

@media (max-width:760px){
  :root{--topbar-h:auto;}
  body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));padding:8px;}
  .grid-card{min-height:202px;}
  .grid-card-top{grid-template-columns:46px minmax(0,1fr) 24px;}
  .grid-item-icon{width:46px;height:46px;}
  .grid-stats{grid-template-columns:repeat(2,1fr);}
  .grid-stat{height:22px;}
}


/* ===== beta2-workflow.css ===== */
/* Workflow polish: quick analyzer modes + duplicate group compare drawer. */
.d2aa-mode-bar{
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px 10px 0;
  overflow-x:auto;
  scrollbar-width:none;
}
.d2aa-mode-bar::-webkit-scrollbar{display:none;}
.d2aa-mode-btn{
  height:30px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
  border:1px solid color-mix(in srgb,var(--border) 76%,transparent);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:var(--muted);
  padding:0 10px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.d2aa-mode-btn:hover,
.d2aa-mode-btn.is-active{
  color:var(--accent-strong);
  border-color:color-mix(in srgb,var(--accent) 55%,var(--border));
  background:color-mix(in srgb,var(--accent) 13%,transparent);
}
.d2aa-mode-btn strong{font-size:12px;color:inherit;}
.grid-action--compare{
  grid-column:1 / -1;
  height:24px;
  font-size:10px;
  opacity:.92;
  border-style:dashed;
}
.grid-actions:has(.grid-action--compare){grid-template-columns:1fr 1fr;}
.grid-actions--single:has(.grid-action--compare){grid-template-columns:1fr;}

.compare-layer{
  position:fixed;
  inset:0;
  display:none;
  z-index:180;
}
.compare-layer.is-open{display:block;}
.compare-scrim{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.48);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.compare-drawer{
  position:absolute;
  top:10px;
  right:10px;
  bottom:10px;
  width:min(560px,calc(100vw - 20px));
  display:flex;
  flex-direction:column;
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));
  border-radius:18px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 98%,black),color-mix(in srgb,var(--accent) 8%,var(--panel)));
  box-shadow:0 26px 80px rgba(0,0,0,.58);
  overflow:hidden;
}
.compare-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:13px 15px;
  border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);
}
.compare-head h2{margin:0;font-size:15px;line-height:1.15;}
.compare-sub{margin-top:4px;color:var(--muted);font-size:11px;}
.compare-close{
  width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;
}
.compare-close:hover{border-color:var(--accent);color:var(--accent-strong);}
.compare-body{
  padding:10px;
  overflow:auto;
  display:grid;
  gap:8px;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--accent) 62%,transparent) rgba(255,255,255,.06);
}
.compare-item{
  --group-glow:var(--accent);
  border:1px solid color-mix(in srgb,var(--group-glow) 32%,var(--border));
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--group-glow) 45%,transparent);
  padding:9px;
}
.compare-item.is-best{
  border-color:color-mix(in srgb,#91ffbf 45%,var(--border));
  box-shadow:inset 0 -3px 0 rgba(145,255,191,.42),0 0 0 1px rgba(145,255,191,.12);
}
.compare-top{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.compare-icon{width:46px;height:46px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.045);display:grid;place-items:center;font-weight:900;color:var(--accent-strong);}
.compare-icon img{width:100%;height:100%;object-fit:cover;}
.compare-name{font-size:12px;font-weight:900;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.compare-meta{margin-top:4px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.compare-score{text-align:right;}
.compare-total{display:block;color:var(--accent-strong);font-size:20px;font-weight:950;line-height:1;}
.compare-rank{display:block;margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:-.06em;}
.compare-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:8px;}
.compare-stat{height:25px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:900;}
.compare-stat img{width:12px;height:12px;}
.compare-delta{font-size:9px;color:var(--muted);font-weight:800;}
.compare-delta.is-pos{color:#91ffbf;}
.compare-delta.is-neg{color:#ff8da0;}
.compare-actions{display:flex;gap:6px;margin-top:8px;}
.compare-actions button{height:27px;flex:1;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.04);color:var(--text);font-size:11px;font-weight:850;cursor:pointer;}
.compare-actions button:hover{border-color:var(--accent);color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 12%,transparent);}
.compare-copy{margin:10px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-strong);height:34px;font-size:12px;font-weight:900;cursor:pointer;}

@media (max-width:760px){
  .d2aa-mode-bar{padding:7px 8px 0;}
  .d2aa-mode-btn{height:28px;padding:0 8px;font-size:10px;}
  .compare-drawer{inset:8px;width:auto;}
  .compare-stats{grid-template-columns:repeat(2,1fr);}
}


/* ===== beta2-open-grid.css ===== */
/* Open grid stage: reduce the boxed-in feeling while keeping the table mode framed. */
body.grid-view.shell-enhanced .app-shell{
  padding-left:8px;
  padding-right:8px;
}

body.grid-view .table-stage{
  min-width:0;
}

body.grid-view .table-panel{
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

body.grid-view .table-topbar{
  margin:0 2px 8px;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 12px 36px rgba(0,0,0,.22);
}

body.grid-view .d2aa-mode-bar,
body.grid-view .d2aa-grid-overview{
  padding-left:2px;
  padding-right:2px;
}

body.grid-view .table-wrap{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:2px;
}

body.grid-view #rows{
  padding:8px 2px 16px;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
}

body.grid-view .empty-state{
  margin:10px 2px;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
}

body.grid-view .grid-card{
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

body.grid-view .grid-card-top{
  padding-top:8px;
}

@media (min-width:1500px){
  body.grid-view.shell-enhanced .app-shell{padding-left:12px;padding-right:12px;}
  body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));}
}

@media (max-width:900px){
  body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));}
}


/* ===== beta2-tag-popover.css ===== */
/* Floating tag affordance + click-to-select tag picker for grid cards. */
body.grid-view .grid-card{
  cursor:pointer;
}

body.grid-view .grid-card.is-tag-selected{
  outline:1px solid color-mix(in srgb,var(--accent) 72%,transparent);
  outline-offset:2px;
  box-shadow:inset 0 -4px 0 var(--group-glow, var(--rarity-glow)),0 0 0 1px color-mix(in srgb,var(--accent) 42%,transparent),0 18px 42px rgba(0,0,0,.42) !important;
}

body.grid-view .grid-tag{
  position:absolute;
  top:6px;
  right:6px;
  z-index:4;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  font-size:15px;
  line-height:1;
  color:var(--text);
  opacity:.96;
  text-shadow:0 2px 6px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.65);
}

body.grid-view .grid-tag.is-empty{
  display:none !important;
}

body.grid-view .grid-tag.is-empty::before,
body.grid-view .grid-tag.is-empty::after{
  content:none !important;
  display:none !important;
}

body.grid-view .grid-tag.has-tag,
body.grid-view .grid-card:hover .grid-tag,
body.grid-view .grid-card.is-tag-selected .grid-tag{
  opacity:1;
}

body.grid-view .grid-tag:hover{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:scale(1.12);
  color:var(--accent-strong);
}

.d2aa-tag-popover{
  position:fixed;
  z-index:240;
  display:none;
  align-items:center;
  gap:6px;
  padding:7px;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));
  border-radius:999px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 96%,black),color-mix(in srgb,var(--accent) 10%,var(--panel)));
  box-shadow:0 18px 48px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transform:translate(-50%,-100%) scale(.94);
  opacity:0;
  pointer-events:none;
  transition:opacity .12s ease, transform .12s ease;
}

.d2aa-tag-popover.is-open{
  display:flex;
  opacity:1;
  transform:translate(-50%,-100%) scale(1);
  pointer-events:auto;
}

.d2aa-tag-option{
  width:31px;
  height:31px;
  box-sizing:border-box;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.045);
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--text);
  cursor:pointer;
  font-size:15px;
  line-height:1 !important;
  padding:0 !important;
  margin:0;
  text-align:center;
  vertical-align:middle;
  font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',system-ui,sans-serif;
}

.d2aa-tag-option:not([data-tag='']){
  transform:translateY(0);
}

.d2aa-tag-option[data-tag='']{
  font-size:0;
}
.d2aa-tag-option[data-tag='']::before{
  content:'';
  width:11px;
  height:11px;
  border-radius:999px;
  border:1px solid currentColor;
  opacity:.72;
  display:block;
  box-sizing:border-box;
}

.d2aa-tag-option:hover,
.d2aa-tag-option.is-active{
  border-color:color-mix(in srgb,var(--accent) 60%,white);
  background:color-mix(in srgb,var(--accent) 16%,transparent);
  color:var(--accent-strong);
  transform:translateY(-1px);
}

.d2aa-tag-option[data-tag='favorite'].is-active,
.d2aa-tag-option[data-tag='favorite']:hover{background:rgba(255,95,135,.14);}
.d2aa-tag-option[data-tag='keep'].is-active,
.d2aa-tag-option[data-tag='keep']:hover{background:rgba(120,210,255,.14);}
.d2aa-tag-option[data-tag='junk'].is-active,
.d2aa-tag-option[data-tag='junk']:hover{background:rgba(255,100,100,.14);}
.d2aa-tag-option[data-tag='infuse'].is-active,
.d2aa-tag-option[data-tag='infuse']:hover{background:rgba(255,225,110,.14);}
.d2aa-tag-option[data-tag='archive'].is-active,
.d2aa-tag-option[data-tag='archive']:hover{background:rgba(170,140,255,.14);}

@media (max-width:760px){
  .d2aa-tag-popover{
    gap:5px;
    padding:6px;
  }
  .d2aa-tag-option{width:29px;height:29px;font-size:14px;}
}


/* ===== beta2-archetypes.css ===== */
/* Grid archetype badge: old top-right control spot now shows armor role/archetype.
   Floating user tag indicator moves to top-left. */
body.grid-view .grid-tag{
  left:6px;
  right:auto;
}

body.grid-view .grid-tag,
body.grid-view .grid-aag-badge,
.d2aa-tag-option,
.action-icon,
.shell-search-help,
.compare-close{
  display:inline-grid !important;
  place-items:center !important;
  align-items:center !important;
  justify-items:center !important;
  line-height:1 !important;
  text-align:center;
  font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',system-ui,sans-serif;
}

body.grid-view .grid-tag,
body.grid-view .grid-aag-badge{
  padding:0 !important;
  overflow:hidden;
}

body.grid-view .grid-tag{
  font-size:13px;
}

body.grid-view .grid-aag-badge{
  position:absolute;
  top:6px;
  right:6px;
  z-index:4;
  width:25px;
  height:25px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 6px 18px rgba(0,0,0,.32);
  font-size:13px;
  color:var(--text);
  cursor:help;
  opacity:.9;
}

body.grid-view .grid-aag-icon{
  width:12px;
  height:12px;
  max-width:12px;
  max-height:12px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));
}

body.grid-view .grid-aag-emoji{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  line-height:1;
  font-size:12px;
}

body.grid-view .grid-aag-badge:hover{
  opacity:1;
  transform:scale(1.05);
  border-color:color-mix(in srgb,var(--accent) 60%,white);
  background:color-mix(in srgb,var(--accent) 18%,rgba(0,0,0,.42));
  color:var(--accent-strong);
}

body.grid-view .grid-aag-badge[data-aag='bulwark']{border-color:rgba(145,255,191,.32);}
body.grid-view .grid-aag-badge[data-aag='specialist']{border-color:rgba(118,233,255,.32);}
body.grid-view .grid-aag-badge[data-aag='gunner']{border-color:rgba(255,225,135,.32);}
body.grid-view .grid-aag-badge[data-aag='brawler']{border-color:rgba(255,173,122,.32);}
body.grid-view .grid-aag-badge[data-aag='grenadier']{border-color:rgba(255,141,160,.32);}
body.grid-view .grid-aag-badge[data-aag='paragon']{border-color:rgba(201,167,255,.32);}
body.grid-view .grid-aag-badge[data-aag='balanced']{color:var(--muted);}

body.grid-view .grid-card-top{
  padding-left:8px;
  padding-right:8px;
}


/* ===== beta2-refresh-key.css ===== */
/* DIM-style refresh hotkey pill with freshness tooltip. */
.d2aa-refresh-key{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));
  border-radius:11px;
  background:rgba(255,255,255,.04);
  color:var(--text);
  padding:5px 9px;
  cursor:pointer;
  position:relative;
}

.d2aa-refresh-key:hover,
.d2aa-refresh-key.is-refreshing{
  border-color:color-mix(in srgb,var(--accent) 60%,var(--border));
  background:color-mix(in srgb,var(--accent) 12%,transparent);
  color:var(--accent-strong);
}

.d2aa-refresh-key kbd{
  min-width:23px;
  height:23px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-bottom-color:rgba(0,0,0,.48);
  border-radius:7px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 2px 0 rgba(0,0,0,.42);
  font:900 11px/1 system-ui,-apple-system,Segoe UI,sans-serif;
  color:inherit;
}

.d2aa-refresh-key span{
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
}

.d2aa-refresh-key::after{
  content:attr(data-tip);
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  width:max-content;
  max-width:280px;
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));
  border-radius:10px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 97%,black),color-mix(in srgb,var(--accent) 8%,var(--panel)));
  box-shadow:0 16px 42px rgba(0,0,0,.48);
  color:var(--text);
  font-size:11px;
  line-height:1.35;
  text-align:left;
  white-space:pre-line;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .12s ease,transform .12s ease;
  z-index:300;
}

.d2aa-refresh-key:hover::after,
.d2aa-refresh-key:focus-visible::after{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:760px){
  .d2aa-refresh-key span{display:none;}
}


/* ===== beta2-feed-drawer.css ===== */
/* Right-side DIM-style item feed: open feed pushes the grid workspace left. */
:root{--feed-drawer-width:372px;--feed-drawer-gap:14px;--feed-tab-width:34px;}
body.feed-drawer-open.grid-view .table-stage{
  padding-right:calc(var(--feed-drawer-width) + var(--feed-drawer-gap)) !important;
  transition:padding-right .18s ease;
}
body.feed-drawer-open.grid-view .table-panel{max-width:none;}

.item-feed-launcher{
  right:0 !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  width:var(--feed-tab-width) !important;
  min-height:132px !important;
  padding:10px 5px !important;
  border-right:0 !important;
  border-radius:12px 0 0 12px !important;
  writing-mode:vertical-rl !important;
  text-orientation:mixed !important;
  transition:right .18s ease, border-radius .18s ease, box-shadow .18s ease, color .12s ease, border-color .12s ease !important;
}
body.feed-drawer-open .item-feed-launcher{
  right:calc(var(--feed-drawer-width) + var(--feed-drawer-gap) - 1px) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.38), -8px 0 28px rgba(0,0,0,.18) !important;
}
.item-feed-launcher .item-feed-count{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}

.item-feed-drawer{
  top:80px !important;
  right:var(--feed-drawer-gap) !important;
  bottom:18px !important;
  width:var(--feed-drawer-width) !important;
  max-height:none !important;
  border-radius:16px !important;
  transform:translateX(calc(100% + var(--feed-drawer-gap) + var(--feed-tab-width))) scale(1) !important;
  opacity:1 !important;
  pointer-events:none;
  transition:transform .18s ease, box-shadow .18s ease !important;
}
.item-feed-drawer.is-open{
  transform:translateX(0) scale(1) !important;
  pointer-events:auto;
  box-shadow:0 28px 70px rgba(0,0,0,.55), -10px 0 40px rgba(0,0,0,.22) !important;
}

.item-feed-head{
  padding:7px 9px !important;
  justify-content:flex-end !important;
}
.item-feed-head h2,
.item-feed-head .muted{display:none !important;}
.item-feed-actions{display:none !important;}
.mini-feed-btn{
  min-height:26px !important;
  padding:4px 7px !important;
  font-size:10px !important;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:var(--text);
  cursor:pointer;
}
.mini-feed-btn:hover{border-color:var(--accent);color:var(--accent-strong);}
.item-feed-list{
  padding:8px 8px 10px !important;
  gap:8px !important;
  overflow-x:hidden !important;
}

/* Feed card layout: two content columns, then a full-width utility tray.
   This avoids the old cramped right rail where tags/compare could make rows wonky. */
.item-feed-card{
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:9px !important;
  row-gap:7px !important;
  align-items:start !important;
  min-height:92px !important;
  padding:8px 24px 8px 8px !important;
  border-radius:11px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.feed-icon{
  grid-column:1 !important;
  grid-row:1 !important;
  width:48px !important;
  height:48px !important;
}
.feed-power{
  font-size:8px !important;
  min-width:28px !important;
  height:14px !important;
}
.feed-main{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  width:100% !important;
  overflow:hidden !important;
  align-self:start !important;
}
.feed-kicker{
  font-size:9px !important;
  max-width:100% !important;
  line-height:1.05 !important;
  margin-bottom:2px !important;
}
.feed-title{
  font-size:12.5px !important;
  max-width:100% !important;
  line-height:1.12 !important;
}
.feed-meta{
  font-size:9.5px !important;
  max-width:100% !important;
  line-height:1.1 !important;
  margin-top:2px !important;
}
.feed-stats{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:2px !important;
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  margin-top:4px !important;
}
.feed-stat{
  height:17px !important;
  min-width:0 !important;
  width:auto !important;
  padding:0 1px !important;
  font-size:9px !important;
  gap:1px !important;
  border-radius:5px !important;
}
.feed-stat-icon{font-size:8px !important;}
.feed-stat strong{font-size:9px !important;}

.feed-side{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:auto auto minmax(0,1fr) auto !important;
  align-items:center !important;
  justify-items:start !important;
  gap:6px !important;
  overflow:hidden !important;
  padding-top:6px !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
}
.feed-total-badge{
  min-width:34px !important;
  font-size:11px !important;
  padding:2px 6px !important;
}
.feed-tier-badge{
  font-size:8px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.feed-tag-row{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:3px !important;
  max-width:none !important;
  width:auto !important;
  min-width:0 !important;
  overflow:hidden !important;
  flex-wrap:nowrap !important;
}
.feed-tag-btn{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  font-size:10px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}
.feed-tag-btn[data-tag=""]{font-size:0 !important;}
.feed-tag-btn[data-tag=""]::before{content:'×';font-size:11px;color:var(--muted);}
.feed-dismiss{right:4px !important;top:4px !important;}

.feed-dupe-badge{
  display:inline-flex;
  align-items:center;
  gap:3px;
  height:14px;
  padding:0 4px;
  border:1px solid rgba(255,207,102,.52);
  border-radius:999px;
  background:rgba(255,207,102,.12);
  color:#ffcf66;
  font-size:7px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  vertical-align:middle;
}
.feed-compare-btn{
  justify-self:end !important;
  width:auto !important;
  min-width:58px !important;
  min-height:22px !important;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));
  border-radius:7px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  color:var(--accent-strong);
  cursor:pointer;
  font-size:9px;
  font-weight:850;
  padding:0 7px;
}
.feed-compare-btn:hover{
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 18%,transparent);
}
.item-feed-card.is-dupe{
  border-color:rgba(255,207,102,.42) !important;
  box-shadow:inset 3px 0 0 #ffcf66, 0 0 0 1px rgba(255,207,102,.06) !important;
}
.item-feed-card.is-dupe::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:2px;
  background:linear-gradient(90deg,transparent,#ffcf66,transparent);
  opacity:.7;
}

.compare-tags{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  flex-wrap:wrap;
}
.compare-tag-btn{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:var(--text);
  cursor:pointer;
  font-size:12px;
  line-height:1;
  font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',system-ui,sans-serif;
}
.compare-tag-btn:hover,.compare-tag-btn.is-active{
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 16%,transparent);
  color:var(--accent-strong);
}
.compare-actions{align-items:center;}

@media (max-width:980px){
  :root{--feed-drawer-width:min(372px,calc(100vw - 28px));}
  body.feed-drawer-open.grid-view .table-stage{padding-right:0 !important;}
  body.feed-drawer-open .item-feed-launcher{right:calc(var(--feed-drawer-width) + var(--feed-drawer-gap) - 1px) !important;}
  .item-feed-drawer{top:104px !important;}
}

@media (max-width:430px){
  body.feed-drawer-open .item-feed-launcher{right:calc(100vw - var(--feed-tab-width)) !important;}
  .item-feed-card{grid-template-columns:44px minmax(0,1fr) !important;}
  .feed-side{grid-template-columns:auto auto minmax(0,1fr) !important;}
  .feed-compare-btn{grid-column:1 / -1 !important;width:100% !important;justify-self:stretch !important;}
  .feed-tag-row{justify-content:flex-end !important;}
  .feed-tag-btn{width:19px !important;height:19px !important;min-width:19px !important;}
}


/* ===== beta2-feed-clean.css ===== */
/* Clean item feed reset: one readable layout, no stacked score rail, no popout tag menu. */
:root{--feed-drawer-width:430px;}

.item-feed-list{padding:10px !important;gap:10px !important;overflow-x:hidden !important;}

.item-feed-card{position:relative !important;display:grid !important;grid-template-columns:60px minmax(0,1fr) !important;grid-template-areas:"icon main" "footer footer" !important;column-gap:11px !important;row-gap:9px !important;min-height:126px !important;width:100% !important;box-sizing:border-box !important;padding:10px 30px 10px 10px !important;border:1px solid var(--border) !important;border-radius:13px !important;overflow:hidden !important;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 46%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025)) !important;box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 48%,transparent) !important;}
.item-feed-card.feed-rarity-legendary{background:linear-gradient(90deg,rgba(92,51,138,.34),transparent 48%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025)) !important;}
.item-feed-card.feed-rarity-exotic{background:linear-gradient(90deg,rgba(210,160,58,.30),transparent 48%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025)) !important;}
.item-feed-card.is-dupe{border-color:rgba(255,207,102,.42) !important;box-shadow:inset 3px 0 0 #ffcf66 !important;}

.feed-icon{grid-area:icon !important;position:relative !important;width:60px !important;height:60px !important;border-radius:8px !important;overflow:hidden !important;align-self:start !important;border:1px solid rgba(255,255,255,.16) !important;box-shadow:0 9px 20px rgba(0,0,0,.30) !important;}
.feed-icon img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.feed-icon .feed-power,.feed-icon .feed-power-chip{display:grid !important;position:absolute !important;right:0 !important;bottom:0 !important;min-width:36px !important;height:16px !important;place-items:center !important;padding:0 4px !important;border-top-left-radius:5px !important;background:rgba(0,0,0,.80) !important;color:#fff !important;font-size:9px !important;font-weight:950 !important;line-height:1 !important;text-shadow:0 1px 2px #000 !important;z-index:2 !important;}

.feed-main{grid-area:main !important;min-width:0 !important;display:block !important;overflow:hidden !important;align-self:start !important;}
.feed-kicker{display:block !important;margin:0 0 3px !important;color:var(--muted) !important;font-size:8.5px !important;font-weight:750 !important;letter-spacing:.10em !important;line-height:1 !important;text-transform:uppercase !important;opacity:.78 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.feed-title{display:block !important;max-width:100% !important;margin:0 !important;color:var(--text) !important;font-size:13.5px !important;font-weight:950 !important;line-height:1.15 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.feed-meta{display:block !important;margin:3px 0 0 !important;color:var(--muted) !important;font-size:10px !important;line-height:1.1 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.feed-stats{display:grid !important;grid-template-columns:repeat(6,minmax(0,1fr)) !important;gap:3px !important;width:100% !important;margin:7px 0 0 !important;overflow:hidden !important;}
.feed-stat{height:20px !important;min-width:0 !important;width:auto !important;padding:0 1px !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:1px !important;border:1px solid rgba(255,255,255,.085) !important;border-radius:6px !important;background:rgba(0,0,0,.20) !important;}
.feed-stat-icon{font-size:8.5px !important;opacity:.72 !important;}.feed-stat strong{font-size:10px !important;font-weight:900 !important;}

.feed-side{grid-area:footer !important;width:100% !important;min-width:0 !important;display:grid !important;grid-template-columns:auto auto minmax(0,1fr) !important;align-items:center !important;gap:7px !important;padding-top:9px !important;border-top:1px solid rgba(255,255,255,.08) !important;overflow:visible !important;}
.feed-side .feed-power-inline{display:none !important;}
.feed-total-badge{position:static !important;height:24px !important;min-width:44px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:4px !important;padding:0 8px !important;border-radius:8px !important;color:var(--accent-strong) !important;font-size:12px !important;font-weight:950 !important;white-space:nowrap !important;}
.feed-total-badge::before{content:none !important;display:none !important;}
.feed-tier-badge{position:static !important;height:24px !important;min-width:42px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;padding:0 7px !important;border:1px solid rgba(255,255,255,.075) !important;border-radius:8px !important;background:rgba(0,0,0,.16) !important;color:var(--muted) !important;font-size:9px !important;white-space:nowrap !important;}
.feed-compare-btn{display:none !important;}

.feed-tag-row{position:static !important;width:100% !important;min-width:0 !important;max-width:none !important;display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:5px !important;padding:0 !important;border:0 !important;overflow:visible !important;flex-wrap:nowrap !important;}
.feed-tag-row::before{content:none !important;display:none !important;}
.feed-tag-current,.feed-tag-menu-panel{display:none !important;}
.feed-tag-row > .feed-tag-btn,.feed-tag-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:24px !important;height:24px !important;min-width:24px !important;padding:0 !important;border:1px solid var(--border) !important;border-radius:8px !important;background:rgba(255,255,255,.035) !important;color:var(--text) !important;font-size:12px !important;line-height:1 !important;font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',system-ui,sans-serif !important;cursor:pointer !important;}
.feed-tag-btn:hover,.feed-tag-btn.is-active{border-color:var(--accent) !important;background:color-mix(in srgb,var(--accent) 16%,transparent) !important;color:var(--accent-strong) !important;}
.feed-tag-btn[data-tag=""]{font-size:0 !important;}.feed-tag-btn[data-tag=""]::before{content:'×';font-size:13px;color:var(--muted);}

.feed-dismiss{position:absolute !important;right:7px !important;top:7px !important;width:18px !important;height:18px !important;display:grid !important;place-items:center !important;opacity:.58 !important;}
.feed-dismiss:hover{opacity:1 !important;}.feed-dupe-badge{display:none !important;}

@media (max-width:430px){:root{--feed-drawer-width:min(430px,calc(100vw - 28px));}.item-feed-card{grid-template-columns:56px minmax(0,1fr) !important;min-height:132px !important;}.feed-icon{width:56px !important;height:56px !important;}.feed-side{grid-template-columns:auto auto 1fr !important;gap:5px !important;}.feed-tag-row{gap:3px !important;}.feed-tag-row::before{display:none !important;}.feed-tag-btn{width:22px !important;height:22px !important;min-width:22px !important;font-size:11px !important;}}


/* ===== d2aa-ux-v64.css ===== */
/* D2AA UX v64 */
:root{--d2aa-card-min:190px;--feed-tab-width:28px;}
body.shell-enhanced .app-shell{padding:8px 10px 12px!important}
body.shell-enhanced .table-panel{max-width:1760px!important;border-color:color-mix(in srgb,var(--accent) 12%,transparent)!important;background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012))!important;box-shadow:0 12px 36px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.035)!important}
.table-topbar{min-height:48px!important;padding:9px 12px!important;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important}.table-topbar h2{font-size:15px!important}.table-count{padding:5px 9px!important;font-size:10px!important}
.d2aa-grid-overview{gap:7px!important;padding:8px 10px 2px!important}.grid-class-card{min-height:38px!important;grid-template-columns:25px minmax(0,1fr) auto!important;border-radius:11px!important;padding:5px 8px!important;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important}.grid-class-icon{width:21px!important;height:21px!important;opacity:.78!important}.grid-class-title{font-size:10.5px!important}.grid-class-meta{font-size:8.5px!important;opacity:.82!important}.grid-class-total{min-width:28px!important;height:22px!important;font-size:10px!important;background:rgba(255,255,255,.025)!important}
body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(var(--d2aa-card-min),1fr))!important;gap:9px!important;padding:9px 10px 14px!important}.grid-card{min-height:196px!important;border-radius:14px!important;overflow:hidden!important;background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.018))!important;box-shadow:inset 0 -3px 0 var(--rarity-glow),0 8px 22px rgba(0,0,0,.23)!important}.grid-card:hover,.grid-card.is-selected{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--accent) 44%,var(--border))!important;box-shadow:inset 0 -4px 0 var(--rarity-glow),0 14px 34px rgba(0,0,0,.34)!important}.grid-card.is-dupe:hover,.grid-card.is-dupe.is-selected{box-shadow:inset 0 -4px 0 var(--group-glow),0 0 0 1px color-mix(in srgb,var(--group-glow) 48%,transparent),0 16px 36px rgba(0,0,0,.36)!important}
.grid-card-top{grid-template-columns:50px minmax(0,1fr) 18px!important;gap:7px!important;padding:7px 7px 5px!important}.grid-item-icon{width:50px!important;height:50px!important}.grid-item-name{font-size:11.5px!important;line-height:1.08!important;min-height:25px!important}.grid-icon-row{gap:4px!important;margin-top:4px!important;opacity:.82!important}.grid-mini-icon,.grid-mask-icon{width:13px!important;height:13px!important}.grid-location{font-size:11px!important;opacity:.78!important}
.grid-tag{position:absolute!important;left:6px!important;top:6px!important;z-index:4!important;width:auto!important;min-width:18px!important;height:18px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important;line-height:1!important;text-shadow:0 1px 4px rgba(0,0,0,.9)!important}.grid-tag.is-empty{display:none!important}.grid-tag.has-tag:hover{transform:scale(1.12)}
.grid-primary-row{gap:6px!important;margin-top:1px!important}.grid-total{min-width:39px!important;height:28px!important;font-size:15px!important}.grid-tier{font-size:12px!important;letter-spacing:-.045em!important}.grid-rank{font-size:10px!important;max-width:48px!important;opacity:.78!important}
.grid-stat{height:23px!important;border-radius:7px!important;gap:3px!important;font-size:10.5px!important;font-weight:950!important;background:rgba(0,0,0,.22)!important;border-color:rgba(255,255,255,.055)!important}.grid-stat img{width:12px!important;height:12px!important;opacity:.86!important}.grid-stat span{font-variant-numeric:tabular-nums}.grid-stat.stat-cyan{background:rgba(118,233,255,.07)!important;border-color:rgba(118,233,255,.22)!important}.grid-stat.stat-green{background:rgba(145,255,191,.06)!important;border-color:rgba(145,255,191,.20)!important}.grid-stat.stat-yellow{background:rgba(255,225,135,.06)!important;border-color:rgba(255,225,135,.20)!important}.grid-stat.stat-red{background:rgba(255,141,160,.045)!important;border-color:rgba(255,141,160,.16)!important}
.grid-actions{position:absolute!important;inset:auto 7px 7px 7px!important;z-index:6!important;padding:0!important;opacity:0!important;transform:translateY(6px)!important;transition:opacity .14s ease,transform .14s ease!important;pointer-events:none!important}.grid-card:hover .grid-actions,.grid-card.is-selected .grid-actions,.grid-card:focus-within .grid-actions{opacity:1!important;transform:translateY(0)!important;pointer-events:auto!important}.grid-card::before{content:'';position:absolute;left:0;right:0;bottom:0;height:42px;pointer-events:none;opacity:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));transition:opacity .14s ease;z-index:5}.grid-card:hover::before,.grid-card.is-selected::before,.grid-card:focus-within::before{opacity:1}.grid-action{height:27px!important;border-radius:8px!important;font-size:11px!important;background:rgba(20,16,28,.78)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.shell-btn[data-shell-panel-btn="summary"],.shell-btn[data-shell-panel-btn="theme"]{display:none!important}.shell-more-wrap{position:relative;display:inline-flex}.shell-more-menu{position:absolute;right:0;top:calc(100% + 8px);width:190px;display:none;padding:7px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:13px;background:var(--panel);box-shadow:0 18px 46px rgba(0,0,0,.48);z-index:180}.shell-more-wrap.is-open .shell-more-menu{display:grid;gap:5px}.shell-more-menu button{justify-content:flex-start;width:100%}
.d2aa-launch-layer{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.d2aa-launch-layer.is-open{display:flex}.d2aa-launch-card{width:min(680px,calc(100vw - 28px));border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:22px;background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.62);padding:22px}.d2aa-launch-card h2{margin:0 0 7px;font-size:24px;color:var(--accent-strong)}.d2aa-launch-card p{margin:0;color:var(--muted);line-height:1.45}.d2aa-launch-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.d2aa-launch-action{min-height:64px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:15px;background:rgba(255,255,255,.045);color:var(--text);cursor:pointer;text-align:left;padding:12px}.d2aa-launch-action strong{display:block;color:var(--accent-strong);font-size:14px}.d2aa-launch-action span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.d2aa-launch-foot{display:flex;justify-content:flex-end;margin-top:12px}.d2aa-launch-close{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}
.item-feed-launcher{width:28px!important;min-height:116px!important;padding:8px 4px!important;opacity:.78!important;border-color:color-mix(in srgb,var(--accent) 24%,var(--border))!important}.item-feed-launcher:hover,.item-feed-launcher.is-open{opacity:1!important;border-color:var(--accent)!important}.item-feed-launcher .item-feed-count{font-size:9px!important;padding:1px 5px!important}
@media (hover:none){.grid-actions{position:static!important;inset:auto!important;opacity:1!important;transform:none!important;pointer-events:auto!important;padding:0 7px 7px!important}.grid-card::before{display:none!important}}
@media (max-width:1180px){.shell-title span{display:none!important}.shell-btn span:not(.shell-btn-icon){display:none!important}.shell-btn{padding:7px 10px!important}body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(176px,1fr))!important}}
@media (max-width:760px){.d2aa-launch-actions{grid-template-columns:1fr}.grid-actions{position:static!important;opacity:1!important;transform:none!important;pointer-events:auto!important;padding:0 7px 7px!important}}


/* ===== d2aa-ux-v65.css ===== */
/* D2AA UX v65: persistent group identity, calmer archetype chips, stronger hover action gradient. */
.grid-primary-row{display:grid!important;grid-template-columns:auto minmax(44px,1fr) auto!important;align-items:center!important}.grid-group-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:24px;min-width:42px;max-width:64px;padding:0 7px;border:1px solid color-mix(in srgb,var(--group-glow,var(--accent)) 58%,rgba(255,255,255,.12));border-radius:999px;color:color-mix(in srgb,var(--group-glow,var(--accent)) 72%,#fff);background:linear-gradient(135deg,color-mix(in srgb,var(--group-glow,var(--accent)) 20%,transparent),rgba(0,0,0,.22));box-shadow:0 0 14px color-mix(in srgb,var(--group-glow,var(--accent)) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.08);font-size:10px;font-weight:950;line-height:1;white-space:nowrap;text-transform:uppercase}.grid-group-badge-icon{width:12px;height:12px;display:inline-block;background:currentColor;opacity:.92;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.grid-card:not(.is-dupe) .grid-primary-row{grid-template-columns:auto 1fr auto!important}.grid-card:not(.is-dupe) .grid-group-badge{display:none}.grid-card.is-dupe .grid-tier{justify-self:center}.grid-card.is-dupe .grid-rank{display:none!important}
body.grid-view .grid-aag-badge{top:7px!important;right:7px!important;width:20px!important;height:20px!important;border-radius:7px!important;border-width:1px!important;background:rgba(0,0,0,.28)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 12px rgba(0,0,0,.20)!important;opacity:.72!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}body.grid-view .grid-aag-badge:hover{opacity:1!important;transform:translateY(-1px) scale(1.08)!important}body.grid-view .grid-aag-icon{width:11px!important;height:11px!important;max-width:11px!important;max-height:11px!important;opacity:.95!important}body.grid-view .grid-aag-emoji{font-size:11px!important}
.grid-card::before{height:92px!important;background:linear-gradient(180deg,rgba(12,8,18,0),rgba(12,8,18,.54) 38%,rgba(8,6,12,.88) 100%)!important}.grid-card:hover::before,.grid-card.is-selected::before,.grid-card:focus-within::before{opacity:1!important}.grid-card:hover .grid-stats,.grid-card.is-selected .grid-stats,.grid-card:focus-within .grid-stats{filter:saturate(.72) brightness(.72);opacity:.62}.grid-card:hover .grid-primary-row,.grid-card.is-selected .grid-primary-row,.grid-card:focus-within .grid-primary-row{position:relative;z-index:6}.grid-actions{grid-template-columns:1fr auto!important;gap:6px!important}.grid-actions--single{grid-template-columns:1fr!important}.grid-action--group span::before{content:none!important}.grid-action--group{min-width:76px!important;color:color-mix(in srgb,var(--group-glow,var(--accent)) 70%,#fff)!important;border-color:color-mix(in srgb,var(--group-glow,var(--accent)) 48%,var(--border))!important}.grid-action-slot-icon{width:12px!important;height:12px!important}.grid-body{padding-bottom:34px!important}.grid-card:hover .grid-body,.grid-card.is-selected .grid-body{padding-bottom:34px!important}
@media (hover:none){.grid-card::before{display:none!important}.grid-card .grid-stats{filter:none!important;opacity:1!important}.grid-body{padding-bottom:0!important}}


/* ===== d2aa-ux-v66.css ===== */
/* D2AA UX v66: remove redundant star rank, move archetype into primary row, restore strong group underglow, improve stat chip readability. */
.grid-rank{display:none!important}.grid-primary-row{display:grid!important;grid-template-columns:auto minmax(48px,1fr) auto auto!important;align-items:center!important;gap:6px!important;min-height:30px!important}.grid-card:not(.is-dupe) .grid-primary-row{grid-template-columns:auto minmax(48px,1fr) auto!important}.grid-card:not(.is-dupe) .grid-group-badge{display:none!important}.grid-tier{justify-self:center!important;min-width:54px;text-align:center}
body.grid-view .grid-aag-badge{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;min-width:28px!important;border:1px solid color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.10))!important;border-radius:9px!important;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(0,0,0,.20))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;opacity:.9!important;transform:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.grid-view .grid-aag-badge:hover{opacity:1!important;transform:translateY(-1px)!important;border-color:var(--accent)!important}body.grid-view .grid-aag-icon{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;opacity:1!important}body.grid-view .grid-aag-emoji{font-size:15px!important;line-height:1!important}.grid-card-top .grid-aag-badge{display:none!important}
.grid-card.is-dupe{border-color:color-mix(in srgb,var(--group-glow) 42%,var(--border))!important;box-shadow:inset 0 -4px 0 var(--group-glow),inset 0 0 0 1px color-mix(in srgb,var(--group-glow) 18%,transparent),0 8px 22px rgba(0,0,0,.25)!important}.grid-card.is-dupe::after{content:'';position:absolute;left:0;right:0;bottom:0;height:42px;pointer-events:none;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--group-glow) 22%,transparent));opacity:.58;z-index:1}.grid-card.is-dupe:hover,.grid-card.is-dupe.is-selected{box-shadow:inset 0 -5px 0 var(--group-glow),0 0 0 1px color-mix(in srgb,var(--group-glow) 52%,transparent),0 16px 36px rgba(0,0,0,.38)!important}.grid-group-badge{height:22px!important;min-width:38px!important;max-width:58px!important;padding:0 6px!important;font-size:9.5px!important;border-radius:8px!important;background:rgba(0,0,0,.22)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important}.grid-group-badge-icon{width:10px!important;height:10px!important}
.grid-card{min-height:208px!important}.grid-body{padding-bottom:38px!important}.grid-stats{gap:4px!important}.grid-stat{height:28px!important;border-radius:8px!important;gap:4px!important;font-size:12px!important;font-weight:950!important;line-height:1!important}.grid-stat img{width:15px!important;height:15px!important;opacity:.96!important}.grid-stat span{font-size:12px!important;line-height:1!important;font-variant-numeric:tabular-nums!important}
.grid-card::before{height:104px!important;background:linear-gradient(180deg,rgba(10,6,15,0),rgba(10,6,15,.48) 34%,rgba(7,5,10,.92) 100%)!important;z-index:5!important}.grid-card:hover .grid-stats,.grid-card.is-selected .grid-stats,.grid-card:focus-within .grid-stats{filter:saturate(.65) brightness(.62)!important;opacity:.52!important}.grid-actions{z-index:7!important}
@media (max-width:1180px){body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(184px,1fr))!important}.grid-stat{height:27px!important;font-size:11.5px!important}.grid-stat img{width:14px!important;height:14px!important}}
@media (hover:none){.grid-card{min-height:218px!important}.grid-card::after{display:none!important}.grid-card .grid-stats{filter:none!important;opacity:1!important}}


/* ===== d2aa-ux-v68.css ===== */
/* D2AA UX v68: remove reserved bottom gap from grid cards. Actions overlay on hover instead of reserving permanent space. */
.grid-card{min-height:184px!important;}
.grid-body{padding-bottom:8px!important;}
.grid-card:hover .grid-body,.grid-card.is-selected .grid-body,.grid-card:focus-within .grid-body{padding-bottom:8px!important;}
.grid-actions{inset:auto 7px 7px 7px!important;}
@media (hover:none){.grid-card{min-height:196px!important}.grid-body{padding-bottom:8px!important}}


/* ===== d2aa-ux-v69.css ===== */
/* D2AA UX v69: true grid-slot card layout. */

/* Top: icon spans two rows, name spans two rows, identifiers get their own centered grid slot. */
.grid-card-top{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 58px!important;
  grid-template-rows:24px 24px!important;
  gap:6px!important;
  align-items:center!important;
  padding:7px 8px 4px!important;
  min-height:58px!important;
}
.grid-item-icon{grid-column:1!important;grid-row:1 / span 2!important;align-self:center!important;justify-self:center!important;width:52px!important;height:52px!important;}
.grid-item-title{display:contents!important;}
.grid-item-name{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  min-height:0!important;
  max-height:34px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.12!important;
  font-size:11.5px!important;
}
.grid-icon-row{
  grid-column:3!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  justify-self:end!important;
  display:grid!important;
  grid-template-columns:repeat(2,17px)!important;
  grid-auto-rows:17px!important;
  place-items:center!important;
  gap:2px!important;
  margin:0!important;
  opacity:.9!important;
}
.grid-mini-icon,.grid-mask-icon{width:13px!important;height:13px!important;display:block!important;}
.grid-location{font-size:11px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;width:17px!important;height:17px!important;}
.grid-power-pill{display:none!important;}

/* Group identifier becomes a small top-right corner tip, outside the main grids. */
.grid-group-badge{
  position:absolute!important;
  top:0!important;
  right:0!important;
  z-index:8!important;
  height:18px!important;
  min-width:28px!important;
  max-width:38px!important;
  padding:0 5px!important;
  border-radius:0 12px 0 8px!important;
  border:0!important;
  color:color-mix(in srgb,var(--group-glow,var(--accent)) 72%,#fff)!important;
  background:color-mix(in srgb,var(--group-glow,var(--accent)) 24%,rgba(0,0,0,.38))!important;
  box-shadow:none!important;
  font-size:9.5px!important;
  font-weight:950!important;
  line-height:18px!important;
  text-align:center!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}
.grid-group-badge-icon{display:none!important;}
.grid-card:not(.is-dupe) .grid-group-badge{display:none!important;}

/* Bottom: exact 3x3 grid: total/tier/archetype, then six stat cells. */
.grid-body{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:32px 32px 32px!important;
  gap:5px!important;
  padding:4px 8px 8px!important;
}
.grid-primary-row,.grid-stats{display:contents!important;}
.grid-total,.grid-tier,body.grid-view .grid-aag-badge,.grid-stat{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.grid-total{grid-column:1!important;grid-row:1!important;font-size:15px!important;border-radius:999px!important;}
.grid-tier{grid-column:2!important;grid-row:1!important;font-size:12px!important;letter-spacing:-.055em!important;text-align:center!important;}
body.grid-view .grid-aag-badge{grid-column:3!important;grid-row:1!important;border-radius:9px!important;}
.grid-stat{height:100%!important;border-radius:8px!important;gap:5px!important;font-size:12px!important;line-height:1!important;}
.grid-stat img{width:16px!important;height:16px!important;object-fit:contain!important;}
.grid-stat span{font-size:12px!important;line-height:1!important;font-variant-numeric:tabular-nums!important;}

/* Tighter card now that all grid slots are explicit. */
.grid-card{min-height:174px!important;}
.grid-body{padding-bottom:8px!important;}
.grid-card:hover .grid-body,.grid-card.is-selected .grid-body,.grid-card:focus-within .grid-body{padding-bottom:8px!important;}
.grid-card::before{height:108px!important;}
.grid-actions{inset:auto 8px 8px 8px!important;}

@media (max-width:1180px){
  .grid-card-top{grid-template-columns:50px minmax(0,1fr) 54px!important;}
  .grid-body{grid-template-rows:31px 31px 31px!important;gap:4px!important;}
  .grid-stat img{width:15px!important;height:15px!important;}
}


/* ===== d2aa-ux-v70.css ===== */
/* D2AA UX v70: clean card grid. Name above identifier icons, centered 3x3 lower grid. */

/* Top card area: 2 columns / 2 rows.
   Icon spans both rows. Name sits above identifier icons. */
.grid-card-top{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:24px 24px!important;
  column-gap:8px!important;
  row-gap:3px!important;
  align-items:center!important;
  padding:8px 8px 5px!important;
  min-height:60px!important;
}
.grid-item-icon{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:52px!important;
  height:52px!important;
  align-self:center!important;
  justify-self:center!important;
}
.grid-item-title{display:contents!important;}
.grid-item-name{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  justify-self:stretch!important;
  min-height:0!important;
  max-height:24px!important;
  display:block!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  line-height:1.05!important;
  font-size:11.5px!important;
}
.grid-icon-row{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  justify-self:start!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  margin:0!important;
  min-width:0!important;
  opacity:.88!important;
}
.grid-mini-icon,.grid-mask-icon{
  width:13px!important;
  height:13px!important;
  display:block!important;
  flex:0 0 auto!important;
}
.grid-location{
  width:13px!important;
  height:13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}

/* Group corner tip: keep it outside the layout and make it small/clean. */
.grid-group-badge{
  top:0!important;
  right:0!important;
  height:18px!important;
  min-width:26px!important;
  max-width:36px!important;
  padding:0 5px!important;
  border-radius:0 12px 0 8px!important;
  line-height:18px!important;
  font-size:9px!important;
}

/* Lower card area: strict 3x3 grid, equal cells, no drift. */
.grid-body{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:32px 32px 32px!important;
  gap:5px!important;
  padding:4px 8px 8px!important;
  align-items:stretch!important;
}
.grid-primary-row,.grid-stats{display:contents!important;}
.grid-total,.grid-tier,body.grid-view .grid-aag-badge,.grid-stat{
  margin:0!important;
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.grid-total{
  grid-column:1!important;
  grid-row:1!important;
  border-radius:999px!important;
  font-size:15px!important;
}
.grid-tier{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  font-size:12px!important;
  letter-spacing:-.055em!important;
  line-height:1!important;
  text-align:center!important;
}
body.grid-view .grid-aag-badge{
  grid-column:3!important;
  grid-row:1!important;
  border-radius:9px!important;
  background:rgba(0,0,0,.20)!important;
}
body.grid-view .grid-aag-icon{
  width:16px!important;
  height:16px!important;
}
body.grid-view .grid-aag-emoji{font-size:15px!important;}
.grid-stat{
  border-radius:8px!important;
  gap:5px!important;
  font-size:12px!important;
  line-height:1!important;
}
.grid-stat img{width:16px!important;height:16px!important;object-fit:contain!important;}
.grid-stat span{font-size:12px!important;line-height:1!important;}

.grid-card{min-height:174px!important;}
.grid-card::before{height:104px!important;}
.grid-actions{inset:auto 8px 8px 8px!important;}

@media (max-width:1180px){
  .grid-card-top{grid-template-columns:50px minmax(0,1fr)!important;column-gap:7px!important;}
  .grid-item-icon{width:50px!important;height:50px!important;}
  .grid-body{grid-template-rows:31px 31px 31px!important;gap:4px!important;}
  .grid-stat img{width:15px!important;height:15px!important;}
}


/* ===== d2aa-ux-v71.css ===== */
/* D2AA UX v71: normalize the lower card into explicit grid slots. */
.grid-body{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:34px 34px 34px!important;
  gap:5px!important;
  padding:4px 8px 8px!important;
  align-items:stretch!important;
}
.grid-body>.grid-primary-row,.grid-body>.grid-stats{display:none!important;}
.grid-slot-total,.grid-slot-tier,.grid-slot-aag,.grid-slot-stat{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
}
.grid-slot-total{grid-column:1;grid-row:1;border-radius:999px!important;}
.grid-slot-tier{grid-column:2;grid-row:1;min-width:0!important;text-align:center!important;letter-spacing:-.055em!important;}
.grid-slot-aag{grid-column:3;grid-row:1;border-radius:9px!important;background:rgba(0,0,0,.20)!important;border:1px solid color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.10))!important;}
.grid-slot-stat:nth-of-type(4){grid-column:1;grid-row:2;}
.grid-slot-stat:nth-of-type(5){grid-column:2;grid-row:2;}
.grid-slot-stat:nth-of-type(6){grid-column:3;grid-row:2;}
.grid-slot-stat:nth-of-type(7){grid-column:1;grid-row:3;}
.grid-slot-stat:nth-of-type(8){grid-column:2;grid-row:3;}
.grid-slot-stat:nth-of-type(9){grid-column:3;grid-row:3;}
.grid-slot-stat{height:100%!important;border-radius:8px!important;gap:5px!important;font-size:12px!important;font-weight:950!important;line-height:1!important;}
.grid-slot-stat img{width:16px!important;height:16px!important;object-fit:contain!important;opacity:.96!important;}
.grid-slot-stat span{font-size:12px!important;line-height:1!important;font-variant-numeric:tabular-nums!important;}
.grid-slot-aag .grid-aag-badge{position:static!important;width:100%!important;height:100%!important;min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;}
.grid-slot-aag .grid-aag-icon{width:16px!important;height:16px!important;}
.grid-slot-aag .grid-aag-emoji{font-size:15px!important;}
.grid-card>.grid-group-badge{position:absolute!important;top:0!important;right:0!important;z-index:8!important;}
.grid-card{min-height:178px!important;}
@media (max-width:1180px){.grid-body{grid-template-rows:32px 32px 32px!important;gap:4px!important}.grid-slot-stat img{width:15px!important;height:15px!important}}


/* ===== d2aa-ux-v72.css ===== */
/* D2AA UX v72: restore corner group tip and fix archetype slot centering. */

/* v71 rebuilt the body and hid the original group badge when it lived inside the old body.
   Force the regenerated corner badge to stay attached to the card, not the 3x3 grid. */
.grid-card > .grid-group-badge{
  display:flex!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  z-index:12!important;
  align-items:center!important;
  justify-content:center!important;
  height:18px!important;
  min-width:28px!important;
  max-width:40px!important;
  padding:0 5px!important;
  border:0!important;
  border-radius:0 12px 0 8px!important;
  color:color-mix(in srgb,var(--group-glow,var(--accent)) 76%,#fff)!important;
  background:color-mix(in srgb,var(--group-glow,var(--accent)) 28%,rgba(8,6,12,.62))!important;
  box-shadow:0 3px 10px rgba(0,0,0,.22)!important;
  font-size:9px!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:center!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}
.grid-card:not(.is-dupe) > .grid-group-badge{display:none!important;}
.grid-card > .grid-group-badge .grid-group-badge-icon{display:none!important;}

/* The archetype cell should be one normal 3x3 slot, not a nested oversized pill. */
.grid-slot-aag{
  overflow:hidden!important;
  padding:0!important;
  border-radius:8px!important;
  background:rgba(0,0,0,.22)!important;
  border:1px solid color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.10))!important;
}
.grid-slot-aag .grid-aag-badge,
body.grid-view .grid-slot-aag .grid-aag-badge{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none!important;
  line-height:1!important;
}
.grid-slot-aag .grid-aag-badge:hover,
body.grid-view .grid-slot-aag .grid-aag-badge:hover{
  transform:none!important;
  border:0!important;
}
.grid-slot-aag .grid-aag-icon,
body.grid-view .grid-slot-aag .grid-aag-icon{
  width:16px!important;
  height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  display:block!important;
  object-fit:contain!important;
  margin:0!important;
}
.grid-slot-aag .grid-aag-emoji,
body.grid-view .grid-slot-aag .grid-aag-emoji{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  font-size:15px!important;
  line-height:1!important;
}

/* Keep all 3x3 cells exactly centered and same box model. */
.grid-slot-total,.grid-slot-tier,.grid-slot-aag,.grid-slot-stat{
  align-self:stretch!important;
  justify-self:stretch!important;
  place-self:stretch!important;
}


/* ===== d2aa-ux-v73.css ===== */
/* D2AA UX v73: command bar cleanup + compact class overview. */

/* Command bar: make the top shell feel like DIM-style controls instead of a row of equal buttons. */
.d2aa-top-shell{
  --cmd-h:40px;
  grid-template-columns:minmax(190px,245px) minmax(420px,1fr) auto!important;
  gap:12px!important;
}
.shell-actions{
  gap:6px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
  row-gap:6px!important;
}
.shell-view-toggle{
  height:var(--cmd-h)!important;
  padding:3px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border))!important;
  flex:0 0 auto!important;
}
.shell-view-toggle button{
  height:32px!important;
  padding:0 10px!important;
  border-radius:9px!important;
}
.shell-btn{
  min-height:var(--cmd-h)!important;
  height:var(--cmd-h)!important;
  padding:0 10px!important;
  border-radius:12px!important;
  font-size:11px!important;
}
.shell-btn-icon{font-size:13px!important;line-height:1!important;}
.shell-btn[data-shell-panel-btn="summary"],
.shell-btn[data-shell-panel-btn="theme"]{display:none!important;}
.shell-btn[data-shell-panel-btn="filters"] span:not(.shell-btn-icon){display:none!important;}
.shell-btn[data-shell-panel-btn="filters"]{width:40px!important;padding:0!important;justify-content:center!important;}
#shellRefreshBtn{min-width:42px!important;}
#shellRefreshBtn span:not(.shell-btn-icon){display:none!important;}

.d2aa-command-wrap{position:relative;display:inline-flex;flex:0 0 auto;}
#d2aaCommandBtn{
  border-color:color-mix(in srgb,var(--accent) 44%,var(--border))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,transparent),rgba(255,255,255,.04))!important;
}
.d2aa-command-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:min(420px,calc(100vw - 24px));
  max-height:min(520px,calc(100vh - 92px));
  overflow:auto;
  display:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:10px;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));
  border-radius:16px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 98%,black),color-mix(in srgb,var(--accent) 10%,var(--panel)));
  box-shadow:0 24px 70px rgba(0,0,0,.52);
  z-index:170;
}
.d2aa-command-wrap.is-open .d2aa-command-menu{display:grid;}
.d2aa-command-item{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:7px 8px;
  border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));
  border-radius:12px;
  background:rgba(255,255,255,.04);
  color:var(--text);
  cursor:pointer;
  text-align:left;
}
.d2aa-command-item:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent);}
.d2aa-command-item strong{display:block;font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2aa-command-item span:last-child{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.d2aa-command-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.055);color:var(--accent-strong);font-weight:900;}
.d2aa-command-item.is-wide{grid-column:1 / -1;}

.shell-more-wrap{position:relative!important;}
.shell-more-menu{
  right:0!important;
  left:auto!important;
  width:190px!important;
  border-radius:14px!important;
  padding:7px!important;
}
.shell-more-menu .shell-btn{
  display:flex!important;
  width:100%!important;
  justify-content:flex-start!important;
}

/* Active filters become a calm command-pill strip inside search. */
.shell-active-filters{max-width:48%!important;gap:5px!important;}
.shell-chip{height:22px!important;max-width:132px!important;padding:0 7px!important;border-radius:8px!important;font-size:10px!important;}

/* Compact class overview: cleaner Warlock/Hunter/Titan row, less bulky and better aligned. */
.d2aa-grid-overview{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:8px 0 10px!important;
  padding:0!important;
}
.grid-class-card{
  min-height:42px!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:6px 8px!important;
  border-radius:13px!important;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border))!important;
  background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(0,0,0,.11))!important;
  color:var(--text)!important;
  box-shadow:none!important;
  text-align:left!important;
  overflow:hidden!important;
}
.grid-class-card:hover,.grid-class-card.is-active{
  border-color:var(--accent)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,transparent),rgba(255,255,255,.035))!important;
}
.grid-class-card.is-active{box-shadow:inset 0 -2px 0 var(--accent)!important;}
.grid-class-icon{
  width:22px!important;
  height:22px!important;
  display:block!important;
  justify-self:center!important;
  color:var(--accent-strong)!important;
  background:currentColor!important;
  opacity:.95!important;
}
.grid-class-title{
  display:block!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.grid-class-meta{
  display:flex!important;
  gap:5px!important;
  margin-top:3px!important;
  color:var(--muted)!important;
  font-size:0!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.grid-class-meta .class-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:16px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:rgba(255,255,255,.035)!important;
  color:var(--muted)!important;
  font-size:9.5px!important;
  font-weight:800!important;
}
.grid-class-total{
  min-width:30px!important;
  height:24px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border))!important;
  color:var(--accent-strong)!important;
  background:color-mix(in srgb,var(--accent) 12%,transparent)!important;
  font-size:11px!important;
  font-weight:950!important;
}

@media (max-width:1100px){
  .d2aa-top-shell{grid-template-columns:1fr!important;}
  .shell-actions{justify-content:flex-start!important;}
  .d2aa-command-menu{left:0;right:auto;}
  .d2aa-grid-overview{grid-template-columns:1fr!important;}
}
@media (max-width:760px){
  .d2aa-top-shell{gap:9px!important;padding:9px 10px!important;}
  .shell-actions{gap:5px!important;}
  .shell-view-toggle button{padding:0 8px!important;}
  .shell-btn{padding:0 8px!important;}
  .d2aa-command-menu{grid-template-columns:1fr;width:calc(100vw - 22px);}
  #d2aaCommandBtn span:not(.shell-btn-icon){display:none!important;}
}


/* ===== d2aa-ux-v75.css ===== */
/* D2AA UX v75: archetype only belongs in the lower 3x3 grid cell. */
.grid-card-top .grid-aag-badge,
.grid-card > .grid-aag-badge,
.grid-primary-row .grid-aag-badge,
.grid-body > .grid-aag-badge{
  display:none!important;
}
.grid-slot-aag .grid-aag-badge{
  display:flex!important;
}


/* ===== d2aa-ux-v76.css ===== */
/* D2AA UX v76: rarity-aware tier display.
   Legendary keeps a 5-slot scale. Exotic uses a 2-slot scale. */

.grid-slot-tier,
.armor-row .tier{
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}
.grid-slot-tier[data-tier-max="2"],
.armor-row .tier[data-tier-max="2"]{
  letter-spacing:.02em!important;
  color:color-mix(in srgb,#f2c86b 82%,#fff)!important;
  text-shadow:0 0 12px rgba(242,200,107,.18)!important;
}
.grid-slot-tier[data-tier-max="5"],
.armor-row .tier[data-tier-max="5"]{
  letter-spacing:-.045em!important;
}
.grid-slot-tier .tier-filled,
.armor-row .tier .tier-filled{opacity:1!important;}
.grid-slot-tier .tier-empty,
.armor-row .tier .tier-empty{opacity:.36!important;filter:saturate(.75)!important;}


/* ===== d2aa-layout-fix.css ===== */
/* D2AA final layout repair overrides.
   Loaded after legacy UX files to stabilize the current grid/card markup. */

html.grid-view body,
body.grid-view{
  overflow-x:hidden;
}

body.grid-view .table-stage,
body.grid-view .table-panel,
body.grid-view .table-wrap{
  min-width:0;
}

body.grid-view #rows{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
  gap:14px!important;
  padding:14px!important;
  align-content:start!important;
  align-items:start!important;
}

body.grid-view .grid-card{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border-radius:16px!important;
  align-self:start!important;
  justify-self:stretch!important;
  contain:layout paint!important;
}

/* Hidden by default; fades in over the lower stat chips on hover/focus. */
body.grid-view .grid-card::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:92px!important;
  pointer-events:none!important;
  z-index:6!important;
  border-radius:0 0 16px 16px!important;
  background:linear-gradient(180deg,rgba(20,14,32,0),rgba(7,6,12,.76) 42%,rgba(3,3,7,.96) 100%)!important;
  opacity:0!important;
  transition:opacity .16s ease!important;
}

body.grid-view .grid-card:hover::after,
body.grid-view .grid-card:focus-within::after,
body.grid-view .grid-card.is-selected::after{
  opacity:1!important;
}

body.grid-view .grid-card-top{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:8px 10px!important;
  align-items:center!important;
  padding:10px!important;
  min-width:0!important;
  flex:0 0 auto!important;
}

body.grid-view .grid-item-icon{
  grid-row:1 / span 2!important;
  grid-column:1!important;
  width:58px!important;
  height:58px!important;
}

body.grid-view .grid-item-title{
  grid-column:2!important;
  min-width:0!important;
}

body.grid-view .grid-item-name{
  min-height:24px!important;
  font-size:12px!important;
  line-height:1.1!important;
}

body.grid-view .grid-icon-row{
  gap:6px!important;
  min-height:18px!important;
  overflow:hidden!important;
}

body.grid-view .grid-tag{
  position:absolute!important;
  top:6px!important;
  left:6px!important;
  z-index:12!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:16px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:none!important;
}

body.grid-view .grid-tag.is-empty{
  display:none!important;
}

/* Duplicate group corner marker: small corner tab, not a rounded pill. */
body.grid-view .grid-group-badge{
  position:absolute!important;
  top:0!important;
  right:0!important;
  z-index:15!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:24px!important;
  height:19px!important;
  padding:0 6px!important;
  border-radius:0 16px 0 8px!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  color:#fff!important;
  border:0!important;
  border-left:1px solid color-mix(in srgb,var(--group-glow,var(--accent)) 60%,rgba(255,255,255,.18))!important;
  border-bottom:1px solid color-mix(in srgb,var(--group-glow,var(--accent)) 60%,rgba(255,255,255,.18))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--group-glow,var(--accent)) 72%,rgba(0,0,0,.34)),rgba(0,0,0,.72))!important;
  box-shadow:0 0 12px color-mix(in srgb,var(--group-glow,var(--accent)) 38%,transparent)!important;
  text-transform:uppercase!important;
}

body.grid-view .grid-card:not(.is-dupe) .grid-group-badge{
  display:none!important;
}

body.grid-view .grid-body[data-slot-grid="1"]{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,34px)!important;
  gap:6px!important;
  padding:0 10px 10px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  flex:0 0 auto!important;
  margin:0!important;
}

body.grid-view .grid-body[data-slot-grid="1"] > *{
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  position:static!important;
  transform:none!important;
}

body.grid-view .grid-slot-total,
body.grid-view .grid-slot-tier,
body.grid-view .grid-slot-aag,
body.grid-view .grid-slot-stat{
  border-radius:10px!important;
}

body.grid-view .grid-slot-total{
  min-width:0!important;
  font-size:17px!important;
}

body.grid-view .grid-slot-tier{
  min-width:0!important;
  font-size:12px!important;
  letter-spacing:-.05em!important;
  white-space:nowrap!important;
}

body.grid-view .grid-slot-aag .grid-aag-badge{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  border-radius:10px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(0,0,0,.16)!important;
  box-shadow:none!important;
  opacity:1!important;
  padding:0!important;
}

body.grid-view .grid-slot-aag .grid-aag-icon{
  width:18px!important;
  height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
}

body.grid-view .grid-slot-aag .grid-aag-emoji{
  font-size:16px!important;
  line-height:1!important;
}

body.grid-view .grid-card-top .grid-aag-badge,
body.grid-view .grid-primary-row,
body.grid-view .grid-stats,
body.grid-view .grid-body > .grid-aag-badge,
body.grid-view .grid-card > .grid-aag-badge{
  display:none!important;
}

body.grid-view .grid-slot-stat.grid-stat{
  height:100%!important;
  gap:5px!important;
  font-size:12px!important;
  font-weight:950!important;
}

body.grid-view .grid-slot-stat.grid-stat img{
  width:15px!important;
  height:15px!important;
}

/* Hover overlay actions: no reserved footer height. */
body.grid-view .grid-actions{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-auto-rows:30px!important;
  gap:7px!important;
  padding:36px 10px 10px!important;
  margin:0!important;
  z-index:10!important;
  align-self:auto!important;
  flex:none!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translateY(8px)!important;
  background:linear-gradient(180deg,rgba(8,7,14,0),rgba(3,3,8,.72) 48%,rgba(2,2,5,.92) 100%)!important;
  border-radius:0 0 16px 16px!important;
  transition:opacity .16s ease,transform .16s ease!important;
}

body.grid-view .grid-card.is-dupe .grid-actions{
  grid-template-columns:1fr auto!important;
}

body.grid-view .grid-card:hover .grid-actions,
body.grid-view .grid-card:focus-within .grid-actions,
body.grid-view .grid-card.is-selected .grid-actions{
  pointer-events:auto!important;
  opacity:1!important;
  transform:translateY(0)!important;
}

body.grid-view .grid-actions::before{
  display:none!important;
}

body.grid-view .grid-actions--single{
  grid-template-columns:1fr!important;
}

body.grid-view .grid-action{
  position:relative!important;
  height:30px!important;
  border-radius:10px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025))!important;
  color:var(--text)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.20)!important;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease,color .14s ease!important;
}

body.grid-view .grid-action--group{
  border-color:color-mix(in srgb,var(--group-glow,var(--accent)) 64%,rgba(255,255,255,.16))!important;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--group-glow,var(--accent)) 26%,rgba(255,255,255,.075)),rgba(255,255,255,.025)),
    color-mix(in srgb,var(--group-glow,var(--accent)) 12%,rgba(0,0,0,.44))!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.24),0 0 16px color-mix(in srgb,var(--group-glow,var(--accent)) 22%,transparent)!important;
}

body.grid-view .grid-action--group .grid-action-slot-icon{
  background:color-mix(in srgb,var(--group-glow,var(--accent)) 72%,#fff)!important;
  opacity:1!important;
}

body.grid-view .grid-action--group span{
  color:#fff!important;
  text-shadow:0 0 10px color-mix(in srgb,var(--group-glow,var(--accent)) 58%,transparent)!important;
}

body.grid-view .grid-action--compare{
  grid-column:1 / -1!important;
  width:100%!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}

body.grid-view .grid-action:hover,
body.grid-view .grid-action:focus-visible{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--group-glow,var(--accent)) 55%,rgba(255,255,255,.18))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--group-glow,var(--accent)) 20%,rgba(255,255,255,.10)),rgba(255,255,255,.035))!important;
  box-shadow:0 10px 22px rgba(0,0,0,.28),0 0 14px color-mix(in srgb,var(--group-glow,var(--accent)) 18%,transparent)!important;
  color:var(--accent-strong)!important;
}

body.grid-view .grid-action--group:hover,
body.grid-view .grid-action--group:focus-visible{
  border-color:color-mix(in srgb,var(--group-glow,var(--accent)) 82%,rgba(255,255,255,.26))!important;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--group-glow,var(--accent)) 42%,rgba(255,255,255,.12)),color-mix(in srgb,var(--group-glow,var(--accent)) 16%,rgba(0,0,0,.58)))!important;
  box-shadow:0 11px 24px rgba(0,0,0,.32),0 0 20px color-mix(in srgb,var(--group-glow,var(--accent)) 36%,transparent)!important;
  color:#fff!important;
}

body.grid-view .grid-action:disabled{
  transform:none!important;
  opacity:.62!important;
  cursor:not-allowed!important;
}

body.grid-view .grid-card:hover .grid-slot-stat,
body.grid-view .grid-card.is-selected .grid-slot-stat,
body.grid-view .grid-card:focus-within .grid-slot-stat{
  filter:none!important;
  opacity:1!important;
}

body.grid-view .d2aa-grid-overview{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  padding:12px 14px 0!important;
}

body.grid-view .grid-class-card{
  min-height:44px!important;
  padding:7px 9px!important;
}

body.grid-view .class-pill{
  display:inline-flex!important;
  margin-right:4px!important;
}

@media (max-width:900px){
  body.grid-view #rows{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;}
  body.grid-view .d2aa-grid-overview{grid-template-columns:1fr!important;}
}


/* ===== d2aa-card-badges.css ===== */
/* Card badge and hover polish. */
body.grid-view .grid-card{
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}

body.grid-view .grid-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  opacity:0!important;
  z-index:1!important;
  background:
    radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--group-glow,var(--accent)) 24%,transparent),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.075),transparent 46%)!important;
  transition:opacity .16s ease!important;
}

body.grid-view .grid-card:hover::before,
body.grid-view .grid-card.is-selected::before,
body.grid-view .grid-card:focus-within::before{
  opacity:1!important;
}

body.grid-view .grid-card:hover{
  transform:translateY(-2px)!important;
  border-color:color-mix(in srgb,var(--group-glow,var(--accent)) 40%,rgba(255,255,255,.14))!important;
  box-shadow:0 18px 40px rgba(0,0,0,.36),0 0 22px color-mix(in srgb,var(--group-glow,var(--accent)) 18%,transparent)!important;
}

/* Keep normal card content above the hover wash, but do not pull overlays into layout flow. */
body.grid-view .grid-card > :not(.grid-group-badge):not(.grid-tag):not(.grid-actions){
  position:relative!important;
  z-index:2!important;
}

body.grid-view .grid-group-badge{
  position:absolute!important;
  top:0!important;
  right:0!important;
  left:auto!important;
  bottom:auto!important;
  z-index:17!important;
  display:inline-flex!important;
  transform:none!important;
}

body.grid-view .grid-tag.grid-info-badge{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  z-index:17!important;
  min-width:24px!important;
  height:19px!important;
  width:auto!important;
  padding:0 6px!important;
  border-radius:16px 0 8px 0!important;
  border:0!important;
  border-right:1px solid rgba(255,210,111,.42)!important;
  border-bottom:1px solid rgba(255,210,111,.42)!important;
  background:linear-gradient(135deg,rgba(0,0,0,.88),rgba(20,16,8,.82))!important;
  box-shadow:0 0 12px rgba(255,190,80,.20)!important;
  color:#ffd76f!important;
  text-shadow:0 1px 0 rgba(0,0,0,.75)!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  white-space:nowrap!important;
  transform:none!important;
}

body.grid-view .grid-tag.grid-info-badge .grid-info-light{
  color:#ffd76f!important;
  font-variant-numeric:tabular-nums!important;
}

body.grid-view .grid-tag.grid-info-badge .grid-info-dot{
  color:rgba(255,215,111,.68)!important;
  font-size:10px!important;
  line-height:1!important;
}

body.grid-view .grid-tag.grid-info-badge .grid-info-tag{
  font-size:12px!important;
  line-height:1!important;
}

body.grid-view .grid-tag.grid-info-badge.is-empty{
  display:none!important;
}

body.grid-view .grid-light,
body.grid-view .grid-power-pill{
  display:none!important;
}

body.grid-view .grid-class-card.is-empty{
  display:none!important;
}

body.grid-view .grid-actions{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

body.grid-view .grid-card:hover .grid-actions,
body.grid-view .grid-card:focus-within .grid-actions,
body.grid-view .grid-card.is-selected .grid-actions{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
