@font-face {
  font-family: "Impress BT";
  src: url("assets/fonts/impress-bt.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;
  --bg: #f7f8fa;
  --panel: #ffffff;
  --line: #d3d8df;
  --text: #171b22;
  --muted: #677283;
  --cyan: #11bce4;
  --green: #16864e;
  --gold: #f1aa00;
  --bad: #bc3343;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
}
main { max-width: 1500px; margin: auto; padding: 18px 14px 50px; }
header h1 { margin: 0; font-size: 30px; font-weight: 500; }
header p { margin: 4px 0 18px; color: var(--muted); }
h2 { margin: 0 0 8px; font-size: 26px; font-weight: 500; }
h3 { margin: 0; }

.cog-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 22px;
  max-width: 850px;
  margin-bottom: 8px;
}
.cog-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  overflow: hidden;
  min-width: 0;
}
.cog-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1.25 / 1;
  object-fit: cover;
  background: #d9dde2;
}
.cog-body { padding: 7px 8px 12px; display: grid; gap: 14px; }
.cog-body strong { font-size: 17px; font-weight: 500; }
.cog-body span { font-size: 15px; padding-left: 16px; }
.cog-tags { display: flex; gap: 5px; flex-wrap: wrap; min-height: 18px; }
.cog-tags small { border: 1px solid var(--line); border-radius: 999px; padding: 2px 6px; color: var(--muted); }

.control-layout {
  display: grid;
  grid-template-columns: minmax(540px, .95fr) minmax(610px, 1.25fr);
  gap: 24px;
  align-items: start;
}
.input-row { display: flex; gap: 22px; align-items: center; }
input, select, button { font: inherit; }
#cog-input {
  width: min(100%, 455px);
  border: 1px solid #c7ced7;
  border-radius: 4px;
  padding: 9px 10px;
  font-size: 16px;
  background: white;
}
button {
  border: 0;
  border-radius: 4px;
  padding: 9px 14px;
  cursor: pointer;
  font-weight: 600;
}
.primary {
  color: white;
  background: var(--green);
  border: 4px solid #a7d2c0;
  padding: 8px 18px;
}
.secondary { color: white; background: #69737f; }
.secondary.warning { color: #17130a; background: #f5b400; }
.button-row { display: flex; gap: 24px; margin: 8px 0 12px; }
.status { min-height: 22px; margin-top: 7px; color: var(--muted); }
.status.good { color: var(--green); }
.status.bad { color: var(--bad); }

.settings-panel {
  border-top: 1px solid var(--line);
  padding-top: 11px;
  margin-top: 10px;
}
.hidden { display: none; }
.settings-title { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.settings-title span { color: var(--muted); font-size: 12px; }
.profiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 9px; }
.profile-card { border: 1px solid var(--line); border-radius: 5px; background: white; padding: 9px; }
.prestige-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; margin-top: 7px; }
.prestige-grid label { font-size: 12px; color: var(--muted); }
.advanced-grid { display: flex; gap: 22px; margin: 10px 0; }
.advanced-grid label, .sound-states label { display: grid; gap: 4px; font-size: 13px; color: var(--muted); }
.check-line { display: flex !important; align-items: center; }
.sound-states { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.syntax { margin-top: 12px; color: var(--muted); }
.syntax summary { cursor: pointer; color: var(--text); }
code { background: #edf0f3; padding: 1px 4px; border-radius: 3px; }

.results { display: grid; gap: 12px; }
.combo-row {
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}
.gag-row {
  display: grid;
  grid-template-columns: repeat(4, 86px);
  gap: 10px;
  float: left;
  margin-right: 22px;
}
.gag-card {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: white;
  min-height: 116px;
  padding: 5px;
  display: grid;
  align-content: start;
}
.gag-image-wrap { position: relative; }
.gag-card img { width: 70px; height: 70px; display: block; margin: auto; }
.gag-card strong { font-size: 11px; line-height: 1.1; }
.gag-card small { font-size: 10px; color: var(--muted); margin-top: 3px; }
.gag-card.prestige {
  box-shadow: inset 0 0 0 2px rgba(40, 170, 82, .8), 0 0 8px rgba(40, 170, 82, .25);
}
.gag-card.prestige img {
  filter: sepia(.2) saturate(1.25) hue-rotate(55deg) brightness(1.05);
}
.prestige-star {
  position: absolute;
  top: -2px;
  right: -1px;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: #22984f;
  font-size: 12px;
}
.combo-meta {
  display: grid;
  grid-template-columns: 80px 1fr;
  align-items: start;
  gap: 3px 10px;
  min-height: 118px;
}
.combo-meta span { font-size: 13px; }
.copy {
  grid-column: 2;
  justify-self: end;
  color: #062631;
  background: var(--cyan);
  margin-top: -38px;
}
.combo-row details { clear: both; padding-top: 5px; color: var(--muted); }
.combo-row summary { cursor: pointer; font-size: 12px; }
.combo-row pre { white-space: pre-wrap; font-size: 11px; background: #f0f2f5; padding: 8px; }
.empty { color: var(--muted); border: 1px dashed var(--line); padding: 18px; }

@media (max-width: 1050px) {
  .control-layout { grid-template-columns: 1fr; }
  .cog-cards { max-width: none; }
}
@media (max-width: 700px) {
  .cog-cards { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .input-row { flex-direction: column; align-items: stretch; gap: 8px; }
  #cog-input { width: 100%; }
  .profiles, .sound-states { grid-template-columns: 1fr 1fr; }
  .gag-row { grid-template-columns: repeat(2, 86px); }
}


/* Original Corporate Clash gag sprite sheet: 8 columns × 9 rows, 64px cells. */
.gag-sprite {
  width: 64px;
  height: 64px;
  margin: 3px auto;
  background-image: url("assets/gags/gag-sprites.png");
  background-repeat: no-repeat;
  image-rendering: auto;
}
.track-trap { --row: 1; }
.track-lure { --row: 2; }
.track-sound { --row: 3; }
.track-squirt { --row: 4; }
.track-zap { --row: 5; }
.track-throw { --row: 6; }
.track-drop { --row: 7; }
.level-1 { --col: 0; }
.level-2 { --col: 1; }
.level-3 { --col: 2; }
.level-4 { --col: 3; }
.level-5 { --col: 4; }
.level-6 { --col: 5; }
.level-7 { --col: 6; }
.level-8 { --col: 7; }
.gag-sprite {
  background-position:
    calc(var(--col) * -64px)
    calc(var(--row) * -64px);
}
.gag-card.prestige .gag-sprite {
  filter: sepia(.18) saturate(1.2) hue-rotate(55deg) brightness(1.04);
}
.gag-card img { display: none; }

.bulk-sound {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 8px 0 12px;
}
.bulk-sound button {
  background: #506079;
  color: white;
  padding: 7px 10px;
  font-size: 12px;
}
.individual-sound {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 700px) {
  .individual-sound { grid-template-columns: repeat(2, 1fr); }
}

.advanced-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  align-items: end;
}
@media (max-width: 800px) {
  .advanced-grid { grid-template-columns: repeat(2, 1fr); }
}

.verified-zap-sprite {
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  object-fit: contain;
  margin: 3px auto;
}
.gag-card.prestige .verified-zap-sprite {
  filter: sepia(.18) saturate(1.2) hue-rotate(55deg) brightness(1.04);
}


/* Version 2.1: prestige uses red rather than green. */
.gag-card.prestige {
  border-color: #d84a4a !important;
  box-shadow:
    inset 0 0 0 1px rgba(216, 74, 74, .88),
    0 0 8px rgba(216, 74, 74, .28) !important;
}
.gag-card.prestige .gag-sprite,
.gag-card.prestige .verified-zap-sprite {
  filter:
    sepia(.30)
    saturate(1.55)
    hue-rotate(310deg)
    brightness(1.04) !important;
}
.prestige-star {
  background: #c93636 !important;
}

.target-notation {
  display: block;
  margin-top: 5px !important;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: 1px;
  color: #606a77 !important;
}
.gag-card.prestige .target-notation {
  color: #c93636 !important;
}

#cog-cards .cog-card {
  transition: box-shadow .12s ease, transform .12s ease;
}
#cog-cards .cog-card.target-highlight {
  box-shadow:
    0 0 0 3px rgba(216, 74, 74, .8),
    0 0 13px rgba(216, 74, 74, .35);
  transform: translateY(-2px);
}

.combo-meta {
  grid-template-columns: 80px 1fr !important;
}
.copy {
  display: none !important;
}

.combo-note {
  clear: both;
  padding-top: 5px;
  font-size: 11px;
  font-weight: 700;
  color: #a64242;
}


.cogs-heading-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  max-width: 850px;
  min-height: 44px;
  margin-bottom: 8px;
}
.cogs-heading-row h2 { margin-bottom: 0; }

.party-quick-selectors {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.party-quick-label {
  color: var(--muted);
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.party-quick-inputs {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(76px, 1fr));
  gap: 5px;
}
.party-quick-slot {
  min-width: 0;
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  align-items: center;
  gap: 3px;
}
.party-quick-slot > span {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #687785;
  color: white;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
}
.party-quick-slot input {
  width: 100%;
  min-width: 0;
  height: 29px;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  font-size: 11px;
  text-overflow: ellipsis;
}
.party-quick-slot input:focus {
  border-color: #788b9d;
  outline: 2px solid rgba(120, 139, 157, .18);
}

.all-lure-control {
  display: flex;
  align-items: end;
  gap: 7px;
}
.all-lure-control label {
  display: grid;
  gap: 3px;
  font-size: 12px;
  color: var(--muted);
}
.all-lure-control select {
  min-width: 190px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: white;
}
#clear-all-lure {
  padding: 7px 10px;
  background: #69737f;
  color: white;
}
.cog-lure-control {
  display: grid;
  gap: 3px;
}
.cog-lure-control > span {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.cog-lure-control select {
  width: 100%;
  min-width: 0;
  padding: 5px 4px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  font-size: 11px;
}
.cog-body { gap: 8px !important; }

@media (max-width: 700px) {
  .cogs-heading-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: end;
    max-width: 100%;
    min-height: 44px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
  }
  .cogs-heading-row h2 { flex: 0 0 auto; }
  .party-quick-selectors { flex: 0 0 470px; }
  .all-lure-control { flex: 0 0 190px; align-items: stretch; }
  .all-lure-control label { flex: 1; }
  .all-lure-control select { width: 100%; min-width: 0; }
}


.iou-grid {
  display: grid;
  grid-template-columns: 1fr 78px;
  gap: 7px;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}
.iou-grid label {
  display: grid;
  gap: 3px;
  font-size: 10px;
  color: var(--muted);
}
.iou-grid select {
  width: 100%;
  min-width: 0;
  padding: 5px 4px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: white;
  font-size: 11px;
}


.stale-results {
  margin: 7px 0 2px;
  font-size: 11px;
  font-weight: 700;
  color: #9a5b00;
}
#generate.needs-generate {
  box-shadow: 0 0 0 3px rgba(240, 166, 35, .28);
}


.all-lure-control {
  position: relative;
  display: grid;
  gap: 4px;
  align-items: stretch;
}
.all-lure-label {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.cog-lure-control {
  position: relative;
  display: grid;
  gap: 3px;
}
.cog-lure-control > span {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.lure-picker-shell {
  position: relative;
  width: 100%;
}

.lure-picker-button {
  width: 100%;
  min-height: 46px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 7px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: inherit;
  text-align: left;
}
.lure-picker-button:hover,
.lure-picker-button[aria-expanded="true"] {
  border-color: #7d8b9a;
  background: #f8fafc;
}
.lure-picker-current {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.lure-picker-current strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}
.lure-picker-current small {
  font-size: 10px;
  color: var(--muted);
}
.lure-picker-chevron {
  font-size: 11px;
  color: var(--muted);
}

.lure-picker-panel {
  position: absolute;
  z-index: 100;
  top: calc(100% + 4px);
  left: 0;
  width: min(290px, 82vw);
  max-height: 420px;
  overflow-y: auto;
  padding: 7px;
  border: 1px solid #98a5b3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(30, 42, 55, .22);
}
.universal-lure-picker .lure-picker-panel {
  right: 0;
  left: auto;
}
.lure-picker-section + .lure-picker-section {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}
.lure-picker-heading {
  margin: 0 3px 4px;
  font-size: 10px;
  font-weight: 800;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.lure-picker-option {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 4px 6px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  text-align: left;
}
.lure-picker-option:hover {
  background: #edf3f8;
}
.lure-picker-option > span:last-child {
  display: grid;
  gap: 1px;
}
.lure-picker-option strong {
  font-size: 11px;
}
.lure-picker-option small {
  font-size: 10px;
  color: var(--muted);
}
.lure-picker-clear-option {
  margin-bottom: 6px;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

.lure-sprite-wrap {
  position: relative;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
}
.lure-sprite-wrap .gag-sprite {
  transform: scale(.57);
  transform-origin: center;
}
.lure-sprite-wrap.prestige .gag-sprite {
  filter:
    sepia(.30)
    saturate(1.55)
    hue-rotate(310deg)
    brightness(1.04);
}
.lure-prestige-badge {
  position: absolute;
  right: -2px;
  bottom: -1px;
  width: 15px;
  height: 15px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #c93636;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}
.lure-none-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px dashed #aab3bd;
  border-radius: 50%;
  color: #7f8994;
  font-size: 20px;
}

@media (max-width: 700px) {
  .lure-picker-panel {
    width: min(280px, 88vw);
  }
}


/* Version 3.2: robust emoji selectors replace clipped custom popups. */
.lure-picker-button,
.lure-picker-panel {
  display: none !important;
}

.lure-emoji-select {
  width: 100%;
  min-width: 0;
  padding: 7px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: inherit;
  font-size: 11px;
  line-height: 1.25;
}

.lure-emoji-select:focus {
  outline: 2px solid rgba(47, 124, 188, .25);
  border-color: #5a8db6;
}

#all-lure-picker-host .lure-emoji-select {
  min-width: 215px;
}


.track-state-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 7px;
  margin-top: 8px;
}
.track-state-button {
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: center;
  gap: 4px;
  width: 100%;
  padding: 4px 5px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font-size: 11px;
  text-align: left;
}
.track-state-button:hover {
  background: #eef3f7;
  border-color: #c7d0d9;
}
.track-state-icon {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 4px;
  font-weight: 900;
}
.track-state-button.state-normal .track-state-icon {
  border: 1px solid #aab3bd;
  color: #87919b;
  background: #fff;
}
.track-state-button.state-prestige {
  color: #a62f2f;
  font-weight: 700;
}
.track-state-button.state-prestige .track-state-icon {
  color: #fff;
  background: #c93636;
}
.track-state-button.state-missing {
  color: #747d86;
  text-decoration: line-through;
}
.track-state-button.state-missing .track-state-icon {
  color: #fff;
  background: #4f5963;
}

.reset-profile-button {
  margin-left: auto;
  padding: 5px 8px;
  background: #687481;
  color: white;
  font-size: 10px;
}
.build-tag {
  margin-top: 4px;
  font-size: 10px;
  color: var(--muted);
}
.settings-title {
  display: flex;
  align-items: center;
  gap: 9px;
}
.settings-title span { flex: 1; }




.battle-order-control {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin-top: 7px;
  padding: 7px 9px;
  max-width: 480px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  cursor: pointer;
}
.battle-order-control input {
  margin-top: 2px;
}
.battle-order-control span {
  display: grid;
  gap: 1px;
}
.battle-order-control strong {
  font-size: 11px;
}
.battle-order-control small {
  font-size: 10px;
  color: var(--muted);
}


.cog-hp-button {
  appearance: none;
  border: 0;
  padding: 1px 3px;
  margin: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  border-radius: 3px;
  cursor: text;
}
.cog-hp-button:hover,
.cog-hp-button:focus-visible {
  background: #e8eef4;
  outline: 1px solid #aebbc7;
}
.cog-hp-editor {
  width: 72px;
  padding: 2px 4px;
  font: inherit;
}

.hybrid-sprite-wrap {
  position: relative;
  display: flex;
  overflow: hidden;
}
.hybrid-half {
  width: 50%;
  overflow: hidden;
}
.hybrid-half .gag-sprite {
  width: 200%;
}
.hybrid-drop .gag-sprite {
  transform: translateX(-50%);
}
.hybrid-finisher-card strong {
  font-size: 10px;
}


/* Version 4.1 compact result density */
.combo-row {
  padding-bottom: 7px;
}
.gag-row {
  gap: 8px;
  margin-right: 18px;
}
.gag-card {
  min-height: 106px;
  padding: 4px;
}
.gag-card img {
  width: 64px;
  height: 64px;
}
.gag-card strong {
  font-size: 10px;
}
.gag-card small {
  font-size: 9px;
  margin-top: 1px;
}
.combo-meta {
  min-height: 106px;
  gap: 1px 8px;
}
.combo-meta span {
  font-size: 11px;
}
.combo-row details {
  padding-top: 2px;
}
.combo-row summary {
  font-size: 11px;
}
.combo-note {
  margin-top: 2px;
  font-size: 10px;
}

/* Single-card diagonal Throw/Drop hybrid */
.hybrid-sprite-wrap {
  position: relative;
  width: 64px;
  height: 64px;
  margin: 3px auto;
  overflow: hidden;
  background: white;
}
.hybrid-diagonal-half {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.hybrid-diagonal-half .gag-sprite {
  position: absolute;
  inset: 0;
  margin: 0;
}
.hybrid-throw {
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.hybrid-drop {
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.hybrid-sprite-wrap::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 31px;
  width: 76px;
  height: 1px;
  background: rgba(0,0,0,.45);
  transform: rotate(-45deg);
  transform-origin: left center;
}
.hybrid-damage {
  position: absolute;
  right: 2px;
  bottom: 2px;
  z-index: 2;
  padding: 1px 3px;
  border-radius: 3px;
  background: rgba(255,255,255,.9);
  font-size: 9px;
  font-weight: 700;
}


/* Version 4.2 — wider single-column results layout */
main,
.page,
.app-shell,
.container {
  max-width: 1680px;
}

.control-layout {
  grid-template-columns: minmax(360px, 0.36fr) minmax(720px, 0.74fr);
  column-gap: 34px;
  align-items: start;
}

.results-panel,
.results-column,
#results {
  min-width: 0;
}

.combo-row {
  padding: 5px 0 6px;
}

.gag-row {
  grid-template-columns: repeat(4, 82px);
  gap: 8px;
  margin-right: 18px;
}

.gag-card {
  min-height: 102px;
  padding: 4px;
}

.gag-card img {
  width: 62px;
  height: 62px;
}

.combo-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-height: 102px;
  padding-top: 2px;
}

.combo-rank {
  font-size: 12px;
  line-height: 1;
  color: var(--muted);
}

.combo-family {
  font-size: 14px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--ink);
}

.combo-row details {
  padding-top: 1px;
}

.combo-row summary {
  font-size: 10px;
}

/* Horizontal Throw / Drop hybrid */
.hybrid-sprite-wrap {
  position: relative;
  width: 64px;
  height: 62px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  overflow: visible;
  background: transparent;
}

.hybrid-finisher-sprite {
  width: 64px;
  height: 62px;
  object-fit: contain;
  image-rendering: auto;
}

.hybrid-sprite-wrap::after {
  content: none;
}

.hybrid-damage {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 2;
  padding: 1px 4px;
  border-radius: 3px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(0,0,0,.15);
  font-size: 9px;
  line-height: 1.1;
  font-weight: 700;
  white-space: nowrap;
}

.hybrid-finisher-card strong {
  font-size: 10px;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .control-layout {
    grid-template-columns: 1fr;
  }
}


/* Version 4.3 — subtle pastel tactic backgrounds */
.combo-row {
  border-radius: 7px;
  padding-left: 7px;
  padding-right: 7px;
}
.combo-row.family-sound {
  background: rgba(191, 235, 202, .34);
}
.combo-row.family-siphon {
  background: rgba(246, 205, 221, .34);
}
.combo-row.family-zap {
  background: rgba(204, 224, 247, .36);
}
.combo-row.family-prewet {
  background: rgba(196, 239, 236, .38);
}
.combo-row.family-lure {
  background: rgba(250, 231, 190, .36);
}
.combo-row.family-two-sound {
  background: rgba(226, 211, 244, .36);
}
.combo-row.family-neutral {
  background: rgba(232, 236, 240, .22);
}

/* Trap hover on Cog sprite */
.cog-sprite-hover {
  position: relative;
  display: inline-block;
  outline: none;
}
.cog-sprite-hover > img {
  display: block;
}
.cog-hp-overlay {
  position: absolute;
  left: 50%;
  bottom: 1px;
  transform: translateX(-50%);
  z-index: 3;
  pointer-events: none;
  font-family: "Impress BT", "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
  font-size: 38px;
  line-height: .88;
  letter-spacing: .01em;
  color: #fff;
  -webkit-text-stroke: 3px #000;
  paint-order: stroke fill;
  text-shadow: 1px 0 0 #000, -1px 0 0 #000, 0 1px 0 #000, 0 -1px 0 #000, 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;
}
.cog-hp-overlay.low-hp {
  color: #ffb7bf;
}
.trap-tooltip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 7px);
  transform: translateX(-50%) translateY(3px);
  z-index: 20;
  min-width: 180px;
  padding: 7px 9px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 6px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 5px 16px rgba(0,0,0,.14);
  color: var(--ink);
  font-size: 11px;
  line-height: 1.4;
  text-align: left;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
}
.trap-tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(255,255,255,.98);
}
.cog-sprite-hover:hover .trap-tooltip,
.cog-sprite-hover:focus .trap-tooltip,
.cog-sprite-hover:focus-within .trap-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}


/* Version 4.4 — expressive but restrained full-row pastel bands */
.combo-row.family-sound {
  background-color: #edf7df !important;
  border-left: 4px solid #b7d996;
}
.combo-row.family-siphon {
  background-color: #fbe8ef !important;
  border-left: 4px solid #e8b6c8;
}
.combo-row.family-zap {
  background-color: #e8f2fb !important;
  border-left: 4px solid #a9cbe9;
}
.combo-row.family-prewet {
  background-color: #e4f6f3 !important;
  border-left: 4px solid #9ed8d0;
}
.combo-row.family-lure {
  background-color: #fff3d9 !important;
  border-left: 4px solid #e7c77c;
}
.combo-row.family-two-sound {
  background-color: #f0e9fa !important;
  border-left: 4px solid #cbb5e5;
}
.combo-row.family-two-sound-squirt-drop {
  background-color: #fff0df !important;
  border-left: 4px solid #e5bf95;
}
.combo-row.family-sound-squirt-two-drop {
  background-color: #ecebfb !important;
  border-left: 4px solid #bbb7e6;
}
.combo-row.family-neutral {
  background-color: #f5f6f7 !important;
  border-left: 4px solid #d6dade;
}

/* True hover-only Quick Execute panel */
.cog-card {
  overflow: visible;
}
.cog-sprite-hover {
  position: relative;
  display: block;
  cursor: help;
  outline: none;
}
.quick-execute-tooltip {
  display: none;
  position: absolute;
  left: calc(100% + 8px);
  top: 8px;
  z-index: 100;
  min-width: 220px;
  max-width: 280px;
  padding: 9px 11px;
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 7px;
  background: #fffefa;
  box-shadow: 0 7px 22px rgba(0,0,0,.18);
  color: var(--ink);
  font-size: 11px;
  line-height: 1.45;
  text-align: left;
  white-space: nowrap;
  pointer-events: none;
}
.cog-sprite-hover:hover .quick-execute-tooltip,
.cog-sprite-hover:focus-visible .quick-execute-tooltip {
  display: block;
}
.quick-execute-title {
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 800;
}
.quick-execute-section + .quick-execute-section {
  margin-top: 7px;
  padding-top: 6px;
  border-top: 1px solid rgba(0,0,0,.10);
}
.quick-execute-section strong {
  display: block;
  margin-bottom: 2px;
}
.quick-execute-empty {
  color: var(--muted);
  white-space: normal;
}

/* Disable the superseded Trap tooltip styling. */
.trap-tooltip {
  display: none !important;
}

/* Version 5.0 — threshold-first finisher card */
.hybrid-finisher-card .hybrid-sprite-wrap {
  height: 58px;
  align-items: flex-start;
}
.hybrid-finisher-card .hybrid-mini-sprite {
  opacity: .58;
  transform: scale(.80);
}
.hybrid-damage-hero {
  left: 50%;
  top: 50%;
  bottom: auto;
  transform: translate(-50%, -48%);
  padding: 2px 6px;
  border: 0;
  background: rgba(255,255,255,.92);
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.5px;
}


/* Version 5.1 — quick party controls */
.quick-party-panel {
  margin-bottom: 12px;
}
.quick-party-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(190px, 1fr)) minmax(220px, 1.2fr);
  gap: 10px;
  align-items: stretch;
}
.prestige-stepper {
  display: grid;
  grid-template-columns: 1fr 34px 34px 34px;
  gap: 5px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255,255,255,.70);
}
.prestige-stepper span {
  font-weight: 700;
}
.prestige-stepper button {
  min-height: 32px;
  font-size: 18px;
  font-weight: 800;
}
.prestige-stepper strong {
  text-align: center;
  font-size: 16px;
}
.skelecog-toggle {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "check title"
    "check note";
  column-gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255,255,255,.70);
}
.skelecog-toggle input { grid-area: check; }
.skelecog-toggle span { grid-area: title; font-weight: 700; }
.skelecog-toggle small { grid-area: note; color: var(--muted); }

.sound-cycle-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(125px, 1fr));
  gap: 8px;
  margin-top: 9px;
}
.toon-sound-cycle {
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255,255,255,.65);
}
.round-state-button {
  min-height: 34px;
  font-weight: 800;
}
.round-state-button.state-normal {
  background: #f2f3f4;
}
.round-state-button.state-encore {
  background: #e6f3ff;
}
.round-state-button.state-winded {
  background: #f6e8ec;
}
.prestige-sound-line {
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 10px;
}
@media (max-width: 900px) {
  .quick-party-grid,
  .sound-cycle-grid {
    grid-template-columns: 1fr;
  }
}

/* Version 5.1 — prominent round modes */
.quick-party-panel { margin-bottom: 12px; }
.quick-party-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 10px;
}
.prestige-stepper {
  display: grid;
  grid-template-columns: 1fr 34px 34px 34px;
  align-items: center;
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255,255,255,.72);
}
.prestige-stepper span { font-weight: 700; }
.prestige-stepper strong { text-align: center; font-size: 16px; }
.prestige-stepper button { min-height: 32px; font-size: 18px; font-weight: 800; }
.round-mode-toggle {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "check title" "check note";
  column-gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255,255,255,.72);
}
.round-mode-toggle input { grid-area: check; }
.round-mode-toggle span { grid-area: title; font-weight: 750; }
.round-mode-toggle small { grid-area: note; color: var(--muted); }
.force-three-toggle { background: #f0e9fa; border-color: #cbb5e5; }
@media (max-width: 860px) {
  .quick-party-grid { grid-template-columns: 1fr; }
}

/* Instrumentation-only build */
.status-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.status-row .status { flex: 1 1 auto; }
.diagnostics-button { padding: 5px 9px; font-size: 12px; white-space: nowrap; }


/* Version 5.3 Sued state control */
.cog-sue-control{display:flex;align-items:center;gap:.45rem;font-size:.78rem;margin-top:.35rem;cursor:pointer}.cog-sue-control input{accent-color:#7bdff2}.cog-sue-control span{opacity:.9}


/* Version 5.4 advanced-search constraints */
.constraint-divider { border-top: 1px solid rgba(255,255,255,.12); margin: 1rem 0; }
.constraint-title { margin-bottom: .7rem; }
.constraint-section { margin-top: .8rem; padding: .8rem; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(0,0,0,.12); }
.constraint-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .55rem; }
.constraint-heading div { display: grid; gap: .12rem; }
.constraint-heading small { opacity: .72; }
.compact-button { padding: .35rem .65rem; white-space: nowrap; }
.constraint-list { display: grid; gap: .45rem; }
.constraint-row { display: grid; grid-template-columns: minmax(155px,1.55fr) minmax(150px,1.15fr) minmax(105px,.8fr) minmax(86px,.62fr) auto; gap: .4rem; align-items: center; }
.constraint-row.resource-row { grid-template-columns: 1fr auto; }
.locked-target-control { display: grid; grid-template-columns: minmax(56px,.72fr) auto; gap: .42rem; align-items: center; min-width: 0; }
.locked-target-control input { width: 100%; min-width: 0; text-align: center; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .08em; text-transform: uppercase; }
.target-dot-row { display: flex; gap: .24rem; align-items: center; justify-content: center; }
.target-dot { width: 1.18rem; height: 1.18rem; min-width: 1.18rem; padding: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.38); background: rgba(255,255,255,.08); cursor: pointer; }
.target-dot:hover { border-color: rgba(210,190,255,.9); }
.target-dot.selected { background: #9070d8; border-color: #c9b8f4; box-shadow: 0 0 0 2px rgba(144,112,216,.18); }
.group-target { grid-template-columns: 1fr; }

.constraint-row select { width: 100%; min-width: 0; }
.remove-constraint { border: 0; background: transparent; color: inherit; font-size: 1.3rem; cursor: pointer; padding: .2rem .45rem; }
.constraint-empty { opacity: .62; font-size: .9rem; padding: .2rem 0; }
.consumes-line { margin-top: .45rem; font-size: .86rem; opacity: .8; }
@media (max-width: 720px) {
  .constraint-row { grid-template-columns: 1fr 1fr; }
  .locked-target-control { grid-template-columns: minmax(64px,.65fr) auto; }
  .constraint-row .remove-constraint { grid-column: 2; justify-self: end; }
}


/* Version 5.5: Toon profiles are a secondary, bottom-of-page refinement. */
.toon-profile-area {
  margin-top: 24px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.toon-profile-toggle-row { margin-top: 0; }
.toon-profile-area .settings-panel { margin-top: 0; }
.toon-profile-area .profiles {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.toon-profile-area .track-state-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1000px) {
  .toon-profile-area .profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .toon-profile-area .profiles { grid-template-columns: 1fr; }
}


/* Version 5.7: compact UX and canonical result presentation. */
.round-mode-toggle { min-height: 42px; padding-top: .45rem; padding-bottom: .45rem; }
.round-mode-toggle > span { align-self: center; }
.gag-card.isolated-finisher {
  background: linear-gradient(180deg, rgba(20, 83, 45, .34), rgba(9, 52, 31, .48));
  border-color: #245c3a;
  box-shadow: inset 0 0 0 1px rgba(74, 142, 94, .28);
}
.gag-autocomplete { width: 100%; min-width: 0; }
.sound-cycle-grid { grid-template-columns: repeat(4, minmax(118px, 1fr)); gap: .45rem; }
.toon-sound-cycle { padding: .45rem .55rem; min-height: 0; }
.toon-sound-cycle strong { font-size: .78rem; }
.toon-sound-cycle .round-state-button { min-height: 30px; padding: .28rem .45rem; }
.toon-sound-cycle .prestige-sound-line { font-size: .72rem; line-height: 1.15; }
@media (max-width: 720px) {
  .sound-cycle-grid { grid-template-columns: repeat(2, minmax(118px, 1fr)); }
}

/* Version 5.8: denser round-state controls and clearer isolated Drop rendering. */
.sound-states {
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
}
.bulk-sound {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  align-content: start;
}
.bulk-sound button {
  min-height: 27px;
  padding: 3px 6px;
  font-size: 10px;
  line-height: 1.05;
}
.individual-sound.sound-cycle-grid {
  grid-template-columns: repeat(4, minmax(96px, 1fr));
  gap: 6px;
}
.toon-sound-cycle {
  padding: 5px 6px 4px;
  min-height: 78px;
  border-radius: 6px;
}
.toon-sound-cycle strong { font-size: 10px; }
.toon-sound-cycle .round-state-button {
  min-height: 27px;
  padding: 3px 5px;
  font-size: 11px;
}
.toon-sound-cycle .prestige-sound-line {
  font-size: 8px;
  line-height: 1;
  gap: 2px;
  white-space: nowrap;
}
.gag-card.isolated-finisher .gag-sprite,
.gag-card.isolated-finisher .verified-zap-sprite,
.gag-card.isolated-finisher img:not(.hybrid-finisher-sprite) {
  filter: sepia(.45) saturate(1.25) hue-rotate(75deg) brightness(.78) contrast(1.08) !important;
}
.hybrid-finisher-card .hybrid-finisher-sprite {
  position: absolute;
  inset: 0;
  width: 64px;
  height: 58px;
  opacity: .48;
  object-fit: contain;
  z-index: 0;
}
.hybrid-finisher-card .hybrid-damage-hero {
  z-index: 2;
  background: rgba(255,255,255,.72);
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}
.compact-sue-control { margin-top: .2rem; }
.resource-autocomplete { width: 100%; }
@media (max-width: 720px) {
  .sound-states { grid-template-columns: 82px minmax(0, 1fr); }
  .individual-sound.sound-cycle-grid { grid-template-columns: repeat(2, minmax(92px, 1fr)); }
}

/* Version 6.0 compact round-mode controls */
.quick-party-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.round-mode-toggle { min-height: 34px; padding: 4px 6px; font-size: 11px; }
.hybrid-finisher-card .hybrid-finisher-sprite { display: block !important; }
@media (max-width: 720px) {
  .quick-party-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .round-mode-toggle { min-height: 31px; padding: 3px 4px; font-size: 10px; }
}

/* Version 6.1.3 compact Round Setup refinement */
.quick-party-panel {
  padding: 9px 10px 10px;
  border: 1px solid #d8dde5;
  border-radius: 9px;
  background: #fbfcfe;
}
.quick-party-panel .settings-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.quick-party-panel .settings-title h3 {
  margin: 0;
  font-size: 19px;
  line-height: 1.1;
  letter-spacing: -.015em;
}
.quick-party-panel .settings-title span {
  color: #6f7784;
  font-size: 12px;
}
.quick-party-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}
.prestige-stepper {
  grid-column: span 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px 28px 34px;
  gap: 5px;
  align-items: center;
  min-height: 52px;
  padding: 7px 9px;
  border: 1px solid #d6dbe3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 1px rgba(31, 41, 55, .03);
}
.prestige-stepper span {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.005em;
}
.prestige-stepper strong {
  font-size: 16px;
  font-weight: 850;
  text-align: center;
}
.prestige-stepper button {
  min-height: 34px;
  padding: 0;
  border: 1px solid #d9dde4;
  border-radius: 6px;
  background: #f4f5f7;
  font-size: 19px;
  line-height: 1;
  font-weight: 800;
}
.prestige-stepper button:hover { background: #eceef2; }
.round-mode-toggle,
.force-three-toggle,
.skelecog-toggle,
.skele-safe-toggle {
  grid-column: span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 6px 8px;
  border: 1px solid #d6dbe3;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.round-mode-toggle input {
  grid-area: auto;
  width: 15px;
  height: 15px;
  margin: 0;
  flex: 0 0 auto;
}
.round-mode-toggle span {
  grid-area: auto;
  font-weight: 750;
  line-height: 1.05;
  text-align: center;
}
.round-mode-toggle:hover {
  border-color: #bbc3cf;
  background: #fcfcfd;
}
.round-mode-toggle:has(input:checked) {
  border-color: #c5a7e9;
  background: #f4edfc;
  box-shadow: inset 0 0 0 1px rgba(164, 116, 218, .08);
}
.skelecog-toggle:has(input:checked),
.skele-safe-toggle:has(input:checked) {
  border-color: #9fb8cd;
  background: #edf5fa;
}
@media (max-width: 720px) {
  .quick-party-panel { padding: 8px; }
  .quick-party-panel .settings-title { gap: 5px; margin-bottom: 7px; }
  .quick-party-panel .settings-title h3 { font-size: 17px; }
  .quick-party-panel .settings-title span { font-size: 11px; }
  .quick-party-grid { gap: 6px; }
  .prestige-stepper {
    grid-column: span 3;
    grid-template-columns: minmax(0, 1fr) 30px 24px 30px;
    min-height: 46px;
    padding: 5px 7px;
    gap: 3px;
  }
  .prestige-stepper span { font-size: 13px; }
  .prestige-stepper strong { font-size: 15px; }
  .prestige-stepper button { min-height: 30px; font-size: 17px; }
  .round-mode-toggle,
  .force-three-toggle,
  .skelecog-toggle,
  .skele-safe-toggle {
    grid-column: span 2;
    min-height: 36px;
    padding: 5px 4px;
    gap: 5px;
    font-size: 11px;
  }
  .round-mode-toggle input { width: 14px; height: 14px; }
}
@media (max-width: 430px) {
  .prestige-stepper { grid-column: 1 / -1; }
  .round-mode-toggle,
  .force-three-toggle,
  .skelecog-toggle,
  .skele-safe-toggle {
    min-height: 34px;
    font-size: 10px;
  }
}


/* Version 6.3.1 — anchor the Throw / Drop threshold by its own midpoint. */
.hybrid-finisher-card .hybrid-sprite-wrap {
  position: relative;
}
.hybrid-finisher-card .hybrid-damage-hero {
  left: 50%;
  right: auto;
  width: max-content;
  top: 50%;
  bottom: auto;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  text-align: center;
  pointer-events: none;
}


/* Encore Update 0.3 */
.special-badges {
  position: absolute;
  top: -2px;
  right: -1px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  z-index: 4;
}
.special-badges .prestige-star {
  position: static;
  flex: 0 0 auto;
}
.encore-badge {
  min-width: 25px;
  height: 20px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #4b3700;
  background: #ffd84f;
  border: 1px solid #d6a900;
  box-shadow: 0 1px 3px rgba(0,0,0,.22);
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
}
.combo-requirement {
  grid-column: 2;
  display: block;
  min-height: 1.1em;
  font-size: 10px;
  line-height: 1.1;
  color: transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.combo-requirement.has-requirement {
  color: #806000;
  font-weight: 800;
}
.encore-count-warning {
  color: #b21f2d;
  font-weight: 950;
  letter-spacing: .02em;
}
.encore-requirements { color: #806000; }
.requirement-separator { color: #806000; }
.constraint-row.locked-row {
  grid-template-columns: minmax(150px,1.5fr) minmax(145px,1.1fr) minmax(100px,.78fr) 42px minmax(76px,.58fr) auto;
}
.locked-encore-button {
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.08);
  color: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.locked-encore-button.encore-10,
.locked-encore-button.encore-20 {
  color: #4b3700;
  background: #ffd84f;
  border-color: #d6a900;
  box-shadow: 0 0 0 2px rgba(255,216,79,.18), 0 0 10px rgba(255,216,79,.30);
}
@media (max-width: 720px) {
  .constraint-row.locked-row { grid-template-columns: 1fr 1fr; }
  .locked-encore-button { justify-self: start; }
}

/* Manual Toon profiles and named action assignments. */
.toon-profile-area .profiles {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.profile-card {
  position: relative;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.profile-card-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
}
.toon-name-label {
  display: grid;
  gap: 3px;
  min-width: 0;
  flex: 1 1 auto;
  color: var(--muted);
  font-size: 10px;
}
.toon-name-input {
  width: 100%;
  min-width: 0;
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
}
.toon-assignment {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: #276846;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gag-card {
  min-height: 129px;
}
@media (max-width: 1000px) {
  .toon-profile-area .profiles { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .profile-card-heading { align-items: stretch; flex-direction: column; }
  .toon-profile-area .track-state-grid.all-tracks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Manager Mode 0.2 — Prethinker + Deep Diver */
.manager-mode-badge {
  display: none;
  width: fit-content;
  margin-top: 7px;
  border: 1px solid #7443a3;
  border-radius: 999px;
  padding: 3px 8px;
  color: #5b2c86;
  background: #f2e9fa;
  font-size: 12px;
  font-weight: 700;
}
.manager-mode-badge.active { display: inline-flex; }
.manager-panel {
  border: 1px solid #cbb4df;
  border-left: 5px solid #7443a3;
  border-radius: 5px;
  background: #fbf7ff;
  padding: 12px;
  margin: 12px 0;
}
.manager-controls {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(120px, .6fr) minmax(230px, 1.3fr);
  gap: 12px;
  align-items: end;
  margin-top: 10px;
}
.manager-controls > label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 13px;
}
.manager-controls select,
.manager-controls input[type="number"] {
  min-height: 36px;
  border: 1px solid #c7ced7;
  border-radius: 4px;
  background: white;
  padding: 6px 8px;
}
.manager-castling-control {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  min-height: 36px;
  border: 1px solid #cbb4df;
  border-radius: 4px;
  background: white;
  padding: 7px 9px;
  color: var(--text) !important;
}
.manager-state-summary {
  margin-top: 10px;
  color: #5b2c86;
  font-size: 13px;
  font-weight: 700;
}
.manager-limitation {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}
.family-manager {
  border-left: 4px solid #7443a3;
  padding-left: 10px;
}
.manager-result-summary {
  grid-column: 2;
  color: #5b2c86;
  font-size: 12px !important;
  line-height: 1.4;
  margin-top: 3px;
}
.cog-tags small:first-child {}

@media (max-width: 700px) {
  .manager-controls { grid-template-columns: 1fr; }
}

/* Manager Mode 0.2 profile-specific controls */
.manager-castling-control.hidden,
.manager-phase-control.hidden {
  display: none !important;
}


/* Version 0.5 — compact Toon profiles and integrated Manager Mode. */
.compact-settings-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.more-filters { margin-top: 10px; border: 1px solid var(--line); border-radius: 5px; padding: 0 10px 10px; background: rgba(255,255,255,.55); }
.more-filters > summary { cursor: pointer; padding: 9px 0; font-weight: 800; color: var(--muted); }
.toon-profile-area .profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.profile-card { padding: 10px; min-width: 0; }
.profile-card-heading { align-items: center; gap: 8px; }
.track-state-grid.primary-tracks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.track-state-grid.secondary-tracks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-top: 6px; }
.profile-more-tracks { margin-top: 7px; border-top: 1px solid var(--line); padding-top: 5px; }
.profile-more-tracks > summary { cursor: pointer; color: var(--muted); font-size: 10px; font-weight: 800; }
.toon-profile-area .track-state-button { min-height: 34px; }
.toon-profile-area .primary-tracks .track-state-button { grid-template-columns: 20px minmax(0, 1fr); font-size: 12px; }
.iou-grid { margin-top: 8px; }
@media (max-width: 1000px) {
  .toon-profile-area .profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .compact-settings-grid, .toon-profile-area .profiles { grid-template-columns: 1fr; }
}

/* Version 1.0 — compact embedded Toon profiles, look emblems, and absent Toon 4. */
.embedded-profile-panel {
  width: min(100%, 540px);
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--line);
}
.profile-panel-title {
  align-items: flex-start;
}
.profile-panel-title > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.profile-panel-title .reset-profile-button {
  flex: 0 0 auto;
}
.embedded-profile-panel .profiles {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  align-items: start;
}
.embedded-profile-panel .profile-card {
  min-width: 0;
  padding: 7px;
}
.embedded-profile-panel .profile-card-heading {
  display: grid;
  gap: 5px;
  align-items: stretch;
}
.profile-identity-row {
  display: flex;
  align-items: end;
  gap: 6px;
  min-width: 0;
}
.profile-identity-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 84px;
  gap: 5px;
  align-items: end;
  min-width: 0;
  flex: 1 1 auto;
}
.toon-look-label {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
}
.toon-look-input {
  width: 100%;
  min-width: 0;
  padding: 5px 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
}
.embedded-profile-panel .track-state-grid.primary-tracks,
.embedded-profile-panel .track-state-grid.secondary-tracks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}
.embedded-profile-panel .track-state-button {
  min-height: 28px;
  grid-template-columns: 16px minmax(0, 1fr);
  padding: 3px 4px;
  font-size: 10px;
}
.embedded-profile-panel .profile-more-tracks {
  margin-top: 5px;
  padding-top: 4px;
}
.embedded-profile-panel .iou-grid {
  margin-top: 6px;
  gap: 5px;
}
.embedded-profile-panel .iou-grid label {
  font-size: 9px;
}
.embedded-profile-panel .iou-grid select {
  min-height: 27px;
  padding: 3px 4px;
  font-size: 10px;
}
.profile-card.toon-absent {
  opacity: .55;
  background: #f1f2f4;
  border-style: dashed;
}
.toon-count-locked select {
  background: #f0f1f3;
  cursor: not-allowed;
}
.toon-emblem-settings {
  width: 13px;
  height: 13px;
}
.toon-sound-name {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 0;
}
.toon-sound-name > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.toon-sound-name small {
  color: var(--muted);
  font-size: 7px;
  text-transform: uppercase;
}
.toon-sound-cycle.inactive-toon {
  opacity: .48;
  background: #f1f2f4;
}
.toon-sound-cycle.inactive-toon .round-state-button {
  cursor: not-allowed;
}
.species-alligator { --toon-mask: url("assets/toons/alligator.png"); }
.species-armadillo { --toon-mask: url("assets/toons/armadillo.png"); }
.species-bat { --toon-mask: url("assets/toons/bat.png"); }
.species-bear { --toon-mask: url("assets/toons/bear.png"); }
.species-beaver { --toon-mask: url("assets/toons/beaver.png"); }
.species-cat { --toon-mask: url("assets/toons/cat.png"); }
.species-deer { --toon-mask: url("assets/toons/deer.png"); }
.species-dog { --toon-mask: url("assets/toons/dog.png"); }
.species-duck { --toon-mask: url("assets/toons/duck.png"); }
.species-fox { --toon-mask: url("assets/toons/fox.png"); }
.species-horse { --toon-mask: url("assets/toons/horse.png"); }
.species-kangaroo { --toon-mask: url("assets/toons/kangaroo.png"); }
.species-kiwi { --toon-mask: url("assets/toons/kiwi.png"); }
.species-koala { --toon-mask: url("assets/toons/koala.png"); }
.species-monkey { --toon-mask: url("assets/toons/monkey.png"); }
.species-mouse { --toon-mask: url("assets/toons/mouse.png"); }
.species-pig { --toon-mask: url("assets/toons/pig.png"); }
.species-rabbit { --toon-mask: url("assets/toons/rabbit.png"); }
.species-raccoon { --toon-mask: url("assets/toons/raccoon.png"); }
.species-turkey { --toon-mask: url("assets/toons/turkey.png"); }

@media (max-width: 760px) {
  .embedded-profile-panel { width: 100%; }
  .embedded-profile-panel .profiles { grid-template-columns: 1fr; }
}

/* Version 1.0 — eight saved Toon profiles, active battle slots, pastel emblems. */
.force-two-toggle { background: #e5f4f3; border-color: #acd8d3; }
.profile-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.party-slot-picker {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}
.party-slot-dot {
  width: 19px;
  height: 19px;
  min-width: 19px;
  padding: 0;
  border: 1px solid #bfc5cb;
  border-radius: 50%;
  background: #fff;
  color: #626b74;
  font-size: 9px;
  font-weight: 900;
  line-height: 17px;
  text-align: center;
}
.party-slot-dot:hover { border-color: #77838e; background: #f6f8fa; }
.party-slot-dot.selected {
  border-color: #7e6bad;
  background: #e9e2f7;
  color: #4b3c76;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
}
.profile-card.party-active { border-color: #b8adc9; }
.profile-card.profile-inactive { background: #fafbfc; }
.profile-card.profile-inactive .party-slot-picker { opacity: .92; }

@media (max-width: 520px) {
  .profile-toolbar { align-items: stretch; flex-direction: column; }
  .party-slot-picker { justify-content: flex-start; }
}


/* Version 1.0 — outlined emblems, tucked-away Skele controls, and denser results. */
.quick-party-grid .force-two-toggle,
.quick-party-grid .force-three-toggle {
  grid-column: span 3;
}
.skele-filter-section { margin-top: 0; }
.skele-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 7px;
}
.skele-filter-grid .round-mode-toggle,
.skele-filter-grid .skelecog-toggle,
.skele-filter-grid .skele-safe-toggle {
  grid-column: auto;
  min-height: 38px;
}

.toon-emblem {
  --toon-color: #777;
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  background: transparent;
  -webkit-mask-image: none;
  mask-image: none;
}
.toon-emblem::before,
.toon-emblem::after {
  content: "";
  position: absolute;
  inset: 0;
  -webkit-mask-image: var(--toon-mask);
  mask-image: var(--toon-mask);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.toon-emblem::before {
  background: rgba(0, 0, 0, .62);
  transform: scale(1.075);
  transform-origin: center;
}
.toon-emblem::after {
  background: var(--toon-color);
}
.toon-emblem-settings {
  width: 13px;
  height: 13px;
}

.gag-row {
  grid-template-columns: repeat(4, 76px);
  gap: 7px;
  margin-right: 16px;
}
.gag-card {
  min-height: 116px;
  padding: 3px 4px;
}
.gag-sprite {
  width: 56px;
  height: 56px;
  margin: 2px auto;
  background-size: 448px 504px;
  background-position:
    calc(var(--col) * -56px)
    calc(var(--row) * -56px);
}
.verified-zap-sprite {
  width: 56px !important;
  height: 56px !important;
  margin: 2px auto;
}
.hybrid-sprite-wrap {
  width: 56px;
  height: 54px;
  margin: 1px auto;
}
.hybrid-finisher-sprite {
  width: 56px;
  height: 54px;
}
.hybrid-finisher-card .hybrid-finisher-sprite {
  width: 56px;
  height: 52px;
}
.combo-meta {
  min-height: 116px;
  gap: 2px;
}
.combo-row {
  padding: 4px 0 5px;
}

@media (max-width: 700px) {
  .gag-row { grid-template-columns: repeat(2, 76px); }
}
@media (max-width: 520px) {
  .skele-filter-grid { grid-template-columns: 1fr; }
}

/* Version 1.0 — restore silhouette masks and compact results another ~10%. */
.toon-emblem {
  /* Species classes provide this variable. Do not reset it here or the
     pseudo-elements become solid color squares. */
  --toon-color: #777;
}

.gag-row {
  grid-template-columns: repeat(4, 68px);
  gap: 6px;
  margin-right: 14px;
}
.gag-card {
  min-height: 104px;
  padding: 2px 3px;
}
.gag-sprite {
  width: 50px;
  height: 50px;
  margin: 1px auto;
  background-size: 400px 450px;
  background-position:
    calc(var(--col) * -50px)
    calc(var(--row) * -50px);
}
.verified-zap-sprite {
  width: 50px !important;
  height: 50px !important;
  margin: 1px auto;
}
.hybrid-sprite-wrap {
  width: 50px;
  height: 48px;
  margin: 0 auto;
}
.hybrid-finisher-sprite {
  width: 50px;
  height: 48px;
}
.hybrid-finisher-card .hybrid-finisher-sprite {
  width: 50px;
  height: 46px;
}
.combo-meta {
  min-height: 104px;
  gap: 1px;
}
.combo-row {
  padding: 3px 0 4px;
}
@media (max-width: 700px) {
  .gag-row { grid-template-columns: repeat(2, 68px); }
}


/* Version 1.0 — active-profile ordering, five-button Encore controls, and fallback messaging. */
.sound-states { grid-template-columns: 128px minmax(0, 1fr); }
.bulk-sound button[data-bulk="automatic"] { font-size: 9px; line-height: 1.1; }
.fallback-results-banner {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 8px;
  padding: 7px 9px;
  border: 1px solid #d6bd7f;
  border-radius: 6px;
  background: #fff6dc;
  color: #625027;
}
.fallback-results-banner strong { font-size: 12px; }
.fallback-results-banner span { font-size: 10px; color: #78683f; }
@media (max-width: 700px) {
  .sound-states { grid-template-columns: 1fr; }
  .bulk-sound { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .fallback-results-banner { align-items: flex-start; flex-direction: column; gap: 2px; }
}
@media (max-width: 520px) {
  .bulk-sound { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* Version 1.0 — $10 Bill overlay on Squirt + 2 Zap + Drop finishers. */
.ten-dollar-drop-overlay-card .gag-image-wrap {
  isolation: isolate;
}
.ten-dollar-bill-overlay {
  position: absolute;
  top: 1px;
  left: 50%;
  z-index: 2;
  margin: 0;
  opacity: .5;
  pointer-events: none;
  transform: translateX(-50%) scale(.82) rotate(-7deg);
  transform-origin: center;
}
.gag-card.prestige .ten-dollar-bill-overlay,
.gag-card.isolated-finisher .ten-dollar-bill-overlay {
  filter: none !important;
  opacity: .5;
}

/* Version 1.0 — responsive two-column result-grid experiment. */
.results-panel {
  container-type: inline-size;
  container-name: combo-results;
  min-width: 0;
}

#results {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

@container combo-results (min-width: 930px) {
  #results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
    row-gap: 12px;
  }

  #results > .fallback-results-banner,
  #results > .empty {
    grid-column: 1 / -1;
  }

  #results > .combo-row,
  #results .gag-row,
  #results .combo-meta {
    min-width: 0;
  }

  #results .combo-family,
  #results .combo-requirement,
  #results .manager-result-summary {
    overflow-wrap: anywhere;
  }
}


/* Version 1.0 — compact estimated-accuracy badge and reliability ranking. */
.combo-meta-top {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 14px;
}
.combo-accuracy {
  display: inline-flex;
  align-items: center;
  min-height: 14px;
  padding: 1px 5px;
  border: 1px solid #9ba7b2;
  border-radius: 999px;
  background: #f2f5f7;
  color: #39444e;
  font-size: 9px !important;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.combo-accuracy.accuracy-guaranteed,
.combo-accuracy.accuracy-very-reliable {
  border-color: #7da889;
  background: #edf7ef;
  color: #285d36;
}
.combo-accuracy.accuracy-reliable {
  border-color: #a5a16e;
  background: #f8f6e7;
  color: #625f28;
}
.combo-accuracy.accuracy-risky {
  border-color: #c49a65;
  background: #fff2df;
  color: #7b4b16;
}
.combo-accuracy.accuracy-high-risk {
  border-color: #c88484;
  background: #fdeaea;
  color: #8a2929;
}

/* Version 1.0 — profile-only finder, movable round-state cards, lazy details,
   and actual Throw/Drop finisher sprites. */
.profile-title-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.profile-finder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 28px;
  align-items: center;
  gap: 7px;
  margin: 8px 0 2px;
  padding: 7px;
  border: 1px solid #b8adc9;
  border-radius: 6px;
  background: #fbf9ff;
}
.profile-finder[hidden] { display: none; }
.profile-finder input {
  min-width: 0;
  height: 30px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 4px;
  font: inherit;
}
.profile-finder span {
  color: var(--muted);
  font-size: 10px;
  white-space: nowrap;
}
.profile-finder button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: white;
  font-size: 17px;
  line-height: 1;
}
.profile-card.profile-search-match {
  box-shadow: 0 0 0 2px rgba(118, 91, 151, .22);
}
.profile-card.profile-search-current {
  border-color: #765b97;
  box-shadow: 0 0 0 3px rgba(118, 91, 151, .32);
}

.toon-sound-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  min-width: 0;
}
.toon-sound-cycle[draggable="true"] { cursor: grab; }
.toon-sound-cycle[draggable="true"]:active { cursor: grabbing; }
.toon-sound-cycle button,
.toon-sound-cycle input,
.toon-sound-cycle label { cursor: pointer; }
.toon-sound-name { min-width: 0; }
.toon-sound-name span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.toon-sound-cycle.slot-dragging { opacity: .5; }
.toon-sound-cycle.slot-drag-over {
  outline: 2px solid #8f72ad;
  outline-offset: 1px;
}

.damage-details-body {
  display: grid;
  gap: 5px;
}
.copy-trace-button {
  justify-self: start;
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.hybrid-finisher-card .hybrid-sprite-wrap {
  position: relative;
  width: 50px;
  height: 50px;
  margin: 1px auto;
  overflow: visible;
  isolation: isolate;
}
.hybrid-finisher-card .hybrid-drop-sprite,
.hybrid-finisher-card .hybrid-throw-sprite {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  margin: 0;
  background-size: 400px 450px;
}
.hybrid-finisher-card .hybrid-drop-sprite {
  z-index: 1;
  opacity: 1;
  transform: translate(2px, 1px) scale(.92);
}
.hybrid-finisher-card .hybrid-throw-sprite {
  z-index: 2;
  opacity: .6;
  transform: translate(-3px, -2px) scale(.88) rotate(-5deg);
  filter: none !important;
}
.hybrid-finisher-card .hybrid-finisher-sprite,
.hybrid-finisher-card .hybrid-damage,
.hybrid-finisher-card .hybrid-damage-hero {
  display: none !important;
}

@media (max-width: 700px) {
  .profile-title-actions { width: 100%; justify-content: flex-end; }
}


/* Version 1.0 — place the fast battle input beside the Cog cards. */
.battle-input-layout {
  display: grid;
  grid-template-columns: minmax(680px, 850px) minmax(280px, 320px);
  gap: 24px;
  align-items: start;
  justify-content: start;
  margin-bottom: 14px;
}
.cogs-panel,
.top-control-panel { min-width: 0; }
.cogs-panel .cog-cards {
  max-width: 850px;
  margin-bottom: 0;
}
.top-control-panel {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, .72);
}
.top-control-panel .input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
}
.top-control-panel #cog-input,
.top-control-panel .primary {
  width: 100%;
  max-width: none;
}
.top-control-panel .primary { min-height: 46px; }
.top-control-panel .battle-order-control { margin-top: 9px; }
.top-control-panel .status-row {
  align-items: flex-start;
  flex-wrap: wrap;
}
.top-control-panel .diagnostics-button { margin-left: 0; }

/* Profile maintenance actions remain on the Toon Profiles heading row. */
.profile-title-actions {
  width: auto;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}
.profile-title-actions .reset-profile-button {
  width: auto;
  margin-left: 0;
  white-space: nowrap;
}

@media (max-width: 1080px) {
  .battle-input-layout { grid-template-columns: 1fr; }
  .cogs-panel .cog-cards { max-width: none; }
  .top-control-panel { width: min(100%, 520px); }
}
@media (max-width: 620px) {
  .profile-panel-title { flex-direction: column; }
  .profile-title-actions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

/* Version 1.0 — bottom-aligned battle control and exact unprestiged-Squirt warning. */
@media (min-width: 1081px) {
  .top-control-panel { align-self: end; }
}
.gag-card.unprestige-required {
  border-color: #8e9499 !important;
  box-shadow: inset 0 0 0 1px rgba(94, 101, 107, .32) !important;
}
.gag-card.unprestige-required .target-notation {
  color: #666d73 !important;
  font-weight: 900;
}
.unprestige-required-badge {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border: 1px solid #777e84;
  border-radius: 50%;
  background: #d9dcdf;
  color: #4e555b;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}
.special-badges .unprestige-required-badge {
  position: static;
  flex: 0 0 auto;
}
.circumspect-banner { border-left-color: #d1aa4f; }
.cope-banner { border-left-color: #9aa0a6; }

/* Version 1.0 — compact round setup and quick Locked Actions workflow. */
@media (min-width: 1081px) {
  .top-control-panel { transform: translateY(4px); }
}
.round-setup-compact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
}
.round-track-column {
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #f8fafc;
}
.round-track-column > strong { display: block; margin-bottom: 3px; font-size: 12px; }
.round-track-column label,
.drop-users-slider {
  display: grid;
  grid-template-columns: 54px minmax(76px, 1fr) 18px;
  align-items: center;
  gap: 5px;
  min-height: 21px;
  font-size: 10px;
}
.round-track-column input[type="range"],
.drop-users-slider input[type="range"] { width: 100%; min-width: 0; accent-color: #4d6f91; }
.round-track-column output,
.drop-users-slider output { text-align: right; font-weight: 900; }
.drop-users-slider {
  grid-column: 1 / -1;
  grid-template-columns: 62px minmax(100px, 1fr) 18px;
  padding: 2px 8px;
}
.round-mode-row { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
@media (max-width: 620px) {
  .round-setup-compact { grid-template-columns: 1fr; }
  .drop-users-slider, .round-mode-row { grid-column: 1; }
}

.locked-actions-launcher {
  width: 100%;
  margin-top: 6px;
  min-height: 30px;
  font-size: 11px;
}
.shortcut-hint {
  float: right;
  min-width: 19px;
  padding: 1px 5px;
  border: 1px solid #9ba8b5;
  border-radius: 4px;
  background: #eef2f6;
  color: #4d5965;
  font-weight: 900;
}
.locked-action-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.locked-action-chip {
  max-width: 100%;
  padding: 3px 6px;
  border: 1px solid #aeb9c3;
  border-radius: 999px;
  background: #f1f4f7;
  color: #33404c;
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.constraint-row.locked-row {
  grid-template-columns: minmax(126px,1.25fr) minmax(210px,1.55fr) minmax(88px,.68fr) 38px minmax(90px,.72fr) minmax(118px,.9fr) auto;
}
.visually-hidden-target-input { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.target-notation-row { display: grid; grid-template-columns: repeat(4, minmax(42px, 1fr)); gap: 3px; }
.locked-target-choice {
  padding: 4px 3px;
  border: 1px solid #b8c2cc;
  border-radius: 4px;
  background: #f7f9fb;
  color: #56616c;
  font: 700 9px/1 monospace;
  cursor: pointer;
}
.locked-target-choice.selected { background: #6f62d9; color: #fff; border-color: #5d50c4; }
.group-target-label { display: block; padding: 5px; border: 1px solid #c3cad1; border-radius: 4px; text-align: center; font: 700 10px/1 monospace; color: #66717c; }
.locked-action-state { font-size: 9px; line-height: 1.15; font-weight: 800; color: #5b6570; }
@media (max-width: 850px) {
  .constraint-row.locked-row { grid-template-columns: 1fr 1fr; }
  .locked-action-state { grid-column: 1 / -1; }
}
.gag-card { position: relative; }
/* Version 1.1 — compact battle constraints and scoped exclusions. */
.battle-input-layout {
  grid-template-columns: minmax(620px, 1.55fr) repeat(3, minmax(190px, .62fr));
  gap: 14px;
  align-items: stretch;
}
.cogs-panel { align-self: end; }
.cogs-panel .cog-cards {
  grid-template-columns: repeat(4, minmax(128px, 1fr));
  gap: 14px;
}
.top-control-panel,
.top-constraint-panel {
  min-width: 0;
  min-height: 286px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, .78);
}
.top-control-panel { transform: none !important; align-self: stretch !important; }
.top-constraint-panel {
  display: flex;
  flex-direction: column;
}
.top-constraint-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 2px;
}
.top-constraint-heading > div:first-child { min-width: 0; }
.top-constraint-heading h2 { margin: 0; font-size: 20px; line-height: 1.08; }
.top-constraint-heading span { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.top-constraint-actions { display: flex; align-items: center; gap: 4px; }
.top-constraint-panel > p {
  min-height: 29px;
  margin: 4px 0 7px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
}
.top-constraint-panel .compact-button {
  min-height: 29px;
  padding: 4px 7px;
  font-size: 10px;
}
.panel-expand-button {
  min-width: 29px;
  min-height: 29px;
  padding: 3px 7px;
  border: 1px solid #aeb9c3;
  background: #eef2f6;
  color: #4d5965;
  font-size: 10px;
  font-weight: 900;
}
.constraint-panel-scroll {
  min-height: 0;
  max-height: 212px;
  overflow: auto;
  padding-right: 2px;
  scrollbar-width: thin;
}
.top-constraint-panel .constraint-list { gap: 6px; }
.top-constraint-panel .constraint-empty {
  padding: 10px 6px;
  border: 1px dashed #ccd3da;
  border-radius: 6px;
  color: #74808c;
  font-size: 10px;
  text-align: center;
}

/* The in-panel Locked Actions editor is the sole editor. The A shortcut adds
   a row here and focuses its gag input immediately. */
.locked-actions-panel .constraint-row.locked-row {
  grid-template-columns: minmax(0, 1fr) 34px;
  grid-template-areas:
    "gag remove"
    "target target"
    "prestige encore"
    "toon toon"
    "state state";
  gap: 5px;
  padding: 7px;
  border: 1px solid #d6dce3;
  border-radius: 7px;
  background: #f8fafc;
}
.locked-actions-panel .locked-row [data-field="gag"] { grid-area: gag; min-width: 0; width: 100%; }
.locked-actions-panel .locked-row .locked-target-control { grid-area: target; }
.locked-actions-panel .locked-row [data-field="prestige"] { grid-area: prestige; }
.locked-actions-panel .locked-row [data-field="encore"] { grid-area: encore; width: 31px; height: 31px; justify-self: end; }
.locked-actions-panel .locked-row [data-field="toon"] { grid-area: toon; }
.locked-actions-panel .locked-row .locked-action-state { grid-area: state; font-size: 8px; }
.locked-actions-panel .locked-row .remove-constraint {
  grid-area: remove;
  align-self: start;
  justify-self: end;
  padding: 0 5px;
  color: #7b4650;
}
.locked-actions-panel .target-notation-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.locked-actions-panel .locked-target-choice { min-width: 0; padding-inline: 1px; }

/* Exclude accepts a canonical gag/track plus an independent Toon scope. */
.exclude-panel .constraint-row.resource-row {
  grid-template-columns: minmax(0, 1fr) 30px;
  grid-template-areas:
    "resource remove"
    "scope scope";
  gap: 5px;
  padding: 7px;
  border: 1px solid #d6dce3;
  border-radius: 7px;
  background: #fffaf0;
}
.exclude-panel .resource-row [data-field="resource"] { grid-area: resource; min-width: 0; width: 100%; }
.exclude-panel .resource-row [data-field="toon-scope"] { grid-area: scope; width: 100%; min-width: 0; }
.exclude-panel .resource-row .remove-constraint {
  grid-area: remove;
  align-self: start;
  justify-self: end;
  padding: 0 5px;
  color: #7b4650;
}
.constraint-conflicts {
  display: grid;
  gap: 2px;
  margin-top: 7px;
  padding: 6px 7px;
  border: 1px solid #e3a5ad;
  border-radius: 6px;
  background: #fff0f2;
  color: #8e2635;
  font-size: 9px;
  line-height: 1.25;
}
.constraint-conflicts[hidden] { display: none; }
.constraint-conflicts strong { font-size: 10px; }

/* Keep the two forced-party controls paired and give Squirt/Zap friendly track colors. */
.round-mode-row .round-mode-toggle { grid-column: auto; min-width: 0; }
.round-track-column[data-round-track="Squirt"] input[type="range"] { accent-color: #8fcff0; }
.round-track-column[data-round-track="Zap"] input[type="range"] { accent-color: #efd879; }
.round-track-column[data-round-track="Squirt"] { background: #f2faff; border-color: #c9e5f3; }
.round-track-column[data-round-track="Zap"] { background: #fffbed; border-color: #eadfa9; }

@media (max-width: 1320px) {
  .battle-input-layout { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .battle-input-layout .cogs-panel { grid-column: 1 / -1; }
  .top-control-panel,
  .top-constraint-panel { min-height: 270px; width: auto; }
}
@media (max-width: 820px) {
  .battle-input-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .battle-input-layout .cogs-panel,
  .exclude-panel { grid-column: 1 / -1; }
  .exclude-panel { min-height: 190px; }
  .exclude-panel .constraint-panel-scroll { max-height: 130px; }
}
@media (max-width: 620px) {
  .battle-input-layout { grid-template-columns: 1fr; }
  .battle-input-layout .cogs-panel,
  .top-control-panel,
  .top-constraint-panel,
  .exclude-panel { grid-column: 1; width: 100%; }
  .top-control-panel,
  .top-constraint-panel { min-height: 0; }
  .constraint-panel-scroll { max-height: 240px; }
  .round-mode-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .round-mode-row .round-mode-toggle { grid-column: auto; font-size: 10px; }
}

/* Version 1.8.8 Experimental — fixed-height active-party type-ahead toolbar. */

/* Version 1.4.4 — keep profile maintenance controls on the Toon Profiles header. */
.profile-panel-title {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
}
.profile-panel-title > div:first-child {
  display: block;
  flex: 0 0 auto;
}
.profile-title-actions {
  width: auto;
  margin-left: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  flex: 0 0 auto;
}
.profile-title-actions .reset-profile-button {
  width: auto;
  margin-left: 0;
  padding: 5px 7px;
  white-space: nowrap;
}
@media (max-width: 620px) {
  .profile-panel-title {
    align-items: flex-start;
    flex-direction: column;
  }
  .profile-title-actions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .profile-title-actions #reset-toon-profiles-2-8 {
    grid-column: auto;
  }
}


/* Version 1.4.4 — minimum-resource presentation and compact constraint pickers. */

.constraint-gag-control {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  gap: 4px;
  min-width: 0;
}
.constraint-gag-control > input { min-width: 0; width: 100%; }
.open-constraint-gag-picker {
  width: 28px;
  min-width: 28px;
  height: 29px;
  padding: 0;
  border: 1px solid #aeb9c3;
  border-radius: 4px;
  background: #eef2f6;
  color: #4d5965;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
}
.constraint-gag-picker {
  position: absolute;
  z-index: 80;
  top: calc(100% + 4px);
  left: 0;
  width: min(356px, calc(100vw - 42px));
  display: grid;
  gap: 4px;
  padding: 6px;
  border: 1px solid #9ca9b5;
  border-radius: 7px;
  background: rgba(255,255,255,.985);
  box-shadow: 0 8px 22px rgba(44,54,65,.22);
}
.constraint-gag-picker[hidden] { display: none; }
.constraint-track-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
  padding-bottom: 4px;
  border-bottom: 1px solid #d8dee4;
}
.constraint-track-choice {
  min-width: 0;
  padding: 3px 4px;
  border: 1px solid #c1cad2;
  border-radius: 4px;
  background: #f5f7f9;
  color: #4f5b66;
  font-size: 9px;
  font-weight: 800;
}
.constraint-track-choice.selected {
  border-color: #6f62d9;
  background: #ece9ff;
  color: #4f43a8;
}
.constraint-gag-picker-row {
  display: grid;
  grid-template-columns: repeat(8, 30px);
  gap: 3px;
  justify-content: start;
}
.constraint-gag-choice {
  width: 30px;
  height: 30px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #c5cdd5;
  border-radius: 5px;
  background: #f8fafb;
}
.constraint-gag-choice:hover,
.constraint-gag-choice:focus-visible {
  border-color: #6f62d9;
  box-shadow: 0 0 0 2px rgba(111,98,217,.16);
}
.constraint-gag-choice.selected {
  border-color: #6f62d9;
  background: #eeeaff;
}
.constraint-gag-choice .gag-sprite {
  display: block;
  width: 28px;
  height: 28px;
  margin: 0;
  background-size: 224px 252px;
  background-position: calc(var(--col) * -28px) calc(var(--row) * -28px);
  pointer-events: none;
}

.constraint-segmented {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 3px;
  min-width: 0;
}
.constraint-segment {
  min-width: 0;
  min-height: 27px;
  padding: 3px 4px;
  border: 1px solid #b8c2cc;
  border-radius: 4px;
  background: #f7f9fb;
  color: #56616c;
  font-size: 8px;
  font-weight: 850;
  white-space: nowrap;
}
.constraint-segment.selected {
  border-color: #5d50c4;
  background: #6f62d9;
  color: white;
}

.locked-actions-panel .constraint-row.locked-row {
  grid-template-columns: minmax(0, 1fr) 28px;
  grid-template-areas:
    "gag remove"
    "target target"
    "prestige prestige"
    "round round"
    "toon toon"
    "state state";
}
.locked-actions-panel .locked-row .constraint-gag-control { grid-area: gag; }
.locked-actions-panel .locked-row [data-field="prestige"] { grid-area: prestige; }
.locked-actions-panel .locked-row [data-field="round-state"] { grid-area: round; }
.locked-actions-panel .locked-row [data-field="toon"] { grid-area: toon; }
.locked-actions-panel .locked-row .locked-action-state { grid-area: state; }
.locked-actions-panel .locked-row .remove-constraint { grid-area: remove; }

.exclude-panel .constraint-row.resource-row {
  grid-template-columns: minmax(0, 1fr) 28px;
  grid-template-areas:
    "resource remove"
    "scope scope";
}
.exclude-panel .resource-row .constraint-gag-control { grid-area: resource; }
.exclude-panel .resource-row [data-field="toon-scope"] { grid-area: scope; }
.exclude-panel .resource-row .remove-constraint { grid-area: remove; }

/* Remove all legacy stacking behavior from the Toon Profiles header. */
.profile-panel-title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center !important;
  gap: 8px;
}
.profile-panel-title > div:first-child {
  display: block;
  min-width: 0;
}
.profile-title-actions {
  width: auto !important;
  margin-left: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
}
.profile-title-actions .reset-profile-button {
  width: auto !important;
  margin-left: 0 !important;
  padding: 5px 7px;
  white-space: nowrap;
}
@media (max-width: 620px) {
  .profile-panel-title {
    grid-template-columns: 1fr;
    align-items: start !important;
  }
  .profile-title-actions {
    width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
}

/* Version 1.8.8 Experimental — eligible-Toon labels and full-screen constraint palettes. */
.toon-eligibility {
  display: block;
  width: 100%;
  min-height: 11px;
  margin-top: 2px;
  overflow: hidden;
  line-height: 1.05;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
}
.toon-eligibility-name { font-weight: 950; }
.toon-eligibility-separator { color: #7b858f; font-weight: 800; }
.toon-eligibility-any { color: #b3261e; }
.toon-slot-color-1 { color: #1f5ea8; }
.toon-slot-color-2 { color: #247a44; }
.toon-slot-color-3 { color: #6d3ab2; }
.toon-slot-color-4 { color: #b85a00; }

/* The palette is viewport-positioned so the panel's scrolling box cannot clip
   it. At level 8 all 56 non-Toon-Up gag sprites remain visible at once. */
.constraint-gag-picker {
  position: fixed !important;
  z-index: 2000 !important;
  top: 0;
  left: 0;
  width: max-content !important;
  min-width: 273px;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
}
.constraint-gag-picker-row {
  grid-template-columns: repeat(8, 30px) !important;
  width: max-content;
}
.constraint-track-picker {
  grid-template-columns: repeat(7, minmax(34px, 1fr));
  width: 100%;
}

/* Named Toon scopes share the same stable slot colors used on result cards. */
.constraint-segmented[data-field="toon"],
.constraint-segmented[data-field="toon-scope"] {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-flow: unset;
  grid-auto-columns: unset;
}
.toon-scope-option {
  --toon-scope-color: #59636d;
  --toon-scope-bg: #eef1f4;
  min-width: 0;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--toon-scope-color) 46%, white);
  background: var(--toon-scope-bg);
  color: var(--toon-scope-color);
  font-size: 7.4px;
  text-overflow: ellipsis;
}
.toon-scope-option.toon-scope-any { --toon-scope-color: #b3261e; --toon-scope-bg: #fde9e7; }
.toon-scope-option.toon-scope-1 { --toon-scope-color: #1f5ea8; --toon-scope-bg: #e8f1fc; }
.toon-scope-option.toon-scope-2 { --toon-scope-color: #247a44; --toon-scope-bg: #e8f5ec; }
.toon-scope-option.toon-scope-3 { --toon-scope-color: #6d3ab2; --toon-scope-bg: #f0e9fa; }
.toon-scope-option.toon-scope-4 { --toon-scope-color: #b85a00; --toon-scope-bg: #fff0df; }
.toon-scope-option.selected {
  border-color: var(--toon-scope-color) !important;
  background: var(--toon-scope-color) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--toon-scope-color) 25%, transparent);
}


/* Version 1.8.8 Experimental — click-friendly party/profile exclusions and ordered locks. */
.party-profile-picker {
  position: fixed;
  z-index: 2100;
  width: 360px;
  max-width: calc(100vw - 16px);
  padding: 7px;
  border: 1px solid #9ca9b5;
  border-radius: 7px;
  background: rgba(255,255,255,.99);
  box-shadow: 0 8px 22px rgba(44,54,65,.24);
}
.party-profile-picker[hidden] { display: none; }
.party-profile-picker-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, 30px);
  gap: 5px;
}
.party-profile-choice,
.party-profile-empty {
  min-width: 0;
  padding: 4px 6px;
  overflow: hidden;
  border: 1px solid #bcc5cd;
  border-radius: 5px;
  background: #f7f9fb;
  color: #45515c;
  font-size: 10px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.party-profile-choice:hover,
.party-profile-choice:focus-visible,
.party-profile-empty:hover,
.party-profile-empty:focus-visible { border-color: #6f62d9; background: #f0edff; }
.party-profile-choice.selected { border-color: #5d50c4; box-shadow: inset 0 0 0 1px #5d50c4; }
.party-profile-choice.active-slot-1 { color: #1f5ea8; }
.party-profile-choice.active-slot-2 { color: #247a44; }
.party-profile-choice.active-slot-3 { color: #6d3ab2; }
.party-profile-choice.active-slot-4 { color: #b85a00; }
.party-profile-empty { width: 100%; margin-top: 5px; color: #7a3940; }

.iou-grid {
  grid-template-columns: minmax(0, 1fr) 78px 26px !important;
  align-items: end;
}
.profile-exclude-control {
  position: relative;
  display: grid;
  place-items: end center;
  min-width: 0;
}
.profile-exclude-button {
  width: 26px;
  min-width: 26px;
  height: 27px;
  padding: 0 2px;
  border: 1px solid #b9c1c9;
  border-radius: 5px;
  background: #fff5e8;
  color: #9a4e00;
  font-size: 8px;
  font-weight: 950;
  line-height: 1;
}
.profile-exclude-button:hover,
.profile-exclude-button:focus-visible { border-color: #b85a00; box-shadow: 0 0 0 2px rgba(184,90,0,.14); }

.locked-actions-panel .constraint-row.locked-row {
  grid-template-areas:
    "gag remove"
    "target target"
    "toon toon"
    "prestige prestige"
    "round round"
    "state state" !important;
}
.locked-actions-panel .locked-row [data-field="toon"] { grid-area: toon !important; }
.locked-actions-panel .locked-row [data-field="prestige"] { grid-area: prestige !important; }
.locked-actions-panel .locked-row [data-field="round-state"] { grid-area: round !important; }

/* Version 1.8.8 Experimental — Altruism reward action and profile exclusion status. */
.profile-exclude-button {
  background: #fff !important;
  color: #59636d !important;
  border-color: #b9c1c9 !important;
  font-size: 10px !important;
}
.profile-exclude-button:hover,
.profile-exclude-button:focus-visible {
  border-color: #8c98a3 !important;
  box-shadow: 0 0 0 2px rgba(89,99,109,.12) !important;
}
.profile-exclude-button.has-exclusions {
  background: #c83b46 !important;
  border-color: #a82e38 !important;
  color: #fff !important;
}
.profile-exclude-button.has-exclusions:hover,
.profile-exclude-button.has-exclusions:focus-visible {
  border-color: #8e202b !important;
  box-shadow: 0 0 0 2px rgba(200,59,70,.18) !important;
}
.fire-reward-sprite {
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  margin: 3px auto !important;
  object-fit: contain;
  image-rendering: auto;
}
.gag-card:has(.fire-reward-sprite) {
  border-color: #d36a78;
  background: linear-gradient(180deg, #fff8fa 0%, #fff 100%);
}

/* Version 1.8.8 Experimental — Passing controls and mouse-first IOU workflow. */
.party-quick-slot { position: relative; }
.party-pass-toggle {
  position: absolute;
  right: -4px;
  top: -5px;
  z-index: 3;
  width: 16px;
  height: 16px;
  min-width: 16px;
  padding: 0;
  border: 1px solid #a92f39;
  border-radius: 2px;
  background: #d94b57;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 13px;
  display: grid;
  place-items: center;
}
.party-pass-toggle:hover,
.party-pass-toggle.active { background: #a92f39; }
.party-quick-slot.party-passing input {
  background: #f8e5e7;
  color: #8f555b;
  text-decoration: line-through;
  opacity: .82;
}
.toon-sound-cycle.toon-passing {
  background: #f9e8ea;
  border-color: #d9a2a8;
  opacity: .82;
}
.toon-sound-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  min-width: 0;
}
.clear-temporary-state {
  width: 22px;
  min-width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 50%;
  font-size: 13px;
  line-height: 1;
}
.quick-iou-control {
  position: relative;
  min-width: 0;
}
.quick-iou-control input {
  width: 100%;
  min-width: 0;
  height: 27px;
  padding: 3px 24px 3px 6px;
  font-size: 9px;
  text-overflow: ellipsis;
}
.quick-iou-control > button {
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-50%);
  width: 17px;
  min-width: 17px;
  height: 17px;
  padding: 0;
  border-radius: 50%;
  background: #d94b57;
  border-color: #a92f39;
  color: white;
  font-size: 11px;
  line-height: 1;
}
.individual-sound.sound-cycle-grid .toon-sound-cycle { min-height: 112px; }


/* Version 1.4.4 — center the Siphon Throw/Drop alternatives independently. */
.hybrid-finisher-card .hybrid-sprite-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: center;
  width: 54px;
  height: 50px;
  margin: 1px auto;
  overflow: visible;
}
.hybrid-finisher-card .hybrid-drop-sprite,
.hybrid-finisher-card .hybrid-throw-sprite {
  position: static;
  width: 42px;
  height: 42px;
  margin: 0;
  background-size: 336px 378px;
  background-position:
    calc(var(--col) * -42px)
    calc(var(--row) * -42px);
  transform: none;
  filter: none !important;
  opacity: 1;
}
.hybrid-finisher-card .hybrid-drop-sprite {
  grid-column: 1;
  justify-self: end;
  margin-right: -7px;
  z-index: 1;
}
.hybrid-finisher-card .hybrid-throw-sprite {
  grid-column: 2;
  justify-self: start;
  margin-left: -7px;
  z-index: 2;
}

/* Version 1.8.8 Experimental — compact Fire/Altruism result toggle. */
.results-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.results-heading-row h2 { margin: 0; }
.fire-search-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid #e2a5a5;
  border-radius: 999px;
  background: #fff0f0;
  color: #8f2222;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}
.fire-search-toggle input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #c73737;
}
.fire-search-toggle.is-forced {
  opacity: .72;
  cursor: not-allowed;
}
.fire-search-toggle.is-unavailable {
  border-color: #c9ccd3;
  background: #f2f3f5;
  color: #70747d;
  opacity: .78;
  cursor: not-allowed;
}
.fire-search-toggle.is-unavailable input { cursor: not-allowed; }

/* Version 1.8.8 Experimental — local Toon-profile library and autocomplete. */
.profile-library-toolbar {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 6px;
}
.profile-library-source-label {
  display: grid;
  gap: 3px;
  min-width: 190px;
  font-size: 10px;
  font-weight: 800;
  color: var(--muted);
}
.profile-library-source-label select { min-height: 30px; }
.profile-library-status {
  flex: 1 1 100%;
  min-height: 16px;
  color: var(--muted);
  font-size: 11px;
}
.profile-library-status.bad { color: #a12d37; }
.toon-name-label { position: relative; }
.saved-profile-suggestions {
  position: absolute;
  z-index: 90;
  top: calc(100% + 3px);
  left: 0;
  right: 0;
  min-width: 230px;
  max-height: 240px;
  overflow: auto;
  padding: 4px;
  border: 1px solid #aeb5c4;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(24, 31, 46, .18);
}
.saved-profile-suggestions[hidden] { display: none; }
.saved-profile-suggestion {
  width: 100%;
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  text-align: left;
  color: inherit;
}
.saved-profile-suggestion:hover,
.saved-profile-suggestion:focus-visible,
.saved-profile-suggestion.selected {
  border-color: #7367d6;
  background: #f1efff;
}
.saved-profile-suggestion strong { font-size: 12px; }
.saved-profile-suggestion small { color: var(--muted); font-size: 10px; }
@media (max-width: 720px) {
  .profile-library-toolbar > button { flex: 1 1 auto; }
  .profile-library-source-label { flex: 1 1 100%; }
}

/* Version 1.8.8 Experimental — grouped exclusions, minimized constraint history, and verified Zap icons. */
.constraint-gag-choice .compact-gag-image,
.compact-resource-icon .compact-gag-image,
.compact-gag-badge-wrap .compact-gag-image {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
  pointer-events: none;
}

.constraint-compact-row {
  width: 100%;
  min-width: 0;
  min-height: 32px;
  padding: 2px 5px;
  border: 1px solid #d1d8df;
  border-radius: 6px;
  background: #f8fafc;
  color: #46515c;
  text-align: left;
}
.constraint-compact-row:hover,
.constraint-compact-row:focus-visible {
  border-color: #8f99a4;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(89,99,109,.11);
}
.locked-compact-row {
  display: grid;
  grid-template-columns: 28px minmax(54px, 1fr) 39px minmax(42px, .72fr) auto;
  align-items: center;
  gap: 5px;
}
.compact-gag-badge-wrap {
  position: relative;
  display: block;
  width: 28px;
  height: 28px;
}
.constraint-status-badge {
  position: absolute;
  top: -3px;
  right: -3px;
  display: grid;
  place-items: center;
  width: 13px;
  height: 13px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: #fff;
  font-size: 8px;
  font-weight: 950;
  line-height: 1;
}
.constraint-status-badge.prestige-badge { color: #c72f3a; }
.constraint-status-badge.normal-badge { color: #59636d; }
.constraint-round-badge {
  min-width: 20px;
  padding: 2px 3px;
  border: 1px solid #8d80d8;
  border-radius: 4px;
  background: #f0edff;
  color: #5145a5;
  font-size: 8px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
}
.constraint-compact-gag,
.constraint-compact-toon {
  min-width: 0;
  overflow: hidden;
  font-size: 9px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.constraint-compact-target {
  color: #545f69;
  font-size: 9px;
  font-weight: 900;
  text-align: center;
}

.exclude-panel .constraint-list { gap: 4px; }
.exclude-panel .constraint-panel-scroll { max-height: 212px; }
.exclude-panel .constraint-row.resource-row.exclusion-group-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "scope"
    "resource"
    "hint" !important;
  gap: 5px !important;
  padding: 6px !important;
  border: 1px solid #d6dce3;
  border-radius: 7px;
  background: #fffaf0;
}
.exclude-scope-line {
  grid-area: scope;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  gap: 4px;
  align-items: center;
  min-width: 0;
}
.exclude-panel .exclusion-group-row [data-field="toon-scope"] {
  width: 100%;
  min-width: 0;
}
.exclude-panel .exclusion-group-row .remove-constraint {
  position: static !important;
  grid-area: auto !important;
  width: 28px;
  min-width: 28px;
  height: 27px;
  padding: 0;
  justify-self: end;
  color: #7b4650;
}
.exclusion-multi-control { grid-area: resource; }
.exclusion-selection-summary {
  min-width: 0;
  width: 100%;
  height: 29px;
  padding: 4px 7px;
  overflow: hidden;
  border: 1px solid #b8c2cc;
  border-radius: 4px;
  background: #fff;
  color: #4f5a65;
  font-size: 9px;
  font-weight: 800;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exclusion-selection-summary:hover,
.exclusion-selection-summary:focus-visible { border-color: #6f62d9; }
.exclusion-editor-hint {
  grid-area: hint;
  color: #7a7166;
  font-size: 8px;
  line-height: 1.1;
}
.exclusion-compact-row {
  display: grid;
  grid-template-columns: minmax(48px, .68fr) minmax(0, 1.6fr);
  align-items: center;
  gap: 6px;
  background: #fffaf0;
}
.compact-resource-strip {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
  overflow: hidden;
}
.compact-resource-icon {
  display: block;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  overflow: hidden;
  border: 1px solid #d1d7dd;
  border-radius: 4px;
  background: #fff;
}
.compact-resource-icon .gag-sprite,
.compact-resource-icon .compact-gag-image {
  width: 26px !important;
  height: 26px !important;
  margin: 0;
  background-size: 208px 234px !important;
  background-position: calc(var(--col) * -26px) calc(var(--row) * -26px) !important;
}
.compact-track-pill,
.compact-resource-more {
  min-width: 0;
  max-width: 58px;
  padding: 3px 4px;
  overflow: hidden;
  border: 1px solid #d1c5a9;
  border-radius: 4px;
  background: #fff7e5;
  color: #6e5b32;
  font-size: 8px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.compact-resource-more {
  flex: 0 0 auto;
  border-color: #c5cbd1;
  background: #f3f5f7;
  color: #59636d;
}
.constraint-picker-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
  border-top: 1px solid #d8dee4;
}
.constraint-picker-done {
  min-height: 25px;
  padding: 3px 10px;
  border: 1px solid #5d50c4;
  border-radius: 4px;
  background: #6f62d9;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

@media (max-width: 620px) {
  .locked-compact-row {
    grid-template-columns: 28px minmax(48px, 1fr) 37px minmax(36px, .65fr) auto;
    gap: 3px;
  }
  .exclude-panel .constraint-panel-scroll { max-height: 240px; }
}
/* Reserve enough visible history for one compact editor plus three minimized exclusions. */
.exclude-panel .constraint-panel-scroll { min-height: 200px; }

/* Version 1.8.8 Experimental — exact targets and compact, directly editable constraint history. */
.locked-actions-panel .target-notation-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.constraint-compact-strip {
  display: flex;
  width: 100%;
  min-width: 0;
  gap: 5px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 1px 1px 4px;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}
.constraint-compact-card {
  position: relative;
  flex: 0 0 calc((100% - 10px) / 3);
  width: auto;
  min-width: 84px;
  max-width: 116px;
  min-height: 39px;
  overflow: hidden;
  border: 1px solid #d1d8df;
  border-radius: 6px;
  background: #f8fafc;
  color: #46515c;
  scroll-snap-align: start;
}
.constraint-compact-card:hover,
.constraint-compact-card:focus-within {
  border-color: #8f99a4;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(89,99,109,.11);
}
.constraint-compact-expand {
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.constraint-compact-delete {
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  padding: 0;
  border: 1px solid #b51e2d;
  border-radius: 4px;
  background: #d72b3d;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}
.constraint-compact-delete:hover,
.constraint-compact-delete:focus-visible {
  background: #ad1727;
  box-shadow: 0 0 0 2px rgba(199,47,58,.18);
}

.locked-compact-row {
  display: block;
  padding: 0;
}
.locked-compact-expand {
  display: grid;
  width: 100%;
  min-height: 39px;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: 18px 17px;
  grid-template-areas:
    "icon target"
    "icon toon";
  align-items: center;
  column-gap: 4px;
  padding: 4px 20px 3px 4px;
}
.locked-compact-expand .compact-gag-badge-wrap { grid-area: icon; }
.locked-compact-expand .constraint-compact-target {
  grid-area: target;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.locked-compact-expand .constraint-compact-toon {
  grid-area: toon;
  font-size: 8px;
}
.locked-compact-expand .constraint-round-badge {
  position: absolute;
  right: 20px;
  bottom: 2px;
  min-width: 17px;
  padding-inline: 2px;
  font-size: 7px;
}

.exclusion-compact-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 21px;
  grid-template-rows: 17px 25px;
  grid-template-areas:
    "toon delete"
    "resources resources";
  gap: 0;
  padding: 2px 3px 3px;
  background: #fffaf0;
}
.exclusion-compact-expand {
  grid-area: toon;
  width: 100%;
  height: 17px;
  padding: 0 2px;
}
.exclusion-compact-expand .constraint-compact-toon {
  display: block;
  padding-right: 2px;
  font-size: 8px;
}
.exclusion-compact-row .constraint-compact-delete {
  grid-area: delete;
  position: static;
  width: 17px;
  height: 17px;
  justify-self: end;
}
.exclusion-compact-row .compact-resource-strip {
  grid-area: resources;
  justify-content: flex-start;
  gap: 2px;
  overflow: hidden;
}
.compact-resource-remove {
  cursor: pointer;
}
.compact-resource-remove:hover,
.compact-resource-remove:focus-visible {
  border-color: #c72f3a;
  box-shadow: 0 0 0 1px rgba(199,47,58,.2);
}
.compact-resource-icon {
  padding: 0;
}
.compact-resource-icon .gag-sprite,
.compact-resource-icon .compact-gag-image {
  display: block !important;
  pointer-events: none;
}
.exclusion-compact-row .compact-resource-icon {
  width: 24px;
  height: 24px;
  flex-basis: 24px;
}
.exclusion-compact-row .compact-resource-icon .gag-sprite,
.exclusion-compact-row .compact-resource-icon .compact-gag-image {
  width: 24px !important;
  height: 24px !important;
  background-size: 192px 216px !important;
  background-position: calc(var(--col) * -24px) calc(var(--row) * -24px) !important;
}
.exclusion-compact-row .compact-track-pill,
.exclusion-compact-row .compact-resource-more {
  height: 24px;
  max-width: 43px;
  padding: 2px 3px;
  font-size: 7px;
  cursor: pointer;
}

.exclude-panel .constraint-panel-scroll {
  min-height: 0;
  max-height: 240px;
}
.exclude-panel .constraint-row.resource-row.exclusion-group-row {
  position: relative;
}
.exclude-panel .exclusion-group-row .remove-constraint,
.locked-actions-panel .expanded-constraint-row .remove-constraint {
  display: grid !important;
  place-items: center;
  width: 28px;
  min-width: 28px;
  height: 27px;
  padding: 0;
  border: 1px solid #b51e2d !important;
  border-radius: 4px;
  background: #d72b3d !important;
  color: #fff !important;
  cursor: pointer;
  font-weight: 950;
  line-height: 1;
}
.exclude-panel .exclusion-group-row .remove-constraint:hover,
.exclude-panel .exclusion-group-row .remove-constraint:focus-visible,
.locked-actions-panel .expanded-constraint-row .remove-constraint:hover,
.locked-actions-panel .expanded-constraint-row .remove-constraint:focus-visible {
  background: #ad1727 !important;
}

@media (max-width: 620px) {
  .constraint-compact-card {
    flex-basis: calc((100% - 8px) / 3);
    min-width: 78px;
  }
  .locked-actions-panel .target-notation-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Version 1.8.8 Experimental — no-scroll Locked Action history and two-column Exclusion cards. */
.locked-actions-panel .constraint-panel-scroll {
  flex: 1 1 auto;
  max-height: none;
  overflow: visible;
  padding-right: 0;
  scrollbar-width: none;
}
.locked-actions-panel .constraint-panel-scroll::-webkit-scrollbar { display: none; }
.locked-actions-panel #locked-actions {
  min-height: 100%;
  gap: 4px;
}

.locked-compact-strip {
  display: grid;
  grid-template-columns: repeat(var(--compact-count), minmax(0, 1fr));
  width: 100%;
  gap: 3px;
  overflow: visible;
  padding: 0;
  scrollbar-width: none;
}
.locked-compact-row {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 33px;
}
.locked-compact-expand {
  position: relative;
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 33px;
  grid-template-columns: 22px minmax(0, 1fr);
  grid-template-rows: 15px 14px;
  grid-template-areas:
    "icon target"
    "icon toon";
  align-items: center;
  column-gap: 3px;
  padding: 2px 18px 2px 3px;
}
.locked-compact-expand .compact-gag-badge-wrap {
  grid-area: icon;
  width: 22px;
  height: 22px;
}
.locked-compact-expand .compact-gag-badge-wrap .gag-sprite,
.locked-compact-expand .compact-gag-badge-wrap .compact-gag-image {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  background-size: 176px 198px !important;
  background-position: calc(var(--col) * -22px) calc(var(--row) * -22px) !important;
  object-fit: contain;
  pointer-events: none;
}
.locked-compact-expand .constraint-status-badge {
  top: -3px;
  right: -3px;
  width: 11px;
  height: 11px;
  font-size: 7px;
}
.locked-compact-expand .constraint-compact-target {
  grid-area: target;
  min-width: 0;
  overflow: visible;
  color: #4d5862;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: -.035em;
  line-height: 1;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
}
.locked-compact-expand .constraint-compact-toon {
  grid-area: toon;
  min-width: 0;
  overflow: hidden;
  font-size: 7px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.locked-compact-expand .constraint-round-badge {
  position: absolute;
  left: 14px;
  bottom: 0;
  right: auto;
  min-width: 12px;
  max-width: 18px;
  padding: 1px 2px;
  font-size: 6px;
}
.locked-compact-row .constraint-compact-delete {
  top: 2px;
  right: 2px;
  width: 15px;
  height: 15px;
  font-size: 11px;
}

/* Keep the active editor within the existing Locked Actions panel footprint. */
.locked-actions-panel .constraint-row.locked-row.expanded-constraint-row {
  gap: 3px !important;
  padding: 5px !important;
}
.locked-actions-panel .expanded-constraint-row .constraint-gag-control {
  grid-template-columns: minmax(0, 1fr) 26px;
  gap: 3px;
}
.locked-actions-panel .expanded-constraint-row .constraint-gag-control > input,
.locked-actions-panel .expanded-constraint-row .open-constraint-gag-picker,
.locked-actions-panel .expanded-constraint-row .remove-constraint {
  min-height: 25px;
  height: 25px;
}
.locked-actions-panel .expanded-constraint-row .open-constraint-gag-picker {
  width: 26px;
  min-width: 26px;
}
.locked-actions-panel .expanded-constraint-row .locked-target-choice,
.locked-actions-panel .expanded-constraint-row .constraint-segment {
  min-height: 23px;
  padding-block: 2px;
}
.locked-actions-panel .expanded-constraint-row .locked-action-state {
  font-size: 7px;
  line-height: 1;
}

.exclude-panel .constraint-panel-scroll {
  overflow-x: hidden;
  overflow-y: auto;
}
.exclude-panel #exclude-items {
  min-height: 100%;
  gap: 5px;
}
.exclusion-compact-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 5px;
  width: 100%;
  overflow: visible;
  padding: 0;
  scrollbar-width: none;
}
.exclusion-compact-row {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 55px;
  grid-template-columns: minmax(0, 1fr) 20px;
  grid-template-rows: 18px 31px;
  gap: 2px;
  padding: 3px 4px;
  cursor: pointer;
}
.exclusion-compact-row:hover,
.exclusion-compact-row:focus-visible,
.exclusion-compact-row:focus-within {
  border-color: #b99d66;
  background: #fffdf7;
  box-shadow: 0 0 0 2px rgba(185,157,102,.14);
  outline: none;
}
.exclusion-compact-expand {
  height: 18px;
  cursor: pointer;
}
.exclusion-compact-expand .constraint-compact-toon {
  font-size: 8px;
  line-height: 1;
}
.exclusion-compact-row .constraint-compact-delete {
  width: 18px;
  height: 18px;
  font-size: 12px;
}
.exclusion-compact-row .compact-resource-strip {
  min-width: 0;
  width: 100%;
  justify-content: flex-start;
  gap: 3px;
  overflow: hidden;
}
.exclusion-compact-row .compact-resource-icon {
  position: relative;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}
.exclusion-compact-row .compact-resource-icon .gag-sprite,
.exclusion-compact-row .compact-resource-icon .compact-gag-image {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  background-size: 176px 198px !important;
  background-position: calc(var(--col) * -22px) calc(var(--row) * -22px) !important;
  object-fit: contain;
}
.exclusion-compact-row .compact-track-pill,
.exclusion-compact-row .compact-resource-more {
  height: 22px;
  min-width: 22px;
  max-width: 34px;
  padding: 2px 3px;
  font-size: 6px;
  line-height: 1;
}
.compact-resource-remove {
  position: relative;
}
.compact-resource-remove::after {
  content: "×";
  position: absolute;
  inset: 2px;
  display: grid;
  place-items: center;
  border-radius: 3px;
  background: rgba(199,47,58,.9);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity .1s ease;
}
.compact-resource-remove:hover::after,
.compact-resource-remove:focus-visible::after {
  opacity: 1;
}

/* The expanded Exclusion X is a normal sixth item in the Toon row. */
.exclude-panel .exclude-scope-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  overflow: visible;
}
.exclude-panel .exclude-scope-line [data-field="toon-scope"] {
  min-width: 0;
  width: 100%;
}
.exclude-panel .exclude-scope-line .remove-constraint {
  position: static !important;
  grid-area: auto !important;
  align-self: stretch;
  justify-self: stretch;
  width: 28px;
  min-width: 28px;
  height: 27px;
  margin: 0;
  transform: none !important;
}

@media (max-width: 620px) {
  .locked-compact-strip {
    grid-template-columns: repeat(var(--compact-count), minmax(0, 1fr));
  }
  .exclusion-compact-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Final 1.5 layout corrections discovered in narrow-panel rendering. */
.locked-compact-row {
  height: 35px;
  max-height: 35px;
}
.exclude-panel .exclude-scope-line [data-field="toon-scope"] {
  grid-area: auto !important;
}
.locked-compact-strip {
  grid-auto-rows: 35px;
  height: 35px;
}
.exclusion-compact-row .compact-resource-strip { gap: 2px; }
.exclusion-compact-row .compact-resource-icon {
  width: 21px;
  height: 21px;
  flex-basis: 21px;
}
.exclusion-compact-row .compact-resource-icon .gag-sprite,
.exclusion-compact-row .compact-resource-icon .compact-gag-image {
  width: 21px !important;
  height: 21px !important;
  background-size: 168px 189px !important;
  background-position: calc(var(--col) * -21px) calc(var(--row) * -21px) !important;
}

/* Version 1.8.8 Experimental — persistent slot-scoped temporary Exclusion cards. */
.exclusion-scope-any {
  --exclusion-card-accent: #b3261e;
  --exclusion-card-bg: #fde9e7;
}
.exclusion-scope-1 {
  --exclusion-card-accent: #1f5ea8;
  --exclusion-card-bg: #e8f1fc;
}
.exclusion-scope-2 {
  --exclusion-card-accent: #247a44;
  --exclusion-card-bg: #e8f5ec;
}
.exclusion-scope-3 {
  --exclusion-card-accent: #6d3ab2;
  --exclusion-card-bg: #f0e9fa;
}
.exclusion-scope-4 {
  --exclusion-card-accent: #b85a00;
  --exclusion-card-bg: #fff0df;
}
.exclusion-compact-row[class*="exclusion-scope-"] {
  border-color: color-mix(in srgb, var(--exclusion-card-accent) 42%, white);
  background: var(--exclusion-card-bg);
  color: var(--exclusion-card-accent);
}
.exclusion-compact-row[class*="exclusion-scope-"]:hover,
.exclusion-compact-row[class*="exclusion-scope-"]:focus-visible,
.exclusion-compact-row[class*="exclusion-scope-"]:focus-within {
  border-color: var(--exclusion-card-accent);
  background: color-mix(in srgb, var(--exclusion-card-bg) 82%, white);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--exclusion-card-accent) 15%, transparent);
}
.exclusion-compact-row.is-empty .exclusion-compact-expand {
  grid-column: 1 / -1;
}
.exclusion-compact-row.is-empty .compact-resource-strip {
  min-height: 21px;
}
.exclude-panel .exclusion-group-row[class*="exclusion-scope-"] {
  border-color: color-mix(in srgb, var(--exclusion-card-accent) 38%, white) !important;
  background: color-mix(in srgb, var(--exclusion-card-bg) 72%, white) !important;
}
.exclude-panel .exclusion-group-row[class*="exclusion-scope-"] .exclusion-editor-hint {
  color: color-mix(in srgb, var(--exclusion-card-accent) 78%, #424b54);
}

/* Version 1.8.8 Experimental — Sue fallback controls and reward presentation. */
.reward-search-toggles {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
.rewards-toggle-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.rewards-master-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid #ab9fd1;
  border-radius: 999px;
  background: #f3f0fb;
  color: #4f437f;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}
.rewards-master-toggle input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #6953a8;
}
.rewards-master-toggle.is-unavailable {
  border-color: #c9ccd3;
  background: #f2f3f5;
  color: #70747d;
  opacity: .78;
  cursor: not-allowed;
}
.rewards-master-toggle.is-unavailable input { cursor: not-allowed; }
.reward-search-nested {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.sue-search-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid #9fb4d1;
  border-radius: 999px;
  background: #eef4fb;
  color: #315c91;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}
.sue-search-toggle input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #356da8;
}
.sue-search-toggle.is-unavailable {
  border-color: #c9ccd3;
  background: #f2f3f5;
  color: #70747d;
  opacity: .78;
  cursor: not-allowed;
}
.sue-search-toggle.is-unavailable input { cursor: not-allowed; }
.sue-reward-sprite {
  display: block !important;
  width: 64px !important;
  height: 52px !important;
  margin: 6px auto !important;
  object-fit: contain;
  image-rendering: auto;
}
.gag-card:has(.sue-reward-sprite) {
  border-color: #87a9cc;
  background: linear-gradient(180deg, #f3f8fe 0%, #fff 100%);
}
.combo-row.family-sue {
  background-color: #edf5fc !important;
  border-left: 4px solid #8bb4da;
}
.sue-banner {
  border-left-color: #6f9fca;
  border-color: #9fbed9;
  background: #edf6ff;
  color: #274f75;
}
.sue-banner span { color: #486d8f; }
@media (max-width: 700px) {
  .results-heading-row { align-items: flex-start; }
  .reward-search-toggles { justify-content: flex-start; }
}

/* Version 1.8.8 Experimental — reward Locked Actions and deliberate reward-toggle searches. */
.sue-search-toggle.is-forced {
  opacity: .72;
  cursor: not-allowed;
}
.constraint-reward-picker-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin-top: 5px;
  padding-top: 6px;
  border-top: 1px solid #d6dce3;
}
.constraint-reward-choice {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto !important;
  min-width: 0;
  padding: 4px 8px !important;
  color: #3d4650;
  font-size: 10px;
  font-weight: 850;
}
.constraint-reward-choice .compact-reward-image {
  width: 24px !important;
  height: 24px !important;
  object-fit: contain;
}
.compact-gag-badge-wrap .compact-reward-image {
  width: 24px !important;
  height: 24px !important;
  object-fit: contain;
}
.locked-actions-panel .constraint-row.locked-row.reward-locked-row {
  grid-template-areas:
    "gag remove"
    "target target"
    "toon toon"
    "state state" !important;
}

/* Version 1.8.8 Experimental — keep the complete Exclusion slot grid visible while editing. */
.exclusion-compact-row.is-active-editor {
  border-color: var(--exclusion-card-accent);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--exclusion-card-accent) 34%, transparent),
              0 0 0 2px color-mix(in srgb, var(--exclusion-card-accent) 12%, transparent);
}

/* Version 1.8.8 Experimental — complete, coordinated Toon assignment switching. */
.combo-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 18px;
}


/* Version 1.8.8 Experimental — fixed-footprint battle warnings, square Pass control, and six-Cog layout. */
.control-footer-line {
  position: relative;
  height: 14px;
  margin-top: 4px;
  overflow: visible;
}
.control-footer-line .build-tag {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 14px;
}
.active-effect-warning {
  position: absolute;
  inset: -2px 0 auto 0;
  height: 18px;
  overflow: hidden;
  color: #c51f32;
  font-size: 13px;
  font-weight: 950;
  line-height: 18px;
  letter-spacing: .035em;
  white-space: nowrap;
}
.active-effect-warning[hidden],
.control-footer-line .build-tag[hidden] { display: none !important; }
.cogs-panel .cog-cards[data-cog-count="5"] {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.cogs-panel .cog-cards[data-cog-count="6"] {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-card {
  min-width: 0;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-body {
  gap: 5px !important;
  padding: 5px 5px 8px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-body strong {
  overflow: hidden;
  font-size: 13px;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-hp-overlay {
  bottom: 0px;
  font-size: 26px;
  -webkit-text-stroke: 2px #000;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-hp-button {
  font-size: 12px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-lure-control {
  gap: 2px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-lure-control > span {
  font-size: 9px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-lure-control select {
  padding: 4px 2px;
  font-size: 10px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-sue-control {
  gap: 3px;
  margin-top: 1px;
  font-size: 10px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-sue-control span {
  padding-left: 0;
  font-size: 10px;
}
@media (max-width: 620px) {
  .cogs-panel .cog-cards[data-cog-count="5"],
  .cogs-panel .cog-cards[data-cog-count="6"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

/* Version 1.8.8 Experimental — fixed-footprint stacked eligible-Toon names. */
.toon-eligibility {
  font-size: var(--toon-label-font-size, 10px);
}
.toon-eligibility-name {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.toon-eligibility-count-2,
.toon-eligibility-count-3 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  margin-top: 0;
  white-space: normal;
}
.toon-eligibility-count-2 {
  min-height: 17px;
  height: 17px;
  line-height: 1.02;
}
.toon-eligibility-count-3 {
  min-height: 20px;
  height: 20px;
  line-height: .94;
}
.gag-card:has(.toon-eligibility-count-2) .target-notation,
.gag-card:has(.toon-eligibility-count-3) .target-notation {
  margin-top: 3px !important;
}

/* The regular 50px result sprite yields only enough vertical room for one
   assignment line. Two-name cards reclaim 2px and three-name cards reclaim
   5px without changing the card or combo-row footprint. */
.gag-card:has(.toon-eligibility-count-2) .gag-image-wrap > .gag-sprite {
  width: 48px;
  height: 48px;
  background-size: 384px 432px;
  background-position:
    calc(var(--col) * -48px)
    calc(var(--row) * -48px);
}
.gag-card:has(.toon-eligibility-count-3) .gag-image-wrap > .gag-sprite {
  width: 40px;
  height: 40px;
  background-size: 320px 360px;
  background-position:
    calc(var(--col) * -40px)
    calc(var(--row) * -40px);
}
.gag-card:has(.toon-eligibility-count-2) .gag-image-wrap > .verified-zap-sprite {
  width: 48px !important;
  height: 48px !important;
}
.gag-card:has(.toon-eligibility-count-3) .gag-image-wrap > .verified-zap-sprite {
  width: 40px !important;
  height: 40px !important;
}

/* Keep hybrid and reward artwork on the same adaptive vertical budget. */
.hybrid-finisher-card:has(.toon-eligibility-count-2) .hybrid-sprite-wrap {
  width: 51px;
  height: 48px;
}
.hybrid-finisher-card:has(.toon-eligibility-count-3) .hybrid-sprite-wrap {
  width: 49px;
  height: 45px;
}
.hybrid-finisher-card:has(.toon-eligibility-count-2) .hybrid-drop-sprite,
.hybrid-finisher-card:has(.toon-eligibility-count-2) .hybrid-throw-sprite {
  width: 40px;
  height: 40px;
  background-size: 320px 360px;
  background-position:
    calc(var(--col) * -40px)
    calc(var(--row) * -40px);
}
.hybrid-finisher-card:has(.toon-eligibility-count-3) .hybrid-drop-sprite,
.hybrid-finisher-card:has(.toon-eligibility-count-3) .hybrid-throw-sprite {
  width: 38px;
  height: 38px;
  background-size: 304px 342px;
  background-position:
    calc(var(--col) * -38px)
    calc(var(--row) * -38px);
}
.gag-card:has(.toon-eligibility-count-2) .fire-reward-sprite {
  width: 55px !important;
  height: 55px !important;
  margin: 2px auto !important;
}
.gag-card:has(.toon-eligibility-count-3) .fire-reward-sprite {
  width: 52px !important;
  height: 52px !important;
  margin: 1px auto !important;
}
.gag-card:has(.toon-eligibility-count-2) .sue-reward-sprite {
  width: 61px !important;
  height: 49px !important;
  margin: 4px auto !important;
}
.gag-card:has(.toon-eligibility-count-3) .sue-reward-sprite {
  width: 58px !important;
  height: 47px !important;
  margin: 2px auto !important;
}

/* Version 1.8.8 Experimental — manager state controls and click-to-lock actions. */
.manager-add-state-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.manager-add-state-controls.hidden { display: none; }
.manager-add-state-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2px 8px;
  padding: 7px 9px;
  border: 1px solid rgba(80, 95, 120, 0.24);
  border-radius: 8px;
  background: rgba(255,255,255,0.56);
}
.manager-add-state-card > span { font-weight: 700; font-size: 12px; }
.manager-add-state-card > small { color: #667085; font-size: 10px; }
.manager-add-state-card select,
.manager-add-state-card input { width: 62px; grid-row: 1 / span 2; grid-column: 2; }

.gag-card.result-action-interactive {
  transition: box-shadow 120ms ease, transform 120ms ease, border-color 120ms ease;
}
.gag-card.result-action-interactive:has(.result-gag-exclude-trigger:hover),
.gag-card.result-action-interactive:has(.result-gag-exclude-trigger:focus-visible) {
  border-color: #5e77b9;
  box-shadow: 0 0 0 2px rgba(94, 119, 185, 0.18);
  transform: translateY(-1px);
}
.gag-image-wrap.result-action-interactive {
  position: relative;
}
.result-gag-exclude-trigger {
  position: absolute;
  inset: 0;
  z-index: 3;
  border: 0;
  border-radius: 7px;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.result-gag-exclude-trigger:focus-visible {
  outline: 2px solid #5e77b9;
  outline-offset: 1px;
}
.result-action-lock-button {
  position: absolute;
  z-index: 5;
  top: -5px;
  right: -5px;
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(63, 78, 112, .44);
  border-radius: 50%;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 2px 5px rgba(36, 48, 78, .22);
  font-size: 9px;
  line-height: 1;
  opacity: 0;
  transform: scale(.82);
  pointer-events: none;
  transition: opacity 100ms ease, transform 100ms ease, border-color 100ms ease;
}
.gag-image-wrap.result-action-interactive:hover .result-action-lock-button,
.result-action-lock-button:focus-visible,
.result-action-lock-button.is-locked,
.gag-card.result-action-locked .result-action-lock-button {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.result-action-lock-button:hover,
.result-action-lock-button:focus-visible,
.result-action-lock-button.is-locked {
  border-color: #4b67a7;
  outline: none;
}
.gag-card.result-action-locked {
  border-color: #4b67a7;
  box-shadow: inset 0 0 0 2px rgba(75, 103, 167, 0.22);
}
.hybrid-exclude-trigger {
  inset: auto;
  top: 0;
  bottom: 0;
  width: 50%;
  border-radius: 6px;
}
.hybrid-exclude-drop { left: 0; }
.hybrid-exclude-throw { right: 0; }

.result-exclusion-popover {
  position: fixed;
  z-index: 1200;
  width: max-content;
  max-width: min(224px, calc(100vw - 16px));
  padding: 7px;
  border: 1px solid rgba(71, 84, 117, .28);
  border-radius: 9px;
  background: rgba(255, 255, 255, .985);
  box-shadow: 0 8px 22px rgba(33, 43, 70, .2);
}
.result-exclusion-popover > strong {
  display: block;
  margin: 0 2px 6px;
  color: #39445e;
  font-size: 10px;
  line-height: 1.2;
  text-align: center;
}
.result-exclusion-toon-grid {
  display: grid;
  grid-template-columns: repeat(var(--eligible-toon-count), minmax(42px, 48px));
  gap: 4px;
}
.result-exclusion-toon-choice {
  position: relative;
  min-width: 0;
  min-height: 53px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 2px;
  padding: 4px 3px 3px;
  border: 1px solid rgba(73, 88, 121, .22);
  border-radius: 7px;
  background: #f8f9fc;
  color: #39445e;
}
.result-exclusion-toon-choice:hover,
.result-exclusion-toon-choice:focus-visible {
  border-color: currentColor;
  background: #fff;
  outline: none;
}
.result-exclusion-toon-choice .toon-emblem-exclude-choice,
.result-exclusion-toon-choice .toon-choice-fallback {
  width: 34px;
  height: 34px;
}
.result-exclusion-toon-choice .toon-choice-fallback {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e8ebf2;
  font-size: 11px;
  font-weight: 800;
}
.result-exclusion-toon-choice > span:last-of-type {
  display: block;
  max-width: 43px;
  overflow: hidden;
  color: inherit;
  font-size: 8px;
  font-weight: 750;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.result-exclusion-toon-choice > small {
  position: absolute;
  top: 2px;
  right: 3px;
  font-size: 8px;
}
.result-exclusion-toon-choice.already-excluded {
  opacity: .48;
}
.reward-toon-fixed {
  min-height: 31px;
  align-items: center;
}
.reward-toon-fixed .constraint-segment {
  cursor: default;
}

@media (hover: none) {
  .result-action-lock-button { opacity: .58; transform: scale(.92); pointer-events: auto; }
}

.toonup-placeholder-card .gag-image-wrap { display: grid; place-items: center; }
.toonup-placeholder-sprite {
  width: 47px;
  height: 47px;
  object-fit: contain;
}
.toonup-placeholder-card .target-notation {
  letter-spacing: 0;
  font-weight: 800;
}

@media (max-width: 720px) {
  .manager-add-state-controls { grid-template-columns: 1fr; }
}

/* Version 1.8.8 Experimental — manager UX correctives. */
.manager-controls .hidden { display: none !important; }
.manager-panel-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.manager-panel-title > div { min-width: 0; }
.manager-exit-button {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid #c7b4df;
  border-radius: 50%;
  background: #fff;
  color: #5d2b87;
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
  cursor: pointer;
}
.manager-exit-button:hover,
.manager-exit-button:focus-visible {
  border-color: #7d45a8;
  box-shadow: 0 0 0 2px rgba(125,69,168,.15);
  outline: none;
}
.manager-round-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 5px;
  align-items: center;
}
.manager-round-reset {
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.manager-auto-round-control {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px !important;
  min-width: auto !important;
  min-height: 30px;
  padding: 3px 7px !important;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: rgba(255,255,255,.55);
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.manager-auto-round-control input { margin: 0; width: 13px; height: 13px; }
.manager-auto-round-status {
  margin-top: 7px;
  color: #5f4a73;
  font-size: 10px;
  font-weight: 750;
}
.manager-auto-round-status[hidden] { display: none; }
.manager-round-advice {
  clear: both;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid #ccb7e1;
  border-left: 4px solid #72419b;
  border-radius: 6px;
  background: #faf7fd;
  color: #31233d;
}
.manager-round-advice[hidden] { display: none; }
.manager-round-advice h3 {
  margin: 0 0 6px;
  font-size: 14px;
}
.manager-round-advice p {
  margin: 4px 0;
  font-size: 11px;
  line-height: 1.35;
}
.manager-round-advice strong { color: #5f2c88; }
.toonup-placeholder-card .gag-image-wrap {
  min-height: 50px;
  display: grid;
  place-items: center;
}
.toonup-placeholder-fallback {
  color: #d95b70;
  font-size: 12px;
  letter-spacing: 1px;
}
.toonup-placeholder-fallback[hidden] { display: none; }
.toonup-placeholder-sprite {
  width: 47px !important;
  height: 47px !important;
  object-fit: contain;
}

/* Version 1.8.8 Experimental — visible Toon-Up placeholder sprite corrective. */
.toonup-placeholder-card .gag-image-wrap {
  min-height: 50px;
  display: grid;
  place-items: center;
}
.toonup-placeholder-card .toonup-placeholder-fallback,
.toonup-placeholder-card .toonup-placeholder-sprite {
  grid-area: 1 / 1;
}
.toonup-placeholder-card .toonup-placeholder-sprite {
  display: block !important;
  width: 47px !important;
  height: 47px !important;
  margin: auto !important;
  object-fit: contain;
}

/* Version 1.8.8 Experimental — Manager Mode reflow and containment. */
.manager-panel {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: auto !important;
  min-height: 0;
  overflow: visible;
  contain: none;
}
.manager-panel > * { min-width: 0; }
.manager-controls {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  width: 100%;
  min-width: 0;
  align-items: end;
}
.manager-controls > label,
.manager-round-input-row,
.manager-auto-round-control,
.manager-castling-control {
  min-width: 0;
  max-width: 100%;
}
.manager-controls select,
.manager-controls input[type="number"],
.manager-round-input-row input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.manager-add-state-controls {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 138px), 1fr));
  width: 100%;
  min-width: 0;
}
.manager-add-state-card {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.manager-add-state-card > span,
.manager-add-state-card > small,
.manager-state-summary,
.manager-limitation,
.manager-auto-round-status {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 520px) {
  .manager-controls,
  .manager-add-state-controls { grid-template-columns: 1fr; }
}

/* Version 1.8.8 Experimental — integrated Manager tactical alternatives. */
.manager-result-clickable { cursor: pointer; }
.manager-result-clickable:hover { box-shadow: 0 0 0 2px rgba(116, 67, 163, .12); }
.manager-total-damage {
  color: #b4232c;
  font-weight: 900;
}
.manager-defeated-result {
  background: #fbe1e3 !important;
  border-color: #bc3943 !important;
  border-left-color: #9f1d28 !important;
  box-shadow: 0 0 0 1px rgba(159, 29, 40, .13);
}
.manager-defeated-badge {
  display: inline-flex;
  width: max-content;
  margin-top: 5px;
  padding: 3px 7px;
  border: 1px solid #a51f2b;
  border-radius: 999px;
  background: #fff1f2;
  color: #9f1d28;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .055em;
}
.manager-more-results {
  margin-top: 12px;
  border: 1px solid #cbb69d;
  border-radius: 7px;
  background: #f7efe5;
  overflow: hidden;
}
.manager-more-results-heading {
  padding: 10px 13px;
  border-bottom: 1px solid #d9c8b4;
  color: #70543b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
}
.manager-more-results-body {
  padding: 10px;
  display: grid;
  gap: 12px;
}
.manager-more-group {
  display: grid;
  gap: 7px;
}
.manager-more-group > h3 {
  margin: 0;
  padding: 0 2px;
  color: #705b47;
  font-size: 11px;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.manager-additional-result {
  margin: 0;
  background: #f1e3d2 !important;
  border-color: #c8aa88 !important;
  box-shadow: none;
}
.manager-additional-result.manager-defeated-result {
  background: #fbe1e3 !important;
  border-color: #bc3943 !important;
}
.manager-alternative-explanation {
  display: block;
  margin-top: 4px;
  color: #6d5845;
  font-size: 10px;
  line-height: 1.35;
}
.manager-alternative-explanation strong { color: #69472f; }

/* Version 1.8.8 Experimental — ranking-only highest-level Gag preference. */
.preserve-highest-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid #b7a36b;
  border-radius: 999px;
  background: #fbf6e7;
  color: #685727;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}
.preserve-highest-toggle input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #8b7333;
}
.preserve-highest-toggle.is-unavailable {
  border-color: #c9ccd3;
  background: #f2f3f5;
  color: #70747d;
  opacity: .78;
  cursor: not-allowed;
}
.preserve-highest-toggle.is-unavailable input { cursor: not-allowed; }

.uber-mode-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid #8e86bd;
  border-radius: 999px;
  background: #f2effb;
  color: #51467f;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}
.uber-mode-toggle input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #6758a6;
}
.uber-safe-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin-top: 2px;
  padding: 2px 5px;
  border: 1px solid #7165aa;
  border-radius: 999px;
  background: #eeeafd;
  color: #493f77;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
}


/* Version 1.8.8 Experimental — constraint-panel polish. */
.locked-actions-panel .locked-target-choice {
  text-align: center;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 19px;
  height: 19px;
  max-height: 19px;
  grid-template-columns: minmax(0, 1fr) 17px;
  grid-template-rows: 15px;
  grid-template-areas: "toon delete";
  gap: 2px;
  padding: 1px 2px;
  border-radius: 4px;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .exclusion-compact-expand {
  grid-area: toon;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 15px;
  min-height: 15px;
  padding: 0;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .constraint-compact-toon {
  width: 100%;
  font-size: 7px;
  line-height: 1;
  text-align: center;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .compact-resource-strip {
  display: none;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .constraint-compact-delete {
  grid-area: delete;
  position: static;
  width: 15px;
  height: 15px;
  align-self: center;
  justify-self: end;
  font-size: 10px;
}

/* Version 1.8.8 Experimental — compact Exclude cards without an internal scrollbar. */
.exclude-panel .constraint-panel-scroll {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
.exclude-panel #exclude-items { gap: 4px; }
.exclusion-compact-strip {
  gap: 4px;
}
.exclusion-compact-row:not(.exclusion-scope-any) {
  min-height: 46px;
  height: 46px;
  max-height: 46px;
  grid-template-rows: 15px 24px;
  gap: 1px;
  padding: 2px 3px;
}
.exclusion-compact-row:not(.exclusion-scope-any) .exclusion-compact-expand {
  height: 15px;
  min-height: 15px;
}
.exclusion-compact-row:not(.exclusion-scope-any) .constraint-compact-toon {
  font-size: 7px;
}
.exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-icon {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
}
.exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-icon .gag-sprite,
.exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-icon .compact-gag-image {
  width: 18px !important;
  height: 18px !important;
  background-size: 144px 162px !important;
  background-position: calc(var(--col) * -18px) calc(var(--row) * -18px) !important;
}
.exclusion-compact-row:not(.exclusion-scope-any) .compact-track-pill,
.exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-more {
  height: 18px;
  min-width: 18px;
  max-width: 30px;
  font-size: 6px;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any {
  min-height: 22px;
  height: 22px;
  max-height: 22px;
  grid-template-columns: 32px minmax(0, 1fr) 17px;
  grid-template-rows: 18px;
  grid-template-areas: "toon resources delete";
  padding: 1px 2px;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .exclusion-compact-expand {
  justify-content: flex-start;
  padding-left: 3px;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .constraint-compact-toon {
  text-align: left;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .compact-resource-strip {
  grid-area: resources;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1px;
  min-width: 0;
  overflow: hidden;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .compact-resource-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border-width: 0;
  background: transparent;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .compact-resource-icon .gag-sprite,
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .compact-resource-icon .compact-gag-image {
  width: 14px !important;
  height: 14px !important;
  background-size: 112px 126px !important;
  background-position: calc(var(--col) * -14px) calc(var(--row) * -14px) !important;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .compact-track-pill,
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any .compact-resource-more {
  height: 14px;
  min-width: 14px;
  max-width: 28px;
  padding: 1px 2px;
  font-size: 5px;
}
.exclude-panel .exclusion-group-row { margin-top: 0; }

/* Version 1.8.8 Experimental — persistent multi-action Locked Actions builder. */
.locked-actions-panel .constraint-panel-scroll {
  max-height: 300px;
  overflow-x: hidden;
}
.locked-action-builder {
  display: grid;
  gap: 5px;
  width: 100%;
  min-width: 0;
}
.locked-action-slot-list {
  display: grid;
  gap: 3px;
  width: 100%;
}
.locked-action-slot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22px;
  min-width: 0;
  height: 34px;
  border: 1px solid #cbd4dc;
  border-radius: 6px;
  background: #f8fafc;
  overflow: hidden;
}
.locked-action-slot.selected {
  border-color: #6f62d9;
  box-shadow: inset 0 0 0 1px #6f62d9;
  background: #f4f1ff;
}
.locked-action-slot-select {
  position: relative;
  display: grid;
  grid-template-columns: 18px 26px minmax(0, 1fr) 39px;
  grid-template-rows: 17px 13px;
  grid-template-areas:
    "number icon name target"
    "number icon toon target";
  align-items: center;
  gap: 0 3px;
  min-width: 0;
  height: 32px;
  padding: 1px 3px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}
.locked-action-slot-select:hover,
.locked-action-slot-select:focus-visible { background: rgba(111, 98, 217, .08); }
.locked-action-slot-number {
  grid-area: number;
  display: grid;
  place-items: center;
  align-self: stretch;
  border-right: 1px solid #d9dee4;
  color: #66717d;
  font-size: 9px;
  font-weight: 900;
}
.locked-action-slot .compact-gag-badge-wrap {
  grid-area: icon;
  position: relative;
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
}
.locked-action-slot .compact-gag-badge-wrap .gag-sprite,
.locked-action-slot .compact-gag-badge-wrap .compact-gag-image {
  width: 25px !important;
  height: 25px !important;
  margin: 0 !important;
  background-size: 200px 225px !important;
  background-position: calc(var(--col) * -25px) calc(var(--row) * -25px) !important;
  object-fit: contain;
}
.locked-action-slot .constraint-status-badge {
  top: -2px;
  right: -2px;
  width: 11px;
  height: 11px;
  font-size: 7px;
}
.locked-action-slot-name {
  grid-area: name;
  min-width: 0;
  overflow: hidden;
  font-size: 9px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.locked-action-slot-target {
  grid-area: target;
  align-self: stretch;
  display: grid;
  place-items: center;
  min-width: 0;
  border-left: 1px solid #d9dee4;
  color: #4e5964;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: -.03em;
  text-align: center;
}
.locked-action-slot-toon {
  grid-area: toon;
  min-width: 0;
  overflow: hidden;
  color: #6e7882;
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.locked-action-slot .constraint-round-badge {
  position: absolute;
  left: 38px;
  bottom: 1px;
  min-width: 13px;
  padding: 1px 2px;
  font-size: 6px;
}
.locked-action-slot-delete {
  width: 22px;
  height: 32px;
  padding: 0;
  border: 0;
  border-left: 1px solid #d9dee4;
  border-radius: 0;
  background: transparent;
  color: #a22936;
  font-size: 15px;
  font-weight: 900;
}
.locked-action-slot-delete:hover,
.locked-action-slot-delete:focus-visible { background: #ffe8eb; }
.locked-action-add-slot {
  display: grid;
  grid-template-columns: 18px 22px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  width: 100%;
  min-height: 30px;
  padding: 2px 7px 2px 3px;
  border: 1px dashed #aeb8c2;
  border-radius: 6px;
  background: #fbfcfd;
  color: #5c6874;
  font-size: 9px;
  font-weight: 800;
  text-align: left;
}
.locked-action-add-slot.selected {
  border-style: solid;
  border-color: #6f62d9;
  background: #f4f1ff;
}
.locked-action-add-plus {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e9edf2;
  font-size: 15px;
  line-height: 1;
}
.locked-action-builder-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  padding: 6px;
  border: 1px solid #aaa1e7;
  border-radius: 7px;
  background: #faf9ff;
}
.locked-action-editor-heading,
.locked-action-builder-editor > .constraint-gag-control,
.locked-action-builder-editor > .locked-target-control,
.locked-action-builder-editor > [data-field="toon"],
.locked-action-builder-editor > .locked-action-state {
  grid-column: 1 / -1;
}
.locked-action-editor-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  grid-template-areas: "title close" "sub close";
  align-items: center;
  gap: 0 5px;
}
.locked-action-editor-heading strong { grid-area: title; font-size: 10px; }
.locked-action-editor-heading span { grid-area: sub; color: #737d87; font-size: 7px; }
.locked-action-editor-heading .remove-constraint {
  grid-area: close;
  position: static;
  width: 24px;
  height: 24px;
  padding: 0;
}
.locked-action-builder-editor .constraint-gag-control {
  grid-template-columns: minmax(0, 1fr) 28px;
  gap: 3px;
}
.locked-action-builder-editor .constraint-gag-control > input,
.locked-action-builder-editor .open-constraint-gag-picker {
  min-height: 27px;
  height: 27px;
}
.locked-action-builder-editor .open-constraint-gag-picker {
  width: 28px;
  min-width: 28px;
}
.locked-action-builder-editor .locked-target-placeholder {
  display: grid;
  place-items: center;
  min-height: 25px;
  border: 1px dashed #c8ccd2;
  border-radius: 5px;
  color: #7b838b;
  font-size: 8px;
}
.locked-action-builder-editor .target-notation-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.locked-action-builder-editor .locked-target-choice,
.locked-action-builder-editor .constraint-segment {
  min-height: 24px;
  padding: 2px 3px;
  font-size: 7px;
}
.locked-action-builder-editor .locked-action-state {
  color: #68717b;
  font-size: 7px;
  line-height: 1.2;
  text-align: center;
}

/* Version 1.8.8 Experimental — compact Locked Actions draft flow and flexible-target badges. */
.locked-actions-panel .constraint-panel-scroll {
  flex: 0 0 auto;
  max-height: none;
  overflow: visible;
}
.locked-actions-panel #locked-actions {
  min-height: 0;
  align-content: start;
}
.locked-action-builder,
.locked-action-slot-list {
  align-content: start;
}
.locked-action-add-slot {
  grid-template-columns: 22px minmax(0, 1fr);
  min-height: 31px;
  height: 31px;
  align-self: start;
  padding: 3px 7px;
}
.locked-action-draft-slot .locked-action-add-plus {
  grid-area: icon;
  width: 20px;
  height: 20px;
  justify-self: center;
}
.locked-action-draft-slot .locked-action-slot-target {
  color: #6f62d9;
  font-size: 8px;
}
.locked-action-builder-editor > [data-field="toon"] {
  grid-column: 1 / -1;
}
.locked-action-builder-editor [data-field="toon"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.locked-action-builder-editor [data-field="toon"] .constraint-segment {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.flexible-target-badge {
  position: absolute;
  left: 2px;
  bottom: 2px;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 1px solid #1f6f3d;
  border-radius: 50%;
  background: #2f9b58;
  color: #fff;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
}

/* Version 1.8.8 Experimental — precise Cope family and survivor emphasis. */
.cope-survivor-line {
  display: block;
  min-height: 16px;
  color: #5e2f2f;
  font-size: 14px !important;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}

/* Version 1.8.8 Experimental — paired bulk Lure controls and command locks. */
.lure-bulk-controls {
  display: grid;
  grid-template-columns: minmax(128px, 150px) minmax(108px, 132px);
  align-items: end;
  gap: 6px;
  min-width: 0;
}
.lure-bulk-controls .all-lure-control { min-width: 0; }
.lure-bulk-controls .all-lure-label {
  overflow: hidden;
  font-size: 9px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#all-lure-picker-host .lure-emoji-select,
#amend-lure-picker-host .lure-emoji-select {
  width: 100%;
  min-width: 0;
  padding: 6px 4px;
  font-size: 10px;
}
#amend-lure-picker-host .lure-emoji-select:disabled {
  opacity: .55;
  cursor: not-allowed;
}
@media (max-width: 700px) {
  .lure-bulk-controls { flex: 0 0 288px; grid-template-columns: 150px 132px; }
}

.locked-command-editor {
  display: grid;
  gap: 5px;
  padding: 6px;
  border: 1px solid #7166c9;
  border-radius: 7px;
  background: #f8f7ff;
}
.locked-command-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22px;
  grid-template-areas: "title close" "help close";
  align-items: center;
  gap: 1px 5px;
}
.locked-command-heading strong { grid-area: title; font-size: 10px; }
.locked-command-heading span {
  grid-area: help;
  min-width: 0;
  color: #6d7580;
  font-size: 7px;
  line-height: 1.2;
}
.locked-command-heading code { font-size: inherit; }
.locked-command-close {
  grid-area: close;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8e2f3a;
  font-size: 15px;
  font-weight: 900;
}
.locked-command-input {
  width: 100%;
  min-width: 0;
  min-height: 82px;
  resize: vertical;
  padding: 6px 7px;
  border: 1px solid #b7b2db;
  border-radius: 5px;
  background: #171923;
  color: #f4f6fb;
  caret-color: #fff;
  font: 10px/1.35 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}
.locked-command-input::placeholder { color: #9499a9; opacity: 1; }
.locked-command-input:focus { outline: 2px solid rgba(111, 98, 217, .25); border-color: #6f62d9; }
.locked-command-error {
  padding: 4px 6px;
  border-radius: 4px;
  background: #ffe8eb;
  color: #8a1f2d;
  font-size: 8px;
  font-weight: 750;
  line-height: 1.25;
}
.locked-command-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.locked-command-footer > span { color: #737b84; font-size: 7px; }
.locked-command-footer > div { display: flex; gap: 4px; }
.locked-command-footer .compact-button { min-height: 24px; padding: 3px 7px; font-size: 8px; }
.locked-command-footer kbd {
  padding: 0 2px;
  border: 1px solid #bcc3ca;
  border-radius: 3px;
  background: #fff;
  font: inherit;
}


/* Version 1.8.8 Experimental — source-family pastel Cope cards. */
.combo-row.cope-result {
  background-image: linear-gradient(rgba(255, 255, 255, .18), rgba(255, 255, 255, .18));
}
.combo-row.cope-result .combo-family {
  border-radius: 999px;
  padding: 1px 5px;
  background: rgba(255, 255, 255, .58);
}

/* Version 1.9.1 Experimental — Pressure Sue presentation. */
.cog-pressure-control {
  justify-content: center;
  border-color: #b99757;
  background: #fff7df;
  color: #71521b;
  font-weight: 850;
}
.pressure-banner {
  border-color: #d6bd7e;
  border-left-color: #b78b31;
  background: #fff8e6;
  color: #624914;
}
.pressure-banner span { color: #786330; }
.combo-row.pressure-result {
  background-image: linear-gradient(rgba(255, 249, 224, .28), rgba(255, 249, 224, .28));
}
.combo-row.pressure-result .combo-family {
  border-radius: 999px;
  padding: 1px 5px;
  background: rgba(255, 255, 255, .62);
}
.pressure-damage-line {
  display: block;
  min-height: 16px;
  color: #624914;
  font-size: 13px !important;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}


/* Version 1.9 — linked minimum-verified free-bucket package. */
.minimum-verified-gag-badge {
  position: absolute;
  z-index: 4;
  top: -2px;
  left: -2px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  border: 1px solid rgba(74, 84, 105, .34);
  border-radius: 5px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 1px 3px rgba(36, 48, 78, .14);
}
.minimum-verified-gag-badge .gag-sprite {
  width: 14px;
  height: 14px;
  margin: 0;
  background-size: 112px 126px;
  background-position:
    calc(var(--col) * -14px)
    calc(var(--row) * -14px);
  filter: none;
}
.gag-card.prestige .minimum-verified-gag-badge .gag-sprite {
  filter: none;
}
.gag-card .minimum-verified-zap-sprite {
  display: block;
  width: 14px;
  height: 14px;
  object-fit: contain;
}

/* Version 2.0.1 Experimental — per-profile trained Gag damage exceptions. */
.iou-grid {
  grid-template-columns: minmax(0, 1fr) 78px 26px 26px !important;
}
.profile-damage-control {
  position: relative;
  display: grid;
  place-items: end center;
  min-width: 0;
}
.profile-damage-button {
  width: 26px;
  min-width: 26px;
  height: 27px;
  padding: 0 2px;
  border: 1px solid #b9c1c9;
  border-radius: 5px;
  background: #fff;
  color: #59636d;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
}
.profile-damage-button:hover,
.profile-damage-button:focus-visible {
  border-color: #5e7d9d;
  box-shadow: 0 0 0 2px rgba(94,125,157,.14);
}
.profile-damage-button.has-overrides {
  background: #4e769f;
  border-color: #3d6288;
  color: #fff;
}
.profile-damage-editor {
  position: fixed;
  z-index: 1300;
  width: min(310px, calc(100vw - 16px));
  padding: 9px;
  border: 1px solid #aeb8c2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(34,45,56,.22);
}
.profile-damage-heading,
.profile-damage-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.profile-damage-heading button {
  border: 0;
  background: transparent;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.profile-damage-editor p {
  margin: 5px 0 7px;
  color: var(--muted);
  font-size: 10px;
}
.profile-damage-editor textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 92px;
  resize: vertical;
  padding: 6px 7px;
  border: 1px solid #bcc5cd;
  border-radius: 5px;
  font: 11px/1.35 ui-monospace, SFMono-Regular, Consolas, monospace;
}
.profile-damage-error {
  min-height: 14px;
  margin: 4px 0;
  color: #ad2531;
  font-size: 10px;
}


/* Version 2.0.1 Experimental — readable profile-scoped Exclude controls. */
.exclusion-compact-row:not(.exclusion-scope-any) .constraint-compact-toon {
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.08;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
}
.exclusion-compact-row:not(.exclusion-scope-any) .exclusion-compact-expand {
  height: auto;
  min-height: 19px;
  align-items: flex-start;
}
.exclusion-compact-row:not(.exclusion-scope-any) {
  min-height: 50px;
  height: auto;
  max-height: none;
  grid-template-rows: minmax(20px, auto) 24px;
  padding: 4px 6px;
}
.exclusion-scope-reserve {
  --exclusion-card-accent: #56606f;
  --exclusion-card-bg: #f1f3f6;
}
.exclusion-reserve-profile {
  opacity: .92;
}
.exclusion-compact-strip > .exclusion-compact-row.exclusion-scope-any {
  grid-column: 1 / -1;
}
.result-exclusion-popover {
  max-width: min(390px, calc(100vw - 16px));
}
.result-exclusion-toon-grid {
  grid-template-columns: repeat(var(--eligible-toon-count), minmax(76px, 88px));
  gap: 6px;
}
.result-exclusion-toon-choice {
  min-height: 70px;
  padding: 6px 5px;
}
.result-exclusion-toon-choice .toon-emblem-exclude-choice,
.result-exclusion-toon-choice .toon-choice-fallback {
  width: 25px;
  height: 25px;
}
.result-exclusion-toon-choice > span:last-of-type {
  max-width: 82px;
  overflow: visible;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.12;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 430px) {
  .result-exclusion-toon-grid {
    grid-template-columns: repeat(2, minmax(92px, 1fr));
  }
}

/* Version 2.1.2 Experimental — stacked IOUs and Rain effect editor. */
.iou-grid {
  grid-template-columns: minmax(0, 1fr) 26px 26px !important;
  align-items: end;
}
.profile-effect-editor {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
}
.effect-search-control {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.effect-search-control > input {
  width: 100%;
  min-width: 0;
  height: 27px;
  padding: 3px 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  font-size: 10px;
  text-overflow: ellipsis;
}
.active-effect-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
  overflow: visible;
}
.active-effect-chips:empty { display: none; }
.effect-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  padding: 2px 4px 2px 7px;
  border: 1px solid #b9c1c9;
  border-radius: 999px;
  background: #f7f9fb;
  color: #45515c;
  font-size: 8px;
  font-weight: 750;
  line-height: 1.2;
}
.effect-chip.active-iou { border-color: #7e72cf; background: #f0edff; color: #51459e; }
.effect-chip.queued-iou { opacity: .78; border-style: dashed; }
.effect-chip.rain-chip { border-color: #7ba7c3; background: #eaf6fd; color: #35677f; }
.effect-chip-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.effect-chip button {
  display: inline-grid;
  place-items: center;
  width: 15px;
  min-width: 15px;
  height: 15px;
  padding: 0;
  border: 1px solid #adb6bf;
  border-radius: 50%;
  background: #fff1f2;
  border-color: #cf9298;
  color: #a92f39;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}
.quick-iou-control input { padding-right: 6px; }
.quick-iou-control .active-effect-chips {
  max-height: none;
  overflow: visible;
  scrollbar-width: none;
}
.quick-iou-control .effect-chip { font-size: 7px; }
.quick-iou-control.compact-effect-chips .effect-chip,
.compact-effect-chips .effect-chip { max-width: 100%; }
.individual-sound.sound-cycle-grid .toon-sound-cycle { min-height: 132px; }

/* Version 2.1.0 Manager Mode controls */
.manager-segmented-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(2.75rem, 1fr));
  gap: .35rem;
  margin-top: .35rem;
}
.manager-segmented-buttons button {
  min-height: 2.5rem;
  border: 1px solid var(--border, #cfd5dd);
  border-radius: .6rem;
  background: var(--surface, #fff);
  color: inherit;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.manager-segmented-buttons button[aria-pressed="true"] {
  border-color: currentColor;
  box-shadow: inset 0 0 0 1px currentColor;
  background: color-mix(in srgb, currentColor 10%, transparent);
}
.manager-previous-input {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin: .7rem 0 .25rem;
  padding: .65rem .8rem;
  border: 1px solid var(--border, #cfd5dd);
  border-radius: .7rem;
  background: var(--surface, #fff);
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.manager-previous-input span { font-size: .78rem; opacity: .72; }
.manager-previous-input code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cog-card.unknown-cog-card .cog-hp-button { display: none; }

/* Version 2.1.2 Experimental — command-created Locked Action requirements. */
.locked-command-requirements {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 4px 0 6px;
}

.locked-command-requirement {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 22px;
  padding: 2px 4px 2px 7px;
  border: 1px solid rgba(91, 97, 116, .24);
  border-radius: 999px;
  background: rgba(242, 244, 249, .92);
  color: #424858;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
}

.locked-command-combo-requirement {
  border-color: rgba(99, 84, 200, .32);
  background: rgba(111, 98, 217, .10);
  color: #5145aa;
}

.locked-command-requirement button {
  width: 16px;
  height: 16px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 16px;
  cursor: pointer;
}

.locked-command-requirement button:hover,
.locked-command-requirement button:focus-visible {
  background: rgba(69, 75, 94, .12);
  outline: none;
}

/* Version 2.2.4 — Horsing Around */
.manager-control-stage {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.chainsaw-rpm-visual {
  position: relative;
  width: 92px;
  min-width: 92px;
  height: 360px;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(14, 18, 25, 0.7);
}
.chainsaw-rpm-visual.hidden { display: none; }
.chainsaw-rpm-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  z-index: 3;
  pointer-events: none;
}

.chainsaw-rpm-marker {
  position: absolute;
  z-index: 4;
  right: 4px;
  width: 18px;
  height: 3px;
  background: #fff;
  box-shadow: 0 0 5px rgba(255,255,255,.9);
  transform: translateY(1px);
  transition: bottom 180ms ease;
}
.chainsaw-rpm-visual figcaption {
  position: absolute;
  z-index: 5;
  left: 4px;
  right: 4px;
  bottom: 3px;
  display: grid;
  gap: 1px;
  padding: 4px;
  border-radius: 6px;
  background: rgba(5, 8, 12, .88);
  color: white;
  text-align: center;
  font-size: 9px;
  line-height: 1.15;
}
.chainsaw-rpm-visual figcaption strong { font-size: 10px; }
.chainsaw-add-state-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 8px;
}
.chainsaw-add-state-card > span { grid-column: 1 / -1; }
.chainsaw-add-state-card label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}
.chainsaw-add-state-card input[type="checkbox"] { width: auto; grid-row: auto; grid-column: auto; }
.flexible-calls-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  white-space: nowrap;
}
.flexible-calls-toggle.is-unavailable { opacity: .55; cursor: not-allowed; }
@media (max-width: 760px) {
  .manager-control-stage { grid-template-columns: 1fr; }
  .chainsaw-rpm-visual {
    width: 100%;
    height: 132px;
    min-width: 0;
  }
  .chainsaw-rpm-visual img { object-fit: cover; object-position: center 36%; }
}

/* Version 2.2.4 — readable two-column results and compact tactical rows. */
.manager-round-advice {
  margin: 0 0 10px;
  padding: 9px 11px;
  box-shadow: 0 2px 8px rgba(70, 40, 95, .08);
}
@media (min-width: 900px) {
  .manager-round-advice:not([hidden]) {
    position: sticky;
    top: 6px;
    z-index: 8;
  }
}

.results-panel {
  container-type: inline-size;
  container-name: combo-results;
  min-width: 0;
}
#results {
  min-width: 0;
  columns: auto !important;
}
#results.ordinary-results-mode {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 12px 10px;
}
#results.manager-results-mode {
  display: block !important;
}
@container combo-results (min-width: 930px) {
  #results.ordinary-results-mode {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #results.ordinary-results-mode > .fallback-results-banner,
  #results.ordinary-results-mode > .empty {
    grid-column: 1 / -1;
  }
}

.manager-headline-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  container-type: inline-size;
}
.manager-headline-results > .combo-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px 12px;
  width: auto !important;
  min-width: 0;
  margin: 0;
  padding: 7px 8px 6px 10px;
  border: 1px solid color-mix(in srgb, var(--tactical-accent, #7443a3) 55%, #d8dce3);
  border-left: 4px solid var(--tactical-accent, #7443a3);
  border-radius: 7px;
  background: var(--tactical-soft, #f4eef9);
  box-sizing: border-box;
}
.manager-headline-results > .combo-row:first-child {
  grid-column: 1 / -1;
}
.manager-headline-results > .combo-row:nth-child(n + 2) {
  grid-template-columns: minmax(0, 1fr);
}
.manager-headline-results > .combo-row .gag-row {
  float: none;
  margin: 0;
  min-width: 0;
}
.manager-headline-results > .combo-row:nth-child(n + 2) .gag-row {
  justify-content: start;
}
.manager-headline-results > .combo-row .combo-meta {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}
.manager-headline-results > .combo-row:nth-child(n + 2) .combo-meta {
  min-height: 0;
  padding-top: 0;
}
.manager-headline-results > .combo-row > details,
.manager-headline-results > .combo-row > .combo-note {
  grid-column: 1 / -1;
  width: 100%;
}
.manager-headline-results .combo-family,
.manager-headline-results .combo-requirement,
.manager-headline-results .manager-result-summary {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.manager-more-results {
  display: block;
  width: 100%;
  margin-top: 12px;
  border: 1px solid #c8b8a5;
  border-radius: 8px;
  background: #faf7f2;
  overflow: hidden;
}
.manager-more-results-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  cursor: pointer;
  list-style: none;
  border-bottom: 1px solid #d9c8b4;
  background: #f2e9df;
  color: #664d38;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
}
.manager-more-results-heading::-webkit-details-marker { display: none; }
.manager-more-toggle::before { content: "Hide"; }
.manager-more-results:not([open]) .manager-more-toggle::before { content: "Show"; }
.manager-more-toggle {
  color: #7b6048;
  font-size: 10px;
  text-transform: uppercase;
}
.manager-more-results-body {
  display: grid;
  gap: 10px;
  padding: 10px;
}
.manager-more-group {
  --tactical-accent: #746b61;
  --tactical-soft: #f4f1ed;
  display: grid;
  grid-template-columns: minmax(116px, 150px) minmax(0, 1fr);
  gap: 8px 10px;
  align-items: start;
  padding: 8px;
  border: 1px solid color-mix(in srgb, var(--tactical-accent) 36%, #ddd);
  border-radius: 7px;
  background: var(--tactical-soft);
}
.manager-more-group > h3 {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 3px 0 0;
  padding: 0;
  color: color-mix(in srgb, var(--tactical-accent) 78%, #222);
  font-size: 10px;
  line-height: 1.25;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.manager-more-group > h3 small {
  display: inline-grid;
  place-items: center;
  min-width: 17px;
  height: 17px;
  margin-left: auto;
  padding: 0 4px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--tactical-accent) 16%, white);
  color: var(--tactical-accent);
  font-size: 9px;
}
.tactical-category-dot {
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--tactical-accent);
}
.manager-more-group-results {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 7px;
  min-width: 0;
}

/* Tactical palette: category labels remain visible, so color is not the only cue. */
.tactical-manager-win { --tactical-accent: #27844b; --tactical-soft: #eaf7ee; }
.tactical-manager-damage { --tactical-accent: #c34e49; --tactical-soft: #fff0ed; }
.tactical-hybrid-pressure { --tactical-accent: #7652a5; --tactical-soft: #f3edfb; }
.tactical-cog-control { --tactical-accent: #3979ae; --tactical-soft: #ebf5fc; }
.tactical-full-cog-clear { --tactical-accent: #258b87; --tactical-soft: #e8f7f5; }
.tactical-full-clear-plus-manager-damage { --tactical-accent: #168073; --tactical-soft: #e7f6f1; }
.tactical-setup,
.tactical-opening-setup { --tactical-accent: #b57b17; --tactical-soft: #fff6df; }
.tactical-opening-burst { --tactical-accent: #d16a20; --tactical-soft: #fff0df; }
.tactical-dangerous-call { --tactical-accent: #a52734; --tactical-soft: #fdebed; }
.tactical-other-tactical-options { --tactical-accent: #746b61; --tactical-soft: #f4f1ed; }

.manager-additional-result.manager-compact-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  min-width: 0;
  margin: 0;
  padding: 5px 6px;
  border: 1px solid color-mix(in srgb, var(--tactical-accent, #746b61) 44%, #d6d6d6) !important;
  border-left: 3px solid var(--tactical-accent, #746b61) !important;
  border-radius: 6px;
  background: color-mix(in srgb, var(--tactical-soft, #f4f1ed) 72%, white) !important;
  box-shadow: none;
  container-type: inline-size;
}
.manager-compact-result .gag-row {
  display: grid;
  grid-template-columns: repeat(4, 52px);
  justify-content: start;
  gap: 4px;
  float: none;
  margin: 0;
  min-width: 0;
}
.manager-compact-result .gag-row > div {
  width: 52px;
  min-width: 0;
  min-height: 76px;
  padding: 2px;
  box-sizing: border-box;
}
.manager-compact-result .gag-image-wrap > .gag-sprite,
.manager-compact-result .gag-image-wrap > .verified-zap-sprite,
.manager-compact-result .sue-reward-sprite,
.manager-compact-result .fire-reward-sprite,
.manager-compact-result .toonup-placeholder-sprite {
  width: 36px !important;
  height: 36px !important;
  background-size: 288px 324px;
  background-position:
    calc(var(--col) * -36px)
    calc(var(--row) * -36px);
}
.manager-compact-result .hybrid-sprite-wrap,
.manager-compact-result .hybrid-finisher-sprite {
  width: 36px;
  height: 35px;
}
.manager-compact-result .iou-action-sprite {
  width: 38px;
  height: 28px;
  margin: 4px auto;
  font-size: 11px;
}
.manager-compact-result .gag-card strong {
  font-size: 8px;
  line-height: 1.05;
}
.manager-compact-result .gag-card small,
.manager-compact-result .toon-assignment {
  font-size: 7px !important;
  line-height: 1.05;
}
.manager-compact-result .special-badges { transform: scale(.8); transform-origin: top right; }
.manager-compact-result .result-action-lock-button,
.manager-compact-result .result-gag-exclude-trigger { transform: scale(.78); transform-origin: top left; }
.manager-compact-result .manager-compact-meta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1px 7px;
  min-height: 0;
  padding: 0;
}
.manager-compact-result .manager-compact-meta .combo-meta-top {
  grid-row: 1 / span 2;
  align-self: start;
}
.manager-compact-result .combo-family {
  min-width: 0;
  color: #2c3137;
  font-size: 10px;
  line-height: 1.15;
  overflow-wrap: normal;
  word-break: normal;
}
.manager-compact-stats {
  min-width: 0;
  color: color-mix(in srgb, var(--tactical-accent, #746b61) 76%, #222);
  font-size: 9px !important;
  line-height: 1.25;
  overflow-wrap: normal;
  word-break: normal;
}
.manager-compact-result > details {
  width: 100%;
  padding-top: 0;
}
.manager-compact-result > details > summary { font-size: 9px; }
.manager-compact-result .manager-defeated-badge {
  grid-column: 2;
  margin-top: 2px;
  padding: 2px 5px;
  font-size: 8px;
}

@container combo-results (max-width: 980px) {
  .manager-more-group {
    grid-template-columns: minmax(0, 1fr);
  }
  .manager-more-group > h3 { margin-top: 0; }
}
@container combo-results (max-width: 760px) {
  .manager-headline-results { grid-template-columns: minmax(0, 1fr); }
  .manager-headline-results > .combo-row:first-child { grid-column: auto; }
  .manager-headline-results > .combo-row { grid-template-columns: minmax(0, 1fr); }
  .manager-more-group-results { grid-template-columns: minmax(0, 1fr); }
}
@container combo-results (max-width: 430px) {
  .manager-compact-result .gag-row { grid-template-columns: repeat(2, 52px); }
}

.iou-action-card { border-color: #bf9e52 !important; background: #fff8dc !important; }
.iou-action-sprite {
  display: grid;
  place-items: center;
  width: 54px;
  height: 38px;
  margin: 7px auto;
  border: 2px solid #805c18;
  border-radius: 5px;
  background: linear-gradient(#fff9d9, #f1d47a);
  color: #6b4910;
  font-weight: 950;
  font-size: 17px;
  letter-spacing: .08em;
  transform: rotate(-3deg);
  box-shadow: 1px 2px 0 rgba(74, 51, 10, .22);
}
.dormant-trap-badge {
  position: absolute;
  left: 3px;
  bottom: 2px;
  z-index: 7;
  padding: 2px 4px;
  border-radius: 4px;
  background: #3e4758;
  color: #fff;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .035em;
}

@media (max-width: 600px) {
  .manager-add-state-controls[data-manager-id="mouthpiece"] { grid-template-columns: 1fr; }
}

/* Version 2.3.0 Experimental — Turbo Engine hotfix. */
.manager-controls {
  grid-template-columns: minmax(145px, 1.25fr) minmax(145px, 1fr);
  gap: 9px 12px;
  align-items: end;
}
.manager-selector-control { grid-column: 1; }
.manager-round-control { grid-column: 2; }
.manager-toonup-control { grid-column: 1; }
.manager-previous-field-control {
  grid-column: 2;
  display: grid;
  gap: 4px;
  min-width: 0;
  align-self: end;
  color: var(--muted);
  font-size: 13px;
}
.manager-previous-field-control[hidden] { display: none !important; }
.manager-control-label { min-width: 0; }
.manager-toonup-control .manager-segmented-buttons { margin-top: 0; }
.manager-previous-field-control .manager-previous-input {
  min-height: 2.5rem;
  margin: 0;
  padding: .55rem .7rem;
}
.manager-previous-field-control .manager-previous-input code {
  width: 100%;
  text-align: left;
}

.manager-add-state-controls[data-manager-id="chainsaw-consultant"] {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 6px;
  align-items: start;
}
.manager-add-state-controls[data-manager-id="chainsaw-consultant"] .chainsaw-add-state-card {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 6px;
  min-height: 0;
  padding: 6px 7px;
}
.manager-add-state-controls[data-manager-id="chainsaw-consultant"] .chainsaw-add-state-card > span {
  font-size: 10px;
  line-height: 1.15;
}
.manager-add-state-controls[data-manager-id="chainsaw-consultant"] .chainsaw-add-state-card label {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 3px;
  align-items: start;
  min-width: 0;
  font-size: 9px;
  line-height: 1.08;
}
.manager-add-state-controls[data-manager-id="chainsaw-consultant"] .chainsaw-add-state-card label small {
  min-width: 0;
  font-size: 9px;
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
}
.manager-add-state-controls[data-manager-id="chainsaw-consultant"] .chainsaw-add-state-card input[type="checkbox"] {
  width: 11px;
  height: 11px;
  margin: 1px 0 0;
}

.manager-more-group-results {
  grid-template-columns: repeat(auto-fill, minmax(230px, 280px));
  justify-content: start;
  align-items: start;
}
.manager-additional-result.manager-compact-result {
  width: 100%;
  max-width: 280px;
  align-self: start;
  height: auto;
}
.manager-compact-result .gag-row {
  grid-template-columns: repeat(4, 44px);
  gap: 3px;
}
.manager-compact-result .gag-row > div {
  width: 44px;
  min-height: 64px;
  padding: 2px 1px;
}
.manager-compact-result .gag-image-wrap > .gag-sprite,
.manager-compact-result .gag-image-wrap > .verified-zap-sprite,
.manager-compact-result .sue-reward-sprite,
.manager-compact-result .fire-reward-sprite,
.manager-compact-result .toonup-placeholder-sprite {
  width: 30px !important;
  height: 30px !important;
  background-size: 240px 270px;
  background-position:
    calc(var(--col) * -30px)
    calc(var(--row) * -30px);
}
.manager-compact-result .hybrid-sprite-wrap,
.manager-compact-result .hybrid-finisher-sprite {
  width: 30px;
  height: 29px;
}
.manager-compact-result .iou-action-sprite {
  width: 32px;
  height: 24px;
  margin: 3px auto;
  font-size: 9px;
}
.manager-compact-result .gag-card strong {
  font-size: 7px;
  line-height: 1;
}
.manager-compact-result .gag-card small,
.manager-compact-result .toon-assignment {
  font-size: 6.5px !important;
  line-height: 1;
}
.manager-compact-result .manager-compact-meta {
  gap: 1px 5px;
}
.manager-compact-result .combo-family { font-size: 9px; }
.manager-compact-stats { font-size: 8px !important; }
.manager-compact-result > details > summary { font-size: 8px; }

@media (max-width: 520px) {
  .manager-controls { grid-template-columns: minmax(0, 1fr); }
  .manager-selector-control,
  .manager-round-control,
  .manager-toonup-control,
  .manager-previous-field-control { grid-column: 1; }
}
@container combo-results (max-width: 640px) {
  .manager-more-group-results {
    grid-template-columns: minmax(0, 1fr);
  }
  .manager-additional-result.manager-compact-result {
    max-width: none;
  }
}
@container combo-results (max-width: 390px) {
  .manager-compact-result .gag-row { grid-template-columns: repeat(2, 44px); }
}
.manager-previous-field-control .manager-previous-input:disabled {
  cursor: default;
  opacity: .66;
}


/* Version 2.2.4 Experimental — compact tactical artwork and verified-package isolation. */
.gag-card:has(.toon-eligibility-count-3) .minimum-verified-gag-badge .gag-sprite,
.manager-compact-result .minimum-verified-gag-badge .gag-sprite {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  background-size: 112px 126px !important;
  background-position:
    calc(var(--col) * -14px)
    calc(var(--row) * -14px) !important;
}
.gag-card:has(.toon-eligibility-count-3) .minimum-verified-zap-sprite,
.manager-compact-result .minimum-verified-zap-sprite {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
}
.manager-compact-result .gag-row {
  grid-template-columns: repeat(4, 36px);
  gap: 2px;
}
.manager-compact-result .gag-row > div {
  width: 36px;
  min-height: 56px;
  padding: 1px;
}
.manager-compact-result .gag-image-wrap > .gag-sprite,
.manager-compact-result .gag-image-wrap > .verified-zap-sprite,
.manager-compact-result .gag-image-wrap > .sue-reward-sprite,
.manager-compact-result .gag-image-wrap > .fire-reward-sprite,
.manager-compact-result .gag-image-wrap > .toonup-placeholder-sprite {
  width: 24px !important;
  height: 24px !important;
  margin: 1px auto !important;
  background-size: 192px 216px;
  background-position:
    calc(var(--col) * -24px)
    calc(var(--row) * -24px);
}
.manager-compact-result .hybrid-sprite-wrap,
.manager-compact-result .hybrid-finisher-sprite {
  width: 25px;
  height: 24px;
}
.manager-compact-result .gag-card strong {
  font-size: 6.5px;
  line-height: .98;
}
.manager-compact-result .gag-card small,
.manager-compact-result .toon-assignment {
  font-size: 6px !important;
  line-height: .98;
}
@container combo-results (max-width: 390px) {
  .manager-compact-result .gag-row { grid-template-columns: repeat(2, 36px); }
}

/* 2.3.0 experimental engine selector */
.engine-section .engine-select-label {
  display: grid;
  gap: 6px;
  max-width: 430px;
  font-size: 12px;
  font-weight: 700;
}
.engine-section #simulation-engine {
  width: 100%;
  min-height: 36px;
}

/* Version 2.3.1 Experimental — Turbo Hardening: uniform Manager result cards. */
.manager-headline-results,
.manager-more-group-results {
  align-items: stretch;
  grid-auto-rows: 1fr;
}
.manager-headline-results > .combo-row,
.manager-headline-results > .combo-row:nth-child(n + 2) {
  grid-template-columns: minmax(214px, auto) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  height: 100%;
}
.manager-headline-results > .combo-row .combo-meta {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.manager-headline-results > .combo-row > details,
.manager-headline-results > .combo-row > .combo-note {
  grid-column: 2;
  align-self: end;
}
.manager-more-group-results {
  grid-template-columns: repeat(auto-fit, minmax(390px, 1fr));
}
.manager-additional-result.manager-compact-result {
  grid-template-columns: minmax(174px, auto) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  align-self: stretch;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 116px;
  gap: 5px 10px;
  padding: 7px 8px;
}
.manager-compact-result .gag-row {
  grid-column: 1;
  grid-row: 1 / span 2;
  grid-template-columns: repeat(4, 42px);
  align-content: start;
  align-self: start;
  gap: 3px;
}
.manager-compact-result .gag-row > div {
  width: 42px;
  min-height: 68px;
  padding: 2px;
}
.manager-compact-result .gag-image-wrap > .gag-sprite,
.manager-compact-result .gag-image-wrap > .verified-zap-sprite,
.manager-compact-result .gag-image-wrap > .sue-reward-sprite,
.manager-compact-result .gag-image-wrap > .fire-reward-sprite,
.manager-compact-result .gag-image-wrap > .toonup-placeholder-sprite {
  width: 31px !important;
  height: 31px !important;
  margin: 2px auto 1px !important;
  background-size: 248px 279px;
  background-position:
    calc(var(--col) * -31px)
    calc(var(--row) * -31px);
}
.manager-compact-result .hybrid-sprite-wrap,
.manager-compact-result .hybrid-finisher-sprite {
  width: 32px;
  height: 31px;
}
.manager-compact-result .iou-action-sprite {
  width: 34px;
  height: 26px;
  margin: 4px auto 3px;
  font-size: 10px;
}
.manager-compact-result .gag-card strong {
  font-size: 7.8px;
  line-height: 1.05;
}
.manager-compact-result .gag-card small,
.manager-compact-result .toon-assignment {
  font-size: 7.1px !important;
  line-height: 1.05;
}
.manager-compact-result .manager-compact-meta {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto minmax(2.4em, 1fr) auto;
  align-content: start;
  min-width: 0;
  min-height: 100%;
  gap: 2px 7px;
  padding: 1px 0 0;
}
.manager-compact-result .manager-compact-meta .combo-meta-top {
  grid-column: 1;
  grid-row: 1 / span 3;
}
.manager-compact-result .combo-family {
  grid-column: 2;
  grid-row: 1;
  display: -webkit-box;
  min-height: 2.3em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 11px;
  line-height: 1.15;
  font-weight: 800;
}
.manager-compact-stats {
  grid-column: 2;
  grid-row: 2 / span 2;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 9.5px !important;
  line-height: 1.28;
}
.manager-compact-result .manager-defeated-badge {
  grid-column: 2;
  grid-row: 4;
}
.manager-compact-result > details {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  width: 100%;
  margin-top: auto;
}
.manager-compact-result > details > summary {
  font-size: 9.5px;
}
@container combo-results (max-width: 820px) {
  .manager-more-group-results { grid-template-columns: minmax(0, 1fr); }
}
@container combo-results (max-width: 620px) {
  .manager-headline-results > .combo-row,
  .manager-headline-results > .combo-row:nth-child(n + 2) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
  }
  .manager-headline-results > .combo-row > details,
  .manager-headline-results > .combo-row > .combo-note { grid-column: 1; }
  .manager-additional-result.manager-compact-result {
    grid-template-columns: minmax(154px, auto) minmax(0, 1fr);
  }
  .manager-compact-result .gag-row { grid-template-columns: repeat(4, 37px); }
  .manager-compact-result .gag-row > div { width: 37px; min-height: 62px; }
  .manager-compact-result .gag-image-wrap > .gag-sprite,
  .manager-compact-result .gag-image-wrap > .verified-zap-sprite,
  .manager-compact-result .gag-image-wrap > .sue-reward-sprite,
  .manager-compact-result .gag-image-wrap > .fire-reward-sprite,
  .manager-compact-result .gag-image-wrap > .toonup-placeholder-sprite {
    width: 28px !important;
    height: 28px !important;
    background-size: 224px 252px;
    background-position:
      calc(var(--col) * -28px)
      calc(var(--row) * -28px);
  }
}
@container combo-results (max-width: 470px) {
  .manager-additional-result.manager-compact-result {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
  }
  .manager-compact-result .gag-row { grid-column: 1; grid-row: 1; }
  .manager-compact-result .manager-compact-meta { grid-column: 1; grid-row: 2; }
  .manager-compact-result > details { grid-column: 1; grid-row: 3; }
}

/* Version 2.3.2 Experimental — denser Manager cards and succinct summaries. */
.manager-headline-results {
  grid-template-columns: repeat(auto-fit, minmax(360px, 430px));
  justify-content: start;
  align-items: stretch;
}
.manager-headline-results > .combo-row:first-child {
  grid-column: auto;
}
.manager-headline-results > .combo-row.manager-headline-result,
.manager-headline-results > .combo-row.manager-headline-result:nth-child(n + 2) {
  grid-template-columns: minmax(194px, auto) minmax(138px, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 5px 9px;
  width: 100%;
  max-width: 430px;
  min-height: 118px;
  padding: 7px 8px;
}
.manager-headline-result .gag-row {
  grid-column: 1;
  grid-row: 1 / span 2;
  display: grid;
  grid-template-columns: repeat(4, 46px);
  gap: 3px;
  align-content: start;
  justify-content: start;
}
.manager-headline-result .gag-row > div {
  width: 46px;
  min-height: 70px;
  padding: 2px;
}
.manager-headline-result .gag-image-wrap > .gag-sprite,
.manager-headline-result .gag-image-wrap > .verified-zap-sprite,
.manager-headline-result .gag-image-wrap > .sue-reward-sprite,
.manager-headline-result .gag-image-wrap > .fire-reward-sprite,
.manager-headline-result .gag-image-wrap > .toonup-placeholder-sprite {
  width: 33px !important;
  height: 33px !important;
  margin: 2px auto 1px !important;
  background-size: 264px 297px;
  background-position:
    calc(var(--col) * -33px)
    calc(var(--row) * -33px);
}
.manager-headline-result .hybrid-sprite-wrap,
.manager-headline-result .hybrid-finisher-sprite {
  width: 34px;
  height: 33px;
}
.manager-headline-result .gag-card strong {
  font-size: 8px;
  line-height: 1.04;
}
.manager-headline-result .gag-card small,
.manager-headline-result .toon-assignment {
  font-size: 7px !important;
  line-height: 1.02;
}
.manager-headline-result .combo-meta {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 2px;
  padding: 1px 0 0;
}
.manager-headline-result .combo-family {
  font-size: 10px;
  line-height: 1.15;
  font-weight: 850;
}
.manager-headline-result .combo-requirement {
  font-size: 9px;
  line-height: 1.15;
}
.manager-headline-result .manager-result-summary {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 9px;
  line-height: 1.25;
}
.manager-headline-result > details,
.manager-headline-result > .combo-note {
  grid-column: 2 !important;
  grid-row: 2;
  align-self: end;
  margin-top: auto;
}
.manager-headline-result > details > summary {
  font-size: 9px;
}

.manager-more-group-results {
  grid-template-columns: repeat(auto-fill, minmax(340px, 420px));
  justify-content: start;
  align-items: stretch;
}
.manager-additional-result.manager-compact-result {
  grid-template-columns: minmax(174px, auto) minmax(132px, 1fr);
  width: 100%;
  max-width: 420px;
  min-height: 108px;
  gap: 4px 8px;
  padding: 6px 7px;
}
.manager-compact-result .gag-row {
  grid-template-columns: repeat(4, 41px);
  gap: 2px;
}
.manager-compact-result .gag-row > div {
  width: 41px;
  min-height: 65px;
}
.manager-compact-result .gag-image-wrap > .gag-sprite,
.manager-compact-result .gag-image-wrap > .verified-zap-sprite,
.manager-compact-result .gag-image-wrap > .sue-reward-sprite,
.manager-compact-result .gag-image-wrap > .fire-reward-sprite,
.manager-compact-result .gag-image-wrap > .toonup-placeholder-sprite {
  width: 30px !important;
  height: 30px !important;
  background-size: 240px 270px;
  background-position:
    calc(var(--col) * -30px)
    calc(var(--row) * -30px);
}
.manager-compact-result .gag-card strong {
  font-size: 7.5px;
}
.manager-compact-result .gag-card small,
.manager-compact-result .toon-assignment {
  font-size: 6.8px !important;
}
.manager-compact-result .manager-compact-meta {
  grid-template-rows: auto auto minmax(1.8em, 1fr) auto;
  gap: 1px 6px;
}
.manager-compact-result .combo-family {
  min-height: 1.15em;
  -webkit-line-clamp: 2;
  font-size: 10px;
}
.manager-compact-stats {
  -webkit-line-clamp: 2;
  font-size: 9px !important;
  line-height: 1.2;
}

@container combo-results (max-width: 820px) {
  .manager-headline-results,
  .manager-more-group-results {
    grid-template-columns: minmax(0, 1fr);
  }
  .manager-headline-results > .combo-row.manager-headline-result,
  .manager-headline-results > .combo-row.manager-headline-result:nth-child(n + 2),
  .manager-additional-result.manager-compact-result {
    max-width: none;
  }
}
@container combo-results (max-width: 470px) {
  .manager-headline-results > .combo-row.manager-headline-result,
  .manager-headline-results > .combo-row.manager-headline-result:nth-child(n + 2) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
  }
  .manager-headline-result .gag-row { grid-column: 1; grid-row: 1; }
  .manager-headline-result .combo-meta { grid-column: 1; grid-row: 2; }
  .manager-headline-result > details,
  .manager-headline-result > .combo-note { grid-column: 1 !important; grid-row: 3; }
}


/* Version 2.3.3 Experimental — Prestige Clarity */
.prestige-alternatives-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 2px 6px;
  border: 1px solid #b98a41;
  border-radius: 999px;
  background: #fff8e9;
  color: #70470f;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.15;
  white-space: nowrap;
}
.manager-compact-result .prestige-alternatives-badge {
  padding-inline: 5px;
  font-size: 8px;
}


/* Version 2.3.5 Experimental — Tactical Coverage */

/* Version 2.5.1 Experimental — Horsing Around */


/* Version 2.5.1 Experimental — Horsing Around. */
.combo-row.family-lure-zap {
  background-color: #a9b8d4 !important;
  border-left: 4px solid #40547f;
}
.combo-row.family-lure-zap .combo-family {
  color: #1f345f;
}

/* Exclude profile visibility: one unbroken toolbar plus roomier active-party cards. */
.exclude-panel .top-constraint-heading {
  flex-wrap: wrap;
}
.exclude-heading-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  justify-content: stretch;
}
.exclude-profile-view-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  min-width: 0;
  padding: 2px;
  border: 1px solid #b8c2cc;
  border-radius: 999px;
  background: #eef2f6;
  box-shadow: inset 0 1px 1px rgba(24, 38, 53, .05);
}
.exclude-profile-view-toggle button {
  min-width: 0;
  min-height: 24px;
  padding: 3px 5px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #5b6570;
  font-size: 8px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.exclude-profile-view-toggle button:hover,
.exclude-profile-view-toggle button:focus-visible {
  color: #34486f;
  outline: none;
}
.exclude-profile-view-toggle button.selected {
  background: #ffffff;
  color: #34486f;
  box-shadow: 0 1px 3px rgba(31, 48, 70, .16);
}
.exclude-heading-actions > .compact-button {
  min-height: 28px;
  padding: 3px 6px;
  font-size: 8px;
  line-height: 1;
  white-space: nowrap;
}

.exclusion-compact-strip.party-only-view {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) {
  min-height: 72px;
  height: 72px;
  max-height: 72px;
  grid-template-rows: minmax(20px, auto) 45px;
  gap: 2px;
  padding: 5px 6px;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .exclusion-compact-expand {
  min-height: 20px;
  height: auto;
  align-items: flex-start;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .constraint-compact-toon {
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1.08;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-strip {
  display: flex;
  align-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2px;
  height: 44px;
  overflow: hidden;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-icon {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-icon .gag-sprite,
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-icon .compact-gag-image {
  width: 21px !important;
  height: 21px !important;
  background-size: 168px 189px !important;
  background-position: calc(var(--col) * -21px) calc(var(--row) * -21px) !important;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .compact-track-pill,
.exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-more {
  height: 21px;
  min-width: 21px;
  max-width: 39px;
  padding: 1px 3px;
  font-size: 6px;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any {
  grid-column: 1 / -1;
  min-height: 34px;
  height: 34px;
  max-height: 34px;
  grid-template-columns: 44px minmax(0, 1fr) 20px;
  grid-template-rows: 28px;
  padding: 2px 4px;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .exclusion-compact-expand {
  min-height: 28px;
  height: 28px;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .constraint-compact-toon {
  font-size: 9px;
  font-weight: 850;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .compact-resource-strip {
  gap: 2px;
  overflow: hidden;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .compact-resource-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .compact-resource-icon .gag-sprite,
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .compact-resource-icon .compact-gag-image {
  width: 20px !important;
  height: 20px !important;
  background-size: 160px 180px !important;
  background-position: calc(var(--col) * -20px) calc(var(--row) * -20px) !important;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .compact-track-pill,
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .compact-resource-more {
  height: 20px;
  min-width: 20px;
  max-width: 38px;
  font-size: 6px;
}
.exclusion-compact-strip.party-only-view > .exclusion-compact-row.exclusion-scope-any .constraint-compact-delete {
  width: 18px;
  height: 18px;
}

@media (max-width: 620px) {
  .exclude-heading-actions {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 3px;
  }
  .exclude-profile-view-toggle button {
    padding-inline: 4px;
    font-size: 7.5px;
  }
  .exclude-heading-actions > .compact-button {
    padding-inline: 5px;
    font-size: 7.5px;
  }
  .exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) {
    min-height: 66px;
    height: 66px;
    max-height: 66px;
    grid-template-rows: minmax(18px, auto) 39px;
  }
  .exclusion-compact-strip.party-only-view > .exclusion-compact-row:not(.exclusion-scope-any) .compact-resource-strip {
    height: 38px;
  }
}

/* Version 2.5.1 — Quick Execute layout hardening. */
.quick-execute-tooltip {
  width: min(390px, calc(100vw - 20px));
  min-width: min(315px, calc(100vw - 20px));
  max-width: 390px;
  white-space: normal;
}
.quick-execute-summary,
.quick-execute-cog-summary,
.quick-execute-section {
  min-width: 0;
}
.quick-execute-cog-summary {
  margin-bottom: 6px;
  font-weight: 800;
  white-space: normal;
}
.quick-execute-column-heading,
.quick-execute-data-row {
  display: grid;
  grid-template-columns: minmax(88px, .9fr) minmax(104px, 1fr);
  column-gap: 8px;
  row-gap: 2px;
  align-items: start;
}
.quick-execute-summary.columns-two .quick-execute-column-heading,
.quick-execute-summary.columns-two .quick-execute-data-row {
  grid-template-columns: minmax(88px, .82fr) repeat(2, minmax(104px, 1fr));
}
.quick-execute-column-heading {
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  text-align: right;
}
.quick-execute-column-heading > span,
.quick-execute-data-row > span {
  min-width: 0;
}
.quick-execute-data-row > span:first-child {
  color: var(--muted);
  font-weight: 800;
  text-align: left;
}
.quick-execute-data-row > span:not(:first-child) {
  text-align: right;
  line-height: 1.28;
  overflow-wrap: anywhere;
}
.quick-execute-section > strong {
  white-space: normal;
}

/* Keep the wider Quick Execute panel inside the battle area. */
#cog-cards .cog-card:nth-child(4n + 3) .quick-execute-tooltip,
#cog-cards .cog-card:nth-child(4n + 4) .quick-execute-tooltip {
  left: auto;
  right: calc(100% + 8px);
}
@media (max-width: 700px) {
  #cog-cards .cog-card:nth-child(odd) .quick-execute-tooltip {
    left: calc(100% + 8px);
    right: auto;
  }
  #cog-cards .cog-card:nth-child(even) .quick-execute-tooltip {
    left: auto;
    right: calc(100% + 8px);
  }
}

/* Version 2.5.2 — sprite-only Quick Execute recommendations. */
.quick-execute-tooltip {
  pointer-events: auto;
}
.quick-execute-data-row > span:not(:first-child) {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: flex-end;
  overflow: visible;
}
.quick-execute-gag-tile {
  display: inline-flex;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(48, 57, 75, .18);
  border-radius: 7px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
}
.quick-execute-gag-tile .gag-sprite {
  width: 30px !important;
  height: 30px !important;
  background-size: 240px 270px !important;
  background-position: calc(var(--col) * -30px) calc(var(--row) * -30px) !important;
}
.quick-execute-gag-pair {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  white-space: nowrap;
}
.quick-execute-plus {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}
.quick-execute-empty-value {
  display: inline-flex;
  min-width: 32px;
  justify-content: center;
  color: var(--muted);
}

/* Version 2.6.0 — Quick Party command and manager damage hover cards. */
.party-command-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: start center;
  padding: min(18vh, 150px) 16px 24px;
  background: rgba(23, 29, 39, .34);
  backdrop-filter: blur(2px);
}
.party-command-overlay[hidden] { display: none; }
.party-command-panel {
  width: min(560px, calc(100vw - 32px));
  padding: 14px;
  border: 1px solid rgba(32, 45, 64, .24);
  border-radius: 10px;
  background: #fffefa;
  box-shadow: 0 15px 45px rgba(0, 0, 0, .24);
}
.party-command-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.party-command-heading strong { display: block; font-size: 16px; }
.party-command-heading span { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }
.party-command-close {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.party-command-input {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 11px;
  border: 1px solid rgba(43, 58, 78, .25);
  border-radius: 7px;
  font: 700 15px/1.25 ui-monospace, SFMono-Regular, Consolas, monospace;
}
.party-command-status {
  min-height: 20px;
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
}
.party-command-status.good { color: #08763a; }
.party-command-status.bad { color: #b21f2d; }
.party-command-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  margin-top: 7px;
}
.manager-damage-summary { min-width: 300px; }
.manager-damage-section > strong { margin-bottom: 5px; }
.manager-damage-row {
  padding: 4px 0;
  border-top: 1px solid rgba(0, 0, 0, .06);
}
.manager-damage-row:first-of-type { border-top: 0; }
.manager-damage-main {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}
.manager-damage-main > span {
  color: #9c1c2d;
  font-weight: 900;
  text-align: right;
}
.manager-damage-row small,
.manager-damage-note {
  display: block;
  color: var(--muted);
  line-height: 1.35;
  white-space: normal;
}
.manager-damage-note {
  margin-top: 7px;
  padding-top: 6px;
  border-top: 1px solid rgba(0, 0, 0, .10);
}
.manager-damage-source {
  display: inline-block;
  margin-top: 7px;
  color: #285b89;
  font-size: 10px;
  font-weight: 700;
}


/* Version 2.8.1 Experimental — Litigation directed-search and feedback polish. */
.control-footer-line {
  min-height: 14px;
  height: auto;
}
.active-effect-warning {
  position: relative;
  inset: auto;
  height: auto;
  min-height: 18px;
  max-width: 100%;
  overflow: visible;
  white-space: pre-line;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 16px;
}
.party-command-status {
  white-space: pre-line;
  line-height: 1.35;
}
.locked-command-live-preview {
  min-height: 0;
  margin-top: 5px;
  white-space: pre-line;
  overflow-wrap: anywhere;
  font-size: 11px;
  line-height: 1.35;
}
.locked-command-live-preview.good { color: #08763a; }
.locked-command-live-preview.bad { color: #b21f2d; }

/* 2.8.1 OCLO Litigation */
.oclo-controls{grid-column:1/-1;display:grid;gap:8px;padding:8px;border:1px solid #d7dce5;border-radius:8px;background:#fbfcff}
.oclo-controls.hidden{display:none}
.oclo-pair-grid,.oclo-state-grid{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:6px}
.oclo-controls label{display:grid;gap:3px;font-size:11px;color:#344054}
.oclo-controls input,.oclo-controls select{min-width:0;width:100%;box-sizing:border-box}
.oclo-check{align-content:end}
.oclo-check>input{width:auto}
.oclo-check>span{white-space:nowrap}
.oclo-sanction-grid{display:flex;align-items:end;gap:6px;flex-wrap:wrap;font-size:11px}
.oclo-sanction-grid>span{font-weight:700;margin-right:2px}
.oclo-sanction-grid label{display:flex;align-items:center;gap:3px}
.oclo-sanction-grid select{width:68px}
.oclo-input-help{color:#667085}
.oclo-result-detail{font-weight:600}
@media (max-width:900px){.oclo-pair-grid,.oclo-state-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}


/* Version 2.8.1 Experimental — Litigation readability / IOU / history cleanup. */
.quick-iou-control .effect-chip,
.compact-effect-chips .effect-chip {
  min-height: 25px;
  padding: 4px 5px 4px 8px;
  gap: 6px;
  font-size: 9px;
  line-height: 1.25;
}
.quick-iou-control .effect-chip button,
.compact-effect-chips .effect-chip button {
  width: 19px;
  min-width: 19px;
  height: 19px;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.manager-previous-field-control .manager-previous-input[title]:not([title=""]) { cursor: help; }
.oclo-pair-grid,
.oclo-state-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
}
.oclo-controls label { min-width: 0; font-size: 12px; }
.oclo-controls input,
.oclo-controls select { min-height: 34px; }
@media (max-width: 560px) {
  .oclo-pair-grid, .oclo-state-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Version 2.9.0 Experimental — compact holistic Manager / Litigation layout. */
.manager-panel.oclo-active .settings-title.manager-panel-title {
  align-items: center;
  gap: 10px;
  padding-bottom: 6px;
}
.manager-panel.oclo-active .manager-panel-title h3 { margin-bottom: 1px; }
.manager-panel.oclo-active .manager-panel-title span { font-size: 10px; line-height: 1.2; }
.manager-panel.oclo-active .manager-control-stage { gap: 7px; }
.manager-panel.oclo-active .manager-controls { gap: 6px 9px; }
.manager-panel.oclo-active .manager-controls > label,
.manager-panel.oclo-active .manager-control-label { font-size: 11px; }
.manager-panel.oclo-active .manager-round-input-row,
.manager-panel.oclo-active .manager-segmented-buttons { min-height: 30px; }
.manager-panel.oclo-active .manager-previous-field-control .manager-previous-input { min-height: 32px; padding: 4px 7px; }

.oclo-controls {
  gap: 6px;
  padding: 7px;
  background: color-mix(in srgb, #fbfcff 92%, #efe9ff 8%);
}
.oclo-pair-grid { grid-template-columns: repeat(4, minmax(92px, 1fr)); gap: 5px 7px; }
.oclo-state-grid { grid-template-columns: repeat(4, minmax(90px, 1fr)); gap: 5px 7px; }
.oclo-controls label { gap: 2px; font-size: 10px; }
.oclo-controls input,
.oclo-controls select { min-height: 29px; height: 29px; padding-top: 2px; padding-bottom: 2px; }
.oclo-check { display: flex !important; align-items: center; gap: 5px !important; min-height: 29px; }
.oclo-check > input { width: 15px; height: 15px; flex: 0 0 auto; }
.oclo-sanction-grid { min-height: 29px; gap: 4px 6px; font-size: 10px; align-items: center; }
.oclo-sanction-grid label { display: flex; flex-direction: row; align-items: center; min-width: 0; }
.oclo-sanction-grid .oclo-toon-effect-label {
  max-width: 92px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}
.oclo-sanction-grid select { width: 66px; min-height: 27px; height: 27px; }
.oclo-input-help { font-size: 10px; line-height: 1.2; }

.manager-add-state-controls[data-manager-id="oclo-litigation"] {
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
}
.manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card {
  display: grid;
  grid-template-columns: minmax(92px, .8fr) 145px 124px max-content;
  grid-template-rows: auto;
  gap: 6px 8px;
  align-items: center;
  padding: 6px 8px;
}
.manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card > strong {
  grid-column: auto;
  font-size: 11px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card > label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  min-width: 0;
}
.manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card > label > span { white-space: nowrap; }
.manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card select {
  grid-column: auto;
  width: 84px;
  min-width: 0;
  min-height: 28px;
  height: 28px;
}
.manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card input[type="number"] {
  grid-column: auto;
  width: 64px;
  min-width: 0;
  min-height: 28px;
  height: 28px;
  box-sizing: border-box;
}
.manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card .oclo-overcharged-check {
  grid-column: auto;
  white-space: nowrap;
  flex: 0 0 auto;
  justify-self: end;
}
.manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card .oclo-overcharged-check input {
  width: 15px;
  height: 15px;
  margin: 0;
  flex: 0 0 auto;
}
.cog-unluring-control input:disabled + span { opacity: .48; }

@media (max-width: 980px) {
  .oclo-pair-grid, .oclo-state-grid { grid-template-columns: repeat(2, minmax(110px, 1fr)); }
  .manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card {
    grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr);
  }
  .manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card > strong {
    grid-column: 1 / -1;
  }
  .manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card .oclo-overcharged-check {
    justify-self: start;
  }
}
@media (max-width: 560px) {
  .oclo-pair-grid, .oclo-state-grid { grid-template-columns: minmax(0, 1fr); }
  .manager-add-state-controls[data-manager-id="oclo-litigation"] .oclo-grunt-state-card { grid-template-columns: minmax(0, 1fr); }
}

/* Version 2.9.2 Experimental — Litigation UI corrective.
   Ordinary Manager Mode intentionally inherits the pre-2.9 shared layout. */
.manager-panel.oclo-active .manager-panel-heading-copy > span {
  max-width: none;
  white-space: nowrap;
}
.manager-panel.oclo-active .manager-controls {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: 6px 8px;
}
.manager-panel.oclo-active .manager-selector-control {
  grid-column: 1 / -1;
  grid-row: 1;
  max-width: 290px;
}
.manager-panel.oclo-active #oclo-controls { grid-column: 1 / -1; grid-row: 2; }
.manager-panel.oclo-active .manager-round-control { grid-column: 1; grid-row: 3; }
.manager-panel.oclo-active .manager-previous-field-control { grid-column: 2; grid-row: 3; }
.manager-panel.oclo-active .manager-toonup-control { grid-column: 1; grid-row: 4; }
.manager-panel.oclo-active .manager-auto-round-status,
.manager-panel.oclo-active .manager-limitation { display: none !important; }
.manager-panel.oclo-active .manager-state-summary {
  margin-top: 6px;
  padding: 5px 7px;
  border: 1px solid #dfd2ec;
  border-radius: 5px;
  background: #faf7fd;
  color: #5b2c86;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 750;
}

.oclo-controls {
  gap: 6px;
  padding: 7px 8px;
}
.oclo-pair-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.oclo-manager-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  align-items: end;
  min-width: 0;
  padding: 6px;
  border: 1px solid #e1e4eb;
  border-radius: 6px;
  background: rgba(255,255,255,.72);
}
.oclo-manager-card > strong {
  grid-column: 1 / -1;
  color: #4b2a67;
  font-size: 10px;
  line-height: 1.1;
}
.oclo-manager-card > label { min-width: 0; }
.oclo-manager-card input,
.oclo-manager-card select { width: 100%; min-width: 0; }
.oclo-state-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px 6px;
}
.oclo-sanction-grid {
  padding-top: 1px;
  border-top: 1px solid #ece8f1;
}
.oclo-input-help {
  margin-top: -1px;
  color: #71647d;
}
.manager-panel.oclo-active .manager-round-input-row {
  grid-template-columns: minmax(58px, 1fr) auto auto;
}
.manager-panel.oclo-active .manager-toonup-control .manager-segmented-buttons {
  max-width: 245px;
}

@media (max-width: 720px) {
  .manager-panel.oclo-active .manager-panel-heading-copy > span { display: none; }
  .oclo-state-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .oclo-pair-grid { grid-template-columns: minmax(0, 1fr); }
  .manager-panel.oclo-active .manager-controls { grid-template-columns: minmax(0, 1fr); }
  .manager-panel.oclo-active .manager-selector-control,
  .manager-panel.oclo-active #oclo-controls,
  .manager-panel.oclo-active .manager-round-control,
  .manager-panel.oclo-active .manager-previous-field-control,
  .manager-panel.oclo-active .manager-toonup-control {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Version 1.0.3 Manager Redux — live per-Cog battle scratchpad. */
.cog-scratchpad {
  display: grid;
  gap: 4px;
  min-width: 0;
  margin-top: 2px;
}
.cog-scratchpad-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 5px;
  align-items: center;
}
.cog-scratchpad-input {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 5px 7px;
  font: inherit;
  font-size: 12px;
  background: var(--panel);
  color: var(--text);
}
.cog-scratchpad-input:focus {
  outline: 2px solid color-mix(in srgb, var(--accent) 38%, transparent);
  outline-offset: 1px;
}
.cog-scratchpad-undo {
  width: 30px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  color: var(--text);
  font-size: 16px;
  cursor: pointer;
}
.cog-scratchpad-undo:disabled {
  opacity: .35;
  cursor: default;
}
.cog-scratchpad-feedback {
  display: block;
  min-height: 14px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cog-scratchpad-feedback.error { color: #9f3e3e; }
.cog-card.scratchpad-defeated .cog-sprite-hover > img {
  opacity: .42;
  filter: grayscale(.5);
}
.scratchpad-defeated-x {
  position: absolute;
  z-index: 4;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -53%);
  padding: 0 !important;
  font-size: clamp(60px, 7vw, 92px) !important;
  line-height: .8;
  font-weight: 900;
  color: rgba(35, 29, 35, .86);
  text-shadow: 0 1px 0 rgba(255,255,255,.7), 0 0 3px rgba(255,255,255,.65);
  pointer-events: none;
}
.cog-card.scratchpad-defeated .cog-hp-overlay {
  z-index: 5;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .cog-scratchpad-input {
  font-size: 10px;
  padding-inline: 5px;
}
.cog-scratchpad-feedback:not(.active):empty { display: none; min-height: 0; }

/* Major Player — compact Dance Partner / cheat controls. */
.manager-major-player-viral {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  min-height: 34px;
}
.manager-major-player-viral > span { font-size: 11px; font-weight: 700; }
.manager-major-player-viral label { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; }
.manager-add-state-controls[data-manager-id="major-player"] {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.manager-add-state-controls[data-manager-id="major-player"] .major-player-state-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  align-content: start;
}
.major-player-state-card > strong { font-size: 11px; }
.major-player-state-card > label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  font-size: 10px;
}
.major-player-state-card select { min-width: 118px; max-width: 145px; }
.major-player-partner-picker { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.major-player-partner-picker button {
  min-width: 28px;
  min-height: 28px;
  border: 1px solid rgba(80,76,92,.22);
  border-radius: 7px;
  background: rgba(255,255,255,.7);
  padding: 3px 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  cursor: pointer;
}
.major-player-partner-picker button.selected {
  box-shadow: inset 0 0 0 2px rgba(54,49,67,.38);
  background: rgba(255,255,255,.98);
}
.major-player-partner-none { font-size: 9px; }
.major-player-partner-choice small { font-size: 8px; font-weight: 700; }
.major-player-shape { display: inline-block; width: 14px; height: 14px; flex: 0 0 14px; }
.major-player-shape-circle { border-radius: 50%; background: #55a7dd; border: 2px solid #2879b5; }
.major-player-shape-square { background: #79c56b; border: 2px solid #3a9839; }
.major-player-shape-star {
  background: #f4a43a;
  border: 1px solid #c86f20;
  clip-path: polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);
}
.major-player-shape-hex {
  background: #a77bd5;
  border: 1px solid #7548a6;
  clip-path: polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%);
}
.major-player-rising-check { justify-content: flex-start !important; }
@media (max-width: 760px) {
  .manager-add-state-controls[data-manager-id="major-player"] { grid-template-columns: 1fr; }
}

/* Multislacker compact supporting-Cog controls */
.multislacker-state-card { display:grid; gap:6px; }
.multislacker-state-card > label { display:grid; gap:3px; }
.multislacker-state-card > label > span { font-size:11px; opacity:.78; }

/* Version 1.2.3 QA Corrective — Manager card and inline-state cleanup. */
.manager-mandatory-lunch-control {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.manager-lunch-toggle {
  padding: 6px 10px;
  border: 1px solid rgba(80,76,92,.25);
  background: rgba(255,255,255,.74);
  color: inherit;
  font-size: 11px;
}
.manager-lunch-toggle.active {
  background: #5f6269;
  color: #fff;
  border-color: #44474d;
}
.manager-lunch-turns-control {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  font-size: 10px;
}
.manager-lunch-turns-control select { padding: 4px 5px; }

.cog-wet-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: rgba(65, 151, 221, .20);
  box-shadow: inset 0 0 28px rgba(30, 121, 199, .16);
}

.cog-frozen-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: rgba(126, 205, 244, .31);
  box-shadow: inset 0 0 34px rgba(226, 249, 255, .72), inset 0 0 8px rgba(83, 169, 221, .42);
}
.manager-at-lunch .cog-sprite-hover > img {
  filter: grayscale(.58) brightness(.58) contrast(.9);
}
.manager-at-lunch .cog-wet-overlay { opacity: .45; }
.manager-lunch-overlay-label {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(45,47,52,.82);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  pointer-events: none;
}

.major-player-inline-partner {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 5px;
  align-items: center;
  padding: 4px 7px 0;
}
.major-player-inline-partner .major-player-shape { width: 13px; height: 13px; }
.major-player-partner-shape-empty {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px dashed rgba(80,76,92,.35);
}
.major-player-partner-input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 3px 5px;
  font: inherit;
  font-size: 10px;
  background: rgba(255,255,255,.82);
}

/* Mouthpiece — Cookie + Red Thread live on the Cog they describe. */
.mouthpiece-cog-controls {
  display: grid;
  gap: 3px;
  padding: 4px 6px 0;
}
.mouthpiece-cookie-picker {
  padding: 0;
  min-height: 25px;
}
.mouthpiece-cookie-picker .mouthpiece-cookie-choice {
  width: 23px;
  height: 23px;
  min-width: 23px;
  padding: 2px;
}
.mouthpiece-cookie-picker .mouthpiece-cookie-choice img {
  width: 17px;
  height: 17px;
  object-fit: contain;
}
.mouthpiece-red-thread-row {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 4px;
  align-items: center;
}
.mouthpiece-thread-glyph {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  font-size: 13px;
  line-height: 1;
}
.mouthpiece-red-thread-input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 3px 5px;
  font: inherit;
  font-size: 10px;
  background: rgba(255,255,255,.82);
}

.multislacker-property-picker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px 5px 0;
  min-height: 25px;
}
.multislacker-property-picker button {
  width: 23px;
  height: 23px;
  min-width: 23px;
  padding: 2px;
  border-radius: 5px;
  border: 1px solid rgba(80,76,92,.18);
  background: rgba(255,255,255,.68);
  display: grid;
  place-items: center;
}
.multislacker-property-picker button:hover:not(:disabled) {
  border-color: rgba(90,61,133,.55);
  background: rgba(250,247,255,.96);
}
.multislacker-property-picker button.selected {
  outline: 2px solid rgba(98,60,153,.62);
  outline-offset: -1px;
  background: #fff;
}
.multislacker-property-picker button:disabled { opacity: .28; cursor: default; }
.multislacker-property-picker img {
  width: 18px !important;
  height: 18px !important;
  aspect-ratio: 1;
  object-fit: contain;
  background: transparent !important;
}
.multislacker-property-none { font-size: 14px; line-height: 1; }
.manager-add-state-controls[data-manager-id="multislacker"] {
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
}
.manager-add-state-controls[data-manager-id="multislacker"] .multislacker-state-card {
  gap: 4px;
  padding: 6px 7px;
}
.manager-add-state-controls[data-manager-id="multislacker"] .multislacker-state-card > strong { font-size: 10px; }
.manager-add-state-controls[data-manager-id="multislacker"] .multislacker-state-card select { font-size: 10px; padding: 4px 5px; }

/* The former empty tag row created a large gap above Scratchpad. */
.cog-tags:empty { display: none; min-height: 0; }
.cog-sue-control + .cog-scratchpad,
.cog-pressure-control + .cog-scratchpad,
.cog-lure-control + .cog-scratchpad { margin-top: -7px; }

/* Keep composite Throw/Drop result sprites inside the card's compact image box. */
.manager-headline-result .hybrid-finisher-card .hybrid-sprite-wrap,
.manager-compact-result .hybrid-finisher-card .hybrid-sprite-wrap {
  overflow: hidden !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: center;
}
.manager-headline-result .hybrid-finisher-card .hybrid-drop-sprite,
.manager-headline-result .hybrid-finisher-card .hybrid-throw-sprite {
  width: 23px !important;
  height: 23px !important;
  background-size: 184px 207px !important;
  background-position: calc(var(--col) * -23px) calc(var(--row) * -23px) !important;
  margin: 0 !important;
}
.manager-compact-result .hybrid-finisher-card .hybrid-drop-sprite,
.manager-compact-result .hybrid-finisher-card .hybrid-throw-sprite {
  width: 21px !important;
  height: 21px !important;
  background-size: 168px 189px !important;
  background-position: calc(var(--col) * -21px) calc(var(--row) * -21px) !important;
  margin: 0 !important;
}

/* Narrow Manager alternatives: # + family + accuracy on one line, state below. */
.manager-more-group-results {
  grid-template-columns: repeat(auto-fill, minmax(325px, 350px));
}
.manager-additional-result.manager-compact-result {
  grid-template-columns: 174px minmax(135px, 1fr);
  width: 100%;
  max-width: 350px;
  min-height: 98px;
}
.manager-compact-result .manager-compact-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.manager-compact-title {
  display: flex;
  align-items: baseline;
  gap: 4px;
  min-width: 0;
  white-space: nowrap;
}
.manager-compact-title .combo-rank { flex: 0 0 auto; }
.manager-compact-title .combo-family {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
  line-height: 1.1;
}
.manager-compact-title .combo-accuracy { flex: 0 0 auto; }
.manager-compact-stats {
  display: block;
  font-size: 9px !important;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.manager-cogs-down { font-weight: 900; }

@container combo-results (max-width: 820px) {
  .manager-additional-result.manager-compact-result { max-width: 350px; }
}
/* Composite finishers share the same bounded image area as a single Gag. */
.manager-headline-result .hybrid-finisher-card .hybrid-sprite-wrap,
.manager-compact-result .hybrid-finisher-card .hybrid-sprite-wrap {
  position: relative;
  display: block;
  overflow: hidden !important;
}
.manager-headline-result .hybrid-finisher-card .hybrid-drop-sprite,
.manager-headline-result .hybrid-finisher-card .hybrid-throw-sprite {
  position: absolute !important;
  top: 4px;
  width: 25px !important;
  height: 25px !important;
  background-size: 200px 225px !important;
  background-position: calc(var(--col) * -25px) calc(var(--row) * -25px) !important;
  margin: 0 !important;
}
.manager-headline-result .hybrid-finisher-card .hybrid-drop-sprite { left: 0; }
.manager-headline-result .hybrid-finisher-card .hybrid-throw-sprite { right: 0; }
.manager-compact-result .hybrid-finisher-card .hybrid-drop-sprite,
.manager-compact-result .hybrid-finisher-card .hybrid-throw-sprite {
  position: absolute !important;
  top: 3px;
  width: 28px !important;
  height: 28px !important;
  background-size: 224px 252px !important;
  background-position: calc(var(--col) * -28px) calc(var(--row) * -28px) !important;
  margin: 0 !important;
}
.manager-compact-result .hybrid-finisher-card .hybrid-drop-sprite { left: 0; }
.manager-compact-result .hybrid-finisher-card .hybrid-throw-sprite { right: 0; }

/* Version 1.2.3 QA Corrective — dense Cog status and Manager field cleanup. */
.cog-status-check-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 3px;
  min-height: 18px;
}
.cog-status-check-row .cog-sue-control {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 0;
  font-size: 11px;
  line-height: 1.05;
}
.cog-status-check-row .cog-sue-control input {
  margin: 0;
  width: 13px;
  height: 13px;
}
.cog-status-check-row .cog-sue-control span { padding-left: 0; }

/* Mandatory Lunch occupies the first state-card slot for Multislacker. */
.manager-add-state-row[data-manager-id="multislacker"] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.manager-add-state-row[data-manager-id="multislacker"] > .manager-add-state-controls[data-manager-id="multislacker"] {
  display: contents;
}
.manager-add-state-row[data-manager-id="multislacker"] .manager-mandatory-lunch-control:not(.hidden) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 39px;
  margin: 0;
  padding: 6px 7px;
  box-sizing: border-box;
  border: 1px solid rgba(80, 95, 120, 0.24);
  border-radius: 8px;
  background: rgba(255,255,255,0.56);
}
.manager-add-state-row[data-manager-id="multislacker"] .manager-lunch-toggle {
  min-height: 29px;
  padding: 5px 9px;
  font-size: 10px;
  white-space: nowrap;
}
.manager-add-state-row[data-manager-id="multislacker"] .manager-lunch-turns-control {
  margin: 0;
  font-size: 9px;
}
.manager-add-state-row[data-manager-id="multislacker"] .manager-lunch-turns-control select {
  font-size: 10px;
  padding: 3px 4px;
}
.manager-add-state-controls[data-manager-id="multislacker"] .multislacker-state-card label:has([data-manager-add-field="multislacker-role"]) {
  grid-template-columns: auto minmax(120px, 1fr);
}
.manager-add-state-controls[data-manager-id="multislacker"] select[data-manager-add-field="multislacker-role"] {
  width: 154px;
  min-width: 154px;
  max-width: 100%;
}

/* Six Multislacker properties remain one-click controls, but wrap to 2×3 on dense fields. */
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .multislacker-property-picker {
  display: grid;
  grid-template-columns: repeat(3, 20px);
  grid-auto-rows: 20px;
  justify-content: center;
  align-content: center;
  gap: 2px;
  min-height: 42px;
  padding: 3px 2px 0;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .multislacker-property-picker button {
  width: 20px;
  height: 20px;
  min-width: 20px;
  padding: 1px;
  border-radius: 4px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .multislacker-property-picker img {
  width: 15px !important;
  height: 15px !important;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .multislacker-property-none {
  font-size: 12px;
}

/* Target geometry should be decipherable at live-battle glance speed. */
.combo-row .target-notation,
.manager-headline-result .target-notation,
.manager-compact-result .target-notation {
  font-size: 13px !important;
  line-height: 1.05 !important;
  letter-spacing: .8px !important;
  font-weight: 800 !important;
}

/* Normalize manager result images without changing ordinary result-card geometry. */
.manager-headline-result .gag-image-wrap > .gag-sprite,
.manager-headline-result .gag-image-wrap > .verified-zap-sprite {
  width: 34px !important;
  height: 34px !important;
  margin: 1px auto !important;
}
.manager-compact-result .gag-image-wrap > .gag-sprite,
.manager-compact-result .gag-image-wrap > .verified-zap-sprite {
  width: 31px !important;
  height: 31px !important;
  margin: 1px auto !important;
}

/* Version 1.4.0 — inline Manager properties and bounded sprites. */
.manager-mandatory-lunch-control.hidden,
.manager-add-state-row:not([data-manager-id="multislacker"]) .manager-mandatory-lunch-control {
  display: none !important;
}
.manager-add-state-row[data-manager-id="multislacker"] .manager-mandatory-lunch-control:not(.hidden) {
  display: flex !important;
}

/* Named Manager portraits use one authoritative fit rule. */
.cog-card .cog-sprite-hover > img.manager-cog-sprite {
  width: 100%;
  object-fit: contain;
  object-position: center center;
  background: #d9dde2;
}

/* Shared compact 3×2 property palette used by Major Player and Rainmaker. */
.manager-inline-property-picker {
  display: grid;
  grid-template-columns: repeat(3, 23px);
  grid-auto-rows: 23px;
  justify-content: center;
  gap: 3px;
  padding: 4px 5px 0;
  min-height: 49px;
}
.manager-inline-property-picker button {
  position: relative;
  width: 23px;
  height: 23px;
  min-width: 23px;
  padding: 2px;
  border-radius: 5px;
  border: 1px solid rgba(80,76,92,.18);
  background: rgba(255,255,255,.68);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.manager-inline-property-picker button:hover {
  border-color: rgba(90,61,133,.55);
  background: rgba(250,247,255,.96);
}
.manager-inline-property-picker button.selected {
  outline: 2px solid rgba(98,60,153,.62);
  outline-offset: -1px;
  background: #fff;
}
.manager-inline-property-picker img {
  width: 18px !important;
  height: 18px !important;
  aspect-ratio: 1 !important;
  object-fit: contain !important;
  background: transparent !important;
}
.manager-inline-property-picker .manager-property-none {
  font-size: 14px;
  line-height: 1;
}
.rainmaker-property-picker .manager-property-choice small {
  position: absolute;
  right: 1px;
  bottom: 0;
  padding: 0 1px;
  border-radius: 3px;
  background: rgba(255,255,255,.88);
  color: #31233d;
  font-size: 5.5px;
  line-height: 1.1;
  font-weight: 900;
}

/* Major Player: partner → 3×2 property palette → None/Rising/Superstar. */
.major-player-inline-partner {
  padding: 4px 7px 0;
}
.major-player-role-picker {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
  padding: 4px 6px 0;
}
.major-player-role-picker button {
  min-width: 0;
  min-height: 28px;
  padding: 2px 3px;
  border: 1px solid rgba(80,76,92,.18);
  border-radius: 5px;
  background: rgba(255,255,255,.68);
  color: inherit;
  font-size: 6.5px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  overflow: hidden;
}
.major-player-role-picker button.selected {
  outline: 2px solid rgba(98,60,153,.62);
  outline-offset: -1px;
  background: #fff;
}
.major-player-role-picker img {
  width: 18px !important;
  height: 18px !important;
  aspect-ratio: 1 !important;
  object-fit: contain !important;
  background: transparent !important;
  flex: 0 0 18px;
}
.major-player-role-picker span {
  padding: 0 !important;
  font-size: 6.5px !important;
  white-space: nowrap;
}
.major-player-role-none { font-weight: 800; }

/* Dense fields retain readable inline controls without widening Cog cards. */
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .manager-inline-property-picker {
  grid-template-columns: repeat(3, 20px);
  grid-auto-rows: 20px;
  gap: 2px;
  min-height: 42px;
  padding-inline: 3px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .manager-inline-property-picker button {
  width: 20px;
  height: 20px;
  min-width: 20px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .manager-inline-property-picker img {
  width: 15px !important;
  height: 15px !important;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .major-player-role-picker {
  padding-inline: 3px;
  gap: 2px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .major-player-role-picker button {
  min-height: 23px;
  font-size: 5.5px;
  padding-inline: 1px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .major-player-role-picker img {
  width: 14px !important;
  height: 14px !important;
  flex-basis: 14px;
}
.cogs-panel .cog-cards:is([data-cog-count="5"], [data-cog-count="6"]) .major-player-role-picker span {
  font-size: 5.5px !important;
}

/* Final authoritative Manager result-sprite geometry. The cell size and the
   scaled sprite sheet always agree, so no Gag can zoom/crop out of its box. */
.manager-headline-result .gag-image-wrap > .gag-sprite {
  width: 34px !important;
  height: 34px !important;
  margin: 1px auto !important;
  background-size: 272px 306px !important;
  background-position: calc(var(--col) * -34px) calc(var(--row) * -34px) !important;
}
.manager-compact-result .gag-image-wrap > .gag-sprite {
  width: 31px !important;
  height: 31px !important;
  margin: 1px auto !important;
  background-size: 248px 279px !important;
  background-position: calc(var(--col) * -31px) calc(var(--row) * -31px) !important;
}
.manager-headline-result .gag-image-wrap > img,
.manager-compact-result .gag-image-wrap > img {
  object-fit: contain !important;
  object-position: center !important;
}
.manager-headline-result .hybrid-finisher-card .hybrid-sprite-wrap {
  width: 34px !important;
  height: 34px !important;
  position: relative !important;
  overflow: hidden !important;
}
.manager-headline-result .hybrid-finisher-card .hybrid-drop-sprite,
.manager-headline-result .hybrid-finisher-card .hybrid-throw-sprite {
  position: absolute !important;
  top: 8px !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  background-size: 136px 153px !important;
  background-position: calc(var(--col) * -17px) calc(var(--row) * -17px) !important;
}
.manager-headline-result .hybrid-finisher-card .hybrid-drop-sprite { left: 0 !important; }
.manager-headline-result .hybrid-finisher-card .hybrid-throw-sprite { right: 0 !important; }
.manager-compact-result .hybrid-finisher-card .hybrid-sprite-wrap {
  width: 31px !important;
  height: 31px !important;
  position: relative !important;
  overflow: hidden !important;
}
.manager-compact-result .hybrid-finisher-card .hybrid-drop-sprite,
.manager-compact-result .hybrid-finisher-card .hybrid-throw-sprite {
  position: absolute !important;
  top: 8px !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  background-size: 120px 135px !important;
  background-position: calc(var(--col) * -15px) calc(var(--row) * -15px) !important;
}
.manager-compact-result .hybrid-finisher-card .hybrid-drop-sprite { left: 0 !important; }
.manager-compact-result .hybrid-finisher-card .hybrid-throw-sprite { right: 0 !important; }

/* Version 1.4.0 — make Rainmaker's intentionally shared absorption icon legible. */
.rainmaker-property-picker .manager-property-choice small {
  right: 0;
  bottom: 0;
  min-width: 15px;
  padding: 1px 2px;
  border-radius: 4px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 0 0 1px rgba(49,35,61,.18);
  font-size: 8px;
  line-height: 1;
  letter-spacing: -.2px;
}

/* Plutocrat / Satellite Investor per-Cog state. The user supplies the actual
   post-summon field, so these controls describe visible state rather than
   predicting surprise Cog placement. */
.plutocrat-cog-controls {
  display: grid;
  gap: 4px;
  padding: 5px 6px 0;
  min-width: 0;
}
.plutocrat-investor-picker {
  display: grid;
  gap: 2px;
  min-width: 0;
  color: rgba(49,35,61,.78);
  font-size: 7px;
  font-weight: 800;
}
.plutocrat-investor-picker select {
  width: 100%;
  min-width: 0;
  height: 24px;
  padding: 1px 4px;
  border: 1px solid rgba(80,76,92,.18);
  border-radius: 5px;
  background: rgba(255,255,255,.82);
  color: #31233d;
  font-size: 8px;
  font-weight: 700;
}
.plutocrat-frozen-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 18px;
  color: #31233d;
  font-size: 8px;
  font-weight: 800;
}
.plutocrat-frozen-toggle input { margin: 0; }

/* 1.4.7 Bellringer / Featherbedder inline manager states */
.manager-inline-state-toggle,
.manager-inline-state-select {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:3px auto 2px;
  font-size:11px;
  line-height:1.15;
}
.manager-inline-state-toggle input { margin:0; }
.manager-inline-state-select select {
  min-width:72px;
  max-width:96px;
  font-size:11px;
  padding:2px 4px;
}

/* 1.4.7 sparse-result supplemental Cope section. Ordinary winning calls paint
   first; the heavier Cope search fills this section asynchronously. */
.supplemental-cope-section {
  margin-top: 18px;
  padding-top: 4px;
}
.supplemental-cope-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 4px 0 10px;
  color: #756e80;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.supplemental-cope-divider::before,
.supplemental-cope-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: currentColor;
  opacity: .28;
}
.supplemental-cope-loading {
  padding: 8px 10px 12px;
  color: #746d7d;
  font-size: 12px;
  text-align: center;
}
.supplemental-cope-results .combo-row {
  opacity: .94;
}

/* 1.5: custom-damage warnings are actionable shortcuts to the existing Toon editor. */
.active-effect-warning-link {
  appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px;
}
.active-effect-warning-link:hover,
.active-effect-warning-link:focus-visible {
  text-decoration-style: solid;
}
.active-effect-warning-label,
.active-effect-warning-link {
  display: block;
}

/* Version 1.5.4 — movable panels and ranking preferences */
.settings-panel-stack {
  display: grid;
  gap: 12px;
}
.movable-settings-panel {
  margin-top: 0 !important;
  transition: opacity .12s ease, box-shadow .12s ease;
}
.movable-settings-panel.panel-dragging {
  opacity: .58;
  box-shadow: 0 0 0 2px rgba(80,96,121,.18);
}
.movable-panel-title {
  align-items: center;
}
.movable-panel-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.panel-drag-handle,
.panel-collapse-button {
  border: 1px solid var(--line);
  background: #f4f6f8;
  color: #4f5963;
  border-radius: 5px;
  min-width: 30px;
  height: 28px;
  line-height: 1;
  padding: 0 8px;
  font-weight: 800;
  cursor: pointer;
}
.panel-drag-handle { cursor: grab; }
.panel-drag-handle:active { cursor: grabbing; }
.movable-settings-panel[data-collapsed="true"] > :not(.settings-title) {
  display: none !important;
}
.movable-settings-panel[data-collapsed="true"] .panel-collapse-button {
  transform: rotate(-90deg);
}
.settings-layout-toolbar {
  display: flex;
  gap: 9px;
  align-items: center;
  margin: 10px 0 12px;
  color: var(--muted);
  font-size: 12px;
}

.ranking-preferences {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}
.ranking-preferences-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.ranking-preferences-title h4 {
  margin: 0 0 3px;
  font-size: 15px;
}
.ranking-preferences-title span {
  color: var(--muted);
  font-size: 12px;
}
.ranking-preserve-warning {
  margin-top: 9px;
  padding: 8px 10px;
  border: 1px solid #e8c36a;
  background: #fff8df;
  border-radius: 5px;
  font-size: 12px;
}
.ranking-preference-controls {
  margin-top: 10px;
  display: grid;
  gap: 10px;
}
.ranking-preference-group {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fafbfc;
  padding: 9px;
}
.ranking-preference-group > strong,
.ranking-gag-details > summary {
  font-size: 12px;
}
.ranking-preference-group-note {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin: 2px 0 7px;
}
.ranking-preference-row {
  display: grid;
  grid-template-columns: minmax(105px, .8fr) minmax(135px, 1.5fr) 94px 126px;
  gap: 8px;
  align-items: center;
  min-height: 31px;
}
.ranking-preference-row + .ranking-preference-row {
  border-top: 1px solid #edf0f3;
}
.ranking-preference-row input[type="range"] {
  width: 100%;
}
.ranking-preference-raw {
  width: 82px;
  padding: 5px 6px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ranking-preference-effective {
  color: var(--muted);
  font-size: 11px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ranking-preference-caption {
  color: var(--muted);
  font-size: 10px;
  display: block;
}
.ranking-gag-details {
  margin-top: 7px;
}
.ranking-gag-details > summary {
  cursor: pointer;
  font-weight: 700;
}
.ranking-gag-track {
  margin-top: 8px;
}
.ranking-gag-track > summary {
  cursor: pointer;
  color: #4f5963;
  font-size: 12px;
  font-weight: 700;
}
.custom-ranking-indicator {
  border: 1px solid #aa92d0;
  background: #f3edfb;
  color: #51416d;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 760px) {
  .ranking-preference-row {
    grid-template-columns: 1fr 90px;
    padding: 5px 0;
  }
  .ranking-preference-row input[type="range"] { grid-column: 1 / -1; }
  .ranking-preference-effective { text-align: left; }
  .settings-layout-toolbar { align-items: flex-start; }
}

/* Version 1.5.7 — compact informational L6/L7 Gag Tracker. */
.gag-tracker-panel {
  padding-bottom: 10px;
}
.gag-tracker-title-copy {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.gag-tracker-title-copy small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}
.gag-tracker-toolbar-button {
  border: 1px solid var(--line);
  background: #f7f8fa;
  color: #4f5963;
  border-radius: 5px;
  min-height: 28px;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.gag-tracker-toolbar-button:disabled {
  opacity: .45;
  cursor: default;
}
.gag-tracker-rows {
  display: grid;
  gap: 6px;
}
.gag-tracker-toon {
  display: grid;
  grid-template-columns: minmax(86px, 116px) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 5px 7px;
  border: 1px solid rgba(80,95,120,.15);
  border-radius: 8px;
  background: rgba(255,255,255,.45);
}
.gag-tracker-toon-name {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  font-size: 11px;
}
.gag-tracker-toon-name strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gag-tracker-slot {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(80,96,121,.12);
  color: #536172;
  font-size: 9px;
  font-weight: 900;
}
.gag-tracker-levels {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.gag-tracker-level-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 4px;
}
.gag-tracker-level-label {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
}
.gag-tracker-gags {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}
.gag-tracker-gag {
  position: relative;
  width: 34px;
  height: 31px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(80,95,120,.18);
  border-radius: 6px;
  background: rgba(247,249,251,.94);
  cursor: pointer;
}
.gag-tracker-gag:hover,
.gag-tracker-gag:focus-visible {
  border-color: rgba(65,86,112,.55);
  box-shadow: 0 0 0 1px rgba(65,86,112,.12);
}
.gag-tracker-gag.exhausted {
  opacity: .43;
  filter: grayscale(.8);
}
.gag-tracker-sprite-wrap {
  position: absolute;
  left: 2px;
  top: 2px;
  width: 27px;
  height: 27px;
  overflow: hidden;
  pointer-events: none;
}
.gag-tracker-sprite-wrap .gag-sprite {
  width: 27px !important;
  height: 27px !important;
  margin: 0 !important;
  background-size: 216px 243px !important;
  background-position: calc(var(--col) * -27px) calc(var(--row) * -27px) !important;
}
.gag-tracker-sprite-wrap .compact-gag-image {
  width: 27px !important;
  height: 27px !important;
  object-fit: contain;
  margin: 0 !important;
}
.gag-tracker-count {
  position: absolute;
  right: 1px;
  bottom: 1px;
  min-width: 14px;
  height: 14px;
  padding: 0 2px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(35,43,53,.88);
  color: white;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
}
.gag-tracker-last {
  min-height: 14px;
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.25;
}
@media (max-width: 700px) {
  .gag-tracker-title-copy small { display: none; }
  .gag-tracker-toon { grid-template-columns: 74px minmax(0, 1fr); }
  .gag-tracker-gag { width: 31px; }
}


/* Version 1.5.8 hotfix — Gag Tracker sprite rendering and compactness.
   Sprite-sheet Gags are spans, so they must establish a box; without this,
   only Zap's standalone <img> assets were visible. */
.gag-tracker-rows {
  gap: 4px;
}
.gag-tracker-toon {
  grid-template-columns: minmax(82px, 108px) minmax(0, 1fr);
  gap: 6px;
  padding: 3px 6px;
  border-radius: 7px;
}
.gag-tracker-levels {
  gap: 2px;
}
.gag-tracker-level-row {
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 3px;
}
.gag-tracker-gags {
  gap: 2px;
}
.gag-tracker-gag {
  width: 31px;
  height: 28px;
  border-radius: 5px;
}
.gag-tracker-sprite-wrap {
  left: 3px;
  top: 2px;
  width: 23px;
  height: 23px;
  display: block;
}
.gag-tracker-sprite-wrap .gag-sprite {
  display: block;
  width: 23px !important;
  height: 23px !important;
  background-size: 184px 207px !important;
  background-position: calc(var(--col) * -23px) calc(var(--row) * -23px) !important;
}
.gag-tracker-sprite-wrap .compact-gag-image {
  display: block;
  width: 23px !important;
  height: 23px !important;
}
.gag-tracker-count {
  right: 1px;
  bottom: 1px;
  min-width: 12px;
  height: 12px;
  padding: 0 1px;
  border-radius: 7px;
  font-size: 8px;
}
.gag-tracker-last {
  margin-top: 4px;
}
@media (max-width: 700px) {
  .gag-tracker-toon { grid-template-columns: 70px minmax(0, 1fr); }
  .gag-tracker-gag { width: 29px; }
}

/* Version 1.5.9 — Gag Tracker depletion/apply states, optional 2×2 layout, and Sued Cog tint. */
.cog-card.sued-cog .cog-sprite-hover > img {
  filter: grayscale(.18) saturate(.72) brightness(.95);
  opacity: .86;
}

.gag-tracker-toolbar-button.attention {
  border-color: rgba(176, 69, 69, .58);
  background: rgba(225, 105, 105, .18);
  color: #8f3737;
}
.gag-tracker-toolbar-button.selected {
  border-color: rgba(82, 97, 119, .42);
  background: rgba(94, 111, 137, .12);
  color: #455468;
}
.gag-tracker-gag.low-stock {
  border-color: rgba(185, 72, 72, .48);
  background: rgba(220, 101, 101, .10);
  box-shadow: inset 0 0 0 1px rgba(181, 67, 67, .06);
}
.gag-tracker-gag.low-stock .gag-tracker-sprite-wrap {
  filter: sepia(.34) saturate(1.5) hue-rotate(315deg);
}
.gag-tracker-gag.low-stock .gag-tracker-count {
  background: rgba(143, 55, 55, .92);
}
.toon-emblem-gag-tracker {
  width: 16px;
  height: 16px;
}
.gag-tracker-rows.two-row-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.gag-tracker-rows.two-row-layout .gag-tracker-toon {
  grid-template-columns: minmax(68px, 90px) minmax(0, 1fr);
  gap: 4px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-gag {
  width: 29px;
}
@media (max-width: 620px) {
  .gag-tracker-rows.two-row-layout {
    grid-template-columns: 1fr;
  }
}

/* Version 1.5.9.1 — Gag Tracker reserve/minimal views and fixed-column layout. */
.cog-card.sued-cog .cog-sprite-hover > img {
  filter: grayscale(.34) saturate(.58) brightness(.86);
  opacity: .86;
}

.gag-tracker-panel .settings-title {
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
}
.gag-tracker-title-copy {
  flex: 0 0 auto;
}
.gag-tracker-toolbar-actions {
  flex: 1 1 280px;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px;
}
.gag-tracker-toolbar-actions .gag-tracker-toolbar-button,
.gag-tracker-toolbar-actions .panel-drag-handle,
.gag-tracker-toolbar-actions .panel-collapse-button {
  min-height: 27px;
  height: 27px;
}

.gag-tracker-toon {
  grid-template-columns: minmax(70px, 1fr) auto;
  gap: 7px;
  align-items: center;
  padding: 4px 7px;
}
.gag-tracker-toon-name {
  gap: 4px;
}
.gag-tracker-levels {
  --gag-tracker-cell: 31px;
  --gag-tracker-height: 28px;
  min-width: 0;
  width: max-content;
}
.gag-tracker-level-row {
  grid-template-columns: 18px auto;
  justify-content: end;
  gap: 3px;
}
.gag-tracker-level-label {
  text-align: center;
}
.gag-tracker-gags {
  display: grid;
  grid-template-columns: repeat(var(--gag-tracker-columns), var(--gag-tracker-cell));
  gap: 2px;
  flex-wrap: initial;
}
.gag-tracker-gag,
.gag-tracker-gag-placeholder {
  width: var(--gag-tracker-cell);
  height: var(--gag-tracker-height);
}
.gag-tracker-gag-placeholder {
  display: block;
  border: 0;
  background: transparent;
  pointer-events: none;
}

/* A 2×2 card gets a full-width Toon header so the Gags no longer compete
   with a permanent name column for horizontal space. */
.gag-tracker-rows.two-row-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  align-items: stretch;
}
.gag-tracker-rows.two-row-layout .gag-tracker-toon {
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  align-items: start;
  gap: 4px;
  min-width: 0;
  padding: 5px 5px 6px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-toon-name {
  width: 100%;
  min-width: 0;
  padding: 0 1px 3px;
  border-bottom: 1px solid rgba(80,95,120,.09);
}
.gag-tracker-rows.two-row-layout .gag-tracker-levels {
  --gag-tracker-cell: 24px;
  --gag-tracker-height: 24px;
  width: 100%;
}
.gag-tracker-rows.two-row-layout .gag-tracker-level-row {
  grid-template-columns: 14px auto;
  justify-content: center;
  gap: 2px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-level-label {
  font-size: 8px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-gag {
  width: var(--gag-tracker-cell);
  height: var(--gag-tracker-height);
  border-radius: 5px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap {
  left: 2px;
  top: 2px;
  width: 19px;
  height: 19px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap .gag-sprite {
  width: 19px !important;
  height: 19px !important;
  background-size: 152px 171px !important;
  background-position: calc(var(--col) * -19px) calc(var(--row) * -19px) !important;
}
.gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap .compact-gag-image {
  width: 19px !important;
  height: 19px !important;
}
.gag-tracker-rows.two-row-layout .gag-tracker-count {
  min-width: 11px;
  height: 11px;
  font-size: 7px;
}
.gag-tracker-rows.two-row-layout .toon-emblem-gag-tracker {
  width: 15px;
  height: 15px;
}

/* Minimal keeps two inventory rows but collapses Trap/Lure into one utility
   column: Hypno-goggles on L6 and Wrecking Ball on L7. */
.gag-tracker-rows.minimal-mode:not(.two-row-layout) .gag-tracker-levels {
  --gag-tracker-cell: 32px;
}
.gag-tracker-rows.two-row-layout.minimal-mode .gag-tracker-levels {
  --gag-tracker-cell: 27px;
  --gag-tracker-height: 25px;
}
.gag-tracker-rows.two-row-layout.minimal-mode .gag-tracker-sprite-wrap {
  left: 3px;
  width: 20px;
  height: 20px;
}
.gag-tracker-rows.two-row-layout.minimal-mode .gag-tracker-sprite-wrap .gag-sprite {
  width: 20px !important;
  height: 20px !important;
  background-size: 160px 180px !important;
  background-position: calc(var(--col) * -20px) calc(var(--row) * -20px) !important;
}
.gag-tracker-rows.two-row-layout.minimal-mode .gag-tracker-sprite-wrap .compact-gag-image {
  width: 20px !important;
  height: 20px !important;
}

/* Keep the requested 2×2 arrangement at the compact desktop widths shown in
   the UI captures; only fall back to one column on genuinely narrow screens. */
@media (max-width: 620px) {
  .gag-tracker-rows.two-row-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gag-tracker-toon {
    grid-template-columns: minmax(66px, 1fr) auto;
  }
}
@media (max-width: 390px) {
  .gag-tracker-rows.two-row-layout {
    grid-template-columns: 1fr;
  }
}

/* Version 1.6.2 — Backburner/Power Nap steppers and tick-calibrated Chainsaw RPM marker. */
.battle-order-controls {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 6px;
}
.battle-order-controls .battle-order-control { margin-top: 7px; }
.manager-fixed-right-control.hidden { display: none; }

/* The supplied transparent phase artwork owns the RPM gauge itself. Text is
   deliberately kept in the normal-flow figcaption below the image. */
.chainsaw-rpm-visual {
  position: relative;
  width: 104px;
  min-width: 104px;
  height: auto;
  margin: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
}
.chainsaw-rpm-meter-frame {
  position: relative;
  width: 78px;
  margin: 0 auto;
}
.chainsaw-rpm-visual img {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
}
.chainsaw-rpm-marker {
  position: absolute;
  z-index: 4;
  left: 15%;
  right: 3%;
  width: auto;
  height: 2px;
  background: #24272b;
  border: 1px solid rgba(255,255,255,.86);
  box-shadow: 0 0 0 1px rgba(28,31,36,.34);
  transform: translateY(-50%);
  transition: top 180ms ease;
  pointer-events: none;
}
.chainsaw-rpm-visual figcaption {
  position: static;
  display: grid;
  gap: 2px;
  margin-top: 5px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: center;
  font-size: 9px;
  line-height: 1.2;
}
.chainsaw-rpm-visual figcaption strong { font-size: 10px; }
@media (max-width: 760px) {
  .chainsaw-rpm-visual { width: 104px; min-width: 104px; height: auto; }
  .chainsaw-rpm-visual img { object-fit: contain; object-position: center; }
}

.manager-stack-stepper {
  margin: 3px auto 0;
  display: grid;
  justify-items: center;
  gap: 2px;
  width: max-content;
  max-width: 126px;
}
.manager-stack-stepper-label {
  font-size: 9px;
  line-height: 1.1;
  color: var(--muted);
}
.manager-stack-stepper-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
}
.manager-stack-stepper-button,
.manager-stack-stepper-state {
  border: 1px solid rgba(80,76,92,.2);
  background: rgba(255,255,255,.72);
  color: var(--text);
  border-radius: 5px;
  min-width: 22px;
  height: 24px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.manager-stack-stepper-button {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
.manager-stack-stepper-button:disabled,
.manager-stack-stepper-state:disabled {
  cursor: default;
  opacity: .38;
}
.manager-stack-stepper-state {
  position: relative;
  min-width: 38px;
  padding: 1px 5px 1px 2px;
  gap: 1px;
}
.manager-stack-stepper-state.active {
  background: rgba(255,255,255,.94);
  border-color: rgba(89,67,123,.4);
}
.manager-stack-stepper-state img {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
  background: transparent !important;
}
.manager-stack-stepper-state strong {
  min-width: 9px;
  text-align: center;
  font-size: 11px;
  line-height: 1;
}
.manager-stack-stepper-state strong small {
  font-size: 7px;
  font-weight: 600;
  margin-left: 1px;
}
.firestarter-backburner .manager-stack-stepper-state.active {
  border-color: rgba(188,82,31,.48);
  background: rgba(255,239,224,.88);
}
.featherbedder-power-nap .manager-stack-stepper-state.active {
  border-color: rgba(184,145,9,.48);
  background: rgba(255,248,214,.92);
}
.chainsaw-state-picker {
  grid-template-columns: repeat(4, 23px);
  grid-auto-rows: 23px;
  min-height: 30px;
}
.chainsaw-state-picker .chainsaw-promoted-choice strong {
  color: #111;
  font-size: 14px;
  line-height: 1;
}
.plutocrat-cog-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
}
.plutocrat-slush-fund-choice {
  position: relative;
  width: 27px;
  height: 27px;
  padding: 2px;
  border-radius: 5px;
  border: 1px solid rgba(80,76,92,.18);
  background: rgba(255,255,255,.68);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.plutocrat-slush-fund-choice.selected {
  outline: 2px solid rgba(98,60,153,.62);
  outline-offset: -1px;
  background: #fff;
}
.plutocrat-slush-fund-choice img {
  width: 21px !important;
  height: 21px !important;
  object-fit: contain !important;
  background: transparent !important;
}
.plutocrat-slush-fund-choice small {
  position: absolute;
  right: 0;
  bottom: 0;
  border-radius: 3px;
  padding: 0 1px;
  background: rgba(255,255,255,.9);
  font-size: 6px;
  font-weight: 900;
  line-height: 1;
}
.manager-wet-control { margin-top: 3px; }

.cog-card.sued-cog .cog-sprite-hover > img {
  filter: grayscale(.42) saturate(.50) brightness(.80);
  opacity: .84;
}

/* Larger inventory art. 2×2 Manager mode grows from 19px to 27px linear
   sprites (~2× visible area) while retaining all seven fixed columns. */
.gag-tracker-levels {
  --gag-tracker-cell: 36px;
  --gag-tracker-height: 34px;
}
.gag-tracker-gag,
.gag-tracker-gag-placeholder {
  width: var(--gag-tracker-cell);
  height: var(--gag-tracker-height);
}
.gag-tracker-sprite-wrap {
  left: 2px;
  top: 1px;
  width: 31px;
  height: 31px;
}
.gag-tracker-sprite-wrap .gag-sprite {
  width: 31px !important;
  height: 31px !important;
  background-size: 248px 279px !important;
  background-position: calc(var(--col) * -31px) calc(var(--row) * -31px) !important;
}
.gag-tracker-sprite-wrap .compact-gag-image {
  width: 31px !important;
  height: 31px !important;
}
.gag-tracker-count {
  min-width: 14px;
  height: 14px;
  padding: 0 2px;
  border-radius: 8px;
  font-size: 9px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-levels {
  --gag-tracker-cell: 30px;
  --gag-tracker-height: 30px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap {
  left: 1px;
  top: 1px;
  width: 27px;
  height: 27px;
}
.gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap .gag-sprite {
  width: 27px !important;
  height: 27px !important;
  background-size: 216px 243px !important;
  background-position: calc(var(--col) * -27px) calc(var(--row) * -27px) !important;
}
.gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap .compact-gag-image {
  width: 27px !important;
  height: 27px !important;
}
.gag-tracker-rows.two-row-layout .gag-tracker-count {
  min-width: 13px;
  height: 13px;
  font-size: 8px;
}
.gag-tracker-rows.two-row-layout.minimal-mode .gag-tracker-levels {
  --gag-tracker-cell: 34px;
  --gag-tracker-height: 33px;
}
.gag-tracker-rows.two-row-layout.minimal-mode .gag-tracker-sprite-wrap {
  left: 2px;
  top: 1px;
  width: 30px;
  height: 30px;
}
.gag-tracker-rows.two-row-layout.minimal-mode .gag-tracker-sprite-wrap .gag-sprite {
  width: 30px !important;
  height: 30px !important;
  background-size: 240px 270px !important;
  background-position: calc(var(--col) * -30px) calc(var(--row) * -30px) !important;
}
.gag-tracker-rows.two-row-layout.minimal-mode .gag-tracker-sprite-wrap .compact-gag-image {
  width: 30px !important;
  height: 30px !important;
}
@media (max-width: 500px) {
  .gag-tracker-rows.two-row-layout .gag-tracker-levels {
    --gag-tracker-cell: 28px;
    --gag-tracker-height: 28px;
  }
  .gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap {
    width: 25px;
    height: 25px;
  }
  .gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap .gag-sprite {
    width: 25px !important;
    height: 25px !important;
    background-size: 200px 225px !important;
    background-position: calc(var(--col) * -25px) calc(var(--row) * -25px) !important;
  }
  .gag-tracker-rows.two-row-layout .gag-tracker-sprite-wrap .compact-gag-image {
    width: 25px !important;
    height: 25px !important;
  }
}


/* Version 1.6.4 — Simple/Manager Toon Profile track layouts. */
.embedded-profile-panel .profile-manager-track-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  margin-top: 8px;
}
.embedded-profile-panel .profile-manager-track-grid .track-state-button {
  min-width: 0;
  grid-template-columns: 15px minmax(0, 1fr);
  gap: 3px;
  padding-left: 3px;
  padding-right: 3px;
}
.embedded-profile-panel .profile-manager-track-grid .track-state-button > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#toon-profile-mode[aria-pressed="true"] {
  background: #586571;
}
@media (max-width: 380px) {
  .embedded-profile-panel .profile-manager-track-grid { gap: 3px; }
  .embedded-profile-panel .profile-manager-track-grid .track-state-button {
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 2px;
    padding-left: 2px;
    padding-right: 2px;
    font-size: 9px;
  }
}

/* Version 1.6.6 — sub-50% lethal Manager calls remain visible with an explicit warning. */
.manager-defeated-badge.high-risk-kill-badge {
  background: #fff5e8;
  border-color: #b96816;
  color: #8a4708;
}

/* Version 1.6.6 — cap-aware Gag Tracker. */
.gag-tracker-panel[hidden] {
  display: none !important;
}

/* With only L6 visible, use the freed second-row space for larger inventory
   art while preserving the same fixed-column alignment and 2×2 behavior. */
.gag-tracker-rows.single-level[data-tracker-cap="6"] .gag-tracker-levels {
  --gag-tracker-cell: 44px;
  --gag-tracker-height: 41px;
}
.gag-tracker-rows.single-level[data-tracker-cap="6"] .gag-tracker-sprite-wrap {
  left: 3px;
  top: 2px;
  width: 37px;
  height: 37px;
}
.gag-tracker-rows.single-level[data-tracker-cap="6"] .gag-tracker-sprite-wrap .gag-sprite {
  width: 37px !important;
  height: 37px !important;
  background-size: 296px 333px !important;
  background-position: calc(var(--col) * -37px) calc(var(--row) * -37px) !important;
}
.gag-tracker-rows.single-level[data-tracker-cap="6"] .gag-tracker-sprite-wrap .compact-gag-image {
  width: 37px !important;
  height: 37px !important;
}
.gag-tracker-rows.two-row-layout.single-level[data-tracker-cap="6"] .gag-tracker-levels {
  --gag-tracker-cell: 35px;
  --gag-tracker-height: 34px;
}
.gag-tracker-rows.two-row-layout.single-level[data-tracker-cap="6"] .gag-tracker-sprite-wrap {
  left: 2px;
  top: 1px;
  width: 31px;
  height: 31px;
}
.gag-tracker-rows.two-row-layout.single-level[data-tracker-cap="6"] .gag-tracker-sprite-wrap .gag-sprite {
  width: 31px !important;
  height: 31px !important;
  background-size: 248px 279px !important;
  background-position: calc(var(--col) * -31px) calc(var(--row) * -31px) !important;
}
.gag-tracker-rows.two-row-layout.single-level[data-tracker-cap="6"] .gag-tracker-sprite-wrap .compact-gag-image {
  width: 31px !important;
  height: 31px !important;
}

/* Version 1.6.9 — combined Sue/Fire reward presentation. */
.combined-reward-card {
  border-color: #b38fbd !important;
  background: linear-gradient(180deg, #f8f3fb 0%, #fff8fa 52%, #fff 100%) !important;
}
.combined-reward-sprites {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 76px;
  height: 62px;
  margin: 0 auto;
}
.combined-reward-sprites .sue-reward-sprite,
.combined-reward-sprites .fire-reward-sprite {
  width: 38px !important;
  height: 44px !important;
  margin: 0 -2px !important;
  object-fit: contain;
}
.combo-row.family-rewards {
  background-color: #f6eff9 !important;
  border-left: 4px solid #ad86ba;
}
.rewards-banner {
  border-left-color: #9d72ab;
  border-color: #c7a9cf;
  background: #f7eff9;
  color: #5c3868;
}
.rewards-banner span { color: #775381; }


/* 1.7 Manager Encounter planning */
.manager-pass-card { border:1px dashed #aab0ba; background:#f5f6f8; color:#555d69; min-width:72px; }
.manager-pass-card .manager-pass-icon { width:44px; height:44px; margin:4px auto; border-radius:50%; display:grid; place-items:center; background:#e5e8ed; font-size:22px; font-weight:900; }
.manager-pass-card small { white-space:nowrap; }
.manager-strategy-banner { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:7px 10px; border-bottom:1px solid rgba(105,91,144,.18); background:linear-gradient(90deg,#f6f2ff,#fbfaff); }
.manager-strategy-banner-copy { display:grid; gap:2px; min-width:0; }
.manager-strategy-banner strong { font-size:13px; color:#4c3b75; }
.manager-strategy-banner small { color:#6c6477; line-height:1.25; }
.manager-strategy-type { display:inline-flex; align-items:center; width:max-content; padding:2px 6px; border-radius:999px; background:#e9e1fa; color:#574483; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.manager-strategy-type.skip { background:#fff0d8; color:#8a5b12; }
.manager-strategy-type.setup { background:#e3f3f1; color:#266b62; }
.manager-strategy-type.route { background:#e4ecfb; color:#315c91; }
.manager-continue-button { flex:0 0 auto; white-space:nowrap; }
.manager-gate-line { font-weight:700; color:#72551b; }
.manager-strategy-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,.42fr); gap:8px; align-items:stretch; }
.manager-strategy-shell > .combo-row { min-width:0; }
.manager-strategy-branches { display:grid; gap:6px; align-content:start; }
.manager-strategy-branches-title { font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; color:#777; padding:2px 4px; }
.manager-strategy-branches .combo-row { margin:0; }
.manager-continue-overlay { position:fixed; inset:0; z-index:10050; background:rgba(25,28,34,.55); display:grid; place-items:center; padding:16px; }
.manager-continue-overlay[hidden] { display:none; }
.manager-continue-panel { width:min(760px,96vw); max-height:90vh; overflow:auto; background:white; border-radius:12px; box-shadow:0 18px 60px rgba(0,0,0,.28); padding:14px; }
.manager-continue-heading { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:10px; }
.manager-continue-heading > div { display:grid; gap:2px; }
.manager-continue-heading strong { font-size:18px; }
.manager-continue-heading span { font-size:12px; color:#68707b; }
.manager-continue-actions { display:grid; gap:7px; }
.manager-continue-action-row { display:grid; grid-template-columns:minmax(88px,.75fr) minmax(155px,1.45fr) minmax(92px,.8fr) minmax(155px,1.35fr) minmax(100px,.9fr) auto; gap:7px; align-items:center; padding:7px; border:1px solid #d9dde4; border-radius:8px; background:#fafbfc; }
.manager-continue-action-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.manager-continue-action-row select { min-width:0; width:100%; }
.manager-continue-miss { display:flex; gap:4px; align-items:center; font-size:11px; font-weight:700; }
.manager-continue-hint { font-size:11px; color:#666f79; margin:10px 0; }
.manager-continue-footer { display:flex; justify-content:flex-end; gap:8px; }
.firestarter-self-damage { display:grid; grid-template-columns:1fr auto; gap:4px; margin-top:4px; }
.firestarter-self-damage input { width:70px; min-width:0; font-size:10px; padding:3px 4px; }
.firestarter-self-damage button { font-size:9px; padding:3px 6px; }
@media (max-width:900px){ .manager-strategy-shell{grid-template-columns:1fr}.manager-continue-action-row{grid-template-columns:1fr 1.4fr}.manager-continue-action-row [data-manager-continue-iou],.manager-continue-action-row [data-manager-continue-iou-recipient]{grid-column:2}.manager-continue-miss{grid-column:2}.manager-strategy-branches{grid-template-columns:1fr} }

.manager-heading-actions{display:flex;align-items:center;gap:6px}.manager-heading-actions #undo-continued-round{font-size:9px}


/* 1.7.2 Manager UI Hotfix — viewport-first manager comparison dashboard. */
#results.manager-results-mode .manager-headline-results {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;align-items:start!important;}
#results.manager-results-mode .manager-strategy-shell {--panel-accent:var(--tactical-accent,#7443a3);--panel-soft:color-mix(in srgb,var(--tactical-soft,#f4eef9) 55%,white);display:block!important;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--panel-accent) 38%,#d8dce3);border-left:4px solid var(--panel-accent);border-radius:8px;background:var(--panel-soft);box-shadow:0 1px 3px rgba(45,35,65,.05);}
#results.manager-results-mode .manager-strategy-shell>.combo-row.manager-headline-result {display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto auto!important;gap:4px!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0 7px 5px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
#results.manager-results-mode .manager-headline-result .manager-strategy-banner {grid-column:1!important;grid-row:1!important;margin:0 -7px 2px!important;padding:5px 7px!important;min-width:0;align-items:center!important;border-bottom:1px solid color-mix(in srgb,var(--panel-accent) 20%,#e3e4e8)!important;background:rgba(255,255,255,.58)!important;}
#results.manager-results-mode .manager-strategy-banner-copy{min-width:0;gap:1px!important}.manager-featured-heading-line{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap}.manager-featured-rank{flex:0 0 auto;font-size:10px;font-weight:950;color:color-mix(in srgb,var(--panel-accent) 82%,#222)}
#results.manager-results-mode .manager-featured-heading-line>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px!important;line-height:1.15;color:#3f3550!important}#results.manager-results-mode .manager-featured-heading-line .manager-strategy-type{order:3;flex:0 0 auto;padding:1px 5px;font-size:7.5px}#results.manager-results-mode .manager-featured-context{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px!important;line-height:1.1!important}#results.manager-results-mode .manager-continue-button{flex:0 0 auto;padding:4px 7px!important;font-size:9px!important;line-height:1.1!important;border-radius:5px!important}
#results.manager-results-mode .manager-headline-result .gag-row{grid-column:1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(4,54px)!important;gap:4px!important;justify-content:start!important;align-items:start!important;margin:0!important;min-width:0}#results.manager-results-mode .manager-headline-result .gag-row>.gag-card{width:54px!important;min-width:54px!important;min-height:75px!important;padding:2px!important;box-sizing:border-box}
#results.manager-results-mode .manager-headline-result .gag-image-wrap>.gag-sprite,#results.manager-results-mode .manager-headline-result .gag-image-wrap>.verified-zap-sprite,#results.manager-results-mode .manager-headline-result .gag-image-wrap>.sue-reward-sprite,#results.manager-results-mode .manager-headline-result .gag-image-wrap>.fire-reward-sprite,#results.manager-results-mode .manager-headline-result .gag-image-wrap>.toonup-placeholder-sprite{width:35px!important;height:35px!important;margin:2px auto 1px!important;background-size:280px 315px!important;background-position:calc(var(--col) * -35px) calc(var(--row) * -35px)!important}
#results.manager-results-mode .manager-headline-result .combo-meta{grid-column:1!important;grid-row:3!important;display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;gap:5px!important;min-width:0!important;padding:0!important}#results.manager-results-mode .manager-headline-result .combo-meta-top{display:flex!important;flex:0 0 auto;align-items:center}#results.manager-results-mode .manager-headline-result .combo-meta-top .combo-rank{display:none!important}#results.manager-results-mode .manager-headline-result .combo-family,#results.manager-results-mode .manager-headline-result .combo-requirement,#results.manager-results-mode .manager-headline-result .manager-alternative-explanation{display:none!important}#results.manager-results-mode .manager-headline-result .manager-result-summary{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;-webkit-line-clamp:unset!important;font-size:9px!important;line-height:1.2!important;color:#4f5661}#results.manager-results-mode .manager-headline-result>details.damage-details{grid-column:1!important;grid-row:4!important;width:max-content!important;margin:0!important;align-self:start!important}#results.manager-results-mode .manager-headline-result>details.damage-details>summary{font-size:8px!important;color:#727985}
#results.manager-results-mode .manager-strategy-branches{counter-reset:manager-alt;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;padding:0 7px 4px!important;border-top:1px solid color-mix(in srgb,var(--panel-accent) 16%,#e3e4e8);background:rgba(255,255,255,.30)}#results.manager-results-mode .manager-strategy-branches-title{display:none!important}#results.manager-results-mode .manager-strategy-branches .combo-row.manager-compact-result{counter-increment:manager-alt;position:relative;display:grid!important;grid-template-columns:18px 150px minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:center!important;gap:4px!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:4px 0!important;border:0!important;border-bottom:1px solid rgba(90,90,100,.10)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}#results.manager-results-mode .manager-strategy-branches .combo-row.manager-compact-result:last-child{border-bottom:0!important}#results.manager-results-mode .manager-strategy-branches .combo-row.manager-compact-result::before{content:counter(manager-alt,upper-alpha);grid-column:1;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:color-mix(in srgb,var(--panel-accent) 12%,white);color:color-mix(in srgb,var(--panel-accent) 78%,#444);font-size:7px;font-weight:950}
#results.manager-results-mode .manager-strategy-branches .gag-row{grid-column:2!important;grid-row:1!important;display:grid!important;grid-template-columns:repeat(4,35px)!important;gap:2px!important;margin:0!important}#results.manager-results-mode .manager-strategy-branches .gag-row>.gag-card{width:35px!important;min-width:35px!important;min-height:53px!important;padding:1px!important}#results.manager-results-mode .manager-strategy-branches .gag-card strong{font-size:6.4px!important;line-height:1!important}#results.manager-results-mode .manager-strategy-branches .gag-card small,#results.manager-results-mode .manager-strategy-branches .toon-assignment{font-size:5.8px!important;line-height:1!important}#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.gag-sprite,#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.verified-zap-sprite,#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.sue-reward-sprite,#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.fire-reward-sprite,#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.toonup-placeholder-sprite{width:24px!important;height:24px!important;margin:1px auto!important;background-size:192px 216px!important;background-position:calc(var(--col) * -24px) calc(var(--row) * -24px)!important}#results.manager-results-mode .manager-strategy-branches .manager-compact-meta{grid-column:3!important;grid-row:1!important;display:grid!important;gap:1px!important;min-width:0!important;padding:0!important}#results.manager-results-mode .manager-strategy-branches .manager-compact-title{display:flex;align-items:center;gap:3px;min-width:0}#results.manager-results-mode .manager-strategy-branches .manager-compact-title .combo-rank{font-size:7px!important}#results.manager-results-mode .manager-strategy-branches .manager-compact-title .combo-family{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px!important}#results.manager-results-mode .manager-strategy-branches .manager-compact-stats{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px!important;color:#606773}#results.manager-results-mode .manager-strategy-branches>.combo-row>details.damage-details{display:none!important}
#results.manager-results-mode .manager-more-results{margin-top:8px!important;border-color:#d4c9bb!important;border-radius:7px!important;background:#fbf9f6!important}#results.manager-results-mode .manager-more-results-heading{padding:5px 8px!important;font-size:9px!important;min-height:0!important}#results.manager-results-mode .manager-more-results-body{display:grid!important;gap:2px!important;padding:4px 6px 5px!important}#results.manager-results-mode .manager-more-group{display:grid!important;grid-template-columns:90px minmax(0,1fr)!important;gap:5px!important;padding:2px 0!important;border:0!important;border-bottom:1px solid rgba(115,100,82,.12)!important;border-radius:0!important;background:transparent!important}#results.manager-results-mode .manager-more-group:last-child{border-bottom:0!important}#results.manager-results-mode .manager-more-group>h3{margin:3px 0 0!important;font-size:7.5px!important;line-height:1.1!important;white-space:nowrap}#results.manager-results-mode .manager-more-group>h3 small{margin-left:2px!important;min-width:14px!important;height:14px!important}#results.manager-results-mode .manager-more-group-results{display:flex!important;flex-wrap:wrap!important;gap:3px!important;min-width:0}#results.manager-results-mode .manager-more-group-results .manager-compact-result{display:grid!important;grid-template-columns:140px minmax(105px,1fr)!important;grid-template-rows:auto!important;gap:4px!important;width:auto!important;max-width:325px!important;min-height:0!important;margin:0!important;padding:3px 4px!important;border:1px solid rgba(105,95,88,.18)!important;border-radius:5px!important;background:rgba(255,255,255,.62)!important;box-shadow:none!important}#results.manager-results-mode .manager-more-group-results .manager-compact-result .gag-row{grid-column:1!important;grid-row:1!important;display:grid!important;grid-template-columns:repeat(4,33px)!important;gap:2px!important}#results.manager-results-mode .manager-more-group-results .manager-compact-result .gag-row>.gag-card{width:33px!important;min-width:33px!important;min-height:50px!important;padding:1px!important}#results.manager-results-mode .manager-more-group-results .manager-compact-meta{grid-column:2!important;grid-row:1!important;min-width:0!important;padding:0!important}#results.manager-results-mode .manager-more-group-results .manager-compact-result>details.damage-details{display:none!important}
.manager-pass-card .manager-pass-icon{background:transparent!important;border-radius:0!important;overflow:visible!important}.manager-pass-card .manager-pass-icon img{display:block;width:100%;height:100%;object-fit:contain}#results.manager-results-mode .manager-strategy-branches .manager-pass-icon,#results.manager-results-mode .manager-more-group-results .manager-pass-icon{width:24px!important;height:24px!important;margin:1px auto!important}
.mouthpiece-cookie-picker{display:grid!important;grid-template-columns:repeat(2,23px)!important;grid-template-rows:repeat(2,23px)!important;justify-content:center!important;align-content:center!important;gap:2px!important;width:max-content;margin:0 auto}
.firestarter-backburner-damage-button{display:flex!important;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:4px;padding:3px 5px!important;font-size:9px!important;font-weight:850;white-space:nowrap}.firestarter-backburner-damage-button img{width:14px;height:14px;object-fit:contain}.firestarter-self-damage{display:none!important}
.manager-round-advice:not([hidden]){display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:10px!important;row-gap:2px!important;align-items:baseline!important;margin-top:8px!important;padding:6px 9px!important}.manager-round-advice h3{grid-column:1!important;grid-row:1!important;margin:0!important;font-size:11px!important;white-space:nowrap}.manager-round-advice p{margin:0!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px!important;line-height:1.2!important}.manager-round-advice p:nth-of-type(1){grid-column:2;grid-row:1}.manager-round-advice p:nth-of-type(2){grid-column:1;grid-row:2}.manager-round-advice p:nth-of-type(3){grid-column:2;grid-row:2}
@container combo-results (max-width:760px){#results.manager-results-mode .manager-headline-results{grid-template-columns:minmax(0,1fr)!important}}


/* 1.7.2 final viewport pass: use each featured panel horizontally before adding height. */
#results.manager-results-mode .manager-strategy-shell>.combo-row.manager-headline-result{grid-template-columns:228px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;column-gap:7px!important;row-gap:3px!important}
#results.manager-results-mode .manager-headline-result .manager-strategy-banner{grid-column:1/-1!important;grid-row:1!important}
#results.manager-results-mode .manager-headline-result .gag-row{grid-column:1!important;grid-row:2/4!important}
#results.manager-results-mode .manager-headline-result .combo-meta{grid-column:2!important;grid-row:2!important;align-self:center!important}
#results.manager-results-mode .manager-headline-result>details.damage-details{grid-column:2!important;grid-row:3!important}
.manager-round-advice:not([hidden]){grid-template-columns:max-content minmax(0,1fr)!important;grid-template-rows:auto auto!important}
.manager-round-advice .manager-advice-mechanic{grid-column:2!important;grid-row:1!important}
.manager-round-advice .manager-advice-priorities{grid-column:1/-1!important;grid-row:2!important;display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;overflow:hidden!important;font-size:8.5px!important;line-height:1.2!important}
.manager-round-advice .manager-advice-priorities>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.manager-round-advice .manager-advice-objective{flex:1 1 52%}.manager-round-advice .manager-advice-avoid{flex:1 1 48%}
@container combo-results (max-width:840px){#results.manager-results-mode .manager-strategy-shell>.combo-row.manager-headline-result{grid-template-columns:228px minmax(0,1fr)!important}}

/* 1.7.3 Manager UX Hotfix — viewport-first comparison rail + visual Edit & Continue. */
#results.manager-results-mode .manager-strategy-shell{
  display:grid!important;
  grid-template-columns:minmax(290px,1.42fr) minmax(178px,.88fr)!important;
  grid-template-rows:auto!important;
  gap:0!important;
  align-items:stretch!important;
}
#results.manager-results-mode .manager-strategy-shell>.combo-row.manager-headline-result{
  grid-column:1!important;
  grid-row:1!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  min-width:0!important;
  height:100%!important;
  align-content:start!important;
}
#results.manager-results-mode .manager-strategy-shell:not(:has(.manager-strategy-branches))>.combo-row.manager-headline-result{
  grid-column:1/-1!important;
  grid-template-columns:228px minmax(0,1fr)!important;
}
#results.manager-results-mode .manager-strategy-branches{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start!important;
  gap:0!important;
  min-width:0!important;
  padding:3px 5px!important;
  border-top:0!important;
  border-left:1px solid color-mix(in srgb,var(--panel-accent) 18%,#e3e4e8)!important;
  background:rgba(255,255,255,.34)!important;
}
#results.manager-results-mode .manager-strategy-branches .combo-row.manager-compact-result{
  grid-template-columns:15px 118px minmax(0,1fr)!important;
  gap:3px!important;
  padding:3px 0!important;
}
#results.manager-results-mode .manager-strategy-branches .gag-row{
  grid-template-columns:repeat(4,28px)!important;
  gap:1px!important;
}
#results.manager-results-mode .manager-strategy-branches .gag-row>.gag-card{
  width:28px!important;min-width:28px!important;min-height:43px!important;padding:1px!important;
}
#results.manager-results-mode .manager-strategy-branches .gag-card strong{font-size:5.6px!important;max-height:11px!important;overflow:hidden!important}
#results.manager-results-mode .manager-strategy-branches .gag-card small,
#results.manager-results-mode .manager-strategy-branches .toon-assignment{font-size:5px!important}
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.gag-sprite,
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.verified-zap-sprite,
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.sue-reward-sprite,
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.fire-reward-sprite,
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap>.toonup-placeholder-sprite{
  width:20px!important;height:20px!important;margin:1px auto!important;background-size:160px 180px!important;background-position:calc(var(--col) * -20px) calc(var(--row) * -20px)!important;
}
#results.manager-results-mode .manager-strategy-branches .manager-pass-icon{width:20px!important;height:20px!important}
#results.manager-results-mode .manager-strategy-branches .manager-compact-title .combo-family{font-size:6.8px!important}
#results.manager-results-mode .manager-strategy-branches .manager-compact-title .combo-rank{display:none!important}
#results.manager-results-mode .manager-strategy-branches .manager-compact-stats{font-size:6.8px!important;line-height:1.15!important}
#results.manager-results-mode .manager-headline-result>details.damage-details{align-self:end!important;margin:0!important;line-height:1!important}
#results.manager-results-mode .manager-headline-result>details.damage-details>summary{font-size:7px!important;opacity:.72}

/* Dense lower shelf: recognizable micro-combos, not a second wall of cards. */
#results.manager-results-mode .manager-more-results{margin-top:5px!important}
#results.manager-results-mode .manager-more-results-heading{padding:4px 7px!important;font-size:8px!important}
#results.manager-results-mode .manager-more-results-body{gap:1px!important;padding:3px 5px!important}
#results.manager-results-mode .manager-more-group{grid-template-columns:72px minmax(0,1fr)!important;gap:3px!important;padding:1px 0!important}
#results.manager-results-mode .manager-more-group-results{gap:2px!important}
#results.manager-results-mode .manager-more-group-results .manager-compact-result{
  grid-template-columns:102px minmax(82px,1fr)!important;max-width:245px!important;padding:2px 3px!important;gap:2px!important;
}
#results.manager-results-mode .manager-more-group-results .manager-compact-result .gag-row{grid-template-columns:repeat(4,24px)!important;gap:1px!important}
#results.manager-results-mode .manager-more-group-results .manager-compact-result .gag-row>.gag-card{width:24px!important;min-width:24px!important;min-height:36px!important}
#results.manager-results-mode .manager-more-group-results .gag-card strong{font-size:5px!important;max-height:10px!important;overflow:hidden!important}
#results.manager-results-mode .manager-more-group-results .gag-card small,
#results.manager-results-mode .manager-more-group-results .toon-assignment{font-size:4.7px!important}
#results.manager-results-mode .manager-more-group-results .gag-image-wrap>.gag-sprite,
#results.manager-results-mode .manager-more-group-results .gag-image-wrap>.verified-zap-sprite,
#results.manager-results-mode .manager-more-group-results .gag-image-wrap>.sue-reward-sprite,
#results.manager-results-mode .manager-more-group-results .gag-image-wrap>.fire-reward-sprite,
#results.manager-results-mode .manager-more-group-results .gag-image-wrap>.toonup-placeholder-sprite{
  width:17px!important;height:17px!important;margin:0 auto!important;background-size:136px 153px!important;background-position:calc(var(--col) * -17px) calc(var(--row) * -17px)!important;
}
#results.manager-results-mode .manager-more-group-results .manager-pass-icon{width:17px!important;height:17px!important}
#results.manager-results-mode .manager-more-group-results .manager-compact-title .combo-family,
#results.manager-results-mode .manager-more-group-results .manager-compact-stats{font-size:6.2px!important;line-height:1.1!important}

/* The improved Pass art is deliberately inset so repeated Passes do not dominate a row. */
.manager-pass-card .manager-pass-icon img{width:84%!important;height:84%!important;margin:8% auto!important}

/* Edit & Continue is a visual turn editor rather than a dropdown form. */
.manager-continue-panel{
  width:min(920px,96vw)!important;
  max-height:92vh!important;
  overflow:hidden!important;
  padding:11px!important;
}
.manager-continue-heading{margin-bottom:7px!important}
.manager-continue-actions{display:block!important}
.manager-continue-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:start}
.manager-continue-action-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto auto auto!important;
  gap:3px!important;
  align-items:center!important;
  min-width:0!important;
  padding:5px!important;
  border:1px solid #d9dde4!important;
  border-radius:8px!important;
  background:#fafbfc!important;
  transition:border-color .12s,box-shadow .12s,background .12s;
}
.manager-continue-action-row.active{border-color:#7750a8!important;box-shadow:0 0 0 2px rgba(119,80,168,.10);background:#fbf8ff!important}
.manager-continue-action-row.is-invalid{border-color:#c94f4f!important;background:#fff8f8!important}
.manager-continue-action-visual{
  appearance:none;border:0;background:transparent;padding:0;margin:0 auto;display:grid;justify-items:center;gap:1px;cursor:pointer;min-width:64px;
}
.manager-continue-action-icon{display:grid;place-items:center;width:58px;height:50px;overflow:visible}
.manager-continue-action-icon>.gag-sprite{width:48px!important;height:48px!important;background-size:384px 432px!important;background-position:calc(var(--col) * -48px) calc(var(--row) * -48px)!important}
.manager-continue-action-icon>.compact-gag-image{width:48px!important;height:48px!important;object-fit:contain}
.manager-continue-pass-sprite{width:43px;height:43px;object-fit:contain}
.manager-continue-special-sprite{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#eef0f4;color:#56606e;font-size:12px;font-weight:950}
.manager-continue-notation{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:900;letter-spacing:1px;color:#5d466f;background:transparent;padding:0}
.manager-continue-toon-name{display:block;text-align:center;font-size:10px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.manager-continue-gag-input{width:100%;min-width:0;padding:4px 5px!important;font-size:10px!important;font-weight:700;text-align:center}
.manager-continue-iou-controls{display:grid;grid-template-columns:1.25fr .75fr;gap:3px;min-width:0}
.manager-continue-iou-controls select{min-width:0;width:100%;font-size:8px;padding:3px}
.manager-continue-iou-controls select[hidden]{display:none!important}
.manager-continue-miss{justify-content:center!important;font-size:8px!important;margin:0!important}
.manager-continue-miss[hidden]{display:none!important}
.manager-continue-target-section{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center;margin-top:7px;padding-top:6px;border-top:1px solid #e0e2e7}
.manager-continue-target-label{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#69717c}
.manager-continue-cog-targets{display:flex;gap:5px;align-items:center;justify-content:center;min-width:0}
.manager-continue-cog-target{
  position:relative;width:53px;height:50px;padding:0;border:1px solid #cfd3da;border-radius:6px;overflow:hidden;background:#f2f3f6;cursor:pointer;opacity:.82
}
.manager-continue-cog-target img{width:100%;height:100%;object-fit:cover;display:block}
.manager-continue-cog-target.selected{border:2px solid #7443a3;box-shadow:0 0 0 2px rgba(116,67,163,.14);opacity:1}
.manager-continue-cog-targets.inactive .manager-continue-cog-target{cursor:default;opacity:.45}
.manager-continue-cog-target.is-dead{filter:grayscale(1);opacity:.3}
.manager-continue-cog-hp{position:absolute;left:1px;right:1px;bottom:1px;text-align:center;font-size:10px;line-height:13px;font-weight:950;color:white;text-shadow:-1px -1px 0 #111,1px -1px 0 #111,-1px 1px 0 #111,1px 1px 0 #111;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.manager-continue-cog-slot{position:absolute;top:1px;left:2px;display:grid;place-items:center;width:12px;height:12px;border-radius:50%;font-size:7px;font-weight:950;background:rgba(255,255,255,.88);color:#454a52;pointer-events:none}
.manager-continue-forecast{margin-top:5px;padding:4px 6px;border-radius:5px;background:#f4f1f8;color:#51445f;font-size:9px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manager-continue-hint{margin:6px 0!important;font-size:8.5px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manager-continue-footer{margin-top:5px!important}

@media (max-height:780px){
  .manager-continue-panel{padding:8px!important}.manager-continue-heading{margin-bottom:4px!important}.manager-continue-action-row{padding:3px!important}
  .manager-continue-action-icon{height:42px}.manager-continue-action-icon>.gag-sprite{width:40px!important;height:40px!important;background-size:320px 360px!important;background-position:calc(var(--col) * -40px) calc(var(--row) * -40px)!important}
  .manager-continue-action-icon>.compact-gag-image{width:40px!important;height:40px!important}.manager-continue-pass-sprite{width:36px;height:36px}
  .manager-continue-target-section{margin-top:4px;padding-top:4px}.manager-continue-cog-target{width:47px;height:43px}
  .manager-continue-hint{margin:3px 0!important}
}
@container combo-results (max-width:980px){
  #results.manager-results-mode .manager-strategy-shell{grid-template-columns:minmax(270px,1.35fr) minmax(165px,.85fr)!important}
  #results.manager-results-mode .manager-strategy-shell>.combo-row.manager-headline-result{grid-template-columns:210px minmax(0,1fr)!important}
  #results.manager-results-mode .manager-headline-result .gag-row{grid-template-columns:repeat(4,50px)!important}
  #results.manager-results-mode .manager-headline-result .gag-row>.gag-card{width:50px!important;min-width:50px!important}
}
@container combo-results (max-width:760px){
  #results.manager-results-mode .manager-headline-results{grid-template-columns:minmax(0,1fr)!important}
}

/* 1.7.4 Manager Results UX Hotfix — 1400x950 viewport-first cards. */
.results-heading-row h2 {
  flex: 0 0 auto;
  min-width: max-content;
  white-space: nowrap;
}
#results.manager-results-mode ~ * {}

#results.manager-results-mode .manager-headline-results {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: start !important;
  grid-auto-rows: auto !important;
}
#results.manager-results-mode .manager-headline-column {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
}
#results.manager-results-mode .manager-strategy-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  min-width: 0;
  align-self: start !important;
  overflow: hidden;
}
#results.manager-results-mode .manager-strategy-shell > .combo-row.manager-headline-result {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(218px, 1.35fr) minmax(120px, .8fr) !important;
  grid-template-rows: auto 84px !important;
  column-gap: 7px !important;
  row-gap: 3px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 7px 4px !important;
}
#results.manager-results-mode .manager-headline-result .manager-strategy-banner {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  min-height: 21px;
  margin: 0 -7px 1px !important;
  padding: 3px 6px !important;
}
#results.manager-results-mode .manager-featured-heading-line {
  gap: 4px !important;
  overflow: hidden;
}
#results.manager-results-mode .manager-featured-heading-line > strong {
  flex: 0 0 auto;
  max-width: 88px;
  font-size: 9.5px !important;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
#results.manager-results-mode .manager-featured-tag {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 1px 4px;
  border: 1px solid color-mix(in srgb, var(--panel-accent) 24%, #ddd);
  border-radius: 999px;
  background: color-mix(in srgb, var(--panel-accent) 7%, white);
  color: color-mix(in srgb, var(--panel-accent) 78%, #3c3f45);
  font-size: 6.8px;
  font-weight: 900;
  letter-spacing: .03em;
}
#results.manager-results-mode .manager-featured-heading-line .manager-strategy-type {
  font-size: 6.5px !important;
  padding: 1px 3px !important;
}
#results.manager-results-mode .manager-continue-button {
  padding: 3px 7px !important;
  min-width: 35px;
  font-size: 8px !important;
}

#results.manager-results-mode .manager-headline-result .gag-row {
  grid-column: 1 !important;
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(4, 52px) !important;
  gap: 3px !important;
  align-self: center;
  justify-content: center !important;
  margin: 0 !important;
}
#results.manager-results-mode .manager-headline-result .gag-row > .gag-card {
  width: 52px !important;
  min-width: 52px !important;
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  padding: 2px !important;
  overflow: hidden;
  align-content: start;
  grid-auto-rows: auto;
}
#results.manager-results-mode .manager-headline-result .gag-image-wrap {
  height: 37px !important;
  min-height: 37px !important;
  display: grid;
  place-items: center;
}
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .gag-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .verified-zap-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .sue-reward-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .fire-reward-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .toonup-placeholder-sprite {
  width: 34px !important;
  height: 34px !important;
  margin: 1px auto !important;
  background-size: 272px 306px !important;
  background-position: calc(var(--col) * -34px) calc(var(--row) * -34px) !important;
}
#results.manager-results-mode .manager-headline-result .gag-card strong {
  display: -webkit-box;
  height: 16px;
  min-height: 16px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 6.4px !important;
  line-height: 1.02 !important;
}
#results.manager-results-mode .manager-headline-result .gag-card small,
#results.manager-results-mode .manager-headline-result .toon-assignment {
  display: block;
  max-height: 13px;
  overflow: hidden;
  font-size: 5.8px !important;
  line-height: 1.02 !important;
}
#results.manager-results-mode .manager-headline-result .manager-pass-icon {
  width: 34px !important;
  height: 34px !important;
  margin: 1px auto !important;
}

#results.manager-results-mode .manager-headline-result .manager-featured-outcome {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  place-items: center;
  align-content: center;
  gap: 3px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 2px 2px 13px !important;
  text-align: center;
}
#results.manager-results-mode .manager-featured-damage {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #34303a;
  font-size: 12px;
  line-height: 1.08;
  font-weight: 950;
}
#results.manager-results-mode .manager-featured-accuracy {
  position: static !important;
  transform: none !important;
  justify-self: center;
  margin: 0 !important;
  font-size: 8px !important;
  line-height: 1 !important;
}
#results.manager-results-mode .manager-featured-tradeoff {
  display: -webkit-box;
  width: 100%;
  min-width: 0;
  max-height: 22px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #5a5e67;
  font-size: 7.6px;
  line-height: 1.18;
  font-weight: 800;
  text-align: center;
}
#results.manager-results-mode .manager-featured-outcome .manager-defeated-badge {
  font-size: 6.5px !important;
  padding: 1px 4px !important;
}
#results.manager-results-mode .manager-headline-result > details.damage-details {
  position: absolute !important;
  right: 7px;
  bottom: 3px;
  z-index: 2;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#results.manager-results-mode .manager-headline-result > details.damage-details > summary {
  font-size: 6.8px !important;
  line-height: 1 !important;
  color: #737984;
}
#results.manager-results-mode .manager-headline-result > details.damage-details > summary::marker { font-size: 6px; }

/* Alternates stay in-card, but use the full card width in a two-column micro-grid. */
#results.manager-results-mode .manager-strategy-branches {
  counter-reset: manager-alt;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 2px 5px !important;
  min-width: 0;
  padding: 3px 6px 4px !important;
  border-top: 1px solid color-mix(in srgb, var(--panel-accent) 16%, #e3e4e8);
  background: rgba(255,255,255,.26);
}
#results.manager-results-mode .manager-strategy-branches .combo-row.manager-compact-result {
  counter-increment: manager-alt;
  position: relative;
  display: grid !important;
  grid-template-columns: 12px 112px minmax(0, 1fr) !important;
  grid-template-rows: 42px !important;
  align-items: center !important;
  gap: 3px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 1px 2px !important;
  border: 1px solid rgba(80,80,92,.11) !important;
  border-left: 0 !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.42) !important;
  box-shadow: none !important;
  overflow: hidden;
}
#results.manager-results-mode .manager-strategy-branches .combo-row.manager-compact-result::before {
  content: counter(manager-alt, upper-alpha);
  grid-column: 1;
  display: grid;
  place-items: center;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--panel-accent) 13%, white);
  color: color-mix(in srgb, var(--panel-accent) 82%, #333);
  font-size: 5.8px;
  font-weight: 950;
}
#results.manager-results-mode .manager-strategy-branches .gag-row {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, 26px) !important;
  gap: 2px !important;
  align-content: center;
  justify-content: start !important;
  margin: 0 !important;
}
#results.manager-results-mode .manager-strategy-branches .gag-row > .gag-card {
  width: 26px !important;
  min-width: 26px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 1px !important;
  overflow: hidden;
}
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap {
  height: 20px !important;
  min-height: 20px !important;
  display: grid;
  place-items: center;
}
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap > .gag-sprite,
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap > .verified-zap-sprite,
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap > .sue-reward-sprite,
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap > .fire-reward-sprite,
#results.manager-results-mode .manager-strategy-branches .gag-image-wrap > .toonup-placeholder-sprite {
  width: 19px !important;
  height: 19px !important;
  margin: 0 auto !important;
  background-size: 152px 171px !important;
  background-position: calc(var(--col) * -19px) calc(var(--row) * -19px) !important;
}
#results.manager-results-mode .manager-strategy-branches .manager-pass-icon {
  width: 19px !important;
  height: 19px !important;
  margin: 0 auto !important;
}
#results.manager-results-mode .manager-strategy-branches .gag-card strong {
  display: block;
  height: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 5px !important;
  line-height: 1 !important;
}
#results.manager-results-mode .manager-strategy-branches .gag-card small,
#results.manager-results-mode .manager-strategy-branches .toon-assignment {
  display: block;
  height: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 4.5px !important;
  line-height: 1 !important;
}
#results.manager-results-mode .manager-strategy-branches .manager-compact-meta {
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 1px !important;
  align-content: center;
  min-width: 0 !important;
  padding: 0 !important;
}
#results.manager-results-mode .manager-strategy-branches .manager-compact-title {
  min-width: 0;
  display: block !important;
}
#results.manager-results-mode .manager-strategy-branches .manager-compact-title .combo-rank { display: none !important; }
#results.manager-results-mode .manager-strategy-branches .manager-compact-title .combo-family {
  display: -webkit-box !important;
  min-width: 0;
  max-height: 18px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #343840;
  font-size: 7.5px !important;
  line-height: 1.12 !important;
  font-weight: 900;
}
#results.manager-results-mode .manager-strategy-branches .manager-compact-title .combo-accuracy {
  display: none !important;
}
#results.manager-results-mode .manager-strategy-branches .manager-compact-stats {
  display: -webkit-box !important;
  min-width: 0;
  max-height: 16px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #66616d;
  font-size: 6.6px !important;
  line-height: 1.12 !important;
}
#results.manager-results-mode .manager-strategy-branches .manager-compact-result > details { display: none !important; }

/* The lower shelf is diagnostic/secondary; top four consume the viewport. */
#results.manager-results-mode .manager-more-results {
  margin-top: 5px !important;
}
#results.manager-results-mode .manager-more-results:not([open]) {
  max-height: 22px;
}
#results.manager-results-mode .manager-more-results-heading {
  min-height: 20px;
  padding: 3px 7px !important;
  font-size: 7.5px !important;
}

/* More prominent Edit & Continue target selection. */
.manager-continue-cog-target {
  border: 2px solid #c3c8d0 !important;
  opacity: .9 !important;
  transition: border-color .1s, box-shadow .1s, transform .1s, opacity .1s;
}
.manager-continue-cog-target:hover:not(:disabled) {
  border-color: #8b67b1 !important;
  box-shadow: 0 0 0 2px rgba(116,67,163,.12);
  opacity: 1 !important;
}
.manager-continue-cog-target.selected {
  border: 3px solid #6a2fa0 !important;
  box-shadow: 0 0 0 3px rgba(116,67,163,.22), 0 2px 8px rgba(70,35,105,.18) !important;
  transform: translateY(-1px);
  opacity: 1 !important;
}
.manager-continue-toon-name {
  appearance: none;
  width: 100%;
  padding: 1px 3px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 10px !important;
  font-weight: 850;
  cursor: pointer;
}
.manager-continue-toon-name:hover { background: rgba(116,67,163,.08); }
.manager-continue-action-icon { cursor: pointer; border-radius: 6px; }
.manager-continue-action-icon:hover { background: rgba(116,67,163,.07); box-shadow: 0 0 0 1px rgba(116,67,163,.13); }
.manager-continue-action-row.duplicate-toon {
  border-color: #c83f4f !important;
  box-shadow: 0 0 0 2px rgba(200,63,79,.10) !important;
  background: #fff5f6 !important;
}
.manager-continue-validation {
  margin-top: 5px;
  padding: 4px 6px;
  border: 1px solid #e3a8ae;
  border-radius: 5px;
  background: #fff1f2;
  color: #9b2432;
  font-size: 8.5px;
  font-weight: 850;
  text-align: center;
}
.manager-continue-validation[hidden] { display: none !important; }
#manager-continue-apply:disabled { opacity: .48; cursor: not-allowed; }

/* Gag/Toon picker popovers opened from Edit & Continue. */
.manager-continue-picker {
  position: fixed;
  z-index: 10150;
  width: min(620px, calc(100vw - 16px));
  max-height: min(520px, calc(100vh - 20px));
  overflow: auto;
  padding: 7px;
  border: 1px solid #c7cbd3;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(25,28,34,.24);
}
.manager-continue-picker-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 5px;
  color: #3a3f47;
}
.manager-continue-picker-heading strong { font-size: 11px; }
.manager-continue-picker-heading small { color: #727985; font-size: 8px; }
.manager-continue-picker-specials {
  display: flex;
  gap: 4px;
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid #e4e6ea;
}
.manager-continue-picker-tracks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}
.manager-continue-picker-tracks section {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 4px;
  border: 1px solid #eceef1;
  border-radius: 6px;
  background: #fafbfc;
}
.manager-continue-picker-tracks section > strong {
  font-size: 7px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #6a7079;
}
.manager-continue-picker-tracks section > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px;
}
.manager-continue-picker-choice {
  appearance: none;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 1px;
  min-width: 0;
  min-height: 47px;
  padding: 2px;
  border: 1px solid #d8dce3;
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  color: #343840;
}
.manager-continue-picker-choice:hover,
.manager-continue-picker-choice.selected {
  border-color: #8057aa;
  background: #f7f2fb;
  box-shadow: inset 0 0 0 1px rgba(116,67,163,.10);
}
.manager-continue-picker-choice .gag-sprite {
  width: 29px !important;
  height: 29px !important;
  background-size: 232px 261px !important;
  background-position: calc(var(--col) * -29px) calc(var(--row) * -29px) !important;
}
.manager-continue-picker-choice .compact-gag-image { width: 29px !important; height: 29px !important; object-fit: contain; }
.manager-continue-picker-choice .manager-continue-pass-sprite { width: 28px; height: 28px; }
.manager-continue-picker-choice .manager-continue-special-sprite { width: 28px; height: 28px; font-size: 8px; border-radius: 6px; }
.manager-continue-picker-choice span:last-child {
  display: -webkit-box;
  width: 100%;
  max-height: 14px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 5.8px;
  line-height: 1.05;
  font-weight: 800;
}
.manager-continue-toon-picker { width: min(390px, calc(100vw - 16px)); overflow: visible; }
.manager-continue-toon-picker-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}
.manager-continue-toon-choice {
  appearance: none;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 38px;
  padding: 5px 7px;
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  font-size: 9px;
  font-weight: 850;
}
.manager-continue-toon-choice.selected { border-color: #6f4b99; box-shadow: 0 0 0 2px rgba(111,75,153,.10); }
.manager-continue-toon-choice span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@container combo-results (max-width: 760px) {
  #results.manager-results-mode .manager-headline-results { grid-template-columns: minmax(0, 1fr) !important; }
  #results.manager-results-mode .manager-headline-column { gap: 6px; }
  #results.manager-results-mode .manager-strategy-shell > .combo-row.manager-headline-result { grid-template-columns: minmax(210px, 1.35fr) minmax(112px, .8fr) !important; }
}
@media (max-width: 700px) {
  .manager-continue-picker-tracks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 1.7.5 Manager Card Clarity Hotfix — return featured Manager calls to one-call-per-card readability. */
#results.manager-results-mode .manager-headline-results {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  align-items: start !important;
  grid-auto-rows: auto !important;
}
#results.manager-results-mode .manager-headline-column {
  display: grid !important;
  gap: 7px !important;
  align-content: start !important;
  min-width: 0;
}

/* A featured shell is exactly one call. Secondary branches never compete with its four actions. */
#results.manager-results-mode .manager-strategy-shell {
  display: block !important;
  min-width: 0 !important;
  align-self: start !important;
  overflow: hidden !important;
}
#results.manager-results-mode .manager-strategy-shell > .manager-strategy-branches {
  display: none !important;
}
#results.manager-results-mode .manager-strategy-shell > .combo-row.manager-headline-result {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(258px, 1.72fr) minmax(118px, .82fr) !important;
  grid-template-rows: 23px 105px 18px !important;
  column-gap: 7px !important;
  row-gap: 3px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 7px 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Short, authored header copy only — never print solver prose into the call header. */
#results.manager-results-mode .manager-headline-result .manager-strategy-banner {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  min-height: 23px !important;
  height: 23px !important;
  margin: 0 -7px !important;
  padding: 3px 6px !important;
  overflow: hidden !important;
}
#results.manager-results-mode .manager-featured-heading-line {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
#results.manager-results-mode .manager-featured-rank {
  flex: 0 0 auto !important;
  font-size: 9px !important;
  font-weight: 950 !important;
}
#results.manager-results-mode .manager-featured-heading-line > strong {
  flex: 0 0 auto !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  font-size: 9.5px !important;
  line-height: 1.1 !important;
}
#results.manager-results-mode .manager-featured-tag {
  flex: 0 0 auto !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  padding: 1px 4px !important;
  font-size: 7px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
}
#results.manager-results-mode .manager-featured-heading-line .manager-strategy-type {
  flex: 0 0 auto !important;
  font-size: 6.8px !important;
  padding: 1px 3px !important;
}
#results.manager-results-mode .manager-continue-button {
  flex: 0 0 auto !important;
  min-width: 34px !important;
  padding: 3px 7px !important;
  font-size: 8px !important;
  line-height: 1.05 !important;
}

/* The four actions own most of the card. Every tile has identical geometry. */
#results.manager-results-mode .manager-headline-result .gag-row {
  grid-column: 1 !important;
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(4, 61px) !important;
  gap: 4px !important;
  justify-content: start !important;
  align-content: center !important;
  align-self: stretch !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
}
#results.manager-results-mode .manager-headline-result .gag-row > .gag-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 43px 22px 16px 15px !important;
  align-items: center !important;
  justify-items: stretch !important;
  width: 61px !important;
  min-width: 61px !important;
  max-width: 61px !important;
  height: 100px !important;
  min-height: 100px !important;
  max-height: 100px !important;
  padding: 2px 2px 1px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
#results.manager-results-mode .manager-headline-result .gag-image-wrap,
#results.manager-results-mode .manager-headline-result .manager-pass-icon {
  grid-row: 1 !important;
  width: 100% !important;
  height: 43px !important;
  min-height: 43px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
}
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .gag-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .verified-zap-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .sue-reward-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .fire-reward-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .toonup-placeholder-sprite {
  width: 39px !important;
  height: 39px !important;
  margin: 1px auto !important;
  background-size: 312px 351px !important;
  background-position: calc(var(--col) * -39px) calc(var(--row) * -39px) !important;
}
#results.manager-results-mode .manager-headline-result .manager-pass-icon img {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
}
#results.manager-results-mode .manager-headline-result .gag-card > strong {
  grid-row: 2 !important;
  align-self: start !important;
  display: -webkit-box !important;
  width: 100% !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  font-size: 7.4px !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  text-align: center !important;
}

/* Cog notation is first-class battle information. It gets its own fixed, high-contrast row. */
#results.manager-results-mode .manager-headline-result .gag-card > .target-notation {
  grid-row: 3 !important;
  align-self: center !important;
  display: block !important;
  width: 100% !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  padding: 1px 1px 0 !important;
  overflow: visible !important;
  color: #27232d !important;
  background: rgba(255,255,255,.66) !important;
  border-radius: 3px !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important;
  font-size: 11px !important;
  line-height: 14px !important;
  font-weight: 950 !important;
  letter-spacing: .8px !important;
  text-align: center !important;
  white-space: nowrap !important;
}
#results.manager-results-mode .manager-headline-result .gag-card > .toon-assignment {
  grid-row: 4 !important;
  align-self: center !important;
  display: block !important;
  width: 100% !important;
  height: 15px !important;
  min-height: 15px !important;
  max-height: 15px !important;
  margin: 0 !important;
  overflow: visible !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  font-size: 6.8px !important;
  line-height: 14px !important;
  font-weight: 800 !important;
  text-align: center !important;
}
#results.manager-results-mode .manager-headline-result .gag-card > .toon-assignment .toon-eligibility-name {
  display: inline !important;
  white-space: nowrap !important;
}

/* Outcome is a quiet right-hand summary, like the highly readable pre-1.7 Manager cards. */
#results.manager-results-mode .manager-headline-result .manager-featured-outcome {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 3px 3px !important;
  text-align: center !important;
  overflow: visible !important;
}
#results.manager-results-mode .manager-featured-damage {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  color: #34303a !important;
  font-size: 11.5px !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  text-align: center !important;
}
#results.manager-results-mode .manager-featured-accuracy {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  padding: 2px 5px !important;
  font-size: 9.5px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}
#results.manager-results-mode .manager-featured-tradeoff {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  max-height: 28px !important;
  overflow: hidden !important;
  color: #55515b !important;
  font-size: 7.8px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center !important;
  white-space: normal !important;
}

/* Full-width textual family footer; Details never steals a row from the actions. */
#results.manager-results-mode .manager-headline-footer {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  height: 18px !important;
  padding-right: 48px !important;
  overflow: hidden !important;
}
#results.manager-results-mode .manager-headline-family {
  display: block !important;
  min-width: 0 !important;
  color: #56515e !important;
  font-size: 8px !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
#results.manager-results-mode .manager-headline-result > details.damage-details {
  position: absolute !important;
  right: 7px !important;
  bottom: 5px !important;
  z-index: 2 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#results.manager-results-mode .manager-headline-result > details.damage-details > summary {
  color: #656a73 !important;
  font-size: 7.6px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}
#results.manager-results-mode .manager-headline-result > details.damage-details > summary::marker { display: none; content: ""; }

/* The tactical shelf remains deliberately secondary and collapsed. */
#results.manager-results-mode .manager-more-results { margin-top: 4px !important; }
#results.manager-results-mode .manager-more-results:not([open]) { max-height: 19px !important; }
#results.manager-results-mode .manager-more-results-heading {
  min-height: 18px !important;
  padding: 2px 7px !important;
  font-size: 7.2px !important;
  line-height: 1 !important;
}

@container combo-results (max-width: 800px) {
  #results.manager-results-mode .manager-headline-results { grid-template-columns: minmax(0, 1fr) !important; }
  #results.manager-results-mode .manager-strategy-shell > .combo-row.manager-headline-result {
    grid-template-columns: minmax(258px, 1.72fr) minmax(118px, .82fr) !important;
  }
}


/* === Version 1.7.7 · Manager-card clarity carryforward === */
#results.manager-results-mode .manager-featured-tag {
  font-size: 10px !important;
  line-height: 1.15 !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}
#results.manager-results-mode .manager-headline-result .gag-row {
  grid-template-columns: repeat(4, 60px) !important;
  gap: 5px !important;
}
#results.manager-results-mode .manager-headline-result .gag-row > .gag-card {
  width: 60px !important;
  min-width: 60px !important;
  min-height: 112px !important;
  padding: 4px 3px 5px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
#results.manager-results-mode .manager-headline-result .gag-image-wrap,
#results.manager-results-mode .manager-headline-result .manager-pass-icon {
  width: 32px !important;
  height: 32px !important;
}
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .gag-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .verified-zap-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .sue-reward-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .fire-reward-sprite,
#results.manager-results-mode .manager-headline-result .gag-image-wrap > .toonup-placeholder-sprite {
  width: 32px !important;
  height: 32px !important;
}
#results.manager-results-mode .manager-headline-result .gag-card strong {
  font-size: 9.2px !important;
  line-height: 1.05 !important;
  min-height: 18px !important;
  margin-top: 2px !important;
  text-align: center !important;
}
#results.manager-results-mode .manager-headline-result .target-notation {
  order: 3 !important;
  display: block !important;
  margin-top: 2px !important;
  font-size: 10.2px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  color: #485065 !important;
  text-align: center !important;
}
#results.manager-results-mode .manager-headline-result .gag-card.prestige .target-notation,
#results.manager-results-mode .manager-headline-result .target-notation.prestige-notation {
  color: #b53636 !important;
}
#results.manager-results-mode .manager-headline-result .toon-assignment {
  order: 4 !important;
  width: 100% !important;
  min-height: 16px !important;
  margin-top: 2px !important;
  display: grid !important;
  justify-items: center !important;
  align-items: start !important;
  gap: 1px !important;
  font-size: 7.7px !important;
  line-height: 1.02 !important;
  text-align: center !important;
  white-space: normal !important;
}
#results.manager-results-mode .manager-headline-result .toon-eligibility-name {
  display: block !important;
  width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#results.manager-results-mode .manager-headline-result .manager-featured-outcome {
  gap: 5px !important;
}
#results.manager-results-mode .manager-headline-result .manager-featured-damage {
  font-size: 21px !important;
  line-height: 1.05 !important;
}
#results.manager-results-mode .manager-headline-result .manager-featured-tradeoff {
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}
#results.manager-results-mode .manager-headline-result > details.damage-details > summary {
  font-size: 8px !important;
}

/* === Version 1.7.7 · Witch Hunter Tentative Hotfix === */
.manager-witch-hunter-control input[type="number"] { width: 66px; }
.manager-witch-hunter-control input[type="text"] { width: 112px; min-width: 92px; }
.manager-witch-hunter-control.hidden { display: none !important; }

/* Version 1.7.8 · Throw Integration Hotfix — dedicated Throw-family color */
.combo-row.family-throw {
  background-color: #fbe9e1 !important;
  border-left: 4px solid #df9f82;
}
.combo-row.family-throw .combo-family {
  color: #7a3f2a;
}
