/* Scoped guest and mission UI; furniture controls and room scale remain untouched. */
#party-play-panel{position:fixed;z-index:9;right:12px;top:112px;width:154px;max-height:calc(100dvh - 220px);overflow:auto;pointer-events:none}
#party-play-panel[hidden]{display:none}
#party-play-panel .mission-reminder{pointer-events:auto;display:block;width:100%;padding:10px 8px;border:1px solid #c5d1bb;border-radius:16px;background:#fffaf0;box-shadow:0 4px 16px #53664718;text-align:center;line-height:1.35}
#party-play-panel .mission-reminder>span{display:block;color:#587359;font-size:12px;font-weight:700}
#party-play-panel .mission-images{height:58px;gap:1px}
#party-play-panel .mission-images svg{width:38px;height:54px;flex-shrink:1}
#party-play-panel .mission-images span{font-size:14px}
#party-play-panel strong{display:block;font-family:Georgia,serif;font-size:14px;font-weight:600}
#party-play-panel small{display:block;font-size:11px;color:#78816b;margin-top:4px}
#party-guest-dialog{max-width:440px;max-height:calc(100dvh - 40px);overflow:auto;padding:32px 24px 24px;background:#fffaf0}
#party-guest-dialog .guest-close{position:absolute;right:8px;top:8px;min-width:44px;min-height:44px;border:0;background:transparent;font-size:26px}
#party-guest-dialog h2{margin:12px 0;color:#607958;font-size:21px}
#party-guest-dialog .party-mission{text-align:center}
#party-guest-dialog strong{display:block;font-family:Georgia,serif;font-size:22px}
#party-guest-dialog small{display:block;color:#718169;margin:7px 0 18px}
#party-guest-dialog p{font-size:14px;color:#6b7963}
.mission-images{display:flex;justify-content:center;align-items:center;gap:6px;height:112px}
.mission-images svg{width:95px;height:105px;flex-shrink:1;min-width:0}
.mission-images span{font-size:22px}
#party-guest-dialog .guest-request{text-align:center;padding-top:16px}
#party-guest-dialog .guest-sentence{font-family:Georgia,serif;font-size:23px}
#party-guest-dialog .guest-choices{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:10px}
#party-guest-dialog .guest-choices button{min-height:64px;min-width:66px;padding:4px}
#party-guest-dialog .guest-choices svg{width:66px;height:64px}
.party-guest{pointer-events:none}
#guest-controls .guest-control{pointer-events:all;cursor:pointer;touch-action:manipulation}
#guest-controls .guest-control:focus{outline:none}
#guest-controls .guest-control:focus>rect{stroke:#547557;stroke-width:3}
#guest-controls .guest-control:hover>rect{fill:#f5ead3}
#party-music-toggle{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #c8d5bc;border-radius:12px;background:#f9f7ed;color:#5d775e;font-size:25px;flex-shrink:0}
#party-music-toggle[aria-pressed="false"]{color:#98998a;background:#efeee6}
.topbar:has(#party-music-toggle){position:sticky;top:0;background:#fbfaf2;z-index:10}
.mission-pop{animation:mission-pop .5s ease-out}
@keyframes mission-pop{50%{transform:scale(1.06)}}
@media(max-width:600px){#party-play-panel{top:84px;right:6px;width:116px}#party-play-panel .mission-images{height:45px}#party-play-panel .mission-images svg{width:29px;height:44px}#party-play-panel strong{font-size:12px}#party-play-panel .mission-reminder{padding:7px 5px}#party-play-panel small{font-size:10px}#party-guest-dialog{padding:30px 16px 20px}.mission-images svg{width:79px;height:94px}#party-music-toggle{width:40px;min-width:40px;font-size:23px}}
@media(prefers-reduced-motion:reduce){.mission-pop{animation:none}}
/* Guest responses use the actual game assets, framed to occupy large touch cards. */
#party-guest-dialog:has(.picture-responses){max-width:700px;width:calc(100% - 24px)}
#party-guest-dialog .guest-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
#party-guest-dialog .picture-responses button{width:100%;height:clamp(120px,22vw,200px);min-width:0;min-height:120px;padding:8px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#f7efdf}
#party-guest-dialog .picture-responses svg{width:100%;height:100%;min-width:0;max-height:none;display:block}
#party-guest-dialog .text-responses button{min-width:0;min-height:78px;padding:12px 8px;line-height:1.4;font-size:21px;font-family:Georgia,serif;border-radius:14px}
#party-play-panel .mission-reminder strong{font-family:inherit;font-size:14px;line-height:1.8}
.challenge-result h1{font-family:Georgia,serif}.challenge-result p{font-size:20px}.challenge-result button{min-height:52px}
@media(max-width:600px){#party-guest-dialog .guest-choices{gap:8px}#party-guest-dialog .picture-responses button{height:126px;padding:5px}#party-guest-dialog .text-responses button{font-size:17px;min-height:82px;padding:8px 4px}}

/* Age conversations have one shared visual cue, never a cue on each answer. */
#party-guest-dialog:has(.age-request){width:calc(100% - 24px);max-width:640px}
#party-guest-dialog .age-request{padding-top:4px}
#party-guest-dialog .guest-age-hint{display:flex;justify-content:center;margin:0 auto 8px}
#party-guest-dialog .guest-age-hint svg{display:block;width:150px;height:142px;max-width:100%}
#party-guest-dialog .age-request .text-responses button{width:100%;min-height:88px;padding:16px 10px;font-size:22px}
#party-guest-dialog .age-option-letter{font-family:inherit;color:#627868}
@media(max-width:480px){#party-guest-dialog .age-request .guest-choices{grid-template-columns:1fr;gap:10px;margin-top:12px}#party-guest-dialog .age-request .text-responses button{min-height:64px;padding:12px;font-size:22px}}
@media(max-height:480px){#party-guest-dialog .guest-age-hint svg{width:104px;height:98px}#party-guest-dialog .age-request .guest-choices{grid-template-columns:repeat(3,minmax(0,1fr))}#party-guest-dialog .age-request .text-responses button{min-height:64px;font-size:18px}#party-guest-dialog .age-request small{margin:4px 0 8px}}
/* The same raised star badge is used by every mission surface. */
.mission-badge-icon{display:block;width:56px;height:56px;margin:0 auto;flex:none;pointer-events:none}
#party-play-panel .mission-badge-icon{width:32px;height:32px;margin-bottom:4px}
.challenge-result>.mission-badge-icon{width:56px;height:56px;margin-bottom:8px}

#party-guest-dialog .guest-speaker{font-family:inherit;font-size:15px;color:#6b7963;margin:0 0 10px}
