/* Decorative furniture, party effects, and non-modal house messages. */
.danger-zone { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.forbidden-button { background: #c90022; color: white; border: 3px solid #141414; box-shadow: 4px 4px #141414; padding: 10px 14px; font-size: 13px; font-weight: 700; transform: rotate(-4deg); min-height: 44px; }
.danger-zone > span { font-size: 10px; max-width: 115px; line-height: 1.3; font-style: italic; }
.wandering-sofa { position: fixed; left: 0; top: 190px; z-index: 3; width: 96px; text-align: center; pointer-events: none; animation: sofa-migration 28s linear infinite alternate; filter: drop-shadow(3px 4px 0 #0006); }
.wandering-sofa > span { font-size: 55px; line-height: 1; display: block; }
.wandering-sofa > small { display: inline-block; font-size: 9px; line-height: 1.2; font-weight: 700; padding: 3px; background: #ffef00; border: 1px solid #141414; color: #141414; }
.orbiting-baguette { position: absolute; right: 18px; top: 340px; z-index: 2; pointer-events: none; font-size: 46px; animation: baguette-orbit 9s ease-in-out infinite; text-align: center; }
.orbiting-baguette > span { display: block; font-size: 9px; background: white; border: 1px solid #141414; padding: 2px; }
#party-layer { position: fixed; inset: 0; z-index: 9; pointer-events: none; overflow: hidden; }
.party-guest { position: absolute; top: -100px; left: var(--party-x); font-size: var(--party-size); animation: furniture-rain var(--party-duration) var(--party-delay) linear both; }
.chaos-window { position: fixed; z-index: 8; top: 24vh; right: 32px; width: min(380px, calc(100vw - 28px)); background: #c6c6c6; border: 3px outset white; padding: 3px; box-shadow: 8px 8px #0008; max-height: calc(100svh - 100px); overflow: auto; }
.meeting-titlebar { display: flex; justify-content: space-between; align-items: center; gap: 8px; background: #99002f; color: white; font-size: 12px; font-weight: 700; padding: 5px 7px; cursor: grab; touch-action: none; user-select: none; }
.meeting-titlebar:active { cursor: grabbing; }
.meeting-titlebar button, .house-notification button { min-width: 32px; min-height: 32px; background: #ddd; border: 2px outset white; font: 24px/1 Arial, sans-serif; flex-shrink: 0; }
.meeting-body { text-align: center; padding: 20px 16px; }
.meeting-emoji { font-size: 60px; display: inline-block; animation: disco-ball 4s ease-in-out infinite alternate; }
.meeting-body h2 { font-size: 28px; margin: 12px 0; letter-spacing: -1px; }
.meeting-body > p { font-size: 16px; }
.meeting-body .button { font-size: 13px; padding: 12px; }
.meeting-body .chaos-small { font-size: 10px; margin: 16px 0 0; }
.house-notification { position: fixed; right: 20px; bottom: 84px; z-index: 6; width: min(310px, calc(100vw - 28px)); background: #ffffd5; border: 2px solid #141414; box-shadow: 5px 5px #141414; padding: 12px; transform: rotate(2deg); }
.house-notification > div { display: flex; gap: 12px; align-items: center; justify-content: space-between; font-size: 13px; }
.house-notification > p { font-size: 15px; font-weight: 700; margin: 12px 0; }
.house-notification > small { font-size: 9px; }
.motion-paused .wandering-sofa, .motion-paused .orbiting-baguette { visibility: hidden; }
@keyframes sofa-migration { 0% { transform: translate(4vw, 6vh) rotate(-10deg); } 35% { transform: translate(calc(100vw - 110px), 18vh) rotate(12deg); } 70% { transform: translate(14vw, calc(75svh - 240px)) rotate(-12deg); } 100% { transform: translate(calc(100vw - 115px), 0) rotate(8deg); } }
@keyframes baguette-orbit { 0%, 100% { transform: rotate(-18deg) translateY(0); } 50% { transform: rotate(22deg) translateY(35px); } }
@keyframes furniture-rain { to { transform: translateY(calc(100svh + 200px)) rotate(var(--party-spin)); } }
@keyframes disco-ball { from { transform: rotate(-15deg); } to { transform: rotate(15deg); } }
@media (max-width: 800px) { .wandering-sofa { width: 76px; } .wandering-sofa > span { font-size: 42px; } .orbiting-baguette { font-size: 33px; } }
@media (max-width: 560px) { .danger-zone { margin-top: 20px; } .chaos-window { top: 20svh; right: 14px; } .meeting-body h2 { font-size: 25px; } .meeting-titlebar { font-size: 10px; } .house-notification { right: 14px; bottom: 132px; } .wandering-sofa > small { font-size: 8px; } .orbiting-baguette { top: 278px; font-size: 30px; } .orbiting-baguette > span { font-size: 7px; } }
@media (prefers-reduced-motion: reduce) { .wandering-sofa, .orbiting-baguette, #party-layer { display: none; } }
