.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.album-views { gap: 16px; align-items: center; }
.album-filter-bar { margin-left: auto; }
.album-filter-bar select { min-height: 32px; width: 86px; max-width: 100%; padding: 3px 6px; border: 1px solid #abb69c; border-radius: 3px; background: #f7f5ec; color: #314d3b; font: inherit; font-size: 12px; }
.home-collection-goal { display: grid; min-width: 0; gap: 2px; padding: 0; border: 0; background: transparent; text-align: left; color: inherit; cursor: pointer; }
.home-collection-goal b { overflow-wrap: anywhere; font-size: 12px; }
.home-collection-goal small { color: #55715a; }
.home-collection-goal em { font-style: normal; }
.home-collection-goal:focus-visible { outline: 2px solid #9d593a; outline-offset: 2px; }
#approachQuickBtn { min-height: 26px; padding: 0 2px; border: 0; background: transparent; color: #4d6549; cursor: pointer; }
.commission-entry.is-goal-related { border-left: 3px solid #528052; }
.experience-dialog { width: min(500px, calc(100% - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; padding: 18px; border: 1px solid #8da082; border-radius: 6px; color: #253d2d; background: #f5f5eb; box-shadow: 0 24px 70px #15291e66; }
.experience-dialog::backdrop { background: #12251ec4; backdrop-filter: blur(3px); }
.experience-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.experience-dialog h2 { margin: 0; font-size: 21px; }
.experience-dialog h3 { font-size: 15px; }
.dialog-close { width: 38px; height: 38px; flex-shrink: 0; border: 1px solid #a0af93; border-radius: 50%; background: transparent; color: #456139; font-size: 24px; }
.experience-field, .experience-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; font-size: 14px; border-bottom: 1px solid #d3daca; }
.experience-field select { min-width: 0; max-width: 70%; height: 36px; font: inherit; color: inherit; border: 1px solid #a3b19b; background: #fffdf6; border-radius: 3px; }
.experience-toggle input { width: 21px; height: 21px; accent-color: #356046; }
.approach-options { border: 0; margin: 18px 0 0; padding: 0; }
.approach-options legend { font-weight: 700; }
#approachOptions label { display: flex; gap: 10px; align-items: start; padding: 12px 0; border-bottom: 1px solid #d3daca; cursor: pointer; }
#approachOptions input { margin-top: 3px; accent-color: #356046; }
#approachOptions span { display: grid; gap: 4px; }
#approachOptions small { font-size: 12px; line-height: 1.5; color: #68735d; }
#approachOptions label:has(input:disabled) { opacity: 0.55; }
#collectionGoalDetail p { margin: 12px 0; line-height: 1.6; overflow-wrap: anywhere; font-size: 14px; }
.goal-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.goal-links button, #reliefBtn { min-height: 42px; padding: 6px 12px; border: 1px solid #557650; border-radius: 4px; background: #345c42; color: #fffef3; font: inherit; font-size: 13px; cursor: pointer; }
.goal-links button:disabled, #reliefBtn:disabled { opacity: 0.5; cursor: default; }
.relief-section { border-top: 1px solid #c8d1be; }
.restart-setting { min-height: 36px; margin-top: 16px; padding: 4px 10px; border: 1px solid #a46354; border-radius: 4px; background: transparent; color: #963c2c; }
#reloadGameBtn { min-height: 42px; border: 1px solid #426a4c; padding: 8px 12px; background: #345c42; color: white; border-radius: 4px; }
.relief-section p, #approachNotice { font-size: 12px; line-height: 1.6; color: #68735d; }
.collection-toast { position: fixed; z-index: 90; bottom: max(18px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); max-width: calc(100% - 32px); width: max-content; padding: 10px 18px; border: 1px solid #739267; border-radius: 4px; background: #244631; color: #fffcea; box-shadow: 0 5px 18px #14291940; font-size: 13px; pointer-events: none; }
.collection-toast.is-milestone { border-color: #bf9a4e; color: #f4dda0; }
.coin-sources { font-size: 12px; line-height: 1.6; color: #5a6a50; }
.coin-sources p { margin: 8px 0; }
.coin-lettering { position: absolute; inset: 0; color: #4a5330; font-size: 9px; line-height: 1; font-family: "Songti SC", "STSong", serif; }
.coin-lettering b { position: absolute; font-weight: 700; }
.letters-4 b:nth-child(1) { top: 7%; left: 50%; transform: translateX(-50%); }
.letters-4 b:nth-child(2) { bottom: 7%; left: 50%; transform: translateX(-50%); }
.letters-4 b:nth-child(3) { right: 6%; top: 50%; transform: translateY(-50%); }
.letters-4 b:nth-child(4) { left: 6%; top: 50%; transform: translateY(-50%); }
.letters-2 b:nth-child(1) { right: 6%; top: 50%; transform: translateY(-50%); }
.letters-2 b:nth-child(2) { left: 6%; top: 50%; transform: translateY(-50%); }
.album-coin-relief::before, .album-coin-relief::after { display: none; }
.is-missing .coin-lettering { opacity: 0.5; }
.is-collected .album-coin-relief[data-material="patina"] { background: #88a17e; border-color: #526c4b; box-shadow: inset 0 0 0 4px #97ad83, inset 0 0 0 5px #465f43; }
.is-collected .album-coin-relief[data-material="iron"] { background: #969993; border-color: #575d54; box-shadow: inset 0 0 0 4px #b0b1a4, inset 0 0 0 5px #52574d; }
.album-coin-relief[data-shape="thin"] { border-width: 1px; }
.album-coin-relief[data-shape="large"] { border-width: 4px; }
#albumCoinContent .coin-lettering { font-size: 19px; }
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
.story-card.has-result #resultText { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .album-views { gap: 10px; }
  .album-views button { font-size: 12px; }
  .album-filter-bar select { width: 75px; font-size: 11px; }
  .home-collection-goal b { font-size: 10px; }
  .home-collection-goal em { display: none; }
  .coin-lettering { font-size: 7px; }
}
@media (max-width: 600px) and (max-height: 640px) {
  #albumList .coin-lettering { display: none; }
  .home-overview { gap: 2px; padding-bottom: 2px; }
  .home-statuses { padding: 1px 5px; }
  .home-statuses li { padding-block: 0; }
  .progression-summary { padding-top: 3px; }
  .journey-strip { margin-top: 2px; }
  .journey-strip button { min-height: 24px; }
  .choices { gap: 4px; }
  .choices button { min-height: 44px; padding: 5px 6px; }
  .choice-title { font-size: 12px; line-height: 1.2; }
  .choice-hint { font-size: 10px; line-height: 1.2; }
  .choice-area { padding-top: 2px; }
  .choice-caption { padding-block: 0; margin-bottom: 2px; }
  #approachQuickBtn { min-height: 20px; }
  .story-card, .story-card.has-result { grid-template-rows: 48px minmax(0, 1fr); }
}
