.scene-banner {
  position: absolute;
  z-index: 5;
  top: 9px;
  left: 10px;
  right: 10px;
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #bacdb8;
  border-radius: 12px;
  background: #fcfff4f2;
  box-shadow: 0 6px 24px #28433718;
  color: #264c3e;
  pointer-events: auto;
}
.mobile-desk-link { display: none; }
.scene-banner > div { flex: 1; min-width: 0; display: grid; gap: 3px; }
.scene-banner strong { font-size: 15px; line-height: 1.35; }
.scene-banner #scene-detail { font-size: 11px; line-height: 1.5; }
.scene-banner button { flex: none; min-height: 36px; color: inherit; }
.scene-count { border: 1px solid #789a7f; border-radius: 50%; width: 33px; height: 33px; display: grid; place-items: center; font-size: 10px; flex: none; }
.scene-banner[data-phase='night'] { background: #203b43f5; color: #f2f7e5; border-color: #587b80; }
.scene-banner[data-phase='receipt'], .scene-banner[data-phase='arrival'] { background: #fff5d6f5; color: #644b22; border-color: #dac488; }
.scene-banner[data-phase='result'] { background: #28443cf5; color: #fff5cd; border-color: #ccb475; }
.scene-banner[data-emphasis='true'] { animation: scene-announcement 480ms ease-out both; }
#office-stage[data-phase='night'] { background: #dae3e4; }
#office-stage[data-phase='receipt'] { background: #f8efd9; }
#game-shell[data-presenting='true'] .office-alerts { visibility: hidden; }
#game-shell[data-presenting='true'] .scene-caption { visibility: hidden; }
#game-shell[data-presenting='true'] .day-bar { border-color: #b3caaa; }

.receipt-note { margin: 0; color: #516958; font-size: 11px; line-height: 1.55; }
.day-feedback { justify-content: stretch; }
.day-feedback[data-emphasis='victory'], .day-feedback[data-emphasis='income'] { border-color: #c9ad61; background: linear-gradient(110deg, #fff1c7, #fffcf3); }
.day-feedback[data-emphasis='warning'], .day-feedback[data-emphasis='settlement'] { border-left-color: #a45c42; background: #fff0e1; }
.day-feedback[data-emphasis='first-ai'] { border-left-color: #537d99; background: #eef7f6; }
.day-feedback-stats { gap: 5px; }
.day-feedback-stat { flex-basis: 105px; }
.day-feedback-stat strong, .day-feedback-stat span { white-space: normal; overflow-wrap: anywhere; }

.workday-flow { flex: none; margin: 0 12px 7px; border: 1px solid #d3ddce; border-radius: 9px; padding: 6px 8px; background: #fafcf6; display: grid; gap: 5px; }
.flow-heading { display: flex; justify-content: space-between; gap: 10px; color: #557263; font-size: 10px; }
.flow-job { display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; width: 100%; padding: 5px 7px; border: 1px solid #dde4d6; border-radius: 6px; background: white; text-align: left; color: #284c43; min-width: 0; }
.flow-job-name { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flow-job-status { font-size: 10px; font-weight: 800; }
.flow-job-work { grid-column: 1 / -1; color: #698173; font-size: 10px; }
.flow-track { grid-column: 1 / -1; height: 5px; border-radius: 6px; overflow: hidden; background: #e6ede0; }
.flow-track i { display: block; width: 100%; height: 100%; background: #608c70; transform-origin: left; transition: transform 650ms cubic-bezier(.18,.8,.3,1); }
.flow-job[data-status='delivered'] { border-color: #82a08c; background: #eff8ee; }
.flow-job[data-status='paid'] { border-color: #c5a55b; background: #fff7de; }
.flow-job[data-status='paid'] .flow-track i { background: #c1a04d; }
.flow-more { font-size: 10px; color: #62746a; }
.compact-job.job-changed { animation: job-worked 700ms ease-out both; }
.compact-job.decision-feedback { animation: job-worked 950ms ease-out both; border-color: #c3a05b; }
.compact-progress progress::-webkit-progress-value { transition: width 650ms ease-out; }

@keyframes scene-announcement { from { opacity: .5; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes job-worked { from { box-shadow: inset 0 0 0 2px #9bbe93; } to { box-shadow: inset 0 0 0 0 transparent; } }

@media (min-width:1100px) and (min-height:720px) {
  .workday-flow { margin: 0 10px 4px; padding: 4px 6px; gap: 3px; }
  .flow-job { padding: 4px 6px; }
  .receipt-note { font-size: 10px; }
  .day-feedback-head strong, .day-feedback-stat strong { font-size: 11px; }
}
@media (max-width:1099px), (max-height:719px) {
  .mobile-desk-link { display: inline-block; position: absolute; bottom: 10px; right: 10px; z-index: 4; min-height: 36px; padding: 7px 10px; border: 1px solid #cad8c4; border-radius: 8px; background: #fffdf4ed; font-size: 12px; }
  .scene-caption { display: none; }
  .app-shell { padding-bottom: 95px; }
  .day-bar { position: fixed; z-index: 35; bottom: 0; left: 0; right: 0; margin: 0; padding: 10px max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); background: #fffdf5f5; box-shadow: 0 -3px 20px #233d301a; border-top: 1px solid #b8cbb4; }
  #office-stage { scroll-margin-top: 10px; }
  .scene-banner { top: 8px; left: 8px; right: 8px; padding: 8px; gap: 7px; }
  .scene-banner strong { font-size: 13px; }
  .scene-banner #scene-detail { font-size: 11px; }
  .scene-count { display: none; }
  .scene-banner button { font-size: 11px; }
  .flow-job-name, .flow-job-status, .flow-job-work { font-size: 12px; }
  .flow-job { grid-template-columns: 1fr; }
  .flow-job-status { grid-row: 2; }
}
@media (max-height:450px) {
  .day-bar > div { display: none; }
  .day-bar { justify-content: flex-end; padding-block: 6px; }
}
html[data-motion='reduced'] *, html[data-motion='reduced'] *::before, html[data-motion='reduced'] *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
@media (prefers-reduced-motion:reduce) {
  html:not([data-motion='full']) .scene-banner,
  html:not([data-motion='full']) .flow-track i,
  html:not([data-motion='full']) .compact-job.job-changed,
  html:not([data-motion='full']) .compact-progress progress::-webkit-progress-value { animation: none !important; transition: none !important; }
}
