.tool-overlay.cleaning-overlay { z-index: 70; }
.cleaning-panel {
  width: min(510px, 100%);
  min-height: 0;
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #183c36;
}
.cleaning-panel[data-mode="forging"] { background: #292f2a; border-color: #c99558; }
.cleaning-process, .cleaning-reveal { min-height: 0; padding: 28px 24px 24px; }
.cleaning-process { gap: 10px; }
.cleaning-process[hidden], .cleaning-reveal[hidden] { display: none; }
.cleaning-process h2 { font-size: 28px; margin: 0; }
#workshopMaterial { font-size: 12px; color: #c2ccb8; min-height: 18px; overflow-wrap: anywhere; }
#workshopCanvas { display: block; width: 100%; aspect-ratio: 3 / 2; min-width: 0; height: auto; }
.workshop-stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; list-style: none; width: 100%; margin: 0; padding: 0; }
.workshop-stages li { position: relative; padding: 8px 0 0; border-top: 2px solid #688278; color: #9bb0a6; font-size: 11px; white-space: nowrap; transition: color 180ms, border-color 180ms; }
.workshop-stages li.is-current { color: #ffe7a8; border-color: #e9bb6b; font-weight: 700; }
.workshop-stages li.is-complete { color: #9ed1b6; border-color: #80bc9c; }
#workshopStatus { color: #f0dfb3; font-size: 14px; min-height: 20px; }
.cleaning-process .cleaning-progress { width: 100%; margin: 0; height: 3px; }
.cleaning-process .cleaning-progress i { width: 100%; transform-origin: left; transform: scaleX(0); animation: none; }
.workshop-skip { min-height: 36px; padding: 4px 16px; border: 1px solid #85917c; border-radius: 4px; color: #d4d8c8; background: transparent; cursor: pointer; font: inherit; font-size: 12px; }
.workshop-skip:hover { background: #ffffff0f; }
.cleaning-reveal { gap: 8px; }
.cleaning-reveal h2 { font-size: 26px; line-height: 1.4; margin: 0; }
.cleaning-reveal .cleaning-prize-coin { margin: 18px 0 14px; }
.cleaning-prize-coin::before { animation: none; opacity: 0.45; }
.cleaning-reveal .workshop-receipt { font-size: 12px; line-height: 1.5; color: #b4c4b4; margin-top: 3px; }
.cleaning-reveal::after { display: none; }
.cleaning-accept { margin-top: 10px; }
@media (max-width: 600px) {
  .cleaning-overlay { padding: 8px; }
  .cleaning-panel { max-height: calc(100dvh - 16px); }
  .cleaning-process, .cleaning-reveal { padding: 24px 18px 20px; }
  .cleaning-process h2 { font-size: 24px; }
  .cleaning-reveal h2 { font-size: 22px; }
  .cleaning-close { top: 10px; right: 10px; }
}
@media (max-height: 600px) {
  #workshopCanvas { width: min(100%, 330px); }
  .cleaning-process, .cleaning-reveal { padding-top: 20px; gap: 6px; }
  .cleaning-reveal .cleaning-prize-coin { width: 126px; height: 126px; }
}
@media (prefers-reduced-motion: reduce) {
  .workshop-stages li { transition: none; }
  .cleaning-panel, .cleaning-reveal, .cleaning-prize-coin { animation: none; }
}
