.online-page{--accent:#9575ff;--muted:#a8a4b4;min-height:100dvh;color:#f5f5fc;background:radial-gradient(ellipse at 15% 0,#6538ef26,transparent 55%),#0c0c15;padding:22px clamp(12px,4vw,64px) 36px;font-family:Arial,sans-serif}.online-page *{box-sizing:border-box}.online-page button,.online-page input{font:inherit}.online-page a,.online-page button{touch-action:manipulation}.online-page button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ffffff24;border-radius:10px;padding:11px 16px;background:#ffffff08;color:inherit;cursor:pointer}.online-page button:disabled{opacity:.4;cursor:not-allowed}.online-page button:hover:enabled{border-color:var(--accent)}.online-page :focus-visible{outline:2px solid var(--accent);outline-offset:4px}.online-page input{min-width:0;color:#fff;background:#05070ca8;border:1px solid #ffffff25;border-radius:10px;padding:13px}.online-page a{color:inherit;text-decoration:none}.online-header{display:flex;align-items:center;gap:16px;max-width:1500px;margin:auto auto 28px}.online-header>a{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff20;border-radius:50%}.online-header h1{font-size:23px;letter-spacing:-.8px;margin:5px 0}.online-header>div{min-width:0}.online-header>a,.online-header>button{flex-shrink:0}.online-eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--accent)}.online-connection{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:11px;color:#b7aecf}.online-connection.connected{color:#9ebdaa}.online-icon{padding:10px!important}.online-error{position:relative;z-index:30;max-width:900px;margin:10px auto;padding:12px 15px;border:1px solid #d8975b70;border-radius:10px;background:#392519;color:#f6d6ac;display:flex;gap:15px;align-items:center;font-size:13px}.online-error button{margin-left:auto;padding:0 8px;font-size:20px}.online-primary{background:linear-gradient(135deg,#8155ff,#6635e8)!important;color:#ffffff!important;border-color:#a18aff88!important;font-weight:700!important;box-shadow:0 5px 25px #7544ff30}.online-entry{max-width:480px;margin:7vh auto 0;text-align:center}.online-entry h2{font-size:clamp(38px,5vw,60px);line-height:1.06;letter-spacing:-2px;margin:17px 0}.online-entry h2 em{font-style:normal;color:var(--accent)}.online-entry p{font-size:14px;line-height:1.7;color:var(--muted);margin:20px auto 26px;max-width:390px}.online-orbit{display:grid;place-items:center;border:1px solid #9575ff45;border-radius:50%;width:76px;height:76px;margin:0 auto 25px;color:var(--accent);background:#9575ff0a;box-shadow:0 0 60px #9575ff08}.online-entry label{display:flex;flex-direction:column;text-align:left;font-size:12px;gap:9px;margin:20px 0 12px;color:var(--muted)}.online-entry>.online-primary{width:100%;padding:16px}.online-divider{display:flex;align-items:center;gap:15px;color:#87818e;font-size:9px;letter-spacing:1.4px;margin:26px 0 18px}.online-divider:after,.online-divider:before{content:"";flex:1;height:1px;background:#ffffff15}.online-entry form{display:flex;gap:10px}.online-entry form input{flex:1;text-align:center;letter-spacing:3px}.online-entry form button{padding:12px 24px}.online-entry>a{display:inline-block;margin:25px;color:var(--muted);font-size:12px}.online-lobby{max-width:1100px;margin:50px auto;background:linear-gradient(120deg,#242437cc,#171724);border:1px solid #ffffff18;border-radius:24px;padding:clamp(20px,4vw,48px);box-shadow:0 25px 80px #0005}.online-lobby-heading{display:flex;justify-content:space-between;gap:25px;margin-bottom:35px}.online-lobby h2{font-size:32px;letter-spacing:-1px;margin:12px 0}.online-lobby p{color:var(--muted);font-size:13px;line-height:1.7}.online-room-code{border:1px solid #9575ff30;background:#05060988;border-radius:14px;padding:17px 22px;min-width:250px;text-align:center;align-self:start}.online-room-code>span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}.online-room-code strong{display:block;font-size:25px;letter-spacing:5px;margin:9px 0 14px;user-select:all}.online-room-code>div{display:flex;justify-content:center;gap:8px}.online-room-code button{font-size:10px;padding:7px 9px}.online-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.online-seat{min-height:86px;display:flex;gap:13px;align-items:center;border:1px dashed #ffffff18;padding:17px;border-radius:12px;color:#6e6a78}.online-seat.filled{border-style:solid;background:#ffffff04;color:#f4f4ff}.online-avatar{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border-radius:12px;background:linear-gradient(130deg,#574495,#29243f);border:1px solid #9e85ff60;color:#efebff;font-weight:700;font-size:20px}.online-seat>div>span{display:block;color:var(--muted);font-size:11px;margin-top:8px}.online-seat strong{font-size:14px}.online-seat small{font-size:10px;font-weight:400;color:var(--muted)}.online-seat>svg{margin-left:auto;color:var(--accent)}.online-lobby-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:26px 0 10px}.online-note{text-align:center;font-size:11px!important;margin-top:18px}.call-dock{--accent:#9575ff;--muted:#a8a4b4;font-family:Arial,sans-serif;position:fixed;z-index:100;right:max(12px,env(safe-area-inset-right));top:110px;width:320px;border:1px solid #9185b64d;border-radius:17px;background:linear-gradient(145deg,#252539,#151522);box-shadow:0 20px 70px #0009;overflow:hidden;color:#f6f0e6}.call-dock.minimized{right:max(0px,env(safe-area-inset-right));width:48px;border-radius:14px 0 0 14px}.call-dock header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #fff1;padding:14px}.call-dock header>div{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:3px}.call-dock header strong{font-size:13px}.call-dock header small{grid-column:2;font-size:9px;color:var(--muted)}.call-dock header button{padding:7px;border:0}.call-dock button{font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid #ffffff24;border-radius:10px;background:#ffffff08;color:inherit;cursor:pointer;touch-action:manipulation}.call-dock button:disabled{opacity:.4;cursor:not-allowed}.call-dock button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.call-dock-tab{border:0!important;border-radius:0!important;display:flex!important;flex-direction:column;gap:7px!important;width:100%;padding:17px 6px!important;color:var(--accent)!important}.call-dock-tab>span{font-size:9px;letter-spacing:1px}.call-dock-tab i{position:absolute;top:12px;right:7px;width:6px;height:6px;background:#95d5aa;border-radius:50%}.call-invite{text-align:center;padding:25px 22px}.call-invite>svg{color:var(--accent)}.call-invite h3{font-size:19px;margin:13px 0}.call-invite p{font-size:12px;line-height:1.65;color:var(--muted)}.call-invite button{width:100%;margin-top:9px}.call-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;max-height:360px;overflow:auto}.call-grid[hidden]{display:none}.call-tile{position:relative;aspect-ratio:4/3;background:#15121b;border:1px solid #fff1;border-radius:9px;overflow:hidden;display:grid;place-items:center}.call-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.call-tile video.audio-only{opacity:0}.call-avatar{display:grid;place-items:center;width:38px;height:38px;border:1px solid #bc997554;border-radius:50%;background:#533544;color:var(--accent);font-size:19px}.call-name{position:absolute;bottom:0;left:0;right:0;padding:8px;font-size:9px;background:linear-gradient(transparent,#000b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-waiting{font-size:11px;color:var(--muted);grid-column:1/-1;text-align:center;padding:10px}.call-dock footer{display:flex;gap:8px;justify-content:center;padding:12px;border-top:1px solid #fff1}.call-dock footer button{padding:10px}.call-dock footer button[aria-pressed=true]{border-color:#9575ff66;color:var(--accent)}.call-hangup{background:#632633!important;color:#ffb1bd!important}.call-error{margin:0;padding:12px 16px;font-size:11px;line-height:1.5;color:#ffc598}.call-enable-audio{margin:0 10px 10px;width:calc(100% - 20px)}.call-play-audio{position:absolute;inset:20% 5%;font-size:9px!important;background:#15121bee!important}.online-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes online-notice{0%{opacity:0;transform:scale(.9)}15%,75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.03)}}@media (max-width:700px){.online-page{padding:10px 8px 24px}.online-header{margin-bottom:16px;gap:9px}.online-header>div{flex:1}.online-header .online-eyebrow,.online-header h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-header .online-eyebrow{display:block}.online-header .online-icon{width:32px;height:32px;padding:7px!important}.online-header h1{font-size:17px}.online-header .online-eyebrow{font-size:7px;letter-spacing:1px}.online-header>a{width:32px;height:32px}.online-connection{font-size:9px}.online-entry{margin-top:4vh;padding:10px 15px}.online-lobby{margin:20px 5px}.online-lobby-heading{flex-direction:column}.online-lobby h2{font-size:28px}.online-room-code{width:100%;min-width:0}.online-seats{grid-template-columns:1fr}.online-racing .online-seats{grid-template-columns:repeat(2,minmax(0,1fr))}.online-racing .online-seat{padding:10px;gap:8px;min-height:70px}.online-racing .online-seat .online-avatar{width:29px;height:29px;font-size:14px}.online-racing .online-seat strong{font-size:11px}.online-racing .online-seat>svg{width:13px}.call-dock{top:80px;right:8px;width:min(310px,calc(100vw - 20px))}.call-dock.minimized{width:37px}.call-grid{max-height:40dvh}}@media (orientation:landscape) and (max-height:600px){.online-page{padding:6px max(8px,env(safe-area-inset-right)) 12px max(8px,env(safe-area-inset-left))}.online-header{margin-bottom:6px}.online-header h1{font-size:14px;margin:2px 0}.online-header .online-eyebrow{font-size:6px}.call-dock{top:55px}.call-grid{max-height:40dvh}.call-invite{padding:12px}.call-invite>svg{display:none}.call-invite h3{font-size:15px}.call-invite p{font-size:10px}}.friend-match-status{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#07071099;color:#f2efff;font:700 clamp(24px,5vw,64px) system-ui;text-align:center;padding:24px}.friend-match-error{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:150;max-width:90vw;padding:12px 18px;border-radius:12px;background:#35151e;color:#fff}.friend-match-error button{margin-left:16px}.call-dock.minimized{top:45%;right:max(4px,env(safe-area-inset-right));width:38px;height:38px;border-radius:50%;border:0;overflow:visible;background:transparent;box-shadow:0 3px 12px #0005}.call-dock.minimized .call-dock-tab{width:38px;height:38px;padding:0!important;border-radius:50%!important;background:#d92f43;color:#fff!important;gap:0!important}.call-dock-tab i{top:2px;right:1px;width:7px;height:7px;border:1px solid #fff}.call-dock .call-hangup{background:#c92b40;color:#fff;border-color:#ef5264}.call-dock .call-accept{background:#187949;color:#fff;border-color:#46b77a}.call-dock header>div>svg,.call-invite>svg{color:#f04c61}.call-dock:not(.minimized){width:min(290px,calc(100vw - 20px));max-height:calc(100dvh - 80px);overflow-y:auto}.call-invite{padding:15px}.call-invite h3{font-size:17px}.online-page{color-scheme:dark;padding-bottom:max(24px,env(safe-area-inset-bottom))}.online-page .online-header>a,.online-page button,.online-page input{min-height:44px}.online-entry{max-width:500px;margin:clamp(16px,4vh,42px) auto;padding:clamp(20px,4vw,36px);border:1px solid #ffffff1a;border-radius:22px;background:#202033e6;box-shadow:0 16px 50px #0003}.online-entry h2{font-size:clamp(30px,4vw,42px);letter-spacing:-1.2px}.online-entry p{margin:16px auto 20px}.online-orbit{width:58px;height:58px;border-radius:18px;margin-bottom:16px}.online-header{flex-wrap:wrap;row-gap:10px}.online-header h1{overflow-wrap:anywhere}.online-lobby{margin-top:24px}.online-seat,.online-seat>div{min-width:0}.online-seat strong{display:block;overflow-wrap:anywhere}.online-room-code{max-width:100%;min-width:0}.online-room-code>div{flex-wrap:wrap}.online-room-code strong{font-size:clamp(19px,5vw,25px);letter-spacing:.14em}.online-page input{font-size:16px}.online-page .online-primary{background:#7444f5!important;border-color:#916cff!important;box-shadow:0 4px 16px #6438db30}.online-page .online-primary:hover:enabled{background:#855aff!important}.online-lobby-actions>button{flex:1 1 170px;max-width:320px}.call-dock{background:#202033f5}@supports (backdrop-filter:blur(12px)){.online-entry,.online-lobby{background:#202033b8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.call-dock:not(.minimized){background:#202033d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}@media (max-width:600px){.online-page{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.online-header{gap:8px;margin-bottom:16px}.online-header>div{flex:1 1 120px}.online-header h1{font-size:18px}.online-header .online-eyebrow{font-size:8px;letter-spacing:.6px}.online-connection{margin-left:0;font-size:10px}.online-entry{margin:12px auto;padding:22px 18px}.online-entry form{flex-wrap:wrap}.online-entry form input{width:100%;flex:1 1 160px}.online-entry form button{flex:1 1 70px}.online-lobby{padding:20px 16px;margin:12px auto}.online-lobby-heading{flex-direction:column;gap:18px;margin-bottom:22px}.online-lobby h2{font-size:26px}.online-room-code{width:100%}.online-racing .online-seats,.online-seats{grid-template-columns:repeat(2,minmax(0,1fr))}.online-racing .online-seat,.online-seat{padding:12px 9px;flex-wrap:wrap;gap:8px}.online-seat>div{flex:1 1 80px}}@media (max-width:360px){.online-racing .online-seats,.online-seats{grid-template-columns:1fr}}@media (orientation:landscape) and (max-height:600px){.online-entry{margin:10px auto}.online-lobby{margin:12px auto}}