:root{--bg: #0b0b0f;--panel: #15151c;--panel-2: #1d1d27;--text: #f2f2f5;--muted: #9a9aa8;--accent: #e94f37;--accent-2: #7c7cff;--line: #2a2a36}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}input{font:inherit}.lobby{min-height:100%;display:grid;place-items:center;padding:24px}.lobby-card{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px;text-align:center}.lobby-card h1{margin:0 0 8px;font-size:28px}.sub{color:var(--muted);margin:0 0 24px;line-height:1.5}.primary{width:100%;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:14px 20px;font-size:16px;font-weight:600}.primary:hover{filter:brightness(1.08)}.divider{color:var(--muted);margin:18px 0;font-size:13px}.join-form{display:flex;gap:8px}.join-form input{flex:1;background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:12px}.join-form button{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px 18px}.fineprint{color:var(--muted);font-size:12.5px;margin:20px 0 0;line-height:1.5}.ext-cta{margin:22px 0 0;padding:16px;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:12px}.ext-cta-head{font-weight:600;font-size:14px;margin-bottom:4px}.ext-cta p{color:var(--muted);font-size:12.5px;line-height:1.5;margin:0 0 12px}.ext-btn{display:inline-block;background:var(--accent-2);color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:10px 16px;border-radius:10px}.ext-btn:hover{filter:brightness(1.08)}.ext-cta details{margin-top:12px}.ext-cta summary{cursor:pointer;color:var(--accent-2);font-size:12.5px}.ext-cta ol{color:var(--muted);font-size:12.5px;line-height:1.6;margin:8px 0 0;padding-left:18px}.ext-cta code{background:#0b0b0f;border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:11.5px}.copylink{display:flex;gap:8px;margin:0 0 20px}.copylink input{flex:1;background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px;font-size:13px}.copylink button{background:var(--accent-2);color:#fff;border:none;border-radius:10px;padding:11px 14px;white-space:nowrap}.call{height:100%;display:flex;flex-direction:column}.call-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.status{font-size:14px;color:var(--muted)}.status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--muted);vertical-align:middle}.status-connected{color:#3ddc84}.status-connected:before{background:#3ddc84}.status-connecting:before,.status-waiting:before{background:var(--accent);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3}}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 8px}.call-main{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:12px 16px}.invite{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.invite p{margin:0 0 8px;color:var(--muted);font-size:13px}.invite .copylink{margin:0}.stage-wrap{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.stage-wrap.has-stage{position:relative}.stage{flex:1;min-height:0;background:#000;border-radius:14px;overflow:hidden}.stage video{width:100%;height:100%;object-fit:contain;background:#000}.faces{display:grid;gap:12px}.faces.grid{flex:1;min-height:0;grid-template-columns:1fr 1fr}.faces.filmstrip{position:absolute;right:14px;bottom:14px;z-index:5;grid-template-columns:1fr;width:150px;gap:8px}.faces.filmstrip .tile{height:104px;box-shadow:0 6px 20px #00000073;border-color:#ffffff2e}.tile{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:0}.tile video{width:100%;height:100%;object-fit:cover;display:block}.tile.placeholder{display:grid;place-items:center;color:var(--muted);font-size:14px;text-align:center;padding:16px}.tile-label{position:absolute;left:10px;bottom:10px;background:#0000008c;color:#fff;font-size:12px;padding:3px 8px;border-radius:6px}.tile-unblock{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:max-content;height:max-content;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-weight:600}.controls{display:flex;gap:10px;justify-content:center;padding:14px;border-top:1px solid var(--line);flex-wrap:wrap}.ctrl{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 18px;font-weight:500}.ctrl:hover{border-color:var(--accent-2)}.ctrl.off{background:#3a1d1d;border-color:var(--accent);color:#ffd9d2}.ctrl.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ctrl.leave{background:transparent;color:var(--accent);border-color:var(--accent)}.hint{position:relative;margin:12px 16px 0;background:#2a2410;border:1px solid #6b5a14;color:#ffe9a8;border-radius:12px;padding:14px 40px 14px 16px;line-height:1.5;font-size:14px}.hint-close{position:absolute;top:8px;right:8px;background:transparent;border:none;color:#ffe9a8;font-size:16px}@media (max-width: 640px){.faces.grid{grid-template-columns:1fr}.faces.filmstrip{width:110px;right:10px;bottom:10px}.faces.filmstrip .tile{height:78px}}
