*,:before,:after{box-sizing:border-box}html,body{min-width:320px;margin:0}body{color:#fff;-webkit-font-smoothing:antialiased;background:#050505;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer;border:0}p{margin:0}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-xs{width:12px;height:12px}.icon-sm{width:14px;height:14px}.icon-md{width:16px;height:16px}.icon-xl{width:48px;height:48px}.app{height:100vh;background:#050505;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 12px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.channel{color:#e4e4e7;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.channel-hash{background:#ffffff1a;border-radius:4px;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.status-badge{color:#a1a1aa;background:#ffffff14;border:1px solid #ffffff14;border-radius:9999px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:500;transition:all .2s;display:inline-flex}.status-badge:before{content:"";background:#71717a;border-radius:50%;width:6px;height:6px;display:inline-block}.status-badge[data-state=connected]{color:#4ade80;background:#22c55e1f;border-color:#22c55e40}.status-badge[data-state=connected]:before{background:#22c55e;box-shadow:0 0 6px #22c55e}.status-badge[data-state=pending]{color:#facc15;background:#eab3081f;border-color:#eab30840}.status-badge[data-state=pending]:before{background:#eab308;animation:1.5s infinite pulse}.status-badge[data-state=error]{color:#f87171;background:#ef44441f;border-color:#ef444440}.status-badge[data-state=error]:before{background:#ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.topbar-right{color:#71717a;align-items:center;gap:12px;display:flex}.topbar-btn{color:#d4d4d8;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.topbar-btn:hover{color:#fff;background:#ffffff1f}.topbar-btn.active{color:#a5b4fc;background:#6366f133;border-color:#6366f166}.topbar-btn.icon-only{padding:6px}.count{font-size:12px;display:none}.workspace{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.stage{flex-direction:column;gap:8px;width:100%;max-width:1500px;height:100%;margin:0 auto;padding:8px;display:flex;overflow:hidden}.grid{display:grid}.grid--full{flex:1;grid-template-columns:repeat(1,minmax(0,1fr));gap:6px;min-height:0}.grid--strip{flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card{background:#18181b;border-radius:6px;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0003}.card--active{background:#000;flex-direction:column;flex:1;height:100%;min-height:0;display:flex}:-webkit-any(.card--active:fullscreen,.card--active:-webkit-full-screen){border-radius:0;width:100vw;height:100vh}:is(.card--active:fullscreen,.card--active:fullscreen){border-radius:0;width:100vw;height:100vh}:-webkit-any(.card--active:fullscreen .card-media,.card--active:-webkit-full-screen .card-media){width:100%;height:100%}:is(.card--active:fullscreen .card-media,.card--active:fullscreen .card-media){width:100%;height:100%}.card--tile{aspect-ratio:16/9;cursor:pointer;transition:transform .15s,box-shadow .15s}.card--tile:hover{transform:scale(1.01);box-shadow:0 0 0 1px #fff3,0 8px 16px #0006}.card-media{background:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.player-container{background:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.player-container video{object-fit:contain;width:100%;height:100%;display:block}.video-canvas{object-fit:contain;background:#000;width:100%;height:100%;display:block}.video-canvas[hidden]{display:none!important}.viewer-notice{color:#fecaca;background:#7f1d1d40;border:1px solid #f8717159;border-radius:10px;margin:12px 20px 0;padding:10px 14px;font-size:13px}.viewer-notice[hidden]{display:none!important}.player-hint{color:#a1a1aa;z-index:2;text-align:center;background:#09090bf2;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:13px;display:flex;position:absolute;inset:0}.player-hint[hidden]{display:none!important}.hint-spinner{border:3px solid #ffffff26;border-top-color:#6366f1;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.content{height:100%}.content--screen{color:#6ee7b7bf;background:#0d201f;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8px;line-height:1.6}.content--screen .tabs{color:#a7f3d066;gap:16px;margin-bottom:12px;display:flex}.content--screen .l1{color:#d1fae5cc}.content--screen .l2{color:#6ee7b780}.content--screen .l3{color:#a5f3fcb3;margin-top:12px}.content--screen .bar{background:#34d39959;border-radius:4px;height:4px}.content--screen .bar.b1{width:66.666%;margin-top:20px}.content--screen .bar.b2{background:#34d39933;width:50%;margin-top:8px}.content--avatar{background:linear-gradient(to bottom right,#33221f,#241918,#171313);place-items:center;display:grid}.content--avatar .big-avatar{background:linear-gradient(to bottom right,#fef3c799,#881337,#18181b);border:2px solid #fcd34dcc;border-radius:50%;place-items:center;width:80px;height:80px;font-size:24px;display:grid;box-shadow:0 0 18px #ffc46499}.content--purple{color:#e879f9;background:linear-gradient(to bottom right,#39002f,#17001f,#0d0713);place-items:center;display:grid}.content--live-preview{color:#fff9;background:radial-gradient(circle,#1e1b4b,#0f172a,#050505);place-items:center;display:grid}.overlay{pointer-events:none;z-index:10;flex-direction:column;justify-content:space-between;padding:10px;display:flex;position:absolute;inset:0}.overlay:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(#0000008c,#0000 40%,#000000bf);transition:opacity .2s;position:absolute;inset:0}.card:hover .overlay:before{opacity:1}.card:has(:focus-visible) .overlay:before{opacity:1}.overlay>*{z-index:1;position:relative}.overlay-top{justify-content:space-between;align-items:flex-start;display:flex}.live-badge{letter-spacing:.05em;background:#dc2626;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.viewers{color:#e4e4e7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:flex}.streamer{pointer-events:auto;align-items:center;gap:8px;display:flex}.streamer-avatar{background:linear-gradient(to bottom right,#a5b4fc,#d946ef,#fcd34d);border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:grid;overflow:hidden;box-shadow:0 10px 15px -3px #0006}img.streamer-avatar{object-fit:cover;width:28px;height:28px;display:block}.streamer-name{text-shadow:0 1px 3px #000c;font-size:14px;font-weight:600}.controls{z-index:20;opacity:0;visibility:hidden;justify-content:flex-end;align-items:center;gap:6px;transition:opacity .2s,visibility .2s;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.card:hover .controls{opacity:1;visibility:visible}.card:has(:focus-visible) .controls{opacity:1;visibility:visible}@media (hover:none){.controls{opacity:1;visibility:visible}}.icon-btn{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border-radius:4px;place-items:center;padding:6px;transition:background .15s,transform .1s;display:grid}.icon-btn:hover{background:#ffffff40}.icon-btn:active{transform:scale(.96)}.volume{position:relative}.volume-pop{visibility:hidden;opacity:0;z-index:30;padding-bottom:8px;transition:opacity .15s,visibility .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.volume:hover .volume-pop,.volume:focus-within .volume-pop,.volume.is-dragging .volume-pop{visibility:visible;opacity:1}.volume-box{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;border-radius:4px;width:28px;height:96px;position:relative;box-shadow:0 4px 12px #00000080}.volume-slider{--fill:75%;cursor:pointer;appearance:none;background:0 0;width:80px;height:20px;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.volume-slider:focus{outline:none}.volume-slider:focus-visible{outline-offset:2px;outline:2px solid #fff9}.volume-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, #fff var(--fill), #ffffff40 var(--fill));border-radius:999px;height:4px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:0;border-radius:50%;width:12px;height:12px;margin-top:-4px;box-shadow:0 1px 4px #0006}.volume-slider::-moz-range-track{background:linear-gradient(to right, #fff var(--fill), #ffffff40 var(--fill));border-radius:999px;height:4px}.volume-slider::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 4px #0006}.lobby-empty{text-align:center;background:#ffffff05;border:1px dashed #ffffff1f;border-radius:12px;flex-direction:column;align-items:center;gap:12px;max-width:440px;margin:auto;padding:40px 24px;display:flex}.lobby-empty[hidden]{display:none!important}.lobby-empty-title{color:#f4f4f5;font-size:16px;font-weight:600}.lobby-empty-sub{color:#71717a;font-size:13px;line-height:1.5}.manual-section{width:100%;max-width:1300px;height:calc(100vh - 44px);grid-template-columns:460px 1fr;gap:16px;height:calc(100dvh - 44px);margin:0 auto;padding:16px;display:grid;overflow:hidden}.manual-section[hidden]{display:none!important}@media (max-width:900px){.manual-section{grid-template-columns:1fr;height:auto;overflow-y:auto}}.manual-panel{background:#101014;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:14px;padding:16px;display:flex;overflow-y:auto}.manual-header{flex-direction:column;gap:4px;display:flex}.manual-title{color:#f4f4f5;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.manual-desc{color:#a1a1aa;font-size:12px;line-height:1.4}.manual-desc code{color:#e4e4e7;background:#ffffff1a;border-radius:3px;padding:1px 4px;font-size:11px}.manual-field{flex-direction:column;gap:6px;display:flex}.manual-label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.manual-textarea{color:#6ee7b7;resize:vertical;background:#09090b;border:1px solid #ffffff1a;border-radius:6px;width:100%;height:95px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.4}.manual-textarea:focus{border-color:#6366f1;outline:none}.manual-actions{gap:8px;display:flex}.btn-primary{color:#fff;background:#4f46e5;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#e4e4e7;background:#ffffff14;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s}.btn-secondary:hover:not(:disabled){color:#fff;background:#ffffff29}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.manual-message{color:#fbbf24;min-height:18px;font-size:12px;line-height:1.4}.manual-preview{background:#0a0a0d;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;min-height:300px;display:flex;overflow:hidden}.manual-preview-header{color:#a1a1aa;background:#ffffff08;border-bottom:1px solid #ffffff0f;padding:8px 12px;font-size:12px;font-weight:500}.manual-preview-body{background:#000;flex:1;justify-content:center;align-items:center;display:flex;position:relative}@media (min-width:640px){.topbar{padding:0 20px}.count{display:inline}.stage{padding:12px}.grid--full{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--strip{grid-template-columns:repeat(3,minmax(0,1fr))}.content--screen{font-size:9px}}@media (min-width:1024px){.grid--full{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
