:root{color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7fbff;background:#060811;font-synthesis:none;text-rendering:geometricPrecision;--bg: #060811;--panel: rgba(13, 17, 34, .82);--panel-solid: #0d1122;--panel-raised: #12182d;--line: rgba(152, 184, 222, .16);--muted: #93a1b7;--cyan: #5ae9ff;--cyan-bright: #a8f7ff;--violet: #a77aff;--pink: #ff5cda;--danger: #ff628a;--warning: #ffc85a;--good: #5dffb0;--radius: 24px;--shadow: 0 28px 80px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;overflow-x:hidden;overscroll-behavior:none;background:radial-gradient(circle at 15% 12%,rgba(75,224,255,.09),transparent 31rem),radial-gradient(circle at 88% 80%,rgba(143,85,255,.1),transparent 34rem),var(--bg)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.game-canvas:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{position:relative;min-height:100dvh;overflow-x:hidden;isolation:isolate}.app-shell:before{position:fixed;z-index:-3;inset:0;content:"";pointer-events:none;background-image:linear-gradient(rgba(129,169,214,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(129,169,214,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 88%)}.ambient{position:fixed;z-index:-2;width:42rem;height:42rem;border-radius:50%;filter:blur(100px);opacity:.1;pointer-events:none}.ambient--cyan{top:-23rem;left:-14rem;background:var(--cyan)}.ambient--violet{right:-22rem;bottom:-24rem;background:var(--violet)}.brand-mark{display:inline-flex;align-items:center;gap:11px;letter-spacing:-.06em;line-height:.82;user-select:none}.brand-mark__icon{position:relative;display:inline-grid;width:46px;height:46px;place-items:center;border:2px solid rgba(90,233,255,.8);border-radius:14px;background:linear-gradient(145deg,#5ae9ff24,#a77aff12);box-shadow:inset 0 0 16px #5ae9ff26,0 0 24px #5ae9ff24;transform:rotate(45deg)}.brand-mark__icon:before,.brand-mark__icon:after,.brand-mark__icon span{position:absolute;content:"";border-radius:50%}.brand-mark__icon:before{width:23px;height:23px;border:3px solid var(--cyan)}.brand-mark__icon:after{width:7px;height:7px;background:#fff;box-shadow:0 0 10px var(--cyan)}.brand-mark__icon span{width:3px;height:38px;background:linear-gradient(transparent,rgba(167,122,255,.7),transparent);transform:rotate(-45deg)}.brand-mark__word{display:grid;font-size:clamp(1.4rem,3vw,2.25rem);font-weight:900}.brand-mark__word strong{color:var(--cyan-bright);font-weight:inherit;text-shadow:0 0 26px rgba(90,233,255,.35)}.brand-mark__word span{color:#fff}.brand-mark>em{align-self:flex-end;margin:0 0 -2px -5px;color:var(--violet);font-size:.8rem;font-style:normal;font-weight:900;letter-spacing:.18em;writing-mode:vertical-rl}.brand-mark--compact{gap:8px}.brand-mark--compact .brand-mark__icon{width:30px;height:30px;border-radius:9px}.brand-mark--compact .brand-mark__icon:before{width:15px;height:15px;border-width:2px}.brand-mark--compact .brand-mark__icon:after{width:4px;height:4px}.brand-mark--compact .brand-mark__icon span{height:25px}.brand-mark--compact .brand-mark__word{display:flex;gap:4px;font-size:1rem;letter-spacing:-.05em}.icon-button{display:inline-grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid var(--line);border-radius:14px;color:#d9e6f7;background:#0e1426c7;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.icon-button:hover{border-color:#5ae9ff73;background:#17213be6;transform:translateY(-1px)}.icon-button svg{width:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.icon-button--danger:hover{border-color:#ff628a7a;color:#ffc3d3}.home-screen{display:grid;width:min(1440px,100%);min-height:100dvh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) clamp(22px,4vw,70px) max(18px,env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto}.home-nav,.home-footer,.lobby-header,.match-header,.results-screen>header{display:flex;align-items:center;justify-content:space-between}.hero{display:grid;min-height:0;align-items:center;gap:clamp(36px,6vw,100px);grid-template-columns:minmax(350px,.86fr) minmax(420px,1.14fr);padding:46px 0 36px}.hero__copy{position:relative;z-index:2;max-width:610px}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 20px;color:var(--cyan-bright);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow>span,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 12px var(--good)}.hero h1{margin:34px 0 20px;color:#f7fbff;font-size:clamp(3.1rem,6.3vw,6.4rem);font-weight:900;letter-spacing:-.075em;line-height:.88}.hero h1 span{color:transparent;background:linear-gradient(90deg,var(--cyan),#d7fbff 47%,var(--violet));background-clip:text;-webkit-background-clip:text}.hero__intro{max-width:570px;margin:0 0 26px;color:#a8b7cb;font-size:clamp(.97rem,1.4vw,1.13rem);line-height:1.65}.player-name{display:grid;max-width:420px;margin:0 0 18px;gap:6px}.player-name>span,.code-field>span{color:#dbe7f7;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.player-name input,.code-field input{width:100%;border:1px solid rgba(140,178,219,.2);border-radius:13px;color:#fff;background:#090d1ac2}.player-name input{height:47px;padding:0 15px;font-weight:700}.player-name small,.code-field+p{color:#69778b;font-size:.72rem}.mode-grid{display:grid;max-width:580px;gap:10px}.mode-card{display:grid;min-height:72px;padding:12px 14px;align-items:center;gap:13px;grid-template-columns:auto 1fr auto;border:1px solid var(--line);border-radius:18px;text-align:left;background:linear-gradient(115deg,#13192fe0,#0a0e1dc7);box-shadow:inset 0 1px #ffffff06;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.mode-card:hover{border-color:#5ae9ff6b;box-shadow:0 12px 38px #00000040,inset 0 1px #ffffff0d;transform:translate(4px)}.mode-card--primary{border-color:#5ae9ff57;background:linear-gradient(115deg,#173d4db8,#121731db);box-shadow:inset 0 0 30px #5ae9ff0e,0 8px 34px #20c2de0f}.mode-card__icon{display:grid;width:45px;height:45px;place-items:center;border-radius:14px;color:var(--cyan-bright);background:#5ae9ff1c;font-size:1.2rem;box-shadow:inset 0 0 18px #5ae9ff12}.mode-card__icon--violet{color:#d8c7ff;background:#a77aff1f}.mode-card__icon--pink{color:#ffc5f1;background:#ff5cda1a}.mode-card__text{display:grid;gap:3px}.mode-card__text strong{color:#f7fbff;font-size:.99rem}.mode-card__text small{color:#8492a8;font-size:.75rem}.mode-card__arrow{color:#69788f;font-size:1.25rem}.availability-note,.honesty-note{color:#6e7d92;font-size:.72rem;line-height:1.5}.availability-note{max-width:565px;margin:13px 4px 0}.hero__visual{position:relative;height:min(76vh,760px);min-height:520px;perspective:1100px}.hero-table{position:absolute;top:49%;left:50%;width:min(70%,480px);aspect-ratio:5 / 8;overflow:hidden;border:3px solid rgba(90,233,255,.56);border-radius:40px;background:linear-gradient(rgba(90,233,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(90,233,255,.035) 1px,transparent 1px),linear-gradient(150deg,#0b1730,#07101f 60%,#160d29);background-size:42px 42px,42px 42px,auto;box-shadow:inset 0 0 60px #46ddff12,0 55px 90px #00000085,0 0 60px #5ae9ff1a;transform:translate(-50%,-50%) rotateX(13deg) rotate(8deg)}.hero-table:after{position:absolute;inset:14px;border:1px solid rgba(197,237,255,.2);border-radius:28px;content:""}.hero-table__line{position:absolute;top:50%;right:15px;left:15px;height:2px;background:linear-gradient(90deg,transparent,var(--violet),transparent);box-shadow:0 0 17px var(--violet)}.hero-table__center{position:absolute;top:50%;left:50%;width:34%;aspect-ratio:1;border:2px solid rgba(90,233,255,.5);border-radius:50%;transform:translate(-50%,-50%)}.hero-table__goal{position:absolute;left:34%;width:32%;height:4.5%;border:3px solid currentColor;border-radius:0 0 12px 12px}.hero-table__goal--top{top:-2px;color:var(--violet)}.hero-table__goal--bottom{bottom:-2px;color:var(--cyan);transform:rotate(180deg)}.hero-mallet,.hero-puck{position:absolute;border-radius:50%}.hero-mallet{left:42%;width:16%;aspect-ratio:1;border:5px solid currentColor;background:#08111ff2;box-shadow:0 0 18px currentColor,inset 0 0 17px currentColor}.hero-mallet--top{top:18%;color:var(--violet)}.hero-mallet--bottom{bottom:15%;color:var(--cyan)}.hero-puck{top:44%;left:58%;width:8%;aspect-ratio:1;border:4px solid var(--pink);background:#fff;box-shadow:0 0 22px var(--pink);animation:puck-drift 4.5s ease-in-out infinite}.orbit{position:absolute;top:50%;left:50%;border:1px solid rgba(100,205,255,.11);border-radius:50%;transform:translate(-50%,-50%)}.orbit--one{width:78%;aspect-ratio:1}.orbit--two{width:105%;aspect-ratio:1;border-color:#a77aff12}.hero-stat{position:absolute;z-index:3;display:grid;min-width:142px;padding:13px 16px;gap:2px;border:1px solid rgba(148,183,221,.15);border-radius:16px;background:#0a0e1dc2;box-shadow:0 16px 40px #0000004d;backdrop-filter:blur(16px)}.hero-stat span{color:var(--cyan);font-size:.55rem;font-weight:800;letter-spacing:.16em}.hero-stat strong{font-size:1.15rem}.hero-stat small{color:#718097;font-size:.65rem}.hero-stat--latency{top:21%;right:2%}.hero-stat--physics{bottom:15%;left:2%}.home-footer{color:#64728a;font-size:.68rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.home-footer>span:first-child{display:flex;align-items:center;gap:8px}.centered-screen,.lobby-screen,.results-screen{display:grid;min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));place-items:center}.loading-screen{display:flex;min-height:100dvh;align-items:center;justify-content:center;gap:12px;color:#9fb0c7;font-size:.8rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.loading-screen .spinner{border-color:#5ae9ff33;border-top-color:var(--cyan)}.centered-screen>.brand-mark{position:absolute;top:max(24px,env(safe-area-inset-top));left:50%;transform:translate(-50%)}.back-button{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));border:0;color:#9aabc1;background:transparent;cursor:pointer}.dialog-card,.lobby-card,.results-card,.settings-panel,.confirm-dialog{border:1px solid var(--line);background:linear-gradient(145deg,#12182df0,#080c19f5);box-shadow:var(--shadow),inset 0 1px #ffffff09;backdrop-filter:blur(24px)}.private-card{width:min(530px,100%);padding:clamp(24px,5vw,44px);border-radius:28px}.private-card h1,.lobby-card h1,.results-card h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.06em;line-height:1}.private-card>p:not(.eyebrow),.lobby-card__status,.results-card>p:not(.eyebrow){color:#8f9eb3;line-height:1.55}.segmented-control{display:grid;margin:28px 0 22px;padding:4px;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:14px;background:#030711a6}.segmented-control button{height:42px;border:0;border-radius:10px;color:#8392a7;background:transparent;cursor:pointer}.segmented-control button[aria-selected=true]{color:#f7fdff;background:#5ae9ff1f;box-shadow:inset 0 0 18px #5ae9ff0a}.private-action-panel{display:grid;gap:14px}.private-action-panel h2,.private-action-panel p{margin:0}.private-action-panel p{color:#8291a7;font-size:.85rem;line-height:1.55}.room-illustration{display:flex;align-items:center;justify-content:center;margin:8px 0 3px}.room-illustration span{display:grid;width:52px;height:52px;place-items:center;border:2px solid var(--cyan);border-radius:50%;color:var(--cyan-bright);background:#5ae9ff14;font-weight:900}.room-illustration span:last-child{border-color:var(--violet);color:#dbcaff;background:#a77aff14}.room-illustration i{width:90px;height:1px;background:linear-gradient(90deg,var(--cyan),var(--violet))}.primary-button,.secondary-button,.danger-button{display:inline-flex;min-height:52px;padding:0 19px;align-items:center;justify-content:center;gap:10px;border-radius:14px;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.primary-button{border:1px solid rgba(127,244,255,.5);color:#031016;background:linear-gradient(135deg,#b8faff,var(--cyan));box-shadow:0 10px 30px #34d7f02e}.primary-button:hover,.secondary-button:hover,.danger-button:hover{transform:translateY(-2px)}.primary-button--small{min-height:44px;padding-inline:25px}.secondary-button{border:1px solid var(--line);background:#11182ceb}.danger-button{border:1px solid rgba(255,98,138,.4);color:#ffd7e1;background:#ff628a21}.code-field{display:grid;gap:8px}.code-field input{height:68px;padding:0 16px;color:var(--cyan-bright);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.65rem;font-weight:900;letter-spacing:.16em;text-align:center;text-transform:uppercase}.lobby-screen{padding-top:82px}.lobby-header{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));left:max(24px,env(safe-area-inset-left));color:#748198;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.lobby-card{width:min(580px,100%);padding:clamp(26px,5vw,46px);border-radius:30px;text-align:center}.lobby-card .eyebrow,.results-card .eyebrow{justify-content:center}.matchmaking-orb{position:relative;width:138px;height:138px;margin:0 auto 26px}.matchmaking-orb>span{position:absolute;inset:0;border:1px solid rgba(90,233,255,.3);border-radius:50%;animation:radar-pulse 2.5s ease-out infinite}.matchmaking-orb>span:nth-child(2){animation-delay:.75s}.matchmaking-orb>span:nth-child(3){animation-delay:1.5s}.matchmaking-orb>i{position:absolute;inset:31px;display:grid;place-items:center;border:2px solid var(--cyan);border-radius:50%;color:#fff;background:radial-gradient(circle,#5ae9ff29,#0a0f1df5);box-shadow:0 0 30px #5ae9ff2e;font-style:normal;font-weight:950;letter-spacing:-.04em}.matchmaking-orb--error>i{border-color:var(--danger);box-shadow:0 0 30px #ff628a29}.matchmaking-orb--error>span{border-color:#ff628a3d;animation:none}.join-code{display:grid;width:min(340px,100%);margin:24px auto 20px;padding:14px 16px;gap:3px;border:1px solid rgba(90,233,255,.32);border-radius:18px;color:#fff;background:#5ae9ff12;cursor:pointer}.join-code small{color:#8292a8;font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.join-code strong{color:var(--cyan-bright);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.75rem;letter-spacing:.16em}.join-code span{color:var(--cyan);font-size:.67rem;font-weight:750}.lobby-progress{display:flex;height:34px;align-items:center;justify-content:center;gap:6px}.lobby-progress i{width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:dot-wave 1.1s ease-in-out infinite}.lobby-progress i:nth-child(2){animation-delay:.14s}.lobby-progress i:nth-child(3){animation-delay:.28s}.lobby-progress span{margin-left:8px;color:#68778d;font-family:ui-monospace,monospace;font-size:.7rem}.connection-facts,.match-stats{display:grid;margin:22px 0;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:16px;background:#0509147a}.connection-facts>div,.match-stats>div{display:grid;padding:13px 10px;gap:4px}.connection-facts>div+div,.match-stats>div+div{border-left:1px solid var(--line)}.connection-facts dt,.match-stats dt{color:#66758b;font-size:.57rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.connection-facts dd,.match-stats dd{margin:0;color:#dde8f7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.77rem;font-weight:750}.text-button{padding:8px 12px;border:0;color:#8190a5;background:transparent;cursor:pointer}.text-button:hover{color:#dce8f8}.match-screen{display:grid;height:100dvh;min-height:0;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));grid-template-rows:54px minmax(0,1fr) 20px;overflow:hidden}.match-header{z-index:5;border-bottom:1px solid rgba(139,174,214,.1)}.match-header__center{display:grid;min-width:165px;place-items:center;grid-template-columns:1fr auto 1fr;gap:14px}.match-header__center strong{color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.12rem;letter-spacing:.02em}.match-header__center span{color:#68778e;font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.match-header__actions{display:flex;align-items:center;gap:7px}.match-header .icon-button{width:36px;height:36px;border-radius:11px}.network-badge{display:flex;height:31px;padding:0 10px;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;color:#a0adc0;background:#0a0f1cd1;font-family:ui-monospace,monospace;font-size:.64rem}.network-badge i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.network-badge--good{color:var(--good)}.network-badge--warn{color:var(--warning)}.network-badge--bad{color:var(--danger)}.network-badge--local{color:var(--cyan)}.arena-layout{display:grid;min-height:0;align-items:stretch;grid-template-columns:minmax(128px,.72fr) minmax(270px,3.4fr) minmax(128px,.72fr);gap:clamp(7px,1.4vw,22px)}.board-viewport{position:relative;min-width:0;min-height:0}.game-canvas{position:absolute;inset:0;overflow:hidden;border-radius:20px;cursor:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.game-canvas__surface{display:block;width:100%;height:100%;touch-action:none}.render-error{position:absolute;z-index:8;inset:18px;display:grid;padding:24px;place-content:center;gap:7px;border:1px solid rgba(255,98,138,.38);border-radius:18px;color:#ffd4df;background:#220812f0;text-align:center;cursor:default}.render-error span{max-width:380px;color:#bf98a4;font-size:.75rem;line-height:1.5}.player-rail{display:flex;min-width:0;padding-block:clamp(22px,6vh,60px);flex-direction:column;align-items:center;justify-content:flex-start;gap:20px}.player-rail--local{justify-content:flex-end}.player-badge{display:flex;min-width:0;align-items:center;gap:10px}.player-avatar{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:2px solid var(--violet);border-radius:13px;color:#eadfff;background:linear-gradient(145deg,#a77aff40,#111527e6);box-shadow:0 0 18px #a77aff1f;font-size:.74rem;font-weight:900}.player-badge--local .player-avatar,.player-avatar:not(.player-avatar--opponent):only-child{border-color:var(--cyan);color:var(--cyan-bright);background:linear-gradient(145deg,#5ae9ff36,#111527e6)}.player-badge>span:last-child{display:grid;min-width:0;gap:2px}.player-badge small{color:#64748a;font-size:.54rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.player-badge strong{overflow:hidden;font-size:clamp(.7rem,1.1vw,.9rem);text-overflow:ellipsis;white-space:nowrap}.rail-score{color:#f5fbff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.09em;line-height:1;text-shadow:0 0 30px rgba(90,233,255,.13)}.player-rail--opponent .rail-score{text-shadow:0 0 30px rgba(167,122,255,.16)}.control-hint{color:#64738a;font-size:.62rem;line-height:1.55;text-align:center}.control-hint span{display:block;margin-bottom:3px;color:var(--cyan);font-size:.52rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mobile-score{display:none}.match-overlay{position:absolute;z-index:4;top:50%;left:50%;display:grid;min-width:190px;padding:17px 24px;place-items:center;gap:4px;border:1px solid rgba(90,233,255,.3);border-radius:18px;background:#050913c2;box-shadow:0 18px 50px #00000061,inset 0 0 30px #5ae9ff0a;text-align:center;transform:translate(-50%,-50%);backdrop-filter:blur(13px);pointer-events:none}.match-overlay strong{font-size:clamp(1.4rem,4vw,3rem);font-weight:950;letter-spacing:-.05em}.match-overlay span{color:#9aabc1;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.match-overlay--countdown{min-width:105px;padding:15px;border-radius:50%;aspect-ratio:1;animation:countdown-pop .7s cubic-bezier(.2,.9,.25,1) infinite}.match-overlay--countdown strong{color:var(--cyan-bright);font-size:clamp(2.2rem,7vw,5rem)}.match-overlay--goal{border-color:#ff5cda7a;box-shadow:0 18px 50px #00000061,0 0 60px #ff5cda21}.match-overlay--goal strong{color:#ffd3f6}.reconnect-banner{position:absolute;z-index:6;top:14px;left:50%;display:grid;min-width:220px;padding:11px 14px 11px 40px;gap:1px;border:1px solid rgba(255,200,90,.35);border-radius:13px;background:#1f180af0;transform:translate(-50%)}.reconnect-banner .spinner{position:absolute;top:17px;left:15px}.spinner{width:14px;height:14px;border:2px solid rgba(255,200,90,.25);border-top-color:var(--warning);border-radius:50%;animation:spin .8s linear infinite}.reconnect-banner strong{color:#ffe3aa;font-size:.75rem}.reconnect-banner small{color:#a99878;font-size:.62rem}.match-footnote{margin:5px 0 0;color:#56647a;font-size:.57rem;letter-spacing:.035em;text-align:center}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;padding:20px;place-items:center;background:#02040abd;backdrop-filter:blur(10px)}.confirm-dialog{width:min(410px,100%);padding:28px;border-radius:22px}.confirm-dialog h2{margin:0 0 8px}.confirm-dialog p{margin:0 0 23px;color:#93a2b7;line-height:1.55}.confirm-dialog>div{display:flex;justify-content:flex-end;gap:8px}.settings-panel{width:min(520px,100%);max-height:calc(100dvh - 40px);padding:28px;overflow:auto;border-radius:26px}.settings-panel>header{display:flex;align-items:flex-start;justify-content:space-between}.settings-panel .eyebrow{margin-bottom:10px}.settings-panel h2{margin:0;font-size:1.8rem;letter-spacing:-.04em}.settings-list{display:grid;margin:24px 0;gap:8px}.toggle-setting,.range-setting{position:relative;display:flex;min-height:68px;padding:13px 14px;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:15px;background:#070b177a}.toggle-setting>span,.range-setting>span{display:grid;gap:3px}.toggle-setting strong,.range-setting strong{font-size:.88rem}.toggle-setting small,.range-setting small,.settings-help{color:#77879e;font-size:.69rem;line-height:1.4}.toggle-setting input{position:absolute;width:1px;height:1px;opacity:0}.toggle-setting i{position:relative;width:43px;height:24px;flex:0 0 auto;border-radius:99px;background:#263047;box-shadow:inset 0 0 0 1px #ffffff0a;transition:background .16s ease}.toggle-setting i:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#aab5c6;content:"";transition:transform .16s ease,background .16s ease}.toggle-setting input:checked+i{background:#5ae9ff38}.toggle-setting input:checked+i:after{background:var(--cyan);box-shadow:0 0 10px #5ae9ff66;transform:translate(19px)}.toggle-setting input:focus-visible+i{outline:3px solid var(--cyan);outline-offset:3px}.range-setting input{width:130px;accent-color:var(--cyan)}.settings-help{margin:-7px 0 20px}.results-screen{padding-top:80px}.results-screen>header{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));left:max(24px,env(safe-area-inset-left));color:#738198;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.results-card{position:relative;width:min(650px,100%);padding:clamp(27px,5vw,48px);overflow:hidden;border-radius:30px;text-align:center}.results-card h1{color:var(--cyan-bright);font-size:clamp(3.2rem,10vw,6.2rem);text-shadow:0 0 36px rgba(90,233,255,.26)}.results-screen--defeat .results-card h1{color:#d5c3ff;text-shadow:0 0 36px rgba(167,122,255,.23)}.results-burst i{position:absolute;top:95px;left:50%;width:380px;height:380px;border:1px solid rgba(90,233,255,.08);border-radius:50%;transform:translate(-50%,-50%)}.results-burst i:nth-child(2){width:520px;height:520px;border-color:#a77aff0f}.results-burst i:nth-child(3){width:680px;height:680px;border-color:#5ae9ff09}.final-score{position:relative;display:grid;margin:28px 0;align-items:center;grid-template-columns:1fr auto 1fr;gap:clamp(12px,4vw,35px)}.final-score>div{display:grid;min-width:0;place-items:center;gap:4px}.final-score small{margin-top:4px;color:#69798f;font-size:.57rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.final-score>div>strong{overflow:hidden;max-width:100%;font-size:.83rem;text-overflow:ellipsis;white-space:nowrap}.final-score b{display:flex;align-items:center;gap:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2.8rem,8vw,5.3rem);letter-spacing:-.1em}.final-score b em{color:#536176;font-size:.55em;font-style:normal}.results-actions{display:flex;margin-top:22px;justify-content:center;gap:9px}@keyframes puck-drift{0%,to{transform:translate(0)}50%{transform:translate(-80px,92px)}}@keyframes radar-pulse{0%{opacity:.7;transform:scale(.45)}to{opacity:0;transform:scale(1.2)}}@keyframes dot-wave{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@keyframes countdown-pop{0%{opacity:.45;transform:translate(-50%,-50%) scale(.78)}35%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:.8;transform:translate(-50%,-50%) scale(.94)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.hero{gap:32px;grid-template-columns:minmax(330px,1fr) minmax(340px,.8fr)}.hero__visual{height:590px;min-height:0}.hero-table{width:78%}.hero-stat--latency{right:-2%}.hero-stat--physics{left:-4%}.arena-layout{grid-template-columns:100px minmax(260px,1fr) 100px}.player-badge{flex-direction:column;text-align:center}.player-badge>span:last-child{max-width:92px}}@media(max-width:760px){.home-screen{min-height:auto;padding-inline:18px}.hero{display:block;padding:52px 0 35px}.hero__copy{margin-inline:auto}.hero__copy>.brand-mark{display:none}.hero h1{margin-top:24px;font-size:clamp(3.25rem,16vw,5rem)}.hero__visual{display:none}.home-footer{padding-bottom:6px}.home-footer span:last-child{display:none}.match-screen{grid-template-rows:50px minmax(0,1fr) 17px}.match-header>.brand-mark{display:none}.match-header__center{min-width:130px;margin-left:2px;grid-template-columns:auto auto;gap:10px}.match-header__center span:last-child{display:none}.match-header__actions{margin-left:auto}.arena-layout{display:block}.player-rail{display:none}.board-viewport{width:100%;height:100%}.mobile-score{position:absolute;z-index:3;left:50%;display:flex;min-width:210px;padding:7px 10px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;background:#050913b8;transform:translate(-50%);backdrop-filter:blur(10px);pointer-events:none}.mobile-score .player-badge{flex-direction:row;text-align:left}.mobile-score .player-avatar{width:31px;height:31px;border-radius:10px}.mobile-score>strong{font-family:ui-monospace,monospace;font-size:1.7rem}.mobile-score--opponent{top:8px}.mobile-score--local{bottom:8px}.match-footnote{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-actions{flex-direction:column}}@media(max-width:480px){.home-nav .brand-mark__word{display:none}.hero{padding-top:36px}.hero h1{font-size:clamp(3.2rem,17vw,4.5rem)}.hero__intro{line-height:1.5}.mode-card{min-height:68px}.mode-card__text small{font-size:.69rem}.centered-screen>.brand-mark{display:none}.private-card,.lobby-card,.results-card,.settings-panel{border-radius:22px}.connection-facts,.match-stats{grid-template-columns:1fr}.connection-facts>div,.match-stats>div{display:flex;justify-content:space-between}.connection-facts>div+div,.match-stats>div+div{border-top:1px solid var(--line);border-left:0}.match-header__center span{display:none}.match-header__center{display:block;min-width:auto}.network-badge span{display:none}.network-badge{width:31px;padding:0;justify-content:center}.mobile-score{min-width:min(200px,70vw)}.range-setting{align-items:flex-start;flex-direction:column}.range-setting input{width:100%}.final-score{gap:7px}.final-score b{gap:6px;font-size:2.65rem}}@media(orientation:landscape)and (max-height:600px){.match-screen{padding-top:max(4px,env(safe-area-inset-top));grid-template-rows:40px minmax(0,1fr)}.match-header{position:absolute;z-index:8;top:max(5px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));height:38px;border:0;pointer-events:none}.match-header__actions,.match-header__center,.match-header>.brand-mark{pointer-events:auto}.match-header>.brand-mark,.match-footnote,.match-header__center span{display:none}.match-header__center{position:absolute;top:0;left:8px;display:block;min-width:0}.match-header__center strong{font-size:.8rem}.arena-layout{grid-row:1 / -1}.mobile-score{top:50%;bottom:auto;left:auto;min-width:125px;transform:translateY(-50%)}.mobile-score--opponent{left:8px}.mobile-score--local{right:8px}.mobile-score .player-badge>span:last-child{display:none}.match-overlay{padding:10px 16px}}.is-high-contrast{--cyan: #ffffff;--cyan-bright: #ffffff;--violet: #ffe500;--pink: #ffea00;--muted: #d5d5d5;--line: rgba(255, 255, 255, .35)}.is-high-contrast .availability-note,.is-high-contrast .honesty-note,.is-high-contrast .mode-card__text small,.is-high-contrast .hero__intro,.is-high-contrast .private-action-panel p,.is-high-contrast .lobby-card__status{color:#d5d5d5}.is-reduced-motion *,.is-reduced-motion *:before,.is-reduced-motion *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.home-nav__actions{display:flex;align-items:center;gap:9px}.profile-button{min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:14px;color:#c7d5e8;background:#0e1426c7;cursor:pointer}.profile-button:hover{border-color:#a77aff75}.resume-banner{display:flex;width:min(580px,100%);min-height:64px;margin:0 0 18px;padding:10px 15px;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(255,200,90,.38);border-radius:16px;text-align:left;background:linear-gradient(120deg,#44310db3,#141427d9);cursor:pointer}.resume-banner>span{display:grid;gap:3px}.resume-banner strong{color:#ffe6ae}.resume-banner small{color:#a99878}.resume-banner b{color:var(--warning);white-space:nowrap}.status-dot--bootstrapping{background:var(--warning);box-shadow:0 0 12px var(--warning)}.status-dot--unavailable{background:#718097;box-shadow:none}.queue-card{display:grid;width:min(590px,100%);padding:clamp(26px,5vw,46px);gap:18px;border-radius:30px;text-align:center}.queue-card .eyebrow{justify-content:center;margin-bottom:-3px}.queue-card h1{margin:0;font-size:clamp(2.3rem,7vw,4rem);letter-spacing:-.065em}.queue-card .matchmaking-orb{margin-bottom:-3px}.queue-intro,.queue-status{margin:0;color:#91a1b7;line-height:1.55}.queue-status[role=alert]{color:#ffc1d1}.queue-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.queue-mode{display:grid;min-height:102px;padding:16px;gap:5px;border:1px solid var(--line);border-radius:17px;color:#edf7ff;text-align:left;background:#070b17ad;cursor:pointer}.queue-mode[aria-pressed=true]{border-color:#5ae9ff8c;background:#1f4e5b57;box-shadow:inset 0 0 25px #5ae9ff0f}.queue-mode strong{text-transform:capitalize}.queue-mode small{color:#7f8ea3;line-height:1.4}.queue-actions{display:grid;gap:9px}.queue-fallbacks{display:grid;grid-template-columns:1fr 1fr;gap:9px}.queue-estimate{margin:-8px auto 0}.hub-screen{width:min(1160px,100%);min-height:100dvh;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) clamp(18px,4vw,48px) max(24px,env(safe-area-inset-bottom))}.hub-header{display:grid;align-items:center;grid-template-columns:1fr auto 1fr}.hub-header .text-button{justify-self:start}.hub-card{margin-top:clamp(30px,6vw,70px);padding:clamp(22px,4vw,42px);border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,#12182df0,#080c19f5);box-shadow:var(--shadow)}.hub-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.hub-title-row .eyebrow{margin-bottom:10px}.hub-title-row h1{margin:0;font-size:clamp(2rem,5vw,4rem);letter-spacing:-.06em}.rating-chip{display:grid;min-width:105px;padding:11px 16px;border:1px solid rgba(90,233,255,.3);border-radius:16px;text-align:right;background:#5ae9ff12}.rating-chip small{color:#8192a7;font-size:.62rem;text-transform:uppercase}.rating-chip strong{color:var(--cyan-bright);font-family:ui-monospace,monospace;font-size:1.4rem}.hub-nav{display:flex;margin:30px 0 24px;gap:7px;border-bottom:1px solid var(--line)}.hub-nav button{padding:12px 14px;border:0;border-bottom:2px solid transparent;color:#7c8ca2;background:transparent;cursor:pointer}.hub-nav button[aria-pressed=true]{border-bottom-color:var(--cyan);color:#eaf9ff}.hub-loading{display:flex;min-height:220px;align-items:center;justify-content:center;gap:10px;color:#8393a9}.profile-view{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);gap:24px}.profile-identity{display:flex;min-height:190px;padding:24px;align-items:center;gap:17px;border:1px solid var(--line);border-radius:20px;background:#060a1580}.profile-identity .player-avatar{width:64px;height:64px;font-size:1.5rem}.profile-identity small{color:#74849a;font-size:.65rem;text-transform:uppercase}.profile-identity h2{margin:3px 0}.profile-identity p{margin:0;color:var(--violet)}.profile-stats{display:grid;margin:0;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden}.profile-stats>div{display:grid;padding:19px;gap:7px;border:1px solid rgba(152,184,222,.08)}.profile-stats dt{color:#6f7f95;font-size:.62rem;text-transform:uppercase}.profile-stats dd{margin:0;font-family:ui-monospace,monospace;font-size:1.35rem;font-weight:800}.hub-empty{display:grid;min-height:220px;padding:30px;place-items:center;align-content:center;gap:8px;color:#a8b7c9;text-align:center;border:1px dashed var(--line);border-radius:20px}.hub-empty p{margin:0 0 10px;color:#748399}.record-list,.leaderboard-list{display:grid;gap:7px}.record-row{display:grid;min-height:72px;padding:10px 15px;align-items:center;grid-template-columns:70px 1fr auto 55px auto;gap:14px;border:1px solid var(--line);border-radius:15px;background:#060a157a}.record-row>div{display:grid;gap:3px}.record-row small{color:#6f7e93}.record-row b{font-family:ui-monospace,monospace;font-size:1.25rem}.record-row b em{margin:0 4px;color:#56667b;font-style:normal}.record-result{color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase}.record-row--win .record-result{color:var(--good)}.record-row--loss .record-result{color:#ff9ab5}.record-replay-button{display:inline-flex;min-height:38px;padding:0 12px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(90,233,255,.28);border-radius:11px;color:var(--cyan-bright);background:#5ae9ff12;cursor:pointer}.record-replay-button:hover{border-color:#5ae9ff94;background:#5ae9ff1f}.leaderboard-heading,.leaderboard-row{display:grid;padding:11px 16px;align-items:center;grid-template-columns:75px 1fr 100px 90px;gap:10px}.leaderboard-heading{color:#67778d;font-size:.62rem;text-transform:uppercase}.leaderboard-row{min-height:58px;border:1px solid var(--line);border-radius:14px;background:#060a157a}.leaderboard-row.is-you{border-color:#5ae9ff66;background:#5ae9ff12}.leaderboard-row b{color:#8190a6}.leaderboard-row em{color:var(--cyan-bright);font-family:ui-monospace,monospace;font-style:normal;font-weight:800}.report-dialog{width:min(520px,100%)}.report-dialog form{display:grid;gap:16px}.report-dialog form>.eyebrow,.report-dialog form>h2,.report-dialog form>p{margin:0}.report-dialog form>p{color:#91a1b6;line-height:1.5}.report-field{display:grid;gap:7px;color:#d9e5f4;font-size:.75rem;font-weight:750}.report-field small{color:#708096;font-weight:500}.report-field select,.report-field textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;color:#f4f8ff;background:#0a0f20;resize:vertical}.report-actions{display:flex;justify-content:flex-end;gap:8px}.form-error,.report-availability{color:#ffb0c4!important}.replay-screen{width:min(1440px,100%);min-height:100dvh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) clamp(14px,3vw,42px) max(20px,env(safe-area-inset-bottom))}.replay-header{display:grid;min-height:56px;align-items:center;grid-template-columns:1fr auto 1fr;gap:16px}.replay-header>:first-child{justify-self:start}.replay-header>:last-child{justify-self:end}.replay-header__title{display:flex;align-items:center;gap:13px}.replay-header__title>span{display:grid;gap:2px}.replay-header__title small{color:#74869c;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.replay-header__title strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-verified-badge{padding:8px 11px;border:1px solid rgba(93,255,176,.3);border-radius:999px;color:#baffd8;font-size:.68rem;font-weight:800;background:#5dffb012}.replay-workspace{display:grid;margin-top:18px;align-items:center;grid-template-columns:minmax(130px,.45fr) minmax(320px,1.35fr) minmax(130px,.45fr);grid-template-areas:"far board near" ". controls ." ". evidence .";gap:14px clamp(12px,2.5vw,30px)}.replay-board-wrap{position:relative;grid-area:board;width:100%;height:min(68dvh,790px);min-height:430px;overflow:hidden;border:1px solid rgba(90,233,255,.16);border-radius:25px;background:#02050db8;box-shadow:0 22px 70px #00000061}.replay-canvas,.replay-canvas__surface{width:100%;height:100%}.replay-canvas{position:relative}.replay-canvas__surface{display:block}.replay-watermark{position:absolute;right:12px;bottom:10px;padding:5px 8px;border-radius:6px;color:#daedff7a;font:700 .58rem/1 ui-monospace,monospace;letter-spacing:.08em;background:#02050db3;pointer-events:none}.replay-score{display:grid;min-width:0;padding:16px;gap:5px;border:1px solid var(--line);border-radius:17px;background:#0a0e1cc2}.replay-score--far{grid-area:far;text-align:right}.replay-score--near{grid-area:near}.replay-score small{color:#75859a;font-size:.62rem;font-weight:800;text-transform:uppercase}.replay-score strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-score b{color:var(--cyan-bright);font-family:ui-monospace,monospace;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.replay-score--far b{color:#c5aaff}.replay-controls{display:grid;grid-area:controls;padding:14px;gap:12px;border:1px solid var(--line);border-radius:18px;background:#0a0e1ce0}.replay-controls button{min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;color:#b4c1d3;background:#050913c7;cursor:pointer}.replay-controls button:hover:not(:disabled){border-color:#5ae9ff6b;color:#effcff}.replay-controls__primary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.replay-controls .replay-play-button{border-color:#5ae9ff57;color:var(--cyan-bright);background:#5ae9ff14}.replay-play-button span{margin-right:6px}.replay-timeline{display:grid;align-items:center;grid-template-columns:auto 1fr auto;gap:10px}.replay-timeline label{color:#79899e;font-size:.65rem;font-weight:800;text-transform:uppercase}.replay-timeline input{width:100%;accent-color:var(--cyan);cursor:pointer}.replay-timeline output{min-width:88px;color:#afbdd0;font:700 .7rem/1 ui-monospace,monospace;text-align:right}.replay-control-groups{display:flex;justify-content:space-between;gap:10px}.replay-segmented{display:flex;gap:4px}.replay-segmented button[aria-pressed=true]{border-color:#5ae9ff8a;color:#ecfdff;background:#5ae9ff21}.replay-evidence{display:grid;grid-area:evidence;padding:10px 12px;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid var(--line)}.replay-evidence>span{display:grid;gap:2px}.replay-evidence small{color:#627288;font-size:.55rem;text-transform:uppercase}.replay-evidence strong{color:#c3d0df;font:700 .72rem/1.2 ui-monospace,monospace;text-transform:capitalize}.replay-evidence p{margin:4px 0 0;grid-column:1 / -1;color:#64758a;font-size:.65rem;text-align:center}.replay-screen--state{width:min(1000px,100%)}.replay-state-card{display:grid;width:min(650px,100%);min-height:360px;margin:clamp(40px,10vh,110px) auto 0;padding:clamp(28px,6vw,54px);place-items:center;border:1px solid var(--line);border-radius:28px;text-align:center;background:linear-gradient(145deg,#12182df0,#080c19f5);box-shadow:var(--shadow)}.replay-loading,.replay-issue{display:grid;justify-items:center;gap:13px}.replay-loading h1,.replay-loading p,.replay-issue h1,.replay-issue p{margin:0}.replay-loading p,.replay-issue p{max-width:490px;color:#8899af;line-height:1.55}.replay-issue small{color:#718198}.replay-issue>div{display:flex;margin-top:10px;gap:8px}@media(max-width:720px){.profile-view{grid-template-columns:1fr}.profile-stats{grid-template-columns:repeat(2,1fr)}.leaderboard-heading,.leaderboard-row{grid-template-columns:55px 1fr 70px}.leaderboard-heading>:nth-child(3),.leaderboard-row>:nth-child(3){display:none}.record-row{grid-template-columns:56px 1fr auto auto}.record-delta{display:none}}@media(max-width:480px){.profile-button{padding-inline:10px;font-size:.72rem}.queue-modes,.queue-fallbacks{grid-template-columns:1fr}.hub-header .brand-mark__word{display:none}.hub-title-row{align-items:flex-start;flex-direction:column}.rating-chip{text-align:left}.hub-nav{overflow-x:auto}.profile-identity{min-height:135px}.record-row{padding-inline:10px;gap:8px}.record-replay-button{width:40px;padding:0;font-size:0}.record-replay-button span{font-size:.72rem}}@media(max-width:900px){.replay-header{grid-template-columns:1fr auto}.replay-header__title{justify-self:end}.replay-header>.replay-verified-badge{display:none}.replay-workspace{grid-template-columns:1fr 1fr;grid-template-areas:"far near" "board board" "controls controls" "evidence evidence"}.replay-score{padding:10px 13px}.replay-score--far{text-align:left}.replay-score b{font-size:1.8rem}.replay-score--near{text-align:right}.replay-score--near b{order:3}.replay-board-wrap{height:min(65dvh,700px);min-height:390px}}@media(max-width:560px){.replay-header__title>span{display:none}.replay-workspace{margin-top:10px;gap:8px}.replay-board-wrap{height:min(58dvh,620px);min-height:360px;border-radius:18px}.replay-controls__primary{grid-template-columns:1fr 1fr}.replay-play-button{grid-column:1 / -1}.replay-timeline{grid-template-columns:1fr auto}.replay-timeline label{grid-column:1 / -1}.replay-control-groups{align-items:stretch;flex-direction:column}.replay-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.replay-evidence{grid-template-columns:repeat(2,1fr)}.replay-issue>div{width:100%;flex-direction:column-reverse}}
