:root{font-family:"Avenir Next",Avenir,system-ui,sans-serif;color:#25364a;background:#edf2f7;font-size:16px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:28px;padding:20px 5vw;background:#25364a;color:white}header strong{font-size:23px}header span{font-size:16px}small{font-size:12px;margin-left:12px;background:#42566c;padding:4px 8px;border-radius:4px}main{max-width:960px;margin:48px auto;padding:0 24px}h1{font-size:36px;line-height:1.2;margin:14px 0 12px;font-weight:650}h2{font-size:19px}p{max-width:65ch;line-height:1.6}button,select{font:inherit;padding:12px 16px;border:1px solid #a5b3c2;border-radius:6px;background:white;color:#25364a}button{cursor:pointer;font-weight:600}button:hover:not(:disabled){background:#e1ebf7}button.primary{background:#285fa4;color:white;border-color:#285fa4}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid #285fa4;outline-offset:3px}.stage{display:inline-block;padding:9px 16px;border-radius:5px;background:#d6e1ed;font-weight:700;font-size:19px}.stage.live{background:#ae2638;color:white}.strip{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:center;background:white;padding:24px;border-radius:9px;margin:28px 0}.strip button{grid-column:2;justify-self:start}label{font-weight:600}.meterline{display:flex;align-items:center;gap:20px}meter{width:min(380px,60vw);height:24px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.return{margin-top:40px;border-top:1px solid #b8c5d3;padding-top:14px}#returnState{margin-left:15px}#error{color:#ae2638;font-weight:600;white-space:pre-wrap}#error:empty{display:none}#obsStatus{padding:14px;background:white;border-radius:6px;margin:24px 0}.seat{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid #b8c5d3}.seat strong{font-size:20px}.seat .buttons{display:flex;gap:8px;flex-wrap:wrap}.seat a{color:#285fa4}.seat meter{width:100%;max-width:160px}.note,footer{color:#617184;font-size:14px}footer{margin-top:56px;padding-bottom:24px}[hidden]{display:none!important}:root:has(body.receiver),body.receiver{background:transparent}body.receiver header,body.receiver main{display:none}@media(max-width:650px){main{margin-top:28px}h1{font-size:30px}.strip{grid-template-columns:1fr;padding:18px}.strip button{grid-column:1}.seat{grid-template-columns:1fr}.seat .buttons{grid-column:1}header{gap:16px}small{display:none}.actions button{flex:1 1 auto}}

#programmeVideo { width: 100%; max-height: 60vh; background: #080b11; border-radius: 10px; margin: 12px 0; }
#programmeListen { width: auto; margin-right: 6px; }
