.yfpa-wtv{max-width:1200px;margin:auto;padding:20px 16px 60px;background:#050607;color:#f4f4f4}
.eyebrow{color:#e0b33f;font-size:11px;font-weight:800;letter-spacing:.18em}
.hero,.top{border:1px solid #3a3017;border-radius:24px;background:radial-gradient(circle at 80% 15%,#352709,#0a0b0c 58%);padding:38px}
.hero{text-align:center}
.hero h1,.top h1{font-size:clamp(34px,5vw,62px);margin:8px 0}
.top{display:flex;justify-content:space-between;gap:20px;align-items:center}
.top h1 span{color:#e0b33f}
.top p,.hero p{color:#aaa;line-height:1.6}
.badge{border:1px solid #6c541d;border-radius:999px;padding:11px 16px;font-weight:800;font-size:11px}
.badge i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#777;margin-right:7px}
.badge.live i{background:#e33}
nav{display:flex;gap:8px;margin:14px 0;overflow:auto}
nav a{color:#aaa;text-decoration:none;padding:12px 18px;border:1px solid #24282a;border-radius:10px;white-space:nowrap}
nav a.active{color:#fff;border-color:#67531e;background:#16150f}

.source-bar{border:1px solid #283038;border-radius:20px;background:#0b1014;padding:20px 22px;margin:14px 0;display:flex;justify-content:space-between;align-items:center;gap:18px}
.source-bar h2{margin:7px 0 0;font-size:22px}
.source-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.source-btn{padding:11px 14px;border-radius:10px;background:#10171d;color:#aaa;border:1px solid #30363a;font-weight:800;cursor:pointer}
.source-btn.active{color:#111;background:#f2c94c;border-color:#f2c94c}

.stage{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.screen{min-height:420px;border:1px solid #283038;border-radius:22px;background:#010203;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;position:relative}
.mark{width:88px;height:88px;border:2px solid #d8ad35;border-radius:50%;display:grid;place-items:center;color:#d8ad35;font-weight:900;font-size:30px}
.screen-title{font-size:28px;margin-top:16px}
.screen p{color:#777}
.source-label{margin-top:12px;border:1px solid #4b3b16;border-radius:999px;padding:8px 12px;color:#d9ad42;font-size:10px;font-weight:900;letter-spacing:.12em}
.live-video{width:100%;height:100%;min-height:420px;object-fit:cover}
aside{border:1px solid #283038;border-radius:22px;background:#10171d;padding:26px}
aside h2{font-size:28px}
aside p{color:#9ca5ac;line-height:1.6}
aside hr{border:0;border-top:1px solid #283038;margin:22px 0}
.mode-card{display:flex;justify-content:space-between;gap:10px;border:1px solid #283038;border-radius:10px;padding:11px 12px;margin-top:9px;font-size:11px}
.mode-card span{color:#8f969c}.mode-card strong{color:#d9ad42}
.gold,.watch{display:block;margin-top:18px;padding:14px 18px;border-radius:10px;font-weight:900;cursor:pointer;text-decoration:none}
.gold{background:#f2c94c;color:#080808;border:0}
.watch{background:#121c24;color:#fff;border:1px solid #6c541d;width:100%}

.studio-panel{border:1px solid #51421a;border-radius:22px;background:linear-gradient(135deg,#1b1609,#0d1114);padding:24px;margin:16px 0;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.studio-panel h2{margin:7px 0;font-size:28px}
.studio-panel p{color:#aaa;line-height:1.5}
.studio-result{grid-column:1/-1;border-top:1px solid #3b3218;padding-top:15px;color:#d9ad42}
.studio-result small{display:block;color:#aaa;margin-top:7px;word-break:break-all}

.section{margin-top:28px}
.section h2{font-size:30px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cards article,.empty{border:1px solid #24282a;border-radius:18px;background:#0e1012;padding:22px}
.empty{color:#8f969c;text-align:center;padding:34px}

@media(max-width:760px){
 .yfpa-wtv{padding:10px}
 .top{padding:25px 20px;display:block}
 .badge{display:inline-block;margin-top:14px}
 .source-bar{display:block}
 .source-buttons{justify-content:flex-start;margin-top:15px}
 .stage,.cards{grid-template-columns:1fr}
 .screen,.live-video{min-height:310px}
 .studio-panel{grid-template-columns:1fr}
 .hero{padding:42px 20px}
}

/* v1.3.1 admin/public separation */
.admin-control{border-color:#66531c;background:linear-gradient(135deg,#171308,#0b1014)}
.admin-control p{margin:6px 0 0;color:#8f969c;font-size:13px}
.studio-panel{box-shadow:0 10px 35px rgba(0,0,0,.18)}

/* v1.4.0 recording/archive controls */
.recording-panel{border:1px solid #51421a;border-radius:22px;background:linear-gradient(135deg,#171308,#0d1114);padding:24px;margin:16px 0;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.recording-panel h2{margin:7px 0;font-size:28px}
.recording-panel p{color:#aaa;line-height:1.5}
.record-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.recording-panel .studio-result{grid-column:1/-1}
@media(max-width:760px){.recording-panel{grid-template-columns:1fr}.record-actions{justify-content:flex-start}}

.diagnostic{margin-top:12px;border:1px solid #283038;border-radius:10px;padding:10px 12px;color:#929aa1;font-size:12px;line-height:1.45}.diagnostic.ok{border-color:#3c4a22;color:#c4cfad}.diagnostic.error{border-color:#713b2e;color:#ffb6a5}

.switch-camera{border-color:#6c541d}.switch-camera:disabled{opacity:.45;cursor:not-allowed}

.studio-control{margin-top:24px}.studio-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.studio-details{display:grid;gap:12px;margin-top:16px}.studio-details>div{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(212,175,55,.25);border-radius:14px;background:#0b0f13}.studio-details span{color:#b7b7b7;font-size:12px;letter-spacing:.12em}.studio-details code{color:#f2d36b;word-break:break-all;text-align:right}.studio-note{font-size:13px;color:#aaa;margin-top:14px}.source-buttons{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:640px){.studio-details>div{display:block}.studio-details code{display:block;text-align:left;margin-top:7px}.studio-actions button{width:100%}}

/* v1.4.10 source-specific controls */
[hidden]{display:none !important}
#remote-controls,#studio-live-controls{margin-top:6px}

.yfpa-programme-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.yfpa-programme-card h3{margin:8px 0 10px;font-size:1.45rem;}
.yfpa-programme-card p{line-height:1.55;}
.programme-meta{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem;}
.programme-meta strong{color:#f7cf4a;letter-spacing:.08em;}
.yfpa-news-grid{display:grid;gap:18px}.yfpa-news-card{border:1px solid rgba(212,175,55,.16);border-radius:22px;padding:24px;background:#0d0f12}.yfpa-news-card h3{margin:8px 0 12px}.yfpa-news-card p{white-space:normal}.news-meta{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px;margin-top:18px;font-size:.88rem}.news-meta strong{color:#d4af37;font-weight:500}@media(max-width:700px){.news-meta{flex-direction:column}}

.recording-control{margin-top:28px}.recording-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.recording-actions button{min-width:190px}.recording-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.recording-details>div{background:#0d141a;border:1px solid rgba(212,175,55,.18);border-radius:14px;padding:14px}.recording-details span{display:block;font-size:.72rem;letter-spacing:.14em;color:#c9a227;margin-bottom:7px}.recording-details code{word-break:break-word;color:#eee}.recording-note{opacity:.72}@media(max-width:700px){.recording-details{grid-template-columns:1fr}.recording-actions button{width:100%}}

/* v1.9.4 simplified viewer experience */
.yfpa-wtv{background:#050607;color:#f4f4f4;border-radius:18px}
.yfpa-wtv .hero{padding:28px 22px 12px;border:0;background:transparent;text-align:left}
.yfpa-wtv .hero h1{font-size:clamp(32px,5vw,52px);color:#f4ce58}
.yfpa-wtv .viewer-intro,.yfpa-wtv .viewer-now-next{color:#aeb0b3;line-height:1.6}
.yfpa-wtv .viewer-nav{gap:10px;margin:10px 0 18px}
.yfpa-wtv .viewer-nav a{border-radius:999px;padding:10px 16px}
.yfpa-wtv .viewer-nav a:first-child{background:#f2c94c;color:#111;border-color:#f2c94c}
.yfpa-wtv .stage{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:stretch}
.yfpa-wtv .stage aside{display:flex;flex-direction:column;justify-content:center}
.yfpa-wtv .viewer-watch{width:100%;text-align:center;margin-top:22px}
.yfpa-wtv #recorded-programmes{scroll-margin-top:20px}
.yfpa-wtv .yfpa-programme-card h3,.yfpa-wtv .yfpa-news-card h3{color:#f4ce58}
.yfpa-wtv .programme-meta,.yfpa-wtv .news-meta{display:flex;gap:12px;flex-wrap:wrap;color:#aeb0b3}
.yfpa-wtv .recording-note{color:#aeb0b3;font-size:13px}
@media(max-width:760px){.yfpa-wtv .hero{padding:24px 8px 8px}.yfpa-wtv .stage{grid-template-columns:1fr}.yfpa-wtv .screen,.yfpa-wtv .live-video{min-height:260px}.yfpa-wtv .viewer-nav{display:flex;flex-wrap:wrap}.yfpa-wtv .viewer-nav a{flex:1;text-align:center}}

/* v1.9.5: branded, simpler public Ward TV viewing experience */
.yfpa-wtv-brand-logo{display:block;width:clamp(100px,18vw,155px);height:auto;max-height:125px;object-fit:contain;margin:0 0 18px;border-radius:12px;background:#050607}
.yfpa-wtv.viewer-view .top{align-items:center;gap:18px}
.yfpa-wtv.viewer-view .top>div:first-child{min-width:0}
.yfpa-wtv.viewer-view .viewer-nav{position:sticky;top:0;z-index:5;background:#050607;padding:8px 0}
.yfpa-wtv.viewer-view .stage{display:block}
.yfpa-wtv.viewer-view .stage aside{margin-top:12px;padding:16px 18px}
.yfpa-wtv.viewer-view .stage aside .eyebrow,.yfpa-wtv.viewer-view .stage aside h2,.yfpa-wtv.viewer-view .stage aside p,.yfpa-wtv.viewer-view .stage aside strong{display:none}
.yfpa-wtv.viewer-view .stage .screen{min-height:clamp(240px,55vw,520px)}
.yfpa-wtv.viewer-view .stage .live-video{min-height:clamp(240px,55vw,520px)}
.yfpa-wtv.viewer-view #watch{width:100%;margin-top:0}
.yfpa-wtv.viewer-view #livekit-diagnostic{font-size:12px;margin-top:8px}
.yfpa-wtv.viewer-view #news{display:none}
.yfpa-wtv.viewer-view .viewer-nav a{flex:1;text-align:center}
@media(max-width:600px){.yfpa-wtv.viewer-view .top{padding:22px 18px}.yfpa-wtv-brand-logo{width:108px;margin-bottom:12px}.yfpa-wtv.viewer-view .viewer-nav a{padding:10px 12px;font-size:13px}}
