/* UNLISTED Sessions: existing player reference, neutral surfaces and red brand dot. */
:root{font-family:Arial,Helvetica,sans-serif;font-synthesis:none;color-scheme:dark;--ink:#eee;--muted:#a4a6aa;--rule:#303235;--accent:#f34342;background:#0b0c0d;color:var(--ink);--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{min-height:44px;padding:10px 16px;border:1px solid var(--rule);border-radius:0;background:transparent;color:inherit;cursor:pointer}button:hover:not(:disabled),.control-link:hover{background:#202225}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1260px;margin:auto;padding:0 40px}.site-header{min-height:92px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--rule)}.brand{display:inline-flex;align-items:center;gap:12px;font-size:20px;letter-spacing:.055em;font-weight:800}.brand-mark{width:28px;height:25px;overflow:visible}.brand i{display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);align-self:flex-end;margin:0 0 3px -7px}.site-header nav{display:flex;gap:24px;font-size:12px;color:var(--muted)}.site-header nav a{padding:15px 0}.site-header nav [aria-current=page]{border-bottom:1px solid var(--ink);color:var(--ink)}.header-state{margin-left:auto;font:9px var(--mono);letter-spacing:1px;color:var(--muted)}.watch-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:42px 0 30px}.eyebrow{font:10px var(--mono);letter-spacing:1.5px;color:var(--muted);margin:0 0 12px}h1{font-size:clamp(34px,5vw,56px);font-weight:500;line-height:1.06;letter-spacing:-2.3px;margin:0}h2{font-size:30px;line-height:1.15;font-weight:450;letter-spacing:-1px;margin:14px 0}.session-note,.muted{font-size:13px;line-height:1.65;color:var(--muted);max-width:38ch}.session-note{margin:0}.session-note a{text-decoration:underline;text-underline-offset:4px}.picture{width:100%;aspect-ratio:16/9;background:#070808;position:relative;overflow:hidden;border:1px solid var(--rule);touch-action:pan-y}.picture video,.picture canvas{display:block;width:100%;height:100%;object-fit:contain;background:#070808}.picture[data-fit=cover] video,.picture[data-fit=cover] canvas{object-fit:cover}.picture:fullscreen{aspect-ratio:auto;height:100%;border:0}.picture-top,.picture-bottom{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:14px;font:9px var(--mono);letter-spacing:1px;text-shadow:0 1px 4px #070808;z-index:3}.picture-top{top:18px}.picture-bottom{bottom:9px}.picture-bottom button{min-height:36px;background:#0b0c0dcc;border:0;padding:8px 10px;font:9px var(--mono)}.picture.clean .picture-top,.picture.clean #cameraState{visibility:hidden}.join-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#07080820;z-index:4}.join{display:flex;align-items:center;gap:12px;background:#0b0c0def;border-color:#62656a;font:11px var(--mono);letter-spacing:1px;padding:17px 24px}.join svg{width:23px;height:23px}.join-layer p{font-size:11px;line-height:1.6;color:var(--muted);max-width:36ch;text-align:center;margin:0 20px}.transport{display:flex;align-items:center;gap:16px;border:1px solid var(--rule);border-top:0;padding:8px 12px;min-height:64px}.transport button{border:0;display:flex;align-items:center;gap:8px;padding:8px}.transport svg{width:21px;height:21px}.transport-play{min-width:82px;font-size:12px}.live-position{display:flex;align-items:center;gap:8px;font:9px var(--mono)}.signal-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.live-position button{font:9px var(--mono);color:var(--muted)}.volume-control{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:11px}.volume-control input{width:90px;accent-color:var(--ink)}.camera-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:22px}.camera-heading .eyebrow{margin:0}.camera-tools{display:flex;gap:6px}.camera-tools button{font:10px var(--mono);padding:8px 12px}.camera-tools button[aria-pressed=true]{color:var(--ink);border-color:var(--ink);background:#1c1e21}.angle-help{margin:7px 0 14px;color:var(--muted);font:10px/1.6 var(--mono)}.angles{display:grid;grid-template-columns:repeat(var(--camera-count,2),minmax(0,1fr));gap:14px}.angles>button{text-align:left;padding:0;overflow:hidden}.angle-image{display:flex;align-items:center;justify-content:space-between;position:relative;min-height:110px;aspect-ratio:16/5;background:#141617;padding:22px;border-bottom:1px solid var(--rule)}.angle-number{font-size:clamp(34px,5vw,62px);font-weight:300;letter-spacing:-2px;color:#696c71}.angle-state{font:9px var(--mono);letter-spacing:.8px;color:var(--muted)}.angle-caption{padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.angle-caption strong{font-size:13px;font-weight:500}.angle-caption small{font:9px var(--mono);color:var(--muted)}.angles>button[aria-pressed=true]{border-color:#c7c9cd}.angles>button[aria-pressed=true] .angle-image{background:#1c1e21}.angles>button[aria-pressed=true] .angle-number{color:var(--ink)}.angles>button[aria-pressed=true] .angle-state{color:var(--ink)}.session-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;padding:36px 0 20px}.status{font:11px/1.65 var(--mono);color:var(--muted);max-width:65ch}.viewer-options>button,.viewer-options>details{width:100%;border:0;border-top:1px solid var(--rule);text-align:left;padding:16px 0;font-size:12px}.viewer-options>button{display:flex;justify-content:space-between;align-items:center}.viewer-options>button span{font:10px var(--mono);color:var(--muted)}summary{cursor:pointer;min-height:32px;display:flex;align-items:center;font-size:12px}.viewer-options dl{margin:10px 0}.viewer-options dl>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;font-size:11px}.viewer-options dt{color:var(--muted)}.viewer-options dd{margin:0;font-family:var(--mono)}.detail-note{font-size:11px;color:var(--muted);line-height:1.65;max-width:65ch}.notice{font-size:12px;line-height:1.6;color:var(--muted);min-height:20px;margin:8px 0 26px}.notice.error{color:#efa6a6}footer{border-top:1px solid var(--rule);padding:24px 0 30px;display:flex;justify-content:space-between;gap:20px;font:9px var(--mono);letter-spacing:1px;color:var(--muted)}.demo-banner{padding:12px;border:1px solid var(--rule);font-size:12px}
/* Continuous media layers use opacity only; master audio belongs to #stage. */
#camera-hold,#ai-hold,#ai-stage{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 2.4s cubic-bezier(.45,0,.55,1)}#camera-hold{z-index:1;transition-duration:1s}#camera-hold.holding{opacity:1}#ai-hold,#ai-stage{z-index:2;transition-duration:var(--ai-fade,2.4s)}#ai-hold.holding{opacity:1}#ai-stage.ai-visible{opacity:var(--ai-mix,1)}
/* Private studio keeps source actions and AI together, outside the viewer player. */
.studio-workspace{border-top:1px solid var(--rule);margin-top:36px;padding-top:28px;display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.6fr);gap:32px;align-items:start}.broadcast-controls h2{font-size:24px}.control-link{display:block;border:1px solid var(--rule);padding:14px;font:11px/1.6 var(--mono);margin-top:22px}.ai-controls{min-width:0;border:1px solid var(--rule);padding:20px}.ai-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.ai-heading .eyebrow{margin:0}.ai-heading>span:last-child{font:10px var(--mono);text-align:right}.ai-controls label{display:block;font-size:12px;margin-bottom:9px}.ai-controls textarea{width:100%;min-height:108px;resize:vertical;background:#111315;color:var(--ink);border:1px solid #414449;padding:12px;font:13px/1.6 Arial,Helvetica,sans-serif}.ai-model-choice{display:grid;grid-template-columns:1fr;gap:10px;border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:16px}.ai-model-choice label{display:grid;gap:9px}.ai-model-choice select,.ai-option-grid select{width:100%;min-height:44px;background:#15171a;border:1px solid #414449;color:var(--ink);padding:10px;font-size:12px}.ai-model-description p{margin:0}.ai-model-description #ai-model-rate{margin-top:7px;font:10px/1.6 var(--mono)}.ai-help{font-size:11px;line-height:1.65;color:var(--muted)}.ai-options{margin:16px 0;padding-top:12px;border-top:1px solid var(--rule)}.ai-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:12px 0}.ai-option-grid>label:first-child{grid-column:1/-1}.ai-option-grid label{display:grid;gap:8px}.ai-option-grid output{font:11px var(--mono)}.ai-option-grid input{width:100%;accent-color:var(--ink)}.ai-preserve{display:flex!important;align-items:center;gap:8px;line-height:1.6}.ai-preserve input{accent-color:var(--ink)}.ai-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.ai-actions button{font:10px var(--mono);padding:10px 12px}.ai-actions button[aria-pressed=true]{background:var(--ink);color:#101214;border-color:var(--ink)}#ai-feedback{flex-basis:100%;font:10px/1.6 var(--mono);color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.ai-alert{border:1px solid #8c5050;padding:14px;margin-top:16px;background:#24191b}.ai-alert h3{font:12px var(--mono);margin:0 0 8px}.ai-alert p{font-size:12px;line-height:1.65;margin:0;overflow-wrap:anywhere}.ai-alert-actions{display:flex;gap:8px;margin-top:12px}.ai-alert-actions button{font:10px var(--mono)}.ai-event-details{margin-top:16px;padding-top:12px;border-top:1px solid var(--rule)}.ai-event-details summary{color:var(--muted)}.ai-event-details ol{max-height:220px;overflow:auto;font:10px/1.7 var(--mono);padding-left:20px;color:var(--muted);overflow-wrap:anywhere}.ai-event-details li{padding:5px 0}
@media(max-width:700px){.shell{padding:0 16px}.site-header{min-height:72px;gap:20px}.brand{font-size:16px;gap:9px}.brand-mark{width:23px;height:22px}.site-header nav{gap:15px;font-size:10px}.header-state{font-size:8px;letter-spacing:.5px}.watch-heading{display:block;padding:28px 0 22px}.session-note{margin-top:14px;font-size:12px}h1{font-size:38px;letter-spacing:-1.6px}.picture-top,.picture-bottom{left:12px;right:12px;font-size:8px}.picture-top{top:12px}.picture-bottom{bottom:4px}.picture-bottom button{font-size:8px;padding:6px}.transport{gap:4px;padding:6px}.transport-play{min-width:58px}.transport button{padding:6px}.live-position{gap:5px;font-size:8px}.live-position button{font-size:8px}.volume-control input{width:48px}.transport svg{width:19px;height:19px}.volume-control{gap:0}.camera-heading{padding-top:17px}.camera-heading .eyebrow{font-size:8px;letter-spacing:1px}.camera-tools{gap:4px}.camera-tools button{padding:7px 10px;font-size:9px}.angle-image{min-height:90px;aspect-ratio:4/3;display:block;padding:15px}.angle-number{font-size:45px}.angle-state{display:block;font-size:8px;margin-top:12px}.angles{gap:8px}.angle-caption{display:block;padding:12px}.angle-caption small{display:block;margin-top:5px;font-size:8px}.angle-caption strong{font-size:12px}.session-bottom{grid-template-columns:1fr;gap:20px;padding-top:28px}h2{font-size:27px}.studio-workspace{grid-template-columns:1fr;gap:20px;margin-top:26px}.broadcast-controls .muted{max-width:60ch}.ai-controls{padding:15px}.ai-heading{align-items:flex-start}.ai-option-grid{gap:14px}.ai-heading>span:last-child{font-size:9px}footer{font-size:8px;letter-spacing:.5px}.angle-help{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.1s!important;animation:none!important}}
/* Match unlisted.fm/player-v7.css: system type, lower-case identity, quiet black surface. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#000;color:#fff;--ink:#fff;--muted:#a1a19d;--rule:rgba(255,255,255,.12);--accent:#ff1a1a;-webkit-font-smoothing:antialiased}.site-header{position:relative}.brand{font-family:inherit;font-size:21px;font-weight:650;line-height:24px;letter-spacing:-.035em}.brand .station-symbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:25px;height:19px}.station-mark{display:block;width:21px;height:19px;object-fit:contain}.brand .station-symbol i{position:absolute;right:0;bottom:0;width:3.4px;height:3.4px;margin:0;background:#ff1a1a}.site-header nav{margin-left:auto}.header-state{margin-left:4px}.eyebrow,.header-state,.angle-help,.camera-tools button,footer,.ai-actions button,.control-link,.status,#ai-feedback,.ai-event-details ol{font-family:inherit;text-transform:lowercase;letter-spacing:.01em}.eyebrow{font-size:11px;font-weight:500;color:#8d8d8d}.watch-heading h1{font-size:clamp(28px,4vw,38px);font-weight:450;line-height:1.18;letter-spacing:-.035em}.session-note{font-size:12px;color:#a0a0a0}.picture,.picture video,.picture canvas{background:#070808}.angle-image{background:#101011}.angles>button[aria-pressed=true] .angle-image{background:#19191a}.ai-controls textarea{font-family:inherit}footer{font-size:10px;color:#888880}.site-header nav{font-size:11px;text-transform:lowercase}.site-header nav a[aria-current=page]{border-color:#777}.ai-help{color:#a1a19d}button[aria-pressed=true]{border-color:#ddd}@media(max-width:700px){.brand{font-size:20px}.site-header{gap:12px}.site-header nav{gap:10px;font-size:10px}.header-state{font-size:8px;max-width:60px;text-align:right}.site-header .station-symbol{left:48%}.watch-heading h1{font-size:29px}.eyebrow{font-size:10px}}
body[data-surface=viewer] .header-state{display:none}.site-header nav{margin-left:auto}body[data-surface=viewer] .station-symbol{left:50%}.session-bottom h2{text-transform:lowercase}
.header-state{display:none}@media(max-width:360px){.transport{gap:0}.transport-play{min-width:44px}.live-position{gap:4px}.transport .live-position button{padding:5px}.volume-control input{width:40px}.transport .icon-control{padding:5px}.volume-control button{font-size:10px}.site-header nav{gap:8px}.site-header{gap:8px}}
@media(max-width:400px){.ai-option-grid{grid-template-columns:minmax(0,1fr)}.ai-option-grid>*{min-width:0}.ai-heading{flex-wrap:wrap}.ai-controls{padding:12px}}
/* Session-only viewer: play, picture and numbered angles. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}body[data-surface=viewer] .site-header nav a{font-family:inherit;font-size:21px;font-weight:650;line-height:24px;letter-spacing:-.035em;padding:0;border:0}body[data-surface=viewer] .site-header nav{margin-left:auto}body[data-surface=viewer] .site-header nav a[aria-current=page]{border:0}.join{width:72px;height:72px;min-height:72px;padding:0;justify-content:center;border:1px solid #ffffff35;background:#11111190}.join:hover:not(:disabled){background:#222222c0;border-color:#ffffff70}.join svg{width:26px;height:26px}.join-layer p{font-family:inherit;font-size:11px}.angles .angle-image{border:0}.angle-caption{display:none}.angle-help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.camera-heading{margin-bottom:14px}.player{margin-bottom:38px}body[data-surface=viewer] #cameraState{display:none}body[data-surface=viewer] .picture-bottom{justify-content:flex-end}.notice:empty{display:none}
.picture-bottom,body[data-surface=viewer] .picture-bottom{justify-content:flex-start}#cameraState,#pictureStatus{display:none!important}.video-watermark{position:absolute;top:18px;right:20px;width:27px;height:21px;z-index:3;pointer-events:none;opacity:.8}.video-watermark img{display:block;width:23px;height:21px}.video-watermark i{position:absolute;right:0;bottom:0;width:3.7px;height:3.7px;background:#ff1a1a;border-radius:50%}.picture-bottom button{padding-left:8px;padding-right:8px}@media(max-width:700px){.video-watermark{top:12px;right:12px;width:25px;height:19px}.video-watermark img{width:21px;height:19px}.video-watermark i{width:3.4px;height:3.4px}}
body[data-surface=studio] .studio-workspace{margin-top:0;padding-top:24px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}body[data-surface=studio] .broadcast-controls .player{margin-top:24px}body[data-surface=studio] .site-header nav a[href="/studio/source"]{text-transform:lowercase}@media(max-width:800px){body[data-surface=studio] .studio-workspace{grid-template-columns:minmax(0,1fr)}}
body[data-surface=viewer] .watch-heading h1{font-size:clamp(32px,4vw,46px);font-weight:450;letter-spacing:-.035em;word-spacing:.075em;line-height:1.18}.watch-heading .session-note{word-spacing:.08em;letter-spacing:0;line-height:1.7}.volume-control{display:grid;grid-template-columns:44px 44px minmax(90px,180px) 44px 40px;align-items:center;gap:5px}.transport .volume-control button{width:44px;min-height:44px;justify-content:center;padding:0}.volume-control #volume-down,.volume-control #volume-up{font-size:20px;font-weight:300;color:#b8b8b2}.volume-control #mute svg{width:21px;height:21px}.mute-cross{display:none}#mute[aria-pressed=true] .sound-wave{display:none}#mute[aria-pressed=true] .mute-cross{display:block}.volume-control output{font:10px var(--mono);font-variant-numeric:tabular-nums;color:#a1a19d;text-align:right}.volume-control input{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:44px;margin:0;background:transparent;cursor:pointer;--volume-level:70%}.volume-control input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,#d5d5cd var(--volume-level),#383835 var(--volume-level));border:0}.volume-control input::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border:0;border-radius:50%;background:#e8e8e1}.volume-control input::-moz-range-track{height:2px;background:#383835}.volume-control input::-moz-range-progress{height:2px;background:#d5d5cd}.volume-control input::-moz-range-thumb{width:12px;height:12px;background:#e8e8e1;border:0;border-radius:50%}.volume-control button:hover{color:#fff}.volume-control input:focus-visible{outline-offset:0}.broadcast-controls .transport{display:grid;grid-template-columns:auto 1fr auto;gap:4px}.broadcast-controls .volume-control{grid-column:1/-1;grid-row:2;margin:0;grid-template-columns:44px 44px minmax(0,1fr) 44px 40px}.broadcast-controls #fullscreen{grid-column:3;grid-row:1}@media(max-width:700px){body[data-surface=viewer] .watch-heading h1{font-size:32px;word-spacing:.06em}.transport{display:grid;grid-template-columns:auto 1fr auto;gap:4px;padding:7px 10px}.transport .volume-control{grid-column:1/-1;grid-row:2;margin:0;grid-template-columns:44px 44px minmax(0,1fr) 44px 40px;border-top:1px solid var(--rule);padding-top:5px}.transport #fullscreen{grid-column:3;grid-row:1}.volume-control output{font-size:10px}.transport .live-position{justify-content:flex-start}.volume-control #volume-down,.volume-control #volume-up{font-size:20px}}
.recording-panel{margin-top:26px;padding-top:22px;border-top:1px solid var(--rule)}.recording-panel .ai-actions{margin-top:8px}.recording-panel .status{min-height:20px}.recording-notice{border-left:2px solid #9c5e5e;padding:10px 12px;color:#e4b8b8;font-size:12px;line-height:1.65;background:#201516}.recording-panel select{width:100%;min-height:44px;background:#15171a;border:1px solid #414449;color:var(--ink);padding:10px;font:12px inherit}.recording-panel details{margin:18px 0}.recording-panel .control-link{margin-top:12px}

/* Studio preview uses the same composited pixels sent to viewers. */
#ai-program-output{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}
.picture[data-fit=cover] #ai-program-output{object-fit:cover}
/* Fullscreen picture fills the viewport; interaction reveals floating controls. */
.player:is(:fullscreen,.is-fullscreen){position:fixed;inset:0;z-index:2147483000;width:100vw;height:100vh;height:100dvh;max-width:none;margin:0!important;padding:0;background:#070808;display:grid;grid-template-rows:1fr auto auto auto;gap:8px;overflow:hidden;isolation:isolate;--fullscreen-gutter:clamp(12px,3vw,40px)}
.player:is(:fullscreen,.is-fullscreen) .picture{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border:0;z-index:0}
.player:is(:fullscreen,.is-fullscreen)::after{content:"";position:absolute;inset:auto 0 0;height:min(70vh,340px);background:linear-gradient(transparent,rgba(0,0,0,.7) 45%,rgba(0,0,0,.92));z-index:3;pointer-events:none;transition:opacity 180ms ease}
.player:is(:fullscreen,.is-fullscreen) :is(.transport,.camera-heading,.angles){position:relative;z-index:5;margin:0 var(--fullscreen-gutter);transition:opacity 180ms ease;opacity:1}
.player:is(:fullscreen,.is-fullscreen) .transport{grid-row:2;display:flex;gap:12px;border:0;padding:4px 0;min-height:52px}
.player:is(:fullscreen,.is-fullscreen) .transport .volume-control{display:grid;grid-template-columns:44px 44px minmax(60px,150px) 44px 40px;margin-left:auto;border:0;padding:0}
.player:is(:fullscreen,.is-fullscreen) .camera-heading{grid-row:3;padding:0}
.player:is(:fullscreen,.is-fullscreen) .camera-heading .eyebrow{margin:0}
.player:is(:fullscreen,.is-fullscreen) .angles{grid-row:4;gap:8px;margin-bottom:max(12px,env(safe-area-inset-bottom))}
.player:is(:fullscreen,.is-fullscreen) .angles .angle-image{height:52px;min-height:52px;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;background:#151515b3}
.player:is(:fullscreen,.is-fullscreen) .angles .angle-number{font-size:24px}
.player:is(:fullscreen,.is-fullscreen) .angles .angle-state{margin:0}
.player:is(:fullscreen,.is-fullscreen) :is(.picture-top,.picture-bottom,.video-watermark){transition:opacity 180ms ease}
.player:is(:fullscreen,.is-fullscreen) .picture-bottom{top:52px;bottom:auto}
.player:is(:fullscreen,.is-fullscreen).fullscreen-idle{cursor:none}
.player:is(:fullscreen,.is-fullscreen).fullscreen-idle::after,.player:is(:fullscreen,.is-fullscreen).fullscreen-idle :is(.transport,.camera-heading,.angles,.picture-top,.picture-bottom,.video-watermark){opacity:0;pointer-events:none}
.player:is(:fullscreen,.is-fullscreen).fullscreen-idle *{cursor:none}
@media(max-width:700px){.player:is(:fullscreen,.is-fullscreen) .transport{display:grid;grid-template-columns:auto 1fr auto;gap:0}.player:is(:fullscreen,.is-fullscreen) .transport .volume-control{grid-column:1/-1;grid-row:2;margin:0;grid-template-columns:44px 44px minmax(0,1fr) 44px 40px}.player:is(:fullscreen,.is-fullscreen) .angles .angle-image{height:44px;min-height:44px}.player:is(:fullscreen,.is-fullscreen) .camera-heading .eyebrow{font-size:9px}}
#camera-moving-hold{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;pointer-events:none;background:transparent}
.picture[data-fit=cover] #camera-moving-hold{object-fit:cover}

/* Owner 2026-11-04: proper landscape fullscreen on phones.
   iPhone Safari has no element fullscreen, so the CSS layer is used; when the
   phone is held upright it is rotated 90deg so the picture fills the screen in
   landscape. Android also locks orientation to landscape (app.mjs). */
@media (orientation:portrait) and (max-width:820px){
  .player.is-fullscreen{inset:auto;top:0;left:100vw;left:100dvw;width:100vh;width:100dvh;height:100vw;height:100dvw;transform-origin:0 0;transform:rotate(90deg)}
}
/* Short landscape screens: compact controls so the picture dominates. */
@media (orientation:landscape) and (max-height:500px), (orientation:portrait) and (max-width:820px){
  .player:is(:fullscreen,.is-fullscreen) .camera-heading{display:none}
  .player:is(:fullscreen,.is-fullscreen) .transport{min-height:44px;padding:0}
  .player:is(:fullscreen,.is-fullscreen) .angles .angle-image{height:40px;min-height:40px;padding:4px}
  .player:is(:fullscreen,.is-fullscreen) .angles .angle-number{font-size:18px}
  .player:is(:fullscreen,.is-fullscreen)::after{height:min(45vh,180px)}
}

/* Owner 2026-11-04: align the newer AI / studio pieces with the panel design. These
   six elements rendered at browser-default 16-19px. Primary AI actions stay in reach. */
#ai-controls #ai-people-protection{font-size:11px;line-height:1.55;color:var(--muted);margin:10px 0 14px}
#ai-controls :is(#ai-build-guidance,#ai-network-check){font:10px var(--mono);text-transform:lowercase;letter-spacing:.01em;padding:10px 12px;margin:6px 0;background:transparent;color:var(--ink);border:1px solid #414449;cursor:pointer}
#ai-controls :is(#ai-build-guidance,#ai-network-check):hover{border-color:var(--ink)}
#ai-controls label:has(#ai-people-count){display:flex;align-items:center;gap:10px}
#ai-controls #ai-people-count{width:120px;background:#111315;color:var(--ink);border:1px solid #414449;padding:8px 10px;font:12px var(--mono)}
#ai-controls label:has(#ai-reference){display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#ai-controls #ai-reference{font:11px var(--mono);color:var(--muted)}
#ai-controls #ai-reference::file-selector-button{font:10px var(--mono);text-transform:lowercase;padding:9px 12px;margin-right:10px;background:transparent;color:var(--ink);border:1px solid #414449;cursor:pointer}
#ai-usage-meter h3{font-size:12px;font-weight:600;margin:14px 0 8px}
#ai-usage-meter p{font:11px/1.55 var(--mono);color:var(--muted);margin:4px 0}
#ai-controls > .ai-actions{position:sticky;bottom:0;z-index:4;background:#000;margin:16px -12px 0;padding:12px;border-top:1px solid var(--rule)}
#ai-controls > .ai-actions button{font-size:12px;padding:13px 16px;min-height:44px;flex:1 1 0}
#ai-controls > .ai-actions #ai-start{border-color:var(--accent)}
:is(.broadcast-controls,.camera-source-controls,.recording-panel) button{color:var(--ink);border-color:#414449;min-height:40px}
:is(.broadcast-controls,.camera-source-controls,.recording-panel) button:disabled{opacity:.45}
.recording-panel label:has(#record-resolution){font-size:11px;color:var(--muted)}
#record-resolution{font:12px var(--mono);padding:9px 10px;background:#111315;color:var(--ink);border:1px solid #414449}

/* Owner 2026-11-04: combined control — On-air strip (studio-on-air.mjs). */
.on-air{grid-column:1/-1;border:1px solid var(--rule);padding:12px 14px;margin-bottom:16px;display:grid;gap:8px}
.on-air .eyebrow{margin:0}
.on-air-buttons{display:flex;gap:8px;flex-wrap:wrap}
.on-air-buttons button{flex:1 1 160px;min-height:48px;font:12px var(--mono);text-transform:lowercase;letter-spacing:.01em;background:transparent;color:var(--ink);border:1px solid #414449;cursor:pointer}
.on-air-buttons button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.on-air-buttons button:disabled{opacity:.45;cursor:not-allowed}
.on-air .detail-note{margin:0}
