:root{--rf-green: #00CC99;--rf-green-dim: rgba(0, 204, 153, .15);--rf-green-glow: rgba(0, 204, 153, .3);--rf-dark: #151b24;--rf-dark-surface: #1C232C;--rf-dark-raised: #212b39;--rf-dark-border: #2c3643;--rf-text: #E8ECF1;--rf-text-secondary: #7d91a8;--rf-text-muted: #7d91a8;--rf-dark-lighter: #212b39;--rf-red: #FF2457;--rf-red-dim: rgba(255, 36, 87, .15);--rf-orange: #FF870F;--rf-orange-dim: rgba(255, 135, 15, .15);--rf-yellow: #FBBA00;--rf-blue: #3375FF;--font-body: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--ease-out: cubic-bezier(.16, 1, .3, 1);--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.25rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:16px;line-height:1.5;background:var(--rf-dark);color:var(--rf-text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1200px;margin:0 auto;padding:1.25rem;padding-bottom:env(safe-area-inset-bottom,1.25rem)}#app.session-active{max-width:none;padding:.75rem}.studio-shell,.studio-main{display:flex;flex-direction:column;min-width:0}@media(min-width:1024px){#app.session-active{height:100dvh;overflow:hidden;display:flex;flex-direction:column}#app.session-active .tab-content{flex:1;min-height:0;display:flex;flex-direction:column}.session-active .studio-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:.85rem;align-items:stretch;flex:1;min-height:0;position:relative}.session-active .studio-main{min-width:0;min-height:0;overflow-y:auto}.session-active .studio-main .video-grid{flex:1 1 auto;min-height:0;align-content:stretch;margin-bottom:.5rem;grid-auto-rows:minmax(0,1fr)}.session-active .studio-main .participant-card{display:flex;flex-direction:column;min-width:0;min-height:0}.session-active .studio-main .participant-card .participant-media{flex:1 1 auto;aspect-ratio:auto;min-height:0}}@media(max-width:640px){#app{padding:.75rem}}h1{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em;margin-bottom:.75rem}h2{font-size:var(--fs-sm);font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--rf-text-secondary);margin-bottom:.5rem}button,.btn{padding:.45rem .85rem;border:1px solid var(--rf-dark-border);background:var(--rf-dark-raised);color:var(--rf-text);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-base);font-family:var(--font-body);font-weight:500;transition:all .15s var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none}button:hover{background:var(--rf-dark-border);border-color:#3e4f63}button:active{transform:scale(.97)}button:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-primary{background:var(--rf-green-dim);border-color:#00cc994d;color:var(--rf-green)}.btn-primary:hover{background:#00cc9940;border-color:var(--rf-green)}.btn-danger{background:var(--rf-red-dim);border-color:#ff24574d;color:var(--rf-red)}.btn-danger:hover{background:#ff245740;border-color:var(--rf-red)}.btn-recording{position:relative;overflow:hidden;background:var(--rf-red);border-color:var(--rf-red);color:#fff;font-weight:600;box-shadow:0 0 20px #ff24574d;animation:recording-pulse 2s ease-in-out infinite}.btn-recording:hover{background:#e61f4d;box-shadow:0 0 30px #ff245766}.btn-record-start{font-size:var(--fs-base);padding:.6rem 1.5rem}.btn-recording-hold{--hold-progress: 0%;background-image:linear-gradient(90deg,rgba(255,244,163,.55) 0%,rgba(255,244,163,.55) var(--hold-progress),rgba(255,244,163,0) var(--hold-progress),rgba(255,244,163,0) 100%),linear-gradient(90deg,rgba(94,4,28,.9) 0%,rgba(94,4,28,.9) var(--hold-progress),rgba(255,36,87,1) var(--hold-progress),rgba(255,36,87,1) 100%);box-shadow:inset 0 0 0 1px #ffffff14,0 0 20px #ff24574d}.btn-recording-hold.is-holding{animation:none;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 34px #ff245794}@keyframes recording-pulse{0%,to{box-shadow:0 0 20px #ff24574d}50%{box-shadow:0 0 30px #ff245780}}input,select{padding:.45rem .65rem;background:var(--rf-dark);border:1px solid var(--rf-dark-border);color:var(--rf-text);border-radius:var(--radius-sm);font-size:var(--fs-base);font-family:var(--font-body);transition:border-color .15s}input:focus,select:focus{outline:none;border-color:var(--rf-green);box-shadow:0 0 0 2px var(--rf-green-dim)}input::placeholder{color:var(--rf-text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.green{background:var(--rf-green);box-shadow:0 0 6px var(--rf-green-glow)}.status-dot.red{background:var(--rf-red);box-shadow:0 0 6px #ff245766}.status-dot.orange{background:var(--rf-orange)}.status-dot.yellow{background:var(--rf-yellow);animation:dot-pulse 1.5s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.status-bar{display:flex;gap:1rem;align-items:center;padding:.6rem .85rem;background:var(--rf-dark-surface);border:1px solid var(--rf-dark-border);border-radius:var(--radius-md);flex-wrap:wrap;margin-bottom:1rem;font-size:var(--fs-sm)}.controls{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.recording-control{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.recording-hold-hint{min-height:1rem;font-size:var(--fs-xs);color:var(--rf-text-secondary)}.recording-hold-hint.armed{color:var(--rf-orange)}.card{background:var(--rf-dark-surface);border:1px solid var(--rf-dark-border);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-bottom:1rem}.session-active .video-grid[data-count="1"]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.session-active .video-grid[data-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr)}.session-active .video-grid[data-count="3"]{grid-template-columns:repeat(3,1fr);grid-template-rows:minmax(0,1fr)}.session-active .video-grid[data-count="4"]{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr))}.session-active .video-grid[data-count="5"],.session-active .video-grid[data-count="6"]{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}@media(max-width:640px){.video-grid{grid-template-columns:1fr;gap:.5rem}.session-active .video-grid[data-count="2"],.session-active .video-grid[data-count="3"],.session-active .video-grid[data-count="4"],.session-active .video-grid[data-count="5"],.session-active .video-grid[data-count="6"]{grid-template-columns:1fr;grid-template-rows:none}}.participant-card{position:relative;background:var(--rf-dark-surface);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--rf-dark-border);transition:border-color .2s}.participant-card:hover{border-color:#3e4f63}.participant-media{width:100%;aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.participant-card video{width:100%;height:100%;display:block;background:#0a0e14;object-fit:contain}.participant-indicators{position:absolute;top:.6rem;right:.6rem;display:flex;gap:.4rem;z-index:2}.participant-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#0a0e14c7;box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.participant-indicator.danger{color:var(--rf-red)}.participant-indicator.warning{color:#f6c363}.participant-media-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .18s ease}.participant-media-overlay.visible{opacity:1;background:linear-gradient(#05080c1a,#05080cad),radial-gradient(circle at center,#ff245729,#ff245700)}.participant-media-overlay-stack{width:min(100%,16rem);display:flex;flex-direction:column;gap:.6rem}.participant-media-alert{display:flex;align-items:center;justify-content:center;gap:.7rem;min-height:3.6rem;padding:.85rem 1rem;border-radius:1rem;background:#090d13e0;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 36px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffd6df;font-size:var(--fs-base);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.session-active .participant-card{border-color:#2c364380}.session-active .participant-card.is-self{order:-1;border:1.5px solid var(--rf-green);box-shadow:0 0 0 1px #00cc9947,0 6px 18px #00000059}.session-active .participant-card.is-self:before{content:"YOU";position:absolute;top:.55rem;left:.6rem;z-index:4;padding:.1rem .45rem;font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;color:var(--rf-dark);background:var(--rf-green);border-radius:var(--radius-sm);pointer-events:none}.self-tile-overlay{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:0 .6rem .55rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;pointer-events:none}.self-tile-meter{width:min(160px,70%);height:4px;background:#ffffff2e;border-radius:999px;overflow:hidden}.self-tile-meter-fill{height:100%;width:0%;background:var(--rf-green);transition:width 60ms linear}.self-tile-controls{display:inline-flex;gap:.4rem;padding:.3rem .5rem;background:#090d13b8;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.self-tile-btn{width:36px;height:36px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--rf-text);background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.self-tile-btn:hover{background:#ffffff24}.self-tile-btn.is-muted{color:var(--rf-red);background:#ff24572e;border-color:#ff245773}.participant-card .info{padding:.5rem .65rem;display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm)}.participant-card .name{font-weight:500;font-size:var(--fs-sm)}.participant-stats{position:absolute;bottom:0;left:0;right:0;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem;font-size:var(--fs-xs);background:linear-gradient(transparent,#000c);transition:opacity .2s}.chat-panel{padding:.85rem}.chat-panel-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.chat-toggle{font-size:var(--fs-xs);padding:.2rem .55rem}.chat-panel-body{margin-top:.65rem}.chat-messages{max-height:220px;overflow-y:auto;border:1px solid var(--rf-dark-border);border-radius:var(--radius-sm);background:var(--rf-dark);padding:.5rem;display:flex;flex-direction:column;gap:.45rem}.chat-empty{color:var(--rf-text-secondary);font-size:var(--fs-sm);text-align:center;padding:.65rem .4rem}.chat-message{max-width:min(85%,520px);border:1px solid var(--rf-dark-border);border-radius:var(--radius-md);padding:.35rem .5rem}.chat-message.incoming{align-self:flex-start;background:var(--rf-dark-raised)}.chat-message.outgoing{align-self:flex-end;background:var(--rf-green-dim);border-color:#00cc994d}.chat-meta{color:var(--rf-text-secondary);font-size:var(--fs-xs);margin-bottom:.15rem}.chat-body{font-size:var(--fs-base);line-height:1.4;white-space:pre-wrap;word-break:break-word}.chat-form{display:flex;gap:.5rem;margin-top:.65rem}.chat-input{flex:1}.stats-panel,.log-panel{background:var(--rf-dark);border:1px solid var(--rf-dark-border);border-radius:var(--radius-md);padding:.75rem;font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.6;max-height:250px;overflow-y:auto}.stats-panel .label{color:var(--rf-text-secondary)}.log-entry{padding:.1rem 0;border-bottom:1px solid rgba(42,53,68,.5)}.log-entry .time{color:var(--rf-text-secondary)}.log-entry.error{color:var(--rf-red)}.log-entry.success{color:var(--rf-green)}.level-meter{height:4px;background:#2a354499;border-radius:2px;overflow:hidden}.level-meter-fill{height:100%;background:var(--rf-green);border-radius:2px;transition:width .08s linear}.tabs{display:flex;gap:0;border-bottom:1px solid var(--rf-dark-border);margin-bottom:1.25rem}.tab{padding:.6rem 1.25rem;cursor:pointer;color:var(--rf-text-secondary);border:none;border-bottom:2px solid transparent;border-radius:0;font-size:var(--fs-base);font-weight:500;background:none;transition:color .15s}.tab:hover{color:var(--rf-text);background:none}.tab:active{transform:none}.tab.active{color:var(--rf-text);border-bottom-color:var(--rf-green);background:none}.green-room-preview{width:100%;max-width:560px;aspect-ratio:16/9;background:#0a0e14;border-radius:var(--radius-lg);overflow:hidden;margin:0 auto 1.25rem;border:1px solid var(--rf-dark-border)}.green-room-preview video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.mini-audio-meter{width:88px;height:7px;background:#ffffff29;border-radius:999px;overflow:hidden;flex-shrink:0}.mini-audio-meter-fill{height:100%;width:0%;background:var(--rf-green);transition:width 80ms linear}.session-audio-meter{width:min(180px,40vw)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000009e}.settings-modal{width:min(420px,100%);background:var(--rf-dark-surface);border:1px solid var(--rf-dark-border);border-radius:var(--radius-md);box-shadow:0 18px 60px #00000080}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--rf-dark-border)}.settings-modal-header h2{margin:0;font-size:var(--fs-lg)}.settings-form{display:flex;flex-direction:column;gap:.85rem;padding:1rem}.settings-form label{display:flex;flex-direction:column;gap:.35rem;color:var(--rf-text-secondary);font-size:var(--fs-base)}.settings-status{min-height:1.2em;margin:0;color:var(--rf-text-muted);font-size:var(--fs-base)}.settings-status.error{color:var(--rf-red)}.settings-actions{display:flex;justify-content:flex-end;gap:.5rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.badge.idle{background:#ffffff0a;color:var(--rf-text-secondary);border:1px solid rgba(255,255,255,.08)}.badge.active{background:var(--rf-green-dim);color:var(--rf-green)}.badge.ended{background:var(--rf-red-dim);color:var(--rf-red)}.badge.recording{background:var(--rf-red);color:#fff;box-shadow:0 0 0 1px #ffffff14 inset,0 0 18px #ff245759;animation:badge-recording 2s ease-in-out infinite}@keyframes badge-recording{0%,to{opacity:1}50%{opacity:.7}}.badge.tier1{background:var(--rf-green-dim);color:var(--rf-green)}.badge.tier2{background:var(--rf-orange-dim);color:var(--rf-orange)}.badge.tier3{background:var(--rf-red-dim);color:var(--rf-red)}.demo-pill{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--rf-yellow);border:1px solid rgba(251,186,0,.35);background:#fbba001f;padding:.15rem .45rem;border-radius:var(--radius-sm)}.demo-notice{font-size:var(--fs-base);color:var(--rf-yellow);background:#fbba001f;border:1px solid rgba(251,186,0,.35);border-radius:var(--radius-sm);padding:.5rem .6rem;margin-bottom:.75rem}.connection-quality{display:flex;gap:2px;align-items:flex-end;height:14px}.connection-bar{width:3px;background:var(--rf-dark-border);border-radius:1px}.connection-bar.active{background:var(--rf-green)}[style*="font-family:monospace"],[style*="font-family: monospace"]{font-family:var(--font-mono)!important}#app>*{animation:fade-in .2s var(--ease-out)}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rf-dark-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3e4f63}::selection{background:var(--rf-green-dim);color:var(--rf-text)}:focus-visible{outline:2px solid var(--rf-green);outline-offset:2px}.app-header{display:flex;align-items:center;gap:.65rem;padding:.4rem 0 1rem;margin-bottom:.5rem;border-bottom:1px solid var(--rf-dark-border)}.app-header-brand{flex-shrink:0}.app-header-sep{width:1px;height:18px;background:var(--rf-dark-border)}.app-header-product{font-size:var(--fs-base);font-weight:500;color:var(--rf-text-secondary);letter-spacing:.01em}.invite-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:var(--rf-dark-surface);border:1px solid var(--rf-dark-border);border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--fs-base);min-width:0}.invite-label{color:var(--rf-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-xs);font-weight:600;flex-shrink:0}.invite-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--rf-text)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:var(--radius-sm);color:var(--rf-text-secondary);background:transparent;border:1px solid transparent;flex-shrink:0}.icon-btn:hover{color:var(--rf-text);background:var(--rf-dark-raised);border-color:var(--rf-dark-border)}.icon-btn.copied{color:var(--rf-green);border-color:#00cc994d;background:var(--rf-green-dim)}.chat-sidebar{position:fixed;top:0;right:0;height:100vh;width:min(360px,100vw);background:var(--rf-dark-surface);border-left:1px solid var(--rf-dark-border);box-shadow:-8px 0 24px #00000059;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s var(--ease-out);z-index:50}.chat-sidebar.open{transform:translate(0)}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .85rem;border-bottom:1px solid var(--rf-dark-border);flex-shrink:0}.chat-sidebar-title{font-size:var(--fs-base);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--rf-text);margin:0}.chat-sidebar-close{width:28px;height:28px}.chat-sidebar-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:.75rem .85rem;gap:.5rem}.chat-sidebar .chat-messages{flex:1;max-height:none;min-height:0}.chat-sidebar .chat-form{margin-top:0;flex-shrink:0}.chat-fab{position:fixed;right:1rem;bottom:1rem;width:48px;height:48px;padding:0;border-radius:50%;background:var(--rf-green);color:var(--rf-dark);border:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0006,0 0 0 2px var(--rf-dark);z-index:40;transition:transform .18s var(--ease-out),opacity .18s var(--ease-out)}.chat-fab:hover{background:#00e6ad;transform:scale(1.05)}.chat-fab.hidden{opacity:0;pointer-events:none;transform:scale(.85)}@media(max-width:640px){.chat-sidebar{width:100vw}}@media(min-width:1024px){.session-active .studio-shell>.chat-sidebar{position:static;top:auto;right:auto;align-self:stretch;width:auto;height:100%;max-height:none;min-height:0;transform:none;box-shadow:none;border:1px solid var(--rf-dark-border);border-radius:var(--radius-md)}.session-active .chat-fab,.session-active .chat-sidebar-close{display:none}}
