:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.error-fallback{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#1a1a1a;color:#f5f5f5;font-family:system-ui,-apple-system,sans-serif;text-align:center}.error-fallback h1{font-size:1.5rem;margin-bottom:1rem}.error-message{color:#f87171;font-family:monospace;margin-bottom:1rem;max-width:90%;word-break:break-word}.error-hint{color:#a3a3a3;font-size:.9rem;margin-bottom:1.5rem;max-width:400px}.error-fallback button{padding:.5rem 1rem;border-radius:6px;border:none;background:#3b82f6;color:#fff;cursor:pointer;font-size:1rem}#root{width:100%;min-height:100vh;margin:0;padding:0}#root.receiver-mode{max-width:none}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{--corner-w: 22vw;--corner-h: calc(var(--corner-w) * 9 / 16);--corner-portrait-w: 12.4vw;--corner-portrait-h: calc(var(--corner-portrait-w) * 16 / 9);--corner-r: 10px;--corner-gap: 14px;--ease: cubic-bezier(.4, 0, .2, 1);--dur: .38s}.receiver-root{width:100vw;height:100vh;background:#000;overflow:hidden}.receiver-grid{position:relative;width:100%;height:100%}.cell{position:absolute;overflow:hidden;box-sizing:border-box;box-shadow:inset 0 0 0 1px #262626;outline:none;transition:top var(--dur) var(--ease),left var(--dur) var(--ease),width var(--dur) var(--ease),height var(--dur) var(--ease),border-radius var(--dur) var(--ease),box-shadow .22s ease,outline .1s ease;will-change:top,left,width,height}.cell:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:10;box-shadow:inset 0 0 0 3px rgba(255,255,255,calc(var(--audio-peak, 0) * .8));opacity:.8;transition:box-shadow .05s linear}.cell:focus-visible{box-shadow:inset 0 0 0 4px #3b82f6!important;z-index:10!important}.cell-corner:focus-visible{box-shadow:0 0 0 4px #3b82f6,0 8px 32px #000c!important}.layout-quad .slot-1{top:0;left:0;width:50%;height:50%;border-radius:0;box-shadow:inset 0 0 0 1px #262626;z-index:0}.layout-quad .slot-2{top:0;left:50%;width:50%;height:50%;border-radius:0;box-shadow:inset 0 0 0 1px #262626;z-index:0}.layout-quad .slot-3{top:50%;left:0;width:50%;height:50%;border-radius:0;box-shadow:inset 0 0 0 1px #262626;z-index:0}.layout-quad .slot-4{top:50%;left:50%;width:50%;height:50%;border-radius:0;box-shadow:inset 0 0 0 1px #262626;z-index:0}.layout-split .split-main-left{top:0;left:0;width:50%;height:100%;border-radius:0;box-shadow:inset -1px 0 #2a2a2a;z-index:0}.layout-split .split-main-right{top:0;left:50%;width:50%;height:100%;border-radius:0;box-shadow:none;z-index:0}.cell-corner{z-index:2;cursor:pointer;border-radius:var(--corner-r);box-shadow:0 0 0 2px #fff3,0 6px 24px #0009}.cell-corner:hover{box-shadow:0 0 0 2px #ffffffbf,0 6px 24px #000000b3}.layout-split .split-corner.slot-1{top:var(--corner-gap);left:var(--corner-gap);width:var(--corner-w);height:var(--corner-h)}.layout-split .split-corner.slot-2{top:var(--corner-gap);left:calc(100vw - var(--corner-gap) - var(--corner-w));width:var(--corner-w);height:var(--corner-h)}.layout-split .split-corner.slot-3{top:calc(100vh - var(--corner-gap) - var(--corner-h));left:var(--corner-gap);width:var(--corner-w);height:var(--corner-h)}.layout-split .split-corner.slot-4{top:calc(100vh - var(--corner-gap) - var(--corner-h));left:calc(100vw - var(--corner-gap) - var(--corner-w));width:var(--corner-w);height:var(--corner-h)}.layout-focus .slot-1{top:var(--corner-gap);left:var(--corner-gap);width:var(--corner-w);height:var(--corner-h)}.layout-focus .slot-2{top:var(--corner-gap);left:calc(100vw - var(--corner-gap) - var(--corner-w));width:var(--corner-w);height:var(--corner-h)}.layout-focus .slot-3{top:calc(100vh - var(--corner-gap) - var(--corner-h));left:var(--corner-gap);width:var(--corner-w);height:var(--corner-h)}.layout-focus .slot-4{top:calc(100vh - var(--corner-gap) - var(--corner-h));left:calc(100vw - var(--corner-gap) - var(--corner-w));width:var(--corner-w);height:var(--corner-h)}.layout-focus.focus-slot-1 .slot-1,.layout-focus.focus-slot-2 .slot-2,.layout-focus.focus-slot-3 .slot-3,.layout-focus.focus-slot-4 .slot-4{top:0;left:0;width:100%;height:100%;border-radius:0;box-shadow:none;z-index:1;cursor:default}.video{width:100%;height:100%;object-fit:contain;background:#000}.qr-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#00000040,#000000e0)}.qr-overlay img{width:40%;max-width:260px;border-radius:12px;background:#fff;padding:12px}.qr-overlay .label{margin-top:12px;color:#fff;font-size:1.1rem;font-family:system-ui,-apple-system,sans-serif}.cell-corner .qr-overlay img{width:55%;max-width:80px;padding:6px;border-radius:6px}.cell-corner .qr-overlay .label{font-size:.6rem;margin-top:4px}.qr-fallback-overlay{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#000000e6}.qr-fallback-content{max-width:90%;padding:2rem;text-align:center;color:#fff;font-family:system-ui,-apple-system,sans-serif}.qr-fallback-content h2{font-size:1.25rem;margin-bottom:.5rem}.qr-fallback-content p{margin:.5rem 0;color:#d4d4d4}.qr-fallback-hint{margin-top:1rem;font-size:.9rem;color:#a3a3a3}.qr-placeholder{color:#555;font-size:1rem;font-family:system-ui,-apple-system,sans-serif}.layout-toolbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100;display:flex;gap:4px;padding:6px 8px;background:#0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:999px;opacity:.2;transition:opacity .3s ease}.layout-toolbar:hover{opacity:1}.layout-toolbar button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;color:#ffffffa6;cursor:pointer;border-radius:999px;transition:background .18s ease,color .18s ease}.layout-toolbar button:hover{background:#ffffff1f;color:#fff}.layout-toolbar button.active{background:#fff3;color:#fff}.layout-toolbar button:focus-visible,.audio-mute-btn:focus-visible,.slot-reset-btn:focus-visible,.orientation-badge:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;background:#3b82f64d;color:#fff;opacity:1}.orientation-badge{position:absolute;z-index:3;border:none;padding:0;cursor:pointer;border-radius:calc(var(--corner-r) * .5);box-shadow:0 0 0 2px #ffffff40,0 3px 10px #0000008c;background:#00000040;transition:width var(--dur) var(--ease),height var(--dur) var(--ease),box-shadow .18s ease}.orientation-badge:hover{box-shadow:0 0 0 2px #ffffffb3,0 3px 10px #000000b3}.slot-1 .orientation-badge{top:10px;left:10px}.slot-2 .orientation-badge{top:10px;right:10px}.slot-3 .orientation-badge{bottom:10px;left:10px}.slot-4 .orientation-badge{bottom:10px;right:10px}.orientation-badge.orientation-landscape{width:28px;height:16px}.orientation-badge.orientation-portrait{width:16px;height:28px}.voice-only-indicator{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ffffffbf;font-family:system-ui,-apple-system,sans-serif;font-size:.9rem;background:radial-gradient(circle,#0000001a,#000000b3);pointer-events:none}.audio-controls{position:absolute;bottom:10px;left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:5px;padding:4px 8px 4px 5px;background:#0000008c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:999px;white-space:nowrap;opacity:.25;transition:opacity .25s ease}.cell:hover .audio-controls{opacity:1}.audio-mute-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;background:transparent;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .18s ease,color .18s ease}.audio-mute-btn:hover{background:#ffffff2e}.audio-mute-btn.muted{color:#ff5050e6;background:#ff323238;border-radius:50%}.audio-volume{width:56px;flex-shrink:0;height:3px;accent-color:rgba(255,255,255,.8);cursor:pointer}.audio-level-bar{width:48px;flex-shrink:0;height:4px;border-radius:2px;background:#ffffff26;overflow:hidden;position:relative}.audio-level-bar:after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--level, 0));background:linear-gradient(to right,#64dc64e6,#ffc832e6 70%,#ff5050e6);transition:transform .05s linear}.audio-level-corner{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:2px;background:#ffffff26;overflow:hidden;z-index:3}.audio-level-corner:after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--level, 0));background:#64dc64d9;transition:transform .05s linear}.corner-mute-btn{position:absolute;top:4px;right:4px;z-index:4;width:18px;height:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#ffffffbf;cursor:pointer;padding:0;transition:background .18s ease,color .18s ease}.corner-mute-btn:hover{background:#fff3;color:#fff}.corner-mute-btn.muted{color:#ff5050e6;background:#ff32324d}.corner-mute-btn svg{width:11px;height:11px;flex-shrink:0}.slot-reset-btn{position:absolute;top:10px;right:10px;z-index:5;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fff9;cursor:pointer;opacity:0;transition:opacity .25s ease,background .2s ease,color .2s ease,transform .2s ease}.cell:hover .slot-reset-btn{opacity:1}.slot-reset-btn:hover{background:#ff50504d;color:#fff;border-color:#ff646466;transform:rotate(45deg)}.slot-reset-btn:active{transform:rotate(180deg) scale(.9)}.slot-2 .slot-reset-btn{right:48px}.signaling-info{position:fixed;bottom:8px;right:12px;z-index:100;display:flex;align-items:center;gap:8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:10px;color:#ffffff26;transition:color .3s ease}.receiver-root:hover .signaling-info{color:#ffffff80}.status-dot{width:6px;height:6px;border-radius:50%;background:#666;flex-shrink:0}.status-dot.connected{background:#10b981;box-shadow:0 0 8px #10b98166}.status-dot.connecting{background:#f59e0b;animation:pulse-opac 1s infinite alternate}.status-dot.error{background:#ef4444;box-shadow:0 0 8px #ef444466}.server-label{white-space:nowrap;max-width:30vw;overflow:hidden;text-overflow:ellipsis}.server-switch-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:inherit;font-family:inherit;font-size:8px;padding:2px 6px;cursor:pointer;pointer-events:auto;transition:background .2s ease,border-color .2s ease,color .2s ease}.server-switch-btn:hover{background:#ffffff1f;border-color:#fff3;color:#fff}.turn-toggle-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:inherit;font-family:inherit;font-size:8px;padding:2px 6px;cursor:pointer;pointer-events:auto;transition:all .2s ease}.turn-toggle-btn:hover{background:#ffffff1f;color:#fff}.turn-toggle-btn.active{background:#10b9811a;border-color:#10b9814d;color:#10b981}.turn-toggle-btn.active:hover{background:#10b98133;border-color:#10b98180;color:#34d399}.local-ready-dot{width:6px;height:6px;background:#10b981;border-radius:50%;margin-left:6px;display:inline-block;box-shadow:0 0 6px #10b981cc;animation:pulse-opac 1.5s infinite alternate}@keyframes pulse-opac{0%{opacity:.4}to{opacity:1}}.cast-root{min-height:100vh;padding:16px;background:#050505;color:#f5f5f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.cast-root h1{font-size:1.5rem;margin-bottom:8px}.cast-root button{margin:12px 0;padding:10px 16px;border-radius:999px;border:none;background:#2563eb;color:#fff;font-weight:600;cursor:pointer}.cast-root button:hover{background:#1d4ed8}.status{margin-top:4px;font-size:.9rem;opacity:.8}.preview{margin-top:16px;width:100%;max-height:40vh;background:#111}
