/* ============================================================================
   D2 GUN LOCKER  -  01-core-4.css  (part 4 of 4)
   ----------------------------------------------------------------------------
   Contiguous slice of the original stylesheet, cut only at rule boundaries and
   kept in EXACT cascade order (no rules reordered/removed). Load parts in order.
   See README for the component map; rules for one component may span parts.
   ============================================================================ */


  .right-filter-title-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    width: 100%;

    padding: 9px 10px;
    margin-bottom: 10px;

    border: 1px solid var(--border-dim);
    border-radius: 9px;

    background: var(--bg-secondary);
  }

  .right-filter-title-box .filter-controls-title {
    margin: 0 !important;

    color: var(--text-secondary);

    font-family: 'Rajdhani', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.7px;
    line-height: 1;

    text-transform: uppercase;
  }

  .right-filter-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 245px;
    grid-template-columns: none !important;
    gap: 8px;

    overflow-x: auto;
    overflow-y: hidden;

    padding-bottom: 8px;

    scrollbar-color: var(--border-bright) var(--bg-secondary);
  }

  .right-filter-grid::-webkit-scrollbar {
    height: 8px;
  }

  .right-filter-grid::-webkit-scrollbar-track {
    background: var(--bg-secondary);
    border-radius: 8px;
  }

  .right-filter-grid::-webkit-scrollbar-thumb {
    background: var(--border-bright);
    border-radius: 8px;
    border: 1px solid var(--bg-secondary);
  }

  .right-filter-group {
    border: 1px solid var(--border-dim);
    border-radius: 10px;
    background: var(--bg-perk);
    min-height: 155px;
    overflow: hidden;
  }

  .right-filter-group.has-active-filter {
    border-color: rgba(255,255,255,0.82) !important;
    box-shadow:
      0 0 0 1px rgba(255,255,255,0.28),
      0 0 14px rgba(255,255,255,0.08);
  }

  .right-filter-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;

    padding: 8px 9px;

    border-bottom: 1px solid var(--border-dim);
    background: rgba(255,255,255,0.025);
  }

  .right-filter-label {
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
  }

  .right-filter-group.has-active-filter .right-filter-label {
    color: var(--text-primary);
  }

  .right-filter-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 22px;
    padding: 3px 7px;

    border-radius: 6px;
    border: 1px solid rgba(255,120,120,0.32);

    background: rgba(255,80,80,0.10);
    color: #ffb6b6;

    font-family: 'Rajdhani', sans-serif;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.6px;
    line-height: 1;
    text-transform: uppercase;

    cursor: pointer;
  }

  .right-filter-clear:hover {
    border-color: rgba(255,120,120,0.58);
    background: rgba(255,80,80,0.18);
    color: #fff;
  }

  .right-filter-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;

    max-height: 122px;
    overflow-y: auto;

    padding: 8px;
  }

  .right-filter-chip {
    max-width: 100%;

    padding: 4px 7px;
    border-radius: 6px;
    border: 1px solid var(--border-dim);
    background: var(--bg-secondary);
    color: var(--text-secondary);

    font-family: 'Rajdhani', sans-serif;
    font-size: 10px;
    font-weight: 800;

    cursor: pointer;
    white-space: nowrap;
  }

  .right-filter-chip:hover,
  .right-filter-chip.active {
    background: var(--bg-card-hover);
    border-color: var(--border-bright);
    color: var(--text-primary);
  }

  .right-filter-empty {
    color: var(--text-dim);
    font-size: 11px;
    font-weight: 700;
    padding: 4px;
  }

  @media (max-width: 900px) {
    .right-filter-grid {
      grid-auto-columns: 220px;
    }
  }

  .right-filter-chip.active {
    border-color: rgba(var(--accent-rgb),0.75) !important;
    background: rgba(var(--accent-rgb),0.16) !important;
    color: var(--text-primary) !important;
  }

  .right-filter-title-box {
    padding: 8px 10px !important;
    background: rgba(255,255,255,0.018) !important;
  }

  .dc-stat-panel {
    z-index: 3 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto;
  }

  .dc-stat-empty {
    color: rgba(255,255,255,0.65);
    font-size: 12px;
    font-weight: 700;
    padding: 8px 0;
    text-align: right;
  }

  .ultimate-stats-panel .stats-bars:empty::after {
    content: 'No API stats found for this weapon yet.';
    display: block;
    color: var(--text-dim);
    font-size: 12px;
    font-weight: 700;
    padding: 8px 0;
  }

  .ultimate-stats-panel .stats-fill,
  .ultimate-stats-panel .stats-fill.elite,
  .ultimate-stats-panel .stats-fill.strong,
  .ultimate-stats-panel .stats-fill.good,
  .ultimate-stats-panel .stats-fill.low,
  .ultimate-stats-panel .stats-fill.very-low {
    background: rgba(255,255,255,0.82) !important;
  }

  .clear-list-filters,
  .clear-filter-btn,
  .clear-all-top,
  .build-clear-all-btn,
  .filter-controls-clear-btn,
  .right-filter-clear,
  .compare-action-btn[data-compare-clear],
  #clearAllFilters,
  #clearAllBtn,
  #clearBuildSubFiltersBtn,
  [data-clear-all-filters] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 28px !important;
    padding: 5px 11px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(255,120,120,0.32) !important;
    background: rgba(255,80,80,0.10) !important;
    color: #ffb6b6 !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0.8px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease !important;
  }

  .clear-list-filters:hover,
  .clear-filter-btn:hover,
  .clear-all-top:hover,
  .build-clear-all-btn:hover,
  .filter-controls-clear-btn:hover,
  .right-filter-clear:hover,
  .compare-action-btn[data-compare-clear]:hover,
  #clearAllFilters:hover,
  #clearAllBtn:hover,
  #clearBuildSubFiltersBtn:hover,
  [data-clear-all-filters]:hover {
    border-color: rgba(255,120,120,0.58) !important;
    background: rgba(255,80,80,0.18) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 0 0 1px rgba(255,120,120,0.10) inset, 0 8px 20px rgba(255,80,80,0.12) !important;
  }

  .clear-list-filters:active,
  .clear-filter-btn:active,
  .clear-all-top:active,
  .build-clear-all-btn:active,
  .filter-controls-clear-btn:active,
  .right-filter-clear:active,
  .compare-action-btn[data-compare-clear]:active,
  #clearAllFilters:active,
  #clearAllBtn:active,
  #clearBuildSubFiltersBtn:active,
  [data-clear-all-filters]:active {
    transform: translateY(0) !important;
  }

  .armor-page { display: grid; gap: 12px; }
  .armor-hero {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding: 14px 16px; background: var(--bg-card); border:1px solid var(--border-dim); border-radius:12px;
  }
  .armor-title { font-family: 'Orbitron', sans-serif; font-size: 15px; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; }
  .armor-subtitle { margin-top: 5px; color: var(--text-dim); font-size: 13px; font-weight: 600; line-height: 1.4; }
  .armor-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
  .armor-game-layout { display:grid; grid-template-columns:minmax(360px, .9fr) minmax(380px, 1.1fr); gap:12px; align-items:stretch; }
  .armor-game-left, .armor-picker-panel, .armor-totals-panel, .armor-fragments-panel {
    background: linear-gradient(170deg, rgba(42,45,53,.98), rgba(17,19,24,.98));
    border:1px solid var(--border-dim); border-radius:12px; overflow:hidden;
  }
  .armor-game-left { padding:14px; min-height:650px; display:grid; grid-template-rows:auto 1fr auto; gap:14px; }
  .armor-game-right { display:grid; grid-template-rows:auto auto 1fr; gap:12px; }
  .armor-section-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid var(--border-dim); background:rgba(255,255,255,.02); }
  .armor-card-title { color:var(--text-dim); font-size:11px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
  .armor-card-body { padding:12px; }
  .armor-class-tabs { display:flex; flex-wrap:wrap; gap:6px; }
  .armor-chip { padding:6px 10px; border-radius:7px; border:1px solid var(--border-dim); background:var(--bg-secondary); color:var(--text-secondary); font-family:'Rajdhani',sans-serif; font-size:12px; font-weight:800; text-transform:uppercase; cursor:pointer; }
  .armor-chip:hover, .armor-chip.active { background:var(--bg-card-hover); color:var(--text-primary); border-color:var(--border-bright); }
  .armor-character-card { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; background:rgba(0,0,0,.18); border:1px solid var(--border-dim); border-radius:10px; }
  .armor-class-name { font-family:'Orbitron',sans-serif; font-size:18px; font-weight:900; letter-spacing:1.4px; text-transform:uppercase; }
  .armor-class-sub { margin-top:3px; color:var(--text-dim); font-size:12px; font-weight:700; }
  .armor-class-emblem { width:54px; height:54px; border:2px solid rgba(255,255,255,.25); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Orbitron',sans-serif; font-size:21px; font-weight:900; color:rgba(255,255,255,.85); background:rgba(255,255,255,.06); }
  .armor-slot-column { display:flex; flex-direction:column; justify-content:space-between; gap:14px; min-height:465px; }
  .armor-slot-box { width:100%; min-height:78px; display:grid; grid-template-columns:62px 1fr auto; align-items:center; gap:12px; padding:10px; border:1px solid rgba(255,255,255,.13); background:rgba(10,12,16,.58); cursor:pointer; transition:all .16s ease; position:relative; }
  .armor-slot-box:hover { border-color:rgba(255,255,255,.35); background:rgba(28,34,54,.72); transform:translateX(2px); }
  .armor-slot-box.active { border-color:#ceae33; background:rgba(206,174,51,.08); box-shadow:inset 0 0 0 1px rgba(206,174,51,.22), 0 0 16px rgba(206,174,51,.08); }
  .armor-slot-icon { width:54px; height:54px; border:2px solid rgba(255,255,255,.28); background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; font-size:24px; }
  .armor-slot-main { min-width:0; }
  .armor-slot-title { color:#fff; font-size:15px; font-weight:900; letter-spacing:.5px; text-transform:uppercase; }
  .armor-slot-summary { margin-top:5px; color:rgba(255,255,255,.58); font-size:12px; font-weight:700; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .armor-slot-tier { display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:var(--accent-bright); font-size:13px; font-weight:900; white-space:nowrap; }
  .armor-slot-tertiary { color:rgba(255,255,255,.42); font-size:10px; font-weight:800; text-transform:uppercase; }
  .armor-picker-controls { display:grid; gap:10px; }
  .armor-picker-selected { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; background:rgba(0,0,0,.18); border:1px solid var(--border-dim); border-radius:9px; }
  .armor-picker-title { font-size:16px; font-weight:900; color:#fff; text-transform:uppercase; }
  .armor-picker-help { color:var(--text-dim); font-size:12px; font-weight:700; }
  .armor-field-grid { display:grid; grid-template-columns:1fr 130px 1fr; gap:8px; }
  .armor-field { display:grid; gap:5px; }
  .armor-field label { color:var(--text-dim); font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase; }
  .armor-select { width:100%; padding:8px 9px; border-radius:7px; border:1px solid var(--border-dim); background:var(--bg-secondary); color:var(--text-primary); font-family:'Rajdhani',sans-serif; font-size:13px; font-weight:800; outline:none; }
  .armor-select:focus { border-color:var(--border-bright); background:var(--bg-perk); }
  .armor-exotic-list { display:grid; gap:7px; max-height:238px; overflow:auto; padding-right:3px; }
  .armor-exotic-item { display:grid; grid-template-columns:34px 1fr auto; gap:8px; align-items:center; padding:8px; border:1px solid var(--border-dim); border-radius:8px; background:var(--bg-perk); cursor:pointer; }
  .armor-exotic-item:hover, .armor-exotic-item.active { border-color:var(--tier-exotic); background:rgba(206,174,51,.08); }
  .armor-exotic-icon { width:32px; height:32px; border:1px solid rgba(206,174,51,.55); background:rgba(206,174,51,.12); display:flex; align-items:center; justify-content:center; color:var(--accent-bright); font-size:15px; font-weight:900; }
  .armor-exotic-name { font-size:13px; font-weight:900; color:var(--text-primary); }
  .armor-exotic-slot { font-size:10px; font-weight:800; color:var(--text-dim); text-transform:uppercase; }
  .armor-total-grid { display:grid; gap:13px; padding:4px 2px; }
  .armor-total-row { display:grid; grid-template-columns:30px minmax(0,1fr) 56px; gap:14px; align-items:center; }
  .armor-total-name { color:var(--text-secondary); font-size:12px; font-weight:900; text-align:right; display:flex; align-items:center; justify-content:center; }
  .armor-total-name img, .armor-total-name svg, .armor-total-name .bc-stat-icon { width:24px; height:24px; }
  .armor-total-name .bc-stat-api-icon { filter:brightness(0) invert(1); opacity:.88; }
  .armor-total-bar { height:14px; background:rgba(255,255,255,.10); overflow:hidden; border-radius:2px; }
  .armor-total-fill { height:100%; width:0%; background:rgba(255,255,255,.85); }
  .armor-total-value { text-align:right; font-size:12px; font-weight:900; color:var(--text-primary); font-variant-numeric:tabular-nums; }
  .armor-total-value.good { color:#68e394; }
  .armor-total-value.bad { color:#ff7676; }
  .armor-note { color:var(--text-dim); font-size:12px; line-height:1.4; margin-top:9px; }
  .armor-fragment-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:7px; max-height:220px; overflow:auto; padding-right:3px; }
  .armor-fragment-item { width:100%; display:flex; justify-content:space-between; gap:8px; align-items:center; padding:7px 8px; border:1px solid var(--border-dim); border-radius:8px; background:var(--bg-perk); color:var(--text-secondary); cursor:pointer; }
  .armor-fragment-item:hover, .armor-fragment-item.active { color:var(--text-primary); border-color:var(--border-bright); background:var(--bg-card-hover); }
  .armor-fragment-name { font-size:12px; font-weight:800; }
  .armor-fragment-mod { font-size:11px; font-weight:900; color:var(--text-dim); white-space:nowrap; }
  .armor-fragment-item.active .armor-fragment-mod { color:var(--accent-bright); }
  @media (max-width: 1100px) { .armor-game-layout { grid-template-columns:1fr; } .armor-field-grid { grid-template-columns:1fr; } .armor-hero { flex-direction:column; align-items:flex-start; } .armor-actions { justify-content:flex-start; } }

  .bc-shell { display:grid; grid-template-columns:minmax(560px,1fr) minmax(480px,1fr); gap:12px; align-items:start; }
  .bc-left-panel, .bc-right-panel { background:linear-gradient(170deg, rgba(42,45,53,.98), rgba(17,19,24,.98)); border:1px solid var(--border-dim); border-radius:12px; overflow:hidden; }
  .bc-left-panel { padding:14px; display:grid; gap:14px; }
  .bc-character-strip { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; background:rgba(0,0,0,.18); border:1px solid var(--border-dim); border-radius:10px; }
  .bc-class-tabs { display:flex; flex-wrap:wrap; gap:6px; }
  .bc-slot-stack { display:flex; flex-direction:column; gap:10px; }
  .bc-armor-row { width:100%; display:grid; grid-template-columns:52px 216px 82px repeat(3, minmax(82px, 1fr)) 42px; gap:9px; align-items:center; padding:10px; border:1px solid rgba(255,255,255,.12); background:rgba(10,12,16,.58); cursor:pointer; transition:all .16s ease; }
  .bc-armor-row:hover { border-color:rgba(255,255,255,.34); background:rgba(28,34,54,.72); transform:translateX(2px); }
  .bc-armor-row.active { border-color:#ceae33; background:rgba(206,174,51,.08); box-shadow:inset 0 0 0 1px rgba(206,174,51,.22), 0 0 16px rgba(206,174,51,.08); }
  .bc-slot-label { display:flex; align-items:center; justify-content:center; min-width:0; }
  .bc-slot-icon { width:34px; height:34px; border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; flex:0 0 auto; color:rgba(255,255,255,.96); }
  .bc-slot-icon svg { width:28px; height:28px; display:block; fill:currentColor; stroke:none; }
  .bc-slot-icon svg .cut { fill:rgba(58,58,58,.95); }
  .bc-slot-icon .bc-d2-slot-svg.classitem { width:32px; height:32px; }
  .bc-slot-icon .bc-d2-slot-svg.boots { width:29px; height:29px; }
  .bc-armor-row.active .bc-slot-icon { color:#fff; border-color:rgba(206,174,51,.68); background:rgba(206,174,51,.10); box-shadow:0 0 10px rgba(206,174,51,.12); }
  .bc-armor-row.active .bc-slot-icon svg { filter:drop-shadow(0 0 5px rgba(255,255,255,.22)); }
  .bc-slot-name { display:none !important; }
  .bc-mod-box { min-height:62px; border:1px solid rgba(255,255,255,.14); background:rgba(0,0,0,.22); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:6px; color:rgba(255,255,255,.62); text-align:center; min-width:0; }
  .bc-mod-box.stat { border-color:rgba(206,174,51,.42); background:rgba(206,174,51,.07); }
  .bc-mod-box.filled { color:#fff; border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.06); }
  .bc-mod-kicker { font-size:8px; font-weight:900; letter-spacing:.8px; text-transform:uppercase; color:rgba(255,255,255,.38); }
  .bc-mod-name { max-width:100%; font-size:11px; font-weight:900; line-height:1.05; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .bc-right-panel { display:grid; gap:0; }
  .bc-right-body { padding:12px; display:grid; gap:12px; }
  .bc-editor-grid { display:grid; grid-template-columns:1fr; gap:9px; }
  .bc-editor-row { display:grid; grid-template-columns:110px minmax(0,1fr); gap:8px; align-items:center; }
  .bc-editor-label { color:var(--text-dim); font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase; text-align:right; }
  .bc-mini-note { color:var(--text-dim); font-size:12px; line-height:1.4; background:rgba(0,0,0,.16); border:1px solid var(--border-dim); border-radius:9px; padding:9px 10px; }
  @media (max-width: 1100px) { .bc-shell { grid-template-columns:1fr; } .bc-armor-row { grid-template-columns:96px 200px 76px repeat(3, minmax(76px,1fr)) 42px; } }
  @media (max-width: 700px) { .bc-armor-row { grid-template-columns:1fr 1fr; } .bc-slot-label { grid-column:1 / -1; } }

  .bc-armor-row { position: relative; }
  .bc-mod-box { cursor: pointer; position: relative; user-select: none; }
  .bc-mod-box:hover, .bc-mod-box.active { border-color: #ceae33; background: rgba(206,174,51,.10); color:#fff; }
  .bc-mod-cost { margin-top:2px; font-size:8px; font-weight:900; color:rgba(255,255,255,.42); }
  .bc-dropdown { position:fixed; z-index:99999; min-width:260px; max-width:360px; max-height:300px; overflow:auto; background:rgba(10,12,16,.98); border:1px solid var(--border-bright); box-shadow:0 18px 42px rgba(0,0,0,.70); border-radius:9px; padding:6px; overscroll-behavior:contain; }
  .bc-dropdown.backdrop-safe { pointer-events:auto; }
  .bc-dropdown-title { padding:6px 8px 8px; color:var(--text-dim); font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase; border-bottom:1px solid var(--border-dim); margin-bottom:5px; }
  .bc-drop-option { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; padding:7px 8px; border:0; border-radius:7px; background:transparent; color:var(--text-secondary); font-family:'Rajdhani',sans-serif; text-align:left; cursor:pointer; }
  .bc-drop-option:hover, .bc-drop-option.selected { background:var(--bg-card-hover); color:var(--text-primary); }
  .bc-drop-name { font-size:12px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .bc-drop-desc { margin-top:2px; font-size:10px; font-weight:600; color:var(--text-dim); line-height:1.2; white-space:normal; }
  .bc-drop-cost { font-size:10px; font-weight:900; color:var(--accent-dim); }

  .bc-stat-package { display:grid; grid-template-columns:repeat(6, 32px); grid-template-rows:62px 28px; gap:5px; min-width:0; width:217px; align-items:stretch; }
  .bc-package-box, .bc-tier-box, .bc-tertiary-box, .bc-focus-box, .bc-bonus-box { border:1px solid rgba(255,255,255,.14); background:rgba(0,0,0,.22); color:rgba(255,255,255,.72); display:flex; align-items:center; justify-content:center; text-align:center; cursor:pointer; user-select:none; min-width:0; overflow:hidden; }
  .bc-package-box:hover, .bc-tier-box:hover, .bc-tertiary-box:hover, .bc-focus-box:hover, .bc-bonus-box:hover, .bc-package-box.active, .bc-tier-box.active, .bc-tertiary-box.active, .bc-focus-box.active, .bc-bonus-box.active { border-color:#ceae33; background:rgba(206,174,51,.10); color:#fff; }
  .bc-package-box { grid-column:1 / 3; padding:4px; }
  .bc-tier-box { grid-column:3 / 5; padding:4px; font-size:12px; font-weight:900; color:var(--accent-dim); }
  .bc-tertiary-box { grid-column:5 / 7; padding:4px; justify-content:center; }
  .bc-focus-box { grid-column:1 / 4; grid-row:2; padding:2px 5px; justify-content:center; }
  .bc-bonus-box { grid-column:4 / 7; grid-row:2; padding:2px 5px; justify-content:center; }
  .bc-package-name { font-size:10px; font-weight:900; line-height:1.05; white-space:normal; overflow:hidden; text-overflow:ellipsis; max-width:100%; text-transform:uppercase; }
  .bc-package-symbol { font-size:24px; font-weight:900; line-height:1; color:var(--accent-dim); text-shadow:0 0 8px rgba(var(--accent-rgb),.20); }
  .bc-drop-name.group-name { display:flex; align-items:center; gap:7px; }
  .bc-drop-group-symbol { width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; color:var(--accent-dim); font-size:17px; font-weight:900; line-height:1; }
  .bc-package-sub { margin-top:3px; font-size:7.5px; font-weight:800; line-height:1.05; color:rgba(255,255,255,.42); text-transform:uppercase; white-space:normal; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
  .bc-focus-box.disabled, .bc-bonus-box.disabled { opacity:.35; cursor:not-allowed; border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.03); }
  .bc-focus-symbol { display:inline-block; margin-right:3px; color:var(--accent-dim); font-weight:900; letter-spacing:-1px; }
  .bc-focus-name, .bc-bonus-name { font-size:8.5px; font-weight:900; letter-spacing:.35px; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
  .bc-tertiary-name { font-size:9px; font-weight:900; letter-spacing:.35px; line-height:1.05; text-transform:uppercase; white-space:normal; overflow:hidden; text-overflow:ellipsis; max-width:100%; }

  .bc-package-symbol img, .bc-package-symbol svg, .bc-package-symbol .bc-stat-icon { width:30px; height:30px; }
  .bc-tertiary-icon { display:flex; align-items:center; justify-content:center; width:100%; }
  .bc-tertiary-icon img, .bc-tertiary-icon svg, .bc-tertiary-icon .bc-stat-icon { width:28px; height:28px; }
  .bc-stat-icon { display:inline-flex; align-items:center; justify-content:center; object-fit:contain; }
  .bc-stat-api-icon { filter:brightness(0) invert(1); opacity:.95; }
  .bc-package-box.active .bc-stat-api-icon, .bc-tertiary-box.active .bc-stat-api-icon { opacity:1; filter:brightness(0) invert(1) drop-shadow(0 0 5px rgba(206,174,51,.4)); }
  .bc-stat-fallback-svg, .bc-class-fallback-svg { width:100%; height:100%; fill:#fff; display:block; }
  .bc-class-fallback-svg path { fill:#fff; }
  .bc-stat-fallback-icon { display:inline-flex; align-items:center; justify-content:center; }
  .bc-package-placeholder { font-size:22px; font-weight:900; line-height:1; color:var(--accent-dim); }
  .bc-drop-group-symbol img, .bc-drop-group-symbol svg, .bc-drop-group-symbol .bc-stat-icon { width:18px; height:18px; }
  .bc-drop-group-symbol .bc-stat-api-icon { filter:brightness(0) invert(1); opacity:.92; }
  .bc-window-head .armor-detail-title { color:var(--text-primary); }

  .bc-exotic-row { display:flex; flex-direction:column; gap:6px; padding:10px 12px; background:rgba(0,0,0,.18); border:1px solid var(--border-dim); border-radius:10px; }
  .bc-exotic-label { font-size:10px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-dim); display:flex; align-items:center; gap:8px; }
  .bc-exotic-class-tag { color:var(--tier-exotic); font-size:9px; letter-spacing:1px; }
  .bc-exotic-box { display:flex; align-items:center; gap:10px; padding:8px 10px; background:var(--bg-secondary); border:1px solid var(--border-bright); border-radius:8px; cursor:pointer; outline:none; }
  .bc-exotic-box:hover, .bc-exotic-box.open { border-color:var(--tier-exotic); background:var(--bg-card); }
  .bc-exotic-box-icon { width:30px; height:30px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.3); border-radius:5px; color:var(--text-dim); overflow:hidden; }
  .bc-exotic-box-icon img { width:100%; height:100%; object-fit:contain; }
  .bc-exotic-box.filled .bc-exotic-box-icon { border:1px solid var(--tier-exotic); }
  .bc-exotic-box-name { flex:1; min-width:0; font-size:14px; font-weight:700; color:var(--text-primary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .bc-exotic-box:not(.filled) .bc-exotic-box-name { color:var(--text-dim); font-weight:600; }
  .bc-exotic-caret { color:var(--text-dim); font-size:12px; flex:0 0 auto; }
  .bc-exotic-list {
    margin-top:6px;
    max-height:430px;
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid var(--border-dim);
    border-radius:8px;
    background:var(--bg-primary);
    padding:8px;
    scrollbar-width:thin;
    scrollbar-color:var(--border-bright) var(--bg-secondary);
  }
  .bc-exotic-list::-webkit-scrollbar { width:8px; height:8px; }
  .bc-exotic-list::-webkit-scrollbar-track { background:var(--bg-secondary); border-radius:8px; }
  .bc-exotic-list::-webkit-scrollbar-thumb { background:var(--border-bright); border-radius:8px; border:1px solid var(--bg-secondary); }
  .bc-exotic-clear { margin-bottom:8px; }
  .bc-exotic-grid {
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:6px;
    min-width:0;
  }
  .bc-exotic-slot-col {
    min-width:0;
    background:var(--bg-perk);
    border:1px solid var(--border-dim);
    border-radius:8px;
    overflow:hidden;
  }
  .bc-exotic-group-head {
    position:sticky;
    top:0;
    z-index:2;
    padding:8px 9px;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.4px;
    text-transform:uppercase;
    color:var(--tier-exotic);
    background:linear-gradient(180deg, rgba(22,27,40,.98), rgba(13,16,24,.96));
    border-bottom:1px solid var(--border-dim);
  }
  .bc-exotic-slot-items { display:flex; flex-direction:column; gap:3px; padding:5px; }
  .bc-exotic-item { border-radius:7px; overflow:hidden; border:1px solid transparent; background:rgba(255,255,255,.015); }
  .bc-exotic-item.selected { border-color:rgba(206,174,51,.65); background:rgba(206,174,51,.10); box-shadow:inset 0 0 0 1px rgba(206,174,51,.25); }
  .bc-exotic-item-row { display:grid; grid-template-columns:34px minmax(0,1fr) 18px; align-items:center; gap:5px; padding:5px; cursor:pointer; min-height:45px; }
  .bc-exotic-clear .bc-exotic-item-row { grid-template-columns:34px minmax(0,1fr); }
  .bc-exotic-item-row:hover { background:rgba(255,255,255,.055); }
  .bc-exotic-item-icon { width:34px; height:34px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08); border-radius:5px; color:var(--text-dim); overflow:hidden; font-size:13px; }
  .bc-exotic-item-icon img { width:100%; height:100%; object-fit:cover; }
  .bc-exotic-item-name { min-width:0; font-size:10.5px; font-weight:800; line-height:1.1; color:var(--text-primary); overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .bc-exotic-clear .bc-exotic-item-name { color:var(--text-dim); font-weight:700; }
  .bc-exotic-expand { flex:0 0 auto; width:18px; height:22px; border:1px solid var(--border-dim); border-radius:4px; background:var(--bg-secondary); color:var(--text-secondary); cursor:pointer; font-size:9px; line-height:1; display:flex; align-items:center; justify-content:center; }
  .bc-exotic-expand:hover { border-color:var(--tier-exotic); color:var(--text-primary); }
  .bc-exotic-perks { padding:0 6px 8px 44px; display:flex; flex-direction:column; gap:6px; }
  .bc-exotic-perk-head { display:flex; align-items:center; gap:6px; }
  .bc-exotic-perk-icon { width:18px; height:18px; object-fit:contain; }
  .bc-exotic-perk-name { font-size:11px; font-weight:900; color:var(--tier-exotic); letter-spacing:.3px; }
  .bc-exotic-perk-desc { margin-top:3px; font-size:11px; line-height:1.35; color:var(--text-secondary); }
  @media (max-width: 1250px) {
    .bc-exotic-grid { grid-template-columns:repeat(5, minmax(0, 1fr)); min-width:0; }
  }
  .bc-row-clear-btn {
    width:34px;
    height:62px;
    border:1px solid rgba(var(--accent-rgb),.55);
    background:linear-gradient(180deg, rgba(var(--accent-rgb),.28), rgba(var(--accent-rgb),.24));
    color:var(--accent-bright);
    border-radius:7px;
    font-family:'Rajdhani',sans-serif;
    font-size:9px;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;
    cursor:pointer;
    padding:4px;
    transition:all .18s ease;
  }

  .bc-row-clear-btn:hover {
    color:#fff;
    border-color:rgba(var(--accent-rgb),.9);
    background:linear-gradient(180deg, rgba(var(--accent-rgb),.42), rgba(var(--accent-rgb),.34));
    box-shadow:0 0 12px rgba(var(--accent-rgb),.25);
  }

  .bc-row-clear-btn:active {
    transform:translateY(1px);
  }

  .bc-mod-summary-grid { display:grid; gap:8px; }
  .bc-selected-mod-card { background:var(--bg-perk); border:1px solid var(--border-dim); border-radius:9px; padding:9px; }
  .bc-selected-mod-card.active { border-color:#ceae33; background:rgba(206,174,51,.06); }
  .bc-selected-mod-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
  .bc-selected-mod-title { color:var(--text-primary); font-size:13px; font-weight:900; line-height:1.15; }
  .bc-selected-mod-meta { color:var(--text-dim); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.8px; white-space:nowrap; }
  .bc-selected-mod-desc { margin-top:6px; color:var(--text-secondary); font-size:12px; line-height:1.35; }
  .bc-piece-stat-grid { display:grid; gap:13px; padding:4px 2px; }
  .bc-piece-stat-row { display:grid; grid-template-columns:30px minmax(0,1fr) 36px; gap:14px; align-items:center; }
  .bc-piece-stat-name { color:var(--text-dim); font-size:11px; font-weight:900; text-align:right; }
  .bc-piece-stat-icon { display:flex; align-items:center; justify-content:center; }
  .bc-piece-stat-icon img, .bc-piece-stat-icon svg, .bc-piece-stat-icon .bc-stat-icon { width:24px; height:24px; }
  .bc-piece-stat-icon .bc-stat-api-icon { filter:brightness(0) invert(1); opacity:.88; }
  .bc-piece-stat-row.focused .bc-piece-stat-icon .bc-stat-api-icon { opacity:1; filter:brightness(0) invert(1) drop-shadow(0 0 5px rgba(206,174,51,.55)); }
  .bc-piece-stat-row.focused .bc-piece-stat-value { color:var(--tier-exotic); }
  .bc-piece-stat-bar { height:11px; background:rgba(255,255,255,.10); border-radius:3px; overflow:hidden; position:relative; }
  .bc-piece-stat-fill { height:100%; background:rgba(255,255,255,.82); }
  .bc-piece-stat-segment { position:absolute; top:0; height:100%; }
  .bc-piece-stat-segment.base { left:0; background:rgba(255,255,255,.82); }
  .bc-piece-stat-segment.positive { background:#43d17a; }
  .bc-piece-stat-segment.masterwork { background:var(--accent); }
  .bc-piece-stat-segment.negative { background:#e25555; }
  .bc-piece-stat-value { color:var(--text-primary); font-size:12px; font-weight:900; text-align:right; }

  .bc-stat-breakdown-grid { display:grid; gap:5px; margin-top:8px; }
  .bc-stat-breakdown-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 7px; border:1px solid rgba(255,255,255,.055); background:rgba(255,255,255,.018); border-radius:6px; }
  .bc-stat-breakdown-name { color:var(--text-dim); font-size:10px; font-weight:900; letter-spacing:.7px; text-transform:uppercase; }
  .bc-stat-breakdown-values { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; font-size:11px; font-weight:900; font-variant-numeric:tabular-nums; }
  .bc-stat-part { color:var(--text-primary); }
  .bc-stat-part.positive { color:#68e394; }
  .bc-stat-part.masterwork { color:var(--accent); }
  .bc-stat-part.negative { color:#ff7676; }
  .bc-piece-stat-deltas { display:none !important; }

  .armor-db-layout { display:grid; grid-template-columns:minmax(220px, 1fr) 9px minmax(300px, 1fr); gap:8px; align-items:start; }
  .armor-list-panel { min-width:0; }
  .armor-filter-panel { background:var(--bg-card); border:1px solid var(--border-dim); border-radius:12px; margin-bottom:10px; overflow:hidden; }
  .armor-filter-title-row { padding:9px 12px; border-bottom:1px solid var(--border-dim); background:rgba(255,255,255,.015); display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .armor-filter-title { font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-dim); }
  .armor-filter-grid { padding:10px; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 32px) / 5); gap:8px; overflow-x:auto; overflow-y:hidden; scrollbar-color:var(--border-bright) var(--bg-secondary); }
  .armor-grid { display:grid; grid-template-columns:1fr; gap:7px; }
  .armor-card { background:var(--bg-card); border:1px solid var(--border-dim); border-left:4px solid var(--tier-legendary); overflow:hidden; cursor:pointer; transition:all .2s; }
  .armor-card.exotic { border-left-color:var(--tier-exotic); }

  .armor-card { overflow: hidden; }
  .armor-card.expanded { border-color: var(--border-bright); box-shadow: 0 6px 24px rgba(0,0,0,.3); }
  .armor-card-perks-expanded {
    max-height: 0;
    overflow: hidden;
    transition: max-height .28s ease;
    border-top: 0 solid transparent;
  }
  .armor-card.expanded .armor-card-perks-expanded {
    max-height: 520px;
    border-top: 1px solid var(--border-dim);
  }
  .armor-card-perks-inner { padding: 9px 12px 12px; display: grid; gap: 6px; }
  .armor-card-perk-row {
    display: grid;
    grid-template-columns: 28px minmax(0,1fr);
    gap: 8px;
    align-items: center;
    padding: 6px 7px;
    border: 1px solid var(--border-dim);
    border-radius: 7px;
    background: var(--bg-perk);
    cursor: pointer;
  }
  .armor-card-perk-row:hover,
  .armor-card-perk-row.active {
    border-color: var(--tier-exotic);
    background: rgba(206,174,51,.08);
  }
  .armor-card-perk-icon { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--border-dim); background: var(--bg-secondary); overflow: hidden; display: flex; align-items: center; justify-content: center; color: var(--text-dim); }
  .armor-card-perk-icon img { width: 100%; height: 100%; object-fit: cover; }
  .armor-card-perk-name { font-size: 12px; font-weight: 900; color: var(--text-primary); line-height: 1.15; }
  .armor-card-perk-desc { margin-top: 2px; font-size: 11px; color: var(--text-dim); line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .armor-detail-tabs { display:flex; gap:7px; padding:10px; border-bottom:1px solid var(--border-dim); background:var(--bg-secondary); }
  .armor-detail-tab { padding:7px 12px; border-radius:7px; border:1px solid var(--border-dim); background:var(--bg-perk); color:var(--text-secondary); font-family:'Rajdhani',sans-serif; font-size:12px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; cursor:pointer; }
  .armor-detail-tab.active, .armor-detail-tab:hover { color:var(--text-primary); border-color:var(--border-bright); background:var(--bg-card-hover); }
  .armor-stat-info { display:grid; gap:10px; }
  .armor-stat-hero { background:var(--bg-perk); border:1px solid var(--border-dim); border-radius:10px; padding:11px; }
  .armor-stat-kicker { color:var(--text-dim); font-size:10px; font-weight:900; letter-spacing:1.3px; text-transform:uppercase; }
  .armor-stat-title { margin-top:3px; color:var(--text-primary); font-size:18px; font-weight:900; line-height:1.1; }
  .armor-stat-desc { margin-top:8px; color:var(--text-secondary); font-size:13px; line-height:1.4; }
  .armor-stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .armor-stat-card { background:var(--bg-perk); border:1px solid var(--border-dim); border-radius:9px; padding:9px; }
  .armor-stat-card-label { color:var(--text-dim); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:1px; }
  .armor-stat-card-value { margin-top:4px; color:var(--text-primary); font-size:15px; font-weight:900; line-height:1.15; }

  .armor-card:hover, .armor-card.selected { border-top-color:rgba(var(--accent-rgb),.6); border-right-color:rgba(var(--accent-rgb),.6); border-bottom-color:rgba(var(--accent-rgb),.6); box-shadow:0 6px 24px rgba(0,0,0,.3), 0 0 0 2px rgba(var(--accent-rgb),.5); transform:translateY(-1px); }
  .armor-card-top { padding:10px 12px; display:flex; align-items:center; gap:12px; }
  .armor-db-icon { width:52px; height:52px; background:var(--bg-primary); border:1px solid var(--border-dim); overflow:hidden; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
  .armor-db-icon img { width:100%; height:100%; object-fit:cover; }
  .armor-db-info { flex:1; min-width:0; }
  .armor-db-name { font-size:16px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.2; }
  .armor-db-meta { margin-top:3px; color:var(--text-secondary); font-size:11px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
  .armor-db-source { margin-top:3px; color:var(--text-dim); font-size:11px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .armor-perk-preview { padding:0 12px 10px 76px; display:flex; flex-wrap:wrap; gap:5px; }
  .armor-perk-chip { max-width:180px; padding:3px 7px; border-radius:6px; border:1px solid var(--border-dim); background:var(--bg-perk); color:var(--text-secondary); font-size:10px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .armor-detail-window { position:sticky; top:86px; height:calc(100vh - 110px); background:var(--bg-card); border:1px solid var(--border-dim); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
  .armor-detail-header { padding:14px 16px; border-bottom:1px solid var(--border-dim); background:rgba(255,255,255,.015); }
  .armor-detail-title { font-family:'Orbitron',sans-serif; font-size:13px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--d2-red); }
  .armor-detail-selected { margin-top:5px; color:var(--text-secondary); font-size:13px; font-weight:600; }
  .armor-detail-content { padding:12px; overflow:auto; flex:1; min-height:0; }
  .armor-inspect-hero { background:linear-gradient(170deg,#2a2d35 0%,#151922 100%); border:1px solid var(--border-dim); border-radius:12px; overflow:hidden; }
  .armor-inspect-top { padding:14px; display:grid; grid-template-columns:76px 1fr; gap:12px; align-items:center; }
  .armor-inspect-icon { width:76px; height:76px; border:2px solid rgba(255,255,255,.28); background:rgba(0,0,0,.35); overflow:hidden; }
  .armor-inspect-icon img { width:100%; height:100%; object-fit:cover; }
  .armor-inspect-name { color:#fff; font-size:22px; font-weight:900; line-height:1; text-transform:uppercase; }
  .armor-inspect-meta { margin-top:5px; color:rgba(255,255,255,.55); font-size:12px; font-weight:800; text-transform:uppercase; }
  .armor-inspect-desc { padding:0 14px 14px; color:rgba(255,255,255,.55); font-size:13px; line-height:1.4; font-style:italic; }
  .armor-perk-list { display:grid; gap:7px; margin-top:12px; }
  .armor-perk-row { display:grid; grid-template-columns:34px 1fr; gap:9px; align-items:start; padding:8px; border:1px solid var(--border-dim); border-radius:8px; background:var(--bg-perk); }
  .armor-perk-row-icon { width:34px; height:34px; border-radius:50%; border:1px solid var(--border-dim); background:var(--bg-secondary); overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--text-dim); }
  .armor-perk-row-icon img { width:100%; height:100%; object-fit:cover; }
  .armor-perk-row-name { font-size:13px; font-weight:900; color:var(--text-primary); }
  .armor-perk-row-desc { margin-top:3px; color:var(--text-dim); font-size:12px; line-height:1.35; }
  @media (max-width:1100px) { .armor-db-layout { grid-template-columns:1fr; } .armor-detail-window { position:relative; top:auto; height:auto; max-height:70vh; } .armor-filter-grid { grid-auto-columns:260px; } }

:root {
  --bg-primary: #07090d;
  --bg-secondary: #0d1016;
  --bg-card: #11151c;
  --bg-card-hover: #171c25;
  --bg-perk: #0b0e13;
  --border-dim: rgba(255,255,255,.09);
  --border-bright: rgba(255,255,255,.18);
  --text-primary: #f2f4f7;
  --text-secondary: #b7bdc8;
  --text-dim: #747b8a;
  --d2-red: var(--accent);
  --d2-red-soft: rgba(var(--accent-rgb),.12);
  --d2-red-border: rgba(var(--accent-rgb),.45);
}

body {
  background:
    radial-gradient(circle at top left, rgba(var(--accent-rgb), var(--glow-a1)), transparent var(--glow-r1)),
    radial-gradient(circle at bottom right, color-mix(in srgb, var(--accent-2), transparent var(--glow-t2)), transparent var(--glow-r2)),
    linear-gradient(180deg, #07090d 0%, #05070a 100%) !important;
  background-attachment: fixed !important;
  color: var(--text-primary) !important;
}

.header {
  padding: 0 24px !important;
  min-height: 78px;
  background: linear-gradient(180deg, rgba(7,9,13,.98), rgba(7,9,13,.94)) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.35);
}

.header-inner {
  max-width: 1680px !important;
  min-height: 78px;
  gap: 28px !important;
}

.logo-icon { width: 42px !important; height: 42px !important; }
.logo-text {
  font-size: 20px !important;
  letter-spacing: 2.8px !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
}
.logo-sub {
  color: var(--d2-red) !important;
  font-size: 11px !important;
  letter-spacing: 3.5px !important;
  margin-top: -1px !important;
}

.filters {
  gap: 0 !important;
  align-self: stretch;
}

.filter-btn,
.page-nav-btn {
  min-height: 78px;
  border-radius: 0 !important;
  border: 0 !important;
  border-left: 1px solid transparent !important;
  border-right: 1px solid transparent !important;
  background: transparent !important;
  color: #b9c0cc !important;
  padding: 0 22px !important;
  font-size: 14px !important;
  letter-spacing: 1.1px !important;
  font-weight: 800 !important;
  position: relative;
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.page-nav-btn .nav-icon { display: flex; align-items: center; justify-content: center; height: 26px; }
.page-nav-btn .nav-icon svg { width: 26px; height: 26px; }
.page-nav-btn .nav-label { font-size: 12px; line-height: 1; letter-spacing: 1px; }

.filter-btn:hover {
  color: #fff !important;
  background: rgba(255,255,255,.035) !important;
}

.page-nav-btn:hover {
  color: var(--accent-bright) !important;
  background: rgba(var(--accent-rgb),.10) !important;
  border-color: rgba(var(--accent-rgb),.38) !important;
}

.filter-btn.active,
.page-nav-btn.active {
  color: var(--accent-bright) !important;
  background: var(--accent-fill-grad) !important;
  border-left-color: rgba(var(--accent-rgb),.22) !important;
  border-right-color: rgba(var(--accent-rgb),.22) !important;
}

.filter-btn.active::after,
.page-nav-btn.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--d2-red);
  box-shadow: 0 0 14px rgba(var(--accent-rgb),.45);
}

.search-container {
  max-width: 360px !important;
}

.search-input {
  height: 44px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 4px !important;
  color: #fff !important;
}

.search-input:focus {
  border-color: rgba(var(--accent-rgb),.55) !important;
  box-shadow: 0 0 0 1px rgba(var(--accent-rgb),.12);
}

.main {
  max-width: 1680px !important;
  padding: 24px 28px 70px !important;
}

.weapon-filter-panel,
.build-window,
.armor-db-panel,
.armor-page-card,
.crafter-hero,
.alt-section,
.filter-controls,
.filter-summary,
.compare-toolbar,
.compare-weapon-card,
.bc-left-panel,
.bc-right-panel,
.armor-card,
.destiny-crafter {
  background: linear-gradient(180deg, rgba(19,23,31,.88), rgba(10,13,18,.96)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 6px !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.34);
}

.weapon-filter-title-row,
.weapon-filter-title,
.build-window-header,
.alt-section-title,
.filter-controls-title,
.armor-section-head,
.armor-filter-title-row {
  background: rgba(255,255,255,.025) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.weapon-filter-title,
.alt-section-title,
.filter-controls-title,
.armor-card-title,
.armor-filter-title {
  color: var(--d2-red) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 15px !important;
  letter-spacing: 1px !important;
  font-weight: 900 !important;
}

.build-actions {
  background: rgba(0,0,0,.22) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.clear-all-top,
.clear-list-filters,
.compare-action-btn,
.armor-chip,
.weapon-filter-chip,
.filter-chip {
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.035) !important;
  color: #d7dbe2 !important;
  letter-spacing: .7px !important;
}

.clear-all-top:hover,
.clear-list-filters:hover,
.compare-action-btn:hover,
.armor-chip:hover,
.weapon-filter-chip:hover,
.filter-chip:hover {
  border-color: rgba(var(--accent-rgb),.55) !important;
  background: rgba(var(--accent-rgb),.09) !important;
  color: #fff !important;
}

.build-btn.active,
.armor-chip.active,
.weapon-filter-chip.active,
.filter-chip.active {
  border-color: rgba(var(--accent-rgb),.72) !important;
  background: var(--accent-fill-grad) !important;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 rgba(var(--accent-rgb),.75);
}

.weapon-card {
  border-radius: 4px !important;
  background: linear-gradient(180deg, rgba(19,23,31,.9), rgba(9,12,17,.96)) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
}

.weapon-card:hover,
.weapon-card.selected {
  border-color: rgba(var(--accent-rgb),.6) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.42), 0 0 0 2px rgba(var(--accent-rgb),.5) !important;
}

.weapon-card.exotic { border-left: 3px solid var(--tier-exotic) !important; }
.weapon-card.legendary { border-left: 3px solid #8f55b5 !important; }

.weapon-filter-group,
.perk-column,
.stat-number-card,
.crafter-empty-note,
.alt-perk-col {
  border-radius: 4px !important;
  background: rgba(0,0,0,.22) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}

.perk-col-header,
.weapon-filter-label,
.filter-control-label,
.stat-section-title {
  color: #9aa2b2 !important;
}

.weapon-icon,
.alt-icon,
.perk-icon {
  border-radius: 3px !important;
  border-color: rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.04) !important;
}

.bc-armor-row {
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  background: rgba(0,0,0,.12) !important;
}

.bc-armor-row:hover {
  border-color: rgba(var(--accent-rgb),.32) !important;
  background: rgba(255,255,255,.035) !important;
  transform: none !important;
}

.bc-armor-row.active {
  border-color: rgba(var(--accent-rgb),.58) !important;
  background: rgba(var(--accent-rgb),.08) !important;
  box-shadow: inset 2px 0 0 var(--d2-red), 0 0 18px rgba(var(--accent-rgb),.08) !important;
}

.bc-slot-icon {
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  width: 40px !important;
  height: 40px !important;
}

.bc-mod-box {
  border-radius: 4px !important;
  border: 1px dashed rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.025) !important;
}

.bc-mod-box.filled {
  border-style: solid !important;
  border-color: rgba(255,255,255,.26) !important;
  background: rgba(255,255,255,.065) !important;
}

.bc-row-clear-btn {
  border-radius: 4px !important;
}

.bc-mini-note,
.armor-picker-help,
.build-selected,
.alt-meta,
.filter-summary,
.weapon-filter-count {
  color: #8f97a6 !important;
}

.stat-bar,
.dc-stat-bar {
  border-radius: 2px !important;
  background: rgba(255,255,255,.12) !important;
}

.stat-fill,
.dc-stat-fill {
  background: rgba(255,255,255,.82) !important;
}

::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.18) !important;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(var(--accent-rgb),.45) !important;
}

.clear-all-top,
.clear-list-filters,
.build-clear-all,
.weapon-clear-all,
.armor-clear-all,
[data-clear-all],
button[class*="clear-all"] {
  border:1px solid rgba(255,120,120,.32) !important;
  background:rgba(255,80,80,.10) !important;
  color:#ffb6b6 !important;
}

.clear-all-top:hover,
.clear-list-filters:hover,
.build-clear-all:hover,
.weapon-clear-all:hover,
.armor-clear-all:hover,
[data-clear-all]:hover,
button[class*="clear-all"]:hover {
  color:#fff !important;
  border-color:rgba(255,120,120,.58) !important;
  background:rgba(255,80,80,.18) !important;
  box-shadow:0 0 12px rgba(255,63,63,.25) !important;
}

.bc-row-clear-btn {
  border:1px solid rgba(var(--accent-rgb),.55) !important;
  background:linear-gradient(180deg, rgba(var(--accent-rgb),.28), rgba(var(--accent-rgb),.24)) !important;
  color:var(--accent-bright) !important;
}

.bc-row-clear-btn:hover {
  color:#fff !important;
  border-color:rgba(var(--accent-rgb),.9) !important;
  background:linear-gradient(180deg, rgba(var(--accent-rgb),.42), rgba(var(--accent-rgb),.34)) !important;
  box-shadow:0 0 12px rgba(var(--accent-rgb),.25) !important;
}

.bc-selected-slot-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-left:auto;
  color:#fff;
}
.bc-selected-slot-icon svg{
  width:32px;
  height:32px;
  fill:currentColor;
}

.bc-selected-slot-box{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  border-radius:4px;
}
.bc-selected-slot-box svg{
  width:32px;
  height:32px;
  fill:#fff;
}

.bc-current-slot-box {
  width:54px !important;
  height:54px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.045) !important;
  border-radius:4px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
}
.bc-current-slot-box svg {
  width:34px !important;
  height:34px !important;
  fill:currentColor !important;
}

.bc-character-tabs {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}
.bc-class-pick {
  min-height:72px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.035);
  color:#cfd5df;
  border-radius:4px;
  font-family:'Rajdhani',sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.bc-class-pick:hover,
.bc-class-pick.active {
  color:#fff;
  border-color:rgba(var(--accent-rgb),.62);
  background:rgba(var(--accent-rgb),.11);
  box-shadow:inset 0 -2px 0 rgba(var(--accent-rgb),.78);
}
.bc-class-icon-box {
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.bc-class-icon-box svg,
.bc-class-mini-icon svg {
  width:100%;
  height:100%;
  fill:currentColor;
  display:block;
}
.bc-class-icon-box svg .cut,
.bc-class-mini-icon svg .cut {
  fill:rgba(12,14,20,.95);
}
.bc-class-tabs-icons {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px !important;
}
.bc-class-chip {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:42px;
}
.bc-class-mini-icon {
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.bc-stat-package {
  grid-template-columns:repeat(6, 1fr) !important;
  grid-template-rows:62px 26px !important;
  width:226px !important;
  gap:4px !important;
}
.bc-package-box { grid-column:1 / 3 !important; }
.bc-tier-box { grid-column:3 / 5 !important; }
.bc-tertiary-box { grid-column:5 / 7 !important; }
.bc-focus-box { grid-column:1 / 3 !important; grid-row:2 !important; padding:2px 3px !important; }
.bc-bonus-box { grid-column:3 / 5 !important; grid-row:2 !important; padding:2px 3px !important; }
.bc-masterwork-box {
  grid-column:5 / 7;
  grid-row:2;
  padding:2px 3px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.72);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  cursor:pointer;
  user-select:none;
  min-width:0;
  overflow:hidden;
}
.bc-masterwork-box:hover,
.bc-masterwork-box.active {
  border-color:#ceae33;
  background:rgba(206,174,51,.10);
  color:#fff;
}
.bc-focus-name,
.bc-bonus-name,
.bc-masterwork-name {
  font-size:7.8px !important;
  font-weight:900;
  letter-spacing:.25px;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.bc-class-api-icon {
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:brightness(0) invert(1);
  opacity:.94;
}
.bc-class-pick.active .bc-class-api-icon,
.bc-class-chip.active .bc-class-api-icon {
  opacity:1;
  filter:brightness(0) invert(1) drop-shadow(0 0 5px rgba(255,255,255,.25));
}
.bc-class-letter {
  font-family:'Orbitron',sans-serif;
  font-weight:900;
}

  .dc-stat-bar,
  .stats-row-bar {
    position: relative !important;
    overflow: hidden !important;
  }

  .delta-stat-segments {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
  }

  .delta-stat-segment {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
  }

  .delta-stat-base {
    background: rgba(255,255,255,0.86) !important;
    z-index: 1;
  }

  .delta-stat-plus {
    background: #43d17a !important;
    z-index: 2;
  }

  .delta-stat-minus {
    background: #e25555 !important;
    z-index: 3;
  }

  .stats-row.number-stat .stats-row-value {
    color: transparent !important;
    user-select: none;
  }

  .reload-time-card {
    min-width: 0;
  }

  .reload-time-breakdown {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    align-items: baseline;
    margin-top: 4px;
  }

  .reload-time-grid .reload-time-breakdown strong {
    margin-top: 0 !important;
    font-size: 17px !important;
    line-height: 1.05;
    text-align: left;
  }

  .reload-base-time {
    color: var(--text-primary) !important;
  }

  .reload-delta-time.positive,
  .reload-final-time.positive {
    color: #68e394 !important;
  }

  .reload-delta-time.negative,
  .reload-final-time.negative {
    color: #ff7676 !important;
  }

  .reload-delta-time.neutral,
  .reload-final-time.neutral {
    color: var(--text-primary) !important;
  }

  .reload-time-mini-labels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 3px;
  }

  .reload-time-mini-labels span {
    color: var(--text-dim);
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.6px;
  }

  .reload-time-breakdown.reload-time-simple {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: baseline;
    gap: 8px;
    margin-top: 4px;
  }

  .reload-time-grid .reload-time-breakdown.reload-time-simple strong {
    font-size: 22px !important;
    line-height: 1 !important;
  }

  .reload-time-change {
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
  }

  .reload-time-change.positive {
    color: #68e394 !important;
  }

  .reload-time-change.negative {
    color: #ff7676 !important;
  }

  .reload-time-change.neutral {
    color: var(--text-primary) !important;
  }

  .reload-time-mini-labels {
    display: none !important;
  }

  #weaponGrid { min-height: 120px; }
  #weaponFilterPanel:empty { display: none; }

  body.startup-loading {
    overflow: hidden;
  }

  body.startup-loading .header,
  body.startup-loading .ui-scale-controls {
    display: none !important;
  }

  body.startup-loading .main {
    max-width: none !important;
    width: 100% !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    zoom: 1 !important; /* interface-size zoom must not scale/shift the fixed loader */
  }

  body.startup-loading #loadingScreen {
    position: fixed;
    inset: 0;
    z-index: 99999;
    min-height: 100vh !important;
    width: 100%;
    background: radial-gradient(circle at 50% 40%, rgba(var(--accent-rgb),.10), transparent 62%), var(--bg-primary);
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.startup-loading #mainContent > :not(#loadingScreen) {
    display: none !important;
  }

