.keep-preparation { margin-block: 20px; color: #f7efda; }
.keep-preparation h3, .keep-preparation h4 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 800; text-transform: uppercase; }
.keep-preparation h3 { font-size: 1.3rem; }
.keep-preparation h4 { font-size: 1.55rem; line-height: 1; }
.keep-preparation p, .keep-preparation small { color: #bfccd6; line-height: 1.45; }
.keep-preparation p { margin: 6px 0 0; font-size: .82rem; }
.keep-preparation small { display: block; font-size: .72rem; }
.keep-reinforcement { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 0 22px; border-bottom: 1px solid #435569; }
.keep-reinforcement h3 span { margin-left: 8px; color: #bfccd6; font-size: .9rem; white-space: nowrap; }
.keep-reinforcement p strong { color: #fff0ba; }
.keep-reinforcement .keep-purchase { min-width: 205px; }
.keep-battery-heading { margin-block: 22px 14px; }
.keep-battery-heading p { margin-top: 3px; }
.keep-battery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.keep-battery { min-width: 0; padding: 16px; border: 1px solid #536379; border-radius: 12px; background: #192a3b; }
.keep-battery-title { display: flex; gap: 12px; align-items: center; min-height: 108px; }
.keep-battery-title > div { min-width: 0; }
.keep-battery-title p { color: #f2cd6c; }
.keep-battery-art { flex: 0 0 104px; width: 104px; height: 104px; background-image: url("assets/command-icons-v1.png"); background-size: 500% 400%; background-position: calc(var(--battery-column) * 25%) 0; border-radius: 12px; }
.keep-battery-stats { margin-block: 18px 12px; font-size: .85rem; font-variant-numeric: tabular-nums; }
.keep-battery-stats > div { display: flex; justify-content: space-between; gap: 12px; padding-block: 5px; }
.keep-battery-stats dt { color: #bfccd6; }
.keep-battery-stats dd { margin: 0; text-align: right; }
.keep-battery-stats dd span { color: #b9e5b1; }
.keep-preparation button { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #f2cd6c; border-radius: 9px; background: #efc35f; color: #201b10; font: 800 .95rem/1.15 "Barlow Condensed", sans-serif; text-align: left; cursor: pointer; transition: background-color .18s ease-out; }
.keep-preparation button span { flex-shrink: 0; font-size: .84rem; }
.keep-preparation button:not(:disabled):hover { background: #ffe08d; }
.keep-preparation button:disabled { background: #2a394a; color: #c1cad0; border-color: #506073; cursor: not-allowed; }
.keep-preparation :is(button, select):focus-visible { outline: 3px solid #ffe69a; outline-offset: 3px; }
.keep-purchase > small { min-height: 18px; margin-top: 4px; color: #edc69a; }
.keep-conversion { margin-top: 10px; padding-top: 14px; border-top: 1px solid #435569; }
.keep-conversion label { display: block; margin-bottom: 6px; font-size: .76rem; font-weight: 700; color: #f7efda; }
.keep-conversion select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #718498; border-radius: 8px; background: #102131; color: #f7efda; font: 600 .88rem "Barlow", sans-serif; }
.keep-conversion p { min-height: 36px; margin-bottom: 6px; font-size: .74rem; }
.keep-preparation .keep-convert-action { background: #203b54; color: #fff0c1; border-color: #8194a7; }
.keep-preparation .keep-convert-action:not(:disabled):hover { background: #31516f; }
.keep-preparation .keep-convert-action:disabled { background: #243447; color: #c1cad0; border-color: #506073; }
.keep-conversion > small { margin-top: 7px; }
.keep-preparation .keep-permanent-note { margin-top: 12px; font-size: .76rem; }
.keep-preparation .keep-purchase-status { color: #ffd1a4; }
.keep-purchase-status:empty { display: none; }
@media (max-width: 620px) {
  .keep-reinforcement { align-items: stretch; flex-direction: column; gap: 12px; }
  .keep-battery-grid { grid-template-columns: minmax(0, 1fr); }
  .keep-battery { padding: 14px; }
  .keep-battery-art { flex-basis: 88px; width: 88px; height: 88px; }
  .keep-battery-title { min-height: 88px; }
  .keep-preparation button { font-size: .92rem; }
}
