.live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:1.25rem 0}
.cam{margin:0;position:relative;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.cam video,.cam img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.cam figcaption{display:flex;justify-content:space-between;padding:.55rem .8rem;font-size:.9rem;letter-spacing:.04em;background:rgba(0,0,0,.75);color:#eee}
.cam-state{color:#e44;font-weight:600}.cam.offline .cam-state{color:#bbb}
.live-note{font-size:.85rem;opacity:.75}
.onair-banner{display:flex;align-items:center;gap:.6rem;justify-content:center;padding:.7rem 1rem;background:#1a1a1a;color:#fff;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.onair-banner strong{color:#ff5a4e}
.is-quiet .live-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px;opacity:.75;filter:saturate(.6)}
.is-quiet .cam figcaption{font-size:.72rem}
.reel{margin:1.5rem 0}.reel video{width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;object-fit:cover}
.reel-title{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin:.4rem 0 0}
.live-board{border-top:1px solid #eee;padding-top:1.5rem}.wip-title{font-weight:400;font-style:italic;margin:.2rem 0}
.live-hours{font-size:.85rem;letter-spacing:.06em;opacity:.8}
.wip-strip{display:flex;gap:.75rem;overflow-x:auto;padding:.5rem 0 1rem;scroll-snap-type:x mandatory}
.wip-strip figure{flex:0 0 200px;margin:0;scroll-snap-align:start}.wip-strip img{width:200px;height:260px;object-fit:cover;display:block;border-radius:4px}
.wip-strip figcaption{font-size:.75rem;opacity:.7;padding-top:.3rem}
.live-req textarea{width:100%;font:inherit;padding:.6rem;border:1px solid #ccc;box-sizing:border-box}
/* admin */
.adm-wrap{max-width:560px;margin:0 auto;padding:1rem}.adm-card{border:1px solid #eee;padding:1.2rem;margin:0 0 1rem;background:#fff}
.adm-card .su-field{display:block;margin:0 0 .8rem}.adm-card input[type=text],.adm-card input:not([type]),.adm-card input[type=password]{width:100%;box-sizing:border-box}
.adm-msg{background:#1a1a1a;color:#fff;padding:.7rem 1rem}.adm-hint{font-size:.85rem;opacity:.75}
.adm-air{text-align:center}.air-btn{width:100%;padding:2.2rem 1rem;font-size:2rem;letter-spacing:.2em;border:3px solid #999;background:#f4f4f4;color:#555;border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem}
.air-btn .air-dot{width:.6em;height:.6em;border-radius:50%;background:#999}.air-btn.on{background:#c0392b;border-color:#8e2318;color:#fff}.air-btn.on .air-dot{background:#fff;animation:lbpulse 1.4s infinite}
.adm-strip figure{flex-basis:120px}.adm-strip img{width:120px;height:150px}.adm-strip button{font-size:.7rem;margin-top:.2rem}
.req{border-top:1px solid #eee;padding:.6rem 0}.req-meta{font-size:.75rem;opacity:.7;margin:0}.req p{margin:.2rem 0}
/* studio cam look: real frame as poster, text overlay when offline */
.cam.offline::after{content:"Offline: back soon";position:absolute;left:0;right:0;top:0;bottom:2.4rem;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;font-family:Georgia,serif;font-size:1.3rem;letter-spacing:.04em;pointer-events:none}
.is-quiet{position:relative;isolation:isolate}
.is-quiet::before{content:"";position:absolute;inset:-2rem -100vw 0;z-index:-1;background:linear-gradient(rgba(250,249,247,.9),rgba(250,249,247,.94)),url(/images/studio/studio_02.jpg) center/cover no-repeat}
.is-quiet .cam.offline::after{font-size:.8rem}
