#keeper-help, #willow-victory { margin: 4px auto 10px; min-height: 58px; }
#keeper-open {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding: 2px 16px 2px 4px;
  border-color: #a99870;
  border-radius: 28px;
  font: 15px Georgia, serif;
}
#keeper-open img { width: 54px; height: 48px; object-fit: contain; }
#keeper-dialog {
  width: min(92vw, 560px);
  max-height: 86svh;
  overflow: auto;
  color: #ebe5d4;
  background: linear-gradient(145deg,#3f4638,#20281f 68%,#151b14);
  border: 2px solid #9d906d;
  border-radius: 14px;
  padding: 18px 20px 22px;
  box-shadow: 0 18px 55px #000c, inset 0 0 28px #0006;
}
#keeper-dialog::backdrop { background: #070a06c9; backdrop-filter: blur(2px); }
#keeper-close {
  float: right;
  min-width: 42px;
  min-height: 42px;
  padding: 4px;
  border-radius: 50%;
  font: 22px/1 system-ui;
}
.keeper-heading { display: flex; align-items: flex-end; gap: 12px; padding-right: 38px; }
.keeper-heading img { width: 100px; height: 92px; object-fit: contain; flex: 0 0 auto; }
.keeper-heading h2 { margin: 0 0 5px; color: #ffe3a0; font-size: 24px; }
.willow-says { margin: 0; color: #d6cfbc; font: italic 15px/1.4 Georgia, serif; text-align: left; }
.keeper-steps { clear: both; margin: 16px 0 0; padding-left: 24px; text-align: left; font: 15px/1.45 system-ui, sans-serif; }
.keeper-steps li { margin: 11px 0; padding-left: 5px; }
.keeper-steps strong { color: #ffe0a0; }
#willow-victory {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 500px;
  color: #f5dfaa;
  font: italic 15px/1.35 Georgia, serif;
}
#willow-victory[hidden], #keeper-help[hidden] { display: none; }
#willow-victory img { width: 70px; height: 62px; object-fit: contain; flex: 0 0 auto; }
#willow-victory p { margin: 0; text-align: left; }
@media (max-width: 420px) {
  #keeper-dialog { padding: 14px 14px 18px; }
  .keeper-heading { gap: 8px; padding-right: 32px; }
  .keeper-heading img { width: 82px; height: 76px; }
  .keeper-heading h2 { font-size: 21px; }
  .keeper-steps { font-size: 14px; }
}
