:root{--bg:#0a0e13;--bg-2:#0f151c;--panel:#ffffff09;--panel-border:#ffffff14;--text:#e6edf3;--muted:#8b98a5;--accent:#34d399;--accent-2:#22d3ee;--live:#ef4444;--warn:#f59e0b;--radius:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%, #34d39914, transparent 60%), radial-gradient(900px 500px at 110% 10%, #22d3ee12, transparent 60%), var(--bg);-webkit-font-smoothing:antialiased}.muted{color:var(--muted)}.mono{font-family:JetBrains Mono,Cascadia Code,ui-monospace,monospace}.btn{border:1px solid var(--panel-border);color:var(--text);font:inherit;cursor:pointer;background:#ffffff0f;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .9rem;font-weight:500;transition:background .15s,border-color .15s,transform .1s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:#ffffff1a}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#04120c;border:none;font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.08);background:linear-gradient(135deg, var(--accent), var(--accent-2))}.btn-ghost{background:0 0;border-color:#0000;padding:.5rem}.btn-ghost.active{color:var(--accent);background:#34d3991f}.btn-live{background:var(--live);color:#fff;border-color:#0000;padding:.4rem .75rem}.btn-live:hover:not(:disabled){background:#dc2626}input{border:1px solid var(--panel-border);width:100%;color:var(--text);font:inherit;background:#00000059;border-radius:10px;outline:none;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #34d39933}kbd{border:1px solid var(--panel-border);background:var(--panel);min-width:1.5em;color:var(--text);text-align:center;border-bottom-width:2px;border-radius:6px;margin:0 .25em 0 .9em;padding:.1em .4em;font:600 .75rem/1.4 inherit;display:inline-block}kbd:first-child{margin-left:0}.spinner{border:3px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;border-top-color:#04120c;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.splash{place-items:center;height:100%;display:grid}.brand{letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:inline-flex}.brand svg{color:var(--accent)}.brand-lg{font-size:1.6rem}.brand-lg svg{width:30px;height:30px}.brand-accent{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 20px 60px #00000073}.login{place-items:center;min-height:100%;padding:1.5rem;display:grid}.login-card{flex-direction:column;gap:1rem;width:min(380px,100%);padding:2rem;display:flex}.login-card p{margin:-.25rem 0 .5rem}.login-card label{color:var(--muted);flex-direction:column;gap:.4rem;font-size:.85rem;display:flex}.login-card .btn-primary{margin-top:.5rem;padding:.75rem}.form-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444459;border-radius:10px;padding:.6rem .8rem;font-size:.875rem}.app{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--panel-border);background:#0a0e13b3;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.topbar-right{align-items:center;gap:.5rem;margin-left:auto;display:flex}.user{font-size:.9rem}.content{flex-direction:column;gap:1rem;width:min(1280px,100%);margin:0 auto;padding:1.5rem;display:flex}.pill{letter-spacing:.02em;border:1px solid var(--panel-border);background:var(--panel);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.pill .dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.pill-sub{color:var(--muted);font-weight:500}.pill-live{color:#fecaca;background:#ef44441a;border-color:#ef444466}.pill-live .dot{background:var(--live);animation:1.6s ease-out infinite pulse}.pill-connecting .dot{background:var(--warn);animation:1s steps(2,end) infinite blink}.pill-offline{color:var(--muted)}@keyframes pulse{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes blink{50%{opacity:.3}}.stage{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--panel-border);background:#000;position:relative;overflow:hidden;box-shadow:0 30px 80px #0000008c,0 0 0 1px #34d3990a}.stage:fullscreen{aspect-ratio:auto;border:none;border-radius:0}.video{object-fit:contain;background:#000;width:100%;height:100%;transition:filter .3s;display:block}.vignette{pointer-events:none;background:radial-gradient(#0000 60%,#00000073 100%),repeating-linear-gradient(0deg,#ffffff04 0 1px,#0000 1px 3px);position:absolute;inset:0}.stage.flash:after{content:"";opacity:.6;pointer-events:none;background:#fff;animation:.25s ease-out forwards flash;position:absolute;inset:0}@keyframes flash{to{opacity:0}}.osd{pointer-events:none;text-shadow:0 1px 3px #000c;align-items:center;gap:.5rem;display:flex;position:absolute}.osd-top-left{top:14px;left:16px}.osd-bottom-left{letter-spacing:.04em;color:#ffffffd9;font-size:.8rem;bottom:64px;left:16px}.rec{color:#fff;letter-spacing:.08em;background:#ef4444e6;border-radius:6px;align-items:center;gap:.4rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.rec .dot{background:#fff;border-radius:50%;width:7px;height:7px;animation:1.2s steps(2,end) infinite blink}.tag{letter-spacing:.08em;color:#04120c;background:#34d399d9;border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.controls{opacity:0;background:linear-gradient(#0000,#000000bf);align-items:center;gap:.25rem;padding:.6rem .75rem;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(6px)}.stage:hover .controls,.stage:focus-within .controls{opacity:1;transform:none}@media (hover:none){.controls{opacity:1;transform:none}}.spacer{flex:1}.overlay{text-align:center;background:radial-gradient(circle,#0f151cd9,#05080bf2);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex;position:absolute;inset:0}.overlay p{margin:0}.overlay-title{font-size:1.25rem;font-weight:600}.overlay .btn{margin-top:.5rem}.radar{width:72px;height:72px;margin-bottom:.5rem;position:relative}.radar span{border:2px solid #34d39999;border-radius:50%;animation:2.4s ease-out infinite radar;position:absolute;inset:0}.radar span:nth-child(2){animation-delay:.8s}.radar span:nth-child(3){animation-delay:1.6s}@keyframes radar{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.4)}}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.stat{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600}.stat-good{color:var(--accent)}.stat-ok{color:var(--warn)}.stat-bad{color:var(--live)}.hints{text-align:center;font-size:.8rem;line-height:2}@media (width<=640px){.topbar{padding:.6rem 1rem}.content{padding:.75rem}.user,.hints{display:none}.osd-bottom-left{font-size:.7rem}}
