#qinEmperorPrompt {
  position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 15; display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px;
  border: 0; color: var(--ink); font: 600 16px/1.3 var(--text); cursor: pointer;
}
#qinEmperorPrompt kbd { display: grid; place-items: center; width: 28px; height: 28px; background: var(--btn); color: #fff; font: 600 15px/1 var(--text); }
#qinEmperorPrompt small { color: var(--ink-soft); font-size: 12px; }
body.qin-emperor-available :is(#prompt, #furniturePrompt, #fishingPrompt, #fishingStatus) { display: none; }
#qinEmperorBubble {
  position: fixed; z-index: 16; transform: translate(-50%, -100%); pointer-events: none;
  width: max-content; max-width: min(340px, calc(100vw - 24px)); padding: 10px 14px;
  color: var(--ink); font: 600 15px/1.5 var(--text); text-align: center;
}
#qinEmperorBubble b { display: block; margin-bottom: 4px; color: #754c29; font-size: 13px; }
#qinEncounterStatus {
  position: fixed; bottom: calc(90px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%);
  width: max-content; max-width: min(560px, calc(100vw - 32px)); padding: 10px 14px;
  color: var(--ink); text-align: center; pointer-events: none; font: 600 14px/1.5 var(--text); z-index: 14;
}
#qinEncounterScene {
  position: fixed; inset: 0; margin: 0; padding: 0; width: 100vw; height: 100vh; height: 100dvh;
  max-width: none; max-height: none; border: 0; background: transparent; color: #f7edd4; font-family: var(--text); overflow: hidden;
}
#qinEncounterScene::backdrop { background: transparent; }
.qin-army-controls { margin: 18px 24px 24px; padding: 16px; background: #eee6d5; color: #35464c; }
.qin-army-controls p { margin: 0 0 12px; font: 15px/1.6 var(--text); }
.qin-army-controls button { min-height: 44px; padding: 10px 18px; border: 0; color: var(--ink); font: 600 16px/1.3 var(--text); cursor: pointer; }
.qin-army-controls button:disabled { opacity: .55; cursor: default; }
.qin-army-controls button:focus-visible { outline: 3px solid #a8782c; outline-offset: 3px; }
#qinEncounterScene header {
  position: absolute; inset: 0 0 auto; display: flex; align-items: center; gap: 16px;
  padding: max(18px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 22px max(20px, env(safe-area-inset-left));
  background: linear-gradient(#152329ed, #15232900);
}
#qinEncounterScene h2 { flex: 1; margin: 0; font-size: clamp(16px, 2vw, 24px); text-shadow: 0 2px 3px #000; }
#qinEncounterScene .lang-switch { position: static; }
#qinEncounterScene button { min-height: 44px; padding: 8px 12px; color: var(--ink); font: 600 14px/1.3 var(--text); }
#qinEncounterScene section {
  position: absolute; inset: auto 0 0; padding: 35px 20px max(24px, env(safe-area-inset-bottom));
  text-align: center; background: linear-gradient(#15232900, #152329f5); text-shadow: 0 2px 3px #000;
}
#qinEncounterScene section b { color: #f3d28d; font-size: 17px; }
#qinEncounterScene section p { margin: 10px auto; max-width: 800px; font-size: clamp(18px, 2.4vw, 28px); line-height: 1.5; }
#qinEncounterScene section small { color: #d7d9cf; font-size: 12px; }
body.qin-encounter-cinematic :is(#hud, .resident-greeting, #qinEmperorBubble) { visibility: hidden; pointer-events: none; }
@media (pointer: coarse) {
  #qinEmperorPrompt { min-height: 48px; }
  #qinEmperorPrompt kbd { display: none; }
}
@media (max-width: 720px) {
  #qinEmperorPrompt { bottom: calc(90px + env(safe-area-inset-bottom)); right: 12px; gap: 8px; font-size: 15px; }
  #qinEmperorBubble { font-size: 14px; }
  #qinEncounterScene header { gap: 10px; padding-left: 12px; padding-right: 12px; }
  #qinEncounterScene .encounter-skip { max-width: 9em; }
}
@media (max-height: 520px) {
  #qinEncounterScene header { padding-top: max(8px, env(safe-area-inset-top)); }
  #qinEncounterScene section { padding-top: 20px; padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  #qinEncounterScene section p { margin: 4px auto; font-size: 18px; }
  #qinEncounterScene section small { display: none; }
}
