@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";
@import "https://fonts.googleapis.com/css2?family=Manrope:wght@600;700;800&display=swap";
:root{--bg:#0a0a0a;--bg-1:#141414;--bg-2:#1a1a1a;--bg-3:#222;--border:#222;--border-2:#2a2a2a;--text:#e8e8e8;--text-2:#999;--text-3:#666;--accent:#fff;--accent-dim:#ffffff0f;--green:#00d47b;--green-dim:#00d47b1a;--red:#ff4d4d;--red-dim:#ff4d4d14;--amber:#ffb224;--radius:10px;--radius-sm:6px;--font:"Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif}[data-theme=light]{--bg:#fff;--bg-1:#f7f7f8;--bg-2:#f0f0f1;--bg-3:#e5e5e7;--border:#e0e0e2;--border-2:#d0d0d3;--text:#1a1a1a;--text-2:#555;--text-3:#888;--accent:#1a1a1a;--accent-dim:#0000000d;--green:#00a85e;--green-dim:#00a85e1a;--red:#e53935;--red-dim:#e5393514;--amber:#e69500}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;font-size:14px;line-height:1.5}.auth-theme-toggle{z-index:10;position:fixed;top:16px;right:16px}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-form-wrapper{flex-direction:column;gap:24px;width:100%;max-width:400px;display:flex}.auth-brand{justify-content:center;align-items:center;gap:10px;display:flex}.auth-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.auth-card-header{text-align:center;padding:24px 24px 0}.auth-card-header h1{color:var(--text);margin-bottom:4px;font-size:20px;font-weight:600}.auth-card-header p{color:var(--text-3);font-size:13px}.auth-card-content{flex-direction:column;gap:16px;padding:24px;display:flex}.auth-footer-text{text-align:center;color:var(--text-3);font-size:13px}.auth-footer-text a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.auth-footer-text a:hover{color:var(--green)}.auth-legal{text-align:center;color:var(--text-3);font-size:11px;line-height:1.6}.auth-legal a{color:var(--text-2);text-underline-offset:2px;text-decoration:underline}.auth-legal a:hover{color:var(--text)}.social-auth-buttons{flex-direction:column;gap:8px;display:flex}.btn-social{border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--bg);width:100%;height:44px;color:var(--text);font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:0 16px;transition:all .2s;display:flex}.btn-social:hover{background:var(--accent-dim);border-color:var(--text-3)}.social-icon{flex-shrink:0}.app-shell{background:var(--bg);flex-direction:column;height:100dvh;min-height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-brand{align-items:center;display:flex}.brand-wordmark{align-items:center;gap:10px;display:inline-flex}.brand-mark{border:1px solid color-mix(in srgb,var(--text-2)40%,var(--border));background:var(--bg-2);width:24px;height:24px;color:var(--text);border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.brand-mark svg{width:14px;height:14px}.brand-mark path{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.brand-logo-text{color:var(--text);letter-spacing:.01em;font-family:Manrope,sans-serif;font-size:18px;font-weight:700}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-status{color:var(--text-3);align-items:center;gap:6px;font-size:12px;display:flex}.btn-theme{border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-theme:hover{color:var(--text);border-color:var(--border-2);background:var(--accent-dim)}.user-menu{align-items:center;gap:10px;display:flex}.user-name{color:var(--text-2);font-size:12px;font-weight:500}.btn-signout{font-size:11px;font-weight:500;font-family:var(--font);color:var(--text-3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:4px 10px;transition:all .15s}.btn-signout:hover{color:var(--red);background:var(--red-dim);border-color:#ff4d4d4d}.status-dot{background:var(--text-3);border-radius:50%;width:6px;height:6px}.status-dot.live{background:var(--green);box-shadow:0 0 8px #00d47b66}.main-content{background:radial-gradient(700px 360px at 15% -10%,var(--accent-dim),transparent 55%),radial-gradient(620px 320px at 100% 115%,var(--green-dim),transparent 60%);flex:1;justify-content:center;align-items:center;min-height:0;padding:56px 24px;display:flex;overflow-y:auto}.connect-card{background:var(--bg-1);border:1px solid var(--border);border-radius:14px;width:100%;max-width:520px;padding:28px;box-shadow:0 20px 60px #00000038}.connect-card-header{margin-bottom:18px}.connect-card-header h1{letter-spacing:-.02em;color:var(--text);margin-bottom:6px;font-size:20px;font-weight:500}.connect-card-header p{color:var(--text-3);max-width:50ch;font-size:13px;font-weight:400}.capability-chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.capability-chips span{color:var(--text-2);border:1px solid var(--border-2);background:var(--bg);border-radius:999px;padding:4px 10px;font-size:11px}.form-field{margin-bottom:16px}.form-field label{color:var(--text-2);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-field input[type=text]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-1);width:100%;height:40px;color:var(--text);font-size:13px;font-family:var(--font);padding:0 12px;transition:border-color .15s}.form-field input::placeholder{color:var(--text-3)}.form-field input:focus{border-color:#444;outline:none}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-divider{background:var(--border);height:1px;margin:20px 0}.form-options{gap:16px;margin-bottom:20px;display:flex}.toggle-label{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:flex}.toggle-label input[type=checkbox]{appearance:none;background:var(--bg-3);border:1px solid var(--border-2);cursor:pointer;border-radius:9px;flex-shrink:0;width:32px;height:18px;transition:background .2s,border-color .2s;position:relative}.toggle-label input[type=checkbox]:after{content:"";background:var(--text-3);border-radius:50%;width:12px;height:12px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.toggle-label input[type=checkbox]:checked{background:var(--green-dim);border-color:#00d47b4d}.toggle-label input[type=checkbox]:checked:after{background:var(--green);transform:translate(14px)}.btn-connect{border-radius:var(--radius-sm);background:var(--text);width:100%;height:42px;color:var(--bg);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;letter-spacing:-.01em;border:none;transition:opacity .15s}.btn-connect:hover{opacity:.85}.btn-connect:disabled{opacity:.3;cursor:not-allowed}.btn-connect.connecting{background:var(--bg-2);border:1px solid var(--border-2);color:var(--text-2)}.setup-accordion{margin-top:16px}.setup-accordion summary{color:var(--text-3);cursor:pointer;align-items:center;gap:6px;font-size:12px;list-style:none;transition:color .15s;display:flex}.setup-accordion summary::-webkit-details-marker{display:none}.setup-accordion summary:hover{color:var(--text-2)}.setup-accordion summary svg{width:12px;height:12px;transition:transform .2s}.setup-accordion[open] summary svg{transform:rotate(90deg)}.setup-body{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);margin-top:12px;padding:14px;font-size:12px;line-height:2}.setup-body code{background:var(--bg-3);color:var(--text-2);border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px}.error-banner{background:var(--red-dim);border-radius:var(--radius-sm);color:var(--red);border:1px solid #ff4d4d26;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:12px;line-height:1.5;display:flex}.error-banner svg{flex-shrink:0;width:14px;height:14px;margin-top:1px}.room-layout{flex:1;grid-template-columns:1fr 380px;height:100%;min-height:0;display:grid;overflow:hidden}.livekit-shell{flex:1;min-height:0;overflow:hidden}.livekit-room-root{flex:1;min-height:0;display:flex;overflow:hidden}@media (max-width:840px){.room-layout{grid-template-rows:1fr 1fr;grid-template-columns:1fr}}.session-panel{border-right:1px solid var(--border);flex-direction:column;gap:16px;min-height:0;padding:24px;display:flex;overflow-y:auto}.session-section{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.session-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:12px;font-size:11px;font-weight:600}.status-row{justify-content:space-between;align-items:center;display:flex}.status-badge{align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.status-badge .dot{border-radius:50%;width:6px;height:6px}.status-badge .dot.green{background:var(--green)}.status-badge .dot.amber{background:var(--amber)}.status-badge .dot.red{background:var(--red)}.meta-text{color:var(--text-3);font-size:12px}.participant-row{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.participant-row+.participant-row{margin-top:6px}.participant-left{align-items:center;gap:10px;display:flex}.avatar{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:600;display:flex}.avatar.human{background:var(--accent-dim);color:var(--text-2)}.avatar.agent{background:var(--green-dim);color:var(--green)}.avatar svg{width:14px;height:14px}.p-name{color:var(--text);font-size:13px;font-weight:500}.p-role{color:var(--text-3);font-size:11px}.speak-pill{border-radius:100px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:flex}.speak-pill.active{color:var(--green);background:var(--green-dim)}.speak-pill.silent{color:var(--text-3);background:var(--accent-dim)}.speak-bars{align-items:flex-end;gap:1.5px;height:10px;display:flex}.speak-bar{background:currentColor;border-radius:1px;width:2px}.speak-pill.active .speak-bar{animation:.5s ease-in-out infinite speaking}.speak-bar:first-child{height:40%;animation-delay:0s}.speak-bar:nth-child(2){height:70%;animation-delay:.1s}.speak-bar:nth-child(3){height:50%;animation-delay:.2s}@keyframes speaking{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.8)}}.speak-pill.silent .speak-bar{height:30%;animation:none}.meter-track{background:var(--bg-3);border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.meter-fill{background:var(--green);border-radius:2px;height:100%;transition:width 80ms linear}.meter-hint{color:var(--text-3);margin-top:6px;font-size:11px}.btn-disconnect{border:1px solid var(--border-2);border-radius:var(--radius-sm);width:100%;height:38px;color:var(--text-2);font-size:12px;font-weight:500;font-family:var(--font);cursor:pointer;background:0 0;margin-top:auto;transition:all .15s}.btn-disconnect:hover{color:var(--red);background:var(--red-dim);border-color:#ff4d4d4d}.transcript-panel{background:var(--bg-1);flex-direction:column;min-height:0;display:flex;overflow:hidden}.transcript-top{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.transcript-top h3{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.btn-ghost{font-size:11px;font-weight:500;font-family:var(--font);color:var(--text-3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:4px 10px;transition:all .15s}.btn-ghost:hover{color:var(--text-2);border-color:var(--border-2)}.transcript-body{flex-direction:column;flex:1;gap:4px;padding:12px 16px;display:flex;overflow-y:auto}.transcript-body::-webkit-scrollbar{width:3px}.transcript-body::-webkit-scrollbar-track{background:0 0}.transcript-body::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:2px}.transcript-empty-state{color:var(--text-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.transcript-empty-state .icon{background:var(--accent-dim);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.transcript-empty-state .icon svg{width:16px;height:16px;color:var(--text-3)}.transcript-empty-state p{font-size:12px}.transcript-empty-state .sub{color:var(--text-3);font-size:11px}.msg{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);padding:8px 12px}.msg.partial{opacity:.5}.msg-head{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.msg-speaker{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-size:11px;font-weight:600}.msg-speaker.you{color:var(--text-2)}.msg-speaker.ai{color:var(--green)}.msg-time{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10px}.msg-body{color:var(--text-2);font-size:13px;line-height:1.5}.msg-typing{color:var(--text-3);animation:1s ease-in-out infinite tblink}@keyframes tblink{0%,to{opacity:1}50%{opacity:.3}}.transcript-footer{border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;display:flex}.transcript-footer .label{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.btn-demo{font-size:10px;font-weight:500;font-family:var(--font);color:var(--text-3);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;transition:all .15s}.btn-demo:hover{color:var(--text-2);border-color:var(--border-2)}.waiting-text{text-align:center;color:var(--text-3);padding:16px;font-size:12px}.powered-by{color:var(--text-3);border-top:1px solid var(--border);justify-content:center;align-items:center;gap:6px;padding:14px 0;font-size:11px;transition:color .2s;display:flex}@media (max-width:840px){.app-shell{height:auto;min-height:100dvh;overflow:visible}.main-content{padding:24px 16px 32px}.connect-card{max-width:100%;padding:20px}.capability-chips{gap:6px}.capability-chips span{font-size:10px}}.powered-brand{color:var(--text-2);letter-spacing:-.01em;font-weight:600;transition:color .2s}.powered-by:hover .powered-brand{color:var(--text)}
