:root{color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#ece8f5;background:#110f19}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 15%,#3b21402e,transparent 50%);min-height:100vh}header{height:88px;max-width:1120px;margin:auto;display:flex;align-items:center;gap:28px;padding:0 32px;border-bottom:1px solid #ffffff0c}.brand{font-size:34px;letter-spacing:-3px;font-weight:800;color:#fff;text-decoration:none}.brand span{font-size:12px;letter-spacing:0;color:#ec4f8b;margin-left:6px}.back{color:#a9a1bb;text-decoration:none;font-size:14px}header>.tag{margin-left:auto}.tag{font-size:12px;color:#b9afca;background:#ffffff06;border:1px solid #ffffff12;padding:7px 12px;border-radius:30px}main{max-width:900px;margin:auto;padding:60px 32px 28px}.eyebrow{color:#c690b2;font-size:11px;font-weight:600;letter-spacing:2px}h1{font-size:clamp(36px,6vw,62px);line-height:1.1;letter-spacing:-2px;margin:20px 0}h1 span{color:#aa9cbf}p{line-height:1.65}.intro{max-width:550px;color:#b0a6c1;font-size:16px;margin-bottom:36px}.room{border:1px solid #ffffff14;border-radius:22px;background:linear-gradient(150deg,#211b2d,#191621);box-shadow:0 24px 80px #0003;overflow:hidden}.room-head{padding:22px 26px;border-bottom:1px solid #ffffff0d;display:flex;align-items:center;justify-content:space-between;gap:14px}.room-head strong{font-size:14px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c084fc;margin-right:10px}#lobby{text-align:center;padding:32px 24px 16px}.orb{width:96px;height:96px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#774061,#392346);color:#f5b2d1;box-shadow:0 0 0 12px #b76aab07}h2{font-size:23px;letter-spacing:-.6px;margin:0 0 8px}#lobbyHint{color:#b0a6c1;font-size:14px;margin:0 0 24px}form{max-width:340px;margin:auto;text-align:left}label{font-size:12px;color:#b8aec6;display:block;margin-bottom:8px}input{width:100%;padding:14px 16px;border:1px solid #ffffff20;border-radius:11px;background:#100e18;color:#fff;font:inherit;outline:none}input:focus{border-color:#da7db1;box-shadow:0 0 0 3px #da7db115}button{padding:13px 18px;border-radius:11px;border:1px solid #ffffff20;background:#ffffff08;color:#eee8f5;cursor:pointer;font:600 13px inherit;font-family:inherit;font-size:13px;font-weight:600}button:hover{filter:brightness(1.13)}button:disabled{opacity:.45;cursor:wait}.primary{background:linear-gradient(115deg,#b85d94,#8e5bb5);border-color:transparent;color:white}form button{width:100%;margin-top:12px}.fine{font-size:12px;color:#958aa7;margin:22px 0 0}.danger{color:#ffb0bd;background:#ab345617;border-color:#ff8ea333}#status{font-size:13px;text-align:center;color:#e7b1cf;margin:0;padding:12px 24px 22px;min-height:45px}#login{display:inline-block;color:#e9a2ce;margin-top:16px}[hidden]{display:none!important}footer{display:flex;justify-content:space-between;gap:16px;margin-top:28px;color:#aea2bf;font-size:12px}.privacy{font-size:11px;color:#80768f;margin-top:22px;text-align:center}#call{padding:26px}.call-top{display:flex;justify-content:space-between;font-size:12px;color:#a699b7}.peers{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:26px 0}.peer{text-align:center;border:1px solid #ffffff10;border-radius:15px;padding:24px 10px;background:#ffffff03}.avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#48304f;color:#f2c4df;font-size:23px;margin:0 auto 14px}.peer.speaking .avatar{box-shadow:0 0 0 4px #9fdbb955,0 0 28px #9fdbb925}.peer b{display:block;font-size:14px;overflow-wrap:anywhere}.peer small{display:block;font-size:11px;color:#a89bb8;margin-top:7px}.controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}#call>.fine{text-align:center}#play{display:block;margin:16px auto}#linkFallback{overflow-wrap:anywhere;color:#dbb5d2;font-size:12px}@media(max-width:600px){header{height:70px;padding:0 20px;gap:20px}main{padding:36px 18px 22px}h1{letter-spacing:-1.3px}.room-head{padding:17px}.room-head .tag{font-size:10px;white-space:nowrap}#call{padding:18px}.controls button{flex:1;min-width:120px}footer{flex-direction:column;gap:12px}h2{font-size:20px}.back{font-size:12px}}

/* Video meeting */
.in-call main{max-width:1440px;padding-top:22px}.in-call h1,.in-call .eyebrow,.in-call .intro,.in-call footer{display:none}.peers{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.peer{position:relative;overflow:hidden;min-height:210px;display:flex;flex-direction:column;justify-content:center}.peer video{width:100%;height:180px;object-fit:cover;border-radius:10px;margin-bottom:12px}.peer.has-camera .avatar{display:none}.peer.speaking{border-color:#9fdbb9;box-shadow:0 0 0 2px #9fdbb930}.screen-card{position:relative;background:#09080d;border:1px solid #ffffff20;border-radius:14px;padding:12px;margin-top:16px}.screen-card video{display:block;width:100%;max-height:65vh;object-fit:contain;background:#09080d}.screen-card b{font-size:13px}.screen-card button{margin:10px 0 0 16px}.screen-card:fullscreen{display:flex;flex-direction:column;justify-content:center}.screen-card:fullscreen video{max-height:90vh}button[aria-pressed=true]{border-color:#d496c2;background:#503248}.controls{position:sticky;bottom:10px;background:#211b2df0;padding:12px;border-radius:14px;z-index:2}@media(max-width:600px){.peers{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.peer{min-height:150px;padding:10px 6px}.peer video{height:120px}.peer b{font-size:12px}.in-call main{padding:12px 8px}.controls button{min-width:110px;padding:10px}.screen-card video{max-height:45vh}}

/* Bounded square participant tiles, including a single participant. */
#peers{grid-template-columns:repeat(auto-fit,minmax(180px,280px));justify-content:center;align-items:start}
#peers .peer{width:100%;min-width:0;min-height:0;aspect-ratio:1/1;padding:12px;justify-content:center;background:#100e18}
#peers .peer video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:0;margin:0}
#peers .peer.has-camera::after{content:"";position:absolute;inset:auto 0 0;height:65px;background:linear-gradient(transparent,#09080ded);pointer-events:none}
#peers .peer b{position:absolute;bottom:30px;left:10px;right:10px;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#peers .peer small{position:absolute;bottom:12px;left:10px;right:10px;z-index:1;margin:0}
#peers .avatar{margin:0 auto 35px}
@media(max-width:600px){#peers{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#peers .peer:only-child{width:min(100%,240px);grid-column:1/-1;justify-self:center}#peers .peer b{font-size:12px}}
