*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}body{background:#0a0a0a;color:#fff}.entry-view[data-v-5d9c7e9b]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.entry-card[data-v-5d9c7e9b]{width:100%;max-width:420px;padding:40px 32px;background:#141414;border:1px solid #222;border-radius:16px;text-align:center;color:#fff}@media (max-width: 480px){.entry-card[data-v-5d9c7e9b]{padding:32px 20px;border-radius:0;border-left:none;border-right:none;min-height:100vh;display:flex;flex-direction:column;justify-content:center}}h1[data-v-5d9c7e9b]{margin:0 0 8px;font-size:28px;font-weight:700;letter-spacing:-.5px}.sub[data-v-5d9c7e9b]{color:#777;font-size:14px;margin:0 0 28px;line-height:1.5}form[data-v-5d9c7e9b]{display:flex;flex-direction:column;gap:12px}input[data-v-5d9c7e9b]{padding:12px 16px;font-size:16px;border:1px solid #333;border-radius:10px;background:#0a0a0a;color:#fff;outline:none;transition:border-color .15s}input[data-v-5d9c7e9b]:focus{border-color:#555}input[data-v-5d9c7e9b]::placeholder{color:#444}button[data-v-5d9c7e9b]{padding:12px;font-size:16px;font-weight:600;border:none;border-radius:10px;background:#fff;color:#000;cursor:pointer;transition:opacity .15s}button[data-v-5d9c7e9b]:disabled{opacity:.4;cursor:not-allowed}button[data-v-5d9c7e9b]:hover:not(:disabled){opacity:.9}.relay-label[data-v-5d9c7e9b]{display:flex;align-items:center;gap:8px;font-size:13px;color:#777;cursor:pointer;-webkit-user-select:none;user-select:none}.relay-check[data-v-5d9c7e9b]{width:15px;height:15px;accent-color:#4ade80;cursor:pointer}.error[data-v-5d9c7e9b]{margin-top:12px;color:#e55;font-size:14px}.privacy-link[data-v-5d9c7e9b]{display:block;margin-top:24px;color:#444;font-size:12px;text-decoration:none;transition:color .15s}.privacy-link[data-v-5d9c7e9b]:hover{color:#888}.participant-tile[data-v-1d05cdc3]{position:relative;background:#111;border-radius:8px;overflow:hidden;min-height:0;display:flex;align-items:center;justify-content:center}video[data-v-1d05cdc3]{width:100%;height:100%;object-fit:cover}video.mirror[data-v-1d05cdc3]{transform:scaleX(-1)}.participant-tile:fullscreen video[data-v-1d05cdc3]{object-fit:contain;background:#000}.tile-label[data-v-1d05cdc3]{position:absolute;bottom:8px;left:10px;color:#fff;font-size:12px;background:#0000008c;padding:2px 7px;border-radius:4px}.fullscreen-btn[data-v-1d05cdc3]{position:absolute;top:8px;right:8px;background:#0009;border:none;border-radius:6px;padding:5px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.fullscreen-btn svg[data-v-1d05cdc3]{width:18px;height:18px;display:block}.participant-tile:hover .fullscreen-btn[data-v-1d05cdc3],.participant-tile:fullscreen .fullscreen-btn[data-v-1d05cdc3]{opacity:1}.fullscreen-btn[data-v-1d05cdc3]:hover{background:#ffffff26}.volume-control[data-v-1d05cdc3]{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:4px;background:#0009;padding:4px 8px;border-radius:20px;opacity:0;transition:opacity .2s}.participant-tile:hover .volume-control[data-v-1d05cdc3]{opacity:1}.vol-icon[data-v-1d05cdc3]{width:14px;height:14px;color:#ccc;flex-shrink:0}.vol-slider[data-v-1d05cdc3]{width:60px;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#555;border-radius:2px;cursor:pointer;outline:none}.vol-slider[data-v-1d05cdc3]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer}.video-grid[data-v-80bac235]{display:grid;gap:8px;padding:12px;width:100%;height:100%;align-content:stretch;grid-auto-rows:1fr;grid-template-columns:1fr}.video-grid.count-2[data-v-80bac235],.video-grid.count-3[data-v-80bac235],.video-grid.count-4[data-v-80bac235]{grid-template-columns:1fr 1fr}.video-grid.count-5[data-v-80bac235],.video-grid.count-6[data-v-80bac235]{grid-template-columns:repeat(3,1fr)}@media (max-width: 600px){.video-grid.count-2[data-v-80bac235],.video-grid.count-3[data-v-80bac235],.video-grid.count-4[data-v-80bac235],.video-grid.count-5[data-v-80bac235],.video-grid.count-6[data-v-80bac235]{grid-template-columns:1fr}}.control-bar[data-v-430e9752]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#111;border-top:1px solid #222;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 600px){.control-bar[data-v-430e9752]{gap:5px;padding:10px;justify-content:flex-start}}.ctrl-btn[data-v-430e9752]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;background:#222;color:#ddd;border:1px solid #333;border-radius:10px;font-size:11px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;min-width:64px;flex-shrink:0;-webkit-user-select:none;user-select:none}@media (max-width: 600px){.ctrl-btn[data-v-430e9752]{padding:8px 12px;min-width:52px;font-size:10px}}.ctrl-btn[data-v-430e9752]:hover{background:#2a2a2a;color:#fff}.ctrl-btn--off[data-v-430e9752]{background:#2d1a1a;color:#f87171;border-color:#7f1d1d44}.ctrl-btn--off[data-v-430e9752]:hover{background:#3d2020}.ctrl-btn--active[data-v-430e9752]{background:#1a2d1a;color:#4ade80;border-color:#14532d44}.ctrl-btn--active[data-v-430e9752]:hover{background:#1f3a1f}.ctrl-btn--hangup[data-v-430e9752]{background:#7f1d1d;color:#fca5a5;border-color:#991b1b44}.ctrl-btn--hangup[data-v-430e9752]:hover{background:#991b1b;color:#fff}.ctrl-icon[data-v-430e9752]{width:20px;height:20px;flex-shrink:0}.ctrl-label[data-v-430e9752]{line-height:1;white-space:nowrap}.icon-wrap[data-v-430e9752]{position:relative;display:inline-flex}.badge[data-v-430e9752]{position:absolute;top:-6px;right:-8px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:1px 4px;border-radius:999px;line-height:1.4;min-width:16px;text-align:center}.chat-panel[data-v-89c6d9b8]{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:#0d0d0d;border-left:1px solid #222;overflow:hidden}.chat-header[data-v-89c6d9b8]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #222;flex-shrink:0}.chat-title[data-v-89c6d9b8]{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.06em}.btn-close[data-v-89c6d9b8]{background:none;border:none;color:#555;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;line-height:1;transition:background .1s,color .1s}.btn-close[data-v-89c6d9b8]:hover{background:#222;color:#ddd}.msg-list[data-v-89c6d9b8]{flex:1;min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#333 transparent}.msg-empty[data-v-89c6d9b8]{margin:auto;text-align:center;color:#444;font-size:13px}.msg[data-v-89c6d9b8]{display:flex;flex-direction:column;gap:2px;max-width:90%}.msg--me[data-v-89c6d9b8]{align-self:flex-end;align-items:flex-end}.msg--them[data-v-89c6d9b8]{align-self:flex-start;align-items:flex-start}.msg-name[data-v-89c6d9b8]{font-size:11px;font-weight:600;color:#555;padding:0 4px}.msg-bubble[data-v-89c6d9b8]{padding:6px 10px;border-radius:10px;font-size:13px;line-height:1.4;word-break:break-word}.msg--me .msg-bubble[data-v-89c6d9b8]{background:#1d4ed8;color:#fff;border-bottom-right-radius:3px}.msg--them .msg-bubble[data-v-89c6d9b8]{background:#1e1e1e;color:#e2e2e2;border-bottom-left-radius:3px}.msg-ts[data-v-89c6d9b8]{font-size:10px;color:#444;padding:0 4px}.file-card[data-v-89c6d9b8]{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;background:#1a1a1a;border:1px solid #2a2a2a;min-width:180px;max-width:220px}.msg--me .file-card[data-v-89c6d9b8]{border-bottom-right-radius:3px}.msg--them .file-card[data-v-89c6d9b8]{border-bottom-left-radius:3px}.file-card-icon[data-v-89c6d9b8]{width:28px;height:28px;flex-shrink:0;color:#4a90e2;margin-top:2px}.file-card-body[data-v-89c6d9b8]{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.file-card-name[data-v-89c6d9b8]{font-size:12px;font-weight:500;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-size[data-v-89c6d9b8]{font-size:11px;color:#555}.file-progress[data-v-89c6d9b8]{height:3px;background:#2a2a2a;border-radius:2px;overflow:hidden;margin-top:2px}.file-progress-bar[data-v-89c6d9b8]{height:100%;background:#4a90e2;border-radius:2px;transition:width .1s}.file-download[data-v-89c6d9b8]{display:inline-block;margin-top:4px;font-size:11px;font-weight:600;color:#4a90e2;text-decoration:none;padding:2px 0}.file-download[data-v-89c6d9b8]:hover{color:#6aaef5;text-decoration:underline}.file-sent[data-v-89c6d9b8]{font-size:11px;color:#4ade80;margin-top:4px}.file-error[data-v-89c6d9b8]{font-size:11px;color:#f87171;margin-top:4px}.chat-footer[data-v-89c6d9b8]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid #1a1a1a;flex-shrink:0}.file-input-hidden[data-v-89c6d9b8]{display:none}.btn-attach[data-v-89c6d9b8]{padding:7px 8px;background:#1a1a1a;color:#666;border:1px solid #2a2a2a;border-radius:8px;cursor:pointer;display:flex;align-items:center;transition:background .15s,color .15s;flex-shrink:0}.btn-attach[data-v-89c6d9b8]:hover{background:#222;color:#aaa}.chat-input[data-v-89c6d9b8]{flex:1;min-width:0;padding:7px 10px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;color:#e2e2e2;font-size:13px;outline:none;transition:border-color .15s}.chat-input[data-v-89c6d9b8]:focus{border-color:#444}.chat-input[data-v-89c6d9b8]::placeholder{color:#444}.btn-send[data-v-89c6d9b8]{padding:7px 10px;background:#1d4ed8;color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;transition:background .15s;flex-shrink:0}.btn-send[data-v-89c6d9b8]:hover:not(:disabled){background:#2563eb}.btn-send[data-v-89c6d9b8]:disabled{background:#1a2a4a;color:#4a5a7a;cursor:default}.room-view[data-v-81ecd490]{height:100vh;overflow:hidden;display:flex;flex-direction:column;background:#0a0a0a;color:#fff}.status-overlay[data-v-81ecd490]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#777;font-size:18px}.status-overlay--error[data-v-81ecd490]{color:#f87171;gap:12px}.error-icon[data-v-81ecd490]{width:44px;height:44px;border-radius:50%;border:2px solid #f87171;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#f87171}.error-msg[data-v-81ecd490]{font-size:15px;color:#aaa;text-align:center;max-width:320px;margin:0}.error-btn[data-v-81ecd490]{padding:8px 20px;background:#222;border:1px solid #444;border-radius:8px;color:#ccc;font-size:14px;cursor:pointer;margin-top:4px}.error-btn[data-v-81ecd490]:hover{background:#333;color:#fff}.status-spinner[data-v-81ecd490]{width:32px;height:32px;border:3px solid #333;border-top-color:#4ade80;border-radius:50%;animation:spin-81ecd490 .8s linear infinite}.status-spinner--sm[data-v-81ecd490]{width:16px;height:16px;border-width:2px}@keyframes spin-81ecd490{to{transform:rotate(360deg)}}.main-area[data-v-81ecd490]{flex:1;min-height:0;display:flex;overflow:hidden}.grid-area[data-v-81ecd490]{flex:1;min-width:0;min-height:0;overflow:hidden}.control-area[data-v-81ecd490]{position:relative;flex-shrink:0}.chat-slide-enter-active[data-v-81ecd490],.chat-slide-leave-active[data-v-81ecd490]{transition:opacity .2s,transform .2s}.chat-slide-enter-from[data-v-81ecd490],.chat-slide-leave-to[data-v-81ecd490]{opacity:0;transform:translate(16px)}.privacy-view[data-v-c36abe8b]{min-height:100vh;background:#0a0a0a;color:#fff;padding:40px 20px 80px}.privacy-content[data-v-c36abe8b]{max-width:760px;margin:0 auto}.back-btn[data-v-c36abe8b]{background:none;border:1px solid #333;color:#888;font-size:13px;padding:7px 14px;border-radius:8px;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:40px;display:inline-block}.back-btn[data-v-c36abe8b]:hover{color:#fff;border-color:#555}.page-header[data-v-c36abe8b]{margin-bottom:56px}.page-header h1[data-v-c36abe8b]{font-size:36px;font-weight:700;letter-spacing:-.5px;margin:0 0 12px}.lead[data-v-c36abe8b]{color:#888;font-size:16px;margin:0;line-height:1.6}section[data-v-c36abe8b]{margin-bottom:56px}h2[data-v-c36abe8b]{margin:0 0 20px}.pill[data-v-c36abe8b]{display:inline-block;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:600;color:#4ade80;letter-spacing:.3px}.section-intro[data-v-c36abe8b]{color:#888;font-size:14px;line-height:1.7;margin:0 0 20px}.cards[data-v-c36abe8b]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 600px){.cards[data-v-c36abe8b]{grid-template-columns:1fr}}.card[data-v-c36abe8b]{background:#111;border:1px solid #1e1e1e;border-radius:12px;padding:20px}.card-icon[data-v-c36abe8b]{font-size:22px;margin-bottom:10px}.card h3[data-v-c36abe8b]{font-size:14px;font-weight:600;margin:0 0 8px;color:#eee}.card p[data-v-c36abe8b]{font-size:13px;color:#777;line-height:1.6;margin:0}.two-col[data-v-c36abe8b]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}@media (max-width: 600px){.two-col[data-v-c36abe8b]{grid-template-columns:1fr}}.sees-block[data-v-c36abe8b]{background:#111;border-radius:12px;padding:20px}.sees-yes[data-v-c36abe8b]{border:1px solid #2a1a1a}.sees-no[data-v-c36abe8b]{border:1px solid #1a2a1a}.sees-block h3[data-v-c36abe8b]{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin:0 0 14px}.sees-yes h3[data-v-c36abe8b]{color:#f87171}.sees-no h3[data-v-c36abe8b]{color:#4ade80}.sees-block ul[data-v-c36abe8b]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sees-block li[data-v-c36abe8b]{font-size:13px;color:#888;line-height:1.5;padding-left:16px;position:relative}.sees-yes li[data-v-c36abe8b]:before{content:"•";position:absolute;left:0;color:#f87171}.sees-no li[data-v-c36abe8b]:before{content:"•";position:absolute;left:0;color:#4ade80}.sees-block strong[data-v-c36abe8b]{color:#ccc}.steps[data-v-c36abe8b]{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:16px}.steps li[data-v-c36abe8b]{display:flex;gap:16px;align-items:flex-start;font-size:14px;color:#888;line-height:1.6}.step-num[data-v-c36abe8b]{flex-shrink:0;width:28px;height:28px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#4ade80;margin-top:1px}.steps strong[data-v-c36abe8b]{color:#ccc}.note[data-v-c36abe8b]{background:#111;border:1px solid #1e1e1e;border-left:3px solid #333;border-radius:8px;padding:12px 16px;font-size:12px;color:#666;line-height:1.6;margin:16px 0 0}.self-host-card[data-v-c36abe8b]{background:#111;border:1px solid #1e1e1e;border-radius:12px;padding:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:16px}@media (max-width: 600px){.self-host-card[data-v-c36abe8b]{grid-template-columns:1fr}}.sh-block h3[data-v-c36abe8b]{font-size:13px;font-weight:600;color:#aaa;margin:0 0 12px;text-transform:uppercase;letter-spacing:.6px}.code-block[data-v-c36abe8b]{display:block;background:#0a0a0a;border:1px solid #222;border-radius:8px;padding:14px;font-size:12px;color:#4ade80;line-height:1.8;font-family:Courier New,monospace;white-space:pre-wrap}.sh-block ul[data-v-c36abe8b]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sh-block li[data-v-c36abe8b]{font-size:13px;color:#777;padding-left:16px;position:relative;line-height:1.5}.sh-block li[data-v-c36abe8b]:before{content:"→";position:absolute;left:0;color:#333}.gitlab-link[data-v-c36abe8b]{display:inline-block;margin-top:4px;color:#4ade80;font-size:14px;text-decoration:none;border-bottom:1px solid #2a5a3a;transition:border-color .15s}.gitlab-link[data-v-c36abe8b]:hover{border-color:#4ade80}.readme-link[data-v-c36abe8b]{font-size:11px;font-weight:600;color:#fff}.philosophy[data-v-c36abe8b]{display:flex;flex-direction:column;gap:16px}.philosophy p[data-v-c36abe8b]{font-size:14px;color:#888;line-height:1.8;margin:0}.philosophy strong[data-v-c36abe8b]{color:#ccc}.page-footer[data-v-c36abe8b]{margin-top:40px;padding-top:32px;border-top:1px solid #1a1a1a}
