/* One persistent room and cast; state changes never recreate visible people. */
.hospitality-demo{--room-ink:#3d2944;--room-accent:#bda36c;--room-paper:#fbf6ec;--room-deep:#312034;border:1px solid color-mix(in srgb,var(--room-accent) 45%,transparent);border-radius:20px;background:var(--room-paper);overflow:hidden;color:var(--room-ink)}
.hospitality-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--room-deep);color:var(--room-paper);padding:14px 18px}.hospitality-topbar strong{font:800 13px var(--display,sans-serif);letter-spacing:1.6px}.hospitality-topbar span{font-size:9px;opacity:.8}
.hospitality-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 15px 0}.hospitality-steps button{position:relative;min-width:0;min-height:64px;background:transparent;border:1px solid color-mix(in srgb,var(--room-ink) 20%,transparent);border-radius:8px;color:var(--room-ink);padding:9px 4px 12px;overflow:hidden;cursor:pointer}.hospitality-steps small{display:block;font:800 10px var(--display,sans-serif);opacity:.55;margin-bottom:5px}.hospitality-steps strong{display:block;font-size:11px;line-height:1.55}.hospitality-steps button[aria-pressed=true]{background:var(--room-ink);color:var(--room-paper);border-color:var(--room-ink)}.hospitality-steps i{position:absolute;inset:auto 0 0;height:3px;background:#ffffff25}.hospitality-steps i>b{display:block;width:100%;height:100%;background:var(--room-accent);transform-origin:left;transform:scaleX(0)}
.hospitality-copy{text-align:center;font-size:12px;line-height:1.7;font-weight:700;min-height:42px;display:grid;place-items:center;padding:7px 10px;margin:8px 0}
.hospitality-stage{position:relative;height:344px;margin:0 15px;overflow:hidden;border-radius:15px;isolation:isolate;background:var(--room-deep);color:var(--room-paper);box-shadow:inset 0 0 0 1px #ffffff25,0 12px 24px #1c142215}
.hospitality-room{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 40% 15%,#ffffff20,transparent 65%),linear-gradient(120deg,#ffffff08,transparent 65%)}
.hospitality-window{position:absolute;right:13%;top:11%;width:37%;height:47%;border:1px solid #ffffff18;border-radius:50% 50% 0 0;box-shadow:inset 0 0 0 7px #ffffff05;background:linear-gradient(135deg,#dcb96b18,#09091430)}
.hospitality-lamp{position:absolute;left:43%;top:13%;width:2px;height:53%;background:linear-gradient(#d5bb85,#74613e)}.hospitality-lamp:before{content:"";position:absolute;width:52px;height:35px;top:0;left:-25px;background:linear-gradient(100deg,#bba47f,#f0dfb9,#bba47f);border-radius:35% 35% 5% 5%;box-shadow:0 10px 35px #ead19b30}.hospitality-lamp:after{content:"";position:absolute;bottom:0;left:-15px;width:32px;height:5px;border-radius:50%;background:#7d6842}
.hospitality-shelf{position:absolute;right:8%;top:12%;width:39%;height:48px;border-bottom:5px solid #a3875b55;display:flex;align-items:end;gap:13px;padding:0 10px}.hospitality-shelf i{position:relative;display:block;flex:1;height:29px;background:linear-gradient(90deg,#beb17d60,#e3d3a790,#8f7d5c70);border-radius:4px 4px 2px 2px;box-shadow:3px 6px 8px #0003}.hospitality-shelf i:before{content:"";position:absolute;left:30%;right:30%;top:-12px;height:15px;background:inherit;border-radius:2px}.hospitality-shelf i:nth-child(even){height:35px}
.hospitality-sofa{position:absolute;left:7%;bottom:24%;width:59%;height:31%;border-radius:25px 25px 12px 12px;background:linear-gradient(110deg,#5e3a5960,#b49b8e55);box-shadow:inset 0 4px 8px #fff1,inset 0 -8px 15px #0003,0 12px 18px #0004}.hospitality-sofa:before{content:"";position:absolute;inset:8px 12px 30%;border:1px solid #ffffff1a;border-radius:18px;background:repeating-linear-gradient(90deg,transparent 0 32%,#ffffff08 32% 33%)}.hospitality-sofa:after{content:"";position:absolute;inset:auto 0 5%;height:27%;border-radius:9px;background:linear-gradient(#ffffff10,#0001);border-top:1px solid #ffffff18}
.hospitality-table{position:absolute;left:28%;bottom:21%;width:40%;height:14%;border-radius:50%;background:linear-gradient(165deg,#d7c9a8,#756052);box-shadow:0 7px 0 #47342f,0 17px 17px #0004}.hospitality-table:after{content:"";position:absolute;left:45%;top:95%;width:11%;height:42px;background:linear-gradient(90deg,#53423b,#9c8974,#4b3a33);z-index:-1}
.hospitality-drink{position:absolute;left:51%;bottom:35%;height:38px;width:22px;border:1px solid #f6ebcfa0;border-radius:2px 2px 6px 6px;background:linear-gradient(transparent 22%,#c4975655 24%,#bca47977);box-shadow:inset 4px 1px 0 #ffffff33,2px 4px 8px #0002}.hospitality-drink i{position:absolute;inset:9px 5px 12px;border:1px solid #ffffff8a;border-radius:3px;rotate:20deg;background:#e4e6d650}
.hospitality-floor{position:absolute;inset:auto 0 0;height:24%;z-index:-1;background:linear-gradient(#e5c89b12,#09070e55)}
.hospitality-room-label{position:absolute;left:14px;top:14px;font:800 9px var(--display,sans-serif);letter-spacing:1.5px;color:var(--room-accent)}.hospitality-room-label b{display:block;font:900 32px/1.2 var(--display,sans-serif);letter-spacing:0}
.hospitality-speech{position:absolute;left:12px;top:66px;max-width:62%;padding:9px 12px;border-radius:11px 11px 11px 2px;background:var(--room-paper);color:var(--room-ink);font-size:12px;font-weight:800;line-height:1.6;z-index:8;box-shadow:0 4px 12px #0002}.hospitality-speech:after{content:"";position:absolute;left:24px;bottom:-7px;border-top:8px solid var(--room-paper);border-right:9px solid transparent}
.hospitality-actor{position:absolute;width:128px;height:128px;bottom:44px;z-index:4;transition:transform 800ms cubic-bezier(.22,1,.36,1)}.hospitality-actor .crew-sprite{display:block;width:100%;height:100%;filter:drop-shadow(0 6px 3px #09031066)}.hospitality-actor small{position:absolute;left:18%;right:18%;bottom:-9px;text-align:center;font-size:8px;letter-spacing:.5px;background:#0005;border:1px solid #ffffff25;border-radius:3px;color:#fff;padding:2px}.hospitality-actor[data-hospitality-role=system]{left:1%;z-index:5}.hospitality-actor[data-hospitality-role=order]{left:24%;bottom:58px}.hospitality-actor[data-hospitality-role=handy]{left:47%;bottom:40px;width:115px;height:115px;z-index:3}.hospitality-actor[data-hospitality-role=handy]>.crew-sprite{scale:-1 1}
.hospitality-demo[data-hospitality-step="1"] .hospitality-actor[data-hospitality-role=order]{transform:translate(6px,-2px)}.hospitality-demo[data-hospitality-step="1"] .hospitality-actor[data-hospitality-role=handy]{transform:translate(-8px,-3px)}.hospitality-demo[data-hospitality-step="2"] .hospitality-actor[data-hospitality-role=system]{transform:translate(8px,-1px)}
.hospitality-record{position:absolute;z-index:7;right:11px;top:128px;width:35%;padding:13px 10px 15px;background:var(--room-paper);color:var(--room-ink);border:1px solid #decf9c;border-radius:5px 5px 10px 5px;box-shadow:0 7px 0 #e4d9bf,0 10px 14px #0004;rotate:1deg}.hospitality-record small{display:block;font-size:8px;letter-spacing:.5px}.hospitality-record strong{display:block;font-size:16px;line-height:1.55;margin:7px 0}.hospitality-record span{display:block;font-size:9px;line-height:1.5;padding-top:7px;border-top:1px dashed #b29a7766}.hospitality-record>b{position:absolute;right:8px;top:7px;font-size:13px;opacity:.6}
.hospitality-flight{position:absolute;left:39%;top:53%;width:42px;height:50px;background:var(--room-paper);color:var(--room-ink);padding:5px;z-index:8;border:1px solid #e0cfa1;border-radius:3px;box-shadow:0 4px 9px #0003;opacity:0;pointer-events:none}.hospitality-flight small{font:800 12px var(--display,sans-serif)}.hospitality-flight i{display:block;height:2px;background:var(--room-accent);margin:6px 0}
.hospitality-flow{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 17px;margin:0;background:#0003;border-top:1px solid #ffffff17;font-size:9px;z-index:9}.hospitality-flow i{font-style:normal;opacity:.5}
.hospitality-details{padding:16px 18px 0}.hospitality-panel[hidden]{display:none}.hospitality-ledger{margin:0;border-top:1px solid color-mix(in srgb,var(--room-ink) 16%,transparent)}.hospitality-ledger>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid color-mix(in srgb,var(--room-ink) 12%,transparent)}.hospitality-ledger dt{font-size:10px;opacity:.65;min-width:4.5em}.hospitality-ledger dd{margin:0;font-size:12px;font-weight:800;line-height:1.65;text-align:right}
.hospitality-playback{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.hospitality-playback p{margin:0;font-size:10px;line-height:1.6;opacity:.7}.hospitality-playback button{flex:none;min-height:44px;min-width:100px;border:1px solid color-mix(in srgb,var(--room-ink) 30%,transparent);background:var(--room-paper);color:var(--room-ink);border-radius:8px;font-size:11px;font-weight:800;padding:9px 13px;cursor:pointer}.hospitality-outcome{font-size:13px;line-height:1.9;font-weight:800;margin-top:25px;text-wrap:pretty}
@media(min-width:1100px){.hospitality-stage{height:386px}.hospitality-actor{width:157px;height:157px}.hospitality-actor[data-hospitality-role=handy]{width:143px;height:143px;left:48%}.hospitality-record{top:137px;right:18px;width:30%;padding:16px}.hospitality-record strong{font-size:21px}.hospitality-speech{font-size:14px;padding:10px 16px}.hospitality-copy{font-size:13px}.hospitality-steps button{min-height:63px}.hospitality-steps strong{font-size:12px}}
@media(max-width:540px){.hospitality-stage{height:286px;margin:0 11px}.hospitality-steps{margin:12px 11px 0;gap:5px}.hospitality-steps button{min-height:61px}.hospitality-steps strong{font-size:10px}.hospitality-copy{font-size:11px;min-height:40px}.hospitality-actor{width:100px;height:100px;bottom:43px}.hospitality-actor[data-hospitality-role=order]{left:23%;bottom:57px}.hospitality-actor[data-hospitality-role=handy]{left:44%;width:91px;height:91px}.hospitality-record{width:40%;top:62px;right:8px;padding:10px 8px}.hospitality-record strong{font-size:14px}.hospitality-record span{font-size:8px}.hospitality-speech{top:61px;font-size:10px;padding:7px 9px;max-width:47%}.hospitality-room-label b{font-size:27px}.hospitality-details{padding:13px 13px 0}.hospitality-ledger dd{font-size:11px}.hospitality-playback{padding:13px}.hospitality-topbar{padding:13px}.hospitality-topbar strong{font-size:11px}.hospitality-topbar span{font-size:8px}.hospitality-shelf{gap:8px}.hospitality-drink{height:30px;width:18px}}
@media(max-width:350px){.hospitality-stage{height:272px;margin:0 8px}.hospitality-actor{width:87px;height:87px}.hospitality-actor[data-hospitality-role=order]{left:25%;bottom:56px}.hospitality-actor[data-hospitality-role=handy]{left:43%;width:81px;height:81px}.hospitality-steps{margin:10px 8px 0}.hospitality-steps strong{font-size:9px}.hospitality-record{top:62px;width:44%}.hospitality-record strong{font-size:12px}.hospitality-record small{font-size:7px}.hospitality-speech{font-size:9px;max-width:47%}.hospitality-playback{gap:8px;padding:12px 10px}.hospitality-playback p{font-size:9px}.hospitality-flow{font-size:8px;padding:11px}.hospitality-actor small{font-size:7px}}
body.motion-off .hospitality-demo *,html[data-motion=off] .hospitality-demo *{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.hospitality-demo *{transition:none!important;animation:none!important}}
