/* Explicit equipment states, shared by the headquarters and both live views. */
.bot-config { margin-top: 12px; padding-top: 10px; border-top: 1px solid #9eabb3; }
.bot-config h5 { margin: 0; color: #213e55; font-size: 13px; }
.bot-config p { margin: 5px 0 10px; color: #465966; font-size: 12px; line-height: 1.4; }
.bot-skills-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bot-skill-chip {
  display: flex; align-items: center; gap: 10px; min-height: 76px;
  padding: 10px; text-align: left; border: 1px solid #8296a4;
  background: #e5e9ec; color: #40515e; box-shadow: inset 0 1px #fff;
}
.bot-skill-symbol { display: grid; place-items: center; width: 32px; height: 34px; flex: none; background: #d6dfe5; font-size: 21px; }
.bot-skill-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bot-skill-copy strong { font-size: 13px; color: #243749; }
.bot-skill-copy small { color: #465966; font-size: 11px; line-height: 1.4; }
.bot-skill-state { font-size: 12px; font-weight: 700; }
.bot-skill-chip.is-equipped { border: 2px solid #47785a; padding: 9px; background: #eff7ef; }
.bot-skill-chip.is-equipped .bot-skill-state { color: #225b35; }
.bot-skill-chip.is-equipped .bot-skill-symbol { background: #d9ecdc; color: #225b35; }
.bot-skill-chip.is-locked { border-style: dashed; background: #dce2e6; }
.bot-skill-chip:hover { box-shadow: inset 0 0 0 1px #213e55; }
.bot-skill-chip:focus-visible { outline: 2px solid #000080; outline-offset: 2px; }
.spec-card-arsenal, .spec-skills-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; width: 100%; }
.spec-card-foot { display: block; }
.spec-card-foot h5, .spec-skills-box h5 { margin: 0 0 6px; color: #304a5c; font-size: 12px; }
.spec-card-foot .spec-card-score { display: none; }
.spec-skills-box { margin-top: 10px; }
.bot-loadout-item {
  display: flex; align-items: center; gap: 7px; min-width: 0; padding: 7px 8px;
  border: 1px solid #a7b5bf; background: #e0e5e9; color: #4a5b68;
}
.bot-loadout-item > .icon { flex: none; font-size: 18px; }
.bot-loadout-item > span { min-width: 0; }
.bot-loadout-item strong { display: block; font-size: 12px; }
.bot-loadout-item small { display: block; margin-top: 2px; font-size: 11px; line-height: 1.4; }
.bot-loadout-item.is-equipped { background: #f0f7ed; border-color: #739781; color: #225333; }
.bot-loadout-item.is-using { background: #d9eee7; outline: 2px solid #246c4d; outline-offset: -2px; }
.bot-loadout-item .bot-equipment-pending { color: #785015; }
.spec-card-board-wrap, .spectator-board-wrap { position: relative; }
.bot-power-overlay {
  --bot-effect: #54d77d;
  position: absolute; top: 8px; left: 8px; right: 8px; z-index: 5;
  max-width: 360px; padding: 7px 9px; border: 1px solid var(--bot-effect);
  background: #163025f2; color: #edfff2; pointer-events: none;
  box-shadow: 0 2px 5px #0003;
}
.bot-power-overlay[hidden] { display: none; }
.bot-power-overlay[data-skill="freeze"] { --bot-effect: #8edfff; background: #173e57f2; color: #e9f9ff; }
.bot-power-overlay[data-skill="immortal"] { --bot-effect: #efca61; background: #4b3d17f2; color: #fff8db; }
.bot-power-overlay[data-skill="defuse"] { --bot-effect: #ffbd84; background: #593622f2; color: #fff2e8; }
.bot-power-caption { display: flex; justify-content: space-between; gap: 8px; font: 11px/1.4 Tahoma, sans-serif; }
.bot-power-caption strong { font-size: 12px; }
.bot-power-caption span { flex: none; font-family: Consolas, monospace; }
.bot-power-track { height: 4px; margin-top: 6px; background: #ffffff30; }
.bot-power-track i { display: block; height: 100%; background: var(--bot-effect); transform-origin: left; }
.bot-defuse-meter { display: none; position: relative; height: 13px; margin-top: 7px; background: #9d4c35; border: 1px solid #efb58c; }
[data-skill="defuse"] .bot-defuse-meter { display: block; }
[data-skill="defuse"] .bot-power-track { display: none; }
.bot-defuse-meter b { position: absolute; inset-block: 0; left: 70%; width: 20%; background: #ffffec; }
.bot-defuse-meter i { position: absolute; top: -3px; bottom: -3px; width: 3px; background: #111; border: 1px solid white; }
.spec-mini-board .cell[data-bot-effect], .spectator-board .cell[data-bot-effect] { position: relative; z-index: 3; overflow: visible; }
.bot-effect-glyph {
  position: absolute; inset: -1px; display: grid; place-items: center;
  border: 2px solid #55df80; background: #0b391eeb; color: #c0ffcf;
  box-shadow: 0 0 0 2px #c3ffcf88; font: 700 calc(var(--cell) * .6) Consolas, monospace;
  pointer-events: none;
}
.bot-effect-glyph > .icon { width: 75%; height: 75%; }
[data-bot-effect="xray"] .bot-effect-glyph { background: repeating-linear-gradient(0deg, #062b1499 0 1px, #124a28eb 1px 4px); }
[data-bot-effect="freeze"] .bot-effect-glyph { color: #f4fcff; background: #62c7e9db; border-color: #d1f8ff; box-shadow: 0 0 0 2px #217fafa0; }
[data-bot-effect="immortal"] .bot-effect-glyph { background: #c69b22d9; color: #fffce3; border-color: #ffe987; border-radius: 45%; box-shadow: 0 0 12px #eac557; }
[data-bot-effect="defuse"] .bot-effect-glyph { background: #f8c59b; color: #5a2d12; border-color: #a35221; box-shadow: 0 0 0 2px #ffdcad88; }
.bot-effect-cursor { position: absolute; right: -15px; bottom: -14px; display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid currentColor; background: #183244; color: #fff; box-shadow: 1px 1px 2px #0008; }
.bot-effect-cursor .icon { width: 17px; height: 17px; }
[data-effect-phase="hammer"] .bot-effect-cursor { animation: bot-hammer-strike .38s ease-in-out infinite; transform-origin: bottom right; }
[data-effect-phase="resolved"] .bot-effect-glyph { opacity: .65; }
@keyframes bot-hammer-strike { 0%,100% { transform: rotate(25deg); } 50% { transform: rotate(-30deg); } }
@media (max-width: 520px) {
  .bot-skills-grid { grid-template-columns: minmax(0, 1fr); }
  .bot-skill-chip { min-height: 76px; }
  .bot-power-caption strong { font-size: 11px; }
  .bot-loadout-item { padding: 6px; gap: 5px; }
}
@media (prefers-reduced-motion: reduce) { [data-effect-phase="hammer"] .bot-effect-cursor { animation: none; } }
