.guest-bell-desk{display:flex;align-items:center;gap:14px;margin-top:23px;padding-top:18px;border-top:1px solid #c9b88c40}
.guest-reception-bell{display:inline-flex;align-items:center;gap:10px;border:0;background:none;color:inherit;font:inherit;font-size:.8125rem;cursor:pointer;padding:8px 4px;transition:color .4s}
.guest-reception-bell svg{color:#a98542;transition:filter .6s,transform .3s}.guest-reception-bell:hover svg{transform:translateY(-2px)}.guest-reception-bell:focus-visible{outline:2px solid #af8947;outline-offset:4px}.guest-reception-bell.guest-bell-armed svg{filter:drop-shadow(0 0 6px #deb974);color:#deb974}.guest-bell-status{font-size:.75rem;color:#85704b}
.last-guest{--lg-gold:#dcc799;--lg-ink:#f0e9dc;position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#08090c;color:var(--lg-ink);font-family:Inter,Arial,sans-serif;isolation:isolate;overscroll-behavior:contain}
.last-guest::backdrop{background:#050608e8;backdrop-filter:blur(7px)}
.last-guest *{box-sizing:border-box}.last-guest [hidden]{display:none!important}.last-guest button{font:inherit;color:inherit;cursor:pointer}.last-guest button:disabled{opacity:.4;cursor:default}.last-guest button:focus-visible{outline:2px solid #f4d697;outline-offset:5px}.last-guest p,.last-guest h2{margin:0}.lg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.lg-stage{position:absolute;inset:0;overflow:hidden;z-index:-1;background:#08090c;transition:opacity 2s}
.lg-camera{position:absolute;transform-origin:40% 43%;transition:left 1.6s cubic-bezier(.2,.65,.2,1),transform 2.2s ease,filter 2s;will-change:transform;transform:scale(1.025)}
.lg-camera>img{width:100%;height:100%;display:block;position:absolute;inset:0;object-fit:fill}
.lg-handle-patch{clip-path:polygon(35.7% 38.1%,37.55% 38.1%,37.55% 40.7%,35.7% 40.7%);transform-origin:36.3% 39.4%;opacity:0}
.last-guest[data-phase=handle] .lg-handle-patch{opacity:1;animation:lg-handle 4.3s ease-in-out 2s 3}
.lg-corridor{position:absolute;inset:0;background:#030406;opacity:0;transform:scale(1.06);transition:opacity .9s,transform 1.3s;pointer-events:none}
.lg-corridor img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% center;filter:brightness(.85);mask-image:radial-gradient(circle at center,#000 0 28%,#000a 41%,transparent 56%)}
.last-guest[data-view=door] .lg-corridor{opacity:1;transform:scale(1)}
.last-guest[data-view=door] .lg-camera{filter:blur(12px) brightness(.08)}
.last-guest[data-view=window] .lg-camera{transform:scale(1.1);transform-origin:77% center}
.last-guest[data-view=phone] .lg-camera{transform:scale(1.05);transform-origin:30% 65%}
.lg-reflection{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% center;opacity:0;transform:scale(1.025);transition:opacity 5s;pointer-events:none}
.lg-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0003,transparent 30%,#05050b22);pointer-events:none}
.lg-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#03040ab8,transparent 21% 63%,#020305c9),radial-gradient(ellipse at 48% 45%,transparent 40%,#03030865 100%);pointer-events:none}
.lg-blackout{position:absolute;inset:0;background:#000;opacity:0;transition:opacity 1.5s;pointer-events:none}
.lg-emergency-light{position:absolute;inset:0;background:linear-gradient(135deg,#96693735,#09142744);opacity:0;mix-blend-mode:color;transition:opacity 2.5s;pointer-events:none}
.last-guest[data-phase=blackout] .lg-blackout{opacity:1;transition:opacity .5s}
.last-guest:is([data-phase=emergency],[data-phase=card],[data-phase=reveal],[data-phase=end]) .lg-emergency-light{opacity:1}
.last-guest:is([data-phase=emergency],[data-phase=card]) .lg-camera{filter:brightness(.52) saturate(.65)}
.last-guest[data-phase=reveal] .lg-reflection{animation:lg-reflection 18s ease forwards}
.last-guest[data-phase=end] .lg-reflection{opacity:1;filter:brightness(.55)}
.last-guest[data-phase=enter] .lg-camera{animation:lg-enter 7s cubic-bezier(.15,.65,.25,1) both}
.last-guest[data-phase=messages] .lg-camera{filter:brightness(.28) blur(5px);transform:scale(1.15)}
.last-guest:is([data-phase=loading],[data-phase=error]) .lg-stage{opacity:.12}
.lg-topbar{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 32px;padding-top:max(25px,env(safe-area-inset-top));background:linear-gradient(#0009,transparent)}
.lg-location{font-size:.75rem;font-weight:500;letter-spacing:.17em;white-space:nowrap;color:#e8d8b4}.lg-location>span:first-child{margin:0 12px;color:#998b77}.lg-location-detail{font:400 .75rem/1.5 ui-monospace,monospace;letter-spacing:.07em;color:#c4beb2}
.lg-tools{display:flex;gap:7px;align-items:center}.lg-tools button{background:#12151b94;border:1px solid #ded3b628;border-radius:5px;padding:10px 12px;font-size:.8125rem;backdrop-filter:blur(9px);min-height:40px}.lg-tools button:hover{background:#303034}.lg-tools button[data-lg=close]{margin-left:12px}.lg-tools button[data-lg=close] span{font-size:1.1rem;margin-left:10px}
.lg-loading{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);text-align:center;font-size:.9375rem;color:#c7beb0;max-width:90vw;width:280px}.lg-loading-line{display:block;height:1px;background:#544833;margin-bottom:25px;overflow:hidden}.lg-loading-line::after{content:"";display:block;width:35%;height:1px;background:#dfc693;animation:lg-load 2s infinite}
.lg-message{position:absolute;right:8vw;top:36%;width:min(400px,84vw);background:#111318e8;border:1px solid #d2bc862b;border-radius:5px;padding:26px 28px;box-shadow:0 24px 100px #0008;backdrop-filter:blur(15px);animation:lg-message .8s ease both}
.lg-message>span{font-size:.75rem;letter-spacing:.15em;color:#b6a276}.lg-message p{font-size:1.25rem;line-height:1.7;margin:22px 0 26px}.lg-message small{font-size:.75rem;color:#928e85}
.lg-opening-title{position:absolute;left:8vw;top:37%;pointer-events:none;opacity:0}.lg-opening-title p{font-size:.75rem;letter-spacing:.27em;color:#d1c1a5;margin-bottom:17px}.lg-opening-title h2,.lg-ending h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,7.5vw,7.5rem);line-height:.98;letter-spacing:-.045em;font-weight:400}.lg-opening-title em,.lg-ending em{font-weight:400;color:#dbbc7e}.lg-opening-title>span{display:block;font:400 .75rem/1.5 ui-monospace,monospace;letter-spacing:.13em;margin-top:26px;color:#b9b3a5}
.last-guest[data-phase=enter] .lg-opening-title{animation:lg-title 7s ease both}
.lg-call{position:absolute;left:32px;top:105px;display:flex;gap:14px;align-items:center;border-left:1px solid #d4b77a;background:#0b0e15b8;backdrop-filter:blur(12px);padding:15px 22px;z-index:2}.lg-call small{display:block;font-size:.75rem;letter-spacing:.18em;color:#b4a586}.lg-call strong{display:block;font-size:1.125rem;line-height:1.3;margin:8px 0}.lg-call p{font-size:.8125rem;color:#c2bcb0}.lg-call-dot{width:7px;height:7px;border-radius:50%;background:#d1ac68;box-shadow:0 0 18px #e4bb6488}.last-guest:is([data-phase=ringFirst],[data-phase=ringSecond]) .lg-call-dot{animation:lg-call 2.2s ease infinite}
.lg-subtitles{position:absolute;bottom:175px;left:50%;transform:translateX(-50%);width:min(780px,88vw);text-align:center;pointer-events:none;text-shadow:0 2px 8px #000}.lg-speaker{font-size:.75rem;color:#e0c18b;letter-spacing:.15em;display:block;margin-bottom:10px}.lg-subtitles p{font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.7;background:#06080ebf;box-shadow:0 0 22px 15px #06080e66;padding:8px 16px;border-radius:4px}
.lg-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;padding:20px 25px max(20px,env(safe-area-inset-bottom));gap:17px;z-index:3;background:linear-gradient(transparent,#0007)}
.lg-hint{font-size:.875rem;color:#d7cfc0;text-align:center;line-height:1.5;min-height:21px;text-shadow:0 2px 6px #000}.lg-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;min-height:45px}.lg-actions button,.lg-pause-screen button,.lg-ending button,.lg-error button{border:1px solid #c8b68b60;background:#11151cce;backdrop-filter:blur(14px);border-radius:5px;padding:13px 20px;font-size:.875rem;min-height:46px;transition:background .25s,border-color .25s,transform .25s}.lg-actions button:hover,.lg-ending button:hover{background:#52452c;border-color:#dac28c;transform:translateY(-2px)}.lg-actions button[data-lg=answer]{background:#ddc591;color:#1b1a18;border-color:#ddc591;font-weight:600;box-shadow:0 0 25px #d5b57416}.lg-scene-caption{font-size:.75rem;color:#d8d0bf77;letter-spacing:.03em}
.lg-floor-card{position:absolute;left:50%;bottom:24%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;border:0;background:transparent;padding:17px 20px;z-index:3;animation:lg-card-slide 1.4s cubic-bezier(.14,.64,.3,1) both;max-width:85vw;white-space:nowrap}.lg-floor-card>span:last-child{font-size:.875rem;text-shadow:0 2px 10px #000}.lg-card-mini{display:grid;place-items:center;width:70px;height:44px;background:linear-gradient(130deg,#2e2a25,#16181d);border:1px solid #bb9e63;border-radius:4px;color:#d9bb7b;font-family:Georgia,serif;font-size:1.6rem;transform:rotate(-8deg);box-shadow:0 8px 22px #000b}
.lg-keycard{position:absolute;left:9%;top:26%;width:310px;padding:24px 27px 25px;background:linear-gradient(125deg,#282725,#10141b 75%);border:1px solid #978057;border-radius:14px;box-shadow:0 22px 90px #000a;animation:lg-card-read 18s ease both;z-index:4;transform-origin:bottom left}.lg-keycard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.lg-keycard-head>span{font-size:.875rem;letter-spacing:.07em}.lg-keycard-head b{font-family:Georgia,serif;color:#e0bf7f;font-size:1.8rem;font-weight:400;letter-spacing:-.08em}.lg-keycard-head small{font-size:.75rem;color:#a2947b;letter-spacing:.11em}.lg-keycard>p{font-size:.75rem;letter-spacing:.05em;color:#c4bcad;line-height:1.6}.lg-room-number{font:400 2rem/1.5 ui-monospace,monospace;letter-spacing:.09em}.lg-card-line{height:1px;background:#d8c39438;margin:22px 0}.lg-guests-count{display:block;font:400 5.5rem/1.15 Georgia,serif;color:#edd39c;margin:13px 0 24px}.lg-keycard-foot{font-size:.75rem;letter-spacing:.105em;color:#c2ad85}
.lg-ending{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(90deg,#020308d4,#0203084d);padding:85px 20px 35px;z-index:5;animation:lg-message 2s ease both}.lg-ending>span{font-size:.75rem;letter-spacing:.2em;color:#bdb19a;margin-bottom:30px}.lg-ending>p{font-size:1rem;line-height:1.5;margin:25px 0 40px;color:#c9c0ae}.lg-ending>div{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.lg-ending button:first-child{background:#d2b87f;color:#181818;border-color:#d2b87f}
.lg-pause-screen,.lg-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#04070bea;backdrop-filter:blur(8px);z-index:8;font-size:1.125rem;padding:100px 25px}.lg-paused *,.lg-paused *::after{animation-play-state:paused!important}
.lg-impact .lg-stage{animation:lg-impact .48s ease both}
.last-guest:is([data-phase=messages],[data-phase=enter],[data-phase=loading],[data-phase=error],[data-phase=end]) .lg-bottom{opacity:0;pointer-events:none}
@keyframes lg-load{from{transform:translateX(-100%)}to{transform:translateX(400%)}}
@keyframes lg-message{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes lg-enter{0%{filter:brightness(.28) blur(5px);transform:scale(1.15)}65%,100%{filter:brightness(1) blur(0);transform:scale(1.025)}}
@keyframes lg-title{0%,10%{opacity:0;transform:translateY(13px)}25%,65%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-10px)}}
@keyframes lg-call{0%,100%{opacity:.35;box-shadow:0 0 0 #d4b26800}50%{opacity:1;box-shadow:0 0 19px #d4b2687a}}
@keyframes lg-impact{0%,100%{transform:translate(0,0)}18%{transform:translate(1px,.3px)}32%{transform:translate(-.8px,0)}58%{transform:translate(.4px,-.3px)}}
@keyframes lg-handle{0%,15%,58%,100%{transform:rotate(0deg)}20%,35%{transform:rotate(11deg)}26%{transform:rotate(5deg)}41%{transform:rotate(3deg)}45%{transform:rotate(12deg)}}
@keyframes lg-card-slide{from{opacity:0;transform:translate(-50%,-50px) scale(.4)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes lg-card-read{0%{opacity:0;transform:translate(35px,80px) rotate(-12deg) scale(.75)}10%,36%{opacity:1;transform:translate(0,0) rotate(-2deg) scale(1)}70%{opacity:.85;transform:translate(0,15px) rotate(-4deg) scale(.84)}100%{opacity:0;transform:translate(-20px,60px) rotate(-5deg) scale(.8)}}
@keyframes lg-reflection{0%,32%{opacity:0;filter:blur(7px) brightness(.48)}65%,100%{opacity:1;filter:blur(0) brightness(.78)}}
.lg-reduced *,.lg-reduced *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}.lg-reduced .lg-stage,.lg-reduced .lg-camera,.lg-reduced .lg-corridor{transform:none!important}.lg-reduced[data-phase=enter] .lg-opening-title{animation:none!important;opacity:1}.lg-reduced[data-phase=reveal] .lg-keycard{animation:none!important;transform:none}.lg-reduced[data-phase=reveal] .lg-reflection{animation:none!important;opacity:.8}.lg-reduced .lg-handle-patch{display:none}
@media(max-width:850px){.lg-topbar{flex-wrap:wrap;gap:12px;padding:18px}.lg-location{font-size:.75rem}.lg-location-detail{font-size:.75rem}.lg-tools{margin-left:auto}.lg-tools button{padding:9px;font-size:.75rem}.lg-tools button[data-lg=close]{margin-left:0}.lg-call{top:110px;left:18px;padding:14px 17px}.lg-opening-title{left:8vw;top:38%}.lg-subtitles{bottom:175px}.lg-keycard{left:6%;width:270px;top:24%;padding:20px 24px}.lg-ending h2{font-size:4.5rem}.lg-reflection{object-position:100% center}.lg-scene-caption{font-size:.75rem}}
@media(max-width:540px){.lg-topbar{padding:15px 14px;gap:13px}.lg-tools{width:100%;justify-content:space-between;gap:5px}.lg-tools button{padding:9px 8px;font-size:.75rem}.lg-tools button[data-lg=close] span{margin-left:3px}.lg-location-detail{letter-spacing:0}.lg-actions{gap:7px}.lg-actions button{font-size:.8125rem;padding:12px 14px}.lg-bottom{padding-inline:14px;gap:12px}.lg-subtitles{bottom:190px;width:90vw}.lg-subtitles p{font-size:1rem;line-height:1.55;padding:6px 8px}.lg-hint{font-size:.8125rem}.lg-opening-title h2{font-size:4rem}.lg-opening-title>span{font-size:.75rem}.lg-call{top:120px;padding:12px 16px}.lg-call strong{font-size:1rem}.lg-keycard{top:27%;left:6%;width:225px;padding:18px 20px}.lg-keycard-head{margin-bottom:23px}.lg-keycard-head>span{font-size:.75rem}.lg-keycard-head small{font-size:.75rem}.lg-room-number{font-size:1.6rem}.lg-guests-count{font-size:4rem;margin:7px 0 18px}.lg-card-line{margin:15px 0}.lg-keycard-foot{font-size:.75rem}.lg-ending h2{font-size:3.8rem}.lg-floor-card{bottom:29%}.lg-floor-card>span:last-child{font-size:.8125rem}.lg-corridor img{mask-image:radial-gradient(ellipse at 50% 46%,#000 0 23%,#0008 42%,transparent 60%)}}
@media(max-height:560px) and (min-width:600px){.lg-topbar{padding:12px 20px}.lg-location-detail{display:none}.lg-call{top:70px;left:20px;padding:10px 15px}.lg-bottom{padding-bottom:9px;gap:6px}.lg-subtitles{bottom:116px;width:min(700px,75vw)}.lg-subtitles p{font-size:.9375rem}.lg-keycard{top:17%;width:230px;padding:14px 20px}.lg-keycard-head{margin-bottom:12px}.lg-room-number{font-size:1.4rem}.lg-guests-count{font-size:3.4rem;margin:2px 0 13px}.lg-card-line{margin:12px 0}.lg-opening-title{top:30%}.lg-opening-title h2,.lg-ending h2{font-size:3.5rem}.lg-ending>span{margin-bottom:15px}.lg-ending>p{margin:14px 0 22px}}

@media(max-width:540px){.lg-tools button{font-size:.875rem;padding:9px 7px}.lg-tools button[data-lg=close]{width:40px;flex-shrink:0}.lg-close-label{display:none}.lg-tools button[data-lg=close] span{margin:0}.lg-tools{flex-wrap:wrap}.lg-keycard{width:245px}.lg-keycard-head small{font-size:.75rem;letter-spacing:0}.lg-keycard-foot{font-size:.75rem;letter-spacing:0}}

.lg-original{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(.3) saturate(.5);transition:opacity 3s;pointer-events:none}.last-guest[data-phase=messages] .lg-original{opacity:1}
.lg-hotspots{position:absolute;z-index:1;pointer-events:none;transition:left 1.6s cubic-bezier(.2,.65,.2,1)}.lg-hotspots button{position:absolute;transform:translate(-50%,-50%);background:#10121a77;border:1px solid #e0cda975;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;pointer-events:auto;backdrop-filter:blur(3px)}.lg-hotspots button>span{font:300 1.5rem/1 Arial,sans-serif;color:#e7d2a6}.lg-hotspots small{position:absolute;top:51px;left:50%;transform:translateX(-50%);font-size:.875rem;background:#07090dd9;border-radius:4px;padding:6px 12px;opacity:0;transition:opacity .2s;white-space:nowrap}.lg-hotspots button:is(:hover,:focus-visible) small{opacity:1}.lg-spot-phone{left:29%;top:68%}.lg-spot-door{left:38.4%;top:33.8%}.lg-spot-window{left:78%;top:44%}.last-guest[data-view=door] .lg-hotspots{visibility:hidden}

.last-guest[data-phase=enter] .lg-message{animation:lg-message-out 1.3s ease both;pointer-events:none}@keyframes lg-message-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
