:root{color-scheme:dark;--navy:#09172e;--panel:#11243f;--blue:#2878e9;--red:#ea344b;--muted:#a5b8d2;--border:#2a405e}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:#f6f8fd;font-family:Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button,.button{border:0;border-radius:8px;background:var(--blue);color:white;padding:12px 18px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(1.15)}button:disabled{opacity:.4;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}.secondary{background:#1b3454;border:1px solid #395371}.danger{background:#813142}input,select{display:block;width:100%;background:#081a31;color:white;border:1px solid #3b5272;border-radius:7px;padding:11px;margin-top:7px}label{display:block;font-size:14px;margin:14px 0}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}.kicker{letter-spacing:2px;font-size:11px;color:var(--muted)}h1{font-size:32px;margin:10px 0}h2{font-size:21px}p{line-height:1.5}.muted,small{color:var(--muted)}.admin-header{padding:25px 4vw;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:20px}h1 small{font-size:16px;margin-left:16px;font-weight:400}.admin-main{max-width:1450px;margin:auto;padding:26px 4vw}.live-status,.editor,.settings,.errors{background:var(--panel);border:1px solid var(--border);padding:24px;border-radius:14px}.live-status{display:flex;gap:20px;justify-content:space-between;align-items:center}.live-status h2{margin:10px 0}.live-status p{color:var(--muted);font-size:13px;margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actions select{flex:1;min-width:130px}.admin-columns{display:grid;grid-template-columns:1fr 1.1fr;gap:26px;margin:25px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.scene-card{padding:18px;margin:12px 0;border:1px solid var(--border);border-radius:10px;background:#102039}.scene-card.selected{border-color:#5c9bf4;box-shadow:0 0 0 1px #5c9bf4}.scene-card h3{margin:0 0 8px}.scene-card p{margin:0 0 12px;color:var(--muted);font-size:12px}.scene-card .show{background:var(--red)}.scene-card button{padding:8px 11px;font-size:12px}.item{padding:14px 0;border-bottom:1px solid var(--border)}.item-heading{display:flex;gap:12px;align-items:center}.item-heading img,.item-heading video{width:86px;height:55px;object-fit:contain;background:#030a15;border-radius:5px}.item-heading strong{font-size:13px;overflow-wrap:anywhere}.item small{display:block;margin-top:6px}.item .actions{margin-top:12px}.item input[type=number]{width:95px;display:inline-block;margin:0 8px}.item button{font-size:12px;padding:8px 10px}.item input[type=file]{font-size:11px}.portrait{color:#ffd284}.upload-area{padding:14px 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.settings,.errors{margin-top:25px}#notice{position:sticky;top:0;z-index:5;background:#163556;border-radius:6px;margin:15px 0;padding:0 14px;line-height:2.5}footer{margin-top:24px;padding:20px 0;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:15px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(at top right,#244572,var(--navy) 65%)}.login-card{width:min(440px,92vw);padding:36px;border:1px solid var(--border);border-radius:16px;background:#102039}.login-card p{color:var(--muted)}.login-card button{width:100%;margin:10px 0}.login-card #error{color:#ff9cad}.tv-page{width:100vw;height:100vh;overflow:hidden;background:#020711;display:grid;place-items:center}.tv-frame{width:min(100vw,177.7778vh);height:min(100vh,56.25vw);padding:3%;background:linear-gradient(120deg,#0b1f3f,#071328);position:relative;display:grid;grid-template-rows:7% minmax(0,1fr) 8%;gap:1.7%;container-type:size}.tv-header{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:0}.tv-brand{display:flex;align-items:center;gap:2cqw;font-size:1.5cqw;font-weight:500}.tv-brand b{color:var(--red)}#logo{height:4.4cqw;max-width:14cqw;object-fit:contain}#logo-placeholder{font-style:italic;font-weight:900;font-size:2.5cqw;line-height:.9;border-left:.35cqw solid var(--red);padding-left:1cqw}#logo-placeholder small{display:block;font-size:.5cqw;letter-spacing:.1cqw;font-style:normal;margin-top:.5cqw}#clock{font-size:1.5cqw;font-variant-numeric:tabular-nums;color:#d9e6f8}.stage{position:relative;min-height:0;background:#020813;border:1px solid #263f60;border-radius:.7cqw;overflow:hidden;display:grid;place-items:center}#media{width:100%;height:100%;position:absolute;inset:0;display:grid;place-items:center}#media img,#media video{width:100%;height:100%;object-fit:contain;min-height:0;position:absolute;inset:0;animation:enter .18s ease-out}@keyframes enter{from{opacity:.5}to{opacity:1}}.tv-footer{margin:0;padding:0;font-size:1.25cqw;color:#bdcde3;display:flex;align-items:center;justify-content:space-between;gap:2cqw}.tv-footer strong{border-left:.3cqw solid var(--red);padding-left:1cqw;color:white;font-size:1.4cqw;max-width:28%;}.tv-footer #company-message{flex:1;text-align:center;line-height:1.3;overflow-wrap:anywhere}#tv-connection{font-size:.75cqw;max-width:12%;color:#86cdb2}.start-overlay{position:absolute;inset:0;background:#0b1d37e8;display:grid;place-items:center;text-align:center;padding:25px;z-index:4}.start-overlay[hidden]{display:none}.start-overlay h1{font-size:2.7cqw}.start-overlay p{font-size:1.3cqw;color:#b4c9e3}.start-overlay button{font-size:1.2cqw}.stage-message{color:#acbfd9;font-size:2cqw}.show-controls{position:absolute;bottom:1%;right:1%;opacity:.2;padding:4px 8px;font-size:15px;background:transparent}.show-controls:hover,.show-controls:focus{opacity:1}.tv-controls{position:absolute;z-index:5;bottom:12%;left:5%;right:5%;background:#132743f5;border:1px solid #617b9f;padding:14px;border-radius:10px;display:flex;gap:10px;flex-wrap:wrap}.tv-controls[hidden]{display:none}.tv-controls button,.tv-controls a{font-size:13px}.tv-controls a{color:white;padding:10px}#tv-error{position:absolute;bottom:13%;left:10%;right:10%;background:#632332;padding:15px;border-radius:8px;text-align:center;z-index:6}#tv-error[hidden]{display:none}@media(max-width:850px){.admin-columns,.settings-grid{grid-template-columns:1fr}.admin-header,.live-status{align-items:flex-start;flex-direction:column}.admin-header h1{font-size:26px}.admin-header h1 small{display:block;margin:5px 0}.admin-main{padding:15px}.tv-controls{bottom:15%;padding:5px}.tv-controls button{font-size:10px;padding:7px}}
