.onsite-screen{position:relative;width:100vw;height:100vh;min-height:480px;overflow:hidden;color:#f9f4e8;background:radial-gradient(ellipse at 62% 40%,#382715 0%,#100d0a 45%,#050608 78%);font-family:Arial,"Microsoft YaHei",sans-serif;isolation:isolate}
.onsite-ambient{position:absolute;inset:0;background:linear-gradient(90deg,#050608 0%,rgba(5,6,8,.94) 20%,transparent 50%,rgba(5,6,8,.7) 91%);z-index:2;pointer-events:none}
.onsite-photo-frame{position:absolute;left:32%;top:0;width:48%;height:100%;overflow:hidden;z-index:1;mask-image:linear-gradient(to right,transparent,#000 12%,#000 82%,transparent)}
.onsite-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;will-change:opacity}
.onsite-photo.is-visible{opacity:1}
.onsite-photo-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#050608 0%,rgba(5,6,8,.88) 26%,transparent 46%,transparent 67%,rgba(5,6,8,.78) 82%,#050608 100%);pointer-events:none}
.onsite-brand{position:absolute;z-index:3;left:4%;top:4%;display:flex;align-items:center;gap:12px;color:#fff5dc;font-size:17px;font-weight:700;line-height:1.02;letter-spacing:.05em}
.onsite-brand b{display:grid;place-items:center;background:#d5ae5a;color:#18140e;width:54px;height:54px;border-radius:11px;font-size:22px;letter-spacing:0}
.onsite-brand-line{position:absolute;z-index:3;right:4%;top:5.5%;color:#dcc796;font-size:12px;letter-spacing:.35em;font-weight:700}
.onsite-copy{position:absolute;z-index:3;left:5%;top:31%;width:42%;text-shadow:0 2px 12px #080708}
.onsite-eyebrow{display:block;color:#eac374;font-size:clamp(19px,1.5vw,28px);font-weight:800;letter-spacing:.23em;margin-bottom:3vh}
.onsite-copy h1{font-family:Georgia,"Songti SC","SimSun",serif;font-weight:900;color:#f3ca71;letter-spacing:-.04em;font-size:clamp(70px,7vw,150px);line-height:1.08;margin:0;overflow-wrap:anywhere}
.onsite-person-block{position:absolute;z-index:3;right:4%;top:49%;width:23%;display:flex;flex-direction:column;align-items:flex-start;text-shadow:0 3px 15px #070607}
.onsite-person-block strong{font-size:clamp(58px,6vw,122px);font-weight:850;line-height:1.1;overflow-wrap:anywhere}
.onsite-person-block span{font-size:clamp(28px,2.2vw,46px);color:#e5ca90;margin-top:10px;overflow-wrap:anywhere}
.onsite-footer{position:absolute;z-index:3;left:4%;right:4%;bottom:4%;display:flex;gap:25px;align-items:center;color:#e9d3a1;font-size:clamp(16px,1.3vw,28px);letter-spacing:.04em}
.onsite-footer small{margin-left:auto;letter-spacing:.2em;font-size:12px;font-weight:700}
.onsite-screen #fullscreen-button{position:absolute;right:2%;bottom:2%;z-index:4;opacity:.15;background:none;border:0;color:#fff;font-size:23px;cursor:pointer}
.onsite-screen #fullscreen-button:hover,.onsite-screen #fullscreen-button:focus-visible{opacity:1}
.onsite-screen.is-photo-moment .onsite-copy{top:24%;width:57%}
.onsite-screen.is-photo-moment .onsite-copy h1{font-family:Arial,"Microsoft YaHei",sans-serif;font-style:italic;font-size:clamp(70px,7vw,150px);letter-spacing:-.07em;text-transform:uppercase}
.onsite-screen.is-photo-moment .onsite-person-block{top:54%}
.onsite-screen.theme-red-gold{background:radial-gradient(ellipse at 62% 40%,#472012 0%,#120c0b 45%,#050608 78%)}
.onsite-screen.theme-blue-gold{background:radial-gradient(ellipse at 62% 40%,#24385a 0%,#0b1424 45%,#050608 78%)}
@media(max-width:1100px){.onsite-person-block{right:3%;width:27%}.onsite-copy{width:45%}.onsite-photo-frame{left:28%;width:55%}}
@media(prefers-reduced-motion:reduce){.onsite-photo{transition:none;will-change:auto}}

/* Store posters: static, low-cost display layer that never owns the timer. */
.onsite-poster-screen{position:relative;display:flex;flex-direction:column;width:100vw;height:100vh;min-height:480px;overflow:hidden;color:#fff;background:#070b13;font-family:Arial,"Microsoft YaHei",sans-serif;isolation:isolate}
.onsite-poster-screen.is-upload{align-items:center;justify-content:center}
.onsite-poster-art{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.onsite-poster-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateX(0);transition:opacity .45s ease,transform .5s ease;will-change:opacity,transform}
.onsite-poster-slide.is-visible{opacity:1;z-index:2}
.onsite-poster-video{position:absolute;inset:0;z-index:3;width:100%;height:100%;object-fit:contain;background:#070b13}
.onsite-poster-video[hidden]{display:none}
.onsite-poster-program{position:absolute;inset:0;z-index:2;overflow:hidden;padding:4.4vh 5vw;display:flex;flex-direction:column;background:radial-gradient(circle at 75% 44%,#66502b 0%,#19202b 35%,#070b13 75%);color:#f9eed8;isolation:isolate}
.onsite-poster-program[hidden]{display:none}
.onsite-poster-program.program-drinks{background:radial-gradient(circle at 72% 42%,#80532e,#211b1a 38%,#080b12 78%)}
.onsite-poster-program.program-vip{background:radial-gradient(circle at 70% 42%,#51411f,#172032 42%,#080b13 80%)}
.onsite-poster-program.program-venue,.onsite-poster-program.program-brand{background:radial-gradient(circle at 74% 42%,#35506a,#142037 38%,#080d18 80%)}
.onsite-poster-program.program-beginner,.onsite-poster-program.program-activity{background:radial-gradient(circle at 74% 42%,#45577f,#182542 38%,#080d18 80%)}
.onsite-poster-program .program-glow{position:absolute;inset:3%;border:1px solid #d4ac673d;border-radius:1.2vw;box-shadow:inset 0 0 4vw #c9a15b14;pointer-events:none}
.onsite-poster-program header,.onsite-poster-program footer{position:relative;display:flex;justify-content:space-between;align-items:center;gap:2vw;letter-spacing:.16em;color:#e7c991;font-size:clamp(18px,1.25vw,28px)}
.onsite-poster-program header b{font-size:clamp(22px,1.65vw,38px)}
.onsite-poster-program .program-body{position:relative;flex:1;min-height:0;display:flex;align-items:center;gap:4vw}
.onsite-poster-program .program-copy{position:relative;z-index:2;flex:1;max-width:58%}
.onsite-poster-program .program-copy small{color:#e0bd7b;font-size:clamp(18px,1.5vw,34px);letter-spacing:.2em}
.onsite-poster-program .program-copy h1{margin:2vh 0;font-family:Georgia,"Songti SC",serif;font-size:clamp(58px,6.4vw,140px);line-height:1.14;text-shadow:0 .5vw 2vw #0008;overflow-wrap:anywhere}
.onsite-poster-program .program-copy p{font-size:clamp(28px,2.5vw,54px);line-height:1.35}
.onsite-poster-program .program-copy strong{display:inline-block;padding:.7vh 1.3vw;border:1px solid #dec58c7a;border-radius:.5vw;font-size:clamp(18px,1.35vw,32px)}
.onsite-poster-program .program-hero{width:39%;height:70%;object-fit:cover;border-radius:1vw;border:2px solid #e9c78591;box-shadow:0 2vw 5vw #0009}
.onsite-poster-program .program-visual{display:grid;place-items:center;width:32%;font-size:clamp(150px,22vw,460px);color:#ddbd78;text-shadow:0 0 5vw #d7ad6680}
.onsite-poster-program figure{position:absolute;right:0;bottom:2vh;margin:0;padding:1vh;background:#fff;color:#17243a;text-align:center;font-size:clamp(16px,1vw,23px)}
.onsite-poster-program figure img{display:block;width:clamp(110px,9vw,200px);aspect-ratio:1}
.onsite-poster-program footer{border-top:1px solid #dfbf8166;padding-top:2vh}
.onsite-poster-screen.poster-fit-cover .onsite-poster-video{object-fit:cover}
.poster-video-error{display:none;position:absolute;inset:0;place-items:center;color:#dce8f5;font-size:clamp(22px,2.4vw,44px);text-align:center}
.poster-video-failed .poster-video-error{display:grid}
.onsite-poster-screen.poster-fit-cover .onsite-poster-slide{object-fit:cover}
.onsite-poster-screen.poster-transition-slide .onsite-poster-slide{transform:translateX(6%)}
.onsite-poster-screen.poster-transition-slide .onsite-poster-slide.is-visible{transform:translateX(0)}
.onsite-poster-screen.poster-transition-slide .onsite-poster-slide.is-exiting{transform:translateX(-6%)}
.onsite-poster-screen.is-platform{padding:5.3vh 6vw;background:linear-gradient(125deg,#070b13 0%,#17232d 57%,#0a0d14 100%)}
.onsite-poster-screen.theme-red-gold{background:linear-gradient(125deg,#160a0b 0%,#4b1821 58%,#13090c 100%)}
.onsite-poster-screen.theme-blue-gold{background:linear-gradient(125deg,#07111e 0%,#173758 58%,#090f1c 100%)}
.onsite-poster-frame{position:absolute;inset:3.6vh 2.1vw;border:1px solid rgba(226,186,112,.44);pointer-events:none}
.onsite-poster-frame::before,.onsite-poster-frame::after{content:"";position:absolute;width:11vw;height:11vw;border:1px solid rgba(226,186,112,.48);transform:rotate(45deg)}
.onsite-poster-frame::before{right:7vw;top:17vh}.onsite-poster-frame::after{right:-2vw;bottom:-10vh;width:22vw;height:22vw;border-color:rgba(226,186,112,.23)}
.onsite-poster-top,.onsite-poster-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:2vw;color:#f2dfb6}
.onsite-poster-top{font-size:clamp(19px,1.7vw,34px);font-weight:800;letter-spacing:.08em}
.onsite-poster-top b{display:block;margin-top:4px;font-size:clamp(10px,.85vw,18px);letter-spacing:.25em}
.onsite-poster-top small,.onsite-poster-bottom b{font-size:clamp(11px,.95vw,20px);letter-spacing:.22em;white-space:nowrap}
.onsite-poster-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;justify-content:center;max-width:77%;padding-bottom:3vh}
.onsite-poster-eyebrow{color:#e8bf74;font-size:clamp(20px,1.6vw,34px);font-weight:750;letter-spacing:.3em}
.onsite-poster-copy h1{margin:3.5vh 0 2vh;font-family:Georgia,"Songti SC","SimSun",serif;font-size:clamp(76px,7.6vw,158px);font-weight:900;line-height:1.12;letter-spacing:-.04em;color:#f7dfaa;overflow-wrap:anywhere;text-shadow:0 6px 24px rgba(0,0,0,.25)}
.onsite-poster-copy p{max-width:78%;margin:0;color:#fff8eb;font-size:clamp(28px,2.45vw,52px);font-weight:550;line-height:1.45;overflow-wrap:anywhere}
.onsite-poster-bottom{padding-top:2.5vh;border-top:1px solid rgba(242,223,182,.4);font-size:clamp(18px,1.5vw,32px);font-weight:700}
.onsite-poster-screen #fullscreen-button{position:absolute;right:2%;bottom:2%;z-index:4;opacity:.15;background:none;border:0;color:#fff;font-size:23px;cursor:pointer}
.onsite-poster-screen #fullscreen-button:hover,.onsite-poster-screen #fullscreen-button:focus-visible{opacity:1}
.onsite-poster-screen .sound-unlock-button{right:5%;top:4%;min-width:132px;min-height:40px;padding:8px 13px;border-radius:8px;font-size:15px}
.display-sound-ready .onsite-poster-screen.needs-sound-unlock .sound-unlock-button{display:block}
@media(max-width:900px){.onsite-poster-copy{max-width:90%}.onsite-poster-copy p{max-width:85%}.onsite-poster-top small,.onsite-poster-bottom b{display:none}}
@media(prefers-reduced-motion:reduce){.onsite-poster-slide{transition:none;will-change:auto}}
