.vs-intro{position:fixed;inset:0;box-sizing:border-box;padding:clamp(24px,6vh,68px) clamp(16px,5vw,72px) clamp(24px,5vh,56px);background:radial-gradient(ellipse at 50% 48%,#111d39,#070b18 66%);color:#d9e7ff;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,5vh,42px);align-items:center}.vs-intro:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 39px,#35c9ff0d 40px),linear-gradient(90deg,transparent 0 49.92%,#35c9ff28 50%,transparent 50.08%)}.vs-arena{position:relative;z-index:1;width:100%;max-width:1120px;display:grid;grid-template-columns:1fr clamp(64px,14vw,160px) 1fr;gap:clamp(8px,3vw,36px);align-items:center}.vs-player{display:flex;flex-direction:column;gap:12px;min-width:0;animation:vs-enter .7s cubic-bezier(.2,.8,.2,1) both}.vs-player.p1{text-align:right;align-items:flex-end}.vs-player.p2{text-align:left;align-items:flex-start;animation-delay:.14s}.vs-player.p1 .vs-ship{animation:vs-ship-left .9s cubic-bezier(.16,.8,.22,1) both}.vs-player.p2 .vs-ship{animation:vs-ship-right .9s cubic-bezier(.16,.8,.22,1) both}.vs-mirror{display:inline-block;transform:scaleX(-1)}.vs-label{font-size:14px;line-height:1.2;letter-spacing:.24em;font-weight:800;color:#35c9ff}.vs-player.p2 .vs-label{color:#ff4568}.vs-ship{display:block;width:clamp(96px,22vw,168px);height:auto;aspect-ratio:168/102;filter:drop-shadow(0 0 14px #35c9ff88)}.vs-player.p2 .vs-ship{filter:drop-shadow(0 0 14px #ff456888)}.vs-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,4vw,30px);line-height:1.1;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#d9e7ff}.vs-model{font-size:14px;line-height:1.3;font-weight:700;letter-spacing:.16em;color:#86bdd2}.vs-player.p2 .vs-model{color:#e79aab}.vs-center{display:flex;justify-content:center;align-items:center;position:relative}.vs-center:before{content:"";position:absolute;width:2px;height:174px;background:linear-gradient(transparent,#35c9ff,#ff4568,transparent);box-shadow:0 0 18px #35c9ff;animation:vs-flash 2.6s ease-in-out infinite}.vs-word{position:relative;font-size:clamp(44px,9vw,76px);line-height:1;font-weight:1000;font-style:italic;letter-spacing:-.08em;color:#d9e7ff;text-shadow:0 0 12px #35c9ff99,4px 5px 0 #111d39;animation:vs-arrive .65s cubic-bezier(.2,.8,.2,1) .18s both}.vs-count{position:relative;z-index:1;min-height:72px;font-size:clamp(36px,8vw,52px);line-height:1;font-weight:950;letter-spacing:.12em;text-align:center;color:#d9e7ff;text-shadow:0 0 16px #35c9ff,0 0 38px #35c9ff99;animation:vs-pulse 1s ease-in-out infinite alternate}.vs-count:before{content:"";display:block;width:156px;height:2px;margin:0 auto 20px;background:linear-gradient(90deg,transparent,#35c9ff,transparent);box-shadow:0 0 14px #35c9ff;animation:vs-flash 1s ease-in-out infinite}.cine-bg{background:radial-gradient(ellipse at 50% 48%,#111d39,#070b18 66%);color:#d9e7ff}.cine-bg:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,transparent 0 39px,#35c9ff0d 40px),linear-gradient(90deg,transparent 0 49.92%,#35c9ff28 50%,transparent 50.08%)}.cine-title{font-weight:950;letter-spacing:.12em;color:#d9e7ff;text-shadow:0 0 16px #35c9ff,0 0 38px #35c9ff99}.cine-title.lose{text-shadow:0 0 16px #ff4568,0 0 38px #ff456899}.cine-rule{display:block;width:156px;height:2px;margin:0 auto;background:linear-gradient(90deg,transparent,#35c9ff,transparent);box-shadow:0 0 14px #35c9ff;animation:vs-flash 1s ease-in-out infinite}.cine-rule.lose{background:linear-gradient(90deg,transparent,#ff4568,transparent);box-shadow:0 0 14px #ff4568}.vs-lobby .vs-ship{width:clamp(80px,24vw,120px)}@keyframes vs-enter{0%{opacity:0;transform:translate(-80px)}to{opacity:1;transform:translate(0)}}@keyframes vs-ship-left{0%{transform:translate(-180px)}to{transform:translate(0)}}@keyframes vs-ship-right{0%{transform:translate(180px)}to{transform:translate(0)}}@keyframes vs-arrive{0%{opacity:0;transform:scale(.35) rotate(-16deg)}75%{opacity:1;transform:scale(1.12) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes vs-flash{0%,to{opacity:.45}50%{opacity:1}}@keyframes vs-pulse{0%{transform:scale(.94);opacity:.78}to{transform:scale(1.06);opacity:1}}
