:root{--bg-start:#f8fafc;--bg-end:#eef2f7;--panel:#fff;--panel-border:#0f172a1f;--heading:#0f172a;--body:#334155;--muted:#64748b;--accent:#2563eb;--accent-soft:#2563eb1a;--danger:#dc2626;--sans:"Avenir Next", "Nunito Sans", "Segoe UI", sans-serif;--heading-font:"Avenir Next", "Nunito Sans", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--body);background:radial-gradient(circle at 12% 12%, #2563eb14, transparent 24%), radial-gradient(circle at 88% 18%, #0f172a0f, transparent 24%), linear-gradient(160deg, var(--bg-start), var(--bg-end));text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}::selection{color:#fff;background:#3b82f659}p{margin:0}button,input{-webkit-tap-highlight-color:transparent}.app-shell{z-index:1;width:100%;min-height:100dvh;margin:0 auto;padding:.9rem;position:relative}.card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #0f172a14;border-radius:1.35rem;box-shadow:0 18px 44px #0f172a14}.ambient{pointer-events:none;filter:blur(72px);opacity:.16;z-index:0;border-radius:999px;width:30rem;height:30rem;position:fixed}.ambient-left{background:#60a5fa2e;top:-8rem;left:-10rem}.ambient-right{background:#94a3b82e;bottom:-10rem;right:-8rem}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem}.lobby-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.lobby-header-actions,.prejoin-header-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.language-select{color:var(--heading);background:#ffffffd1;border:1px solid #0f172a1a;border-radius:999px;align-items:center;gap:.42rem;padding:.28rem .45rem;display:inline-flex}.language-select svg{width:.95rem;height:.95rem}.language-select select{color:inherit;background:0 0;border:0;border-radius:999px;padding:.28rem 1.6rem .28rem .2rem}.mini-pill,.live-badge{color:var(--heading);background:#0f172a0d;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:.42rem;padding:.33rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.mini-pill svg,.with-icon svg{flex:none;width:1rem;height:1rem}h1,h2{color:var(--heading);line-height:1.02;font-family:var(--heading-font);letter-spacing:-.03em;margin:.15rem 0 0}h1{font-size:clamp(2rem,6vw,4.2rem)}h2{font-size:clamp(1.25rem,3vw,2rem)}.subtitle{max-width:40ch;color:var(--body);margin-top:.9rem}.lobby{max-width:44rem;margin:12vh auto 0;padding:2rem}.lobby-actions{grid-template-columns:auto 1fr auto;gap:.7rem;margin-top:1.4rem;display:grid}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #0000;border-radius:.9rem;justify-content:center;align-items:center;gap:.55rem;padding:.78rem 1rem;transition:transform .14s,box-shadow .14s,opacity .14s,background-color .14s,border-color .14s;display:inline-flex}button:hover{transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.primary{color:#fff;background:#0f172a;box-shadow:0 12px 24px #0f172a29}.ghost{color:var(--heading);background:#ffffffd1;border-color:#0f172a1f}.danger{background:var(--danger);color:#fff}input,select{color:var(--heading);background:#ffffffe6;border:1px solid #0f172a1f;border-radius:.9rem;min-width:0;padding:.78rem .9rem}input:focus,select:focus{outline-offset:1px;outline:2px solid #3b82f6}.lobby-footer{gap:.4rem;margin-top:.95rem;display:grid}.prejoin-shell{color:#f8fafc;background:#020617;border-radius:1.35rem;grid-template-rows:auto minmax(0,1fr);gap:1.25rem;min-height:calc(100dvh - 1.8rem);padding:clamp(1rem,3vw,2rem);display:grid;box-shadow:0 24px 70px #02061747}.prejoin-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.prejoin-header h1{color:#f8fafc}.prejoin-header .subtitle{color:#94a3b8}.room-code{color:#e2e8f0;background:#ffffff1a;border-radius:.55rem;margin-left:.35rem;padding:.25rem .5rem;display:inline-flex}.prejoin-grid{grid-template-columns:minmax(0,1fr) minmax(20rem,26rem);align-items:center;gap:1.25rem;min-height:0;display:grid}.prejoin-preview{aspect-ratio:16/9;background:#0f172a;border:1px solid #ffffff24;border-radius:1rem;min-height:18rem;position:relative;overflow:hidden}.prejoin-video-frame{background:#020617;place-items:center;width:100%;height:100%;display:grid}.prejoin-video{object-fit:contain;background:#020617;width:100%;height:100%}.prejoin-badges{flex-wrap:wrap;gap:.45rem;display:flex;position:absolute;bottom:1rem;left:1rem}.prejoin-badges span{color:#f8fafc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ab8;border-radius:999px;padding:.4rem .65rem;font-size:.84rem}.prejoin-badges .is-ready{background:#16a34ab8}.prejoin-badges .is-muted{background:#dc2626b8}.prejoin-panel{color:#f8fafc;background:#0f172ae0;border-color:#ffffff1f;gap:1rem;padding:1.25rem;display:grid}.prejoin-field{gap:.5rem;font-size:.9rem;font-weight:700;display:grid}.prejoin-field input,.prejoin-field select{color:#f8fafc;background:#020617;border-color:#ffffff1f}.prejoin-controls{gap:.55rem;display:grid}.prejoin-toggle,.join-button{width:100%}.prejoin-toggle{color:#e2e8f0;background:#ffffff14;border-color:#ffffff1f}.prejoin-toggle.is-on{color:#86efac;background:#16a34a29;border-color:#22c55e6b}.prejoin-toggle.is-off{color:#fca5a5;background:#dc262629;border-color:#f871716b}.join-button{color:#020617;background:#f8fafc;border-color:#0000;font-weight:800}.status,.error,.meet-error{margin:.85rem 0 0;font-size:.94rem}.status{color:var(--muted)}.error,.meet-error{color:#b91c1c}.meet-room{flex-direction:column;gap:.7rem;height:calc(100dvh - 1.8rem);min-height:0;display:flex;overflow:hidden}.meet-topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border:1px solid #0f172a14;border-radius:1.1rem;flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;display:flex;box-shadow:0 10px 30px #0f172a0f}.meet-brand{color:var(--heading);flex-wrap:wrap;align-items:center;gap:.55rem;font-weight:600;display:flex}.meet-dot{background:#22c55e;border-radius:999px;width:.75rem;height:.75rem;box-shadow:0 0 0 4px #22c55e1f}.meet-meta{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.room-pill,.status-pill,.count-pill,.meet-side button{color:var(--heading);background:#f8fafcf2;border:1px solid #0f172a14;border-radius:999px;padding:.5rem .8rem;font-size:.9rem}.room-pill,.status-pill{text-overflow:ellipsis;white-space:nowrap;max-width:min(24vw,28rem);overflow:hidden}.mono{letter-spacing:-.01em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.status-pill{color:#166534;background:#22c55e1a}.count-pill{color:#1e40af;background:#2563eb14}.count-pill svg{width:.95rem;height:.95rem}.meet-stage-wrap{flex:1;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.9rem;min-height:0;display:grid}.meet-stage{background:radial-gradient(circle at 0 0,#ffffff14,#0000 28%),#111827;border:1px solid #0f172a1a;border-radius:1.25rem;height:100%;min-height:0;padding:.65rem;position:relative;overflow:hidden;box-shadow:0 18px 42px #0f172a29}.meet-stage.solo{min-height:0}.stage-actions{z-index:8;position:absolute;top:.75rem;right:.75rem}.tile-grid,.sidebar-layout,.spotlight-layout{width:100%;height:100%;min-height:0}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr));align-items:stretch;gap:.75rem;display:grid}.tile-count-1{grid-template-columns:minmax(0,1fr)}.tile-count-2,.tile-count-3,.tile-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-layout{grid-template-columns:minmax(0,1fr) minmax(13rem,18vw);gap:.75rem;display:grid}.spotlight-layout{grid-template-columns:minmax(0,1fr);display:grid;position:relative}.focus-panel{min-width:0;min-height:0}.participant-rail{scrollbar-width:thin;scrollbar-color:#94a3b88c transparent;align-content:start;gap:.75rem;min-height:0;padding-right:.15rem;display:grid;overflow:auto}.participant-rail:empty{display:none}.video-tile{background:#020617;border:1px solid #ffffff1a;border-radius:1rem;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a3d}.video-tile.is-pinned-tile{border-color:#60a5facc;box-shadow:inset 0 0 0 1px #60a5fa57,0 0 0 1px #60a5fa38}.tile-pin{z-index:6;color:#e2e8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#02061794;border:1px solid #ffffff29;border-radius:999px;width:2rem;height:2rem;padding:0;position:absolute;top:.65rem;right:.65rem}.tile-pin:hover,.tile-pin.is-pinned{color:#fff;background:#2563ebe0;border-color:#93c5fd75}.tile-pin svg{width:.95rem;height:.95rem}.focus-tile{width:100%;height:100%}.compact-tile{aspect-ratio:16/10;min-height:8rem}.floating-self-card{aspect-ratio:16/10;z-index:5;width:clamp(11rem,18vw,15rem);position:absolute;bottom:1rem;right:1rem}.floating-self-card .video-tile{width:100%;height:100%;box-shadow:0 16px 40px #0000005c}.video-frame{background:radial-gradient(circle at 50% 18%,#3b82f61f,#0000 30%),#020617;place-items:center;width:100%;height:100%;min-height:0;display:grid}.tile-video{object-fit:contain;background:#020617;width:100%;height:100%;display:block}.presentation-frame,.presentation-video{background:#0b1120}.presentation-tile:before{content:attr(data-label);z-index:5;color:#eff6ff;letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e40afd1;border-radius:999px;padding:.28rem .55rem;font-size:.72rem;font-weight:700;position:absolute;top:.65rem;left:.65rem}.video-avatar{aspect-ratio:1;color:#fff;background:linear-gradient(135deg,#1e293b,#334155);border-radius:999px;place-items:center;width:clamp(4rem,10vw,6.5rem);font-size:clamp(1.5rem,4vw,2.6rem);font-weight:700;display:grid;box-shadow:0 18px 42px #00000047}.tile-label{color:#f8fafc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617b8;border-radius:999px;align-items:center;gap:.45rem;max-width:calc(100% - 1.5rem);padding:.38rem .62rem;font-size:.82rem;display:inline-flex;position:absolute;bottom:.75rem;left:.75rem}.tile-label svg{width:.95rem;height:.95rem}.tile-state{color:#e2e8f0c7;white-space:nowrap}.presentation-label{background:#1e40afd1}.participant-dot{background:#38bdf8;border-radius:999px;width:.5rem;height:.5rem;box-shadow:0 0 0 4px #38bdf829}.meet-label{color:#f8fafc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:4;background:#111827ad;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.86rem;display:flex;position:absolute;bottom:1rem;left:1rem}.self-label-dot{background:#22c55e;border-radius:999px;width:.5rem;height:.5rem;box-shadow:0 0 0 4px #22c55e29}.self-preview{aspect-ratio:4/3;z-index:3;background:#0f172a;border:1px solid #ffffff24;border-radius:1rem;width:clamp(9rem,18vw,13rem);position:absolute;bottom:1rem;right:1rem;overflow:hidden;box-shadow:0 14px 30px #0000004d}.self-preview video{object-fit:cover;width:100%;height:100%}.self-label{color:#fff;background:#0f172ab8;border-radius:999px;align-items:center;gap:.35rem;padding:.24rem .55rem;font-size:.76rem;display:inline-flex;position:absolute;bottom:.55rem;left:.55rem}.remote-strip{z-index:2;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.65rem;display:grid;position:absolute;top:1rem;left:1rem;right:1rem}.remote-chip{aspect-ratio:4/3;background:#0f172aa6;border:1px solid #ffffff1f;border-radius:1rem;position:relative;overflow:hidden}.remote-chip video{object-fit:cover;width:100%;height:100%}.remote-chip span{color:#fff;background:#0f172ab3;border-radius:999px;padding:.2rem .45rem;font-size:.72rem;position:absolute;bottom:.45rem;left:.45rem}.meet-side{align-content:start;gap:.6rem;display:grid}.meet-side button{text-align:left;width:100%}.meet-controls{box-shadow:none;background:#f8fafceb;border:1px solid #0f172a14;border-radius:999px;flex-wrap:wrap;justify-content:center;align-self:center;gap:.45rem;margin:0;padding:.35rem;display:inline-flex}.meeting-dock{box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;padding:0;display:grid}.dock-meta,.dock-actions{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;display:flex}.dock-meta,.dock-actions,.meet-controls{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #0f172a14;border-radius:999px;width:fit-content;padding:.35rem;box-shadow:0 14px 36px #0f172a1a}.dock-meta .meet-brand{white-space:nowrap}.dock-actions{justify-content:flex-end}.dock-button{color:var(--heading);background:0 0;border-color:#0000;border-radius:999px;padding:.58rem .72rem}.dock-button:hover,.control:hover{background:#0f172a0f}.icon-only{width:2.7rem;padding-inline:0}.dock-button svg{width:.95rem;height:.95rem}.control{color:#0f172a;background:0 0;border-color:#0000;border-radius:999px;min-width:5.4rem;padding:.62rem .82rem}.control.is-off{color:#991b1b;background:#fee2e2;border-color:#dc262629}.control.is-on{color:#1e40af;background:#dbeafe;border-color:#2563eb2e}.danger-control{background:var(--danger);color:#fff}.control svg,.ghost svg,.primary svg,.danger svg{width:1rem;height:1rem}.desktop-only{display:flex}.mobile-only{display:none}@media (width<=1024px){.prejoin-grid{grid-template-columns:1fr;align-items:stretch}.prejoin-preview{min-height:14rem}.meet-stage-wrap{grid-template-columns:1fr}.sidebar-layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.participant-rail{grid-template-columns:none;grid-auto-columns:minmax(11rem,15rem);grid-auto-flow:column;padding-bottom:.15rem;padding-right:0;overflow:auto hidden}.participant-rail .compact-tile{min-height:7rem}.meet-side{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-only{display:none}.mobile-only{display:grid}.meeting-dock{grid-template-columns:1fr;gap:.5rem}.dock-meta,.dock-actions,.meet-controls{justify-content:center}.room-pill,.status-pill{max-width:42vw}}@media (width<=720px){.app-shell{padding:.55rem}.prejoin-shell{border-radius:1rem;min-height:calc(100dvh - 1.1rem);padding:1rem}.prejoin-header{flex-direction:column}.prejoin-header .ghost{width:100%}.prejoin-preview{min-height:12rem}.prejoin-panel{padding:1rem}.meet-room{gap:.55rem;height:calc(100dvh - 1.1rem)}.lobby{margin-top:5vh;padding:1.25rem}.lobby-actions{grid-template-columns:1fr}.meet-topbar{flex-direction:column;align-items:stretch;gap:.55rem;padding:.65rem}.meet-meta{justify-content:flex-start}.meet-controls{border-radius:1.25rem;gap:.45rem;width:100%;padding:.45rem}.meeting-dock{border-radius:1rem;padding:.45rem}.dock-meta{justify-content:space-between}.dock-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.dock-button{min-width:0;padding:.58rem .5rem}.dock-button,.control{font-size:.86rem}.room-pill,.status-pill{max-width:46vw}.status-pill{display:none}.control{flex:1 1 0;min-width:calc(50% - .3rem);padding:.62rem .65rem}.meet-stage{border-radius:1rem;min-height:0;padding:.45rem}.tile-grid{grid-template-columns:1fr;gap:.45rem}.tile-count-2,.tile-count-3,.tile-count-4{grid-template-columns:1fr}.sidebar-layout{gap:.45rem}.participant-rail{grid-auto-columns:minmax(8.5rem,10rem);gap:.45rem}.participant-rail .compact-tile{min-height:5.8rem}.floating-self-card{width:8rem;bottom:.75rem;right:.75rem}.tile-label{max-width:calc(100% - .9rem);padding:.32rem .48rem;font-size:.72rem;bottom:.45rem;left:.45rem}.tile-pin{width:1.75rem;height:1.75rem;top:.45rem;right:.45rem}.presentation-tile:before{font-size:.66rem;top:.45rem;left:.45rem}.tile-state{display:none}.remote-strip{top:auto;bottom:5.5rem}.self-preview{width:6.6rem;bottom:.8rem;right:.8rem}.meet-controls{width:100%}.control{flex:calc(50% - .6rem)}}
