*{box-sizing:border-box} [hidden]{display:none!important} :root{color-scheme:dark;--bg:#101018;--panel:#191923;--line:#2d2b3b;--muted:#aaa6ba;--purple:#b8a0ff;--white:#f5f2ff} body{margin:0;background:radial-gradient(ellipse at 20% 0%,#26203960,transparent 50%),var(--bg);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5} button,input{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:10px;padding:10px 15px;color:inherit;background:#282636;transition:background .15s,transform .15s}button:hover{background:#383449}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--purple);outline-offset:3px}input{min-width:0;border:1px solid var(--line);border-radius:10px;background:#111119;color:var(--white);padding:12px 14px;width:100%}input::placeholder{color:#827c93}input[type=range]{padding:0;accent-color:var(--purple)}a{color:inherit;text-decoration:none}.primary{background:var(--purple);color:#211334;font-weight:650}.primary:hover{background:#cbbaff}.outline{background:transparent;border-color:#443c59}.text-button{background:transparent;color:var(--muted);padding:6px 8px}.hint,small{color:var(--muted);font-size:12px}.pill{font-size:10px;letter-spacing:.07em;color:#c7b9ee;background:#b99aff12;border:1px solid #b99aff20;border-radius:6px;padding:4px 8px;white-space:nowrap}header{max-width:1450px;margin:auto;padding:24px 42px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #ffffff09}.brand{font-size:19px;display:flex;align-items:center;gap:7px;letter-spacing:-.6px}.brand strong{font-weight:450;color:var(--muted)}.brand-icon{background:var(--purple);color:#261840;border-radius:11px;width:34px;height:34px;font-size:14px;display:grid;place-items:center;margin-right:3px}.private{color:var(--muted);font-size:12px;margin-left:auto}#invite{font-size:12px}main{max-width:1450px;margin:auto;padding:32px 42px 50px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--purple);font-weight:600}h1,h2,p{margin-top:0}.lobby{max-width:900px;margin:25px auto 0;position:relative;padding:48px 440px 40px 0;min-height:440px}.lobby h1{font-size:62px;line-height:1.08;letter-spacing:-3px;margin:25px 0}.lobby h1 em{font-weight:500;color:var(--purple);font-family:Georgia,serif}.lobby>p{color:var(--muted);line-height:1.8}.join-card{position:absolute;right:0;top:0;width:360px;background:linear-gradient(135deg,#242132,#191922);border:1px solid #42384d;border-radius:22px;padding:30px;box-shadow:0 25px 100px #0003}.join-card h2{font-size:22px;margin:20px 0}.join-card label{display:block;font-size:12px;margin:14px 0 8px;color:#d7d0e8}.join-card button{width:100%;display:flex;justify-content:space-between;margin:22px 0 12px}.join-card small{display:block;line-height:1.7}.lobby-features{display:flex;gap:18px;flex-wrap:wrap;color:#c1b7d5;font-size:11px;margin-top:35px}.room-heading{display:flex;align-items:center;justify-content:space-between;margin:7px 0 25px}.room-heading h1{font-size:38px;letter-spacing:-1.5px;margin:3px 0}.room-heading h1 span{color:var(--purple)}.room-heading p{color:var(--muted);margin:0;font-size:12px}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.connection i{width:6px;height:6px;background:#e5b47d;border-radius:50%}.connection i.online{background:#95d0b5}.connection button{margin-left:12px}.room-grid{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:24px}.watch-column,aside{min-width:0}.player-card,.call-card,.chat-card,.queue-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.section-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 20px}.section-top>span:first-child{font-size:10px;letter-spacing:.13em;color:#b9afcc}.section-top h2{font-size:14px;font-weight:550;margin:0}.screen{background:radial-gradient(ellipse at 50% 40%,#29223b,#0b0b11 73%);aspect-ratio:16/9;display:grid;place-items:center;position:relative;overflow:hidden}.screen video{width:100%;height:100%;position:absolute;object-fit:contain}.screen #empty-player{z-index:1;text-align:center;pointer-events:none}.orbit{height:68px;width:68px;border-radius:50%;display:grid;place-items:center;border:1px solid #71618c60;background:#b39bff0d;margin:0 auto 22px;font-size:31px;color:var(--purple);box-shadow:0 0 0 14px #b39bff04}.screen h2{font-size:21px;font-weight:500;letter-spacing:-.5px;margin-bottom:8px}.screen p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}#unlock{position:absolute;z-index:3}.player-controls{display:flex;align-items:center;gap:10px;padding:10px 15px;font-size:11px;color:var(--muted);background:#15151e}.player-controls button{background:transparent;padding:5px 7px;color:var(--white)}#seek{flex:1;min-width:30px;height:5px}.volume-label{display:flex;align-items:center;gap:5px;width:75px}.volume-label input{height:4px}.media-note{font-size:11px;padding:0 20px 13px;margin:0;color:var(--muted);background:#15151e;overflow-wrap:anywhere}.link-form{margin:23px 0}.link-form>label{font-size:13px;display:block;margin-bottom:10px}.link-row{display:flex;gap:8px}.link-row button{white-space:nowrap;font-size:12px}.link-form .hint{font-size:11px;line-height:1.6;margin:9px 0}.queue-empty{padding:12px 20px 30px;color:#817b92;font-size:12px}.queue-card ul{margin:0;padding:0;list-style:none}.queue-card li{padding:10px 18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px}.queue-card li span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px}.queue-card li button{font-size:11px;padding:5px 8px}#queue-count{background:#2c263c;border-radius:5px;color:var(--purple);font-size:10px;padding:2px 6px;margin-left:7px}.footnote{font-size:10px;color:#837b92;margin:15px 0 0}.call-card{padding-bottom:18px}.people{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px}.person{aspect-ratio:1;border-radius:12px;position:relative;background:linear-gradient(145deg,#30283f,#211e2e);display:grid;place-items:center;overflow:hidden}.person video{position:absolute;width:100%;height:100%;object-fit:cover}#self-video{transform:scaleX(-1)}.avatar{font-size:22px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#554465;color:#e1caf9;z-index:1}.peer-avatar{background:#3c3a50;color:#c4bbdf}.person>span{position:absolute;bottom:6px;left:7px;right:7px;z-index:2;background:#14101a9c;border-radius:5px;padding:3px 6px;font-size:10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#call-note{text-align:center;font-size:11px;color:var(--muted);margin:13px 14px}.call-buttons{display:flex;gap:7px;padding:0 16px}.call-buttons button{flex:1;font-size:11px;padding:9px 6px;white-space:nowrap}.hangup{background:#773944;color:#ffdfe1}#hear{display:block;margin:8px auto 0;font-size:11px}.chat-card{margin-top:20px}.chat-card .section-top{border-bottom:1px solid var(--line)}.chat-card .section-top .hint{font-size:9px}#messages{height:245px;overflow-y:auto;padding:15px;scrollbar-width:thin}.chat-empty{font-size:12px;text-align:center;color:#898196;line-height:1.9;padding-top:67px}.message{margin:0 0 14px}.message .meta{font-size:10px;color:#a799c0;margin-bottom:4px}.message .bubble{font-size:12px;background:#282235;border-radius:0 10px 10px 10px;display:inline-block;padding:9px 12px;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.message.mine{text-align:right}.message.mine .bubble{text-align:left;background:#3b2d50;border-radius:10px 0 10px 10px}#chat-form{padding:12px;border-top:1px solid var(--line);display:flex;gap:7px}#chat-input{font-size:12px;padding:10px}#chat-form button{padding:6px 14px}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;background:#332a42;border:1px solid #786086;padding:14px 22px;border-radius:12px;max-width:min(90vw,600px);box-shadow:0 8px 35px #0005;font-size:13px}footer{max-width:1450px;margin:auto;padding:20px 42px;border-top:1px solid #ffffff09;font-size:9px;letter-spacing:.13em;color:#82798f;display:flex;justify-content:space-between}footer span{letter-spacing:0}@media(min-width:1500px){main{padding-top:44px}.screen{min-height:390px}}@media(max-width:1050px){header,main{padding-left:24px;padding-right:24px}.room-grid{grid-template-columns:minmax(0,1fr) 295px;gap:16px}.link-row{flex-wrap:wrap}.link-row input{flex-basis:100%}.screen h2{font-size:18px}.lobby{padding-right:400px}.lobby h1{font-size:50px}}@media(max-width:760px){header{padding:18px}.brand{font-size:16px}.brand-icon{width:29px;height:29px}.private{display:none}#invite{margin-left:auto;padding:8px;font-size:10px}main{padding:22px 16px 35px}.lobby{padding:8px 0;margin:0 auto;max-width:440px}.lobby h1{font-size:48px;margin:18px 0}.lobby>p{font-size:13px}.join-card{position:static;width:100%;margin-top:28px;padding:24px}.lobby-features{margin:24px 0}.room-heading{margin:0 0 20px;align-items:flex-start}.room-heading h1{font-size:30px}.connection{flex-wrap:wrap;justify-content:flex-end;max-width:140px;padding-top:5px}.connection button{font-size:10px}.room-grid{grid-template-columns:1fr}.section-top{padding:14px 16px}.screen h2{font-size:18px}.orbit{width:47px;height:47px;font-size:24px;margin-bottom:17px}.screen p{font-size:11px}.people{grid-template-columns:1fr 1fr}.person{aspect-ratio:1.4}.call-buttons button{font-size:12px;padding:12px}.chat-card{margin-top:16px}#messages{height:240px}footer{padding:20px 16px;font-size:8px}.volume-label{width:54px}.player-controls{gap:5px;padding:10px}.footnote{margin-bottom:4px}.link-row input{font-size:12px}}
@media(max-width:760px){.watch-column,aside{display:contents}.player-card{order:1}.call-card{order:2}.link-form{order:3;margin:5px 0}.chat-card{order:4;margin-top:0}.queue-card{order:5}.footnote{order:6}.people .person{aspect-ratio:1.65}}
.entry-options{display:flex;gap:6px;background:#111119;padding:5px;border:1px solid var(--line);border-radius:12px;margin:18px 0}.join-card .entry-options button{margin:0;display:block;width:50%;background:transparent;color:var(--muted);padding:9px}.join-card .entry-options button[aria-pressed=true]{background:#423452;color:var(--white)}#guest-waiting{text-align:center;padding:15px 0}#guest-waiting p{font-size:13px;color:var(--muted);line-height:1.7}#guest-waiting h3{font-weight:500;font-size:18px}.waiting-symbol{font-size:42px;color:var(--purple);margin:10px}.guest-requests{border:1px solid #655178;background:#282031;border-radius:14px;padding:18px;margin-bottom:22px}.guest-requests h2{font-size:15px;margin-bottom:10px}.guest-request{display:flex;gap:8px;align-items:center;margin-top:10px}.guest-request span{flex:1;overflow-wrap:anywhere}.guest-request button{font-size:12px;padding:8px 12px}@media(min-width:761px){.lobby{min-height:560px}}@media(max-width:760px){.guest-request{flex-wrap:wrap}.guest-request span{min-width:40%}}
.player-controls select{background:#111119;border:1px solid var(--line);border-radius:8px;color:var(--white);font:inherit;font-size:11px;padding:4px 3px}#skip-back,#skip-fwd{font-size:10px;white-space:nowrap}#pip{font-size:12px}.history-card{margin-top:20px}.history-card li .ago{color:#817b92;font-size:10px;white-space:nowrap}.typing{font-size:11px;color:var(--purple);padding:6px 15px 0;min-height:6px;font-style:italic}#invite-qr{position:fixed;inset:0;z-index:30;background:#0c0a12c9;display:grid;place-items:center}.qr-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 30px;text-align:center;box-shadow:0 25px 80px #0008}.qr-card canvas{background:#fff;border-radius:10px;padding:10px;max-width:70vw;height:auto}.qr-card p{font-size:12px;color:var(--muted);margin:14px 0 4px;max-width:210px;overflow-wrap:anywhere}@media(max-width:760px){.player-controls{flex-wrap:wrap}.player-controls select{font-size:10px}.volume-label{display:none}.typing{padding:4px 12px 0}}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}.create-row{display:flex;gap:8px;padding:0 20px 16px}.create-row input{font-size:12px}.create-row button{white-space:nowrap;font-size:12px}#room-quota{background:#2c263c}#guest-retry{margin:0 30px 20px;width:calc(100% - 60px)}@media(max-width:760px){.create-row{flex-wrap:wrap}.create-row input{flex-basis:100%}#guest-retry{margin:0 24px 16px;width:calc(100% - 48px)}}

/* Account entry feedback and touch targets. */
.password-field{position:relative}.password-field input{padding-right:68px}.join-card .password-field button{position:absolute;right:5px;top:5px;width:auto;margin:0;padding:7px 10px;display:block;background:transparent;color:var(--purple);font-size:12px}.form-feedback{min-height:20px;margin:12px 0 0;font-size:12px;color:var(--muted)}.form-feedback.error{color:#ffb7c0}button[aria-busy=true]{cursor:progress}.join-card #login-enter{margin-top:12px}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.create-row{flex-wrap:wrap}.create-row input{flex:1 1 160px}.create-row button{flex:0 0 auto}.create-row input:focus{border-color:var(--purple)}#guest-form #guest-retry{width:100%;margin:18px 0 0}@media(max-width:760px){.join-card input{font-size:16px}.create-row input{flex-basis:100%}.player-controls button{min-width:32px;min-height:32px}}

/* Local listening controls and an optional fullscreen call panel. */
.seek-wrap{position:relative;flex:1;min-width:70px;display:flex}.seek-wrap input{width:100%;min-width:0}#seek-preview{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#211b30;color:white;padding:6px 10px;border-radius:8px;font-variant-numeric:tabular-nums;z-index:5}
.audio-mixer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 16px}.audio-mixer label{display:flex;align-items:center;gap:7px;font-size:12px}.audio-mixer input{width:90px}.audio-mixer output{width:35px;font-variant-numeric:tabular-nums}.audio-mixer small{font-size:11px;opacity:.65}.audio-mixer button{font-size:12px;padding:7px 10px}#call-dock{display:contents}#call-overlay{position:absolute;right:10px;top:10px;width:124px;max-width:30%;max-height:calc(100% - 20px);overflow:auto;z-index:6}#call-overlay .call-card{padding:8px;background:rgba(23,19,32,.9);border:1px solid #65536f;border-radius:12px}#call-overlay .section-top{margin-bottom:6px;justify-content:center}#call-overlay h2,#call-overlay #call-note,#call-overlay .call-settings{display:none}#call-overlay .people{gap:5px;grid-template-columns:1fr}#call-overlay .person{min-height:0;aspect-ratio:1}#call-overlay .call-buttons{gap:4px;flex-wrap:wrap}#call-overlay button{font-size:10px;padding:6px 4px}#call-overlay .avatar{font-size:18px;width:30px;height:30px}#self-video.rear-camera{transform:none}#player-notice{padding:8px 16px;color:#f2cc9b;font-size:13px}
#player:fullscreen,#player:-webkit-full-screen,#player.theater{width:100%;height:100%;max-width:none;margin:0;border-radius:0;background:#100d17;display:flex;flex-direction:column;overflow:auto}#player.theater{position:fixed;inset:0;z-index:1000}.player-expanded{overflow:hidden}#player:fullscreen .screen,#player:-webkit-full-screen .screen,#player.theater .screen{flex:1;min-height:0;aspect-ratio:auto}#player:fullscreen #movie,#player:-webkit-full-screen #movie,#player.theater #movie{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}#player:fullscreen .section-top,#player.theater>.section-top{display:none}#player:fullscreen #call-overlay .section-top{display:flex}#player:fullscreen #call-overlay,#player.theater #call-overlay{width:140px}#player:fullscreen .media-note,#player.theater .media-note{display:none}
@media(max-width:600px){.audio-mixer{gap:8px;padding:8px}.audio-mixer input{width:65px}.audio-mixer small{width:100%}.seek-wrap{flex:1}.player-controls{flex-wrap:wrap}#call-overlay{right:4px;top:4px;max-width:26%;max-height:calc(100% - 8px)}#call-overlay .call-card{padding:5px}#call-overlay .person span{font-size:10px}#call-overlay .section-top{margin-bottom:3px}#call-overlay .pill{font-size:10px}#call-overlay .call-buttons{margin-top:5px}}

#call-overlay .section-top,#call-overlay .people,#call-overlay .call-buttons{padding:0}#call-overlay .call-buttons button{min-width:0;white-space:normal;flex:1 1 100%}#call-overlay .people{margin-bottom:7px}#call-overlay .person video{object-fit:cover}#call-overlay #hear{margin:4px 0;padding:4px}#player .audio-mixer,#player .player-controls{flex-shrink:0}

/* Fullscreen chrome floats above the movie and fades after inactivity. */
#player.is-fullscreen{position:relative;overflow:hidden;background:#000;border:0}#player.is-fullscreen.theater{position:fixed}#player.is-fullscreen .screen{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:#000}#player.is-fullscreen>#player-chrome{position:absolute;bottom:0;left:0;right:0;z-index:8;background:linear-gradient(transparent,rgba(0,0,0,.9) 35%);padding-top:24px;padding-bottom:env(safe-area-inset-bottom,0px);opacity:1;visibility:visible;transition:opacity .25s,visibility .25s}#player.is-fullscreen .player-controls{background:transparent}#player.is-fullscreen .audio-mixer{background:transparent}#player.is-fullscreen.controls-hidden>#player-chrome{opacity:0;visibility:hidden;pointer-events:none}#player.is-fullscreen.controls-hidden .screen{cursor:none}#player.is-fullscreen.controls-hidden #call-overlay{cursor:auto}#player.is-fullscreen>#player-notice{position:absolute;top:12px;left:12px;max-width:65%;z-index:9;background:#211b30;border-radius:8px}#player.is-fullscreen>.section-top,#player.is-fullscreen>.media-note{display:none}
@media(prefers-reduced-motion:reduce){#player.is-fullscreen>#player-chrome{transition:none}}

.call-settings{padding:12px 16px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.call-settings select{min-width:0;flex:1;background:#111119;color:var(--white);border:1px solid var(--line);border-radius:8px;padding:7px;font:inherit}.call-settings p{margin:0;width:100%;color:var(--muted);font-size:11px}.call-settings .strained{color:#edc88f}#call-details{width:100%;font-size:11px;color:var(--muted)}#call-details summary{cursor:pointer}#call-metrics{white-space:pre-line;overflow-wrap:anywhere;padding:6px 0}#call-overlay .call-settings{padding:4px 0;font-size:10px}#call-overlay .call-settings select{padding:4px;font-size:10px}#call-overlay .call-settings label{display:none}#call-overlay .call-settings p{font-size:10px}
.turn-test{max-width:640px;padding-top:60px}.turn-result{margin:22px 0;font-size:13px;line-height:2}.turn-result .pass{color:#95d0b5}.turn-result .fail{color:#e5b47d}

#call-overlay #hear:not([hidden]){display:block;width:100%;min-height:32px;white-space:normal}select:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
