/* LineAlgo Mastery — FantasyCruncher workspace × FantasyLabs tool chrome */
:root {
  --ms-bg: #0f1218;
  --ms-bg-elevated: #151a22;
  --ms-panel: #1a1f28;
  --ms-panel-2: #222833;
  --ms-panel-3: #2c3442;
  --ms-border: #343d4d;
  --ms-border-soft: rgba(52, 61, 77, 0.72);
  --ms-text: #e8ecf1;
  --ms-muted: #8b95a8;
  --ms-muted-2: #5c6678;
  --ms-blue: #1a73e8;
  --ms-blue-hover: #1557b0;
  --ms-green: #5fba7d;
  --ms-brand: #9bd51c;
  --ms-orange: #f5a623;
  --ms-purple: #8b5cf6;
  --ms-red: #e74c3c;
  --ms-glow: transparent;
  --ms-radius: 6px;
  --ms-radius-lg: 8px;
  --ms-radius-sm: 4px;
  --ms-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --ms-display: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ms-mono: "SF Mono", "Roboto Mono", ui-monospace, monospace;
  --ms-shadow-card: 0 1px 0 rgba(0, 0, 0, 0.35);
  --ms-shadow-elevated: 0 12px 40px rgba(0, 0, 0, 0.55);
  --ms-blur: saturate(140%) blur(12px);
  --ms-toolbar-h: 44px;
  --ms-content-max: 1440px;
  --ms-z-chrome: 300;
  --ms-z-modal: 10000010;
  --ms-z-toast: 10000020;
}

* { box-sizing: border-box; }

/* Keyboard focus rings — consistent across buttons and form controls */
.ms-body button:focus,
.ms-body [role="button"]:focus,
.ms-body a.ms-btn:focus {
  outline: none;
}
.ms-body button:focus-visible,
.ms-body [role="button"]:focus-visible,
.ms-body a.ms-btn:focus-visible,
.ms-body .ms-btn:focus-visible,
.ms-body .ms-pro-btn:focus-visible,
.ms-body .ms-date-step:focus-visible,
.ms-body .ms-pill:focus-visible {
  outline: 2px solid var(--ms-blue);
  outline-offset: 2px;
}
.ms-body input:focus-visible,
.ms-body select:focus-visible,
.ms-body textarea:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.35);
}
.ms-body input[type="range"]:focus-visible {
  outline: 2px solid var(--ms-blue);
  outline-offset: 4px;
  box-shadow: none;
}
.ms-body input[type="range"],
.ms-field input[type="range"],
.bc-rules-panel input[type="range"],
.ms-study-timeline-slider {
  width: 100%;
  height: 6px;
  margin: 0;
  accent-color: var(--ms-blue, #3b82f6);
  cursor: pointer;
}
.ms-body input[type="checkbox"]:focus-visible,
.ms-body input[type="radio"]:focus-visible {
  outline: 2px solid var(--ms-blue);
  outline-offset: 2px;
  box-shadow: none;
}

body.ms-body {
  margin: 0;
  min-height: 100vh;
  background: var(--ms-bg);
  color: var(--ms-text);
  font-family: var(--ms-font);
  font-size: 15px;
  line-height: 1.47;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.ms-premium,
body.ms-apple { background-color: var(--ms-bg); }

.ms-shell {
  width: min(var(--ms-content-max), calc(100% - 24px));
  margin: 0 auto;
  padding: 0 0 64px;
}

/* ── Toolbar (FC header + FL tool strip) ── */
.ms-topnav {
  position: sticky;
  top: 0;
  z-index: calc(var(--ms-z-chrome, 300) + 80);
  border-bottom: 1px solid var(--ms-border);
  background: var(--ms-bg-elevated);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}
.ms-topnav-inner {
  width: min(var(--ms-content-max), calc(100% - 24px));
  margin: 0 auto;
  min-height: var(--ms-toolbar-h);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: nowrap;
}
.ms-topnav-left, .ms-topnav-right {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow: visible;
}
.ms-topnav-left {
  flex: 0 0 auto;
  min-width: 0;
}

.ms-topnav-right {
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: 0;
  flex-wrap: nowrap;
  position: relative;
  z-index: calc(var(--ms-z-chrome, 300) + 90);
}

body.ms-body .ms-topnav [data-auth-badge],
.ms-topnav-right > [data-auth-badge] {
  display: none !important;
}

.ms-engine-selector {
  --ms-provider-accent: #31d17c;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 38px;
  padding: 4px 7px;
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-left: 3px solid var(--ms-provider-accent);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.94);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  position: relative;
  z-index: calc(var(--ms-z-chrome, 300) + 100);
}

.ms-engine-selector-label {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  color: rgba(226, 232, 240, 0.78);
}

.ms-engine-selector-control {
  min-width: 106px;
  min-height: 28px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 6px;
  outline: 0;
  background: rgba(2, 6, 23, 0.64);
  color: #f8fafc;
  font-size: 12px;
  font-weight: 800;
  padding: 0 8px;
  cursor: pointer;
}

.ms-engine-selector-native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.ms-engine-select-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  min-width: 98px;
  padding: 3px 7px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 7px;
  background: rgba(2, 6, 23, 0.72);
  color: #f8fafc;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.ms-engine-select-button i {
  margin-left: auto;
  color: rgba(226, 232, 240, 0.7);
  font-size: 0.66rem;
}

.ms-engine-options {
  position: absolute;
  left: 8px;
  top: calc(100% + 6px);
  z-index: calc(var(--ms-z-chrome, 300) + 110);
  display: grid;
  gap: 3px;
  min-width: 164px;
  padding: 6px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.98);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.4);
}

.ms-engine-options[hidden] {
  display: none !important;
}

.ms-engine-option {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 31px;
  padding: 5px 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #e5edf7;
  font-size: 12px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.ms-engine-option:hover,
.ms-engine-option.is-active {
  border-color: rgba(96, 165, 250, 0.28);
  background: rgba(59, 130, 246, 0.14);
}

.ms-engine-selector-control option {
  background: #0f172a;
  color: #f8fafc;
}

.ms-engine-output-cell,
.ms-engine-own {
  white-space: nowrap;
}

.ms-own-band {
  font-size: 10px;
  color: var(--ms-muted);
  font-weight: 600;
}

.ms-own-provisional-badge {
  display: inline-block;
  margin-left: 2px;
  padding: 0 4px;
  border-radius: 4px;
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  font-size: 9px;
  font-weight: 800;
  vertical-align: middle;
}

.ms-own-actuals-chip {
  display: inline-block;
  margin-left: 3px;
  padding: 0 4px;
  border-radius: 4px;
  background: rgba(52, 211, 153, 0.15);
  color: #34d399;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.ms-engine-own-na,
.ms-engine-own-h-na {
  color: var(--ms-muted);
  font-size: 11px;
}

.ms-own-na-note {
  display: block;
  font-size: 9px;
  color: var(--ms-muted);
  font-weight: 600;
}

.ms-own-alt-val {
  display: block;
  font-size: 9px;
  color: var(--ms-muted);
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-top: 1px;
}
.ms-engine-core-cell {
  min-width: 74px;
}

.ms-engine-core-cell small {
  display: block;
  margin-top: 2px;
  color: var(--ms-muted);
  font-size: 10px;
  font-weight: 700;
}

.ms-engine-col-logo {
  display: block;
  width: 16px;
  height: 16px;
  object-fit: contain;
  margin: 0 auto 2px;
  opacity: 0.85;
}

.ms-engine-core-split {
  min-width: 46px;
}

.ms-engine-core-split-empty {
  color: var(--ms-muted);
  opacity: 0.4;
}

.ms-engine-core-core {
  color: #bbf7d0;
}

.ms-engine-core-watch {
  color: #bae6fd;
}

.ms-engine-core-fade {
  color: #fecaca;
}

body[data-ms-provider-engine="grok"] .ms-engine-selector,
html[data-ms-provider-engine="grok"] .ms-engine-selector {
  --ms-provider-accent: #31d17c;
}

body[data-ms-provider-engine="codex"] .ms-engine-selector,
html[data-ms-provider-engine="codex"] .ms-engine-selector {
  --ms-provider-accent: #4ea0ff;
}

body[data-ms-provider-engine="claude"] .ms-engine-selector,
html[data-ms-provider-engine="claude"] .ms-engine-selector {
  --ms-provider-accent: #f2a84b;
}

body[data-ms-provider-engine="hermes"] .ms-engine-selector,
html[data-ms-provider-engine="hermes"] .ms-engine-selector {
  --ms-provider-accent: #14b8a6;
}

body[data-ms-provider-engine="openclaw"] .ms-engine-selector,
html[data-ms-provider-engine="openclaw"] .ms-engine-selector {
  --ms-provider-accent: #ef4444;
}

@media (max-width: 768px) {
  .ms-topnav-right .ms-engine-selector {
    width: min(100%, 280px);
  }

  .ms-engine-selector-control {
    flex: 1 1 auto;
    min-width: 0;
  }
}

.ms-provider-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #f8fafc;
  background: rgba(30, 41, 59, 0.9);
}

.ms-provider-badge--grok { border-color: rgba(49, 209, 124, 0.55); color: #a7f3d0; }
.ms-provider-badge--codex { border-color: rgba(78, 160, 255, 0.58); color: #bfdbfe; }
.ms-provider-badge--claude { border-color: rgba(242, 168, 75, 0.58); color: #fed7aa; }
.ms-provider-badge--hermes { border-color: rgba(20, 184, 166, 0.58); color: #99f6e4; }
.ms-provider-badge--openclaw { border-color: rgba(239, 68, 68, 0.58); color: #fecaca; }
.ms-provider-badge--compact { padding-inline: 6px; }

.ms-provider-logo {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08), 0 5px 14px rgba(0, 0, 0, 0.18);
}

.ms-provider-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ms-provider-logo--compact {
  width: 20px;
  height: 20px;
  border-radius: 6px;
}

.ms-provider-logo--hermes {
  background: #0b0f19;
}

.ms-provider-logo--openclaw {
  background: transparent;
  box-shadow: none;
}

.ms-topnav-strategy-actions {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1 1 430px;
  flex-wrap: nowrap;
  width: min(100%, 500px);
  min-width: 0;
  max-width: 500px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.ms-topnav-strategy-actions::-webkit-scrollbar {
  display: none;
}
.ms-topnav-strategy-actions > .ms-field-info,
.ms-topnav-strategy-actions > .ms-field-info-standalone,
.ms-topnav-strategy-actions > [data-ms-help-btn] {
  display: none !important;
}
.ms-provider-build-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex: 1 1 0;
  width: auto;
  max-width: 96px;
  min-width: 0;
  min-height: 32px;
  padding: 4px 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}
.ms-provider-build-tile i {
  flex: 0 0 auto;
  font-size: 0.9rem;
}
.ms-provider-build-copy {
  display: grid;
  gap: 1px;
  min-width: 0;
  overflow: hidden;
  text-align: left;
}
.ms-provider-build-name {
  font-size: 0.59rem;
  font-weight: 950;
  letter-spacing: 0.055em;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-provider-build-sub {
  font-size: 0.44rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  opacity: 0.78;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-openclaw-mastery-btn {
  background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  color: #fff7ed;
}
.ms-hermes-mastery-btn {
  background: linear-gradient(135deg, #14b8a6 0%, #6366f1 100%);
  color: #eef2ff;
}
.ms-provider-build-tile.is-coming-soon {
  cursor: not-allowed;
  filter: saturate(0.78);
  opacity: 0.76;
}
.ms-provider-build-tile.is-coming-soon .ms-provider-logo,
.ms-provider-build-tile.is-coming-soon .ms-provider-build-copy {
  opacity: 1;
  filter: none;
}
.ms-mobile-date-picker {
  display: none;
  align-items: center;
  gap: 6px;
  width: 100%;
}
.ms-mobile-date-label {
  color: var(--ms-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ms-mobile-date-input {
  min-width: 0;
  flex: 1 1 auto;
}
.ms-topnav .la-header-brand { gap: 8px; }
.ms-topnav .la-header-icon { width: 28px; height: 28px; opacity: 0.95; }
.ms-topnav .la-header-wordmark {
  font-family: var(--ms-display);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.022em;
  color: #1a73ff;
}
.ms-topnav .la-header-wordmark em {
  background: linear-gradient(90deg, #a855f7 0%, #c026d3 55%, #e040fb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.ms-topnav .la-header-wordmark::after {
  background: linear-gradient(90deg, #a855f7 0%, #c026d3 50%, #e040fb 100%);
  opacity: 0.85;
}
.ms-topnav-divider { display: none; }
.ms-topnav-product { display: flex; align-items: center; gap: 8px; }
.ms-topnav-mark { display: none; }
.ms-topnav-title {
  margin: 0;
  font-family: var(--ms-display);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.022em;
}
.ms-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(48, 209, 88, 0.12);
  font-size: 12px;
  font-weight: 500;
  color: var(--ms-green);
}
.ms-live-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ms-green);
}
@keyframes ms-live-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
.ms-apple .ms-live-dot { animation: ms-live-pulse 2.4s ease-in-out infinite; }

/* Page header */
.ms-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 20px 0 8px;
}
.ms-page-eyebrow {
  margin: 0 0 4px;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--ms-text);
}
.ms-page-sub {
  margin: 0;
  font-size: 15px;
  color: var(--ms-muted);
  max-width: 42ch;
}
.ms-page-header-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Metrics strip (FL KPI bar, FC density) */
.ms-metrics {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  margin: 0 0 12px;
  padding: 0;
  border-radius: var(--ms-radius);
  background: var(--ms-panel);
  border: 1px solid var(--ms-border);
  overflow: hidden;
}
.ms-metric {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 10px 16px;
  background: transparent;
  min-width: 0;
  flex: 1 1 88px;
  border-right: 1px solid var(--ms-border);
}
.ms-metric:last-of-type { border-right: none; }
.ms-metric-val {
  font-family: var(--ms-mono);
  font-size: 18px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: var(--ms-text);
}
.ms-metric-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-metric-fresh.ms-stale { color: var(--ms-orange); }
.ms-metric-fresh.ms-metric-fresh-now {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.ms-metrics > .ms-btn {
  align-self: stretch;
  justify-self: stretch;
  border-radius: 0;
  border: none;
  background: var(--ms-panel-2);
}
/* ── Slate date bar (FC optimizer toolbar) ── */
.ms-slate-bar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0 0 0;
  padding: 10px 14px;
  border-radius: 0;
  background: var(--ms-panel);
  border: 1px solid var(--ms-border);
  border-top: none;
  box-shadow: var(--ms-shadow-card);
}
.ms-date-control { display: flex; flex-direction: column; gap: 6px; min-width: min(100%, 320px); }
.ms-date-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--ms-muted);
}
.ms-date-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.ms-date-row.date-picker-control input[type="date"] {
  flex: 1 1 160px;
  min-width: 150px;
}
.ms-date-input {
  background: var(--ms-panel-2);
  border: none;
  color: var(--ms-text);
  border-radius: var(--ms-radius-sm);
  padding: 8px 36px 8px 12px;
  font-size: 15px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color-scheme: dark;
  cursor: pointer;
  min-height: 36px;
  flex: 1 1 auto;
  min-width: 0;
  appearance: auto;
  -webkit-appearance: auto;
}
.ms-date-input::-webkit-calendar-picker-indicator {
  display: block;
  opacity: 1;
  position: static;
  width: 18px;
  height: 18px;
  margin: 0 0 0 auto;
  padding: 0;
  cursor: pointer;
  filter: invert(79%) sepia(51%) saturate(631%) hue-rotate(177deg) brightness(104%) contrast(101%);
}
.ms-date-input.la-date-input-enhanced {
  background-position: right 10px center;
  background-repeat: no-repeat;
}
#ms-date.ms-date-input {
  -webkit-appearance: auto;
  appearance: auto;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  padding-right: 32px;
  position: relative;
  text-align: left;
}
#ms-date.ms-date-input::-webkit-calendar-picker-indicator {
  display: block;
  opacity: 1;
  width: 18px;
  height: 18px;
  margin: 0 0 0 auto;
  padding: 0;
  flex-shrink: 0;
  position: static;
  cursor: pointer;
  filter: invert(79%) sepia(51%) saturate(631%) hue-rotate(177deg) brightness(104%) contrast(101%);
}
#ms-date.ms-date-input.la-date-input-enhanced {
  background-image: none;
  background-position: initial;
  background-repeat: no-repeat;
}
.ms-date-input:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.35); }
.ms-date-step {
  width: 36px;
  height: 36px;
  border-radius: var(--ms-radius-sm);
  border: none;
  background: var(--ms-panel-2);
  color: var(--ms-text);
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease;
}
.ms-date-step:hover:not(:disabled) { background: var(--ms-panel-3); }
.ms-date-step:disabled { opacity: 0.3; cursor: not-allowed; }

.ms-slate-picker {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: min(100%, 240px);
}
.ms-slate-select {
  width: 100%;
  min-height: 36px;
  padding: 8px 12px;
  border: none;
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel-2);
  color: var(--ms-text);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ebebf5' fill-opacity='0.55' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
}
.ms-slate-select:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.35);
}
.ms-slate-select:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ms-slate-select-native {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}
/* ── Slate time-slot rail (DK contest picker) ── */
.ms-slate-rail-panel {
  margin: 0;
  padding: 12px 14px 14px;
  border: 1px solid var(--ms-border);
  border-top: none;
  background: linear-gradient(180deg, var(--ms-panel) 0%, var(--ms-panel-2) 100%);
  box-shadow: var(--ms-shadow-card);
}
.ms-slate-rail-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.ms-slate-rail-hint {
  font-size: 12px;
  color: var(--ms-muted);
  text-align: right;
}
.ms-slate-rail-scroller {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: stretch;
  gap: 6px;
}
.ms-slate-rail-nav {
  align-self: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  color: var(--ms-text);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, opacity 0.15s ease;
  flex-shrink: 0;
}
.ms-slate-rail-nav:hover:not(:disabled) { background: var(--ms-panel-3); }
.ms-slate-rail-nav:disabled { opacity: 0.35; cursor: default; }
.ms-slate-rail {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 2px 8px;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}
.ms-slate-rail::-webkit-scrollbar { height: 6px; }
.ms-slate-rail::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 999px;
}
.ms-slate-rail-empty {
  flex: 1;
  min-width: 100%;
  padding: 18px 16px;
  border-radius: var(--ms-radius-md);
  border: 1px dashed var(--ms-border);
  color: var(--ms-muted);
  font-size: 14px;
  text-align: center;
  background: rgba(0, 0, 0, 0.12);
}
.ms-slate-rail-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.ms-slate-rail-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-top-color: var(--ms-accent, #0a84ff);
  border-radius: 50%;
  animation: ms-slate-spin 0.8s linear infinite;
}
@keyframes ms-slate-spin { to { transform: rotate(360deg); } }
.ms-slate-card {
  flex: 0 0 calc((100% - 24px) / 3);
  width: calc((100% - 24px) / 3);
  min-width: 272px;
  max-width: 420px;
  height: 104px;
  max-height: 104px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 10px 12px 8px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(12, 14, 22, 0.72);
  color: var(--ms-text);
  text-align: left;
  cursor: pointer;
  scroll-snap-align: start;
  overflow: hidden;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background 0.18s ease;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}
.ms-slate-card:hover {
  border-color: rgba(10, 132, 255, 0.45);
  transform: translateY(-1px);
}
.ms-slate-card.is-active {
  border-color: rgba(10, 132, 255, 0.85);
  background: linear-gradient(165deg, rgba(10, 132, 255, 0.18) 0%, rgba(12, 14, 22, 0.9) 55%);
  box-shadow: 0 0 0 1px rgba(10, 132, 255, 0.35), 0 12px 28px rgba(0, 0, 0, 0.28);
}
.ms-slate-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-shrink: 0;
}
.ms-slate-card-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.ms-slate-card-name {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ms-slate-card-day {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ms-muted);
  text-transform: none;
  line-height: 1.3;
}
.ms-slate-card-time {
  font-family: var(--ms-display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: #fff;
}
.ms-slate-card-rule {
  display: none;
}
.ms-slate-card-games {
  font-size: 12px;
  font-weight: 600;
  color: rgba(235, 235, 245, 0.88);
  display: inline-flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
  white-space: nowrap;
  margin-top: 2px;
}
.ms-slate-weather-cloud {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(235, 235, 245, 0.72);
  cursor: pointer;
  flex: 0 0 auto;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
}
.ms-slate-weather-cloud.is-green {
  color: #9be564;
  border-color: rgba(155, 229, 100, 0.35);
  background: rgba(155, 229, 100, 0.12);
}
.ms-slate-weather-cloud.is-yellow {
  color: #ffd166;
  border-color: rgba(255, 209, 102, 0.45);
  background: rgba(255, 209, 102, 0.14);
}
.ms-slate-weather-cloud.is-red {
  color: #ff5d73;
  border-color: rgba(255, 93, 115, 0.5);
  background: rgba(255, 93, 115, 0.14);
}
.ms-slate-weather-cloud:focus-visible {
  outline: 2px solid rgba(10, 132, 255, 0.8);
  outline-offset: 2px;
}
.ms-slate-weather-cloud.is-feature-off {
  display: none;
}
.ms-slate-card-weather-yellow {
  border-color: rgba(255, 209, 102, 0.55);
  box-shadow: 0 0 0 1px rgba(255, 209, 102, 0.35), 0 0 16px rgba(255, 209, 102, 0.28);
}
.ms-slate-card-weather-red {
  border-color: rgba(255, 93, 115, 0.6);
  box-shadow: 0 0 0 1px rgba(255, 93, 115, 0.4), 0 0 18px rgba(255, 93, 115, 0.34);
}
.ms-slate-card-weather-yellow.is-active {
  border-color: rgba(255, 209, 102, 0.85);
}
.ms-slate-card-weather-red.is-active {
  border-color: rgba(255, 93, 115, 0.85);
}
.ms-slate-card-chevron {
  font-size: 14px;
  opacity: 0.7;
}
.ms-slate-card-matchups {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin-top: 8px;
  padding-bottom: 2px;
  overflow-x: auto;
  overflow-y: hidden;
  align-items: center;
  flex: 1;
  min-height: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
  mask-image: linear-gradient(90deg, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent 100%);
}
.ms-slate-card-matchups::-webkit-scrollbar {
  display: none;
}
.ms-slate-card-teams {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin-top: 8px;
  overflow-x: auto;
  align-items: center;
}
.ms-slate-matchup {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  padding: 3px 8px 3px 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.ms-slate-matchup-team {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ms-slate-matchup-vs {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(235, 235, 245, 0.45);
}
.ms-slate-matchup-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  color: var(--ms-accent, #7eb8ff);
  background: rgba(126, 184, 255, 0.08);
  border: 1px dashed rgba(126, 184, 255, 0.35);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.ms-slate-matchup-more:hover,
.ms-slate-matchup-more:focus-visible {
  color: #fff;
  background: rgba(126, 184, 255, 0.18);
  border-color: rgba(126, 184, 255, 0.55);
  outline: none;
}
.ms-slate-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.ms-slate-detail-name {
  font-size: 16px;
  font-weight: 700;
}
.ms-slate-detail-sub {
  margin-top: 4px;
  font-size: 12px;
  color: var(--ms-muted);
}
.ms-slate-detail-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--ms-muted);
  flex-shrink: 0;
}
.ms-slate-detail-status.is-live {
  color: #ff6b6b;
  border-color: rgba(255, 107, 107, 0.35);
  background: rgba(255, 107, 107, 0.12);
}
.ms-slate-detail-status.is-urgent {
  color: #ffd166;
  border-color: rgba(255, 209, 102, 0.35);
  background: rgba(255, 209, 102, 0.12);
}
.ms-slate-detail-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  margin: 0 0 16px;
  padding: 12px;
  border-radius: var(--ms-radius-sm);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.ms-slate-detail-meta > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.ms-slate-detail-meta-wide {
  grid-column: 1 / -1;
}
.ms-slate-detail-meta dt {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-slate-detail-meta dd {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  word-break: break-word;
}
.ms-slate-detail-meta code {
  font-size: 11px;
  font-weight: 500;
}
.ms-slate-detail-section {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-slate-detail-matchups {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: grid;
  gap: 8px;
}
.ms-slate-detail-matchup {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: var(--ms-radius-sm);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.ms-slate-detail-teams-label,
.ms-slate-detail-team-codes {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(235, 235, 245, 0.85);
}
.ms-slate-detail-team-codes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ms-slate-detail-team-code {
  display: inline-flex;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.ms-slate-weather-summary {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0 0 16px;
  padding: 12px;
  border-radius: var(--ms-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
}
.ms-slate-weather-summary p {
  margin: 2px 0 0;
  color: var(--ms-muted);
  font-size: 12px;
}
.ms-slate-weather-games {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}
.ms-slate-weather-game {
  padding: 10px;
  border-radius: var(--ms-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}
.ms-slate-weather-game.is-yellow { border-color: rgba(255, 209, 102, 0.35); }
.ms-slate-weather-game.is-red { border-color: rgba(255, 93, 115, 0.45); }
.ms-slate-weather-game-head,
.ms-slate-weather-game-metrics {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.ms-slate-weather-game-head span,
.ms-slate-weather-game-metrics span {
  color: var(--ms-muted);
  font-size: 11px;
  font-weight: 700;
}
.ms-slate-weather-game p {
  margin: 8px 0 0;
  color: rgba(235, 235, 245, 0.82);
  font-size: 12px;
}
.ms-slate-team-toggle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.ms-slate-team-toggle {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 9px;
  border-radius: var(--ms-radius-sm);
  border: 1px solid rgba(155, 229, 100, 0.3);
  background: rgba(155, 229, 100, 0.08);
  font-size: 12px;
  font-weight: 800;
}
.ms-slate-team-toggle.is-off {
  border-color: rgba(255, 93, 115, 0.4);
  background: rgba(255, 93, 115, 0.12);
  opacity: 0.72;
}
.ms-slate-team-toggle.is-readonly {
  opacity: 0.62;
}
.ms-slate-team-toggle small {
  color: var(--ms-muted);
  font-size: 10px;
}
.ms-slate-team-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 6px 3px 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.ms-slate-team-abbr {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(235, 235, 245, 0.92);
}
.ms-slate-card .ms-team-logo,
.ms-slate-card .ms-logo-fallback {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50%;
  object-fit: contain;
  flex-shrink: 0;
  image-rendering: -webkit-optimize-contrast;
}
.ms-slate-card .ms-logo-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.1);
  color: var(--ms-muted);
}
.ms-slate-card-no-teams {
  font-size: 11px;
  color: var(--ms-muted);
}
@media (max-width: 720px) {
  .ms-slate-rail-scroller { grid-template-columns: 1fr; }
  .ms-slate-rail-nav { display: none; }
  .ms-slate-card {
    flex: 0 0 min(88vw, 320px);
    width: min(88vw, 320px);
    min-width: 0;
  }
}
.ms-slate-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 180px;
}
.ms-slate-meta-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--ms-muted);
}
.ms-slate-meta strong {
  font-family: var(--ms-display);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ms-text);
}
.ms-slate-lock-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  color: #f59e0b;
  font-size: 14px;
  vertical-align: middle;
}
.ms-slate-lock-icon[hidden] { display: none !important; }
.ms-slate-lock-icon.is-locked { color: #f59e0b; }
.ms-slate-meta-hint { font-size: 13px; color: var(--ms-muted); }
.ms-slate-actions {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.ms-slate-guide-btn {
  color: var(--ms-muted);
  border: 1px solid var(--ms-border);
  background: transparent;
}
.ms-slate-guide-btn:hover {
  color: var(--ms-text);
  background: var(--ms-panel-2);
}
.ms-slate-warehouse-hints {
  margin: 0;
  padding: 4px 14px 6px;
  border: none;
  border-bottom: 1px solid var(--ms-border);
  background: transparent;
}
.ms-slate-warehouse-hints[hidden] { display: none !important; }
.ms-slate-warehouse-hints .ms-warehouse-hints { margin: 0; }
.ms-slate-warehouse-hints--chip {
  display: flex;
  justify-content: flex-end;
  padding: 2px 14px 4px;
  border-bottom: none;
}
.ms-slate-warehouse-hints--warn {
  padding: 4px 14px 6px;
}

.ms-warehouse-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 2px 10px;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  border-radius: 999px;
  border: 1px solid var(--ms-line);
  background: rgba(12, 18, 28, 0.55);
}
.ms-warehouse-chip span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ms-warehouse-chip.ms-warehouse-ready {
  border-color: rgba(52, 168, 83, 0.45);
  color: #9be7b0;
}
.ms-warehouse-chip-link {
  background: none;
  border: none;
  color: var(--ms-blue);
  cursor: pointer;
  font-size: inherit;
  font-weight: 700;
  text-decoration: underline;
  padding: 0;
}
.ms-warehouse-chip-link:hover { color: #7eb8ff; }

.ms-warehouse-readiness {
  padding: 12px 14px;
  border-radius: var(--ms-radius);
  border: 1px solid var(--ms-line);
  background: rgba(12, 18, 28, 0.72);
}
.ms-warehouse-readiness--compact {
  padding: 6px 10px;
  border-radius: 8px;
}
.ms-warehouse-readiness-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.ms-warehouse-readiness-head strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
}
.ms-warehouse-readiness--compact .ms-warehouse-readiness-head strong {
  font-size: 0.72rem;
}
.ms-warehouse-readiness-blockers {
  margin: 8px 0 0;
  font-size: 0.75rem;
  color: var(--ms-orange);
  line-height: 1.45;
}
.ms-warehouse-readiness--compact .ms-warehouse-readiness-blockers {
  display: block;
  margin: 4px 0 0;
  font-size: 0.68rem;
}
.ms-warehouse-ready {
  border-color: rgba(52, 168, 83, 0.45);
  background: linear-gradient(135deg, rgba(52, 168, 83, 0.12), rgba(12, 18, 28, 0.85));
}
.ms-warehouse-ready .ms-warehouse-readiness-head strong { color: #9be7b0; }
.ms-warehouse-partial {
  border-color: rgba(245, 166, 35, 0.45);
  background: linear-gradient(135deg, rgba(245, 166, 35, 0.12), rgba(12, 18, 28, 0.85));
}
.ms-warehouse-blocked {
  border-color: rgba(234, 67, 53, 0.5);
  background: linear-gradient(135deg, rgba(234, 67, 53, 0.14), rgba(12, 18, 28, 0.85));
}
.ms-slate-bar .ms-sport-tabs {
  align-self: flex-end;
  flex-shrink: 0;
}
.ms-slate-bar .ms-sport-tabs button {
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* ── Segmented section nav ── */
.ms-nav-pills {
  display: inline-flex;
  gap: 0;
  flex-wrap: nowrap;
  margin: 8px 0 16px;
  padding: 2px;
  border-radius: 10px;
  background: var(--ms-panel-2);
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.ms-nav-pills button,
.ms-nav-external {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: var(--ms-muted);
  padding: 7px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.ms-nav-pills button i {
  font-size: 12px;
  opacity: 0.75;
}
.ms-nav-pills button:hover,
.ms-nav-external:hover { color: var(--ms-text); }
.ms-nav-pills button.active {
  color: #fff;
  background: var(--ms-blue);
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.15);
}
.ms-nav-pills button.active i { opacity: 1; }
.ms-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  margin-left: 2px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  font-family: var(--ms-mono);
  line-height: 1;
  background: rgba(255, 255, 255, 0.18);
  color: inherit;
}
.ms-nav-pills button:not(.active) .ms-nav-badge {
  background: rgba(26, 115, 232, 0.18);
  color: var(--ms-blue);
}
.ms-nav-badge .ms-nav-frozen {
  font-style: normal;
  font-size: 9px;
  opacity: 0.85;
  margin-left: 1px;
}
.ms-nav-badge.ms-nav-badge-qa {
  background: #ef4444;
  color: #fff;
  min-width: 16px;
  height: 16px;
  font-size: 9px;
}
.ms-nav-pills button:not(.active) .ms-nav-badge.ms-nav-badge-qa {
  background: #ef4444;
  color: #fff;
}
.ms-nav-live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 4px;
  border-radius: 50%;
  background: var(--ms-green);
  box-shadow: 0 0 0 2px rgba(48, 209, 88, 0.25);
  vertical-align: middle;
  animation: ms-live-pulse 2.4s ease-in-out infinite;
}
.ms-toggle-switch {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px 30px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
  color: var(--ms-text);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.15s ease, background 0.15s ease;
  font-family: inherit;
  line-height: 1.2;
  box-sizing: border-box;
}
.ms-toggle-switch:hover {
  border-color: rgba(148, 163, 184, 0.45);
  background: var(--ms-panel-2);
}
.ms-toggle-switch:focus-visible {
  outline: 2px solid var(--ms-blue);
  outline-offset: 2px;
}
.ms-toggle-switch.is-on {
  border-color: rgba(59, 130, 246, 0.45);
  background: rgba(59, 130, 246, 0.08);
}
.ms-toggle-switch.is-off {
  border-color: var(--ms-border);
  background: var(--ms-panel);
}
.ms-toggle-led {
  display: none;
}
.ms-toggle-label {
  white-space: nowrap;
  text-align: left;
  min-width: 0;
}
.ms-toggle-track {
  position: relative;
  width: 44px;
  height: 22px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.22);
  border: 1px solid rgba(148, 163, 184, 0.38);
  flex-shrink: 0;
  justify-self: end;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.ms-toggle-switch.is-on .ms-toggle-track {
  background: rgba(59, 130, 246, 0.42);
  border-color: rgba(59, 130, 246, 0.62);
}
.ms-toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease;
}
.ms-toggle-switch.is-on .ms-toggle-thumb {
  transform: translateX(22px);
}
.ms-toggle-state {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  min-width: 28px;
  text-align: right;
  justify-self: end;
}
.ms-toggle-switch.is-on .ms-toggle-state {
  color: var(--ms-blue-bright, #4a9eff);
}
.ms-toggle-switch.is-off .ms-toggle-state {
  color: var(--ms-muted);
}
.ms-toggle-switch--sm {
  min-height: 38px;
  padding: 8px 12px;
  font-size: 12px;
}
.ms-toggle-switch--sm .ms-toggle-track {
  width: 44px;
  height: 22px;
}
.ms-toggle-switch--sm .ms-toggle-thumb {
  width: 16px;
  height: 16px;
}
.ms-toggle-switch--sm.is-on .ms-toggle-thumb {
  transform: translateX(22px);
}
.ms-metrics .ms-toggle-switch {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
}
.ms-toggle-switch--with-info {
  grid-template-columns: minmax(0, 1fr) 44px 30px auto;
}
.ms-toggle-info-slot {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  flex-shrink: 0;
}
.ms-toggle-info-slot .ms-field-info {
  width: 17px;
  height: 17px;
  font-size: 10px;
  background: color-mix(in srgb, var(--ms-blue) 22%, transparent);
  border: 1px solid color-mix(in srgb, var(--ms-blue) 35%, transparent);
}
.ms-toggle-info-slot .ms-field-info:hover {
  background: color-mix(in srgb, var(--ms-blue) 40%, transparent);
}
.ms-nav-external {
  margin-left: 4px;
  color: var(--ms-blue);
}
.ms-btn-ghost,
.ms-btn-secondary {
  background: var(--ms-panel-2);
  border: none;
  color: var(--ms-text);
}
.ms-btn-ghost:hover,
.ms-btn-secondary:hover { background: var(--ms-panel-3); color: var(--ms-text); }

/* Legacy hero (hidden on apple layout) */
.ms-hero { display: none; }
.ms-hero-cinematic .ms-hero-glow { display: none; }
.ms-btn-hero {
  background: var(--ms-panel-2);
  border: none;
  color: var(--ms-text);
}

/* Legacy header (standalone pages) */
.ms-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 0 14px;
  border-bottom: 1px solid var(--ms-border);
}
.ms-brand { display: flex; align-items: center; gap: 12px; }
.ms-brand h1 {
  margin: 0;
  font-family: var(--ms-display);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.ms-brand h1 span { color: var(--ms-blue); }
.ms-badge-vip {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(10, 132, 255, 0.15);
  color: var(--ms-blue);
}
.ms-badge-admin {
  background: rgba(191, 90, 242, 0.15);
  color: var(--ms-purple);
}
.ms-nav { display: flex; gap: 6px; flex-wrap: wrap; }
.ms-nav button {
  background: transparent;
  border: 1px solid transparent;
  color: var(--ms-muted);
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.15s ease;
}
.ms-nav button:hover { color: var(--ms-text); background: rgba(255,255,255,0.04); }
.ms-nav button.active {
  color: #fff;
  background: rgba(59, 130, 246, 0.15);
  border-color: rgba(59, 130, 246, 0.4);
}
.ms-header-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ms-sport-tabs { display: flex; gap: 4px; }
.ms-sport-tabs {
  display: flex;
  gap: 0;
  padding: 2px;
  border-radius: 10px;
  background: var(--ms-panel-2);
}
.ms-sport-tabs button {
  background: transparent;
  border: none;
  color: var(--ms-muted);
  padding: 5px 11px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.ms-sport-tabs button.active {
  color: #fff;
  background: var(--ms-blue);
  box-shadow: none;
}

/* Primary CTA */
.ms-pro-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(180deg, #2a8af0 0%, var(--ms-blue) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: var(--ms-radius-sm);
  cursor: pointer;
  transition: filter 0.15s ease, transform 0.1s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.ms-pro-btn:hover:not(:disabled) { filter: brightness(1.08); }
.ms-pro-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.ms-pro-btn.ms-pro-ready {
  box-shadow: 0 0 0 0 rgba(52, 199, 89, 0.55);
  animation: ms-pro-ready-pulse 1.8s ease-in-out infinite;
}
.ms-pro-btn.ms-pro-ready::after {
  content: "Ready to generate";
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--ms-green);
  white-space: nowrap;
  pointer-events: none;
}
@keyframes ms-pro-ready-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(52, 199, 89, 0.45); }
  50% { box-shadow: 0 0 0 8px rgba(52, 199, 89, 0); }
}
.ms-pro-btn { position: relative; }

/* Wizard steps */
.ms-wizard {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 16px 0;
}
.ms-wizard-eta {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 600;
  color: var(--ms-muted);
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}
.ms-wizard-steps {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.ms-step {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  font-size: 0.78rem;
  color: var(--ms-muted);
}
.ms-step-tip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%) translateY(4px);
  padding: 6px 10px;
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  color: var(--ms-text);
  font-size: 11px;
  line-height: 1.35;
  white-space: nowrap;
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: var(--ms-shadow-card);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
  z-index: 12;
}
.ms-step:hover .ms-step-tip,
.ms-step:focus-visible .ms-step-tip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.ms-step.done { border-color: var(--ms-green); color: var(--ms-green); }
.ms-step.ready:not(.active) { border-color: rgba(52, 199, 89, 0.45); color: var(--ms-green); }
.ms-step.active { border-color: var(--ms-blue); color: #fff; background: rgba(59,130,246,0.12); }
.ms-step-num {
  width: 22px; height: 22px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 0.7rem; font-weight: 800;
  background: var(--ms-panel-2);
}
.ms-step-num.ms-step-ready,
.ms-step.ready .ms-step-num {
  background: var(--ms-green);
  color: #0b1a10;
}
.ms-step { cursor: pointer; transition: border-color 0.15s, background 0.15s; }
.ms-step:hover { border-color: var(--ms-blue); }
.ms-step:focus-visible { outline: 2px solid var(--ms-blue); outline-offset: 2px; }
.ms-step-copy { display: flex; flex-direction: column; gap: 1px; line-height: 1.2; }
.ms-step-label { font-weight: 600; color: inherit; }
.ms-step-meta {
  font-size: 10px;
  color: var(--ms-muted);
  max-width: 160px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-step.active .ms-step-meta { color: rgba(255, 255, 255, 0.72); }
.ms-step.done .ms-step-meta { color: rgba(52, 199, 89, 0.75); }
.ms-wizard-progress {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  width: 100%;
  min-width: 120px;
}
.ms-wizard-progress-track {
  flex: 1;
  height: 5px;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.25);
  overflow: hidden;
}
.ms-wizard-progress-bar {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--ms-blue), var(--ms-green));
  transition: width 0.35s ease;
}
.ms-wizard-progress-label {
  font-size: 10px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--ms-muted);
  white-space: nowrap;
}
.ms-step.active .ms-wizard-progress-label { color: rgba(255, 255, 255, 0.8); }
.ms-step.done .ms-wizard-progress-label,
.ms-step.ready .ms-wizard-progress-label { color: rgba(52, 199, 89, 0.85); }
@keyframes ms-step-check-pop {
  0% { transform: scale(1); }
  35% { transform: scale(1.28); }
  65% { transform: scale(0.94); }
  100% { transform: scale(1); }
}
@keyframes ms-step-check-draw {
  0% { opacity: 0.4; transform: rotate(-12deg) scale(0.85); }
  50% { opacity: 1; transform: rotate(6deg) scale(1.15); }
  100% { opacity: 1; transform: rotate(0deg) scale(1); }
}
.ms-step-num.ms-step-check-pop {
  animation: ms-step-check-pop 0.42s ease, ms-step-check-draw 0.42s ease;
}

/* Pro Chain readiness chips */
.ms-pro-chain-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}
.ms-pro-chain-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-pro-chain-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ms-pro-chain-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  font-size: 11px;
  font-weight: 700;
  color: var(--ms-text);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}
.ms-pro-chain-chip:hover {
  border-color: var(--ms-blue);
  transform: translateY(-1px);
}
.ms-pro-chain-chip--ready {
  border-color: rgba(52, 199, 89, 0.45);
  color: var(--ms-green);
  background: rgba(52, 199, 89, 0.08);
}
.ms-pro-chain-chip--pending {
  border-color: rgba(245, 158, 11, 0.45);
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.08);
}
.ms-pro-chain-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ms-pro-chain-chip--ready .ms-pro-chain-dot { background: var(--ms-green); }
.ms-pro-chain-chip--pending .ms-pro-chain-dot { background: #f59e0b; }
.ms-pro-chain-chip i { font-size: 10px; opacity: 0.85; }

/* Pro Mode progress modal */
.ms-pro-progress-modal .ms-pro-progress-dialog { max-width: 420px; width: 94vw; }
.ms-pro-progress-steps {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ms-pro-progress-step {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ms-muted);
  transition: color 0.2s ease;
}
.ms-pro-progress-step.active { color: var(--ms-text); }
.ms-pro-progress-step.done { color: var(--ms-green); }
.ms-pro-progress-step-icon {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--ms-border);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  line-height: 1;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.ms-pro-progress-step.active .ms-pro-progress-step-icon {
  border-color: var(--ms-blue);
  background: rgba(59, 130, 246, 0.12);
}
.ms-pro-progress-step.active .ms-pro-progress-step-icon::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ms-blue);
  animation: ms-pro-progress-pulse 1.2s ease-in-out infinite;
}
.ms-pro-progress-step.done .ms-pro-progress-step-icon {
  border-color: var(--ms-green);
  background: var(--ms-green);
}
.ms-pro-progress-step.done .ms-pro-progress-step-icon::after {
  content: "✓";
  color: #fff;
  font-weight: 800;
}
@keyframes ms-pro-progress-pulse {
  0%, 100% { opacity: 0.45; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1); }
}
.ms-pro-progress-status {
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--ms-muted);
  min-height: 1.2em;
}
.ms-pro-progress-status--error {
  color: #fca5a5;
  font-weight: 700;
}
.ms-pro-progress-status--guidance {
  color: #93c5fd;
  font-weight: 700;
}
.ms-pro-progress-error {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: var(--ms-radius);
  border: 1px solid rgba(239, 68, 68, 0.45);
  background: rgba(127, 29, 29, 0.22);
}
.ms-pro-progress-error-title {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 800;
  color: #fecaca;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ms-pro-progress-error-msg {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.45;
  color: #fde68a;
  word-break: break-word;
}
.ms-pro-progress-error-meta {
  margin: 0 0 8px;
  display: grid;
  gap: 4px;
  font-size: 11px;
}
.ms-pro-progress-error-meta div {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 8px;
}
.ms-pro-progress-error-meta dt {
  margin: 0;
  font-weight: 700;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 10px;
}
.ms-pro-progress-error-meta dd {
  margin: 0;
  color: var(--ms-text);
  font-weight: 600;
}
.ms-pro-progress-error-hint {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: #d1fae5;
}
.ms-pro-progress-error-hint strong {
  color: #86efac;
}
.ms-pro-progress-error--guidance {
  border-color: rgba(59, 130, 246, 0.45);
  background: rgba(30, 58, 138, 0.28);
}
.ms-pro-progress-error--guidance .ms-pro-progress-error-title {
  color: #bfdbfe;
}
.ms-pro-progress-error--guidance .ms-pro-progress-error-msg {
  color: #dbeafe;
}
.ms-rules-tight-actions-host {
  margin-top: 10px;
}
.ms-rules-tight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.ms-rules-tight-action {
  border-color: rgba(96, 165, 250, 0.45);
  background: rgba(30, 58, 138, 0.35);
  color: #bfdbfe;
  font-size: 11px;
  font-weight: 700;
}
.ms-rules-tight-action:hover {
  background: rgba(37, 99, 235, 0.45);
  color: #eff6ff;
}
.ms-rules-tight-relax {
  margin-right: 4px;
}
.ms-rules-too-tight-banner,
.ms-build-recovery-banner {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: var(--ms-radius);
  border: 1px solid rgba(59, 130, 246, 0.45);
  background: rgba(30, 58, 138, 0.28);
}
.ms-rules-tight-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.ms-rules-tight-title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  color: #bfdbfe;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ms-rules-tight-msg {
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 1.45;
  color: #dbeafe;
  word-break: break-word;
}
.ms-rules-tight-hint {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: #93c5fd;
}
.ms-pro-progress-footnote {
  margin: 10px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--ms-muted);
}
.ms-pro-progress-track {
  height: 4px;
  border-radius: 2px;
  background: var(--ms-border);
  overflow: hidden;
}
.ms-pro-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--ms-blue), var(--ms-green));
  transition: width 0.35s ease;
  border-radius: 2px;
}
.ms-pro-progress-step.failed { color: #f87171; }

.ms-pro-skill-chain-label {
  margin: 0 0 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-pro-skill-steps {
  list-style: none;
  margin: 0 0 12px;
  padding: 8px 10px;
  border-radius: var(--ms-radius);
  border: 1px solid var(--ms-border);
  background: rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ms-pro-skill-step {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ms-muted);
}
.ms-pro-skill-step.running { color: var(--ms-text); }
.ms-pro-skill-step.done { color: var(--ms-green); }
.ms-pro-skill-step.failed { color: #f87171; }
.ms-pro-skill-step-icon {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--ms-border);
  flex-shrink: 0;
  margin-top: 2px;
}
.ms-pro-skill-step.running .ms-pro-skill-step-icon {
  border-color: var(--ms-blue);
  background: rgba(59, 130, 246, 0.2);
}
.ms-pro-skill-step.done .ms-pro-skill-step-icon {
  border-color: var(--ms-green);
  background: var(--ms-green);
}
.ms-pro-skill-step.failed .ms-pro-skill-step-icon {
  border-color: #ef4444;
  background: rgba(239, 68, 68, 0.2);
}
.ms-pro-skill-step-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ms-pro-skill-step-error {
  font-size: 11px;
  font-weight: 500;
  color: #fca5a5;
  line-height: 1.35;
  word-break: break-word;
}

/* Dashboard 7-day mini calendar */
.ms-dash-mini-cal-wrap { margin-bottom: 12px; }
.ms-dash-mini-cal {
  padding: 10px 12px;
  border-radius: var(--ms-radius);
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
}
.ms-dash-mini-cal-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  margin-bottom: 10px;
}
.ms-dash-mini-cal-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-dash-mini-cal-legend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.68rem;
  color: var(--ms-muted);
}
.ms-dash-mini-cal-row {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}
.ms-dash-cal-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 0;
  padding: 8px 4px 6px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: var(--ms-panel-2);
  color: var(--ms-text);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.ms-dash-cal-day:hover {
  background: var(--ms-panel-3);
  border-color: var(--ms-border);
  transform: translateY(-1px);
}
.ms-dash-cal-day.is-active {
  border-color: var(--ms-blue);
  background: rgba(26, 115, 232, 0.16);
  box-shadow: 0 0 0 1px rgba(26, 115, 232, 0.25);
}
.ms-dash-cal-day:not(.has-coverage) .ms-dash-cal-num { color: var(--ms-muted); }
.ms-dash-cal-dow {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-dash-cal-day.is-active .ms-dash-cal-dow { color: var(--ms-blue); }
.ms-dash-cal-num {
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1;
}
.ms-dash-cal-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-top: 2px;
  background: transparent;
  flex-shrink: 0;
}
.ms-dash-cal-dot.is-on,
.ms-dash-cal-dot--sample {
  background: var(--ms-green);
  box-shadow: 0 0 0 2px rgba(52, 199, 89, 0.2);
}
.ms-dash-cal-day.has-coverage:not(.is-active) .ms-dash-cal-dot.is-on {
  background: #34c759;
}
@media (max-width: 720px) {
  .ms-dash-mini-cal-row { gap: 4px; }
  .ms-dash-cal-day { padding: 6px 2px 5px; }
  .ms-dash-cal-dow { font-size: 0.58rem; }
  .ms-dash-cal-num { font-size: 0.82rem; }
}

/* Dashboard warehouse sync + tip */
.ms-dash-sync-tip-wrap { margin-bottom: 12px; }
.ms-dash-sync-tip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: var(--ms-radius);
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  font-size: 0.78rem;
  line-height: 1.45;
}
.ms-dash-sync-time {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--ms-muted);
  white-space: nowrap;
}
.ms-dash-sync-time strong { color: var(--ms-text); font-weight: 700; }
.ms-dash-sync-stale { color: #fbbf24; font-weight: 600; }
.ms-dash-sync-loading { color: #60a5fa; font-weight: 600; }
.ms-dash-tip {
  margin: 0;
  flex: 1;
  min-width: min(100%, 280px);
  color: var(--ms-text);
}
.ms-dash-tip-label {
  font-weight: 700;
  color: var(--ms-blue);
  margin-right: 6px;
}

/* Portfolio summary success flash */
@keyframes ms-portfolio-success-flash {
  0% { box-shadow: 0 0 0 0 rgba(52, 199, 89, 0.45); }
  45% { box-shadow: 0 0 0 8px rgba(52, 199, 89, 0.12); }
  100% { box-shadow: none; }
}
@keyframes ms-portfolio-stat-pop {
  0% { transform: scale(1); }
  35% { transform: scale(1.07); color: var(--ms-green); }
  100% { transform: scale(1); }
}
#ms-tab-build .ms-portfolio-summary.ms-portfolio-success-flash,
.ms-portfolio-summary.ms-portfolio-success-flash {
  animation: ms-portfolio-success-flash 0.95s ease;
  border-radius: var(--ms-radius-sm);
}
.ms-portfolio-stat.ms-portfolio-stat-flash {
  animation: ms-portfolio-stat-pop 0.55s ease;
}

/* Grid layout */
.ms-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 12px;
  align-items: start;
}
.ms-grid > * {
  min-width: 0;
}
.ms-apple .ms-grid > .ms-panel,
.ms-apple .ms-grid > div > .ms-panel { margin-top: 0 !important; }
.ms-apple .ms-grid > div { display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 1024px) { .ms-grid { grid-template-columns: 1fr; } }

/* Build tab: single-column stack — lineups full width, exposure panels below */
#ms-tab-build .ms-grid {
  grid-template-columns: 1fr;
  gap: 16px;
  width: 100%;
  max-width: 100%;
}
#ms-tab-build .ms-grid > div {
  width: 100%;
  max-width: 100%;
}
#ms-tab-build .ms-panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.ms-panel {
  background: var(--ms-panel);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-lg);
  padding: 14px 16px;
  box-shadow: var(--ms-shadow-card);
}
.ms-premium .ms-panel:hover { border-color: transparent; }
.ms-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.ms-panel-head .ms-panel-title { margin: 0; }
.ms-panel-meta {
  font-size: 12px;
  font-weight: 500;
  color: var(--ms-muted);
  font-variant-numeric: tabular-nums;
}
.ms-panel-title {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ms-muted);
}
.ms-player-pool-panel { margin-bottom: 12px; }
.ms-player-pool {
  overflow: hidden;
  max-width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.ms-pool-live-drawer .ms-pool-live-scoring {
  margin-top: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.ms-pool-live-scoring {
  margin-top: 12px;
  padding: 12px 14px 14px;
  border-radius: 10px;
  border: 1px solid rgba(52, 61, 77, 0.65);
  background: linear-gradient(180deg, rgba(21, 26, 34, 0.92) 0%, rgba(15, 18, 24, 0.98) 100%);
}
.ms-pool-live-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  margin-bottom: 10px;
}
.ms-pool-live-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
}
.ms-pool-live-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 650;
  color: var(--ms-text);
}
.ms-pool-live-title i { color: var(--ms-green); margin-right: 6px; }
.ms-pool-live-meta {
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-pool-live-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ms-pool-live-degraded {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 0.75rem;
  color: #fdba74;
  background: rgba(251, 146, 60, 0.1);
  border: 1px solid rgba(251, 146, 60, 0.28);
}
.ms-pool-live-grid {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(280px, 1.4fr);
  gap: 12px 16px;
}
.ms-pool-live-portfolio-wrap {
  grid-column: 1 / -1;
}
.ms-pool-live-subtitle {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-pool-live-games {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ms-pool-live-game {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid rgba(52, 61, 77, 0.55);
  background: rgba(26, 31, 40, 0.75);
  font-size: 0.78rem;
}
.ms-pool-live-game-team { font-weight: 600; min-width: 2.2rem; }
.ms-pool-live-game-runs {
  font-variant-numeric: tabular-nums;
  color: var(--ms-muted);
  min-width: 1.2rem;
  text-align: center;
}
.ms-pool-live-game-pts {
  font-variant-numeric: tabular-nums;
  color: var(--ms-green);
  font-weight: 600;
}
.ms-pool-live-wait {
  margin: 0;
  font-size: 0.78rem;
  color: var(--ms-muted);
}
.ms-pool-live-table-wrap { max-height: 220px; overflow: auto; }
.ms-pool-live-table th,
.ms-pool-live-table td { font-size: 0.78rem; padding: 6px 8px; }
.ms-pool-live-scoring-row td { background: rgba(34, 197, 94, 0.08); }
.ms-pool-live-portfolio-stat {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(52, 61, 77, 0.55);
  background: rgba(34, 197, 94, 0.08);
}
.ms-pool-live-portfolio-val {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ms-green);
  font-variant-numeric: tabular-nums;
}
.ms-pool-live-portfolio-lbl {
  font-size: 0.72rem;
  color: var(--ms-muted);
}
@media (max-width: 900px) {
  .ms-pool-live-grid { grid-template-columns: 1fr; }
}
.ms-pool-pos-sort-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(245, 158, 11, 0.45);
  background: rgba(245, 158, 11, 0.12);
  color: var(--ms-text);
  font-size: 0.82rem;
}
.ms-pool-metrics-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(59, 130, 246, 0.45);
  background: rgba(59, 130, 246, 0.1);
  color: var(--ms-text);
  font-size: 0.82rem;
}
.ms-pool-metrics-banner-ok {
  border-color: rgba(34, 197, 94, 0.4);
  background: rgba(34, 197, 94, 0.08);
}
.ms-notification-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 8px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(59, 130, 246, 0.45);
  background: rgba(59, 130, 246, 0.1);
  color: var(--ms-text);
  font-size: 0.82rem;
}
.ms-notification-banner--ok {
  border-color: rgba(34, 197, 94, 0.4);
  background: rgba(34, 197, 94, 0.08);
}
.ms-notification-banner--warn {
  border-color: rgba(245, 158, 11, 0.45);
  background: rgba(245, 158, 11, 0.12);
}
.ms-notification-banner--danger {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.1);
}
.ms-notification-banner-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 8px;
  min-width: 0;
  flex: 1 1 240px;
}
.ms-notification-banner-title {
  font-weight: 700;
}
.ms-notification-banner-body {
  color: var(--ms-muted);
}
.ms-notification-banner-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.ms-notification-dismiss {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid var(--ms-border);
  background: rgba(0, 0, 0, 0.2);
  color: var(--ms-muted);
  cursor: pointer;
  transition: color 0.12s ease, border-color 0.12s ease, background 0.12s ease;
}
.ms-notification-dismiss:hover {
  color: var(--ms-text);
  border-color: var(--ms-muted-2);
  background: rgba(0, 0, 0, 0.35);
}
.ms-notifications-sidebar-mount {
  min-height: 0;
}
.ms-notification-sidebar-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: min(42vh, 360px);
  overflow-y: auto;
  margin-bottom: 12px;
}
.ms-notification-archive-item {
  padding: 10px 10px 8px;
  border-radius: 8px;
  border: 1px solid var(--ms-border-soft);
  background: var(--ms-panel-2);
}
.ms-notification-archive-item.ms-notification-banner--info { border-left: 3px solid #3b82f6; }
.ms-notification-archive-item.ms-notification-banner--ok { border-left: 3px solid #22c55e; }
.ms-notification-archive-item.ms-notification-banner--warn { border-left: 3px solid #f59e0b; }
.ms-notification-archive-item.ms-notification-banner--danger { border-left: 3px solid #ef4444; }
.ms-notification-archive-item.is-dismissed { opacity: 0.72; }
.ms-notification-archive-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
  font-size: 0.82rem;
}
.ms-notification-archive-time {
  font-size: 0.68rem;
  color: var(--ms-muted);
  white-space: nowrap;
}
.ms-notification-archive-body {
  margin: 6px 0 0;
  font-size: 0.76rem;
  color: var(--ms-muted);
  line-height: 1.4;
}
.ms-notification-archive-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.ms-notification-archive-kind,
.ms-notification-archive-tag {
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted-2);
}
.ms-notification-archive-tag.is-live {
  color: #7ec8ff;
}
#ms-sidebar-acc-notifications.ms-notifications-has-live > .ms-sidebar-accordion-summary {
  color: #7ec8ff;
}
.ms-notification-sidebar-badge {
  margin-left: 10px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(26, 115, 232, 0.25);
  border: 1px solid rgba(78, 179, 255, 0.45);
  color: #dbeafe;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}
.ms-notification-admin-panel {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px dashed var(--ms-border);
}
.ms-notification-admin-form .ms-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
  font-size: 0.74rem;
  color: var(--ms-muted);
}
.ms-notification-admin-form input,
.ms-notification-admin-form textarea,
.ms-notification-admin-form select {
  width: 100%;
  border: 1px solid var(--ms-border);
  border-radius: 6px;
  background: var(--ms-bg-elevated);
  color: var(--ms-text);
  padding: 7px 9px;
  font: inherit;
}
.ms-notification-admin-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.ms-notification-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.ms-data-lock-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ms-data-lock-filters,
.ms-data-lock-filter-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.ms-data-lock-form .ms-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
  font-size: 0.74rem;
  color: var(--ms-muted);
}
.ms-data-lock-form input,
.ms-data-lock-form select {
  width: 100%;
  border: 1px solid var(--ms-border);
  border-radius: 6px;
  background: var(--ms-bg-elevated);
  color: var(--ms-text);
  padding: 7px 9px;
  font: inherit;
}
.ms-data-lock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ms-data-lock-table-wrap {
  max-height: 280px;
  overflow: auto;
}
.ms-data-lock-audit summary {
  cursor: pointer;
  color: var(--ms-accent);
  font-size: 0.72rem;
}
.ms-data-lock-audit-list {
  margin: 6px 0 0;
  padding-left: 1rem;
  font-size: 0.7rem;
  color: var(--ms-muted);
}
.ms-notification-admin-list {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ms-notification-admin-row {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  font-size: 0.72rem;
  color: var(--ms-muted);
  padding: 8px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.15);
  border: 1px solid var(--ms-border-soft);
}
.ms-notification-admin-empty {
  margin: 8px 0 0;
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-pool-role-na {
  color: var(--ms-muted);
  opacity: 0.45;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}
.ms-pool-metric-missing {
  color: rgba(245, 158, 11, 0.85);
}
.ms-pool-table-frame {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(52, 61, 77, 0.55);
  background: var(--ms-panel);
  isolation: isolate;
  --ms-pool-sticky-gutter-w: calc(var(--ms-pool-rank-w, 56px) + var(--ms-pool-actions-w, 88px) + var(--ms-pool-team-w, 44px) + var(--ms-pool-name-min-w, 300px));
  --ms-pool-favbar-h: 0px;
  --ms-pool-ranklens-h: 0px;
  --ms-pool-main-hdr-h: 36px;
}
.ms-pool-table-frame::before {
  display: none !important;
}
.ms-pool-thead-viewport {
  flex-shrink: 0;
  overflow: hidden;
  background: var(--ms-panel-2);
  border-bottom: 1px solid var(--ms-border);
  z-index: 20;
}
.ms-pool-thead-hscroll {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ms-pool-thead-hscroll::-webkit-scrollbar {
  display: none;
}
.ms-pool-thead-table {
  margin-bottom: 0;
}
.ms-pool-table-frame > .ms-pool-table-scroll {
  border: none;
  border-radius: 0 0 8px 8px;
  position: relative;
  z-index: 6;
}
.ms-pool-table-scroll.is-scrolling .ms-pool-sticky-rank,
.ms-pool-table-scroll.is-scrolling .ms-pool-sticky-fv,
.ms-pool-table-scroll.is-scrolling .ms-pool-sticky-wl,
.ms-pool-table-scroll.is-scrolling .ms-pool-sticky-lck,
.ms-pool-table-scroll.is-scrolling .ms-pool-sticky-ex,
.ms-pool-table-scroll.is-scrolling .ms-pool-sticky-team,
.ms-pool-table-scroll.is-scrolling .ms-pool-sticky-name {
  will-change: auto;
}
.ms-pool-table-scroll,
.ms-blast-table-scroll {
  overflow-x: scroll;
  overflow-y: auto;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  overflow-anchor: none;
  touch-action: pan-x pan-y;
  contain: layout style;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(251, 191, 36, 0.55) rgba(255, 255, 255, 0.08);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  max-height: min(72vh, 780px);
  position: relative;
  background: var(--ms-panel);
  --ms-pool-row-h: 40px;
  --ms-pool-visible-rows: 20;
  --ms-pool-viewport-min: calc(var(--ms-pool-visible-rows) * var(--ms-pool-row-h) + var(--ms-pool-main-hdr-h, 36px));
  min-height: var(--ms-pool-viewport-min);
  --ms-blast-sticky-gutter-w: calc(var(--ms-pool-rank-w, 56px) + var(--ms-pool-index-w, 36px) + var(--ms-pool-team-w, 44px) + var(--ms-pool-name-min-w, 300px));
}
.ms-pool-table-width-track {
  display: block;
  width: max-content;
  min-width: 100%;
  box-sizing: border-box;
}
.ms-pool-table-frame > .ms-pool-table-scroll::before {
  display: none;
}
.ms-pool-table-scroll,
.ms-blast-table-scroll {
  border-radius: 8px;
  border: 1px solid rgba(52, 61, 77, 0.55);
  isolation: isolate;
  --ms-pool-sticky-gutter-w: calc(var(--ms-pool-rank-w, 56px) + var(--ms-pool-actions-w, 88px) + var(--ms-pool-team-w, 44px) + var(--ms-pool-name-min-w, 300px));
  --ms-pool-favbar-h: 0px;
  --ms-pool-ranklens-h: 0px;
  --ms-pool-main-hdr-h: 36px;
}
.ms-pool-table-scroll::before {
  display: none !important;
}
/* Safe-mode pool: no sticky gutter overlay (simple table, not split thead/tbody) */
.ms-pool-emergency {
  --ms-pool-sticky-gutter-w: 0px;
}
.ms-pool-focus .ms-pool-table-frame.ms-pool-emergency {
  flex: 1 1 auto;
  min-height: 0;
}
.ms-pool-emergency .ms-pool-table-scroll {
  min-height: var(--ms-pool-viewport-min, 400px);
  max-height: min(72vh, 780px);
}
body.ms-pool-canvas .ms-pool-focus .ms-pool-emergency .ms-pool-table-scroll {
  min-height: 0;
  max-height: none;
}
.ms-pool-emergency .ms-pool-table-scroll::before,
.ms-pool-emergency .ms-pool-table::before {
  display: none !important;
}
.ms-pool-emergency .ms-pool-table {
  position: relative;
  z-index: 2;
}
.ms-pool-emergency td.ms-pool-name,
.ms-pool-emergency td.ms-pool-sticky-name,
.ms-pool-emergency .ms-pool-player-name {
  color: var(--ms-text);
}
.ms-pool-emergency .ms-pool-sticky-col,
.ms-pool-emergency .ms-pool-sticky-rank,
.ms-pool-emergency .ms-pool-sticky-fv,
.ms-pool-emergency .ms-pool-sticky-wl,
.ms-pool-emergency .ms-pool-sticky-lck,
.ms-pool-emergency .ms-pool-sticky-ex,
.ms-pool-emergency .ms-pool-sticky-team,
.ms-pool-emergency .ms-pool-sticky-name {
  position: static;
  left: auto;
  width: auto;
  min-width: 11rem;
  max-width: none;
  box-shadow: none;
}
.ms-pool-emergency .ms-pool-player-name {
  min-width: 6rem;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
}
.ms-blast-table-scroll::before {
  display: none !important;
}
.ms-blast-table-scroll .ms-blast-table {
  position: relative;
  z-index: 4;
}
.ms-blast-table .ms-pool-sticky-name,
.ms-blast-table .ms-pool-sticky-team,
.ms-blast-table .ms-pool-sticky-index,
.ms-blast-table .ms-pool-sticky-rank {
  z-index: 10;
}
.ms-blast-table .ms-player-cell,
.ms-blast-table .ms-player-cell strong {
  color: var(--ms-text);
  visibility: visible;
}
.ms-pool-table-scroll.is-scrolling,
.ms-blast-table-scroll.is-scrolling {
  will-change: scroll-position;
}
/* Strip paint-heavy inset shadows while finger/mouse is dragging — biggest scroll win */
.ms-pool-table-scroll.is-scrolling,
.ms-blast-table-scroll.is-scrolling {
  box-shadow: none !important;
}
.ms-pool-table-scroll.is-scrolling .ms-pool-table tbody [class*="ms-pool-sticky"],
.ms-pool-table-scroll.is-scrolling .ms-pool-table thead [class*="ms-pool-sticky"],
.ms-pool-table-scroll.is-scrolling .ms-pool-table [data-pool-sticky],
.ms-blast-table-scroll.is-scrolling .ms-blast-table tbody [class*="ms-pool-sticky"],
.ms-blast-table-scroll.is-scrolling .ms-blast-table thead [class*="ms-pool-sticky"] {
  box-shadow: none !important;
}
.ms-pool-table-scroll.is-scrolling .ms-pool-sticky-gutter-end,
.ms-blast-table-scroll.is-scrolling .ms-pool-sticky-gutter-end {
  box-shadow: none !important;
  border-right: 1px solid rgba(0, 0, 0, 0.28);
}
.ms-pool-table-scroll.is-scrolling .ms-hr-symbol,
.ms-blast-table-scroll.is-scrolling .ms-hr-symbol {
  filter: none;
}
.ms-pool-table-scroll::-webkit-scrollbar,
.ms-blast-table-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.ms-pool-table-scroll::-webkit-scrollbar-thumb,
.ms-blast-table-scroll::-webkit-scrollbar-thumb {
  background: rgba(251, 191, 36, 0.5);
  border-radius: 6px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.ms-pool-table-scroll::-webkit-scrollbar-thumb:hover,
.ms-blast-table-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(251, 191, 36, 0.72);
  background-clip: padding-box;
}
.ms-pool-table-scroll::-webkit-scrollbar-track,
.ms-blast-table-scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 6px;
}
.ms-pool-table-scroll.ms-pool-h-scrollable:not(.ms-pool-h-scroll-end) {
  box-shadow: inset -18px 0 16px -12px rgba(0, 0, 0, 0.55);
}
.ms-virtual-spacer td {
  padding: 0 !important;
  border: none !important;
  pointer-events: none;
  background: var(--ms-panel) !important;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
}
.ms-pool-table-frame > .ms-pool-col-fav-bar {
  position: relative;
  top: auto;
  z-index: 26;
  border-radius: 8px 8px 0 0;
}
.ms-pool-col-fav-bar {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 25;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 6px 10px;
  min-width: 100%;
  width: max-content;
  background-color: var(--ms-panel-2) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel-2), 0 1px 0 var(--ms-border);
  border-bottom: 1px solid rgba(251, 191, 36, 0.12);
}
.ms-pool-col-fav-bar.has-favorites {
  border-bottom-color: rgba(251, 191, 36, 0.28);
}
.ms-pool-clear-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}
.ms-pool-clear-item {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.ms-pool-clear-btn:not(:disabled) {
  color: #fcd34d;
  border-color: rgba(251, 191, 36, 0.35);
}
.ms-pool-clear-info {
  width: 22px;
  height: 22px;
  min-width: 22px;
  padding: 0;
  font-size: 11px;
  border-radius: 50%;
  opacity: 0.85;
}
.ms-pool-clear-info:hover {
  opacity: 1;
}
.ms-pool-col-fav-count {
  font-size: 11px;
  color: var(--ms-muted);
  white-space: nowrap;
}
.ms-pool-col-fav-bar.has-favorites .ms-pool-col-fav-count {
  color: #fcd34d;
}
.ms-pool-sort-preset-bar {
  display: flex;
  align-items: center;
  gap: 8px 10px;
  flex: 1 1 320px;
  min-width: 0;
}
.ms-pool-sort-preset-bar-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ms-muted);
  white-space: nowrap;
  flex-shrink: 0;
}
.ms-pool-sort-preset-chips {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  padding-bottom: 1px;
}
.ms-pool-sort-preset-chip-item {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.ms-pool-sort-preset-chip-item.is-empty {
  opacity: 0.35;
}
.ms-pool-sort-preset-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 9.5rem;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(96, 165, 250, 0.28);
  background: rgba(30, 41, 59, 0.65);
  color: var(--ms-text);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}
.ms-pool-sort-preset-chip:hover {
  border-color: rgba(96, 165, 250, 0.55);
  background: rgba(37, 99, 235, 0.18);
}
.ms-pool-sort-preset-chip.is-active {
  border-color: rgba(96, 165, 250, 0.85);
  background: rgba(37, 99, 235, 0.32);
  box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.25);
}
.ms-pool-sort-preset-chip-placeholder {
  cursor: default;
  border-style: dashed;
  opacity: 0.55;
}
.ms-pool-sort-preset-chip-name {
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-pool-sort-preset-chip-meta {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #93c5fd;
  opacity: 0.9;
}
.ms-pool-sort-preset-info {
  width: 20px;
  height: 20px;
  min-width: 20px;
  padding: 0;
  font-size: 10px;
  border-radius: 50%;
}
.ms-pool-sort-preset-save-item .ms-pool-sort-preset-save-btn {
  border-color: rgba(96, 165, 250, 0.45);
  color: #bfdbfe;
}
.ms-pool-sort-presets-hint {
  margin: 0 0 8px;
  padding: 0 2px;
  font-size: 9px;
  color: var(--ms-muted);
  line-height: 1.35;
}
.ms-pool-col-fav-star {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: var(--ms-muted);
  cursor: pointer;
  padding: 0 3px 0 0;
  font-size: 10px;
  line-height: 1;
  opacity: 0.5;
  vertical-align: middle;
}
.ms-pool-col-fav-star:hover {
  opacity: 1;
  color: #fbbf24;
}
.ms-pool-col-fav-star.is-on {
  opacity: 1;
  color: #fbbf24;
}
.ms-pool-col-hdr-wrap {
  vertical-align: middle;
}
.ms-pool-col-hdr-inner {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  max-width: none;
}
.ms-pool-table tbody,
.ms-blast-table tbody {
  position: static;
  z-index: auto;
}
.ms-pool-table tbody td,
.ms-blast-table tbody td {
  color: var(--ms-text);
}
.ms-pool-table tbody .ms-pool-sticky-name,
.ms-pool-table tbody .ms-pool-sticky-rank,
.ms-pool-table tbody .ms-pool-sticky-fv,
.ms-pool-table tbody .ms-pool-sticky-wl,
.ms-pool-table tbody .ms-pool-sticky-lck,
.ms-pool-table tbody .ms-pool-sticky-ex,
.ms-pool-table tbody .ms-pool-sticky-team,
.ms-pool-table tbody .ms-pool-sticky-hr,
.ms-pool-table tbody .ms-pool-sticky-dks,
.ms-pool-table tbody .ms-pool-sticky-dks-value,
.ms-pool-table tbody .ms-pool-sticky-bh,
.ms-pool-table tbody .ms-pool-sticky-bvr,
.ms-pool-table tbody .ms-pool-sticky-pos,
.ms-pool-table tbody .ms-pool-sticky-sal,
.ms-pool-table tbody .ms-pool-sticky-index,
.ms-blast-table tbody .ms-pool-sticky-name,
.ms-blast-table tbody .ms-pool-sticky-team,
.ms-blast-table tbody .ms-pool-sticky-rank,
.ms-blast-table tbody .ms-pool-sticky-index {
  z-index: 10;
}
.ms-pool-table tbody .ms-pool-player-name,
.ms-pool-table tbody .ms-pool-name,
.ms-blast-table tbody .ms-pool-name,
.ms-blast-table tbody .ms-player-cell,
.ms-blast-table tbody .ms-player-cell strong {
  color: var(--ms-text) !important;
  -webkit-text-fill-color: var(--ms-text);
  visibility: visible !important;
  opacity: 1 !important;
}
.ms-pool-table td.ms-pool-col-favorited {
  background: rgba(251, 191, 36, 0.09) !important;
  box-shadow: none;
}
.ms-pool-table thead th.ms-pool-col-favorited {
  background-color: #2a2418 !important;
  box-shadow: inset 0 0 0 9999px #2a2418;
  color: #fde68a;
}
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-rank,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-fv,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-wl,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-lck,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-ex,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-team,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-name,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-index,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-hr,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-dks,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-dks-value,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-bh,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-sticky-bvr,
.ms-pool-table td.ms-pool-col-favorited.ms-pool-act-col {
  background-color: inherit !important;
  box-shadow: inherit;
}
.ms-pool-table-wide { width: max-content; min-width: max-content; }
.ms-pool-table {
  width: max-content;
  min-width: max-content;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.ms-pool-table th,
.ms-pool-table td {
  box-sizing: border-box;
}
.ms-pool-table tbody .ms-pool-row {
  contain-intrinsic-size: auto 40px;
}
.ms-pool-table tbody tr.ms-pool-row {
  height: var(--ms-pool-row-h, 40px);
}
.ms-pool-table tbody tr.ms-pool-row td {
  padding: 7px 10px;
  line-height: 1.35;
  vertical-align: middle;
  max-height: var(--ms-pool-row-h, 40px);
}
.ms-pool-ext-col {
  font-size: 11px;
  white-space: nowrap;
  color: var(--ms-text);
  min-width: 78px;
  overflow: visible;
  text-overflow: clip;
}
.ms-pool-table tbody td.ms-pool-spray-col {
  overflow: visible;
  text-overflow: clip;
}
.ms-pool-table tbody td:not(.ms-pool-name):not(.ms-pool-sticky-name):not(.ms-pool-act-col):not(.ms-pool-play-col):not(.ms-pool-status-col) {
  overflow: visible;
  text-overflow: clip;
  min-width: 48px;
  white-space: nowrap;
  vertical-align: middle;
}
.ms-pool-table thead th.ms-pool-ext-col {
  min-width: 78px;
  overflow: visible;
}
.ms-pool-table thead th.ms-pool-ext-col .ms-pool-col-hdr-inner,
.ms-pool-table thead th.ms-pool-ext-col .ms-th-label-row {
  gap: 4px;
}
.ms-pool-table thead th {
  white-space: nowrap;
  padding: 8px 10px;
  min-width: 48px;
}
.ms-pool-table {
  --ms-pool-rank-w: 52px;
  --ms-pool-fv-w: 32px;
  --ms-pool-wl-w: 32px;
  --ms-pool-lck-w: 32px;
  --ms-pool-ex-w: 32px;
  --ms-pool-actions-w: calc(var(--ms-pool-fv-w) + var(--ms-pool-wl-w) + var(--ms-pool-lck-w) + var(--ms-pool-ex-w));
  --ms-pool-index-w: 36px;
  --ms-pool-hr-w: 42px;
  --ms-pool-dks-w: 54px;
  --ms-pool-dksval-w: 54px;
  --ms-pool-team-w: 40px;
  --ms-pool-name-min-w: 300px;
  --ms-pool-watch-count-w: 38px;
  --ms-pool-sticky-gutter-w: calc(var(--ms-pool-rank-w) + var(--ms-pool-actions-w) + var(--ms-pool-team-w) + var(--ms-pool-name-min-w) + var(--ms-pool-watch-count-w) + var(--ms-pool-hr-w) + var(--ms-pool-dks-w) + var(--ms-pool-dksval-w));
  position: relative;
}
.ms-blast-table {
  --ms-blast-sticky-gutter-w: calc(var(--ms-pool-rank-w) + var(--ms-pool-index-w) + var(--ms-pool-team-w) + var(--ms-pool-name-min-w) + var(--ms-pool-hr-w) + var(--ms-pool-dks-w));
  position: relative;
}
.ms-pool-table::before,
.ms-blast-table::before {
  display: none !important;
}
.ms-pool-sticky-col {
  position: sticky;
  z-index: 5;
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel);
}
.ms-pool-sticky-rank {
  position: -webkit-sticky;
  position: sticky;
  z-index: 9;
  text-align: center;
  vertical-align: middle;
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel);
  padding: 4px 2px !important;
  overflow: visible;
}
.ms-pool-sticky-fv,
.ms-pool-sticky-wl,
.ms-pool-sticky-lck,
.ms-pool-sticky-ex {
  position: -webkit-sticky;
  position: sticky;
  z-index: 8;
  text-align: center;
  vertical-align: middle;
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel);
  padding: 4px 1px !important;
}
.ms-pool-table thead th.ms-pool-sticky-rank,
.ms-pool-table tbody td.ms-pool-sticky-rank {
  width: var(--ms-pool-rank-w, 52px);
  min-width: var(--ms-pool-rank-w, 52px);
  max-width: var(--ms-pool-rank-w, 52px);
}
.ms-pool-table thead th.ms-pool-sticky-fv,
.ms-pool-table tbody td.ms-pool-sticky-fv {
  width: var(--ms-pool-fv-w, 32px);
  min-width: var(--ms-pool-fv-w, 32px);
  max-width: var(--ms-pool-fv-w, 32px);
}
.ms-pool-table thead th.ms-pool-sticky-wl,
.ms-pool-table tbody td.ms-pool-sticky-wl {
  width: var(--ms-pool-wl-w, 32px);
  min-width: var(--ms-pool-wl-w, 32px);
  max-width: var(--ms-pool-wl-w, 32px);
}
.ms-pool-table thead th.ms-pool-sticky-lck,
.ms-pool-table tbody td.ms-pool-sticky-lck {
  width: var(--ms-pool-lck-w, 32px);
  min-width: var(--ms-pool-lck-w, 32px);
  max-width: var(--ms-pool-lck-w, 32px);
}
.ms-pool-table thead th.ms-pool-sticky-ex,
.ms-pool-table tbody td.ms-pool-sticky-ex {
  width: var(--ms-pool-ex-w, 32px);
  min-width: var(--ms-pool-ex-w, 32px);
  max-width: var(--ms-pool-ex-w, 32px);
}
.ms-pool-sticky-index {
  position: sticky;
  z-index: 5;
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel);
}
.ms-pool-sticky-team {
  position: -webkit-sticky;
  position: sticky;
  z-index: 7;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--ms-text);
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: none;
  padding: 4px 3px !important;
}
.ms-pool-table thead th.ms-pool-sticky-team,
.ms-pool-table tbody td.ms-pool-sticky-team {
  width: var(--ms-pool-team-w, 40px);
  min-width: var(--ms-pool-team-w, 40px);
  max-width: var(--ms-pool-team-w, 40px);
}
.ms-pool-team-abbr {
  display: inline-block;
  min-width: 2rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.05em;
  color: var(--ms-text);
}
.ms-pool-team-cell-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.ms-roster-badges {
  display: flex;
  flex-direction: row;
  gap: 2px;
  align-items: center;
}
.ms-roster-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 2px;
  border-radius: 9px;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: -0.3px;
  line-height: 1;
  flex-shrink: 0;
}
.ms-roster-badge-hit {
  min-width: 20px;
}
.ms-roster-ok     { background: #22c55e; color: #fff; }
.ms-roster-warn   { background: #eab308; color: #000; }
.ms-roster-alert  { background: #ef4444; color: #fff; }
.ms-roster-orange { background: #f97316; color: #fff; }
.ms-pool-sticky-name {
  position: -webkit-sticky;
  position: sticky;
  z-index: 8;
  color: var(--ms-text);
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: none;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}
/* Identity gutter (Rnk → Player) stays visible; stat columns scroll normally. */
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-rank,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-fv,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-wl,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-lck,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-ex,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-team,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-name,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-hr,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-dks,
.ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-dks-value,
.ms-pool-table-scroll.ms-pool-h-scrollable th.ms-pool-h-sticky,
.ms-pool-table-scroll.ms-pool-h-scrollable td.ms-pool-h-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}
.ms-pool-sticky-hr {
  position: -webkit-sticky;
  position: sticky;
  z-index: 10;
  text-align: center;
  vertical-align: middle;
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel);
  padding: 4px 2px !important;
}
.ms-pool-sticky-watch-count {
  position: -webkit-sticky;
  position: sticky;
  z-index: 10;
  text-align: center;
  vertical-align: middle;
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel);
  padding: 4px 2px !important;
}
.ms-pool-watch-count-col {
  width: var(--ms-pool-watch-count-w, 38px);
  min-width: var(--ms-pool-watch-count-w, 38px);
  max-width: var(--ms-pool-watch-count-w, 38px);
  text-align: center;
  vertical-align: middle;
  padding: 4px 2px !important;
}
.ms-watch-count-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 5px;
  border-radius: 5px;
  background: #ffffff;
  color: #101827;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.16), 0 4px 10px rgba(0, 0, 0, 0.22);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ms-watch-count-box.is-empty {
  background: rgba(255, 255, 255, 0.16);
  color: rgba(226, 232, 240, 0.72);
  border-color: rgba(148, 163, 184, 0.25);
  box-shadow: none;
}
.ms-pool-hr-col {
  text-align: center;
  vertical-align: middle;
  padding: 4px 2px !important;
}
.ms-pool-sticky-dks {
  position: -webkit-sticky;
  position: sticky;
  z-index: 10;
  text-align: right;
  vertical-align: middle;
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel);
  padding: 4px 6px !important;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ms-pool-dks-col {
  text-align: right;
  vertical-align: middle;
  padding: 4px 6px !important;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ms-pool-sticky-dks-value {
  position: -webkit-sticky;
  position: sticky;
  z-index: 10;
  text-align: right;
  vertical-align: middle;
  background-color: var(--ms-panel) !important;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 9999px var(--ms-panel);
  padding: 4px 6px !important;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ms-pool-sticky-bh,
.ms-pool-sticky-bvr {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.03em;
  padding: 4px 4px !important;
}
.ms-pool-sticky-pos,
.ms-pool-pos-col.ms-pool-sticky-pos {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.ms-pool-sticky-sal {
  text-align: right;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ms-pool-table tbody .ms-pool-sticky-order {
  position: static !important;
  left: auto !important;
  z-index: auto;
  box-shadow: none;
}
.ms-pool-sticky-order {
  text-align: center;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}
/* CSS fallback pin offsets (JS refines with measured widths) */
.ms-pool-table thead th.ms-pool-sticky-rank,
.ms-pool-table tbody td.ms-pool-sticky-rank {
  left: 0;
}
.ms-pool-table thead th.ms-pool-sticky-fv,
.ms-pool-table tbody td.ms-pool-sticky-fv {
  left: var(--ms-pool-rank-w, 72px);
}
.ms-pool-table thead th.ms-pool-sticky-wl,
.ms-pool-table tbody td.ms-pool-sticky-wl {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-fv-w, 36px));
}
.ms-pool-table thead th.ms-pool-sticky-lck,
.ms-pool-table tbody td.ms-pool-sticky-lck {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-fv-w, 36px) + var(--ms-pool-wl-w, 36px));
}
.ms-pool-table thead th.ms-pool-sticky-ex,
.ms-pool-table tbody td.ms-pool-sticky-ex {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-fv-w, 36px) + var(--ms-pool-wl-w, 36px) + var(--ms-pool-lck-w, 36px));
}
.ms-pool-table thead th.ms-pool-sticky-team,
.ms-pool-table tbody td.ms-pool-sticky-team {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-actions-w, 144px));
}
.ms-pool-table thead th.ms-pool-sticky-name,
.ms-pool-table tbody td.ms-pool-sticky-name {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-actions-w, 144px) + var(--ms-pool-team-w, 44px));
}
.ms-pool-table thead th.ms-pool-sticky-watch-count,
.ms-pool-table tbody td.ms-pool-sticky-watch-count {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-actions-w, 144px) + var(--ms-pool-team-w, 44px) + var(--ms-pool-name-min-w, 300px));
}
.ms-pool-table thead th.ms-pool-sticky-hr,
.ms-pool-table tbody td.ms-pool-sticky-hr {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-actions-w, 144px) + var(--ms-pool-team-w, 44px) + var(--ms-pool-name-min-w, 300px) + var(--ms-pool-watch-count-w, 38px));
}
.ms-pool-table thead th.ms-pool-sticky-dks,
.ms-pool-table tbody td.ms-pool-sticky-dks {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-actions-w, 144px) + var(--ms-pool-team-w, 44px) + var(--ms-pool-name-min-w, 300px) + var(--ms-pool-watch-count-w, 38px) + var(--ms-pool-hr-w, 42px));
}
.ms-pool-table thead th.ms-pool-sticky-dks-value,
.ms-pool-table tbody td.ms-pool-sticky-dks-value {
  left: calc(var(--ms-pool-rank-w, 72px) + var(--ms-pool-actions-w, 144px) + var(--ms-pool-team-w, 44px) + var(--ms-pool-name-min-w, 300px) + var(--ms-pool-watch-count-w, 38px) + var(--ms-pool-hr-w, 42px) + var(--ms-pool-dks-w, 54px));
}
.ms-blast-table thead th.ms-pool-sticky-team,
.ms-blast-table tbody td.ms-pool-sticky-team {
  left: calc(var(--ms-pool-rank-w, 56px) + var(--ms-pool-index-w, 36px));
}
.ms-blast-table thead th.ms-pool-sticky-name,
.ms-blast-table tbody td.ms-pool-sticky-name {
  left: calc(var(--ms-pool-rank-w, 56px) + var(--ms-pool-index-w, 36px) + var(--ms-pool-team-w, 44px));
}
/* Gutter left/width come from JS inline styles + colgroup — never CSS calc() */
.ms-pool-table th[data-pool-sticky],
.ms-pool-table td[data-pool-sticky] {
  box-sizing: border-box;
}
.ms-pool-table th.ms-pool-h-sticky,
.ms-pool-table td.ms-pool-h-sticky {
  position: sticky !important;
  background-clip: padding-box;
}
.ms-pool-table thead th.ms-pool-h-sticky {
  z-index: 24;
}
.ms-pool-table tbody td.ms-pool-h-sticky {
  z-index: 7;
}
.ms-pool-table [data-pool-sticky="rank"] {
  z-index: 9;
}
.ms-pool-table thead [data-pool-sticky="rank"] {
  z-index: 25;
}
.ms-pool-table [data-pool-sticky="name"],
.ms-pool-table [data-pool-sticky="fv"],
.ms-pool-table [data-pool-sticky="wl"],
.ms-pool-table [data-pool-sticky="lck"],
.ms-pool-table [data-pool-sticky="ex"] {
  z-index: 8;
}
.ms-pool-table thead [data-pool-sticky="name"],
.ms-pool-table thead [data-pool-sticky="fv"],
.ms-pool-table thead [data-pool-sticky="wl"],
.ms-pool-table thead [data-pool-sticky="lck"],
.ms-pool-table thead [data-pool-sticky="ex"] {
  z-index: 24;
}
.ms-pool-sticky-gutter-end,
.ms-pool-table td.ms-pool-sticky-gutter-end,
.ms-pool-table th.ms-pool-sticky-gutter-end {
  box-shadow: 4px 0 8px -2px rgba(0, 0, 0, 0.32);
}
.ms-pool-row:nth-child(even) .ms-pool-sticky-gutter-end {
  box-shadow: 4px 0 8px -2px rgba(0, 0, 0, 0.32);
}
.ms-pool-table tbody .ms-pool-sticky-name.ms-pool-sticky-gutter-end,
.ms-pool-row:nth-child(even) .ms-pool-sticky-name.ms-pool-sticky-gutter-end {
  box-shadow: 4px 0 8px -2px rgba(0, 0, 0, 0.32);
}

.ms-pool-hr-hit {
  color: var(--ms-orange, #f59e0b);
}
.ms-hr-symbol {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--ms-orange, #f59e0b);
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.45));
}
.ms-hr-count {
  margin-left: 2px;
  font-size: 10px;
  font-weight: 700;
  color: var(--ms-orange, #f59e0b);
}

.ms-pool-table tbody .ms-pool-sticky-col,
.ms-pool-table tbody .ms-pool-sticky-rank,
.ms-pool-table tbody .ms-pool-sticky-fv,
.ms-pool-table tbody .ms-pool-sticky-wl,
.ms-pool-table tbody .ms-pool-sticky-lck,
.ms-pool-table tbody .ms-pool-sticky-ex,
.ms-pool-table tbody .ms-pool-sticky-team,
.ms-pool-table tbody .ms-pool-sticky-index {
  background-color: var(--ms-panel) !important;
}
.ms-pool-table tbody .ms-pool-sticky-name,
.ms-blast-table tbody .ms-pool-sticky-name,
.ms-blast-table tbody .ms-pool-sticky-team {
  background-color: var(--ms-panel) !important;
}
.ms-pool-row:nth-child(even) .ms-pool-sticky-col,
.ms-pool-row:nth-child(even) .ms-pool-sticky-rank,
.ms-pool-row:nth-child(even) .ms-pool-sticky-fv,
.ms-pool-row:nth-child(even) .ms-pool-sticky-wl,
.ms-pool-row:nth-child(even) .ms-pool-sticky-lck,
.ms-pool-row:nth-child(even) .ms-pool-sticky-ex,
.ms-pool-row:nth-child(even) .ms-pool-sticky-team,
.ms-pool-row:nth-child(even) .ms-pool-sticky-index {
  background-color: #151920 !important;
}
.ms-pool-row:nth-child(even) .ms-pool-sticky-name,
.ms-blast-table tbody tr:nth-child(even) .ms-pool-sticky-name,
.ms-blast-table tbody tr:nth-child(even) .ms-pool-sticky-team {
  background-color: #151920 !important;
}

.ms-pool-table thead .ms-pool-sticky-col,
.ms-pool-table thead .ms-pool-sticky-name,
.ms-pool-table thead .ms-pool-sticky-rank,
.ms-pool-table thead .ms-pool-sticky-fv,
.ms-pool-table thead .ms-pool-sticky-wl,
.ms-pool-table thead .ms-pool-sticky-lck,
.ms-pool-table thead .ms-pool-sticky-ex,
.ms-pool-table thead .ms-pool-sticky-team,
.ms-pool-table thead .ms-pool-sticky-index,
.ms-pool-table thead .ms-pool-sticky-watch-count,
.ms-pool-table thead .ms-pool-sticky-hr,
.ms-pool-table thead .ms-pool-sticky-dks,
.ms-pool-table thead .ms-pool-sticky-dks-value {
  background-color: var(--ms-panel-2) !important;
  box-shadow: inset 0 0 0 9999px var(--ms-panel-2);
  z-index: 24;
}
/* BUG-2026-07-07: sticky thead (z-index 24) intercepted pointer events on tbody rank dots (z-index 10). */
.ms-pool-table thead,
.ms-blast-table thead {
  pointer-events: none;
}
.ms-pool-table thead .ms-th-label-row,
.ms-blast-table thead .ms-th-label-row {
  pointer-events: none;
}
.ms-pool-table thead .ms-th-label-row [data-pool-sort],
.ms-blast-table thead .ms-th-label-row [data-blast-sort],
.ms-pool-table thead th[data-pool-sort] .ms-th-label-row,
.ms-blast-table thead th[data-blast-sort] .ms-th-label-row,
.ms-pool-table thead [data-rank-lens],
.ms-blast-table thead [data-rank-lens],
.ms-pool-table thead .ms-pool-field-info,
.ms-blast-table thead .ms-pool-field-info,
.ms-pool-table thead [data-pool-help],
.ms-blast-table thead [data-pool-help] {
  pointer-events: auto;
}
.ms-pool-table thead .ms-th-rank-lens-stack,
.ms-blast-table thead .ms-th-rank-lens-stack,
.ms-pool-table thead .ms-rank-badge-slot,
.ms-blast-table thead .ms-rank-badge-slot,
.ms-pool-table thead .ms-rank-badge,
.ms-blast-table thead .ms-rank-badge {
  pointer-events: none;
}
.ms-pool-table thead th.ms-pool-rank-col [data-rank-lens],
.ms-blast-table thead th.ms-pool-rank-col [data-rank-lens] {
  pointer-events: auto;
}
.ms-pool-table tbody .ms-pool-sticky-rank .ms-rank-dot,
.ms-blast-table tbody .ms-pool-sticky-rank .ms-rank-dot {
  position: relative;
  z-index: 32;
}
.ms-pool-rank-lens-row .ms-pool-sticky-rank,
.ms-pool-rank-lens-row .ms-pool-sticky-fv,
.ms-pool-rank-lens-row .ms-pool-sticky-wl,
.ms-pool-rank-lens-row .ms-pool-sticky-lck,
.ms-pool-rank-lens-row .ms-pool-sticky-ex,
.ms-pool-rank-lens-row .ms-pool-sticky-team,
.ms-pool-rank-lens-row .ms-pool-sticky-index,
.ms-pool-rank-lens-row .ms-pool-sticky-name {
  z-index: 25;
}
/* RNK header: same stack as other columns — label + ⓘ row, rank dot below */
.ms-pool-table thead th.ms-pool-sticky-rank,
.ms-blast-table thead th.ms-pool-sticky-rank,
.ms-pool-table thead th.ms-pool-rank-col,
.ms-blast-table thead th.ms-pool-rank-col {
  pointer-events: none;
}
.ms-pool-table thead th.ms-pool-sticky-rank [data-rank-lens],
.ms-blast-table thead th.ms-pool-sticky-rank [data-rank-lens],
.ms-pool-table thead th.ms-pool-rank-col [data-rank-lens],
.ms-blast-table thead th.ms-pool-rank-col [data-rank-lens] {
  pointer-events: auto;
}
.ms-pool-table thead th.ms-pool-rank-col,
.ms-blast-table thead th.ms-pool-rank-col {
  text-align: center;
  vertical-align: bottom;
  overflow: visible;
}
.ms-pool-table thead th.ms-pool-rank-col .ms-th-rank-lens-stack,
.ms-blast-table thead th.ms-pool-rank-col .ms-th-rank-lens-stack {
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
}
.ms-rank-col-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  line-height: 1.1;
  white-space: nowrap;
}
.ms-rank-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 50%;
  position: relative;
  z-index: 12;
  pointer-events: auto;
  flex-shrink: 0;
  touch-action: manipulation;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.ms-rank-dot-circle {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid rgba(148, 163, 184, 0.55);
  background: transparent;
  display: block;
  box-sizing: border-box;
  transition: transform 0.08s ease, background 0.08s ease, border-color 0.08s ease, box-shadow 0.08s ease;
}
.ms-rank-dot.is-on .ms-rank-dot-circle {
  border-color: var(--ms-blue);
  background: var(--ms-blue);
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.28);
}
.ms-rank-dot:active .ms-rank-dot-circle {
  border-color: var(--ms-blue);
  background: var(--ms-blue);
  transform: scale(1.15);
}
.ms-rank-dot:hover .ms-rank-dot-circle {
  border-color: var(--ms-blue);
}
.ms-pool-thead-table .ms-pool-rank-lens-row th {
  top: 0;
}
.ms-pool-rank-lens-row th {
  position: sticky;
  top: var(--ms-pool-favbar-h, 0px);
  padding: 2px 6px !important;
  height: auto;
  min-height: 20px;
  font-size: 10px;
  font-weight: 700;
  font-family: var(--ms-mono);
  text-align: center;
  background-color: rgba(28, 36, 48, 0.92) !important;
  background-clip: padding-box;
  border-bottom: 1px solid rgba(52, 61, 77, 0.65);
  color: var(--ms-muted);
  white-space: nowrap;
  z-index: 23;
}
.ms-pool-rank-lens-cell.is-top {
  color: #86efac;
}
.ms-pool-rank-lens-cell.is-hot {
  color: #fcd34d;
}
.ms-pool-header-has-rank-lens th {
  text-align: center;
  vertical-align: bottom;
  padding-top: 2px !important;
  padding-bottom: 4px !important;
  min-height: 52px;
}
.ms-th-rank-lens-stack {
  display: grid;
  grid-template-rows: 24px auto;
  align-items: center;
  justify-items: center;
  width: 100%;
  min-width: min-content;
  min-height: 52px;
  gap: 2px;
}
.ms-th-label-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  flex-wrap: nowrap;
  max-width: 100%;
}
.ms-rank-badge-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 24px;
  min-height: 24px;
  flex-shrink: 0;
}
.ms-rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 4px;
  border-radius: 6px;
  background: #1a1a1a;
  box-sizing: border-box;
  font-size: 11px;
  font-weight: 700;
  font-family: var(--ms-mono);
  line-height: 1;
  color: var(--ms-text, #e2e8f0);
  text-align: center;
}
.ms-rank-badge--wide {
  min-width: 28px;
  font-size: 10px;
}
.ms-rank-badge--gold {
  color: #22c55e;
  text-shadow: 0 0 6px currentColor;
}
.ms-rank-badge--green {
  color: #22c55e;
}
.ms-rank-badge--light-green {
  color: #86efac;
}
.ms-rank-badge--default {
  color: var(--ms-text, #e2e8f0);
}
.ms-rank-badge--loading {
  color: var(--ms-muted, #8b949e);
  opacity: 0.85;
  letter-spacing: 0.02em;
}
.ms-rank-badge--empty {
  color: var(--ms-muted);
  opacity: 0.55;
}
.ms-rank-badge--hidden {
  display: none !important;
}
.ms-pool-rank-lens-row .ms-rank-badge-slot {
  margin: 0 auto;
}
@media (max-width: 768px) {
  .ms-th-rank-lens-stack {
    grid-template-rows: 20px auto;
    min-height: 44px;
  }
  .ms-rank-badge-slot {
    height: 20px;
    min-height: 20px;
  }
  .ms-rank-badge {
    min-width: 20px;
    height: 20px;
    font-size: 10px;
    border-radius: 5px;
  }
  .ms-rank-badge--wide {
    min-width: 24px;
    font-size: 9px;
  }
}

.ms-pool-rank-lens-row .ms-pool-sticky-rank,
.ms-pool-rank-lens-row .ms-pool-sticky-fv,
.ms-pool-rank-lens-row .ms-pool-sticky-wl,
.ms-pool-rank-lens-row .ms-pool-sticky-lck,
.ms-pool-rank-lens-row .ms-pool-sticky-ex,
.ms-pool-rank-lens-row .ms-pool-sticky-team,
.ms-pool-rank-lens-row .ms-pool-sticky-index,
.ms-pool-rank-lens-row .ms-pool-sticky-name {
  background-color: #1c2840 !important;
  box-shadow: inset 0 0 0 9999px #1c2840;
}
.ms-pool-rank-lens-cell.is-top {
  color: #4ade80;
  background-color: #1a3d32 !important;
}
.ms-pool-rank-lens-cell.is-hot {
  color: #fcd34d;
}
.ms-pool-rank-lens-cell.is-na {
  color: var(--ms-muted);
  opacity: 0.45;
  font-weight: 600;
}
.ms-pool-rank-lens-cell.is-empty {
  color: var(--ms-muted);
  opacity: 0.35;
}
.ms-pool-row.ms-pool-rank-lens-active .ms-pool-sticky-rank .ms-rank-dot.is-on {
  box-shadow: 0 0 0 2px rgba(74, 222, 128, 0.55);
}
.ms-pool-rank-lens-row th {
  box-shadow: inset 0 0 0 9999px #1c2840;
}
.ms-pool-scroll-hint {
  margin: 8px 0 0;
  font-size: 11px;
  color: var(--ms-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.ms-pool-thead-table thead {
  position: relative;
  z-index: 20;
}
.ms-pool-thead-table th {
  position: sticky;
  top: 0;
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ms-muted);
  padding: 8px 10px;
  background-color: var(--ms-panel-2) !important;
  background-clip: padding-box;
  border-bottom: 1px solid var(--ms-border);
  white-space: nowrap;
  box-shadow: inset 0 0 0 9999px var(--ms-panel-2), 0 1px 0 var(--ms-panel-2);
}
.ms-pool-thead-table thead tr:not(.ms-pool-rank-lens-row) th {
  top: var(--ms-pool-ranklens-h, 0px);
  z-index: 22;
}
.ms-pool-table-scroll .ms-pool-table thead tr:not(.ms-pool-rank-lens-row) th {
  top: calc(var(--ms-pool-favbar-h, 0px) + var(--ms-pool-ranklens-h, 0px));
}
.ms-pool-table thead {
  position: relative;
  z-index: 20;
}
.ms-pool-table-scroll .ms-pool-table th {
  position: sticky;
  left: auto;
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ms-muted);
  padding: 8px 10px;
  background-color: var(--ms-panel-2) !important;
  background-clip: padding-box;
  border-bottom: 1px solid var(--ms-border);
  white-space: nowrap;
  box-shadow: inset 0 0 0 9999px var(--ms-panel-2), 0 1px 0 var(--ms-panel-2);
}
.ms-pool-table-scroll .ms-pool-table thead th.ms-pool-ext-col:not(.ms-pool-h-sticky) {
  position: sticky;
  left: auto;
}
th.la-col-hint,
.ms-pool-table th[title],
.ms-table thead th.la-col-hint,
.ms-table thead th[title] {
  cursor: help;
}
.ms-pool-table td {
  padding: 6px 10px;
  border-bottom: 1px solid rgba(52, 61, 77, 0.45);
  height: var(--ms-pool-row-h, 40px);
  vertical-align: middle;
}
.ms-pool-row { cursor: pointer; transition: background 0.1s ease; }
.ms-pool-row:nth-child(even) td:not(.ms-pool-sticky-col):not(.ms-pool-sticky-rank):not(.ms-pool-sticky-fv):not(.ms-pool-sticky-wl):not(.ms-pool-sticky-lck):not(.ms-pool-sticky-ex):not(.ms-pool-sticky-team):not(.ms-pool-sticky-name):not(.ms-pool-sticky-index) {
  background: rgba(0, 0, 0, 0.12);
}
.ms-pool-row:hover td:not(.ms-pool-sticky-col):not(.ms-pool-sticky-rank):not(.ms-pool-sticky-fv):not(.ms-pool-sticky-wl):not(.ms-pool-sticky-lck):not(.ms-pool-sticky-ex):not(.ms-pool-sticky-team):not(.ms-pool-sticky-name):not(.ms-pool-sticky-index) {
  background: rgba(26, 115, 232, 0.12) !important;
}
.ms-pool-row:hover .ms-pool-sticky-col,
.ms-pool-row:hover .ms-pool-sticky-rank,
.ms-pool-row:hover .ms-pool-sticky-fv,
.ms-pool-row:hover .ms-pool-sticky-wl,
.ms-pool-row:hover .ms-pool-sticky-lck,
.ms-pool-row:hover .ms-pool-sticky-ex,
.ms-pool-row:hover .ms-pool-sticky-team,
.ms-pool-row:hover .ms-pool-sticky-index {
  background-color: #1e2530 !important;
  box-shadow: inset 0 0 0 9999px #1e2530;
}
.ms-pool-row:hover .ms-pool-sticky-name,
.ms-blast-table tbody tr:hover .ms-pool-sticky-name,
.ms-blast-table tbody tr:hover .ms-pool-sticky-team {
  background-color: #1e2530 !important;
  box-shadow: inset 0 0 0 9999px #1e2530;
}
.ms-pool-row:hover .ms-pool-sticky-watch-count,
.ms-pool-row:hover .ms-pool-sticky-hr,
.ms-pool-row:hover .ms-pool-sticky-dks,
.ms-pool-row:hover .ms-pool-sticky-bh,
.ms-pool-row:hover .ms-pool-sticky-bvr,
.ms-pool-row:hover .ms-pool-sticky-pos,
.ms-pool-row:hover .ms-pool-sticky-sal,
.ms-pool-row:hover .ms-pool-sticky-order {
  background-color: #1e2530 !important;
  box-shadow: inset 0 0 0 9999px #1e2530;
}
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-col,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-rank,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-fv,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-wl,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-lck,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-ex,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-team,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-index {
  background-color: #182028 !important;
  box-shadow: inset 0 0 0 9999px #182028;
}
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-name,
.ms-blast-table tbody tr:nth-child(even):hover .ms-pool-sticky-name,
.ms-blast-table tbody tr:nth-child(even):hover .ms-pool-sticky-team {
  background-color: #182028 !important;
  box-shadow: inset 0 0 0 9999px #182028;
}
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-watch-count,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-hr,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-dks,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-bh,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-bvr,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-pos,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-sal,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-order {
  background-color: #182028 !important;
  box-shadow: inset 0 0 0 9999px #182028;
}
.ms-pool-row:hover .ms-pool-sticky-gutter-end,
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-gutter-end {
  box-shadow: 4px 0 10px rgba(0, 0, 0, 0.32), inset 0 0 0 9999px #1e2530;
}
.ms-pool-row:nth-child(even):hover .ms-pool-sticky-gutter-end {
  box-shadow: 4px 0 10px rgba(0, 0, 0, 0.32), inset 0 0 0 9999px #182028;
}
.ms-pool-name {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  flex-wrap: nowrap;
  white-space: nowrap;
  min-width: min-content;
  overflow: visible;
}
.ms-pool-name .ms-team-logo,
.ms-pool-name .ms-logo-fallback {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  object-fit: contain;
}
.ms-pool-player-name,
.ms-player-name-cell,
.ms-player-cell strong,
.ms-cmp-player-name,
.ms-pool-compare-name,
.ms-player-compare-name {
  white-space: nowrap;
}
.ms-pool-player-name {
  flex: 0 1 auto;
  min-width: min-content;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  color: var(--ms-text);
  font-weight: 600;
  font-size: 0.92rem;
}
.ms-player-name-cell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.ms-pool-tier {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  background: var(--ms-panel-2);
  color: var(--ms-muted);
  border: 1px solid transparent;
}
.ms-pool-tier-core,
.ms-tier-core .ms-pool-tier {
  color: #5eead4;
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.42);
  box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.08);
}
.ms-pool-tier-leverage,
.ms-tier-leverage .ms-pool-tier {
  color: #93c5fd;
  background: rgba(37, 99, 235, 0.24);
  border-color: rgba(59, 130, 246, 0.48);
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.12);
}
.ms-pool-tier-punt,
.ms-tier-punt .ms-pool-tier {
  color: #86efac;
  background: rgba(22, 101, 52, 0.28);
  border-color: rgba(74, 222, 128, 0.38);
  box-shadow: 0 0 0 1px rgba(74, 222, 128, 0.1);
}
.ms-pool-tier-contrarian,
.ms-tier-contrarian .ms-pool-tier {
  color: #d8b4fe;
  background: rgba(147, 51, 234, 0.22);
  border-color: rgba(168, 85, 247, 0.42);
  box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.1);
}
.ms-pool-tier-correlated,
.ms-tier-correlated .ms-pool-tier {
  color: #fdba74;
  background: rgba(234, 88, 12, 0.22);
  border-color: rgba(251, 146, 60, 0.42);
  box-shadow: 0 0 0 1px rgba(251, 146, 60, 0.1);
}
tr.ms-pool-row.ms-tier-core:not(.ms-pool-fav):not(.ms-pool-watched):not(.ms-pool-locked) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 rgba(16, 185, 129, 0.55), inset 0 0 0 9999px var(--ms-panel);
}
tr.ms-pool-row.ms-tier-leverage:not(.ms-pool-fav):not(.ms-pool-watched):not(.ms-pool-locked) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 rgba(59, 130, 246, 0.65), inset 0 0 0 9999px var(--ms-panel);
}
tr.ms-pool-row.ms-tier-punt:not(.ms-pool-fav):not(.ms-pool-watched):not(.ms-pool-locked) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 rgba(74, 222, 128, 0.55), inset 0 0 0 9999px var(--ms-panel);
}
tr.ms-pool-row.ms-tier-core:nth-child(even):not(.ms-pool-fav):not(.ms-pool-watched):not(.ms-pool-locked) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 rgba(16, 185, 129, 0.55), inset 0 0 0 9999px #151920;
}
tr.ms-pool-row.ms-tier-leverage:nth-child(even):not(.ms-pool-fav):not(.ms-pool-watched):not(.ms-pool-locked) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 rgba(59, 130, 246, 0.65), inset 0 0 0 9999px #151920;
}
tr.ms-pool-row.ms-tier-punt:nth-child(even):not(.ms-pool-fav):not(.ms-pool-watched):not(.ms-pool-locked) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 rgba(74, 222, 128, 0.55), inset 0 0 0 9999px #151920;
}
.ms-pool-empty, .ms-pool-more {
  margin: 0;
  font-size: 13px;
  color: var(--ms-muted);
}
.ms-pool-more { padding-top: 10px; text-align: center; }
.ms-pool-toolbar {
  padding: 8px 14px;
  background: var(--ms-panel-2);
  border-bottom: 1px solid var(--ms-border);
}
.ms-pool-toolbar-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  min-width: 0;
}
.ms-pool-toolbar-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  min-width: 0;
  width: 100%;
}
.ms-pool-toolbar-row-role {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 4px 0 10px;
  border-bottom: 1px solid rgba(52, 61, 77, 0.5);
}
.ms-pool-role-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid rgba(80, 94, 118, 0.72);
  border-radius: 7px;
  background: rgba(15, 23, 42, 0.9);
  color: var(--ms-muted);
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.ms-pool-role-btn:hover,
.ms-pool-role-btn:focus-visible {
  border-color: rgba(56, 189, 248, 0.75);
  color: var(--ms-text);
  outline: none;
}
.ms-pool-role-btn.is-active {
  border-color: rgba(34, 197, 94, 0.9);
  background: linear-gradient(135deg, rgba(21, 128, 61, 0.34), rgba(14, 165, 233, 0.16));
  color: #f8fafc;
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.ms-pool-role-main {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.09em;
}
.ms-pool-role-count {
  flex: 0 0 auto;
  min-width: 30px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(2, 6, 23, 0.48);
  color: var(--ms-text);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}
.ms-pool-toolbar-row-top .ms-pool-search {
  flex: 1 1 220px;
  min-width: 160px;
}
.ms-pool-toolbar-row-top .ms-pool-select {
  flex: 0 1 148px;
  min-width: 124px;
}
.ms-pool-toolbar-row-top .ms-pool-count {
  flex: 1 1 auto;
  margin-left: auto;
  text-align: right;
  min-width: 0;
}
.ms-pool-toolbar-row-numeric {
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}
.ms-pool-toolbar-row-numeric--micro {
  gap: 0;
  margin: 0;
}
/* Sal / Own / Ord — exactly 3 lines in the sidebar (no slider rows) */
.ms-pool-numeric-filters-card--3line {
  width: 100%;
  padding: 2px 6px;
  border: 1px solid rgba(52, 61, 77, 0.45);
  border-radius: 6px;
  background: rgba(12, 15, 20, 0.78);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ms-pool-filter-line {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) minmax(2.4rem, 3rem) minmax(2.4rem, 3rem);
  gap: 4px;
  align-items: center;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(52, 61, 77, 0.22);
  box-sizing: border-box;
  overflow: hidden;
}
.ms-pool-filter-line--order {
  grid-template-columns: 1.75rem minmax(0, 1fr);
}
.ms-pool-filter-line:last-child,
.ms-pool-filter-line--order {
  border-bottom: none;
}
.ms-pool-filter-line.is-hidden {
  display: none;
}
.ms-pool-numeric-filters-card--3line .ms-pool-filter-label {
  font-size: 9px;
  letter-spacing: 0.04em;
  white-space: nowrap;
  line-height: 1;
}
.ms-pool-numeric-filters-card--3line .ms-pool-sal-range-meta {
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-pool-sal--line {
  width: 100%;
  min-width: 0;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  padding: 0 4px;
  font-size: 10px;
  text-align: center;
  line-height: 18px;
}
.ms-pool-order-select--line {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  padding: 0 6px;
  font-size: 10px;
  line-height: 18px;
}
.ms-pool-numeric-filters-card--3line .ms-pool-sal-range,
.ms-pool-numeric-filters-card--3line .ms-pool-own-range,
.ms-pool-numeric-filters-card--3line .ms-pool-order-filter {
  display: grid !important;
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  gap: 4px;
  padding: 0;
  border: none;
  background: transparent;
  overflow: hidden;
}
.ms-pool-numeric-filters-card--3line .ms-pool-filter-label,
.ms-pool-numeric-filters-card--3line .ms-pool-sal-range-meta {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-pool-numeric-filters-card--3line .ms-pool-sal--line,
.ms-pool-numeric-filters-card--3line .ms-pool-order-select--line {
  min-height: 20px !important;
  max-height: 20px !important;
  height: 20px;
  padding: 0 4px !important;
  box-sizing: border-box;
}
.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric--micro,
.ms-pool-toolbar-sidebar .ms-pool-numeric-filters-card--3line {
  width: 100%;
  max-width: 100%;
}
.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric--micro {
  gap: 0;
  margin: 0;
  padding: 0;
}
.ms-pool-filter-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(52, 61, 77, 0.55);
  border-radius: 10px;
  background: rgba(12, 15, 20, 0.72);
  box-sizing: border-box;
}
.ms-pool-filter-group.is-hidden {
  display: none;
}
.ms-pool-filter-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 16px;
}
.ms-pool-filter-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-pool-filter-group-head .ms-pool-field-info,
.ms-pool-filter-group-head .ms-field-info {
  flex-shrink: 0;
  margin-left: 4px;
}
.ms-pool-toolbar .ms-pool-chip + .ms-field-info,
.ms-pool-toolbar .ms-pool-chip + .ms-pool-field-info {
  margin-left: -4px;
  margin-right: 6px;
  vertical-align: middle;
}

.ms-pool-sort-levels-grid .ms-pool-chip + .ms-field-info,
.ms-pool-sort-levels-grid .ms-pool-chip + .ms-pool-field-info {
  margin-left: 0;
  margin-right: 0;
}

.ms-pool-toolbar .ms-pool-count .ms-field-info {
  margin-left: 6px;
  vertical-align: middle;
}
.ms-pool-toolbar-row-sort .ms-sort-presets .ms-field-info {
  margin-left: 4px;
}
.ms-pool-toolbar-row-numeric .ms-pool-sal-range,
.ms-pool-toolbar-row-numeric .ms-pool-own-range {
  flex: 1 1 260px;
  min-width: 240px;
  max-width: 380px;
}
.ms-pool-own-filter {
  flex: 0 1 148px;
  min-width: 132px;
}
.ms-pool-toolbar-row-numeric-secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  width: 100%;
}
.ms-pool-toolbar-row-numeric-secondary .ms-pool-own-range {
  flex: 1 1 220px;
  min-width: 200px;
}
.ms-pool-order-filter {
  flex: 0 1 148px;
  min-width: 132px;
  max-width: 168px;
}
.ms-pool-order-select {
  width: 100%;
  min-width: 0;
}
.ms-pool-own-inputs {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 6px;
}
.ms-pool-own-sep {
  font-size: 11px;
  color: var(--ms-muted);
  text-align: center;
}
.ms-pool-field-compact {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
.ms-pool-toolbar-row-chips {
  align-items: flex-start;
  gap: 10px 12px;
}
.ms-pool-toolbar-row-chips .ms-pool-tier-chips,
.ms-pool-toolbar-row-chips .ms-pool-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
}
.ms-pool-toolbar-row-actions,
.ms-pool-toolbar-row-toggles {
  gap: 8px;
}

.ms-pool-toolbar-row-active-only {
  padding: 4px 0 8px;
  border-bottom: 1px solid rgba(52, 61, 77, 0.45);
}

.ms-pool-toolbar-row-active-only .ms-toggle-switch {
  flex: 1 1 100%;
  width: 100%;
}

.ms-pool-toolbar-row-toggles-primary {
  padding: 8px 0 4px;
  border-top: 1px solid rgba(52, 61, 77, 0.45);
  border-bottom: 1px solid rgba(52, 61, 77, 0.35);
}

.ms-pool-toolbar-row-toggles-primary .ms-toggle-switch {
  flex: 1 1 100%;
}

.ms-pool-toolbar-advanced {
  border: 1px solid rgba(52, 61, 77, 0.45);
  border-radius: 8px;
  background: rgba(15, 18, 24, 0.35);
}

.ms-pool-toolbar-advanced-summary {
  cursor: pointer;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-pool-toolbar-advanced-summary::-webkit-details-marker {
  display: none;
}

.ms-pool-toolbar-advanced-summary i {
  margin-right: 6px;
  opacity: 0.85;
}

.ms-pool-toolbar-advanced[open] .ms-pool-toolbar-advanced-summary {
  color: var(--ms-text);
  border-bottom: 1px solid rgba(52, 61, 77, 0.45);
}

.ms-pool-toolbar-advanced-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 10px 12px 12px;
}
.ms-pool-toolbar-inner > .ms-pool-search,
.ms-pool-toolbar-row .ms-pool-search {
  flex: 1 1 200px;
  min-width: 140px;
}
.ms-pool-toolbar-inner > .ms-pool-select,
.ms-pool-toolbar-row .ms-pool-select {
  flex: 0 1 auto;
  min-width: 108px;
}
.ms-pool-toolbar-inner > .ms-pool-sal,
.ms-pool-toolbar-row .ms-pool-sal {
  flex: 0 1 72px;
}
.ms-pool-toolbar-inner > .ms-pool-tier-chips,
.ms-pool-toolbar-inner > .ms-pool-chips,
.ms-pool-toolbar-row-chips .ms-pool-tier-chips,
.ms-pool-toolbar-row-chips .ms-pool-chips {
  flex: 1 1 auto;
  min-width: 0;
}
.ms-pool-toolbar-inner > .ms-pool-count,
.ms-pool-toolbar-row-top .ms-pool-count {
  flex: 1 1 auto;
  margin-left: auto;
  text-align: right;
}
.ms-pool-sal {
  width: 100%;
  min-width: 0;
  padding: 7px 10px;
  font-size: 12px;
  font-family: var(--ms-mono);
  border: 1px solid rgba(52, 61, 77, 0.75);
  border-radius: 8px;
  background: rgba(8, 10, 14, 0.85);
  color: var(--ms-text);
  box-sizing: border-box;
}
.ms-pool-sal:focus {
  outline: none;
  border-color: rgba(163, 230, 53, 0.55);
  box-shadow: 0 0 0 2px rgba(163, 230, 53, 0.12);
}
.ms-pool-sal-range {
  gap: 14px;
}
.ms-pool-sal-range-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 2px;
}
.ms-pool-sal-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.ms-pool-sal-field-lbl {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.85);
}
.ms-pool-sal-range-track {
  position: relative;
  height: 44px;
  margin: 6px 8px 2px;
  padding: 0 4px;
}
.ms-pool-sal-range-channel {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 28px;
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(28, 33, 42, 0.95) 0%, rgba(12, 14, 18, 0.98) 45%, rgba(22, 26, 34, 0.95) 100%);
  border: 1px solid rgba(52, 61, 77, 0.65);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -3px 8px rgba(0, 0, 0, 0.45),
    0 2px 6px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  overflow: hidden;
}
.ms-pool-sal-range-ticks {
  position: absolute;
  inset: 4px 8px;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(148, 163, 184, 0.22) 0,
      rgba(148, 163, 184, 0.22) 1px,
      transparent 1px,
      transparent 10%
    );
  opacity: 0.55;
  pointer-events: none;
}
.ms-pool-sal-range-rail,
.ms-pool-sal-range-fill {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 4px;
  border-radius: 2px;
  pointer-events: none;
}
.ms-pool-sal-range-rail {
  left: 8px;
  right: 8px;
  background: rgba(15, 18, 24, 0.85);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.55);
}
.ms-pool-sal-range-fill {
  left: 8px;
  right: 8px;
  background: linear-gradient(90deg, rgba(250, 204, 21, 0.92), rgba(163, 230, 53, 0.95));
  box-shadow:
    0 0 8px rgba(163, 230, 53, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.ms-pool-sal-range-thumb {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
}
.ms-pool-sal-range-thumb::-webkit-slider-runnable-track {
  height: 28px;
  background: transparent;
  border: none;
}
.ms-pool-sal-range-thumb::-moz-range-track {
  height: 28px;
  background: transparent;
  border: none;
}
.ms-pool-sal-range-thumb::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  pointer-events: auto;
  width: 13px;
  height: 26px;
  margin-top: -1px;
  border-radius: 3px;
  border: 1px solid rgba(8, 10, 14, 0.95);
  background:
    repeating-linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.28) 0,
      rgba(0, 0, 0, 0.28) 2px,
      rgba(255, 255, 255, 0.04) 2px,
      rgba(255, 255, 255, 0.04) 3px
    ),
    linear-gradient(180deg, #6b7589 0%, #3d4656 22%, #252b36 48%, #434c5e 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    inset 0 -2px 5px rgba(0, 0, 0, 0.45),
    0 2px 6px rgba(0, 0, 0, 0.55);
  cursor: grab;
}
.ms-pool-sal-range-thumb::-moz-range-thumb {
  pointer-events: auto;
  width: 13px;
  height: 26px;
  border-radius: 3px;
  border: 1px solid rgba(8, 10, 14, 0.95);
  background:
    repeating-linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.28) 0,
      rgba(0, 0, 0, 0.28) 2px,
      rgba(255, 255, 255, 0.04) 2px,
      rgba(255, 255, 255, 0.04) 3px
    ),
    linear-gradient(180deg, #6b7589 0%, #3d4656 22%, #252b36 48%, #434c5e 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    inset 0 -2px 5px rgba(0, 0, 0, 0.45),
    0 2px 6px rgba(0, 0, 0, 0.55);
  cursor: grab;
}
.ms-pool-sal-range-thumb--min::-webkit-slider-thumb {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    inset 0 -2px 5px rgba(0, 0, 0, 0.45),
    0 -3px 0 0 rgba(250, 204, 21, 0.95),
    0 2px 6px rgba(0, 0, 0, 0.55),
    0 0 10px rgba(250, 204, 21, 0.35);
}
.ms-pool-sal-range-thumb--min::-moz-range-thumb {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    inset 0 -2px 5px rgba(0, 0, 0, 0.45),
    0 -3px 0 0 rgba(250, 204, 21, 0.95),
    0 2px 6px rgba(0, 0, 0, 0.55),
    0 0 10px rgba(250, 204, 21, 0.35);
}
.ms-pool-sal-range-thumb--max::-webkit-slider-thumb {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    inset 0 -2px 5px rgba(0, 0, 0, 0.45),
    0 -3px 0 0 rgba(163, 230, 53, 0.95),
    0 2px 6px rgba(0, 0, 0, 0.55),
    0 0 10px rgba(163, 230, 53, 0.35);
}
.ms-pool-sal-range-thumb--max::-moz-range-thumb {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    inset 0 -2px 5px rgba(0, 0, 0, 0.45),
    0 -3px 0 0 rgba(163, 230, 53, 0.95),
    0 2px 6px rgba(0, 0, 0, 0.55),
    0 0 10px rgba(163, 230, 53, 0.35);
}
.ms-pool-sal-range-thumb:active::-webkit-slider-thumb {
  cursor: grabbing;
  transform: scaleY(1.04);
}
.ms-pool-sal-range-thumb:active::-moz-range-thumb {
  cursor: grabbing;
  transform: scaleY(1.04);
}
.ms-pool-sal-range-thumb:focus-visible::-webkit-slider-thumb {
  outline: 2px solid rgba(163, 230, 53, 0.65);
  outline-offset: 2px;
}
.ms-pool-sal-range-thumb:focus-visible::-moz-range-thumb {
  outline: 2px solid rgba(163, 230, 53, 0.65);
  outline-offset: 2px;
}
.ms-pool-sal-range-thumb--min {
  z-index: 3;
}
.ms-pool-sal-range-thumb--max {
  z-index: 2;
}
.ms-pool-sal-range-meta {
  font-size: 10px;
  font-family: var(--ms-mono);
  font-weight: 600;
  color: rgba(163, 230, 53, 0.92);
  text-align: right;
  white-space: nowrap;
}
.ms-pool-table thead th.ms-pool-act-h,
.ms-pool-table thead th.ms-pool-sticky-rank,
.ms-pool-table thead th.ms-pool-pos-col,
.ms-pool-table thead th[data-pool-sort="pos"] {
  text-align: center;
}
.ms-pool-pos-col {
  text-align: center;
}
.ms-pool-table tbody td.ms-pool-pos-col {
  text-align: center;
}
.ms-import-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.ms-import-row label.ms-btn { cursor: pointer; }
.ms-duplicate-report { margin-top: 10px; font-size: 12px; }
.ms-qa-ok { color: var(--ms-green); margin: 0; }
.ms-qa-warn { color: var(--ms-orange); margin: 0; }
.ms-exposure-hint {
  font-size: 11px;
  color: var(--ms-muted);
  margin: 0 0 8px;
}
.ms-exposure-cap-input {
  width: 52px;
  padding: 4px 6px;
  font-size: 11px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel-2);
  color: var(--ms-text);
}
.ms-file-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--ms-muted);
  cursor: pointer;
  padding: 8px 12px;
  border: 1px dashed var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-file-label:hover { border-color: var(--ms-blue); color: var(--ms-text); }
.ms-lineup-table td { vertical-align: middle; }
.ms-lineup-table th.ms-lineup-sortable {
  cursor: pointer;
  user-select: none;
}
.ms-lineup-table th.ms-lineup-sortable:hover {
  color: var(--ms-text);
}
.ms-stack-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.ms-stack-template-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ms-stack-template-row .ms-stack-pills { flex: 1 1 auto; }
.ms-stack-custom-pills { margin-top: 6px; }
.ms-stack-tpl-preview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 8px 10px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
  font-size: 11px;
}
.ms-stack-tpl-preview-label {
  color: var(--ms-muted);
  font-weight: 600;
  white-space: nowrap;
}
.ms-stack-tpl-preview-empty { color: var(--ms-muted); font-style: italic; }
.ms-stack-tpl-preview-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.ms-stack-tpl-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
  background: rgba(148, 163, 184, 0.12);
  color: var(--ms-text);
}
.ms-stack-tpl-chip--primary {
  background: rgba(26, 115, 232, 0.18);
  border-color: rgba(26, 115, 232, 0.35);
  color: #93c5fd;
}
.ms-stack-tpl-chip--secondary {
  background: rgba(139, 92, 246, 0.18);
  border-color: rgba(139, 92, 246, 0.35);
  color: #c4b5fd;
}
.ms-stack-tpl-chip--bring-back {
  background: rgba(245, 158, 11, 0.16);
  border-color: rgba(245, 158, 11, 0.35);
  color: #fcd34d;
}
.ms-stack-tpl-chip--game,
.ms-stack-tpl-chip--slate,
.ms-stack-tpl-chip--proj-filler {
  background: rgba(148, 163, 184, 0.1);
  border-color: rgba(148, 163, 184, 0.25);
  color: var(--ms-muted);
}
.ms-stack-tpl-chip--correlation {
  background: rgba(16, 185, 129, 0.14);
  border-color: rgba(16, 185, 129, 0.35);
  color: #6ee7b7;
}
.ms-stack-tpl-chip--suggested {
  background: rgba(59, 130, 246, 0.14);
  border-color: rgba(59, 130, 246, 0.4);
  color: #93c5fd;
}
.ms-stack-tpl-preview-help {
  display: inline-flex;
  align-items: center;
  margin-left: 2px;
}
.ms-stack-tpl-preview-help .ms-field-info {
  width: 22px;
  height: 22px;
  font-size: 11px;
}
.ms-panel-hint {
  font-size: 11px;
  color: var(--ms-muted);
  margin: 0 0 10px;
}
.ms-player-groups { display: flex; flex-direction: column; gap: 10px; }
.ms-group-card {
  padding: 10px 12px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-group-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.ms-group-name {
  flex: 1 1 120px;
  min-width: 100px;
  padding: 6px 8px;
  font-size: 12px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
  color: var(--ms-text);
}
.ms-group-min {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-group-min input {
  width: 40px;
  padding: 4px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
  color: var(--ms-text);
}
.ms-group-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ms-group-chip {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  color: var(--ms-text);
  cursor: pointer;
}
.ms-group-chip:hover { border-color: var(--ms-orange); }
.ms-group-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.ms-offline-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 16px;
  background: linear-gradient(90deg, rgba(231, 76, 60, 0.22), rgba(245, 166, 35, 0.18));
  border-bottom: 1px solid rgba(231, 76, 60, 0.45);
  color: #ffd4cc;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.ms-offline-banner[hidden] { display: none !important; }
.ms-offline-banner i { color: var(--ms-orange); }
.ms-render-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 14px;
  margin-bottom: 10px;
  background: linear-gradient(90deg, rgba(231, 76, 60, 0.22), rgba(245, 166, 35, 0.16));
  border: 1px solid rgba(231, 76, 60, 0.45);
  border-radius: 8px;
  color: #ffd4cc;
  font-size: 13px;
  font-weight: 700;
}
.ms-render-error-msg {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
}
.ms-render-error-msg i { color: var(--ms-orange); flex-shrink: 0; }
.ms-render-error-retry { flex-shrink: 0; }
.ms-stale-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 16px;
  background: linear-gradient(90deg, rgba(245, 166, 35, 0.24), rgba(231, 76, 60, 0.16));
  border-bottom: 1px solid rgba(245, 166, 35, 0.55);
  color: #ffe3a6;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}
.ms-stale-banner[hidden] { display: none !important; }
.ms-stale-banner i { color: var(--ms-orange); }

/* Availability + weather — tiny chip in slate head; popover on click */
.ms-health-banner {
  position: relative;
  flex-shrink: 0;
  margin-left: auto;
  background: transparent;
  border: none;
  max-width: min(42vw, 180px);
}
.ms-health-banner[hidden] { display: none !important; }
.ms-health-chip,
.ms-health-restore-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  min-height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(59, 130, 246, 0.4);
  background: rgba(59, 130, 246, 0.12);
  color: var(--ms-text);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}
.ms-health-chip i,
.ms-health-restore-btn i {
  font-size: 10px;
  color: var(--ms-blue);
}
.ms-health-banner.is-warning .ms-health-chip,
.ms-health-banner.is-warning .ms-health-restore-btn {
  border-color: rgba(245, 158, 11, 0.5);
  background: rgba(245, 158, 11, 0.14);
}
.ms-health-banner.is-warning .ms-health-chip i,
.ms-health-banner.is-warning .ms-health-restore-btn i { color: #fbbf24; }
.ms-health-banner.is-critical .ms-health-chip,
.ms-health-banner.is-critical .ms-health-restore-btn {
  border-color: rgba(239, 68, 68, 0.55);
  background: rgba(220, 38, 38, 0.16);
}
.ms-health-banner.is-critical .ms-health-chip,
.ms-health-banner.is-critical .ms-health-chip-label { color: #fecaca; }
.ms-health-banner.is-critical .ms-health-chip i,
.ms-health-banner.is-critical .ms-health-restore-btn i { color: #f87171; }
.ms-health-banner.is-open .ms-health-chip {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12);
}
.ms-health-restore-btn {
  opacity: 0.72;
  max-width: 100%;
}
.ms-health-restore-label {
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-health-popover {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: calc(var(--ms-z-chrome, 40) + 6);
  width: min(280px, 72vw);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(52, 61, 77, 0.75);
  background: rgba(12, 16, 22, 0.98);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}
.ms-health-popover-msg {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ms-text);
}
.ms-health-popover-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.ms-health-snooze-block {
  border-top: 1px solid rgba(52, 61, 77, 0.55);
  padding-top: 8px;
}
.ms-health-snooze-label {
  display: block;
  margin-bottom: 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-health-snooze-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}
.ms-health-snooze-btn {
  padding: 2px 7px;
  border-radius: 6px;
  border: 1px solid rgba(52, 61, 77, 0.65);
  background: rgba(255, 255, 255, 0.04);
  color: var(--ms-muted);
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
}
.ms-health-snooze-btn:hover {
  color: var(--ms-text);
  border-color: rgba(59, 130, 246, 0.45);
}
.ms-health-snooze-custom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  color: var(--ms-muted);
}
.ms-health-snooze-custom input[type="datetime-local"] {
  flex: 1 1 140px;
  min-width: 0;
  padding: 3px 6px;
  border-radius: 6px;
  border: 1px solid rgba(52, 61, 77, 0.65);
  background: rgba(0, 0, 0, 0.25);
  color: var(--ms-text);
  font-size: 10px;
}
.ms-health-banner-btn {
  padding: 2px 8px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
}

.ms-health-cross,
.ms-weather-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-left: 4px;
  padding: 0;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  vertical-align: middle;
  font-size: 11px;
  line-height: 1;
  transition: transform 0.12s ease, background 0.12s ease;
}
.ms-health-cross:hover,
.ms-weather-chip:hover { transform: scale(1.08); }
.ms-health-cross.is-out {
  background: rgba(239, 68, 68, 0.22);
  color: #fca5a5;
}
.ms-health-cross.is-question {
  background: rgba(245, 158, 11, 0.2);
  color: #fcd34d;
}
.ms-weather-chip.is-watch { background: rgba(59, 130, 246, 0.18); color: #93c5fd; }
.ms-weather-chip.is-warning { background: rgba(245, 158, 11, 0.22); color: #fcd34d; }
.ms-weather-chip.is-critical { background: rgba(239, 68, 68, 0.25); color: #fca5a5; }

.ms-health-modal .ms-health-modal-section { margin-bottom: 14px; }
.ms-health-modal .ms-health-modal-section h4 {
  margin: 0 0 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ms-muted);
}
.ms-health-alert-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ms-health-alert-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: var(--ms-radius-sm);
  border: 1px solid var(--ms-border);
  background: rgba(0, 0, 0, 0.12);
  font-size: 12px;
}
.ms-health-alert-row.is-critical { border-color: rgba(239, 68, 68, 0.45); }
.ms-health-alert-row.is-warning { border-color: rgba(245, 158, 11, 0.4); }
.ms-health-modal-foot { font-size: 11px; color: var(--ms-muted); margin: 8px 0 0; }
.ms-health-player-detail {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ms-text);
}

.ms-warehouse-hints {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 12px 0;
}
.ms-warehouse-hints-prominent {
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin: 16px 0 14px;
}
.ms-warehouse-callout {
  padding: 14px 16px;
  border: 1px solid rgba(245, 166, 35, 0.5);
  border-left: 4px solid var(--ms-orange);
  border-radius: var(--ms-radius);
  background: linear-gradient(135deg, rgba(245, 166, 35, 0.18), rgba(26, 115, 232, 0.1));
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.ms-warehouse-callout-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.ms-warehouse-callout-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.ms-warehouse-hints-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ms-warehouse-latest {
  font-size: 11px;
  font-weight: 700;
  color: var(--ms-muted);
}
.ms-warehouse-latest strong {
  color: #ffe3a6;
  font-weight: 800;
}
.ms-warehouse-jump {
  flex: 0 0 auto;
  white-space: nowrap;
  border-color: rgba(245, 166, 35, 0.55) !important;
  background: rgba(245, 166, 35, 0.14) !important;
  color: #ffe3a6 !important;
  font-weight: 800;
}
.ms-warehouse-jump:hover {
  background: rgba(245, 166, 35, 0.28) !important;
  color: #fff4d6 !important;
}
.ms-warehouse-hints-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
  color: #ffe3a6;
  letter-spacing: 0.01em;
}
.ms-date-chip-current {
  border-color: rgba(41, 151, 255, 0.55) !important;
  background: rgba(41, 151, 255, 0.12) !important;
  color: #e8f4ff !important;
  font-weight: 700;
}

.ms-warehouse-hints-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ms-warehouse-hints-label { font-size: 11px; color: var(--ms-muted); }
.ms-date-chip {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--ms-blue);
  background: rgba(26, 115, 232, 0.12);
  color: var(--ms-blue);
  cursor: pointer;
}
.ms-date-chip-prominent {
  font-size: 13px;
  font-weight: 800;
  padding: 8px 14px;
  border-color: var(--ms-orange);
  background: rgba(245, 166, 35, 0.18);
  color: #ffe3a6;
  box-shadow: 0 0 0 1px rgba(245, 166, 35, 0.25);
}
.ms-date-chip-prominent:hover {
  background: rgba(245, 166, 35, 0.32);
  transform: translateY(-1px);
}
.ms-date-chip-latest {
  box-shadow: 0 0 0 2px rgba(245, 166, 35, 0.45);
}
.ms-date-chip:hover { background: rgba(26, 115, 232, 0.22); }
.ms-pool-meta.ms-pool-meta-stale {
  color: var(--ms-orange);
  font-weight: 800;
}
.ms-live-degraded {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(245, 166, 35, 0.45);
  border-left: 4px solid var(--ms-orange);
  border-radius: var(--ms-radius-sm);
  background: rgba(245, 166, 35, 0.1);
  color: #ffe3a6;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.ms-pool-empty-state { padding: 16px; text-align: center; }
.ms-pool-loading .ms-slate-rail-spinner { display: inline-block; margin-bottom: 10px; }

.ms-populating-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 140px;
  padding: 28px 16px;
  text-align: center;
}
.ms-populating-label {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--ms-text, #f5f5f7);
  letter-spacing: 0.01em;
}
.ms-populating-dots {
  display: inline-block;
  min-width: 2.5em;
  text-align: left;
}
.ms-populating-dots span {
  display: inline-block;
  animation: ms-populating-dot 1.1s ease-in-out infinite;
  opacity: 0.15;
}
.ms-populating-dots span:nth-child(1) { animation-delay: 0s; }
.ms-populating-dots span:nth-child(2) { animation-delay: 0.15s; }
.ms-populating-dots span:nth-child(3) { animation-delay: 0.3s; }
.ms-populating-dots span:nth-child(4) { animation-delay: 0.45s; }
.ms-populating-dots span:nth-child(5) { animation-delay: 0.6s; }
@keyframes ms-populating-dot {
  0%, 70%, 100% { opacity: 0.15; transform: translateY(0); }
  35% { opacity: 1; transform: translateY(-4px); }
}
.ms-populating-sub {
  margin: 10px 0 0;
  font-size: 0.82rem;
  color: var(--ms-muted, #8e8e93);
  max-width: 28rem;
}
.ms-pool-populating .ms-populating-state,
#ms-blast-board .ms-populating-state,
.ms-pool-boot-shell {
  min-height: 200px;
}
.ms-pool-boot-shell .ms-empty-cta {
  margin-top: 14px;
}
.ms-empty-cta { margin-top: 12px; }
.ms-pool-empty-sub { font-size: 11px; color: var(--ms-muted-2); margin: 8px 0 0; }
.ms-late-swap-panel .ms-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}
.ms-late-swap-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.ms-late-swap-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-late-swap-summary-stat strong { color: var(--ms-green); font-variant-numeric: tabular-nums; }
.ms-late-swap-summary-empty { color: var(--ms-muted-2); font-style: italic; }
.ms-late-swap-chk { width: 28px; text-align: center; }
.ms-late-swap-chk input { margin: 0; cursor: pointer; }
.ms-late-swap-table .ms-conf {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 6px;
  border-radius: 3px;
}
.ms-conf-high { background: rgba(231, 76, 60, 0.2); color: var(--ms-red); }
.ms-conf-med { background: rgba(245, 166, 35, 0.2); color: var(--ms-orange); }
.ms-conf-low { background: rgba(95, 186, 125, 0.15); color: var(--ms-green); }
.ms-pool-search {
  flex: 1 1 180px;
  min-width: 140px;
  padding: 7px 10px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
  color: var(--ms-text);
  font-size: 13px;
}
.ms-pool-search:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.35);
}
.ms-pool-select {
  padding: 7px 10px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
  color: var(--ms-text);
  font-size: 12px;
  font-weight: 600;
}
.ms-pool-count {
  font-size: 11px;
  font-weight: 600;
  color: var(--ms-muted);
  margin-left: auto;
}
.ms-pool-sort-mode {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.ms-pool-sort-mode-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--ms-muted);
  margin-right: 2px;
}
.ms-pool-sort-mode-btn.active {
  border-color: var(--ms-blue);
  color: var(--ms-blue-bright, #4a9eff);
}
.ms-pool-sort-mode-btn.armed,
.ms-pool-sort-level-btn.armed {
  border-color: #fbbf24;
  color: #fcd34d;
  box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.45), 0 0 12px rgba(251, 191, 36, 0.35);
  animation: ms-pool-sort-multiple-arm 1.1s ease-in-out infinite;
}
@keyframes ms-pool-sort-multiple-arm {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.72; transform: scale(1.04); }
}
.ms-sort-save-multiple:not(:disabled) {
  border-color: rgba(59, 130, 246, 0.55);
  color: var(--ms-blue-bright, #4a9eff);
}
.ms-sort-clear-multiples:not(:disabled) {
  color: var(--ms-brand);
  border-color: rgba(155, 213, 28, 0.45);
  font-size: 13px;
  font-weight: 700;
  gap: 6px;
}

.ms-sort-clear-multiples:not(:disabled) .fa-xmark {
  color: var(--ms-brand);
  font-size: 12px;
}
.ms-sort-preset-editor {
  max-width: min(520px, 96vw);
}
.ms-sort-preset-editor-name {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}
.ms-sort-preset-level-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ms-sort-preset-level {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 6px 8px;
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.2);
}
.ms-sort-preset-level-num {
  font-family: var(--ms-mono);
  font-size: 11px;
  font-weight: 700;
  color: #fcd34d;
  min-width: 1.5rem;
}
.ms-sort-preset-level-label {
  flex: 1;
  font-size: 12px;
  font-weight: 600;
}
.ms-sort-preset-editor-hint {
  font-size: 11px;
  color: var(--ms-muted);
  margin-top: 8px;
}
.ms-sort-preset-editor-actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
}
#ms-pool-show-more.active,
#ms-pool-show-more.ms-btn-primary {
  border-color: var(--ms-blue);
  color: var(--ms-blue-bright, #4a9eff);
}
.ms-pool-sort-stack {
  font-size: 10px;
  font-weight: 600;
  color: var(--ms-blue-bright, #4a9eff);
  font-family: var(--ms-mono);
  white-space: nowrap;
}
.ms-pool-sort-clear,
.ms-sort-preset-clear {
  color: var(--ms-muted);
  border-color: rgba(148, 163, 184, 0.28);
}
.ms-pool-sort-clear:hover:not(:disabled),
.ms-sort-preset-clear:hover:not(:disabled) {
  color: #fcd34d;
  border-color: rgba(251, 191, 36, 0.45);
}
.ms-pool-sort-arrow {
  display: inline-block;
  margin-left: 2px;
  font-size: 10px;
  line-height: 1;
  vertical-align: middle;
  color: var(--ms-muted, #94a3b8);
  transition: color 0.15s ease, transform 0.2s ease;
}
.ms-pool-sort-arrow-active {
  color: var(--ms-brand, #9bd51c);
  font-size: 15px;
  font-weight: 900;
  transform: scale(1.2);
  text-shadow: 0 0 10px rgba(155, 213, 28, 0.7);
  animation: ms-pool-sort-arrow-grow 1.8s ease-in-out infinite;
}
.ms-roster-badge-logo { display: inline-flex; align-items: center; justify-content: center; padding: 1px; }
@keyframes ms-pool-sort-arrow-grow {
  0%, 100% { transform: scale(1.15); }
  50% { transform: scale(1.42); }
}
.ms-pool-sort-pri {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  margin-left: 3px;
  padding: 0 4px;
  border-radius: 4px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--ms-blue-bright, #4a9eff);
  background: rgba(59, 130, 246, 0.14);
  font-family: var(--ms-mono);
  vertical-align: middle;
}
.ms-pool-sort-pri-primary {
  color: #fcd34d;
  background: rgba(251, 191, 36, 0.16);
  box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.28);
}
.ms-pool-sort-pri .ms-pool-sort-arrow-active {
  margin-left: 0;
}
.ms-pool-table th.ms-pool-pos-col {
  cursor: default;
  color: var(--ms-text-muted, #94a3b8);
}
.ms-sort-presets {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.ms-sort-preset-select {
  min-width: 148px;
  max-width: 200px;
}
.ms-blast-board-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}
.ms-blast-table-scroll {
  max-height: min(68vh, 720px);
}
.ms-pool-table-scroll .ms-headshot,
.ms-blast-table-scroll .ms-headshot {
  content-visibility: auto;
}
.ms-blast-table .ms-blast-row-actions {
  white-space: nowrap;
}
.ms-blast-table th[data-blast-sort] {
  cursor: pointer;
  user-select: none;
}
.ms-blast-table th[data-blast-sort]:hover {
  color: var(--ms-text);
}
.ms-pool-table th[data-pool-sort],
.ms-blast-table th[data-blast-sort] {
  cursor: pointer;
  user-select: none;
}
.ms-pool-table th[data-pool-sort]:hover,
.ms-blast-table th[data-blast-sort]:hover {
  color: var(--ms-text);
}
.ms-pool-table th[data-pool-sort] .ms-th-label-row,
.ms-blast-table th[data-blast-sort] .ms-th-label-row {
  cursor: pointer;
}
.ms-pool-num {
  font-family: var(--ms-mono);
  font-size: 12px;
  text-align: right;
  white-space: nowrap;
}
.ms-pool-proj { color: var(--ms-blue-bright, #4a9eff); font-weight: 600; }
.ms-pool-signal {
  font-family: var(--ms-mono);
  font-size: 11px;
  text-align: right;
  white-space: nowrap;
  color: var(--ms-blue-bright, #4a9eff);
}
.ms-pool-dkid {
  font-family: var(--ms-mono);
  font-size: 10px;
  color: var(--ms-muted);
  white-space: nowrap;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
}
.ms-pool-opp {
  font-size: 10px;
  color: var(--ms-muted);
  margin-left: 4px;
}
.ms-rewind-panel .ms-panel-title { margin-bottom: 8px; }
.ms-exposure-over td { background: rgba(245, 166, 35, 0.08) !important; }
.ms-exposure-table .ms-tier-bar { height: 6px; }

.ms-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ms-pool-tier-chips,
.ms-pool-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.ms-pool-tier-chips {
  padding: 4px;
  border-radius: var(--ms-radius-sm);
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid var(--ms-border);
  gap: 6px;
}
.ms-pool-tier-chip.active {
  border-color: var(--ms-blue);
  color: var(--ms-blue-bright, #4a9eff);
  background: rgba(59, 130, 246, 0.14);
}
.ms-pool-chip {
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
  color: var(--ms-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  box-sizing: border-box;
}
.ms-pool-chip.active,
.ms-pool-chip:hover {
  border-color: var(--ms-blue);
  color: var(--ms-text);
  background: rgba(26, 115, 232, 0.12);
}
.ms-pool-chip[data-pool-mode="core"].active {
  border-color: var(--ms-muted);
  background: rgba(148, 163, 184, 0.14);
}
.ms-pool-chip[data-pool-mode="leverage"].active {
  border-color: var(--ms-blue);
  background: rgba(10, 132, 255, 0.15);
}
.ms-pool-chip[data-pool-mode="contrarian"].active {
  border-color: var(--ms-purple);
  background: rgba(191, 90, 242, 0.15);
}
.ms-pool-chip[data-pool-mode="correlated"].active {
  border-color: var(--ms-orange);
  background: rgba(255, 159, 10, 0.15);
}
.ms-pool-act-col,
.ms-pool-act-h {
  text-align: center;
  vertical-align: middle;
  padding: 4px 2px !important;
  white-space: nowrap;
}
.ms-pool-act-h {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.ms-pool-act-col .ms-pool-act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 22px;
  position: relative;
  z-index: 12;
  pointer-events: auto;
  touch-action: manipulation;
}
.ms-pool-act-col,
.ms-pool-act-h {
  pointer-events: auto;
}
.ms-pool-act {
  border: none;
  background: transparent;
  color: var(--ms-muted-2);
  font-size: 12px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  opacity: 0.65;
  pointer-events: auto;
}
.ms-pool-act.on { opacity: 1; color: var(--ms-blue); }
.ms-pool-act[data-pool-exclude].on { color: var(--ms-orange); }
.ms-pool-lock-btn:not(.on) { opacity: 0.8; color: var(--ms-gold, #d4a853); }
.ms-pool-lock-btn:not(.on) i.fa-lock-open { color: var(--ms-gold, #d4a853); }
.ms-pool-lock-btn.on { opacity: 1; color: var(--ms-blue); }
.ms-pool-lock-btn.on i.fa-lock { color: var(--ms-blue); }
.ms-pool-row.ms-pool-locked .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 var(--ms-blue), inset 0 0 0 9999px var(--ms-panel);
}
.ms-pool-row.ms-pool-locked:nth-child(even) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 var(--ms-blue), inset 0 0 0 9999px #151920;
}
.ms-pool-row.ms-pool-excluded { opacity: 0.35; }
.ms-pool-row.ms-pool-team-build-off {
  opacity: 0.42;
  filter: grayscale(0.72);
}
.ms-pool-row.ms-pool-team-build-off .ms-pool-team-abbr,
.ms-pool-row.ms-pool-team-build-off .ms-pool-player-name,
.ms-pool-row.ms-pool-team-build-off .ms-pool-status,
.ms-pool-row.ms-pool-team-build-off .ms-pool-tier {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
.ms-pool-row.ms-pool-team-build-off .ms-pool-sticky-team,
.ms-pool-row.ms-pool-team-build-off .ms-pool-sticky-name,
.ms-pool-row.ms-pool-team-build-off .ms-pool-sticky-pos,
.ms-pool-row.ms-pool-team-build-off .ms-pool-sticky-sal {
  background: rgba(15, 23, 42, 0.88);
}
.ms-pool-play.ms-play-weather-off {
  border-color: rgba(248, 113, 113, 0.62);
  background: rgba(127, 29, 29, 0.36);
  color: #fecaca;
}
.ms-metric-val.ms-metric-loading {
  color: var(--ms-muted-2);
  animation: ms-pulse 1.2s ease-in-out infinite;
}

/* Controls */
.ms-controls { display: flex; flex-direction: column; gap: 12px; }
.ms-field label {
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  color: var(--ms-muted);
  margin-bottom: 4px;
}
.ms-field input[type="range"] { width: 100%; accent-color: var(--ms-blue); }
.ms-risk-slider-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ms-risk-slider-row input[type="range"] {
  flex: 1;
  min-width: 0;
}
.ms-randomness-meter {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  min-width: 88px;
}
.ms-randomness-meter-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  width: 88px;
}
.ms-randomness-meter-seg {
  height: 4px;
  border-radius: 2px;
  background: var(--ms-border-soft);
  opacity: 0.45;
  transition: opacity 0.15s ease, background 0.15s ease;
}
.ms-randomness-meter-seg.active { opacity: 1; }
.ms-randomness-meter-seg[data-tier="tight"].active { background: #4ade80; }
.ms-randomness-meter-seg[data-tier="balanced"].active { background: var(--ms-blue); }
.ms-randomness-meter-seg[data-tier="chalky"].active { background: #a78bfa; }
.ms-randomness-meter-seg[data-tier="wild"].active { background: #f97316; }
.ms-randomness-meter-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ms-muted);
  font-family: var(--ms-mono);
}
.ms-randomness-meter--capped .ms-randomness-meter-label {
  color: var(--ms-amber, #f5a623);
}
.ms-randomness-meter--capped .ms-randomness-meter-seg {
  opacity: 0.3;
}
.ms-randomness-meter--capped .ms-randomness-meter-seg[data-tier="tight"] {
  opacity: 1;
  background: var(--ms-amber, #f5a623);
}
.ms-field select, .ms-field input[type="number"] {
  width: 100%;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  color: var(--ms-text);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 0.85rem;
}
.ms-contest-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.ms-pill {
  padding: 7px 12px;
  border-radius: var(--ms-radius-sm);
  border: none;
  background: var(--ms-panel-2);
  color: var(--ms-muted);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.ms-pill.active { color: var(--ms-text); background: var(--ms-panel-3); }

/* Skill cards */
.ms-skills { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (max-width: 600px) { .ms-skills { grid-template-columns: 1fr; } }
.ms-skill-card {
  padding: 12px;
  border-radius: 10px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  cursor: default;
}
.ms-skill-card.done { border-color: rgba(16, 185, 129, 0.5); }
.ms-skill-card.running {
  background: rgba(10, 132, 255, 0.12);
}
@keyframes ms-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}
.ms-skill-card h4 { margin: 0 0 4px; font-size: 0.82rem; }
.ms-skill-card p { margin: 0; font-size: 0.72rem; color: var(--ms-muted); line-height: 1.4; }
.ms-skill-admin {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--ms-border);
  font-size: 0.68rem;
  color: #a5b4fc;
  display: none;
}
.ms-admin .ms-skill-admin { display: block; }

/* Heatmap */
.ms-heatmap { display: flex; flex-wrap: wrap; gap: 6px; max-height: 280px; overflow-y: auto; }
.ms-heat-empty {
  margin: 0;
  font-size: 0.75rem;
  color: var(--ms-muted);
  line-height: 1.45;
}
.ms-heat-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: 0.12s;
  text-align: left;
}
.ms-heat-chip-logo { display: inline-flex; flex-shrink: 0; }
.ms-heat-chip-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.ms-heat-chip-name {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}
.ms-heat-chip-metric {
  font-size: 0.68rem;
  font-weight: 700;
  opacity: 0.92;
}
.ms-heat-chip-metric-sub {
  font-weight: 500;
  opacity: 0.65;
}
.ms-heat-chip-metric-out {
  color: #fca5a5;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.ms-heat-ghost-head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 10px 0 6px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fca5a5;
}
.ms-heatmap-ghost { margin-bottom: 4px; }
.ms-heat-chip-wrap-out { opacity: 0.72; }
.ms-heat-out {
  background: rgba(239, 68, 68, 0.14);
  border-color: rgba(248, 113, 113, 0.55);
  color: #fecaca;
}
.ms-heat-out .ms-heat-chip-name { text-decoration: line-through; text-decoration-color: rgba(248, 113, 113, 0.7); }
.ms-heat-chip:hover { transform: scale(1.03); }
.ms-heat-high { background: rgba(249, 115, 22, 0.2); border-color: var(--ms-orange); color: #fdba74; }
.ms-heat-mid { background: rgba(59, 130, 246, 0.15); border-color: var(--ms-blue); color: #93c5fd; }
.ms-heat-low { background: rgba(148, 163, 184, 0.1); border-color: var(--ms-border); color: var(--ms-muted); }
.ms-heat-chip-wrap {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  border-radius: 8px;
}
.ms-heat-chip-wrap.ms-pool-locked .ms-heat-chip { box-shadow: 0 0 0 1px var(--ms-green); }
.ms-heat-chip-wrap.ms-pool-excluded { opacity: 0.45; }
.ms-heat-actions {
  display: inline-flex;
  gap: 1px;
  opacity: 0;
  transition: opacity 0.12s;
}
.ms-heat-chip-wrap:hover .ms-heat-actions { opacity: 1; }
.ms-heat-actions .ms-pool-act {
  padding: 2px 5px;
  font-size: 10px;
  border-radius: 4px;
}

/* Late swap mini (Build tab) */
.ms-late-swap-mini { font-size: 12px; }
.ms-late-swap-mini-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.ms-late-swap-mini-list { display: grid; gap: 6px; }
.ms-late-swap-mini-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  font-size: 11px;
}
.ms-late-swap-mini-out { font-weight: 600; color: var(--ms-text); }
.ms-late-swap-mini-ev { color: var(--ms-green); font-variant-numeric: tabular-nums; }
.ms-link-sm {
  font-size: 11px;
  color: var(--ms-blue);
  text-decoration: none;
  margin-left: auto;
}
.ms-link-sm:hover { text-decoration: underline; }

/* Tiers */
.ms-tiers { display: grid; gap: 8px; }
.ms-tier {
  display: grid;
  grid-template-columns: 100px 1fr 48px;
  align-items: center;
  gap: 10px;
  font-size: 0.78rem;
}
.ms-tier-bar {
  height: 8px;
  border-radius: 4px;
  background: var(--ms-panel-2);
  overflow: hidden;
}
.ms-tier-fill { height: 100%; border-radius: 4px; transition: width 0.4s ease; }
.ms-tier-core .ms-tier-fill { background: var(--ms-blue); }
.ms-tier-lev .ms-tier-fill { background: var(--ms-orange); }
.ms-tier-corr .ms-tier-fill { background: var(--ms-green); }
.ms-tier-cont .ms-tier-fill { background: var(--ms-purple); }

/* Ownership Battle — one row per player; names never wrap */
.ms-own-battle-wrap {
  margin-top: 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.ms-own-battle-table {
  table-layout: auto;
  width: max-content;
  min-width: 100%;
}
.ms-own-battle-table th,
.ms-own-battle-table td {
  white-space: nowrap;
  vertical-align: middle;
}
.ms-own-battle-team-col { width: 3.5rem; text-align: center; }
.ms-own-battle-team { text-align: center; vertical-align: middle; }
.ms-own-battle-name-col { width: auto; }
.ms-own-battle-name {
  font-weight: 500;
  white-space: nowrap;
}
.ms-own-battle-name-inner {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
}
.ms-own-battle-name-inner .ms-team-logo,
.ms-own-battle-name-inner .ms-logo-fallback {
  flex-shrink: 0;
}
.ms-own-battle-score {
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ms-own-battle-score.is-final {
  font-weight: 600;
  color: var(--ms-text);
}
.ms-own-battle-score.is-live {
  color: var(--ms-green);
  font-weight: 600;
}
.ms-own-battle-score-line {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ms-own-battle-score-line .ms-team-logo,
.ms-own-battle-score-line .ms-logo-fallback {
  flex-shrink: 0;
}
.ms-own-battle-score-num {
  min-width: 1ch;
  text-align: center;
}
.ms-own-battle-score-sep {
  color: var(--ms-muted);
  padding: 0 1px;
}
.ms-own-battle-row { white-space: nowrap; }
.ms-own-battle-pct {
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.ms-own-battle-public { color: var(--ms-muted); }
.ms-own-battle-la { color: var(--ms-blue); font-weight: 600; }
.ms-own-battle-tier {
  font-size: 0.78rem;
  font-weight: 600;
}
.ms-own-battle-tier.is-leverage { color: var(--ms-green); }
.ms-own-battle-tier.is-core { color: var(--ms-muted); }

/* Tables */
.ms-table-wrap { overflow-x: auto; border-radius: var(--ms-radius-sm); background: var(--ms-panel-2); }
.ms-table-wrap .ms-table,
.ms-table-wrap > .ms-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.ms-table.ms-pool-table,
.ms-table.ms-own-battle-table,
.ms-table.ms-pool-live-table {
  width: max-content;
  min-width: max-content;
}
.ms-table {
  border-collapse: collapse;
  font-size: 13px;
}
.ms-table th {
  text-align: left;
  padding: 10px 12px;
  background: transparent;
  color: var(--ms-muted);
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  border-bottom: 0.5px solid var(--ms-border-soft);
}
.ms-table td { padding: 10px 12px; border-bottom: 0.5px solid var(--ms-border-soft); vertical-align: middle; }
.ms-table tr:hover td { background: rgba(255, 255, 255, 0.03); }
.ms-table tr.ms-glow-row td {
  background: rgba(249, 115, 22, 0.08);
  box-shadow: inset 0 0 20px rgba(249, 115, 22, 0.12);
}
.ms-table tr.ms-blast-hit td {
  animation: ms-blast 0.8s ease;
}
@keyframes ms-blast {
  0% { background: rgba(16, 185, 129, 0.45); }
  100% { background: rgba(16, 185, 129, 0.08); }
}

.ms-player-cell { display: flex; align-items: center; gap: 10px; flex-wrap: nowrap; white-space: nowrap; min-width: 0; }
.ms-player-cell > div { min-width: min-content; flex: 1 1 auto; }
.ms-pool-table .ms-player-cell > .ms-pool-player-copy {
  min-width: min-content;
  flex: 0 1 auto;
  overflow: visible;
}
.ms-headshot-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  border-radius: 50%;
  line-height: 0;
}
.ms-headshot-btn:focus-visible {
  outline: 2px solid var(--ms-blue);
  outline-offset: 2px;
}
.ms-headshot {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--ms-panel-2);
  object-fit: cover;
  border: 2px solid var(--ms-border);
  flex-shrink: 0;
}
.ms-headshot-fallback {
  display: inline-grid;
  place-items: center;
  color: var(--ms-muted);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ms-headshot-brand {
  object-fit: cover;
  background: transparent;
  border: 2px solid rgba(224, 64, 251, 0.45);
  box-shadow: 0 0 10px rgba(192, 38, 211, 0.28);
  padding: 0;
}
.ms-pcard-headshot.ms-headshot-brand {
  border-radius: 50%;
}
.ms-pool-player-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  min-width: 0;
}
.ms-prob {
  font-size: 1.1rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.ms-prob.high { color: var(--ms-orange); text-shadow: 0 0 12px rgba(249,115,22,0.4); }
.ms-prob.mid { color: var(--ms-blue); }
.ms-conf {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
}
.ms-conf-high { background: rgba(16,185,129,0.2); color: var(--ms-green); }
.ms-conf-med { background: rgba(59,130,246,0.2); color: #93c5fd; }
.ms-conf-low { background: rgba(148,163,184,0.15); color: var(--ms-muted); }

.ms-team-logo, .ms-logo-fallback {
  border-radius: 4px;
  flex-shrink: 0;
}
.ms-logo-fallback {
  display: inline-grid;
  place-items: center;
  background: var(--ms-panel-2);
  font-size: 0.6rem;
  font-weight: 800;
  color: var(--ms-muted);
}

/* Live feed */
.ms-live-feed { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; }
.ms-live-feed-order {
  font-size: 0.68rem;
  color: var(--ms-muted);
  margin: 0 0 4px;
  letter-spacing: 0.02em;
}
.ms-hr-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.ms-hr-game-line {
  font-size: 0.74rem;
  color: #93c5fd;
  margin-top: 4px;
  font-weight: 500;
}
.ms-hr-card {
  padding: 12px;
  border-radius: 10px;
  border: 1px solid var(--ms-border);
  background: linear-gradient(135deg, var(--ms-panel-2), var(--ms-panel));
  animation: ms-slide-in 0.35s ease;
}
button.ms-hr-card {
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
button.ms-hr-card:hover {
  border-color: var(--ms-blue);
  background: rgba(26, 115, 232, 0.08);
}
@keyframes ms-slide-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
.ms-hr-card.predicted { border-color: var(--ms-green); box-shadow: 0 0 20px rgba(16,185,129,0.25); }
.ms-hr-meta { display: flex; gap: 12px; flex-wrap: wrap; font-size: 0.72rem; color: var(--ms-muted); margin-top: 6px; }
.ms-hr-counter {
  font-size: 2rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  color: var(--ms-green);
  line-height: 1;
}

/* BlastCast spray chart */
.ms-spray {
  position: relative;
  width: 100%;
  aspect-ratio: 1.2;
  background: radial-gradient(ellipse at center, #1a3a2a 0%, var(--ms-panel-2) 70%);
  border-radius: 10px;
  border: 1px solid var(--ms-border);
  overflow: hidden;
}
.ms-spray-zone {
  position: absolute;
  border-radius: 50%;
  opacity: 0.55;
  transition: opacity 0.2s, transform 0.2s;
}
.ms-spray-zone:hover { opacity: 0.85; transform: scale(1.05); }

/* Add-ons grid */
.ms-addons { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.ms-addon {
  padding: 14px;
  border-radius: 10px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  cursor: pointer;
  transition: 0.15s;
  position: relative;
}
.ms-addon:hover { border-color: var(--ms-blue); transform: translateY(-2px); }
.ms-addon-done { border-color: rgba(16, 185, 129, 0.35); }
.ms-addon-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.ms-addon h4 { margin: 0 0 4px; font-size: 0.85rem; flex: 1; }
.ms-addon p { margin: 0; font-size: 0.72rem; color: var(--ms-muted); }
.ms-addon-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.18);
  color: var(--ms-green);
  font-size: 0.72rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ms-addon-pending {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid var(--ms-border);
  color: var(--ms-muted);
  font-size: 0.62rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ms-addon .ms-addon-tag {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ms-green);
}

/* Buttons */
.ms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: var(--ms-panel-2);
  border: none;
  color: var(--ms-text);
  padding: 8px 14px;
  border-radius: 980px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, opacity 0.15s ease;
  text-decoration: none;
}
.ms-btn:hover { background: var(--ms-panel-3); color: var(--ms-text); }
.ms-btn-primary {
  background: var(--ms-blue);
  color: #fff;
  border-radius: var(--ms-radius-sm);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.ms-btn-primary:hover { filter: brightness(1.06); background: var(--ms-blue); }
.ms-btn-sm { padding: 6px 12px; font-size: 13px; }

#ms-modal-portal {
  position: fixed;
  inset: 0;
  z-index: var(--ms-z-modal);
  pointer-events: none;
  isolation: isolate;
}
#ms-modal-portal > * {
  pointer-events: auto;
}

/* Why modal */
.ms-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.65);
  z-index: var(--ms-z-modal) !important;
  display: grid;
  place-items: center;
  padding: 20px;
}
.ms-modal {
  width: min(520px, 100%);
  max-height: 80vh;
  overflow-y: auto;
  background: var(--ms-panel);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
  padding: 20px;
}
.ms-modal h3 { margin: 0 0 10px; }
.ms-modal p { margin: 0 0 10px; color: var(--ms-muted); font-size: 0.85rem; }

.ms-confirm-backdrop {
  background: rgba(6, 10, 18, 0.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.16s ease;
}
.ms-confirm-backdrop.ms-confirm-backdrop-in {
  opacity: 1;
}
.ms-confirm-backdrop.ms-confirm-backdrop-out {
  opacity: 0;
}
.ms-confirm-dialog {
  position: relative;
  width: min(440px, calc(100vw - 32px));
  padding: 0;
  overflow: hidden;
  border-radius: var(--ms-radius-lg);
  border: 1px solid var(--ms-border);
  box-shadow: var(--ms-shadow-elevated);
  transform: translateY(8px) scale(0.98);
  transition: transform 0.16s ease, opacity 0.16s ease;
}
.ms-confirm-backdrop-in .ms-confirm-dialog {
  transform: translateY(0) scale(1);
}
.ms-confirm-backdrop-out .ms-confirm-dialog {
  transform: translateY(6px) scale(0.98);
  opacity: 0.92;
}
.ms-confirm-dialog-accent {
  height: 3px;
  background: linear-gradient(90deg, var(--ms-blue) 0%, #4eb3ff 55%, var(--ms-brand) 100%);
}
.ms-confirm-dialog--danger .ms-confirm-dialog-accent {
  background: linear-gradient(90deg, #c2410c 0%, var(--ms-orange) 55%, #fbbf24 100%);
}
.ms-confirm-dialog-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px 20px 8px;
}
.ms-confirm-dialog-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(26, 115, 232, 0.14);
  border: 1px solid rgba(78, 179, 255, 0.28);
  color: #7ec8ff;
  font-size: 1rem;
}
.ms-confirm-dialog--danger .ms-confirm-dialog-icon {
  background: rgba(231, 76, 60, 0.12);
  border-color: rgba(245, 166, 35, 0.35);
  color: #fbbf24;
}
.ms-confirm-dialog-copy {
  min-width: 0;
  flex: 1;
}
.ms-confirm-dialog-copy h3 {
  margin: 0 0 6px;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ms-text);
}
.ms-confirm-dialog-body {
  margin: 0;
  color: var(--ms-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}
.ms-confirm-dialog-body p {
  margin: 0;
}
.ms-confirm-dialog-foot {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  padding: 14px 20px 18px;
  border-top: 1px solid var(--ms-border-soft);
  background: rgba(0, 0, 0, 0.12);
}
.ms-btn-secondary {
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  color: var(--ms-text);
}
.ms-btn-secondary:hover {
  background: var(--ms-panel-3);
  border-color: var(--ms-muted-2);
}
.ms-btn-danger {
  background: linear-gradient(180deg, #e74c3c 0%, #c0392b 100%);
  border: 1px solid rgba(231, 76, 60, 0.55);
  color: #fff;
  font-weight: 600;
}
.ms-btn-danger:hover {
  filter: brightness(1.06);
}

/* Gate overlay — must not cover workspace chrome (date + slate rail stay tappable) */
.ms-gate {
  position: fixed;
  inset: 0;
  z-index: var(--ms-z-modal) !important;
  background: rgba(15, 23, 42, 0.92);
  display: grid;
  place-items: center;
  padding: 24px;
  pointer-events: none;
}
.ms-gate-card {
  max-width: 400px;
  text-align: center;
  padding: 32px 28px;
  border-radius: var(--ms-radius-lg);
  background: var(--ms-panel);
  box-shadow: var(--ms-shadow-elevated);
  pointer-events: auto;
}
.ms-gate-icon {
  width: 48px; height: 48px;
  margin: 0 auto 16px;
  border-radius: 12px;
  background: var(--ms-panel-2);
  display: grid; place-items: center;
  font-size: 20px; color: var(--ms-blue);
}
.ms-gate-card h2 {
  margin: 0 0 8px;
  font-family: var(--ms-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.ms-gate-card p { color: var(--ms-muted); margin: 0 0 24px; line-height: 1.55; }
.ms-gate-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.ms-gate-card button,
.ms-gate-card a,
.ms-topnav button,
.ms-nav button,
.ms-btn,
.ms-pro-btn,
.ms-date-step,
.ms-pill {
  cursor: pointer;
  pointer-events: auto;
}

/* Status */
.ms-status {
  padding: 10px 14px;
  border-radius: var(--ms-radius-sm);
  font-size: 13px;
  margin-bottom: 12px;
  background: var(--ms-panel-2);
}
.ms-status-info { color: var(--ms-blue); }
.ms-status-warn { color: var(--ms-orange); }
.ms-status-ok { color: var(--ms-green); }

#ms-status.ms-status {
  cursor: pointer;
  border-left: 4px solid transparent;
  transition: border-color 0.15s ease, opacity 0.15s ease;
  user-select: none;
}
#ms-status.ms-status-ok {
  border-left-color: var(--ms-green);
}
#ms-status.ms-status-copied {
  opacity: 0.85;
}

.ms-hidden { display: none !important; }
.ms-tab-panel { display: none; }
.ms-tab-panel.active { display: block; }

/* Skeleton */
.ms-skeleton {
  background: linear-gradient(90deg, var(--ms-panel-2) 25%, #2a3a52 50%, var(--ms-panel-2) 75%);
  background-size: 200% 100%;
  animation: ms-shimmer 1.2s infinite;
  border-radius: 6px;
  height: 14px;
}
.ms-premium .ms-skeleton {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.04) 0%,
    rgba(255, 255, 255, 0.12) 45%,
    rgba(255, 255, 255, 0.04) 100%
  );
  background-size: 220% 100%;
}
.ms-build-skeleton {
  width: 100%;
}
.ms-build-skeleton-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.ms-build-skeleton-stat {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 72px;
}
.ms-build-skeleton-stat .ms-skeleton:first-child {
  height: 18px;
  width: 48px;
}
.ms-build-skeleton-stat .ms-skeleton:last-child {
  height: 10px;
  width: 56px;
}
.ms-build-skeleton-hint {
  flex: 1 1 100%;
  margin: 4px 0 0;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-build-skeleton-list {
  padding: 8px 0;
}
.ms-build-skeleton-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.ms-skeleton-check { width: 18px; flex: 0 0 18px; }
.ms-skeleton-name { flex: 2 1 120px; height: 12px; }
.ms-skeleton-num { flex: 1 1 56px; height: 12px; }
@keyframes ms-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.ms-why-btn {
  background: none;
  border: 1px solid var(--ms-border);
  color: var(--ms-muted);
  font-size: 0.68rem;
  padding: 2px 8px;
  border-radius: 4px;
  cursor: pointer;
}
.ms-why-btn:hover { color: var(--ms-blue); border-color: var(--ms-blue); }

.ms-lineup-card {
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  padding: 10px;
  margin-bottom: 8px;
  font-size: 0.75rem;
}
.ms-lineup-card header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
  color: var(--ms-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Legacy quick stats (alias to metrics) */
.ms-quick-stats { display: none; }
.ms-stats-premium { display: none; }
.ms-stat { display: flex; flex-direction: column; gap: 2px; }
.ms-stat-val,
.ms-metric-val {
  font-family: var(--ms-display);
  font-size: 22px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.ms-stat-val-sm { font-size: 13px; font-weight: 500; color: var(--ms-muted); }
.ms-stat-label,
.ms-metric-label { font-size: 11px; font-weight: 500; color: var(--ms-muted); }
.ms-stat-fresh.ms-stale,
.ms-metric-fresh.ms-stale { color: var(--ms-orange); }

/* VIP / Admin view switcher */
.ms-view-switch {
  display: flex;
  padding: 2px;
  border-radius: 10px;
  background: var(--ms-panel-2);
}
.ms-view-switch button {
  background: transparent;
  border: none;
  color: var(--ms-muted);
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.15s ease;
}
.ms-view-switch button.active {
  background: var(--ms-panel-3);
  color: var(--ms-text);
  box-shadow: none;
}
.ms-agent-switch {
  display: flex;
  gap: 4px;
  align-items: center;
}
.ms-agent-btn {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 8px;
}
#ms-agent[hidden] {
  display: none !important;
}
.ms-admin-only { display: none; }
.ms-admin .ms-admin-only { display: flex; }
.ms-admin-col { display: none; }
.ms-admin-view .ms-admin-col,
.ms-admin .ms-admin-col { display: table-cell; }
.ms-admin-col,
.ms-alert-admin,
.ms-edge-admin { display: none; }
.ms-admin-view .ms-alert-admin,
.ms-admin-view .ms-edge-admin,
.ms-admin .ms-alert-admin,
.ms-admin .ms-edge-admin { display: block; font-size: 0.68rem; color: #a5b4fc; margin-top: 4px; }

/* Interactive spray chart */
.ms-spray-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.ms-spray-select {
  flex: 1;
  min-width: 160px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  color: var(--ms-text);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 0.78rem;
}
.ms-spray-toggle { font-size: 0.72rem; color: var(--ms-muted); display: flex; align-items: center; gap: 6px; cursor: pointer; }
.ms-spray-svg-wrap { position: relative; border-radius: 10px; border: 1px solid var(--ms-border); overflow: hidden; }
.ms-spray-svg { width: 100%; height: auto; display: block; }
.ms-zone { cursor: pointer; outline: none; }
.ms-zone:focus .ms-zone-fill { opacity: 1; }
.ms-spray-anim .ms-zone-fill { animation: ms-zone-pulse 2.4s ease-in-out infinite; }
.ms-spray-anim [data-zone="center"] .ms-zone-fill { animation-delay: 0.4s; }
.ms-spray-anim [data-zone="oppo"] .ms-zone-fill { animation-delay: 0.8s; }
@keyframes ms-zone-pulse {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 0.95; }
}
.ms-spray-detail {
  padding: 10px 12px;
  background: var(--ms-panel-2);
  border-top: 1px solid var(--ms-border);
  font-size: 0.78rem;
}
.ms-spray-zones-bar {
  display: flex;
  height: 6px;
  border-radius: 3px;
  overflow: hidden;
  margin-top: 8px;
}
.ms-spray-zones-bar span { display: block; height: 100%; }
.ms-spray-hint { font-size: 0.72rem; color: var(--ms-muted); margin: 8px 0 0; }

.ms-row-selected td { background: rgba(59, 130, 246, 0.12) !important; }
.ms-blast-board-filters {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.ms-blast-team-filter-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  color: var(--ms-muted);
}
.ms-blast-team-count {
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-blast-board-hint {
  font-size: 0.72rem;
  color: var(--ms-muted);
  margin: 0 0 8px;
}
.ms-blast-table th.ms-blast-sort-th {
  cursor: pointer;
  user-select: none;
}
.ms-blast-table th.ms-blast-sort-th:hover {
  color: var(--ms-text);
}
.ms-blast-row-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  white-space: nowrap;
}
.ms-blast-lock.on {
  background: rgba(59, 130, 246, 0.22);
  border-color: rgba(59, 130, 246, 0.45);
}
.ms-blast-table tr.ms-blast-locked td {
  box-shadow: inset 3px 0 0 var(--ms-blue);
}
.ms-blast-spray-placeholder {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 4px 0;
}
.ms-blast-spray-preview {
  border: 1px solid var(--ms-border);
  border-radius: 10px;
  background: var(--ms-panel-2);
  padding: 12px;
}
.ms-blast-spray-preview-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.ms-blast-spray-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.ms-blast-spray-team {
  display: block;
  color: var(--ms-muted);
  font-size: 0.72rem;
  margin-top: 2px;
}
.ms-blast-zone-labels {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.68rem;
  color: var(--ms-muted);
  margin-top: 8px;
}
.ms-blast-spray-ghost-svg {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 10px;
  border-radius: 8px;
  border: 1px dashed rgba(148, 163, 184, 0.25);
}
.ms-blast-spray-svg {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 10px;
  border-radius: 8px;
  border: 1px solid rgba(45, 106, 62, 0.55);
  background: #142218;
}
.ms-blast-spray-dot {
  cursor: pointer;
  transition: opacity 0.15s ease, stroke 0.15s ease, stroke-width 0.15s ease;
}
.ms-blast-spray-dot:hover {
  opacity: 1;
  stroke: rgba(255, 255, 255, 0.85);
  stroke-width: 1.5;
}
.ms-blast-spray-legend {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 8px;
  font-size: 0.68rem;
  color: var(--ms-muted);
}
.ms-blast-spray-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ms-blast-spray-legend-swatch {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}
.ms-blast-spray-legend-pull { background: var(--ms-orange); }
.ms-blast-spray-legend-center { background: var(--ms-blue); }
.ms-blast-spray-legend-oppo { background: var(--ms-green); }
.ms-blast-spray-empty,
.ms-blast-spray-cta-copy {
  font-size: 0.78rem;
  color: var(--ms-muted);
  margin: 0;
}
.ms-blast-v2-cta {
  align-self: flex-start;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ms-blastcast-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
}
.ms-blastcast-stats { display: flex; gap: 24px; text-align: center; }
.ms-blastcast-actions { display: flex; gap: 8px; }
.ms-stale .ms-stat-val-sm { color: var(--ms-orange); }
.ms-legal-inline { font-size: 0.68rem; color: var(--ms-muted); margin: 6px 0 0; }
.ms-legal-inline a { color: var(--ms-blue); }

.ms-alert-card.ms-alert-hot { border-color: var(--ms-orange); box-shadow: 0 0 16px rgba(249, 115, 22, 0.2); }
.ms-alert-head { display: flex; justify-content: space-between; align-items: center; }
.ms-alert-badge {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(249, 115, 22, 0.2);
  color: var(--ms-orange);
}
.ms-alert-why { margin: 4px 0 0; font-size: 0.72rem; color: var(--ms-muted); }
.ms-alert-head-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ms-alert-date {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #bfdbfe;
}
.ms-alert-panel-meta { margin-bottom: 8px; }
.ms-alert-outcomes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 8px 0 6px;
  padding: 6px 8px;
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.12);
}
.ms-alert-outcome {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
}
.ms-alert-outcome-label {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-alert-table { font-size: 0.78rem; }
.ms-alert-table-row.ms-alert-hot td { background: rgba(249, 115, 22, 0.06); }
.ms-alert-table .ms-alert-player-cell strong { display: block; }
.ms-alert-table .ms-alert-date {
  display: block;
  font-size: 0.62rem;
  color: var(--ms-muted);
  margin-top: 2px;
}
.ms-alert-badge-inline {
  display: inline-block;
  margin-top: 4px;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(249, 115, 22, 0.2);
  color: #fdba74;
}
.ms-alert-matchup .ms-alert-why { margin: 0; font-size: 0.72rem; }
.ms-alert-matchup .ms-alert-admin { margin: 4px 0 0; font-size: 0.66rem; }
.ms-alert-live-hr .ms-hr-symbol { margin-right: 4px; color: var(--ms-green); }
.ms-alert-action { white-space: nowrap; width: 1%; }

.ms-situation-preset-admin {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(129, 140, 248, 0.35);
  background: rgba(30, 27, 75, 0.45);
}
.ms-situation-preset-admin-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 8px;
}
.ms-situation-preset-admin-title {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c7d2fe;
}
.ms-situation-preset-admin-hint {
  font-size: 0.66rem;
  color: var(--ms-muted);
}
.ms-situation-preset-link-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.ms-situation-preset-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(15, 23, 42, 0.55);
  font-size: 0.68rem;
  cursor: pointer;
}
.ms-situation-preset-chip.is-linked {
  border-color: rgba(96, 165, 250, 0.55);
  background: rgba(59, 130, 246, 0.18);
}
.ms-situation-preset-chip input {
  margin: 0;
}
.ms-situation-preset-chip-meta {
  font-size: 0.58rem;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ms-situation-proof-board {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ms-situation-proof-row {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  background: rgba(2, 6, 23, 0.35);
}
.ms-situation-proof-row.is-winner {
  border-color: rgba(249, 115, 22, 0.55);
  box-shadow: 0 0 12px rgba(249, 115, 22, 0.12);
}
.ms-situation-proof-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-bottom: 4px;
}
.ms-situation-proof-winner {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-orange);
}
.ms-situation-proof-sort {
  font-size: 0.62rem;
  color: var(--ms-muted);
}
.ms-situation-proof-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  font-size: 0.68rem;
  color: var(--ms-text);
  margin-bottom: 4px;
}
.ms-situation-proof-top5 {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.64rem;
  color: var(--ms-muted);
}
.ms-situation-proof-player {
  display: block;
}
.ms-situation-proof-empty {
  margin: 0;
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-blast-anim { animation: ms-blast 0.9s ease; }
.ms-edge-card {
  padding: 10px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  margin-bottom: 8px;
  background: var(--ms-panel-2);
}
.ms-edge-head { display: flex; justify-content: space-between; font-size: 0.78rem; font-weight: 600; }
.ms-edge-spark { color: var(--ms-green); font-size: 0.65rem; letter-spacing: 1px; }
.ms-edge-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.ms-edge-table-hint {
  margin: 0 0 8px;
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-edge-table th[data-edge-sort] {
  cursor: pointer;
  user-select: none;
}
.ms-edge-table th[data-edge-sort]:hover {
  color: var(--ms-text);
}
.ms-edge-player {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  font-weight: 600;
}
.ms-edge-empty {
  text-align: center;
  color: var(--ms-muted);
  font-size: 0.78rem;
  padding: 12px !important;
}

/* Watchlist modal */
.ms-watchlist-modal { width: min(560px, 100%); }
.ms-modal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.ms-modal-head h3 { margin: 0; }
.ms-watchlist-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 0.78rem;
}
.ms-watchlist-rules label { display: flex; flex-direction: column; gap: 4px; color: var(--ms-muted); }
.ms-watchlist-rules input[type="number"] {
  width: 80px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  color: var(--ms-text);
  border-radius: 6px;
  padding: 6px 8px;
}
.ms-watchlist-check { flex-direction: row !important; align-items: center; gap: 8px !important; }
.ms-watchlist-stack-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.ms-watchlist-stack-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.72rem;
  color: var(--ms-muted);
  flex: 1;
  min-width: 140px;
}
.ms-watchlist-stack-label select { width: 100%; }
.ms-watchlist-list { max-height: 240px; overflow-y: auto; margin-bottom: 12px; }
.ms-watchlist-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--ms-border);
  font-size: 0.82rem;
}
.ms-watchlist-prob { margin-left: 8px; color: var(--ms-orange); font-weight: 700; font-size: 0.72rem; }
.ms-watchlist-empty { color: var(--ms-muted); font-size: 0.78rem; }
.ms-watchlist-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

/* Add-on phases */
.ms-addon-phase { margin-bottom: 20px; }
.ms-addon-phase-badge {
  margin-left: 8px;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(59, 130, 246, 0.12);
  color: var(--ms-blue);
  vertical-align: middle;
}
.ms-addon-phase-complete {
  background: rgba(16, 185, 129, 0.15);
  color: var(--ms-green);
}
.ms-addon-phase-title {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-addon-tag.ms-phase-1 { color: var(--ms-green); }
.ms-addon-tag.ms-phase-2 { color: var(--ms-blue); }
.ms-addon-tag.ms-phase-3 { color: var(--ms-purple); }

.ms-addons-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ms-border);
}
.ms-addons-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.ms-addons-toolbar > .ms-pool-search {
  flex: 1 1 220px;
  min-width: 180px;
}
.ms-addons-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.ms-addons-filter-count {
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ms-muted);
}
.ms-addons-empty {
  margin: 0 0 16px;
  padding: 20px;
  text-align: center;
  font-size: 0.82rem;
  color: var(--ms-muted);
  border: 1px dashed var(--ms-border);
  border-radius: 10px;
  background: var(--ms-panel-2);
}
.ms-addons-header-title {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 700;
}
.ms-addons-header-sub {
  margin: 0;
  font-size: 0.78rem;
  color: var(--ms-muted);
}
.ms-addons-header-progress {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ms-addons-header-stats {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.ms-addons-header-pct {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--ms-text);
}
.ms-addons-header-count {
  font-size: 0.68rem;
  color: var(--ms-muted);
  font-weight: 600;
}
.ms-addon-progress-ring { display: block; flex-shrink: 0; }
.ms-addon-progress-track { stroke: rgba(148, 163, 184, 0.22); }
.ms-addon-progress-fill {
  stroke: var(--ms-green);
  stroke-linecap: round;
  transition: stroke-dashoffset 0.35s ease;
}
.ms-addon-tab-progress {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  vertical-align: middle;
}
.ms-addon-tab-pct {
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--ms-green);
  line-height: 1;
}
[data-ms-tab="addons"].ms-addon-tab-complete .ms-addon-tab-pct { color: var(--ms-green); }
.ms-nav-pills [data-ms-tab="addons"] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Legal footer */
.ms-legal {
  margin-top: 32px;
  padding: 20px 16px;
  border-top: 1px solid var(--ms-border);
  font-size: 0.72rem;
  color: var(--ms-muted);
  line-height: 1.55;
}
.ms-legal p { margin: 0 0 8px; }
.ms-legal strong { color: var(--ms-text); font-weight: 600; }
.ms-legal-links a { color: var(--ms-blue); text-decoration: none; }
.ms-legal-links a:hover { text-decoration: underline; }

/* Dashboard enhancements */
.ms-dash-quick-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.ms-dash-quick-stats.ms-dash-quick-stats--health {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ms-dash-stat-tile {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: var(--ms-radius);
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  color: var(--ms-text);
  cursor: pointer;
  text-align: left;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.ms-dash-stat-tile:hover {
  border-color: var(--ms-blue);
  background: rgba(59, 130, 246, 0.08);
  transform: translateY(-1px);
}
.ms-dash-stat-tile--warn {
  border-color: rgba(249, 115, 22, 0.45);
  background: rgba(249, 115, 22, 0.08);
}
.ms-dash-stat-tile--warn:hover {
  border-color: var(--ms-orange);
  background: rgba(249, 115, 22, 0.14);
}
.ms-dash-stat-val {
  font-family: var(--ms-mono);
  font-size: 22px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.ms-dash-stat-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-import-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}
.ms-import-summary-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border-radius: var(--ms-radius-sm);
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
}
.ms-import-summary-stat--ok { border-color: rgba(52, 199, 89, 0.35); }
.ms-import-summary-stat--warn { border-color: rgba(249, 115, 22, 0.45); background: rgba(249, 115, 22, 0.08); }
.ms-import-summary-val {
  font-family: var(--ms-mono);
  font-size: 24px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.ms-import-summary-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ms-import-summary-mode {
  margin: 0;
  font-size: 0.82rem;
  color: var(--ms-muted);
}
.ms-import-summary-note {
  margin: 0 0 12px;
  font-size: 0.8rem;
  color: var(--ms-muted);
}
.ms-import-auto-prune-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--ms-text);
  cursor: pointer;
}
.ms-caps-import-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ms-caps-import-preview-table { font-size: 0.82rem; }
.ms-caps-import-unmatched td { background: rgba(249, 115, 22, 0.08); }
.ms-caps-import-match-ok {
  color: #34c759;
  font-size: 0.78rem;
  font-weight: 600;
}
.ms-caps-import-match-miss {
  color: #f97316;
  font-size: 0.78rem;
  font-weight: 600;
}
@media (max-width: 640px) {
  .ms-dash-quick-stats,
  .ms-import-summary-grid,
  .ms-caps-import-summary-grid { grid-template-columns: 1fr; }
}

.ms-dash-build-card-wrap { margin-bottom: 14px; }
.ms-dash-build-card {
  padding: 14px 16px;
  border-radius: var(--ms-radius);
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
}
.ms-dash-build-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.ms-dash-build-card-title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
}
.ms-dash-build-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 0.76rem;
  color: var(--ms-muted);
}
.ms-dash-build-card-meta strong {
  color: var(--ms-text);
  font-family: var(--ms-mono);
  font-variant-numeric: tabular-nums;
}
.ms-dash-contest-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.ms-dash-contest-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 8px;
  border-radius: var(--ms-radius-sm);
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-text);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.ms-dash-contest-tile:hover {
  border-color: var(--ms-blue);
  background: rgba(59, 130, 246, 0.08);
  transform: translateY(-1px);
}
.ms-dash-contest-tile.is-active {
  border-color: var(--ms-blue);
  background: rgba(59, 130, 246, 0.14);
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.25);
}
.ms-dash-contest-tile-label {
  font-size: 0.82rem;
  font-weight: 700;
}
.ms-dash-contest-tile-hint {
  font-size: 0.62rem;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media (max-width: 520px) {
  .ms-dash-contest-tiles { grid-template-columns: 1fr; }
}

.ms-dash-actions-wrap { margin-bottom: 16px; }
.ms-dash-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-dash-top { margin-bottom: 16px; }
.ms-recent-blasts { display: flex; flex-direction: column; gap: 8px; max-height: 220px; overflow-y: auto; }
.ms-blast-event {
  padding: 10px 12px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
  font-size: 0.78rem;
  color: var(--ms-text);
}
.ms-blast-event.ms-blast-hit { border-color: rgba(249, 115, 22, 0.45); }
.ms-blast-event-out { opacity: 0.55; border-color: rgba(239, 68, 68, 0.35); }
.ms-blast-event-name-out { text-decoration: line-through; color: var(--ms-muted); }
.ms-blast-event-meta-out { color: #f87171; }
.ms-blast-preview-prob-struck { text-decoration: line-through; color: var(--ms-muted); }
.ms-blast-event-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: nowrap;
}
.ms-blast-event-identity {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1 1 auto;
}
.ms-blast-event-identity strong {
  color: var(--ms-text);
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ms-blast-event-head .ms-blast-badge {
  flex-shrink: 0;
  margin-left: auto;
}
.ms-blast-event-identity .ms-team-logo,
.ms-blast-event-identity .ms-logo-fallback {
  width: 16px !important;
  height: 16px !important;
  object-fit: contain;
}
.ms-blast-badge { font-size: 0.62rem; font-weight: 800; padding: 2px 8px; border-radius: 4px; }
.ms-blast-badge.hit { background: rgba(34, 197, 94, 0.2); color: var(--ms-green); }
.ms-blast-badge.miss { background: rgba(100, 116, 139, 0.25); color: var(--ms-muted); }
.ms-blast-event-meta { color: var(--ms-muted); font-size: 0.72rem; margin-top: 4px; line-height: 1.4; }
.ms-blast-event-admin { color: #a5b4fc; font-size: 0.65rem; margin-top: 4px; }
.ms-blast-event-time { color: var(--ms-muted); font-size: 0.65rem; margin-top: 4px; }
.ms-blast-jump {
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: var(--ms-text);
  font: inherit;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.ms-blast-jump:hover {
  color: var(--ms-text);
  border-color: var(--ms-blue);
  background: rgba(26, 115, 232, 0.08);
}
.ms-blast-jump:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.45);
}
.ms-blast-jump.ms-blast-predicted { box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.25); }
.ms-blastcast-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 1px 6px;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6ee7b7;
  background: rgba(16, 185, 129, 0.18);
  border: 1px solid rgba(16, 185, 129, 0.35);
  border-radius: 999px;
  vertical-align: middle;
}
.ms-mode-stack-val {
  font-size: 0.82rem;
  line-height: 1.2;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ms-blast-preview-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ms-blast-preview-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; border-bottom: 1px solid var(--ms-border); font-size: 0.82rem;
}
.ms-blast-preview-metrics { display: inline-flex; align-items: center; gap: 8px; }
.ms-blast-preview-row--out { opacity: 0.62; }
.ms-blast-preview-name--out { color: var(--ms-muted); }
.ms-blast-preview-row--out .ms-blast-preview-prob {
  color: var(--ms-muted);
  text-decoration: line-through;
}
.ms-blast-preview-prob { color: var(--ms-green); font-weight: 700; font-family: var(--ms-mono, monospace); }
.ms-blast-preview-edge { color: var(--ms-orange); font-size: 0.72rem; margin-left: 8px; }
.ms-ghostbuster {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  padding: 2px 7px 2px 5px;
  border-radius: 999px;
  background: rgba(239, 68, 68, 0.28);
  border: 1.5px solid rgba(248, 113, 113, 0.9);
  color: #fecaca;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  vertical-align: middle;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.25);
}
.ms-ghostbuster--compact { margin-left: 4px; padding: 1px 6px 1px 4px; font-size: 0.54rem; }
.ms-ghostbuster i { font-size: 0.68rem; }
.ms-blast-row-out { opacity: 0.58; }
.ms-blast-row-out .ms-prob { color: var(--ms-muted) !important; text-decoration: line-through; }
.ms-dash-empty { color: var(--ms-muted); font-size: 0.78rem; margin: 0; }
.ms-grok-hints-wrap { margin-bottom: 12px; }
.ms-grok-hints { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ms-grok-label { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; color: var(--ms-muted); margin-right: 4px; }
.ms-grok-chip {
  font-size: 0.72rem; padding: 6px 12px; border-radius: 999px;
  border: 1px solid var(--ms-border); background: var(--ms-panel-2);
  color: var(--ms-text); cursor: pointer;
}
.ms-grok-chip:hover { border-color: var(--ms-blue); color: var(--ms-blue); }
.ms-comp-card {
  border: 1px solid var(--ms-border);
  border-radius: 10px;
  background: var(--ms-panel);
  overflow: hidden;
}
.ms-comp-card-head { padding: 10px 12px; font-weight: 700; font-size: 0.82rem; border-bottom: 1px solid var(--ms-border); }
.ms-comp-card-body { padding: 12px; }

/* Toast */
.ms-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: var(--ms-z-toast);
  padding: 12px 18px;
  border-radius: 10px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  color: var(--ms-text);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.35;
  opacity: 0;
  transform: translateY(8px);
  transition: 0.2s ease;
  pointer-events: none;
  max-width: 360px;
  word-break: break-word;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}
.ms-toast-show { opacity: 1; transform: translateY(0); }
.ms-toast-ok { border-color: var(--ms-green); }
.ms-toast-warn { border-color: var(--ms-orange); }
.ms-toast-action {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.ms-toast-msg { flex: 1 1 auto; min-width: 0; }
.ms-toast-btn { flex-shrink: 0; }

/* Exposure panel: scroll inside column only — sticky overlapped portfolio bar + chrome */
#ms-tab-build .ms-exposure-sticky-panel {
  position: relative;
  z-index: 1;
  overflow: visible;
}

/* Lineup Study */
.ms-study-header { margin-bottom: 16px; }
.ms-study-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }
.ms-study-slots {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
}
@media (max-width: 700px) { .ms-study-slots { grid-template-columns: repeat(2, 1fr); } }
.ms-study-slot {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
  font-size: 0.72rem;
  min-height: 40px;
}
.ms-study-slot-label { font-weight: 800; color: var(--ms-blue); width: 28px; flex-shrink: 0; }
.ms-study-slot-player { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ms-study-slot-empty { color: var(--ms-muted); }
.ms-study-pool { display: flex; flex-wrap: wrap; gap: 6px; max-height: 220px; overflow-y: auto; }
.ms-study-report { font-size: 0.82rem; }
.ms-study-players { display: flex; flex-direction: column; gap: 8px; }
.ms-study-player-card {
  padding: 10px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
}
.ms-study-player-card p { margin: 4px 0 0; font-size: 0.75rem; color: var(--ms-muted); }
.ms-study-admin-gate {
  max-width: 680px;
}
.ms-study-admin-gate h2,
.ms-study-admin-gate p {
  margin: 0;
}
.ms-study-admin-gate p {
  margin-top: 8px;
  color: var(--ms-muted);
}
.ms-study-phase-c-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.ms-study-phase-c-head h2,
.ms-study-phase-c-head p {
  margin: 0;
}
.ms-study-phase-c-head p {
  margin-top: 6px;
  color: var(--ms-muted);
}
.ms-study-provider-pill,
.ms-study-report-head {
  border-left: 3px solid var(--ms-provider-accent, var(--ms-blue));
}
.ms-study-provider-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--ms-panel-2);
  border-top: 1px solid var(--ms-border);
  border-right: 1px solid var(--ms-border);
  border-bottom: 1px solid var(--ms-border);
  flex-shrink: 0;
}
.ms-study-layout {
  display: grid;
  grid-template-columns: minmax(340px, 0.95fr) minmax(360px, 1.35fr);
  gap: 14px;
  align-items: start;
}
.ms-study-wizard-card,
.ms-study-report-panel {
  min-width: 0;
}
.ms-study-context-row {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
  margin-bottom: 12px;
}
.ms-study-context-row label {
  display: grid;
  gap: 4px;
  color: var(--ms-muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}
.ms-study-context-chip {
  padding: 8px 10px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
  color: var(--ms-muted);
  font-size: 0.76rem;
}
.ms-study-slate-card,
.ms-study-locked-card {
  margin-bottom: 14px;
}
.ms-study-slate-card.is-bound {
  border-color: rgba(49, 209, 124, 0.42);
}
.ms-study-slate-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.ms-study-slate-head p,
.ms-study-locked-card p {
  margin: 5px 0 0;
  color: var(--ms-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}
.ms-study-slate-required,
.ms-study-slate-locked {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 181, 71, 0.45);
  color: #ffcf7a;
  background: rgba(255, 181, 71, 0.1);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ms-study-slate-locked {
  border-color: rgba(49, 209, 124, 0.5);
  color: #8ff0b2;
  background: rgba(49, 209, 124, 0.1);
}
.ms-study-slate-grid {
  display: grid;
  grid-template-columns: minmax(90px, 0.7fr) minmax(150px, 1fr) minmax(220px, 1.8fr) minmax(130px, 0.9fr);
  gap: 10px;
  margin-bottom: 10px;
}
.ms-study-slate-grid label {
  display: grid;
  gap: 5px;
  color: var(--ms-muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.ms-study-slate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}
.ms-study-text-input,
.ms-study-dk-input {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
  color: var(--ms-text);
  padding: 7px 9px;
}
.ms-study-dk-wrap {
  position: relative;
  min-width: 0;
}
.ms-study-dk-suggestions {
  position: absolute;
  z-index: calc(var(--ms-z-modal) + 2);
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  max-height: 260px;
  overflow-y: auto;
  padding: 5px;
  border: 1px solid rgba(88, 166, 255, 0.45);
  border-radius: 8px;
  background: #f8fafc;
  color: #0f172a;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.35);
}
.ms-study-dk-option {
  display: block;
  width: 100%;
  padding: 7px 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.ms-study-dk-option:hover,
.ms-study-dk-option:focus-visible {
  outline: none;
  background: rgba(37, 99, 235, 0.12);
}
.ms-study-dk-option.is-disabled,
.ms-study-dk-option:disabled {
  cursor: not-allowed;
  opacity: 0.64;
}
.ms-study-dk-option.is-disabled:hover,
.ms-study-dk-option:disabled:hover {
  background: transparent;
}
.ms-study-dk-option strong,
.ms-study-dk-option span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ms-study-dk-option strong {
  font-size: 0.78rem;
  font-weight: 800;
}
.ms-study-dk-option span,
.ms-study-dk-empty {
  color: #475569;
  font-size: 0.7rem;
  line-height: 1.35;
}
.ms-study-dk-empty {
  padding: 8px;
}
@media (max-width: 860px) {
  .ms-study-slate-head {
    display: grid;
  }
  .ms-study-slate-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .ms-study-slate-grid {
    grid-template-columns: 1fr;
  }
}
.ms-study-wizard-rows {
  display: grid;
  gap: 7px;
}
.ms-study-wizard-row {
  display: grid;
  grid-template-columns: 46px minmax(150px, 190px) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
}
.ms-study-wizard-row.is-valid {
  border-color: rgba(49, 209, 124, 0.55);
}
.ms-study-wizard-row.is-invalid {
  border-color: rgba(255, 181, 71, 0.7);
}
.ms-study-slot-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  border-radius: 8px;
  background: rgba(88, 166, 255, 0.12);
  color: var(--ms-blue);
  font-weight: 900;
}
.ms-study-player-match {
  min-width: 0;
}
.ms-study-player-match strong,
.ms-study-player-match span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ms-study-player-match strong {
  font-size: 0.82rem;
}
.ms-study-player-match span {
  margin-top: 2px;
  color: var(--ms-muted);
  font-size: 0.72rem;
}
.ms-study-gates {
  margin-top: 10px;
}
.ms-study-actions,
.ms-study-save-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.ms-study-report-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 8px;
  background: var(--ms-panel-2);
  border-top: 1px solid var(--ms-border);
  border-right: 1px solid var(--ms-border);
  border-bottom: 1px solid var(--ms-border);
  margin-bottom: 10px;
}
.ms-study-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ms-study-report-card {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
}
.ms-study-report-card h4 {
  margin: 0 0 8px;
  font-size: 0.82rem;
}
.ms-study-report-card p,
.ms-study-report-card ul {
  margin: 6px 0;
}
.ms-study-waterfall-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.ms-study-waterfall-row:last-child {
  border-bottom: 0;
}
.ms-study-table-wrap {
  overflow-x: auto;
}
.ms-study-decision-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}
.ms-study-decision-table th,
.ms-study-decision-table td {
  padding: 7px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  text-align: left;
  vertical-align: top;
}
.ms-study-decision-table th {
  color: var(--ms-muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}
.ms-study-lesson-script {
  max-height: 260px;
  overflow: auto;
  margin: 0;
  white-space: pre-wrap;
  color: var(--ms-text);
  font-size: 0.76rem;
}
.ms-study-save-row .ms-study-text-input {
  flex: 1 1 260px;
}
.ms-study-bulk-layout {
  margin-top: 14px;
}
.ms-study-file-label input {
  display: block;
  width: 100%;
  max-width: 280px;
  margin-top: 4px;
  color: var(--ms-muted);
  font-size: 0.74rem;
}
.ms-study-bulk-paste {
  width: 100%;
  min-height: 160px;
  resize: vertical;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-text);
  font-family: var(--ms-mono);
  font-size: 0.74rem;
  line-height: 1.45;
}
.ms-study-bulk-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.ms-study-bulk-metrics > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
}
.ms-study-bulk-metrics strong {
  color: var(--ms-text);
  font-family: var(--ms-mono);
  font-size: 0.96rem;
}
.ms-study-bulk-metrics span {
  color: var(--ms-muted);
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ms-study-pro-edge-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}
.ms-study-pro-edge-card,
.ms-study-pro-edge-empty {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
}
.ms-study-pro-edge-card > div {
  display: grid;
  gap: 3px;
  margin-bottom: 8px;
}
.ms-study-pro-edge-card strong {
  font-size: 0.86rem;
}
.ms-study-pro-edge-card span,
.ms-study-pro-edge-empty {
  color: var(--ms-muted);
  font-size: 0.72rem;
}
.ms-study-pro-edge-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
}
.ms-study-pro-edge-card dl > div {
  min-width: 0;
  padding: 7px 8px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.035);
}
.ms-study-pro-edge-card dt {
  margin: 0 0 2px;
  color: var(--ms-muted);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ms-study-pro-edge-card dd {
  margin: 0;
  overflow: hidden;
  color: var(--ms-text);
  font-family: var(--ms-mono);
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .ms-study-layout,
  .ms-study-report-grid,
  .ms-study-pro-edge-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .ms-study-phase-c-head {
    display: block;
  }
  .ms-study-provider-pill {
    margin-top: 10px;
  }
  .ms-study-wizard-row {
    grid-template-columns: 40px minmax(0, 1fr);
  }
  .ms-study-player-match {
    grid-column: 1 / -1;
  }
  .ms-study-bulk-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.ms-algo-card {
  padding: 12px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: var(--ms-panel-2);
  margin-bottom: 8px;
}

/* Feature modals & tour */
.ms-modal-wide { max-width: 640px; width: 96vw; }
.ms-modal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.ms-modal-head h3 { margin: 0; }
.ms-modal-body { max-height: 60vh; overflow-y: auto; }
.ms-modal-body a:not(.ms-btn) {
  color: var(--ms-blue-bright, #4a9eff);
  text-decoration: none;
}
.ms-modal-body a:not(.ms-btn):hover {
  text-decoration: underline;
  color: #7cc0ff;
}
.ms-modal-foot { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--ms-border); }
.ms-modal-wh-checklist { max-width: min(760px, 96vw); }
.ms-modal-wh-checklist .ms-modal-body { max-height: min(72vh, 640px); padding-right: 4px; }
.ms-mc-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 12px; }

/* Warehouse P0 checklist modal */
.ms-wh-checklist { display: flex; flex-direction: column; gap: 14px; }
.ms-wh-checklist-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ms-wh-score-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 12px 14px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel-2);
}
.ms-wh-score-card--meta {
  grid-column: 1 / -1;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  padding: 10px 14px;
}
.ms-wh-score-val {
  font-family: var(--ms-mono);
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ms-text);
  font-variant-numeric: tabular-nums;
}
.ms-wh-score-val--yes { color: var(--ms-green); }
.ms-wh-score-val--no { color: var(--ms-orange); }
.ms-wh-score-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-wh-score-meta {
  font-size: 11px;
  color: var(--ms-muted);
  font-variant-numeric: tabular-nums;
}
.ms-wh-checklist-lesson {
  padding: 12px 14px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: rgba(59, 130, 246, 0.06);
}
.ms-wh-checklist-lesson-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px 12px;
  align-items: start;
}
.ms-wh-checklist-lesson-copy strong {
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
}
.ms-wh-checklist-lesson-copy p {
  margin: 0;
  font-size: 11px;
  color: var(--ms-muted);
  line-height: 1.45;
}
.ms-wh-checklist-lesson-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.ms-wh-checklist-lesson-status {
  margin: 8px 0 0;
  font-size: 11px;
  color: var(--ms-muted);
  min-height: 1.2em;
}
.ms-wh-checklist-blockers {
  padding: 10px 12px;
  border-radius: var(--ms-radius-sm);
  border: 1px solid rgba(245, 166, 35, 0.35);
  background: rgba(245, 166, 35, 0.08);
  font-size: 12px;
}
.ms-wh-checklist-blockers ul {
  margin: 6px 0 0;
  padding-left: 18px;
}
.ms-wh-checklist-blockers li { margin: 2px 0; }
.ms-wh-checklist-table-wrap {
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  overflow: auto;
  max-height: min(42vh, 360px);
}
.ms-wh-checklist-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.ms-wh-checklist-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 9px 12px;
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ms-muted);
  background: var(--ms-panel-2);
  border-bottom: 1px solid var(--ms-border);
  white-space: nowrap;
}
.ms-wh-checklist-table thead th:nth-child(2),
.ms-wh-checklist-table thead th:nth-child(3),
.ms-wh-checklist-table thead th:nth-child(4) {
  width: 88px;
  text-align: center;
}
.ms-wh-check-row td {
  padding: 10px 12px;
  vertical-align: top;
  border-bottom: 1px solid var(--ms-border);
}
.ms-wh-check-row:last-child td { border-bottom: none; }
.ms-wh-check-row--ok { background: transparent; }
.ms-wh-check-row--partial { background: rgba(59, 130, 246, 0.04); }
.ms-wh-check-row--low,
.ms-wh-check-row--missing { background: rgba(245, 166, 35, 0.05); }
.ms-wh-check-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.ms-wh-check-name {
  font-weight: 600;
  color: var(--ms-text);
  line-height: 1.3;
}
.ms-wh-check-optional {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid var(--ms-border);
  color: var(--ms-muted);
}
.ms-wh-check-info {
  flex-shrink: 0;
  margin-left: auto;
}
.ms-wh-check-detail,
.ms-wh-check-hint {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: var(--ms-muted);
}
.ms-wh-check-hint { color: #c4b5fd; }
.ms-wh-check-pct {
  text-align: center;
  font-family: var(--ms-mono);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}
.ms-wh-check-status { text-align: center; }
.ms-wh-check-audio { text-align: center; vertical-align: middle; }
.ms-wh-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ms-wh-badge--ok {
  background: rgba(16, 185, 129, 0.18);
  color: #6ee7b7;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.ms-wh-badge--partial {
  background: rgba(59, 130, 246, 0.18);
  color: #93c5fd;
  border: 1px solid rgba(59, 130, 246, 0.35);
}
.ms-wh-badge--low {
  background: rgba(245, 166, 35, 0.16);
  color: #fcd34d;
  border: 1px solid rgba(245, 166, 35, 0.35);
}
.ms-wh-badge--missing {
  background: rgba(231, 76, 60, 0.14);
  color: #fca5a5;
  border: 1px solid rgba(231, 76, 60, 0.35);
}
.ms-wh-badge--pending {
  background: rgba(148, 163, 184, 0.16);
  color: #cbd5e1;
  border: 1px solid rgba(148, 163, 184, 0.35);
}
.ms-wh-checklist-foot {
  padding-top: 4px;
  border-top: 1px solid var(--ms-border);
}
.ms-wh-doc-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ms-blue-bright, #4a9eff) !important;
  text-decoration: none;
}
.ms-wh-doc-link:hover {
  text-decoration: underline;
  color: #7cc0ff !important;
}
.ms-wh-checklist-table .ms-lesson-audio-controls--compact {
  justify-content: center;
}
@media (max-width: 640px) {
  .ms-wh-checklist-lesson-head {
    grid-template-columns: auto 1fr;
  }
  .ms-wh-checklist-lesson-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
  }
  .ms-wh-check-info { margin-left: 0; }
}
.ms-mc-bar { display: grid; grid-template-columns: 72px 1fr 40px; gap: 8px; align-items: center; margin-bottom: 6px; font-size: 0.72rem; }
.ms-mc-bar-btn {
  width: 100%;
  padding: 2px 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  text-align: left;
  border-radius: 4px;
}
.ms-mc-bar-btn:hover { background: rgba(96, 165, 250, 0.08); }
.ms-mc-bar-btn.active {
  background: rgba(96, 165, 250, 0.14);
  outline: 1px solid rgba(96, 165, 250, 0.35);
}
.ms-mc-label { color: var(--ms-muted); }
.ms-panel-title--with-help {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.ms-pitcher-radar-help {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}
.ms-pitcher-radar-help .ms-field-info {
  font-size: 0.82rem;
}
.ms-pitcher-radar-row { margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--ms-border); }
.ms-pitcher-radar-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; gap: 8px; }
.ms-pitcher-radar-name { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; }
.ms-pitcher-radar-opp {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--ms-border);
  background: color-mix(in srgb, var(--ms-surface) 88%, var(--ms-blue) 12%);
}
.ms-pitcher-radar-dk-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 0.66rem;
  color: var(--ms-muted);
}
.ms-pitcher-radar-dk-label {
  color: var(--ms-blue);
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.ms-pitcher-radar-dk-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--ms-blue) 55%, transparent);
  background: color-mix(in srgb, var(--ms-surface) 82%, var(--ms-blue) 18%);
  color: var(--ms-text);
}
.ms-pitcher-radar-dk-chip strong { font-weight: 900; }
.ms-pitcher-radar-dk-chip span {
  color: #35e69b;
  font-weight: 900;
}
.ms-pitcher-radar-dk-top--pending {
  color: var(--ms-muted);
}
.ms-late-swap-reason { font-size: 0.68rem; color: var(--ms-muted); margin: -4px 0 8px 0; padding-left: 4px; }
.ms-nfr-fail { border-left: 3px solid var(--ms-orange); padding-left: 8px; }
.ms-tour-overlay { position: fixed; inset: 0; z-index: 9600; pointer-events: none; }
.ms-tour-card {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
  max-width: 420px; width: 92vw; padding: 16px 18px; border-radius: 12px;
  background: var(--ms-panel); border: 1px solid var(--ms-border);
  box-shadow: 0 12px 40px rgba(0,0,0,0.45); pointer-events: auto;
  color: var(--ms-text, #e8ecf1);
}
.ms-tour-card h3 { margin: 6px 0; font-size: 1rem; color: var(--ms-text, #e8ecf1); }
.ms-tour-card p:not(.ms-tour-step) { margin: 0 0 10px; color: var(--ms-muted, #8b95a8); }
.ms-tour-step { font-size: 0.68rem; color: var(--ms-muted); margin: 0; }
.ms-tour-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.ms-tour-never-inline {
  margin-right: auto;
  font-size: 0.72rem;
  color: var(--ms-muted);
  background: transparent;
  border-color: transparent;
}
.ms-tour-never-inline:hover { color: var(--ms-text); background: var(--ms-panel-2); }
.ms-tour-highlight { outline: 2px solid var(--ms-green); outline-offset: 3px; border-radius: 6px; }
.ms-tour-banner-wrap { margin-bottom: 10px; }
.ms-tour-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: var(--ms-radius);
  border: 1px solid color-mix(in srgb, var(--ms-green) 35%, var(--ms-border));
  background: color-mix(in srgb, var(--ms-green) 8%, var(--ms-panel));
  font-size: 0.78rem;
  line-height: 1.45;
}
.ms-tour-banner-icon {
  color: var(--ms-green);
  font-size: 15px;
  flex-shrink: 0;
}
.ms-tour-banner-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 180px;
}
.ms-tour-banner-copy strong { color: var(--ms-text); font-size: 0.82rem; }
.ms-tour-banner-copy span { color: var(--ms-muted); }
.ms-tour-banner-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.ms-tour-banner-never {
  color: var(--ms-muted);
  background: transparent;
}
.ms-tour-banner-never:hover { color: var(--ms-text); }
.ms-tour-banner-dismiss {
  min-width: 32px;
  padding-inline: 8px;
  color: var(--ms-muted);
}
.ms-tour-always {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--ms-blue) 10%, var(--ms-panel-2));
  border: 1px solid color-mix(in srgb, var(--ms-blue) 25%, var(--ms-border));
  font-size: 0.74rem;
  color: var(--ms-text);
  cursor: pointer;
  line-height: 1.4;
}
.ms-tour-always input { margin-top: 2px; accent-color: var(--ms-green); flex-shrink: 0; }

/* Hindsight column badge — grey H, white outline, stacked above label */
.ms-hindsight-col-head {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 1px;
  line-height: 1;
  vertical-align: bottom;
}
.ms-hindsight-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 14px;
  height: 14px;
  padding: 0 2px;
  border-radius: 3px;
  background: #6b7280;
  color: #f9fafb;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
  -webkit-text-stroke: 0.45px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 0 0 #fff, 0 0 1px #fff;
}
.ms-hindsight-col-label {
  display: block;
}

/* Field help — (i) intel popups */
.ms-th-with-info {
  white-space: nowrap;
}
.ms-th-with-info .ms-pool-field-info,
.ms-th-label-row .ms-pool-field-info {
  margin-left: 0;
  vertical-align: middle;
  flex-shrink: 0;
}
.ms-pregame-metric[title] {
  cursor: help;
}
.ms-label-with-info {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.ms-field-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: color-mix(in srgb, var(--ms-blue) 18%, transparent);
  color: var(--ms-blue);
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
  vertical-align: middle;
  transition: background 0.15s, color 0.15s, transform 0.15s;
}
.ms-field-info:hover,
.ms-field-info:focus-visible {
  background: color-mix(in srgb, var(--ms-blue) 35%, transparent);
  color: var(--ms-text);
  transform: scale(1.08);
  outline: none;
}
.ms-field-info-standalone {
  margin-left: 6px;
  flex-shrink: 0;
}
.ms-help-anchor { position: relative; }
.ms-slate-bar > .ms-field-info-standalone {
  align-self: center;
  margin-left: auto;
}
.ms-rules-bar.ms-help-anchor {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ms-rules-bar > .ms-field-info-standalone {
  margin-left: 0;
  order: -1;
}

.ms-field-help-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--ms-z-modal) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0px)) 16px 16px;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(8px);
  animation: ms-field-help-in 0.2s ease;
}
body.ms-field-help-open,
body.ms-overlay-open {
  overflow: hidden;
}
body.ms-overlay-open .ms-fcfl .ms-workspace-chrome,
body.ms-field-help-open .ms-fcfl .ms-workspace-chrome {
  z-index: 1 !important;
}
body.ms-overlay-open .leo-chat-launcher,
body.ms-overlay-open .leo-chat-panel,
body.ms-overlay-open .la-platform-guide-fab {
  z-index: 1 !important;
}
@keyframes ms-field-help-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.ms-field-help-pop {
  position: relative;
  z-index: 1;
  width: min(420px, 94vw);
  max-height: min(78vh, 560px);
  overflow: auto;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--ms-green) 30%, var(--ms-border));
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--ms-green) 6%, var(--ms-panel)) 0%,
    var(--ms-panel) 45%
  );
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
  animation: ms-field-help-pop 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes ms-field-help-pop {
  from { opacity: 0; transform: translateY(12px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.ms-field-help-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 16px 10px;
  border-bottom: 1px solid var(--ms-border);
}
.ms-field-help-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--ms-green) 20%, transparent);
  color: var(--ms-green);
  font-size: 16px;
  flex-shrink: 0;
}
.ms-field-help-titles { flex: 1; min-width: 0; }
.ms-field-help-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ms-text, #e8ecf1);
}
.ms-field-help-tagline {
  margin: 4px 0 0;
  font-size: 0.76rem;
  color: var(--ms-muted);
  line-height: 1.4;
}
.ms-field-help-close {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--ms-muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}
.ms-field-help-close:hover { background: var(--ms-panel-2); color: var(--ms-text); }
.ms-field-help-body { padding: 12px 16px 18px; }
.ms-field-help-section { margin-bottom: 14px; }
.ms-field-help-section:last-child { margin-bottom: 0; }
.ms-field-help-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ms-green);
  margin-bottom: 6px;
}
.ms-field-help-section p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--ms-text);
}
.ms-field-help-theory .ms-field-help-label { color: var(--ms-blue); }
.ms-field-help-logic .ms-field-help-label { color: #fcd34d; }
.ms-field-help-logic {
  border-left: 3px solid rgba(252, 211, 77, 0.45);
  padding-left: 10px;
}
.ms-correlation-table .ms-stack-rating-cell {
  font-weight: 700;
  color: var(--ms-text);
  cursor: help;
}
.ms-field-help-theory {
  padding: 10px 12px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--ms-blue) 8%, var(--ms-panel-2));
  border: 1px solid color-mix(in srgb, var(--ms-blue) 18%, var(--ms-border));
}
.ms-field-help-pop--lesson {
  width: min(460px, 96vw);
  max-height: min(84vh, 640px);
}
.ms-field-help-where {
  padding: 8px 10px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--ms-green) 6%, var(--ms-panel-2));
  border: 1px solid color-mix(in srgb, var(--ms-green) 14%, var(--ms-border));
}

/* WATCH criteria — highlighted pool cells */
.ms-watch-hit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4em;
  padding: 2px 8px;
  border-radius: 8px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #0f172a;
  background: linear-gradient(135deg, #fde047 0%, #fbbf24 45%, #f59e0b 100%);
  border: 2px solid color-mix(in srgb, #f59e0b 70%, #fff);
  box-shadow:
    0 0 0 1px rgba(245, 158, 11, 0.35),
    0 4px 14px rgba(245, 158, 11, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
  animation: ms-watch-pulse 2.4s ease-in-out infinite;
}
@keyframes ms-watch-pulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.35), 0 4px 14px rgba(245, 158, 11, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.45); }
  50% { box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.55), 0 6px 18px rgba(245, 158, 11, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.55); }
}

/* WATCH PAINT (2026-07-13) -- multi-rule signal paint, successor to
   .ms-watch-hit above (kept for reference / any stale cached DOM). Colors
   come from --sp-bg/--sp-fg custom properties set per cell by
   mastery-signal-paint-engine.js. Shape is never the only encoding
   (color-blind safety, spec section 8.7): good rules default to pill, bad
   rules default to ring. */
.sp-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4em;
  padding: 2px 8px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.sp-mark.sp-shape-pill {
  border-radius: 999px;
  background: var(--sp-bg);
  color: var(--sp-fg);
  border: 2px solid color-mix(in srgb, var(--sp-bg) 70%, #000 15%);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--sp-bg) 35%, transparent);
}
.sp-mark.sp-shape-ring {
  border-radius: 999px;
  background: transparent;
  color: var(--sp-bg);
  border: 2px solid var(--sp-bg);
}
.sp-mark.sp-shape-underline {
  border-radius: 2px;
  background: transparent;
  color: inherit;
  border-bottom: 3px solid var(--sp-bg);
  padding: 2px 4px;
}
.sp-mark.sp-shape-glow {
  border-radius: 8px;
  background: color-mix(in srgb, var(--sp-bg) 18%, transparent);
  color: inherit;
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--sp-bg) 55%, transparent),
    0 0 10px 2px color-mix(in srgb, var(--sp-bg) 45%, transparent);
}

/* WATCH PAINT Signal Bar (2026-07-13, spec section 3) */
.ms-signal-bar:empty { display: none; }
.ms-signal-bar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  margin: 0 0 6px;
  border-radius: 8px;
  background: var(--ms-panel-2, rgba(127,127,127,0.06));
  border: 1px solid var(--ms-border, rgba(127,127,127,0.2));
}
.ms-sp-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  border: 1.5px solid color-mix(in srgb, var(--sp-chip-color) 60%, transparent);
  background: color-mix(in srgb, var(--sp-chip-color) 14%, transparent);
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.ms-sp-chip-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--sp-chip-color);
  display: inline-block;
}
.ms-sp-chip-count { opacity: 0.75; font-weight: 600; }
.ms-sp-chip-off { opacity: 0.4; background: transparent; }
.ms-sp-chip-solo { outline: 2px solid var(--sp-chip-color); outline-offset: 1px; }
.ms-sp-chip-zero { opacity: 0.35; }
.ms-signal-bar-sep { flex: 1 1 auto; }
.ms-sp-action {
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  background: transparent;
  border: 1px solid var(--ms-border, rgba(127,127,127,0.3));
  cursor: pointer;
}

/* WATCH PAINT i-Popup 2.0 (2026-07-13, spec section 5) */
.ms-ip-tabs { display: flex; gap: 4px; padding: 8px 12px 0; border-bottom: 1px solid var(--ms-border, rgba(127,127,127,0.2)); }
.ms-ip-tab-btn {
  padding: 6px 14px; border: none; border-bottom: 2px solid transparent;
  background: transparent; font-weight: 700; font-size: 0.85rem; cursor: pointer; opacity: 0.6;
}
.ms-ip-tab-btn.active { opacity: 1; border-bottom-color: var(--ms-accent, #f5b942); }
.ms-ip-tab-panel { padding: 4px 0; }

.ms-ip-sparkline { display: block; margin: 6px 0; color: var(--ms-accent, #f5b942); width: 100%; height: 44px; }
.ms-ip-hits-count { margin: 6px 0 2px; font-size: 0.85rem; }
.ms-ip-hits-list { list-style: none; padding: 0; margin: 0 0 6px; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 0.8rem; }
.ms-ip-hits-list li { display: flex; gap: 6px; }
.ms-ip-hit-val { opacity: 0.7; font-weight: 700; }
.ms-ip-provenance { font-size: 0.72rem; opacity: 0.65; margin: 4px 0 0; }

.ms-ip-rule-rows { display: flex; flex-direction: column; gap: 6px; margin: 8px 0; }
.ms-ip-rule-row {
  display: grid;
  grid-template-columns: auto auto 70px 60px 1fr auto auto auto auto auto auto;
  gap: 6px; align-items: center;
  padding: 6px 8px; border-radius: 8px;
  background: var(--ms-panel-2, rgba(127,127,127,0.05));
  border: 1px solid var(--ms-border, rgba(127,127,127,0.15));
}
.ms-ip-rule-row select, .ms-ip-rule-row input[type="number"], .ms-ip-rule-row input[type="text"] {
  min-width: 0; font-size: 0.78rem; padding: 3px 5px;
}
.ms-ip-rule-order { display: flex; flex-direction: column; }
.ms-ip-rule-move { border: none; background: transparent; cursor: pointer; line-height: 1; font-size: 0.65rem; opacity: 0.6; }
.ms-ip-rule-move:hover { opacity: 1; }
.ms-ip-rule-color { width: 28px; height: 24px; padding: 0; border: none; background: none; }
.ms-ip-rule-enabled-label { font-size: 0.72rem; display: flex; align-items: center; gap: 3px; white-space: nowrap; }
.ms-ip-rule-preview { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; }
.ms-ip-rule-remove { border: none; background: transparent; cursor: pointer; opacity: 0.6; font-weight: 700; }
.ms-ip-rule-remove:hover { opacity: 1; color: #ef4444; }
.ms-ip-rule-actions { display: flex; align-items: center; gap: 10px; margin-top: 8px; }

.ms-ip-group-manager { display: flex; flex-direction: column; gap: 6px; }
.ms-ip-group-row, .ms-ip-group-new { display: flex; align-items: center; gap: 8px; }
.ms-ip-group-color, .ms-ip-new-group-color { width: 26px; height: 24px; padding: 0; border: none; background: none; }
.ms-ip-group-name, .ms-ip-new-group-name { flex: 1 1 auto; font-size: 0.8rem; padding: 3px 6px; }

.ms-ip-history-list { display: flex; flex-direction: column; gap: 4px; }
.ms-ip-history-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 0.76rem; padding: 3px 0; }

.ms-watch-criteria-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 700;
  background: color-mix(in srgb, #f59e0b 22%, var(--ms-panel-2));
  border: 1px solid color-mix(in srgb, #f59e0b 45%, var(--ms-border));
}
.ms-col-help-watch-quick {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
}
.ms-watch-criteria-input {
  flex: 1;
  min-width: 0;
  padding: 5px 9px;
  border-radius: 6px;
  border: 1px solid var(--ms-border);
  background: var(--ms-input-bg, var(--ms-panel-2));
  color: var(--ms-text);
  font-size: 0.82rem;
  font-family: inherit;
}
.ms-watch-criteria-input:focus {
  outline: none;
  border-color: color-mix(in srgb, #f59e0b 70%, var(--ms-border));
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
}
.ms-watch-criteria-set {
  background: color-mix(in srgb, #f59e0b 25%, var(--ms-panel-2));
  border-color: color-mix(in srgb, #f59e0b 55%, var(--ms-border));
  color: var(--ms-text);
  white-space: nowrap;
}
.ms-watch-criteria-set:hover {
  background: color-mix(in srgb, #f59e0b 40%, var(--ms-panel-2));
}
.ms-col-help-watch-hint,
.ms-col-help-vip-only,
.ms-col-help-proof-meta {
  font-size: 0.74rem;
  color: var(--ms-muted);
  margin-top: 6px;
}
.ms-col-help-gamelog-btn { margin-top: 10px; }
.ms-col-help-edit-btn {
  margin-left: 8px;
  flex-shrink: 0;
}
.ms-col-help-media-block img,
.ms-col-help-media-block video {
  max-width: 100%;
  border-radius: 8px;
  margin-top: 6px;
}
.ms-col-help-media-block audio { width: 100%; margin-top: 6px; }
.ms-col-help-editor {
  width: min(520px, 96vw);
  max-height: min(88vh, 720px);
  overflow: auto;
}
.ms-col-help-editor-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 16px 18px;
}
.ms-col-help-editor-form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-col-help-editor-form input,
.ms-col-help-editor-form textarea,
.ms-col-help-editor-form select {
  font-size: 0.82rem;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-text);
}
.ms-col-help-inline-paint {
  border: 1px solid color-mix(in srgb, #f59e0b 28%, var(--ms-border));
  border-radius: 8px;
  background: color-mix(in srgb, #f59e0b 6%, var(--ms-panel-2));
  padding: 10px;
}
.ms-col-help-inline-paint-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.ms-col-help-inline-paint-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.ms-col-help-inline-paint-grid input[type="color"] {
  min-height: 36px;
  padding: 3px;
}
.ms-col-help-inline-paint-preview {
  flex: 0 0 auto;
  font-size: 0.78rem;
}
@media (max-width: 560px) {
  .ms-col-help-inline-paint-grid {
    grid-template-columns: 1fr;
  }
}
.ms-col-help-media-row {
  display: grid;
  grid-template-columns: 90px 1fr 1fr auto;
  gap: 6px;
  margin-bottom: 6px;
}
.ms-col-help-editor-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.ms-col-help-proof {
  width: min(720px, 96vw);
  max-height: min(86vh, 680px);
}
.ms-col-help-proof-body { padding: 12px 16px 18px; overflow: auto; }
.ms-col-help-proof-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-bottom: 10px;
  font-size: 0.82rem;
}
.ms-col-help-proof-table-wrap {
  max-height: 360px;
  overflow: auto;
  border: 1px solid var(--ms-border);
  border-radius: 10px;
}
.ms-col-help-proof-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}
.ms-col-help-proof-table th,
.ms-col-help-proof-table td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--ms-border);
  text-align: left;
}
.ms-col-help-proof-dk { font-weight: 700; color: var(--ms-green); }
.ms-lesson-rank-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.ms-lesson-strategy-rank {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ms-gold, #d4a853) 22%, transparent);
  color: var(--ms-text);
  border: 1px solid color-mix(in srgb, var(--ms-gold, #d4a853) 35%, var(--ms-border));
}
.ms-lesson-importance {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 3px 8px;
  border-radius: 999px;
}
.ms-lesson-importance--critical {
  background: color-mix(in srgb, #e85d5d 25%, transparent);
  color: #ffb4b4;
  border: 1px solid color-mix(in srgb, #e85d5d 40%, var(--ms-border));
}
.ms-lesson-importance--high {
  background: color-mix(in srgb, var(--ms-blue) 20%, transparent);
  color: #9ec8ff;
  border: 1px solid color-mix(in srgb, var(--ms-blue) 35%, var(--ms-border));
}
.ms-lesson-importance--medium {
  background: color-mix(in srgb, var(--ms-green) 18%, transparent);
  color: #9dffb8;
  border: 1px solid color-mix(in srgb, var(--ms-green) 30%, var(--ms-border));
}
.ms-lesson-importance--supporting {
  background: var(--ms-panel-2);
  color: var(--ms-muted);
  border: 1px solid var(--ms-border);
}
.ms-lesson-audio-block {
  padding: 12px;
  border-radius: 12px;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--ms-green) 10%, var(--ms-panel-2)) 0%,
    var(--ms-panel-2) 70%
  );
  border: 1px solid color-mix(in srgb, var(--ms-green) 22%, var(--ms-border));
}
.ms-lesson-audio-hint {
  margin: 0 0 10px;
  font-size: 0.74rem;
  line-height: 1.5;
  color: var(--ms-muted);
}
.ms-lesson-play-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.ms-lesson-audio-controls {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.ms-lesson-audio-controls--compact {
  gap: 4px;
}
.ms-lesson-audio-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  cursor: pointer;
  font-weight: 700;
  font-size: 0.72rem;
  color: var(--ms-text);
  background: var(--ms-panel);
  transition: background 0.15s, border-color 0.15s, opacity 0.15s, transform 0.15s;
}
.ms-lesson-audio-controls--compact .ms-lesson-audio-btn {
  min-width: 30px;
  min-height: 30px;
  padding: 4px 6px;
  border-radius: 6px;
  font-size: 0.68rem;
}
.ms-lesson-audio-btn:hover:not(:disabled) {
  background: var(--ms-panel-2);
  border-color: color-mix(in srgb, var(--ms-green) 35%, var(--ms-border));
}
.ms-lesson-audio-btn:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}
.ms-lesson-audio-play {
  color: #0a1a12;
  background: linear-gradient(135deg, #5dffb0 0%, var(--ms-green) 55%, #2a9d5c 100%);
  border-color: color-mix(in srgb, var(--ms-green) 50%, var(--ms-border));
}
.ms-lesson-audio-play:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--ms-green) 35%, transparent);
}
.ms-lesson-audio-controls.is-loading .ms-lesson-audio-play {
  opacity: 0.75;
}
.ms-lesson-audio-controls.is-playing .ms-lesson-audio-play {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}
.ms-lesson-audio-btn-label {
  line-height: 1;
}
.ms-lesson-curriculum-btn {
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  color: var(--ms-text);
  font-size: 0.74rem;
  font-weight: 600;
  cursor: pointer;
}
.ms-lesson-curriculum-btn:hover {
  background: var(--ms-panel-2);
  border-color: color-mix(in srgb, var(--ms-green) 30%, var(--ms-border));
}
.ms-lesson-play-status {
  margin: 10px 0 0;
  font-size: 0.72rem;
  color: var(--ms-muted);
  min-height: 1.2em;
}
.ms-lesson-play-status.is-error {
  color: #ff9b9b;
}
.ms-lesson-curriculum {
  width: min(520px, 96vw);
  max-height: min(88vh, 680px);
}
.ms-lesson-curriculum-body {
  padding: 10px 14px 16px;
}
.ms-lesson-curriculum-intro {
  margin: 0 0 12px;
  font-size: 0.78rem;
  line-height: 1.55;
  color: var(--ms-muted);
}
.ms-lesson-curriculum-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 52vh;
  overflow: auto;
}
.ms-lesson-curriculum-item {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 8px;
  align-items: start;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
}
.ms-lesson-rank {
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--ms-green);
  padding-top: 2px;
}
.ms-lesson-curriculum-copy strong {
  display: inline;
  font-size: 0.8rem;
  margin-right: 6px;
}
.ms-lesson-curriculum-copy p {
  margin: 4px 0 0;
  font-size: 0.68rem;
  line-height: 1.45;
  color: var(--ms-muted);
}
.ms-lesson-heard-badge {
  font-size: 0.58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 4px;
  background: color-mix(in srgb, var(--ms-green) 20%, transparent);
  color: var(--ms-green);
}

.ms-help-anchor {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.ms-field-info-standalone {
  margin-left: 4px;
  vertical-align: middle;
}
.ms-btn.ms-lesson-curriculum-launch {
  border-color: color-mix(in srgb, var(--ms-green) 35%, var(--ms-border));
}

/* Live slider feedback — pulse when any optimizer control moves */
@keyframes ms-control-pulse {
  0%, 100% { box-shadow: none; }
  45% { box-shadow: 0 0 0 2px color-mix(in srgb, var(--ms-blue) 40%, transparent); }
}
@keyframes ms-gravity-pulse {
  0%, 100% {
    border-color: color-mix(in srgb, var(--ms-green) 28%, var(--ms-border));
    background: color-mix(in srgb, var(--ms-green) 6%, var(--ms-panel-2));
  }
  50% {
    border-color: color-mix(in srgb, var(--ms-green) 55%, var(--ms-border));
    background: color-mix(in srgb, var(--ms-green) 14%, var(--ms-panel-2));
  }
}
.ms-field--pulse {
  animation: ms-control-pulse 0.48s ease;
}
.ms-field-gravity-panel--pulse {
  animation: ms-gravity-pulse 0.58s ease;
}

/* Field gravity — live feedback when field size slider moves */
.ms-field-gravity-panel {
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--ms-green) 28%, var(--ms-border));
  background: color-mix(in srgb, var(--ms-green) 6%, var(--ms-panel-2));
  transition: border-color 0.2s, background 0.2s;
}
.ms-field-gravity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ms-field-gravity-tier {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ms-green);
}
.ms-field-gravity-mult {
  font-size: 0.68rem;
  color: var(--ms-muted);
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ms-panel);
  border: 1px solid var(--ms-border);
}
.ms-field-gravity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}
.ms-field-gravity-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ms-field-gravity-lbl {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ms-muted);
}
.ms-field-gravity-stat strong {
  font-size: 0.92rem;
  font-variant-numeric: tabular-nums;
}
.ms-field-gravity-hint {
  margin: 8px 0 6px;
  font-size: 0.68rem;
  line-height: 1.4;
  color: var(--ms-muted);
}
.ms-field-gravity-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ms-constraint-chip--field .ms-constraint-chip-value { color: var(--ms-green); }

@media (max-width: 600px) {
  .ms-mc-summary { grid-template-columns: repeat(2, 1fr); }
}

/* BlastCast v2 — mobile responsive */
@media (max-width: 768px) {
  .max-w-screen-2xl.mx-auto.px-8 { padding-left: 1rem; padding-right: 1rem; }
  .blast-card { padding: 1rem !important; }
  #heatmap-svg { width: 100%; height: auto; }
  #bc-player-switcher { gap: 0.35rem; }
  .bc-player-chip { font-size: 10px; padding: 4px 8px; }
  table.w-full.text-sm { font-size: 0.72rem; }
  #bc-rules-panel .grid { grid-template-columns: 1fr; }
  .ms-shell { width: calc(100% - 24px); }
  .ms-topnav-inner { width: calc(100% - 24px); padding: 10px 0; flex-wrap: wrap; }
  .ms-topnav-right { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .ms-topnav-strategy-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ms-topnav-strategy-actions .ms-btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: 6px;
  }
  .ms-mobile-date-picker {
    display: flex;
  }
  .ms-mobile-date-picker .ms-date-step {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }
  .ms-mobile-date-input {
    min-height: 36px;
    font-size: 16px;
  }
  .ms-nav-pills { width: 100%; }
  .ms-page-eyebrow { font-size: 24px; }
  .ms-metrics { flex-direction: column; }
  .ms-metric { border-right: none; border-bottom: 1px solid var(--ms-border); flex: 1 1 auto; }
  .ms-metrics > .ms-btn { margin: 8px 10px; width: calc(100% - 20px); }
  .ms-slate-bar { flex-direction: column; align-items: stretch; }
  .ms-date-row { width: 100%; }
  .ms-page-header { flex-direction: column; align-items: flex-start; }
}

/* ── FC × FL workspace chrome ── */
body.ms-fcfl {
  background: var(--ms-bg);
  font-size: 14px;
  --ms-toolbar-h: 36px;
  --ms-chrome-stack-h: clamp(168px, 18vw, 188px);
}

.ms-fcfl .ms-workspace-chrome {
  position: sticky;
  top: 0;
  z-index: var(--ms-z-chrome);
  margin: 0 0 12px;
  border-bottom: 1px solid var(--ms-border);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

.ms-fcfl .ms-topnav {
  position: relative;
  box-shadow: none;
}

.ms-fcfl .ms-slate-bar {
  border-left: none;
  border-right: none;
  align-items: center;
  padding: 5px 10px;
  gap: 8px;
  flex-wrap: wrap;
}

.ms-fcfl.ms-layout-sidebar .ms-slate-bar {
  padding: 12px 14px;
  gap: 12px;
}

.ms-fcfl .ms-nav-pills {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: var(--ms-panel);
  border: 1px solid var(--ms-border);
  border-top: none;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.ms-fcfl .ms-nav-pills::-webkit-scrollbar {
  display: none;
}

.ms-fcfl .ms-nav-pills button,
.ms-fcfl .ms-nav-pills .ms-nav-external {
  flex: 0 0 auto;
  scroll-snap-align: start;
  border-radius: 0;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-bottom: 2px solid transparent;
  background: transparent;
  white-space: nowrap;
}

.ms-fcfl .ms-nav-pills button.active {
  background: rgba(26, 115, 232, 0.14);
  color: var(--ms-blue-bright, #4a9eff);
  border-bottom-color: var(--ms-blue);
  box-shadow: none;
}

.ms-fcfl .ms-metrics {
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
}

.ms-fcfl .ms-metrics > .ms-btn {
  flex: 0 0 auto;
  align-self: center;
  margin: 6px 10px 6px auto;
  border-radius: var(--ms-radius-sm) !important;
  border: 1px solid var(--ms-border) !important;
}

.ms-fcfl .ms-page-header {
  margin: 12px 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--ms-border);
}

.ms-fcfl .ms-page-eyebrow {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
}

.ms-fcfl .ms-page-sub {
  font-size: 13px;
  max-width: none;
}

.ms-fcfl .ms-topnav .la-header-wordmark em {
  color: var(--ms-brand);
}

.ms-fcfl .ms-live-pill {
  background: rgba(95, 186, 125, 0.14);
  border: 1px solid rgba(95, 186, 125, 0.35);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ms-fcfl .ms-badge-vip {
  background: rgba(26, 115, 232, 0.18);
  border: 1px solid rgba(26, 115, 232, 0.35);
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-fcfl .ms-player-pool-panel {
  padding: 0;
  overflow: visible;
}

.ms-fcfl .ms-player-pool-panel .ms-panel-head {
  padding: 10px 14px;
  margin: 0;
  background: var(--ms-panel-2);
  border-bottom: 1px solid var(--ms-border);
}

.ms-fcfl .ms-player-pool-panel .ms-panel-title {
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-text);
  margin: 0;
}

.ms-fcfl .ms-pool-table {
  font-size: 12px;
}

.ms-fcfl .ms-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--ms-panel-2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.ms-fcfl .ms-table td {
  padding: 6px 10px;
  font-size: 12px;
}

.ms-fcfl .ms-table tr:nth-child(even) td {
  background: rgba(0, 0, 0, 0.1);
}

.ms-fcfl .ms-pill.active {
  background: var(--ms-blue);
  color: #fff;
}

.ms-fcfl .ms-contest-pills .ms-pill {
  border-radius: var(--ms-radius-sm);
  border: 1px solid var(--ms-border);
  font-size: 12px;
  font-weight: 600;
}

.ms-fcfl .ms-addon:hover {
  border-color: var(--ms-blue);
  background: rgba(26, 115, 232, 0.08);
  transform: none;
}

.ms-fcfl .ms-grok-chip {
  border-radius: var(--ms-radius-sm);
  font-weight: 600;
}

.ms-fcfl .ms-btn {
  border-radius: var(--ms-radius-sm);
  font-weight: 600;
  font-size: 13px;
}

.ms-fcfl .ms-btn-secondary {
  border: 1px solid var(--ms-border);
}

.ms-fcfl .ms-date-input,
.ms-fcfl .ms-slate-select {
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  font-family: var(--ms-mono);
  font-size: 13px;
}

.ms-fcfl .ms-date-step {
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
}

.ms-fcfl .ms-slate-meta strong {
  font-family: var(--ms-mono);
  font-size: 13px;
  color: var(--ms-brand);
}

/* Compact top chrome — less vertical stack, more workspace visible */
.ms-fcfl .ms-topnav .la-header-icon {
  width: 22px;
  height: 22px;
}
.ms-fcfl .ms-topnav-title {
  font-size: 15px;
}
.ms-fcfl .ms-topnav-left,
.ms-fcfl .ms-topnav-right {
  gap: 8px;
}
.ms-fcfl .ms-live-pill {
  padding: 2px 8px;
  font-size: 10px;
}
.ms-fcfl .ms-pro-btn {
  padding: 5px 10px;
  font-size: 11px;
}

.ms-strategy-builders {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.ms-strategy-builders .ms-btn {
  min-height: 44px;
  touch-action: manipulation;
}
@media (max-width: 768px) {
  .ms-strategy-builders {
    grid-template-columns: 1fr;
  }
}
.ms-fcfl .ms-date-control {
  flex-direction: row;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex-shrink: 0;
}
.ms-fcfl .ms-date-label {
  font-size: 10px;
  white-space: nowrap;
  margin: 0;
}
.ms-fcfl .ms-date-row {
  gap: 4px;
}
.ms-fcfl .ms-date-input {
  padding: 4px 30px 4px 8px;
  font-size: 13px;
  min-height: 28px;
  flex: 0 1 130px;
  min-width: 120px;
}
.ms-fcfl .ms-date-step {
  width: 28px;
  height: 28px;
  font-size: 16px;
}

.ms-fcfl .ms-slate-bar .ms-sport-tabs button {
  padding: 4px 10px;
  font-size: 10px;
}
.ms-fcfl .ms-slate-meta {
  flex-direction: row;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1 1 auto;
}
.ms-fcfl .ms-slate-meta-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-fcfl .ms-slate-meta strong {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  max-width: none;
  font-size: 12px;
  line-height: 1.35;
  word-break: break-word;
  color: var(--ms-green, #34d399);
}
.ms-fcfl .ms-slate-meta-hint {
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  flex: 1 1 auto;
}
@media (min-width: 900px) {
  .ms-fcfl .ms-slate-meta-hint {
    display: none;
  }
}
.ms-fcfl .ms-slate-actions {
  align-items: center;
  flex-shrink: 0;
}
.ms-slate-rail-head {
  display: none !important;
}
.ms-slate-dock .ms-slate-rail-head.ms-slate-dock-head {
  display: flex !important;
}
.ms-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ms-fcfl .ms-slate-rail-panel {
  padding: 5px 10px 6px;
}
.ms-fcfl.ms-layout-sidebar .ms-slate-rail-panel {
  padding: 10px 14px 12px;
}
.ms-fcfl .ms-slate-rail {
  padding: 2px 2px 4px;
  gap: 10px;
}
.ms-fcfl.ms-layout-sidebar .ms-slate-rail {
  padding: 4px 4px 8px;
  gap: 12px;
}
.ms-fcfl .ms-slate-rail-nav {
  width: 26px;
  height: 26px;
  font-size: 17px;
}
.ms-fcfl .ms-slate-card {
  height: auto;
  max-height: none;
  min-height: 88px;
  padding: 10px 12px 8px;
  border-radius: 10px;
}
.ms-fcfl.ms-layout-sidebar .ms-slate-card {
  min-height: 72px;
  min-width: 0;
  max-height: none;
  height: auto;
  padding: 8px 10px;
  border-radius: 10px;
}

.ms-fcfl.ms-layout-sidebar .ms-slate-rail-panel {
  padding: 8px 10px 10px;
}

.ms-fcfl.ms-layout-sidebar .ms-slate-bar {
  padding: 14px 14px 12px;
  gap: 12px;
}
.ms-fcfl .ms-slate-card-name {
  font-size: 12px;
}
.ms-fcfl .ms-slate-card-time {
  font-size: 14px;
}
.ms-fcfl .ms-slate-card-day {
  font-size: 11px;
}
.ms-fcfl .ms-slate-card-games {
  font-size: 11px;
  margin-top: 0;
}
.ms-fcfl .ms-slate-card-matchups {
  margin-top: 4px;
  gap: 6px;
}
.ms-fcfl .ms-slate-card .ms-team-logo,
.ms-fcfl .ms-slate-card .ms-logo-fallback {
  width: 18px !important;
  height: 18px !important;
}
.ms-fcfl .ms-slate-matchup {
  padding: 2px 6px 2px 3px;
  gap: 4px;
}
.ms-fcfl .ms-slate-team-abbr {
  font-size: 10px;
}
.ms-fcfl .ms-slate-rail-empty {
  padding: 10px 12px;
  font-size: 12px;
}
.ms-fcfl .ms-nav-pills button,
.ms-fcfl .ms-nav-pills .ms-nav-external {
  padding: 6px 12px;
  font-size: 11px;
}
.ms-fcfl .ms-workspace-chrome {
  margin-bottom: 8px;
}

@media (min-width: 1024px) {
  .ms-fcfl .ms-workspace-chrome {
    margin-left: 0;
    margin-right: 0;
  }
}

/* BlastCast v2 — inherit FC×FL tokens over Tailwind shell */
body.ms-fcfl.bc-page {
  background: var(--ms-bg) !important;
  color: var(--ms-text) !important;
  font-family: var(--ms-font) !important;
}
.ms-fcfl.bc-page .bc-blast-card,
.ms-fcfl.bc-page .blast-card {
  background: var(--ms-panel) !important;
  border: 1px solid var(--ms-border) !important;
  border-radius: var(--ms-radius-lg) !important;
  box-shadow: var(--ms-shadow-card);
}
.ms-fcfl.bc-page nav.bc-topnav {
  background: var(--ms-bg-elevated) !important;
  border-color: var(--ms-border) !important;
}
.bc-hidden { display: none !important; }
.bc-modal-open {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.bc-shell {
  max-width: var(--ms-content-max);
  margin: 0 auto;
  padding: 20px 16px 48px;
}
.bc-page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.bc-page-header h1 {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.bc-page-header p { margin: 4px 0 0; color: var(--ms-muted); font-size: 13px; }
.bc-header-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.bc-grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 1200px) {
  .bc-grid-2 { grid-template-columns: 1fr 1fr; }
  .bc-span-full { grid-column: 1 / -1; }
}
.bc-topnav-inner {
  max-width: var(--ms-content-max);
  margin: 0 auto;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.bc-topnav-left, .bc-topnav-right { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bc-back-link {
  color: var(--ms-muted);
  text-decoration: none;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bc-back-link:hover { color: var(--ms-text); }
.bc-brand-mark {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--ms-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.bc-role-switch {
  display: flex;
  background: var(--ms-panel-2);
  border-radius: 999px;
  padding: 3px;
  gap: 2px;
}
.bc-role-switch button {
  border: none;
  background: transparent;
  color: var(--ms-muted);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 999px;
  cursor: pointer;
}
.bc-role-switch button.bc-role-active {
  background: var(--ms-text);
  color: var(--ms-bg);
}
.bc-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--ms-panel-2);
  font-size: 12px;
  font-weight: 600;
}
.bc-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ms-green);
  animation: ms-pulse 2s infinite;
}
@keyframes ms-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}
.bc-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.bc-card-title {
  font-weight: 600;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bc-card-sub { font-size: 11px; color: var(--ms-muted); margin-top: 4px; }
.bc-player-chip {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--ms-panel-2);
  font-family: var(--ms-mono);
}
.bc-heatmap-wrap {
  aspect-ratio: 16 / 10;
  background: var(--ms-bg);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-lg);
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bc-zone-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.bc-zone-stat {
  padding: 10px;
  border-radius: var(--ms-radius);
  background: var(--ms-bg);
  cursor: pointer;
  font-size: 11px;
}
.bc-zone-stat strong {
  display: block;
  font-size: 1.25rem;
  font-family: var(--ms-mono);
  margin-top: 4px;
}
.bc-scroll-panel { max-height: 280px; overflow: auto; padding-right: 6px; }
.bc-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10, 15, 26, 0.88);
  backdrop-filter: blur(8px);
  z-index: 300;
}
.bc-modal-card {
  background: var(--ms-panel);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-lg);
  width: min(520px, calc(100% - 32px));
  box-shadow: var(--ms-shadow-elevated);
}
.bc-modal-head {
  padding: 14px 18px;
  border-bottom: 1px solid var(--ms-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bc-modal-body { padding: 18px; max-height: 420px; overflow: auto; }
.bc-modal-foot {
  padding: 14px 18px;
  border-top: 1px solid var(--ms-border);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.bc-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bc-table th {
  text-align: left;
  font-size: 11px;
  color: var(--ms-muted);
  font-weight: 500;
  padding: 10px 8px;
  border-bottom: 1px solid var(--ms-border);
}
.bc-table td { padding: 10px 8px; border-bottom: 1px solid var(--ms-border-soft); }
.bc-table th.num, .bc-table td.num { text-align: right; }
.bc-legal { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--ms-border); font-size: 11px; color: var(--ms-muted); }
.bc-legal a { color: var(--ms-blue); }
.ms-linked-pairs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.ms-link-pair {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
  font-size: 12px;
}
.ms-link-pair-label { color: var(--ms-text); }
.ms-contest-economics {
  font-size: 12px;
  color: var(--ms-green);
  margin: 0 0 10px;
  font-family: var(--ms-mono);
}
.ms-contest-economics-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  font-size: 12px;
}
.ms-econ-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border-soft);
  border-radius: 10px;
}
.ms-econ-lbl { color: var(--ms-muted); font-size: 11px; }
.ms-econ-val {
  font-family: var(--ms-mono);
  font-variant-numeric: tabular-nums;
  color: var(--ms-text);
  font-weight: 600;
}
.ms-econ-item--wide {
  grid-column: 1 / -1;
}
.ms-bankroll-risk {
  margin-left: 6px;
  font-size: 11px;
  font-family: var(--ms-mono);
  color: var(--ms-muted);
  font-weight: 500;
}
.ms-bankroll-risk--warn {
  color: var(--ms-amber, #f5a623);
}
.ms-bankroll-risk--danger {
  color: var(--ms-red, #ef4444);
  font-weight: 600;
}
.ms-stack-bringback-hint {
  margin: 6px 0 0;
  font-size: 11px;
  color: var(--ms-blue);
  line-height: 1.4;
}
.ms-portfolio-roi-block {
  display: contents;
}
.ms-roi-sensitivity {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  margin-top: 4px;
}
.ms-roi-chip {
  font-size: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--ms-border-soft);
  background: var(--ms-panel-2);
  font-family: var(--ms-mono);
  font-variant-numeric: tabular-nums;
  cursor: default;
}
.ms-field-hint {
  margin: 6px 0 0;
  font-size: 11px;
  color: var(--ms-muted);
  line-height: 1.4;
}
.ms-quick-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.ms-lineup-dup-only-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--ms-muted);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.ms-rules-bar {
  margin: 14px 0 12px;
  padding: 12px 14px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-rules-summary {
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--ms-muted);
  line-height: 1.5;
}
.ms-reroll-seed {
  margin: 0 0 10px;
}
.ms-constraint-map-panel {
  margin: 0 0 12px;
  border: 1px solid var(--ms-border-soft);
  border-radius: 10px;
  background: var(--ms-panel);
  overflow: hidden;
}
.ms-constraint-map-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ms-text);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.ms-constraint-map-summary::-webkit-details-marker {
  display: none;
}
.ms-constraint-map-summary::before {
  content: "▸";
  font-size: 11px;
  color: var(--ms-muted);
  transition: transform 0.15s ease;
}
.ms-constraint-map-panel[open] > .ms-constraint-map-summary::before {
  transform: rotate(90deg);
}
.ms-constraint-map {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
  gap: 8px;
  padding: 0 12px 12px;
}
.ms-constraint-chip {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-height: 52px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--ms-border-soft);
  background: var(--ms-panel-2);
  font-size: 11px;
  line-height: 1.35;
  color: var(--ms-text);
  text-align: left;
}
.ms-constraint-chip-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ms-muted);
}
.ms-constraint-chip-value {
  font-size: 12px;
  font-weight: 600;
  color: var(--ms-text);
}
.ms-constraint-chip-sub {
  font-size: 10px;
  color: var(--ms-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-constraint-chip--clickable {
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}
.ms-constraint-chip--clickable:hover {
  border-color: rgba(26, 115, 232, 0.45);
  background: rgba(26, 115, 232, 0.08);
}
.ms-constraint-chip--clickable:active {
  transform: scale(0.98);
}
.ms-constraint-chip--locked {
  border-color: rgba(16, 185, 129, 0.35);
  background: rgba(16, 185, 129, 0.08);
}
.ms-constraint-chip--excluded {
  border-color: rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.08);
}
.ms-constraint-chip--stack {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.08);
}
.ms-constraint-chip--caps {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.08);
}
.ms-constraint-chip--games {
  border-color: rgba(167, 139, 250, 0.35);
  background: rgba(167, 139, 250, 0.08);
}
.ms-constraint-chip--unique {
  border-color: rgba(45, 212, 191, 0.35);
  background: rgba(45, 212, 191, 0.08);
}
.ms-constraint-chip--downswing-on {
  border-color: rgba(251, 191, 36, 0.45);
  background: rgba(251, 191, 36, 0.12);
}
.ms-constraint-chip--downswing-off {
  opacity: 0.72;
}
.ms-constraint-chip--empty {
  opacity: 0.65;
}
.ms-constraint-copy {
  margin: 0 12px 12px;
}
.ms-rules-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bc-row-clickable { cursor: pointer; transition: background 0.15s ease; }
.bc-row-clickable:hover { background: var(--ms-panel-3); }
.bc-row-selected { background: rgba(26, 115, 232, 0.12); }
.bc-row-out { opacity: 0.58; }
.bc-text-struck { text-decoration: line-through; color: var(--ms-muted) !important; }
.bc-text-muted { color: var(--ms-muted); font-size: 12px; }
.bc-text-muted-sm { color: var(--ms-muted); font-size: 11px; }
.bc-text-pos { color: var(--ms-green); }
.bc-text-neg { color: #f87171; }
.bc-text-admin { color: #a78bfa; font-size: 10px; margin-left: 4px; }
.bc-text-accent { color: var(--ms-blue); }
.bc-mono { font-family: var(--ms-mono); font-variant-numeric: tabular-nums; }
.bc-mono-lg { font-family: var(--ms-mono); font-size: 18px; font-variant-numeric: tabular-nums; }
.bc-mono-xl { font-family: var(--ms-mono); font-size: 20px; font-variant-numeric: tabular-nums; }
.bc-btn-watch {
  font-size: 11px;
  padding: 6px 12px;
  border-radius: 10px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-3);
  color: var(--ms-text);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.bc-btn-watch:hover { background: var(--ms-panel); }
.bc-btn-watch-active {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.35);
  color: var(--ms-green);
}
.bc-stat-grid { display: grid; gap: 12px; font-size: 12px; }
.bc-stat-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bc-stat-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc-stat-card {
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border-soft);
  border-radius: 14px;
  padding: 12px;
}
.bc-stat-label { color: var(--ms-muted); font-size: 11px; margin-bottom: 4px; }
.bc-watchlist-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ms-border-soft);
}
.bc-watchlist-item:last-child { border-bottom: none; }
.bc-btn-remove {
  font-size: 11px;
  color: #f87171;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.bc-btn-remove:hover { color: #fca5a5; }
.bc-empty { color: var(--ms-muted); font-size: 12px; }
.bc-mock-tag { font-size: 10px; color: #f59e0b; margin-top: 4px; }
.bc-detail-foot { margin-top: 12px; font-size: 11px; color: var(--ms-muted); }
.ms-generate-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.ms-generate-row .ms-btn-primary { flex: 1 1 200px; }
.ms-salary-histogram {
  margin-bottom: 14px;
  padding: 10px 14px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-salary-hist-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ms-salary-hist-meta {
  font-size: 11px;
  color: var(--ms-muted);
  font-family: var(--ms-mono);
}
.ms-salary-hist-bars {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ms-salary-hist-row {
  display: grid;
  grid-template-columns: 72px 1fr 28px;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}
.ms-salary-hist-row-btn {
  width: 100%;
  padding: 2px 0;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  border-radius: 4px;
  transition: background 0.12s ease;
}
.ms-salary-hist-row-btn:hover {
  background: rgba(96, 165, 250, 0.08);
}
.ms-salary-hist-row-btn.active {
  background: rgba(96, 165, 250, 0.14);
  outline: 1px solid rgba(96, 165, 250, 0.35);
}
.ms-study-overlap-panel .ms-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.ms-study-overlap-stat {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}
.ms-study-overlap-pct {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ms-blue);
  font-family: var(--ms-mono);
}
.ms-study-overlap-meta {
  font-size: 0.78rem;
  color: var(--ms-muted);
}
.ms-study-overlap-hint,
.ms-study-overlap-empty {
  margin: 6px 0 0;
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-study-timeline-panel .ms-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.ms-study-timeline-panel .ms-panel-title { margin: 0; }
.ms-study-timeline { margin-top: 4px; }
.ms-study-timeline-empty,
.ms-study-timeline-hint {
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-study-timeline-empty { margin: 0; }
.ms-study-timeline-scrub {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ms-study-timeline-slider-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ms-study-timeline-slider {
  flex: 1;
  accent-color: var(--ms-blue);
}
.ms-study-timeline-edge {
  font-size: 0.68rem;
  color: var(--ms-muted);
  font-family: var(--ms-mono);
  min-width: 1.2em;
  text-align: center;
}
.ms-study-timeline-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.ms-study-timeline-label {
  font-size: 0.78rem;
  font-weight: 600;
}
.ms-study-snapshot-diff {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--ms-border);
}
.ms-study-snapshot-diff-empty {
  margin: 0;
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-study-snapshot-diff-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.ms-study-snapshot-diff-meta {
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-study-snapshot-diff-stats {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 0.75rem;
  margin-bottom: 4px;
}
.ms-team-exp-mini {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--ms-border);
}
.ms-team-exp-mini-title {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ms-blue);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ms-team-exp-mini-table {
  font-size: 11px;
}
.ms-salary-hist-label {
  color: var(--ms-muted);
  font-family: var(--ms-mono);
}
.ms-salary-hist-bar {
  height: 8px;
  background: var(--ms-panel);
  border-radius: 4px;
  overflow: hidden;
}
.ms-salary-hist-fill {
  height: 100%;
  background: var(--ms-blue);
  border-radius: 4px;
  min-width: 2px;
}
.ms-salary-hist-count {
  text-align: right;
  font-family: var(--ms-mono);
  color: var(--ms-text);
}
.ms-exp-actions {
  display: flex;
  gap: 4px;
  white-space: nowrap;
}
.ms-exp-actions .ms-pool-act {
  padding: 2px 6px;
  font-size: 11px;
}
.ms-own-exp-wrap { overflow-x: auto; }
.ms-own-exp-table,
.ms-chalk-report-table {
  table-layout: fixed;
  width: 100%;
  min-width: 420px;
  font-size: 12px;
}
.ms-own-exp-table .ms-own-exp-col-player,
.ms-chalk-report-table .ms-own-exp-col-player { width: 38%; }
.ms-own-exp-table .ms-own-exp-col-num,
.ms-chalk-report-table .ms-own-exp-col-num { width: 14%; }
.ms-own-exp-table .ms-own-exp-col-actions,
.ms-chalk-report-table .ms-own-exp-col-actions { width: 64px; }
.ms-own-exp-table thead th,
.ms-chalk-report-table thead th {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.05em;
}
.ms-own-exp-table th.ms-col-num,
.ms-chalk-report-table th.ms-col-num,
.ms-own-exp-table td.ms-pool-num,
.ms-chalk-report-table td.ms-pool-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ms-own-exp-table th.ms-col-actions,
.ms-chalk-report-table th.ms-col-actions,
.ms-own-exp-table td .ms-exp-actions,
.ms-chalk-report-table td .ms-exp-actions {
  text-align: right;
  justify-content: flex-end;
}
.ms-own-exp-table td:first-child,
.ms-chalk-report-table td:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 0;
}

.ms-panel-collapsible .ms-panel-head {
  align-items: center;
}
.ms-panel-collapse-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.ms-panel-collapse-btn .ms-panel-title {
  margin: 0;
}
.ms-panel-collapse-chevron {
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid var(--ms-muted);
  transition: transform 0.15s ease;
}
.ms-panel-collapsible.is-collapsed .ms-panel-collapse-chevron {
  transform: rotate(-90deg);
}
.ms-panel-collapsible.is-collapsed .ms-panel-collapse-body,
.ms-panel-collapsible.is-collapsed > .ms-panel-hint {
  display: none;
}
.ms-chalk-report-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ms-chalk-report-heading {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ms-text);
  display: flex;
  align-items: center;
  gap: 6px;
}
.ms-chalk-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ms-chalk-badge-chalk {
  color: #fbbf24;
  background: rgba(251, 191, 36, 0.12);
}
.ms-chalk-badge-lev {
  color: #34d399;
  background: rgba(52, 211, 153, 0.12);
}
.ms-chalk-report-table { font-size: 12px; }
.ms-chalk-report-foot {
  margin: 10px 0 0;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-chalk-lev-hot td { background: rgba(52, 211, 153, 0.06); }
@media (max-width: 1100px) {
  .ms-chalk-report-grid { grid-template-columns: 1fr; }
}
.ms-live-pts { color: var(--ms-green); font-weight: 600; }
.ms-monte-carlo-panel {
  margin-bottom: 14px;
  padding: 10px 14px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-mc-inline-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ms-mc-summary-inline { margin-bottom: 6px; }
.ms-mc-meta {
  margin: 0 0 8px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-mc-stale-badge {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 6px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-orange);
  background: rgba(245, 166, 35, 0.14);
  border: 1px solid rgba(245, 166, 35, 0.35);
  border-radius: 999px;
  vertical-align: middle;
}
.ms-mc-inline-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.ms-mc-filter-chip {
  font-size: 10px;
  padding: 2px 8px;
}
.ms-mc-percentiles {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 6px;
  font-size: 10px;
  color: var(--ms-muted);
  font-family: var(--ms-mono);
}
.ms-mc-percentiles b { color: var(--ms-text); font-weight: 600; }
.ms-mc-lineup-table-title {
  margin: 14px 0 8px;
  font-size: 0.82rem;
  font-weight: 700;
}
.ms-mc-lineup-table { font-size: 12px; }
.ms-shortcuts-note {
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--ms-muted);
  line-height: 1.4;
}
.ms-shortcuts-table thead th {
  padding-bottom: 6px;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
  text-align: left;
  border-bottom: 1px solid var(--ms-border);
}
.ms-shortcuts-table tbody td:first-child {
  width: 38%;
  white-space: nowrap;
}
.ms-pool-bangit-high { color: var(--ms-green); font-weight: 600; }
.ms-pool-bangit-mid { color: var(--ms-blue); }
.ms-pool-edge-pos { color: var(--ms-green); font-weight: 600; }
.ms-pool-edge-neg { color: var(--ms-orange); }
.ms-exposure-bulk {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.ms-dk-preview {
  margin-bottom: 10px;
  padding: 10px 12px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
  font-size: 11px;
}
.ms-dk-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.ms-dk-preview-warn {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
  padding: 8px 10px;
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.35);
  border-radius: var(--ms-radius);
  color: #fbbf24;
  font-size: 11px;
  line-height: 1.4;
}
.ms-dk-preview-warn i { margin-top: 2px; flex-shrink: 0; }
.ms-dk-preview-csv { margin-top: 4px; }
.ms-dk-preview-table {
  font-size: 10px;
  font-family: var(--ms-mono);
  white-space: nowrap;
}
.ms-dk-preview-table th,
.ms-dk-preview-table td {
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-dk-preview-missing {
  color: #fbbf24;
  background: rgba(234, 179, 8, 0.08);
}
.ms-dk-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 10px;
}
.ms-dk-preview-slot {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 6px;
  align-items: baseline;
}
.ms-dk-preview-pos { color: var(--ms-muted); font-family: var(--ms-mono); }
.ms-dk-preview-name { color: var(--ms-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ms-dk-preview-id { color: var(--ms-muted); font-size: 10px; font-family: var(--ms-mono); }
.ms-pool-note {
  margin-left: 4px;
  font-size: 10px;
  opacity: 0.85;
  color: var(--ms-gold, #e8b84a);
}
.ms-pool-note-btn {
  border: none;
  background: transparent;
  padding: 0 2px;
  vertical-align: middle;
  cursor: pointer;
  line-height: 1;
}
.ms-pool-note-btn:hover { opacity: 1; }
.ms-portfolio-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
  padding: 12px 14px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-portfolio-summary.ms-portfolio-summary-loading {
  position: relative;
  overflow: hidden;
  pointer-events: none;
}
.ms-portfolio-summary.ms-portfolio-summary-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.04) 40%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0.04) 60%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: ms-shimmer 1.2s infinite;
  border-radius: inherit;
  pointer-events: none;
}
#ms-tab-build .ms-portfolio-sticky-bar {
  position: static;
  z-index: auto;
  margin-bottom: 14px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
  box-shadow: none;
}
#ms-tab-build .ms-portfolio-sticky-bar .ms-portfolio-summary {
  margin-bottom: 0;
  padding-bottom: 10px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.ms-portfolio-econ-mini {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  padding: 0 14px 10px;
  border-top: 1px solid var(--ms-border-soft);
  font-size: 11px;
}
.ms-portfolio-econ-mini.open { display: flex; }
.ms-econ-mini-item {
  color: var(--ms-muted);
  font-family: var(--ms-mono);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ms-econ-mini-item strong {
  color: var(--ms-text);
  font-weight: 600;
}
.ms-econ-mini-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-left: auto;
}
.ms-econ-mini-chip {
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid var(--ms-border-soft);
  background: var(--ms-panel);
  font-family: var(--ms-mono);
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  color: var(--ms-text);
}
.ms-econ-mini-chip:hover { border-color: var(--ms-blue); }
.ms-econ-mini-chip.active {
  border-color: var(--ms-blue);
  background: rgba(26, 115, 232, 0.12);
}
.ms-portfolio-diff {
  display: none;
  margin: 0 0 14px;
  padding: 10px 12px;
  background: rgba(26, 115, 232, 0.06);
  border: 1px solid rgba(26, 115, 232, 0.22);
  border-radius: var(--ms-radius);
}
.ms-portfolio-diff.open { display: block; }
.ms-portfolio-diff-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ms-portfolio-diff-meta {
  font-size: 10px;
  color: var(--ms-muted);
}
.ms-portfolio-diff-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.ms-portfolio-diff-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 64px;
}
.ms-portfolio-diff-val {
  font-family: var(--ms-mono);
  font-size: 14px;
  font-weight: 600;
}
.ms-portfolio-diff-empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.ms-portfolio-diff-empty .ms-muted {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
}
.ms-portfolio-diff-overlap {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 11px;
}
.ms-portfolio-diff-overlap > .ms-portfolio-diff-meta {
  display: block;
  margin-top: 2px;
}
.ms-portfolio-diff-shift-chart {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.ms-portfolio-diff-shift-row {
  display: grid;
  grid-template-columns: minmax(88px, 1.1fr) minmax(0, 2.4fr);
  gap: 8px;
  align-items: start;
}
.ms-portfolio-diff-shift-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ms-text);
  font-size: 11px;
  padding-top: 2px;
}
.ms-portfolio-diff-shift-bars {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ms-portfolio-diff-shift-bar-line {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 34px auto;
  gap: 6px;
  align-items: center;
}
.ms-portfolio-diff-bar-lbl {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ms-muted);
}
.ms-portfolio-diff-ascii {
  font-family: var(--ms-mono);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
  white-space: pre;
  overflow: hidden;
}
.ms-portfolio-diff-ascii-was {
  color: rgba(148, 163, 184, 0.72);
}
.ms-portfolio-diff-up {
  color: #f87171 !important;
}
.ms-portfolio-diff-down {
  color: var(--ms-green) !important;
}
.ms-portfolio-diff-bar-pct {
  font-family: var(--ms-mono);
  font-size: 10px;
  color: var(--ms-muted);
  text-align: right;
}
.ms-portfolio-diff-shift-delta {
  font-family: var(--ms-mono);
  font-size: 10px;
  min-width: 42px;
  text-align: right;
  font-weight: 600;
}
.ms-portfolio-diff-row {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 3px 0;
  color: var(--ms-muted);
}
.ms-portfolio-diff-row em {
  font-style: normal;
  font-size: 10px;
}
.ms-boom-bust-row .ms-field { flex: 1; min-width: 140px; }
.ms-overnight-banner-wrap { margin-bottom: 10px; }
.ms-overnight-banner-wrap[hidden] { display: none !important; }
.ms-overnight-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: var(--ms-radius);
  border: 1px solid color-mix(in srgb, var(--ms-blue) 32%, var(--ms-border));
  background: color-mix(in srgb, var(--ms-blue) 7%, var(--ms-panel));
  font-size: 0.78rem;
  line-height: 1.45;
}
.ms-overnight-banner-icon {
  color: var(--ms-blue);
  font-size: 15px;
  flex-shrink: 0;
}
.ms-overnight-banner-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 160px;
}
.ms-overnight-banner-copy strong { color: var(--ms-text); font-size: 0.82rem; }
.ms-overnight-banner-copy span { color: var(--ms-muted); }
.ms-overnight-build-complete {
  display: inline;
  margin-left: 0.35em;
  color: color-mix(in srgb, var(--ms-green) 78%, var(--ms-muted));
  font-style: normal;
  font-weight: 500;
  font-size: 0.76rem;
}
.ms-overnight-banner--complete {
  border-color: color-mix(in srgb, var(--ms-green) 28%, var(--ms-border));
  background: color-mix(in srgb, var(--ms-green) 5%, var(--ms-panel));
}
.ms-overnight-banner-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}
.ms-overnight-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 72px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
}
.ms-overnight-stat-val {
  color: var(--ms-text);
  font-family: var(--ms-mono);
  font-size: 0.92rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.ms-overnight-stat-val--text {
  font-size: 0.72rem;
  font-weight: 600;
  text-align: center;
  max-width: 9rem;
  line-height: 1.25;
}
.ms-overnight-stat-label {
  color: var(--ms-muted);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
}
.ms-overnight-stat--health .ms-health-ring--dash {
  width: 28px;
  height: 28px;
}
.ms-overnight-stat--health .ms-health-ring--dash .ms-health-ring-val {
  font-size: 0.58rem;
}
.ms-overnight-stat--stale {
  border-color: color-mix(in srgb, var(--ms-orange) 40%, var(--ms-border));
  background: color-mix(in srgb, var(--ms-orange) 8%, var(--ms-panel-2));
}
.ms-overnight-stat--stale .ms-overnight-stat-val { color: var(--ms-orange); }
.ms-overnight-banner-dismiss {
  flex-shrink: 0;
  min-width: 32px;
  padding-inline: 8px;
  margin-left: auto;
  color: var(--ms-muted);
  background: transparent;
}
.ms-overnight-banner-dismiss:hover { color: var(--ms-text); }

@media (max-width: 720px) {
  .ms-overnight-banner-stats { width: 100%; }
  .ms-overnight-stat { flex: 1 1 calc(50% - 4px); min-width: 0; }
  .ms-overnight-banner-dismiss { margin-left: 0; }
}

.ms-vip-banner-wrap { margin-bottom: 10px; }
.ms-vip-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: linear-gradient(90deg, rgba(26, 115, 232, 0.12), rgba(26, 115, 232, 0.04));
  border: 1px solid rgba(26, 115, 232, 0.28);
  border-radius: var(--ms-radius);
}
.ms-vip-banner-icon { color: var(--ms-blue); font-size: 16px; }
.ms-vip-banner-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
  color: var(--ms-muted);
}
.ms-vip-banner-copy strong { color: var(--ms-text); font-size: 13px; }
.ms-vip-banner-cta { flex-shrink: 0; font-weight: 700; }
.ms-vip-banner-cta--primary {
  background: var(--ms-blue);
  border-color: var(--ms-blue);
  color: #fff;
}
.ms-vip-banner-cta--warn {
  background: rgba(255, 149, 0, 0.14);
  border-color: rgba(255, 149, 0, 0.45);
  color: var(--ms-orange);
}
.ms-vip-banner-cta--success {
  background: rgba(52, 199, 89, 0.14);
  border-color: rgba(52, 199, 89, 0.45);
  color: var(--ms-green);
}
.ms-vip-banner-cta--primary:hover { filter: brightness(1.08); }
.ms-vip-banner-cta--warn:hover,
.ms-vip-banner-cta--success:hover { filter: brightness(1.06); }
.ms-leo-btn { border-color: rgba(26, 115, 232, 0.45); color: var(--ms-blue); }
.ms-live-head {
  margin-bottom: 12px;
}

.ms-scoreboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
}

.ms-score-card {
  display: grid;
  grid-template-columns: 1fr 30px 1fr;
  align-items: center;
  gap: 6px;
  min-height: 60px;
  padding: 12px 14px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
}

.ms-score-team {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.ms-score-team:first-child {
  justify-content: flex-start;
}

.ms-score-team:last-child {
  flex-direction: row-reverse;
  justify-content: flex-start;
  text-align: right;
}

.ms-score-logo,
.ms-score-team .la-logo-fallback {
  flex-shrink: 0;
  border-radius: 4px;
  object-fit: contain;
}

.ms-score-abbr {
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
}

.ms-score-runs {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: 1rem;
}

.ms-score-at {
  flex-shrink: 0;
  color: var(--ms-muted);
  font-size: 0.75rem;
  font-weight: 500;
}

.ms-score-team-winner .ms-score-abbr,
.ms-score-team-winner .ms-score-runs {
  color: var(--ms-green);
}

.ms-score-team-loser .ms-score-abbr,
.ms-score-team-loser .ms-score-runs {
  color: var(--ms-muted);
  opacity: 0.8;
}

/* Portfolio health score ring */
.ms-health-ring {
  --health-color: var(--ms-green);
  position: relative;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ms-health-ring--compact,
.ms-health-ring--dash {
  width: 40px;
  height: 40px;
}
.ms-health-ring--warn { --health-color: var(--ms-orange); }
.ms-health-ring--bad { --health-color: #ef4444; }
.ms-health-ring-track {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    var(--health-color) calc(var(--health-pct, 0) * 1%),
    rgba(148, 163, 184, 0.22) 0
  );
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
}
.ms-health-ring-track::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border-soft);
}
.ms-health-ring-val {
  position: relative;
  z-index: 1;
  font-family: var(--ms-mono);
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--ms-text);
  line-height: 1;
}
.ms-health-ring--dash .ms-health-ring-val {
  font-size: 12px;
}
.ms-portfolio-health {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 56px;
  padding: 2px 4px;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  border-radius: var(--ms-radius-sm);
  transition: background 0.15s ease, transform 0.15s ease;
}
.ms-portfolio-health:hover {
  background: rgba(59, 130, 246, 0.08);
  transform: translateY(-1px);
}
.ms-portfolio-health:focus-visible {
  outline: 2px solid var(--ms-blue);
  outline-offset: 2px;
}
.ms-dash-health-tile {
  align-items: center;
  text-align: center;
}
.ms-dash-health-tile--good {
  border-color: rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.06);
}
.ms-dash-health-tile--warn {
  border-color: rgba(249, 115, 22, 0.45);
  background: rgba(249, 115, 22, 0.08);
}
.ms-dash-health-tile--bad {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.08);
}
.ms-dash-health-tile:hover {
  border-color: var(--ms-blue);
  background: rgba(59, 130, 246, 0.1);
}
.ms-portfolio-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 72px;
  cursor: help;
}
.ms-portfolio-val {
  font-family: var(--ms-mono);
  font-size: 15px;
  font-weight: 600;
  color: var(--ms-text);
}
.ms-portfolio-lbl {
  font-size: 10px;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ms-lineup-row { cursor: pointer; }
.ms-lineup-row:hover { background: var(--ms-panel-3); }
.ms-lineup-row.expanded { background: rgba(26, 115, 232, 0.1); }
.ms-lineup-hint {
  margin: 8px 0 0;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-lineup-detail {
  display: none;
  margin-top: 12px;
  padding: 12px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-lineup-detail.open { display: block; }
.ms-lineup-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 13px;
}
.ms-lineup-detail-table { font-size: 12px; }
.ms-team-exposure-table { font-size: 12px; }
.ms-pivot-table { font-size: 12px; }
.ms-lineup-sort-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-auto-mc-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--ms-muted);
  cursor: pointer;
  user-select: none;
}
.ms-auto-mc-label input { accent-color: var(--ms-blue); }
.ms-lineup-sort { min-width: 100px; padding: 4px 8px; font-size: 12px; }
.ms-rules-presets {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.ms-rules-presets-label {
  font-size: 10px;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-right: 4px;
}
.ms-custom-preset-select-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-custom-preset-select {
  min-width: 130px;
  padding: 4px 8px;
  font-size: 11px;
}
.ms-build-prep-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 4px 0 8px;
}
.ms-pill.ms-pill-sm {
  padding: 4px 10px;
  font-size: 11px;
}
.ms-lineup-detail-meta {
  display: block;
  font-size: 11px;
  color: var(--ms-muted);
  margin-top: 2px;
  font-weight: 400;
}
.ms-lineup-quality-wrap {
  margin: 0 0 12px;
  padding: 8px 10px;
  background: var(--ms-panel);
  border: 1px solid var(--ms-border-soft);
  border-radius: var(--ms-radius);
}
.ms-lineup-quality-total {
  font-family: var(--ms-mono);
  font-weight: 600;
  margin-left: 6px;
}
.ms-lineup-quality-badge { cursor: help; text-decoration: underline dotted; text-underline-offset: 2px; }
.ms-lineup-quality-bar {
  display: flex;
  width: 100%;
  height: 10px;
  background: var(--ms-panel-2);
  border-radius: 5px;
  overflow: hidden;
}
.ms-lineup-quality-seg {
  height: 100%;
  min-width: 1px;
  transition: width 0.3s ease;
}
.ms-lineup-quality-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 8px;
}
.ms-lineup-quality-chip {
  display: inline-flex;
  flex-direction: column;
  gap: 1px;
  min-width: 108px;
  padding: 5px 8px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border-soft);
  border-radius: 6px;
  font-size: 10px;
  cursor: help;
}
.ms-lineup-quality-chip--meta { min-width: 120px; }
.ms-lineup-quality-swatch {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  margin-bottom: 2px;
}
.ms-lineup-quality-chip-lbl {
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 9px;
}
.ms-lineup-quality-chip-val {
  font-family: var(--ms-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--ms-text);
}
.ms-lineup-quality-chip-meta {
  color: var(--ms-muted);
  font-size: 9px;
  line-height: 1.3;
}
.ms-lineup-sal-bar-wrap {
  margin: 0 0 12px;
  padding: 8px 10px;
  background: var(--ms-panel);
  border: 1px solid var(--ms-border-soft);
  border-radius: var(--ms-radius);
}
.ms-lineup-sal-lbl {
  margin: 0 0 6px;
  font-size: 10px;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ms-lineup-sal-bar {
  display: flex;
  width: 100%;
  height: 10px;
  background: var(--ms-panel-2);
  border-radius: 5px;
  overflow: hidden;
}
.ms-lineup-sal-bar.ms-lineup-sal-bar-empty { opacity: 0.35; }
.ms-lineup-sal-seg {
  height: 100%;
  min-width: 1px;
  transition: width 0.3s ease;
}
.ms-lineup-sal-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 8px;
}
.ms-lineup-sal-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-family: var(--ms-mono);
  color: var(--ms-muted);
}
.ms-lineup-sal-swatch {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  flex-shrink: 0;
}
.ms-lineup-sal-pos {
  color: var(--ms-text);
  font-weight: 600;
}
.ms-lineup-sal-amt { font-variant-numeric: tabular-nums; }
.ms-lineup-fp {
  display: inline-block;
  margin-top: 4px;
  padding: 1px 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  color: var(--ms-muted);
  background: rgba(148, 163, 184, 0.12);
  border-radius: 4px;
  cursor: help;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ms-lineup-swap-cell { min-width: 110px; }
.ms-lineup-swap {
  width: 100%;
  max-width: 120px;
  padding: 3px 6px;
  font-size: 11px;
  background: var(--ms-panel-3);
  border: 1px solid var(--ms-border);
  border-radius: 6px;
  color: var(--ms-text);
}
.ms-stack-exposure-table { font-size: 12px; }
.ms-stack-exposure-wrap {
  display: grid;
  grid-template-columns: minmax(200px, 220px) 1fr;
  gap: 12px;
  align-items: start;
}
.ms-stack-pie-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 12px 10px;
  background: var(--ms-panel-2);
  border-radius: var(--ms-radius-sm);
}
.ms-stack-pie {
  position: relative;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}
.ms-stack-pie-hole {
  position: absolute;
  inset: 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border-soft);
}
.ms-stack-pie-total {
  font-family: var(--ms-mono);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: var(--ms-text);
}
.ms-stack-pie-label {
  margin-top: 2px;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ms-muted);
}
.ms-stack-pie-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ms-stack-pie-legend-item.active .ms-stack-pie-legend-btn {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.35);
}
.ms-stack-pie-legend-btn,
.ms-stack-pie-legend-static {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  align-items: center;
  gap: 6px;
  width: 100%;
  font-size: 10px;
}
.ms-stack-pie-legend-btn {
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--ms-text);
  padding: 4px 6px;
  cursor: pointer;
  text-align: left;
}
.ms-stack-pie-legend-btn:hover {
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.2);
}
.ms-stack-pie-swatch {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}
.ms-stack-pie-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--ms-mono);
}
.ms-stack-pie-pct {
  font-family: var(--ms-mono);
  color: var(--ms-muted);
  white-space: nowrap;
}
.ms-stack-exposure-chart {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  background: var(--ms-panel-2);
  border-radius: var(--ms-radius-sm);
}
.ms-stack-bar-row {
  display: grid;
  grid-template-columns: minmax(88px, 1.1fr) 1fr 72px;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  padding: 6px 8px;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.ms-stack-bar-row:hover {
  background: rgba(59, 130, 246, 0.06);
  border-color: rgba(59, 130, 246, 0.18);
}
.ms-stack-bar-row--active {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.35);
  box-shadow: inset 3px 0 0 var(--ms-blue);
}
.ms-stack-bar-label {
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--ms-mono);
  color: var(--ms-text);
}
.ms-stack-bar-track {
  display: block;
  height: 10px;
  background: var(--ms-panel);
  border-radius: 5px;
  overflow: hidden;
}
.ms-stack-bar-fill {
  display: block;
  height: 100%;
  min-width: 2px;
  background: linear-gradient(90deg, var(--ms-blue), #60a5fa);
  border-radius: 5px;
  transition: width 0.35s ease;
}
.ms-stack-bar-meta {
  text-align: right;
  font-family: var(--ms-mono);
  color: var(--ms-text);
  white-space: nowrap;
}
.ms-stack-bar-count {
  color: var(--ms-muted);
  font-size: 10px;
}
@media (max-width: 720px) {
  .ms-stack-exposure-wrap {
    grid-template-columns: 1fr;
  }
}
.ms-player-exposure-chart {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 8px 10px;
  background: var(--ms-panel-2);
  border-radius: var(--ms-radius-sm);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.ms-exp-bar-head {
  display: grid;
  grid-template-columns: minmax(112px, 1.15fr) minmax(72px, 1fr) 68px 84px minmax(132px, 1.1fr) 72px;
  gap: 6px;
  min-width: 560px;
  padding: 0 2px 4px;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ms-muted);
}
.ms-exp-bar-head.ms-exp-bar-has-live,
.ms-exp-bar-row.ms-exp-bar-has-live {
  grid-template-columns: minmax(112px, 1.15fr) minmax(72px, 1fr) 40px 34px 68px 84px minmax(132px, 1.1fr) 72px;
  min-width: 620px;
}
.ms-exp-bar-dkp,
.ms-exp-bar-live {
  text-align: right;
  font-family: var(--ms-mono);
  font-size: 11px;
  color: var(--ms-muted);
  white-space: nowrap;
}
.ms-exp-bar-dkp.ms-live-pts,
.ms-exp-bar-live.ms-live-pts {
  color: var(--ms-green);
  font-weight: 600;
}
.ms-exp-bar-hr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 28px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-exp-bar-hr.ms-pool-hr-hit {
  color: var(--ms-green);
}
.ms-exp-bar-hr .ms-hr-symbol {
  font-size: 12px;
  line-height: 1;
}
.ms-exp-bar-hr .ms-hr-count {
  font-family: var(--ms-mono);
  font-size: 10px;
  font-weight: 700;
}
.ms-exp-bar-row {
  display: grid;
  grid-template-columns: minmax(112px, 1.15fr) minmax(72px, 1fr) 68px 84px minmax(132px, 1.1fr) 72px;
  align-items: center;
  gap: 6px;
  min-width: 560px;
  padding: 5px 6px;
  font-size: 11px;
  border-radius: 6px;
  background: var(--ms-panel);
  border: 1px solid transparent;
}
.ms-exp-bar-row.ms-exposure-over {
  border-color: rgba(245, 166, 35, 0.22);
}
.ms-exp-bar-label-col {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.ms-exp-bar-name {
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  color: var(--ms-text);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.ms-exp-bar-name:hover { color: var(--ms-blue); text-decoration: underline; }
.ms-exp-bar-team {
  font-size: 9px;
  font-family: var(--ms-mono);
  color: var(--ms-muted);
  letter-spacing: 0.03em;
}
.ms-exp-bar-track {
  position: relative;
  height: 10px;
  background: var(--ms-panel-2);
  border-radius: 5px;
  overflow: visible;
}
.ms-exp-bar-fill {
  height: 100%;
  min-width: 2px;
  background: linear-gradient(90deg, var(--ms-blue), #60a5fa);
  border-radius: 5px;
  transition: width 0.35s ease;
}
.ms-exp-bar-fill-over {
  background: linear-gradient(90deg, var(--ms-orange), #fbbf24);
}
.ms-exp-bar-fill-under {
  background: linear-gradient(90deg, var(--ms-green), #6ee7b7);
}
.ms-exp-cap-marker {
  position: absolute;
  top: -3px;
  bottom: -3px;
  width: 2px;
  margin-left: -1px;
  background: var(--ms-muted);
  border-radius: 1px;
  opacity: 0.55;
  pointer-events: none;
  z-index: 2;
}
.ms-exp-cap-marker.over {
  background: var(--ms-orange);
  opacity: 1;
  box-shadow: 0 0 0 1px rgba(245, 166, 35, 0.35);
}
.ms-exp-bar-meta {
  text-align: right;
  font-family: var(--ms-mono);
  color: var(--ms-text);
  white-space: nowrap;
  font-size: 11px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-exp-bar-count {
  color: var(--ms-muted);
  font-size: 10px;
}
.ms-exp-over-badge {
  display: inline-block;
  margin-left: 2px;
  padding: 0 4px;
  font-size: 9px;
  color: var(--ms-orange);
  background: rgba(245, 166, 35, 0.12);
  border-radius: 3px;
}
.ms-exp-bar-caps {
  display: flex;
  gap: 4px;
  justify-content: stretch;
  min-width: 0;
}
.ms-exp-bar-caps .ms-exposure-cap-input { width: 38px; padding: 2px 4px; }
.ms-exp-cap-range {
  width: 100%;
  min-width: 0;
}
.ms-exp-cap-range-head {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2px;
}
.ms-exp-cap-range-meta {
  font-size: 9px;
  font-family: var(--ms-mono);
  font-weight: 700;
  color: rgba(163, 230, 53, 0.92);
  white-space: nowrap;
}
.ms-exp-cap-range-track {
  height: 32px;
  margin: 0;
  padding: 0 2px;
}
.ms-exp-cap-range-track .ms-pool-sal-range-channel {
  height: 22px;
}
.ms-exp-cap-range-track .ms-pool-sal-range-thumb {
  height: 30px;
}
.ms-exp-cap-range-track .ms-pool-sal-range-thumb::-webkit-slider-thumb {
  width: 11px;
  height: 22px;
}
.ms-exp-cap-range-track .ms-pool-sal-range-thumb::-moz-range-thumb {
  width: 11px;
  height: 22px;
}
.ms-pos-exp-sparkline {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  margin: 0 0 10px;
  padding: 8px 10px;
  background: var(--ms-panel-2);
  border-radius: var(--ms-radius-sm);
}
.ms-pos-spark-cell {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.ms-pos-spark-cell[data-pos-filter] {
  cursor: pointer;
  border-radius: 4px;
  padding: 2px 0;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}
.ms-pos-spark-cell[data-pos-filter]:hover {
  background: rgba(59, 130, 246, 0.08);
}
.ms-pos-spark-cell[data-pos-filter].is-pool-pos-active,
.ms-pos-spark-cell[data-pos-filter].is-pool-pos-active .ms-pos-spark-bar {
  box-shadow: 0 0 0 1px var(--ms-blue);
}
.ms-pos-spark-bar-wrap {
  width: 100%;
  height: 36px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.ms-pos-spark-bar {
  width: 72%;
  min-height: 2px;
  background: linear-gradient(180deg, #60a5fa, var(--ms-blue));
  border-radius: 3px 3px 1px 1px;
  transition: height 0.35s ease;
}
.ms-pos-spark-label {
  font-size: 9px;
  font-family: var(--ms-mono);
  color: var(--ms-muted);
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
.ms-pos-stack-cell {
  min-width: 120px;
}
.ms-pos-stack-bar {
  display: inline-flex;
  vertical-align: middle;
  width: 72px;
  height: 8px;
  background: var(--ms-panel);
  border-radius: 4px;
  overflow: hidden;
}
.ms-pos-stack-bar.ms-pos-stack-empty {
  opacity: 0.35;
}
.ms-pos-stack-seg {
  height: 100%;
  min-width: 1px;
  transition: width 0.3s ease;
}
.ms-pos-stack-bar[data-pos-filter],
.ms-pos-stack-seg[data-pos-filter] {
  cursor: pointer;
}
.ms-pos-stack-bar[data-pos-filter]:hover .ms-pos-stack-seg,
.ms-pos-stack-seg[data-pos-filter]:hover {
  filter: brightness(1.12);
}
.ms-pos-stack-bar.is-pool-pos-active,
.ms-pos-stack-seg.is-pool-pos-active {
  box-shadow: inset 0 0 0 1px var(--ms-blue);
}
.ms-pos-stack-pct {
  display: inline-block;
  margin-left: 6px;
  font-size: 10px;
  font-family: var(--ms-mono);
  color: var(--ms-muted);
  vertical-align: middle;
}
.ms-position-exposure-table { font-size: 12px; }
.ms-pos-exp-player {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}
.ms-pos-exp-sub {
  font-size: 10px;
  color: var(--ms-muted);
  line-height: 1.3;
}
.ms-exposure-cap-hint {
  margin: 0 0 8px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-team-cap-ok { color: var(--ms-green); }
.ms-team-cap-over { color: var(--ms-orange); }
.ms-team-cap-ok-row td { background: rgba(52, 211, 153, 0.04); }
.ms-team-over-badge {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 5px;
  font-size: 10px;
  font-family: var(--ms-mono);
  color: var(--ms-orange);
  background: rgba(245, 166, 35, 0.12);
  border-radius: 4px;
}
.ms-team-exp-bar { height: 7px; }
.ms-build-mode {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 8px 0 4px;
}
.ms-build-mode-label {
  font-size: 10px;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ms-pool-act[data-pool-fav].on { color: #fbbf24; }
.ms-pool-row.ms-pool-fav .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 #fbbf24, inset 0 0 0 9999px var(--ms-panel);
}
.ms-pool-row.ms-pool-fav:nth-child(even) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 #fbbf24, inset 0 0 0 9999px #151920;
}
.ms-pool-watch-btn { font-size: 10px; line-height: 1; }
.ms-pool-watch-btn.on { color: #34d399; opacity: 1; }
.ms-pool-row.ms-pool-watched .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 rgba(52, 211, 153, 0.55), inset 0 0 0 9999px var(--ms-panel);
}
.ms-pool-row.ms-pool-watched:nth-child(even) .ms-pool-sticky-rank {
  box-shadow: inset 3px 0 0 rgba(52, 211, 153, 0.55), inset 0 0 0 9999px #151920;
}
.ms-pool-chip[data-pool-mode="watchlist"].active {
  border-color: #34d399;
  background: rgba(52, 211, 153, 0.14);
}
.ms-nav-watchlist-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border: 1px solid rgba(52, 211, 153, 0.35);
  border-radius: var(--ms-radius-sm);
  background: rgba(52, 211, 153, 0.1);
  color: #6ee7b7;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.ms-nav-watchlist-btn:hover {
  border-color: #34d399;
  background: rgba(52, 211, 153, 0.18);
  color: #a7f3d0;
}
.ms-nav-watchlist-btn .ms-nav-badge {
  background: #34d399;
  color: #042f2e;
  font-weight: 700;
}
.ms-exp-watch-btn {
  padding: 2px 8px !important;
  font-size: 10px !important;
  line-height: 1.2;
  border-color: rgba(52, 211, 153, 0.35);
  color: #6ee7b7;
}
.ms-exp-watch-btn.on {
  background: rgba(52, 211, 153, 0.18);
  border-color: #34d399;
  color: #a7f3d0;
}
.ms-exp-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
}
.ms-pool-table thead th.ms-pool-play-col,
.ms-pool-table thead th[data-pool-sort="play"] {
  min-width: 96px;
}
.ms-pool-table thead th.ms-pool-status-col,
.ms-pool-table thead th[data-pool-sort="status"] {
  min-width: 84px;
}
.ms-pool-table tbody td.ms-pool-play-col,
.ms-pool-table tbody td.ms-pool-status-col {
  overflow: visible;
  max-width: none;
  white-space: nowrap;
  vertical-align: middle;
  padding: 6px 10px;
}
.ms-pool-badge-cell {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 22px;
  line-height: 1.2;
}
.ms-pool-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0.2rem 0.45rem;
  border-radius: 5px;
  line-height: 1.2;
  white-space: nowrap;
}
.ms-pool-status.ms-status-bad { background: rgba(248, 113, 113, 0.18); color: #fca5a5; }
.ms-pool-status.ms-status-warn { background: rgba(251, 191, 36, 0.14); color: #fcd34d; }
.ms-pool-status.ms-status-ok {
  background: rgba(148, 163, 184, 0.12);
  color: var(--ms-muted);
}
.ms-pool-status-empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  color: var(--ms-muted);
  font-size: 0.85rem;
  opacity: 0.45;
}

.ms-pool-play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 0.2rem 0.45rem;
  border-radius: 5px;
  line-height: 1.2;
  white-space: nowrap;
}
.ms-play-active {
  background: rgba(34, 197, 94, 0.18);
  color: #4ade80;
}
.ms-play-projected {
  background: rgba(59, 130, 246, 0.16);
  color: #60a5fa;
}
.ms-play-not-active {
  background: rgba(248, 113, 113, 0.14);
  color: #f87171;
}
.ms-play-bullpen {
  background: rgba(148, 163, 184, 0.14);
  color: #94a3b8;
}
.ms-lineup-detail-actions { display: flex; gap: 6px; }
.ms-lineup-compare {
  display: none;
  margin-top: 12px;
  padding: 12px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-lineup-compare.open { display: block; }
.ms-lineup-compare-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  margin-bottom: 10px;
  padding: 10px 12px;
  background: rgba(26, 115, 232, 0.1);
  border: 1px solid rgba(26, 115, 232, 0.25);
  border-radius: 8px;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.ms-lineup-compare-summary-delta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 72px;
}
.ms-lineup-compare-summary-delta strong {
  font-size: 15px;
}
.ms-lineup-compare-summary-meta {
  margin-left: auto;
  font-size: 12px;
  color: var(--ms-muted);
}
.ms-lineup-compare-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  font-size: 13px;
}
.ms-lineup-compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  font-size: 12px;
  margin-bottom: 10px;
}
.ms-lineup-compare-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  font-size: 11px;
}
.ms-lineup-compare-cols .ms-group-chip { margin: 2px 4px 2px 0; }
.ms-lineup-compare-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 10px;
}
.ms-cmp-legend {
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
}
.ms-lineup-compare-rosters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ms-lineup-compare-roster-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ms-cmp-player {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.ms-cmp-player-name { font-weight: 600; }
.ms-cmp-player-meta { color: var(--ms-muted); font-size: 10px; white-space: nowrap; }
.ms-cmp-player.ms-cmp-empty { color: var(--ms-muted); justify-content: center; }
.ms-cmp-player.ms-cmp-only-a {
  background: rgba(74, 222, 128, 0.12);
  border-left: 3px solid #4ade80;
}
.ms-cmp-player.ms-cmp-only-b {
  background: rgba(251, 191, 36, 0.12);
  border-left: 3px solid #fbbf24;
}
.ms-cmp-player.ms-cmp-shared {
  background: rgba(148, 163, 184, 0.1);
  border-left: 3px solid var(--ms-muted);
}
.ms-cmp-legend.ms-cmp-only-a { background: rgba(74, 222, 128, 0.15); color: #4ade80; }
.ms-cmp-legend.ms-cmp-only-b { background: rgba(251, 191, 36, 0.15); color: #fbbf24; }
.ms-cmp-legend.ms-cmp-shared { background: rgba(148, 163, 184, 0.12); color: var(--ms-muted); }
.ms-pool-compare-pick td {
  background: rgba(78, 179, 255, 0.12) !important;
  box-shadow: inset 3px 0 0 var(--ms-blue);
}
.ms-pool-compare-target td {
  background: rgba(167, 139, 250, 0.12) !important;
  box-shadow: inset 3px 0 0 #a78bfa;
}
.ms-pool-compare-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin-top: 10px;
  padding: 12px 14px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
}
.ms-pool-compare-bar.ms-pool-compare-pending {
  justify-content: space-between;
}
.ms-pool-compare-pending-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
.ms-pool-compare-hint {
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-pool-compare-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px 12px;
  align-items: center;
  flex: 1 1 280px;
}
.ms-pool-compare-side {
  min-width: 0;
}
.ms-pool-compare-name {
  font-weight: 700;
  font-size: 0.88rem;
}
.ms-pool-compare-meta {
  margin-top: 2px;
  font-size: 0.72rem;
  color: var(--ms-muted);
  font-variant-numeric: tabular-nums;
}
.ms-pool-compare-vs {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ms-pool-compare-deltas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}
.ms-pool-compare-delta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 72px;
}
.ms-pool-compare-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
}
.ms-pool-compare-sidebar-mount {
  min-height: 0;
}
.ms-pool-compare-bar.ms-pool-compare-sidebar {
  flex-direction: column;
  align-items: stretch;
  margin-top: 0;
  padding: 10px 12px;
  gap: 10px;
}
.ms-pool-compare-bar.ms-pool-compare-sidebar .ms-pool-compare-grid {
  flex: none;
  width: 100%;
  grid-template-columns: 1fr;
  gap: 8px;
}
.ms-pool-compare-bar.ms-pool-compare-sidebar .ms-pool-compare-vs {
  justify-self: start;
}
.ms-pool-compare-bar.ms-pool-compare-sidebar .ms-pool-compare-actions {
  margin-left: 0;
  width: 100%;
}
.ms-pool-compare-bar.ms-pool-compare-sidebar.ms-pool-compare-pending {
  align-items: stretch;
}
.ms-pool-compare-bar.ms-pool-compare-sidebar .ms-pool-compare-pending-copy {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
#ms-sidebar-acc-pool-compare.ms-pool-compare-active > .ms-sidebar-accordion-summary {
  color: var(--ms-blue);
}
#ms-player-pool .ms-pool-compare-bar {
  display: none !important;
}
.ms-player-compare-modal .ms-player-compare-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}
.ms-player-compare-name {
  font-weight: 700;
  font-size: 0.95rem;
}
.ms-player-compare-meta {
  font-size: 0.75rem;
  color: var(--ms-muted);
  margin-top: 2px;
}
.ms-player-compare-vs {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ms-player-compare-table th,
.ms-player-compare-table td {
  font-size: 0.82rem;
}
.ms-lineup-num {
  white-space: nowrap;
}
.ms-lineup-warn-icon {
  color: #fbbf24;
  margin-right: 4px;
  cursor: help;
}
.ms-lineup-freeze-icon {
  color: #38bdf8;
  margin-right: 3px;
  cursor: help;
  font-size: 10px;
}
.ms-lineup-invalid td {
  background: rgba(251, 191, 36, 0.06);
}
.ms-lineup-compare-deltas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  margin-bottom: 10px;
  padding: 8px 10px;
  background: rgba(26, 115, 232, 0.08);
  border-radius: 8px;
  border: 1px solid rgba(26, 115, 232, 0.2);
}
.ms-build-contest-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px dashed var(--ms-border);
}
.ms-build-contest-pills .ms-pill {
  font-size: 10px;
  padding: 4px 10px;
}
.ms-exp-filter-btn {
  border: none;
  background: transparent;
  color: var(--ms-text);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  padding: 0;
  text-align: left;
}
.ms-exp-filter-btn:hover { color: var(--ms-blue); text-decoration: underline; }
.ms-lineup-chalk td { background: rgba(251, 191, 36, 0.06); }
.ms-lineup-row.ms-lineup-dup td {
  background: rgba(255, 159, 10, 0.08) !important;
  box-shadow: inset 3px 0 0 var(--ms-orange);
}
.ms-lineup-note-btn {
  border: none;
  background: transparent;
  padding: 0 2px;
  vertical-align: middle;
  cursor: pointer;
}
.ms-lineup-note-btn:hover { opacity: 1; }
.ms-cmd-palette { max-width: 480px; }
.ms-cmd-search {
  width: 100%;
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-text);
  font-size: 14px;
}
.ms-cmd-list { display: grid; gap: 4px; max-height: 320px; overflow-y: auto; }
.ms-cmd-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border: none;
  border-radius: 8px;
  background: var(--ms-panel-2);
  color: var(--ms-text);
  cursor: pointer;
  font-size: 13px;
}
.ms-cmd-item:hover,
.ms-cmd-item-active { background: rgba(26, 115, 232, 0.15); }
.ms-cmd-item-active { outline: 1px solid rgba(26, 115, 232, 0.45); }
.ms-cmd-section {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
  padding: 6px 4px 2px;
}
.ms-cmd-empty {
  padding: 16px 12px;
  text-align: center;
  color: var(--ms-muted);
  font-size: 13px;
}
.ms-cmd-hint { font-size: 11px; color: var(--ms-muted); }
.ms-cmp-radio { accent-color: var(--ms-blue); cursor: pointer; }
.ms-btn-icon {
  border: none;
  background: transparent;
  color: var(--ms-muted);
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1;
}
.ms-btn-icon:hover { color: #f87171; background: rgba(248, 113, 113, 0.1); }

.ms-game-exposure-table { font-size: 12px; }
.ms-import-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.ms-import-append-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--ms-muted);
  cursor: pointer;
  user-select: none;
}
.ms-import-append-label input { accent-color: var(--ms-blue); }
.ms-lineup-qa { margin-top: 10px; }
.ms-lineup-qa-table { font-size: 12px; }
.ms-lineup-qa-issues {
  font-size: 11px;
  color: #fbbf24;
  max-width: 220px;
}
.ms-qa-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ms-qa-panel-title {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ms-qa-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}
.ms-qa-badge-warn {
  background: rgba(245, 166, 35, 0.15);
  color: var(--ms-orange);
}
.ms-qa-badge-ok {
  background: rgba(34, 197, 94, 0.12);
  color: var(--ms-green);
}
.ms-qa-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ms-qa-filter {
  display: flex;
  gap: 4px;
}
.ms-lineup-qa-actions { white-space: nowrap; }
.ms-multi-slate-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 8px;
  align-items: center;
}
.ms-multi-slate-export-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ms-multi-slate-overlap { font-size: 12px; }
.ms-hand-builder-modal .ms-modal-wide { max-width: 720px; }
.ms-hand-builder-slots {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}
.ms-hand-slot label {
  display: block;
  font-size: 10px;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.ms-hand-select {
  width: 100%;
  padding: 6px 8px;
  font-size: 11px;
  background: var(--ms-panel-3);
  border: 1px solid var(--ms-border);
  border-radius: 6px;
  color: var(--ms-text);
}
.ms-hand-totals {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  align-items: center;
  padding: 10px 16px;
  background: var(--ms-panel-2);
  border-bottom: 1px solid var(--ms-border);
}
.ms-hand-totals-over {
  background: rgba(239, 68, 68, 0.12);
  border-bottom-color: rgba(239, 68, 68, 0.4);
}
.ms-hand-total-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 72px;
}
.ms-hand-total-lbl {
  font-size: 10px;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ms-hand-total-val {
  font-size: 15px;
  font-weight: 600;
  color: var(--ms-text);
}
.ms-hand-total-of {
  font-size: 12px;
  font-weight: 400;
  color: var(--ms-muted);
}
.ms-hand-proj-val { color: #93c5fd; }
.ms-hand-over { color: #f87171; font-weight: 700; }
.ms-hand-left { color: #86efac; font-size: 12px; font-weight: 600; }
.ms-hand-cap-status { margin-left: auto; text-align: right; }
.ms-hand-stack-preview {
  flex: 1 1 100%;
  margin: 0;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-hand-stack-preview strong { color: #93c5fd; font-weight: 600; }
.ms-hand-select option:disabled { color: #94a3b8; }
.ms-lineup-q-cell { white-space: nowrap; }
.ms-mc-pct-badge {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 4px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  color: #bfdbfe;
  background: rgba(59, 130, 246, 0.22);
  border: 1px solid rgba(96, 165, 250, 0.35);
  border-radius: 4px;
  vertical-align: middle;
}
.ms-hand-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.ms-hand-foot [data-hand-save]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ms-live-lineup-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.ms-live-sort-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-portfolio-compare-hero {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  padding: 12px;
  border-radius: 8px;
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
}
.ms-portfolio-compare-hero-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 110px;
}
.ms-portfolio-shift-mini {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
}
.ms-portfolio-shift-row {
  display: grid;
  grid-template-columns: minmax(90px, 1.2fr) 2fr auto;
  gap: 8px;
  align-items: center;
  font-size: 11px;
}
.ms-portfolio-shift-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ms-portfolio-shift-bars {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.ms-portfolio-shift-bar {
  height: 5px;
  border-radius: 3px;
  min-width: 2px;
}
.ms-portfolio-shift-a { background: var(--ms-blue); opacity: 0.85; }
.ms-portfolio-shift-b { background: var(--ms-green); opacity: 0.85; }
.ms-portfolio-shift-delta {
  font-family: var(--ms-mono);
  font-size: 10px;
  min-width: 42px;
  text-align: right;
}
.ms-live-lineup-row { cursor: pointer; }
.ms-live-lineup-row.ms-live-lineup-ahead td { background: rgba(34, 197, 94, 0.12) !important; }
.ms-live-lineup-row.ms-live-lineup-behind td { background: rgba(248, 113, 113, 0.14) !important; }
.ms-live-lineup-row.expanded td { background: rgba(26, 115, 232, 0.08); }
.ms-live-lineup-row.ms-live-lineup-ahead.expanded td { background: rgba(34, 197, 94, 0.18) !important; }
.ms-live-lineup-row.ms-live-lineup-behind.expanded td { background: rgba(248, 113, 113, 0.2) !important; }
.ms-live-lineup-detail td {
  padding: 8px 12px !important;
  background: var(--ms-panel-2);
  border-top: none;
}
.ms-live-lineup-players {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ms-live-player-chip {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 6px;
  background: var(--ms-panel-3);
  border: 1px solid var(--ms-border);
  color: var(--ms-muted);
}
.ms-live-player-chip strong { color: var(--ms-green); margin-left: 4px; }
.ms-roi-pos { color: var(--ms-green) !important; }
.ms-roi-neg { color: #f87171 !important; }
.ms-lineup-row.ms-lineup-frozen td { box-shadow: inset 3px 0 0 #38bdf8; }
.ms-btn-icon.on { color: #38bdf8; }
.ms-btn-icon.ms-lineup-fav.on { color: #fbbf24; }
.ms-lineup-row.ms-lineup-favorite { background: rgba(251, 191, 36, 0.06); }
.ms-excluded-games-bar {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  margin-bottom: 8px;
  background: rgba(248, 113, 113, 0.08);
  border: 1px solid rgba(248, 113, 113, 0.2);
  border-radius: var(--ms-radius);
}
.ms-excluded-games-bar.open { display: flex; }
.ms-excluded-games-label {
  font-size: 10px;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ms-chip-excluded {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.12);
  color: #f87171;
  cursor: pointer;
}
.ms-chip-excluded:hover { background: rgba(248, 113, 113, 0.2); }
.ms-correlation-table { font-size: 12px; }
.ms-stack-active td { background: rgba(26, 115, 232, 0.1); }
.ms-stack-row { cursor: pointer; }
.ms-stack-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  white-space: nowrap;
}
.ms-mutex-pair .ms-link-pair-label { color: #fbbf24; }
.ms-shortcuts-table { font-size: 13px; }
.ms-shortcuts-table kbd {
  display: inline-block;
  min-width: 1.6em;
  padding: 2px 6px;
  font-size: 11px;
  font-family: inherit;
  background: var(--ms-panel-3);
  border: 1px solid var(--ms-border);
  border-radius: 4px;
}
.ms-live-portfolio-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px 10px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel-2);
  max-width: 100%;
}
#ms-tab-live .ms-live-portfolio-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#ms-tab-live .ms-live-portfolio-summary .ms-portfolio-stat {
  min-width: 0;
}
.ms-live-player-leaderboard {
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius);
  background: var(--ms-panel-2);
}
.ms-live-leaderboard-title {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ms-muted);
}
.ms-live-leaderboard-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ms-live-leaderboard-item {
  display: grid;
  grid-template-columns: 20px 1fr auto auto;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.ms-live-leaderboard-rank {
  color: var(--ms-muted);
  font-weight: 600;
  text-align: center;
}
.ms-live-leaderboard-name {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ms-live-leaderboard-pts {
  color: var(--ms-green);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ms-live-leaderboard-delta {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  min-width: 42px;
  text-align: right;
}
.ms-lineup-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.ms-lineup-toolbar .ms-pool-search { flex: 1; min-width: 140px; }
.ms-lineup-col-toggles {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-lineup-col-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  user-select: none;
}
.ms-lineup-col-toggle input { margin: 0; cursor: pointer; }
.ms-lineup-table.ms-hide-col-own .ms-col-own,
.ms-lineup-table.ms-hide-col-stack .ms-col-stack { display: none; }
.ms-lineup-check-h,
.ms-lineup-check {
  width: 28px;
  text-align: center;
  padding: 0 4px !important;
}
.ms-lineup-check input,
.ms-lineup-check-h input {
  margin: 0;
  cursor: pointer;
}
.ms-lineup-row.ms-lineup-selected {
  background: rgba(59, 130, 246, 0.08);
}
.ms-lineup-row.ms-lineup-kb-focus td {
  box-shadow: inset 0 0 0 2px rgba(96, 165, 250, 0.85);
}
.ms-lineup-row.ms-lineup-kb-focus.expanded td {
  box-shadow: inset 0 0 0 2px rgba(96, 165, 250, 0.95), inset 3px 0 0 rgba(26, 115, 232, 0.45);
}
.ms-lineup-page-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--ms-muted);
}
.ms-lineup-pager {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ms-lineup-page-num {
  font-size: 11px;
  color: var(--ms-muted);
  min-width: 48px;
  text-align: center;
}

/* ── UX polish: pool toolbar wrap, sticky build summary, mobile touch, print DK ── */
@media (max-width: 640px) {
  .ms-pool-toolbar {
    padding: 6px 10px;
  }
  .ms-pool-toolbar-inner {
    gap: 10px;
  }
  .ms-pool-toolbar-row-top .ms-pool-search {
    flex: 1 1 100%;
    min-width: 100%;
  }
  .ms-pool-toolbar-row-top .ms-pool-count {
    flex: 1 1 100%;
    margin-left: 0;
    text-align: left;
  }
  .ms-pool-toolbar-row-top .ms-pool-select {
    flex: 1 1 calc(50% - 5px);
    min-width: calc(50% - 5px);
  }
  .ms-pool-toolbar-row-numeric .ms-pool-sal-range,
  .ms-pool-toolbar-row-numeric .ms-pool-own-range,
  .ms-pool-toolbar-row-numeric .ms-pool-own-filter,
  .ms-pool-toolbar-row-numeric .ms-pool-order-filter {
    flex: 1 1 100%;
    max-width: none;
    min-width: 0;
  }
  .ms-pool-toolbar-row-chips .ms-pool-tier-chips,
  .ms-pool-toolbar-row-chips .ms-pool-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 4px;
    mask-image: linear-gradient(to right, #000 92%, transparent);
  }
  .ms-pool-toolbar-row-actions .ms-btn,
  .ms-pool-toolbar-row-actions label.ms-btn {
    flex: 0 0 auto;
  }

  .ms-lineup-toolbar {
    gap: 8px;
    align-items: stretch;
  }
  .ms-lineup-toolbar .ms-pool-search {
    flex: 1 1 100%;
    min-width: 100%;
    order: -1;
  }
  .ms-lineup-toolbar .ms-pool-count {
    flex: 1 1 100%;
    margin-left: 0;
  }
  .ms-lineup-toolbar .ms-lineup-page-label,
  .ms-lineup-toolbar .ms-lineup-dup-only-label,
  .ms-lineup-toolbar .ms-lineup-pager {
    flex: 1 1 calc(50% - 4px);
    min-width: calc(50% - 4px);
  }
  .ms-lineup-toolbar .ms-btn {
    flex: 1 1 calc(50% - 4px);
    min-height: 44px;
    touch-action: manipulation;
  }

  .ms-lineup-table th:nth-child(6),
  .ms-lineup-table td:nth-child(6) {
    display: none;
  }
  .ms-lineup-table:not(.ms-lineup-has-live) th:nth-child(9),
  .ms-lineup-table:not(.ms-lineup-has-live) td:nth-child(9),
  .ms-lineup-table.ms-lineup-has-live th:nth-child(10),
  .ms-lineup-table.ms-lineup-has-live td:nth-child(10) {
    display: none;
  }
  .ms-lineup-table:not(.ms-lineup-has-live) th:nth-child(10),
  .ms-lineup-table:not(.ms-lineup-has-live) td:nth-child(10),
  .ms-lineup-table.ms-lineup-has-live th:nth-child(11),
  .ms-lineup-table.ms-lineup-has-live td:nth-child(11) {
    display: none;
  }

  .ms-modal-backdrop.ms-sheet-overlay {
    padding: max(10px, env(safe-area-inset-top, 0px)) 10px max(10px, env(safe-area-inset-bottom, 0px));
    align-items: center;
    justify-content: center;
  }
  .ms-modal-backdrop:not(.ms-sheet-overlay) {
    padding: 0;
    align-items: stretch;
  }
  .ms-modal-backdrop.ms-sheet-overlay .ms-modal,
  .ms-modal-backdrop.ms-sheet-overlay .ms-modal-wide {
    width: 100%;
    max-width: none;
    min-height: 0;
    max-height: min(88dvh, calc(100dvh - 20px));
    border-radius: 14px;
    margin: 0;
    display: flex;
    flex-direction: column;
    padding: max(16px, env(safe-area-inset-top, 16px)) 16px max(16px, env(safe-area-inset-bottom, 16px));
  }
  .ms-modal-backdrop:not(.ms-sheet-overlay) .ms-modal,
  .ms-modal-backdrop:not(.ms-sheet-overlay) .ms-modal-wide {
    width: 100%;
    max-width: none;
    min-height: 100dvh;
    max-height: none;
    border-radius: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    padding: max(16px, env(safe-area-inset-top, 16px)) 16px max(16px, env(safe-area-inset-bottom, 16px));
  }
  .ms-modal-body {
    max-height: none;
    flex: 1;
    overflow-y: auto;
  }

  .ms-lineup-table-wrap {
    overflow: visible;
  }
  .ms-lineup-table thead {
    display: none;
  }
  .ms-lineup-table tbody tr.ms-lineup-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 10px;
    padding: 12px;
    margin-bottom: 8px;
    border: 1px solid var(--ms-border);
    border-radius: 10px;
    background: var(--ms-panel, #1a1f28);
  }
  .ms-lineup-table tbody tr.ms-lineup-row td {
    display: block;
    border: none;
    padding: 2px 0;
  }
  .ms-lineup-table tbody tr.ms-lineup-row td::before {
    display: block;
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ms-muted);
    margin-bottom: 2px;
  }
  .ms-lineup-table tbody tr.ms-lineup-row td:nth-child(2),
  .ms-lineup-table tbody tr.ms-lineup-row td:nth-child(3) {
    display: none;
  }
  .ms-lineup-table tbody tr td:nth-child(1)::before { content: "Select"; }
  .ms-lineup-table tbody tr td:nth-child(4)::before { content: "#"; }
  .ms-lineup-table tbody tr td:nth-child(5)::before { content: "Salary"; }
  .ms-lineup-table tbody tr td:nth-child(6)::before { content: "Left"; }
  .ms-lineup-table tbody tr td:nth-child(7)::before { content: "Proj"; }
  .ms-lineup-table tbody tr td:nth-child(8)::before { content: "Q"; }
  .ms-lineup-table.ms-lineup-has-live tbody tr td:nth-child(9)::before { content: "Live"; }
  .ms-lineup-table tbody tr td.ms-col-own::before { content: "Own"; }
  .ms-lineup-table tbody tr td.ms-col-stack::before { content: "Stack"; }
  .ms-lineup-table tbody tr td:nth-last-child(2)::before { content: "Players"; }
  .ms-lineup-table tbody tr td:last-child {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    padding-top: 8px;
    border-top: 1px solid var(--ms-border);
  }
  .ms-lineup-table tbody tr td:last-child::before { display: none; }
  .ms-lineup-table {
    display: block;
    min-width: 0;
  }
  .ms-lineup-table tbody {
    display: block;
  }

  .ms-blastcast-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .ms-blastcast-stats {
    justify-content: space-around;
    width: 100%;
  }
  .ms-blastcast-actions {
    flex-wrap: wrap;
  }
  .ms-blastcast-actions .ms-btn {
    flex: 1 1 calc(50% - 4px);
    min-height: 44px;
  }

  .ms-lineup-table .ms-btn-icon {
    min-width: 44px;
    min-height: 44px;
    padding: 10px;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
  }

  #ms-correlation-stacks .ms-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .ms-correlation-table {
    min-width: 520px;
  }
  .ms-stack-actions .ms-btn {
    min-height: 40px;
    touch-action: manipulation;
  }
}

.ms-date-display {
  display: none !important;
}

@media (max-width: 768px) {
  body.ms-fcfl {
    --ms-chrome-stack-h: clamp(188px, 30vw, 260px);
  }
  .ms-gate {
    inset: auto 0 0 0;
    top: auto;
    height: auto;
    min-height: 0;
    max-height: min(56vh, 440px);
    align-items: flex-end;
    align-content: flex-end;
    padding: 8px 14px calc(14px + env(safe-area-inset-bottom, 0px));
    background: linear-gradient(
      180deg,
      transparent 0%,
      rgba(15, 23, 42, 0.45) 14%,
      rgba(15, 23, 42, 0.94) 38%
    );
    pointer-events: none;
  }
  .ms-gate-card {
    pointer-events: auto;
    width: 100%;
    max-width: none;
    padding: 22px 18px;
  }
  .ms-fcfl .ms-slate-bar {
    flex-wrap: wrap;
    align-items: stretch;
    padding: 8px 10px;
  }
  .ms-date-row {
    width: 100%;
  }
  .ms-date-display {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: var(--ms-radius-sm);
    background: var(--ms-panel-3, rgba(255, 255, 255, 0.06));
    border: 1px solid var(--ms-border);
    font-family: var(--ms-mono);
    font-size: 13px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--ms-text);
    flex: 1 1 auto;
    min-width: 0;
  }
  .ms-fcfl .ms-date-input {
    flex: 1 1 140px;
    min-width: 132px;
    width: 100%;
    padding-right: 34px;
    appearance: auto;
    -webkit-appearance: auto;
  }
  .ms-fcfl .ms-date-control {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .ms-fcfl .ms-slate-meta {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  .ms-fcfl .ms-slate-meta-hint {
    display: block;
  }
  .ms-fcfl .ms-slate-card {
    height: auto;
    max-height: none;
    min-height: 88px;
  }
  .ms-fcfl .ms-nav-pills {
    padding: 0 2px;
    mask-image: linear-gradient(to right, transparent, #000 10px, #000 calc(100% - 10px), transparent);
  }
  .ms-fcfl .ms-nav-pills button,
  .ms-fcfl .ms-nav-pills .ms-nav-external {
    min-height: 44px;
    padding: 12px 14px;
  }
  .ms-pool-table .ms-pool-act {
    min-width: 40px;
    min-height: 40px;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
  }
  .ms-pool-table .ms-pool-act-col,
  .ms-pool-table .ms-pool-act-h {
    width: var(--ms-pool-fv-w, 36px);
    min-width: var(--ms-pool-fv-w, 36px);
    max-width: var(--ms-pool-ex-w, 36px);
    padding: 4px 2px !important;
  }
  .ms-pool-table .ms-pool-sticky-fv,
  .ms-pool-table .ms-pool-sticky-wl,
  .ms-pool-table .ms-pool-sticky-lck,
  .ms-pool-table .ms-pool-sticky-ex {
    width: var(--ms-pool-fv-w, 36px);
    min-width: var(--ms-pool-fv-w, 36px);
    max-width: var(--ms-pool-ex-w, 36px);
  }
}

@media print {
  body.ms-body {
    background: #fff !important;
    color: #111 !important;
    font-size: 12pt;
  }
  .ms-gate,
  .ms-workspace-chrome,
  .ms-topnav,
  .ms-slate-bar,
  .ms-nav,
  .ms-metrics,
  .ms-page-header,
  .ms-wizard,
  .ms-legal,
  #ms-status,
  #ms-grok-hints,
  .ms-btn,
  .ms-import-row,
  #ms-export-status,
  #ms-export-dk,
  #ms-export-selected-dk,
  #ms-export-frozen-dk,
  #ms-save-portfolio,
  #ms-compare-portfolio,
  #ms-history-portfolio {
    display: none !important;
  }
  .ms-tab-panel:not(#ms-tab-build) {
    display: none !important;
  }
  #ms-tab-build {
    display: block !important;
  }
  .ms-shell {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #ms-tab-build .ms-grid {
    display: block !important;
  }
  #ms-tab-build .ms-grid > div:first-child {
    display: block !important;
  }
  #ms-tab-build .ms-grid > div:last-child {
    display: none !important;
  }
  #ms-tab-build .ms-panel {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #ms-tab-build .ms-panel-title {
    color: #111 !important;
    font-size: 14pt !important;
    margin: 0 0 12px !important;
    border-bottom: 2px solid #111;
    padding-bottom: 6px;
  }
  #ms-tab-build .ms-portfolio-sticky-bar {
    position: static !important;
    box-shadow: none !important;
    background: #fff !important;
    border: 1px solid #ccc !important;
    margin-bottom: 16px !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  #ms-tab-build .ms-portfolio-summary {
    display: flex !important;
    background: #fff !important;
    border: none !important;
    color: #111 !important;
    padding: 10px 12px !important;
  }
  #ms-tab-build .ms-portfolio-stat {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  #ms-tab-build .ms-portfolio-val,
  #ms-tab-build .ms-portfolio-lbl {
    color: #111 !important;
  }
  #ms-tab-build .ms-lineup-sort-label,
  #ms-tab-build .ms-build-contest-pills,
  #ms-tab-build #ms-portfolio-econ-mini,
  #ms-tab-build #ms-portfolio-diff,
  #ms-tab-build #ms-salary-histogram,
  #ms-tab-build #ms-monte-carlo-panel,
  #ms-tab-build #ms-lineup-detail,
  #ms-tab-build #ms-lineup-compare,
  #ms-tab-build .ms-lineup-toolbar,
  #ms-tab-build .ms-lineup-check-h,
  #ms-tab-build .ms-lineup-table th:nth-child(2),
  #ms-tab-build .ms-lineup-table th:nth-child(3),
  #ms-tab-build .ms-lineup-table td:nth-child(2),
  #ms-tab-build .ms-lineup-table td:nth-child(3),
  #ms-tab-build .ms-lineup-table th:last-child,
  #ms-tab-build .ms-lineup-table td:last-child {
    display: none !important;
  }
  #ms-tab-build .ms-lineup-table tbody tr:nth-child(n + 21) {
    display: none !important;
  }
  #ms-tab-build .ms-lineup-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10pt;
  }
  #ms-tab-build .ms-lineup-table th,
  #ms-tab-build .ms-lineup-table td {
    border: 1px solid #ccc !important;
    color: #111 !important;
    padding: 4px 6px !important;
    background: #fff !important;
  }
  #ms-tab-build .ms-lineup-table thead th {
    font-weight: 700;
    background: #f0f0f0 !important;
  }
  #ms-tab-build .ms-table-wrap::before {
    content: "Top 20 Lineups";
    display: block;
    font-size: 12pt;
    font-weight: 700;
    margin: 0 0 8px;
    color: #111;
  }
  .ms-dk-preview {
    break-inside: avoid;
    page-break-inside: avoid;
    background: #fff !important;
    border: 1px solid #333 !important;
    color: #111 !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  .ms-dk-preview::before {
    content: "DraftKings Lineup Preview";
    display: block;
    font-size: 11pt;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #ccc;
  }
  .ms-dk-preview-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .ms-dk-preview-slot {
    grid-template-columns: 44px 1fr auto !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 5px 0;
    border-bottom: 1px solid #ddd;
  }
  .ms-dk-preview-slot:last-child {
    border-bottom: none;
  }
  .ms-dk-preview-pos,
  .ms-dk-preview-name,
  .ms-dk-preview-id {
    color: #111 !important;
  }
  .ms-dk-preview-pos {
    font-weight: 700;
  }
  .ms-dk-preview-name {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    font-weight: 600;
  }
  .ms-dk-preview-id {
    font-size: 9pt !important;
  }
}

/* ── Phase 2: mobile polish, stress test, blastcast addons ── */
body.ms-body {
  padding-left: env(safe-area-inset-left, 0);
  padding-right: env(safe-area-inset-right, 0);
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.ms-shell {
  padding-left: max(12px, env(safe-area-inset-left, 0));
  padding-right: max(12px, env(safe-area-inset-right, 0));
}

.ms-large-portfolio-warn {
  margin: 0 0 10px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(249, 115, 22, 0.12);
  border: 1px solid rgba(249, 115, 22, 0.35);
  color: #fdba74;
  font-size: 0.78rem;
}

.ms-stress-test-backdrop { z-index: var(--ms-z-modal) !important; }
.ms-stress-slate-status {
  margin: 0 0 12px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 0.8rem;
}
.ms-stress-slate-ok {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #86efac;
}
.ms-stress-slate-miss {
  background: rgba(249, 115, 22, 0.12);
  border: 1px solid rgba(249, 115, 22, 0.35);
  color: #fdba74;
}
.ms-stress-test-modal .ms-stress-test-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  margin-bottom: 12px;
}
.ms-stress-test-summary {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--ms-panel, #1a1f28);
  border: 1px solid var(--ms-border);
}
.ms-stress-test-summary.ms-stress-pass { border-color: rgba(34, 197, 94, 0.45); }
.ms-stress-test-summary.ms-stress-warn { border-color: rgba(249, 115, 22, 0.45); }
.ms-stress-total {
  font-size: 1.75rem;
  font-weight: 800;
  font-family: var(--ms-mono, monospace);
  color: var(--ms-blue);
}
.ms-stress-sub { font-size: 0.72rem; color: var(--ms-muted); }
.ms-stress-table td:last-child { text-align: right; }

.ms-warehouse-hooks-wrap { margin-bottom: 12px; }
.ms-warehouse-hooks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(26, 115, 232, 0.08);
  border: 1px solid rgba(26, 115, 232, 0.22);
  font-size: 0.72rem;
}
.ms-warehouse-hooks-title {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ms-muted);
}
.ms-warehouse-hooks-live {
  font-family: var(--ms-mono, monospace);
  color: var(--ms-green);
  font-weight: 700;
}
.ms-warehouse-hook {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(15, 18, 24, 0.5);
  border: 1px solid var(--ms-border);
}
.ms-warehouse-hook-ok .ms-warehouse-hook-dot {
  background: var(--ms-green);
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.6);
}
.ms-warehouse-hook-pending .ms-warehouse-hook-dot {
  background: var(--ms-muted);
}
.ms-warehouse-hook-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}

.ms-pregame-slate-status {
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.75rem;
  color: var(--ms-muted);
  background: rgba(34, 197, 94, 0.08);
  border: 1px solid rgba(34, 197, 94, 0.25);
}
.ms-pregame-slate-badge {
  display: inline-block;
  margin-right: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ms-green);
  background: rgba(34, 197, 94, 0.15);
}
.ms-pregame-slate-live { color: var(--ms-blue); background: rgba(26, 115, 232, 0.12); }
.ms-pregame-eval-panel {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(15, 18, 24, 0.55);
  border: 1px solid var(--ms-border);
  max-height: 280px;
  overflow-y: auto;
}
.ms-pregame-eval-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.ms-pregame-eval-title { font-weight: 700; font-size: 0.78rem; }
.ms-pregame-eval-meta { font-size: 0.68rem; color: var(--ms-muted); font-family: var(--ms-mono, monospace); }
.ms-pregame-status-ok { color: var(--ms-green); }
.ms-pregame-status-warn { color: var(--ms-orange); }
.ms-pregame-section { margin-bottom: 10px; }
.ms-pregame-section-title {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ms-muted);
  margin-bottom: 4px;
}
.ms-pregame-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 4px 10px;
}
.ms-pregame-metric {
  display: flex;
  flex-direction: column;
  gap: 1px;
  font-size: 0.68rem;
}
.ms-pregame-metric-key { color: var(--ms-muted); }
.ms-pregame-metric-val { font-family: var(--ms-mono, monospace); color: var(--ms-text); }
.ms-pregame-empty { font-size: 0.72rem; color: var(--ms-muted); margin: 0; }
.ms-pregame-btn { font-size: 0.65rem; padding: 2px 6px; }
.ms-pregame-modal-hint { font-size: 0.75rem; color: var(--ms-muted); margin: 0 0 10px; }
.ms-modal-wide { max-width: min(720px, 96vw); max-height: 88vh; overflow-y: auto; }

.ms-edu-log-layout {
  display: grid;
  grid-template-columns: minmax(200px, 260px) 1fr;
  gap: 14px;
  min-height: 420px;
}
.ms-edu-log-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 520px;
  overflow-y: auto;
  padding-right: 4px;
}
.ms-edu-log-item {
  text-align: left;
  border: 1px solid var(--ms-border, rgba(255,255,255,0.08));
  background: rgba(255,255,255,0.03);
  border-radius: 8px;
  padding: 8px 10px;
  cursor: pointer;
  color: inherit;
}
.ms-edu-log-item.active {
  border-color: rgba(99, 102, 241, 0.55);
  background: rgba(99, 102, 241, 0.12);
}
.ms-edu-log-item strong { display: block; font-size: 0.78rem; }
.ms-edu-log-item .ms-muted { display: block; font-size: 0.68rem; margin-top: 2px; }
.ms-edu-detail h4 { margin: 0 0 6px; font-size: 1rem; }
.ms-edu-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 0.72rem; color: var(--ms-muted); margin: 8px 0; }
.ms-edu-bullets { margin: 8px 0 0 18px; font-size: 0.82rem; }
.ms-edu-pre {
  white-space: pre-wrap;
  font-size: 0.72rem;
  max-height: 180px;
  overflow: auto;
  background: rgba(0,0,0,0.25);
  padding: 8px;
  border-radius: 6px;
}

.ms-barrel-table {
  table-layout: fixed;
  width: 100%;
}
.ms-barrel-table col.ms-barrel-col-player { width: 34%; }
.ms-barrel-table col.ms-barrel-col-pct { width: 15%; }
.ms-barrel-table col.ms-barrel-col-ev { width: 15%; }
.ms-barrel-table col.ms-barrel-col-prob { width: 12%; }
.ms-barrel-table col.ms-barrel-col-hr { width: 12%; }
.ms-barrel-table col.ms-barrel-col-dk { width: 12%; }
.ms-barrel-table th.ms-barrel-col-num,
.ms-barrel-table td.ms-barrel-col-num {
  font-family: var(--ms-mono);
  font-size: 12px;
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ms-barrel-table th.ms-barrel-col-player,
.ms-barrel-table td.ms-barrel-col-player {
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ms-barrel-player-team {
  color: var(--ms-muted);
  font-size: 0.68rem;
}
.ms-barrel-pct-cell {
  padding-right: 12px !important;
}
.ms-barrel-pct-inner {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  width: 100%;
  max-width: 100%;
}
.ms-barrel-pct-val {
  min-width: 3.2em;
  text-align: right;
}
.ms-barrel-table .ms-barrel-row { cursor: pointer; }
.ms-barrel-table .ms-barrel-row:hover td { background: rgba(26, 115, 232, 0.08); }
.ms-barrel-panel-date {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #bfdbfe;
  background: rgba(59, 130, 246, 0.18);
  border: 1px solid rgba(96, 165, 250, 0.35);
  vertical-align: middle;
}
.ms-barrel-panel-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-bottom: 6px;
  font-size: 0.72rem;
  color: var(--ms-muted);
}
.ms-barrel-panel-slate {
  font-weight: 600;
  color: var(--ms-text);
}
.ms-barrel-panel-settled {
  color: var(--ms-muted);
}
.ms-barrel-panel-date-inline {
  font-size: 0.68rem;
  font-weight: 700;
  color: #bfdbfe;
}
.ms-barrel-hr-hit {
  color: var(--ms-green);
  font-weight: 800;
}
.ms-barrel-hr-miss {
  color: var(--ms-muted);
  font-weight: 600;
}
.ms-barrel-hr-pending,
.ms-barrel-dk-pending {
  color: var(--ms-muted);
}
.ms-barrel-dk-final {
  color: var(--ms-text);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.ms-barrel-live-tag {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fdba74;
  background: rgba(249, 115, 22, 0.15);
  vertical-align: middle;
}
.ms-barrel-bar {
  display: inline-block;
  flex: 0 0 auto;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--ms-orange), var(--ms-green));
  vertical-align: middle;
}

.ms-hr-counter-blast {
  animation: ms-blast 0.9s ease;
  color: var(--ms-orange) !important;
}
.ms-blast-spray-pulse {
  animation: ms-blast-spray-pulse 0.9s ease;
}
@keyframes ms-blast-spray-pulse {
  0%, 100% { box-shadow: none; }
  40% { box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.45), 0 0 24px rgba(249, 115, 22, 0.25); }
}

@media (max-width: 480px) {
  .ms-portfolio-summary {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    gap: 10px;
    padding-bottom: 4px;
  }
  .ms-portfolio-stat {
    flex: 0 0 auto;
    min-width: 72px;
  }
}

/* Clickable player names → global player card */
.ms-player-link,
button.ms-pool-player-name {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: var(--ms-text);
  -webkit-text-fill-color: var(--ms-text);
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: rgba(78, 179, 255, 0.35);
  text-underline-offset: 2px;
}
.ms-player-link:hover,
button.ms-pool-player-name:hover {
  color: var(--ms-blue);
  text-decoration-color: var(--ms-blue);
}
.ms-own-battle-name .ms-player-link {
  font-weight: 600;
  white-space: nowrap;
}

/* Player card modal */
.ms-pcard-backdrop { z-index: calc(var(--ms-z-modal) + 2) !important; }
.ms-pcard {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}
.ms-pcard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--ms-border);
  background: linear-gradient(180deg, rgba(26, 115, 232, 0.08), transparent);
}
.ms-pcard-identity {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}
.ms-pcard-headshot {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
  background: var(--ms-panel-2);
  flex-shrink: 0;
}
.ms-pcard-headshot-fallback {
  display: grid;
  place-items: center;
  color: var(--ms-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ms-pcard-headshot-fallback.ms-headshot-brand {
  object-fit: cover;
  color: transparent;
}
.ms-pcard-name-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.ms-pcard-name {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.ms-pcard-meta {
  margin: 4px 0 0;
  font-size: 0.8rem;
  color: var(--ms-muted);
}
.ms-pcard-metrics-status {
  margin: 6px 0 0;
  font-size: 0.68rem;
  color: var(--ms-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ms-pcard-status {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ms-panel-2);
  color: var(--ms-muted);
}
.ms-pcard-status.is-ok { color: #22c55e; background: rgba(34, 197, 94, 0.12); }
.ms-pcard-status.is-out { color: #ef4444; background: rgba(239, 68, 68, 0.12); }
.ms-pcard-status.is-question { color: #f5a623; background: rgba(245, 166, 35, 0.12); }
.ms-pcard-close { flex-shrink: 0; }
.ms-pcard-dfs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--ms-border);
}
.ms-pcard-section {
  padding: 12px 20px;
  border-bottom: 1px solid var(--ms-border);
}
.ms-pcard-section-title {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ms-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.ms-pcard-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.ms-pcard-metric-grid-4 { grid-template-columns: repeat(4, 1fr); }
.ms-pcard-metric-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ms-pcard-metric-grid-2 { grid-template-columns: repeat(2, 1fr); }
.ms-pcard-metric {
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  padding: 8px 10px;
}
.ms-pcard-metric-label {
  display: block;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ms-muted);
}
.ms-pcard-metric-value {
  display: block;
  margin-top: 3px;
  font-size: 0.9rem;
  font-weight: 700;
  font-family: var(--ms-mono, monospace);
}
.ms-pcard-metric.is-primary .ms-pcard-metric-value { color: var(--ms-blue); }
.ms-pcard-metric.is-green .ms-pcard-metric-value { color: #22c55e; }
.ms-pcard-metric.is-gold .ms-pcard-metric-value { color: #f5a623; }
.ms-pcard-metric.is-live .ms-pcard-metric-value { color: #a78bfa; }
.ms-pcard-metric.is-hot .ms-pcard-metric-value { color: #22c55e; }
.ms-pcard-empty {
  margin: 0;
  font-size: 0.78rem;
  color: var(--ms-muted);
  grid-column: 1 / -1;
}
.ms-pcard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 20px 18px;
  background: var(--ms-panel-2);
}
.ms-pcard-section-logs { border-bottom: none; }
.ms-pcard-log-panel { padding: 0 4px 4px; }
.ms-pcard-log-meta {
  margin: 0 0 10px;
  font-size: 0.78rem;
  color: var(--ms-muted, #8b9cb3);
}
.ms-pcard-log-summary { margin-bottom: 12px; }
.ms-pcard-log-wrap {
  max-height: 280px;
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.18);
}
.ms-pcard-log-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}
.ms-pcard-log-table th,
.ms-pcard-log-table td {
  padding: 7px 10px;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  white-space: nowrap;
}
.ms-pcard-log-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(12, 18, 32, 0.96);
  color: var(--ms-muted, #8b9cb3);
  font-weight: 600;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ms-pcard-log-table tbody tr:hover { background: rgba(59, 130, 246, 0.08); }
.ms-pcard-log-num { text-align: right; font-variant-numeric: tabular-nums; }
.ms-pcard-log-pos { color: var(--ms-muted, #8b9cb3); }
.ms-pcard-log-dk { font-weight: 700; color: #e2e8f0; }
.ms-pcard-log-dk.is-hot { color: #22c55e; }
.ms-pcard-log-dk.is-good { color: #86efac; }
.ms-pcard-log-dk.is-cold { color: #f87171; }
.ms-pcard .ms-pcard-section:last-of-type { border-bottom: none; }
@media (max-width: 640px) {
  .ms-pcard-dfs-grid { grid-template-columns: repeat(2, 1fr); }
  .ms-pcard-metric-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .ms-pcard-log-table { font-size: 0.72rem; }
}

/* ── Full-width slate dock (main workspace — not squeezed in sidebar) ── */
.ms-slate-meta-a11y {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ms-layout-sidebar .ms-slate-bar {
  gap: 8px;
}

.ms-layout-sidebar .ms-slate-meta:not(.ms-slate-meta-a11y) {
  display: none;
}

.ms-slate-dock {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 6px;
  min-width: 0;
  width: 100%;
}

.ms-slate-dock-title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-text);
  flex-shrink: 0;
}

.ms-slate-dock-head-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}

.ms-slate-dock .ms-slate-rail-panel {
  margin: 0;
  padding: 8px 10px 6px;
  border-radius: var(--ms-radius-sm);
  border: 1px solid var(--ms-border);
  border-top: 1px solid var(--ms-border);
  box-sizing: border-box;
  overflow: hidden;
}

.ms-slate-dock .ms-slate-rail-head.ms-slate-dock-head {
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.ms-slate-dock .ms-slate-rail-hint {
  font-size: 12px;
  color: var(--ms-muted);
  text-align: left;
  min-width: 0;
  line-height: 1.4;
  white-space: normal;
}

.ms-slate-dock .ms-slate-rail-head .ms-health-banner {
  flex: 1 1 auto;
  margin-left: 8px;
  min-width: 0;
  max-width: min(480px, 52%);
  padding: 4px 8px;
  font-size: 10px;
  line-height: 1.25;
  border-radius: 8px;
}

.ms-slate-dock .ms-slate-rail-head .ms-health-banner .ms-health-chip-label,
.ms-slate-dock .ms-slate-rail-head .ms-health-banner .ms-health-chip {
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ms-slate-dock .ms-slate-rail-scroller {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
}

.ms-slate-dock .ms-slate-rail-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ms-slate-dock .ms-slate-rail-scroller {
  grid-template-columns: minmax(0, 1fr);
}

.ms-slate-dock .ms-slate-rail-nav {
  display: none !important;
}

.ms-slate-dock .ms-slate-rail {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 10px;
  padding: 2px 2px 4px;
  overflow-x: auto;
  overflow-y: hidden;
  max-height: none;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(251, 191, 36, 0.45) transparent;
}

.ms-slate-dock .ms-slate-card {
  flex: 0 0 min(280px, 38vw);
  width: min(280px, 38vw);
  min-width: 200px;
  max-width: 320px;
  height: auto;
  min-height: 52px;
  max-height: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  padding: 8px 10px;
  box-sizing: border-box;
  scroll-snap-align: start;
  cursor: pointer;
}

.ms-slate-dock .ms-slate-card-compact {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.ms-slate-dock .ms-slate-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.ms-slate-dock .ms-slate-card-top-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.ms-slate-dock .ms-slate-card-games-btn {
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.07);
  color: rgba(235, 235, 245, 0.95);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  padding: 3px 8px;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  font-family: inherit;
}

.ms-slate-dock .ms-slate-card-games-btn:hover,
.ms-slate-dock .ms-slate-card-games-btn:focus-visible {
  background: rgba(10, 132, 255, 0.22);
  border-color: rgba(10, 132, 255, 0.45);
  color: #fff;
  outline: none;
}

.ms-slate-dock .ms-slate-card-games-chevron {
  font-size: 10px;
  opacity: 0.75;
}

.ms-slate-dock .ms-slate-card.is-expanded {
  min-height: auto;
  padding-bottom: 10px;
}

.ms-slate-countdown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.2em;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  color: #0b1220;
  background: linear-gradient(180deg, #fbbf24 0%, #f59e0b 100%);
  border: 1px solid rgba(251, 191, 36, 0.65);
  box-shadow: 0 0 8px rgba(251, 191, 36, 0.25);
}

.ms-slate-countdown.is-urgent {
  background: linear-gradient(180deg, #fb923c 0%, #ea580c 100%);
  border-color: rgba(251, 146, 60, 0.75);
  animation: ms-slate-countdown-pulse 1s ease-in-out infinite;
}

.ms-slate-countdown.is-live {
  background: linear-gradient(180deg, #4ade80 0%, #16a34a 100%);
  border-color: rgba(74, 222, 128, 0.75);
  color: #052e16;
}

@keyframes ms-slate-countdown-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.82; }
}

.ms-slate-dock .ms-slate-card-header {
  flex-shrink: 0;
}

.ms-slate-dock .ms-slate-card-matchups,
.ms-slate-dock .ms-slate-card-matchups.is-compact {
  display: none;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  overflow-x: visible;
  overflow-y: hidden;
  max-width: 100%;
  padding-bottom: 1px;
  scrollbar-width: thin;
  mask-image: none;
  -webkit-mask-image: none;
}

.ms-slate-dock .ms-slate-card.is-expanded .ms-slate-card-matchups,
.ms-slate-dock .ms-slate-card.is-expanded .ms-slate-card-matchups.is-compact {
  display: flex !important;
}

.ms-slate-dock .ms-slate-matchup-compact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 4px 9px;
  min-width: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  white-space: nowrap;
}

.ms-slate-dock .ms-slate-matchup {
  padding: 3px 8px 3px 4px;
  gap: 5px;
  font-size: inherit;
}

/* Inline "exclude team from lineup builds" checkbox on Drafting Slates
   cards -- same state/write as the slate weather modal's team toggles,
   just reachable without opening the modal. Kept small to avoid
   crowding the compact chip row on narrow/mobile widths. */
.ms-slate-matchup-toggle {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  cursor: pointer;
  white-space: nowrap;
}
.ms-slate-matchup-toggle input[type="checkbox"] {
  width: 12px;
  height: 12px;
  min-width: 12px;
  margin: 0;
  cursor: pointer;
}
.ms-slate-matchup-toggle.is-off {
  opacity: 0.5;
  text-decoration: line-through;
}

.ms-slate-dock .ms-slate-team-abbr {
  font-size: 11px;
}

.ms-slate-dock .ms-slate-card .ms-team-logo,
.ms-slate-dock .ms-slate-card .ms-logo-fallback {
  width: 22px !important;
  height: 22px !important;
}

.ms-slate-dock .ms-slate-warehouse-hints,
.ms-slate-dock .ms-stale-banner {
  margin: 0;
  border-radius: var(--ms-radius-sm);
  border-left: 1px solid var(--ms-border);
  border-right: 1px solid var(--ms-border);
}



.ms-fcfl .ms-slate-dock .ms-slate-rail-panel {
  padding: 10px 12px 8px;
}

.ms-fcfl .ms-slate-dock .ms-slate-card {
  height: auto;
  max-height: none;
  min-height: 68px;
  min-width: 220px;
  padding: 10px 12px;
  border-radius: 10px;
}

.ms-fcfl .ms-slate-dock .ms-slate-card-time {
  font-size: 13px;
}

.ms-slate-dock .ms-slate-dock-title {
  font-size: 12px;
  letter-spacing: 0.05em;
}

.ms-slate-dock .ms-slate-rail-hint {
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}

.ms-slate-dock .ms-slate-card-name {
  font-size: 12px;
  line-height: 1.3;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ms-slate-dock .ms-slate-card-day {
  font-size: 11px;
  line-height: 1.3;
  color: var(--ms-muted);
}

.ms-slate-dock .ms-slate-card-top-actions .ms-slate-countdown {
  margin-left: 0;
}

.ms-slate-dock .ms-slate-card-games {
  font-size: 11px;
  margin-top: 0;
  gap: 6px;
}

.ms-slate-dock .ms-slate-card-chevron {
  display: none;
}

@media (max-width: 720px) {
  .ms-slate-dock .ms-slate-rail-panel {
    padding: 4px 8px 5px;
  }
  .ms-slate-dock .ms-slate-rail {
    max-height: 46px;
  }
  .ms-slate-dock .ms-slate-card {
    width: min(198px, 72vw);
    min-width: 168px;
    min-height: 42px;
    max-height: 42px;
    height: 42px;
  }
  .ms-slate-dock .ms-slate-rail-nav {
    display: none;
  }
  .ms-slate-dock .ms-slate-rail-hint {
    display: none;
  }
}

/* ── Sidebar workspace layout (pool-first) ── */
body.ms-layout-sidebar {
  --ms-sidebar-w: 360px;
  --ms-chrome-stack-h: var(--ms-toolbar-h);
}

.ms-shell-layout {
  width: calc(100% - 32px);
  max-width: none;
  margin: 0 auto;
  padding: 0 16px 40px;
}

body.ms-layout-sidebar.ms-pool-canvas {
  height: 100dvh;
  overflow: hidden;
  touch-action: pan-x pan-y;
}

body.ms-pool-canvas {
  touch-action: pan-x pan-y;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-shell-layout {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100dvh;
  padding-bottom: 0;
  overflow: hidden;
  box-sizing: border-box;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-shell-layout > .ms-topnav {
  flex-shrink: 0;
}

.ms-shell-layout .ms-topnav {
  width: 100%;
  margin: 0 0 0;
}

.ms-shell-layout .ms-topnav-inner {
  width: 100%;
  max-width: none;
  padding: 0 12px;
}

.ms-sidebar-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-right: 4px;
  padding: 0;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
  color: var(--ms-text);
  cursor: pointer;
  flex-shrink: 0;
}

.ms-sidebar-toggle:hover {
  border-color: var(--ms-blue);
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-app-layout {
  display: grid;
  grid-template-columns: var(--ms-sidebar-w) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  min-height: calc(100vh - var(--ms-toolbar-h) - 4px);
}

body.ms-layout-sidebar.ms-pool-canvas .ms-app-layout {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.ms-sidebar {
  position: sticky;
  top: var(--ms-toolbar-h);
  align-self: start;
  height: calc(100vh - var(--ms-toolbar-h));
  max-height: calc(100vh - var(--ms-toolbar-h));
  overflow: hidden;
  border-right: 1px solid var(--ms-border);
  background: var(--ms-bg-elevated);
  display: flex;
  flex-direction: column;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-sidebar {
  position: relative;
  top: auto;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  min-height: 0;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-main {
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-main > .ms-slate-dock,
body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-main > .ms-workspace-pin-top {
  flex-shrink: 0;
}

.ms-workspace-pin-top {
  flex: 0 0 auto;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-main > .ms-workspace-body {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-tabs {
  flex: 0 0 auto;
  max-height: min(24vh, 240px);
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-pool-slot {
  flex: 1 1 0;
  min-height: 0;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-main > .ms-legal {
  display: none;
}

/* BlastCast: leaderboard table scrolls inside a bounded viewport; tab panel scrolls the page */
body.ms-pool-canvas #ms-tab-blastcast .ms-blast-table-scroll {
  flex: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  min-height: 180px;
  max-height: min(52vh, 560px);
  overflow-x: scroll !important;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  padding-bottom: 12px;
}

body.ms-pool-canvas #ms-tab-blastcast .ms-blastcast-header {
  flex-shrink: 0;
}

body.ms-pool-canvas #ms-tab-blastcast .ms-grid {
  align-items: start;
  flex-shrink: 0;
}

body.ms-pool-canvas #ms-tab-blastcast #ms-blast-board {
  min-width: 0;
}

body.ms-pool-canvas #ms-tab-blastcast.active {
  scroll-padding-top: 8px;
}

.ms-sidebar-scroll {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  padding-bottom: 36px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
  -webkit-overflow-scrolling: touch;
}

.ms-fcfl.ms-layout-sidebar .ms-workspace-chrome.ms-sidebar {
  position: sticky;
  top: var(--ms-toolbar-h);
  margin: 0;
  border-bottom: none;
  box-shadow: none;
  z-index: var(--ms-z-chrome);
}

body.ms-fcfl.ms-layout-sidebar.ms-pool-canvas .ms-workspace-chrome.ms-sidebar {
  position: relative;
  top: auto;
}

.ms-workspace-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 0 12px 0 4px;
}

body.ms-layout-sidebar.ms-sidebar-collapsed .ms-app-layout {
  grid-template-columns: 0 minmax(0, 1fr);
  transition: grid-template-columns 0.22s ease;
}

body.ms-layout-sidebar.ms-sidebar-collapsed .ms-sidebar {
  width: 0;
  min-width: 0;
  padding: 0;
  border: none;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

body.ms-layout-sidebar .ms-sidebar-toggle {
  display: inline-flex;
}

/* Sidebar: slate controls stack vertically */
.ms-sidebar .ms-slate-bar {
  flex-shrink: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  padding: 12px 12px 10px;
  border-left: none;
  border-right: none;
  box-sizing: border-box;
  overflow: hidden;
}

.ms-sidebar .ms-sport-tabs {
  width: 100%;
  justify-content: stretch;
}

.ms-sidebar .ms-sport-tabs button {
  flex: 1;
  min-width: 0;
  min-height: 36px;
  padding: 8px 6px;
  font-size: 12px;
  font-weight: 700;
}

.ms-slate-bar-compact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.ms-fcfl .ms-slate-bar-compact {
  display: contents;
}

.ms-sidebar .ms-date-label.ms-label-with-info {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.ms-sidebar .ms-date-label .ms-field-info {
  width: 16px;
  height: 16px;
  font-size: 11px;
  flex-shrink: 0;
}

.ms-sidebar .ms-slate-bar-compact {
  gap: 8px;
}

.ms-sidebar .ms-date-control {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.ms-sidebar .ms-date-label {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--ms-muted);
}

.ms-sidebar .ms-date-row {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
}

.ms-sidebar .ms-date-step {
  width: 28px;
  height: 28px;
  min-width: 28px;
  flex-shrink: 0;
  font-size: 15px;
  padding: 0;
}

.ms-sidebar .ms-date-input {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
  min-height: 28px;
  padding: 4px 32px 4px 8px;
  font-size: 12px;
  appearance: auto;
  -webkit-appearance: auto;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}
.ms-sidebar .ms-date-input::-webkit-calendar-picker-indicator {
  display: block;
  opacity: 1;
  width: 16px;
  height: 16px;
  margin: 0 0 0 auto;
  padding: 0;
  flex-shrink: 0;
  position: static;
  cursor: pointer;
}

.ms-sidebar .ms-date-input::-webkit-inner-spin-button,
.ms-sidebar .ms-date-input::-webkit-clear-button {
  display: none;
  -webkit-appearance: none;
}

.ms-sidebar .ms-date-row .ms-date-display {
  display: none !important;
}

.ms-sidebar .ms-slate-meta,
.ms-sidebar .ms-slate-meta-compact {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel-2);
  border: 1px solid var(--ms-border);
}

.ms-sidebar .ms-slate-meta-label {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}

.ms-sidebar .ms-slate-meta strong {
  flex: 1 1 0;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ms-green, #34d399);
}

.ms-sidebar .ms-slate-meta-hint {
  display: none;
}

.ms-sidebar .ms-slate-actions {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
}

.ms-sidebar .ms-slate-actions .ms-btn {
  flex: 1 1 0;
  min-width: 0;
  white-space: nowrap;
  padding-left: 8px;
  padding-right: 8px;
}

.ms-sidebar .ms-slate-rail-panel {
  border-left: none;
  border-right: none;
  margin: 0;
  padding: 8px 10px 10px;
  box-sizing: border-box;
  overflow: hidden;
}

.ms-sidebar .ms-slate-rail-scroller {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  grid-template-columns: none;
  gap: 0;
}

.ms-sidebar .ms-slate-rail-nav {
  display: none;
}

.ms-sidebar .ms-slate-rail {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  max-height: min(320px, 36vh);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 4px 2px 8px;
  gap: 8px;
  scroll-snap-type: none;
}

.ms-sidebar .ms-slate-rail-empty {
  min-width: 0;
  width: 100%;
  padding: 14px 10px;
  font-size: 12px;
  line-height: 1.35;
  box-sizing: border-box;
}

.ms-sidebar .ms-slate-card {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: 64px;
  max-height: none;
  box-sizing: border-box;
  padding: 8px 10px;
  gap: 6px;
}

.ms-sidebar .ms-slate-card-header {
  gap: 8px;
  min-width: 0;
}

.ms-sidebar .ms-slate-card-meta {
  min-width: 0;
  flex: 1 1 auto;
}

.ms-sidebar .ms-slate-card-time {
  font-size: 15px;
}

.ms-sidebar .ms-slate-card-games {
  font-size: 11px;
  margin-top: 0;
  max-width: 42%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ms-sidebar .ms-slate-card-matchups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 6px;
  margin-top: 4px;
  padding-bottom: 0;
  overflow: hidden;
  flex-wrap: wrap;
  mask-image: none;
  -webkit-mask-image: none;
}

.ms-sidebar .ms-slate-card-matchups.is-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px 4px;
}

.ms-sidebar .ms-slate-matchup {
  min-width: 0;
  max-width: 100%;
  padding: 2px 5px;
  gap: 3px;
  justify-content: center;
  overflow: hidden;
}

.ms-sidebar .ms-slate-matchup-compact {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 3px 4px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ms-sidebar .ms-slate-matchup-compact .ms-slate-matchup-at {
  font-size: 8px;
  font-weight: 600;
  color: rgba(235, 235, 245, 0.4);
  margin: 0 1px;
}

.ms-sidebar .ms-slate-matchup-more {
  padding: 3px 6px;
  font-size: 9px;
  grid-column: 1 / -1;
  justify-self: start;
}
.ms-slate-dock .ms-slate-matchup-more {
  font-size: 10px;
  padding: 4px 9px;
}

.ms-sidebar .ms-slate-matchup-team .ms-slate-team-abbr {
  font-size: 9px;
}

.ms-sidebar .ms-slate-card .ms-team-logo,
.ms-sidebar .ms-slate-card .ms-logo-fallback {
  width: 16px !important;
  height: 16px !important;
}

.ms-sidebar .ms-slate-matchup-team {
  min-width: 0;
  overflow: hidden;
}

.ms-sidebar .ms-slate-matchup-vs {
  font-size: 8px;
}

.ms-sidebar .ms-slate-warehouse-hints,
.ms-sidebar .ms-stale-banner,
.ms-sidebar .ms-health-banner {
  margin: 0;
  border-radius: 0;
  border-left: none;
  border-right: none;
  font-size: 11px;
}

/* Sidebar: vertical section nav */
.ms-sidebar-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border-top: 1px solid var(--ms-border);
  border-bottom: 1px solid var(--ms-border);
  flex-shrink: 0;
  box-sizing: border-box;
}

.ms-sidebar-action {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
  color: var(--ms-text);
  font-size: 12px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.ms-sidebar-action i {
  width: 14px;
  text-align: center;
  opacity: 0.85;
  flex-shrink: 0;
}

.ms-sidebar-action:hover {
  border-color: var(--ms-blue);
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-sidebar-action-primary {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.22), rgba(37, 99, 235, 0.12));
  border-color: rgba(59, 130, 246, 0.45);
  color: var(--ms-blue-bright, #6eb6ff);
}

.ms-sidebar-action-primary:hover {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.32), rgba(37, 99, 235, 0.18));
}

.ms-sidebar .ms-nav-pills {
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  border: none;
  border-top: 1px solid var(--ms-border);
  border-bottom: 1px solid var(--ms-border);
  scroll-snap-type: none;
  flex: 0 0 auto;
}

.ms-sidebar .ms-nav-pills button,
.ms-sidebar .ms-nav-pills .ms-nav-external {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  gap: 12px;
  padding: 11px 14px;
  border-bottom: none;
  border-left: 3px solid transparent;
  scroll-snap-align: none;
  flex-shrink: 0;
  box-sizing: border-box;
}

.ms-sidebar .ms-nav-pills .ms-nav-external {
  font-size: 12px;
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-sidebar .ms-nav-pills button i,
.ms-sidebar .ms-nav-pills .ms-nav-external i {
  width: 16px;
  text-align: center;
  opacity: 0.85;
}

.ms-sidebar .ms-nav-pills button.active {
  border-left-color: var(--ms-blue);
  border-bottom-color: transparent;
}

.ms-sidebar .ms-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
  padding: 12px 14px 16px;
  margin-top: 0;
  flex-shrink: 0;
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: 1px solid var(--ms-border);
  border-bottom: none;
}

.ms-sidebar .ms-metric {
  padding: 4px 0;
  min-width: 0;
}

.ms-sidebar .ms-metric-val {
  font-size: 13px;
}

.ms-sidebar .ms-metric-label {
  font-size: 9px;
  letter-spacing: 0.04em;
}

.ms-sidebar .ms-metrics > .ms-btn,
.ms-sidebar .ms-metrics > .ms-toggle-switch {
  grid-column: 1 / -1;
  width: 100%;
  margin: 4px 0 0;
}

.ms-sidebar .ms-dash-mini-cal-sidebar {
  display: none;
}

/* Main: compact chrome, pool-first dashboard */
body.ms-layout-sidebar .ms-page-header.ms-page-header-compact {
  display: none;
}

body.ms-layout-sidebar .ms-wizard {
  margin: 4px 0 6px;
}

.ms-tab-dashboard-pool.active {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  gap: 0;
}

.ms-dash-pool-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(272px, 320px);
  gap: 10px;
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.ms-dash-pool-main {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: hidden;
}

.ms-dash-live-rail {
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid rgba(52, 61, 77, 0.65);
  border-radius: var(--ms-radius-md);
  background: linear-gradient(180deg, rgba(21, 26, 34, 0.92) 0%, rgba(15, 18, 24, 0.98) 100%);
}

.ms-dash-live-rail .ms-pool-live-scoring {
  flex: 1 1 0;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 0;
  padding: 8px 10px 10px;
  border: none;
  border-radius: 0;
  background: transparent;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: none;
}

.ms-dash-live-rail .ms-pool-live-grid {
  grid-template-columns: 1fr;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
}

.ms-dash-live-rail .ms-pool-live-games-wrap,
.ms-dash-live-rail .ms-pool-live-leaders-wrap,
.ms-dash-live-rail .ms-pool-live-portfolio-wrap {
  min-width: 0;
  max-width: 100%;
}

.ms-dash-live-rail .ms-pool-live-games {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

.ms-dash-live-rail .ms-pool-live-game {
  min-width: 0;
  max-width: 100%;
  padding: 5px 6px;
  font-size: 0.72rem;
  gap: 4px;
}

.ms-dash-live-rail .ms-pool-live-game-team {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ms-dash-live-rail .ms-pool-live-table-wrap {
  max-height: none;
  max-width: 100%;
  flex: 1 1 auto;
  min-height: 120px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ms-dash-live-rail .ms-pool-live-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.ms-dash-live-rail .ms-pool-live-table th,
.ms-dash-live-rail .ms-pool-live-table td {
  font-size: 0.68rem;
  padding: 4px 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ms-dash-live-rail .ms-pool-live-table .ms-player-name-cell {
  max-width: 0;
}

.ms-dash-live-rail .ms-pool-live-head {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: -8px -10px 8px;
  padding: 8px 10px 6px;
  background: linear-gradient(180deg, rgba(21, 26, 34, 0.98) 0%, rgba(21, 26, 34, 0.92) 85%, transparent 100%);
}

.ms-dash-live-rail .ms-pool-live-title-row {
  min-width: 0;
  flex: 1 1 auto;
}

.ms-dash-live-rail .ms-pool-live-title {
  font-size: 0.82rem;
}

.ms-dash-live-rail .ms-pool-live-meta {
  font-size: 0.65rem;
  line-height: 1.35;
  word-break: break-word;
}

.ms-dash-live-rail .ms-pool-live-actions {
  flex-shrink: 0;
  gap: 4px;
}

.ms-dash-live-rail .ms-pool-live-actions .ms-btn {
  font-size: 0.68rem;
  padding: 4px 6px;
}

.ms-dash-live-rail .ms-pool-live-subtitle {
  font-size: 0.65rem;
  line-height: 1.35;
  margin-bottom: 6px;
}

.ms-workspace-body > .ms-dash-pool-layout {
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
}

@media (max-width: 1100px) {
  .ms-dash-pool-layout {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .ms-dash-live-rail {
    max-height: min(38vh, 340px);
    flex-shrink: 0;
  }
}

.ms-dash-sidebar-widgets {
  display: none;
}

.ms-pool-focus {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
  margin-bottom: 0 !important;
}

.ms-pool-focus .ms-panel-head {
  flex-shrink: 0;
}

.ms-workspace-pool-slot .ms-pool-focus .ms-excluded-games-bar {
  flex-shrink: 0;
}

.ms-workspace-pool-slot .ms-player-pool-panel .ms-panel-head {
  padding-top: 2px;
  padding-bottom: 2px;
}

.ms-pool-focus .ms-excluded-games-bar {
  flex-shrink: 0;
}

.ms-pool-focus .ms-player-pool {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.ms-pool-focus .ms-pool-table-frame {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.ms-pool-focus .ms-player-pool > .ms-pool-metrics-banner,
.ms-pool-focus .ms-player-pool > .ms-notification-banner,
.ms-pool-focus .ms-player-pool > .ms-pool-pos-sort-banner,
.ms-pool-focus .ms-player-pool > .ms-pool-scroll-hint,
.ms-pool-focus .ms-player-pool > .ms-pool-more {
  flex-shrink: 0;
}

.ms-pool-focus .ms-pool-table-scroll {
  flex: 1 1 0;
  min-height: 140px;
  max-height: none;
  height: auto;
}

.ms-pool-collapsed-hint {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px 24px;
  text-align: center;
  border-top: 1px solid rgba(52, 61, 77, 0.45);
  background: rgba(12, 15, 20, 0.65);
}

body.ms-pool-collapsed .ms-pool-collapsed-hint,
body.ms-pool-chrome-hidden:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-blastcast.active) .ms-pool-collapsed-hint,
body.ms-pool-chrome-hidden:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-study.active) .ms-pool-collapsed-hint,
body.ms-pool-chrome-hidden:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-addons.active) .ms-pool-collapsed-hint {
  display: flex;
}

body.ms-pool-docked-in-slate .ms-pool-collapsed-hint {
  display: none !important;
}

.ms-pool-collapsed-hint-text {
  margin: 0;
  font-size: 0.82rem;
  color: var(--ms-muted);
  max-width: 28rem;
}

.ms-workspace-pool-rescue {
  display: none !important;
}

.ms-workspace-pool-rescue[hidden] {
  display: none !important;
}

.ms-slate-dock-pool-chrome {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
  flex: 0 0 auto;
  padding: 4px 0 4px 10px;
  border-left: 1px solid rgba(52, 61, 77, 0.45);
}

.ms-slate-dock-pool-chrome[hidden] {
  display: none !important;
}

.ms-slate-dock-pool-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-text);
  white-space: nowrap;
}

.ms-slate-dock-pool-meta {
  font-size: 12px;
  color: var(--ms-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ms-workspace-pool-rescue-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ms-text);
}

.ms-workspace-pool-rescue-copy {
  margin: 0;
  max-width: 26rem;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--ms-muted);
}

.ms-dash-drawer {
  flex-shrink: 0;
  margin-top: 8px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
}

.ms-dash-drawer-summary {
  cursor: pointer;
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-dash-drawer-summary::-webkit-details-marker {
  display: none;
}

.ms-dash-drawer-summary i {
  margin-right: 8px;
  opacity: 0.75;
}

.ms-dash-drawer[open] .ms-dash-drawer-summary {
  border-bottom: 1px solid var(--ms-border);
  color: var(--ms-text);
}

.ms-dash-drawer-body {
  padding: 10px;
  max-height: min(52vh, 560px);
  overflow-y: auto;
}

.ms-dash-drawer-body .ms-grid {
  grid-template-columns: 1fr;
}

@media (min-width: 1280px) {
  body.ms-layout-sidebar:not(.ms-pool-canvas) {
    --ms-sidebar-w: 288px;
  }

  body.ms-layout-sidebar.ms-pool-canvas {
    --ms-sidebar-w: 312px;
  }

  .ms-dash-drawer-body .ms-grid.ms-dash-top {
    grid-template-columns: 1fr 1fr;
  }

  .ms-dash-drawer-body > .ms-grid:last-child {
    grid-template-columns: 1fr 1fr;
  }
}

/* Mobile workspace date bar — visible when sidebar drawer is collapsed */
.ms-mobile-slate-bar {
  display: none;
}

@media (max-width: 1023px) {
  .ms-mobile-slate-bar {
    display: block;
    flex-shrink: 0;
    margin: 0 0 8px;
    padding: 10px 12px;
    border: 1px solid var(--ms-border);
    border-radius: var(--ms-radius-md);
    background: linear-gradient(180deg, rgba(21, 26, 34, 0.98) 0%, rgba(15, 18, 24, 0.99) 100%);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
    position: sticky;
    top: 0;
    z-index: calc(var(--ms-z-chrome) + 1);
  }

  .ms-mobile-slate-bar-inner {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
  }

  .ms-mobile-date-control {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .ms-mobile-slate-bar .ms-date-label {
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ms-muted);
  }

  .ms-mobile-slate-bar .ms-date-row {
    width: 100%;
    min-width: 0;
    display: flex;
    /* #ms-refresh-slate-mobile below sets flex:1 1 100% specifically so the
       button drops to its own full-width row instead of squeezing into the
       remaining ~90px next to the date input -- nowrap here silently
       defeated that and clipped both the date text and "Load Slate". */
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
  }

  .ms-mobile-slate-bar .ms-date-step {
    width: 44px;
    height: 44px;
    min-width: 44px;
    flex-shrink: 0;
    font-size: 20px;
    touch-action: manipulation;
  }

  .ms-mobile-slate-bar .ms-date-input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 44px;
    padding: 10px 40px 10px 12px;
    font-size: 16px;
    font-weight: 600;
    appearance: auto;
    -webkit-appearance: auto;
    touch-action: manipulation;
    color-scheme: dark;
  }

  .ms-mobile-slate-bar .ms-date-input::-webkit-calendar-picker-indicator {
    display: block;
    opacity: 1;
    width: 22px;
    height: 22px;
    margin: 0 0 0 auto;
    padding: 0;
    cursor: pointer;
    filter: invert(79%) sepia(51%) saturate(631%) hue-rotate(177deg) brightness(104%) contrast(101%);
  }

  .ms-mobile-slate-bar #ms-refresh-slate-mobile {
    flex-shrink: 0;
    min-height: 44px;
    padding-inline: 12px;
    touch-action: manipulation;
    white-space: nowrap;
  }

  .ms-slate-dock .ms-slate-rail-hint {
    font-size: 12px;
  }
}

@media (max-width: 1023px) {
  .ms-app-layout {
    grid-template-columns: 1fr;
  }

  .ms-sidebar {
    position: fixed;
    left: 0;
    top: var(--ms-toolbar-h);
    bottom: 0;
    height: auto;
    max-height: none;
    width: min(var(--ms-sidebar-w), 88vw);
    z-index: calc(var(--ms-z-chrome) + 2);
    box-shadow: 8px 0 32px rgba(0, 0, 0, 0.45);
    transform: translateX(0);
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  body.ms-layout-sidebar.ms-sidebar-collapsed .ms-sidebar {
    transform: translateX(-105%);
    opacity: 1;
    pointer-events: none;
    width: min(var(--ms-sidebar-w), 88vw);
  }

  body.ms-layout-sidebar:not(.ms-sidebar-collapsed) .ms-sidebar {
    pointer-events: auto;
  }

  body.ms-layout-sidebar:not(.ms-sidebar-collapsed)::before {
    content: "";
    position: fixed;
    inset: var(--ms-toolbar-h) 0 0 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: calc(var(--ms-z-chrome) + 1);
    pointer-events: none;
  }

  .ms-workspace-main {
    padding-left: 0;
  }

  .ms-pool-focus .ms-pool-table-scroll {
    flex: 1 1 0;
    min-height: var(--ms-pool-viewport-min, 756px);
    height: 0;
  }

  body.ms-pool-canvas .ms-pool-focus .ms-pool-table-scroll {
    min-height: 0;
  }
}

/* ── Pool canvas: full-width table, all columns visible ── */
body.ms-pool-canvas {
  --ms-sidebar-w: 312px;
  --ms-pool-row-h: 32px;
  --ms-pool-visible-rows: 20;
  --ms-pool-main-hdr-h: 32px;
  --ms-slate-card-h: 68px;
  /* Flex layout fills remaining viewport — do not force ~756px table chrome */
  --ms-pool-viewport-min: 0px;
}

/* Shared pool slot — same position on every tab */
.ms-workspace-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  gap: 4px;
}

.ms-workspace-tabs {
  flex: 0 1 auto;
  min-height: 0;
  max-height: min(28vh, 280px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.ms-workspace-tabs > .ms-tab-panel {
  display: none;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ms-workspace-tabs > .ms-tab-panel.active {
  display: flex;
  flex-direction: column;
}

/* Live tab: give scoring panels room instead of a full-width sliver above the pool */
body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-live.active) .ms-workspace-tabs {
  flex: 0 1 auto;
  max-height: min(38vh, 360px);
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-live.active) .ms-workspace-tabs {
  flex: 0 1 auto;
  min-height: min(24vh, 220px);
  max-height: min(38vh, 360px);
}

#ms-tab-live.active {
  min-height: 0;
}

.ms-live-fallback-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-live.active) .ms-workspace-pool-slot {
  flex: 1 1 auto;
  min-height: 300px;
}

/* Build tab: split workspace like Live — optimizer panels above, pool below */
body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-workspace-tabs {
  flex: 1 1 48%;
  max-height: min(52vh, 520px);
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-build.active) .ms-workspace-tabs {
  flex: 1 1 48%;
  min-height: min(32vh, 300px);
  max-height: min(56vh, 560px);
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-workspace-pool-slot {
  flex: 1 1 52%;
  min-height: 180px;
}

/*
 * Hardened 2026-07-02: BUILD was reported rendering fully blank in production
 * with zero console errors — content executes but the tab visually shows
 * nothing. The split-view sizing above only applies when body carries
 * .ms-layout-sidebar (and variably .ms-pool-canvas); every other rule that
 * frees up height for BUILD is gated on specific body-class combinations
 * from tonight's pool-docking work (.ms-pool-docked-in-slate,
 * .ms-pool-chrome-hidden). If any future state doesn't match one of those
 * combinations, .ms-workspace-tabs silently falls back to the base rule's
 * max-height: min(28vh, 280px) + overflow: hidden, which can visually read
 * as "nothing rendered" depending on content. This is a selector-agnostic
 * floor that guarantees BUILD always gets a usable, scrollable height no
 * matter which body classes are (or aren't) present.
 */
.ms-workspace-tabs:has(> #ms-tab-build.active) {
  min-height: min(60vh, 480px) !important;
  max-height: none !important;
  overflow: visible !important;
}
#ms-tab-build.active {
  min-height: min(50vh, 400px);
}

/*
 * Focus tabs (BlastCast, Study, Add-ons): tab content owns the workspace.
 * Player pool collapses to the header bar unless the user explicitly expands it.
 */
body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-blastcast.active) .ms-workspace-tabs,
body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-study.active) .ms-workspace-tabs,
body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-addons.active) .ms-workspace-tabs,
body.ms-layout-sidebar.ms-pool-canvas.ms-pool-collapsed .ms-workspace-tabs {
  flex: 1 1 auto;
  max-height: none;
  min-height: 0;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-blastcast.active) .ms-dash-pool-layout,
body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-study.active) .ms-dash-pool-layout,
body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-addons.active) .ms-dash-pool-layout,
body.ms-layout-sidebar.ms-pool-canvas.ms-pool-collapsed .ms-dash-pool-layout {
  flex: 0 0 auto;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-blastcast.active) .ms-workspace-pool-slot,
body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-study.active) .ms-workspace-pool-slot,
body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-body:has(#ms-tab-addons.active) .ms-workspace-pool-slot,
body.ms-pool-collapsed .ms-workspace-pool-slot {
  flex: 0 0 auto;
  min-height: 0;
}

body.ms-layout-sidebar.ms-pool-canvas:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-blastcast.active) .ms-player-pool,
body.ms-layout-sidebar.ms-pool-canvas:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-blastcast.active) .ms-excluded-games-bar,
body.ms-layout-sidebar.ms-pool-canvas:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-study.active) .ms-player-pool,
body.ms-layout-sidebar.ms-pool-canvas:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-study.active) .ms-excluded-games-bar,
body.ms-layout-sidebar.ms-pool-canvas:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-addons.active) .ms-player-pool,
body.ms-layout-sidebar.ms-pool-canvas:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-addons.active) .ms-excluded-games-bar,
body.ms-pool-collapsed .ms-workspace-pool-slot .ms-player-pool,
body.ms-pool-collapsed .ms-workspace-pool-slot .ms-excluded-games-bar {
  display: none !important;
}

body.ms-pool-collapsed .ms-workspace-tabs {
  flex: 1 1 auto !important;
  max-height: none !important;
}

body.ms-pool-docked-in-slate .ms-dash-pool-layout,
body.ms-pool-collapsed .ms-dash-pool-layout,
body.ms-pool-chrome-hidden:not(.ms-pool-user-expanded) .ms-dash-pool-layout {
  display: none !important;
}

body.ms-pool-docked-in-slate .ms-workspace-tabs,
body.ms-pool-chrome-hidden:not(.ms-pool-user-expanded) .ms-workspace-tabs {
  flex: 1 1 auto !important;
  max-height: none !important;
  min-height: 0;
}

body.ms-layout-sidebar.ms-pool-canvas.ms-pool-docked-in-slate .ms-workspace-tabs,
body.ms-layout-sidebar.ms-pool-canvas.ms-pool-chrome-hidden:not(.ms-pool-user-expanded) .ms-workspace-tabs {
  flex: 1 1 auto !important;
  max-height: none !important;
  min-height: 0;
}

body.ms-pool-docked-in-slate .ms-slate-dock .ms-slate-rail-panel {
  padding-bottom: 0;
}

body.ms-pool-docked-in-slate .ms-slate-dock .ms-slate-rail-head.ms-slate-dock-head {
  flex-wrap: nowrap;
}

body.ms-pool-docked-in-slate .ms-slate-dock .ms-slate-rail-head .ms-health-banner {
  max-width: min(320px, 38%);
}

body.ms-pool-collapsed .ms-player-pool-panel,
body.ms-pool-chrome-hidden .ms-player-pool-panel {
  flex: 0 0 auto !important;
  min-height: auto !important;
}

body.ms-layout-sidebar.ms-pool-canvas #ms-tab-blastcast.active {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}

body.ms-layout-sidebar.ms-pool-canvas:not(.ms-pool-user-expanded) .ms-workspace-body:has(#ms-tab-blastcast.active) #ms-tab-blastcast .ms-blast-table-scroll {
  flex: 1 1 auto;
  min-height: 200px;
  max-height: none;
  height: auto;
}

.ms-pool-collapse-label {
  white-space: nowrap;
}

.ms-pool-collapse-toggle[data-ms-pool-toggle="restore"] {
  font-weight: 700;
}

#ms-tab-live .ms-grid {
  grid-template-columns: 1fr;
  gap: 10px;
}

#ms-tab-live .ms-panel {
  padding: 10px 12px;
}

#ms-tab-live .ms-panel-head,
#ms-tab-live .ms-late-swap-panel .ms-panel-head {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
}

#ms-tab-live .ms-late-swap-head-actions {
  width: 100%;
  justify-content: flex-start;
  gap: 6px;
}

#ms-tab-live .ms-late-swap-head-actions .ms-btn {
  flex: 0 1 auto;
}

#ms-tab-live .ms-recent-blasts {
  max-height: 200px;
}

#ms-tab-live .ms-blast-event {
  max-width: 100%;
}

#ms-tab-live .ms-live-drawer {
  overflow: hidden;
  padding: 0;
}

#ms-tab-live .ms-live-drawer-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

#ms-tab-live .ms-live-drawer-summary::-webkit-details-marker {
  display: none;
}

#ms-tab-live .ms-live-drawer-summary::before {
  content: "▸";
  flex: 0 0 auto;
  color: var(--ms-muted);
  font-size: 11px;
  transform: translateY(-1px);
}

#ms-tab-live .ms-live-drawer[open] > .ms-live-drawer-summary::before {
  content: "▾";
}

#ms-tab-live .ms-live-drawer-title {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--ms-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

#ms-tab-live .ms-live-drawer-meta,
#ms-tab-live .ms-live-drawer-summary .ms-late-swap-summary {
  flex: 0 1 auto;
  color: var(--ms-muted);
  font-size: 11px;
  font-weight: 600;
  justify-content: flex-end;
  text-align: right;
}

#ms-tab-live .ms-live-drawer[open] > .ms-live-drawer-summary {
  border-bottom: 1px solid var(--ms-border);
}

#ms-tab-live .ms-live-drawer-body {
  padding: 10px 12px 12px;
}

#ms-tab-live .ms-live-drawer-body > .ms-panel-head:first-child {
  padding: 0 0 8px;
}

#ms-tab-live .ms-live-drawer:not([open]) .ms-late-swap-summary-empty {
  font-style: normal;
}

@media (max-width: 720px) {
  #ms-tab-live .ms-live-drawer-summary {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px;
  }

  #ms-tab-live .ms-live-drawer-meta,
  #ms-tab-live .ms-live-drawer-summary .ms-late-swap-summary {
    flex-basis: 100%;
    text-align: left;
    justify-content: flex-start;
  }
}

.ms-workspace-pool-slot {
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.ms-workspace-pool-slot .ms-player-pool-panel {
  flex: 1 1 0;
  min-height: 0;
  margin-bottom: 0;
}

/* ── Live DK scorers stock ticker (compact strip below slate dock) ── */
.ms-live-ticker-shell {
  flex-shrink: 0;
  margin: 0 0 4px;
  min-width: 0;
}

body.ms-pool-canvas .ms-workspace-main > .ms-live-ticker-shell {
  margin-bottom: 2px;
}

.ms-live-ticker {
  border: 1px solid rgba(52, 61, 77, 0.65);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(18, 22, 30, 0.98) 0%, rgba(12, 15, 20, 0.99) 100%);
  overflow: hidden;
}

.ms-live-ticker-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  padding: 4px 8px;
  border-bottom: 1px solid rgba(52, 61, 77, 0.45);
  background: rgba(0, 0, 0, 0.22);
}

.ms-live-ticker-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-text);
  white-space: nowrap;
}

.ms-live-ticker-label i {
  color: var(--ms-green);
  font-size: 10px;
}

.ms-live-ticker-sub {
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ms-muted);
  text-transform: uppercase;
}

.ms-live-ticker-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  flex: 1 1 auto;
  min-width: 0;
}

.ms-ticker-ctrl {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  color: var(--ms-muted);
  white-space: nowrap;
}

.ms-ticker-ctrl input[type="range"] {
  width: 72px;
  height: 4px;
  accent-color: #fbbf24;
}

.ms-ticker-num {
  width: 52px;
  padding: 2px 4px;
  font-size: 10px;
  border-radius: 4px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel);
  color: var(--ms-text);
}

.ms-live-ticker-meta {
  font-size: 9px;
  color: var(--ms-muted);
  white-space: nowrap;
  margin-left: auto;
}

.ms-live-ticker-status {
  margin: 0;
  padding: 3px 8px;
  font-size: 9px;
  color: #fdba74;
  background: rgba(251, 146, 60, 0.08);
  border-bottom: 1px solid rgba(251, 146, 60, 0.2);
}

.ms-live-ticker-viewport {
  position: relative;
  height: 30px;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
}

.ms-live-ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 0;
  width: max-content;
  height: 100%;
  padding: 0 8px;
  white-space: nowrap;
  animation-name: ms-ticker-marquee;
  animation-duration: var(--ticker-duration, 600s);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}

.ms-live-ticker.is-off .ms-live-ticker-track {
  animation-play-state: paused;
  opacity: 0.45;
}

.ms-live-ticker.is-on .ms-live-ticker-track {
  animation-play-state: running;
}

@keyframes ms-ticker-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ms-ticker-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  margin: 0 4px;
  border-radius: 6px;
  border: 1px solid rgba(52, 61, 77, 0.55);
  background: rgba(26, 31, 40, 0.85);
  font-size: 11px;
  color: var(--ms-text);
  line-height: 1.2;
}

.ms-ticker-chip.is-live,
.ms-ticker-chip-scorer.is-live {
  border-color: rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.1);
}

.ms-ticker-chip-hr {
  border-color: rgba(251, 191, 36, 0.55);
  background: linear-gradient(90deg, rgba(251, 191, 36, 0.18) 0%, rgba(234, 88, 12, 0.12) 100%);
  color: #fde68a;
  animation: ms-ticker-hr-pulse 2s ease-in-out infinite;
}

@keyframes ms-ticker-hr-pulse {
  0%, 100% { box-shadow: 0 0 0 rgba(251, 191, 36, 0); }
  50% { box-shadow: 0 0 10px rgba(251, 191, 36, 0.35); }
}

.ms-ticker-chip-hr i {
  color: #fbbf24;
}

.ms-ticker-chip-wait {
  color: var(--ms-muted);
  font-size: 10px;
  font-style: italic;
  border-style: dashed;
}

.ms-ticker-rank {
  font-size: 9px;
  font-weight: 800;
  color: var(--ms-muted);
  min-width: 1.4em;
}

.ms-ticker-chip-main {
  font-weight: 650;
}

.ms-ticker-chip-meta {
  font-size: 10px;
  color: var(--ms-muted);
}

.ms-ticker-dks {
  color: #4ade80;
  font-weight: 700;
}

.ms-ticker-delta-pos {
  color: #4ade80;
  font-weight: 600;
}

.ms-ticker-delta-neg {
  color: #f87171;
  font-weight: 600;
}

.ms-ticker-hr-badge {
  display: inline-flex;
  margin-left: 4px;
  color: #fbbf24;
}

.ms-ticker-sep {
  display: inline-block;
  margin: 0 10px;
  font-size: 8px;
  color: rgba(255, 255, 255, 0.15);
  user-select: none;
}

@media (max-width: 900px) {
  .ms-live-ticker-meta {
    width: 100%;
    margin-left: 0;
  }
  .ms-ticker-ctrl-speed input[type="range"] {
    width: 56px;
  }
}

body.ms-pool-canvas .ms-page-header {
  display: none;
}

body.ms-pool-canvas .ms-dash-sidebar-widgets {
  display: none !important;
}

body.ms-pool-canvas .ms-shell-layout {
  width: calc(100% - 24px);
  max-width: none;
  padding: 0 12px 28px;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-shell-layout {
  padding-bottom: 0;
}

body.ms-layout-sidebar.ms-pool-canvas,
body.ms-layout-sidebar.ms-pool-canvas .ms-body {
  min-height: 100dvh;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-app-layout {
  height: calc(100dvh - var(--ms-toolbar-h, 56px));
  min-height: 0;
  overflow: hidden;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-sidebar {
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-sidebar-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-sidebar-scroll > * {
  flex-shrink: 0;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-sidebar-scroll::-webkit-scrollbar {
  width: 10px;
}

body.ms-layout-sidebar.ms-pool-canvas .ms-sidebar-scroll::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.32);
  border-radius: 999px;
  border: 2px solid rgba(15, 23, 42, 0.92);
}

body.ms-pool-canvas.ms-pool-expanded .ms-nav.ms-nav-compact:not(.ms-sidebar-workspace-nav),
body.ms-pool-canvas.ms-pool-expanded #ms-sidebar-acc-snapshot,
body.ms-pool-canvas.ms-pool-expanded #ms-sidebar-acc-goto,
body.ms-pool-canvas.ms-pool-expanded .ms-sidebar-acc-group[data-ms-acc-group="build"],
body.ms-pool-canvas.ms-pool-expanded #ms-sidebar-acc-pool-sort,
body.ms-pool-canvas.ms-pool-expanded #ms-sidebar-acc-pool-locks {
  display: none !important;
}

body.ms-pool-canvas.ms-pool-expanded #ms-sidebar-acc-pool-filters {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: hidden;
}

body.ms-pool-canvas.ms-pool-expanded #ms-sidebar-acc-pool-filters[open] .ms-sidebar-accordion-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
}

body.ms-pool-canvas.ms-pool-expanded .ms-sidebar-filters {
  border-bottom: none;
}

body.ms-pool-canvas .ms-workspace-main {
  padding: 0 10px 0 4px;
}

body.ms-pool-canvas.ms-pool-expanded .ms-workspace-main {
  padding-left: 0;
}

body.ms-pool-canvas .ms-grok-hints-wrap,
body.ms-pool-canvas .ms-wizard,
body.ms-pool-canvas .ms-vip-banner-wrap,
body.ms-pool-canvas .ms-pro-chain-wrap {
  display: none !important;
}

.ms-pool-live-drawer {
  flex-shrink: 0;
  margin-top: 6px;
  border: 1px solid rgba(52, 61, 77, 0.55);
  border-radius: 8px;
  background: var(--ms-panel);
}

.ms-pool-live-drawer-summary {
  cursor: pointer;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-pool-live-drawer-summary::-webkit-details-marker {
  display: none;
}

.ms-pool-live-drawer-summary i {
  margin-right: 6px;
  opacity: 0.8;
}

.ms-pool-live-drawer[open] .ms-pool-live-drawer-summary {
  color: var(--ms-text);
  border-bottom: 1px solid rgba(52, 61, 77, 0.45);
}

.ms-pool-live-drawer:not([open]) .ms-pool-live-scoring {
  display: none;
}

.ms-dashboard-live-panel {
  flex-shrink: 0;
  margin-top: 0;
  max-height: none;
  overflow-y: auto;
}

body.ms-pool-canvas .ms-live-ticker-shell {
  flex-shrink: 0;
}

body.ms-pool-canvas .ms-live-ticker-viewport {
  height: 28px;
}

.ms-build-intel-drawer {
  margin-bottom: 12px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-sm);
  background: var(--ms-panel);
}

.ms-build-intel-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-build-intel-summary::-webkit-details-marker {
  display: none;
}

.ms-build-intel-summary i {
  margin-right: 8px;
  opacity: 0.75;
}

.ms-build-summary-title {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.ms-build-summary-meta {
  color: var(--ms-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  text-align: right;
}

.ms-build-intel-drawer[open] .ms-build-intel-summary {
  border-bottom: 1px solid var(--ms-border);
  color: var(--ms-text);
}

.ms-build-intel-body {
  padding: 12px;
  overflow-x: auto;
}

.ms-build-intel-body .ms-grid {
  grid-template-columns: 1fr;
  gap: 12px;
}

.ms-build-custom-drawer {
  overflow: hidden;
}

.ms-build-custom-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  padding: 12px 14px;
  color: var(--ms-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  list-style: none;
  user-select: none;
}

.ms-build-custom-summary::-webkit-details-marker {
  display: none;
}

.ms-build-custom-summary i {
  margin-right: 8px;
  color: var(--ms-accent);
  opacity: 0.9;
}

.ms-build-custom-drawer[open] .ms-build-custom-summary {
  border-bottom: 1px solid var(--ms-border);
}

.ms-build-custom-body {
  padding: 14px;
}

@media (min-width: 1280px) {
  .ms-build-intel-body .ms-grid.ms-dash-top {
    grid-template-columns: 1fr 1fr;
  }

  .ms-build-intel-body > .ms-grid:last-child {
    grid-template-columns: 1fr 1fr;
  }
}

.ms-build-intel-body .ms-own-battle-wrap,
.ms-build-intel-body .ms-table-wrap {
  overflow-x: auto;
  max-width: 100%;
}

@media (max-width: 720px) {
  .ms-build-intel-summary,
  .ms-build-custom-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .ms-build-summary-meta {
    text-align: left;
  }
}

body.ms-pool-canvas .ms-tab-dashboard-pool.active {
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.ms-pool-canvas-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding: 10px 14px !important;
}

.ms-pool-canvas-head-left {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.ms-pool-canvas-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex-shrink: 0;
  align-items: center;
}

.dz-pool-role-segment {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border: 1px solid rgba(96, 165, 250, 0.28);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.dz-pool-role-btn {
  min-height: 28px;
  padding: 0 9px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ms-muted);
  font: 800 10px/1 var(--ms-font, Inter, system-ui, sans-serif);
  letter-spacing: 0.05em;
  cursor: pointer;
}

.dz-pool-role-btn:hover {
  color: var(--ms-text);
  background: rgba(255, 255, 255, 0.06);
}

.dz-pool-role-btn.is-active {
  color: #07111f;
  background: var(--ms-lime, #a3e635);
  box-shadow: 0 0 0 1px rgba(163, 230, 53, 0.42);
}

.dz-pool-role-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

body.ms-pool-canvas .ms-pool-focus .ms-pool-toolbar {
  display: none !important;
}

body.ms-pool-canvas .ms-dash-pool-layout {
  flex: 1 1 0;
  min-height: 0;
}

body.ms-pool-canvas .ms-dash-pool-main .ms-pool-focus {
  flex: 1 1 0;
  min-height: 0;
}

body.ms-pool-canvas .ms-pool-table-scroll {
  max-height: none;
}

body.ms-pool-canvas .ms-pool-focus .ms-pool-table-scroll {
  flex: 1 1 0;
  min-height: 0;
  height: 0;
  max-height: 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: scroll !important;
  overflow-y: scroll !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  padding-bottom: 12px;
  scrollbar-gutter: stable;
}

body.ms-pool-canvas .ms-pool-focus .ms-pool-table-frame {
  min-width: 0;
  padding-bottom: 12px;
  box-sizing: border-box;
}

body.ms-pool-canvas .ms-pool-table-width-track {
  display: block;
  width: max-content;
  min-width: max-content;
  flex-shrink: 0;
}

body.ms-pool-canvas .ms-pool-focus .ms-player-pool {
  flex: 1 1 0;
  min-height: 0;
}

body.ms-pool-canvas .ms-pool-focus .ms-pool-toolbar-inline {
  padding: 4px 10px;
}

body.ms-pool-canvas .ms-pool-toolbar-inner {
  gap: 6px;
}

body.ms-pool-canvas .ms-pool-filter-group {
  padding: 6px 8px;
  gap: 4px;
  border-radius: 8px;
}

body.ms-pool-canvas .ms-pool-toolbar-row {
  gap: 6px;
}

body.ms-pool-canvas .ms-pool-toolbar-row-numeric .ms-pool-sal-range {
  flex: 1 1 200px;
  min-width: 180px;
  max-width: 300px;
}

body.ms-pool-canvas .ms-pool-canvas-head {
  padding: 4px 8px !important;
  gap: 8px;
}

body.ms-pool-canvas .ms-fcfl .ms-player-pool-panel .ms-panel-head {
  padding: 4px 8px;
}

body.ms-pool-canvas .ms-fcfl .ms-player-pool-panel .ms-panel-title {
  font-size: 10px;
}

body.ms-pool-canvas .ms-pool-toolbar {
  padding: 4px 8px;
}

body.ms-pool-canvas .ms-pool-toolbar-inner {
  gap: 4px;
}

body.ms-pool-canvas .ms-pool-filter-group {
  padding: 8px 10px;
  gap: 8px;
}

body.ms-pool-canvas .ms-slate-dock {
  margin-bottom: 8px;
  gap: 6px;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-rail-panel {
  padding: 8px 12px 10px;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-rail-head.ms-slate-dock-head {
  padding: 0 0 4px;
  margin-bottom: 8px;
  gap: 10px;
}

body.ms-pool-canvas .ms-slate-dock-head-main {
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-dock-title {
  font-size: 11px;
  margin: 0;
  white-space: nowrap;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-rail-hint {
  font-size: 11px;
  line-height: 1.35;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-rail-head .ms-health-banner {
  padding: 4px 8px;
  font-size: 10px;
  max-width: min(420px, 50%);
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-rail {
  gap: 12px;
  padding-bottom: 8px;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-card {
  flex: 0 0 min(260px, 32vw);
  width: min(260px, 32vw);
  min-width: 200px;
  min-height: 50px;
  padding: 8px 10px;
}

body.ms-pool-canvas .ms-fcfl.ms-layout-sidebar .ms-slate-dock .ms-slate-card,
body.ms-pool-canvas .ms-fcfl .ms-slate-dock .ms-slate-card {
  min-height: 50px;
  padding: 8px 10px;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-card-name {
  font-size: 12px;
  line-height: 1.25;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-card-day,
body.ms-pool-canvas .ms-slate-dock .ms-slate-card-games {
  font-size: 11px;
  line-height: 1.25;
}

body.ms-pool-canvas .ms-fcfl .ms-slate-dock .ms-slate-card-time {
  font-size: 11px;
  line-height: 1.1;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-card .ms-team-logo,
body.ms-pool-canvas .ms-slate-dock .ms-slate-card .ms-logo-fallback {
  width: 18px !important;
  height: 18px !important;
}

body.ms-pool-canvas .ms-slate-dock .ms-slate-rail-scroller {
  padding-bottom: 0;
}

body.ms-pool-canvas .ms-player-pool-panel.ms-pool-focus {
  margin-top: 0;
}

body.ms-pool-canvas .ms-dash-pool-layout {
  gap: 6px;
  grid-template-columns: minmax(0, 1fr);
}

body.ms-pool-canvas .ms-dash-live-rail {
  display: none;
}

body.ms-pool-canvas .ms-tab-dashboard-pool.active {
  padding-top: 0;
}

body.ms-pool-canvas .ms-pool-metrics-banner,
body.ms-pool-canvas .ms-pool-metrics-banner-ok,
body.ms-pool-canvas .ms-notification-banner {
  margin: 0 0 6px;
  padding: 5px 10px;
  font-size: 0.72rem;
  line-height: 1.35;
}

body.ms-pool-canvas .ms-player-pool > .ms-pool-scroll-hint {
  display: none;
}

body.ms-pool-canvas .ms-player-pool > .ms-pool-more {
  margin: 4px 0 0;
  padding: 0;
  font-size: 11px;
  text-align: left;
}

body.ms-pool-canvas #ms-dash-mini-cal,
body.ms-pool-canvas .ms-dash-mini-cal-wrap {
  display: none !important;
}

body.ms-pool-canvas .ms-pool-ext-col,
body.ms-pool-canvas .ms-pool-table tbody td.ms-pool-ext-col {
  min-width: 52px;
  overflow: visible;
  text-overflow: clip;
}

body.ms-pool-canvas .ms-pool-table thead th {
  padding: 5px 8px;
  font-size: 10px;
}

body.ms-pool-canvas .ms-pool-table tbody td {
  padding: 5px 8px;
  line-height: 1.25;
}

body.ms-pool-canvas .ms-pool-table tbody .ms-pool-row {
  contain-intrinsic-size: auto 40px;
}

body.ms-pool-canvas .ms-pool-table {
  --ms-pool-name-min-w: 300px;
}

body.ms-pool-canvas .ms-excluded-games-bar {
  padding: 4px 10px;
  font-size: 11px;
}

/* Sidebar pool filters */
.ms-sidebar-filters {
  border-top: 1px solid var(--ms-border);
  border-bottom: 1px solid var(--ms-border);
  flex-shrink: 0;
}

.ms-sidebar-filters-summary {
  cursor: pointer;
  padding: 10px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-sidebar-filters-summary::-webkit-details-marker {
  display: none;
}

.ms-sidebar-filters-summary i {
  margin-right: 6px;
  opacity: 0.8;
}

.ms-sidebar-filters[open] .ms-sidebar-filters-summary {
  color: var(--ms-text);
  border-bottom: 1px solid var(--ms-border);
}

.ms-sidebar-accordion {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.ms-sidebar-acc-group {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  min-height: 0;
}

.ms-sidebar-acc-group[hidden] {
  display: none !important;
}

.ms-sidebar-accordion-item {
  border-bottom: 1px solid var(--ms-border);
  flex-shrink: 0;
  background: var(--ms-panel);
}

.ms-sidebar-accordion-item[open] {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.ms-sidebar-accordion-summary {
  cursor: pointer;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
  flex-shrink: 0;
}

.ms-sidebar-accordion-summary::-webkit-details-marker {
  display: none;
}

.ms-sidebar-accordion-summary i {
  margin-right: 6px;
  opacity: 0.85;
  width: 14px;
  text-align: center;
}

.ms-sidebar-accordion-item[open] > .ms-sidebar-accordion-summary {
  color: var(--ms-text);
  border-bottom: 1px solid var(--ms-border);
  background: rgba(255, 255, 255, 0.02);
}

.ms-sidebar-accordion-body {
  padding: 0;
  min-height: 0;
}

.ms-sidebar-accordion-item[open] .ms-sidebar-accordion-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ms-sidebar-acc-lead {
  margin: 0;
  padding: 8px 14px 4px;
  font-size: 10px;
  line-height: 1.4;
  color: var(--ms-muted);
}

.ms-pool-toolbar-zone .ms-pool-toolbar-inner {
  padding: 16px 16px 20px;
  gap: 18px;
}

.ms-pool-sort-levels-kicker,
.ms-pool-sort-presets-kicker {
  margin: 0 0 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--ms-muted);
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.ms-pool-sort-levels-kicker .ms-field-info {
  margin-left: auto;
  flex-shrink: 0;
}

.ms-pool-sort-levels-kicker i,
.ms-pool-sort-presets-kicker i {
  margin-right: 6px;
  opacity: 0.85;
}

.ms-sidebar-accordion-body .ms-pool-sort-compact {
  padding: 12px 14px 16px;
  gap: 10px;
}

.ms-sidebar-accordion-body .ms-pool-sort-levels-panel,
.ms-sidebar-accordion-body .ms-pool-sort-presets-panel {
  margin-bottom: 0;
}

.ms-sidebar-accordion-body .ms-sort-preset-slots {
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 8px;
}

.ms-sidebar-accordion-body .ms-sort-preset-slot-row {
  gap: 14px;
  padding: 8px 0;
}

.ms-sidebar-accordion-body .ms-pool-sort-levels-grid {
  gap: 14px;
}

.ms-sidebar-accordion-body .ms-pool-sort-actions-row {
  gap: 8px;
  margin-top: 0;
}

.ms-sidebar-accordion-body .ms-pool-filter-group {
  padding: 14px 16px;
  gap: 12px;
  margin-bottom: 4px;
}

.ms-sidebar-accordion-body .ms-pool-toolbar-row {
  gap: 12px;
}

.ms-sidebar-accordion-body .ms-pool-sort-presets-body {
  padding-top: 4px;
}

.ms-sidebar-accordion-body .ms-pool-sort-studio-status-text {
  margin: 4px 0;
  line-height: 1.5;
}

.ms-sidebar-accordion-body .ms-pool-sort-studio-presets.ms-sort-presets {
  gap: 16px;
}

.ms-sidebar-accordion-body .ms-pool-sort-studio-btn-row {
  gap: 14px;
  margin-top: 4px;
}

.ms-sidebar-panel {
  border-bottom: 1px solid var(--ms-border);
  flex-shrink: 0;
  background: var(--ms-panel);
}

.ms-sidebar-panel[hidden] {
  display: none !important;
}

.ms-sidebar-panel-body {
  padding: 0;
}

.ms-sidebar-panel--pool {
  flex: 0 0 auto;
  order: -2;
  min-width: 0;
}

.ms-sidebar-panel--pool[open] {
  display: flex;
  flex-direction: column;
  max-height: min(62vh, 560px);
  min-height: 0;
  overflow: hidden;
}

.ms-sidebar-panel--pool[open] > .ms-sidebar-panel-summary {
  flex-shrink: 0;
}

.ms-sidebar-panel--pool[open] .ms-sidebar-panel-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ms-sidebar-panel--nav {
  flex: 0 1 auto;
  min-height: 0;
  max-height: min(34vh, 300px);
  order: 0;
}

.ms-sidebar-panel--nav[open] {
  display: flex;
  flex-direction: column;
}

.ms-sidebar-panel--nav[open] .ms-sidebar-panel-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ms-sidebar-panel--snapshot {
  flex-shrink: 0;
}

.ms-pool-panel-body {
  overflow: hidden;
  min-width: 0;
}

body[data-active-tab="dashboard"] .ms-sidebar-build-settings,
body[data-active-tab="study"] .ms-sidebar-build-settings,
body[data-active-tab="blastcast"] .ms-sidebar-build-settings,
body[data-active-tab="live"] .ms-sidebar-build-settings,
body[data-active-tab="addons"] .ms-sidebar-build-settings {
  display: none;
}

body[data-active-tab="build"] .ms-sidebar-build-settings:not(:empty) {
  display: block;
  flex-shrink: 0;
  order: -1;
}

.ms-sidebar-panel-summary {
  cursor: pointer;
  padding: 10px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-sidebar-panel-summary::-webkit-details-marker {
  display: none;
}

.ms-sidebar-panel-summary i {
  margin-right: 6px;
  opacity: 0.8;
}

.ms-sidebar-panel[open] > .ms-sidebar-panel-summary {
  color: var(--ms-text);
  border-bottom: 1px solid var(--ms-border);
  background: rgba(255, 255, 255, 0.02);
}

.ms-sidebar-panel .ms-sidebar-widgets {
  border-bottom: none;
}

.ms-sidebar-panel .ms-metrics {
  padding: 8px 12px 12px;
}

.ms-pool-toolbar-sidebar {
  padding: 14px 16px 18px;
  background: transparent;
  border: none;
  max-height: none;
  overflow: hidden;
  min-width: 0;
}

.ms-workspace-pool-slot .ms-pool-toolbar,
.ms-workspace-pool-slot .ms-pool-toolbar-pool-mount,
.ms-pool-focus > .ms-pool-toolbar,
.ms-pool-toolbar-inline {
  display: none !important;
}

.ms-pool-toolbar-inline .ms-pool-toolbar-inner {
  gap: 8px;
}

.ms-pool-toolbar-inline .ms-pool-toolbar-row-numeric {
  flex-wrap: wrap;
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-inner {
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-inner > * {
  flex: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.ms-pool-toolbar-sidebar .ms-pool-search,
.ms-pool-toolbar-sidebar .ms-pool-select,
.ms-pool-toolbar-sidebar .ms-pool-sal {
  width: 100%;
  min-width: 0;
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric {
  flex-direction: column;
  gap: 10px;
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric-secondary {
  flex-direction: column;
}

.ms-pool-toolbar-sidebar .ms-pool-order-filter {
  max-width: 100%;
  align-self: stretch;
}
.ms-pool-toolbar-sidebar .ms-pool-order-select {
  width: 100%;
  max-width: 220px;
}

.ms-pool-toolbar-sidebar .ms-pool-filter-group {
  width: 100%;
}

#ms-sidebar-accordion [data-pool-toolbar-zone="filters"],
#ms-sidebar-accordion [data-pool-toolbar-zone="advanced"],
#ms-sidebar-accordion [data-pool-toolbar-zone="sort"] {
  position: relative;
  z-index: 12;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

#ms-sidebar-accordion .ms-pool-filters-section-mount,
#ms-sidebar-accordion .ms-pool-advanced-section-mount,
#ms-sidebar-accordion #ms-pool-sort-section-mount {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

.ms-pool-toolbar-sidebar .ms-pool-sal-range-track {
  margin-left: 2px;
  margin-right: 2px;
}

.ms-pool-toolbar-sidebar .ms-pool-tier-chips,
.ms-pool-toolbar-sidebar .ms-pool-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ms-pool-toolbar-sidebar .ms-pool-count {
  text-align: left;
  margin-left: 0;
  font-size: 11px;
  color: var(--ms-muted);
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-row {
  max-width: 100%;
  overflow-x: hidden;
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-top {
  flex-direction: column;
  align-items: stretch;
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-top .ms-pool-search,
.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-top .ms-pool-select,
.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-top .ms-pool-count {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric .ms-pool-sal-range,
.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric .ms-pool-own-range,
.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric-secondary .ms-pool-own-range {
  flex: 1 1 100%;
  min-width: 0;
  max-width: 100%;
}

body.ms-pool-canvas .ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric .ms-pool-sal-range,
body.ms-pool-canvas .ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric .ms-pool-own-range,
body.ms-pool-canvas .ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric-secondary .ms-pool-own-range {
  min-width: 0;
  max-width: 100%;
}
body.ms-pool-canvas .ms-pool-numeric-filters-card--3line .ms-pool-filter-line.ms-pool-sal-range,
body.ms-pool-canvas .ms-pool-numeric-filters-card--3line .ms-pool-filter-line.ms-pool-own-range,
body.ms-pool-canvas .ms-pool-numeric-filters-card--3line .ms-pool-filter-line.ms-pool-order-filter {
  flex: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ms-pool-toolbar-sidebar .ms-pool-filter-group {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.ms-pool-toolbar-sidebar .ms-pool-numeric-filters-card--3line {
  padding: 2px 5px;
  margin: 0;
}
.ms-sidebar-accordion-body .ms-pool-numeric-filters-card--3line {
  padding: 2px 5px;
  margin: 0;
}
.ms-sidebar-accordion-body .ms-pool-toolbar-row-numeric--micro {
  gap: 0;
  margin: 0;
  padding: 0;
}
.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric .ms-pool-filter-line,
body.ms-pool-canvas .ms-pool-toolbar-sidebar .ms-pool-toolbar-row-numeric .ms-pool-filter-line {
  flex: none;
  min-width: 0;
  max-width: 100%;
}

.ms-pool-toolbar-sidebar .ms-toggle-switch {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 6px 8px;
  padding: 6px 8px;
}

.ms-pool-toolbar-sidebar .ms-toggle-switch--with-info {
  grid-template-columns: minmax(0, 1fr) 38px 18px;
}

.ms-pool-toolbar-sidebar .ms-toggle-switch .ms-toggle-state {
  display: none;
}

.ms-pool-toolbar-sidebar .ms-toggle-label {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ms-pool-toolbar-sidebar .ms-toggle-track {
  width: 38px;
  height: 20px;
}

.ms-pool-toolbar-sidebar .ms-toggle-thumb {
  width: 14px;
  height: 14px;
}

.ms-pool-toolbar-sidebar .ms-toggle-switch.is-on .ms-toggle-thumb {
  transform: translateX(18px);
}

.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-toggles-primary .ms-toggle-switch,
.ms-pool-toolbar-sidebar .ms-pool-toolbar-row-active-only .ms-toggle-switch {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}

.ms-pool-toolbar-sidebar .ms-pool-search,
.ms-pool-toolbar-sidebar .ms-pool-select:not(.ms-pool-order-select--line),
.ms-pool-toolbar-sidebar .ms-pool-sal:not(.ms-pool-sal--line) {
  min-height: 38px;
  padding: 8px 12px;
  font-size: 12px;
  box-sizing: border-box;
}

.ms-pool-toolbar-sidebar .ms-btn.ms-btn-sm {
  min-height: 34px;
  padding: 7px 12px;
  font-size: 12px;
  box-sizing: border-box;
}

.ms-pool-toolbar-sidebar .ms-pool-sort-mode {
  flex-wrap: wrap;
}

/* Pool sort — compact strip at top of Player pool panel */
.ms-pool-sort-mount {
  padding: 0;
}

.ms-pool-sort-toolbar-mount {
  width: 100%;
  padding-bottom: 8px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(52, 61, 77, 0.55);
  position: relative;
  z-index: 0;
  isolation: isolate;
}

.ms-pool-sort-studio,
.ms-pool-sort-compact {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  min-width: 0;
  position: relative;
  z-index: 0;
}

.ms-pool-sort-levels-panel {
  border: 1px solid rgba(52, 61, 77, 0.45);
  border-radius: 10px;
  background: rgba(15, 18, 24, 0.4);
  overflow: hidden;
  position: relative;
  z-index: 0;
  contain: layout style;
  padding: 14px 16px 16px;
  box-sizing: border-box;
}

.ms-pool-sort-levels-summary {
  cursor: pointer;
  padding: 10px 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-pool-sort-levels-summary::-webkit-details-marker {
  display: none;
}

.ms-pool-sort-levels-summary {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.ms-pool-sort-levels-summary i {
  margin-right: 0;
  opacity: 0.85;
  flex-shrink: 0;
}

.ms-pool-sort-levels-summary .ms-field-info {
  margin-left: auto;
  flex-shrink: 0;
}

.ms-pool-sort-individual-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(52, 61, 77, 0.45);
}

.ms-pool-sort-individual-btn {
  width: 100%;
  justify-content: center;
  min-height: 40px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-color: rgba(52, 61, 77, 0.65);
  color: var(--ms-muted);
  gap: 8px;
}

.ms-pool-sort-individual-btn.is-on {
  border-color: var(--ms-brand);
  color: #1a1f28;
  background: linear-gradient(135deg, var(--ms-brand) 0%, #b8e64a 100%);
  box-shadow: 0 0 0 1px rgba(155, 213, 28, 0.45), 0 0 14px rgba(155, 213, 28, 0.25);
}

.ms-pool-sort-individual-hint {
  margin: 0;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--ms-muted);
}

.ms-pool-sort-levels-panel.is-individual-active {
  opacity: 0.72;
}

.ms-pool-sort-levels-panel.is-individual-active .ms-pool-sort-levels-kicker {
  color: var(--ms-muted);
}

.ms-pool-sort-studio-status-text.is-individual {
  color: var(--ms-brand);
}

.ms-pool-sort-levels-body {
  padding: 0;
  border-top: none;
}

.ms-pool-sort-levels-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  min-width: 0;
}

/* Sort Builder: ordered dropdown stack, one row per sort-priority rank. */
.ms-pool-sort-dd-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.ms-pool-sort-dd-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 6px;
  border-radius: 8px;
  min-width: 0;
}

.ms-pool-sort-dd-row.is-disabled {
  opacity: 0.4;
}

.ms-pool-sort-dd-row.is-set {
  background: rgba(155, 213, 28, 0.06);
}

.ms-pool-sort-dd-rank {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ms-brand) 0%, #7caf16 100%);
  color: #1a1f28;
  font-weight: 800;
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.ms-pool-sort-dd-row.is-disabled .ms-pool-sort-dd-rank {
  background: rgba(148, 163, 184, 0.25);
  color: var(--ms-muted);
}

.ms-pool-sort-dd-select {
  flex: 1 1 auto;
  min-width: 0;
  background: rgba(15, 18, 24, 0.6);
  border: 1px solid rgba(52, 61, 77, 0.65);
  border-radius: 6px;
  color: #e2e8f0;
  font-size: 11px;
  font-weight: 600;
  padding: 5px 6px;
}

.ms-pool-sort-dd-select:disabled {
  cursor: not-allowed;
}

.ms-pool-sort-dd-dir,
.ms-pool-sort-dd-clear {
  flex: 0 0 auto;
  background: none;
  border: 1px solid rgba(52, 61, 77, 0.65);
  border-radius: 6px;
  color: var(--ms-muted);
  font-size: 11px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.ms-pool-sort-dd-dir:hover,
.ms-pool-sort-dd-clear:hover {
  border-color: var(--ms-brand);
  color: var(--ms-brand);
}

/* Sort Builder: live top-10 preview, lottery-ball style. */
.ms-pool-sort-live-preview {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(52, 61, 77, 0.45);
}

.ms-pool-sort-live-preview-kicker {
  margin: 0 0 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ms-muted);
}

.ms-pool-sort-live-preview-balls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ms-pool-sort-preview-ball {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 4px;
  border-radius: 999px;
  background: rgba(15, 18, 24, 0.6);
  border: 1px solid rgba(155, 213, 28, 0.35);
  max-width: 100%;
  min-width: 0;
}

.ms-pool-sort-preview-ball-num {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #c3f24a 0%, var(--ms-brand) 55%, #6a9613 100%);
  box-shadow: 0 0 8px rgba(155, 213, 28, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.4);
  color: #12160e;
  font-weight: 900;
  font-size: 10.5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.ms-pool-sort-preview-ball-name {
  font-size: 10.5px;
  font-weight: 700;
  color: #e2e8f0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.ms-pool-sort-level-badge {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ms-brand) 0%, #7caf16 100%);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 12px;
  color: #1a1f28;
  line-height: 1;
  flex-shrink: 0;
}

.ms-pool-sort-level-btn.is-set .ms-pool-sort-level-badge {
  background: linear-gradient(135deg, #4a9eff 0%, #2563eb 100%);
  color: #f8fafc;
}

.ms-pool-sort-level-btn.armed .ms-pool-sort-level-badge {
  background: linear-gradient(135deg, var(--ms-brand) 0%, #b8e64a 100%);
  box-shadow: 0 0 0 2px rgba(155, 213, 28, 0.35), 0 2px 6px rgba(0, 0, 0, 0.35);
}

.ms-pool-sort-level-details {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--ms-muted);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ms-pool-sort-level-details:hover,
.ms-pool-sort-level-details:focus-visible {
  color: var(--ms-brand);
}

.ms-pool-sort-reset-btn {
  color: var(--ms-brand) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border-color: rgba(155, 213, 28, 0.35);
}

.ms-pool-sort-level-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  position: relative;
  min-width: 0;
  overflow: hidden;
}

.ms-pool-sort-level-cell .ms-pool-sort-level-btn {
  width: 100%;
}

.ms-pool-sort-level-cell .ms-field-info,
.ms-pool-sort-level-cell .ms-pool-field-info {
  position: absolute;
  top: 3px;
  right: 3px;
  margin: 0;
  width: 14px;
  height: 14px;
  font-size: 8px;
  z-index: 2;
  pointer-events: auto;
}

.ms-pool-sort-level-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 48px;
  padding: 9px 8px;
  font-size: 10px;
  line-height: 1.2;
  text-align: center;
  box-sizing: border-box;
  max-width: 100%;
  overflow: hidden;
}

.ms-pool-sort-level-btn.armed {
  animation: ms-pool-sort-level-arm 1.1s ease-in-out infinite;
  transform: none;
  z-index: 0;
}

.ms-pool-sort-level-btn[data-armed="true"]::after {
  content: "ARMED";
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--ms-brand);
  line-height: 1;
}

@keyframes ms-pool-sort-level-arm {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.45), 0 0 8px rgba(251, 191, 36, 0.28);
  }
  50% {
    opacity: 0.88;
    box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.65), 0 0 12px rgba(251, 191, 36, 0.4);
  }
}

.ms-pool-sort-level-label {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ms-pool-sort-level-col {
  font-size: 9px;
  font-weight: 600;
  font-family: var(--ms-mono);
  color: var(--ms-blue-bright, #4a9eff);
  opacity: 0.95;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ms-pool-sort-level-btn.is-set {
  border-color: rgba(59, 130, 246, 0.55);
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-pool-sort-level-btn.is-set .ms-pool-sort-level-label {
  color: #e2e8f0;
}

.ms-pool-sort-level-btn.is-preview {
  border-color: rgba(148, 163, 184, 0.45);
  border-style: dashed;
}

.ms-pool-sort-level-btn.is-preview .ms-pool-sort-level-col {
  color: #fcd34d;
}

.ms-pool-sort-levels-hint {
  margin: 12px 0 0;
  font-size: 10px;
  line-height: 1.5;
  color: var(--ms-muted);
}

.ms-pool-sort-status-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}

.ms-pool-sort-status-block + .ms-pool-sort-presets-panel {
  margin-top: 0;
}

.ms-pool-sort-actions-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.ms-pool-sort-action-cell {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}

.ms-pool-sort-actions-row .ms-btn {
  padding: 3px 8px;
  font-size: 11px;
  line-height: 1.25;
  min-height: 0;
}

.ms-pool-sort-actions-row .ms-sort-clear-multiples:not(:disabled) {
  font-size: 11px;
  gap: 4px;
}

.ms-pool-sort-actions-row .ms-sort-clear-multiples:not(:disabled) .fa-xmark {
  font-size: 10px;
}

.ms-pool-sort-actions-row .ms-pool-sort-reset-btn {
  font-size: 11px !important;
}

.ms-pool-sort-actions-row .ms-field-info {
  width: 16px;
  height: 16px;
  font-size: 10px;
}

.ms-pool-sort-compact-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.ms-pool-sort-compact-mode {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex: 1 1 auto;
  min-width: 0;
}

.ms-pool-sort-compact-mode .ms-pool-sort-mode-btn {
  min-width: 4.5rem;
}

.ms-pool-sort-presets-panel {
  border: 1px solid rgba(52, 61, 77, 0.45);
  border-radius: 10px;
  background: rgba(15, 18, 24, 0.4);
  overflow: hidden;
  padding: 10px 12px 12px;
  box-sizing: border-box;
}

.ms-pool-sort-presets-summary {
  cursor: pointer;
  padding: 10px 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-pool-sort-presets-summary::-webkit-details-marker {
  display: none;
}

.ms-pool-sort-presets-summary i {
  margin-right: 6px;
  opacity: 0.85;
}

.ms-pool-sort-presets-body {
  padding: 8px 0 0;
  border-top: none;
}

.ms-pool-sort-studio-section {
  padding: 14px 12px 16px;
  border: 1px solid rgba(52, 61, 77, 0.5);
  border-radius: 8px;
  background: rgba(15, 18, 24, 0.55);
}

.ms-pool-sort-studio-heading {
  margin: 0 0 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-muted);
}

.ms-pool-sort-studio-label {
  display: block;
  margin: 0 0 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ms-muted);
}

.ms-pool-sort-studio-mode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: 100%;
}

.ms-pool-sort-studio-mode .ms-pool-sort-mode-btn {
  justify-content: center;
  width: 100%;
  min-height: 36px;
}

.ms-pool-sort-studio-status-text {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--ms-blue-bright, #4a9eff);
  font-family: var(--ms-mono);
  word-break: break-word;
}

.ms-pool-sort-studio-status-text.is-armed {
  color: var(--ms-brand);
  font-weight: 700;
}

.ms-pool-sort-studio-btn-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.ms-pool-sort-studio-btn-row-multi {
  margin-top: 16px;
}

.ms-pool-sort-studio-btn-full {
  width: 100%;
  margin-top: 16px;
}

.ms-pool-sort-studio-presets.ms-sort-presets {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  gap: 16px;
}

.ms-pool-sort-studio-presets .ms-sort-preset-select,
.ms-pool-sort-studio-presets .ms-pool-select {
  width: 100%;
  margin-bottom: 0;
}

.ms-sort-preset-slots {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
  margin-top: 14px;
  max-height: min(240px, 36vh);
  overflow-y: auto;
  padding: 6px 6px 8px 0;
}

.ms-sort-preset-slot-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 6px 0;
}

.ms-sort-preset-slot-row .ms-sort-preset-save-slot {
  justify-content: flex-start;
  min-width: 0;
}

.ms-sort-preset-slot-row .ms-sort-preset-clear-slot {
  justify-content: center;
  min-width: 3.25rem;
  padding-left: 8px;
  padding-right: 8px;
}

.ms-sort-preset-slot-row .ms-btn {
  width: 100%;
  max-width: 100%;
  justify-content: center;
  font-size: 10px;
  padding: 10px 12px;
  white-space: nowrap;
  min-width: 0;
  box-sizing: border-box;
}

.ms-sidebar-accordion-body .ms-sort-preset-slot-row .ms-btn {
  white-space: nowrap;
  line-height: 1.25;
}

.ms-sort-preset-slot-row > .ms-field-info-standalone {
  display: none;
}

.ms-sort-preset-clear-slot {
  color: var(--ms-muted);
  border-color: rgba(148, 163, 184, 0.28);
}

.ms-sort-preset-clear-slot:hover:not(:disabled) {
  color: #fcd34d;
  border-color: rgba(251, 191, 36, 0.45);
}

.ms-pool-sort-tutorial {
  border: 1px solid rgba(52, 61, 77, 0.4);
  border-radius: 8px;
  background: rgba(15, 18, 24, 0.35);
  overflow: hidden;
}

.ms-pool-sort-tutorial-summary {
  cursor: pointer;
  padding: 7px 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
}

.ms-pool-sort-tutorial[open] .ms-pool-sort-tutorial-summary {
  color: #fcd34d;
  border-bottom: 1px solid rgba(251, 191, 36, 0.18);
}

.ms-pool-sort-tutorial-summary::-webkit-details-marker {
  display: none;
}

.ms-pool-sort-tutorial-summary i {
  margin-right: 6px;
}

.ms-pool-sort-tutorial-body {
  padding: 0 12px 12px;
  border-top: 1px solid rgba(251, 191, 36, 0.18);
}

.ms-pool-sort-tutorial-steps {
  margin: 10px 0 8px;
  padding-left: 18px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--ms-text);
}

.ms-pool-sort-tutorial-steps li + li {
  margin-top: 6px;
}

.ms-pool-sort-tutorial-tip {
  margin: 0 0 10px;
  font-size: 10px;
  line-height: 1.45;
  color: var(--ms-muted);
}

.ms-field-help-pop .ms-field-help-guide .ms-pool-sort-tutorial-steps {
  margin: 6px 0 0;
  font-size: 12px;
}

.ms-field-help-pop .ms-field-help-guide .ms-pool-sort-tutorial-tip {
  margin: 10px 0 0;
  font-size: 11px;
}

.ms-sidebar-filters .ms-sidebar-panel-summary i {
  color: var(--ms-blue-bright, #4a9eff);
}

@media (min-width: 1024px) {
  /* Desktop pool-canvas: flex chain must not collapse the scroller to 0px (mobile.css uses height:auto). */
  body.ms-layout-sidebar.ms-pool-canvas .ms-workspace-pool-slot {
    flex: 1 1 auto;
    min-height: min(44vh, 520px);
  }

  body.ms-pool-canvas .ms-pool-focus .ms-player-pool-panel,
  body.ms-pool-canvas .ms-pool-focus .ms-player-pool {
    flex: 1 1 auto;
    min-height: min(40vh, 480px);
  }

  body.ms-pool-canvas .ms-pool-focus .ms-pool-table-frame {
    flex: 1 1 auto;
    min-height: min(36vh, 440px);
    display: flex;
    flex-direction: column;
  }

  body.ms-pool-canvas .ms-pool-focus .ms-pool-table-scroll {
    flex: 1 1 auto;
    min-height: min(34vh, 420px);
    height: auto;
    max-height: none;
    overflow-x: scroll !important;
    overflow-y: auto;
  }
}

body.ms-pool-canvas .ms-pool-table-scroll::-webkit-scrollbar:horizontal {
  height: 12px;
}

body.ms-pool-canvas .ms-pool-table-scroll.ms-pool-h-scrollable {
  box-shadow: inset -20px 0 18px -14px rgba(0, 0, 0, 0.55);
}

/* ── Sidebar workspace navigator (context-first IA) ── */
.ms-sidebar-workspace-nav {
  flex-shrink: 0;
  order: -3;
  border-bottom: 1px solid var(--ms-border);
  background: var(--ms-panel);
}

.ms-sidebar-quick-strip {
  flex-shrink: 0;
  order: -2;
  padding: 8px 10px;
  border-bottom: 1px solid var(--ms-border);
  background: var(--ms-panel);
}

.ms-sidebar-quick-strip-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ms-sidebar-quick-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-text);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.12s ease, background 0.12s ease;
}

.ms-sidebar-quick-chip i {
  font-size: 10px;
  opacity: 0.9;
}

.ms-sidebar-quick-chip:hover {
  border-color: var(--ms-blue);
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-sidebar-quick-chip.is-primary {
  border-color: rgba(59, 130, 246, 0.55);
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.22), rgba(37, 99, 235, 0.1));
  color: var(--ms-blue-bright, #6eb6ff);
}

.ms-sidebar-build-settings {
  flex-shrink: 0;
  order: -1;
  padding: 8px 10px 10px;
  border-bottom: 1px solid var(--ms-border);
  background: var(--ms-panel);
}

.ms-sidebar-build-settings:empty,
.ms-sidebar-build-settings[hidden] {
  display: none;
}

.ms-sidebar-build-settings .ms-dash-build-card {
  border: 1px solid var(--ms-border);
  border-radius: 10px;
  padding: 10px;
  background: var(--ms-panel-2);
}

.ms-sidebar-build-settings .ms-dash-contest-tiles {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.ms-sidebar-build-settings .ms-dash-contest-tile {
  padding: 8px 6px;
}

.ms-sidebar-build-settings .ms-dash-build-card-meta {
  flex-wrap: wrap;
  gap: 6px 10px;
  font-size: 10px;
}

.ms-sidebar-navigator {
  flex: 0 1 auto;
  min-height: 0;
  max-height: none;
  display: flex;
  flex-direction: column;
  border-bottom: none;
  background: transparent;
}

.ms-sidebar-navigator-body,
.ms-sidebar-panel--nav .ms-sidebar-quick-strip {
  flex-shrink: 0;
}

.ms-sidebar-panel--nav .ms-sidebar-quick-strip {
  border-bottom: 1px solid var(--ms-border);
}

.ms-sidebar-catalog {
  flex: 1 1 0;
  min-height: 0;
  max-height: none;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--ms-border);
  background: var(--ms-panel);
}

.ms-sidebar-catalog-primary {
  flex: 1 1 auto;
  min-height: 0;
}

body.ms-layout-sidebar .ms-nav-pills.ms-nav-compact:not(.ms-sidebar-workspace-nav) {
  display: none;
}

@media (max-width: 1023px) {
  body.ms-layout-sidebar .ms-nav-pills.ms-nav-compact {
    display: flex;
    flex-shrink: 0;
  }

  .ms-sidebar-catalog-primary {
    min-height: 180px;
    max-height: min(48vh, 520px);
  }
}

.ms-sidebar-nav-head,
.ms-sidebar-catalog-head {
  padding: 10px 12px 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
  border-bottom: 1px solid var(--ms-border);
  background: linear-gradient(180deg, rgba(26, 115, 232, 0.06) 0%, transparent 100%);
}

.ms-sidebar-nav-title-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ms-sidebar-nav-eyebrow {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ms-muted);
}

.ms-sidebar-nav-title {
  font-size: 13px;
  font-weight: 800;
  color: var(--ms-text);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ms-sidebar-nav-title i {
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-sidebar-nav-tagline {
  margin: 0;
  font-size: 11px;
  color: var(--ms-muted);
  line-height: 1.35;
}

.ms-sidebar-nav-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
}

.ms-sidebar-nav-block {
  padding: 6px 0 4px;
  border-top: 1px solid rgba(52, 61, 77, 0.45);
}

.ms-sidebar-nav-block:first-child {
  border-top: none;
}

.ms-sidebar-nav-block-label {
  margin: 0;
  padding: 6px 12px 4px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--ms-muted-2, #5c6678);
}

.ms-sidebar-nav-empty {
  margin: 0;
  padding: 14px 12px;
  font-size: 12px;
  color: var(--ms-muted);
}

.ms-sidebar-action-row,
.ms-sidebar-selection-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 10px 8px;
}

.ms-sidebar-action-chip,
.ms-sidebar-selection-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  border-radius: 8px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-muted);
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.12s ease, color 0.12s ease, background 0.12s ease;
}

.ms-sidebar-action-chip i,
.ms-sidebar-selection-chip i {
  font-size: 9px;
  opacity: 0.85;
}

.ms-sidebar-action-chip:hover,
.ms-sidebar-selection-chip:hover {
  border-color: var(--ms-blue);
  color: var(--ms-text);
}

.ms-sidebar-action-chip.is-primary {
  border-color: rgba(59, 130, 246, 0.5);
  color: var(--ms-blue-bright, #6eb6ff);
  background: rgba(59, 130, 246, 0.12);
}

.ms-sidebar-selection-chip {
  border-style: dashed;
  background: transparent;
}

.ms-sidebar-feature-list-compact .ms-sidebar-feature-btn {
  padding: 7px 12px 7px 14px;
}

.ms-sidebar-nav-footer {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 10px 10px;
  margin-top: 4px;
  border-top: 1px solid var(--ms-border);
}

.ms-sidebar-footer-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 7px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ms-muted);
  font-size: 11px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.ms-sidebar-footer-btn kbd {
  margin-left: auto;
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-muted);
  font-family: inherit;
}

.ms-sidebar-footer-btn:hover {
  border-color: var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-text);
}

.ms-sidebar-catalog-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.ms-sidebar-catalog-title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ms-text);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.ms-sidebar-catalog-title i {
  color: var(--ms-blue-bright, #4a9eff);
  opacity: 0.95;
}

.ms-sidebar-catalog-tools {
  display: flex;
  gap: 4px;
}

.ms-sidebar-catalog-tool {
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 3px 7px;
  border-radius: 6px;
  cursor: pointer;
}

.ms-sidebar-catalog-tool:hover {
  border-color: var(--ms-blue);
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-sidebar-catalog-search-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-muted);
}

.ms-sidebar-catalog-search-wrap:focus-within {
  border-color: var(--ms-blue);
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.15);
}

.ms-sidebar-catalog-search {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  color: var(--ms-text);
  font-size: 12px;
  outline: none;
}

.ms-sidebar-catalog-meta {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-muted);
  padding-left: 2px;
}

.ms-sidebar-catalog-sections {
  flex: 1 1 auto;
  min-height: 120px;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.ms-sidebar-section {
  border-top: 1px solid var(--ms-border);
}

.ms-sidebar-section:first-child {
  border-top: none;
}

.ms-sidebar-section-summary {
  cursor: pointer;
  padding: 9px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--ms-muted);
  list-style: none;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ms-sidebar-section-summary::after {
  content: "▸";
  font-size: 10px;
  opacity: 0.55;
  margin-left: auto;
  transition: transform 0.15s ease;
}

.ms-sidebar-section[open] > .ms-sidebar-section-summary::after {
  transform: rotate(90deg);
}

.ms-sidebar-section-summary::-webkit-details-marker {
  display: none;
}

.ms-sidebar-section-summary i {
  width: 14px;
  text-align: center;
  opacity: 0.85;
}

.ms-sidebar-section-label {
  flex: 1;
  min-width: 0;
}

.ms-sidebar-section-count {
  font-size: 10px;
  font-weight: 700;
  font-family: var(--ms-mono);
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--ms-muted);
}

.ms-sidebar-section[open] .ms-sidebar-section-summary {
  color: var(--ms-text);
  background: rgba(26, 115, 232, 0.06);
}

.ms-sidebar-section[open] .ms-sidebar-section-count {
  background: rgba(26, 115, 232, 0.18);
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-sidebar-feature-list {
  list-style: none;
  margin: 0;
  padding: 0 0 4px;
}

.ms-sidebar-feature-btn {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 12px 8px 14px;
  border: none;
  background: transparent;
  color: var(--ms-text);
  text-align: left;
  cursor: pointer;
  transition: background 0.12s ease;
}

.ms-sidebar-feature-btn:hover {
  background: rgba(255, 255, 255, 0.04);
}

.ms-sidebar-feature-btn:active {
  background: rgba(26, 115, 232, 0.12);
}

.ms-sidebar-feature-btn.is-active-tab {
  background: rgba(26, 115, 232, 0.14);
  box-shadow: inset 3px 0 0 var(--ms-blue);
}

.ms-sidebar-feature-btn.is-active-tab .ms-sidebar-feature-label {
  color: var(--ms-blue-bright, #4a9eff);
}

.ms-sidebar-feature-btn > i {
  width: 14px;
  margin-top: 2px;
  text-align: center;
  font-size: 11px;
  color: var(--ms-blue-bright, #4a9eff);
  opacity: 0.9;
}

.ms-sidebar-feature-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.ms-sidebar-feature-label {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}

.ms-sidebar-feature-hint {
  font-size: 10px;
  color: var(--ms-muted);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ms-sidebar-feature-live {
  font-size: 8px;
  color: var(--ms-green);
  margin-top: 4px;
  flex-shrink: 0;
}

.ms-sidebar-feature-pending {
  font-size: 10px;
  color: var(--ms-muted);
  margin-top: 2px;
  flex-shrink: 0;
}

.ms-sidebar-catalog-empty {
  padding: 16px 14px;
  font-size: 12px;
  color: var(--ms-muted);
  margin: 0;
}

.ms-sidebar-widgets {
  flex-shrink: 0;
  border-bottom: 1px solid var(--ms-border);
  background: var(--ms-panel);
  padding: 10px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ms-sidebar-widgets .ms-dash-mini-cal-wrap {
  margin: 0;
}

.ms-sidebar-widgets .ms-dash-quick-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.ms-sidebar-widgets .ms-dash-build-card {
  border: 1px solid var(--ms-border);
  border-radius: 10px;
  padding: 10px;
  background: var(--ms-panel-2);
}

.ms-sidebar-widgets .ms-dash-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ms-dash-action-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--ms-border);
  background: var(--ms-panel-2);
  color: var(--ms-text);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.12s ease, background 0.12s ease;
}

.ms-dash-action-chip:hover {
  border-color: var(--ms-blue);
  background: rgba(26, 115, 232, 0.1);
}

.ms-btn-codex,
.ms-dash-action-chip[data-dash-action="codex"] {
  border-color: rgba(34, 197, 94, 0.45);
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(59, 130, 246, 0.16));
  color: #d9fbe7;
}

.ms-btn-xai,
.ms-dash-action-chip[data-dash-action="xai"] {
  border-color: rgba(45, 212, 191, 0.45);
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.18), rgba(14, 165, 233, 0.16));
  color: #d8fbff;
}

.ms-btn-claude,
.ms-dash-action-chip[data-dash-action="claude"] {
  border-color: rgba(251, 146, 60, 0.5);
  background: linear-gradient(135deg, rgba(251, 146, 60, 0.18), rgba(234, 179, 8, 0.14));
  color: #fff2dd;
}

.ms-btn-codex:hover,
.ms-dash-action-chip[data-dash-action="codex"]:hover {
  border-color: rgba(34, 197, 94, 0.75);
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.28), rgba(59, 130, 246, 0.22));
  color: #ffffff;
}

.ms-btn-xai:hover,
.ms-dash-action-chip[data-dash-action="xai"]:hover {
  border-color: rgba(45, 212, 191, 0.75);
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.28), rgba(14, 165, 233, 0.24));
  color: #ffffff;
}

.ms-btn-claude:hover,
.ms-dash-action-chip[data-dash-action="claude"]:hover {
  border-color: rgba(251, 146, 60, 0.8);
  background: linear-gradient(135deg, rgba(251, 146, 60, 0.28), rgba(234, 179, 8, 0.2));
  color: #ffffff;
}

.ms-dash-build-card-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.ms-dash-build-card-actions .ms-btn {
  min-height: 34px;
  white-space: nowrap;
}

.ms-dash-action-chip i {
  font-size: 10px;
  opacity: 0.85;
}

.ms-sidebar-widgets .ms-dash-sync-tip {
  font-size: 11px;
}

/* ── Theme collision guard: Mastery dark surfaces vs legacy la-* light tokens ── */
html.la-mastery-theme,
html[data-theme="dark"] {
  color-scheme: dark;
}

html.la-mastery-theme body.ms-body,
body.ms-body.ms-premium {
  background-color: var(--ms-bg, #0f1218) !important;
  color: var(--ms-text, #e8ecf1) !important;
}

body.ms-body .ms-field-help-pop,
body.ms-body .ms-modal,
body.ms-body .ms-gate-card,
body.ms-body .ms-tour-banner {
  color: var(--ms-text, #e8ecf1);
}

body.ms-body .leo-chat-msg {
  color: var(--ms-text, #e8ecf1);
}

body.ms-body [style*="--la-bg"],
body.ms-body [style*="--la-paper"],
body.ms-body [style*="--la-surface"] {
  color: var(--ms-text, #e8ecf1);
}

/* Fix: pool filter "line" inputs (SAL/OWN range + ORDER select) render at 38px
   instead of 20px because ".ms-pool-toolbar-sidebar .ms-pool-sal" and
   ".ms-pool-toolbar-sidebar .ms-pool-select" (specificity 0,2,0, min-height: 38px)
   beat ".ms-pool-sal--line" / ".ms-pool-order-select--line" (specificity 0,1,0,
   max-height: 20px). Per CSS spec, min-height > max-height means max-height is
   dropped, so these inputs blow past their 22px-capped .ms-pool-filter-line row
   and visually overlap the next filter row below them (Pool Filters panel,
   BlastCast/Build/Live tabs). Raising specificity here restores the compact
   20px sizing without touching the original 38px toolbar rule. */
.ms-pool-toolbar-sidebar .ms-pool-filter-line .ms-pool-sal--line,
.ms-pool-toolbar-sidebar .ms-pool-filter-line .ms-pool-order-select--line {
    min-height: 20px;
    max-height: 20px;
    padding: 0 4px;
}

/* AI DFS builders — canonical desktop row + mobile sticky dock (Grok / Codex / Claude) */
.ms-ai-builders-strip {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(78, 179, 255, 0.22);
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(7, 17, 31, 0.96) 100%);
}
.ms-ai-builders-strip-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 10px;
}
.ms-ai-builders-kicker {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ms-muted, #94a3b8);
}
.ms-ai-builders-sub {
  font-size: 0.78rem;
  color: var(--ms-text, #e2e8f0);
  opacity: 0.85;
}
.ms-ai-builders-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.ms-ai-builders-row .ms-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 52px;
  padding: 8px 6px;
  border: none;
  border-radius: 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  touch-action: manipulation;
}
.ms-ai-builders-row .ms-btn i { font-size: 1.05rem; }
.ms-ai-builders-row > .ms-field-info-standalone {
  display: none !important;
}
.ms-strategy-builders-hint {
  margin: -2px 0 12px;
}
.ms-build-exposure-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid rgba(163, 230, 53, 0.24);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(20, 83, 45, 0.18), rgba(15, 23, 42, 0.94));
}
.ms-build-exposure-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.ms-build-exposure-copy strong {
  color: var(--ms-text, #e2e8f0);
  font-size: 0.92rem;
}
.ms-build-exposure-copy span:last-child {
  color: var(--ms-muted, #94a3b8);
  font-size: 0.76rem;
  line-height: 1.35;
}
.ms-build-exposure-actions {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto;
  align-items: center;
  gap: 10px;
}
.ms-build-exposure-actions input[type="range"] {
  width: 100%;
}
.ms-build-exposure-actions .ms-btn {
  min-height: 38px;
  white-space: nowrap;
}
.ms-grok-mastery-btn.is-waiting-slate,
.ms-codex-mastery-btn.is-waiting-slate,
.ms-claude-mastery-btn.is-waiting-slate,
.ms-strategy-dock-btn.is-waiting-slate {
  cursor: not-allowed;
  filter: grayscale(0.35);
  opacity: 0.58;
}
.ms-grok-mastery-btn:disabled,
.ms-codex-mastery-btn:disabled,
.ms-claude-mastery-btn:disabled,
.ms-strategy-dock-btn:disabled {
  pointer-events: auto;
}
.ms-grok-mastery-btn {
  background: linear-gradient(135deg, #40e0d0 0%, #4eb3ff 100%);
  color: #07111f;
}
.ms-codex-mastery-btn {
  background: linear-gradient(135deg, #0ea5e9 0%, #22d3ee 100%);
  color: #042f2e;
}
.ms-claude-mastery-btn {
  background: linear-gradient(135deg, #7c3aed 0%, #3b82f6 100%);
  color: #fff;
}

.ms-strategy-dock {
  display: none;
}
@media (max-width: 1024px) {
  .ms-strategy-dock {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: calc(var(--ms-z-chrome, 200) + 4);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.92) 28%, rgba(15, 23, 42, 0.98) 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
  }
  body.ms-strategy-dock-visible {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
  body.ms-grok-gil-visible.ms-strategy-dock-visible {
    padding-bottom: calc(148px + env(safe-area-inset-bottom, 0px));
  }
  .ms-strategy-dock-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 52px;
    padding: 8px 6px;
    border-radius: 10px;
    border: none;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    touch-action: manipulation;
  }
  .ms-strategy-dock-btn i { font-size: 1rem; }
  .ms-topnav-strategy-actions {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ms-strategy-dock { display: none !important; }
  .ms-topnav-strategy-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    width: min(100%, 500px);
    min-width: 0;
  }
  .ms-topnav-strategy-actions .ms-pro-btn {
    justify-content: center;
    min-width: 0;
    padding-inline: 6px;
  }
}
@media (min-width: 1025px) and (max-width: 1320px) {
  .ms-topnav-strategy-actions {
    flex-basis: 360px;
    max-width: 390px;
  }
  .ms-provider-build-tile {
    max-width: 76px;
    min-height: 30px;
    padding-inline: 4px;
  }
  .ms-provider-logo {
    width: 18px;
    height: 18px;
    border-radius: 6px;
  }
  .ms-provider-build-name {
    font-size: 0.52rem;
    letter-spacing: 0.025em;
  }
  .ms-provider-build-sub {
    font-size: 0.38rem;
    letter-spacing: 0.015em;
  }
}
@media (max-width: 768px) {
  .ms-ai-builders-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ms-ai-builders-row .ms-btn {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 7px 4px;
    font-size: 0.64rem;
    white-space: normal;
  }
  .ms-topnav-strategy-actions { display: none !important; }
  .ms-build-exposure-control {
    grid-template-columns: 1fr;
  }
  .ms-build-exposure-actions {
    grid-template-columns: 1fr;
  }
}

/* Mastery is hook-sensitive: duplicate provider controls stay in the DOM for
   existing listeners, but the legacy AI builders strips stay hidden. */
#ms-ai-builders-strip,
#ms-ai-builders-strip-main {
  display: none !important;
}

@media (min-width: 1025px) {
  .ms-strategy-builders {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
}

@media (max-width: 1024px) {
  .ms-strategy-builders {
    display: none !important;
  }
}

body.ms-body .leo-chat-launcher {
  right: 18px !important;
  bottom: 24px !important;
  z-index: calc(var(--ms-z-chrome, 200) + 12) !important;
}

body.ms-body .leo-chat-panel {
  right: 18px !important;
  bottom: 86px !important;
  z-index: calc(var(--ms-z-chrome, 200) + 13) !important;
  max-height: calc(100vh - 118px);
}

@media (max-width: 1024px) {
  body.ms-body.ms-strategy-dock-visible .leo-chat-launcher {
    right: 12px !important;
    bottom: calc(166px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.ms-body.ms-strategy-dock-visible .leo-chat-panel {
    right: 8px !important;
    left: 8px !important;
    bottom: calc(224px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    height: min(560px, calc(100vh - 258px)) !important;
  }
}

/* Mobile horizontal pool scroll: the frozen/sticky column set (Rank, FV,
   WL, LCK, EX, Team, Player, plus HR/DKS/DKS$ added in 206bc17e, plus BH/
   BVR/POS/SAL which pick up position:sticky from the generic
   .ms-pool-sticky-col rule) totals ~720-900px wide -- more than a whole
   390px-wide phone viewport. A real single-swipe scroll moves scrollLeft
   correctly but reveals nothing on screen, because scrollLeft has to
   clear the ENTIRE frozen gutter (2x+ a full viewport width) before any
   non-frozen column enters view -- this is what actually broke, and why
   past fixes to touch-handling/CSS overflow alone never resolved it.
   Un-stick everything except Rank/Team/Player below 768px so a normal
   mobile swipe shows real visible movement; desktop keeps the full frozen
   set unchanged (plenty of room there). */
@media (max-width: 768px) {
  .ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-fv,
  .ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-wl,
  .ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-lck,
  .ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-ex,
  .ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-watch-count,
  .ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-hr,
  .ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-dks,
  .ms-pool-table-scroll.ms-pool-h-scrollable .ms-pool-sticky-dks-value,
  .ms-pool-sticky-fv,
  .ms-pool-sticky-wl,
  .ms-pool-sticky-lck,
  .ms-pool-sticky-ex,
  .ms-pool-sticky-watch-count,
  .ms-pool-sticky-hr,
  .ms-pool-sticky-dks,
  .ms-pool-sticky-dks-value,
  .ms-pool-sticky-bh,
  .ms-pool-sticky-bvr,
  .ms-pool-sticky-pos,
  .ms-pool-sticky-sal {
    position: static !important;
    left: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
  }
}

/* Mastery BUILD redesign handoff, 2026-07-14.
   Scope: visual/layout replacement for the BUILD feature only. Keep all
   provider buttons, export hooks, pool hooks, and optimizer controls wired. */
.ms-workspace-tabs:has(> #ms-tab-build.active) {
  min-height: min(72vh, 760px) !important;
}

#ms-tab-build.active {
  gap: 14px;
  padding: 14px 14px 18px;
  background:
    radial-gradient(circle at 16% 0%, rgba(92, 157, 249, 0.08), transparent 30%),
    radial-gradient(circle at 84% 8%, rgba(70, 206, 134, 0.07), transparent 26%),
    #0a0b0e;
  border: 1px solid rgba(31, 35, 43, 0.9);
  border-radius: 14px;
  overflow: visible;
}

#ms-tab-build .ms-ai-builders-strip {
  display: none !important;
}

#ms-tab-build .ms-strategy-builders {
  display: grid !important;
  grid-template-columns: max-content repeat(5, minmax(112px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 10px;
  background: #101319;
  border: 1px solid #1f232b;
  border-radius: 12px;
  box-shadow: none;
}

#ms-tab-build .ms-strategy-builders::before {
  content: "BUILD ENGINE";
  align-self: center;
  color: #646b78;
  font-family: var(--ms-mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

#ms-tab-build .ms-strategy-builders .ms-btn {
  min-height: 42px;
  justify-content: center;
  gap: 8px;
  color: #0a0b0e;
  border: 0;
  border-radius: 9px;
  font-family: var(--ms-font);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: none;
}

#ms-tab-build .ms-strategy-builders .ms-btn span {
  line-height: 1;
}

#ms-tab-build .ms-strategy-builders .ms-grok-mastery-btn {
  background: linear-gradient(135deg, #46ce86, #2fbf77) !important;
}

#ms-tab-build .ms-strategy-builders .ms-codex-mastery-btn {
  background: linear-gradient(135deg, #5c9df9, #36c8e4) !important;
}

#ms-tab-build .ms-strategy-builders .ms-claude-mastery-btn {
  background: linear-gradient(135deg, #e7a34c, #b57bff) !important;
}

#ms-tab-build .ms-strategy-builders .dz-build-engine-placeholder {
  background: #121620 !important;
  border: 1px solid #2a2e37;
  color: #646b78;
  cursor: not-allowed;
  opacity: 0.78;
}

#ms-tab-build .ms-strategy-builders .dz-build-engine-hermes {
  border-color: rgba(181, 123, 255, 0.35);
}

#ms-tab-build .ms-strategy-builders .dz-build-engine-openclaw {
  border-color: rgba(242, 109, 134, 0.35);
}

#ms-tab-build .ms-strategy-builders-hint {
  margin: -6px 2px 0;
  color: #9ba2af;
  font-size: 11px;
}

#ms-tab-build .ms-build-intel-drawer {
  margin: 0;
  background: #101319;
  border-color: #1f232b;
  border-radius: 12px;
  box-shadow: none;
}

#ms-tab-build .ms-build-intel-summary {
  min-height: 44px;
  padding: 11px 14px;
}

#ms-tab-build .ms-build-summary-title {
  color: #c7ccd4;
  font-family: var(--ms-font);
  font-weight: 800;
}

#ms-tab-build .ms-build-summary-meta {
  color: #646b78;
  font-family: var(--ms-mono);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#ms-tab-build .ms-build-intel-body {
  padding: 12px;
  background: #0e1116;
}

#ms-tab-build > .ms-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, 1fr);
  align-items: start;
  gap: 18px;
}

#ms-tab-build > .ms-grid > div {
  min-width: 0;
}

#ms-tab-build > .ms-grid > div:last-child {
  position: sticky;
  top: 132px;
  align-self: start;
}

#ms-tab-build .ms-panel {
  background: #0e1116;
  border-color: #1f232b;
  border-radius: 14px;
  box-shadow: none;
}

#ms-tab-build .ms-panel-title {
  color: #f2f4f7;
  font-family: var(--ms-display, "Space Grotesk", system-ui, sans-serif);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

#ms-tab-build .ms-panel-hint {
  color: #646b78;
}

#ms-tab-build .ms-portfolio-sticky-bar {
  background: #101319;
  border-color: #1f232b;
  border-radius: 12px;
}

#ms-tab-build .ms-portfolio-summary {
  gap: 8px;
}

#ms-tab-build .ms-portfolio-stat {
  background: #0a0b0e;
  border: 1px solid #23262e;
  border-radius: 9px;
  padding: 8px 10px;
}

#ms-tab-build .ms-portfolio-val {
  color: #f2f4f7;
  font-family: var(--ms-mono);
}

#ms-tab-build .ms-portfolio-lbl {
  color: #646b78;
  font-family: var(--ms-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#ms-tab-build #ms-lineup-list {
  max-height: 640px;
  overflow-y: auto;
}

#ms-tab-build .ms-lineup-card,
#ms-tab-build .ms-lineup-row {
  border-radius: 10px;
}

#ms-tab-build .ms-exposure-sticky-panel {
  position: static;
}

#ms-tab-build #ms-export-dk,
#ms-tab-build #ms-export-dk-exposure,
#ms-tab-build #ms-generate,
#ms-tab-build #ms-quick-build {
  background: #8fd14f !important;
  border-color: #8fd14f !important;
  color: #0a0b0e !important;
  font-weight: 800;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-dash-pool-layout {
  flex: 1 1 auto;
  min-height: 560px;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-workspace-pool-slot {
  flex: 1 1 auto;
  min-height: 560px;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-player-pool-panel {
  background: #0e1116;
  border-color: #1f232b;
  border-radius: 14px;
  box-shadow: none;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-player-pool-panel .ms-panel-head {
  background: #101319;
  border-bottom: 1px solid #1a1d24;
  border-radius: 14px 14px 0 0;
  padding: 13px 16px;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) #ms-player-pool {
  min-height: 500px;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-pool-table-scroll {
  max-height: 640px;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-pool-table th {
  background: #0a0b0e;
  color: #646b78;
  font-family: var(--ms-mono);
  font-size: 9px;
  letter-spacing: 0.07em;
}

body.ms-layout-sidebar .ms-workspace-body:has(#ms-tab-build.active) .ms-pool-table td {
  border-color: #14171d;
}

@media (max-width: 1080px) {
  #ms-tab-build > .ms-grid {
    grid-template-columns: 1fr;
  }

  #ms-tab-build > .ms-grid > div:last-child {
    position: static;
  }

  #ms-tab-build .ms-strategy-builders {
    grid-template-columns: 1fr;
  }

  #ms-tab-build .ms-strategy-builders::before {
    justify-self: start;
  }
}
