.oc-cinema{max-width:1280px;margin:30px auto;color:inherit}.oc-cinema *{box-sizing:border-box}.oc-cinema-hero,.oc-event-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.oc-cinema-hero span{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--oc-accent)}.oc-cinema h1{margin:5px 0}.oc-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--oc-accent);color:#fff!important;border:0;border-radius:5px;padding:10px 15px;font-weight:700;text-decoration:none;cursor:pointer}.oc-btn-ghost{background:transparent;border:1px solid var(--oc-accent);color:var(--oc-accent)!important}.oc-section{margin:28px 0}.oc-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.oc-event-card{overflow:hidden;border:1px solid rgba(127,127,127,.22);border-radius:7px;background:rgba(127,127,127,.06)}.oc-event-card a{color:inherit;text-decoration:none}.oc-event-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.oc-event-body{padding:14px}.oc-event-body h3{margin:8px 0 5px}.oc-event-body p{margin:0;opacity:.72;font-size:13px}.oc-status{display:inline-block;font-size:11px;font-weight:800;padding:4px 7px;border-radius:4px;background:rgba(127,127,127,.16)}.oc-live{background:#d93232;color:#fff}.oc-upcoming{background:color-mix(in srgb,var(--oc-accent) 15%,transparent);padding:28px;border-radius:7px;text-align:center}.oc-countdown{font-size:28px;font-weight:800;margin:14px}.oc-room{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.oc-stage{position:relative;background:#000;border-radius:7px;overflow:hidden}.oc-stage #oc-player{aspect-ratio:16/9;width:100%}.oc-side{border:1px solid rgba(127,127,127,.22);border-radius:7px;min-height:400px;display:flex;flex-direction:column}.oc-viewers{padding:11px 13px;border-bottom:1px solid rgba(127,127,127,.18);font-size:13px}.oc-chat{display:flex;flex-direction:column;flex:1;min-height:0}.oc-chat-log{padding:10px;overflow:auto;flex:1;max-height:520px}.oc-chat-msg{display:grid;grid-template-columns:30px 1fr;gap:8px;margin:8px 0;font-size:13px}.oc-chat-msg img{width:30px;height:30px;border-radius:50%;object-fit:cover}.oc-chat-msg b{display:block}.oc-chat form{display:flex;padding:9px;border-top:1px solid rgba(127,127,127,.18)}.oc-chat input,.oc-form input,.oc-form textarea{width:100%;padding:10px;border:1px solid rgba(127,127,127,.28);border-radius:4px;background:transparent;color:inherit}.oc-chat button{border:0;background:var(--oc-accent);color:#fff;border-radius:4px;width:42px}.oc-host-controls,.oc-reaction-bar{display:flex;gap:6px;padding:8px;background:#111}.oc-host-controls button,.oc-reaction-bar button{border:0;border-radius:4px;padding:7px 10px;cursor:pointer}.oc-reaction-bar{justify-content:center}.oc-reaction-bar button{font-size:20px;background:#222}.oc-fly{position:absolute;inset:0;pointer-events:none;overflow:hidden}.oc-float{position:absolute;bottom:50px;font-size:34px;animation:ocfly 2.2s ease-out forwards}@keyframes ocfly{to{transform:translateY(-330px) rotate(18deg);opacity:0}}.oc-form{max-width:760px}.oc-form label{display:block;font-weight:700;margin:14px 0}.oc-form label input,.oc-form label textarea{display:block;margin-top:6px;font-weight:400}.oc-ended{text-align:center;padding:35px;border:1px solid rgba(127,127,127,.2);border-radius:7px}.oc-popcorn{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px}.oc-popcorn button{padding:9px;border:1px solid rgba(127,127,127,.25);border-radius:5px;background:transparent;color:inherit;cursor:pointer}.oc-popcorn span{display:block;font-size:11px;margin-top:4px}.oc-rating-result{display:block;margin-top:10px}.oc-description{margin-top:25px}.oc-empty{padding:18px;border:1px dashed rgba(127,127,127,.3);border-radius:6px;opacity:.75}@media(max-width:850px){.oc-event-grid{grid-template-columns:1fr}.oc-room{grid-template-columns:1fr}.oc-cinema-hero,.oc-event-head{align-items:flex-start;flex-direction:column}.oc-side{min-height:320px}}
/* 0.1.1 cinema controls */
.oc-cinema{--oc-btn-text:#fff;--oc-btn-hover:#5748c7;--oc-btn-radius:4px}.oc-btn,.oc-host-controls button,.oc-chat .oc-send{background:var(--oc-accent)!important;color:var(--oc-btn-text)!important;border-radius:var(--oc-btn-radius)!important}.oc-btn:hover,.oc-host-controls button:hover,.oc-chat .oc-send:hover{background:var(--oc-btn-hover)!important}.oc-stage-tools{position:absolute;top:10px;right:10px;z-index:8;display:flex;gap:6px}.oc-tool,.oc-detach-chat{border:1px solid rgba(255,255,255,.18);background:rgba(15,17,20,.82);color:#fff;border-radius:4px;cursor:pointer}.oc-tool{width:34px;height:34px;font-size:18px}.oc-detach-chat{float:right;padding:4px 7px;font-size:11px}.oc-chat-compose{position:relative;display:grid;grid-template-columns:36px 1fr 44px;width:100%;gap:6px}.oc-smiley-toggle{border:1px solid rgba(127,127,127,.28)!important;background:transparent!important;color:inherit!important;width:36px!important;border-radius:4px!important;font-size:19px}.oc-smiley-picker{position:absolute;left:0;bottom:48px;width:190px;padding:7px;background:#202328;border:1px solid rgba(127,127,127,.35);border-radius:5px;z-index:20;grid-template-columns:repeat(5,1fr);gap:4px}.oc-smiley-picker:not([hidden]){display:grid}.oc-smiley-picker button{width:30px!important;height:30px;border:0!important;background:transparent!important;font-size:19px;cursor:pointer}.oc-room-wide{grid-template-columns:1fr}.oc-room-wide .oc-side{max-height:360px;min-height:280px}.oc-room-wide .oc-stage #oc-player{min-height:min(72vh,800px)}.oc-stage:fullscreen{width:100vw;height:100vh}.oc-stage:fullscreen #oc-player{width:100%;height:100%}.oc-room-chat-only{display:block!important;max-width:460px;margin:0 auto}.oc-room-chat-only .oc-stage{display:none!important}.oc-room-chat-only .oc-side{min-height:680px;height:calc(100vh - 40px)}.oc-cinema-chat-window .oc-event-head,.oc-cinema-chat-window .oc-description,.oc-cinema-chat-window .site-header,.oc-cinema-chat-window header:not(.oc-event-head),.oc-cinema-chat-window footer{display:none!important}.oc-cinema-chat-window .oc-cinema{margin:10px auto;max-width:460px}.oc-cinema-chat-window .oc-chat-log{max-height:none}

/* 0.1.2 – 1280px cinema canvas + compact native emoji composer */
.oc-cinema{width:min(1280px,calc(100vw - 32px));max-width:none;position:relative;left:50%;transform:translateX(-50%)}
.oc-room{width:100%;grid-template-columns:minmax(0,1fr) 360px}
.oc-chat form{display:block;padding:9px}
.oc-chat-compose{display:grid;grid-template-columns:38px minmax(0,1fr) 46px;align-items:stretch;gap:6px;width:100%}
.oc-chat-compose>input{min-width:0;width:100%;height:40px;margin:0;padding:8px 10px!important}
.oc-chat .oc-smiley-toggle{position:static!important;width:38px!important;height:40px!important;min-width:38px;padding:0!important;display:flex;align-items:center;justify-content:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:21px;line-height:1;background:rgba(127,127,127,.08)!important;color:inherit!important;border:1px solid rgba(127,127,127,.28)!important}
.oc-chat .oc-send{position:static!important;width:46px!important;height:40px!important;min-width:46px;padding:0!important;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1}
.oc-smiley-picker{left:0;bottom:48px;width:232px;padding:8px;grid-template-columns:repeat(6,32px);gap:5px}
.oc-smiley-picker button{display:flex!important;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;font-size:21px!important;line-height:1!important;color:inherit!important;background:transparent!important;border:0!important}
@media(max-width:850px){.oc-cinema{width:calc(100vw - 20px)}.oc-room{grid-template-columns:1fr}}

/* 0.1.3 – personal cinema view controls + reliable native emoji picker */
.oc-stage-tools{display:none!important}
.oc-playback-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;background:#111;flex-wrap:wrap}
.oc-playback-controls .oc-host-controls{padding:0;background:transparent}
.oc-view-controls{display:flex;gap:6px;margin-left:auto}
.oc-view-controls .oc-tool{width:auto;height:auto;min-height:36px;padding:7px 11px;font-size:13px;font-weight:700;border:1px solid rgba(255,255,255,.18);background:#202226;color:#fff;border-radius:var(--oc-btn-radius)}
.oc-room-wide{grid-template-columns:minmax(0,1fr) 280px;width:calc(100vw - 24px);max-width:1600px;position:relative;left:50%;transform:translateX(-50%)}
.oc-room-wide .oc-side{max-height:none;min-height:400px}
.oc-room-wide .oc-stage #oc-player{min-height:0}
.oc-room:fullscreen{width:100vw!important;max-width:none!important;height:100vh;background:#111;padding:10px;grid-template-columns:minmax(0,1fr) minmax(280px,360px);left:auto;transform:none}
.oc-room:fullscreen .oc-stage,.oc-room:fullscreen .oc-side{height:calc(100vh - 20px)}
.oc-room:fullscreen .oc-stage{display:flex;flex-direction:column}
.oc-room:fullscreen #oc-player{flex:1;min-height:0}
.oc-room:fullscreen .oc-chat-log{max-height:none}
.oc-smiley-picker[hidden]{display:none!important}
.oc-smiley-picker:not([hidden]){display:grid!important}
.oc-smiley-picker button[data-emoji]{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;font-weight:400!important;text-rendering:auto}
@media(max-width:850px){.oc-playback-controls{align-items:stretch}.oc-view-controls{margin-left:0}.oc-room-wide{width:calc(100vw - 20px);grid-template-columns:1fr}.oc-room:fullscreen{grid-template-columns:1fr}.oc-room:fullscreen .oc-side{display:none}}

/* 0.1.4 — only the event host may operate YouTube playback. */
.oc-room.oc-cinema-viewer .oc-stage iframe{pointer-events:none!important;}

/* 0.1.5 — Cinema overview redesign */
.oc-cinema-hero-v2{position:relative;padding:26px 28px;margin:0 0 34px;border:1px solid rgba(127,127,127,.20);border-radius:8px;background:linear-gradient(115deg,color-mix(in srgb,var(--oc-accent) 10%,transparent),rgba(127,127,127,.035));overflow:hidden}
.oc-cinema-hero-v2:after{content:"";position:absolute;right:-70px;top:-120px;width:310px;height:310px;border-radius:50%;background:var(--oc-accent);opacity:.055;pointer-events:none}
.oc-cinema-hero-v2 .oc-hero-copy{position:relative;z-index:1}.oc-cinema-hero-v2 .oc-btn{position:relative;z-index:2}
.oc-cinema-hero-v2 h1{font-size:34px;line-height:1.08;margin:7px 0 8px}.oc-cinema-hero-v2 p{margin:0;opacity:.72;font-size:15px}
.oc-section{margin:34px 0 40px}.oc-section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid rgba(127,127,127,.20)}
.oc-section-title h2{display:flex;align-items:center;gap:10px;margin:0;font-size:24px}.oc-section-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:5px;background:rgba(127,127,127,.10);font-size:14px;color:var(--oc-accent)}
.oc-section-icon-live{color:#ef3d4f}.oc-section-count{font-size:12px;font-weight:700;opacity:.52}
.oc-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.oc-event-card{border-radius:6px;background:rgba(127,127,127,.055);transition:transform .16s ease,border-color .16s ease,background .16s ease}.oc-event-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--oc-accent) 48%,transparent);background:rgba(127,127,127,.075)}
.oc-card-link{display:grid!important;grid-template-columns:220px minmax(0,1fr);height:100%}.oc-event-media{position:relative;min-height:142px;background:#101114;overflow:hidden}.oc-event-media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.oc-cover-placeholder{height:100%;min-height:142px;display:flex;align-items:center;justify-content:center;font-size:36px;background:color-mix(in srgb,var(--oc-accent) 10%,#17181c)}
.oc-event-media .oc-status{position:absolute;left:10px;top:10px;box-shadow:0 2px 12px rgba(0,0,0,.22)}
.oc-event-body{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:17px 18px}.oc-event-body h3{font-size:20px;line-height:1.2;margin:0 0 7px}.oc-event-meta{display:flex;flex-wrap:wrap;gap:5px!important;margin:0!important;font-size:12px!important;opacity:.68!important}.oc-event-desc{margin:10px 0 0!important;font-size:13px!important;line-height:1.45;opacity:.70!important}.oc-card-action{font-size:12px;font-weight:800;color:var(--oc-accent)}.oc-rating-small{margin-top:9px;font-size:12px;font-weight:700}.oc-rating-small span{opacity:.65;font-weight:500}
.oc-section-live .oc-event-grid{grid-template-columns:1fr}.oc-event-card-live .oc-card-link{grid-template-columns:minmax(360px,48%) minmax(0,1fr)}.oc-event-card-live .oc-event-media{min-height:260px}.oc-event-card-live .oc-event-body{padding:25px 28px}.oc-event-card-live .oc-event-body h3{font-size:29px}.oc-event-card-live .oc-event-desc{font-size:14px!important;max-width:620px}.oc-event-card-live .oc-card-action{display:inline-flex;align-self:flex-start;background:var(--oc-accent);color:var(--oc-btn-text)!important;border-radius:var(--oc-btn-radius);padding:9px 13px}
.oc-empty{grid-column:1/-1;padding:20px 22px;border:1px dashed rgba(127,127,127,.25);border-radius:6px;background:rgba(127,127,127,.025)}
/* Upcoming event detail: turn the countdown into a compact event panel. */
.oc-upcoming{padding:26px 30px;border:1px solid color-mix(in srgb,var(--oc-accent) 25%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--oc-accent) 13%,transparent),rgba(127,127,127,.035));border-radius:7px}.oc-upcoming h2{margin-top:0}.oc-countdown{font-size:26px;margin:10px 0 18px}
@media(max-width:900px){.oc-event-grid{grid-template-columns:1fr}.oc-card-link,.oc-event-card-live .oc-card-link{grid-template-columns:190px minmax(0,1fr)}.oc-event-card-live .oc-event-media{min-height:170px}.oc-event-card-live .oc-event-body{padding:18px}.oc-event-card-live .oc-event-body h3{font-size:22px}}
@media(max-width:620px){.oc-cinema-hero-v2{padding:20px}.oc-cinema-hero-v2 h1{font-size:28px}.oc-section{margin:28px 0}.oc-section-title h2{font-size:21px}.oc-section-count{display:none}.oc-card-link,.oc-event-card-live .oc-card-link{grid-template-columns:1fr}.oc-event-media,.oc-event-card-live .oc-event-media{min-height:0;aspect-ratio:16/9}.oc-event-body,.oc-event-card-live .oc-event-body{padding:14px 15px}.oc-event-card-live .oc-event-body h3{font-size:21px}.oc-event-desc{display:none}.oc-cinema-hero-v2 .oc-btn{width:100%;margin-top:8px}}

/* 0.1.6 — square Cinema design, clapperboard hero motif, no purple focus frames */
.oc-cinema-hero-v2,.oc-event-card,.oc-upcoming,.oc-side,.oc-stage,.oc-ended,.oc-empty,.oc-status,.oc-section-icon,.oc-event-card-live .oc-card-action{border-radius:0!important}
.oc-cinema-hero-v2:after{content:"🎬";right:34px;top:50%;width:auto;height:auto;transform:translateY(-50%) rotate(-8deg);border-radius:0;background:none;opacity:.10;font-size:118px;line-height:1;filter:grayscale(1);pointer-events:none}
.oc-cinema :is(a,button,input,textarea,select):focus,.oc-cinema :is(a,button,input,textarea,select):focus-visible{outline:none!important;box-shadow:none!important}
.oc-cinema .oc-event-card:focus-within{border-color:rgba(127,127,127,.22)!important;box-shadow:none!important}
.oc-cinema .oc-event-card:hover{border-color:rgba(127,127,127,.32)}
.oc-central-smiley{display:inline-block;max-width:34px;max-height:34px;width:auto;height:auto;vertical-align:middle;object-fit:contain}.oc-smiley-picker .oc-central-smiley,.oc-reaction-bar .oc-central-smiley{max-width:28px;max-height:28px}

/* 0.1.8 — viewer playback is host-controlled only. */
.oc-room.oc-cinema-viewer .oc-stage #oc-player,
.oc-room.oc-cinema-viewer .oc-stage iframe{pointer-events:none!important;user-select:none!important}
