@font-face { font-family:"Pubg Sans Regular"; src:url("../fonts/PUBG_SANS.eot?") format("eot"), url("../fonts/PUBG_SANS.woff") format("woff"), url("../fonts/PUBG_SANS.ttf") format("truetype"), url("../fonts/PUBG_SANS.svg#PubgSans-Regular") format("svg"); font-weight:normal; font-style:normal; } @font-face { font-family:"Bombard"; src:url("../fonts/bombard.woff") format("woff"), url("../fonts/bombard.woff") format("woff2"); font-weight:normal; font-style:normal; font-display: swap; } @font-face { font-family:"Moonshiner"; src:url("../fonts/Moonshiner.woff") format("woff"), url("../fonts/Moonshiner.woff") format("woff2"); font-weight:normal; font-style:normal; font-display: swap; } .fade-enter-active, .fade-leave-active { transition: opacity 0.5s } .fade-enter, .fade-leave-to /* .fade-leave-active, 2.1.8 版本以下 */ { opacity: 0 } .loading-display { font-family: "Agency"; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: #000; z-index: 999; display: flex; justify-content: center; align-items: center; flex-direction: column; color: #fff; transform: opacity, transform 0.5s ease; } .loading-text { position: fixed; left: 50%; transform: translate(-50%); bottom: 3vh; font-size: 3vh; font-family: 'Overpass-Reg' } .loading-text > img { width: 2vh; height: 2vh; padding-right: 8px; } .loading-background { display: flex; flex-direction: column; align-items: center; } .loading-logo { width: 10vw; } .loading-title { text-align: center; font-size: 4vh; color: gray; } .loading-subtitle { text-align: center; font-size: 3vh; color: gray; } body { font-family: 'Agency'; cursor: pointer; font-size: larger; margin: 0; padding: 0; overflow: hidden; } .localed { font-family: 'Noto Sans SC'; font-weight: 600; } .fix-button { font-family: 'Agency'; margin-bottom: -0.25vh; font-size: 2vh; text-align: center; padding: 1vh; background-color: rgba(90, 90, 90, 0.5); border: 1px solid rgba(255, 255, 255, 0.5); color: gray; text-decoration: none; } .title-image-bottom-right { position: fixed; width: 10vh; height: 10vh; bottom: 1vh; right: 5vw; } /* 公告区域样式 */ .announcement-area { position: fixed; top: 65vh; right: 1vw; width: auto; max-width: 400px; background-color: rgba(0, 0, 0, 0.7); border-radius: 0; padding: 1vh 1.5vh; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); display: flex; align-items: center; gap: 1.5vh; white-space: nowrap; } /* 第二个公告区域的样式,显示在第一个下方 */ .announcement-area + .announcement-area { top: 72.5vh; } .announcement-icon { display: flex; align-items: center; justify-content: center; width: 4vh; height: 4vh; background-color: transparent; } .announcement-icon svg { width: 100%; height: 100%; fill: none; stroke: #e3b62f; stroke-width: 2; } .announcement-text { display: flex; flex-direction: column; gap: 0.3vh; } .announcement-title { font-family: 'Agency'; font-size: 2vh; color: #e3b62f; text-transform: uppercase; margin: 0; border-bottom: none; padding: 0; letter-spacing: 0.1em; font-weight: bold; } .announcement-link { font-family: 'Agency'; font-size: 1.5vh; color: #e3b62f; text-transform: uppercase; margin: 0; padding: 0; letter-spacing: 0.05em; cursor: pointer; transition: opacity 0.2s ease; text-decoration: none } .announcement-link:hover { opacity: 0.8; } .game-play-container-top-left { position: fixed; top: 0; left: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; color: #fff; z-index: 100; padding: 0; margin: 0; border: none; background: transparent; } .button-container { display: flex; flex-direction: row; align-items: flex-end; margin: 0; padding: 0; } /* Multi-layer button with images */ .multi-layer-button { position: relative; width: 38vh; height: 13.5vh; cursor: pointer; display: flex; justify-content: center; align-items: center; overflow: hidden; margin: 0; padding: 0; } /* Button layer hover effects */ .multi-layer-button:hover .layer-1, .multi-layer-button.active-hover .layer-1 { opacity: 0; filter: blur(4px); transition: opacity 0.4s ease, filter 0.4s ease; } .multi-layer-button:hover .layer-2, .multi-layer-button.active-hover .layer-2 { opacity: 1; filter: blur(0px); transition: opacity 0.4s ease, filter 0.4s ease; } .button-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } .layer-1 { z-index: 1; } .layer-2 { z-index: 2; mix-blend-mode: normal; opacity: 0; filter: blur(4px); transition: opacity 0.4s ease, filter 0.4s ease; } .layer-3 { z-index: 0; width: 104%; height: 112%; mix-blend-mode: multiply; } .button-text { position: relative; z-index: 3; font-family: 'Agency'; color: #fff; font-size: 6vh; text-shadow: 0 0 5px rgba(0, 0, 0, 0.7); pointer-events: none; } /* 平铺服务器区域按钮 */ .join-server-container { display: flex; padding: 0.3vh 1.0vh 1.0vh 1.0vh; margin-bottom: 0vh; margin-left: 0vh; width: 26vh; flex-direction: column; color: #fff; background-color: rgba(0, 0, 0, 0.95); border: none; border-radius: 0; opacity: 0; max-height: 0; overflow: hidden; transform: translateY(-10px); transition: opacity 0.3s ease, max-height 0.3s ease, transform 0.3s ease; position: absolute; top: 13.5vh; left: 0; z-index: 10; } .join-server-container.show { opacity: 1; max-height: 100vh; overflow: visible; transform: translateY(0); } .dropdown-section { margin-bottom: 2vh; } .dropdown-header { font-family: 'Agency'; font-size: 2.2vh; color: rgba(227, 182, 47, 1); text-transform: uppercase; margin-bottom: 1.5vh; font-weight: bold; letter-spacing: 0.1em; padding-bottom: 0.5vh; border-bottom: 1px solid rgba(227, 182, 47, 1); } .sel-server-button { font-family: 'Agency'; margin-bottom: 0.8vh; font-size: 2vh; text-align: left; padding: 0.6vh 0; background-color: transparent; border: none; color: rgba(255, 255, 255, 0.9); cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; border-radius: 0; width: 100%; box-sizing: border-box; } .sel-server-button:hover { color: rgba(227, 182, 47, 1); background-color: transparent; } .sel-server-button.active { color: rgba(227, 182, 47, 1); background-color: transparent; } .checkmark { margin-right: 1.2vh; width: 2.0vh; height: 2.0vh; object-fit: contain; vertical-align: middle; } /* Custom Match Button */ .custom-match-button { font-family: 'Agency', sans-serif; font-size: 2.2vh; font-weight: bold; text-transform: uppercase; color: #fff; background-color: rgba(227, 182, 47, 0.7); border: none; border-radius: 0; padding: 1.5vh 1.0vh; margin: 1vh -1.0vh -1.0vh -1.0vh; cursor: pointer; text-shadow: 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.7); transition: all 0.2s ease; width: calc(100% + 2vh); text-align: center; letter-spacing: 0.1em; box-sizing: border-box; } .custom-match-button:hover { background-color: rgba(227, 182, 47, 1); box-shadow: 0 0 15px rgba(227, 182, 47, 0.5); } .hide { display: none; } .serial-text { position: fixed; bottom: 1vh; left: 0; right: 0; text-align: center; font-size: 1.5vh; color: rgba(255, 255, 255, 0.5) } .friends-bar { position: fixed; bottom: 0; left: 0.5vw; display: flex; align-items: center; background-color: rgba(0, 0, 0, 0.4); padding: 0.8vh 1.5vh 0.8vh 1vh; border-radius: 4px 4px 0 0; z-index: 100; width: 13.5vw; } .friends-icon { width: 2.5vh; height: 2.5vh; margin-right: 1vh; margin-left: 1vh; object-fit: contain; } .friends-text { color: #fff; font-family: 'Agency'; font-size: 2vh; margin-right: 1.5vh; } /* Friends List Dropdown Styles */ .friends-list-container { position: fixed; bottom: 4vh; left: 0.5vw; width: 13.5vw; background-color: rgba(0, 0, 0, 0.9); border-radius: 4px 4px 0 0; border: none; opacity: 0; max-height: 0; overflow: hidden; transform: translateY(100%); transition: opacity 0.3s ease, max-height 0.3s ease, transform 0.3s ease; z-index: 99; display: flex; flex-direction: column; } .friends-list-container.show { opacity: 1; max-height: 50vh; overflow: auto; transform: translateY(0); } /* Hover effect to show friends list automatically */ .friends-bar:hover + .friends-list-container, .friends-list-container:hover { opacity: 1; max-height: 50vh; overflow: auto; transform: translateY(0); } .friends-list-header { display: flex; justify-content: space-between; align-items: center; padding: 1vh 1.5vh; border-bottom: 1px solid rgba(227, 182, 47, 0.3); background-color: rgba(0, 0, 0, 0.95); } .friends-list-header span { color: #fff; font-family: 'Agency'; font-size: 2vh; font-weight: bold; } .refresh-button { background-color: transparent; color: #e3b62f; border: 1px solid #e3b62f; padding: 0.5vh 1vh; font-size: 1.5vh; font-family: 'Agency'; cursor: pointer; border-radius: 2px; transition: all 0.2s ease; } .refresh-button:hover { background-color: rgba(227, 182, 47, 0.2); } .friends-list { padding: 0; margin: 0; list-style: none; overflow-y: auto; max-height: calc(50vh - 6vh); } .friend-item { display: flex; align-items: center; padding: 1vh 1.5vh; border-bottom: 1px solid rgba(255, 255, 255, 0.1); transition: background-color 0.2s ease; cursor: pointer; } .friend-item:hover { background-color: rgba(227, 182, 47, 0.1); } .friend-avatar { width: 4vh; height: 4vh; border-radius: 50%; margin-right: 1vh; object-fit: cover; border: 2px solid transparent; transition: border-color 0.2s ease; } .friend-item:hover .friend-avatar { border-color: #e3b62f; } .friend-info { flex: 1; display: flex; flex-direction: column; } .friend-name { color: #fff; font-family: 'Agency'; font-size: 1.8vh; margin-bottom: 0.2vh; } .friend-status { font-size: 1.4vh; font-family: 'Agency'; text-transform: uppercase; letter-spacing: 0.05em; } .friend-status.online { color: #4CAF50; } .friend-status.offline { color: #777; } .invite-button { background-color: #e3b62f; color: #000; border: none; padding: 0.5vh 1vh; font-size: 1.5vh; font-family: 'Agency'; font-weight: bold; cursor: pointer; border-radius: 2px; transition: all 0.2s ease; text-transform: uppercase; letter-spacing: 0.05em; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease; } .friend-item:hover .invite-button { opacity: 1; visibility: visible; pointer-events: auto; } .invite-button:hover { background-color: #fff; } /* Friend Item Selected State */ .friend-item.selected { background-color: rgba(227, 182, 47, 0.2); border-left: 3px solid #e3b62f; } .friend-item.selected .friend-avatar { border-color: #e3b62f; } /* Friend Action Dropdown */ .friend-action-dropdown { position: absolute; bottom: 100%; left: 0; width: 100%; background-color: rgba(0, 0, 0, 0.95); border-top: 1px solid rgba(227, 182, 47, 0.3); opacity: 0; max-height: 0; overflow: hidden; transform: translateY(10px); transition: opacity 0.3s ease, max-height 0.3s ease, transform 0.3s ease; z-index: 110; } .friend-action-dropdown.show { opacity: 1; max-height: 100vh; overflow: visible; transform: translateY(0); } .friend-action-button { display: block; width: 100%; padding: 1.2vh 1.5vh; background-color: transparent; border: none; border-bottom: 1px solid rgba(255, 255, 255, 0.1); color: #fff; font-family: 'Agency'; font-size: 2vh; font-weight: bold; text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer; transition: all 0.2s ease; text-align: left; } .friend-action-button:hover { background-color: rgba(227, 182, 47, 0.1); color: #e3b62f; } .friend-action-button.view-button:hover { background-color: rgba(76, 175, 80, 0.1); color: #4CAF50; } .friend-action-button.invite-button:hover { background-color: rgba(227, 182, 47, 0.2); color: #fff; } .receive-invite-button { background-color: #E3B62F; color: #000; font-family: 'Agency'; font-weight: bold; font-size: 1.8vh; padding: 0.1vh 2vh; border: none; border-radius: 3px; cursor: pointer; display: flex; align-items: center; position: fixed; bottom: 0.8vh; left: 13vw; z-index: 101; } .tick-mark { width: 2.2vh; height: 2.2vh; margin-right: 0.8vh; object-fit: contain; } .tick-mark-true { position: relative; top: 0; } .tick-mark-false { position: relative; top: 0; margin-top: -1.8vh; } .nav-item { color: rgba(255, 255, 255, 0.8); cursor: pointer; transition: color 0.2s ease; padding: 0.3vh 1.5vh; font-weight: normal; margin-right: 2vh; } .nav-item:hover { color: #e3b62f; } .nav-item.active { color: #fff; } /* 右上角区域 */ .top-right-area { position: fixed; top: 0; right: 0; width: 100%; z-index: 90; font-family: 'Agency'; } /* 顶部导航栏 */ .top-navigation { position: relative; display: flex; gap: 3vh; font-size: 2.5vh; text-transform: uppercase; color: rgba(255, 255, 255, 0.8); margin-top: -0.5vh; white-space: nowrap; background-color: rgba(0, 0, 0, 0.3); padding: 0.5vh 1vh; } .top-navigation .nav-item { display: inline-block; } .top-navigation .nav-item:hover { color: #fff; } .top-navigation .nav-item.active { color: #fff; } .nav-spacer { display: inline-block; width: 2vh; } /* 右上角控制区 */ .top-right-controls { position: fixed; top: 3vh; right: 2vw; display: flex; flex-direction: row; align-items: center; gap: 3vh; } /* 玩家信息样式 */ .player-info { position: fixed; top: 8vh; right: 2vw; display: flex; flex-direction: row; align-items: center; gap: 0; } .player-name { font-size: 2.5vh; font-weight: normal; color: #fff; text-align: right; margin-right: 10px; } .player-bp { display: flex; align-items: center; font-size: 2vh; color: #e3b62f; } .bp-icon { width: 3vh; height: 3vh; margin-right: 4px; } /* 系统按钮占位符 */ .system-buttons-placeholder { width: 20vh; height: 4vh; background-color: transparent; border: none; box-shadow: none; opacity: 0; } /* PUBG Title on Button Styles */ .pubg-title-on-button { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-left: 3vh; z-index: 3; pointer-events: none; } .play-text { font-family: 'Bombard', 'Agency', 'PUBG Sans Regular', sans-serif; color: #fff; font-size: 6vh; text-transform: uppercase; text-shadow: 0.2em 0.2em 0.4em rgba(0, 0, 0, 0.9); margin-bottom: 0.8vh; font-weight: bold; letter-spacing: 5px; line-height: 1; text-align: left; opacity: 1; } .tips-text { font-family: 'Moonshiner', 'Agency', 'PUBG Sans Regular', sans-serif; font-size: 3.2vh; text-transform: uppercase; color: rgba(227, 182, 47, 1); text-shadow: 0.15em 0.15em 0.3em rgba(0, 0, 0, 0.9); letter-spacing: 0.08em; position: relative; opacity: 1; line-height: 1; text-align: left; } /* Tips text container */ .tips-text-container { position: relative; height: 3vh; width: 100%; display: flex; justify-content: flex-start; align-items: flex-start; } .multi-layer-button .default-text { opacity: 1; transition: opacity 0.3s ease; position: absolute; top: 0; left: 0; text-align: left; z-index: 1; } .multi-layer-button .hover-text { opacity: 0; transition: opacity 0.3s ease; position: absolute; top: 0; left: 0; text-align: left; z-index: 2; color: #fff; text-shadow: 0 0 8px rgba(255, 255, 255, 0.9), 0 0 16px rgba(227, 182, 47, 0.9), 0 0 32px rgba(227, 182, 47, 0.7); } /* Show hover text when button is hovered or dropdown is active */ .multi-layer-button:hover .default-text, .multi-layer-button.active-hover .default-text { opacity: 0; } .multi-layer-button:hover .hover-text, .multi-layer-button.active-hover .hover-text { opacity: 1; } .button-text { position: relative; z-index: 4; font-family: 'Agency'; color: #fff; font-size: 6vh; text-shadow: 0 0 5px rgba(0, 0, 0, 0.7); pointer-events: none; } @keyframes pulse-opacity { 0% { opacity: 1; } 50% { opacity: 0.7; } 100% { opacity: 1; } } @keyframes title-glow { 0% { left: -100%; } 100% { left: 100%; } } .multi-layer-button.bro-loading { position: relative; overflow: visible; } .multi-layer-button.bro-loading:after { content: ""; position: absolute; top: -10%; left: -10%; width: 120%; height: 120%; pointer-events: none; z-index: 5; background: -webkit-linear-gradient(left, hsla(0,0%,100%,0), hsla(0,0%,100%,.8) 8%, #fff 16%, hsla(0,0%,100%,.8) 19%, hsla(0,0%,100%,0) 20%); background-position: inherit; -webkit-mask: url(../images/1.png) 0 0 no-repeat; mask: url(../images/1.png) 0 0 no-repeat; -webkit-mask-size: cover; mask-size: cover; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transform-origin: 0 0; transform-origin: 0 0; opacity: 0; -webkit-animation: shine linear 8s infinite; animation: shine linear 8s infinite; } @keyframes shine { 0% { background-position: inherit; opacity: 0 } 35% { background-position: inherit; opacity: 0 } 50% { background-position: 40vh 0; opacity: 1 } 75% { background-position: 40vh 0; opacity: 0 } to { background-position: 0 0; opacity: 0 } }