/* Mangonel — a painted siege field and a brass-bound action bar. */

[hidden] { display: none !important; }

.mg-frame {
  width: min(820px, 96vw);
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(10px, 2.2vw, 18px);
}

#field {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px rgba(200, 156, 58, .35), 0 3px 10px rgba(0, 0, 0, .3);
  touch-action: manipulation;
  cursor: pointer;
}

.gauge-hearts #hearts { color: var(--oxblood-bright, #9e2b25); letter-spacing: 1px; font-size: 14px; }

/* ---- the action bar ---- */
.action-bar {
  min-height: 58px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 8px 10px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(45, 38, 27, .97), rgba(31, 26, 18, .97));
  box-shadow: inset 0 0 0 1px rgba(200, 156, 58, .35);
}
.bar-line {
  font-family: var(--hand);
  font-style: italic;
  font-size: clamp(13px, 1.9vw, 15px);
  color: rgba(241, 230, 200, .85);
}
.bar-line b { color: #e3b754; font-weight: 600; }
.bar-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 7px 14px;
  border-radius: 8px;
  border: 1.5px solid rgba(200, 156, 58, .55);
  background: linear-gradient(180deg, rgba(227, 183, 84, .16), rgba(227, 183, 84, .05));
  cursor: pointer;
  transition: transform .1s var(--ease), background .12s var(--ease);
}
.bar-btn:hover { transform: translateY(-2px); background: linear-gradient(180deg, rgba(227, 183, 84, .28), rgba(227, 183, 84, .1)); }
.bar-btn.is-dim { opacity: .45; }
.bar-btn.is-quiet { border-color: rgba(241, 230, 200, .3); background: none; }
.bar-name {
  font-family: var(--caps);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 11.5px;
  color: #f1e6c8;
}
.bar-sub {
  font-family: var(--hand);
  font-style: italic;
  font-size: 12px;
  color: rgba(227, 183, 84, .9);
}

.frame-actions { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }

.help-body { text-align: left; font-size: 15.5px; line-height: 1.55; color: var(--ink-soft); }
.help-body p { margin: 0 0 12px; }
.help-body b { color: var(--oxblood); }

.new-best {
  display: inline-block;
  font-family: var(--caps);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11.5px;
  color: var(--parchment);
  background: var(--oxblood);
  border-radius: 5px;
  padding: 2px 8px;
  margin-left: 6px;
  vertical-align: 1px;
}
