:root{color-scheme:dark;--bg:#060810;--bg-1:#0a0d16;--bg-2:#0f1320;--surface:rgba(255,255,255,0.034);--surface-2:rgba(255,255,255,0.06);--panel:rgba(12,16,26,0.88);--panel-solid:#0d1220;--border:rgba(255,255,255,0.08);--border-2:rgba(255,255,255,0.14);--text:#e2e8f4;--text-2:#8b96b0;--text-3:#55607a;--accent:#4a9eff;--accent-2:#7bc4ff;--accent-grad:linear-gradient(135deg,#3b9eff,#7c6bf8 50%,#c06ef6);--accent-surface:rgba(74,158,255,0.12);--accent-border:rgba(74,158,255,0.4);--success:#22d46c;--warn:#f5a623;--danger:#f56565;--danger-surface:rgba(245,101,101,0.14);--danger-border:rgba(245,101,101,0.38);--r-sm:10px;--r:14px;--r-lg:20px;--r-xl:28px;--shadow:0 12px 40px -16px rgba(0,0,0,0.8);--shadow-lg:0 24px 64px -24px rgba(0,0,0,0.9);--shadow-glow:0 0 0 1px rgba(74,158,255,0.28),0 8px 32px -8px rgba(74,158,255,0.28);--dock-h:80px}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}button,input,select,textarea{font:inherit;color:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}.muted{color:var(--text-2)}.hidden-audio,.hidden-video{position:fixed;pointer-events:none;width:1px;height:1px;opacity:0}.button{display:inline-flex;min-height:46px;gap:9px;align-items:center;justify-content:center;border-radius:999px;padding:0 22px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:.94rem;letter-spacing:-.01em;text-decoration:none;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-2);transform:translateY(-1px)}.button.primary{background:var(--accent-grad);border-color:transparent;color:#040c18;font-weight:700;box-shadow:0 8px 28px -10px rgba(74,158,255,.6)}.button.primary:hover:not(:disabled){box-shadow:0 12px 36px -10px rgba(124,108,248,.7)}.button.danger{background:var(--danger-surface);border-color:var(--danger-border);color:#fecaca}.button.danger:hover:not(:disabled){background:rgba(245,101,101,.22)}.button.ghost{background:transparent;border-color:transparent}.button.block{width:100%}.button.lg{min-height:52px;padding:0 28px;font-size:.98rem}.landing{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.1fr) minmax(360px,.82fr);grid-gap:56px;gap:56px;align-items:start;max-width:1280px;margin:0 auto;padding:56px 56px 72px;background:radial-gradient(1200px 760px at 18% -8%,rgba(74,158,255,.12),transparent 60%),radial-gradient(1000px 700px at 92% 0,rgba(168,139,250,.12),transparent 58%)}.hero{min-width:0}.brand-mark{display:inline-flex;gap:11px;align-items:center;margin-bottom:34px;font-weight:800;letter-spacing:-.03em;font-size:1.15rem}.brand-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent-grad);color:#040c18;font-weight:900;font-size:1rem;box-shadow:0 6px 20px -6px rgba(74,158,255,.55)}.eyebrow{display:inline-flex;gap:8px;align-items:center;margin:0 0 20px;border:1px solid var(--border);border-radius:999px;padding:7px 14px;background:var(--surface);color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}h1{margin-bottom:22px;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.98;letter-spacing:-.045em;font-weight:800}h1 .grad{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{max-width:560px;color:var(--text-2);font-size:1.18rem;line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.join-inline{display:flex;gap:10px;margin-top:26px;max-width:440px}.join-inline input{flex:1 1;border:1px solid var(--border);border-radius:999px;background:var(--surface);padding:0 20px;min-height:50px;letter-spacing:.04em}.join-inline input:focus{outline:none;border-color:var(--accent)}.trust-row{display:flex;flex-wrap:wrap;gap:22px;margin-top:40px;color:var(--text-3);font-size:.86rem}.trust-row span{display:inline-flex;gap:8px;align-items:center}.showcase{position:-webkit-sticky;position:sticky;top:56px;display:grid;place-items:center;min-height:540px}.phone{position:relative;width:min(300px,78%);aspect-ratio:9/16;border-radius:42px;padding:12px;background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.02));border:1px solid var(--border-2);box-shadow:var(--shadow-lg),0 50px 120px -50px rgba(124,108,248,.55)}.phone-screen{display:grid;grid-template-rows:1fr 1fr;grid-gap:10px;gap:10px;height:100%;border-radius:32px;background:var(--bg-2);padding:10px}.phone-cell,.phone-screen{position:relative;overflow:hidden}.phone-cell{border-radius:20px;background:linear-gradient(135deg,rgba(74,158,255,.22),rgba(168,139,250,.18))}.phone-cell:after{content:"";position:absolute;inset:0;background:radial-gradient(120px 120px at 50% 38%,rgba(255,255,255,.22),transparent 70%)}.phone-badge{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:inline-flex;gap:7px;align-items:center;border-radius:999px;background:rgba(220,38,38,.92);padding:5px 12px;font-size:.72rem;font-weight:700;z-index:2}.phone-badge .pulse{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.4s ease-in-out infinite}.floaty{position:absolute;border:1px solid var(--border);border-radius:var(--r);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:12px 14px;box-shadow:var(--shadow);font-size:.82rem}.floaty strong{display:block;font-size:.92rem}.floaty.one{top:14%;right:2%}.floaty.two{bottom:16%;left:0}.feature-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:56px}.feature-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:20px;transition:border-color .18s,transform .18s}.feature-card:hover{transform:translateY(-3px);border-color:var(--border-2)}.feature-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border-radius:13px;background:var(--surface-2);color:var(--accent)}.feature-card strong{display:block;margin-bottom:6px;font-size:1rem}.feature-card span{color:var(--text-2);font-size:.9rem;line-height:1.5}.room{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;isolation:isolate;height:100dvh}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.room-topbar{flex:none;height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:rgba(6,8,16,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;padding:env(safe-area-inset-top) 18px 0;height:calc(58px + env(safe-area-inset-top))}.rtb-left,.rtb-right{display:flex;gap:10px;align-items:center}.rtb-brand{display:inline-flex;gap:9px;align-items:center;font-weight:800;font-size:1.05rem;letter-spacing:-.03em;margin:0}.rtb-brand .brand-dot{width:28px;height:28px;border-radius:8px;font-size:.85rem}.room-id-chip{display:inline-flex;gap:7px;align-items:center;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.82rem;font-weight:600;color:var(--text-2)}.room-id-chip code{color:var(--accent);font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.06em;font-size:.78rem}.status-pill{display:inline-flex;gap:7px;align-items:center;height:30px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.78rem;font-weight:600;color:var(--text-2)}.status-pill .sp-dot{width:7px;height:7px;border-radius:50%;background:var(--text-3);flex:none}.status-pill.sp-live{border-color:rgba(34,212,108,.3)}.status-pill.sp-live .sp-dot{background:var(--success);box-shadow:0 0 0 3px rgba(34,212,108,.2)}.status-pill.sp-connecting .sp-dot{background:var(--warn);animation:pulse 1.2s ease-in-out infinite}.status-pill.sp-error .sp-dot{background:var(--danger)}.status-pill.sp-recording{border-color:rgba(239,68,68,.38);color:#fecaca}.status-pill.sp-recording .sp-dot{background:var(--danger);box-shadow:0 0 0 3px rgba(239,68,68,.18)}.peer-count{gap:6px;height:30px;padding:0 11px;border:1px solid var(--border);font-weight:600}.panel-toggle,.peer-count{display:inline-flex;align-items:center;border-radius:999px;background:var(--surface);font-size:.78rem;color:var(--text-2)}.panel-toggle{gap:7px;height:32px;padding:0 12px;border:1px solid var(--border);font-weight:650;transition:background .14s ease,border-color .14s ease,color .14s ease}.panel-toggle:hover{background:var(--surface-2);border-color:var(--border-2);color:var(--text)}.room-main{flex:1 1;min-height:0;display:grid}.room-main.host-mode{grid-template-columns:1fr 360px}.room-main.guest-mode,.room-main.host-mode.controls-closed{grid-template-columns:1fr}.stage-col{display:flex;flex-direction:column;gap:10px;padding:12px 8px 12px 14px;overflow:hidden;padding-bottom:calc(var(--dock-h) + 8px)}.canvas-stage,.stage-col{position:relative;min-height:0}.canvas-stage{flex:1 1;display:grid;place-items:center;border-radius:var(--r-lg);background:#040508;border:1px solid var(--border);overflow:hidden;padding:18px}.canvas-stage .waiting-hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.82rem;color:var(--text-3);background:rgba(4,5,8,.72);border-radius:999px;padding:7px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);pointer-events:none}.record-canvas{display:block;width:100%;height:100%;border-radius:var(--r-lg);background:#040508}.recorder-error{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;margin:8px auto;padding:8px 14px;border-radius:var(--r-md,10px);background:rgba(220,38,38,.92);color:#fff;font-size:13px;font-weight:600;text-align:center;box-shadow:0 6px 24px -8px rgba(0,0,0,.6)}.stage-message-stack{position:absolute;left:50%;bottom:16px;z-index:4;display:flex;width:min(90%,680px);transform:translateX(-50%);flex-direction:column;align-items:center;gap:7px;pointer-events:none}.stage-message-stack .recorder-error{margin:0}.recorder-warning{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0;padding:8px 14px;border:1px solid rgba(245,166,35,.34);border-radius:var(--r-md,10px);background:rgba(28,22,12,.94);color:#fde68a;font-size:13px;font-weight:600;text-align:center}.canvas-stage .stage-message-stack .waiting-hint{position:static;max-width:100%;transform:none}.stage-message-stack button{pointer-events:auto}.composer{position:relative;display:block;line-height:0;border-radius:var(--r-lg);aspect-ratio:var(--composer-aspect);max-width:100%;max-height:100%;overflow:hidden}.composer.recording{box-shadow:0 0 0 2px rgba(220,38,38,.85),0 0 48px -8px rgba(220,38,38,.42)}.rec-badge{position:absolute;top:14px;left:14px;z-index:3;display:inline-flex;gap:8px;align-items:center;border-radius:999px;background:rgba(220,38,38,.92);padding:6px 13px;font-size:.82rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:0 6px 20px -6px rgba(220,38,38,.7)}.rec-badge .pulse{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.2s ease-in-out infinite}.safe-overlay{inset:0;overflow:hidden;border-radius:var(--r-lg);z-index:2}.safe-overlay,.safe-zone{position:absolute;pointer-events:none}.safe-zone{border:1px solid rgba(255,255,255,.15);border-radius:8px}.safe-corner{position:absolute;width:14px;height:14px;border:2px solid rgba(100,200,255,.85)}.safe-corner.tl{top:-1px;left:-1px;border-right:none;border-bottom:none;border-top-left-radius:8px}.safe-corner.tr{top:-1px;right:-1px;border-left:none;border-bottom:none;border-top-right-radius:8px}.safe-corner.bl{bottom:-1px;left:-1px;border-right:none;border-top:none;border-bottom-left-radius:8px}.safe-corner.br{bottom:-1px;right:-1px;border-left:none;border-top:none;border-bottom-right-radius:8px}.strip{position:absolute;left:14px;bottom:calc(var(--dock-h) + 16px);z-index:12;height:84px;display:flex;gap:8px;max-width:min(520px,calc(100% - 28px));overflow-x:auto;overflow-y:hidden}.strip::-webkit-scrollbar{height:0}.strip-tile{flex:none;position:relative;width:136px;height:100%;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#07090e;flex-shrink:0}.strip-tile video{width:100%;height:100%;object-fit:cover}.strip-tile.empty{display:grid;place-items:center;font-size:.78rem;color:var(--text-3)}.strip-tile video.mirror{transform:scaleX(-1)}.strip-meta{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:5px;padding:5px 8px;background:linear-gradient(transparent,rgba(0,0,0,.68));font-size:.72rem;font-weight:600;color:rgba(255,255,255,.88);pointer-events:none}.strip-meta .mic-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex:none}.strip-meta .mic-dot.off{background:var(--danger)}.room-panel{display:flex;flex-direction:column;border-left:1px solid var(--border);background:rgba(10,13,22,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden;padding-bottom:var(--dock-h)}.room-main.controls-closed .room-panel{display:none}.studio-panel{display:flex;flex-direction:column;overflow:hidden;height:100%;background:transparent}.panel-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.panel-summary .ps-preset{font-weight:700;font-size:.86rem;letter-spacing:-.01em}.panel-summary .ps-spec{font-size:.72rem;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em}.studio-tabs{display:grid;grid-auto-flow:column;grid-gap:3px;gap:3px;padding:8px 10px;border-bottom:1px solid var(--border);flex:none}.studio-tab{display:grid;grid-gap:4px;gap:4px;justify-items:center;padding:8px 6px;border-radius:10px;background:transparent;color:var(--text-3);font-size:.72rem;font-weight:600;letter-spacing:.01em;transition:background .13s,color .13s}.studio-tab svg{opacity:.8}.studio-tab:hover{background:var(--surface);color:var(--text-2)}.studio-tab.active{background:var(--surface-2);color:var(--text)}.studio-tab.active svg{color:var(--accent);opacity:1}.studio-body{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:18px;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.studio-body::-webkit-scrollbar{width:6px}.studio-body::-webkit-scrollbar-thumb{border-radius:3px;background:var(--border-2)}.field-group{display:flex;flex-direction:column;gap:11px}.field-group>h4{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.control{display:grid;grid-gap:7px;gap:7px}.control-label,.control>label{display:flex;justify-content:space-between;color:var(--text-2);font-size:.8rem;font-weight:600}.control-label .val{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.control input[type=text],.control select,.field input{width:100%;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:10px 12px;font-size:.86rem;transition:border-color .14s}.control input:focus,.control select:focus,.field input:focus{outline:none;border-color:var(--accent)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;border-radius:999px;background:var(--surface-2);cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:#fff;border:2.5px solid var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.4)}input[type=range]::-moz-range-thumb{width:17px;height:17px;border:2.5px solid var(--accent);border-radius:50%;background:#fff}input[type=range]:disabled{opacity:.45}.segmented{display:grid;grid-auto-flow:column;grid-gap:5px;gap:5px}.segmented.wrap{grid-auto-flow:row;grid-template-columns:repeat(2,1fr)}.segmented button{display:inline-flex;gap:6px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);padding:9px 8px;font-size:.84rem;font-weight:600;transition:all .13s}.segmented button:hover:not(:disabled):not(.active){color:var(--text);border-color:var(--border-2)}.segmented button.active{background:var(--accent-surface);border-color:var(--accent-border);color:var(--accent-2)}.suggestion{display:flex;gap:10px;align-items:center;border:1px solid var(--accent-border);border-radius:var(--r);background:var(--accent-surface);padding:11px 13px;color:var(--accent)}.suggestion .sg-text{flex:1 1;color:var(--text);font-size:.82rem;line-height:1.4}.suggestion .sg-apply{flex:none;border-radius:999px;border:0;background:var(--accent);color:#040c18;padding:6px 13px;font-size:.8rem;font-weight:700}.suggestion .sg-status{background:var(--accent-surface);color:var(--accent-2)}.suggestion button.sg-apply:hover{background:var(--accent-2)}.layout-picker{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.layout-card{display:flex;flex-direction:column;gap:7px;align-items:center;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:12px 8px 10px;color:var(--text-2);font-size:.8rem;font-weight:600;transition:all .13s}.layout-card:hover:not(:disabled):not(.active){border-color:var(--border-2);color:var(--text);transform:translateY(-1px)}.layout-card.active{background:var(--accent-surface);border-color:var(--accent-border);color:var(--accent-2)}.swap-btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:10px;font-size:.84rem;font-weight:600;transition:all .13s;width:100%}.swap-btn:hover:not(:disabled){border-color:var(--border-2);background:var(--surface-2)}.disclosure{display:inline-flex;gap:7px;align-items:center;width:-moz-fit-content;width:fit-content;border:0;background:none;color:var(--text-2);font-size:.82rem;font-weight:600}.disclosure:hover{color:var(--text)}.disclosure svg{transition:transform .16s ease}.disclosure.open svg{transform:rotate(90deg)}.preset-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.preset-card{display:grid;grid-gap:3px;gap:3px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:11px;text-align:left;transition:all .13s}.preset-card:hover:not(:disabled):not(.active){border-color:var(--border-2);transform:translateY(-1px)}.preset-card .pc-top{display:flex;gap:7px;align-items:center;color:var(--accent)}.preset-card strong{font-size:.88rem;color:var(--text)}.preset-card span{color:var(--text-3);font-size:.72rem;line-height:1.4}.preset-card.active{background:var(--accent-surface);border-color:var(--accent-border)}.color-row{display:flex;gap:10px}.dim-row{display:flex;align-items:flex-end;gap:8px}.dim-row label{flex:1 1;display:flex;flex-direction:column;gap:5px;font-size:.74rem;color:var(--text-2)}.dim-row input{width:100%;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:9px 10px;font-size:.88rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dim-x{padding-bottom:10px;color:var(--text-2)}.quick-dims{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.quick-dims button{border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);padding:5px 11px;font-size:.76rem;font-weight:600;transition:all .13s}.quick-dims button.active{background:var(--accent-surface);border-color:var(--accent-border);color:var(--accent-2)}.color-swatch{position:relative;flex:1 1;height:42px;border-radius:var(--r-sm);border:1px solid var(--border);overflow:hidden}.color-swatch input[type=color]{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);border:0;padding:0;background:none;cursor:pointer}.toggle-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:11px 13px}.toggle-row .label{font-size:.84rem;color:var(--text);line-height:1.35}.toggle-row .label small{display:block;color:var(--text-3);font-size:.72rem}.switch{position:relative;flex:none;width:42px;height:24px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);transition:background .18s,border-color .18s;cursor:pointer}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.5);transition:transform .18s,background .18s}.switch.on{background:var(--accent);border-color:transparent}.switch.on:after{transform:translateX(18px);background:#fff}.readout{display:flex;justify-content:space-between;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:11px 13px;font-size:.84rem}.readout .v{color:var(--text);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.note{border:1px solid rgba(245,166,35,.3);border-radius:var(--r-sm);background:rgba(245,166,35,.08);color:#fde68a;padding:11px 13px;font-size:.82rem}.hint,.note{line-height:1.5}.hint{color:var(--text-3);font-size:.78rem}.download-card{display:flex;gap:12px;align-items:center;border:1px solid rgba(34,212,108,.28);border-radius:var(--r);background:rgba(34,212,108,.07);padding:13px}.download-card .dc-text{flex:1 1;font-size:.84rem}.download-card .dc-text small{display:block;color:var(--text-2);margin-top:2px}.guest-view-wrap{display:flex;flex-direction:column;min-height:0;padding:12px 14px;padding-bottom:calc(var(--dock-h) + 8px);gap:10px}.guest-canvas-area{position:relative;flex:1 1;min-height:0;display:grid;place-items:center;border-radius:var(--r-lg);background:#040508;border:1px solid var(--border);overflow:hidden;padding:18px}.live-preview-tag{position:absolute;top:14px;left:14px;z-index:5;display:inline-flex;gap:7px;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:rgba(74,158,255,.18);border:1px solid rgba(74,158,255,.35);color:var(--accent-2);font-size:.72rem;font-weight:700;letter-spacing:.05em;pointer-events:none}.live-preview-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.6s ease-in-out infinite}.self-pip{position:absolute;bottom:16px;right:16px;width:172px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.16);box-shadow:0 8px 28px rgba(0,0,0,.7);background:#040508;z-index:10;cursor:default}.self-pip video{width:100%;height:100%;object-fit:cover;display:block}.self-pip-label{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;font-size:.68rem;font-weight:600;color:rgba(255,255,255,.78);background:linear-gradient(transparent,rgba(0,0,0,.6))}.guest-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:48px}.guest-waiting .gw-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--surface-2);color:var(--text-3)}.guest-waiting p{font-size:.88rem;color:var(--text-2);max-width:280px;line-height:1.5;margin:0}.recovery-banner{border:1px solid rgba(245,166,35,.34);border-radius:var(--r);background:rgba(245,166,35,.07);padding:13px 15px;display:flex;flex-direction:column;gap:11px}.recovery-card{display:grid;grid-gap:11px;gap:11px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:14px 15px}.recovery-card .recovery-actions>.waiting-hint,.recovery-card>.waiting-hint{color:var(--text-2);font-size:.78rem;line-height:1.45}.recovery-card .recovery-actions{flex-wrap:wrap}.recovery-head{display:flex;gap:11px;align-items:flex-start}.recovery-head strong{font-size:.9rem}.recovery-head p{margin:2px 0 0;font-size:.78rem;color:var(--text-2)}.recovery-dot{margin-top:4px;flex:none;width:8px;height:8px;border-radius:999px;background:var(--warn);box-shadow:0 0 0 4px rgba(245,166,35,.16)}.recovery-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.recovery-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:8px 11px}.recovery-meta{display:flex;flex-direction:column;gap:1px}.recovery-size{font-weight:600;font-size:.84rem}.recovery-when{font-size:.72rem;color:var(--text-2)}.recovery-actions{display:flex;gap:7px;align-items:center}.recovery-save{gap:5px;border:none;border-radius:9px;background:var(--accent);color:#040c18;font-weight:700;font-size:.8rem;padding:7px 11px}.recovery-discard,.recovery-save{display:inline-flex;align-items:center;cursor:pointer}.recovery-discard{justify-content:center;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text-2);padding:7px}.recovery-discard:hover{color:#fca5a5;border-color:var(--danger-border)}.consent-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(2,4,10,.76);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.consent-dialog{width:min(100%,460px);border:1px solid var(--border-2);border-radius:18px;background:var(--surface);padding:24px;box-shadow:0 24px 72px rgba(0,0,0,.56)}.consent-eyebrow{display:block;margin-bottom:9px;color:var(--accent);font-size:.72rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.consent-dialog h2{margin:0;font-size:1.3rem}.consent-dialog>p{margin:10px 0 0;color:var(--text-2);font-size:.9rem;line-height:1.55}.consent-dialog .consent-time{color:var(--text-3);font-size:.78rem}.consent-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.dock{position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:2px;padding:7px 9px;border-radius:22px;background:rgba(8,10,18,.94);-webkit-backdrop-filter:blur(28px) saturate(1.6);backdrop-filter:blur(28px) saturate(1.6);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px rgba(255,255,255,.04),0 8px 32px rgba(0,0,0,.65),0 2px 8px rgba(0,0,0,.4);-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:calc(100vw - 16px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.dock.dock-popover-open{overflow:visible}.dock::-webkit-scrollbar{display:none}.dock>*{flex:none}.audio-unlock{position:fixed;top:calc(68px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:80;border:1px solid var(--warn);border-radius:999px;background:#21180a;color:#fde68a;padding:10px 16px;font-weight:700}.room>.recovery-banner{flex:none;margin:8px 14px 0}.dk-btn{flex-direction:column;gap:4px;width:56px;height:58px;border-radius:14px;border:0;background:transparent;color:var(--text);cursor:pointer;padding:0;transition:background .13s,color .13s,transform .13s;position:relative}.dk-btn,.dk-btn .dk-ico{display:flex;align-items:center;justify-content:center}.dk-btn .dk-ico{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);flex:none;transition:background .13s}.dk-btn .dk-lbl{font-size:10px;font-weight:500;color:var(--text-2);line-height:1;letter-spacing:.01em}.dk-btn:hover:not(:disabled) .dk-ico{background:rgba(255,255,255,.13)}.dk-btn:hover:not(:disabled) .dk-lbl{color:var(--text)}.dk-btn:active:not(:disabled){transform:scale(.96)}.dk-btn.dk-off .dk-ico{background:rgba(220,38,38,.22);color:#fca5a5}.dk-btn.dk-off .dk-lbl{color:#fca5a5}.dk-btn.dk-active .dk-ico{background:rgba(74,158,255,.22);color:var(--accent-2)}.dk-btn.dk-active .dk-lbl{color:var(--accent-2)}.dk-sep{width:1px;height:32px;background:rgba(255,255,255,.09);margin:0 5px;flex:none}.dk-record{display:flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;border:0;background:#dc2626;color:#fff;font-weight:700;font-size:.88rem;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:background .14s,transform .14s,box-shadow .14s}.dk-record:hover:not(:disabled){background:#ef4444;transform:scale(1.03);box-shadow:0 6px 20px -6px rgba(220,38,38,.7)}.dk-record:disabled{opacity:.38}.dk-record.dk-rec-on{background:rgba(220,38,38,.16);border:1px solid rgba(220,38,38,.45);color:#fca5a5}.dk-record .rec-dot{width:11px;height:11px;border-radius:50%;background:currentColor;flex:none}.dk-record.dk-rec-on .rec-dot{border-radius:3px;animation:pulse 1.2s ease infinite}.dk-download{flex-direction:column;gap:4px;width:56px;height:58px;border-radius:14px;border:0;background:transparent;color:var(--text);cursor:pointer;padding:0;text-decoration:none;transition:background .13s}.dk-download,.dk-download .dk-ico{display:flex;align-items:center;justify-content:center}.dk-download .dk-ico{width:36px;height:36px;border-radius:10px;background:rgba(34,212,108,.18);color:var(--success);flex:none}.dk-download .dk-lbl{font-size:10px;font-weight:500;color:var(--success)}.dk-download:hover .dk-ico{background:rgba(34,212,108,.28)}.dk-invite{display:flex;align-items:center;gap:7px;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text-2);font-weight:600;font-size:.86rem;cursor:pointer;transition:background .13s,color .13s,border-color .13s}.dk-invite:hover{background:var(--surface);color:var(--text);border-color:var(--border-2)}.dk-invite.dk-copied{color:var(--success);border-color:rgba(34,212,108,.3)}.dk-leave{display:flex;align-items:center;gap:7px;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--danger-border);background:var(--danger-surface);color:#fca5a5;font-weight:600;font-size:.86rem;cursor:pointer;transition:background .13s,border-color .13s}.dk-leave:hover{background:rgba(220,38,38,.22);border-color:rgba(220,38,38,.5)}.dk-settings{position:relative;display:inline-flex}.dk-popover{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:min(256px,calc(100vw - 24px));display:flex;flex-direction:column;gap:5px;padding:14px;border-radius:var(--r);background:var(--panel-solid);border:1px solid var(--border-2);box-shadow:var(--shadow-lg);z-index:70}.dk-popover h5{margin:4px 0 0;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.dk-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dk-popover-head h5{margin:0}.dk-refresh-devices{border:0;background:transparent;color:var(--accent);font-size:.72rem;font-weight:600;cursor:pointer;padding:0}.dk-popover select{width:100%;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:9px 10px;font-size:.84rem}.meter{display:flex;gap:3px;align-items:flex-end;height:20px}.meter span{width:3px;border-radius:2px;background:var(--border-2);transition:background .08s,height .08s}.meter span.on{background:var(--success)}.prejoin-root{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(1000px 700px at 20% 0,rgba(74,158,255,.1),transparent 60%),radial-gradient(900px 600px at 90% 0,rgba(192,110,246,.1),transparent 58%),var(--bg);overflow-y:auto}.prejoin-card{display:grid;width:min(1040px,100%);grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr);grid-gap:0;gap:0;border:1px solid var(--border);border-radius:var(--r-xl);background:rgba(10,14,24,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;box-shadow:var(--shadow-lg)}.pj-preview{display:flex;flex-direction:column;background:#06080e;padding:0;position:relative;min-height:440px}.pj-preview-brand{position:absolute;top:20px;left:20px;display:inline-flex;gap:9px;align-items:center;z-index:2;font-weight:800;font-size:1rem;letter-spacing:-.03em}.pj-preview-brand .brand-dot{width:28px;height:28px;border-radius:8px;font-size:.82rem}.pj-video-frame{position:relative;flex:1 1;overflow:hidden;background:#06080e}.pj-video-frame video{width:100%;height:100%;object-fit:cover;display:block}.pj-video-frame video.mirror{transform:scaleX(-1)}.pj-video-off{position:absolute;inset:0;display:grid;place-items:center;background:#06080e}.pj-video-off-inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-2);text-align:center}.pj-avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--surface-2);color:var(--text-3)}.pj-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px 20px;background:linear-gradient(transparent,rgba(0,0,0,.72))}.pj-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);transition:all .14s}.pj-btn:hover{background:rgba(255,255,255,.12)}.pj-btn.off{background:rgba(220,38,38,.8);border-color:transparent}.pj-btn.active{background:rgba(74,158,255,.85);border-color:transparent;color:#040c18}.pj-meter{flex:1 1;max-width:100px}.pj-form{display:flex;flex-direction:column;gap:15px;padding:32px 28px;border-left:1px solid var(--border);overflow-y:auto;justify-content:center}.pj-role-badge{display:inline-flex;gap:6px;align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid var(--border);border-radius:999px;background:var(--surface);padding:5px 11px;font-size:.76rem;color:var(--accent);font-weight:600;text-transform:capitalize}.pj-form h2{margin:0;font-size:1.5rem;letter-spacing:-.025em;font-weight:750;line-height:1.2}.pj-form>p{color:var(--text-2);font-size:.9rem;line-height:1.55;margin:0}.pj-form>p strong{color:var(--accent)}.field{display:grid;grid-gap:6px;gap:6px}.field label{color:var(--text-2);font-size:.78rem;font-weight:600}.pj-device-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pj-refresh-devices{padding:2px 8px!important;min-height:0!important;font-size:.72rem!important}.dk-device-hint,.pj-device-hint{margin:0;color:var(--text-3);font-size:.75rem;line-height:1.4}.field input{width:100%;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:11px 13px;font-size:.92rem;transition:border-color .14s}.field input:focus{outline:none;border-color:var(--accent)}.field select{width:100%;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:11px 13px;font-size:.88rem;transition:border-color .14s}.field select:focus{outline:none;border-color:var(--accent)}.permission-error{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--danger-border);border-radius:var(--r-sm);background:var(--danger-surface);padding:11px 13px}.permission-error strong{color:#fecaca;font-size:.82rem}.permission-error p{margin:3px 0 0;color:#fca5a5;font-size:.78rem;line-height:1.45}.prejoin-home-link{width:-moz-fit-content;width:fit-content;margin:0 auto;color:var(--text-3);font-size:.8rem;text-decoration:none}.prejoin-home-link:hover{color:var(--text)}.rejoin-splash{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(800px 600px at 50% 0,rgba(74,158,255,.08),transparent 60%),var(--bg)}.rejoin-card{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:48px;max-width:420px}.rejoin-spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .9s linear infinite}.rejoin-card h2{margin:0;font-size:1.4rem;letter-spacing:-.02em}.rejoin-card p{color:var(--text-2);margin:0;font-size:.9rem;line-height:1.5}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.42;transform:scale(.78)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1100px){.room-main.host-mode{grid-template-columns:1fr 320px}}@media (max-width:860px){.room-main.host-mode{grid-template-columns:1fr}.room-panel{border-left:none;border-top:1px solid var(--border);max-height:42vh}.stage-col{padding-right:14px;padding-bottom:calc(var(--dock-h) + 8px)}.prejoin-card{grid-template-columns:1fr}.pj-preview{min-height:240px}.pj-form{border-left:none;border-top:1px solid var(--border)}}@media (max-width:640px){.room-topbar{padding-left:10px;padding-right:10px}.panel-toggle,.peer-count,.room-id-chip{display:none}.rtb-right{min-width:0;overflow-x:auto;scrollbar-width:none}.dock{left:8px;right:8px;transform:none;gap:1px;padding:6px 7px}.dk-btn{width:48px;height:52px}.dk-btn .dk-ico{width:32px;height:32px}.dk-record{height:40px;padding:0 14px;font-size:.82rem}.dk-invite,.dk-leave{height:40px;padding:0 11px;font-size:.8rem}.landing{grid-template-columns:1fr;padding:36px 20px 80px;gap:36px}.showcase{min-height:380px;order:-1}.feature-cards{grid-template-columns:1fr;margin-top:8px}.room-panel{max-height:48dvh;padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom))}.room-main.host-mode.controls-closed .room-panel{display:block}.stage-col{padding-left:8px;padding-right:8px;padding-bottom:calc(var(--dock-h) + 20px + env(safe-area-inset-bottom))}.rejoin-card{padding:28px 20px;width:min(100%,420px)}}@media (prefers-reduced-motion:reduce){.pulse,.rejoin-spinner{animation:none}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}