*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:"Pretendard","Noto Sans KR",Arial,sans-serif;-webkit-text-size-adjust:100%;color:#fff}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffb190;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{width:100%;max-width:800px;margin:0 auto}.artwork{display:block;width:100%;height:auto}.invitation-page{background:#dc3517}.login-page{background:#00383a}.invitation-scene,.login-scene{position:relative}.entry-link{position:absolute;left:12%;top:60%;width:76%;height:20%;border-radius:0}.login-form input:not([type=hidden]){position:absolute;left:18%;width:66%;height:4.8%;padding:0 3%;border:0;border-radius:0;background:#fff;color:#252525;font-size:clamp(16px,4.1vw,29px);outline-offset:0}.login-form input::placeholder{color:#b7b7b7;opacity:1}.login-name{top:46.25%}.login-department{top:53.95%}.login-submit{position:absolute;left:27.7%;top:66.5%;width:44.4%;height:5.85%;border:0;background:transparent}.login-submit:disabled{background:#00383a55}.login-error{position:absolute;left:12%;top:60.2%;width:76%;margin:0;text-align:center;font-size:clamp(12px,2.7vw,18px);color:#fff1da;line-height:1.4}.live-page{background:#0e1112}.live-layout{background:#191919;min-height:100vh}.live-title{background:#451d23;min-height:64px;padding:20px 12px;text-align:center;font-weight:800;font-size:clamp(15px,4.3vw,27px);letter-spacing:-.5px}.video-shell{background:#000;position:relative}.video-stage{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;overflow:hidden}.live-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.video-stage iframe,.video-stage #youtubeMount{position:absolute;inset:0;width:100%;height:100%;border:0}.youtube-guard{display:none;position:absolute;inset:0;z-index:3;background:transparent;touch-action:pan-y}.video-shell.is-guarded .youtube-guard{display:block}.video-shell.is-guarded iframe{pointer-events:none}
/* 유튜브 내부 클릭 차단 범위: 현재 영상 전체. 향후 특정 영역만 막으려면
   위 iframe pointer-events:none을 제거하고 .youtube-guard의 inset/width/height를 조정합니다.
   버튼은 영상 밖에 있으므로 차단 레이어에 가려지지 않습니다. */
.player-controls{display:flex;align-items:center;gap:8px;min-height:48px;padding:7px 10px;background:#181818}.player-controls button{flex-shrink:0;border:1px solid #4e4e4e;background:#252525;border-radius:3px;padding:8px 10px;color:#fff;font-size:13px}.player-controls button:last-child{margin-left:auto}.player-status{color:#d8c3b7;font-size:11px;line-height:1.3}.video-shell:fullscreen,.video-shell:-webkit-full-screen,.video-shell.expanded{width:100%;max-width:none;height:100%;background:#000;display:flex;flex-direction:column;justify-content:center}.video-shell.expanded{position:fixed;inset:0;z-index:1000;height:100vh;height:100dvh}.video-shell:fullscreen .video-stage,.video-shell:-webkit-full-screen .video-stage,.video-shell.expanded .video-stage{flex:1;min-height:0;aspect-ratio:auto}.video-shell:fullscreen .player-controls,.video-shell.expanded .player-controls{padding-bottom:max(8px,env(safe-area-inset-bottom))}.lucky-banner{display:flex;align-items:center;justify-content:center;min-height:76px;padding:15px 10px;background:linear-gradient(100deg,#137071,#005457);text-align:center;font-size:clamp(22px,5.7vw,42px);font-weight:850;letter-spacing:-.5px;overflow-wrap:anywhere}.my-lucky{padding:12px 10px;text-align:center;background:#1e1e1e;color:#ff4f23;font-size:14px;font-weight:600}.my-lucky strong{font-size:17px;letter-spacing:1px}.chat-section{position:relative}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;background:#292929;font-size:16px}.connection-state{font-size:11px;color:#b9b9b9}.connection-state.online{color:#9ec6ba}.chat-list{height:370px;height:clamp(300px,46vh,520px);overflow-y:auto;overscroll-behavior:contain;padding:18px 20px;scrollbar-width:thin;scrollbar-color:#555 #191919}.chat-empty{text-align:center;color:#797979;font-size:14px;padding:60px 0}.chat-message{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;line-height:1.5}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#296c70;color:#fff;font-size:13px;font-weight:700}.chat-message.own .avatar{background:#ae4826}.message-content{min-width:0;flex:1;font-size:14px}.message-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}.message-name{color:#ddd;font-size:12px;font-weight:700;overflow-wrap:anywhere}.message-time{font-size:10px;color:#777}.message-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#f1f1f1}.chat-form{padding:12px 20px 10px;border-top:1px solid #333;background:#202020}.chat-myname{display:block;font-size:12px;color:#d8d8d8;margin-bottom:8px}.chat-input-row{display:flex;gap:8px}.chat-input-row input{min-width:0;flex:1;min-height:44px;background:#303030;border:1px solid #555;color:#fff;padding:10px 12px;border-radius:3px;font-size:16px}.chat-input-row button{background:#ff4f23;color:#fff;border:0;border-radius:3px;min-width:60px;font-weight:700}.chat-feedback{font-size:12px;color:#ffb29a;margin:6px 0 0;min-height:16px}.new-messages{position:absolute;bottom:130px;left:50%;transform:translateX(-50%);background:#ff4f23;color:#fff;border:0;padding:9px 17px;border-radius:20px;font-size:12px}.live-footer{display:flex;justify-content:space-between;align-items:center;padding:18px 22px max(18px,env(safe-area-inset-bottom));font-size:12px;color:#888}.live-footer button{color:#aaa;background:none;border:0;padding:6px;font-size:12px}@media(min-width:600px){.chat-list{padding:24px 38px}.message-content{font-size:16px}.my-lucky{font-size:16px}.my-lucky strong{font-size:19px}.player-controls{padding:9px 18px}.player-controls button{font-size:14px}}@media(max-width:360px){.player-controls{gap:5px;padding:7px 6px}.player-controls button{padding:8px 7px;font-size:12px}.player-status{font-size:10px}.chat-form{padding:12px}.chat-list{padding:16px 12px}}
