:root {
  --bg:#0e0e0e; --panel:#1b1b1b; --muted:#bdbdbd; --text:#ffffff;
  --accent:#ffdc00; --accent-2:#3f712c; --border:#333; --shadow:0 0 0 rgba(0,0,0,0);
  --orange:#ff9a3c; --yellow:#ffdc00; --cyan:#269ab6; --red:#c8442e;
  --mwo-kind-energy-rgb:255, 220, 0; --mwo-kind-ballistic-rgb:190, 130, 255; --mwo-kind-missile-rgb:120, 210, 255; --mwo-kind-muted-rgb:189, 189, 189;
  --header-h:56px; /* fixed header height for layout calc */
}

/* === Fonts: FSSinclair family (Normal/Medium/Bold) === */
@font-face {
  font-family: 'FSSinclair';
  src: url('FSSinclair-Normal.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'FSSinclair';
  src: url('FSSinclair-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'FSSinclair';
  src: url('FSSinclair-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

*{box-sizing:border-box}
html,body{height:100%; min-width:0; max-width:100%}

/* Prevent page scroll; the table area will scroll instead */
body{overflow:hidden;}

body{
  margin:0;
  font-family:'FSSinclair', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  background:var(--bg);
  color:var(--text)
}

header{
  position:sticky; top:0; z-index:50;
  background:#141414; border-bottom:2px solid var(--border);
  padding:10px 16px; display:flex; align-items:center; gap:12px;
  width:100%; min-width:0; max-width:100%; height: var(--header-h);
}
.logo{font-weight:700; letter-spacing:.3px; flex:0 0 auto}
.tabs{display:flex; gap:6px; margin-left:auto; min-width:0; max-width:100%; overflow-x:auto; scrollbar-width:thin}
.tab{appearance:none; -webkit-appearance:none; border:2px solid var(--border); background:#171717; color:var(--muted); padding:6px 10px; border-radius:0; cursor:pointer; font-weight:700; font-family:'FSSinclair', ui-sans-serif; text-decoration:none; flex:0 0 auto}
.tab.active{background:#1f1f1f; color:var(--text); border-color:var(--accent); box-shadow:var(--shadow)}

/* Layout tweaks: make the table reach the bottom of the viewport */
main{
  width:100%;
  min-width:0;
  max-width:1600px;
  margin:0 auto; /* no vertical margins so the page itself doesn't scroll */
  padding:16px 16px 16px; /* equal top & bottom padding always visible */
  height: calc(100vh - var(--header-h)); /* fit exactly into viewport below header */
  display:flex; flex-direction:column;
}
.panel{
  position:relative; background:var(--panel); border:2px solid var(--border); border-radius:0; box-shadow:var(--shadow);
  display:flex; flex-direction:column;
  flex:1; min-width:0; max-width:100%; min-height:0; overflow-x:hidden; overflow-y:auto; /* allow inner scroller to size correctly */
}

.filters{padding:9px 11px; border-bottom:2px solid var(--border); display:grid; gap:8px}
.row{display:flex; gap:6px; flex-wrap:wrap; align-items:center}
.label{font-size:12px; color:var(--muted); font-weight:700; text-transform:uppercase}
.input,.button,.select{background:#141414; border:2px solid var(--border); color:var(--text); padding:8px 10px; border-radius:0; font-family:'FSSinclair', ui-sans-serif}
.input.wide{min-width:552px}
.button{cursor:pointer; font-weight:700}
.button:hover{border-color:var(--accent)}
.status{font-size:12px; color:var(--muted)}

/* Loading indicator */
.loading-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--accent);
  font-size: 12px;
}

.loading-indicator.hidden {
  display: none;
}

.spinner {
  width: 16px;
  height: 16px;
  border: 2px solid var(--border);
  border-top: 2px solid var(--accent);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Table sorting (unified for weapons and enemies) */
thead th.sort-asc::after,
.sortable.sort-asc::after {
  content: ' ▲';
  color: var(--accent);
  margin-left: 6px;
  display: inline-block;
}

thead th.sort-desc::after,
.sortable.sort-desc::after {
  content: ' ▼';
  color: var(--accent);
  margin-left: 6px;
  display: inline-block;
}

/* Top-right positioned elements */
.data-controls,
.source-link,
.source-links {
  position: absolute;
  top: 8px;
  right: 10px;
  font-size: 12px;
}

.data-controls {
  display: flex;
  gap: 6px;
  align-items: center;
}

.source-link,
.source-links a {
  color: var(--muted);
  text-decoration: underline;
}

.source-link:hover,
.source-links a:hover {
  color: var(--accent);
}

.source-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
}

.hidden {
  display: none !important;
}

.table-wrap{flex:1; width:100%; max-width:100%; min-width:0; min-height:0; overflow:auto; /* fill remaining space */}
.table-wrap table{width:100%; min-width:max-content; border-collapse:separate; border-spacing:0; table-layout:auto}

/* Truncate long Atk Name values instead of wrapping */
td.trunc{ max-width:28ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (min-width: 1400px){ td.trunc{ max-width:36ch; } }
@media (max-width: 900px){ td.trunc{ max-width:18ch; } }

/* Table styling */
thead th {
  position: sticky;
  top: 0;
  background: #202020;
  z-index: 2;
  text-align: left;
  font-size: 12px;
  letter-spacing: .3px;
  color: var(--muted);
  border-bottom: 2px solid var(--border);
  padding: 8px 10px;
  user-select: none;
  cursor: pointer;
  white-space: nowrap;
}

thead th:hover {
  background: #242424;
  color: var(--accent);
}

tbody td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--border);
}

tbody tr.group-start td {
  border-top: 2px solid #3a3a3a;
}

tbody tr:hover {
  background: rgba(255, 255, 255, .03);
}

.sort-indicator {
  opacity: .8;
  margin-left: 6px;
  font-size: 11px;
  color: var(--accent);
}

.name-link {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.name-link:hover {
  color: var(--accent-2);
}

/* Filters and chips */
.chiprow {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.chip {
  cursor: pointer;
  border: 2px solid var(--border);
  background: #171717;
  color: var(--muted);
  padding: 6px 10px;
  border-radius: 0;
  font-weight: 700;
  font-size: 12px;
  user-select: none;
  font-family: 'FSSinclair', ui-sans-serif;
}

.chip.active {
  background: #202020;
  color: var(--text);
  border-color: var(--accent);
}

.chip-divider {
  width: 1px;
  height: 20px;
  background: var(--border);
  flex-shrink: 0;
  align-self: center;
}

.mwo-groupby-builder {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.mwo-groupby-chiprow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.mwo-groupby-chip {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  border: 2px solid var(--border);
  background: #171717;
  color: var(--text);
  padding: 5px 8px 5px 10px;
  border-radius: 0;
  font-family: 'FSSinclair', ui-sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  cursor: grab;
  user-select: none;
}

.mwo-groupby-chip:hover,
.mwo-groupby-chip[aria-pressed="true"] {
  border-color: var(--accent);
  background: #202020;
}

.mwo-groupby-chip:focus-visible,
.mwo-groupby-chip-remove:focus-visible,
.mwo-groupby-swap:focus-visible,
.mwo-groupby-combobox:focus-visible,
.mwo-groupby-add-control .input:focus-visible,
.mwo-groupby-option:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.mwo-groupby-chip[aria-disabled="true"],
.mwo-groupby-chip:disabled {
  color: var(--muted);
  cursor: not-allowed;
  opacity: .7;
}

.mwo-groupby-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mwo-groupby-chip-remove {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  min-width: 20px;
  height: 20px;
  border: 1px solid var(--border);
  background: #141414;
  color: var(--muted);
  padding: 0;
  font-family: 'FSSinclair', ui-sans-serif;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.mwo-groupby-chip-remove:hover {
  border-color: var(--accent);
  background: #202020;
  color: var(--text);
}

.mwo-groupby-swap {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  min-width: 22px;
  height: 22px;
  border: 1px solid var(--border);
  background: #141414;
  color: var(--accent);
  padding: 0;
  font-family: 'FSSinclair', ui-sans-serif;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transform: rotate(45deg);
}

.mwo-groupby-swap:empty::before {
  content: "↔";
  display: block;
  font-size: 11px;
  transform: rotate(-45deg);
}

.mwo-groupby-swap > * {
  transform: rotate(-45deg);
}

.mwo-groupby-swap:hover {
  border-color: var(--accent);
  background: #202020;
}

.mwo-groupby-swap:disabled,
.mwo-groupby-swap[aria-disabled="true"],
.mwo-groupby-chip-remove:disabled,
.mwo-groupby-chip-remove[aria-disabled="true"] {
  color: var(--muted);
  cursor: not-allowed;
  opacity: .6;
}

.mwo-groupby-add-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-width: 220px;
  max-width: 100%;
}

.mwo-groupby-combobox,
.mwo-groupby-add-control .input {
  width: 100%;
  min-width: 180px;
}

.mwo-groupby-combobox {
  border: 2px solid var(--border);
  border-radius: 0;
  background: #141414;
  color: var(--text);
  padding: 8px 10px;
  font-family: 'FSSinclair', ui-sans-serif;
}

.mwo-groupby-combobox:hover {
  border-color: var(--accent);
}

.mwo-groupby-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  min-width: 100%;
  max-height: 280px;
  margin-top: 2px;
  overflow-y: auto;
  border: 2px solid var(--border);
  background: #1b1b1b;
}

.mwo-groupby-dropdown.hidden,
.mwo-groupby-dropdown[hidden] {
  display: none;
}

.mwo-groupby-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  background: #1b1b1b;
  color: var(--text);
  cursor: pointer;
}

.mwo-groupby-option:hover,
.mwo-groupby-option.is-active,
.mwo-groupby-option[aria-selected="true"] {
  background: #242424;
  color: var(--accent);
}

.mwo-groupby-option:focus-visible {
  outline-offset: -2px;
}

.mwo-groupby-option:last-child {
  border-bottom: none;
}

.mwo-groupby-option[aria-disabled="true"] {
  color: var(--muted);
  cursor: not-allowed;
}


/* Color utilities */
.num-orange { color: var(--orange); }
.num-yellow { color: var(--yellow); }
.num-cyan { color: var(--cyan); }
.num-red { color: var(--red); }

.mwo-kind-token,
.mwo-kind-badge {
  --mwo-kind-rgb: var(--mwo-kind-muted-rgb);
  --mwo-kind-bg-opacity: .1;
  --mwo-kind-border-opacity: .42;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(var(--mwo-kind-rgb), var(--mwo-kind-border-opacity));
  background: rgba(var(--mwo-kind-rgb), var(--mwo-kind-bg-opacity));
  color: rgb(var(--mwo-kind-rgb));
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
}

.mwo-kind-token {
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.4;
}

.mwo-kind-badge {
  padding: 2px 8px;
  border-radius: 2px;
  font-size: 12px;
  line-height: 1.25;
  text-transform: uppercase;
}

.mwo-kind--energy { --mwo-kind-rgb: var(--mwo-kind-energy-rgb); }
.mwo-kind--ballistic { --mwo-kind-rgb: var(--mwo-kind-ballistic-rgb); }
.mwo-kind--missile { --mwo-kind-rgb: var(--mwo-kind-missile-rgb); }

.mwo-kind--ams,
.mwo-kind--ecm,
.mwo-kind--jump-jets,
.mwo-kind--masc,
.mwo-kind--equipment,
.mwo-kind--unknown {
  --mwo-kind-rgb: var(--mwo-kind-muted-rgb);
  --mwo-kind-bg-opacity: .05;
  --mwo-kind-border-opacity: .24;
  color: var(--muted);
}

.mwo-hardpoint-token-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.ap-white { color: var(--text); }
.ap-blue { color: #58a6ff; }
.ap-green { color: #4caf50; }
.ap-yellow { color: #f8f833; }
.ap-orange { color: #ff9a3c; }
.ap-red { color: #ff4b41; }

.placeholder {
  padding: 16px;
  color: var(--muted);
}

.test-badge {
  font-size: 12px;
  color: var(--muted);
}

/* Pin button styling - CSS-based, no emoji */
.pin-btn {
  width: 18px;
  height: 18px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 2px solid var(--muted);
  border-radius: 50%;
  cursor: pointer;
  opacity: 0.5;
  position: relative;
  transition: opacity 0.15s ease;
}

.pin-btn:hover {
  opacity: 1;
}

.pin-btn.pinned {
  background: var(--accent);
  border-color: var(--accent);
  opacity: 1;
}

.pin-btn.pinned:hover {
  opacity: 0.8;
}

.references-container{
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:24px;
  min-width:0;
  max-width:100%;
}
.brawl-container{
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
  max-width:100%;
}
.brawl-section,
.brawl-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  max-width:100%;
}
.brawl-card{
  border:2px solid var(--border);
  background:#141414;
  padding:14px;
}
.brawl-section h1,
.brawl-card h2{
  margin:0;
}
.brawl-intro{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
.brawl-scenario-select{
  min-width:320px;
}
.brawl-grid{
  display:grid;
  grid-template-columns:minmax(260px, 360px) minmax(0, 1fr);
  gap:16px;
  min-width:0;
  max-width:100%;
}
.mech-config-layout{
  grid-template-columns:minmax(0, 1fr);
  grid-template-areas:
    "saved"
    "comparison"
    "compatible"
    "active"
    "results"
    "breakdowns"
    "editor"
    "diagnostics";
  align-items:start;
}
#mech-config-saved-configs{
  grid-area:saved;
  align-self:start;
  min-width:0;
}
#mech-config-loadout-editor{
  grid-area:editor;
}
#mech-config-configuration-comparison{
  grid-area:comparison;
  min-width:0;
}
.mech-config-comparison-controls{
  display:flex;
  align-items:end;
  flex-wrap:wrap;
  gap:12px;
  margin:12px 0;
}
.mech-config-comparison-scroll{
  overflow-x:auto;
  max-width:100%;
}
.mech-config-comparison-table{
  width:100%;
  min-width:1100px;
  table-layout:fixed;
}
.mech-config-comparison-table th,
.mech-config-comparison-table td{
  vertical-align:top;
  overflow-wrap:anywhere;
}
.mech-config-comparison-table small,
#mech-config-comparison-detail small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.mech-config-comparison-table .mech-config-actions{
  flex-direction:column;
  align-items:stretch;
}
#mech-config-comparison-detail{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--border);
}
#mech-config-comparison-detail pre{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
#mech-config-compatible-mechs{
  grid-area:compatible;
  min-width:0;
}
#mech-config-active-mech{
  grid-area:active;
}
#mech-config-results{
  grid-area:results;
}
#mech-config-breakdowns{
  grid-area:breakdowns;
}
#mech-config-diagnostics{
  grid-area:diagnostics;
}
.brawl-summary-list{
  margin:0;
  display:grid;
  grid-template-columns:minmax(0, max-content) minmax(0, 1fr);
  gap:6px 12px;
  min-width:0;
}
.brawl-summary-list dt{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}
.brawl-summary-list dd{
  margin:0;
}
.brawl-fire-groups h3{
  margin:6px 0 0;
}
.brawl-fire-group-list{
  margin:0;
  padding-left:20px;
}
.brawl-fire-group-list li{
  margin:4px 0;
}
.brawl-fire-group-list span{
  display:block;
  color:var(--muted);
}
.mech-config-diagnostic .brawl-summary-list{
  margin-top:6px;
  font-size:12px;
}
.brawl-table-wrap{
  max-height:320px;
}
.mwo-weapon-catalog{
  flex:1;
  width:100%;
  max-width:100%;
  min-height:0;
  min-width:0;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mwo-catalog-header{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mwo-catalog-header h1{
  margin:0;
  font-size:24px;
}
.mwo-catalog-filters{
  border:2px solid var(--border);
  background:#141414;
}
.mwo-catalog-filter-control{
  display:flex;
  align-items:center;
  gap:6px;
}
.mwo-mech-filter-section{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-top:2px;
}
.mwo-mech-filter-section h2{
  margin:0;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.mwo-mech-filter-section-row{
  align-items:flex-end;
}
.mwo-mech-count-range-control{
  flex:0 1 176px;
  flex-wrap:wrap;
}
.mwo-mech-count-input{
  width:64px;
  min-width:64px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.mwo-mech-count-slider-row{
  display:flex;
  gap:6px;
  flex-basis:100%;
  min-width:150px;
}
.mwo-mech-count-slider{
  flex:1 1 0;
  min-width:0;
  accent-color:var(--accent);
}
.mwo-mech-count-summary{
  min-width:42px;
  font-variant-numeric:tabular-nums;
}
.mwo-catalog-diagnostics{
  border:2px solid var(--border);
  background:#141414;
  padding:10px 12px;
}
.mwo-catalog-details summary{
  cursor:pointer;
  color:var(--accent);
  font-weight:700;
}
.mwo-catalog-diagnostic-list{
  margin:8px 0 0;
  padding-left:20px;
}
.mwo-catalog-diagnostic-list li{
  margin:4px 0;
}
.mwo-catalog-diagnostic-group h3{
  margin:10px 0 0;
  font-size:14px;
}
.mwo-catalog-diagnostic-warning{
  color:var(--orange);
}
.mwo-catalog-table-wrap{
  min-height:280px;
  border:2px solid var(--border);
}
.mwo-catalog-weapon-cell{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mwo-catalog-family-list{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.mwo-catalog-family-token{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  padding:1px 6px;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  white-space:nowrap;
}
.mwo-catalog-badge{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border:1px solid var(--border);
  padding:2px 6px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}
.mwo-catalog-badge-success{
  color:#d7f2bf;
  border-color:rgba(99, 175, 67, 0.45);
  background:rgba(99, 175, 67, 0.18);
}
.mwo-catalog-badge-warning{
  color:#ffe0c0;
  border-color:rgba(255, 154, 60, 0.45);
  background:rgba(255, 154, 60, 0.16);
}
.mwo-catalog-row-warning td{
  color:var(--muted);
}
.mwo-group-row td{
  background:#171717;
  border-top:2px solid var(--border);
  border-bottom:1px solid var(--border);
  font-weight:700;
}
.mwo-group-row:hover td,
.mwo-group-row:focus-within td{
  background:#1f1f1f;
}
.mwo-group-row:focus-visible td,
.mwo-group-row[tabindex]:focus td{
  outline:2px solid var(--accent);
  outline-offset:-2px;
}
.mwo-group-row.mwo-group-expanded td,
.mwo-group-row[aria-expanded="true"] td{
  border-top-color:var(--accent);
}
.mwo-group-row.mwo-group-collapsed td,
.mwo-group-row[aria-expanded="false"] td{
  color:var(--muted);
}
.mwo-group-member td{
  background:rgba(255, 255, 255, .015);
  border-bottom-color:#2a2a2a;
}
.mwo-group-member:hover td,
.mwo-group-member:focus-within td{
  background:rgba(255, 255, 255, .04);
}
.mwo-group-row[data-group-depth],
.mwo-group-member[data-group-depth],
.mwo-group-depth-0{
  --mwo-group-depth-indent:0px;
}
.mwo-group-row[data-group-depth="1"],
.mwo-group-member[data-group-depth="1"],
.mwo-group-depth-1{
  --mwo-group-depth-indent:18px;
}
.mwo-group-row[data-group-depth="2"],
.mwo-group-member[data-group-depth="2"],
.mwo-group-depth-2{
  --mwo-group-depth-indent:36px;
}
.mwo-group-row[data-group-depth="3"],
.mwo-group-member[data-group-depth="3"],
.mwo-group-depth-3{
  --mwo-group-depth-indent:54px;
}
.mwo-group-row[data-group-depth="4"],
.mwo-group-member[data-group-depth="4"],
.mwo-group-depth-4{
  --mwo-group-depth-indent:72px;
}
.mwo-group-row[data-group-depth="5"],
.mwo-group-member[data-group-depth="5"],
.mwo-group-depth-5{
  --mwo-group-depth-indent:90px;
}
.mwo-group-row[data-group-depth="6"],
.mwo-group-member[data-group-depth="6"],
.mwo-group-depth-6{
  --mwo-group-depth-indent:108px;
}
.mwo-group-row[data-group-depth="7"],
.mwo-group-member[data-group-depth="7"],
.mwo-group-depth-7{
  --mwo-group-depth-indent:126px;
}
.mwo-group-row[data-group-depth="8"],
.mwo-group-member[data-group-depth="8"],
.mwo-group-depth-8{
  --mwo-group-depth-indent:144px;
}
.mwo-group-row[data-group-depth] .mwo-group-cell,
.mwo-group-row[class*="mwo-group-depth-"] .mwo-group-cell{
  padding-left:var(--mwo-group-depth-indent, 0px);
}
.mwo-group-member[data-group-depth] td:first-child,
.mwo-group-member[class*="mwo-group-depth-"] td:first-child{
  padding-left:calc(10px + 24px + var(--mwo-group-depth-indent, 0px));
}
.mwo-group-member[data-group-depth] .mwo-group-member-cell,
.mwo-group-member[data-group-depth] .mwo-group-indent,
.mwo-group-member[class*="mwo-group-depth-"] .mwo-group-member-cell,
.mwo-group-member[class*="mwo-group-depth-"] .mwo-group-indent{
  padding-left:calc(24px + var(--mwo-group-depth-indent, 0px));
}
.mwo-group-row[data-group-depth]:not([data-group-depth="0"]) td,
.mwo-group-row[class*="mwo-group-depth-"]:not(.mwo-group-depth-0) td{
  border-top-width:1px;
}
.mwo-group-row[data-group-depth]:not([data-group-depth="0"]) .mwo-group-cell::before,
.mwo-group-row[class*="mwo-group-depth-"]:not(.mwo-group-depth-0) .mwo-group-cell::before{
  content:"";
  flex:0 0 2px;
  align-self:stretch;
  min-height:22px;
  background:rgba(255, 220, 0, .35);
}
.mwo-group-member.mwo-group-collapsed,
.mwo-group-member.mwo-group-hidden{
  display:none;
}
.mech-config-saved-config-table .mwo-group-row[hidden],
.mech-config-saved-config-table .mwo-group-member[hidden],
.mech-config-saved-config-table .mwo-group-row.mwo-group-hidden,
.mech-config-saved-config-table .mwo-group-member.mwo-group-hidden{
  display:none;
}
.mech-config-saved-config-table .mwo-group-row > td{
  padding:8px 10px;
}
.mwo-group-cell,
.mwo-group-member-cell{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.mwo-group-member-cell,
.mwo-group-indent{
  padding-left:24px;
}
.mwo-group-toggle{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  min-width:22px;
  height:22px;
  border:1px solid var(--border);
  background:#141414;
  color:var(--accent);
  cursor:pointer;
  font-family:'FSSinclair', ui-sans-serif;
  font-weight:700;
  line-height:1;
}
.mwo-group-toggle:hover{
  border-color:var(--accent);
  background:#202020;
}
.mwo-group-toggle:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mwo-group-toggle-icon{
  display:inline-block;
  transition:transform .15s ease;
}
.mwo-group-toggle[aria-expanded="true"] .mwo-group-toggle-icon,
.mwo-group-expanded .mwo-group-toggle-icon{
  transform:rotate(90deg);
}
.mwo-group-label{
  color:var(--text);
  font-weight:700;
  min-width:0;
}
.mwo-group-count,
.mwo-group-badge{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border:1px solid rgba(255, 220, 0, .45);
  background:rgba(255, 220, 0, .12);
  color:var(--accent);
  padding:2px 6px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}
.mwo-group-meta,
.mwo-group-warning{
  display:block;
  margin-top:2px;
  font-size:12px;
  font-weight:400;
  line-height:1.3;
}
.mwo-group-meta{
  color:var(--muted);
}
.mwo-group-warning{
  color:var(--orange);
}
.mwo-mech-table{
  flex:0 0 auto;
  width:100%;
  max-width:100%;
  min-height:0;
  min-width:0;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mwo-mech-table > .mwo-catalog-header{
  gap:4px;
}
#mwo-mech-table-actions:empty{
  display:none;
}
.mwo-mech-table-filters .input.wide{
  flex:1 1 280px;
  width:100%;
  min-width:0;
  max-width:480px;
}
.mwo-mech-table-filters .mwo-catalog-filter-control{
  flex-wrap:wrap;
  min-width:0;
  max-width:100%;
}
.mwo-mech-table-filters .input{
  max-width:100%;
}
.mwo-mech-table-filters .mwo-mech-filter-section-row > .status{
  margin:0;
}
.mwo-mech-filter-tools{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.4fr);
  gap:8px;
}
.mwo-mech-advanced-filters{
  display:grid;
  gap:8px;
  padding-top:8px;
}
.mwo-mech-table-main{
  flex:0 0 auto;
  min-height:0;
  min-width:0;
  max-width:100%;
  display:grid;
  grid-template-columns:minmax(0, 2fr) minmax(320px, .9fr);
  align-items:start;
  gap:12px;
}
.mwo-mech-table-wrap,
.mwo-mech-table-detail{
  min-height:0;
  border:2px solid var(--border);
}
.mwo-mech-table-wrap{
  min-height:320px;
  height:clamp(320px, 65vh, 720px);
}
.mwo-mech-table-wrap:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mwo-mech-table-detail{
  max-height:clamp(320px, 65vh, 720px);
  background:#141414;
  padding:12px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mwo-mech-table-detail h2,
.mwo-mech-table-detail h3,
.mwo-mech-table-detail h4{
  margin:0;
}
.mwo-mech-detail-section{
  display:flex;
  flex-direction:column;
  gap:6px;
  border-top:1px solid var(--border);
  padding-top:10px;
}
.mwo-mech-detail-list{
  margin:0;
  padding-left:20px;
}
.mwo-mech-detail-list li{
  margin:4px 0;
}
.mwo-quirk-label{
  font-weight:700;
}
.mwo-quirk-value{
  color:var(--muted);
}
.mwo-quirk-value.mwo-quirk-buff{
  color:#4caf50;
}
.mwo-quirk-value.mwo-quirk-nerf{
  color:#ff4b41;
}
.mwo-quirk-value-missing{
  color:var(--muted);
  font-style:italic;
}
.mwo-quirk-flag{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  opacity:.7;
}
.mwo-mech-component-detail{
  border:1px solid var(--border);
  padding:8px;
  background:#171717;
}
.mwo-mech-component-detail summary{
  cursor:pointer;
  color:var(--accent);
  font-weight:700;
}
.mwo-mech-selected-row td{
  background:rgba(255, 220, 0, .08);
}
@media (max-width: 1100px){
  .mwo-mech-table-main{
    grid-template-columns:1fr;
  }
  .mwo-mech-table-detail{
    max-height:420px;
  }
}
.brawl-timeline{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.brawl-timeline-row{
  display:grid;
  grid-template-columns:88px minmax(0, 1fr);
  gap:10px;
  align-items:start;
  border-bottom:1px solid var(--border);
  padding-bottom:6px;
}
.brawl-timeline-row:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.brawl-timeline-time{
  color:var(--accent);
  font-variant-numeric:tabular-nums;
  font-weight:700;
}
.mech-config-actions{
  gap:8px;
}
.mech-config-control-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
}
.mech-config-configured-omni-target-browser{
  border:1px solid var(--border);
  background:#141414;
  padding:8px 10px;
}
.mech-config-configured-omni-target-browser-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
}
.mech-config-configured-omni-target-browser-summary::marker{
  color:var(--accent);
}
.mech-config-configured-omni-target-browser-summary::-webkit-details-marker{
  color:var(--accent);
}
.mech-config-configured-omni-target-browser[open] .mech-config-configured-omni-target-browser-summary{
  margin-bottom:8px;
}
.mech-config-configured-omni-target-browser > .status{
  margin:0 0 8px;
}
.mech-config-configured-omni-target-browser-table-wrap{
  max-height:260px;
}
.mech-config-assumptions-editor{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mech-config-assumptions-summary,
.mech-config-advanced-assumptions{
  border:1px solid var(--border);
  border-radius:8px;
  background:#141414;
  padding:10px 12px;
}
.mech-config-assumptions-summary .brawl-summary-list{
  margin:8px 0;
}
.mech-config-advanced-assumptions-summary{
  color:var(--accent);
  cursor:pointer;
  font-weight:700;
}
.mech-config-advanced-assumptions[open] .mech-config-advanced-assumptions-summary{
  margin-bottom:8px;
}
.mech-config-assumption-toggles{
  margin-bottom:10px;
}
.mech-config-toggle-label{
  display:flex;
  align-items:center;
  gap:8px;
}
.mech-config-control.mech-config-toggle-control .mech-config-checkbox{
  width:auto;
  flex:0 0 auto;
}
.mech-config-control{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.mech-config-control .input,
.mech-config-select,
.mech-config-text-input,
.mech-config-number-input{
  width:100%;
  min-width:0;
}
.mech-config-discrete-control{
  display:flex;
  flex-direction:column;
  gap:6px;
  position:relative;
  width:100%;
  min-width:0;
}
.mech-config-control .mech-config-discrete-control,
.mech-config-control .mech-config-discrete-options{
  width:100%;
}
.mech-config-discrete-native{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.mech-config-discrete-options{
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}
.mech-config-discrete-option{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:1 1 64px;
  min-width:0;
  min-height:34px;
  border:2px solid var(--border);
  background:#171717;
  color:var(--text);
  padding:6px 10px;
  border-radius:0;
  font-family:'FSSinclair', ui-sans-serif;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  cursor:pointer;
  user-select:none;
}
.mech-config-discrete-option:hover:not(:disabled):not(.is-disabled):not([aria-disabled="true"]){
  border-color:var(--accent);
  background:#202020;
  color:var(--text);
}
.mech-config-discrete-option:active:not(:disabled):not(.is-disabled):not([aria-disabled="true"]){
  border-color:var(--accent);
  background:#242424;
}
.mech-config-discrete-option.is-active,
.mech-config-discrete-option[aria-pressed="true"],
.mech-config-discrete-option[aria-selected="true"]{
  border-color:var(--accent);
  background:#202020;
  color:var(--accent);
}
.mech-config-discrete-option:focus-visible,
.mech-config-discrete-native:focus-visible ~ .mech-config-discrete-options .mech-config-discrete-option.is-active{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mech-config-discrete-control.is-disabled .mech-config-discrete-option,
.mech-config-discrete-option.is-disabled,
.mech-config-discrete-option:disabled,
.mech-config-discrete-option[aria-disabled="true"]{
  border-color:var(--border);
  background:#141414;
  color:var(--muted);
  cursor:not-allowed;
  opacity:.7;
  pointer-events:none;
}
.mech-config-control-inline-action{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.mech-config-control-inline-action .input,
.mech-config-control-inline-action .mech-config-select,
.mech-config-control-inline-action .mech-config-text-input,
.mech-config-control-inline-action .mech-config-number-input{
  flex:1 1 auto;
  width:auto;
}
.mech-config-control .mech-config-control-action,
.mech-config-control .mech-config-heat-sink-suggestion-action{
  align-self:center;
  background:none;
  border:0;
  color:var(--accent);
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  padding:2px 0;
  text-decoration:underline;
  text-underline-offset:2px;
  white-space:nowrap;
}
.mech-config-control .mech-config-control-action:hover,
.mech-config-control .mech-config-heat-sink-suggestion-action:hover{
  color:var(--text);
}
.mech-config-control .mech-config-control-action:focus-visible,
.mech-config-control .mech-config-heat-sink-suggestion-action:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mech-config-control .mech-config-control-action:disabled,
.mech-config-control .mech-config-heat-sink-suggestion-action:disabled{
  color:var(--muted);
  cursor:not-allowed;
  opacity:.7;
}
.mech-config-add-weapon-panel{
  border:2px solid var(--border);
  background:#141414;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mech-config-add-weapon-panel h3{
  margin:0;
}
.mech-config-selected-weapon{
  border:1px solid var(--border);
  padding:8px;
}
.mech-config-deployment-target-picker,
.mech-config-deployment-target-results{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.mech-config-deployment-target-result-list{
  margin:0;
}
.mech-config-deployment-target-result-list li{
  align-items:center;
  border:1px solid var(--border);
  display:grid;
  gap:8px;
  grid-template-columns:minmax(0, 1fr) max-content;
  padding:8px;
}
.mech-config-deployment-target-result-list li.is-active{
  border-color:var(--accent);
}
.mech-config-deployment-target-result-list .button:disabled{
  cursor:not-allowed;
  opacity:.7;
}
.mech-config-saved-list li{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mech-config-saved-config-workspace-disclosure{
  min-width:0;
}
.mech-config-saved-config-workspace-summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
}
.mech-config-saved-config-workspace-summary::marker{
  color:var(--accent);
}
.mech-config-saved-config-workspace-summary::-webkit-details-marker{
  color:var(--accent);
}
.mech-config-saved-config-workspace-summary:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mech-config-saved-config-workspace-summary h2{
  margin:0;
  min-width:0;
}
.mech-config-saved-config-workspace-summary-status{
  flex:0 1 auto;
  text-align:right;
  line-height:1.35;
}
.mech-config-saved-config-workspace-body{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.mech-config-saved-config-workspace-body h3{
  margin:0;
}
.mech-config-saved-config-browser{
  border:2px solid var(--border);
  background:#141414;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.mech-config-saved-config-browser h3,
.mech-config-saved-config-browser h4,
.mech-config-saved-config-browser > .status,
.mech-config-saved-config-browser-results > .status{
  margin:0;
}
.mech-config-saved-config-browser .input:focus-visible,
.mech-config-saved-config-browser .button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mech-config-saved-config-browser .button:disabled{
  cursor:not-allowed;
  opacity:.7;
}
.mech-config-saved-config-browser-controls{
  display:grid;
  gap:10px;
  min-width:0;
}
.mech-config-saved-config-browser-control-section{
  border:1px solid var(--border);
  background:#171717;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.mech-config-saved-config-browser-section-heading{
  color:var(--accent);
  font-size:12px;
  line-height:1.2;
  letter-spacing:.35px;
  text-transform:uppercase;
}
.mech-config-saved-config-browser-control-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:8px;
  align-items:end;
  min-width:0;
}
.mech-config-saved-config-browser-control-stack{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.mech-config-weapon-system-filters{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.mech-config-weapon-system-filters .status{
  margin:0;
}
.mech-config-weapon-filter-boxes{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:8px;
}
.mech-config-weapon-filter-box{
  margin:0;
  border:1px solid var(--border);
  padding:6px 8px;
  min-width:0;
}
.mech-config-weapon-filter-box legend{
  color:var(--accent);
  font-size:12px;
  padding:0 4px;
}
.mech-config-weapon-filter-choice{
  display:flex;
  align-items:center;
  gap:8px;
  margin:4px 0;
  font-size:12px;
}
.mech-config-weapon-filter-choice label{
  cursor:pointer;
}
.mech-config-weapon-filter-state.button{
  flex:0 0 36px;
  min-height:28px;
  padding:3px;
  font-size:12px;
}
.mech-config-weapon-filter-state[data-weapon-filter-mode="g1"],
.mech-config-weapon-filter-state[data-weapon-filter-mode="g2"],
.mech-config-weapon-filter-state[data-weapon-filter-mode="g3"]{
  border-color:var(--accent);
  color:var(--accent);
}
.mech-config-weapon-filter-state[data-weapon-filter-mode="exclude"]{
  border-color:#e08080;
  color:#e08080;
}
.mech-config-weapon-filter-history{
  border:1px solid var(--border);
  padding:8px 10px;
}
.mech-config-weapon-filter-history p{
  margin:4px 0 8px;
}
.mech-config-saved-config-browser-filter-section .mech-config-control:first-child{
  grid-column:span 2;
}
.mech-config-saved-config-browser-sort-section .mech-config-saved-config-browser-control-grid{
  grid-template-columns:minmax(220px, 1fr) auto;
}
.mech-config-saved-config-browser-reset-row{
  align-self:end;
}
.mech-config-saved-config-browser-groupby-builder{
  align-items:flex-start;
}
.mech-config-saved-config-browser-groupby-builder .mwo-groupby-add-control{
  flex:1 1 220px;
}
.mech-config-saved-config-secondary-select{
  border:1px solid var(--border);
  background:#171717;
  padding:8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-end;
}
.mech-config-saved-config-secondary-select .mech-config-control{
  flex:1 1 320px;
}
.mech-config-saved-config-browser-results{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.mech-config-saved-config-table-wrap{
  max-width:100%;
  max-height:600px;
  overflow-x:auto;
  overflow-y:auto;
  border:2px solid var(--border);
  background:#111;
}
.mech-config-saved-config-table{
  width:100%;
  min-width:1220px;
  border-collapse:separate;
  border-spacing:0;
}
.mech-config-saved-config-table th{
  position:sticky;
  top:0;
  z-index:1;
  cursor:default;
}
.mech-config-saved-config-table th.sortable{
  cursor:pointer;
}
.mech-config-saved-config-table-sort-button{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  margin:0;
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}
.mech-config-saved-config-table-sort-button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mech-config-saved-config-table tbody tr.is-active td{
  background:linear-gradient(90deg, rgba(255, 220, 0, .12), rgba(255, 255, 255, .02) 60%);
}
.mech-config-saved-config-table tbody tr:hover td,
.mech-config-saved-config-table tbody tr:focus-within td{
  background:rgba(255,255,255,.04);
}
.mech-config-saved-config-table tbody tr.is-active:hover td,
.mech-config-saved-config-table tbody tr.is-active:focus-within td{
  background:linear-gradient(90deg, rgba(255, 220, 0, .16), rgba(255, 255, 255, .04) 60%);
}
.mech-config-saved-config-table-cell-config{
  min-width:320px;
  max-width:520px;
}
.mech-config-saved-config-table-cell-source-assumption{
  min-width:220px;
  max-width:320px;
  overflow-wrap:anywhere;
}
.mech-config-saved-config-table-cell-source-assumption.is-assumed{
  color:var(--accent);
}
.mech-config-saved-config-table-cell-source-assumption.is-none{
  color:var(--muted);
}
.mech-config-saved-config-table-cell-source-equipment{
  min-width:140px;
  max-width:220px;
  overflow-wrap:anywhere;
}
.mech-config-saved-config-table-cell-source-equipment.is-asserted{
  color:var(--accent-2);
}
.mech-config-saved-config-table-cell-source-equipment.is-none{
  color:var(--muted);
}
.mech-config-saved-config-table-cell-number{
  text-align:right;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.mech-config-saved-config-table-cell-actions{
  min-width:140px;
}
.mech-config-saved-config-table-cell-actions .mech-config-saved-config-result-actions{
  justify-content:flex-start;
}
.mech-config-saved-config-table .mech-config-saved-config-result-details{
  margin-top:8px;
}
.mech-config-saved-config-stats-column-controls{
  display:grid;
  gap:6px;
  min-width:0;
}
.mech-config-saved-config-stats-column-primary-controls{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:6px;
  align-items:end;
}
.mech-config-saved-config-stats-column-panel{
  border:1px solid var(--border);
  background:#171717;
  min-width:0;
}
.mech-config-saved-config-stats-column-summary{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:7px 9px;
  cursor:pointer;
}
.mech-config-saved-config-stats-column-summary:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mech-config-saved-config-stats-column-panel-body{
  border-top:1px solid var(--border);
  padding:8px;
  display:grid;
  gap:8px;
}
.mech-config-saved-config-stats-column-toolbar{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(145px, 1fr));
  gap:6px;
  align-items:end;
}
.mech-config-saved-config-stats-column-toolbar .mech-config-control{
  gap:3px;
}
.mech-config-saved-config-stats-column-range{
  margin:0;
  padding:5px 8px 7px;
  border:1px solid var(--border);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 10px;
  align-items:center;
  min-width:0;
}
.mech-config-saved-config-stats-column-range legend{
  padding:0 3px;
  color:var(--muted);
  font-size:11px;
}
.mech-config-saved-config-stats-column-range output{
  font-size:12px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.mech-config-saved-config-stats-column-range-inputs{
  display:grid;
  gap:2px;
  min-width:8rem;
}
.mech-config-saved-config-stats-column-range-input{
  width:100%;
  min-width:0;
  margin:0;
}
.mech-config-saved-config-stats-column-actions{
  gap:6px;
}
.mech-config-saved-config-stats-column-actions .button{
  min-height:28px;
  padding:4px 8px;
  font-size:12px;
}
.mech-config-saved-config-stats-column-counts{
  margin:0;
}
.mech-config-saved-config-stats-column-list{
  max-height:14rem;
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(185px, 1fr));
  gap:3px;
  padding:4px;
  border:1px solid var(--border);
  background:#111;
}
.mech-config-saved-config-stats-column-option{
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-width:0;
  padding:3px 4px;
  cursor:pointer;
}
.mech-config-saved-config-stats-column-option:hover,
.mech-config-saved-config-stats-column-option:focus-within{
  background:rgba(255,255,255,.05);
}
.mech-config-saved-config-stats-column-option-label{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.15;
}
.mech-config-saved-config-stats-column-option-label .status{
  overflow-wrap:anywhere;
  font-size:10px;
}
.mech-config-saved-config-stats-column-empty,
.mech-config-saved-config-stats-column-empty-selection{
  margin:0;
  grid-column:1 / -1;
}
.mech-config-saved-config-stats-table-empty{
  caption-side:top;
  padding:6px;
  text-align:left;
}
.mech-config-saved-config-stats-table-wrap{
  max-width:100%;
  max-height:min(70vh, 720px);
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  border:2px solid var(--border);
  background:color-mix(in srgb, var(--panel) 88%, var(--bg));
}
.mech-config-saved-config-stats-table-wrap:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.mech-config-saved-config-stats-table{
  --mech-config-stats-identity-width:9rem;
  --mech-config-stats-assumption-width:11rem;
  --mech-config-stats-equipment-width:8rem;
  --mech-config-stats-config-width:15rem;
  --mech-config-stats-header-height:9rem;
  --mech-config-stats-header-surface:color-mix(in srgb, var(--panel) 92%, var(--text));
  --mech-config-stats-row-surface:var(--panel);
  width:max-content;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
.mech-config-saved-config-stats-table-column-identity{
  width:var(--mech-config-stats-identity-width);
}
.mech-config-saved-config-stats-table-column-source-assumption{
  width:var(--mech-config-stats-assumption-width);
}
.mech-config-saved-config-stats-table-column-source-equipment{
  width:var(--mech-config-stats-equipment-width);
}
.mech-config-saved-config-stats-table-column-config{
  width:var(--mech-config-stats-config-width);
}
.mech-config-saved-config-stats-table-column-stat{
  font-family:'FSSinclair', ui-sans-serif, system-ui, sans-serif;
  font-size:12px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  width:max(
    1.625rem,
    calc(var(--mech-config-stats-max-value-characters, 1) * 1ch + .625rem)
  );
}
.mech-config-saved-config-stats-table-column-stat.is-exact-weapon{
  width:2.375rem;
}
.mech-config-saved-config-stats-table th,
.mech-config-saved-config-stats-table td{
  border-right:1px solid var(--border);
}
.mech-config-saved-config-stats-table th:last-child,
.mech-config-saved-config-stats-table td:last-child{
  border-right:0;
}
.mech-config-saved-config-stats-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  cursor:default;
  background:var(--mech-config-stats-header-surface);
}
.mech-config-saved-config-stats-table-header-stat{
  width:auto;
  min-width:0;
  max-width:none;
  height:var(--mech-config-stats-header-height);
  padding:0;
  text-align:center;
  vertical-align:bottom;
  white-space:normal;
}
.mech-config-saved-config-stats-table-header-stat.is-exact-weapon{
  --mech-config-stats-category-rgb:var(--mwo-kind-muted-rgb);
  --mech-config-stats-category-stripe-style:dotted;
  border-block-start:3px var(--mech-config-stats-category-stripe-style) rgb(var(--mech-config-stats-category-rgb));
  background-color:color-mix(
    in srgb,
    rgb(var(--mech-config-stats-category-rgb)) 11%,
    var(--mech-config-stats-header-surface)
  );
}
.mech-config-saved-config-stats-table-header-stat.mech-config-saved-config-stats-category-ballistic{
  --mech-config-stats-category-rgb:var(--mwo-kind-ballistic-rgb);
  --mech-config-stats-category-stripe-style:solid;
}
.mech-config-saved-config-stats-table-header-stat.mech-config-saved-config-stats-category-energy{
  --mech-config-stats-category-rgb:var(--mwo-kind-energy-rgb);
  --mech-config-stats-category-stripe-style:double;
}
.mech-config-saved-config-stats-table-header-stat.mech-config-saved-config-stats-category-missile{
  --mech-config-stats-category-rgb:var(--mwo-kind-missile-rgb);
  --mech-config-stats-category-stripe-style:dashed;
}
.mech-config-saved-config-stats-table-header-stat.mech-config-saved-config-stats-category-other{
  --mech-config-stats-category-stripe-style:groove;
}
.mech-config-saved-config-stats-table-header-stat.is-exact-weapon:hover,
.mech-config-saved-config-stats-table-header-stat.is-exact-weapon:focus-within{
  background-color:color-mix(
    in srgb,
    rgb(var(--mech-config-stats-category-rgb)) 18%,
    var(--mech-config-stats-header-surface)
  );
}
.mech-config-saved-config-stats-table-header-stat > .mech-config-saved-config-table-sort-button{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  width:100%;
  max-width:100%;
  min-height:var(--mech-config-stats-header-height);
  padding:4px 2px;
  text-align:center;
}
.mech-config-saved-config-stats-table-header-stat > .mech-config-saved-config-table-sort-button.is-exact-weapon{
  display:grid;
  grid-template-columns:1.5rem .625rem;
  align-items:end;
  justify-content:center;
  gap:1px;
  padding-inline:1px;
}
.mech-config-saved-config-stats-table-header-stat > .mech-config-saved-config-table-sort-button:focus-visible{
  outline-offset:-2px;
}
.mech-config-saved-config-stats-table-header-stat.sort-asc::after,
.mech-config-saved-config-stats-table-header-stat.sort-desc::after{
  display:none;
  content:none;
}
.mech-config-saved-config-stats-table-header-stat.sort-asc > .mech-config-saved-config-table-sort-button::after,
.mech-config-saved-config-stats-table-header-stat.sort-desc > .mech-config-saved-config-table-sort-button::after{
  position:absolute;
  inset-block-start:4px;
  inset-inline-start:50%;
  color:var(--accent);
  font-size:10px;
  line-height:1;
  transform:translateX(-50%);
}
.mech-config-saved-config-stats-table-header-stat.sort-asc > .mech-config-saved-config-table-sort-button::after{
  content:"▲";
}
.mech-config-saved-config-stats-table-header-stat.sort-desc > .mech-config-saved-config-table-sort-button::after{
  content:"▼";
}
.mech-config-saved-config-stats-table-header-label{
  display:inline-block;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  transform:rotate(180deg);
  transform-origin:center;
  line-height:1;
  white-space:nowrap;
}
.mech-config-saved-config-stats-property-rail{
  display:flex;
  flex-direction:column;
  align-items:center;
  align-self:stretch;
  justify-content:flex-end;
  gap:2px;
  min-width:0;
  padding-block:12px 1px;
  color:var(--text);
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.mech-config-saved-config-stats-category-cue{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:13px;
  height:13px;
  border:1px solid currentColor;
  background:color-mix(
    in srgb,
    rgb(var(--mech-config-stats-category-rgb)) 28%,
    var(--mech-config-stats-header-surface)
  );
  color:var(--text);
  font-size:8px;
  font-weight:700;
}
.mech-config-saved-config-stats-category-cue.is-energy{
  border-radius:50%;
  border-style:double;
}
.mech-config-saved-config-stats-category-cue.is-missile{
  border-radius:1px 7px 7px 1px;
  border-style:dashed;
}
.mech-config-saved-config-stats-category-cue.is-other{
  border-style:groove;
}
.mech-config-saved-config-stats-category-cue.is-unknown{
  border-style:dotted;
}
.mech-config-saved-config-stats-mass{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
}
.mech-config-saved-config-stats-mass-gauge{
  display:grid;
  grid-template-columns:repeat(3, 4px);
  grid-auto-rows:4px;
  gap:1px;
}
.mech-config-saved-config-stats-mass-cell{
  width:4px;
  height:4px;
  border:1px solid color-mix(in srgb, var(--text) 55%, transparent);
  background:transparent;
}
.mech-config-saved-config-stats-mass-cell.is-base-full{
  background:var(--yellow);
}
.mech-config-saved-config-stats-mass-cell.is-second-full{
  background:var(--red);
}
.mech-config-saved-config-stats-mass-cell.is-base-partial{
  background:linear-gradient(
    to top,
    var(--yellow) var(--mech-config-stats-mass-partial),
    transparent var(--mech-config-stats-mass-partial)
  );
}
.mech-config-saved-config-stats-mass-cell.is-second-partial{
  background:linear-gradient(
    to bottom,
    var(--red) var(--mech-config-stats-mass-partial),
    var(--yellow) var(--mech-config-stats-mass-partial)
  );
}
.mech-config-saved-config-stats-property-token,
.mech-config-saved-config-stats-property-overflow{
  display:block;
  max-width:100%;
  color:var(--text);
  font-size:8px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.mech-config-saved-config-stats-property-overflow{
  color:var(--orange);
  font-size:7px;
}
.mech-config-saved-config-stats-slots{
  min-width:16px;
  padding:1px 2px;
  border:1px solid color-mix(in srgb, var(--text) 58%, transparent);
}
.mech-config-saved-config-stats-property-token.is-unavailable,
.mech-config-saved-config-stats-mass.is-unavailable .mech-config-saved-config-stats-property-token,
.mech-config-saved-config-stats-hsl.is-unavailable .mech-config-saved-config-stats-property-token{
  color:var(--muted);
}
.mech-config-saved-config-stats-hsl{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
}
.mech-config-saved-config-stats-hsl-circles{
  display:grid;
  grid-template-columns:repeat(3, 4px);
  gap:1px;
}
.mech-config-saved-config-stats-hsl-circle{
  width:4px;
  height:4px;
  border:1px solid currentColor;
  border-radius:50%;
  background:currentColor;
}
.mech-config-saved-config-stats-hsl-token{
  font-size:7px;
}
.mech-config-saved-config-stats-table-cell-identity,
.mech-config-saved-config-stats-table .mech-config-saved-config-table-cell-source-assumption,
.mech-config-saved-config-stats-table .mech-config-saved-config-table-cell-source-equipment,
.mech-config-saved-config-stats-table-cell-config{
  position:sticky;
  z-index:2;
  padding:4px 6px;
  background:var(--mech-config-stats-row-surface);
}
.mech-config-saved-config-stats-table-cell-identity{
  left:0;
  width:var(--mech-config-stats-identity-width);
  min-width:var(--mech-config-stats-identity-width);
  max-width:var(--mech-config-stats-identity-width);
}
.mech-config-saved-config-stats-table-cell-config{
  left:calc(var(--mech-config-stats-identity-width) + var(--mech-config-stats-assumption-width) + var(--mech-config-stats-equipment-width));
  width:var(--mech-config-stats-config-width);
  min-width:var(--mech-config-stats-config-width);
  max-width:var(--mech-config-stats-config-width);
  overflow-wrap:anywhere;
  box-shadow:2px 0 0 var(--border);
}
.mech-config-saved-config-stats-table .mech-config-saved-config-table-cell-source-assumption{
  left:var(--mech-config-stats-identity-width);
  width:var(--mech-config-stats-assumption-width);
  min-width:var(--mech-config-stats-assumption-width);
  max-width:var(--mech-config-stats-assumption-width);
}
.mech-config-saved-config-stats-table .mech-config-saved-config-table-cell-source-equipment{
  left:calc(var(--mech-config-stats-identity-width) + var(--mech-config-stats-assumption-width));
  width:var(--mech-config-stats-equipment-width);
  min-width:var(--mech-config-stats-equipment-width);
  max-width:var(--mech-config-stats-equipment-width);
}
.mech-config-saved-config-stats-table thead .mech-config-saved-config-stats-table-cell-identity,
.mech-config-saved-config-stats-table thead .mech-config-saved-config-table-cell-source-assumption,
.mech-config-saved-config-stats-table thead .mech-config-saved-config-table-cell-source-equipment,
.mech-config-saved-config-stats-table thead .mech-config-saved-config-stats-table-cell-config{
  z-index:5;
  background:var(--mech-config-stats-header-surface);
}
.mech-config-saved-config-stats-table-cell-number{
  width:auto;
  min-width:0;
  max-width:none;
  padding:3px;
  text-align:right;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  line-height:1.15;
  white-space:nowrap;
}
.mech-config-saved-config-stats-value-zero{
  color:var(--muted);
  font-size:0;
  font-weight:400;
}
.mech-config-saved-config-stats-value-zero::after{
  content:"–";
  font-size:.7rem;
  line-height:1;
}
.mech-config-saved-config-stats-value-band-red,
.mech-config-saved-config-stats-value-band-amber,
.mech-config-saved-config-stats-value-band-yellow,
.mech-config-saved-config-stats-value-band-green{
  color:var(--text);
  font-weight:700;
  border-inline-start:2px solid var(--mech-config-stats-band-border);
  background:color-mix(
    in srgb,
    var(--mech-config-stats-band-color) 16%,
    var(--mech-config-stats-row-surface)
  );
}
.mech-config-saved-config-stats-value-band-red{
  --mech-config-stats-band-color:var(--red);
  --mech-config-stats-band-border:color-mix(in srgb, var(--red) 68%, var(--text));
}
.mech-config-saved-config-stats-value-band-amber{
  --mech-config-stats-band-color:var(--orange);
  --mech-config-stats-band-border:color-mix(in srgb, var(--orange) 68%, var(--text));
}
.mech-config-saved-config-stats-value-band-yellow{
  --mech-config-stats-band-color:var(--yellow);
  --mech-config-stats-band-border:color-mix(in srgb, var(--yellow) 68%, var(--text));
}
.mech-config-saved-config-stats-value-band-green{
  --mech-config-stats-band-color:var(--accent-2);
  --mech-config-stats-band-border:color-mix(in srgb, var(--accent-2) 68%, var(--text));
}
.mech-config-saved-config-stats-table tbody tr:hover > *,
.mech-config-saved-config-stats-table tbody tr:focus-within > *,
.mech-config-saved-config-stats-table tbody tr:focus-visible > *{
  border-bottom-color:var(--accent);
}
.mech-config-saved-config-stats-table tbody tr:hover > .mech-config-saved-config-stats-table-cell-identity,
.mech-config-saved-config-stats-table tbody tr:hover > .mech-config-saved-config-table-cell-source-assumption,
.mech-config-saved-config-stats-table tbody tr:hover > .mech-config-saved-config-table-cell-source-equipment,
.mech-config-saved-config-stats-table tbody tr:hover > .mech-config-saved-config-stats-table-cell-config,
.mech-config-saved-config-stats-table tbody tr:focus-within > .mech-config-saved-config-stats-table-cell-identity,
.mech-config-saved-config-stats-table tbody tr:focus-within > .mech-config-saved-config-table-cell-source-assumption,
.mech-config-saved-config-stats-table tbody tr:focus-within > .mech-config-saved-config-table-cell-source-equipment,
.mech-config-saved-config-stats-table tbody tr:focus-within > .mech-config-saved-config-stats-table-cell-config{
  background:color-mix(in srgb, var(--text) 7%, var(--mech-config-stats-row-surface));
}
.mech-config-saved-config-stats-table :is(th, td):focus-visible,
.mech-config-saved-config-stats-table-header-stat:focus-within{
  outline:2px solid var(--accent);
  outline-offset:-2px;
}
@media (max-width: 640px){
  .mech-config-saved-config-stats-column-summary{
    flex-direction:column;
    gap:2px;
  }
  .mech-config-saved-config-stats-column-range{
    grid-template-columns:1fr;
  }
  .mech-config-saved-config-stats-table-wrap{
    max-height:min(65vh, 32rem);
    -webkit-overflow-scrolling:touch;
  }
  .mech-config-saved-config-stats-table{
    --mech-config-stats-identity-width:7.5rem;
    --mech-config-stats-assumption-width:9rem;
    --mech-config-stats-equipment-width:7rem;
    --mech-config-stats-config-width:11rem;
    --mech-config-stats-header-height:7.5rem;
  }
  .mech-config-saved-config-stats-table tbody .mech-config-saved-config-stats-table-cell-identity,
  .mech-config-saved-config-stats-table tbody .mech-config-saved-config-table-cell-source-assumption,
  .mech-config-saved-config-stats-table tbody .mech-config-saved-config-table-cell-source-equipment,
  .mech-config-saved-config-stats-table tbody .mech-config-saved-config-stats-table-cell-config{
    position:static;
  }
  .mech-config-saved-config-stats-table thead .mech-config-saved-config-stats-table-cell-identity,
  .mech-config-saved-config-stats-table thead .mech-config-saved-config-table-cell-source-assumption,
  .mech-config-saved-config-stats-table thead .mech-config-saved-config-table-cell-source-equipment,
  .mech-config-saved-config-stats-table thead .mech-config-saved-config-stats-table-cell-config{
    left:auto;
  }
  .mech-config-saved-config-stats-table-header-stat{
    font-size:11px;
  }
}
@media (prefers-reduced-motion: reduce){
  .mech-config-saved-config-stats-table-wrap,
  .mech-config-saved-config-stats-table,
  .mech-config-saved-config-stats-table *{
    scroll-behavior:auto;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
@media (prefers-contrast: more){
  .mech-config-saved-config-stats-table th,
  .mech-config-saved-config-stats-table td{
    border-color:var(--text);
  }
  .mech-config-saved-config-stats-value-band-red,
  .mech-config-saved-config-stats-value-band-amber,
  .mech-config-saved-config-stats-value-band-yellow,
  .mech-config-saved-config-stats-value-band-green{
    border-inline-start-width:3px;
  }
}
@media (forced-colors: active){
  .mech-config-saved-config-stats-table-wrap{
    border-color:CanvasText;
    background:Canvas;
  }
  .mech-config-saved-config-stats-table th,
  .mech-config-saved-config-stats-table td,
  .mech-config-saved-config-stats-table-cell-identity,
  .mech-config-saved-config-stats-table-cell-config,
  .mech-config-saved-config-stats-value-band-red,
  .mech-config-saved-config-stats-value-band-amber,
  .mech-config-saved-config-stats-value-band-yellow,
  .mech-config-saved-config-stats-value-band-green{
    color:CanvasText;
    border-color:CanvasText;
    background:Canvas;
    forced-color-adjust:auto;
  }
  .mech-config-saved-config-stats-value-zero{
    color:GrayText;
  }
  .mech-config-saved-config-stats-table-wrap:focus-visible,
  .mech-config-saved-config-stats-table :is(th, td):focus-visible,
  .mech-config-saved-config-stats-table-header-stat:focus-within{
    outline-color:Highlight;
  }
  .mech-config-saved-config-stats-table-header-stat.sort-asc > .mech-config-saved-config-table-sort-button::after,
  .mech-config-saved-config-stats-table-header-stat.sort-desc > .mech-config-saved-config-table-sort-button::after{
    color:Highlight;
  }
  .mech-config-saved-config-stats-table-header-stat.is-exact-weapon,
  .mech-config-saved-config-stats-category-cue,
  .mech-config-saved-config-stats-mass-cell,
  .mech-config-saved-config-stats-slots,
  .mech-config-saved-config-stats-hsl-circle{
    color:CanvasText;
    border-color:CanvasText;
    background:Canvas;
    forced-color-adjust:auto;
  }
  .mech-config-saved-config-stats-mass-cell:is(.is-base-full, .is-second-full, .is-base-partial, .is-second-partial),
  .mech-config-saved-config-stats-hsl-circle{
    background:CanvasText;
  }
}
.mech-config-saved-config-groups,
.mech-config-saved-config-role-groups{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.mech-config-saved-config-tech-group{
  border:2px solid var(--border);
  background:#111;
}
.mech-config-saved-config-role-groups{
  padding:10px;
}
.mech-config-saved-config-role-group{
  border:1px solid var(--border);
  background:#141414;
}
.mech-config-saved-config-tech-group-summary,
.mech-config-saved-config-role-group-summary,
.mech-config-saved-config-result-details-summary{
  cursor:pointer;
  font-weight:700;
}
.mech-config-saved-config-tech-group-summary::marker,
.mech-config-saved-config-role-group-summary::marker,
.mech-config-saved-config-result-details-summary::marker{
  color:var(--accent);
}
.mech-config-saved-config-tech-group-summary::-webkit-details-marker,
.mech-config-saved-config-role-group-summary::-webkit-details-marker,
.mech-config-saved-config-result-details-summary::-webkit-details-marker{
  color:var(--accent);
}
.mech-config-saved-config-tech-group-summary:focus-visible,
.mech-config-saved-config-role-group-summary:focus-visible,
.mech-config-saved-config-result-details-summary:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:-2px;
}
.mech-config-saved-config-tech-group-summary{
  padding:8px 10px;
  background:#171717;
  color:var(--accent);
}
.mech-config-saved-config-tech-group[open] > .mech-config-saved-config-tech-group-summary{
  border-bottom:1px solid var(--border);
}
.mech-config-saved-config-role-group-summary{
  padding:7px 9px;
  background:#171717;
  color:var(--text);
}
.mech-config-saved-config-role-group[open] > .mech-config-saved-config-role-group-summary{
  border-bottom:1px solid var(--border);
}
.mech-config-saved-config-result-list.references-list{
  margin:0;
  padding-left:0;
  display:grid;
  gap:8px;
  list-style:none;
}
.mech-config-saved-config-result-list .mech-config-saved-config-result{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px 12px;
  align-items:start;
  border:1px solid var(--border);
  background:#171717;
  padding:10px;
}
.mech-config-saved-config-result-list .mech-config-saved-config-result:hover,
.mech-config-saved-config-result-list .mech-config-saved-config-result:focus-within{
  border-color:rgba(255, 220, 0, .45);
  background:#1f1f1f;
}
.mech-config-saved-config-result-list .mech-config-saved-config-result.is-active{
  border-color:var(--accent);
  background:linear-gradient(90deg, rgba(255, 220, 0, .12), #171717 56%);
}
.mech-config-saved-config-result-main{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.mech-config-saved-config-result-heading{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 10px;
  min-width:0;
}
.mech-config-saved-config-result-heading strong{
  min-width:0;
  color:var(--text);
  overflow-wrap:anywhere;
}
.mech-config-saved-config-result-markers{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  border:1px solid rgba(255, 220, 0, .45);
  background:rgba(255, 220, 0, .12);
  color:var(--accent);
  padding:2px 6px;
  font-size:11px;
  font-weight:700;
  line-height:1.25;
  text-transform:uppercase;
}
.mech-config-saved-config-result-mounts,
.mech-config-saved-config-result-comparative-metrics,
.mech-config-saved-config-result-source-assumption{
  display:block;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.mech-config-saved-config-result-source-assumption{
  color:var(--accent);
}
.mech-config-saved-config-result-actions{
  justify-content:flex-end;
  align-self:start;
  flex-wrap:nowrap;
}
.mech-config-saved-config-result-actions .button{
  padding:6px 10px;
}
.mech-config-saved-config-result.is-active .mech-config-saved-config-load-action{
  border-color:var(--accent);
  background:#202020;
  color:var(--text);
}
.mech-config-saved-config-result-details{
  grid-column:1 / -1;
  border-top:1px solid var(--border);
  padding-top:8px;
}
.mech-config-saved-config-result-details-summary{
  color:var(--accent);
}
.mech-config-saved-config-result-details[open] .mech-config-saved-config-result-details-summary{
  margin-bottom:8px;
}
.mech-config-saved-config-result-details .brawl-summary-list{
  padding:8px;
  border:1px solid var(--border);
  background:#141414;
  align-items:start;
}
.mech-config-saved-config-result-details .brawl-summary-list dd{
  overflow-wrap:anywhere;
}
@media (max-width: 900px){
  .mech-config-saved-config-browser-filter-section .mech-config-control:first-child{
    grid-column:1 / -1;
  }
  .mech-config-saved-config-browser-sort-section .mech-config-saved-config-browser-control-grid{
    grid-template-columns:1fr;
  }
  .mech-config-saved-config-browser-reset-row,
  .mech-config-saved-config-browser-controls .button{
    width:100%;
  }
  .mech-config-saved-config-result-list .mech-config-saved-config-result{
    grid-template-columns:1fr;
  }
  .mech-config-saved-config-result-actions{
    justify-content:flex-start;
  }
}
@media (max-width: 640px){
  .mech-config-saved-config-workspace-summary{
    flex-direction:column;
    gap:6px;
  }
  .mech-config-saved-config-workspace-summary-status{
    text-align:left;
  }
  .mech-config-saved-config-browser,
  .mech-config-saved-config-role-groups{
    padding:8px;
  }
  .mech-config-saved-config-result-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .mech-config-saved-config-result-actions{
    flex-wrap:wrap;
  }
  .mech-config-saved-config-result-actions .button{
    flex:1 1 120px;
  }
  .mech-config-saved-config-result-details .brawl-summary-list{
    grid-template-columns:1fr;
  }
}
.mech-config-row-actions{
  gap:6px;
  flex-wrap:wrap;
}
.mech-config-row-actions .button.is-active{
  border-color:var(--accent);
  background:#202020;
  color:var(--text);
}
.mech-config-build-fit{
  border-inline-start:4px solid var(--border);
}
.mech-config-build-fit-verdict{
  display:inline-block;
  border:1px solid currentColor;
  padding:2px 5px;
  line-height:1.2;
}
.mech-config-build-fit-feasible{
  border-inline-start-style:solid;
}
.mech-config-build-fit-plausible{
  border-inline-start-style:dashed;
}
.mech-config-build-fit-likely{
  border-inline-start-style:dashed;
  border-inline-start-width:6px;
}
.mech-config-build-fit-unknown,
.mech-config-build-fit-pending{
  border-inline-start-style:dotted;
}
.mech-config-build-fit-infeasible{
  border-inline-start-style:double;
  border-inline-start-width:6px;
}
.mech-config-build-fit-summary{
  display:block;
  margin-top:4px;
}
.mech-config-build-fit-filters{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}
.mech-config-tag-support{
  display:block;
  margin-top:6px;
  border-top:1px solid var(--border);
  padding-top:5px;
}
.mech-config-tag-support > summary,
.mech-config-tag-support-candidate > summary{
  cursor:pointer;
}
.mech-config-tag-support-candidate{
  margin-top:6px;
  border:1px solid var(--border);
  padding:5px 6px;
  background:#141414;
}
.mech-config-tag-support-candidate > .status{
  display:block;
  margin:4px 0 0;
}
.mech-config-tag-support-preview{
  font-weight:700;
}
.mech-config-tonnage-spend{
  display:block;
  margin-top:4px;
}
.mech-config-tonnage-spend-underweight{
  color:var(--orange);
  font-weight:700;
}
.mech-config-build-suitability{
  display:block;
  margin-top:4px;
}
.mech-config-build-suitability-strong{
  font-weight:700;
}
.mech-config-build-suitability-compromised{
  color:var(--orange);
}
.mech-config-quirk-advantage{
  display:block;
  margin-top:4px;
  font-weight:700;
}
.mech-config-quirk-advantage-hypothetical{
  color:var(--orange);
}
.mech-config-tonnage-reinvestment{
  display:block;
  margin-top:4px;
  font-weight:700;
}
.mech-config-build-fit-marker{
  display:block;
  margin-top:4px;
  font-weight:700;
}
.mech-config-build-fit-marker-critical{
  color:var(--red, #ff6b6b);
}
.mech-config-build-fit-marker-warning{
  color:var(--orange);
}
.table-wrap .mech-config-compatible-mech-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
}
.mech-config-compatible-column-candidate{width:15rem}
.mech-config-compatible-column-build-fit{width:calc(100% - 62rem)}
.mech-config-compatible-column-mobility{width:8rem}
.mech-config-compatible-column-vitality{width:9rem}
.mech-config-compatible-column-heat{width:10rem}
.mech-config-compatible-column-hardpoints{width:12rem}
.mech-config-compatible-column-actions{width:8rem}
@media (max-width: 1200px){
  .mech-config-compatible-column-candidate{width:18%}
  .mech-config-compatible-column-build-fit{width:24%}
  .mech-config-compatible-column-mobility{width:10%}
  .mech-config-compatible-column-vitality{width:12%}
  .mech-config-compatible-column-heat{width:11%}
  .mech-config-compatible-column-hardpoints{width:14%}
  .mech-config-compatible-column-actions{width:11%}
}
.mech-config-compatible-mech-table th,
.mech-config-compatible-mech-table td{
  min-width:0;
  overflow-wrap:anywhere;
}
.mech-config-compatible-mech-table .mech-config-compatible-metric-primary,
.mech-config-compatible-mech-table .mech-config-compatible-metric-detail{
  white-space:normal;
}
.mech-config-compatible-mech-table .mech-config-row-actions{
  align-items:stretch;
  flex-direction:column;
}
.mech-config-compatible-mech-table .mech-config-row-actions .button{
  width:100%;
}
.mech-config-compatible-metric-primary{
  display:block;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
}
.mech-config-compatible-metric-detail{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
  white-space:nowrap;
}
.mech-config-compatible-metric-unavailable{
  color:var(--muted);
  font-style:italic;
  font-weight:400;
}
.mech-config-compatible-tech-token,
.mech-config-table td .mech-config-compatible-tech-token{
  display:inline-flex;
  align-items:baseline;
  margin-left:6px;
  border:1px solid var(--border);
  padding:0 4px;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.2;
  vertical-align:baseline;
  white-space:nowrap;
}
.mech-config-truncation-notice{
  border-inline-start:3px solid var(--orange);
  padding-inline-start:8px;
}
.mech-config-compatible-source{
  border-inline-start:3px solid var(--accent);
  padding-inline-start:8px;
  font-weight:700;
}
.mech-config-compatible-exact-deadside{
  color:var(--accent);
  border-inline-start:3px solid var(--accent);
  padding-inline-start:8px;
}
.mech-config-compatible-source-mismatch{
  border-inline-start:3px double var(--orange);
  padding-inline-start:8px;
}
.mech-config-excluded-build-fits{
  margin-top:10px;
  border:1px solid var(--border);
  background:#141414;
  padding:8px 10px;
}
.mech-config-excluded-build-fits-summary{
  cursor:pointer;
  color:var(--accent);
  font-weight:700;
}
.mech-config-excluded-build-fits[open] .mech-config-excluded-build-fits-summary{
  margin-bottom:8px;
}
.mech-config-excluded-build-fit-list{
  margin:0;
  padding-left:20px;
}
.mech-config-excluded-build-fit-list li{
  margin:6px 0;
}
.mech-config-excluded-build-fit-list span{
  display:block;
  color:var(--muted);
}
.mech-config-metric-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:10px;
  margin-bottom:12px;
}
.mech-config-metric-card{
  border:2px solid var(--border);
  background:#141414;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.mech-config-metric-card-value{
  color:var(--accent);
  font-size:20px;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.mech-config-metric-card-detail{
  line-height:1.25;
  overflow-wrap:anywhere;
}
.mech-config-metric-card-missing,
.mech-config-metric-card-missing-side,
.mech-config-metric-card-missing-mech{
  border-color:#444;
}
.mech-config-compare-panel{
  border:2px solid var(--border);
  background:#141414;
  padding:10px 12px;
  margin-bottom:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.mech-config-compare-heading,
.mech-config-compare-slot-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.mech-config-compare-heading h3{
  margin:0;
}
.mech-config-compare-slots{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:10px;
}
.mech-config-compare-slot{
  border:1px solid var(--border);
  background:#171717;
  padding:8px 10px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.mech-config-compare-slot-name{
  font-weight:700;
  overflow-wrap:anywhere;
}
.mech-config-compare-clear:disabled{
  cursor:not-allowed;
  opacity:.65;
}
.mech-config-cooling-capacity{
  border:1px solid #3d3d3d;
  background:#111;
  padding:8px 10px;
  margin-top:8px;
  min-width:0;
}
.mech-config-cooling-capacity h4{
  margin:0 0 8px;
  color:var(--accent);
}
.mech-config-compare-cooling-control{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin-top:6px;
}
.mech-config-compare-cooling-control .mech-config-control{
  flex:1 1 auto;
  min-width:0;
}
.mech-config-compare-cooling-reset{
  flex:0 0 auto;
  margin-bottom:2px;
}
.mech-config-compare-deltas-wrap{
  max-height:260px;
}
.mech-config-compare-numeric-cell{
  text-align:right;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.mech-config-compare-unavailable-cell{
  color:var(--muted);
  white-space:normal;
}
.mech-config-table th{
  position:static;
}
.mech-config-saved-config-table th{
  position:sticky;
  top:0;
}
.mech-config-table td{
  vertical-align:top;
}
.mech-config-table td strong,
.mech-config-table td span{
  display:block;
}
.mech-config-saved-config-table .mwo-group-toggle-icon{
  display:inline-block;
}
.mech-config-saved-config-table .mwo-group-count,
.mech-config-saved-config-table .mwo-group-badge{
  display:inline-flex;
}
.mech-config-json-shell{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mech-config-json-placeholder{
  border:1px solid var(--border);
  margin:0;
  padding:8px;
}
.mech-config-json-editor{
  width:100%;
  min-height:220px;
  font-family:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  resize:vertical;
}
.profile-builder-field-row{
  align-items:center;
}
.profile-builder-layout{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  grid-template-areas:
    "setup add"
    "current aggregate"
    "tag-support tag-support"
    "future future";
  align-items:start;
}
.profile-builder-card--setup{
  grid-area:setup;
}
.profile-builder-card--add{
  grid-area:add;
}
.profile-builder-card--current{
  grid-area:current;
}
.profile-builder-card--aggregate{
  grid-area:aggregate;
}
.profile-builder-card--tag-support{
  grid-area:tag-support;
}
.profile-builder-card--future{
  grid-area:future;
}
.profile-builder-control-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:8px;
  min-width:0;
}
.profile-builder-tag-support-candidate{
  margin-top:8px;
  border:1px solid var(--border);
  padding:8px;
  background:#141414;
}
.profile-builder-tag-support-candidate > summary{
  cursor:pointer;
}
.profile-builder-tag-support-preview{
  font-weight:700;
}
.profile-builder-actions,
.profile-builder-row-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
}
.profile-builder-count-input{
  width:84px;
  min-width:84px;
}
.profile-builder-table-wrap{
  max-height:360px;
}
.profile-builder-validation-list{
  gap:4px;
}
.profile-builder-omni-preview{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.profile-builder-preview-fieldset{
  border:2px dashed var(--border);
  margin:0;
  padding:10px;
  min-width:0;
}
.profile-builder-preview-control-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:10px;
}
.profile-builder-preview-control{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.profile-builder-preview-control-input{
  width:100%;
  min-width:0;
}
.profile-builder-preview-list{
  gap:4px;
}
.profile-builder-message-error{
  color:#ff8080;
}
.profile-builder-message-warning{
  color:var(--orange);
}
.profile-builder-message-success{
  color:var(--accent);
}
.profile-builder-message-info{
  color:var(--muted);
}
@media (max-width: 1100px){
  .mech-config-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "saved"
      "comparison"
      "compatible"
      "active"
      "results"
      "breakdowns"
      "editor"
      "diagnostics";
  }
}
@media (max-width: 900px){
  .mwo-mech-filter-tools{
    grid-template-columns:minmax(0, 1fr);
  }
  .brawl-grid{
    grid-template-columns:1fr;
  }
  .profile-builder-layout{
    grid-template-areas:
      "setup"
      "add"
      "current"
      "aggregate"
      "tag-support"
      "future";
  }
}
@media (max-width: 640px){
  main{
    padding:8px;
  }
  .brawl-container,
  .references-container,
  .mwo-weapon-catalog,
  .mwo-mech-table{
    padding:10px;
  }
  .input.wide,
  .brawl-scenario-select{
    width:100%;
    min-width:0;
  }
  .brawl-summary-list{
    grid-template-columns:minmax(0, 1fr);
  }
}
.references-section{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.references-section h1,
.references-section h2{
  margin:0;
}
.references-section h1{
  font-size:28px;
}
.references-section h2{
  font-size:18px;
}
.references-intro{
  margin:0;
  max-width:72ch;
  color:var(--muted);
  line-height:1.5;
}
.references-list{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:10px;
}
.references-list a{
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:2px;
}
.references-list a:hover{
  color:var(--accent-2);
}
