.settings-dialog {
  box-sizing: border-box;
  width: min(480px, calc(100vw - 24px));
  max-height: min(760px, calc(100dvh - 24px));
  margin: auto;
  padding: 22px;
  overflow-y: auto;
  overscroll-behavior: contain;
  color: #eee4d4;
  background: #201c18;
  border: 1px solid #977a48;
  border-radius: 12px;
  box-shadow: 0 20px 70px #0009;
  font: 14px/1.5 "Noto Serif TC", serif;
  pointer-events: auto;
}
.settings-dialog::backdrop { background: #0009; }
.settings-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.settings-dialog h2 { margin: 0; color: #f5d797; font-size: 23px; }
.settings-dialog h3 { margin: 18px 0 6px; color: #e5c88c; font-size: 16px; }
.settings-dialog p { margin: 6px 0 12px; color: #b8ada0; font-size: 12px; }
.settings-dialog button { padding: 7px 14px; color: #eee4d4; background: #393026; border: 1px solid #977a48; border-radius: 5px; cursor: pointer; }
.settings-option { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 40px; padding: 2px 10px; border-bottom: 1px solid #ffffff12; cursor: pointer; }
.settings-option:hover { background: #ffffff08; }
.settings-option input { flex: 0 0 auto; width: 19px; height: 19px; accent-color: #deb66b; cursor: pointer; }
.settings-dialog .settings-status { min-height: 18px; margin: 14px 0 0; color: #e5c88c; }
.pickup-feed {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(170px + env(safe-area-inset-bottom));
  width: min(330px, calc(100vw - 32px));
  height: 248px;
  overflow: hidden;
  z-index: 180;
  pointer-events: none;
}
.pickup-feed-row { position: absolute; right: 0; bottom: 0; width: 100%; transition: transform 140ms ease-out; }
.pickup-feed-card { display: flex; align-items: center; gap: 9px; height: 42px; box-sizing: border-box; padding: 5px 12px 5px 7px; border: 1px solid #ffffff80; border-radius: 7px; background: #ffffffb8; color: #24201a; box-shadow: 0 2px 10px #0002; animation: pickup-notice 1s ease-out both; font: 13px/1.4 sans-serif; }
.pickup-feed-icon { flex: 0 0 30px; width: 30px; height: 30px; }
.pickup-feed-icon svg { display: block; width: 100%; height: 100%; }
.pickup-feed-name { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pickup-feed-card strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
@keyframes pickup-notice {
  0% { opacity: 0; transform: translateY(9px); }
  15%, 65% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(-16px); }
}
.mobile-layout .pickup-feed { right: max(10px, env(safe-area-inset-right)); bottom: calc(var(--mobile-hud-height, 100px) + 18px + env(safe-area-inset-bottom)); width: min(280px, calc(100vw - 24px)); }
@media (max-width: 380px) {
  .mobile-layout #console-row-top { max-width: calc(100vw - 104px - var(--safe-left, 0px) - var(--safe-right, 0px)); flex-wrap: wrap; justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
  .pickup-feed-row { transition: none; }
  @keyframes pickup-notice { 0%, 100% { opacity: 0; } 15%, 65% { opacity: 1; } }
}
