.choice-row { position: relative; display: grid; min-width: 0; }
.choices .choice-action { width: 100%; padding-bottom: 38px; text-align: left; }
.choices .choice-detail {
  display: block; position: absolute; right: 8px; bottom: 0; width: auto; min-width: 48px;
  min-height: 36px; margin: 0; padding: 4px 8px; border: 0; border-radius: 0; box-shadow: none;
  background: transparent; color: #355f4b; font: inherit; font-size: 12px; cursor: pointer;
  transform: none; animation: none;
}
.choices .choice-detail:hover { background: #e3ecdf; transform: none; }
.choice-blocked { display: block; font-size: 12px; color: #904630; }
.choice-risk { white-space: normal; }
.context-actions:empty { display: none; }
.context-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 0; }
.context-actions p { flex-basis: 100%; margin: 0; font-size: 13px; color: #89442e; }
.context-actions button { text-align: left; line-height: 1.5; }
#choiceDetailContent { font-size: 14px; line-height: 1.75; }
#choiceDetailContent p:last-child { font-size: 12px; color: #687568; }
.album-entry[data-level="1"] .album-coin-relief { outline: 1px solid #468563; outline-offset: 3px; }
.album-entry[data-level="2"] .album-coin-relief { outline: 2px double #8a628d; outline-offset: 3px; }
.album-entry[data-level="3"] .album-coin-relief { outline: 3px double #aa4c43; outline-offset: 3px; }
/* Book slots fit the coin itself; keep rarity rings inside that footprint. */
#albumList .album-coin-relief { outline-offset: -3px; }
.new-record { position: absolute; left: 2px; top: 2px; font-size: 10px; padding: 1px 4px; background: #315c45; color: white; border-radius: 2px; }
.coin-ownership { color: #315c45; font-weight: 700; }
#albumCoinSources .growth-action { margin: 4px 6px 4px 0; }
.completed-specimens { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 8px; padding: 16px 0; list-style: none; }
.completed-specimens li { display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0; text-align: center; }
.completed-specimens strong { font-size: 12px; overflow-wrap: anywhere; }
.completed-specimens .album-specimen { width: 72px; height: 72px; }
.completed-specimens .album-coin-relief { width: 52px; height: 52px; }
#completeAlbumBtn { width: 100%; min-height: 48px; }
#workshopViewCoinBtn { display: block; margin: 8px auto 0; min-height: 44px; }
.workshop-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; margin-top: 10px; }
.workshop-actions .cleaning-accept, .workshop-actions #workshopAgainBtn, .workshop-actions #workshopViewCoinBtn { display: block; min-width: 0; width: 100%; min-height: 46px; padding: 8px; margin: 0; font-size: 14px; }
.workshop-actions #workshopCollectBtn { order: 0; background: #c7a14c; color: #172d22; }
.workshop-actions #workshopAgainBtn { order: 1; }
.workshop-actions #workshopViewCoinBtn { order: 2; }
.workshop-actions #cleaningAcceptBtn { order: 3; background: transparent; color: #e6d5a8; }
.workshop-actions button:disabled { opacity: .5; }
.cleaning-prize-coin .coin-lettering { font-size: 23px; color: #655125; }
body:has(#cleaningOverlay:not([hidden])) .collection-toast, body:has(dialog[open]) .collection-toast { visibility: hidden; }
.scene-retry { position: absolute; top: 50px; left: 14px; z-index: 5; min-height: 44px; padding: 8px 12px; border: 1px solid #678575; border-radius: 4px; color: #294f3b; background: #f1f5ef; }
.scene-unavailable .scene-visual { background: #c9d8c8; }
.scene-unavailable .scene-art { opacity: 0; }

@media (max-width: 820px), (max-width: 1000px) and (max-height: 500px) {
  .scene-scroll { grid-template-rows: 88px auto; }
  .scene-scroll > .scene-visual { height: 88px; min-height: 88px; }
  .scene-narrative, .story-card.has-result .scene-narrative { padding: 10px 70px 10px 12px; min-height: 64px; }
  .scene-text { -webkit-line-clamp: 2; }
  #sceneExpandBtn { right: 4px; bottom: 8px; width: 62px; padding: 0 4px; }
  .story-card.has-result .scene-scroll { grid-template-rows: 48px auto; }
  .story-card.has-result .scene-scroll > .scene-visual { height: 48px; min-height: 48px; }
  .story-card.has-result .scene-text { -webkit-line-clamp: 1; }
  .choice-area { padding-top: 6px; }
  .choice-caption { min-height: 44px; }
  .choice-row { grid-template-columns: minmax(0, 1fr) 48px; border: 1px solid #c5d2c4; border-radius: 4px; background: #fff; }
  .choices .choice-action { padding: 10px 8px; border: 0; box-shadow: none; }
  .choices .choice-detail { position: static; width: 48px; min-height: 44px; height: 100%; padding: 4px; border-left: 1px solid #e0e7dc; }
  .choice-terms { font-size: 12px; line-height: 1.5; }
  .choice-title { font-size: 14px; }
  .choice-risk { display: none; }
  #albumCoinContent .album-specimen { width: 132px; height: 132px; }
  #albumCoinContent .album-coin-relief { width: 112px; height: 112px; }
  #albumCoinContent .coin-lettering { font-size: 24px; }
  .cleaning-reveal { max-height: calc(100dvh - 48px); overflow-y: auto; }
  .cleaning-reveal .cleaning-prize-coin { width: 110px; height: 110px; }
  #workshopAgainBtn, #workshopViewCoinBtn { display: inline-block; margin: 8px 3px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .completed-specimens * { animation: none !important; transition: none !important; }
}
