:root{--bg: #040a16;--bg-2: #071426;--panel: rgba(8, 22, 42, .78);--panel-2: rgba(10, 30, 55, .7);--line: rgba(138, 190, 255, .16);--line-strong: rgba(138, 190, 255, .32);--ink: #eef8ff;--muted: #89a4c4;--lime: #a7ff4f;--lime-2: #52e8a6;--pink: #ff3f6c;--blue: #3d9bff;--cyan: #7af7e2;--amber: #ffd166;--radius: 22px;--font: "Inter", "Helvetica Neue", Arial, system-ui, sans-serif;--display: "Arial Black", "Inter", Impact, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,p{margin:0}b{font-weight:800}::selection{background:var(--lime);color:#07130d}.app-shell{position:relative;min-height:100dvh;isolation:isolate}.bg-decor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:radial-gradient(circle at 15% 10%,rgba(26,90,180,.35),transparent 45%),radial-gradient(circle at 85% 12%,rgba(0,196,160,.18),transparent 40%),radial-gradient(circle at 50% 100%,rgba(167,255,79,.08),transparent 55%),linear-gradient(180deg,#061125,#040a16 55%,#020711)}.grid-lines{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(130,190,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(130,190,255,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%);mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%)}.glow{position:absolute;width:640px;height:640px;filter:blur(10px);border-radius:50%}.glow-a{top:-240px;left:-160px;background:radial-gradient(circle,rgba(61,155,255,.2),transparent 65%)}.glow-b{right:-220px;top:20%;background:radial-gradient(circle,rgba(167,255,79,.12),transparent 65%)}.floating-balls{position:absolute;top:0;right:0;bottom:0;left:0}.floating-balls span{position:absolute;font-size:26px;opacity:.12;filter:grayscale(.2);animation:drift 18s ease-in-out infinite}.floating-balls span:nth-child(1){left:5%;top:24%;animation-delay:-2s}.floating-balls span:nth-child(2){left:92%;top:38%;animation-delay:-7s;font-size:38px}.floating-balls span:nth-child(3){left:8%;top:72%;animation-delay:-11s;font-size:30px}.floating-balls span:nth-child(4){left:84%;top:82%;animation-delay:-4s;font-size:22px}.floating-balls span:nth-child(5){left:48%;top:6%;animation-delay:-14s;font-size:18px}@keyframes drift{0%,to{transform:translateZ(0) rotate(0)}33%{transform:translate3d(16px,-22px,0) rotate(28deg)}66%{transform:translate3d(-12px,16px,0) rotate(-22deg)}}.topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1280px;margin:0 auto;padding:22px 28px 14px}.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}.topbar-left .brand{padding-left:14px;border-left:1px solid var(--line)}.etoo-home{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:6px 9px 6px 6px;border:1px solid var(--line);border-radius:13px;background:#08162a8c;color:#fff;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:-.02em;transition:transform .18s ease,border-color .18s ease,background .18s ease}.etoo-home:hover{transform:translateY(-1px);border-color:#a7ff4f73;background:#112642bf}.etoo-home svg{display:block;border-radius:9px;flex-shrink:0}.etoo-home-compact{padding:5px 8px 5px 5px;border-radius:12px}.etoo-home-compact span{font-size:12px}.brand{display:flex;align-items:center;gap:13px}.brand-ball{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--lime),#37d99a);font-size:25px;box-shadow:0 8px 26px #64ff9640,inset 0 1px #fff6;transform:rotate(-8deg)}.brand-word{font-family:var(--display);font-size:17px;line-height:.9;letter-spacing:-.03em;text-transform:uppercase}.brand-word span{display:block;color:var(--lime)}.topbar-right{display:flex;align-items:center;gap:10px}.net-pill{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--muted);border:1px solid var(--line);background:#08162a8c;border-radius:99px;padding:8px 12px}.net-pill i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.net-online i{background:var(--lime);box-shadow:0 0 10px var(--lime)}.net-connecting i{background:var(--amber);animation:dotPulse 1s infinite}.net-offline i{background:var(--pink)}.icon-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:#08162a99;color:var(--ink);font-size:17px;transition:.18s ease}.icon-btn:hover{border-color:var(--line-strong);background:#19375fb3;transform:translateY(-1px)}.icon-leave{color:var(--pink)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:14px;padding:13px 18px;font-size:13px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;color:var(--ink);background:#ffffff0f;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0) scale(.985)}.btn:disabled{opacity:.45}.btn-primary{background:linear-gradient(135deg,#c3ff74 0%,var(--lime) 45%,#43e9a4 100%);color:#07130d;box-shadow:0 10px 30px #82ff7e3d,inset 0 1px #fff9}.btn-primary:hover:not(:disabled){box-shadow:0 14px 38px #82ff7e54}.btn-secondary{background:linear-gradient(135deg,#3d9bffe6,#1656bee6);border-color:#93c9ff80;box-shadow:0 10px 26px #2878ff2e}.btn-ghost{border-color:var(--line-strong);background:#ffffff0a}.btn-ghost:hover:not(:disabled){background:#ffffff17}.btn-danger{border-color:#ff3f6c59;color:#ff9bb2;background:#ff3f6c17}.btn-small{padding:9px 12px;font-size:11px;border-radius:11px}.text-input,.code-input{width:100%;border:1px solid var(--line);background:#030c19a6;color:var(--ink);border-radius:13px;padding:14px 16px;font-size:15px;font-weight:650;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.text-input::placeholder,.code-input::placeholder{color:#52708f}.text-input:focus,.code-input:focus{border-color:#a7ff4f8c;box-shadow:0 0 0 4px #a7ff4f1a}.field-label{display:block;margin:18px 0 8px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.18em}.micro-copy{color:var(--muted);font-size:11.5px;line-height:1.5;margin-top:10px}.eyebrow{display:inline-block;color:var(--lime);font-size:10px;font-weight:900;letter-spacing:.2em;margin-bottom:12px}.landing{padding-bottom:40px}.landing-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(28px,4vw,58px);align-items:start;max-width:1280px;margin:0 auto;padding:12px 28px 0}.hero-copy{padding-top:18px}.hero-kicker{color:var(--lime);font-size:10px;font-weight:900;letter-spacing:.2em;margin-bottom:18px;display:inline-flex;align-items:center;gap:8px}.hero-kicker:before{content:"";width:22px;height:2px;background:var(--lime);box-shadow:0 0 10px var(--lime)}.hero-title{font-family:var(--display);font-size:clamp(4rem,8.3vw,8rem);line-height:.78;letter-spacing:-.065em;text-transform:uppercase;text-shadow:0 10px 44px rgba(0,0,0,.45);margin-bottom:24px}.hero-title span{background:linear-gradient(100deg,#eaffd5 0%,var(--lime) 38%,#4ee6b1 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 26px rgba(120,255,140,.16))}.hero-sub{max-width:580px;color:#b6cbe2;font-size:clamp(15px,1.3vw,17px);line-height:1.62}.hero-sub b{color:var(--lime)}.feature-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.feature-pills span{border:1px solid var(--line);background:#ffffff09;color:#cfe2f7;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:700}.hero-art{position:relative;margin-top:30px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#07142699;box-shadow:0 26px 70px #0006,inset 0 1px #ffffff0d}.hero-svg{display:block;width:100%;height:auto}.hero-art-tag{position:absolute;left:16px;bottom:14px;padding:7px 11px;border-radius:8px;font-size:9px;font-weight:900;letter-spacing:.14em;color:#07130d;background:var(--lime);box-shadow:0 5px 20px #00000059}.hero-ragdoll-left{animation:cheerL 3.4s ease-in-out infinite;transform-origin:190px 250px}.hero-ragdoll-right{animation:cheerR 3.4s ease-in-out infinite;transform-origin:452px 250px}.hero-ball{animation:ballBob 2.2s ease-in-out infinite;transform-origin:320px 250px}.hero-confetti rect{animation:confettiTwinkle 2.6s ease-in-out infinite}.hero-confetti rect:nth-child(2n){animation-delay:-1.2s}@keyframes cheerL{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(-3deg)}}@keyframes cheerR{0%,to{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-5px) rotate(3deg)}}@keyframes ballBob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(12deg)}}@keyframes confettiTwinkle{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.play-panel{position:relative;border:1px solid var(--line-strong);border-radius:28px;padding:25px;background:linear-gradient(160deg,#153052bf,#061121e6 60%),var(--panel);box-shadow:0 30px 80px #00000080,inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.play-panel:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:29px;padding:1px;background:linear-gradient(140deg,rgba(167,255,79,.4),transparent 30%,transparent 70%,rgba(61,155,255,.35));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.panel-head h2{font-family:var(--display);font-size:22px;letter-spacing:-.02em;text-transform:uppercase}.tiny-note{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.seg{display:grid;gap:7px;padding:5px;background:#02091499;border:1px solid var(--line);border-radius:15px}.seg-mode{grid-template-columns:1fr 1fr}.seg-diff{grid-template-columns:repeat(3,1fr)}.seg button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted);padding:10px 12px;text-align:left;transition:.16s ease}.seg-diff button{align-items:center;flex-direction:row;justify-content:center;font-size:11px;font-weight:900;letter-spacing:.06em}.seg button b{color:#d7e8fa;font-size:14px}.seg button span{font-size:9.5px;line-height:1.25}.seg button:hover{color:#dcecff;background:#ffffff0a}.seg button.active{background:linear-gradient(145deg,#a7ff4f2e,#3d9bff1a);border-color:#a7ff4f66;color:var(--ink);box-shadow:inset 0 1px #ffffff0f}.seg button.active b{color:var(--lime)}.seg-diff button.active.diff-easy{border-color:#7af7e273;background:#7af7e21f}.seg-diff button.active.diff-medium{border-color:#ffd16673;background:#ffd1661f}.seg-diff button.active.diff-hard{border-color:#ff3f6c73;background:#ff3f6c1f}.btn-solo{width:100%;margin-top:20px;padding:17px 18px;font-size:15px;border-radius:15px}.divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:#5f7b99;font-size:9px;font-weight:900;letter-spacing:.16em}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.join-row{display:grid;grid-template-columns:128px 1fr;gap:8px;margin-top:10px}.code-input{text-align:center;font-family:var(--display);font-size:22px;letter-spacing:.24em;padding:11px 8px 11px 18px;color:var(--lime)}.chaos-strip{max-width:1280px;margin:64px auto 0;padding:0 28px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.section-title span{font-family:var(--display);font-size:clamp(17px,2.1vw,25px);letter-spacing:-.02em;text-transform:uppercase}.section-title b{color:var(--muted);font-size:10px;font-weight:600;text-align:right;max-width:380px;line-height:1.5}.modifier-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.mod-card{position:relative;min-height:132px;border:1px solid var(--line);border-radius:17px;padding:15px;overflow:hidden;background:linear-gradient(155deg,#132f50bf,#061121e6);transition:transform .2s ease,border-color .2s ease}.mod-card:hover{transform:translateY(-4px);border-color:var(--line-strong)}.mod-card:after{content:"";position:absolute;inset:auto -20% -45% -20%;height:90%;border-radius:50%;filter:blur(8px);opacity:.5}.mod-theme-0:after{background:radial-gradient(circle,rgba(255,241,154,.55),transparent 70%)}.mod-theme-1:after{background:radial-gradient(circle,rgba(157,227,255,.5),transparent 70%)}.mod-theme-2:after{background:radial-gradient(circle,rgba(255,180,90,.5),transparent 70%)}.mod-theme-3:after{background:radial-gradient(circle,rgba(255,79,216,.45),transparent 70%)}.mod-theme-4:after{background:radial-gradient(circle,rgba(183,185,255,.45),transparent 70%)}.mod-theme-5:after{background:radial-gradient(circle,rgba(130,170,255,.45),transparent 70%)}.mod-card>*{position:relative;z-index:1}.mod-icon{display:block;font-size:27px;margin-bottom:10px}.mod-card b{display:block;font-size:12px;margin-bottom:4px}.mod-card small{color:#9db2ca;font-size:9.5px;line-height:1.35;display:block}.ball-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ball-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:#ffffff08;border-radius:12px;padding:8px 11px}.ball-chip i{font-style:normal;font-size:17px}.ball-chip b{display:block;font-size:10.5px}.ball-chip small{display:block;color:var(--muted);font-size:9px}.ball-chip-more{border-color:#a7ff4f40}.how-strip{max-width:1280px;margin:40px auto 0;padding:22px 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line)}.how-strip>div{display:grid;grid-template-columns:40px 1fr;column-gap:10px}.step-num{grid-row:span 2;font-family:var(--display);font-size:24px;color:#a7ff4f73;line-height:1}.how-strip b{font-size:13px;margin-bottom:4px}.how-strip p{color:var(--muted);font-size:11.5px;line-height:1.55}.landing-footer{display:flex;justify-content:space-between;gap:16px;max-width:1280px;margin:26px auto 0;padding:16px 28px 0;border-top:1px solid var(--line);color:#55708e;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.lobby-main{max-width:1100px;margin:0 auto;padding:16px 28px 50px}.lobby-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}.lobby-head h1{font-family:var(--display);font-size:clamp(2rem,4.5vw,3.5rem);line-height:.95;letter-spacing:-.045em;text-transform:uppercase;margin-bottom:8px}.lobby-head p{color:var(--muted);font-size:13px;max-width:460px}.code-card{flex:0 0 auto;display:grid;gap:3px;border:1px solid rgba(167,255,79,.35);border-radius:18px;background:linear-gradient(145deg,#a7ff4f21,#071426d9);padding:15px 22px;color:var(--ink);text-align:center;transition:.18s ease}.code-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #78ff8c1f}.code-card span{font-size:8px;font-weight:900;letter-spacing:.22em;color:var(--lime)}.code-card b{font-family:var(--display);font-size:40px;letter-spacing:.18em;line-height:1;color:#fff}.code-card small{font-size:8px;color:var(--muted);letter-spacing:.08em}.teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.team-panel{border:1px solid var(--line);border-radius:22px;padding:18px;background:linear-gradient(160deg,#0f2745b8,#050f1ee6);box-shadow:0 18px 46px #00000047}.team-panel.team-left{border-color:#ff3f6c40}.team-panel.team-right{border-color:#3d9bff40}.team-panel-head{display:flex;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:12px}.team-dot{font-size:22px}.team-panel-head h2{font-family:var(--display);font-size:16px;letter-spacing:-.01em;text-transform:uppercase}.team-left .team-panel-head h2{color:#ff91aa}.team-right .team-panel-head h2{color:#8dc4ff}.team-panel-head small{display:block;color:var(--muted);font-size:9px;margin-top:2px;text-transform:uppercase;letter-spacing:.08em}.team-count{margin-left:auto;font-family:var(--display);font-size:13px;color:var(--muted)}.seat-list{display:grid;gap:8px}.seat{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:#ffffff06;min-height:67px}.seat-empty{border-style:dashed;background:#ffffff03}.seat-avatar{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:#ffffff0f;font-size:20px}.team-left .seat-avatar{background:#ff3f6c21}.team-right .seat-avatar{background:#3d9bff21}.seat-info{min-width:0;flex:1}.seat-info b{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:13px}.seat-info small{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.07em}.seat-side{font-size:8px;font-weight:900;letter-spacing:.13em;color:var(--muted)}.seat-offline{opacity:.6}.badge{font-style:normal;font-size:7.5px;font-weight:900;letter-spacing:.09em;padding:2px 5px;border-radius:4px}.badge-host{background:#ffd16629;color:var(--amber)}.badge-bot{background:#7af7e221;color:var(--cyan)}.badge-off{background:#ff3f6c26;color:#ff8fa6}.mini-btn{border:1px solid var(--line-strong);background:#ffffff0d;color:var(--ink);border-radius:9px;padding:7px 9px;font-size:9px;font-weight:900;letter-spacing:.06em;white-space:nowrap}.mini-btn:hover{border-color:var(--lime);color:var(--lime)}.lobby-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.bot-picker{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.bot-picker .field-label{margin:0 0 7px;width:100%}.bot-picker .seg{width:250px}.lobby-cta{text-align:right}.btn-start{min-width:220px;padding:17px 24px;font-size:15px}.waiting-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;padding:15px 18px;color:#c3d6ec;background:#ffffff08;font-size:12px;font-weight:700}.dot-pulse{width:8px;height:8px;border-radius:50%;background:var(--lime);animation:dotPulse 1.1s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.lobby-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.lobby-rules>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:#ffffff05}.lobby-rules b{display:block;font-size:9px;letter-spacing:.14em;color:var(--lime);margin-bottom:6px}.lobby-rules p{color:var(--muted);font-size:10.5px;line-height:1.5}.game-view{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#071426;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}.game-canvas-host{position:absolute;top:0;right:0;bottom:0;left:0}.game-canvas-host canvas{display:block;width:100%;height:100%}.hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.hud a{pointer-events:auto}.hud-left{display:flex;align-items:flex-start;gap:9px;min-width:0;flex:1}.hud-left .scorebar{min-width:0}.hud>*{pointer-events:none}.hud button{pointer-events:auto}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 0}.scorebar{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid rgba(150,200,255,.18);border-radius:18px;background:linear-gradient(180deg,#051122d6,#0511229e);box-shadow:0 12px 36px #0000004d,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.score-team{display:flex;flex-direction:column;min-width:100px;line-height:1.1}.score-team.side-left{align-items:flex-end;text-align:right}.score-team.side-right{align-items:flex-start;text-align:left}.team-tag{font-size:8px;font-weight:900;letter-spacing:.17em;color:var(--muted)}.side-left .team-tag{color:#ff8fa6}.side-right .team-tag{color:#8dc4ff}.team-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;color:#e8f4ff}.you-tag{align-self:flex-start;margin-top:3px;font-size:7px;font-weight:900;letter-spacing:.1em;padding:2px 5px;border-radius:4px;color:#07130d;background:var(--lime)}.side-left .you-tag{align-self:flex-end}.score-value{font-family:var(--display);font-size:34px;line-height:1;min-width:28px;text-align:center;color:#fff;text-shadow:0 3px 16px rgba(0,0,0,.4);animation:scorePop .42s cubic-bezier(.2,1.6,.4,1)}.side-left.score-value{color:#ff9db3}.side-right.score-value{color:#9bcdff}@keyframes scorePop{0%{transform:scale(1)}40%{transform:scale(1.45);filter:brightness(1.5)}to{transform:scale(1)}}.score-mid{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:86px;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:2px 12px}.score-mid span{font-size:7px;font-weight:900;letter-spacing:.17em;color:var(--muted)}.score-mid b{font-size:10px;color:var(--lime);letter-spacing:.08em}.hud-actions{display:flex;align-items:center;gap:7px}.ping-pill{font-size:9px;font-weight:900;letter-spacing:.06em;padding:6px 9px;border-radius:8px;border:1px solid var(--line);background:#051122b3;color:var(--muted)}.ping-good{color:var(--lime);border-color:#a7ff4f4d}.ping-mid{color:var(--amber);border-color:#ffd1664d}.ping-bad{color:var(--pink);border-color:#ff3f6c4d}.hud-actions .icon-btn{width:38px;height:38px;border-radius:11px;font-size:14px;background:#051122b8}.modifier-dock{position:absolute;left:16px;bottom:max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:7px;max-width:min(540px,52vw)}.modifier-title{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted)}.modifier-title span{font-weight:900;letter-spacing:.12em;color:var(--lime);background:#051122bf;border:1px solid rgba(167,255,79,.25);border-radius:6px;padding:4px 6px}.modifier-title b{font-weight:600;text-shadow:0 2px 10px #000}.chip-row{display:flex;flex-wrap:wrap;gap:5px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:800;letter-spacing:.04em;padding:5px 8px;border-radius:7px;border:1px solid rgba(150,200,255,.18);background:#051122b8;color:#d8e8f8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chip i{font-style:normal;font-size:11px}.control-dock{position:absolute;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%)}.key-hint{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:#051122b3;color:#b8cce1;font-size:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.key-hint b{color:var(--lime)}kbd{display:inline-block;font-family:var(--font);font-size:9px;font-weight:900;color:#07130d;background:#d9ecff;border-radius:4px;padding:2px 5px;box-shadow:0 2px #7f9bb8}.kick-button{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:94px;height:94px;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:radial-gradient(circle at 35% 30%,#eaffd1,var(--lime) 45%,#45dfa2 100%);color:#07130d;display:grid;place-items:center;gap:0;box-shadow:0 12px 35px #64ff8c4d,inset 0 3px #ffffff8c;pointer-events:auto;transition:transform .08s ease}.kick-button span{font-size:26px;line-height:1;filter:drop-shadow(0 2px 1px rgba(0,0,0,.15))}.kick-button b{font-size:8.5px;letter-spacing:.06em;line-height:1.1}.kick-button:active{transform:scale(.92)}.kick-button:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:1px dashed rgba(167,255,79,.35);animation:slowSpin 14s linear infinite}@keyframes slowSpin{to{transform:rotate(360deg)}}.countdown-overlay,.goal-overlay,.gameover-overlay,.reconnect-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;pointer-events:none}.countdown-overlay{background:radial-gradient(circle at 50% 55%,#02081240,#0208129e)}.round-eyebrow{position:absolute;top:18%;font-size:10px;font-weight:900;letter-spacing:.22em;color:var(--lime);text-shadow:0 2px 12px rgba(0,0,0,.7)}.countdown-number{font-family:var(--display);font-size:clamp(7rem,18vw,15rem);line-height:.8;color:var(--lime);text-shadow:0 0 50px rgba(167,255,79,.35),0 12px 0 rgba(0,50,20,.35);animation:countPop .65s cubic-bezier(.2,1.4,.4,1)}@keyframes countPop{0%{transform:scale(1.5);opacity:0;filter:blur(10px)}35%{opacity:1;filter:blur(0)}to{transform:scale(.95);opacity:.9}}.reveal-card{position:absolute;top:62%;display:flex;align-items:center;gap:12px;max-width:min(560px,88vw);padding:12px 18px;border:1px solid rgba(167,255,79,.3);border-radius:15px;background:#051122d1;box-shadow:0 16px 50px #00000073;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:slideUp .45s cubic-bezier(.2,1.3,.4,1)}.reveal-icon{font-size:27px}.reveal-card b{display:block;font-size:12px;color:var(--lime);margin-bottom:3px}.reveal-card small{display:block;font-size:9.5px;line-height:1.45;color:#adc2d8}.get-ready{position:absolute;bottom:16%;font-size:9px;font-weight:900;letter-spacing:.18em;color:#c9dcef;text-shadow:0 2px 12px #000}@keyframes slideUp{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.goal-overlay{background:#0208121f}.goal-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;animation:goalFlash .55s ease-out}@keyframes goalFlash{0%{opacity:.55}to{opacity:0}}.goal-card{position:relative;text-align:center;animation:goalSlam .55s cubic-bezier(.2,1.5,.3,1)}.goal-kicker{font-size:10px;font-weight:900;letter-spacing:.25em;color:#fff;opacity:.8;margin-bottom:4px;text-shadow:0 2px 12px #000}.goal-card h2{font-family:var(--display);font-size:clamp(5.5rem,17vw,14rem);line-height:.8;letter-spacing:-.045em;color:#fff;text-shadow:0 8px 0 rgba(0,0,0,.22),0 0 70px rgba(255,255,255,.35)}.goal-left .goal-card h2{color:#ffd9e1;text-shadow:0 8px 0 #8b0d2e,0 0 80px rgba(255,63,108,.7)}.goal-right .goal-card h2{color:#d8ecff;text-shadow:0 8px 0 #0a3e85,0 0 80px rgba(61,155,255,.7)}.goal-scorer{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:9px 15px;border-radius:10px;background:#051122cc;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.goal-scorer b{font-size:15px}.goal-scorer>span{font-family:var(--display);font-size:17px;color:var(--lime)}.own-goal{font-size:8px;font-weight:900;letter-spacing:.12em;color:#07130d;background:var(--amber);border-radius:4px;padding:3px 5px}.goal-next{margin-top:12px;font-size:9px;font-weight:900;letter-spacing:.2em;color:#d6e7f8;text-shadow:0 2px 10px #000}@keyframes goalSlam{0%{transform:scale(2) rotate(-5deg);opacity:0}55%{transform:scale(.92) rotate(1deg);opacity:1}to{transform:scale(1) rotate(0)}}.goal-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.goal-confetti span{position:absolute;top:-20px;width:8px;height:13px;border-radius:2px;animation-name:confettiFall;animation-timing-function:linear;animation-fill-mode:both}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(720deg);opacity:.7}}.gameover-confetti{z-index:1;pointer-events:none}.gameover-confetti span{animation-iteration-count:infinite;opacity:.9}.gameover-card{position:relative;z-index:2}.gameover-overlay{background:#020812ad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.gameover-card{width:min(520px,90vw);text-align:center;border:1px solid var(--line-strong);border-radius:26px;padding:32px;background:linear-gradient(160deg,#132e4ff0,#050f1ef5);box-shadow:0 30px 90px #0009;animation:slideUp .45s cubic-bezier(.2,1.3,.4,1)}.gameover-kicker{font-size:9px;font-weight:900;letter-spacing:.24em;color:var(--muted);margin-bottom:8px}.gameover-card h2{font-family:var(--display);font-size:clamp(3rem,8vw,5rem);line-height:.9;letter-spacing:-.04em;text-transform:uppercase}.winner-left{color:#ff6d8e;text-shadow:0 0 60px rgba(255,63,108,.35)}.winner-right{color:#6db4ff;text-shadow:0 0 60px rgba(61,155,255,.35)}.final-score{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0 14px}.final-side{font-family:var(--display);font-size:58px;color:#6d87a4;min-width:70px;transition:.2s}.final-side.winner{color:var(--lime);text-shadow:0 0 34px rgba(167,255,79,.4)}.final-score i{color:var(--muted);font-style:normal;font-size:24px}.gameover-card p{color:var(--muted);font-size:12px;margin-bottom:22px}.gameover-actions{display:flex;gap:10px;justify-content:center}.gameover-actions .btn{min-width:140px}.reconnect-overlay{z-index:12;background:#02081299;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;gap:5px;color:#dcecfb;animation:fadeIn .25s ease}.reconnect-overlay b{font-size:12px;letter-spacing:.13em}.reconnect-overlay small{color:var(--muted);font-size:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.error-toast{position:fixed;left:50%;top:max(18px,env(safe-area-inset-top));transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;max-width:min(560px,92vw);border:1px solid rgba(255,63,108,.35);border-radius:13px;padding:11px 14px;background:#260816f0;box-shadow:0 16px 50px #00000080;animation:slideUp .25s ease}.error-toast b{font-size:12px;line-height:1.4}.error-toast button{border:none;background:transparent;color:#ff9bb2;font-size:13px}@media (max-width: 1060px){.landing-main{grid-template-columns:1fr;max-width:760px}.hero-title{font-size:clamp(4rem,13vw,7rem)}.hero-sub{max-width:640px}.play-panel{max-width:600px}.modifier-grid{grid-template-columns:repeat(3,1fr)}.how-strip{grid-template-columns:1fr;gap:18px}.section-title{flex-direction:column;align-items:flex-start}.section-title b{text-align:left}.lobby-bottom{align-items:stretch;flex-direction:column}.lobby-cta{text-align:left}.lobby-cta .micro-copy{margin-top:8px}}@media (max-width: 760px){.topbar{padding:14px 16px 8px}.topbar-left{gap:8px}.topbar-left .brand{padding-left:8px}.etoo-home{padding:5px}.etoo-home span{display:none}.etoo-home svg{width:30px;height:30px}.hud-left{gap:6px}.etoo-home-compact svg{width:28px;height:28px}.brand-word{font-size:14px}.brand-ball{width:39px;height:39px;font-size:21px}.net-pill{display:none}.landing-main,.chaos-strip,.how-strip,.lobby-main{padding-left:16px;padding-right:16px}.landing-main{gap:30px}.hero-copy{padding-top:8px}.hero-kicker{font-size:8px}.hero-title{font-size:clamp(3.3rem,17vw,5.4rem)}.hero-sub{font-size:14px}.hero-art{margin-top:22px}.play-panel{padding:18px;border-radius:22px}.modifier-grid{grid-template-columns:repeat(2,1fr)}.chaos-strip{margin-top:40px}.landing-footer{flex-direction:column}.lobby-head{flex-direction:column;align-items:flex-start}.code-card{width:100%}.teams-grid,.lobby-rules{grid-template-columns:1fr}.bot-picker .seg,.bot-picker,.btn-start{width:100%}.scorebar{gap:7px;padding:6px 8px;border-radius:14px}.score-team{min-width:0;max-width:74px}.team-name{font-size:9px;max-width:74px}.score-value{font-size:27px}.score-mid{min-width:64px;padding:2px 7px}.score-mid span{font-size:6px}.score-mid b{font-size:8px}.hud-actions .ping-pill{display:none}.hud-actions .icon-btn{width:32px;height:32px}.modifier-dock{max-width:62vw;left:10px;bottom:max(14px,env(safe-area-inset-bottom))}.modifier-title,.control-dock{display:none}.kick-button{width:78px;height:78px;right:12px}.kick-button span{font-size:21px}.kick-button b{font-size:7px}.get-ready{bottom:24%;font-size:8px}.round-eyebrow{top:16%}.reveal-card{top:64%;padding:10px 12px}.reveal-card small{font-size:8.5px}.gameover-card{padding:24px 18px}.gameover-actions{flex-direction:column}.goal-scorer{flex-wrap:wrap;justify-content:center}}@media (max-width: 460px){.join-row{grid-template-columns:1fr}.code-input{padding:12px}.feature-pills span{font-size:9.5px}.section-title span{font-size:16px}.mod-card{min-height:118px;padding:12px}.mod-icon{font-size:23px;margin-bottom:7px}.score-team.side-left,.score-team.side-right{display:none}.score-mid{border-left:none}.modifier-dock{max-width:70vw}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
