@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"}: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;display:flex;align-items:center;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}.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{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:grid;place-items:center;color:#fff;font-size:.9rem;font-weight:800;box-shadow:var(--shadow-xs)}.brand-mark-lg{width:52px;height:52px;border-radius:14px;font-size:1.5rem}.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-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);padding:.65rem .9rem;font-size:.9rem;font-weight:500}.hero{text-align:center;padding:var(--space-8) var(--space-5) var(--space-6);max-width:720px;margin:0 auto}.hero .brand-mark-lg{margin:0 auto var(--space-5)}.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}}