:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-soft:#eef2ff;--color-primary-ring:rgba(79,70,229,0.35);--color-accent:#0ea5e9;--color-bg:#f6f7fb;--color-surface:#ffffff;--color-surface-muted:#f1f3f9;--color-text:#111827;--color-text-muted:#6b7280;--color-text-subtle:#9ca3af;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-soft:#fee2e2;--color-success:#16a34a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--shadow-xs:0 1px 2px rgba(17,24,39,0.06);--shadow-sm:0 1px 3px rgba(17,24,39,0.08),0 1px 2px rgba(17,24,39,0.04);--shadow-md:0 8px 24px rgba(17,24,39,0.08),0 2px 6px rgba(17,24,39,0.05);--shadow-lg:0 20px 48px rgba(17,24,39,0.12);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--font-sans:var(--font-inter),system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--color-bg);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body,h1,h2,h3{color:var(--color-text)}h1,h2,h3{line-height:1.2;letter-spacing:-.02em}p{color:var(--color-text-muted);line-height:1.6}a{color:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-header{height:60px;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5);background:rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:20}.app-header,.app-nav{display:flex;align-items:center}.app-nav{gap:var(--space-2);min-height:40px}.app-nav-link{display:inline-flex;align-items:center;padding:.45rem .7rem;font-size:.9rem;font-weight:600;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-md);transition:background .15s ease,color .15s ease}.app-nav-link:hover{background:var(--color-surface-muted);color:var(--color-text)}.app-nav-button{border:none;background:transparent;font-family:inherit;cursor:pointer}.app-nav-cta{padding:.5rem .9rem;font-size:.9rem}@media (max-width:480px){.app-header{padding:0 var(--space-4)}.app-nav{gap:var(--space-1)}.app-nav-cta,.app-nav-link{padding:.4rem .55rem;font-size:.82rem}}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--color-text);text-decoration:none}.brand-mark{height:34px;width:auto;display:block;flex:none}.brand-mark-lg{height:64px;width:auto}.container{max-width:560px;margin:0 auto;padding:var(--space-8) var(--space-5)}.container-narrow{max-width:480px}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);background:var(--color-primary-soft);padding:.3rem .7rem;border-radius:var(--radius-full)}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.7rem 1.25rem;background:var(--color-primary);color:#fff;border:1px solid transparent;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s ease,box-shadow .15s ease,transform .05s ease;box-shadow:var(--shadow-xs)}.btn:hover{background:var(--color-primary-hover)}.btn:active{transform:translateY(1px)}.btn-lg{padding:.85rem 1.6rem;font-size:1.05rem;border-radius:var(--radius-md)}.btn-block{width:100%}.btn-sm{padding:.4rem .7rem;font-size:.82rem;border-radius:var(--radius-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--color-surface-muted)}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent;box-shadow:none}.btn-ghost:hover{background:var(--color-surface-muted);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6)}.form-group{text-align:left;margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.field-label,.form-group label{display:block;font-weight:600;font-size:.9rem;margin-bottom:var(--space-2);color:var(--color-text)}.form-group input,.form-group select,.form-group textarea,.input,.select{width:100%;padding:.65rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.form-group select,.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem;cursor:pointer}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.input:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.segmented{display:inline-flex;width:100%;gap:var(--space-1);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.25rem}.segmented button{flex:1 1;border:none;background:transparent;padding:.5rem .6rem;border-radius:calc(var(--radius-md) - 4px);font-family:inherit;font-size:.88rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.segmented button:hover{color:var(--color-text)}.segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-xs)}.chip-row{display:flex;flex-wrap:wrap}.chip,.chip-row{gap:var(--space-2)}.chip{display:inline-flex;align-items:center;padding:.35rem .75rem;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.chip-primary{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary)}.alert-error,.media-error{color:var(--color-danger-hover);background:var(--color-danger-soft);border:1px solid #fecaca;border-radius:var(--radius-md)}.alert-error,.alert-success,.media-error{padding:.65rem .9rem;font-size:.9rem;font-weight:500}.alert-success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:var(--radius-md);margin-bottom:var(--space-4)}.auth-page{padding-top:var(--space-8)}.auth-card{text-align:left}.auth-title{font-size:1.5rem;margin-bottom:var(--space-2)}.auth-subtitle{font-size:.95rem;color:var(--color-text-muted);margin-bottom:var(--space-5)}.auth-card .btn-block{margin-top:var(--space-2)}.auth-links{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:.9rem;color:var(--color-text-muted)}.auth-links a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}.profile-card{display:flex;flex-direction:column;gap:var(--space-5)}.profile-head{display:flex;align-items:center;gap:var(--space-4)}.profile-avatar{width:64px;height:64px;flex:none;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-size:1.6rem;font-weight:700}.profile-name{font-size:1.4rem;margin-bottom:.15rem}.profile-handle{font-size:.92rem;color:var(--color-text-muted);margin:0}.profile-details{display:flex;flex-direction:column}.profile-detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.profile-detail-row dt{font-size:.88rem;font-weight:600;color:var(--color-text-muted)}.profile-detail-row dd{font-size:.95rem;font-weight:600;color:var(--color-text);text-align:right;word-break:break-word}.profile-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.profile-subject-chips{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.settings-title{font-size:1.6rem}.settings-section,.settings-title{margin-bottom:var(--space-5)}.settings-section h2{font-size:1.1rem;margin-bottom:var(--space-2)}.settings-section-sub{font-size:.9rem;color:var(--color-text-muted);margin-bottom:var(--space-4)}.online-status-toggle{max-width:320px}.settings-hint{font-size:.85rem;color:var(--color-text-muted);margin:var(--space-3) 0 0}.settings-placeholder{font-size:.9rem;color:var(--color-text-subtle);font-style:italic;margin:0}.hero{text-align:center;padding:var(--space-5) var(--space-5) var(--space-6);max-width:720px;margin:0 auto}.hero-logo{display:block;width:clamp(150px,34vw,220px);height:auto;margin:0 auto var(--space-2)}.hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;margin-bottom:var(--space-4)}.hero-lead{font-size:clamp(1.05rem,2.2vw,1.25rem);color:var(--color-text-muted);max-width:520px;margin:0 auto var(--space-6)}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.hero-note{margin-top:var(--space-4);font-size:.85rem;color:var(--color-text-subtle)}.steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4);max-width:840px;margin:0 auto;padding:0 var(--space-5) var(--space-8)}.step{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left;box-shadow:var(--shadow-sm)}.step-num{width:34px;height:34px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-weight:700;display:grid;place-items:center;margin-bottom:var(--space-3)}.step h3{font-size:1.02rem;margin-bottom:var(--space-2)}.step p{font-size:.9rem;margin:0}.match-header{text-align:center;margin-bottom:var(--space-6)}.match-header h1{font-size:1.9rem;margin-bottom:var(--space-2)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}.session-actions{margin-top:var(--space-5)}.waiting{text-align:center}.waiting-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-8) var(--space-6)}.radar{position:relative;width:96px;height:96px;display:grid;place-items:center}.radar-core{width:22px;height:22px;background:var(--color-primary);z-index:2}.radar-core,.radar-ring{border-radius:var(--radius-full)}.radar-ring{position:absolute;inset:0;border:2px solid var(--color-primary);opacity:0;animation:radar-pulse 2s ease-out infinite}.radar-ring:nth-child(2){animation-delay:.66s}.radar-ring:nth-child(3){animation-delay:1.33s}@keyframes radar-pulse{0%{transform:scale(.35);opacity:.6}to{transform:scale(1);opacity:0}}.waiting-status{font-size:1.15rem;font-weight:600;color:var(--color-text);max-width:380px}.waiting-target{color:var(--color-primary)}.waiting-sub{font-size:.9rem;color:var(--color-text-muted);margin:0}.waiting-criteria{width:100%;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:left}.waiting-criteria-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle);margin-bottom:var(--space-2)}.waiting-criteria-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:.3rem 0}.waiting-criteria-row dt{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.waiting-criteria-row dd{font-size:.95rem;font-weight:600;color:var(--color-text);text-align:right}@media (prefers-reduced-motion:reduce){.radar-ring{animation-duration:3.5s}}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:rgba(17,24,39,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade-in .15s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-card{width:100%;max-width:420px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);text-align:left;animation:modal-pop-in .18s ease}@keyframes modal-pop-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}.modal-card h2{font-size:1.2rem}.modal-card h2,.modal-card p{margin-bottom:var(--space-3)}.modal-card p:last-of-type{margin-bottom:var(--space-5)}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3)}.waiting-elapsed{font-size:.8rem;font-weight:600;color:var(--color-text-subtle);margin:-.5rem 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.match-found-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);text-align:center;animation:match-found-in .3s ease}@keyframes match-found-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.match-found-emoji{font-size:3rem;line-height:1;animation:match-found-bounce .6s ease infinite alternate}@keyframes match-found-bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.while-you-wait{width:100%;max-width:420px;margin-top:var(--space-5);text-align:left}.while-you-wait-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.while-you-wait-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:.6rem 1rem;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:inherit;font-size:.88rem;font-weight:600;color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-xs);transition:background .15s ease,border-color .15s ease}.while-you-wait-btn:hover{background:var(--color-surface-muted);border-color:var(--color-primary)}.tool-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:rgba(17,24,39,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade-in .15s ease}.tool-overlay-fullscreen{padding:0}.tool-overlay-body{width:100%;max-width:640px;max-height:85vh;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:left;overflow:hidden;display:flex;flex-direction:column;animation:modal-pop-in .18s ease}.tool-overlay-body-whiteboard{max-width:900px;height:85vh}.tool-overlay-body-whiteboard .whiteboard-panel{border:none;border-radius:0;box-shadow:none;height:100%}.tool-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.tool-panel-content{padding:var(--space-5);overflow-y:auto}.tool-empty{color:var(--color-text-subtle);font-style:italic}.formula-section+.formula-section{margin-top:var(--space-5)}.formula-section h3{font-size:.95rem;margin-bottom:var(--space-2);color:var(--color-primary-hover)}.formula-section ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.formula-section li{font-size:.9rem;color:var(--color-text);background:var(--color-surface-muted);border-radius:var(--radius-sm);padding:.5rem .75rem;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,monospace}.practice-question{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}.practice-question-text{font-size:1.02rem;font-weight:600;color:var(--color-text)}.practice-answer{background:var(--color-primary-soft);color:var(--color-primary-hover);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:.92rem;font-weight:500}.session-shell{min-height:calc(100dvh - 60px)}.session-container,.session-shell{display:flex;flex-direction:column}.session-container{width:100%;max-width:1280px;margin:0 auto;padding:var(--space-4) var(--space-5);gap:var(--space-3);flex:1 1;min-height:0}@media (min-width:901px) and (min-height:560px){.session-shell{height:calc(100dvh - 60px);min-height:0;overflow:hidden}}.controls-bar,.media-error,.reconnect-banner,.session-topbar,.working-bar{flex-shrink:0}.session-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.session-topbar h1{font-size:1.35rem;margin-bottom:.15rem}.session-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.status-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--color-text-subtle);display:inline-block}.status-dot.live{background:var(--color-success);box-shadow:0 0 0 3px rgba(22,163,74,.18)}.status-dot.reconnecting{background:var(--color-accent);box-shadow:0 0 0 3px rgba(14,165,233,.18);animation:pulse-dot 1.2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.reconnect-banner{color:#075985;background:#e0f2fe;border:1px solid #bae6fd;border-radius:var(--radius-md);padding:.65rem .9rem;font-size:.9rem;font-weight:500}.session-status-label{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.working-bar{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem .5rem .5rem .9rem}.working-bar label{font-size:.85rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.working-bar input{flex:1 1;border:none;padding:.4rem .5rem;font-size:.95rem;font-family:inherit;background:transparent}.working-bar input:focus{outline:none}.session-body{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:stretch;flex:1 1;min-height:0}.video-panel{flex-direction:column;min-height:0}.video-panel,.video-tile{position:relative;display:flex}.video-tile{background:#0b1220;border-radius:var(--radius-lg);overflow:hidden;align-items:center;justify-content:center}.video-tile-remote{flex:1 1;min-height:0;box-shadow:var(--shadow-md)}.video-tile-local{position:absolute;bottom:var(--space-4);right:var(--space-4);width:30%;max-width:220px;min-width:140px;aspect-ratio:16/10;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.85);box-shadow:var(--shadow-lg);z-index:3}.video-el{width:100%;height:100%;object-fit:cover}.video-label{position:absolute;bottom:var(--space-2);left:var(--space-3);background:rgba(0,0,0,.6);color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:var(--radius-sm);z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.video-tile-local .video-label{font-size:.68rem;bottom:.35rem;left:.4rem}.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:#cbd5e1;font-size:.92rem;text-align:center;padding:var(--space-4);background:#0b1220}.video-placeholder-spinner{width:28px;height:28px;border-radius:var(--radius-full);border:2px solid rgba(203,213,225,.25);border-top-color:#cbd5e1;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.video-placeholder-icon{font-size:2rem;line-height:1}.video-placeholder-text{font-weight:600;color:#e2e8f0}.video-placeholder-sub{font-size:.8rem;color:#94a3b8;max-width:32ch;line-height:1.4}.video-placeholder-sm{font-size:.72rem;gap:var(--space-1);padding:var(--space-2)}.video-muted-badge{position:absolute;top:var(--space-3);right:var(--space-3);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:.9rem;background:rgba(0,0,0,.6);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.video-el-contain{object-fit:contain;background:#0b1220}.video-tile-screen{flex:1 1;min-height:0;box-shadow:var(--shadow-md)}.video-panel.presenting-self .video-tile-screen{position:relative}.video-panel.presenting-self .video-tile-remote{position:absolute;bottom:var(--space-4);right:var(--space-4);width:30%;max-width:220px;min-width:140px;aspect-ratio:16/10;flex:none;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.85);box-shadow:var(--shadow-lg);z-index:3}.video-panel.presenting-self .video-tile-local{display:none}.video-panel.presenting-partner .video-tile-remote,.video-panel.presenting-self .video-tile-screen{outline:2px solid var(--color-primary);outline-offset:-2px}.screen-share-indicator{position:absolute;top:var(--space-3);left:50%;transform:translateX(-50%);z-index:4;display:inline-flex;align-items:center;gap:.45rem;max-width:calc(100% - 2 * var(--space-4));background:rgba(15,23,42,.82);color:#fff;font-size:.78rem;font-weight:600;padding:.35rem .8rem;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.screen-share-indicator .dot{width:8px;height:8px;border-radius:var(--radius-full);background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25)}.control-btn.sharing{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.control-btn:disabled{opacity:.5;cursor:not-allowed}.screen-share-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.screen-share-error-dismiss{flex:none;border:none;background:transparent;color:inherit;font-size:.9rem;line-height:1;cursor:pointer;padding:.2rem .35rem;border-radius:var(--radius-sm)}.screen-share-error-dismiss:hover{background:rgba(0,0,0,.08)}.chat-drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,100vw);padding:var(--space-3);z-index:80;transform:translateX(calc(100% + 24px));visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s}.chat-drawer.open{transform:none;visibility:visible;transition:transform .28s ease,visibility 0s}@media (min-width:1100px){.session-container{transition:margin-right .28s ease}.session-shell.chat-open .session-container{margin-right:380px}}.chat-panel{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-weight:600;font-size:.95rem}.chat-close-btn{border:none;background:transparent;color:var(--color-text-muted);font-size:1rem;line-height:1;padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.chat-close-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.chat-unread-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:700;border-radius:var(--radius-full);border:2px solid var(--color-surface);animation:chat-badge-pop .2s ease}@keyframes chat-badge-pop{0%{transform:scale(.5)}to{transform:none}}.chat-toast{position:fixed;right:var(--space-4);bottom:96px;z-index:90;display:flex;align-items:flex-start;gap:var(--space-2);max-width:320px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:inherit;text-align:left;cursor:pointer;animation:chat-toast-in .22s ease}@keyframes chat-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.chat-toast:hover{background:var(--color-surface-muted)}.chat-toast-icon{font-size:1.05rem;line-height:1.3}.chat-toast-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.chat-toast-from{font-size:.72rem;font-weight:700;color:var(--color-text-muted)}.chat-toast-text{font-size:.88rem;color:var(--color-text);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.chat-box{flex:1 1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.chat-empty{margin:auto;color:var(--color-text-subtle);font-size:.9rem;text-align:center}.chat-message{max-width:82%;padding:.5rem .75rem;background:var(--color-surface-muted);border-radius:14px 14px 14px 4px;align-self:flex-start}.chat-message.you{align-self:flex-end;background:var(--color-primary);border-radius:14px 14px 4px 14px}.chat-message.you .chat-message-meta,.chat-message.you .chat-text{color:#fff}.chat-message.you .chat-message-meta{color:rgba(255,255,255,.8)}.chat-message-meta{display:flex;justify-content:space-between;gap:var(--space-4);font-size:.7rem;font-weight:600;color:var(--color-text-subtle);margin-bottom:.2rem}.chat-text{font-size:.92rem;color:var(--color-text);word-break:break-word}.chat-form{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface)}.chat-form .form-group{flex:1 1;margin-bottom:0}.controls-bar{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.control-btn,.controls-bar{background:var(--color-surface)}.control-btn{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:.2rem;min-width:84px;padding:.55rem .9rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);color:var(--color-text);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.control-btn:hover{background:var(--color-surface-muted)}.control-btn .control-icon{font-size:1.1rem;line-height:1}.control-btn.off{background:var(--color-danger-soft);border-color:#fecaca;color:var(--color-danger-hover)}.control-btn.leave{background:var(--color-danger);border-color:transparent;color:#fff}.control-btn.leave:hover{background:var(--color-danger-hover)}.end-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-5)}@media (max-width:900px){.session-body{grid-template-columns:1fr}.video-panel{min-height:0}.video-tile-remote{flex:0 0 auto;aspect-ratio:16/9;max-height:42vh;min-height:0}.controls-bar{position:-webkit-sticky;position:sticky;bottom:var(--space-2);z-index:30;box-shadow:var(--shadow-md)}.control-btn{min-height:52px;flex:1 1 auto;min-width:64px}}@media (max-width:640px){.chat-drawer{width:100%;padding:0}.chat-drawer .chat-panel{border-radius:0;border:none}.form-row,.steps{grid-template-columns:1fr}.container{padding:var(--space-6) var(--space-4)}.session-container{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.session-topbar h1{font-size:1.1rem}.video-tile-local{width:34%;bottom:var(--space-2);right:var(--space-2)}.controls-bar{gap:var(--space-2);padding:var(--space-2)}.control-btn{padding:.5rem .4rem;font-size:.72rem}}.control-btn.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.session-body.with-whiteboard{grid-template-columns:minmax(0,2.3fr) minmax(280px,1fr);transition:grid-template-columns .25s ease}.session-body.with-whiteboard.wb-large{grid-template-columns:minmax(0,4fr) minmax(220px,1fr)}.session-body.with-whiteboard .whiteboard-panel{grid-column:1;grid-row:1;min-height:0}.session-body.with-whiteboard .video-panel{grid-column:2;grid-row:1;min-height:0}.session-body.with-whiteboard .video-panel .video-tile-remote{min-height:0}.whiteboard-panel{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;min-height:0}.whiteboard-panel.wb-fullscreen{position:fixed;inset:0;z-index:60;border-radius:0;border:none;animation:wb-enter-fullscreen .18s ease}@keyframes wb-enter-fullscreen{0%{opacity:.5;transform:scale(.985)}to{opacity:1;transform:none}}.whiteboard-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.whiteboard-title{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:.95rem}.whiteboard-subtitle{font-weight:500;font-size:.78rem;color:var(--color-text-subtle)}.whiteboard-window-actions{display:flex;align-items:center;gap:var(--space-2)}.wb-size-switch{display:inline-flex;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden}.wb-size-switch-btn{border:none;background:var(--color-surface);color:var(--color-text-muted);font-family:inherit;font-size:.75rem;font-weight:600;padding:.32rem .6rem;cursor:pointer;transition:background .15s ease,color .15s ease}.wb-size-switch-btn+.wb-size-switch-btn{border-left:1px solid var(--color-border)}.wb-size-switch-btn:hover{background:var(--color-surface-muted)}.wb-size-switch-btn.active{background:var(--color-primary-soft);color:var(--color-primary-hover)}.wb-window-btn{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);font-family:inherit;font-size:.78rem;font-weight:600;padding:.3rem .7rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.wb-window-btn:hover{background:var(--color-surface-muted)}.wb-toolbar{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.wb-tool-group,.wb-toolbar{display:flex;align-items:center}.wb-tool-group{gap:.35rem}.wb-divider{width:1px;align-self:stretch;background:var(--color-border);margin:.15rem .25rem}.wb-tool-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-sm);font-family:inherit;font-size:.8rem;font-weight:600;color:var(--color-text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.wb-tool-btn:hover{background:var(--color-surface-muted)}.wb-tool-btn.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.wb-swatch{width:22px;height:22px;border-radius:var(--radius-full);border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border-strong);cursor:pointer;padding:0;transition:transform .1s ease}.wb-swatch:hover:not(:disabled){transform:scale(1.12)}.wb-swatch.active{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-primary)}.wb-swatch:disabled{opacity:.35;cursor:not-allowed}.wb-size-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer}.wb-size-btn.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.wb-size-dot{display:inline-block;background:var(--color-text);border-radius:var(--radius-full)}.wb-action-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .7rem;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-sm);font-family:inherit;font-size:.8rem;font-weight:600;color:var(--color-text);cursor:pointer;transition:background .15s ease}.wb-action-btn:hover:not(:disabled){background:var(--color-surface-muted)}.wb-action-btn:disabled{opacity:.4;cursor:not-allowed}.wb-action-btn.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.wb-zoom-btn{min-width:30px;justify-content:center;font-size:.95rem;line-height:1}.wb-zoom-label{min-width:3.1em;text-align:center;font-size:.78rem;font-weight:600;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wb-clear-btn{color:var(--color-danger-hover);border-color:#fecaca;background:var(--color-danger-soft)}.wb-clear-btn:hover:not(:disabled){background:#fecaca}.wb-current-tool{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;padding:.3rem .6rem;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);font-size:.78rem;font-weight:600;color:var(--color-text-muted)}.wb-current-color{width:14px;height:14px;border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--color-border-strong)}.whiteboard-canvas-wrap{position:relative;flex:1 1;min-height:0;background:#ffffff;overflow:hidden}.whiteboard-grid-canvas{position:absolute;inset:0;pointer-events:none}.whiteboard-canvas{position:relative;display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.whiteboard-canvas.pan-mode{cursor:-webkit-grab;cursor:grab}.whiteboard-canvas.panning{cursor:-webkit-grabbing;cursor:grabbing}.whiteboard-restore{align-self:center;display:inline-flex;align-items:center;gap:var(--space-2);padding:.5rem 1rem;border:1px dashed var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-hover);border-radius:var(--radius-full);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.whiteboard-restore:hover{background:#e0e7ff}@media (max-width:900px){.session-body.with-whiteboard,.session-body.with-whiteboard.wb-large{grid-template-columns:1fr;grid-template-rows:none}.session-body.with-whiteboard .video-panel,.session-body.with-whiteboard .whiteboard-panel{grid-column:1;grid-row:auto}.session-body.with-whiteboard .whiteboard-panel{min-height:60vh}}@media (max-width:640px){.whiteboard-panel-header{flex-wrap:wrap;row-gap:var(--space-2)}.whiteboard-window-actions{flex-wrap:wrap;justify-content:flex-start}.whiteboard-subtitle{display:none}}.container.friends-page{max-width:720px}.friends-header{margin-bottom:var(--space-5)}.friends-header h1{font-size:1.8rem;margin-bottom:var(--space-1)}.friends-header p{margin:0}.friends-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.25rem;margin-bottom:var(--space-5)}.friends-tab{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;background:transparent;padding:.5rem .7rem;border-radius:calc(var(--radius-md) - 4px);font-family:inherit;font-size:.88rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.friends-tab:hover{color:var(--color-text)}.friends-tab.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-xs)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--color-surface-muted);border:1px solid var(--color-border);font-size:.7rem;font-weight:700;color:var(--color-text-muted)}.friends-tab.active .tab-count{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary)}.tab-count-alert{background:var(--color-danger);border-color:transparent;color:#fff}.friends-subhead{font-size:.95rem;color:var(--color-text-muted);margin-bottom:var(--space-3)}.friend-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.friend-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.friend-avatar{width:44px;height:44px;flex:none;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-size:1.1rem;font-weight:700;overflow:hidden}.friend-avatar-img{object-fit:cover}.friend-identity{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.friend-name{font-weight:600;font-size:.95rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-handle,.presence-label{font-size:.82rem;color:var(--color-text-muted)}.presence-label{display:inline-flex;font-weight:600;white-space:nowrap}.friend-row-actions,.presence-label{align-items:center;gap:var(--space-2)}.friend-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.recent-row{align-items:flex-start}.recent-meta{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);margin-top:.35rem}.recent-sub{font-size:.8rem;color:var(--color-text-subtle);margin-top:.35rem}.friends-empty{text-align:center;padding:var(--space-6) var(--space-5);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.friends-empty.compact{padding:var(--space-4);border-style:solid;border-color:var(--color-border)}.friends-empty h3{font-size:1.05rem;margin-bottom:var(--space-2)}.friends-empty p{margin:0;font-size:.9rem}.session-summary-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.session-summary-emoji{font-size:2.6rem;line-height:1}.session-summary-lead{margin:0;max-width:42ch}.session-summary-stats{width:100%;margin:var(--space-3) 0;display:flex;flex-direction:column}.session-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-border);text-align:left}.session-summary-row dt{font-size:.88rem;font-weight:600;color:var(--color-text-muted)}.session-summary-row dd{font-size:.95rem;font-weight:600;color:var(--color-text);text-align:right}.session-summary-handle{font-weight:500;color:var(--color-text-muted)}.session-summary-chip{align-self:center}@media (max-width:560px){.friend-row{flex-wrap:wrap}.friend-row-actions{width:100%;justify-content:flex-start}.presence-label{margin-left:auto}}.avatar{flex:none;border-radius:var(--radius-full);display:inline-block;background:var(--color-surface-muted)}.avatar,.avatar-img{object-fit:cover}.avatar-initials{justify-content:center;color:#fff;font-weight:700;line-height:1;letter-spacing:-.01em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-nav-avatar,.avatar-initials{display:inline-flex;align-items:center}.app-nav-avatar{border-radius:var(--radius-full);margin-left:var(--space-1)}.app-nav-avatar:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.profile-hero-card{display:flex;flex-direction:column;gap:var(--space-5)}.profile-hero-head{display:flex;gap:var(--space-5);align-items:flex-start}.profile-hero-avatar{box-shadow:var(--shadow-md)}.profile-hero-identity{min-width:0;flex:1 1}.profile-hero-name{font-size:1.6rem;margin-bottom:.1rem;word-break:break-word}.profile-hero-handle{font-size:.95rem;color:var(--color-text-muted);margin:0 0 var(--space-3)}.profile-hero-bio{color:var(--color-text);font-size:.98rem;margin:0 0 var(--space-3);white-space:pre-wrap;word-break:break-word}.profile-hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.profile-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.profile-section{border-top:1px solid var(--color-border);padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.profile-section-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-subtle)}.profile-subject-block{display:flex;flex-direction:column;gap:var(--space-2)}.profile-subject-label{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.profile-muted{color:var(--color-text-subtle);font-size:.92rem}.profile-member-since{font-size:.82rem;color:var(--color-text-subtle);margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-3);gap:var(--space-3)}.stat-tile{display:flex;flex-direction:column;gap:.15rem;padding:var(--space-4) var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.stat-value{font-size:1.35rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis}.stat-label{font-size:.76rem;font-weight:600;color:var(--color-text-muted)}@media (max-width:560px){.stat-grid{grid-template-columns:repeat(2,1fr)}.profile-hero-head{flex-direction:column;align-items:center;text-align:center}.profile-hero-meta{justify-content:center}}.profile-edit{display:flex;flex-direction:column;gap:var(--space-4)}.profile-edit-avatar{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.profile-edit-avatar-actions{display:flex;flex-direction:column;gap:var(--space-2)}.field-hint,.profile-edit-hint{font-size:.78rem;color:var(--color-text-subtle);margin:.35rem 0 0}.field-counter{text-align:right}.field-optional{font-weight:500;color:var(--color-text-subtle);font-size:.82rem}textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.subject-chip-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.subject-chip{padding:.45rem .85rem;border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.subject-chip:hover{border-color:var(--color-primary);color:var(--color-text)}.subject-chip.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.privacy-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.privacy-fieldset legend{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle);padding:0 var(--space-2)}.privacy-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.5rem 0;font-size:.92rem;font-weight:500;color:var(--color-text);cursor:pointer}.privacy-toggle input{position:absolute;opacity:0;width:1px;height:1px}.privacy-switch{position:relative;flex:none;width:40px;height:22px;border-radius:var(--radius-full);background:var(--color-border-strong);transition:background .15s ease}.privacy-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--radius-full);background:#fff;box-shadow:var(--shadow-xs);transition:transform .15s ease}.privacy-toggle input:checked+.privacy-switch{background:var(--color-primary)}.privacy-toggle input:checked+.privacy-switch:after{transform:translateX(18px)}.privacy-toggle input:focus-visible+.privacy-switch{outline:2px solid var(--color-primary);outline-offset:2px}.profile-edit-actions,.settings-head{display:flex;gap:var(--space-3)}.settings-head{align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.settings-head .settings-title{margin-bottom:0}.cropper-card{max-width:340px}.cropper-stage{display:flex;justify-content:center;margin:var(--space-4) 0}.cropper-viewport{position:relative;overflow:hidden;border-radius:var(--radius-full);background:#0b1220;cursor:-webkit-grab;cursor:grab;touch-action:none;box-shadow:0 0 0 3px var(--color-primary-soft),var(--shadow-md)}.cropper-viewport:active{cursor:-webkit-grabbing;cursor:grabbing}.cropper-zoom{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-weight:700}.cropper-zoom input[type=range]{flex:1 1;accent-color:var(--color-primary)}.friend-name-link{text-decoration:none;color:inherit}.friend-name-link:hover{text-decoration:underline}.session-summary-partner{display:flex;justify-content:center;margin:var(--space-2) 0}.mode-choices{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-4);gap:var(--space-4);max-width:720px;margin:var(--space-5) auto 0;text-align:left}.mode-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-2)}.mode-card h2{font-size:1.25rem}.mode-card p{font-size:.92rem;margin:0;flex:1 1}.mode-icon{font-size:1.75rem;line-height:1}.mode-actions{margin-top:var(--space-3);display:flex;flex-direction:column}.mode-actions,.mode-actions-split{gap:var(--space-2)}.container.rooms-page{max-width:1100px}.rooms-page{padding-top:var(--space-6);padding-bottom:var(--space-8)}.rooms-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.rooms-header h1{font-size:1.8rem;margin-bottom:var(--space-1)}.rooms-header p{margin:0}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.room-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.room-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.room-card-head h3{font-size:1.1rem}.room-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.room-card-desc{font-size:.88rem;margin:0;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.room-card-host{display:flex;align-items:center;gap:var(--space-2);font-size:.85rem;color:var(--color-text-muted)}.room-card-host strong{color:var(--color-text)}.room-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.room-count{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.room-live-chip{display:inline-flex;align-items:center;gap:6px;background:var(--color-danger-soft);color:var(--color-danger)}.rooms-empty{text-align:center;padding:var(--space-8) var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.rooms-empty-icon{font-size:2.5rem}.room-gate{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.room-gate h1{font-size:1.6rem}.room-gate-tags{justify-content:center}.room-gate-count{font-size:.9rem;font-weight:600;color:var(--color-text-muted);margin:0}.room-gate-password{width:100%;text-align:left}.room-gate .btn-block{width:100%}.lobby-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:var(--space-5);gap:var(--space-5);align-items:start}.lobby-main{display:flex;flex-direction:column;gap:var(--space-4)}.lobby-head h1{font-size:1.7rem;margin-top:var(--space-2)}.lobby-host-line{margin:var(--space-1) 0 0;font-size:.9rem}.lobby-desc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0;font-size:.92rem}.lobby-cta-card,.lobby-session-banner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.lobby-session-banner{border-color:var(--color-primary);background:var(--color-primary-soft)}.lobby-cta-card h2,.lobby-session-banner h2{font-size:1.15rem}.lobby-cta-card p,.lobby-session-banner p{margin:0;font-size:.92rem}.lobby-invite .form-group{margin:0}.lobby-invite-row{display:flex;gap:var(--space-2)}.lobby-invite-row input{flex:1 1;font-size:.85rem}.lobby-invite-friends{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.lobby-invite-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:none;border:none;font:inherit;font-weight:600;color:var(--color-text);cursor:pointer}.lobby-invite-toggle:hover{background:var(--color-surface-muted)}.lobby-invite-body{padding:0 var(--space-4) var(--space-3)}.invite-friend-list,.participant-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.invite-friend-row,.participant-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md)}.participant-row:hover{background:var(--color-surface-muted)}.participant-meta{flex:1 1;min-width:0;display:flex;flex-direction:column}.participant-name{font-weight:600;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-you{color:var(--color-text-subtle);font-weight:400}.participant-sub{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-muted)}.participant-kick{background:none;border:none;color:var(--color-text-subtle);cursor:pointer;font-size:.9rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.participant-kick:hover{background:var(--color-danger-soft);color:var(--color-danger)}.host-chip{background:var(--color-primary-soft);color:var(--color-primary);font-size:.72rem}.lobby-side{display:flex;flex-direction:column;gap:var(--space-4);position:-webkit-sticky;position:sticky;top:76px}.lobby-participants{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.lobby-participants h2{font-size:1rem;margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between}.lobby-count{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.lobby-actions{display:flex;flex-direction:column;gap:var(--space-2)}.room-invite-from{display:flex;align-items:center;gap:var(--space-3)}.room-invite-from p{margin:0;text-align:left}@media (max-width:760px){.lobby-grid,.mode-choices{grid-template-columns:1fr}.lobby-side{position:static}.rooms-header{flex-direction:column;align-items:stretch}}.group-session-body{grid-template-columns:minmax(0,1fr) 320px}.group-session-body .group-video-column{grid-column:1;grid-row:1;min-height:0;display:flex}.group-session-body .session-participants{grid-column:2;grid-row:1;overflow-y:auto}.group-session-body.with-whiteboard{grid-template-columns:minmax(0,2.3fr) minmax(280px,1fr);transition:grid-template-columns .25s ease}.group-session-body.with-whiteboard.wb-large{grid-template-columns:minmax(0,4fr) minmax(220px,1fr)}.group-session-body.with-whiteboard .whiteboard-panel{grid-column:1;grid-row:1}.group-session-body.with-whiteboard .group-video-column{grid-column:2;grid-row:1;min-height:220px}@media (max-width:900px){.group-session-body,.group-session-body.with-whiteboard,.group-session-body.with-whiteboard.wb-large{grid-template-columns:1fr}.group-session-body .group-video-column,.group-session-body .session-participants,.group-session-body.with-whiteboard .group-video-column,.group-session-body.with-whiteboard .whiteboard-panel{grid-column:1}.group-session-body .session-participants{max-height:220px}}.video-grid{flex:1 1;min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-auto-rows:minmax(140px,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-content:start}.video-tile-grid{width:100%;height:100%;min-height:140px;box-shadow:var(--shadow-sm)}.video-grid.presenting{display:flex;flex-direction:column;gap:var(--space-3)}.video-stage{flex:1 1;min-height:0;display:flex}.video-stage .video-tile-stage{width:100%;height:100%;min-height:0;box-shadow:var(--shadow-md)}.video-filmstrip{flex:0 0 auto;display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:2px}.video-filmstrip .video-tile-grid{flex:0 0 auto;width:160px;height:100px;min-height:0}@media (max-width:640px){.video-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-auto-rows:minmax(100px,1fr)}.video-filmstrip .video-tile-grid{width:120px;height:76px}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}