@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600.woff2) format("woff2")}@property --connection-w{syntax: "<length-percentage>"; inherits: false; initial-value: 47%;}:root{color-scheme:light dark;--bg: #fafafa;--fg: #171717;--muted: #5c5c5c;--line: #e4e4e4;--line-strong: #cfcfcf;--fill: #f0f0f0;--fill-hover: #e6e6e6;--surface: #ffffff;--surface-2: #f5f5f5;--primary: #171717;--primary-fg: #fafafa;--primary-hover: #000000;--danger: #c62828;--danger-fg: #ffffff;--danger-hover: #b71c1c;--ok: #0f6b43;--stage-bg: #050505;--stage-fg: #f5f5f5;--stage-line: rgba(255, 255, 255, .14);--stage-muted: rgba(255, 255, 255, .68);--ring: var(--fg);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 16px 48px rgba(0, 0, 0, .14);--radius-xs: 4px;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Fira Code", Consolas, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: clamp(1.75rem, 3.2vw, 2.5rem);--control-h: 2.75rem;--control-h-sm: 2.25rem;--header-h: 3.5rem;--header-h-session: 3.25rem;--dock-h: 4.75rem;--panel-w: 20rem;--page: 84rem;--page-wide: 104rem;--stage-gap: clamp(.375rem, .8vw, .625rem);--pip-offset: clamp(.5rem, 1.2vw, 1rem);--ease: .14s ease}@media(prefers-color-scheme:dark){:root{--bg: #000000;--fg: #f5f5f5;--muted: #a3a3a3;--line: #262626;--line-strong: #3d3d3d;--fill: #141414;--fill-hover: #222222;--surface: #0a0a0a;--surface-2: #111111;--primary: #f5f5f5;--primary-fg: #0a0a0a;--primary-hover: #ffffff;--danger: #ef5350;--danger-fg: #0a0a0a;--danger-hover: #f87171;--ok: #4ade80;--stage-bg: #000000;--stage-line: rgba(255, 255, 255, .16);--ring: var(--fg);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow: 0 20px 60px rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;height:100%}body{min-height:100dvh;margin:0;display:flex;flex-direction:column;overflow-x:hidden;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.app.in-session){height:100dvh;overflow:hidden}::selection{background:var(--fg);color:var(--bg)}:focus{outline:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}a:hover{text-decoration-color:var(--fg)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:200;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-fg);text-decoration:none;font-size:var(--text-base);transform:translateY(calc(-100% - var(--space-4)))}.skip-link:focus,.skip-link:focus-visible{transform:none}.app-header{position:sticky;top:0;z-index:60;flex:none;border-bottom:1px solid var(--line);background:var(--bg)}.app-header-inner{width:100%;max-width:var(--page-wide);height:var(--header-h);margin:0 auto;padding:0 clamp(var(--space-4),3vw,var(--space-8));display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}body:has(.app.in-session) .app-header-inner{height:var(--header-h-session)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--fg);text-decoration:none}.brand-mark{width:1.375rem;height:1.375rem;display:block;flex:none}.brand-cutout{fill:var(--bg)}.brand-name{font-size:var(--text-md);font-weight:600;letter-spacing:-.02em}.header-center{display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-width:0;color:var(--muted);font-size:var(--text-sm);font-weight:600}.call-timer{display:inline-flex;align-items:center;color:var(--fg);font-size:var(--text-sm);white-space:nowrap}.call-timer:not([hidden])+.health:before{content:"";width:1px;height:.75rem;background:var(--line);margin-right:var(--space-3)}.health{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.health #connectionHealth{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:.4375rem;height:.4375rem;flex:none;border-radius:50%;background:var(--muted)}.status-dot.ok{background:var(--fg)}.status-dot.warn{background:var(--muted);animation:pulse 1.6s ease-in-out infinite}.status-dot.bad{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.header-actions{display:flex;align-items:center;gap:var(--space-1);min-width:0}.header-invite,.header-share{flex:none}.app{--connection-w: 47%;width:100%;max-width:var(--page);margin:0 auto;flex:1;padding:clamp(1.5rem,3.5vw,3rem) clamp(1rem,3vw,2rem) var(--space-8);display:grid;grid-template-columns:var(--connection-w) minmax(0,1fr);gap:clamp(2rem,4.5vw,4.5rem);align-items:start;transition:--connection-w .46s cubic-bezier(.2,.8,.2,1),gap .46s cubic-bezier(.2,.8,.2,1),padding .46s cubic-bezier(.2,.8,.2,1)}.lobby-column,.lobby{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.stage-column{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.lobby-intro{display:flex;flex-direction:column;gap:var(--space-3)}.lobby h1{margin:0;color:var(--fg);font-size:var(--text-xl);font-weight:600;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}.lobby-sub{max-width:46ch;margin:0;color:var(--muted);font-size:var(--text-md);line-height:1.55;text-wrap:pretty}.connection-head{display:none}.connection-title{margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.connection-note{margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.identity-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.identity-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.identity-label{color:var(--muted);font-size:var(--text-xs);font-weight:600}.id-value{max-width:100%;min-width:0;overflow:hidden;color:var(--fg);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;user-select:all}.id-value.is-pending{color:var(--muted)}@media(prefers-reduced-motion:no-preference){.id-value.is-pending{animation:pulse 1.6s ease-in-out infinite}}.identity-card .btn{flex:none}.invite-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.invite-actions .btn{min-height:2.75rem}.invite-actions .btn.primary{flex:1 1 12rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:.5rem var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--fg);font-family:inherit;font-size:var(--text-sm);font-weight:600;line-height:1.2;text-align:center;white-space:nowrap;cursor:pointer;transition:background-color var(--ease),border-color var(--ease),color var(--ease),opacity var(--ease)}.btn svg{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--primary-fg)}.btn.primary:not(:disabled):hover{background:var(--primary-hover)}.btn.primary:not(:disabled):active{background:var(--fg)}.btn.primary:disabled{opacity:1;background:var(--fill);color:var(--muted)}.btn.ghost{border-color:var(--line);background:var(--bg);color:var(--fg)}.btn.ghost:not(:disabled):hover{background:var(--fill)}.btn.ghost:not(:disabled):active{background:var(--fill-hover)}.btn.quiet{padding-inline:var(--space-3);color:var(--muted)}.btn.quiet:not(:disabled):hover{background:var(--fill);color:var(--fg)}.btn.quiet:not(:disabled):active{background:var(--fill-hover)}.btn.sm{min-height:var(--control-h-sm);padding:.375rem var(--space-3);font-size:var(--text-xs)}.btn.sm svg{width:.875rem;height:.875rem}.dialer{display:flex;flex-direction:column;gap:var(--space-3)}.field-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.field-label{font-size:var(--text-sm);font-weight:600}.dialer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:stretch}.dialer-field{position:relative;min-width:0}.dialer-field input{width:100%;padding-right:4.75rem}.field-clear{position:absolute;top:50%;right:.25rem;min-height:2rem;transform:translateY(-50%)}.dialer-field:has(input:placeholder-shown) .field-clear{visibility:hidden;pointer-events:none}.call-btn{min-width:7.5rem}.privacy-note{margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.privacy-note a{color:var(--muted)}.field-error{margin:0;color:var(--danger);font-size:var(--text-sm)}input,select{min-height:var(--control-h);padding:.5rem var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;background:var(--bg);color:var(--fg);font-family:inherit;font-size:var(--text-sm);caret-color:var(--fg);transition:border-color var(--ease)}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--fg) 28%,var(--line))}input:focus-visible,select:focus-visible{border-color:var(--fg);outline:2px solid var(--ring);outline-offset:1px}input:disabled,select:disabled{opacity:.5;background:var(--fill);cursor:not-allowed}input.mono{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.01em}input::placeholder{color:var(--muted)}input[aria-invalid=true]{border-color:var(--danger)}.stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:var(--stage-gap);min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius-lg);background:var(--stage-bg);isolation:isolate}.app:not(.in-session) .stage{aspect-ratio:16 / 9;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.app:not(.in-session) .stage-column{position:sticky;top:calc(var(--header-h) + var(--space-4))}.video-card{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:var(--radius);background:var(--stage-bg);contain:content}.video-card video{display:block;width:100%;height:100%;background:var(--stage-bg);object-fit:cover}.video-card.sharing-screen video,.video-card.is-presenting video{object-fit:contain}.video-meta{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:2.5rem var(--space-3) var(--space-2);background:linear-gradient(to top,rgba(0,0,0,.68),transparent);color:var(--stage-fg);font-size:var(--text-sm)}.video-name{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.video-name strong{overflow:hidden;font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.video-presence-dot{width:.375rem;height:.375rem;flex:none;border-radius:50%;background:#7ee2a8;box-shadow:0 0 0 2px #00000040}.video-badge,.video-presenting-badge{min-width:0;padding:.125rem .5rem;overflow:hidden;border-radius:var(--radius-xs);background:#ffffff29;color:var(--stage-fg);font-size:var(--text-xs);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.video-presenting-badge{position:absolute;top:var(--space-2);left:var(--space-2);z-index:3;display:none;flex:none;background:#fffffff0;color:#111}.video-card.sharing-screen .video-presenting-badge{display:inline-flex}.video-card.sharing-screen .video-meta{right:auto;bottom:var(--space-2);left:var(--space-2);padding:0;background:none}.video-card.sharing-screen .video-name{padding:.25rem .5rem;border-radius:var(--radius-xs);background:#0000009e}.video-card.sharing-screen .video-badge{display:none}.video-empty{position:absolute;inset:0;z-index:1;display:none;place-items:center;margin:0;padding:var(--space-5);color:var(--stage-muted);font-size:var(--text-sm);text-align:center;pointer-events:none}.video-card.no-media .video-empty,.video-card.camera-off .video-empty,.video-card.audio-only .video-empty,.video-card.awaiting-stream .video-empty{display:grid}.video-card.no-media .video-meta{background:none;padding:var(--space-3)}.video-card.awaiting-stream .video-meta{background:none}.video-actions{position:absolute;top:var(--space-2);right:var(--space-2);z-index:4;display:flex;gap:var(--space-1)}.video-action{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--stage-line);border-radius:var(--radius-sm);background:#00000094;color:#fff;cursor:pointer;opacity:0;transition:opacity var(--ease),background-color var(--ease)}.video-action svg{width:.875rem;height:.875rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.video-card:hover .video-action,.video-action:focus-visible{opacity:1}.video-action:hover{background:#000000d1}.video-pip-move{display:none}.video-card :focus-visible{outline-color:#fff}.video-play{position:absolute;top:50%;left:50%;z-index:5;transform:translate(-50%,-50%);background:#fff;color:#171717}#localVideo{transform:scaleX(-1)}#localCard.sharing-screen #localVideo{transform:none}.stage[data-participants="2"]{display:block}.stage[data-participants="2"]>.video-card.remote{position:absolute;inset:0;width:100%;height:100%}.stage[data-participants="2"]>#localCard:not(.is-presenting){position:absolute;right:var(--pip-offset);bottom:var(--pip-offset);z-index:3;width:clamp(7rem,25%,17rem);aspect-ratio:16 / 9;border:1px solid var(--stage-line);border-radius:var(--radius);box-shadow:0 10px 28px #0006}.stage[data-pip=tl][data-participants="2"]>#localCard:not(.is-presenting){top:var(--pip-offset);right:auto;bottom:auto;left:var(--pip-offset)}.stage[data-participants="2"]>#localCard .video-meta{padding:1.5rem var(--space-2) var(--space-2);font-size:var(--text-xs)}.stage[data-participants="2"]>#localCard .video-badge{display:none}.stage[data-participants="2"]>.video-card.remote .video-meta{justify-content:flex-start;gap:var(--space-3)}.stage[data-participants="2"] .video-pip-move,.stage.has-presentation[data-participants="2"] .video-pip-move{display:inline-flex}.stage[data-participants="3"]{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.stage[data-participants="3"]>.video-card.remote:nth-child(2){grid-column:1;grid-row:1 / span 2}.stage[data-participants="3"]>.video-card.remote:nth-child(3){grid-column:2;grid-row:1}.stage[data-participants="3"]>#localCard{grid-column:2;grid-row:2}.stage[data-participants="4"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.stage[data-participants="4"]>#localCard{grid-column:2;grid-row:2}.stage[data-participants="4"]>.video-card.remote:nth-child(2){grid-column:1;grid-row:1}.stage[data-participants="4"]>.video-card.remote:nth-child(3){grid-column:2;grid-row:1}.stage[data-participants="4"]>.video-card.remote:nth-child(4){grid-column:1;grid-row:2}.stage.has-presentation{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr) minmax(5rem,22%)}.stage.has-presentation[data-participants="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}.stage.has-presentation[data-participants="1"]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.stage.has-presentation[data-participants]>.video-card.is-presenting,.stage.has-presentation[data-participants]>#localCard.is-presenting{grid-column:1 / -1;grid-row:1}.stage.has-presentation[data-participants]>.video-card:not(.is-presenting){grid-column:auto;grid-row:2}.stage.has-presentation[data-participants="2"]{display:block}.stage.has-presentation[data-participants="2"]>.video-card.is-presenting{position:absolute;inset:0;width:100%;height:100%}.stage.has-presentation[data-participants="2"]>.video-card:not(.is-presenting){position:absolute;top:auto;right:var(--pip-offset);bottom:var(--pip-offset);left:auto;z-index:3;width:clamp(7rem,25%,17rem);height:auto;aspect-ratio:16 / 9;border:1px solid var(--stage-line);border-radius:var(--radius);box-shadow:0 10px 28px #0006}.stage.has-presentation[data-pip=tl][data-participants="2"]>.video-card:not(.is-presenting){top:var(--pip-offset);right:auto;bottom:auto;left:var(--pip-offset)}.stage.has-presentation>.video-card:not(.is-presenting) .video-meta{padding:1.5rem var(--space-2) var(--space-2);font-size:var(--text-xs)}.stage.has-presentation>.video-card:not(.is-presenting) .video-badge{display:none}.video-card:fullscreen,.video-card:-webkit-full-screen{contain:none;border:none;border-radius:0;background:#000}.video-card:fullscreen video,.video-card:-webkit-full-screen video{width:100%;height:100dvh;object-fit:contain}.video-card:fullscreen .video-meta,.video-card:-webkit-full-screen .video-meta{padding:var(--space-4) var(--space-4) var(--space-3)}.preview-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0;padding:0 var(--space-1);color:var(--muted);font-size:var(--text-xs)}.readiness{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.readiness-dot{width:.375rem;height:.375rem;flex:none;border-radius:50%;background:var(--muted)}.readiness.is-ready .readiness-dot{background:var(--ok)}.readiness.is-pending{visibility:hidden}.readiness.is-pending .readiness-dot{animation:pulse 1.6s ease-in-out infinite}.readiness.is-error .readiness-dot{background:var(--danger)}#mediaReadiness{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-hint{flex:none;color:var(--muted)}.status{min-height:1.5rem;color:var(--muted);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere}.status.error{color:var(--danger)}.status.success{color:var(--ok)}.app.in-session .status{position:fixed;top:calc(var(--header-h-session) + var(--space-2));left:50%;z-index:75;width:max-content;max-width:min(32rem,calc(100vw - 2rem));min-height:0;padding:var(--space-2) var(--space-4);transform:translate(-50%);border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);font-size:var(--text-sm);text-align:center;pointer-events:none}.app.in-session .status.quiet,.app.in-session .status.is-dismissed{display:none}.side-panel{position:fixed;top:calc(var(--header-h) + var(--space-3));right:clamp(var(--space-3),3vw,var(--space-6));z-index:80;display:flex;flex-direction:column;width:min(var(--panel-w),calc(100vw - 2 * var(--space-4)));max-height:min(36rem,calc(100dvh - var(--header-h) - 2 * var(--space-4)));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.side-panel:focus,.side-panel:focus-visible{outline:none}.side-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex:none;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.side-panel-header h2{margin:0;font-size:var(--text-sm);font-weight:600}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.icon-btn svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-btn:hover{background:var(--fill);color:var(--fg)}.chat-panel,.settings-panel{display:flex;flex-direction:column;min-height:0;flex:1}.chat-empty{margin:0;padding:var(--space-6) var(--space-4);color:var(--muted);font-size:var(--text-sm);text-align:center}.chat-log{display:flex;flex:1;flex-direction:column;gap:var(--space-2);min-height:4rem;margin:0;padding:var(--space-3);overflow-y:auto;list-style:none;scrollbar-color:var(--line) transparent;scrollbar-width:thin}.chat-log:empty{min-height:0}.chat-log li{flex-shrink:0;max-width:85%;margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--fill);font-size:var(--text-sm);line-height:1.45;overflow-wrap:anywhere}.chat-log li .chat-sender{display:block;margin-bottom:.125rem;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs)}.chat-log li.self{align-self:flex-end;background:var(--fg);color:var(--bg)}.chat-log li.self .chat-sender{color:color-mix(in srgb,var(--bg) 72%,var(--fg))}.chat-input-row{display:flex;flex:none;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--line)}.chat-input-row input{flex:1;min-width:0}.settings-panel{gap:var(--space-5);padding:var(--space-4);overflow-y:auto}.settings-section{display:flex;flex-direction:column;gap:var(--space-3)}.settings-title{margin:0;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.settings-note{margin:calc(-1 * var(--space-1)) 0 0;color:var(--muted);font-size:var(--text-xs)}.devices-row{display:flex;flex-direction:column;gap:var(--space-3)}.device-select{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;color:var(--muted);font-size:var(--text-xs);font-weight:600}.device-select select{width:100%;color:var(--fg)}.settings-panel .btn{align-self:flex-start}.connection-details{padding-top:var(--space-3);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs)}.connection-details summary{width:fit-content;padding:var(--space-1) 0;cursor:pointer}.connection-details p{margin:var(--space-2) 0;overflow-wrap:anywhere}kbd{color:var(--fg);font:inherit;font-family:var(--font-mono)}.dock{display:flex;justify-content:center;align-items:center;min-width:0}.control-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-1);max-width:100%;padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm)}.btn.control{min-width:3rem;min-height:3rem;padding:.5rem var(--space-4);border-radius:var(--radius-lg);color:var(--fg)}.btn.control:not(:disabled):hover{background:var(--fill)}.btn.control:not(:disabled):active{background:var(--fill-hover)}.btn.control.is-off{background:var(--fg);color:var(--bg)}.btn.control.is-off:not(:disabled):hover{background:var(--primary-hover);color:var(--primary-fg)}.btn.control.is-on,.btn.control[aria-expanded=true]{background:var(--fill)}.btn.control .icon-off,.btn.control.is-off .icon-on{display:none}.btn.control.is-off .icon-off{display:block}.btn.control.danger{color:var(--danger)}.btn.control.danger:not(:disabled){background:var(--danger);color:var(--danger-fg)}.btn.control.danger:not(:disabled):hover{background:var(--danger-hover);color:var(--danger-fg)}.control-sep{width:1px;align-self:stretch;margin:var(--space-2) var(--space-1);background:var(--line)}.control-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;border-radius:999px;background:var(--fg);color:var(--bg);font-size:.625rem;font-weight:600;line-height:1}.app:not(.in-session) .session-only,.app:not(.in-session) .control-sep{display:none}.app.is-ringing:before{content:"";position:fixed;inset:0;z-index:110;background:#00000038}@media(prefers-color-scheme:dark){.app.is-ringing:before{background:#0000008c}}.incoming-banner{position:fixed;top:calc(var(--header-h) + var(--space-4));left:50%;z-index:120;display:none;align-items:center;gap:var(--space-3);width:min(34rem,calc(100vw - 2 * var(--space-3)));padding:var(--space-3);transform:translate(-50%);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.incoming-banner.visible{display:flex}.incoming-icon{display:grid;flex:none;width:2.75rem;height:2.75rem;place-items:center;border-radius:50%;background:var(--fg);color:var(--bg)}.incoming-icon svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.incoming-copy{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.incoming-copy strong{font-size:var(--text-base);font-weight:600;overflow-wrap:anywhere}.incoming-copy span{color:var(--muted);font-size:var(--text-xs)}.incoming-actions{display:flex;flex:none;gap:var(--space-2)}.incoming-actions .btn{min-height:2.5rem}@media(prefers-reduced-motion:no-preference){.incoming-banner.visible .incoming-icon{animation:incoming-ring 1.8s ease-in-out infinite}}@keyframes incoming-ring{0%,to{box-shadow:0 0 color-mix(in srgb,var(--fg) 26%,transparent)}50%{box-shadow:0 0 0 .5rem transparent}}.site-footer{width:100%;max-width:var(--page);margin:auto auto 0;padding:var(--space-5) clamp(1rem,3vw,2rem) var(--space-8);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);text-align:center}body:has(.app.in-session) .site-footer{display:none}.site-footer nav{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.site-footer nav a{color:var(--muted);text-decoration:none}.site-footer nav a:hover{color:var(--fg);text-decoration:underline}.site-footer nav span{color:var(--line-strong)}.site-footer p{margin:var(--space-2) 0 0}.noscript{position:fixed;inset:auto 0 0;z-index:200;padding:var(--space-3) var(--space-4);background:var(--primary);color:var(--primary-fg);font-size:var(--text-base);text-align:center}.clipboard-helper{position:fixed;opacity:0;pointer-events:none}.app.in-session{--connection-w: clamp(15rem, 18vw, 18rem);display:grid;grid-template-columns:var(--connection-w) minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"connection stage panel" "connection dock dock";align-items:stretch;gap:var(--space-3);width:100%;max-width:none;min-height:0;margin:0;padding:var(--space-3) clamp(var(--space-3),2vw,var(--space-6));overflow:hidden}.app.in-session:not(.panel-open){grid-template-columns:var(--connection-w) minmax(0,1fr);grid-template-areas:"connection stage" "connection dock"}.app.in-session .lobby-column,.app.in-session .stage-column{display:contents}.app.in-session .lobby{display:flex;grid-area:connection;flex-direction:column;gap:var(--space-4);align-self:stretch;min-width:0;padding:var(--space-4);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.app.in-session .connection-head{display:flex;flex-direction:column;gap:var(--space-1)}.app.in-session .lobby-intro,.app.in-session .dialer{display:none}.app.in-session .identity-card{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-3)}.app.in-session .identity-card .btn{width:100%}.app.in-session .id-value{overflow-wrap:anywhere;line-height:1.35;white-space:normal}.app.in-session .invite-actions{flex-direction:column}.app.in-session .invite-actions .btn,.app.in-session .invite-actions .btn.primary{flex:0 0 auto;width:100%}.app.in-session .stage{grid-area:stage;height:100%;min-height:0;border:1px solid var(--line)}.app.in-session .preview-meta{display:none}.app.in-session .dock{grid-area:dock;min-height:var(--dock-h);padding-bottom:env(safe-area-inset-bottom)}.app.in-session .side-panel{position:static;grid-area:panel;align-self:stretch;width:var(--panel-w);max-height:none;border-radius:var(--radius-lg);box-shadow:none}.app.in-session .side-panel-header{padding-top:var(--space-2);padding-bottom:var(--space-2)}@media(prefers-reduced-motion:no-preference){.app.in-session .stage{animation:stage-enter .52s cubic-bezier(.2,.8,.2,1) both}.app.in-session .lobby{animation:rail-enter .46s cubic-bezier(.2,.8,.2,1) both}}@keyframes stage-enter{0%{opacity:.55;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes rail-enter{0%{opacity:0;transform:translate(-.5rem)}to{opacity:1;transform:translate(0)}}@media(max-width:1180px){.app:not(.in-session){gap:clamp(1.5rem,3vw,2.5rem)}.lobby-sub{font-size:var(--text-base)}}@media(max-width:980px){.app:not(.in-session){display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);max-width:44rem;padding-top:var(--space-5);padding-bottom:var(--space-8)}.app:not(.in-session) .lobby-column,.app:not(.in-session) .stage-column,.app:not(.in-session) .lobby{display:contents}.app:not(.in-session) .lobby-intro{order:1}.app:not(.in-session) .stage{order:2;position:static}.app:not(.in-session) .preview-meta{order:3}.app:not(.in-session) .dock{order:4}.app:not(.in-session) .identity-card{order:5}.app:not(.in-session) .invite-actions{order:6}.app:not(.in-session) .dialer{order:7}.app:not(.in-session) .status{order:8}.app:not(.in-session) .lobby-sub{max-width:52ch}.app:not(.in-session) .stage-column{position:static}.app.in-session{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stage panel" "dock dock"}.app.in-session:not(.panel-open){grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "dock"}.app.in-session .lobby{display:none}}@media(min-width:981px)and (max-width:1180px){.app.in-session.panel-open{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stage panel" "dock dock"}.app.in-session.panel-open .lobby{display:none}}@media(max-width:760px){:root{--header-h: 3.25rem;--header-h-session: 3rem;--dock-h: 4.5rem;--panel-w: min(22rem, calc(100vw - 2 * var(--space-3)))}.app-header-inner{padding-inline:var(--space-3)}.header-invite span,.header-share span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-invite,.header-share{min-width:2.5rem;padding-inline:var(--space-2)}.app:not(.in-session){padding-inline:var(--space-4);gap:var(--space-4)}.lobby h1{font-size:clamp(1.625rem,7vw,2.125rem)}.control-bar{gap:0}.btn.control{min-width:2.875rem;min-height:2.875rem;padding-inline:var(--space-2)}.btn.control .control-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn.control.danger{min-width:3.25rem}.app.in-session{padding:var(--space-2) var(--space-2) var(--space-2);gap:var(--space-2)}.app.in-session.panel-open{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "dock"}.app:not(.in-session) .side-panel{top:auto;right:var(--space-2);bottom:0;left:var(--space-2);width:auto;max-height:min(58dvh,30rem);padding-bottom:env(safe-area-inset-bottom)}.app:not(.in-session).panel-open .preview-meta{visibility:hidden}.app.in-session .side-panel{position:fixed;top:auto;right:var(--space-2);bottom:calc(var(--dock-h) + env(safe-area-inset-bottom) + var(--space-2));left:var(--space-2);width:auto;max-height:min(58dvh,30rem);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.stage[data-participants="3"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1.4fr) minmax(0,1fr)}.stage[data-participants="3"]>.video-card.remote:nth-child(2){grid-column:1 / -1;grid-row:1}.stage[data-participants="3"]>.video-card.remote:nth-child(3){grid-column:1;grid-row:2}.stage[data-participants="3"]>#localCard{grid-column:2;grid-row:2}.stage.has-presentation[data-participants="3"]{grid-template-rows:minmax(0,1fr) minmax(5rem,22%)}.stage.has-presentation[data-participants]>.video-card.remote:not(.is-presenting){grid-column:auto;grid-row:2}.stage.has-presentation[data-participants]>#localCard.is-presenting{grid-column:1 / -1;grid-row:1}.incoming-banner{top:calc(var(--header-h) + var(--space-2));flex-wrap:wrap}.incoming-copy{flex-basis:calc(100% - 4rem)}.incoming-actions{width:100%}.incoming-actions .btn{flex:1}.app.in-session .status{top:calc(var(--header-h-session) + var(--space-1))}.site-footer{padding-bottom:var(--space-6)}}@media(max-width:480px){.app:not(.in-session){padding-inline:var(--space-3)}.dialer-row{grid-template-columns:minmax(0,1fr)}.call-btn{width:100%}.identity-card{padding-left:var(--space-3)}.identity-card .btn{padding-inline:var(--space-2)}.invite-actions{flex-direction:column}.invite-actions .btn,.invite-actions .btn.primary{flex:0 0 auto;width:100%}.preview-hint,.stage[data-participants="3"] .video-badge,.stage[data-participants="4"] .video-badge{display:none}.stage[data-participants="2"]>#localCard:not(.is-presenting),.stage.has-presentation[data-participants="2"]>.video-card:not(.is-presenting){width:clamp(6.5rem,32%,10rem)}.incoming-banner{gap:var(--space-2);padding:var(--space-2)}.incoming-icon{width:2.25rem;height:2.25rem}.incoming-copy strong{font-size:var(--text-sm)}.incoming-actions .btn{min-height:2.75rem}.chat-input-row{padding:var(--space-2)}.settings-panel{padding:var(--space-3)}}@media(max-width:360px){.brand-name{display:none}.app.in-session{padding-inline:.375rem}.btn.control{min-width:2.75rem;padding-inline:.375rem}.control-sep{margin-inline:.125rem}.stage[data-participants="2"]>#localCard:not(.is-presenting),.stage.has-presentation[data-participants="2"]>.video-card:not(.is-presenting){width:6.5rem}.stage[data-participants="2"]>.video-card.remote .video-badge{display:none}}@media(pointer:coarse){.btn,input,select,.btn.sm,.field-clear{min-height:2.75rem}.video-action{width:2.75rem;height:2.75rem;opacity:1}.video-action svg{width:1rem;height:1rem}.stage[data-participants="2"]>#localCard:not(.is-presenting) .video-actions{opacity:0;pointer-events:none}.stage[data-participants="2"]>#localCard.actions-open .video-actions,.stage[data-participants="2"]>#localCard:focus-within .video-actions{opacity:1;pointer-events:auto}input,select,input.mono{font-size:1rem}.icon-btn{width:2.75rem;height:2.75rem}.header-invite,.header-share{min-width:2.75rem;padding-inline:var(--space-2)}}@media(max-height:640px)and (min-width:981px){.app:not(.in-session){padding-top:var(--space-4);gap:var(--space-6)}.app:not(.in-session) .lobby{gap:var(--space-4)}.app:not(.in-session) .stage{max-height:calc(100dvh - var(--header-h) - 9rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
