/* Quiet House has no bottom/right instruction dock or reserved rail space. */
body.quiet-house #quiet-controls {
  display: flex; align-items: center; gap: 8px; pointer-events: auto;
}
body.quiet-house #quiet-toggle {
  width: 44px; min-width: 44px; height: 44px; padding: 0;
  border: 1px solid #917852; border-radius: 4px; background: #181714ed;
  color: #eee2c4; font: 25px HouseSerif, Georgia, serif; cursor: pointer;
}
body.quiet-house #quiet-test-label {
  font: 14px HouseSerif, Georgia, serif; color: #e8d8b8;
  text-transform: none; letter-spacing: normal;
}
body.quiet-house #quiet-controls [hidden],
body.quiet-house #quiet-inline [hidden] { display: none !important; }
body.quiet-house #quiet-inline {
  position: fixed; top: 74px; right: 16px; z-index: 95;
  max-width: min(390px, calc(100vw - 32px)); pointer-events: none;
}
body.quiet-house #quiet-inline > * { pointer-events: auto; }
body.quiet-house #quiet-password-form,
body.quiet-house #quiet-test-panel {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 10px; border: 1px solid #6c5d43; border-radius: 4px;
  background: #171713f5; color: #e9dfc8; box-shadow: 0 4px 16px #0008;
}
body.quiet-house #quiet-inline input,
body.quiet-house #quiet-inline select,
body.quiet-house #quiet-inline button,
body.quiet-house #end-run,
body.quiet-house #help-me,
body.quiet-house #living-hide {
  min-height: 44px; border: 1px solid #817052; border-radius: 3px;
  background: #24211a; color: #eee2c4; padding: 8px 12px;
  font: 16px HouseSerif, Georgia, serif;
}
body.quiet-house #quiet-inline input { width: 150px; min-width: 0; }
body.quiet-house #quiet-inline select { flex: 1; min-width: 150px; max-width: 250px; }
body.quiet-house #quiet-next { width: 100%; }
body.quiet-house #quiet-test-warning {
  flex: 0 0 100%; margin: 0 0 4px; font: 14px/1.4 HouseSerif, Georgia, serif;
}
body.quiet-house #quiet-password-form { max-height: calc(100dvh - 150px); overflow: auto; }
body.quiet-house #quiet-status {
  margin: 6px 0 0; padding: 8px 10px; background: #171713f5;
  color: #edcfb0; font: 14px/1.4 HouseSerif, Georgia, serif;
}
body.quiet-house #help-me { font-size: 14px; }
body.quiet-house #end-run { font-size: 14px; }
body.quiet-house.run-result-active #quiet-controls { display: flex; }
body.quiet-house.run-result-active #quiet-controls #end-run,
body.quiet-house.run-result-active #quiet-controls #encounter-controls { display: none !important; }
body.quiet-house #help-me span { opacity: .75; font-size: 12px; }
body.quiet-house #encounter-controls { display: contents; }
body.quiet-house #hud .hud-actions { z-index: 96; }
body.quiet-house #run-surfaces {
  position: fixed; inset: 0; z-index: 92; pointer-events: none;
}
body.quiet-house #run-surfaces > * { pointer-events: auto; }
body.quiet-house #run-surfaces .run-intro {
  position: absolute; left: 50%; right: auto; bottom: 22px;
  width: min(530px, calc(100vw - 32px)); max-width: calc(100vw - 32px);
  transform: translateX(-50%); margin: 0;
}
body.quiet-house.run-intro-docked #run-surfaces .run-intro {
  left: auto; right: 16px; width: min(380px, calc(100vw - 32px));
  transform: none;
}
body.quiet-house #recovery:not([hidden]) {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
  width: min(560px, calc(100vw - 32px)); z-index: 90;
  display: flex; flex-direction: column; gap: 12px; padding: 18px;
  background: #171713f5; border: 1px solid #817052; border-radius: 5px;
  color: #eee2c4; pointer-events: auto;
}
body.quiet-house #recovery button { min-height: 44px; }
body.quiet-house #portrait { pointer-events: none; }
body.quiet-house:not(.run-intro-active) #portrait { display: none !important; }
body.quiet-house .hotspot > span,
body.quiet-house .character-target > span,
body.quiet-house .room-detail-target > span,
body.quiet-house .guestbook-zoom-hint { display: none !important; }
body.quiet-house #hud { z-index: 96; }
body.quiet-house:has(#candle-loading:not([hidden])) #quiet-controls {
  visibility: hidden; pointer-events: none;
}
body.quiet-house .hotspot.chain-next,
body.quiet-house .hotspot.lantern-invitation { animation: none !important; box-shadow: none !important; }
body.quiet-house .danger-call { color: transparent; font-size: 0; }
body.quiet-house .danger-call .danger-timer { color: initial; }
body.quiet-house .hotspot:focus-visible,
body.quiet-house #quiet-inline :focus-visible,
body.quiet-house #quiet-toggle:focus-visible { outline: 2px solid #e4d2a3; outline-offset: 3px; }
@media (max-width: 699px) {
  body.quiet-house #quiet-inline { top: 118px; right: 10px; max-width: calc(100vw - 20px); }
  body.quiet-house #hud .hud-actions { gap: 5px; flex-wrap: wrap; justify-content: flex-end; max-width: 230px; }
  body.quiet-house #quiet-controls { gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
  body.quiet-house #quiet-test-label { font-size: 12px; }
  body.quiet-house #help-me { padding: 6px 8px; font-size: 13px; }
  body.quiet-house #run-surfaces .run-intro { bottom: 12px; }
}

/* The welcome now lives in #run-surfaces, not in the retired action rail. */
body.quiet-house #run-surfaces .run-enter-seal {
  position: relative; display: block; width: 112px; height: 112px; min-width: 112px; min-height: 112px;
  margin: 0 auto 12px; padding: 0; border: 0; border-radius: 50%;
  background: transparent; box-shadow: none; cursor: pointer;
}
body.quiet-house #run-surfaces .run-enter-seal img {
  display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none;
}
body.quiet-house #run-surfaces .run-enter-label {
  position: absolute; inset: 0; display: grid; place-items: center; padding: 22px;
  color: #fff; font: 600 17px/1.05 'Lora', serif; text-align: center;
  text-shadow: 0 1px 3px #000; pointer-events: none;
}
body.quiet-house #run-surfaces .run-enter-seal:focus-visible {
  outline: 2px solid #6c321c; outline-offset: 4px;
}
body.quiet-house.run-intro-autostart.run-intro-docked #run-surfaces .run-enter-seal {
  position: relative; width: 64px !important; height: 64px;
  min-width: 64px; min-height: 64px; margin: 0 0 8px; padding: 0;
}
body.quiet-house.run-intro-autostart.run-intro-docked #run-surfaces .run-enter-label {
  padding: 10px; font-size: 11px;
}
body.quiet-house.run-intro-autostart.run-intro-docked #run-surfaces .run-intro-heading {
  position: static; width: auto; height: auto; overflow: visible;
  clip-path: none; padding: 0;
}
body.quiet-house.run-intro-autostart.run-intro-docked #run-surfaces .run-intro-heading > :not(.run-enter-seal) {
  display: none;
}
body.quiet-house #run-start-retry {
  min-height: 44px; padding: 6px 10px; border: 1px solid #817052;
  background: #181714; color: #eee2c4; font: inherit; cursor: pointer;
}
body.quiet-house #run-start-retry[hidden] { display: none !important; }
body.quiet-house #run-start-retry:disabled { cursor: wait; opacity: .65; }

/* No drawn or rectangular gilt frame. Preserve the existing media owner,
   placement and registered source apertures; feather only the ordinary face. */
body.quiet-house #portrait.portrait {
  border: 0 !important; padding: 0 !important;
  background: transparent !important; box-shadow: none !important;
}
body.quiet-house #portrait.portrait::before,
body.quiet-house #portrait.portrait::after {
  content: none !important; display: none !important;
  border: 0 !important; background: none !important; box-shadow: none !important;
}
body.quiet-house #portrait.portrait:not(.registered-scene-aperture):not(.registered-mirrors-aperture) .portrait-mat {
  clip-path: none; border-radius: 0; overflow: hidden;
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 72%, transparent 100%);
  mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 72%, transparent 100%);
}
body.quiet-house #portrait.portrait:not(.registered-scene-aperture):not(.registered-mirrors-aperture) .portrait-mat::after {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: radial-gradient(ellipse 50% 50% at 50% 50%, transparent 45%, #05080699 85%, #050806ee 100%);
}

/* Root's 600x771 transparent Seedream frame letterboxes inside the unchanged
   outer 3:4 placement. The exact same aperture clips the owner and light mask. */
body.quiet-house #portrait .portrait-seedream-layer { display: none; }
body.quiet-house #portrait.portrait.portrait-seedream-ready .portrait-mat,
body.quiet-house #portrait.portrait.portrait-seedream-ready .portrait-seedream-layer {
  position: absolute !important; inset: auto !important;
  left: 0 !important; top: 50% !important; width: 100% !important;
  height: auto !important; aspect-ratio: 600 / 771;
  transform: translateY(-50%) !important; border: 0 !important;
  border-radius: 0 !important; box-shadow: none !important;
}
body.quiet-house #portrait.portrait.portrait-seedream-ready .portrait-mat {
  clip-path: ellipse(36.31% 38.58% at 50.16% 50.54%) !important;
  overflow: hidden !important; background: #050806;
  -webkit-mask-image: none !important; mask-image: none !important;
}
body.quiet-house #portrait.portrait.portrait-seedream-ready .portrait-mat::after {
  content: none !important; display: none !important;
}
body.quiet-house #portrait.portrait.portrait-seedream-ready .portrait-mat video,
body.quiet-house #portrait.portrait.portrait-seedream-ready .portrait-mat .portrait-fallback {
  inset: 0 !important; width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: 50% 50% !important;
  transform: none !important; border-radius: 0 !important;
}
body.quiet-house #portrait.portrait.portrait-seedream-ready .portrait-seedream-layer {
  display: block; z-index: 10; pointer-events: none;
}
body.quiet-house #portrait .portrait-seedream-layer img {
  display: block; width: 100%; height: 100%; object-fit: contain;
  pointer-events: none;
}
