*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#000;--fg:#fff;--muted:#a3a3a3;--line:#3d3d3d;--surface:#141414;--surface-2:#1f1f1f;--font-stack:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--radius:10px;--tap:52px}html,body{background-color:var(--bg);color:var(--fg)}body{font-family:var(--font-stack);-webkit-text-size-adjust:100%;font-size:18px;line-height:1.5}button,input{font-family:var(--font-stack);font-size:18px}.wordmark{letter-spacing:.02em;color:var(--fg);font-size:1.5rem;font-weight:600;text-decoration:none}.wordmark.small{font-size:1.05rem}.btn{width:100%;min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);color:var(--fg);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:12px 20px;font-weight:500;display:flex}.btn:disabled{color:var(--muted);cursor:not-allowed}.btn-primary{background:var(--fg);border-color:var(--fg);color:var(--bg);min-height:60px;font-size:20px;font-weight:600}.btn-small{white-space:nowrap;width:auto;min-height:48px;padding:10px 16px;font-size:17px}.field{width:100%;min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--fg);outline:none;padding:12px 16px}.field::placeholder{color:var(--muted)}.field:focus{border-color:var(--fg)}.choice{border:1px solid var(--line);border-radius:var(--radius);width:100%;display:flex;overflow:hidden}.choice-btn{min-height:var(--tap);color:var(--muted);cursor:pointer;background:0 0;border:none;flex:1;padding:12px 4px}.choice-btn+.choice-btn{border-left:1px solid var(--line)}.choice-btn.active{background:var(--fg);color:var(--bg);font-weight:600}.landing{flex-direction:column;min-height:100dvh;padding:20px;display:flex}.landing-inner{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;width:100%;max-width:420px;margin:0 auto;display:flex}.lede{color:var(--muted);text-align:center;margin-bottom:4px}.note{color:var(--muted);text-align:center;font-size:17px}.note.alert{color:var(--fg)}.site-footer{justify-content:center;gap:24px;padding-top:20px;display:flex}.site-footer a{color:var(--muted);font-size:16px;text-decoration:underline}.prejoin{flex-direction:column;min-height:100dvh;padding:20px;display:flex}.prejoin-inner{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;width:100%;max-width:420px;margin:0 auto;display:flex}.room{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.room-top{border-bottom:1px solid var(--line);background:var(--bg);flex-direction:column;flex-shrink:0;gap:10px;padding:12px 16px;display:flex}.link-row{align-items:center;gap:10px;display:flex}.room-link{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;color:var(--fg);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:12px 14px;font-size:17px;overflow:hidden}.room-controls{align-items:center;gap:10px;display:flex}.room-status{color:var(--muted);font-size:16px}.room-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.stage{background:var(--bg);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.video-grid{background:var(--bg);grid-template-rows:1fr;grid-template-columns:1fr;gap:2px;display:grid;position:absolute;inset:0;overflow:hidden}.video-grid:has(video:nth-child(2)){grid-template-columns:1fr 1fr}.video-grid:has(video:nth-child(3)){grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.video-grid:has(video:nth-child(3)) video:nth-child(3){grid-column:1/-1;justify-self:center;max-width:50%}.video-grid:has(video:nth-child(4)){grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.video-grid video,.remote-video{object-fit:cover;background:var(--surface);width:100%;height:100%;min-height:0}.self-view{aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);z-index:5;width:110px;position:absolute;bottom:76px;right:12px;transform:scaleX(-1)}.stage-label{color:var(--muted);font-size:20px}.chat-toggle{z-index:15;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);width:180px;min-height:48px;color:var(--fg);cursor:pointer;margin-left:-90px;font-size:17px;position:absolute;bottom:12px;left:50%}.chat{z-index:20;background:var(--bg);border-top:1px solid var(--line);flex-direction:column;height:60vh;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.chat.open{transform:translateY(0)}.chat-messages{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px;display:flex;overflow-y:auto}.chat-message{border-radius:var(--radius);border:1px solid var(--line);word-wrap:break-word;max-width:85%;padding:10px 14px;font-size:17px}.chat-message.own{background:var(--surface-2);align-self:flex-end}.chat-message.other{background:var(--surface);align-self:flex-start}.chat-author{color:var(--muted);margin-bottom:2px;font-size:15px}.chat-input-row{border-top:1px solid var(--line);padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-shrink:0;gap:10px;display:flex}.chat-input-row .field{flex:1;min-width:0}.legal{max-width:680px;margin:0 auto;padding:32px 20px 48px}.legal h1{margin-bottom:6px;font-size:1.6rem;font-weight:600}.legal-updated{color:var(--muted);margin-bottom:28px;font-size:16px}.legal section{margin-bottom:24px}.legal h2{margin-bottom:8px;font-size:1.05rem;font-weight:600}.legal p{color:var(--muted);font-size:17px}.legal ul{flex-direction:column;gap:6px;margin-top:8px;padding-left:22px;list-style:outside;display:flex}.legal li{color:var(--muted);font-size:17px}@media (min-width:768px){.wordmark{font-size:1.75rem}.btn-primary{font-size:21px}.self-view{width:180px;bottom:16px}.room-body{flex-direction:row}.chat-toggle{display:none}.chat{border-top:none;border-left:1px solid var(--line);flex-shrink:0;width:360px;height:auto;position:static;transform:none}.chat.open{transform:none}.room-top{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.link-row{flex:1;max-width:640px}}
