:root{--bg: #0a0c10;--panel: #11151c;--line: #1e2530;--text: #e8edf4;--muted: #8b97a8;--accent: #25d0a4;--alert: #ff5470}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{display:flex;flex-direction:column;height:100vh}.bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:3px}.brand .eye{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--accent) 0 4px,transparent 5px),radial-gradient(circle at 50% 50%,var(--text) 0 7px,transparent 8px);box-shadow:0 0 12px var(--accent)}.brand .tag{font-weight:400;letter-spacing:0;color:var(--muted);font-size:12px}.status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;letter-spacing:1px}.dot{width:9px;height:9px;border-radius:50%}.dot.on{background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 1.4s infinite}.dot.off{background:var(--muted)}.feed{margin-left:10px;opacity:.7}.feed.live{color:var(--accent)}.feed.offline{color:var(--alert)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.promptbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.prompt-input{flex:1;min-width:240px;background:#0c0f14;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px}.prompt-input:focus{outline:none;border-color:var(--accent)}.prompt-apply{background:var(--accent);color:#04130f;border:0;border-radius:8px;padding:9px 16px;font-weight:700;cursor:pointer;font-size:13px}.prompt-apply:hover{filter:brightness(1.1)}.presets{display:flex;gap:6px;flex-wrap:wrap}.chip{background:#0c0f14;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer}.chip:hover{color:var(--text);border-color:var(--accent)}.grid{flex:1;display:grid;grid-template-columns:1fr 340px;gap:14px;padding:14px;min-height:0}.stage{position:relative;background:#000;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.stage video{width:100%;height:100%;object-fit:contain;background:#000}.caption{position:absolute;left:0;right:0;bottom:0;padding:18px 22px;font-size:18px;font-weight:500;line-height:1.4;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.caption.show{opacity:1;transform:none}.overlay-msg{position:absolute;color:var(--muted);font-size:14px;letter-spacing:1px}.log{background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;min-height:0}.log h2{font-size:12px;letter-spacing:2px;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--line);text-transform:uppercase}.log ul{list-style:none;overflow-y:auto;padding:8px}.log li{display:flex;gap:10px;padding:9px 8px;border-bottom:1px solid var(--line);animation:in .25s ease}.log li .t{color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px;flex:0 0 auto}.log li .x{color:var(--text)}.log li.empty{color:var(--muted);justify-content:center}@keyframes in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}@media (max-width: 820px){.grid{grid-template-columns:1fr}}
