:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg-main:#060913;--bg-card:#0f172aa6;--bg-card-hover:#1e293bb3;--bg-input:#020617;--border-color:#33415580;--border-hover:#6366f166;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-secondary:#06b6d4;--color-text-main:#f8fafc;--color-text-muted:#94a3b8;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--color-text-main);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}.container{max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.flex-center{justify-content:center;align-items:center;display:flex}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.justify-between{justify-content:space-between}.align-start{align-items:flex-start}.w-full{width:100%}.header{border-b:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.header h1{letter-spacing:-.025em;background:linear-gradient(90deg,#a78bfa,#818cf8,#22d3ee);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.875rem;font-weight:800}.subtitle{color:var(--color-text-muted);margin-top:.25rem;font-size:.95rem}.card{background-color:var(--bg-card);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:1rem;padding:1.5rem;box-shadow:0 4px 30px #0006}.card:hover{border-color:var(--border-hover)}.card-header{border-bottom:1px solid #3341554d;margin-bottom:1.25rem;padding-bottom:.75rem}.card-header h3{color:var(--color-text-main);font-size:1.125rem;font-weight:700}.config-panel{margin-bottom:2rem}.panel-title{margin-bottom:1rem}.panel-title h2{letter-spacing:.02em;text-transform:uppercase;font-size:1.05rem;font-weight:700}.form-row{flex-wrap:wrap;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.form-group label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.form-group input,.form-group select{background-color:var(--bg-input);border:1px solid var(--border-color);color:var(--color-text-main);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:.5rem;outline:none;padding:.6rem .85rem;font-size:.875rem}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px #6366f14d}.checkbox-wrapper{gap:.5rem}.checkbox-label{color:var(--color-text-muted);cursor:pointer;font-size:.75rem;font-weight:600}.token-wrapper{align-items:center;display:flex;position:relative}.token-wrapper input{width:100%;padding-left:2.25rem}.input-icon{color:var(--color-text-muted);position:absolute;left:.85rem}.note-text{color:var(--color-warning);margin-top:.25rem;font-size:.75rem}.btn{cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.55rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--color-primary), #4f46e5);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca)}.btn-secondary{border:1px solid var(--border-color);color:var(--color-text-main);background-color:#1e293b}.btn-secondary:hover:not(:disabled){border-color:var(--color-text-muted);background-color:#334155}.btn-success{color:#34d399;background-color:#10b98126;border:1px solid #10b9814d}.btn-success:hover:not(:disabled){background-color:#10b98140}.btn-warning{color:#fbbf24;background-color:#f59e0b26;border:1px solid #f59e0b4d}.btn-warning:hover:not(:disabled){background-color:#f59e0b40}.btn-danger{color:#f87171;background-color:#ef444426;border:1px solid #ef44444d}.btn-danger:hover:not(:disabled){background-color:#ef444440}.btn-square{border-radius:.5rem;justify-content:center;width:2.25rem;height:2.25rem;padding:.55rem}.btn-disabled{color:var(--color-text-muted);border:1px solid var(--border-color);background-color:#1e293b80}.btn-icon{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;display:flex}.btn-icon:hover{color:var(--color-text-main);background-color:#ffffff0d}.dashboard-grid{grid-template-columns:1fr;gap:2rem;margin-top:1.5rem;display:grid}@media (width>=1024px){.dashboard-grid{grid-template-columns:320px 1fr}}.sidebar,.main-content{flex-direction:column;gap:2rem;display:flex}.alert{border-radius:.75rem;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.alert-error{color:#fca5a5;background-color:#ef44441a;border:1px solid #ef444433}.alert-success{color:#a7f3d0;background-color:#10b9811a;border:1px solid #10b98133}.count-badge{border:1px solid var(--border-color);color:var(--color-text-muted);background-color:#1e293b;border-radius:.375rem;padding:.25rem .65rem;font-size:.75rem;font-weight:550}.status-badge{border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-live{color:#34d399;background-color:#10b9811a;border:1px solid #10b98133}.badge-starting{color:#fbbf24;background-color:#f59e0b1a;border:1px solid #f59e0b33}.badge-stopping{color:#60a5fa;background-color:#3b82f61a;border:1px solid #3b82f633}.badge-idle{color:#cbd5e1;background-color:#94a3b81a;border:1px solid #94a3b833}.tag{border-radius:.25rem;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.tag-protocol{color:#818cf8;background-color:#6366f11a;border:1px solid #6366f133}.tag-mode{color:#c084fc;background-color:#a78bfa1a;border:1px solid #a78bfa33}.pulse-dot{background-color:#34d399;border-radius:50%;width:.4rem;height:.4rem;animation:1.5s infinite pulse}.spinner-icon{width:.75rem;height:.75rem;animation:1s linear infinite spin}.cards-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=640px){.cards-grid{grid-template-columns:repeat(2,1fr)}}.channel-card{border:1px solid var(--border-color);transition:border-color var(--transition-fast);background-color:#0f172a66;border-radius:.75rem;flex-direction:column;justify-content:space-between;gap:1.25rem;padding:1.25rem;display:flex}.channel-card:hover{border-color:#ffffff1a}.channel-card h4{color:#fff;font-size:1rem;font-weight:700}.mono-id{color:var(--color-text-muted);font-family:monospace;font-size:.7rem}.details-list{flex-direction:column;gap:.5rem;display:flex}.details-row{border-bottom:1px solid #33415540;justify-content:space-between;padding-bottom:.4rem;font-size:.775rem;display:flex}.details-row .lbl{color:var(--color-text-muted)}.details-row .val{color:#e2e8f0}.playback-box{border:1px solid var(--border-color);background-color:#020617;border-radius:.5rem;padding:.65rem}.playback-header{color:#a78bfa;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.65rem;font-weight:700}.playback-url{color:#cbd5e1;word-break:break-all;background-color:#0b1329;border:1px solid #33415533;border-radius:.25rem;padding:.4rem;font-family:monospace;font-size:.68rem}.card-actions{align-items:center;gap:.5rem;display:flex}.inputs-list{flex-direction:column;gap:1rem;display:flex}.input-item{border:1px solid var(--border-color);transition:border-color var(--transition-fast);background-color:#0f172a4d;border-radius:.75rem;padding:1.25rem}.input-item:hover{border-color:#ffffff26}.input-item-header{gap:.5rem}.input-item-header h4{color:#fff;font-size:.95rem;font-weight:700}.endpoints-box{flex-direction:column;gap:.75rem;display:flex}.endpoint-row{border:1px solid var(--border-color);background-color:#020617;border-radius:.5rem;padding:.65rem}.endpoint-title{color:#818cf8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.65rem;font-weight:700}.endpoint-url{color:#cbd5e1;word-break:break-all;background-color:#0b1329;border-radius:.25rem;padding:.4rem;font-family:monospace;font-size:.68rem}.action-col{align-self:center}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b98180}70%{transform:scale(1);box-shadow:0 0 0 4px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}
